Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2013
582
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. var app = angular.module('myapp', ['ui.bootstrap', 'ui', 'ngResource', 'ui.directives']);
  2.  
  3. app.factory('dealerService', ['$resource', '$http', '$rootScope', function($resource, $http, $rootScope) {
  4.     return {
  5.         // PHP backend wird aufgerufen
  6.         all: $resource('files/framework/dealerall/:token', {}),
  7.         api: $resource('files/framework/dealer/:id/:token', {}),
  8.         message: $resource('files/framework/dealermessage/:id', {})
  9.     };
  10. }]);
  11.  
  12. app.directive("mySlider", function() {
  13.     return {
  14.         restrict: 'E',
  15.         replace: true,
  16.         scope: true,
  17.         template: '<ul class="sliderclass"><li check-last ng-repeat="image in dealerdetails.images"><img ng-src="{{image}}" alt="" /></li></ul>'
  18.     };
  19. });
  20.  
  21. app.directive('checkLast', function() {
  22.     return function(scope, element, attrs) {
  23.         if (scope.$last === true) {
  24.             // jQuery Script triggern
  25.             // AngularJS: jQuery(selector) = element.
  26.             element.ready(function() {
  27.                 jQuery('.sliderclass').bxSlider({
  28.                     mode: 'fade',
  29.                     pager: false
  30.                 });
  31.             });
  32.         }
  33.     };
  34. });
  35. app.directive('addscroller', function() {
  36.     return function(scope, element, attrs) {
  37.         // jQuery Script triggern
  38.         // AngularJS: jQuery(selector) = element.
  39.         setTimeout(function() {
  40.             jQuery(".nano").nanoScroller();
  41.             if (scope.$last === true) {}
  42.         }, 0);
  43.     };
  44. });
  45. // Routing Definitionen
  46. app.config(['$routeProvider', function($routeProvider) {
  47.     $routeProvider.
  48.     when('/dealer/:id', {
  49.         templateUrl: 'files/tpl/dealer-details.html?52',
  50.         controller: 'DealerDetailsCtrl',
  51.         activetab: 'details'
  52.     }).
  53.     when('/dealermessage/:id', {
  54.         templateUrl: 'files/tpl/dealer-message.html?150',
  55.         controller: 'DealerMessageCtrl',
  56.         activetab: 'message'
  57.     }).
  58.     when('/dealersendmessage/:id', {
  59.         templateUrl: 'files/tpl/dealer-details.html?10',
  60.         controller: 'DealerDetailsCtrl',
  61.         activetab: 'details'
  62.     }).
  63.     otherwise({
  64.         redirectTo: '/dealer'
  65.     });
  66. }]);
  67. // MainCtrl
  68. app.controller('MainCtrl', function($scope, $rootScope, $location, $route, $http) {
  69.    
  70.     $scope.loading = true;
  71.     $scope.typeOptions = [{
  72.         name: 'DE',
  73.         value: 'DE'
  74.     }, {
  75.         name: 'AT',
  76.         value: 'AT'
  77.     }, {
  78.         name: 'CH',
  79.         value: 'CH'
  80.     }];
  81.    
  82.     $scope.countryLookup = $scope.typeOptions[0].value;
  83.     $scope.setupCountrySelect = {
  84.         minimumResultsForSearch: 20,
  85.         dropdownCssClass: 'dropsort_drop',
  86.         containerCssClass: 'dropcountry'
  87.     };
  88.     $scope.setupFilterSelect = {
  89.         containerCssClass: 'dropsort',
  90.         minimumResultsForSearch: 20,
  91.         dropdownCssClass: 'dropsort_drop'
  92.     };
  93.    
  94.     $rootScope.details = {
  95.         show: false
  96.     };
  97.    
  98.     $scope.updateDealer = function(zip, country) {
  99.         if (zip) {
  100.             $rootScope.alldealer = {
  101.                 show: false
  102.             };
  103.             $http.get('files/framework/dealer/near/' + zip + '/' + country + '/' + $rootScope.token + '').success(function(data) {
  104.                 $rootScope.details = close();
  105.                 if (!data) {
  106.                     $rootScope.error = {
  107.                         showerror: true
  108.                     };
  109.                     $rootScope.details = close();
  110.                 } else {
  111.                     $rootScope.error = {
  112.                         showerror: false
  113.                     };
  114.                     $location.path('/dealer/' + data.id);
  115.                     $rootScope.details = {
  116.                         show: true
  117.                     };
  118.                     $scope.active_marker = {
  119.                         show: data.id
  120.                     };
  121.                 }
  122.             });
  123.         } else {
  124.             $scope.dealer = $scope.loadall();
  125.             $rootScope.details = close();
  126.         }
  127.     };
  128.      
  129.     $scope.updateToken = function(token) {
  130.         $rootScope.token = token;
  131.         $http.get('files/framework/dealerall/' + token).success(function(data) {
  132.             $scope.dealerall = data;
  133.             $scope.loading = false;
  134.         });
  135.     };
  136.     $scope.loadall = function() {
  137.         $http.get('files/framework/dealer/near/45525/DE/' + $rootScope.token + '').success(function(data) {
  138.             $rootScope.details = close();
  139.             if (!data) {
  140.                 $rootScope.error = {
  141.                     showerror: true
  142.                 };
  143.                 $rootScope.details = close();
  144.             } else {
  145.                 $rootScope.error = {
  146.                     showerror: false
  147.                 };
  148.                 $location.path('/dealer/' + data.id);
  149.                 $rootScope.details = {
  150.                     show: true
  151.                 };
  152.                 $rootScope.active_marker = {
  153.                     show: data.id
  154.                 };
  155.             }
  156.         });
  157.        
  158.         $http.get('files/framework/dealerall/').success(function(data) {
  159.             // Händler werden an das scope.dealerall übergeben um diese im Frontend darzustellen
  160.             $scope.dealer = data;
  161.         });
  162.        
  163.         $scope.orderProp = 'name';
  164.     };
  165.     $scope.$route = $route;
  166.     $rootScope.active_marker = {
  167.         show: false
  168.     };
  169.     //Marker Overlay reload
  170.     $scope.toggle = function(marker) {
  171.         $rootScope.active_marker = {
  172.             show: marker.id
  173.         };
  174.         $rootScope.details = {
  175.             show: false
  176.         };
  177.         return $rootScope.active_marker.show;
  178.     };
  179. });
  180.  
  181. app.controller('DealerDetailsCtrl', function($scope, $rootScope, $routeParams, dealerService) {
  182.     $scope.loading = true;
  183.    
  184.     $rootScope.dealerdetails = dealerService.api.get({
  185.         id: $routeParams.id,
  186.         token: $scope.token
  187.     });
  188.     $rootScope.dealercoord = $scope.dealerdetails;
  189.  
  190.     $scope.issend = $rootScope.issend;
  191.     $rootScope.issend = false;
  192.     $scope.loading = false;
  193.  
  194.     $rootScope.close = function() {
  195.         $rootScope.marker = {
  196.             show: false
  197.         };
  198.         $rootScope.details = {
  199.             show: false
  200.         };
  201.         $rootScope.alldealer = {
  202.             show: false
  203.         };
  204.         $rootScope.active_marker = null;
  205.     };
  206. });
  207.  
  208. app.controller('DealerMessageCtrl', function($scope, $rootScope, $http, $routeParams, $location, dealerService) {
  209.     $scope.dealer = dealerService.message.get({
  210.         id: $routeParams.id
  211.     });
  212.     $scope.$invalid = false;
  213.     //Sende Nachricht
  214.     $scope.sendMessage = function(form) {
  215.         $http({
  216.             method: 'POST',
  217.             url: 'files/framework/dealersendmessage/' + $routeParams.id,
  218.             data: $scope.user,
  219.             headers: {
  220.                 'Content-Type': 'application/x-www-form-urlencoded'
  221.             }
  222.         }).success(function(data) {
  223.             $location.url('/dealer/' + $routeParams.id);
  224.             $rootScope.issend = data;
  225.         });
  226.     };
  227. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement