@everymatrix/stage-mm-verification-report 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/chunk-A3NTIEMP.js +1 -0
- package/chunk-CAY35YP7.js +7 -0
- package/chunk-H3QHLLCN.js +1 -0
- package/chunk-KE4BCZO4.js +851 -0
- package/chunk-OHPEWN32.js +1198 -0
- package/chunk-WSQOM5HU.js +1 -0
- package/component-lib.js +1 -0
- package/index.html +12 -0
- package/main.js +3264 -0
- package/modules/angular/LICENSE.md +21 -0
- package/modules/angular/README.md +67 -0
- package/modules/angular/angular-csp.css +25 -0
- package/modules/angular/angular.js +36600 -0
- package/modules/angular/angular.min.js +352 -0
- package/modules/angular/angular.min.js.gzip +0 -0
- package/modules/angular/angular.min.js.map +8 -0
- package/modules/angular/bower.json +9 -0
- package/modules/angular/index.js +2 -0
- package/modules/angular/package.json +25 -0
- package/modules/angular-ui-grid/CHANGELOG.md +1973 -0
- package/modules/angular-ui-grid/README.md +59 -0
- package/modules/angular-ui-grid/css/ui-grid.cellnav.css +25 -0
- package/modules/angular-ui-grid/css/ui-grid.cellnav.min.css +1 -0
- package/modules/angular-ui-grid/css/ui-grid.core.css +866 -0
- package/modules/angular-ui-grid/css/ui-grid.core.min.css +5 -0
- package/modules/angular-ui-grid/css/ui-grid.edit.css +23 -0
- package/modules/angular-ui-grid/css/ui-grid.edit.min.css +1 -0
- package/modules/angular-ui-grid/css/ui-grid.empty-base-layer.css +6 -0
- package/modules/angular-ui-grid/css/ui-grid.empty-base-layer.min.css +1 -0
- package/modules/angular-ui-grid/css/ui-grid.expandable.css +16 -0
- package/modules/angular-ui-grid/css/ui-grid.expandable.min.css +1 -0
- package/modules/angular-ui-grid/css/ui-grid.exporter.css +0 -0
- package/modules/angular-ui-grid/css/ui-grid.exporter.min.css +0 -0
- package/modules/angular-ui-grid/css/ui-grid.grouping.css +3 -0
- package/modules/angular-ui-grid/css/ui-grid.grouping.min.css +1 -0
- package/modules/angular-ui-grid/css/ui-grid.importer.css +0 -0
- package/modules/angular-ui-grid/css/ui-grid.importer.min.css +0 -0
- package/modules/angular-ui-grid/css/ui-grid.move-columns.css +9 -0
- package/modules/angular-ui-grid/css/ui-grid.move-columns.min.css +1 -0
- package/modules/angular-ui-grid/css/ui-grid.pagination.css +299 -0
- package/modules/angular-ui-grid/css/ui-grid.pagination.min.css +1 -0
- package/modules/angular-ui-grid/css/ui-grid.pinning.css +67 -0
- package/modules/angular-ui-grid/css/ui-grid.pinning.min.css +1 -0
- package/modules/angular-ui-grid/css/ui-grid.resize-columns.css +38 -0
- package/modules/angular-ui-grid/css/ui-grid.resize-columns.min.css +1 -0
- package/modules/angular-ui-grid/css/ui-grid.row-edit.css +9 -0
- package/modules/angular-ui-grid/css/ui-grid.row-edit.min.css +1 -0
- package/modules/angular-ui-grid/css/ui-grid.selection.css +25 -0
- package/modules/angular-ui-grid/css/ui-grid.selection.min.css +1 -0
- package/modules/angular-ui-grid/css/ui-grid.tree-base.css +4 -0
- package/modules/angular-ui-grid/css/ui-grid.tree-base.min.css +1 -0
- package/modules/angular-ui-grid/css/ui-grid.tree-view.css +6 -0
- package/modules/angular-ui-grid/css/ui-grid.tree-view.min.css +1 -0
- package/modules/angular-ui-grid/css/ui-grid.validate.css +3 -0
- package/modules/angular-ui-grid/css/ui-grid.validate.min.css +1 -0
- package/modules/angular-ui-grid/fonts/ui-grid.eot +0 -0
- package/modules/angular-ui-grid/fonts/ui-grid.svg +56 -0
- package/modules/angular-ui-grid/fonts/ui-grid.ttf +0 -0
- package/modules/angular-ui-grid/fonts/ui-grid.woff +0 -0
- package/modules/angular-ui-grid/less/animation.less +85 -0
- package/modules/angular-ui-grid/less/body.less +84 -0
- package/modules/angular-ui-grid/less/cell.less +46 -0
- package/modules/angular-ui-grid/less/cellnav.less +29 -0
- package/modules/angular-ui-grid/less/core.less +11 -0
- package/modules/angular-ui-grid/less/edit.less +27 -0
- package/modules/angular-ui-grid/less/elements.less +156 -0
- package/modules/angular-ui-grid/less/emptyBaseLayer.less +8 -0
- package/modules/angular-ui-grid/less/expandable.less +29 -0
- package/modules/angular-ui-grid/less/exporter.less +4 -0
- package/modules/angular-ui-grid/less/footer.less +76 -0
- package/modules/angular-ui-grid/less/grid.less +86 -0
- package/modules/angular-ui-grid/less/grouping.less +5 -0
- package/modules/angular-ui-grid/less/header.less +250 -0
- package/modules/angular-ui-grid/less/icons.less +151 -0
- package/modules/angular-ui-grid/less/importer.less +4 -0
- package/modules/angular-ui-grid/less/main.less +2 -0
- package/modules/angular-ui-grid/less/menu.less +91 -0
- package/modules/angular-ui-grid/less/moveColumns.less +12 -0
- package/modules/angular-ui-grid/less/pagination.less +297 -0
- package/modules/angular-ui-grid/less/pinning.less +86 -0
- package/modules/angular-ui-grid/less/resizeColumns.less +53 -0
- package/modules/angular-ui-grid/less/rowEdit.less +19 -0
- package/modules/angular-ui-grid/less/rtl.less +67 -0
- package/modules/angular-ui-grid/less/selection.less +29 -0
- package/modules/angular-ui-grid/less/sorting.less +16 -0
- package/modules/angular-ui-grid/less/treeBase.less +6 -0
- package/modules/angular-ui-grid/less/treeView.less +8 -0
- package/modules/angular-ui-grid/less/validate.less +5 -0
- package/modules/angular-ui-grid/less/variables.less +90 -0
- package/modules/angular-ui-grid/package.json +144 -0
- package/modules/angular-ui-grid/ui-grid.auto-resize.js +69 -0
- package/modules/angular-ui-grid/ui-grid.auto-resize.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.cellnav.js +1181 -0
- package/modules/angular-ui-grid/ui-grid.cellnav.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.core.js +12737 -0
- package/modules/angular-ui-grid/ui-grid.core.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.css +3208 -0
- package/modules/angular-ui-grid/ui-grid.edit.js +1325 -0
- package/modules/angular-ui-grid/ui-grid.edit.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.empty-base-layer.js +178 -0
- package/modules/angular-ui-grid/ui-grid.empty-base-layer.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.expandable.js +651 -0
- package/modules/angular-ui-grid/ui-grid.expandable.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.exporter.js +1777 -0
- package/modules/angular-ui-grid/ui-grid.exporter.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.grouping.js +1291 -0
- package/modules/angular-ui-grid/ui-grid.grouping.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.importer.js +791 -0
- package/modules/angular-ui-grid/ui-grid.importer.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.infinite-scroll.js +552 -0
- package/modules/angular-ui-grid/ui-grid.infinite-scroll.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.js +30867 -0
- package/modules/angular-ui-grid/ui-grid.language.all.js +3214 -0
- package/modules/angular-ui-grid/ui-grid.language.all.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.ar.js +118 -0
- package/modules/angular-ui-grid/ui-grid.language.ar.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.bg.js +115 -0
- package/modules/angular-ui-grid/ui-grid.language.bg.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.cs.js +96 -0
- package/modules/angular-ui-grid/ui-grid.language.cs.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.da.js +90 -0
- package/modules/angular-ui-grid/ui-grid.language.da.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.de.js +133 -0
- package/modules/angular-ui-grid/ui-grid.language.de.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.es-ct.js +133 -0
- package/modules/angular-ui-grid/ui-grid.language.es-ct.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.es.js +106 -0
- package/modules/angular-ui-grid/ui-grid.language.es.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.fa.js +93 -0
- package/modules/angular-ui-grid/ui-grid.language.fa.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.fi.js +76 -0
- package/modules/angular-ui-grid/ui-grid.language.fi.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.fr.js +128 -0
- package/modules/angular-ui-grid/ui-grid.language.fr.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.he.js +71 -0
- package/modules/angular-ui-grid/ui-grid.language.he.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.hy.js +76 -0
- package/modules/angular-ui-grid/ui-grid.language.hy.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.is.js +118 -0
- package/modules/angular-ui-grid/ui-grid.language.is.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.it.js +112 -0
- package/modules/angular-ui-grid/ui-grid.language.it.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.ja.js +118 -0
- package/modules/angular-ui-grid/ui-grid.language.ja.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.ko.js +77 -0
- package/modules/angular-ui-grid/ui-grid.language.ko.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.nl.js +91 -0
- package/modules/angular-ui-grid/ui-grid.language.nl.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.no.js +115 -0
- package/modules/angular-ui-grid/ui-grid.language.no.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.pl.js +126 -0
- package/modules/angular-ui-grid/ui-grid.language.pl.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.pt-br.js +133 -0
- package/modules/angular-ui-grid/ui-grid.language.pt-br.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.pt.js +133 -0
- package/modules/angular-ui-grid/ui-grid.language.pt.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.ro.js +112 -0
- package/modules/angular-ui-grid/ui-grid.language.ro.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.rs-lat.js +126 -0
- package/modules/angular-ui-grid/ui-grid.language.rs-lat.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.ru.js +115 -0
- package/modules/angular-ui-grid/ui-grid.language.ru.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.sk.js +127 -0
- package/modules/angular-ui-grid/ui-grid.language.sk.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.sv.js +126 -0
- package/modules/angular-ui-grid/ui-grid.language.sv.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.ta.js +87 -0
- package/modules/angular-ui-grid/ui-grid.language.ta.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.tr.js +112 -0
- package/modules/angular-ui-grid/ui-grid.language.tr.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.ua.js +112 -0
- package/modules/angular-ui-grid/ui-grid.language.ua.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.zh-cn.js +112 -0
- package/modules/angular-ui-grid/ui-grid.language.zh-cn.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.language.zh-tw.js +77 -0
- package/modules/angular-ui-grid/ui-grid.language.zh-tw.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.min.css +5 -0
- package/modules/angular-ui-grid/ui-grid.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.move-columns.js +582 -0
- package/modules/angular-ui-grid/ui-grid.move-columns.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.pagination.js +510 -0
- package/modules/angular-ui-grid/ui-grid.pagination.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.pinning.js +281 -0
- package/modules/angular-ui-grid/ui-grid.pinning.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.resize-columns.js +574 -0
- package/modules/angular-ui-grid/ui-grid.resize-columns.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.row-edit.js +717 -0
- package/modules/angular-ui-grid/ui-grid.row-edit.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.saveState.js +831 -0
- package/modules/angular-ui-grid/ui-grid.saveState.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.selection.js +1196 -0
- package/modules/angular-ui-grid/ui-grid.selection.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.tree-base.js +1743 -0
- package/modules/angular-ui-grid/ui-grid.tree-base.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.tree-view.js +218 -0
- package/modules/angular-ui-grid/ui-grid.tree-view.min.js +6 -0
- package/modules/angular-ui-grid/ui-grid.validate.js +589 -0
- package/modules/angular-ui-grid/ui-grid.validate.min.js +6 -0
- package/package.json +8 -0
- package/polyfills.js +2 -0
- package/styles.css +1 -0
|
@@ -0,0 +1,510 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* ui-grid - v4.12.7 - 2024-04-12
|
|
3
|
+
* http://ui-grid.info/
|
|
4
|
+
* Copyright (c) 2024 ; License: MIT
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
(function() {
|
|
8
|
+
'use strict';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @ngdoc overview
|
|
12
|
+
* @name ui.grid.pagination
|
|
13
|
+
*
|
|
14
|
+
* @description
|
|
15
|
+
*
|
|
16
|
+
* # ui.grid.pagination
|
|
17
|
+
*
|
|
18
|
+
* <div class="alert alert-warning" role="alert"><strong>Alpha</strong> This feature is in development. There will almost certainly be breaking api changes, or there are major outstanding bugs.</div>
|
|
19
|
+
*
|
|
20
|
+
* This module provides pagination support to ui-grid
|
|
21
|
+
*/
|
|
22
|
+
var module = angular.module('ui.grid.pagination', ['ng', 'ui.grid']);
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* @ngdoc service
|
|
26
|
+
* @name ui.grid.pagination.service:uiGridPaginationService
|
|
27
|
+
*
|
|
28
|
+
* @description Service for the pagination feature
|
|
29
|
+
*/
|
|
30
|
+
module.service('uiGridPaginationService', ['gridUtil',
|
|
31
|
+
function (gridUtil) {
|
|
32
|
+
var service = {
|
|
33
|
+
/**
|
|
34
|
+
* @ngdoc method
|
|
35
|
+
* @name initializeGrid
|
|
36
|
+
* @methodOf ui.grid.pagination.service:uiGridPaginationService
|
|
37
|
+
* @description Attaches the service to a certain grid
|
|
38
|
+
* @param {Grid} grid The grid we want to work with
|
|
39
|
+
*/
|
|
40
|
+
initializeGrid: function (grid) {
|
|
41
|
+
service.defaultGridOptions(grid.options);
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* @ngdoc object
|
|
45
|
+
* @name ui.grid.pagination.api:PublicAPI
|
|
46
|
+
*
|
|
47
|
+
* @description Public API for the pagination feature
|
|
48
|
+
*/
|
|
49
|
+
var publicApi = {
|
|
50
|
+
events: {
|
|
51
|
+
pagination: {
|
|
52
|
+
/**
|
|
53
|
+
* @ngdoc event
|
|
54
|
+
* @name paginationChanged
|
|
55
|
+
* @eventOf ui.grid.pagination.api:PublicAPI
|
|
56
|
+
* @description This event fires when the pageSize or currentPage changes
|
|
57
|
+
* @param {int} currentPage requested page number
|
|
58
|
+
* @param {int} pageSize requested page size
|
|
59
|
+
*/
|
|
60
|
+
paginationChanged: function (currentPage, pageSize) { }
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
methods: {
|
|
64
|
+
pagination: {
|
|
65
|
+
/**
|
|
66
|
+
* @ngdoc method
|
|
67
|
+
* @name getPage
|
|
68
|
+
* @methodOf ui.grid.pagination.api:PublicAPI
|
|
69
|
+
* @description Returns the number of the current page
|
|
70
|
+
*/
|
|
71
|
+
getPage: function () {
|
|
72
|
+
return grid.options.enablePagination ? grid.options.paginationCurrentPage : null;
|
|
73
|
+
},
|
|
74
|
+
/**
|
|
75
|
+
* @ngdoc method
|
|
76
|
+
* @name getFirstRowIndex
|
|
77
|
+
* @methodOf ui.grid.pagination.api:PublicAPI
|
|
78
|
+
* @description Returns the index of the first row of the current page.
|
|
79
|
+
*/
|
|
80
|
+
getFirstRowIndex: function () {
|
|
81
|
+
if (grid.options.useCustomPagination) {
|
|
82
|
+
return grid.options.paginationPageSizes.reduce(function(result, size, index) {
|
|
83
|
+
return index < grid.options.paginationCurrentPage - 1 ? result + size : result;
|
|
84
|
+
}, 0);
|
|
85
|
+
}
|
|
86
|
+
return ((grid.options.paginationCurrentPage - 1) * grid.options.paginationPageSize);
|
|
87
|
+
},
|
|
88
|
+
/**
|
|
89
|
+
* @ngdoc method
|
|
90
|
+
* @name getLastRowIndex
|
|
91
|
+
* @methodOf ui.grid.pagination.api:PublicAPI
|
|
92
|
+
* @description Returns the index of the last row of the current page.
|
|
93
|
+
*/
|
|
94
|
+
getLastRowIndex: function () {
|
|
95
|
+
if (grid.options.useCustomPagination) {
|
|
96
|
+
return publicApi.methods.pagination.getFirstRowIndex() + grid.options.paginationPageSizes[grid.options.paginationCurrentPage - 1] - 1;
|
|
97
|
+
}
|
|
98
|
+
return Math.min(grid.options.paginationCurrentPage * grid.options.paginationPageSize, grid.options.totalItems) - 1;
|
|
99
|
+
},
|
|
100
|
+
/**
|
|
101
|
+
* @ngdoc method
|
|
102
|
+
* @name getTotalPages
|
|
103
|
+
* @methodOf ui.grid.pagination.api:PublicAPI
|
|
104
|
+
* @description Returns the total number of pages
|
|
105
|
+
*/
|
|
106
|
+
getTotalPages: function () {
|
|
107
|
+
if (!grid.options.enablePagination) {
|
|
108
|
+
return null;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
if (grid.options.useCustomPagination) {
|
|
112
|
+
return grid.options.paginationPageSizes.length;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
return (grid.options.totalItems === 0) ? 1 : Math.ceil(grid.options.totalItems / grid.options.paginationPageSize);
|
|
116
|
+
},
|
|
117
|
+
/**
|
|
118
|
+
* @ngdoc method
|
|
119
|
+
* @name nextPage
|
|
120
|
+
* @methodOf ui.grid.pagination.api:PublicAPI
|
|
121
|
+
* @description Moves to the next page, if possible
|
|
122
|
+
*/
|
|
123
|
+
nextPage: function () {
|
|
124
|
+
if (!grid.options.enablePagination) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
if (grid.options.totalItems > 0) {
|
|
129
|
+
grid.options.paginationCurrentPage = Math.min(
|
|
130
|
+
grid.options.paginationCurrentPage + 1,
|
|
131
|
+
publicApi.methods.pagination.getTotalPages()
|
|
132
|
+
);
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
grid.options.paginationCurrentPage++;
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
/**
|
|
139
|
+
* @ngdoc method
|
|
140
|
+
* @name previousPage
|
|
141
|
+
* @methodOf ui.grid.pagination.api:PublicAPI
|
|
142
|
+
* @description Moves to the previous page, if we're not on the first page
|
|
143
|
+
*/
|
|
144
|
+
previousPage: function () {
|
|
145
|
+
if (!grid.options.enablePagination) {
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
grid.options.paginationCurrentPage = Math.max(grid.options.paginationCurrentPage - 1, 1);
|
|
150
|
+
},
|
|
151
|
+
/**
|
|
152
|
+
* @ngdoc method
|
|
153
|
+
* @name seek
|
|
154
|
+
* @methodOf ui.grid.pagination.api:PublicAPI
|
|
155
|
+
* @description Moves to the requested page
|
|
156
|
+
* @param {int} page The number of the page that should be displayed
|
|
157
|
+
*/
|
|
158
|
+
seek: function (page) {
|
|
159
|
+
if (!grid.options.enablePagination) {
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
if (!angular.isNumber(page) || page < 1) {
|
|
163
|
+
throw 'Invalid page number: ' + page;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
grid.options.paginationCurrentPage = Math.min(page, publicApi.methods.pagination.getTotalPages());
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
|
|
172
|
+
grid.api.registerEventsFromObject(publicApi.events);
|
|
173
|
+
grid.api.registerMethodsFromObject(publicApi.methods);
|
|
174
|
+
|
|
175
|
+
var processPagination = function( renderableRows ) {
|
|
176
|
+
if (grid.options.useExternalPagination || !grid.options.enablePagination) {
|
|
177
|
+
return renderableRows;
|
|
178
|
+
}
|
|
179
|
+
// client side pagination
|
|
180
|
+
var pageSize = parseInt(grid.options.paginationPageSize, 10);
|
|
181
|
+
var currentPage = parseInt(grid.options.paginationCurrentPage, 10);
|
|
182
|
+
|
|
183
|
+
var visibleRows = renderableRows.filter(function (row) { return row.visible; });
|
|
184
|
+
grid.options.totalItems = visibleRows.length;
|
|
185
|
+
|
|
186
|
+
var firstRow = publicApi.methods.pagination.getFirstRowIndex();
|
|
187
|
+
var lastRow = publicApi.methods.pagination.getLastRowIndex();
|
|
188
|
+
|
|
189
|
+
if (firstRow > visibleRows.length) {
|
|
190
|
+
currentPage = grid.options.paginationCurrentPage = 1;
|
|
191
|
+
firstRow = (currentPage - 1) * pageSize;
|
|
192
|
+
}
|
|
193
|
+
return visibleRows.slice(firstRow, lastRow + 1);
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
grid.registerRowsProcessor(processPagination, 900 );
|
|
197
|
+
|
|
198
|
+
},
|
|
199
|
+
defaultGridOptions: function (gridOptions) {
|
|
200
|
+
/**
|
|
201
|
+
* @ngdoc object
|
|
202
|
+
* @name ui.grid.pagination.api:GridOptions
|
|
203
|
+
*
|
|
204
|
+
* @description GridOptions for the pagination feature, these are available to be
|
|
205
|
+
* set using the ui-grid {@link ui.grid.class:GridOptions gridOptions}
|
|
206
|
+
*/
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* @ngdoc property
|
|
210
|
+
* @name enablePagination
|
|
211
|
+
* @propertyOf ui.grid.pagination.api:GridOptions
|
|
212
|
+
* @description Enables pagination. Defaults to true.
|
|
213
|
+
*/
|
|
214
|
+
gridOptions.enablePagination = gridOptions.enablePagination !== false;
|
|
215
|
+
/**
|
|
216
|
+
* @ngdoc property
|
|
217
|
+
* @name enablePaginationControls
|
|
218
|
+
* @propertyOf ui.grid.pagination.api:GridOptions
|
|
219
|
+
* @description Enables the paginator at the bottom of the grid. Turn this off if you want to implement your
|
|
220
|
+
* own controls outside the grid.
|
|
221
|
+
*/
|
|
222
|
+
gridOptions.enablePaginationControls = gridOptions.enablePaginationControls !== false;
|
|
223
|
+
/**
|
|
224
|
+
* @ngdoc property
|
|
225
|
+
* @name useExternalPagination
|
|
226
|
+
* @propertyOf ui.grid.pagination.api:GridOptions
|
|
227
|
+
* @description Disables client side pagination. When true, handle the paginationChanged event and set data
|
|
228
|
+
* and totalItems. Defaults to `false`
|
|
229
|
+
*/
|
|
230
|
+
gridOptions.useExternalPagination = gridOptions.useExternalPagination === true;
|
|
231
|
+
|
|
232
|
+
/**
|
|
233
|
+
* @ngdoc property
|
|
234
|
+
* @name useCustomPagination
|
|
235
|
+
* @propertyOf ui.grid.pagination.api:GridOptions
|
|
236
|
+
* @description Disables client-side pagination. When true, handle the `paginationChanged` event and set `data`,
|
|
237
|
+
* `firstRowIndex`, `lastRowIndex`, and `totalItems`. Defaults to `false`.
|
|
238
|
+
*/
|
|
239
|
+
gridOptions.useCustomPagination = gridOptions.useCustomPagination === true;
|
|
240
|
+
|
|
241
|
+
/**
|
|
242
|
+
* @ngdoc property
|
|
243
|
+
* @name totalItems
|
|
244
|
+
* @propertyOf ui.grid.pagination.api:GridOptions
|
|
245
|
+
* @description Total number of items, set automatically when using client side pagination, but needs set by user
|
|
246
|
+
* for server side pagination
|
|
247
|
+
*/
|
|
248
|
+
if (gridUtil.isNullOrUndefined(gridOptions.totalItems)) {
|
|
249
|
+
gridOptions.totalItems = 0;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* @ngdoc property
|
|
253
|
+
* @name paginationPageSizes
|
|
254
|
+
* @propertyOf ui.grid.pagination.api:GridOptions
|
|
255
|
+
* @description Array of page sizes, defaults to `[250, 500, 1000]`
|
|
256
|
+
*/
|
|
257
|
+
if (gridUtil.isNullOrUndefined(gridOptions.paginationPageSizes)) {
|
|
258
|
+
gridOptions.paginationPageSizes = [250, 500, 1000];
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* @ngdoc property
|
|
262
|
+
* @name paginationPageSize
|
|
263
|
+
* @propertyOf ui.grid.pagination.api:GridOptions
|
|
264
|
+
* @description Page size, defaults to the first item in paginationPageSizes, or 0 if paginationPageSizes is empty
|
|
265
|
+
*/
|
|
266
|
+
if (gridUtil.isNullOrUndefined(gridOptions.paginationPageSize)) {
|
|
267
|
+
if (gridOptions.paginationPageSizes.length > 0) {
|
|
268
|
+
gridOptions.paginationPageSize = gridOptions.paginationPageSizes[0];
|
|
269
|
+
}
|
|
270
|
+
else {
|
|
271
|
+
gridOptions.paginationPageSize = 0;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* @ngdoc property
|
|
276
|
+
* @name paginationCurrentPage
|
|
277
|
+
* @propertyOf ui.grid.pagination.api:GridOptions
|
|
278
|
+
* @description Current page number, defaults to 1
|
|
279
|
+
*/
|
|
280
|
+
if (gridUtil.isNullOrUndefined(gridOptions.paginationCurrentPage)) {
|
|
281
|
+
gridOptions.paginationCurrentPage = 1;
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* @ngdoc property
|
|
286
|
+
* @name paginationTemplate
|
|
287
|
+
* @propertyOf ui.grid.pagination.api:GridOptions
|
|
288
|
+
* @description A custom template for the pager, defaults to `ui-grid/pagination`
|
|
289
|
+
*/
|
|
290
|
+
if (gridUtil.isNullOrUndefined(gridOptions.paginationTemplate)) {
|
|
291
|
+
gridOptions.paginationTemplate = 'ui-grid/pagination';
|
|
292
|
+
}
|
|
293
|
+
},
|
|
294
|
+
/**
|
|
295
|
+
* @ngdoc method
|
|
296
|
+
* @methodOf ui.grid.pagination.service:uiGridPaginationService
|
|
297
|
+
* @name uiGridPaginationService
|
|
298
|
+
* @description Raises paginationChanged and calls refresh for client side pagination
|
|
299
|
+
* @param {Grid} grid the grid for which the pagination changed
|
|
300
|
+
* @param {int} currentPage requested page number
|
|
301
|
+
* @param {int} pageSize requested page size
|
|
302
|
+
*/
|
|
303
|
+
onPaginationChanged: function (grid, currentPage, pageSize) {
|
|
304
|
+
grid.api.pagination.raise.paginationChanged(currentPage, pageSize);
|
|
305
|
+
if (!grid.options.useExternalPagination) {
|
|
306
|
+
grid.queueGridRefresh(); // client side pagination
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
};
|
|
310
|
+
|
|
311
|
+
return service;
|
|
312
|
+
}
|
|
313
|
+
]);
|
|
314
|
+
/**
|
|
315
|
+
* @ngdoc directive
|
|
316
|
+
* @name ui.grid.pagination.directive:uiGridPagination
|
|
317
|
+
* @element div
|
|
318
|
+
* @restrict A
|
|
319
|
+
*
|
|
320
|
+
* @description Adds pagination features to grid
|
|
321
|
+
* @example
|
|
322
|
+
<example module="app">
|
|
323
|
+
<file name="app.js">
|
|
324
|
+
var app = angular.module('app', ['ui.grid', 'ui.grid.pagination']);
|
|
325
|
+
|
|
326
|
+
app.controller('MainCtrl', ['$scope', function ($scope) {
|
|
327
|
+
$scope.data = [
|
|
328
|
+
{ name: 'Alex', car: 'Toyota' },
|
|
329
|
+
{ name: 'Sam', car: 'Lexus' },
|
|
330
|
+
{ name: 'Joe', car: 'Dodge' },
|
|
331
|
+
{ name: 'Bob', car: 'Buick' },
|
|
332
|
+
{ name: 'Cindy', car: 'Ford' },
|
|
333
|
+
{ name: 'Brian', car: 'Audi' },
|
|
334
|
+
{ name: 'Malcom', car: 'Mercedes Benz' },
|
|
335
|
+
{ name: 'Dave', car: 'Ford' },
|
|
336
|
+
{ name: 'Stacey', car: 'Audi' },
|
|
337
|
+
{ name: 'Amy', car: 'Acura' },
|
|
338
|
+
{ name: 'Scott', car: 'Toyota' },
|
|
339
|
+
{ name: 'Ryan', car: 'BMW' },
|
|
340
|
+
];
|
|
341
|
+
|
|
342
|
+
$scope.gridOptions = {
|
|
343
|
+
data: 'data',
|
|
344
|
+
paginationPageSizes: [5, 10, 25],
|
|
345
|
+
paginationPageSize: 5,
|
|
346
|
+
columnDefs: [
|
|
347
|
+
{name: 'name'},
|
|
348
|
+
{name: 'car'}
|
|
349
|
+
]
|
|
350
|
+
}
|
|
351
|
+
}]);
|
|
352
|
+
</file>
|
|
353
|
+
<file name="index.html">
|
|
354
|
+
<div ng-controller="MainCtrl">
|
|
355
|
+
<div ui-grid="gridOptions" ui-grid-pagination></div>
|
|
356
|
+
</div>
|
|
357
|
+
</file>
|
|
358
|
+
</example>
|
|
359
|
+
*/
|
|
360
|
+
module.directive('uiGridPagination', ['gridUtil', 'uiGridPaginationService',
|
|
361
|
+
function (gridUtil, uiGridPaginationService) {
|
|
362
|
+
return {
|
|
363
|
+
priority: -200,
|
|
364
|
+
scope: false,
|
|
365
|
+
require: 'uiGrid',
|
|
366
|
+
link: {
|
|
367
|
+
pre: function ($scope, $elm, $attr, uiGridCtrl) {
|
|
368
|
+
uiGridPaginationService.initializeGrid(uiGridCtrl.grid);
|
|
369
|
+
|
|
370
|
+
gridUtil.getTemplate(uiGridCtrl.grid.options.paginationTemplate)
|
|
371
|
+
.then(function (contents) {
|
|
372
|
+
var template = angular.element(contents);
|
|
373
|
+
|
|
374
|
+
$elm.append(template);
|
|
375
|
+
uiGridCtrl.innerCompile(template);
|
|
376
|
+
});
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
};
|
|
380
|
+
}
|
|
381
|
+
]);
|
|
382
|
+
|
|
383
|
+
/**
|
|
384
|
+
* @ngdoc directive
|
|
385
|
+
* @name ui.grid.pagination.directive:uiGridPager
|
|
386
|
+
* @element div
|
|
387
|
+
*
|
|
388
|
+
* @description Panel for handling pagination
|
|
389
|
+
*/
|
|
390
|
+
module.directive('uiGridPager', ['uiGridPaginationService', 'uiGridConstants', 'gridUtil', 'i18nService', 'i18nConstants',
|
|
391
|
+
function (uiGridPaginationService, uiGridConstants, gridUtil, i18nService, i18nConstants) {
|
|
392
|
+
return {
|
|
393
|
+
priority: -200,
|
|
394
|
+
scope: true,
|
|
395
|
+
require: '^uiGrid',
|
|
396
|
+
link: function ($scope, $elm, $attr, uiGridCtrl) {
|
|
397
|
+
var defaultFocusElementSelector = '.ui-grid-pager-control-input';
|
|
398
|
+
|
|
399
|
+
$scope.aria = i18nService.getSafeText('pagination.aria'); // Returns an object with all of the aria labels
|
|
400
|
+
|
|
401
|
+
var updateLabels = function() {
|
|
402
|
+
$scope.paginationApi = uiGridCtrl.grid.api.pagination;
|
|
403
|
+
$scope.sizesLabel = i18nService.getSafeText('pagination.sizes');
|
|
404
|
+
$scope.totalItemsLabel = i18nService.getSafeText('pagination.totalItems');
|
|
405
|
+
$scope.paginationOf = i18nService.getSafeText('pagination.of');
|
|
406
|
+
$scope.paginationThrough = i18nService.getSafeText('pagination.through');
|
|
407
|
+
};
|
|
408
|
+
|
|
409
|
+
updateLabels();
|
|
410
|
+
|
|
411
|
+
$scope.$on(i18nConstants.UPDATE_EVENT, updateLabels);
|
|
412
|
+
|
|
413
|
+
var options = uiGridCtrl.grid.options;
|
|
414
|
+
|
|
415
|
+
uiGridCtrl.grid.renderContainers.body.registerViewportAdjuster(function (adjustment) {
|
|
416
|
+
if (options.enablePaginationControls) {
|
|
417
|
+
adjustment.height = adjustment.height - gridUtil.elementHeight($elm, "padding");
|
|
418
|
+
}
|
|
419
|
+
return adjustment;
|
|
420
|
+
});
|
|
421
|
+
|
|
422
|
+
var dataChangeDereg = uiGridCtrl.grid.registerDataChangeCallback(function (grid) {
|
|
423
|
+
if (!grid.options.useExternalPagination) {
|
|
424
|
+
grid.options.totalItems = grid.rows.length;
|
|
425
|
+
}
|
|
426
|
+
}, [uiGridConstants.dataChange.ROW]);
|
|
427
|
+
|
|
428
|
+
$scope.$on('$destroy', dataChangeDereg);
|
|
429
|
+
|
|
430
|
+
var deregP = $scope.$watch('grid.options.paginationCurrentPage + grid.options.paginationPageSize', function (newValues, oldValues) {
|
|
431
|
+
if (newValues === oldValues || oldValues === undefined) {
|
|
432
|
+
return;
|
|
433
|
+
}
|
|
434
|
+
|
|
435
|
+
if (!angular.isNumber(options.paginationCurrentPage) || options.paginationCurrentPage < 1) {
|
|
436
|
+
options.paginationCurrentPage = 1;
|
|
437
|
+
return;
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
if (options.totalItems > 0 && options.paginationCurrentPage > $scope.paginationApi.getTotalPages()) {
|
|
441
|
+
options.paginationCurrentPage = $scope.paginationApi.getTotalPages();
|
|
442
|
+
return;
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
uiGridPaginationService.onPaginationChanged($scope.grid, options.paginationCurrentPage, options.paginationPageSize);
|
|
446
|
+
});
|
|
447
|
+
|
|
448
|
+
$scope.$on('$destroy', function() {
|
|
449
|
+
deregP();
|
|
450
|
+
});
|
|
451
|
+
|
|
452
|
+
$scope.cantPageForward = function () {
|
|
453
|
+
if ($scope.paginationApi.getTotalPages()) {
|
|
454
|
+
return $scope.cantPageToLast();
|
|
455
|
+
}
|
|
456
|
+
else {
|
|
457
|
+
return options.data.length < 1;
|
|
458
|
+
}
|
|
459
|
+
};
|
|
460
|
+
|
|
461
|
+
$scope.cantPageToLast = function () {
|
|
462
|
+
var totalPages = $scope.paginationApi.getTotalPages();
|
|
463
|
+
|
|
464
|
+
return !totalPages || options.paginationCurrentPage >= totalPages;
|
|
465
|
+
};
|
|
466
|
+
|
|
467
|
+
$scope.cantPageBackward = function () {
|
|
468
|
+
return options.paginationCurrentPage <= 1;
|
|
469
|
+
};
|
|
470
|
+
|
|
471
|
+
var focusToInputIf = function(condition) {
|
|
472
|
+
if (condition) {
|
|
473
|
+
gridUtil.focus.bySelector($elm, defaultFocusElementSelector);
|
|
474
|
+
}
|
|
475
|
+
};
|
|
476
|
+
|
|
477
|
+
// Takes care of setting focus to the middle element when focus is lost
|
|
478
|
+
$scope.pageFirstPageClick = function () {
|
|
479
|
+
$scope.paginationApi.seek(1);
|
|
480
|
+
focusToInputIf($scope.cantPageBackward());
|
|
481
|
+
};
|
|
482
|
+
|
|
483
|
+
$scope.pagePreviousPageClick = function () {
|
|
484
|
+
$scope.paginationApi.previousPage();
|
|
485
|
+
focusToInputIf($scope.cantPageBackward());
|
|
486
|
+
};
|
|
487
|
+
|
|
488
|
+
$scope.pageNextPageClick = function () {
|
|
489
|
+
$scope.paginationApi.nextPage();
|
|
490
|
+
focusToInputIf($scope.cantPageForward());
|
|
491
|
+
};
|
|
492
|
+
|
|
493
|
+
$scope.pageLastPageClick = function () {
|
|
494
|
+
$scope.paginationApi.seek($scope.paginationApi.getTotalPages());
|
|
495
|
+
focusToInputIf($scope.cantPageToLast());
|
|
496
|
+
};
|
|
497
|
+
}
|
|
498
|
+
};
|
|
499
|
+
}
|
|
500
|
+
]);
|
|
501
|
+
})();
|
|
502
|
+
|
|
503
|
+
angular.module('ui.grid.pagination').run(['$templateCache', function($templateCache) {
|
|
504
|
+
'use strict';
|
|
505
|
+
|
|
506
|
+
$templateCache.put('ui-grid/pagination',
|
|
507
|
+
"<div class=\"ui-grid-pager-panel\" ui-grid-pager ng-show=\"grid.options.enablePaginationControls\"><div role=\"navigation\" class=\"ui-grid-pager-container\"><div class=\"ui-grid-pager-control\"><button type=\"button\" class=\"ui-grid-pager-first\" ui-grid-one-bind-title=\"aria.pageToFirst\" ui-grid-one-bind-aria-label=\"aria.pageToFirst\" ng-click=\"pageFirstPageClick()\" ng-disabled=\"cantPageBackward()\"><div ng-class=\"grid.isRTL() ? 'last-triangle' : 'first-triangle'\"><div ng-class=\"grid.isRTL() ? 'last-bar-rtl' : 'first-bar'\"></div></div></button> <button type=\"button\" class=\"ui-grid-pager-previous\" ui-grid-one-bind-title=\"aria.pageBack\" ui-grid-one-bind-aria-label=\"aria.pageBack\" ng-click=\"pagePreviousPageClick()\" ng-disabled=\"cantPageBackward()\"><div ng-class=\"grid.isRTL() ? 'last-triangle prev-triangle' : 'first-triangle prev-triangle'\"></div></button> <input type=\"number\" ui-grid-one-bind-title=\"aria.pageSelected\" ui-grid-one-bind-aria-label=\"aria.pageSelected\" class=\"ui-grid-pager-control-input\" ng-model=\"grid.options.paginationCurrentPage\" min=\"1\" max=\"{{ paginationApi.getTotalPages() }}\" step=\"1\" required> <span class=\"ui-grid-pager-max-pages-number\" ng-show=\"paginationApi.getTotalPages() > 0\"><abbr ui-grid-one-bind-title=\"paginationOf\">/ </abbr>{{ paginationApi.getTotalPages() }} </span><button type=\"button\" class=\"ui-grid-pager-next\" ui-grid-one-bind-title=\"aria.pageForward\" ui-grid-one-bind-aria-label=\"aria.pageForward\" ng-click=\"pageNextPageClick()\" ng-disabled=\"cantPageForward()\"><div ng-class=\"grid.isRTL() ? 'first-triangle next-triangle' : 'last-triangle next-triangle'\"></div></button> <button type=\"button\" class=\"ui-grid-pager-last\" ui-grid-one-bind-title=\"aria.pageToLast\" ui-grid-one-bind-aria-label=\"aria.pageToLast\" ng-click=\"pageLastPageClick()\" ng-disabled=\"cantPageToLast()\"><div ng-class=\"grid.isRTL() ? 'first-triangle' : 'last-triangle'\"><div ng-class=\"grid.isRTL() ? 'first-bar-rtl' : 'last-bar'\"></div></div></button></div><div class=\"ui-grid-pager-row-count-picker\" ng-if=\"grid.options.paginationPageSizes.length > 1 && !grid.options.useCustomPagination\"><select ui-grid-one-bind-aria-labelledby-grid=\"'items-per-page-label'\" ng-model=\"grid.options.paginationPageSize\" ng-options=\"o as o for o in grid.options.paginationPageSizes\"></select> <span ui-grid-one-bind-id-grid=\"'items-per-page-label'\" class=\"ui-grid-pager-row-count-label\"> {{sizesLabel}}</span></div><span ng-if=\"grid.options.paginationPageSizes.length <= 1\" class=\"ui-grid-pager-row-count-label\">{{grid.options.paginationPageSize}} {{sizesLabel}}</span></div><div class=\"ui-grid-pager-count-container\"><div class=\"ui-grid-pager-count\"><span ng-show=\"grid.options.totalItems > 0\">{{ 1 + paginationApi.getFirstRowIndex() }} <abbr ui-grid-one-bind-title=\"paginationThrough\">- </abbr>{{ 1 + paginationApi.getLastRowIndex() }} {{paginationOf}} {{grid.options.totalItems}} {{totalItemsLabel}}</span></div></div></div>"
|
|
508
|
+
);
|
|
509
|
+
|
|
510
|
+
}]);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* ui-grid - v4.12.7 - 2024-04-12
|
|
3
|
+
* http://ui-grid.info/
|
|
4
|
+
* Copyright (c) 2024 ; License: MIT
|
|
5
|
+
*/
|
|
6
|
+
!function(){"use strict";var i=angular.module("ui.grid.pagination",["ng","ui.grid"]);i.service("uiGridPaginationService",["gridUtil",function(a){var i={initializeGrid:function(e){i.defaultGridOptions(e.options);var o={events:{pagination:{paginationChanged:function(i,a){}}},methods:{pagination:{getPage:function(){return e.options.enablePagination?e.options.paginationCurrentPage:null},getFirstRowIndex:function(){return e.options.useCustomPagination?e.options.paginationPageSizes.reduce(function(i,a,n){return n<e.options.paginationCurrentPage-1?i+a:i},0):(e.options.paginationCurrentPage-1)*e.options.paginationPageSize},getLastRowIndex:function(){return e.options.useCustomPagination?o.methods.pagination.getFirstRowIndex()+e.options.paginationPageSizes[e.options.paginationCurrentPage-1]-1:Math.min(e.options.paginationCurrentPage*e.options.paginationPageSize,e.options.totalItems)-1},getTotalPages:function(){return e.options.enablePagination?e.options.useCustomPagination?e.options.paginationPageSizes.length:0===e.options.totalItems?1:Math.ceil(e.options.totalItems/e.options.paginationPageSize):null},nextPage:function(){e.options.enablePagination&&(0<e.options.totalItems?e.options.paginationCurrentPage=Math.min(e.options.paginationCurrentPage+1,o.methods.pagination.getTotalPages()):e.options.paginationCurrentPage++)},previousPage:function(){e.options.enablePagination&&(e.options.paginationCurrentPage=Math.max(e.options.paginationCurrentPage-1,1))},seek:function(i){if(e.options.enablePagination){if(!angular.isNumber(i)||i<1)throw"Invalid page number: "+i;e.options.paginationCurrentPage=Math.min(i,o.methods.pagination.getTotalPages())}}}}};e.api.registerEventsFromObject(o.events),e.api.registerMethodsFromObject(o.methods);e.registerRowsProcessor(function(i){var a,n,t;return e.options.useExternalPagination||!e.options.enablePagination?i:(a=parseInt(e.options.paginationPageSize,10),parseInt(e.options.paginationCurrentPage,10),i=i.filter(function(i){return i.visible}),e.options.totalItems=i.length,n=o.methods.pagination.getFirstRowIndex(),t=o.methods.pagination.getLastRowIndex(),n>i.length&&(e.options.paginationCurrentPage=1,n=0*a),i.slice(n,t+1))},900)},defaultGridOptions:function(i){i.enablePagination=!1!==i.enablePagination,i.enablePaginationControls=!1!==i.enablePaginationControls,i.useExternalPagination=!0===i.useExternalPagination,i.useCustomPagination=!0===i.useCustomPagination,a.isNullOrUndefined(i.totalItems)&&(i.totalItems=0),a.isNullOrUndefined(i.paginationPageSizes)&&(i.paginationPageSizes=[250,500,1e3]),a.isNullOrUndefined(i.paginationPageSize)&&(0<i.paginationPageSizes.length?i.paginationPageSize=i.paginationPageSizes[0]:i.paginationPageSize=0),a.isNullOrUndefined(i.paginationCurrentPage)&&(i.paginationCurrentPage=1),a.isNullOrUndefined(i.paginationTemplate)&&(i.paginationTemplate="ui-grid/pagination")},onPaginationChanged:function(i,a,n){i.api.pagination.raise.paginationChanged(a,n),i.options.useExternalPagination||i.queueGridRefresh()}};return i}]),i.directive("uiGridPagination",["gridUtil","uiGridPaginationService",function(e,o){return{priority:-200,scope:!1,require:"uiGrid",link:{pre:function(i,a,n,t){o.initializeGrid(t.grid),e.getTemplate(t.grid.options.paginationTemplate).then(function(i){i=angular.element(i);a.append(i),t.innerCompile(i)})}}}}]),i.directive("uiGridPager",["uiGridPaginationService","uiGridConstants","gridUtil","i18nService","i18nConstants",function(p,l,u,d,c){return{priority:-200,scope:!0,require:"^uiGrid",link:function(n,a,i,t){function e(){n.paginationApi=t.grid.api.pagination,n.sizesLabel=d.getSafeText("pagination.sizes"),n.totalItemsLabel=d.getSafeText("pagination.totalItems"),n.paginationOf=d.getSafeText("pagination.of"),n.paginationThrough=d.getSafeText("pagination.through")}n.aria=d.getSafeText("pagination.aria");function o(i){i&&u.focus.bySelector(a,".ui-grid-pager-control-input")}e(),n.$on(c.UPDATE_EVENT,e);var g=t.grid.options,r=(t.grid.renderContainers.body.registerViewportAdjuster(function(i){return g.enablePaginationControls&&(i.height=i.height-u.elementHeight(a,"padding")),i}),t.grid.registerDataChangeCallback(function(i){i.options.useExternalPagination||(i.options.totalItems=i.rows.length)},[l.dataChange.ROW])),s=(n.$on("$destroy",r),n.$watch("grid.options.paginationCurrentPage + grid.options.paginationPageSize",function(i,a){i!==a&&void 0!==a&&(!angular.isNumber(g.paginationCurrentPage)||g.paginationCurrentPage<1?g.paginationCurrentPage=1:0<g.totalItems&&g.paginationCurrentPage>n.paginationApi.getTotalPages()?g.paginationCurrentPage=n.paginationApi.getTotalPages():p.onPaginationChanged(n.grid,g.paginationCurrentPage,g.paginationPageSize))}));n.$on("$destroy",function(){s()}),n.cantPageForward=function(){return n.paginationApi.getTotalPages()?n.cantPageToLast():g.data.length<1},n.cantPageToLast=function(){var i=n.paginationApi.getTotalPages();return!i||g.paginationCurrentPage>=i},n.cantPageBackward=function(){return g.paginationCurrentPage<=1};n.pageFirstPageClick=function(){n.paginationApi.seek(1),o(n.cantPageBackward())},n.pagePreviousPageClick=function(){n.paginationApi.previousPage(),o(n.cantPageBackward())},n.pageNextPageClick=function(){n.paginationApi.nextPage(),o(n.cantPageForward())},n.pageLastPageClick=function(){n.paginationApi.seek(n.paginationApi.getTotalPages()),o(n.cantPageToLast())}}}}])}(),angular.module("ui.grid.pagination").run(["$templateCache",function(i){"use strict";i.put("ui-grid/pagination",'<div class="ui-grid-pager-panel" ui-grid-pager ng-show="grid.options.enablePaginationControls"><div role="navigation" class="ui-grid-pager-container"><div class="ui-grid-pager-control"><button type="button" class="ui-grid-pager-first" ui-grid-one-bind-title="aria.pageToFirst" ui-grid-one-bind-aria-label="aria.pageToFirst" ng-click="pageFirstPageClick()" ng-disabled="cantPageBackward()"><div ng-class="grid.isRTL() ? \'last-triangle\' : \'first-triangle\'"><div ng-class="grid.isRTL() ? \'last-bar-rtl\' : \'first-bar\'"></div></div></button> <button type="button" class="ui-grid-pager-previous" ui-grid-one-bind-title="aria.pageBack" ui-grid-one-bind-aria-label="aria.pageBack" ng-click="pagePreviousPageClick()" ng-disabled="cantPageBackward()"><div ng-class="grid.isRTL() ? \'last-triangle prev-triangle\' : \'first-triangle prev-triangle\'"></div></button> <input type="number" ui-grid-one-bind-title="aria.pageSelected" ui-grid-one-bind-aria-label="aria.pageSelected" class="ui-grid-pager-control-input" ng-model="grid.options.paginationCurrentPage" min="1" max="{{ paginationApi.getTotalPages() }}" step="1" required> <span class="ui-grid-pager-max-pages-number" ng-show="paginationApi.getTotalPages() > 0"><abbr ui-grid-one-bind-title="paginationOf">/ </abbr>{{ paginationApi.getTotalPages() }} </span><button type="button" class="ui-grid-pager-next" ui-grid-one-bind-title="aria.pageForward" ui-grid-one-bind-aria-label="aria.pageForward" ng-click="pageNextPageClick()" ng-disabled="cantPageForward()"><div ng-class="grid.isRTL() ? \'first-triangle next-triangle\' : \'last-triangle next-triangle\'"></div></button> <button type="button" class="ui-grid-pager-last" ui-grid-one-bind-title="aria.pageToLast" ui-grid-one-bind-aria-label="aria.pageToLast" ng-click="pageLastPageClick()" ng-disabled="cantPageToLast()"><div ng-class="grid.isRTL() ? \'first-triangle\' : \'last-triangle\'"><div ng-class="grid.isRTL() ? \'first-bar-rtl\' : \'last-bar\'"></div></div></button></div><div class="ui-grid-pager-row-count-picker" ng-if="grid.options.paginationPageSizes.length > 1 && !grid.options.useCustomPagination"><select ui-grid-one-bind-aria-labelledby-grid="\'items-per-page-label\'" ng-model="grid.options.paginationPageSize" ng-options="o as o for o in grid.options.paginationPageSizes"></select> <span ui-grid-one-bind-id-grid="\'items-per-page-label\'" class="ui-grid-pager-row-count-label"> {{sizesLabel}}</span></div><span ng-if="grid.options.paginationPageSizes.length <= 1" class="ui-grid-pager-row-count-label">{{grid.options.paginationPageSize}} {{sizesLabel}}</span></div><div class="ui-grid-pager-count-container"><div class="ui-grid-pager-count"><span ng-show="grid.options.totalItems > 0">{{ 1 + paginationApi.getFirstRowIndex() }} <abbr ui-grid-one-bind-title="paginationThrough">- </abbr>{{ 1 + paginationApi.getLastRowIndex() }} {{paginationOf}} {{grid.options.totalItems}} {{totalItemsLabel}}</span></div></div></div>')}]);
|