| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249 | 1×
 
1×
1×
1×
168×
 
1×
165×
165×
165×
165×
 
1×
558×
558×
558×
 
558×
 
1×
167×
167×
167×
167×
167×
167×
1477×
 
 
 
 
1477×
153×
 
1477×
 
167×
167×
 
1×
165×
 
1×
135×
 
1×
135×
 
1×
165×
 
 
165×
165×
165×
165×
165×
165×
 
1×
165×
 
 
 
 
 
 
 
165×
 
 
 
 
 
 
 
165×
 
1×
165×
165×
 
 
 
 
 
 
 
 
 
165×
165×
 
1×
165×
165×
 
 
 
 
 
 
 
 
 
165×
165×
 
1×
165×
 
 
 
 
 
 
 
165×
 
 
 
 
 
 
 
165×
 
1×
21×
21×
21×
21×
17×
17×
 
21×
 
1×
558×
558×
558×
558×
558×
3×
 
558×
558×
5×
 
558×
4952×
4952×
955×
955×
955×
955×
693×
 
 
262×
 
 
 
3997×
3997×
 
4952×
 
558×
558×
558×
558×
558×
558×
558×
558×
558×
558×
 
1×
558×
558×
558×
558×
558×
558×
 
 
1×
558×
558×
558×
558×
558×
70×
70×
70×
70×
 
 
488×
488×
488×
488×
 
 
1×
558×
38×
 
 
520×
 
 
1×
558×
558×
558×
500×
 
 
58×
 
 
1×
558×
558×
558×
558×
558×
558×
354×
354×
354×
354×
 
 
204×
204×
204×
204×
 
 
1×
 
1×
 
  | define(["require", "exports", "@syncfusion/ej2-base", "@syncfusion/ej2-base", "@syncfusion/ej2-base"], function (require, exports, ej2_base_1, ej2_base_2, ej2_base_3) {
    "use strict";
    Object.defineProperty(exports, "__esModule", { value: true });
    var NumericContainer = (function () {
        function NumericContainer(pagerModule) {
            this.pagerModule = pagerModule;
        }
        NumericContainer.prototype.render = function () {
            this.pagerElement = this.pagerModule.element;
            this.renderNumericContainer();
            this.refreshNumericLinks();
            this.wireEvents();
        };
        NumericContainer.prototype.refresh = function () {
            this.pagerModule.updateTotalPages();
            Eif (this.links.length) {
                this.updateLinksHtml();
            }
            this.updateStyles();
        };
        NumericContainer.prototype.refreshNumericLinks = function () {
            var link;
            var pagerObj = this.pagerModule;
            var div = pagerObj.element.querySelector('.e-numericcontainer');
            var frag = document.createDocumentFragment();
            div.innerHTML = '';
            for (var i = 1; i <= pagerObj.pageCount; i++) {
                link = ej2_base_3.createElement('a', {
                    className: 'e-link e-numericitem e-spacing e-pager-default',
                    attrs: { role: 'link', tabindex: '-1', 'aria-label': 'Goto Page ' + i,
                        href: 'javascript:void(0);', name: 'Goto page' + i }
                });
                if (pagerObj.currentPage === i) {
                    ej2_base_3.classList(link, ['e-currentitem', 'e-active'], ['e-pager-default']);
                }
                frag.appendChild(link);
            }
            div.appendChild(frag);
            this.links = [].slice.call(div.childNodes);
        };
        NumericContainer.prototype.wireEvents = function () {
            ej2_base_2.EventHandler.add(this.pagerElement, 'click', this.clickHandler, this);
        };
        NumericContainer.prototype.unwireEvents = function () {
            ej2_base_2.EventHandler.remove(this.pagerElement, 'click', this.clickHandler);
        };
        NumericContainer.prototype.destroy = function () {
            this.unwireEvents();
        };
        NumericContainer.prototype.renderNumericContainer = function () {
            this.element = ej2_base_3.createElement('div', {
                className: 'e-pagercontainer', attrs: { 'role': 'navigation' }
            });
            this.renderFirstNPrev(this.element);
            this.renderPrevPagerSet(this.element);
            this.element.appendChild(ej2_base_3.createElement('div', { className: 'e-numericcontainer' }));
            this.renderNextPagerSet(this.element);
            this.renderNextNLast(this.element);
            this.pagerModule.element.appendChild(this.element);
        };
        NumericContainer.prototype.renderFirstNPrev = function (pagerContainer) {
            this.first = ej2_base_3.createElement('div', {
                className: 'e-first e-icons e-icon-first',
                attrs: {
                    title: this.pagerModule.getLocalizedLabel('firstPageTooltip'),
                    'aria-label': this.pagerModule.getLocalizedLabel('firstPageTooltip'),
                    tabindex: '-1'
                }
            });
            this.prev = ej2_base_3.createElement('div', {
                className: 'e-prev e-icons e-icon-prev',
                attrs: {
                    title: this.pagerModule.getLocalizedLabel('previousPageTooltip'),
                    'aria-label': this.pagerModule.getLocalizedLabel('previousPageTooltip'),
                    tabindex: '-1'
                }
            });
            ej2_base_3.append([this.first, this.prev], pagerContainer);
        };
        NumericContainer.prototype.renderPrevPagerSet = function (pagerContainer) {
            var prevPager = ej2_base_3.createElement('div');
            this.PP = ej2_base_3.createElement('a', {
                className: 'e-link e-pp e-spacing', innerHTML: '...',
                attrs: {
                    title: this.pagerModule.getLocalizedLabel('previousPagerTooltip'), role: 'link',
                    'aria-label': this.pagerModule.getLocalizedLabel('previousPagerTooltip'),
                    tabindex: '-1',
                    name: this.pagerModule.getLocalizedLabel('previousPagerTooltip'),
                    href: 'javascript:void(0);'
                }
            });
            prevPager.appendChild(this.PP);
            pagerContainer.appendChild(prevPager);
        };
        NumericContainer.prototype.renderNextPagerSet = function (pagerContainer) {
            var nextPager = ej2_base_3.createElement('div');
            this.NP = ej2_base_3.createElement('a', {
                className: 'e-link e-np e-spacing',
                innerHTML: '...', attrs: {
                    title: this.pagerModule.getLocalizedLabel('nextPagerTooltip'), role: 'link',
                    'aria-label': this.pagerModule.getLocalizedLabel('nextPagerTooltip'),
                    tabindex: '-1',
                    name: this.pagerModule.getLocalizedLabel('nextPagerTooltip'),
                    href: 'javascript:void(0);'
                }
            });
            nextPager.appendChild(this.NP);
            pagerContainer.appendChild(nextPager);
        };
        NumericContainer.prototype.renderNextNLast = function (pagerContainer) {
            this.next = ej2_base_3.createElement('div', {
                className: 'e-next e-icons e-icon-next',
                attrs: {
                    title: this.pagerModule.getLocalizedLabel('nextPageTooltip'),
                    'aria-label': this.pagerModule.getLocalizedLabel('nextPageTooltip'),
                    tabindex: '-1'
                }
            });
            this.last = ej2_base_3.createElement('div', {
                className: 'e-last e-icons e-icon-last',
                attrs: {
                    title: this.pagerModule.getLocalizedLabel('lastPageTooltip'),
                    'aria-label': this.pagerModule.getLocalizedLabel('lastPageTooltip'),
                    tabindex: '-1'
                }
            });
            ej2_base_3.append([this.next, this.last], pagerContainer);
        };
        NumericContainer.prototype.clickHandler = function (e) {
            var pagerObj = this.pagerModule;
            var target = e.target;
            pagerObj.previousPageNo = pagerObj.currentPage;
            if (!target.classList.contains('e-disable') && !ej2_base_1.isNullOrUndefined(target.getAttribute('index'))) {
                pagerObj.currentPage = parseInt(target.getAttribute('index'), 10);
                pagerObj.dataBind();
            }
            return false;
        };
        NumericContainer.prototype.updateLinksHtml = function () {
            var pagerObj = this.pagerModule;
            var currentPageSet;
            var pageNo;
            pagerObj.currentPage = pagerObj.totalPages === 1 ? 1 : pagerObj.currentPage;
            if (pagerObj.currentPage > pagerObj.totalPages && pagerObj.totalPages) {
                pagerObj.currentPage = pagerObj.totalPages;
            }
            currentPageSet = parseInt((pagerObj.currentPage / pagerObj.pageCount).toString(), 10);
            if (pagerObj.currentPage % pagerObj.pageCount === 0 && currentPageSet > 0) {
                currentPageSet = currentPageSet - 1;
            }
            for (var i = 0; i < pagerObj.pageCount; i++) {
                pageNo = (currentPageSet * pagerObj.pageCount) + 1 + i;
                if (pageNo <= pagerObj.totalPages) {
                    this.links[i].style.display = '';
                    this.links[i].setAttribute('index', pageNo.toString());
                    this.links[i].innerHTML = !pagerObj.customText ? pageNo.toString() : pagerObj.customText + pageNo;
                    if (pagerObj.currentPage !== pageNo) {
                        this.links[i].classList.add('e-pager-default');
                    }
                    else {
                        this.links[i].classList.remove('e-pager-default');
                    }
                }
                else {
                    this.links[i].innerHTML = !pagerObj.customText ? pageNo.toString() : pagerObj.customText + pageNo;
                    this.links[i].style.display = 'none';
                }
                ej2_base_3.classList(this.links[i], [], ['e-currentitem', 'e-active']);
            }
            this.first.setAttribute('index', '1');
            this.last.setAttribute('index', pagerObj.totalPages.toString());
            this.prev.setAttribute('index', (pagerObj.currentPage - 1).toString());
            this.next.setAttribute('index', (pagerObj.currentPage + 1).toString());
            this.pagerElement.querySelector('.e-mfirst').setAttribute('index', '1');
            this.pagerElement.querySelector('.e-mlast').setAttribute('index', pagerObj.totalPages.toString());
            this.pagerElement.querySelector('.e-mprev').setAttribute('index', (pagerObj.currentPage - 1).toString());
            this.pagerElement.querySelector('.e-mnext').setAttribute('index', (pagerObj.currentPage + 1).toString());
            this.PP.setAttribute('index', (parseInt(this.links[0].getAttribute('index'), 10) - pagerObj.pageCount).toString());
            this.NP.setAttribute('index', (parseInt(this.links[this.links.length - 1].getAttribute('index'), 10) + 1).toString());
        };
        NumericContainer.prototype.updateStyles = function () {
            this.updateFirstNPrevStyles();
            this.updatePrevPagerSetStyles();
            this.updateNextPagerSetStyles();
            this.updateNextNLastStyles();
            Eif (this.links.length) {
                ej2_base_3.classList(this.links[(this.pagerModule.currentPage - 1) % this.pagerModule.pageCount], ['e-currentitem', 'e-active'], []);
            }
        };
        NumericContainer.prototype.updateFirstNPrevStyles = function () {
            var firstPage = ['e-firstpage', 'e-pager-default'];
            var firstPageDisabled = ['e-firstpagedisabled', 'e-disable'];
            var prevPage = ['e-prevpage', 'e-pager-default'];
            var prevPageDisabled = ['e-prevpagedisabled', 'e-disable'];
            if (this.pagerModule.totalPages > 0 && this.pagerModule.currentPage > 1) {
                ej2_base_3.classList(this.prev, prevPage, prevPageDisabled);
                ej2_base_3.classList(this.first, firstPage, firstPageDisabled);
                ej2_base_3.classList(this.pagerElement.querySelector('.e-mfirst'), firstPage, firstPageDisabled);
                ej2_base_3.classList(this.pagerElement.querySelector('.e-mprev'), prevPage, prevPageDisabled);
            }
            else {
                ej2_base_3.classList(this.prev, prevPageDisabled, prevPage);
                ej2_base_3.classList(this.first, firstPageDisabled, firstPage);
                ej2_base_3.classList(this.pagerElement.querySelector('.e-mprev'), prevPageDisabled, prevPage);
                ej2_base_3.classList(this.pagerElement.querySelector('.e-mfirst'), firstPageDisabled, firstPage);
            }
        };
        NumericContainer.prototype.updatePrevPagerSetStyles = function () {
            if (this.pagerModule.currentPage > this.pagerModule.pageCount) {
                ej2_base_3.classList(this.PP, ['e-numericitem', 'e-pager-default'], ['e-nextprevitemdisabled', 'e-disable']);
            }
            else {
                ej2_base_3.classList(this.PP, ['e-nextprevitemdisabled', 'e-disable'], ['e-numericitem', 'e-pager-default']);
            }
        };
        NumericContainer.prototype.updateNextPagerSetStyles = function () {
            var pagerObj = this.pagerModule;
            var firstPage = this.links[0].innerHTML.replace(pagerObj.customText, '');
            if (!firstPage.length || !this.links.length || (parseInt(firstPage, 10) + pagerObj.pageCount > pagerObj.totalPages)) {
                ej2_base_3.classList(this.NP, ['e-nextprevitemdisabled', 'e-disable'], ['e-numericitem', 'e-pager-default']);
            }
            else {
                ej2_base_3.classList(this.NP, ['e-numericitem', 'e-pager-default'], ['e-nextprevitemdisabled', 'e-disable']);
            }
        };
        NumericContainer.prototype.updateNextNLastStyles = function () {
            var lastPage = ['e-lastpage', 'e-pager-default'];
            var lastPageDisabled = ['e-lastpagedisabled', 'e-disable'];
            var nextPage = ['e-nextpage', 'e-pager-default'];
            var nextPageDisabled = ['e-nextpagedisabled', 'e-disable'];
            var pagerObj = this.pagerModule;
            if (pagerObj.currentPage === pagerObj.totalPages || pagerObj.totalRecordsCount === 0) {
                ej2_base_3.classList(this.last, lastPageDisabled, lastPage);
                ej2_base_3.classList(this.next, nextPageDisabled, nextPage);
                ej2_base_3.classList(this.pagerElement.querySelector('.e-mlast'), lastPageDisabled, lastPage);
                ej2_base_3.classList(this.pagerElement.querySelector('.e-mnext'), nextPageDisabled, nextPage);
            }
            else {
                ej2_base_3.classList(this.last, lastPage, lastPageDisabled);
                ej2_base_3.classList(this.next, nextPage, nextPageDisabled);
                ej2_base_3.classList(this.pagerElement.querySelector('.e-mlast'), lastPage, lastPageDisabled);
                ej2_base_3.classList(this.pagerElement.querySelector('.e-mnext'), nextPage, nextPageDisabled);
            }
        };
        return NumericContainer;
    }());
    exports.NumericContainer = NumericContainer;
});
  |