diff options
author | Trygve Laugstøl <trygvis@inamo.no> | 2013-01-04 10:18:56 +0100 |
---|---|---|
committer | Trygve Laugstøl <trygvis@inamo.no> | 2013-01-04 10:18:56 +0100 |
commit | 4a6c9c52d006ecb717bae7d9b502d9b661a08ccd (patch) | |
tree | 2b31f40d854f137a960933f5e2d99ebb98f48935 /src/main/webapp/apps/frontPageApp | |
parent | 5c8c3467906d996c04210cc8350edbd027ccc32a (diff) | |
download | esper-testing-4a6c9c52d006ecb717bae7d9b502d9b661a08ccd.tar.gz esper-testing-4a6c9c52d006ecb717bae7d9b502d9b661a08ccd.tar.bz2 esper-testing-4a6c9c52d006ecb717bae7d9b502d9b661a08ccd.tar.xz esper-testing-4a6c9c52d006ecb717bae7d9b502d9b661a08ccd.zip |
o Using the PagingTableService on the front page and person apps.
Diffstat (limited to 'src/main/webapp/apps/frontPageApp')
-rwxr-xr-x[-rw-r--r--] | src/main/webapp/apps/frontPageApp/frontPage.html | 36 | ||||
-rwxr-xr-x[-rw-r--r--] | src/main/webapp/apps/frontPageApp/frontPageApp.js | 67 |
2 files changed, 31 insertions, 72 deletions
diff --git a/src/main/webapp/apps/frontPageApp/frontPage.html b/src/main/webapp/apps/frontPageApp/frontPage.html index 4523e6f..5cdea9a 100644..100755 --- a/src/main/webapp/apps/frontPageApp/frontPage.html +++ b/src/main/webapp/apps/frontPageApp/frontPage.html @@ -3,13 +3,33 @@ <div class="page-header"> <h1>Newcomers</h1> </div> - - <style> - .personsGrid { - height: 400px; - } - </style> - - <div class="personsGrid" ng-grid="personsGridOptions"><!-- --></div> + <table class="table"> + <thead> + <tr> + <th>Name</th> + <th>Badges</th> + </tr> + </thead> + <tbody> + <tr ng-repeat="person in persons.rows"> + <td><a href="/person/{{person.uuid}}">{{person.name}}</a></td> + <td>{{person.badges.length}}</td> + </tr> + </tbody> + <tfoot> + <tr> + <td colspan="2"> + <ul class="pager"> + <li class="previous" ng-class="{disabled: persons.startIndex == 0}"> + <a ng-click="persons.prev()">← Older</a> + </li> + <li class="next"> + <a ng-click="persons.next()">Newer →</a> + </li> + </ul> + </td> + </tr> + </tfoot> + </table> </div> diff --git a/src/main/webapp/apps/frontPageApp/frontPageApp.js b/src/main/webapp/apps/frontPageApp/frontPageApp.js index c4fa0cc..21bc91f 100644..100755 --- a/src/main/webapp/apps/frontPageApp/frontPageApp.js +++ b/src/main/webapp/apps/frontPageApp/frontPageApp.js @@ -1,71 +1,10 @@ 'use strict'; -var frontPageApp = angular.module('frontPageApp', ['ngGrid', 'person']).config(function ($routeProvider, $locationProvider) { +var frontPageApp = angular.module('frontPageApp', ['ngGrid', 'person', 'pagingTableService']).config(function ($routeProvider, $locationProvider) { $routeProvider. when('/', {controller: FrontPageCtrl, templateUrl: '/apps/frontPageApp/frontPage.html?noCache=' + noCache}); }); -function FrontPageCtrl($scope, $http, Person) { - $scope.persons = []; - - $scope.pagingOptions = { - pageSizes: [10], - pageSize: 10, - totalServerItems: 0, - currentPage: 1 - }; - - $scope.personsGridOptions = { - data: 'persons', - displayFooter: true, - enablePaging: true, - enableRowReordering: false, - enableColumnReordering: false, - showFilter: false, - showColumnMenu: false, - canSelectRows: false, - displaySelectionCheckbox: false, - pagingOptions: $scope.pagingOptions, - columnDefs: [ - { - field: 'name', - displayName: 'Name', - cellTemplate: '<a href="/person/{{row.getProperty(\'uuid\')}}">{{row.getProperty(col.field)}}</a>' - }, - { - field: 'badges', - displayName: 'Badges', - cellTemplate: '<div>{{row.getProperty(col.field).length}}</div>' - } - ] - }; - - $scope.setPagingData = function(data, page, pageSize){ -// $scope.persons = data.slice((page - 1) * pageSize, page * pageSize); - $scope.persons = data; -// $scope.personsGridOptions.totalServerItems = data.length; - window.x = $scope.personsGridOptions; - if (!$scope.$$phase) { - $scope.$apply(); - } - }; - - $scope.getPagedDataAsync = function (pageSize, page/*, searchText*/) { - setTimeout(function () { - - Person.query({startIndex: page * pageSize, count: pageSize}, function (persons) { - $scope.setPagingData(persons, page, pageSize); - }); - }, 100); - }; - - $scope.$watch('pagingOptions', function () { - $scope.getPagedDataAsync($scope.pagingOptions.pageSize, $scope.pagingOptions.currentPage); - }, true); - -// $http.get('/resource/core/person-count').success(function(count) { -// $scope.pagingOptions.totalServerItems = count; -// -// $scope.getPagedDataAsync($scope.pagingOptions.pageSize, $scope.pagingOptions.currentPage); -// }); +function FrontPageCtrl($scope, Person, PagingTableService) { + $scope.persons = PagingTableService.create($scope, PagingTableService.defaultCallback(Person)); } |