@nativescript-community/ui-pager 14.1.34 → 14.1.39

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/CHANGELOG.md ADDED
@@ -0,0 +1,352 @@
1
+ # Change Log
2
+
3
+ All notable changes to this project will be documented in this file.
4
+ See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
+
6
+ ## [14.1.39](https://github.com/nativescript-community/ui-pager/compare/v14.1.34...v14.1.39) (2026-03-31)
7
+
8
+ **Note:** Version bump only for package @nativescript-community/ui-pager
9
+
10
+ ## [14.1.34](https://github.com/nativescript-community/ui-pager/compare/v14.1.33...v14.1.34) (2025-09-12)
11
+
12
+ **Note:** Version bump only for package @nativescript-community/ui-pager
13
+
14
+ ## [14.1.33](https://github.com/nativescript-community/ui-pager/compare/v14.1.32...v14.1.33) (2025-01-23)
15
+
16
+ **Note:** Version bump only for package @nativescript-community/ui-pager
17
+
18
+ ## [14.1.32](https://github.com/nativescript-community/ui-pager/compare/v14.1.31...v14.1.32) (2024-12-17)
19
+
20
+ **Note:** Version bump only for package @nativescript-community/ui-pager
21
+
22
+ ## [14.1.31](https://github.com/nativescript-community/ui-pager/compare/v14.1.30...v14.1.31) (2024-12-16)
23
+
24
+ **Note:** Version bump only for package @nativescript-community/ui-pager
25
+
26
+ ## [14.1.30](https://github.com/nativescript-community/ui-pager/compare/v14.1.29...v14.1.30) (2024-12-14)
27
+
28
+ **Note:** Version bump only for package @nativescript-community/ui-pager
29
+
30
+ ## [14.1.29](https://github.com/nativescript-community/ui-pager/compare/v14.1.28...v14.1.29) (2024-12-10)
31
+
32
+ **Note:** Version bump only for package @nativescript-community/ui-pager
33
+
34
+ ## [14.1.28](https://github.com/nativescript-community/ui-pager/compare/v14.1.27...v14.1.28) (2024-11-07)
35
+
36
+ **Note:** Version bump only for package @nativescript-community/ui-pager
37
+
38
+ ## [14.1.27](https://github.com/nativescript-community/ui-pager/compare/v14.1.26...v14.1.27) (2024-10-08)
39
+
40
+ **Note:** Version bump only for package @nativescript-community/ui-pager
41
+
42
+ ## [14.1.26](https://github.com/nativescript-community/ui-pager/compare/v14.1.25...v14.1.26) (2024-10-06)
43
+
44
+ **Note:** Version bump only for package @nativescript-community/ui-pager
45
+
46
+ ## [14.1.25](https://github.com/nativescript-community/ui-pager/compare/v14.1.24...v14.1.25) (2024-05-31)
47
+
48
+ **Note:** Version bump only for package @nativescript-community/ui-pager
49
+
50
+ ## [14.1.24](https://github.com/nativescript-community/ui-pager/compare/v14.1.23...v14.1.24) (2024-05-14)
51
+
52
+ **Note:** Version bump only for package @nativescript-community/ui-pager
53
+
54
+ ## [14.1.23](https://github.com/nativescript-community/ui-pager/compare/v14.1.22...v14.1.23) (2024-04-17)
55
+
56
+ **Note:** Version bump only for package @nativescript-community/ui-pager
57
+
58
+ ## [14.1.22](https://github.com/nativescript-community/ui-pager/compare/v14.1.21...v14.1.22) (2024-03-22)
59
+
60
+ **Note:** Version bump only for package @nativescript-community/ui-pager
61
+
62
+ ## [14.1.21](https://github.com/nativescript-community/ui-pager/compare/v14.1.20...v14.1.21) (2024-03-22)
63
+
64
+ **Note:** Version bump only for package @nativescript-community/ui-pager
65
+
66
+ ## [14.1.20](https://github.com/nativescript-community/ui-pager/compare/v14.1.19...v14.1.20) (2024-03-01)
67
+
68
+ **Note:** Version bump only for package @nativescript-community/ui-pager
69
+
70
+ ## [14.1.19](https://github.com/nativescript-community/ui-pager/compare/v14.1.18...v14.1.19) (2024-02-15)
71
+
72
+ **Note:** Version bump only for package @nativescript-community/ui-pager
73
+
74
+ ## [14.1.18](https://github.com/nativescript-community/ui-pager/compare/v14.1.17...v14.1.18) (2024-02-09)
75
+
76
+ **Note:** Version bump only for package @nativescript-community/ui-pager
77
+
78
+ ## [14.1.17](https://github.com/nativescript-community/ui-pager/compare/v14.1.16...v14.1.17) (2024-02-09)
79
+
80
+ **Note:** Version bump only for package @nativescript-community/ui-pager
81
+
82
+ ## [14.1.16](https://github.com/nativescript-community/ui-pager/compare/v14.1.15...v14.1.16) (2023-12-14)
83
+
84
+ **Note:** Version bump only for package @nativescript-community/ui-pager
85
+
86
+ ## [14.1.15](https://github.com/nativescript-community/ui-pager/compare/v14.1.14...v14.1.15) (2023-12-14)
87
+
88
+ **Note:** Version bump only for package @nativescript-community/ui-pager
89
+
90
+ ## [14.1.14](https://github.com/nativescript-community/ui-pager/compare/v14.1.13...v14.1.14) (2023-12-12)
91
+
92
+ **Note:** Version bump only for package @nativescript-community/ui-pager
93
+
94
+ ## [14.1.13](https://github.com/nativescript-community/ui-pager/compare/v14.1.12...v14.1.13) (2023-12-11)
95
+
96
+ **Note:** Version bump only for package @nativescript-community/ui-pager
97
+
98
+ ## [14.1.12](https://github.com/nativescript-community/ui-pager/compare/v14.1.11...v14.1.12) (2023-12-10)
99
+
100
+ ### Bug Fixes
101
+
102
+ * **android:** peaking and spacing can work together with improved performances ([f8fa9e4](https://github.com/nativescript-community/ui-pager/commit/f8fa9e43e314f85f3066cbb91a632bfdd0f0f376))
103
+
104
+ ## [14.1.11](https://github.com/nativescript-community/ui-pager/compare/v14.1.10...v14.1.11) (2023-12-08)
105
+
106
+ **Note:** Version bump only for package @nativescript-community/ui-pager
107
+
108
+ ## [14.1.10](https://github.com/nativescript-community/ui-pager/compare/v14.1.9...v14.1.10) (2023-12-08)
109
+
110
+ **Note:** Version bump only for package @nativescript-community/ui-pager
111
+
112
+ ## [14.1.9](https://github.com/nativescript-community/ui-pager/compare/v14.1.8...v14.1.9) (2023-11-17)
113
+
114
+ **Note:** Version bump only for package @nativescript-community/ui-pager
115
+
116
+ ## [14.1.8](https://github.com/nativescript-community/ui-pager/compare/v14.1.7...v14.1.8) (2023-09-18)
117
+
118
+ **Note:** Version bump only for package @nativescript-community/ui-pager
119
+
120
+ ## [14.1.7](https://github.com/nativescript-community/ui-pager/compare/v14.1.6...v14.1.7) (2023-09-18)
121
+
122
+ **Note:** Version bump only for package @nativescript-community/ui-pager
123
+
124
+ ## [14.1.6](https://github.com/nativescript-community/ui-pager/compare/v14.1.5...v14.1.6) (2023-05-11)
125
+
126
+ **Note:** Version bump only for package @nativescript-community/ui-pager
127
+
128
+ ## [14.1.5](https://github.com/nativescript-community/ui-pager/compare/v14.1.4...v14.1.5) (2023-05-10)
129
+
130
+ ### Bug Fixes
131
+
132
+ * **android:** prevent views from disappearing when using peaking ([54519ca](https://github.com/nativescript-community/ui-pager/commit/54519ca5c72ea67b1101dcee9f64fedb9556096d))
133
+
134
+ ## [14.1.4](https://github.com/nativescript-community/ui-pager/compare/v14.1.3...v14.1.4) (2023-05-09)
135
+
136
+ **Note:** Version bump only for package @nativescript-community/ui-pager
137
+
138
+ ## [14.1.3](https://github.com/nativescript-community/ui-pager/compare/v14.1.2...v14.1.3) (2023-04-06)
139
+
140
+ **Note:** Version bump only for package @nativescript-community/ui-pager
141
+
142
+ ## [14.1.2](https://github.com/nativescript-community/ui-pager/compare/v14.1.1...v14.1.2) (2023-03-21)
143
+
144
+ **Note:** Version bump only for package @nativescript-community/ui-pager
145
+
146
+ ## [14.1.1](https://github.com/nativescript-community/ui-pager/compare/v14.1.0...v14.1.1) (2023-01-28)
147
+
148
+ **Note:** Version bump only for package @nativescript-community/ui-pager
149
+
150
+ # [14.1.0](https://github.com/nativescript-community/ui-pager/compare/v14.0.3...v14.1.0) (2023-01-23)
151
+
152
+ ### Features
153
+
154
+ * allow to register custom transformers ([5eed813](https://github.com/nativescript-community/ui-pager/commit/5eed813b11f07b689582a6ae63f1c6520c2b8916))
155
+
156
+ ## [14.0.3](https://github.com/nativescript-community/ui-pager/compare/v14.0.2...v14.0.3) (2023-01-23)
157
+
158
+ **Note:** Version bump only for package @nativescript-community/ui-pager
159
+
160
+ ## [14.0.2](https://github.com/nativescript-community/ui-pager/compare/v14.0.0...v14.0.2) (2023-01-23)
161
+
162
+ **Note:** Version bump only for package @nativescript-community/ui-pager
163
+
164
+ # [14.0.0](https://github.com/nativescript-community/ui-pager/compare/v13.0.44...v14.0.0) (2023-01-23)
165
+
166
+ ### Features
167
+
168
+ * moved indicator into it's own package ([631859d](https://github.com/nativescript-community/ui-pager/commit/631859d077d4afcc52e4ac06a3ab1f326e64f593))
169
+
170
+ ### BREAKING CHANGES
171
+
172
+ * You now create a `PagerIndicator`(from `@nativescript-community/ui-pager-indicator) and set `pagerViewId` on it to the id of your Pager.
173
+
174
+ ## [13.0.44](https://github.com/nativescript-community/ui-pager/compare/v13.0.43...v13.0.44) (2022-12-01)
175
+
176
+ **Note:** Version bump only for package @nativescript-community/ui-pager
177
+
178
+ ## [13.0.43](https://github.com/nativescript-community/ui-pager/compare/v13.0.42...v13.0.43) (2022-08-31)
179
+
180
+ **Note:** Version bump only for package @nativescript-community/ui-pager
181
+
182
+ ## [13.0.42](https://github.com/nativescript-community/ui-pager/compare/v13.0.40...v13.0.42) (2022-07-28)
183
+
184
+ **Note:** Version bump only for package @nativescript-community/ui-pager
185
+
186
+ ## [13.0.41](https://github.com/nativescript-community/ui-pager/compare/v13.0.40...v13.0.41) (2022-07-28)
187
+
188
+ **Note:** Version bump only for package @nativescript-community/ui-pager
189
+
190
+ ## [13.0.40](https://github.com/nativescript-community/ui-pager/compare/v13.0.39...v13.0.40) (2022-07-17)
191
+
192
+ **Note:** Version bump only for package @nativescript-community/ui-pager
193
+
194
+ ## [13.0.39](https://github.com/nativescript-community/ui-pager/compare/v13.0.38...v13.0.39) (2022-07-15)
195
+
196
+ **Note:** Version bump only for package @nativescript-community/ui-pager
197
+
198
+ ## [13.0.38](https://github.com/nativescript-community/ui-pager/compare/v13.0.37...v13.0.38) (2022-07-15)
199
+
200
+ **Note:** Version bump only for package @nativescript-community/ui-pager
201
+
202
+ ## [13.0.37](https://github.com/nativescript-community/ui-pager/compare/v13.0.36...v13.0.37) (2022-05-17)
203
+
204
+ **Note:** Version bump only for package @nativescript-community/ui-pager
205
+
206
+ ## [13.0.36](https://github.com/nativescript-community/ui-pager/compare/v13.0.35...v13.0.36) (2022-05-17)
207
+
208
+ **Note:** Version bump only for package @nativescript-community/ui-pager
209
+
210
+ ## [13.0.35](https://github.com/nativescript-community/ui-pager/compare/v13.0.34...v13.0.35) (2022-03-15)
211
+
212
+ **Note:** Version bump only for package @nativescript-community/ui-pager
213
+
214
+ ## [13.0.34](https://github.com/nativescript-community/ui-pager/compare/v13.0.33...v13.0.34) (2022-01-19)
215
+
216
+ **Note:** Version bump only for package @nativescript-community/ui-pager
217
+
218
+ ## [13.0.33](https://github.com/nativescript-community/ui-pager/compare/v13.0.32...v13.0.33) (2021-11-17)
219
+
220
+ **Note:** Version bump only for package @nativescript-community/ui-pager
221
+
222
+ ## [13.0.32](https://github.com/nativescript-community/ui-pager/compare/v13.0.31...v13.0.32) (2021-11-15)
223
+
224
+ ### Bug Fixes
225
+
226
+ * missing platforms directory ([44bff68](https://github.com/nativescript-community/ui-pager/commit/44bff68074855d14032201fe9198e1519ab22ca0))
227
+
228
+ ## [13.0.31](https://github.com/nativescript-community/ui-pager/compare/v13.0.30...v13.0.31) (2021-10-22)
229
+
230
+ **Note:** Version bump only for package @nativescript-community/ui-pager
231
+
232
+ ## [13.0.30](https://github.com/nativescript-community/ui-pager/compare/v13.0.29...v13.0.30) (2021-09-29)
233
+
234
+ **Note:** Version bump only for package @nativescript-community/ui-pager
235
+
236
+ ## [13.0.29](https://github.com/nativescript-community/ui-pager/compare/v13.0.28...v13.0.29) (2021-09-17)
237
+
238
+ ### Bug Fixes
239
+
240
+ * **android:** allow to change appcompat version ([8925202](https://github.com/nativescript-community/ui-pager/commit/8925202f1787054e1791f7ebfdf82b6f8d078746))
241
+
242
+ ## [13.0.28](https://github.com/nativescript-community/ui-pager/compare/v13.0.27...v13.0.28) (2021-09-17)
243
+
244
+ **Note:** Version bump only for package @nativescript-community/ui-pager
245
+
246
+ ## [13.0.27](https://github.com/nativescript-community/ui-pager/compare/v13.0.26...v13.0.27) (2021-08-19)
247
+
248
+ **Note:** Version bump only for package @nativescript-community/ui-pager
249
+
250
+ ## [13.0.26](https://github.com/nativescript-community/ui-pager/compare/v13.0.25...v13.0.26) (2021-08-08)
251
+
252
+ **Note:** Version bump only for package @nativescript-community/ui-pager
253
+
254
+ ## [13.0.25](https://github.com/nativescript-community/ui-pager/compare/v13.0.24...v13.0.25) (2021-08-05)
255
+
256
+ **Note:** Version bump only for package @nativescript-community/ui-pager
257
+
258
+ ## [13.0.24](https://github.com/nativescript-community/ui-pager/compare/v13.0.23...v13.0.24) (2021-08-04)
259
+
260
+ **Note:** Version bump only for package @nativescript-community/ui-pager
261
+
262
+ ## [13.0.23](https://github.com/nativescript-community/ui-pager/compare/v13.0.22...v13.0.23) (2021-07-26)
263
+
264
+ **Note:** Version bump only for package @nativescript-community/ui-pager
265
+
266
+ ## [13.0.22](https://github.com/nativescript-community/ui-pager/compare/v13.0.21...v13.0.22) (2021-07-26)
267
+
268
+ **Note:** Version bump only for package @nativescript-community/ui-pager
269
+
270
+ ## [13.0.21](https://github.com/nativescript-community/ui-pager/compare/v13.0.20...v13.0.21) (2021-05-07)
271
+
272
+ **Note:** Version bump only for package @nativescript-community/ui-pager
273
+
274
+ ## [13.0.20](https://github.com/nativescript-community/ui-pager/compare/v13.0.19...v13.0.20) (2021-05-06)
275
+
276
+ **Note:** Version bump only for package @nativescript-community/ui-pager
277
+
278
+ ## [13.0.19](https://github.com/nativescript-community/ui-pager/compare/v13.0.18...v13.0.19) (2021-04-08)
279
+
280
+ **Note:** Version bump only for package @nativescript-community/ui-pager
281
+
282
+ ## [13.0.18](https://github.com/nativescript-community/ui-pager/compare/v13.0.17...v13.0.18) (2021-03-31)
283
+
284
+ **Note:** Version bump only for package @nativescript-community/ui-pager
285
+
286
+ ## [13.0.17](https://github.com/nativescript-community/ui-pager/compare/v13.0.16...v13.0.17) (2021-03-25)
287
+
288
+ **Note:** Version bump only for package @nativescript-community/ui-pager
289
+
290
+ ## [13.0.16](https://github.com/nativescript-community/ui-pager/compare/v13.0.15...v13.0.16) (2021-03-19)
291
+
292
+ **Note:** Version bump only for package @nativescript-community/ui-pager
293
+
294
+ ## [13.0.15](https://github.com/nativescript-community/ui-pager/compare/v13.0.14...v13.0.15) (2021-03-18)
295
+
296
+ **Note:** Version bump only for package @nativescript-community/ui-pager
297
+
298
+ ## [13.0.14](https://github.com/nativescript-community/ui-pager/compare/v13.0.13...v13.0.14) (2021-03-16)
299
+
300
+ **Note:** Version bump only for package @nativescript-community/ui-pager
301
+
302
+ ## [13.0.13](https://github.com/nativescript-community/ui-pager/compare/v13.0.12...v13.0.13) (2021-03-12)
303
+
304
+ **Note:** Version bump only for package @nativescript-community/ui-pager
305
+
306
+ ## [13.0.12](https://github.com/nativescript-community/ui-pager/compare/v13.0.11...v13.0.12) (2021-03-08)
307
+
308
+ **Note:** Version bump only for package @nativescript-community/ui-pager
309
+
310
+ ## [13.0.11](https://github.com/nativescript-community/ui-pager/compare/v13.0.10...v13.0.11) (2021-02-16)
311
+
312
+ **Note:** Version bump only for package @nativescript-community/ui-pager
313
+
314
+ ## [13.0.10](https://github.com/nativescript-community/ui-pager/compare/v13.0.9...v13.0.10) (2021-02-10)
315
+
316
+ **Note:** Version bump only for package @nativescript-community/ui-pager
317
+
318
+ ## [13.0.9](https://github.com/nativescript-community/ui-pager/compare/v13.0.8...v13.0.9) (2021-02-10)
319
+
320
+ **Note:** Version bump only for package @nativescript-community/ui-pager
321
+
322
+ ## [13.0.8](https://github.com/nativescript-community/ui-pager/compare/v13.0.7...v13.0.8) (2021-02-09)
323
+
324
+ **Note:** Version bump only for package @nativescript-community/ui-pager
325
+
326
+ ## [13.0.7](https://github.com/nativescript-community/ui-pager/compare/v13.0.6...v13.0.7) (2021-02-08)
327
+
328
+ **Note:** Version bump only for package @nativescript-community/ui-pager
329
+
330
+ ## [13.0.6](https://github.com/nativescript-community/ui-pager/compare/v13.0.5...v13.0.6) (2021-01-23)
331
+
332
+ **Note:** Version bump only for package @nativescript-community/ui-pager
333
+
334
+ ## [13.0.5](https://github.com/nativescript-community/ui-pager/compare/v13.0.4...v13.0.5) (2021-01-22)
335
+
336
+ **Note:** Version bump only for package @nativescript-community/ui-pager
337
+
338
+ ## [13.0.4](https://github.com/nativescript-community/ui-pager/compare/v13.0.3...v13.0.4) (2021-01-21)
339
+
340
+ **Note:** Version bump only for package @nativescript-community/ui-pager
341
+
342
+ ## [13.0.3](https://github.com/nativescript-community/ui-pager/compare/v13.0.2...v13.0.3) (2020-12-07)
343
+
344
+ **Note:** Version bump only for package @nativescript-community/ui-pager
345
+
346
+ ## [13.0.2](https://github.com/nativescript-community/ui-pager/compare/v13.0.1...v13.0.2) (2020-11-29)
347
+
348
+ **Note:** Version bump only for package @nativescript-community/ui-pager
349
+
350
+ ## [13.0.1](https://github.com/nativescript-community/ui-pager/compare/v11.0.11...v13.0.1) (2020-11-27)
351
+
352
+ **Note:** Version bump only for package @nativescript-community/ui-pager
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { EventEmitter, TemplateRef, ViewContainerRef, Component, ViewChild, Output, ContentChild, Input, InjectionToken, Directive, Inject, Host, forwardRef, ChangeDetectionStrategy, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
2
+ import { EventEmitter, ViewContainerRef, TemplateRef, Component, Input, ContentChild, Output, ViewChild, InjectionToken, Directive, Inject, Host, forwardRef, NO_ERRORS_SCHEMA, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
3
  import { Pager, PagerItem, PagerLog, PagerError } from '@nativescript-community/ui-pager';
4
4
  import { registerElement, isListLikeIterable, extractSingleViewRecursive, isInvisibleNode } from '@nativescript/angular';
5
5
  import { isIOS, Trace, LayoutBase } from '@nativescript/core';
@@ -363,10 +363,11 @@ class PagerComponent extends TemplatedItemsComponent {
363
363
  provide: TEMPLATED_ITEMS_COMPONENT,
364
364
  useExisting: forwardRef(() => PagerComponent)
365
365
  }
366
- ]
366
+ ],
367
+ schemas: [NO_ERRORS_SCHEMA]
367
368
  }]
368
369
  }], () => [{ type: i0.ElementRef }, { type: i0.IterableDiffers }], null); })();
369
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PagerComponent, { className: "PagerComponent", filePath: "index.ts", lineNumber: 21 }); })();
370
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PagerComponent, { className: "PagerComponent", filePath: "index.ts", lineNumber: 22 }); })();
370
371
  class PagerModule {
371
372
  static ɵfac = function PagerModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PagerModule)(); };
372
373
  static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: PagerModule });
@@ -375,12 +376,12 @@ class PagerModule {
375
376
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerModule, [{
376
377
  type: NgModule,
377
378
  args: [{
378
- declarations: [PagerComponent, TemplateKeyDirective, PagerItemDirective],
379
+ imports: [PagerComponent, TemplateKeyDirective, PagerItemDirective],
379
380
  exports: [PagerComponent, TemplateKeyDirective, PagerItemDirective],
380
381
  schemas: [NO_ERRORS_SCHEMA]
381
382
  }]
382
383
  }], null, null); })();
383
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(PagerModule, { declarations: [PagerComponent, TemplateKeyDirective, PagerItemDirective], exports: [PagerComponent, TemplateKeyDirective, PagerItemDirective] }); })();
384
+ (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(PagerModule, { imports: [PagerComponent, TemplateKeyDirective, PagerItemDirective], exports: [PagerComponent, TemplateKeyDirective, PagerItemDirective] }); })();
384
385
 
385
386
  /**
386
387
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"nativescript-community-ui-pager-angular.mjs","sources":["../../../../src/ui-pager/angular/pager-items-comp.ts","../../../../src/ui-pager/angular/index.ts","../../../../src/ui-pager/angular/nativescript-community-ui-pager-angular.ts"],"sourcesContent":["import {\n AfterContentInit,\n Component,\n ContentChild,\n Directive,\n DoCheck,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n Host,\n Inject,\n InjectionToken,\n Input,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { Pager, PagerError, PagerItem, PagerLog } from '@nativescript-community/ui-pager';\nimport { extractSingleViewRecursive, isInvisibleNode, isListLikeIterable, registerElement } from '@nativescript/angular';\nimport { EventData, KeyedTemplate, LayoutBase, Template, Trace, View, isIOS } from '@nativescript/core';\nimport { ObservableArray } from '@nativescript/core/data/observable-array';\nimport { profile } from '@nativescript/core/profiling';\nimport { ItemEventData, ItemsSource } from '@nativescript/core/ui/list-view';\n\nregisterElement('Pager', () => Pager);\nregisterElement('PagerItem', () => PagerItem);\n\nconst NG_VIEW = '_ngViewRef';\n\nexport interface PagerTemplatedItemsView {\n items: any[] | ItemsSource;\n itemTemplate: string | Template;\n itemTemplates?: string | KeyedTemplate[];\n\n refresh(): void;\n\n on(event: 'itemDisposing' | 'itemLoading', callback: (args: ItemEventData) => void, thisArg?: any);\n\n off(event: 'itemLoading' | 'itemDisposing', callback: (args: EventData) => void, thisArg?: any);\n}\n\nexport class ItemContext {\n constructor(public $implicit?: any, public item?: any, public index?: number, public even?: boolean, public odd?: boolean) {}\n}\n\nexport interface SetupItemViewArgs {\n view: EmbeddedViewRef<any>;\n data: any;\n index: number;\n context: ItemContext;\n}\n@Component({\n template: ''\n})\nexport abstract class TemplatedItemsComponent implements DoCheck, OnDestroy, AfterContentInit {\n public abstract get nativeElement(): Pager;\n\n protected templatedItemsView: Pager;\n protected _items: any;\n protected _differ: IterableDiffer<KeyedTemplate>;\n protected _templateMap: Map<string, KeyedTemplate>;\n private _selectedIndex: number;\n @ViewChild('loader', { read: ViewContainerRef, static: false }) loader: ViewContainerRef;\n\n @Output()\n public setupItemView = new EventEmitter<SetupItemViewArgs>();\n\n @ContentChild(TemplateRef, { static: false }) itemTemplateQuery: TemplateRef<ItemContext>;\n\n itemTemplate: TemplateRef<ItemContext>;\n\n @Input()\n get items() {\n return this._items;\n }\n\n set items(value: any) {\n this._items = value;\n let needDiffer = true;\n if (value instanceof ObservableArray) {\n needDiffer = false;\n }\n if (needDiffer && !this._differ && isListLikeIterable(value)) {\n this._differ = this._iterableDiffers.find(this._items).create((_index, item) => item);\n }\n\n this.templatedItemsView.items = this._items;\n }\n\n @Input()\n get selectedIndex(): number {\n return this._selectedIndex;\n }\n\n set selectedIndex(value) {\n this._selectedIndex = value;\n this.templatedItemsView.selectedIndex = this._selectedIndex;\n }\n\n ngAfterViewInit() {\n if (!!this._selectedIndex) {\n setTimeout(() => {\n if (isIOS) {\n this.templatedItemsView.scrollToIndexAnimated(this._selectedIndex, false);\n }\n this.templatedItemsView.selectedIndex = this._selectedIndex;\n });\n }\n }\n\n constructor(_elementRef: ElementRef, private _iterableDiffers: IterableDiffers) {\n this.templatedItemsView = _elementRef.nativeElement;\n\n this.templatedItemsView.on('itemLoading', this.onItemLoading, this);\n this.templatedItemsView.on('itemDisposing', this.onItemDisposing, this);\n }\n\n ngAfterContentInit() {\n if (Trace.isEnabled()) {\n PagerLog('TemplatedItemsView.ngAfterContentInit()');\n }\n this.setItemTemplates();\n }\n\n ngOnDestroy() {\n this.templatedItemsView.off('itemLoading', this.onItemLoading, this);\n this.templatedItemsView.off('itemDisposing', this.onItemDisposing, this);\n }\n\n private setItemTemplates() {\n if (!this.items) return;\n // The itemTemplateQuery may be changed after list items are added that contain <template> inside,\n // so cache and use only the original template to avoid errors.\n this.itemTemplate = this.itemTemplateQuery;\n\n if (this._templateMap) {\n if (Trace.isEnabled()) {\n PagerLog('Setting templates');\n }\n\n const templates: KeyedTemplate[] = [];\n this._templateMap.forEach((value) => {\n templates.push(value);\n });\n this.templatedItemsView.itemTemplates = templates;\n }\n }\n\n public registerTemplate(key: string, template: TemplateRef<ItemContext>) {\n if (Trace.isEnabled()) {\n PagerLog(`registerTemplate for key: ${key}`);\n }\n\n if (!this._templateMap) {\n this._templateMap = new Map<string, KeyedTemplate>();\n }\n\n const keyedTemplate = {\n key,\n createView: this.getItemTemplateViewFactory(template)\n };\n\n this._templateMap.set(key, keyedTemplate);\n }\n\n @profile\n public onItemLoading(args: ItemEventData) {\n if (!args.view && !this.itemTemplate) {\n return;\n }\n\n if (!this.items) return;\n\n const index = args.index;\n const items = (args.object as any).items;\n const currentItem = typeof items.getItem === 'function' ? items.getItem(index) : items[index];\n let viewRef: EmbeddedViewRef<ItemContext>;\n\n if (args.view) {\n if (Trace.isEnabled()) {\n PagerLog(`onItemLoading: ${index} - Reusing existing view`);\n }\n\n viewRef = args.view[NG_VIEW];\n // Getting angular view from original element (in cases when ProxyViewContainer\n // is used NativeScript internally wraps it in a StackLayout)\n if (!viewRef && args.view instanceof LayoutBase && args.view.getChildrenCount() > 0) {\n viewRef = args.view.getChildAt(0)[NG_VIEW];\n }\n\n if (!viewRef && Trace.isEnabled()) {\n PagerError(`ViewReference not found for item ${index}. View recycling is not working`);\n }\n }\n\n if (!viewRef) {\n if (Trace.isEnabled()) {\n PagerLog(`onItemLoading: ${index} - Creating view from template`);\n }\n\n viewRef = this.loader.createEmbeddedView(this.itemTemplate, new ItemContext(), 0);\n args.view = getItemViewRoot(viewRef);\n args.view[NG_VIEW] = viewRef;\n }\n\n this.setupViewRef(viewRef, currentItem, index);\n\n this.detectChangesOnChild(viewRef, index);\n }\n\n @profile\n public onItemDisposing(args: ItemEventData) {\n if (!args.view) {\n return;\n }\n let viewRef: EmbeddedViewRef<ItemContext>;\n\n if (args.view) {\n if (Trace.isEnabled()) {\n PagerLog(`onItemDisposing: ${args.index} - Removing angular view`);\n }\n\n viewRef = args.view[NG_VIEW];\n // Getting angular view from original element (in cases when ProxyViewContainer\n // is used NativeScript internally wraps it in a StackLayout)\n if (!viewRef && args.view instanceof LayoutBase && args.view.getChildrenCount() > 0) {\n viewRef = args.view.getChildAt(0)[NG_VIEW];\n }\n\n if (!viewRef && Trace.isEnabled()) {\n PagerError(`ViewReference not found for item ${args.index}. View disposing is not working`);\n }\n }\n\n if (viewRef) {\n if (Trace.isEnabled()) {\n PagerLog(`onItemDisposing: ${args.index} - Disposing view reference`);\n }\n\n viewRef.destroy();\n }\n }\n\n public setupViewRef(viewRef: EmbeddedViewRef<ItemContext>, data: any, index: number): void {\n const context = viewRef.context;\n context.$implicit = data;\n context.item = data;\n context.index = index;\n context.even = index % 2 === 0;\n context.odd = !context.even;\n\n this.setupItemView.next({\n view: viewRef,\n data,\n index,\n context\n });\n }\n\n protected getItemTemplateViewFactory(template: TemplateRef<ItemContext>): () => View {\n return () => {\n const viewRef = this.loader.createEmbeddedView(template, new ItemContext(), 0);\n const resultView = getItemViewRoot(viewRef);\n resultView[NG_VIEW] = viewRef;\n\n return resultView;\n };\n }\n\n @profile\n private detectChangesOnChild(viewRef: EmbeddedViewRef<ItemContext>, index: number) {\n if (Trace.isEnabled()) {\n PagerLog(`Manually detect changes in child: ${index}`);\n }\n\n viewRef.markForCheck();\n viewRef.detectChanges();\n }\n\n ngDoCheck() {\n if (this._differ) {\n if (Trace.isEnabled()) {\n PagerLog('ngDoCheck() - execute differ');\n }\n\n const changes = this._differ.diff(this._items);\n if (changes) {\n if (Trace.isEnabled()) {\n PagerLog('ngDoCheck() - refresh');\n }\n\n this.templatedItemsView.refresh();\n }\n }\n }\n}\n\nexport interface ComponentView {\n rootNodes: any[];\n\n destroy(): void;\n}\n\nexport type RootLocator = (nodes: any[], nestLevel: number) => View;\n\nexport function getItemViewRoot(viewRef: ComponentView, rootLocator: RootLocator = extractSingleViewRecursive as any): View {\n return rootLocator(viewRef.rootNodes, 0);\n}\n\nexport const TEMPLATED_ITEMS_COMPONENT = new InjectionToken<TemplatedItemsComponent>('TemplatedItemsComponent');\n\n@Directive({\n selector: '[pagerItem]'\n})\nexport class PagerItemDirective implements OnInit {\n private item: PagerItem;\n\n constructor(\n private templateRef: TemplateRef<any>,\n @Inject(TEMPLATED_ITEMS_COMPONENT)\n @Host()\n private owner: TemplatedItemsComponent,\n private viewContainer: ViewContainerRef\n ) {}\n\n private ensureItem() {\n if (!this.item) {\n this.item = new PagerItem();\n }\n }\n\n private applyConfig() {\n this.ensureItem();\n }\n\n ngOnInit() {\n this.applyConfig();\n\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\n // Filter out text nodes and comments\n const realViews = viewRef.rootNodes.filter((node) => !isInvisibleNode(node));\n\n if (realViews.length > 0) {\n const view = realViews[0];\n this.item.addChild(view);\n this.owner.nativeElement._addChildFromBuilder('PagerItem', this.item);\n }\n }\n}\n\n@Directive({ selector: '[pagerTemplateKey]' })\nexport class TemplateKeyDirective {\n constructor(\n private templateRef: TemplateRef<any>,\n @Inject(TEMPLATED_ITEMS_COMPONENT)\n @Host()\n private comp: TemplatedItemsComponent\n ) {}\n\n @Input()\n set pagerTemplateKey(value: any) {\n if (this.comp && this.templateRef) {\n this.comp.registerTemplate(value, this.templateRef);\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, IterableDiffers, NO_ERRORS_SCHEMA, NgModule, forwardRef } from '@angular/core';\n\nimport { Pager } from '@nativescript-community/ui-pager';\nimport { PagerItemDirective, TEMPLATED_ITEMS_COMPONENT, TemplateKeyDirective, TemplatedItemsComponent } from './pager-items-comp';\n\nexport { PagerItemDirective, TemplatedItemsComponent, TemplateKeyDirective } from './pager-items-comp';\n\n@Component({\n selector: 'Pager',\n template: ` <DetachedContainer>\n <Placeholder #loader></Placeholder>\n </DetachedContainer>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TEMPLATED_ITEMS_COMPONENT,\n useExisting: forwardRef(() => PagerComponent)\n }\n ]\n})\nexport class PagerComponent extends TemplatedItemsComponent {\n public get nativeElement(): Pager {\n return this.templatedItemsView;\n }\n\n constructor(_elementRef: ElementRef, _iterableDiffers: IterableDiffers) {\n super(_elementRef, _iterableDiffers);\n }\n}\n\n@NgModule({\n declarations: [PagerComponent, TemplateKeyDirective, PagerItemDirective],\n exports: [PagerComponent, TemplateKeyDirective, PagerItemDirective],\n schemas: [NO_ERRORS_SCHEMA]\n})\nexport class PagerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nativescript-community-ui-pager-angular.mjs","sources":["../../../../src/ui-pager/angular/pager-items-comp.ts","../../../../src/ui-pager/angular/index.ts","../../../../src/ui-pager/angular/nativescript-community-ui-pager-angular.ts"],"sourcesContent":["import {\n AfterContentInit,\n Component,\n ContentChild,\n Directive,\n DoCheck,\n ElementRef,\n EmbeddedViewRef,\n EventEmitter,\n Host,\n Inject,\n InjectionToken,\n Input,\n IterableDiffer,\n IterableDiffers,\n OnDestroy,\n OnInit,\n Output,\n TemplateRef,\n ViewChild,\n ViewContainerRef\n} from '@angular/core';\nimport { Pager, PagerError, PagerItem, PagerLog } from '@nativescript-community/ui-pager';\nimport { extractSingleViewRecursive, isInvisibleNode, isListLikeIterable, registerElement } from '@nativescript/angular';\nimport { EventData, KeyedTemplate, LayoutBase, Template, Trace, View, isIOS } from '@nativescript/core';\nimport { ObservableArray } from '@nativescript/core/data/observable-array';\nimport { profile } from '@nativescript/core/profiling';\nimport { ItemEventData, ItemsSource } from '@nativescript/core/ui/list-view';\n\nregisterElement('Pager', () => Pager);\nregisterElement('PagerItem', () => PagerItem);\n\nconst NG_VIEW = '_ngViewRef';\n\nexport interface PagerTemplatedItemsView {\n items: any[] | ItemsSource;\n itemTemplate: string | Template;\n itemTemplates?: string | KeyedTemplate[];\n\n refresh(): void;\n\n on(event: 'itemDisposing' | 'itemLoading', callback: (args: ItemEventData) => void, thisArg?: any);\n\n off(event: 'itemLoading' | 'itemDisposing', callback: (args: EventData) => void, thisArg?: any);\n}\n\nexport class ItemContext {\n constructor(public $implicit?: any, public item?: any, public index?: number, public even?: boolean, public odd?: boolean) {}\n}\n\nexport interface SetupItemViewArgs {\n view: EmbeddedViewRef<any>;\n data: any;\n index: number;\n context: ItemContext;\n}\n@Component({\n template: ''\n})\nexport abstract class TemplatedItemsComponent implements DoCheck, OnDestroy, AfterContentInit {\n public abstract get nativeElement(): Pager;\n\n protected templatedItemsView: Pager;\n protected _items: any;\n protected _differ: IterableDiffer<KeyedTemplate>;\n protected _templateMap: Map<string, KeyedTemplate>;\n private _selectedIndex: number;\n @ViewChild('loader', { read: ViewContainerRef, static: false }) loader: ViewContainerRef;\n\n @Output()\n public setupItemView = new EventEmitter<SetupItemViewArgs>();\n\n @ContentChild(TemplateRef, { static: false }) itemTemplateQuery: TemplateRef<ItemContext>;\n\n itemTemplate: TemplateRef<ItemContext>;\n\n @Input()\n get items() {\n return this._items;\n }\n\n set items(value: any) {\n this._items = value;\n let needDiffer = true;\n if (value instanceof ObservableArray) {\n needDiffer = false;\n }\n if (needDiffer && !this._differ && isListLikeIterable(value)) {\n this._differ = this._iterableDiffers.find(this._items).create((_index, item) => item);\n }\n\n this.templatedItemsView.items = this._items;\n }\n\n @Input()\n get selectedIndex(): number {\n return this._selectedIndex;\n }\n\n set selectedIndex(value) {\n this._selectedIndex = value;\n this.templatedItemsView.selectedIndex = this._selectedIndex;\n }\n\n ngAfterViewInit() {\n if (!!this._selectedIndex) {\n setTimeout(() => {\n if (isIOS) {\n this.templatedItemsView.scrollToIndexAnimated(this._selectedIndex, false);\n }\n this.templatedItemsView.selectedIndex = this._selectedIndex;\n });\n }\n }\n\n constructor(_elementRef: ElementRef, private _iterableDiffers: IterableDiffers) {\n this.templatedItemsView = _elementRef.nativeElement;\n\n this.templatedItemsView.on('itemLoading', this.onItemLoading, this);\n this.templatedItemsView.on('itemDisposing', this.onItemDisposing, this);\n }\n\n ngAfterContentInit() {\n if (Trace.isEnabled()) {\n PagerLog('TemplatedItemsView.ngAfterContentInit()');\n }\n this.setItemTemplates();\n }\n\n ngOnDestroy() {\n this.templatedItemsView.off('itemLoading', this.onItemLoading, this);\n this.templatedItemsView.off('itemDisposing', this.onItemDisposing, this);\n }\n\n private setItemTemplates() {\n if (!this.items) return;\n // The itemTemplateQuery may be changed after list items are added that contain <template> inside,\n // so cache and use only the original template to avoid errors.\n this.itemTemplate = this.itemTemplateQuery;\n\n if (this._templateMap) {\n if (Trace.isEnabled()) {\n PagerLog('Setting templates');\n }\n\n const templates: KeyedTemplate[] = [];\n this._templateMap.forEach((value) => {\n templates.push(value);\n });\n this.templatedItemsView.itemTemplates = templates;\n }\n }\n\n public registerTemplate(key: string, template: TemplateRef<ItemContext>) {\n if (Trace.isEnabled()) {\n PagerLog(`registerTemplate for key: ${key}`);\n }\n\n if (!this._templateMap) {\n this._templateMap = new Map<string, KeyedTemplate>();\n }\n\n const keyedTemplate = {\n key,\n createView: this.getItemTemplateViewFactory(template)\n };\n\n this._templateMap.set(key, keyedTemplate);\n }\n\n @profile\n public onItemLoading(args: ItemEventData) {\n if (!args.view && !this.itemTemplate) {\n return;\n }\n\n if (!this.items) return;\n\n const index = args.index;\n const items = (args.object as any).items;\n const currentItem = typeof items.getItem === 'function' ? items.getItem(index) : items[index];\n let viewRef: EmbeddedViewRef<ItemContext>;\n\n if (args.view) {\n if (Trace.isEnabled()) {\n PagerLog(`onItemLoading: ${index} - Reusing existing view`);\n }\n\n viewRef = args.view[NG_VIEW];\n // Getting angular view from original element (in cases when ProxyViewContainer\n // is used NativeScript internally wraps it in a StackLayout)\n if (!viewRef && args.view instanceof LayoutBase && args.view.getChildrenCount() > 0) {\n viewRef = args.view.getChildAt(0)[NG_VIEW];\n }\n\n if (!viewRef && Trace.isEnabled()) {\n PagerError(`ViewReference not found for item ${index}. View recycling is not working`);\n }\n }\n\n if (!viewRef) {\n if (Trace.isEnabled()) {\n PagerLog(`onItemLoading: ${index} - Creating view from template`);\n }\n\n viewRef = this.loader.createEmbeddedView(this.itemTemplate, new ItemContext(), 0);\n args.view = getItemViewRoot(viewRef);\n args.view[NG_VIEW] = viewRef;\n }\n\n this.setupViewRef(viewRef, currentItem, index);\n\n this.detectChangesOnChild(viewRef, index);\n }\n\n @profile\n public onItemDisposing(args: ItemEventData) {\n if (!args.view) {\n return;\n }\n let viewRef: EmbeddedViewRef<ItemContext>;\n\n if (args.view) {\n if (Trace.isEnabled()) {\n PagerLog(`onItemDisposing: ${args.index} - Removing angular view`);\n }\n\n viewRef = args.view[NG_VIEW];\n // Getting angular view from original element (in cases when ProxyViewContainer\n // is used NativeScript internally wraps it in a StackLayout)\n if (!viewRef && args.view instanceof LayoutBase && args.view.getChildrenCount() > 0) {\n viewRef = args.view.getChildAt(0)[NG_VIEW];\n }\n\n if (!viewRef && Trace.isEnabled()) {\n PagerError(`ViewReference not found for item ${args.index}. View disposing is not working`);\n }\n }\n\n if (viewRef) {\n if (Trace.isEnabled()) {\n PagerLog(`onItemDisposing: ${args.index} - Disposing view reference`);\n }\n\n viewRef.destroy();\n }\n }\n\n public setupViewRef(viewRef: EmbeddedViewRef<ItemContext>, data: any, index: number): void {\n const context = viewRef.context;\n context.$implicit = data;\n context.item = data;\n context.index = index;\n context.even = index % 2 === 0;\n context.odd = !context.even;\n\n this.setupItemView.next({\n view: viewRef,\n data,\n index,\n context\n });\n }\n\n protected getItemTemplateViewFactory(template: TemplateRef<ItemContext>): () => View {\n return () => {\n const viewRef = this.loader.createEmbeddedView(template, new ItemContext(), 0);\n const resultView = getItemViewRoot(viewRef);\n resultView[NG_VIEW] = viewRef;\n\n return resultView;\n };\n }\n\n @profile\n private detectChangesOnChild(viewRef: EmbeddedViewRef<ItemContext>, index: number) {\n if (Trace.isEnabled()) {\n PagerLog(`Manually detect changes in child: ${index}`);\n }\n\n viewRef.markForCheck();\n viewRef.detectChanges();\n }\n\n ngDoCheck() {\n if (this._differ) {\n if (Trace.isEnabled()) {\n PagerLog('ngDoCheck() - execute differ');\n }\n\n const changes = this._differ.diff(this._items);\n if (changes) {\n if (Trace.isEnabled()) {\n PagerLog('ngDoCheck() - refresh');\n }\n\n this.templatedItemsView.refresh();\n }\n }\n }\n}\n\nexport interface ComponentView {\n rootNodes: any[];\n\n destroy(): void;\n}\n\nexport type RootLocator = (nodes: any[], nestLevel: number) => View;\n\nexport function getItemViewRoot(viewRef: ComponentView, rootLocator: RootLocator = extractSingleViewRecursive as any): View {\n return rootLocator(viewRef.rootNodes, 0);\n}\n\nexport const TEMPLATED_ITEMS_COMPONENT = new InjectionToken<TemplatedItemsComponent>('TemplatedItemsComponent');\n\n@Directive({\n selector: '[pagerItem]'\n})\nexport class PagerItemDirective implements OnInit {\n private item: PagerItem;\n\n constructor(\n private templateRef: TemplateRef<any>,\n @Inject(TEMPLATED_ITEMS_COMPONENT)\n @Host()\n private owner: TemplatedItemsComponent,\n private viewContainer: ViewContainerRef\n ) {}\n\n private ensureItem() {\n if (!this.item) {\n this.item = new PagerItem();\n }\n }\n\n private applyConfig() {\n this.ensureItem();\n }\n\n ngOnInit() {\n this.applyConfig();\n\n const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);\n // Filter out text nodes and comments\n const realViews = viewRef.rootNodes.filter((node) => !isInvisibleNode(node));\n\n if (realViews.length > 0) {\n const view = realViews[0];\n this.item.addChild(view);\n this.owner.nativeElement._addChildFromBuilder('PagerItem', this.item);\n }\n }\n}\n\n@Directive({ selector: '[pagerTemplateKey]' })\nexport class TemplateKeyDirective {\n constructor(\n private templateRef: TemplateRef<any>,\n @Inject(TEMPLATED_ITEMS_COMPONENT)\n @Host()\n private comp: TemplatedItemsComponent\n ) {}\n\n @Input()\n set pagerTemplateKey(value: any) {\n if (this.comp && this.templateRef) {\n this.comp.registerTemplate(value, this.templateRef);\n }\n }\n}\n","import { ChangeDetectionStrategy, Component, ElementRef, IterableDiffers, NO_ERRORS_SCHEMA, NgModule, forwardRef } from '@angular/core';\n\nimport { Pager } from '@nativescript-community/ui-pager';\nimport { PagerItemDirective, TEMPLATED_ITEMS_COMPONENT, TemplateKeyDirective, TemplatedItemsComponent } from './pager-items-comp';\n\nexport { PagerItemDirective, TemplatedItemsComponent, TemplateKeyDirective } from './pager-items-comp';\n\n@Component({\n selector: 'Pager',\n template: ` <DetachedContainer>\n <Placeholder #loader></Placeholder>\n </DetachedContainer>`,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TEMPLATED_ITEMS_COMPONENT,\n useExisting: forwardRef(() => PagerComponent)\n }\n ],\n schemas: [NO_ERRORS_SCHEMA]\n})\nexport class PagerComponent extends TemplatedItemsComponent {\n public get nativeElement(): Pager {\n return this.templatedItemsView;\n }\n\n constructor(_elementRef: ElementRef, _iterableDiffers: IterableDiffers) {\n super(_elementRef, _iterableDiffers);\n }\n}\n\n@NgModule({\n imports: [PagerComponent, TemplateKeyDirective, PagerItemDirective],\n exports: [PagerComponent, TemplateKeyDirective, PagerItemDirective],\n schemas: [NO_ERRORS_SCHEMA]\n})\nexport class PagerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -8,10 +8,10 @@ export declare class PagerComponent extends TemplatedItemsComponent {
8
8
  get nativeElement(): Pager;
9
9
  constructor(_elementRef: ElementRef, _iterableDiffers: IterableDiffers);
10
10
  static ɵfac: i0.ɵɵFactoryDeclaration<PagerComponent, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<PagerComponent, "Pager", never, {}, {}, never, never, false, never>;
11
+ static ɵcmp: i0.ɵɵComponentDeclaration<PagerComponent, "Pager", never, {}, {}, never, never, true, never>;
12
12
  }
13
13
  export declare class PagerModule {
14
14
  static ɵfac: i0.ɵɵFactoryDeclaration<PagerModule, never>;
15
- static ɵmod: i0.ɵɵNgModuleDeclaration<PagerModule, [typeof PagerComponent, typeof i1.TemplateKeyDirective, typeof i1.PagerItemDirective], never, [typeof PagerComponent, typeof i1.TemplateKeyDirective, typeof i1.PagerItemDirective]>;
15
+ static ɵmod: i0.ɵɵNgModuleDeclaration<PagerModule, never, [typeof PagerComponent, typeof i1.TemplateKeyDirective, typeof i1.PagerItemDirective], [typeof PagerComponent, typeof i1.TemplateKeyDirective, typeof i1.PagerItemDirective]>;
16
16
  static ɵinj: i0.ɵɵInjectorDeclaration<PagerModule>;
17
17
  }
@@ -9,8 +9,6 @@
9
9
  },
10
10
  ".": {
11
11
  "types": "./index.d.ts",
12
- "esm2022": "./esm2022/nativescript-community-ui-pager-angular.mjs",
13
- "esm": "./esm2022/nativescript-community-ui-pager-angular.mjs",
14
12
  "default": "./fesm2022/nativescript-community-ui-pager-angular.mjs"
15
13
  }
16
14
  },
@@ -54,7 +54,7 @@ export declare abstract class TemplatedItemsComponent implements DoCheck, OnDest
54
54
  private detectChangesOnChild;
55
55
  ngDoCheck(): void;
56
56
  static ɵfac: i0.ɵɵFactoryDeclaration<TemplatedItemsComponent, never>;
57
- static ɵcmp: i0.ɵɵComponentDeclaration<TemplatedItemsComponent, "ng-component", never, { "items": { "alias": "items"; "required": false; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; }; }, { "setupItemView": "setupItemView"; }, ["itemTemplateQuery"], never, false, never>;
57
+ static ɵcmp: i0.ɵɵComponentDeclaration<TemplatedItemsComponent, "ng-component", never, { "items": { "alias": "items"; "required": false; }; "selectedIndex": { "alias": "selectedIndex"; "required": false; }; }, { "setupItemView": "setupItemView"; }, ["itemTemplateQuery"], never, true, never>;
58
58
  }
59
59
  export interface ComponentView {
60
60
  rootNodes: any[];
@@ -73,7 +73,7 @@ export declare class PagerItemDirective implements OnInit {
73
73
  private applyConfig;
74
74
  ngOnInit(): void;
75
75
  static ɵfac: i0.ɵɵFactoryDeclaration<PagerItemDirective, [null, { host: true; }, null]>;
76
- static ɵdir: i0.ɵɵDirectiveDeclaration<PagerItemDirective, "[pagerItem]", never, {}, {}, never, never, false, never>;
76
+ static ɵdir: i0.ɵɵDirectiveDeclaration<PagerItemDirective, "[pagerItem]", never, {}, {}, never, never, true, never>;
77
77
  }
78
78
  export declare class TemplateKeyDirective {
79
79
  private templateRef;
@@ -81,5 +81,5 @@ export declare class TemplateKeyDirective {
81
81
  constructor(templateRef: TemplateRef<any>, comp: TemplatedItemsComponent);
82
82
  set pagerTemplateKey(value: any);
83
83
  static ɵfac: i0.ɵɵFactoryDeclaration<TemplateKeyDirective, [null, { host: true; }]>;
84
- static ɵdir: i0.ɵɵDirectiveDeclaration<TemplateKeyDirective, "[pagerTemplateKey]", never, { "pagerTemplateKey": { "alias": "pagerTemplateKey"; "required": false; }; }, {}, never, never, false, never>;
84
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TemplateKeyDirective, "[pagerTemplateKey]", never, { "pagerTemplateKey": { "alias": "pagerTemplateKey"; "required": false; }; }, {}, never, never, true, never>;
85
85
  }
@@ -1,9 +1,28 @@
1
- import { Property, View, ViewBase } from '@nativescript/core';
2
- import { PagerBase } from './index.common';
1
+ import { CoreTypes, KeyedTemplate, Property, View, ViewBase, paddingBottomProperty, paddingLeftProperty, paddingRightProperty, paddingTopProperty } from '@nativescript/core';
2
+ import { Orientation, PagerBase, autoPlayProperty, autoplayDelayProperty, disableSwipeProperty, itemTemplatesProperty, itemsProperty, orientationProperty, peakingProperty, selectedIndexProperty, spacingProperty } from './index.common';
3
3
  export * from './index.common';
4
4
  export { ItemsSource, Transformer } from './index.common';
5
5
  export declare const pagesCountProperty: Property<Pager, number>;
6
6
  export declare class Pager extends PagerBase {
7
+ [spacingProperty.setNative]: (value: any) => void;
8
+ [peakingProperty.setNative]: (value: any) => void;
9
+ [disableSwipeProperty.setNative]: (value: boolean) => void;
10
+ [itemsProperty.setNative]: (value: any) => void;
11
+ [paddingTopProperty.getDefault]: () => CoreTypes.LengthType;
12
+ [paddingTopProperty.setNative]: (value: CoreTypes.LengthType) => void;
13
+ [paddingRightProperty.getDefault]: () => CoreTypes.LengthType;
14
+ [paddingRightProperty.setNative]: (value: CoreTypes.LengthType) => void;
15
+ [paddingBottomProperty.getDefault]: () => CoreTypes.LengthType;
16
+ [paddingBottomProperty.setNative]: (value: CoreTypes.LengthType) => void;
17
+ [paddingLeftProperty.getDefault]: () => CoreTypes.LengthType;
18
+ [paddingLeftProperty.setNative]: (value: CoreTypes.LengthType) => void;
19
+ [selectedIndexProperty.setNative]: (value: number, animated?: boolean, requestTransform?: boolean) => void;
20
+ [itemTemplatesProperty.getDefault]: () => KeyedTemplate[];
21
+ [itemTemplatesProperty.setNative]: (value: KeyedTemplate[]) => void;
22
+ [orientationProperty.setNative]: (value: Orientation) => void;
23
+ [autoPlayProperty.setNative]: (value: boolean) => void;
24
+ [autoplayDelayProperty.setNative]: (value: number) => void;
25
+ [pagesCountProperty.setNative]: (value: number) => void;
7
26
  nativeViewProtected: androidx.viewpager2.widget.ViewPager2;
8
27
  _androidViewId: number;
9
28
  private _disableAnimation;
package/index.ios.d.ts CHANGED
@@ -1,5 +1,6 @@
1
- import { Property, View, ViewBase } from '@nativescript/core';
2
- import { PagerBase } from './index.common';
1
+ import { CoreTypes, KeyedTemplate, Property, View, ViewBase } from '@nativescript/core';
2
+ import { paddingBottomProperty, paddingLeftProperty, paddingRightProperty, paddingTopProperty } from '@nativescript/core/ui/styling/style-properties';
3
+ import { Orientation, PagerBase, autoPlayProperty, autoplayDelayProperty, disableSwipeProperty, itemTemplatesProperty, itemsProperty, orientationProperty, selectedIndexProperty } from './index.common';
3
4
  export * from './index.common';
4
5
  export { ItemsSource, Transformer } from './index.common';
5
6
  export declare enum ContentInsetAdjustmentBehavior {
@@ -10,6 +11,19 @@ export declare enum ContentInsetAdjustmentBehavior {
10
11
  }
11
12
  export declare const contentInsetAdjustmentBehaviorProperty: Property<Pager, ContentInsetAdjustmentBehavior>;
12
13
  export declare class Pager extends PagerBase {
14
+ [orientationProperty.setNative]: (value: Orientation) => void;
15
+ [selectedIndexProperty.setNative]: (value: number, animated?: boolean) => void;
16
+ [itemTemplatesProperty.getDefault]: () => KeyedTemplate[];
17
+ [itemTemplatesProperty.setNative]: (value: KeyedTemplate[]) => void;
18
+ [itemsProperty.setNative]: (value: any) => void;
19
+ [autoPlayProperty.setNative]: (value: boolean) => void;
20
+ [autoplayDelayProperty.setNative]: (value: number) => void;
21
+ [paddingTopProperty.setNative]: (value: CoreTypes.LengthType) => void;
22
+ [paddingRightProperty.setNative]: (value: CoreTypes.LengthType) => void;
23
+ [paddingBottomProperty.setNative]: (value: CoreTypes.LengthType) => void;
24
+ [paddingLeftProperty.setNative]: (value: CoreTypes.LengthType) => void;
25
+ [disableSwipeProperty.setNative]: (value: boolean) => void;
26
+ [contentInsetAdjustmentBehaviorProperty.setNative]: (value: ContentInsetAdjustmentBehavior) => void;
13
27
  lastEvent: number;
14
28
  private mDisableSwipe;
15
29
  private mDisableAnimation;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nativescript-community/ui-pager",
3
- "version": "14.1.34",
3
+ "version": "14.1.39",
4
4
  "description": "A NativeScript Pager / Carousel component that allows the user to swipe left and right through pages of data. ",
5
5
  "main": "index",
6
6
  "typings": "index.d.ts",
@@ -9,16 +9,16 @@
9
9
  "access": "public"
10
10
  },
11
11
  "scripts": {
12
- "build": "npm run tsc",
12
+ "build": "npm run tsc && npm run readme",
13
13
  "build.win": "npm run tsc.win && npm run readme",
14
14
  "build.all": "npm run build && npm run build.angular",
15
15
  "build.all.win": "npm run build .win&& npm run build.angular.win",
16
16
  "build.angular": "ng-packagr -p ../../src/ui-pager/angular/ng-package.json -c ../../src/ui-pager/angular/tsconfig.json && rm angular/.npmignore",
17
17
  "build.angular.win": "ng-packagr -p ..\\..\\src\\ui-pager\\angular\\ng-package.json -c ..\\..\\src\\ui-pager\\angular\\tsconfig.json",
18
18
  "readme": "readme generate -c ../../tools/readme/blueprint.json",
19
- "tsc": "cpy '**/*.d.ts' '../../packages/ui-pager' --parents --cwd=../../src/ui-pager && tsc -skipLibCheck -d",
19
+ "tsc": "cpy '**/*.d.ts' '../../packages/ui-pager' --parents --cwd=../../src/ui-pager && tsc --build",
20
20
  "tsc.win": "cpy '**\\*.d.ts' '..\\..\\packages\\ui-pager' --parents --cwd=..\\..\\src\\ui-pager && tsc -skipLibCheck -d",
21
- "clean": "rimraf ./*.d.ts ./*.js ./*.js.map",
21
+ "clean": "bin/rimraf ./*.d.ts ./*.js ./*.js.map ./*.tsbuildinfo ./*.mjs ./*.mjs.map ./angular ./svelte ./vue* ./react",
22
22
  "clean.win": "rimraf .\\*.d.ts .\\*.js .\\*.js.map"
23
23
  },
24
24
  "nativescript": {
@@ -67,5 +67,5 @@
67
67
  },
68
68
  "license": "Apache-2.0",
69
69
  "readmeFilename": "README.md",
70
- "gitHead": "3f72456278f9539ccd3c78d097560eb4b457bd75"
70
+ "gitHead": "af0775814991ee01ed1d10949bc906beaefaca3c"
71
71
  }
package/react/index.d.ts CHANGED
@@ -77,7 +77,7 @@ export declare class _Pager extends React.Component<Props, State> {
77
77
  componentDidMount(): void;
78
78
  componentWillUnmount(): void;
79
79
  static isItemsSource(arr: any[] | ItemsSource): arr is ItemsSource;
80
- render(): React.JSX.Element;
80
+ render(): JSX.Element;
81
81
  }
82
82
  export type PagerItemAttributes = GridLayoutAttributes & {
83
83
  forwardedRef?: React.RefObject<NSVElement<NativeScriptPagerItem>>;
package/svelte/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { NativeViewElementNode, ViewNode } from 'svelte-native/dom';
1
+ import { NativeViewElementNode, ViewNode } from '@nativescript-community/svelte-native/dom';
2
2
  import { Pager } from '..';
3
3
  declare module '@nativescript/core/ui/core/view-base' {
4
4
  interface ViewBase {
package/svelte/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { profile } from '@nativescript/core/profiling';
2
2
  import { ContentView } from '@nativescript/core/ui';
3
- import { NativeViewElementNode, TemplateElement, createElement, registerElement, registerNativeViewElement } from 'svelte-native/dom';
3
+ import { NativeViewElementNode, TemplateElement, createElement, registerElement, registerNativeViewElement } from '@nativescript-community/svelte-native/dom';
4
4
  //@ts-ignore
5
5
  import { flush } from 'svelte/internal';
6
6
  import { Pager, PagerItem } from '..';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui-pager/svelte/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAqC,MAAM,uBAAuB,CAAC;AACvF,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAY,aAAa,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAChJ,YAAY;AACZ,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAUtC,MAAM,mBAAmB;IAGrB,YAAY,GAAW,EAAE,UAA2B;QAChD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAClC,CAAC;IACD,IAAI,SAAS;QACT,OAAO,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC;IACtC,CAAC;IACD,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,UAAU;QACN,qFAAqF;QACrF,4CAA4C;QAC5C,+EAA+E;QAE/E,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;QAEnC,wFAAwF;QACxF,8FAA8F;QAE7F,QAAgB,CAAC,0BAA0B,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,EAAE;YACjE,OAAO,CAAC,4BAA4B,EAAE,GAAG,EAAE;gBACtC,QAAgB,CAAC,mBAAmB,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC;oBACvD,MAAM,EAAE,UAAU;oBAClB,KAAK;iBACR,CAAC,CAAC;YACP,CAAC,CAAC,EAAE,CAAC;QACT,CAAC,CAAC;QACF,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AAED,MAAM,CAAC,OAAO,OAAO,gBAAiB,SAAQ,qBAA4B;IACtE;QACI,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtB,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,UAAU,CAAC,cAAc,GAAG,CAAC,QAAa,EAAQ,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC7E,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,gBAAgB,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;QACtE,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,KAAK,CAAC,kBAAkB,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;IAC7E,CAAC;IAEO,QAAQ,CAAC,QAAgB;QAC7B,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,EAAE,CAAC;YAClD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;YACxF,IAAI,aAAa,EAAE,CAAC;gBAChB,OAAO,aAAa,CAAC,UAAU,EAAE,CAAC;YACtC,CAAC;QACL,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC1D,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QAEjC,MAAM,QAAQ,GAAG,IAAI,WAAW,EAAE,CAAC;QAEnC,MAAM,OAAO,GAAG,CAAC,UAAU,EAAE,KAAU,EAAE,EAAE;YACtC,QAAgB,CAAC,mBAAmB,GAAG,IAAI,cAAc,CAAC;gBACvD,MAAM,EAAE,UAAU;gBAClB,KAAK;aACR,CAAC,CAAC;QACP,CAAC,CAAC;QACF,yEAAyE;QACxE,QAAgB,CAAC,0BAA0B,GAAG,OAAO,CAAC;QACvD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,sKAAsK;IACtK,sCAAsC;IACtC,YAAY,CAAC,OAAe,EAAE,KAAU;QACpC,IAAI,OAAO,CAAC,WAAW,EAAE,KAAK,sBAAsB,EAAE,CAAC;YACnD,OAAO,GAAG,sBAAsB,CAAC;QACrC,CAAC;QACD,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAEO,mBAAmB,CAAC,QAAgB;QACxC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,kBAAkB,CAAQ,CAAC;QACvJ,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAC7B,OAAO,UAAU,CAAC,SAAS,CAAC;IAChC,CAAC;IAED,eAAe,CAAC,SAAmB,EAAE,KAAa;QAC9C,KAAK,CAAC,eAAe,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACxC,IAAI,SAAS,YAAY,eAAe,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;YACvD,MAAM,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;YAC7F,IAAI,aAAa,IAAI,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,EAAE,IAAI,mBAAmB,CAAC,GAAG,EAAE,SAAS,CAAQ,CAAC,CAAC;YACpH,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,UAAU,CAAC,sBAAsB,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,mBAAmB,CAAC,GAAG,EAAE,SAAS,CAAQ,CAAC,CAAC;YAC3I,CAAC;QACL,CAAC;IACL,CAAC;IAED,cAAc,CAAC,SAAmB;QAC9B,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QAChC,IAAI,SAAS,YAAY,eAAe,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;YACvD,IAAI,IAAI,CAAC,UAAU,CAAC,sBAAsB,IAAI,OAAO,IAAI,CAAC,UAAU,CAAC,sBAAsB,KAAK,QAAQ,EAAE,CAAC;gBACvG,IAAI,CAAC,UAAU,CAAC,sBAAsB,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;YACjH,CAAC;QACL,CAAC;IACL,CAAC;IACO,eAAe,CAAC,IAAmB;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,IAAI,KAAK,CAAC,mBAAmB,EAAE,CAAC;YAC5B,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE,CAAC;YACrC,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC;QACrC,CAAC;IACL,CAAC;IACO,cAAc,CAAC,IAAwC;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC;QACxB,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;QAC/D,MAAM,iBAAiB,GAAG,KAAK,CAAC,mBAAmB,CAAC;QACpD,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACrB,IAAI,KAAK,CAAC,0BAA0B,EAAE,CAAC;gBACnC,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;gBACxC,KAAK,CAAC,0BAA0B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBAC/C,KAAK,CAAC,0BAA0B,GAAG,IAAI,CAAC;gBACxC,KAAK,CAAC,8BAA8B,GAAG,IAAI,CAAC,KAAK,CAAC;gBAClD,MAAM,QAAQ,GAAI,KAAK,CAAC,YAAY,EAAkC,CAAC,UAAU,CAAC;gBACjF,KAAqB,CAAC,OAAO,GAAG,QAAQ,CAAC;YAC9C,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,8DAA8D;YAC9D,oFAAoF;YACpF,KAAK,CAAC,8BAA8B,GAAG,IAAI,CAAC,KAAK,CAAC;YAClD,KAAK,CAAC,YAAY,CAAC,GAAG,EAAE;gBACpB,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC9B,KAAK,EAAE,CAAC,CAAC,6DAA6D;YAC1E,CAAC,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,MAAM,CAAC,QAAQ;QACX,eAAe,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,EAAE,CAAC,CAAC;QACvD,yBAAyB,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAC5D,CAAC;CACJ"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui-pager/svelte/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"root":["../../src/ui-pager/index.android.ts","../../src/ui-pager/index.common.ts","../../src/ui-pager/index.d.ts","../../src/ui-pager/index.ios.ts","../../src/ui-pager/references.d.ts","../../src/ui-pager/react/index.tsx","../../src/ui-pager/svelte/index.ts","../../src/ui-pager/transformers/Scale.android.ts","../../src/ui-pager/transformers/Scale.ios.ts","../../src/ui-pager/transformers/ZoomInPageTransformer.ts","../../src/ui-pager/typings/android.d.ts","../../src/ui-pager/typings/viewpager2.d.ts","../../src/ui-pager/vue/index.ts","../../src/ui-pager/vue/pager.ts","../../references.d.ts","../../tools/references.d.ts"],"version":"5.8.3"}
@@ -1,55 +0,0 @@
1
- import { ChangeDetectionStrategy, Component, NO_ERRORS_SCHEMA, NgModule, forwardRef } from '@angular/core';
2
- import { PagerItemDirective, TEMPLATED_ITEMS_COMPONENT, TemplateKeyDirective, TemplatedItemsComponent } from './pager-items-comp';
3
- import * as i0 from "@angular/core";
4
- export { PagerItemDirective, TemplatedItemsComponent, TemplateKeyDirective } from './pager-items-comp';
5
- export class PagerComponent extends TemplatedItemsComponent {
6
- get nativeElement() {
7
- return this.templatedItemsView;
8
- }
9
- constructor(_elementRef, _iterableDiffers) {
10
- super(_elementRef, _iterableDiffers);
11
- }
12
- static ɵfac = function PagerComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PagerComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.IterableDiffers)); };
13
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PagerComponent, selectors: [["Pager"]], features: [i0.ɵɵProvidersFeature([
14
- {
15
- provide: TEMPLATED_ITEMS_COMPONENT,
16
- useExisting: forwardRef(() => PagerComponent)
17
- }
18
- ]), i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 0, consts: [["loader", ""]], template: function PagerComponent_Template(rf, ctx) { if (rf & 1) {
19
- i0.ɵɵelementStart(0, "DetachedContainer");
20
- i0.ɵɵelement(1, "Placeholder", null, 0);
21
- i0.ɵɵelementEnd();
22
- } }, encapsulation: 2, changeDetection: 0 });
23
- }
24
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerComponent, [{
25
- type: Component,
26
- args: [{
27
- selector: 'Pager',
28
- template: ` <DetachedContainer>
29
- <Placeholder #loader></Placeholder>
30
- </DetachedContainer>`,
31
- changeDetection: ChangeDetectionStrategy.OnPush,
32
- providers: [
33
- {
34
- provide: TEMPLATED_ITEMS_COMPONENT,
35
- useExisting: forwardRef(() => PagerComponent)
36
- }
37
- ]
38
- }]
39
- }], () => [{ type: i0.ElementRef }, { type: i0.IterableDiffers }], null); })();
40
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PagerComponent, { className: "PagerComponent", filePath: "index.ts", lineNumber: 21 }); })();
41
- export class PagerModule {
42
- static ɵfac = function PagerModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PagerModule)(); };
43
- static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: PagerModule });
44
- static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({});
45
- }
46
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerModule, [{
47
- type: NgModule,
48
- args: [{
49
- declarations: [PagerComponent, TemplateKeyDirective, PagerItemDirective],
50
- exports: [PagerComponent, TemplateKeyDirective, PagerItemDirective],
51
- schemas: [NO_ERRORS_SCHEMA]
52
- }]
53
- }], null, null); })();
54
- (function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(PagerModule, { declarations: [PagerComponent, TemplateKeyDirective, PagerItemDirective], exports: [PagerComponent, TemplateKeyDirective, PagerItemDirective] }); })();
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdWktcGFnZXIvYW5ndWxhci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUErQixnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR3hJLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSx5QkFBeUIsRUFBRSxvQkFBb0IsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDOztBQUVsSSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsdUJBQXVCLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQWV2RyxNQUFNLE9BQU8sY0FBZSxTQUFRLHVCQUF1QjtJQUN2RCxJQUFXLGFBQWE7UUFDcEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUM7SUFDbkMsQ0FBQztJQUVELFlBQVksV0FBdUIsRUFBRSxnQkFBaUM7UUFDbEUsS0FBSyxDQUFDLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7d0dBUFEsY0FBYzs2REFBZCxjQUFjLDJEQVBaO2dCQUNQO29CQUNJLE9BQU8sRUFBRSx5QkFBeUI7b0JBQ2xDLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsY0FBYyxDQUFDO2lCQUNoRDthQUNKO1lBVFcseUNBQW1CO1lBQzNCLHVDQUFtQztZQUN2QyxpQkFBb0I7OztpRkFTWCxjQUFjO2NBYjFCLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsT0FBTztnQkFDakIsUUFBUSxFQUFFOzt5QkFFVztnQkFDckIsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUseUJBQXlCO3dCQUNsQyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxlQUFlLENBQUM7cUJBQ2hEO2lCQUNKO2FBQ0o7O2tGQUNZLGNBQWM7QUFlM0IsTUFBTSxPQUFPLFdBQVc7cUdBQVgsV0FBVzs0REFBWCxXQUFXOzs7aUZBQVgsV0FBVztjQUx2QixRQUFRO2VBQUM7Z0JBQ04sWUFBWSxFQUFFLENBQUMsY0FBYyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixDQUFDO2dCQUN4RSxPQUFPLEVBQUUsQ0FBQyxjQUFjLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLENBQUM7Z0JBQ25FLE9BQU8sRUFBRSxDQUFDLGdCQUFnQixDQUFDO2FBQzlCOzt3RkFDWSxXQUFXLG1CQWZYLGNBQWMsRUFXUSxvQkFBb0IsRUFBRSxrQkFBa0IsYUFYOUQsY0FBYyxFQVlHLG9CQUFvQixFQUFFLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEl0ZXJhYmxlRGlmZmVycywgTk9fRVJST1JTX1NDSEVNQSwgTmdNb2R1bGUsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgUGFnZXIgfSBmcm9tICdAbmF0aXZlc2NyaXB0LWNvbW11bml0eS91aS1wYWdlcic7XG5pbXBvcnQgeyBQYWdlckl0ZW1EaXJlY3RpdmUsIFRFTVBMQVRFRF9JVEVNU19DT01QT05FTlQsIFRlbXBsYXRlS2V5RGlyZWN0aXZlLCBUZW1wbGF0ZWRJdGVtc0NvbXBvbmVudCB9IGZyb20gJy4vcGFnZXItaXRlbXMtY29tcCc7XG5cbmV4cG9ydCB7IFBhZ2VySXRlbURpcmVjdGl2ZSwgVGVtcGxhdGVkSXRlbXNDb21wb25lbnQsIFRlbXBsYXRlS2V5RGlyZWN0aXZlIH0gZnJvbSAnLi9wYWdlci1pdGVtcy1jb21wJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdQYWdlcicsXG4gICAgdGVtcGxhdGU6IGAgPERldGFjaGVkQ29udGFpbmVyPlxuICAgICAgICA8UGxhY2Vob2xkZXIgI2xvYWRlcj48L1BsYWNlaG9sZGVyPlxuICAgIDwvRGV0YWNoZWRDb250YWluZXI+YCxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVEVNUExBVEVEX0lURU1TX0NPTVBPTkVOVCxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFBhZ2VyQ29tcG9uZW50KVxuICAgICAgICB9XG4gICAgXVxufSlcbmV4cG9ydCBjbGFzcyBQYWdlckNvbXBvbmVudCBleHRlbmRzIFRlbXBsYXRlZEl0ZW1zQ29tcG9uZW50IHtcbiAgICBwdWJsaWMgZ2V0IG5hdGl2ZUVsZW1lbnQoKTogUGFnZXIge1xuICAgICAgICByZXR1cm4gdGhpcy50ZW1wbGF0ZWRJdGVtc1ZpZXc7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIF9pdGVyYWJsZURpZmZlcnM6IEl0ZXJhYmxlRGlmZmVycykge1xuICAgICAgICBzdXBlcihfZWxlbWVudFJlZiwgX2l0ZXJhYmxlRGlmZmVycyk7XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogW1BhZ2VyQ29tcG9uZW50LCBUZW1wbGF0ZUtleURpcmVjdGl2ZSwgUGFnZXJJdGVtRGlyZWN0aXZlXSxcbiAgICBleHBvcnRzOiBbUGFnZXJDb21wb25lbnQsIFRlbXBsYXRlS2V5RGlyZWN0aXZlLCBQYWdlckl0ZW1EaXJlY3RpdmVdLFxuICAgIHNjaGVtYXM6IFtOT19FUlJPUlNfU0NIRU1BXVxufSlcbmV4cG9ydCBjbGFzcyBQYWdlck1vZHVsZSB7fVxuIl19
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlc2NyaXB0LWNvbW11bml0eS11aS1wYWdlci1hbmd1bGFyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3VpLXBhZ2VyL2FuZ3VsYXIvbmF0aXZlc2NyaXB0LWNvbW11bml0eS11aS1wYWdlci1hbmd1bGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -1,332 +0,0 @@
1
- import { Component, ContentChild, Directive, EventEmitter, Host, Inject, InjectionToken, Input, Output, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';
2
- import { Pager, PagerError, PagerItem, PagerLog } from '@nativescript-community/ui-pager';
3
- import { extractSingleViewRecursive, isInvisibleNode, isListLikeIterable, registerElement } from '@nativescript/angular';
4
- import { LayoutBase, Trace, isIOS } from '@nativescript/core';
5
- import { ObservableArray } from '@nativescript/core/data/observable-array';
6
- import { profile } from '@nativescript/core/profiling';
7
- import * as i0 from "@angular/core";
8
- const _c0 = ["loader"];
9
- registerElement('Pager', () => Pager);
10
- registerElement('PagerItem', () => PagerItem);
11
- const NG_VIEW = '_ngViewRef';
12
- export class ItemContext {
13
- $implicit;
14
- item;
15
- index;
16
- even;
17
- odd;
18
- constructor($implicit, item, index, even, odd) {
19
- this.$implicit = $implicit;
20
- this.item = item;
21
- this.index = index;
22
- this.even = even;
23
- this.odd = odd;
24
- }
25
- }
26
- export class TemplatedItemsComponent {
27
- _iterableDiffers;
28
- templatedItemsView;
29
- _items;
30
- _differ;
31
- _templateMap;
32
- _selectedIndex;
33
- loader;
34
- setupItemView = new EventEmitter();
35
- itemTemplateQuery;
36
- itemTemplate;
37
- get items() {
38
- return this._items;
39
- }
40
- set items(value) {
41
- this._items = value;
42
- let needDiffer = true;
43
- if (value instanceof ObservableArray) {
44
- needDiffer = false;
45
- }
46
- if (needDiffer && !this._differ && isListLikeIterable(value)) {
47
- this._differ = this._iterableDiffers.find(this._items).create((_index, item) => item);
48
- }
49
- this.templatedItemsView.items = this._items;
50
- }
51
- get selectedIndex() {
52
- return this._selectedIndex;
53
- }
54
- set selectedIndex(value) {
55
- this._selectedIndex = value;
56
- this.templatedItemsView.selectedIndex = this._selectedIndex;
57
- }
58
- ngAfterViewInit() {
59
- if (!!this._selectedIndex) {
60
- setTimeout(() => {
61
- if (isIOS) {
62
- this.templatedItemsView.scrollToIndexAnimated(this._selectedIndex, false);
63
- }
64
- this.templatedItemsView.selectedIndex = this._selectedIndex;
65
- });
66
- }
67
- }
68
- constructor(_elementRef, _iterableDiffers) {
69
- this._iterableDiffers = _iterableDiffers;
70
- this.templatedItemsView = _elementRef.nativeElement;
71
- this.templatedItemsView.on('itemLoading', this.onItemLoading, this);
72
- this.templatedItemsView.on('itemDisposing', this.onItemDisposing, this);
73
- }
74
- ngAfterContentInit() {
75
- if (Trace.isEnabled()) {
76
- PagerLog('TemplatedItemsView.ngAfterContentInit()');
77
- }
78
- this.setItemTemplates();
79
- }
80
- ngOnDestroy() {
81
- this.templatedItemsView.off('itemLoading', this.onItemLoading, this);
82
- this.templatedItemsView.off('itemDisposing', this.onItemDisposing, this);
83
- }
84
- setItemTemplates() {
85
- if (!this.items)
86
- return;
87
- // The itemTemplateQuery may be changed after list items are added that contain <template> inside,
88
- // so cache and use only the original template to avoid errors.
89
- this.itemTemplate = this.itemTemplateQuery;
90
- if (this._templateMap) {
91
- if (Trace.isEnabled()) {
92
- PagerLog('Setting templates');
93
- }
94
- const templates = [];
95
- this._templateMap.forEach((value) => {
96
- templates.push(value);
97
- });
98
- this.templatedItemsView.itemTemplates = templates;
99
- }
100
- }
101
- registerTemplate(key, template) {
102
- if (Trace.isEnabled()) {
103
- PagerLog(`registerTemplate for key: ${key}`);
104
- }
105
- if (!this._templateMap) {
106
- this._templateMap = new Map();
107
- }
108
- const keyedTemplate = {
109
- key,
110
- createView: this.getItemTemplateViewFactory(template)
111
- };
112
- this._templateMap.set(key, keyedTemplate);
113
- }
114
- onItemLoading(args) {
115
- if (!args.view && !this.itemTemplate) {
116
- return;
117
- }
118
- if (!this.items)
119
- return;
120
- const index = args.index;
121
- const items = args.object.items;
122
- const currentItem = typeof items.getItem === 'function' ? items.getItem(index) : items[index];
123
- let viewRef;
124
- if (args.view) {
125
- if (Trace.isEnabled()) {
126
- PagerLog(`onItemLoading: ${index} - Reusing existing view`);
127
- }
128
- viewRef = args.view[NG_VIEW];
129
- // Getting angular view from original element (in cases when ProxyViewContainer
130
- // is used NativeScript internally wraps it in a StackLayout)
131
- if (!viewRef && args.view instanceof LayoutBase && args.view.getChildrenCount() > 0) {
132
- viewRef = args.view.getChildAt(0)[NG_VIEW];
133
- }
134
- if (!viewRef && Trace.isEnabled()) {
135
- PagerError(`ViewReference not found for item ${index}. View recycling is not working`);
136
- }
137
- }
138
- if (!viewRef) {
139
- if (Trace.isEnabled()) {
140
- PagerLog(`onItemLoading: ${index} - Creating view from template`);
141
- }
142
- viewRef = this.loader.createEmbeddedView(this.itemTemplate, new ItemContext(), 0);
143
- args.view = getItemViewRoot(viewRef);
144
- args.view[NG_VIEW] = viewRef;
145
- }
146
- this.setupViewRef(viewRef, currentItem, index);
147
- this.detectChangesOnChild(viewRef, index);
148
- }
149
- onItemDisposing(args) {
150
- if (!args.view) {
151
- return;
152
- }
153
- let viewRef;
154
- if (args.view) {
155
- if (Trace.isEnabled()) {
156
- PagerLog(`onItemDisposing: ${args.index} - Removing angular view`);
157
- }
158
- viewRef = args.view[NG_VIEW];
159
- // Getting angular view from original element (in cases when ProxyViewContainer
160
- // is used NativeScript internally wraps it in a StackLayout)
161
- if (!viewRef && args.view instanceof LayoutBase && args.view.getChildrenCount() > 0) {
162
- viewRef = args.view.getChildAt(0)[NG_VIEW];
163
- }
164
- if (!viewRef && Trace.isEnabled()) {
165
- PagerError(`ViewReference not found for item ${args.index}. View disposing is not working`);
166
- }
167
- }
168
- if (viewRef) {
169
- if (Trace.isEnabled()) {
170
- PagerLog(`onItemDisposing: ${args.index} - Disposing view reference`);
171
- }
172
- viewRef.destroy();
173
- }
174
- }
175
- setupViewRef(viewRef, data, index) {
176
- const context = viewRef.context;
177
- context.$implicit = data;
178
- context.item = data;
179
- context.index = index;
180
- context.even = index % 2 === 0;
181
- context.odd = !context.even;
182
- this.setupItemView.next({
183
- view: viewRef,
184
- data,
185
- index,
186
- context
187
- });
188
- }
189
- getItemTemplateViewFactory(template) {
190
- return () => {
191
- const viewRef = this.loader.createEmbeddedView(template, new ItemContext(), 0);
192
- const resultView = getItemViewRoot(viewRef);
193
- resultView[NG_VIEW] = viewRef;
194
- return resultView;
195
- };
196
- }
197
- detectChangesOnChild(viewRef, index) {
198
- if (Trace.isEnabled()) {
199
- PagerLog(`Manually detect changes in child: ${index}`);
200
- }
201
- viewRef.markForCheck();
202
- viewRef.detectChanges();
203
- }
204
- ngDoCheck() {
205
- if (this._differ) {
206
- if (Trace.isEnabled()) {
207
- PagerLog('ngDoCheck() - execute differ');
208
- }
209
- const changes = this._differ.diff(this._items);
210
- if (changes) {
211
- if (Trace.isEnabled()) {
212
- PagerLog('ngDoCheck() - refresh');
213
- }
214
- this.templatedItemsView.refresh();
215
- }
216
- }
217
- }
218
- static ɵfac = function TemplatedItemsComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TemplatedItemsComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.IterableDiffers)); };
219
- static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: TemplatedItemsComponent, selectors: [["ng-component"]], contentQueries: function TemplatedItemsComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
220
- i0.ɵɵcontentQuery(dirIndex, TemplateRef, 5);
221
- } if (rf & 2) {
222
- let _t;
223
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.itemTemplateQuery = _t.first);
224
- } }, viewQuery: function TemplatedItemsComponent_Query(rf, ctx) { if (rf & 1) {
225
- i0.ɵɵviewQuery(_c0, 5, ViewContainerRef);
226
- } if (rf & 2) {
227
- let _t;
228
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loader = _t.first);
229
- } }, inputs: { items: "items", selectedIndex: "selectedIndex" }, outputs: { setupItemView: "setupItemView" }, decls: 0, vars: 0, template: function TemplatedItemsComponent_Template(rf, ctx) { }, encapsulation: 2 });
230
- }
231
- __decorate([
232
- profile
233
- ], TemplatedItemsComponent.prototype, "onItemLoading", null);
234
- __decorate([
235
- profile
236
- ], TemplatedItemsComponent.prototype, "onItemDisposing", null);
237
- __decorate([
238
- profile
239
- ], TemplatedItemsComponent.prototype, "detectChangesOnChild", null);
240
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TemplatedItemsComponent, [{
241
- type: Component,
242
- args: [{
243
- template: ''
244
- }]
245
- }], () => [{ type: i0.ElementRef }, { type: i0.IterableDiffers }], { loader: [{
246
- type: ViewChild,
247
- args: ['loader', { read: ViewContainerRef, static: false }]
248
- }], setupItemView: [{
249
- type: Output
250
- }], itemTemplateQuery: [{
251
- type: ContentChild,
252
- args: [TemplateRef, { static: false }]
253
- }], items: [{
254
- type: Input
255
- }], selectedIndex: [{
256
- type: Input
257
- }], onItemLoading: [], onItemDisposing: [], detectChangesOnChild: [] }); })();
258
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(TemplatedItemsComponent, { className: "TemplatedItemsComponent", filePath: "pager-items-comp.ts", lineNumber: 60 }); })();
259
- export function getItemViewRoot(viewRef, rootLocator = extractSingleViewRecursive) {
260
- return rootLocator(viewRef.rootNodes, 0);
261
- }
262
- export const TEMPLATED_ITEMS_COMPONENT = new InjectionToken('TemplatedItemsComponent');
263
- export class PagerItemDirective {
264
- templateRef;
265
- owner;
266
- viewContainer;
267
- item;
268
- constructor(templateRef, owner, viewContainer) {
269
- this.templateRef = templateRef;
270
- this.owner = owner;
271
- this.viewContainer = viewContainer;
272
- }
273
- ensureItem() {
274
- if (!this.item) {
275
- this.item = new PagerItem();
276
- }
277
- }
278
- applyConfig() {
279
- this.ensureItem();
280
- }
281
- ngOnInit() {
282
- this.applyConfig();
283
- const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
284
- // Filter out text nodes and comments
285
- const realViews = viewRef.rootNodes.filter((node) => !isInvisibleNode(node));
286
- if (realViews.length > 0) {
287
- const view = realViews[0];
288
- this.item.addChild(view);
289
- this.owner.nativeElement._addChildFromBuilder('PagerItem', this.item);
290
- }
291
- }
292
- static ɵfac = function PagerItemDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PagerItemDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(TEMPLATED_ITEMS_COMPONENT, 1), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); };
293
- static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PagerItemDirective, selectors: [["", "pagerItem", ""]] });
294
- }
295
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerItemDirective, [{
296
- type: Directive,
297
- args: [{
298
- selector: '[pagerItem]'
299
- }]
300
- }], () => [{ type: i0.TemplateRef }, { type: TemplatedItemsComponent, decorators: [{
301
- type: Inject,
302
- args: [TEMPLATED_ITEMS_COMPONENT]
303
- }, {
304
- type: Host
305
- }] }, { type: i0.ViewContainerRef }], null); })();
306
- export class TemplateKeyDirective {
307
- templateRef;
308
- comp;
309
- constructor(templateRef, comp) {
310
- this.templateRef = templateRef;
311
- this.comp = comp;
312
- }
313
- set pagerTemplateKey(value) {
314
- if (this.comp && this.templateRef) {
315
- this.comp.registerTemplate(value, this.templateRef);
316
- }
317
- }
318
- static ɵfac = function TemplateKeyDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || TemplateKeyDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(TEMPLATED_ITEMS_COMPONENT, 1)); };
319
- static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: TemplateKeyDirective, selectors: [["", "pagerTemplateKey", ""]], inputs: { pagerTemplateKey: "pagerTemplateKey" } });
320
- }
321
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TemplateKeyDirective, [{
322
- type: Directive,
323
- args: [{ selector: '[pagerTemplateKey]' }]
324
- }], () => [{ type: i0.TemplateRef }, { type: TemplatedItemsComponent, decorators: [{
325
- type: Inject,
326
- args: [TEMPLATED_ITEMS_COMPONENT]
327
- }, {
328
- type: Host
329
- }] }], { pagerTemplateKey: [{
330
- type: Input
331
- }] }); })();
332
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXItaXRlbXMtY29tcC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91aS1wYWdlci9hbmd1bGFyL3BhZ2VyLWl0ZW1zLWNvbXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILFNBQVMsRUFDVCxZQUFZLEVBQ1osU0FBUyxFQUlULFlBQVksRUFDWixJQUFJLEVBQ0osTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBS0wsTUFBTSxFQUNOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsZ0JBQWdCLEVBQ25CLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMxRixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsZUFBZSxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3pILE9BQU8sRUFBNEIsVUFBVSxFQUFZLEtBQUssRUFBUSxLQUFLLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN4RyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFHdkQsZUFBZSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUN0QyxlQUFlLENBQUMsV0FBVyxFQUFFLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBRTlDLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQztBQWM3QixNQUFNLE9BQU8sV0FBVztJQUNEO0lBQXdCO0lBQW1CO0lBQXVCO0lBQXVCO0lBQTVHLFlBQW1CLFNBQWUsRUFBUyxJQUFVLEVBQVMsS0FBYyxFQUFTLElBQWMsRUFBUyxHQUFhO1FBQXRHLGNBQVMsR0FBVCxTQUFTLENBQU07UUFBUyxTQUFJLEdBQUosSUFBSSxD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SUFBSSxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3hELENBQUM7SUFDTCxDQUFDOzhHQWJRLG9CQUFvQiw2REFHakIseUJBQXlCOzZEQUg1QixvQkFBb0I7O2lGQUFwQixvQkFBb0I7Y0FEaEMsU0FBUztlQUFDLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixFQUFFOztzQkFJcEMsTUFBTTt1QkFBQyx5QkFBeUI7O3NCQUNoQyxJQUFJO3FCQUtMLGdCQUFnQjtrQkFEbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIERpcmVjdGl2ZSxcbiAgICBEb0NoZWNrLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBIb3N0LFxuICAgIEluamVjdCxcbiAgICBJbmplY3Rpb25Ub2tlbixcbiAgICBJbnB1dCxcbiAgICBJdGVyYWJsZURpZmZlcixcbiAgICBJdGVyYWJsZURpZmZlcnMsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBPdXRwdXQsXG4gICAgVGVtcGxhdGVSZWYsXG4gICAgVmlld0NoaWxkLFxuICAgIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQYWdlciwgUGFnZXJFcnJvciwgUGFnZXJJdGVtLCBQYWdlckxvZyB9IGZyb20gJ0BuYXRpdmVzY3JpcHQtY29tbXVuaXR5L3VpLXBhZ2VyJztcbmltcG9ydCB7IGV4dHJhY3RTaW5nbGVWaWV3UmVjdXJzaXZlLCBpc0ludmlzaWJsZU5vZGUsIGlzTGlzdExpa2VJdGVyYWJsZSwgcmVnaXN0ZXJFbGVtZW50IH0gZnJvbSAnQG5hdGl2ZXNjcmlwdC9hbmd1bGFyJztcbmltcG9ydCB7IEV2ZW50RGF0YSwgS2V5ZWRUZW1wbGF0ZSwgTGF5b3V0QmFzZSwgVGVtcGxhdGUsIFRyYWNlLCBWaWV3LCBpc0lPUyB9IGZyb20gJ0BuYXRpdmVzY3JpcHQvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlQXJyYXkgfSBmcm9tICdAbmF0aXZlc2NyaXB0L2NvcmUvZGF0YS9vYnNlcnZhYmxlLWFycmF5JztcbmltcG9ydCB7IHByb2ZpbGUgfSBmcm9tICdAbmF0aXZlc2NyaXB0L2NvcmUvcHJvZmlsaW5nJztcbmltcG9ydCB7IEl0ZW1FdmVudERhdGEsIEl0ZW1zU291cmNlIH0gZnJvbSAnQG5hdGl2ZXNjcmlwdC9jb3JlL3VpL2xpc3Qtdmlldyc7XG5cbnJlZ2lzdGVyRWxlbWVudCgnUGFnZXInLCAoKSA9PiBQYWdlcik7XG5yZWdpc3RlckVsZW1lbnQoJ1BhZ2VySXRlbScsICgpID0+IFBhZ2VySXRlbSk7XG5cbmNvbnN0IE5HX1ZJRVcgPSAnX25nVmlld1JlZic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGFnZXJUZW1wbGF0ZWRJdGVtc1ZpZXcge1xuICAgIGl0ZW1zOiBhbnlbXSB8IEl0ZW1zU291cmNlO1xuICAgIGl0ZW1UZW1wbGF0ZTogc3RyaW5nIHwgVGVtcGxhdGU7XG4gICAgaXRlbVRlbXBsYXRlcz86IHN0cmluZyB8IEtleWVkVGVtcGxhdGVbXTtcblxuICAgIHJlZnJlc2goKTogdm9pZDtcblxuICAgIG9uKGV2ZW50OiAnaXRlbURpc3Bvc2luZycgfCAnaXRlbUxvYWRpbmcnLCBjYWxsYmFjazogKGFyZ3M6IEl0ZW1FdmVudERhdGEpID0+IHZvaWQsIHRoaXNBcmc/OiBhbnkpO1xuXG4gICAgb2ZmKGV2ZW50OiAnaXRlbUxvYWRpbmcnIHwgJ2l0ZW1EaXNwb3NpbmcnLCBjYWxsYmFjazogKGFyZ3M6IEV2ZW50RGF0YSkgPT4gdm9pZCwgdGhpc0FyZz86IGFueSk7XG59XG5cbmV4cG9ydCBjbGFzcyBJdGVtQ29udGV4dCB7XG4gICAgY29uc3RydWN0b3IocHVibGljICRpbXBsaWNpdD86IGFueSwgcHVibGljIGl0ZW0/OiBhbnksIHB1YmxpYyBpbmRleD86IG51bWJlciwgcHVibGljIGV2ZW4/OiBib29sZWFuLCBwdWJsaWMgb2RkPzogYm9vbGVhbikge31cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZXR1cEl0ZW1WaWV3QXJncyB7XG4gICAgdmlldzogRW1iZWRkZWRWaWV3UmVmPGFueT47XG4gICAgZGF0YTogYW55O1xuICAgIGluZGV4OiBudW1iZXI7XG4gICAgY29udGV4dDogSXRlbUNvbnRleHQ7XG59XG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZTogJydcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVGVtcGxhdGVkSXRlbXNDb21wb25lbnQgaW1wbGVtZW50cyBEb0NoZWNrLCBPbkRlc3Ryb3ksIEFmdGVyQ29udGVudEluaXQge1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXQgbmF0aXZlRWxlbWVudCgpOiBQYWdlcjtcblxuICAgIHByb3RlY3RlZCB0ZW1wbGF0ZWRJdGVtc1ZpZXc6IFBhZ2VyO1xuICAgIHByb3RlY3RlZCBfaXRlbXM6IGFueTtcbiAgICBwcm90ZWN0ZWQgX2RpZmZlcjogSXRlcmFibGVEaWZmZXI8S2V5ZWRUZW1wbGF0ZT47XG4gICAgcHJvdGVjdGVkIF90ZW1wbGF0ZU1hcDogTWFwPHN0cmluZywgS2V5ZWRUZW1wbGF0ZT47XG4gICAgcHJpdmF0ZSBfc2VsZWN0ZWRJbmRleDogbnVtYmVyO1xuICAgIEBWaWV3Q2hpbGQoJ2xvYWRlcicsIHsgcmVhZDogVmlld0NvbnRhaW5lclJlZiwgc3RhdGljOiBmYWxzZSB9KSBsb2FkZXI6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgc2V0dXBJdGVtVmlldyA9IG5ldyBFdmVudEVtaXR0ZXI8U2V0dXBJdGVtVmlld0FyZ3M+KCk7XG5cbiAgICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmLCB7IHN0YXRpYzogZmFsc2UgfSkgaXRlbVRlbXBsYXRlUXVlcnk6IFRlbXBsYXRlUmVmPEl0ZW1Db250ZXh0PjtcblxuICAgIGl0ZW1UZW1wbGF0ZTogVGVtcGxhdGVSZWY8SXRlbUNvbnRleHQ+O1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgaXRlbXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pdGVtcztcbiAgICB9XG5cbiAgICBzZXQgaXRlbXModmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl9pdGVtcyA9IHZhbHVlO1xuICAgICAgICBsZXQgbmVlZERpZmZlciA9IHRydWU7XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE9ic2VydmFibGVBcnJheSkge1xuICAgICAgICAgICAgbmVlZERpZmZlciA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuZWVkRGlmZmVyICYmICF0aGlzLl9kaWZmZXIgJiYgaXNMaXN0TGlrZUl0ZXJhYmxlKHZhbHVlKSkge1xuICAgICAgICAgICAgdGhpcy5fZGlmZmVyID0gdGhpcy5faXRlcmFibGVEaWZmZXJzLmZpbmQodGhpcy5faXRlbXMpLmNyZWF0ZSgoX2luZGV4LCBpdGVtKSA9PiBpdGVtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3Lml0ZW1zID0gdGhpcy5faXRlbXM7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBnZXQgc2VsZWN0ZWRJbmRleCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2VsZWN0ZWRJbmRleDtcbiAgICB9XG5cbiAgICBzZXQgc2VsZWN0ZWRJbmRleCh2YWx1ZSkge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZEluZGV4ID0gdmFsdWU7XG4gICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3LnNlbGVjdGVkSW5kZXggPSB0aGlzLl9zZWxlY3RlZEluZGV4O1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgaWYgKCEhdGhpcy5fc2VsZWN0ZWRJbmRleCkge1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGlzSU9TKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3LnNjcm9sbFRvSW5kZXhBbmltYXRlZCh0aGlzLl9zZWxlY3RlZEluZGV4LCBmYWxzZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3LnNlbGVjdGVkSW5kZXggPSB0aGlzLl9zZWxlY3RlZEluZGV4O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihfZWxlbWVudFJlZjogRWxlbWVudFJlZiwgcHJpdmF0ZSBfaXRlcmFibGVEaWZmZXJzOiBJdGVyYWJsZURpZmZlcnMpIHtcbiAgICAgICAgdGhpcy50ZW1wbGF0ZWRJdGVtc1ZpZXcgPSBfZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3Lm9uKCdpdGVtTG9hZGluZycsIHRoaXMub25JdGVtTG9hZGluZywgdGhpcyk7XG4gICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3Lm9uKCdpdGVtRGlzcG9zaW5nJywgdGhpcy5vbkl0ZW1EaXNwb3NpbmcsIHRoaXMpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgaWYgKFRyYWNlLmlzRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICBQYWdlckxvZygnVGVtcGxhdGVkSXRlbXNWaWV3Lm5nQWZ0ZXJDb250ZW50SW5pdCgpJyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZXRJdGVtVGVtcGxhdGVzKCk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3Lm9mZignaXRlbUxvYWRpbmcnLCB0aGlzLm9uSXRlbUxvYWRpbmcsIHRoaXMpO1xuICAgICAgICB0aGlzLnRlbXBsYXRlZEl0ZW1zVmlldy5vZmYoJ2l0ZW1EaXNwb3NpbmcnLCB0aGlzLm9uSXRlbURpc3Bvc2luZywgdGhpcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRJdGVtVGVtcGxhdGVzKCkge1xuICAgICAgICBpZiAoIXRoaXMuaXRlbXMpIHJldHVybjtcbiAgICAgICAgLy8gVGhlIGl0ZW1UZW1wbGF0ZVF1ZXJ5IG1heSBiZSBjaGFuZ2VkIGFmdGVyIGxpc3QgaXRlbXMgYXJlIGFkZGVkIHRoYXQgY29udGFpbiA8dGVtcGxhdGU+IGluc2lkZSxcbiAgICAgICAgLy8gc28gY2FjaGUgYW5kIHVzZSBvbmx5IHRoZSBvcmlnaW5hbCB0ZW1wbGF0ZSB0byBhdm9pZCBlcnJvcnMuXG4gICAgICAgIHRoaXMuaXRlbVRlbXBsYXRlID0gdGhpcy5pdGVtVGVtcGxhdGVRdWVyeTtcblxuICAgICAgICBpZiAodGhpcy5fdGVtcGxhdGVNYXApIHtcbiAgICAgICAgICAgIGlmIChUcmFjZS5pc0VuYWJsZWQoKSkge1xuICAgICAgICAgICAgICAgIFBhZ2VyTG9nKCdTZXR0aW5nIHRlbXBsYXRlcycpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB0ZW1wbGF0ZXM6IEtleWVkVGVtcGxhdGVbXSA9IFtdO1xuICAgICAgICAgICAgdGhpcy5fdGVtcGxhdGVNYXAuZm9yRWFjaCgodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICB0ZW1wbGF0ZXMucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMudGVtcGxhdGVkSXRlbXNWaWV3Lml0ZW1UZW1wbGF0ZXMgPSB0ZW1wbGF0ZXM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVnaXN0ZXJUZW1wbGF0ZShrZXk6IHN0cmluZywgdGVtcGxhdGU6IFRlbXBsYXRlUmVmPEl0ZW1Db250ZXh0Pikge1xuICAgICAgICBpZiAoVHJhY2UuaXNFbmFibGVkKCkpIHtcbiAgICAgICAgICAgIFBhZ2VyTG9nKGByZWdpc3RlclRlbXBsYXRlIGZvciBrZXk6ICR7a2V5fWApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLl90ZW1wbGF0ZU1hcCkge1xuICAgICAgICAgICAgdGhpcy5fdGVtcGxhdGVNYXAgPSBuZXcgTWFwPHN0cmluZywgS2V5ZWRUZW1wbGF0ZT4oKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGtleWVkVGVtcGxhdGUgPSB7XG4gICAgICAgICAgICBrZXksXG4gICAgICAgICAgICBjcmVhdGVWaWV3OiB0aGlzLmdldEl0ZW1UZW1wbGF0ZVZpZXdGYWN0b3J5KHRlbXBsYXRlKVxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuX3RlbXBsYXRlTWFwLnNldChrZXksIGtleWVkVGVtcGxhdGUpO1xuICAgIH1cblxuICAgIEBwcm9maWxlXG4gICAgcHVibGljIG9uSXRlbUxvYWRpbmcoYXJnczogSXRlbUV2ZW50RGF0YSkge1xuICAgICAgICBpZiAoIWFyZ3MudmlldyAmJiAhdGhpcy5pdGVtVGVtcGxhdGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5pdGVtcykgcmV0dXJuO1xuXG4gICAgICAgIGNvbnN0IGluZGV4ID0gYXJncy5pbmRleDtcbiAgICAgICAgY29uc3QgaXRlbXMgPSAoYXJncy5vYmplY3QgYXMgYW55KS5pdGVtcztcbiAgICAgICAgY29uc3QgY3VycmVudEl0ZW0gPSB0eXBlb2YgaXRlbXMuZ2V0SXRlbSA9PT0gJ2Z1bmN0aW9uJyA/IGl0ZW1zLmdldEl0ZW0oaW5kZXgpIDogaXRlbXNbaW5kZXhdO1xuICAgICAgICBsZXQgdmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPEl0ZW1Db250ZXh0PjtcblxuICAgICAgICBpZiAoYXJncy52aWV3KSB7XG4gICAgICAgICAgICBpZiAoVHJhY2UuaXNFbmFibGVkKCkpIHtcbiAgICAgICAgICAgICAgICBQYWdlckxvZyhgb25JdGVtTG9hZGluZzogJHtpbmRleH0gLSBSZXVzaW5nIGV4aXN0aW5nIHZpZXdgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmlld1JlZiA9IGFyZ3Mudmlld1tOR19WSUVXXTtcbiAgICAgICAgICAgIC8vIEdldHRpbmcgYW5ndWxhciB2aWV3IGZyb20gb3JpZ2luYWwgZWxlbWVudCAoaW4gY2FzZXMgd2hlbiBQcm94eVZpZXdDb250YWluZXJcbiAgICAgICAgICAgIC8vIGlzIHVzZWQgTmF0aXZlU2NyaXB0IGludGVybmFsbHkgd3JhcHMgaXQgaW4gYSBTdGFja0xheW91dClcbiAgICAgICAgICAgIGlmICghdmlld1JlZiAmJiBhcmdzLnZpZXcgaW5zdGFuY2VvZiBMYXlvdXRCYXNlICYmIGFyZ3Mudmlldy5nZXRDaGlsZHJlbkNvdW50KCkgPiAwKSB7XG4gICAgICAgICAgICAgICAgdmlld1JlZiA9IGFyZ3Mudmlldy5nZXRDaGlsZEF0KDApW05HX1ZJRVddO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIXZpZXdSZWYgJiYgVHJhY2UuaXNFbmFibGVkKCkpIHtcbiAgICAgICAgICAgICAgICBQYWdlckVycm9yKGBWaWV3UmVmZXJlbmNlIG5vdCBmb3VuZCBmb3IgaXRlbSAke2luZGV4fS4gVmlldyByZWN5Y2xpbmcgaXMgbm90IHdvcmtpbmdgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdmlld1JlZikge1xuICAgICAgICAgICAgaWYgKFRyYWNlLmlzRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICAgICAgUGFnZXJMb2coYG9uSXRlbUxvYWRpbmc6ICR7aW5kZXh9IC0gQ3JlYXRpbmcgdmlldyBmcm9tIHRlbXBsYXRlYCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZpZXdSZWYgPSB0aGlzLmxvYWRlci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy5pdGVtVGVtcGxhdGUsIG5ldyBJdGVtQ29udGV4dCgpLCAwKTtcbiAgICAgICAgICAgIGFyZ3MudmlldyA9IGdldEl0ZW1WaWV3Um9vdCh2aWV3UmVmKTtcbiAgICAgICAgICAgIGFyZ3Mudmlld1tOR19WSUVXXSA9IHZpZXdSZWY7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldHVwVmlld1JlZih2aWV3UmVmLCBjdXJyZW50SXRlbSwgaW5kZXgpO1xuXG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlc09uQ2hpbGQodmlld1JlZiwgaW5kZXgpO1xuICAgIH1cblxuICAgIEBwcm9maWxlXG4gICAgcHVibGljIG9uSXRlbURpc3Bvc2luZyhhcmdzOiBJdGVtRXZlbnREYXRhKSB7XG4gICAgICAgIGlmICghYXJncy52aWV3KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbGV0IHZpZXdSZWY6IEVtYmVkZGVkVmlld1JlZjxJdGVtQ29udGV4dD47XG5cbiAgICAgICAgaWYgKGFyZ3Mudmlldykge1xuICAgICAgICAgICAgaWYgKFRyYWNlLmlzRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICAgICAgUGFnZXJMb2coYG9uSXRlbURpc3Bvc2luZzogJHthcmdzLmluZGV4fSAtIFJlbW92aW5nIGFuZ3VsYXIgdmlld2ApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2aWV3UmVmID0gYXJncy52aWV3W05HX1ZJRVddO1xuICAgICAgICAgICAgLy8gR2V0dGluZyBhbmd1bGFyIHZpZXcgZnJvbSBvcmlnaW5hbCBlbGVtZW50IChpbiBjYXNlcyB3aGVuIFByb3h5Vmlld0NvbnRhaW5lclxuICAgICAgICAgICAgLy8gaXMgdXNlZCBOYXRpdmVTY3JpcHQgaW50ZXJuYWxseSB3cmFwcyBpdCBpbiBhIFN0YWNrTGF5b3V0KVxuICAgICAgICAgICAgaWYgKCF2aWV3UmVmICYmIGFyZ3MudmlldyBpbnN0YW5jZW9mIExheW91dEJhc2UgJiYgYXJncy52aWV3LmdldENoaWxkcmVuQ291bnQoKSA+IDApIHtcbiAgICAgICAgICAgICAgICB2aWV3UmVmID0gYXJncy52aWV3LmdldENoaWxkQXQoMClbTkdfVklFV107XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghdmlld1JlZiAmJiBUcmFjZS5pc0VuYWJsZWQoKSkge1xuICAgICAgICAgICAgICAgIFBhZ2VyRXJyb3IoYFZpZXdSZWZlcmVuY2Ugbm90IGZvdW5kIGZvciBpdGVtICR7YXJncy5pbmRleH0uIFZpZXcgZGlzcG9zaW5nIGlzIG5vdCB3b3JraW5nYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmlld1JlZikge1xuICAgICAgICAgICAgaWYgKFRyYWNlLmlzRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICAgICAgUGFnZXJMb2coYG9uSXRlbURpc3Bvc2luZzogJHthcmdzLmluZGV4fSAtIERpc3Bvc2luZyB2aWV3IHJlZmVyZW5jZWApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2aWV3UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXR1cFZpZXdSZWYodmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPEl0ZW1Db250ZXh0PiwgZGF0YTogYW55LCBpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB2aWV3UmVmLmNvbnRleHQ7XG4gICAgICAgIGNvbnRleHQuJGltcGxpY2l0ID0gZGF0YTtcbiAgICAgICAgY29udGV4dC5pdGVtID0gZGF0YTtcbiAgICAgICAgY29udGV4dC5pbmRleCA9IGluZGV4O1xuICAgICAgICBjb250ZXh0LmV2ZW4gPSBpbmRleCAlIDIgPT09IDA7XG4gICAgICAgIGNvbnRleHQub2RkID0gIWNvbnRleHQuZXZlbjtcblxuICAgICAgICB0aGlzLnNldHVwSXRlbVZpZXcubmV4dCh7XG4gICAgICAgICAgICB2aWV3OiB2aWV3UmVmLFxuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIGluZGV4LFxuICAgICAgICAgICAgY29udGV4dFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0SXRlbVRlbXBsYXRlVmlld0ZhY3RvcnkodGVtcGxhdGU6IFRlbXBsYXRlUmVmPEl0ZW1Db250ZXh0Pik6ICgpID0+IFZpZXcge1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgdmlld1JlZiA9IHRoaXMubG9hZGVyLmNyZWF0ZUVtYmVkZGVkVmlldyh0ZW1wbGF0ZSwgbmV3IEl0ZW1Db250ZXh0KCksIDApO1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0VmlldyA9IGdldEl0ZW1WaWV3Um9vdCh2aWV3UmVmKTtcbiAgICAgICAgICAgIHJlc3VsdFZpZXdbTkdfVklFV10gPSB2aWV3UmVmO1xuXG4gICAgICAgICAgICByZXR1cm4gcmVzdWx0VmlldztcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBAcHJvZmlsZVxuICAgIHByaXZhdGUgZGV0ZWN0Q2hhbmdlc09uQ2hpbGQodmlld1JlZjogRW1iZWRkZWRWaWV3UmVmPEl0ZW1Db250ZXh0PiwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAoVHJhY2UuaXNFbmFibGVkKCkpIHtcbiAgICAgICAgICAgIFBhZ2VyTG9nKGBNYW51YWxseSBkZXRlY3QgY2hhbmdlcyBpbiBjaGlsZDogJHtpbmRleH1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHZpZXdSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIHZpZXdSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIG5nRG9DaGVjaygpIHtcbiAgICAgICAgaWYgKHRoaXMuX2RpZmZlcikge1xuICAgICAgICAgICAgaWYgKFRyYWNlLmlzRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICAgICAgUGFnZXJMb2coJ25nRG9DaGVjaygpIC0gZXhlY3V0ZSBkaWZmZXInKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgY2hhbmdlcyA9IHRoaXMuX2RpZmZlci5kaWZmKHRoaXMuX2l0ZW1zKTtcbiAgICAgICAgICAgIGlmIChjaGFuZ2VzKSB7XG4gICAgICAgICAgICAgICAgaWYgKFRyYWNlLmlzRW5hYmxlZCgpKSB7XG4gICAgICAgICAgICAgICAgICAgIFBhZ2VyTG9nKCduZ0RvQ2hlY2soKSAtIHJlZnJlc2gnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0aGlzLnRlbXBsYXRlZEl0ZW1zVmlldy5yZWZyZXNoKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50VmlldyB7XG4gICAgcm9vdE5vZGVzOiBhbnlbXTtcblxuICAgIGRlc3Ryb3koKTogdm9pZDtcbn1cblxuZXhwb3J0IHR5cGUgUm9vdExvY2F0b3IgPSAobm9kZXM6IGFueVtdLCBuZXN0TGV2ZWw6IG51bWJlcikgPT4gVmlldztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEl0ZW1WaWV3Um9vdCh2aWV3UmVmOiBDb21wb25lbnRWaWV3LCByb290TG9jYXRvcjogUm9vdExvY2F0b3IgPSBleHRyYWN0U2luZ2xlVmlld1JlY3Vyc2l2ZSBhcyBhbnkpOiBWaWV3IHtcbiAgICByZXR1cm4gcm9vdExvY2F0b3Iodmlld1JlZi5yb290Tm9kZXMsIDApO1xufVxuXG5leHBvcnQgY29uc3QgVEVNUExBVEVEX0lURU1TX0NPTVBPTkVOVCA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUZW1wbGF0ZWRJdGVtc0NvbXBvbmVudD4oJ1RlbXBsYXRlZEl0ZW1zQ29tcG9uZW50Jyk7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3BhZ2VySXRlbV0nXG59KVxuZXhwb3J0IGNsYXNzIFBhZ2VySXRlbURpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgcHJpdmF0ZSBpdGVtOiBQYWdlckl0ZW07XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8YW55PixcbiAgICAgICAgQEluamVjdChURU1QTEFURURfSVRFTVNfQ09NUE9ORU5UKVxuICAgICAgICBASG9zdCgpXG4gICAgICAgIHByaXZhdGUgb3duZXI6IFRlbXBsYXRlZEl0ZW1zQ29tcG9uZW50LFxuICAgICAgICBwcml2YXRlIHZpZXdDb250YWluZXI6IFZpZXdDb250YWluZXJSZWZcbiAgICApIHt9XG5cbiAgICBwcml2YXRlIGVuc3VyZUl0ZW0oKSB7XG4gICAgICAgIGlmICghdGhpcy5pdGVtKSB7XG4gICAgICAgICAgICB0aGlzLml0ZW0gPSBuZXcgUGFnZXJJdGVtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5Q29uZmlnKCkge1xuICAgICAgICB0aGlzLmVuc3VyZUl0ZW0oKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5hcHBseUNvbmZpZygpO1xuXG4gICAgICAgIGNvbnN0IHZpZXdSZWYgPSB0aGlzLnZpZXdDb250YWluZXIuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMudGVtcGxhdGVSZWYpO1xuICAgICAgICAvLyBGaWx0ZXIgb3V0IHRleHQgbm9kZXMgYW5kIGNvbW1lbnRzXG4gICAgICAgIGNvbnN0IHJlYWxWaWV3cyA9IHZpZXdSZWYucm9vdE5vZGVzLmZpbHRlcigobm9kZSkgPT4gIWlzSW52aXNpYmxlTm9kZShub2RlKSk7XG5cbiAgICAgICAgaWYgKHJlYWxWaWV3cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBjb25zdCB2aWV3ID0gcmVhbFZpZXdzWzBdO1xuICAgICAgICAgICAgdGhpcy5pdGVtLmFkZENoaWxkKHZpZXcpO1xuICAgICAgICAgICAgdGhpcy5vd25lci5uYXRpdmVFbGVtZW50Ll9hZGRDaGlsZEZyb21CdWlsZGVyKCdQYWdlckl0ZW0nLCB0aGlzLml0ZW0pO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICdbcGFnZXJUZW1wbGF0ZUtleV0nIH0pXG5leHBvcnQgY2xhc3MgVGVtcGxhdGVLZXlEaXJlY3RpdmUge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxhbnk+LFxuICAgICAgICBASW5qZWN0KFRFTVBMQVRFRF9JVEVNU19DT01QT05FTlQpXG4gICAgICAgIEBIb3N0KClcbiAgICAgICAgcHJpdmF0ZSBjb21wOiBUZW1wbGF0ZWRJdGVtc0NvbXBvbmVudFxuICAgICkge31cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHBhZ2VyVGVtcGxhdGVLZXkodmFsdWU6IGFueSkge1xuICAgICAgICBpZiAodGhpcy5jb21wICYmIHRoaXMudGVtcGxhdGVSZWYpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcC5yZWdpc3RlclRlbXBsYXRlKHZhbHVlLCB0aGlzLnRlbXBsYXRlUmVmKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiJdfQ==
@@ -1,52 +0,0 @@
1
- package com.nativescript.pager;
2
- import org.json.JSONObject;
3
- import org.json.JSONArray;
4
- public class Utils {
5
- public static void updateCollection(String update, androidx.recyclerview.widget.RecyclerView.Adapter< androidx.recyclerview.widget.RecyclerView.ViewHolder> adapter){
6
- try{
7
- JSONObject json = new JSONObject(update);
8
- int index = json.getInt("index");
9
- int addedCount;
10
- int removedCount;
11
- switch(json.getString("action")){
12
- case "add":
13
- addedCount = json.getInt("addedCount");
14
- adapter.notifyItemRangeInserted(
15
- index,
16
- addedCount
17
- );
18
- break;
19
- case "delete":
20
- removedCount = json.getInt("removedCount");
21
- adapter.notifyItemRangeRemoved(
22
- index,
23
- removedCount
24
- );
25
- break;
26
- case "update":
27
- adapter.notifyItemChanged(index);
28
- break;
29
- case "splice":
30
- removedCount = json.getInt("removedCount");
31
- addedCount = json.getInt("addedCount");
32
- if (removedCount > 0) {
33
- adapter.notifyItemRangeRemoved(
34
- index,
35
- removedCount
36
- );
37
- }
38
- if (addedCount > 0) {
39
- adapter.notifyItemRangeInserted(
40
- index,
41
- addedCount
42
- );
43
- }
44
- break;
45
- case "change":
46
- break;
47
- default:
48
- break;
49
- }
50
- }catch(Exception e){}
51
- }
52
- }