@nativescript-community/ui-pager 13.0.33 → 13.0.34
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 +8 -0
- package/angular/esm2020/index.mjs +54 -0
- package/angular/{esm2015/nativescript-community-ui-pager-angular.js → esm2020/nativescript-community-ui-pager-angular.mjs} +0 -0
- package/angular/esm2020/pager-items-comp.mjs +304 -0
- package/angular/fesm2015/nativescript-community-ui-pager-angular.mjs +379 -0
- package/angular/fesm2015/nativescript-community-ui-pager-angular.mjs.map +1 -0
- package/angular/{fesm2015/nativescript-community-ui-pager-angular.js → fesm2020/nativescript-community-ui-pager-angular.mjs} +15 -24
- package/angular/fesm2020/nativescript-community-ui-pager-angular.mjs.map +1 -0
- package/angular/package.json +20 -6
- package/index.android.js +18 -29
- package/index.android.js.map +1 -1
- package/index.common.js.map +1 -1
- package/index.d.ts +1 -1
- package/index.ios.d.ts +15 -15
- package/index.ios.js +105 -88
- package/index.ios.js.map +1 -1
- package/package.json +9 -4
- package/react/index.d.ts +5 -5
- package/references.d.ts +1 -0
- package/typings/objc!CHIPageControl.d.ts +197 -0
- package/vue/pager.js +15 -15
- package/vue/pager.js.map +1 -1
- package/.pnpm-debug.log +0 -1
- package/angular/bundles/nativescript-community-ui-pager-angular.umd.js +0 -759
- package/angular/bundles/nativescript-community-ui-pager-angular.umd.js.map +0 -1
- package/angular/esm2015/index.js +0 -55
- package/angular/esm2015/pager-items-comp.js +0 -312
- package/angular/fesm2015/nativescript-community-ui-pager-angular.js.map +0 -1
@@ -0,0 +1,379 @@
|
|
1
|
+
import * as i0 from '@angular/core';
|
2
|
+
import { EventEmitter, ɵisListLikeIterable, TemplateRef, ViewContainerRef, Component, ViewChild, Output, ContentChild, Input, InjectionToken, Directive, Inject, Host, forwardRef, ChangeDetectionStrategy, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
|
3
|
+
import { Pager, PagerItem, PagerLog, PagerError } from '@nativescript-community/ui-pager';
|
4
|
+
import { registerElement, extractSingleViewRecursive, isInvisibleNode } from '@nativescript/angular';
|
5
|
+
import { isIOS, Trace, LayoutBase } from '@nativescript/core';
|
6
|
+
import { ObservableArray } from '@nativescript/core/data/observable-array';
|
7
|
+
import { profile } from '@nativescript/core/profiling';
|
8
|
+
|
9
|
+
const _c0 = ["loader"];
|
10
|
+
registerElement('Pager', () => Pager);
|
11
|
+
registerElement('PagerItem', () => PagerItem);
|
12
|
+
const NG_VIEW = '_ngViewRef';
|
13
|
+
class ItemContext {
|
14
|
+
constructor($implicit, item, index, even, odd) {
|
15
|
+
this.$implicit = $implicit;
|
16
|
+
this.item = item;
|
17
|
+
this.index = index;
|
18
|
+
this.even = even;
|
19
|
+
this.odd = odd;
|
20
|
+
}
|
21
|
+
}
|
22
|
+
class TemplatedItemsComponent {
|
23
|
+
constructor(_elementRef, _iterableDiffers) {
|
24
|
+
this._iterableDiffers = _iterableDiffers;
|
25
|
+
this.setupItemView = new EventEmitter();
|
26
|
+
this.templatedItemsView = _elementRef.nativeElement;
|
27
|
+
this.templatedItemsView.on('itemLoading', this.onItemLoading, this);
|
28
|
+
this.templatedItemsView.on('itemDisposing', this.onItemDisposing, this);
|
29
|
+
}
|
30
|
+
get items() {
|
31
|
+
return this._items;
|
32
|
+
}
|
33
|
+
set items(value) {
|
34
|
+
this._items = value;
|
35
|
+
let needDiffer = true;
|
36
|
+
if (value instanceof ObservableArray) {
|
37
|
+
needDiffer = false;
|
38
|
+
}
|
39
|
+
if (needDiffer && !this._differ && ɵisListLikeIterable(value)) {
|
40
|
+
this._differ = this._iterableDiffers.find(this._items).create((_index, item) => item);
|
41
|
+
}
|
42
|
+
this.templatedItemsView.items = this._items;
|
43
|
+
}
|
44
|
+
get selectedIndex() {
|
45
|
+
return this._selectedIndex;
|
46
|
+
}
|
47
|
+
set selectedIndex(value) {
|
48
|
+
this._selectedIndex = value;
|
49
|
+
this.templatedItemsView.selectedIndex = this._selectedIndex;
|
50
|
+
}
|
51
|
+
ngAfterViewInit() {
|
52
|
+
if (!!this._selectedIndex) {
|
53
|
+
setTimeout(() => {
|
54
|
+
if (isIOS) {
|
55
|
+
this.templatedItemsView.scrollToIndexAnimated(this._selectedIndex, false);
|
56
|
+
}
|
57
|
+
this.templatedItemsView.selectedIndex = this._selectedIndex;
|
58
|
+
});
|
59
|
+
}
|
60
|
+
}
|
61
|
+
ngAfterContentInit() {
|
62
|
+
if (Trace.isEnabled()) {
|
63
|
+
PagerLog('TemplatedItemsView.ngAfterContentInit()');
|
64
|
+
}
|
65
|
+
this.setItemTemplates();
|
66
|
+
}
|
67
|
+
ngOnDestroy() {
|
68
|
+
this.templatedItemsView.off('itemLoading', this.onItemLoading, this);
|
69
|
+
this.templatedItemsView.off('itemDisposing', this.onItemDisposing, this);
|
70
|
+
}
|
71
|
+
setItemTemplates() {
|
72
|
+
if (!this.items)
|
73
|
+
return;
|
74
|
+
this.itemTemplate = this.itemTemplateQuery;
|
75
|
+
if (this._templateMap) {
|
76
|
+
if (Trace.isEnabled()) {
|
77
|
+
PagerLog('Setting templates');
|
78
|
+
}
|
79
|
+
const templates = [];
|
80
|
+
this._templateMap.forEach((value) => {
|
81
|
+
templates.push(value);
|
82
|
+
});
|
83
|
+
this.templatedItemsView.itemTemplates = templates;
|
84
|
+
}
|
85
|
+
}
|
86
|
+
registerTemplate(key, template) {
|
87
|
+
if (Trace.isEnabled()) {
|
88
|
+
PagerLog(`registerTemplate for key: ${key}`);
|
89
|
+
}
|
90
|
+
if (!this._templateMap) {
|
91
|
+
this._templateMap = new Map();
|
92
|
+
}
|
93
|
+
const keyedTemplate = {
|
94
|
+
key,
|
95
|
+
createView: this.getItemTemplateViewFactory(template)
|
96
|
+
};
|
97
|
+
this._templateMap.set(key, keyedTemplate);
|
98
|
+
}
|
99
|
+
onItemLoading(args) {
|
100
|
+
if (!args.view && !this.itemTemplate) {
|
101
|
+
return;
|
102
|
+
}
|
103
|
+
if (!this.items)
|
104
|
+
return;
|
105
|
+
const index = args.index;
|
106
|
+
const items = args.object.items;
|
107
|
+
const currentItem = typeof items.getItem === 'function' ? items.getItem(index) : items[index];
|
108
|
+
let viewRef;
|
109
|
+
if (args.view) {
|
110
|
+
if (Trace.isEnabled()) {
|
111
|
+
PagerLog(`onItemLoading: ${index} - Reusing existing view`);
|
112
|
+
}
|
113
|
+
viewRef = args.view[NG_VIEW];
|
114
|
+
if (!viewRef && args.view instanceof LayoutBase && args.view.getChildrenCount() > 0) {
|
115
|
+
viewRef = args.view.getChildAt(0)[NG_VIEW];
|
116
|
+
}
|
117
|
+
if (!viewRef && Trace.isEnabled()) {
|
118
|
+
PagerError(`ViewReference not found for item ${index}. View recycling is not working`);
|
119
|
+
}
|
120
|
+
}
|
121
|
+
if (!viewRef) {
|
122
|
+
if (Trace.isEnabled()) {
|
123
|
+
PagerLog(`onItemLoading: ${index} - Creating view from template`);
|
124
|
+
}
|
125
|
+
viewRef = this.loader.createEmbeddedView(this.itemTemplate, new ItemContext(), 0);
|
126
|
+
args.view = getItemViewRoot(viewRef);
|
127
|
+
args.view[NG_VIEW] = viewRef;
|
128
|
+
}
|
129
|
+
this.setupViewRef(viewRef, currentItem, index);
|
130
|
+
this.detectChangesOnChild(viewRef, index);
|
131
|
+
}
|
132
|
+
onItemDisposing(args) {
|
133
|
+
if (!args.view) {
|
134
|
+
return;
|
135
|
+
}
|
136
|
+
let viewRef;
|
137
|
+
if (args.view) {
|
138
|
+
if (Trace.isEnabled()) {
|
139
|
+
PagerLog(`onItemDisposing: ${args.index} - Removing angular view`);
|
140
|
+
}
|
141
|
+
viewRef = args.view[NG_VIEW];
|
142
|
+
if (!viewRef && args.view instanceof LayoutBase && args.view.getChildrenCount() > 0) {
|
143
|
+
viewRef = args.view.getChildAt(0)[NG_VIEW];
|
144
|
+
}
|
145
|
+
if (!viewRef && Trace.isEnabled()) {
|
146
|
+
PagerError(`ViewReference not found for item ${args.index}. View disposing is not working`);
|
147
|
+
}
|
148
|
+
}
|
149
|
+
if (viewRef) {
|
150
|
+
if (Trace.isEnabled()) {
|
151
|
+
PagerLog(`onItemDisposing: ${args.index} - Disposing view reference`);
|
152
|
+
}
|
153
|
+
viewRef.destroy();
|
154
|
+
}
|
155
|
+
}
|
156
|
+
setupViewRef(viewRef, data, index) {
|
157
|
+
const context = viewRef.context;
|
158
|
+
context.$implicit = data;
|
159
|
+
context.item = data;
|
160
|
+
context.index = index;
|
161
|
+
context.even = index % 2 === 0;
|
162
|
+
context.odd = !context.even;
|
163
|
+
this.setupItemView.next({
|
164
|
+
view: viewRef,
|
165
|
+
data,
|
166
|
+
index,
|
167
|
+
context
|
168
|
+
});
|
169
|
+
}
|
170
|
+
getItemTemplateViewFactory(template) {
|
171
|
+
return () => {
|
172
|
+
const viewRef = this.loader.createEmbeddedView(template, new ItemContext(), 0);
|
173
|
+
const resultView = getItemViewRoot(viewRef);
|
174
|
+
resultView[NG_VIEW] = viewRef;
|
175
|
+
return resultView;
|
176
|
+
};
|
177
|
+
}
|
178
|
+
detectChangesOnChild(viewRef, index) {
|
179
|
+
if (Trace.isEnabled()) {
|
180
|
+
PagerLog(`Manually detect changes in child: ${index}`);
|
181
|
+
}
|
182
|
+
viewRef.markForCheck();
|
183
|
+
viewRef.detectChanges();
|
184
|
+
}
|
185
|
+
ngDoCheck() {
|
186
|
+
if (this._differ) {
|
187
|
+
if (Trace.isEnabled()) {
|
188
|
+
PagerLog('ngDoCheck() - execute differ');
|
189
|
+
}
|
190
|
+
const changes = this._differ.diff(this._items);
|
191
|
+
if (changes) {
|
192
|
+
if (Trace.isEnabled()) {
|
193
|
+
PagerLog('ngDoCheck() - refresh');
|
194
|
+
}
|
195
|
+
this.templatedItemsView.refresh();
|
196
|
+
}
|
197
|
+
}
|
198
|
+
}
|
199
|
+
}
|
200
|
+
TemplatedItemsComponent.ɵfac = function TemplatedItemsComponent_Factory(t) { return new (t || TemplatedItemsComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.IterableDiffers)); };
|
201
|
+
TemplatedItemsComponent.ɵcmp = i0.ɵɵdefineComponent({ type: TemplatedItemsComponent, selectors: [["ng-component"]], contentQueries: function TemplatedItemsComponent_ContentQueries(rf, ctx, dirIndex) {
|
202
|
+
if (rf & 1) {
|
203
|
+
i0.ɵɵcontentQuery(dirIndex, TemplateRef, 5);
|
204
|
+
}
|
205
|
+
if (rf & 2) {
|
206
|
+
let _t;
|
207
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.itemTemplateQuery = _t.first);
|
208
|
+
}
|
209
|
+
}, viewQuery: function TemplatedItemsComponent_Query(rf, ctx) {
|
210
|
+
if (rf & 1) {
|
211
|
+
i0.ɵɵviewQuery(_c0, 5, ViewContainerRef);
|
212
|
+
}
|
213
|
+
if (rf & 2) {
|
214
|
+
let _t;
|
215
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loader = _t.first);
|
216
|
+
}
|
217
|
+
}, inputs: { items: "items", selectedIndex: "selectedIndex" }, outputs: { setupItemView: "setupItemView" }, decls: 0, vars: 0, template: function TemplatedItemsComponent_Template(rf, ctx) { }, encapsulation: 2 });
|
218
|
+
__decorate([
|
219
|
+
profile
|
220
|
+
], TemplatedItemsComponent.prototype, "onItemLoading", null);
|
221
|
+
__decorate([
|
222
|
+
profile
|
223
|
+
], TemplatedItemsComponent.prototype, "onItemDisposing", null);
|
224
|
+
__decorate([
|
225
|
+
profile
|
226
|
+
], TemplatedItemsComponent.prototype, "detectChangesOnChild", null);
|
227
|
+
(function () {
|
228
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TemplatedItemsComponent, [{
|
229
|
+
type: Component,
|
230
|
+
args: [{
|
231
|
+
template: ''
|
232
|
+
}]
|
233
|
+
}], function () { return [{ type: i0.ElementRef }, { type: i0.IterableDiffers }]; }, { loader: [{
|
234
|
+
type: ViewChild,
|
235
|
+
args: ['loader', { read: ViewContainerRef, static: false }]
|
236
|
+
}], setupItemView: [{
|
237
|
+
type: Output
|
238
|
+
}], itemTemplateQuery: [{
|
239
|
+
type: ContentChild,
|
240
|
+
args: [TemplateRef, { static: false }]
|
241
|
+
}], items: [{
|
242
|
+
type: Input
|
243
|
+
}], selectedIndex: [{
|
244
|
+
type: Input
|
245
|
+
}], onItemLoading: [], onItemDisposing: [], detectChangesOnChild: [] });
|
246
|
+
})();
|
247
|
+
function getItemViewRoot(viewRef, rootLocator = extractSingleViewRecursive) {
|
248
|
+
return rootLocator(viewRef.rootNodes, 0);
|
249
|
+
}
|
250
|
+
const TEMPLATED_ITEMS_COMPONENT = new InjectionToken('TemplatedItemsComponent');
|
251
|
+
class PagerItemDirective {
|
252
|
+
constructor(templateRef, owner, viewContainer) {
|
253
|
+
this.templateRef = templateRef;
|
254
|
+
this.owner = owner;
|
255
|
+
this.viewContainer = viewContainer;
|
256
|
+
}
|
257
|
+
ensureItem() {
|
258
|
+
if (!this.item) {
|
259
|
+
this.item = new PagerItem();
|
260
|
+
}
|
261
|
+
}
|
262
|
+
applyConfig() {
|
263
|
+
this.ensureItem();
|
264
|
+
}
|
265
|
+
ngOnInit() {
|
266
|
+
this.applyConfig();
|
267
|
+
const viewRef = this.viewContainer.createEmbeddedView(this.templateRef);
|
268
|
+
const realViews = viewRef.rootNodes.filter((node) => !isInvisibleNode(node));
|
269
|
+
if (realViews.length > 0) {
|
270
|
+
const view = realViews[0];
|
271
|
+
this.item.addChild(view);
|
272
|
+
this.owner.nativeElement._addChildFromBuilder('PagerItem', this.item);
|
273
|
+
}
|
274
|
+
}
|
275
|
+
}
|
276
|
+
PagerItemDirective.ɵfac = function PagerItemDirective_Factory(t) { return new (t || PagerItemDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(TEMPLATED_ITEMS_COMPONENT, 1), i0.ɵɵdirectiveInject(i0.ViewContainerRef)); };
|
277
|
+
PagerItemDirective.ɵdir = i0.ɵɵdefineDirective({ type: PagerItemDirective, selectors: [["", "pagerItem", ""]] });
|
278
|
+
(function () {
|
279
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerItemDirective, [{
|
280
|
+
type: Directive,
|
281
|
+
args: [{
|
282
|
+
selector: '[pagerItem]'
|
283
|
+
}]
|
284
|
+
}], function () {
|
285
|
+
return [{ type: i0.TemplateRef }, { type: TemplatedItemsComponent, decorators: [{
|
286
|
+
type: Inject,
|
287
|
+
args: [TEMPLATED_ITEMS_COMPONENT]
|
288
|
+
}, {
|
289
|
+
type: Host
|
290
|
+
}] }, { type: i0.ViewContainerRef }];
|
291
|
+
}, null);
|
292
|
+
})();
|
293
|
+
class TemplateKeyDirective {
|
294
|
+
constructor(templateRef, comp) {
|
295
|
+
this.templateRef = templateRef;
|
296
|
+
this.comp = comp;
|
297
|
+
}
|
298
|
+
set pagerTemplateKey(value) {
|
299
|
+
if (this.comp && this.templateRef) {
|
300
|
+
this.comp.registerTemplate(value, this.templateRef);
|
301
|
+
}
|
302
|
+
}
|
303
|
+
}
|
304
|
+
TemplateKeyDirective.ɵfac = function TemplateKeyDirective_Factory(t) { return new (t || TemplateKeyDirective)(i0.ɵɵdirectiveInject(i0.TemplateRef), i0.ɵɵdirectiveInject(TEMPLATED_ITEMS_COMPONENT, 1)); };
|
305
|
+
TemplateKeyDirective.ɵdir = i0.ɵɵdefineDirective({ type: TemplateKeyDirective, selectors: [["", "pagerTemplateKey", ""]], inputs: { pagerTemplateKey: "pagerTemplateKey" } });
|
306
|
+
(function () {
|
307
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TemplateKeyDirective, [{
|
308
|
+
type: Directive,
|
309
|
+
args: [{ selector: '[pagerTemplateKey]' }]
|
310
|
+
}], function () {
|
311
|
+
return [{ type: i0.TemplateRef }, { type: TemplatedItemsComponent, decorators: [{
|
312
|
+
type: Inject,
|
313
|
+
args: [TEMPLATED_ITEMS_COMPONENT]
|
314
|
+
}, {
|
315
|
+
type: Host
|
316
|
+
}] }];
|
317
|
+
}, { pagerTemplateKey: [{
|
318
|
+
type: Input
|
319
|
+
}] });
|
320
|
+
})();
|
321
|
+
|
322
|
+
class PagerComponent extends TemplatedItemsComponent {
|
323
|
+
constructor(_elementRef, _iterableDiffers) {
|
324
|
+
super(_elementRef, _iterableDiffers);
|
325
|
+
}
|
326
|
+
get nativeElement() {
|
327
|
+
return this.templatedItemsView;
|
328
|
+
}
|
329
|
+
}
|
330
|
+
PagerComponent.ɵfac = function PagerComponent_Factory(t) { return new (t || PagerComponent)(i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.IterableDiffers)); };
|
331
|
+
PagerComponent.ɵcmp = i0.ɵɵdefineComponent({ type: PagerComponent, selectors: [["Pager"]], features: [i0.ɵɵProvidersFeature([
|
332
|
+
{
|
333
|
+
provide: TEMPLATED_ITEMS_COMPONENT,
|
334
|
+
useExisting: forwardRef(() => PagerComponent)
|
335
|
+
}
|
336
|
+
]), i0.ɵɵInheritDefinitionFeature], decls: 3, vars: 0, consts: [["loader", ""]], template: function PagerComponent_Template(rf, ctx) {
|
337
|
+
if (rf & 1) {
|
338
|
+
i0.ɵɵelementStart(0, "DetachedContainer");
|
339
|
+
i0.ɵɵelement(1, "Placeholder", null, 0);
|
340
|
+
i0.ɵɵelementEnd();
|
341
|
+
}
|
342
|
+
}, encapsulation: 2, changeDetection: 0 });
|
343
|
+
(function () {
|
344
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerComponent, [{
|
345
|
+
type: Component,
|
346
|
+
args: [{
|
347
|
+
selector: 'Pager',
|
348
|
+
template: ` <DetachedContainer>
|
349
|
+
<Placeholder #loader></Placeholder>
|
350
|
+
</DetachedContainer>`,
|
351
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
352
|
+
providers: [
|
353
|
+
{
|
354
|
+
provide: TEMPLATED_ITEMS_COMPONENT,
|
355
|
+
useExisting: forwardRef(() => PagerComponent)
|
356
|
+
}
|
357
|
+
]
|
358
|
+
}]
|
359
|
+
}], function () { return [{ type: i0.ElementRef }, { type: i0.IterableDiffers }]; }, null);
|
360
|
+
})();
|
361
|
+
class PagerModule {
|
362
|
+
}
|
363
|
+
PagerModule.ɵfac = function PagerModule_Factory(t) { return new (t || PagerModule)(); };
|
364
|
+
PagerModule.ɵmod = i0.ɵɵdefineNgModule({ type: PagerModule });
|
365
|
+
PagerModule.ɵinj = i0.ɵɵdefineInjector({});
|
366
|
+
(function () {
|
367
|
+
(typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerModule, [{
|
368
|
+
type: NgModule,
|
369
|
+
args: [{
|
370
|
+
declarations: [PagerComponent, TemplateKeyDirective, PagerItemDirective],
|
371
|
+
exports: [PagerComponent, TemplateKeyDirective, PagerItemDirective],
|
372
|
+
schemas: [NO_ERRORS_SCHEMA]
|
373
|
+
}]
|
374
|
+
}], null, null);
|
375
|
+
})();
|
376
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(PagerModule, { declarations: [PagerComponent, TemplateKeyDirective, PagerItemDirective], exports: [PagerComponent, TemplateKeyDirective, PagerItemDirective] }); })();
|
377
|
+
|
378
|
+
export { PagerComponent, PagerItemDirective, PagerModule, TemplateKeyDirective, TemplatedItemsComponent };
|
379
|
+
//# sourceMappingURL=nativescript-community-ui-pager-angular.mjs.map
|
@@ -0,0 +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"],"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 ɵisListLikeIterable as isListLikeIterable\n} from '@angular/core';\nimport { Pager, PagerError, PagerItem, PagerLog } from '@nativescript-community/ui-pager';\nimport { extractSingleViewRecursive, isInvisibleNode, 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 protected templatedItemsView: Pager;\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"],"names":["isListLikeIterable"],"mappings":";;;;;;;;;AA8BA,eAAe,CAAC,OAAO,EAAE,MAAM,KAAK,CAAC,CAAC;AACtC,eAAe,CAAC,WAAW,EAAE,MAAM,SAAS,CAAC,CAAC;AAE9C,MAAM,OAAO,GAAG,YAAY,CAAC;MAchB,WAAW;IACpB,YAAmB,SAAe,EAAS,IAAU,EAAS,KAAc,EAAS,IAAc,EAAS,GAAa;QAAtG,cAAS,GAAT,SAAS,CAAM;QAAS,SAAI,GAAJ,IAAI,CAAM;QAAS,UAAK,GAAL,KAAK,CAAS;QAAS,SAAI,GAAJ,IAAI,CAAU;QAAS,QAAG,GAAH,GAAG,CAAU;KAAI;CAChI;MAWqB,uBAAuB;IAwDzC,YAAY,WAAuB,EAAU,gBAAiC;QAAjC,qBAAgB,GAAhB,gBAAgB,CAAiB;QA7CvE,kBAAa,GAAG,IAAI,YAAY,EAAqB,CAAC;QA8CzD,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC,aAAa,CAAC;QAEpD,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACpE,IAAI,CAAC,kBAAkB,CAAC,EAAE,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;KAC3E;IA5CD,IACI,KAAK;QACL,OAAO,IAAI,CAAC,MAAM,CAAC;KACtB;IAED,IAAI,KAAK,CAAC,KAAU;QAChB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,UAAU,GAAG,IAAI,CAAC;QACtB,IAAI,KAAK,YAAY,eAAe,EAAE;YAClC,UAAU,GAAG,KAAK,CAAC;SACtB;QACD,IAAI,UAAU,IAAI,CAAC,IAAI,CAAC,OAAO,IAAIA,mBAAkB,CAAC,KAAK,CAAC,EAAE;YAC1D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC;SACzF;QAED,IAAI,CAAC,kBAAkB,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;KAC/C;IAED,IACI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;KAC9B;IAED,IAAI,aAAa,CAAC,KAAK;QACnB,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,IAAI,CAAC,kBAAkB,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;KAC/D;IAED,eAAe;QACX,IAAI,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE;YACvB,UAAU,CAAC;gBACP,IAAI,KAAK,EAAE;oBACP,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;iBAC7E;gBACD,IAAI,CAAC,kBAAkB,CAAC,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC;aAC/D,CAAC,CAAC;SACN;KACJ;IASD,kBAAkB;QACd,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE;YACnB,QAAQ,CAAC,yCAAyC,CAAC,CAAC;SACvD;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;KAC3B;IAED,WAAW;QACP,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QACrE,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;KAC5E;IAEO,gBAAgB;QACpB,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QAGxB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAE3C,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE;gBACnB,QAAQ,CAAC,mBAAmB,CAAC,CAAC;aACjC;YAED,MAAM,SAAS,GAAoB,EAAE,CAAC;YACtC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,KAAK;gBAC5B,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACzB,CAAC,CAAC;YACH,IAAI,CAAC,kBAAkB,CAAC,aAAa,GAAG,SAAS,CAAC;SACrD;KACJ;IAEM,gBAAgB,CAAC,GAAW,EAAE,QAAkC;QACnE,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE;YACnB,QAAQ,CAAC,6BAA6B,GAAG,EAAE,CAAC,CAAC;SAChD;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACpB,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,EAAyB,CAAC;SACxD;QAED,MAAM,aAAa,GAAG;YAClB,GAAG;YACH,UAAU,EAAE,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC;SACxD,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;KAC7C;IAGM,aAAa,CAAC,IAAmB;QACpC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YAClC,OAAO;SACV;QAED,IAAI,CAAC,IAAI,CAAC,KAAK;YAAE,OAAO;QAExB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACzB,MAAM,KAAK,GAAI,IAAI,CAAC,MAAc,CAAC,KAAK,CAAC;QACzC,MAAM,WAAW,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9F,IAAI,OAAqC,CAAC;QAE1C,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE;gBACnB,QAAQ,CAAC,kBAAkB,KAAK,0BAA0B,CAAC,CAAC;aAC/D;YAED,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAG7B,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,YAAY,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE;gBACjF,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;aAC9C;YAED,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE;gBAC/B,UAAU,CAAC,oCAAoC,KAAK,iCAAiC,CAAC,CAAC;aAC1F;SACJ;QAED,IAAI,CAAC,OAAO,EAAE;YACV,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE;gBACnB,QAAQ,CAAC,kBAAkB,KAAK,gCAAgC,CAAC,CAAC;aACrE;YAED,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YAClF,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;SAChC;QAED,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QAE/C,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;KAC7C;IAGM,eAAe,CAAC,IAAmB;QACtC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACZ,OAAO;SACV;QACD,IAAI,OAAqC,CAAC;QAE1C,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE;gBACnB,QAAQ,CAAC,oBAAoB,IAAI,CAAC,KAAK,0BAA0B,CAAC,CAAC;aACtE;YAED,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAG7B,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,YAAY,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,GAAG,CAAC,EAAE;gBACjF,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;aAC9C;YAED,IAAI,CAAC,OAAO,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE;gBAC/B,UAAU,CAAC,oCAAoC,IAAI,CAAC,KAAK,iCAAiC,CAAC,CAAC;aAC/F;SACJ;QAED,IAAI,OAAO,EAAE;YACT,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE;gBACnB,QAAQ,CAAC,oBAAoB,IAAI,CAAC,KAAK,6BAA6B,CAAC,CAAC;aACzE;YAED,OAAO,CAAC,OAAO,EAAE,CAAC;SACrB;KACJ;IAEM,YAAY,CAAC,OAAqC,EAAE,IAAS,EAAE,KAAa;QAC/E,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;QAChC,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QACzB,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;QACpB,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;QACtB,OAAO,CAAC,IAAI,GAAG,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;QAC/B,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC;QAE5B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;YACpB,IAAI,EAAE,OAAO;YACb,IAAI;YACJ,KAAK;YACL,OAAO;SACV,CAAC,CAAC;KACN;IAES,0BAA0B,CAAC,QAAkC;QACnE,OAAO;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YAC/E,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;YAC5C,UAAU,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC;YAE9B,OAAO,UAAU,CAAC;SACrB,CAAC;KACL;IAGO,oBAAoB,CAAC,OAAqC,EAAE,KAAa;QAC7E,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE;YACnB,QAAQ,CAAC,qCAAqC,KAAK,EAAE,CAAC,CAAC;SAC1D;QAED,OAAO,CAAC,YAAY,EAAE,CAAC;QACvB,OAAO,CAAC,aAAa,EAAE,CAAC;KAC3B;IAED,SAAS;QACL,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE;gBACnB,QAAQ,CAAC,8BAA8B,CAAC,CAAC;aAC5C;YAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/C,IAAI,OAAO,EAAE;gBACT,IAAI,KAAK,CAAC,SAAS,EAAE,EAAE;oBACnB,QAAQ,CAAC,uBAAuB,CAAC,CAAC;iBACrC;gBAED,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,CAAC;aACrC;SACJ;KACJ;;8FAhPiB,uBAAuB;4DAAvB,uBAAuB;;wCAa3B,WAAW;;;;;;;;mCALI,gBAAgB;;;;;;;AAwG7C;IADC,OAAO;4DA2CP;AAGD;IADC,OAAO;8DA+BP;AA6BD;IADC,OAAO;mEAQP;;4EA/NiB,uBAAuB;kBAH5C,SAAS;mBAAC;oBACP,QAAQ,EAAE,EAAE;iBACf;+FASmE,MAAM;sBAArE,SAAS;uBAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE;gBAGvD,aAAa;sBADnB,MAAM;gBAGuC,iBAAiB;sBAA9D,YAAY;uBAAC,WAAW,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE;gBAKxC,KAAK;sBADR,KAAK;gBAmBF,aAAa;sBADhB,KAAK;gBA6EC,aAAa,MA6Cb,eAAe,MA2Dd,oBAAoB;;SAmChB,eAAe,CAAC,OAAsB,EAAE,cAA2B,0BAAiC;IAChH,OAAO,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;AAC7C,CAAC;AAEM,MAAM,yBAAyB,GAAG,IAAI,cAAc,CAA0B,yBAAyB,CAAC,CAAC;MAKnG,kBAAkB;IAG3B,YACY,WAA6B,EAG7B,KAA8B,EAC9B,aAA+B;QAJ/B,gBAAW,GAAX,WAAW,CAAkB;QAG7B,UAAK,GAAL,KAAK,CAAyB;QAC9B,kBAAa,GAAb,aAAa,CAAkB;KACvC;IAEI,UAAU;QACd,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACZ,IAAI,CAAC,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;SAC/B;KACJ;IAEO,WAAW;QACf,IAAI,CAAC,UAAU,EAAE,CAAC;KACrB;IAED,QAAQ;QACJ,IAAI,CAAC,WAAW,EAAE,CAAC;QAEnB,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAExE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;QAE7E,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;YACtB,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,oBAAoB,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;SACzE;KACJ;;oFAjCQ,kBAAkB,6DAKf,yBAAyB;uDAL5B,kBAAkB;;4EAAlB,kBAAkB;kBAH9B,SAAS;mBAAC;oBACP,QAAQ,EAAE,aAAa;iBAC1B;;kDAQsB,uBAAuB;8BAFrC,MAAM;+BAAC,yBAAyB;;8BAChC,IAAI;;;;MA+BA,oBAAoB;IAC7B,YACY,WAA6B,EAG7B,IAA6B;QAH7B,gBAAW,GAAX,WAAW,CAAkB;QAG7B,SAAI,GAAJ,IAAI,CAAyB;KACrC;IAEJ,IACI,gBAAgB,CAAC,KAAU;QAC3B,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,EAAE;YAC/B,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SACvD;KACJ;;wFAbQ,oBAAoB,6DAGjB,yBAAyB;yDAH5B,oBAAoB;;4EAApB,oBAAoB;kBADhC,SAAS;mBAAC,EAAE,QAAQ,EAAE,oBAAoB,EAAE;;kDAMvB,uBAAuB;8BAFpC,MAAM;+BAAC,yBAAyB;;8BAChC,IAAI;;SAKL,gBAAgB;sBADnB,KAAK;;;;MCzVG,uBAAuB,uBAAuB;IAOvD,YAAY,WAAuB,EAAE,gBAAiC;QAClE,KAAK,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;KACxC;IARD,IAAW,aAAa;QACpB,OAAO,IAAI,CAAC,kBAAkB,CAAC;KAClC;;4EAHQ,cAAc;mDAAd,cAAc,2DAPZ;YACP;gBACI,OAAO,EAAE,yBAAyB;gBAClC,WAAW,EAAE,UAAU,CAAC,MAAM,cAAc,CAAC;aAChD;SACJ;;YATW,yCAAmB;YAC3B,uCAAmC;YACvC,iBAAoB;;;;4EASX,cAAc;kBAb1B,SAAS;mBAAC;oBACP,QAAQ,EAAE,OAAO;oBACjB,QAAQ,EAAE;;yBAEW;oBACrB,eAAe,EAAE,uBAAuB,CAAC,MAAM;oBAC/C,SAAS,EAAE;wBACP;4BACI,OAAO,EAAE,yBAAyB;4BAClC,WAAW,EAAE,UAAU,CAAC,oBAAoB,CAAC;yBAChD;qBACJ;iBACJ;;;MAkBY,WAAW;;sEAAX,WAAW;+CAAX,WAAW;;;4EAAX,WAAW;kBALvB,QAAQ;mBAAC;oBACN,YAAY,EAAE,CAAC,cAAc,EAAE,oBAAoB,EAAE,kBAAkB,CAAC;oBACxE,OAAO,EAAE,CAAC,cAAc,EAAE,oBAAoB,EAAE,kBAAkB,CAAC;oBACnE,OAAO,EAAE,CAAC,gBAAgB,CAAC;iBAC9B;;;wFACY,WAAW,mBAjBX,cAAc,EAaQ,oBAAoB,EAAE,kBAAkB,aAb9D,cAAc,EAcG,oBAAoB,EAAE,kBAAkB;;;;"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import * as i0 from '@angular/core';
|
2
2
|
import { EventEmitter, ɵisListLikeIterable, TemplateRef, ViewContainerRef, Component, ViewChild, Output, ContentChild, Input, InjectionToken, Directive, Inject, Host, forwardRef, ChangeDetectionStrategy, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
|
3
3
|
import { Pager, PagerItem, PagerLog, PagerError } from '@nativescript-community/ui-pager';
|
4
|
-
import { registerElement,
|
4
|
+
import { registerElement, extractSingleViewRecursive, isInvisibleNode } from '@nativescript/angular';
|
5
5
|
import { isIOS, Trace, LayoutBase } from '@nativescript/core';
|
6
6
|
import { ObservableArray } from '@nativescript/core/data/observable-array';
|
7
7
|
import { profile } from '@nativescript/core/profiling';
|
@@ -37,9 +37,7 @@ class TemplatedItemsComponent {
|
|
37
37
|
needDiffer = false;
|
38
38
|
}
|
39
39
|
if (needDiffer && !this._differ && ɵisListLikeIterable(value)) {
|
40
|
-
this._differ = this._iterableDiffers
|
41
|
-
.find(this._items)
|
42
|
-
.create((_index, item) => item);
|
40
|
+
this._differ = this._iterableDiffers.find(this._items).create((_index, item) => item);
|
43
41
|
}
|
44
42
|
this.templatedItemsView.items = this._items;
|
45
43
|
}
|
@@ -51,7 +49,7 @@ class TemplatedItemsComponent {
|
|
51
49
|
this.templatedItemsView.selectedIndex = this._selectedIndex;
|
52
50
|
}
|
53
51
|
ngAfterViewInit() {
|
54
|
-
if (!!
|
52
|
+
if (!!this._selectedIndex) {
|
55
53
|
setTimeout(() => {
|
56
54
|
if (isIOS) {
|
57
55
|
this.templatedItemsView.scrollToIndexAnimated(this._selectedIndex, false);
|
@@ -94,7 +92,7 @@ class TemplatedItemsComponent {
|
|
94
92
|
}
|
95
93
|
const keyedTemplate = {
|
96
94
|
key,
|
97
|
-
createView: this.getItemTemplateViewFactory(template)
|
95
|
+
createView: this.getItemTemplateViewFactory(template)
|
98
96
|
};
|
99
97
|
this._templateMap.set(key, keyedTemplate);
|
100
98
|
}
|
@@ -106,18 +104,14 @@ class TemplatedItemsComponent {
|
|
106
104
|
return;
|
107
105
|
const index = args.index;
|
108
106
|
const items = args.object.items;
|
109
|
-
const currentItem = typeof items.getItem === 'function'
|
110
|
-
? items.getItem(index)
|
111
|
-
: items[index];
|
107
|
+
const currentItem = typeof items.getItem === 'function' ? items.getItem(index) : items[index];
|
112
108
|
let viewRef;
|
113
109
|
if (args.view) {
|
114
110
|
if (Trace.isEnabled()) {
|
115
111
|
PagerLog(`onItemLoading: ${index} - Reusing existing view`);
|
116
112
|
}
|
117
113
|
viewRef = args.view[NG_VIEW];
|
118
|
-
if (!viewRef &&
|
119
|
-
args.view instanceof LayoutBase &&
|
120
|
-
args.view.getChildrenCount() > 0) {
|
114
|
+
if (!viewRef && args.view instanceof LayoutBase && args.view.getChildrenCount() > 0) {
|
121
115
|
viewRef = args.view.getChildAt(0)[NG_VIEW];
|
122
116
|
}
|
123
117
|
if (!viewRef && Trace.isEnabled()) {
|
@@ -145,9 +139,7 @@ class TemplatedItemsComponent {
|
|
145
139
|
PagerLog(`onItemDisposing: ${args.index} - Removing angular view`);
|
146
140
|
}
|
147
141
|
viewRef = args.view[NG_VIEW];
|
148
|
-
if (!viewRef &&
|
149
|
-
args.view instanceof LayoutBase &&
|
150
|
-
args.view.getChildrenCount() > 0) {
|
142
|
+
if (!viewRef && args.view instanceof LayoutBase && args.view.getChildrenCount() > 0) {
|
151
143
|
viewRef = args.view.getChildAt(0)[NG_VIEW];
|
152
144
|
}
|
153
145
|
if (!viewRef && Trace.isEnabled()) {
|
@@ -172,7 +164,7 @@ class TemplatedItemsComponent {
|
|
172
164
|
view: viewRef,
|
173
165
|
data,
|
174
166
|
index,
|
175
|
-
context
|
167
|
+
context
|
176
168
|
});
|
177
169
|
}
|
178
170
|
getItemTemplateViewFactory(template) {
|
@@ -229,7 +221,7 @@ __decorate([
|
|
229
221
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(TemplatedItemsComponent, [{
|
230
222
|
type: Component,
|
231
223
|
args: [{
|
232
|
-
template: ''
|
224
|
+
template: ''
|
233
225
|
}]
|
234
226
|
}], function () { return [{ type: i0.ElementRef }, { type: i0.IterableDiffers }]; }, { loader: [{
|
235
227
|
type: ViewChild,
|
@@ -244,7 +236,7 @@ __decorate([
|
|
244
236
|
}], selectedIndex: [{
|
245
237
|
type: Input
|
246
238
|
}], onItemLoading: [], onItemDisposing: [], detectChangesOnChild: [] }); })();
|
247
|
-
function getItemViewRoot(viewRef, rootLocator =
|
239
|
+
function getItemViewRoot(viewRef, rootLocator = extractSingleViewRecursive) {
|
248
240
|
return rootLocator(viewRef.rootNodes, 0);
|
249
241
|
}
|
250
242
|
const TEMPLATED_ITEMS_COMPONENT = new InjectionToken('TemplatedItemsComponent');
|
@@ -278,7 +270,7 @@ PagerItemDirective.ɵdir = i0.ɵɵdefineDirective({ type: PagerItemDirective, se
|
|
278
270
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PagerItemDirective, [{
|
279
271
|
type: Directive,
|
280
272
|
args: [{
|
281
|
-
selector: '[pagerItem]'
|
273
|
+
selector: '[pagerItem]'
|
282
274
|
}]
|
283
275
|
}], function () { return [{ type: i0.TemplateRef }, { type: TemplatedItemsComponent, decorators: [{
|
284
276
|
type: Inject,
|
@@ -334,10 +326,9 @@ PagerComponent.ɵcmp = i0.ɵɵdefineComponent({ type: PagerComponent, selectors:
|
|
334
326
|
type: Component,
|
335
327
|
args: [{
|
336
328
|
selector: 'Pager',
|
337
|
-
template: `
|
338
|
-
|
339
|
-
|
340
|
-
</DetachedContainer>`,
|
329
|
+
template: ` <DetachedContainer>
|
330
|
+
<Placeholder #loader></Placeholder>
|
331
|
+
</DetachedContainer>`,
|
341
332
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
342
333
|
providers: [
|
343
334
|
{
|
@@ -363,4 +354,4 @@ PagerModule.ɵinj = i0.ɵɵdefineInjector({});
|
|
363
354
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(PagerModule, { declarations: [PagerComponent, TemplateKeyDirective, PagerItemDirective], exports: [PagerComponent, TemplateKeyDirective, PagerItemDirective] }); })();
|
364
355
|
|
365
356
|
export { PagerComponent, PagerItemDirective, PagerModule, TemplateKeyDirective, TemplatedItemsComponent };
|
366
|
-
//# sourceMappingURL=nativescript-community-ui-pager-angular.
|
357
|
+
//# sourceMappingURL=nativescript-community-ui-pager-angular.mjs.map
|
@@ -0,0 +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"],"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 ɵisListLikeIterable as isListLikeIterable\n} from '@angular/core';\nimport { Pager, PagerError, PagerItem, PagerLog } from '@nativescript-community/ui-pager';\nimport { extractSingleViewRecursive, isInvisibleNode, 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 protected templatedItemsView: Pager;\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"],"names":["isListLikeIterable"],"mappings":"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"}
|
package/angular/package.json
CHANGED
@@ -1,14 +1,28 @@
|
|
1
1
|
{
|
2
2
|
"name": "@nativescript-community/ui-pager-angular",
|
3
|
-
"main": "
|
4
|
-
"module": "fesm2015/nativescript-community-ui-pager-angular.
|
5
|
-
"
|
6
|
-
"
|
7
|
-
"
|
3
|
+
"main": "index.js",
|
4
|
+
"module": "fesm2015/nativescript-community-ui-pager-angular.mjs",
|
5
|
+
"es2020": "fesm2020/nativescript-community-ui-pager-angular.mjs",
|
6
|
+
"esm2020": "esm2020/nativescript-community-ui-pager-angular.mjs",
|
7
|
+
"fesm2020": "fesm2020/nativescript-community-ui-pager-angular.mjs",
|
8
|
+
"fesm2015": "fesm2015/nativescript-community-ui-pager-angular.mjs",
|
8
9
|
"typings": "nativescript-community-ui-pager-angular.d.ts",
|
10
|
+
"exports": {
|
11
|
+
"./package.json": {
|
12
|
+
"default": "./package.json"
|
13
|
+
},
|
14
|
+
".": {
|
15
|
+
"types": "./nativescript-community-ui-pager-angular.d.ts",
|
16
|
+
"esm2020": "./esm2020/nativescript-community-ui-pager-angular.mjs",
|
17
|
+
"es2020": "./fesm2020/nativescript-community-ui-pager-angular.mjs",
|
18
|
+
"es2015": "./fesm2015/nativescript-community-ui-pager-angular.mjs",
|
19
|
+
"node": "./fesm2015/nativescript-community-ui-pager-angular.mjs",
|
20
|
+
"default": "./fesm2020/nativescript-community-ui-pager-angular.mjs"
|
21
|
+
}
|
22
|
+
},
|
9
23
|
"sideEffects": false,
|
10
24
|
"dependencies": {
|
11
|
-
"tslib": "^2.
|
25
|
+
"tslib": "^2.3.0"
|
12
26
|
},
|
13
27
|
"scripts": {
|
14
28
|
"prepublishOnly": "node --eval \"console.error('ERROR: Trying to publish a package that has been compiled by Ivy in full compilation mode. This is not allowed.\\nPlease delete and rebuild the package with Ivy partial compilation mode, before attempting to publish.\\n')\" && exit 1"
|