Advertisement
joelmello

Angular 1.4 Controller Example

Dec 2nd, 2016
51
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /// <reference path="../../../Gruntfile.js" />
  2. /*global _:true*/
  3. /*global kendo:true*/
  4. 'use strict';
  5.  
  6. angular.module('exampleApp')
  7.     .controller('AdminDepositsCtrl', function ($scope, $rootScope, $timeout, $location, $http, $state,
  8.         appConstants, egProgress,
  9.         AdminService) {
  10.  
  11.         //#region private
  12.         function setFilter() {
  13.             egProgress.spin('deposits', function () {
  14.                 var filter = $scope.transactions.filter(),
  15.                     value = $scope.filter.string;
  16.                 _.each(filter.filters, function (i) {
  17.                     i.value = value;
  18.                 });
  19.                 //console.log('apply filter', filter);
  20.                 $scope.transactions.filter(filter);
  21.                 //setTitle($scope.uers._view.length);
  22.                 egProgress.stop('deposits');
  23.             });
  24.         }
  25.         //#endregion private
  26.  
  27.         $scope.loading = true;
  28.  
  29.         // Searching
  30.         function applySearchParams() {
  31.             var params = $location.$$search;
  32.             if (params.q) {
  33.                 $scope.filter.string = params.q;
  34.                 setFilter();                
  35.             }
  36.             //console.log('contest filter', $scope.contestFilter);
  37.         }
  38.  
  39.         // Infinite scroll
  40.         $scope.paging = {
  41.             size: 50,
  42.             infinite: true,
  43.             scroll: function () {
  44.                 var page = $scope.paging.size,
  45.                     size = $scope.transactions.pageSize(),
  46.                     view = $scope.transactions._view.length,
  47.                     data = $scope.transactions._data.length;
  48.  
  49.                 //console.log('page sizing', page, size, view, data);
  50.                 if (data > 0) {
  51.                     if (view < size) {
  52.                         //console.log('page length reached');
  53.                         $scope.paging.infinite = false;
  54.                     } else {
  55.                         //console.log('increasing page size');
  56.                         egProgress.spin('gridpage', function () {
  57.                             $scope.transactions.pageSize(size + page);
  58.                             egProgress.stop('gridpage', 800);
  59.                         });
  60.                     }
  61.                 }
  62.             }
  63.         };
  64.  
  65.         $scope.transactions = new kendo.data.DataSource({
  66.             transport: {
  67.                 read: function (options) {
  68.                     $scope.loading = true;
  69.                     AdminService.getDeposits(function (res) {
  70.                         options.success(res);
  71.                         $scope.loading = false;
  72.  
  73.                         // Apply linked search params
  74.                         applySearchParams();
  75.  
  76.                     }, function (err) {
  77.                         options.error([]);
  78.                         console.log('admin deposits error:', err);
  79.                         $scope.loading = false;
  80.                     }, 'deposits');
  81.                 }
  82.             },
  83.             serverPaging: false,
  84.             pageSize: $scope.paging.size,
  85.             serverSorting: false,
  86.             sort: { field: 'ticksCreated', dir: 'desc' },
  87.             serverFiltering: false,
  88.             filter: {
  89.                 logic: 'or',
  90.                 filters: [
  91.                     { field: 'transactionId', operator: 'contains', value: '' },
  92.                     { field: 'webRequest.payer_id', operator: 'contains', value: '' },
  93.                     { field: 'playerInfo.username', operator: 'contains', value: '' },
  94.                     { field: 'webRequest.payer_email', operator: 'contains', value: '' }
  95.                 ]
  96.             }
  97.         });
  98.  
  99.         $scope.filter = {
  100.             string: '',
  101.             search: function () {
  102.                 //console.log('filter users by:', $scope.filter.string);
  103.                 setFilter();
  104.             },
  105.             reset: function (e) {
  106.                 e.preventDefault();
  107.                 //console.log('reset contest filter');
  108.                 $scope.filter.string = '';
  109.                 setFilter();
  110.             }
  111.         };
  112.  
  113.        
  114.        
  115.  
  116.         $scope.transactions.read();
  117.     });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement