@nstudio/ui-collectionview 5.1.9-alpha.4 → 5.1.9

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.
Files changed (39) hide show
  1. package/angular/collectionview.component.d.ts +8 -33
  2. package/angular/{fesm2020 → fesm2022}/nstudio-ui-collectionview-angular.mjs +58 -151
  3. package/angular/fesm2022/nstudio-ui-collectionview-angular.mjs.map +1 -0
  4. package/angular/index.d.ts +2 -2
  5. package/angular/package.json +2 -10
  6. package/common.d.ts +28 -66
  7. package/common.js +96 -138
  8. package/common.js.map +1 -1
  9. package/index.android.d.ts +38 -19
  10. package/index.android.js +448 -158
  11. package/index.android.js.map +1 -1
  12. package/index.d.ts +49 -16
  13. package/index.ios.d.ts +83 -28
  14. package/index.ios.js +589 -375
  15. package/index.ios.js.map +1 -1
  16. package/package.json +5 -2
  17. package/react/index.d.ts +1 -1
  18. package/react/index.js.map +1 -1
  19. package/svelte/index.d.ts +0 -1
  20. package/svelte/index.js +11 -7
  21. package/svelte/index.js.map +1 -1
  22. package/vue3/component.d.ts +36 -0
  23. package/vue3/component.js +98 -0
  24. package/vue3/component.js.map +1 -0
  25. package/vue3/index.d.ts +11 -0
  26. package/vue3/index.js +14 -0
  27. package/vue3/index.js.map +1 -0
  28. package/angular/esm2020/collectionview.component.mjs +0 -497
  29. package/angular/esm2020/index.mjs +0 -19
  30. package/angular/esm2020/nstudio-ui-collectionview-angular.mjs +0 -5
  31. package/angular/fesm2015/nstudio-ui-collectionview-angular.mjs +0 -528
  32. package/angular/fesm2015/nstudio-ui-collectionview-angular.mjs.map +0 -1
  33. package/angular/fesm2020/nstudio-ui-collectionview-angular.mjs.map +0 -1
  34. package/vue/component.d.ts +0 -38
  35. package/vue/component.js +0 -104
  36. package/vue/component.js.map +0 -1
  37. package/vue/index.d.ts +0 -4
  38. package/vue/index.js +0 -12
  39. package/vue/index.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import { AfterContentInit, ComponentRef, DoCheck, ElementRef, EmbeddedViewRef, EventEmitter, IterableDiffers, NgZone, OnDestroy, TemplateRef, ViewContainerRef } from '@angular/core';
2
- import { CollectionView, CollectionViewItemEventData } from '@nstudio/ui-collectionview';
2
+ import { CollectionViewItemEventData } from '@nstudio/ui-collectionview';
3
3
  import { DetachedLoader, NativeScriptRendererFactory } from '@nativescript/angular';
4
4
  import { View } from '@nativescript/core';
5
5
  import * as i0 from "@angular/core";
@@ -22,19 +22,15 @@ export declare class CollectionViewComponent implements DoCheck, OnDestroy, Afte
22
22
  private _iterableDiffers;
23
23
  private _renderer;
24
24
  private _ngZone;
25
- get nativeElement(): CollectionView;
26
- get listView(): CollectionView;
25
+ get nativeElement(): any;
26
+ get listView(): any;
27
27
  loader: ViewContainerRef;
28
28
  setupItemView: EventEmitter<SetupItemViewArgs>;
29
29
  itemTemplateQuery: TemplateRef<ItemContext>;
30
30
  autoReuseViews: boolean;
31
31
  detachedLoaderFactory(): ComponentRef<DetachedLoader>;
32
- get itemTemplate(): TemplateRef<ItemContext>;
33
- set itemTemplate(value: TemplateRef<ItemContext>);
34
- get headerItemTemplate(): TemplateRef<ItemContext>;
35
- set headerItemTemplate(value: TemplateRef<ItemContext>);
36
- get footerItemTemplate(): TemplateRef<ItemContext>;
37
- set footerItemTemplate(value: TemplateRef<ItemContext>);
32
+ get itemTemplate(): any;
33
+ set itemTemplate(value: any);
38
34
  get items(): any;
39
35
  set items(value: any);
40
36
  private _collectionView;
@@ -42,10 +38,6 @@ export declare class CollectionViewComponent implements DoCheck, OnDestroy, Afte
42
38
  private _differ;
43
39
  private _itemTemplate;
44
40
  private _templateMap;
45
- private _headerTemplate;
46
- private _headerTemplateMap;
47
- private _footerTemplate;
48
- private _footerTemplateMap;
49
41
  private _loaders;
50
42
  constructor(_elementRef: ElementRef, _iterableDiffers: IterableDiffers, _renderer: NativeScriptRendererFactory, _ngZone: NgZone);
51
43
  private itemViewLoader;
@@ -53,12 +45,11 @@ export declare class CollectionViewComponent implements DoCheck, OnDestroy, Afte
53
45
  ngOnDestroy(): void;
54
46
  ngDoCheck(): void;
55
47
  registerTemplate(key: string, template: TemplateRef<ItemContext>): void;
56
- registerTemplateSupplemental(key: string, template: TemplateRef<ItemContext>, type: 'header' | 'footer'): void;
57
48
  onItemLoading(args: CollectionViewItemEventData): void;
58
49
  onItemRecyclingInternal(args: any): void;
59
50
  onItemDisposingInternal(args: any): void;
60
51
  setupViewRef(view: EmbeddedViewRef<ItemContext>, data: any, index: number): void;
61
- getItemTemplateViewFactory(template: TemplateRef<ItemContext>): () => View;
52
+ protected getItemTemplateViewFactory(template: TemplateRef<ItemContext>): () => View;
62
53
  viewPool: Map<TemplateRef<ItemContext>, {
63
54
  scrapSize: number;
64
55
  scrapHead: Set<EmbeddedViewRef<ItemContext>>;
@@ -73,7 +64,7 @@ export declare class CollectionViewComponent implements DoCheck, OnDestroy, Afte
73
64
  private detectChangesOnChild;
74
65
  private refresh;
75
66
  static ɵfac: i0.ɵɵFactoryDeclaration<CollectionViewComponent, never>;
76
- static ɵcmp: i0.ɵɵComponentDeclaration<CollectionViewComponent, "CollectionView", never, { "autoReuseViews": "autoReuseViews"; "itemTemplate": "itemTemplate"; "headerItemTemplate": "headerItemTemplate"; "footerItemTemplate": "footerItemTemplate"; "items": "items"; }, { "setupItemView": "setupItemView"; }, ["itemTemplateQuery"], never, false, never>;
67
+ static ɵcmp: i0.ɵɵComponentDeclaration<CollectionViewComponent, "CollectionView", never, { "autoReuseViews": { "alias": "autoReuseViews"; "required": false; }; "itemTemplate": { "alias": "itemTemplate"; "required": false; }; "items": { "alias": "items"; "required": false; }; }, { "setupItemView": "setupItemView"; }, ["itemTemplateQuery"], never, false, never>;
77
68
  }
78
69
  export interface ComponentView {
79
70
  rootNodes: any[];
@@ -87,21 +78,5 @@ export declare class TemplateKeyDirective {
87
78
  constructor(templateRef: TemplateRef<any>, collectionView: CollectionViewComponent);
88
79
  set cvTemplateKey(value: any);
89
80
  static ɵfac: i0.ɵɵFactoryDeclaration<TemplateKeyDirective, [null, { host: true; }]>;
90
- static ɵdir: i0.ɵɵDirectiveDeclaration<TemplateKeyDirective, "[cvTemplateKey]", never, { "cvTemplateKey": "cvTemplateKey"; }, {}, never, never, false, never>;
91
- }
92
- export declare class TemplateHeaderDirective {
93
- private templateRef;
94
- private collectionView;
95
- constructor(templateRef: TemplateRef<any>, collectionView: CollectionViewComponent);
96
- set cvTemplateHeader(value: any);
97
- static ɵfac: i0.ɵɵFactoryDeclaration<TemplateHeaderDirective, [null, { host: true; }]>;
98
- static ɵdir: i0.ɵɵDirectiveDeclaration<TemplateHeaderDirective, "[cvTemplateHeader]", never, { "cvTemplateHeader": "cvTemplateHeader"; }, {}, never, never, false, never>;
99
- }
100
- export declare class TemplateFooterDirective {
101
- private templateRef;
102
- private collectionView;
103
- constructor(templateRef: TemplateRef<any>, collectionView: CollectionViewComponent);
104
- set cvTemplateFooter(value: any);
105
- static ɵfac: i0.ɵɵFactoryDeclaration<TemplateFooterDirective, [null, { host: true; }]>;
106
- static ɵdir: i0.ɵɵDirectiveDeclaration<TemplateFooterDirective, "[cvTemplateFooter]", never, { "cvTemplateFooter": "cvTemplateFooter"; }, {}, never, never, false, never>;
81
+ static ɵdir: i0.ɵɵDirectiveDeclaration<TemplateKeyDirective, "[cvTemplateKey]", never, { "cvTemplateKey": { "alias": "cvTemplateKey"; "required": false; }; }, {}, never, never, false, never>;
107
82
  }
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { EventEmitter, ElementRef, IterableDiffers, NgZone, TemplateRef, ViewContainerRef, Component, ChangeDetectionStrategy, Inject, ViewChild, Output, ContentChild, Input, HostListener, Directive, Host, NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
3
- import { CollectionView, ViewTemplateType, CLog, CLogTypes } from '@nstudio/ui-collectionview';
3
+ import { CollectionView, ListViewViewTypes, CLog, CLogTypes } from '@nstudio/ui-collectionview';
4
4
  import * as i1 from '@nativescript/angular';
5
5
  import { registerElement, DetachedLoader, isListLikeIterable, NativeScriptRendererFactory, extractSingleViewRecursive } from '@nativescript/angular';
6
6
  import { ObservableArray, Trace, LayoutBase } from '@nativescript/core';
@@ -8,6 +8,11 @@ import { ObservableArray, Trace, LayoutBase } from '@nativescript/core';
8
8
  registerElement('CollectionView', () => CollectionView);
9
9
  const NG_VIEW = '_ngViewRef';
10
10
  class ItemContext {
11
+ $implicit;
12
+ item;
13
+ index;
14
+ even;
15
+ odd;
11
16
  constructor($implicit, item, index, even, odd) {
12
17
  this.$implicit = $implicit;
13
18
  this.item = item;
@@ -17,12 +22,20 @@ class ItemContext {
17
22
  }
18
23
  }
19
24
  class CollectionViewComponent {
25
+ _elementRef;
26
+ _iterableDiffers;
27
+ _renderer;
28
+ _ngZone;
20
29
  get nativeElement() {
21
30
  return this._collectionView;
22
31
  }
23
32
  get listView() {
24
33
  return this._collectionView;
25
34
  }
35
+ loader;
36
+ setupItemView = new EventEmitter();
37
+ itemTemplateQuery;
38
+ autoReuseViews = false;
26
39
  detachedLoaderFactory() {
27
40
  const ref = this.loader.createComponent(DetachedLoader, {
28
41
  index: 0,
@@ -36,19 +49,7 @@ class CollectionViewComponent {
36
49
  }
37
50
  set itemTemplate(value) {
38
51
  this._itemTemplate = value;
39
- // this._collectionView.refresh();
40
- }
41
- get headerItemTemplate() {
42
- return this._headerTemplate;
43
- }
44
- set headerItemTemplate(value) {
45
- this._headerTemplate = value;
46
- }
47
- get footerItemTemplate() {
48
- return this._footerTemplate;
49
- }
50
- set footerItemTemplate(value) {
51
- this._footerTemplate = value;
52
+ this._collectionView.refresh();
52
53
  }
53
54
  get items() {
54
55
  return this._items;
@@ -64,43 +65,33 @@ class CollectionViewComponent {
64
65
  }
65
66
  this._collectionView.items = this._items;
66
67
  }
68
+ _collectionView;
69
+ _items;
70
+ _differ;
71
+ _itemTemplate;
72
+ _templateMap;
73
+ _loaders;
67
74
  constructor(_elementRef, _iterableDiffers, _renderer, _ngZone) {
68
75
  this._elementRef = _elementRef;
69
76
  this._iterableDiffers = _iterableDiffers;
70
77
  this._renderer = _renderer;
71
78
  this._ngZone = _ngZone;
72
- this.setupItemView = new EventEmitter();
73
- this.autoReuseViews = false;
74
- this.itemViewLoader = (viewType) => {
75
- this._ngZone.run(() => {
76
- switch (viewType) {
77
- case ViewTemplateType.Item:
78
- if (this._itemTemplate) {
79
- return this.getOrCreate(this._itemTemplate);
80
- }
81
- break;
82
- case ViewTemplateType.Header:
83
- if (this._headerTemplate) {
84
- return this.getOrCreate(this._headerTemplate);
85
- }
86
- break;
87
- case ViewTemplateType.Footer:
88
- if (this._footerTemplate) {
89
- return this.getOrCreate(this._footerTemplate);
90
- }
91
- break;
92
- }
93
- return null;
94
- });
95
- };
96
- this.viewPool = new Map();
97
- this.viewToTemplate = new WeakMap();
98
- this.viewToLoader = new WeakMap();
99
79
  this._collectionView = _elementRef.nativeElement;
100
80
  this._collectionView.on(CollectionView.itemLoadingEvent, this.onItemLoading, this);
101
81
  this._collectionView.itemViewLoader = this.itemViewLoader;
102
82
  this._loaders = [];
103
83
  }
84
+ itemViewLoader = (viewType) => this._ngZone.run(() => {
85
+ switch (viewType) {
86
+ case ListViewViewTypes.ItemView:
87
+ if (this._itemTemplate && this.loader) {
88
+ const typedView = this.getOrCreate(this._itemTemplate);
89
+ return typedView;
90
+ }
91
+ break;
92
+ }
93
+ return null;
94
+ });
104
95
  ngAfterContentInit() {
105
96
  if (Trace.isEnabled()) {
106
97
  CLog(CLogTypes.info, 'CollectionView.ngAfterContentInit()');
@@ -121,15 +112,7 @@ class CollectionViewComponent {
121
112
  if (this._templateMap) {
122
113
  this._templateMap.clear();
123
114
  }
124
- if (this._headerTemplateMap) {
125
- this._headerTemplateMap.clear();
126
- }
127
- if (this._footerTemplateMap) {
128
- this._footerTemplateMap.clear();
129
- }
130
115
  this._templateMap = null;
131
- this._headerTemplateMap = null;
132
- this._footerTemplateMap = null;
133
116
  }
134
117
  ngDoCheck() {
135
118
  if (Trace.isEnabled()) {
@@ -161,31 +144,6 @@ class CollectionViewComponent {
161
144
  };
162
145
  this._templateMap.set(key, keyedTemplate);
163
146
  }
164
- registerTemplateSupplemental(key, template, type) {
165
- if (Trace.isEnabled()) {
166
- CLog(CLogTypes.info, 'registerTemplate for key: ' + key);
167
- }
168
- switch (type) {
169
- case 'header':
170
- // if (!this._headerTemplateMap) {
171
- // this._headerTemplateMap = new Map<string, KeyedTemplate>();
172
- // }
173
- // this._headerTemplateMap.set(key, keyedTemplate);
174
- this._collectionView.headerKey = key;
175
- this.headerItemTemplate = template;
176
- this._collectionView.headerItemTemplate = this.getItemTemplateViewFactory(template);
177
- break;
178
- case 'footer':
179
- // if (!this._footerTemplateMap) {
180
- // this._footerTemplateMap = new Map<string, KeyedTemplate>();
181
- // }
182
- // this._footerTemplateMap.set(key, keyedTemplate);
183
- this._collectionView.footerKey = key;
184
- this.footerItemTemplate = template;
185
- this._collectionView.footerItemTemplate = this.getItemTemplateViewFactory(template);
186
- break;
187
- }
188
- }
189
147
  onItemLoading(args) {
190
148
  if (!args.view && !this.itemTemplate) {
191
149
  return;
@@ -273,6 +231,7 @@ class CollectionViewComponent {
273
231
  return resultView;
274
232
  };
275
233
  }
234
+ viewPool = new Map();
276
235
  storeViewRef(viewRef) {
277
236
  const templateRef = this.viewToTemplate.get(viewRef);
278
237
  if (templateRef) {
@@ -288,11 +247,14 @@ class CollectionViewComponent {
288
247
  }
289
248
  }
290
249
  }
250
+ viewToTemplate = new WeakMap();
251
+ viewToLoader = new WeakMap();
291
252
  getOrCreate(templateRef) {
292
253
  return this._ngZone.run(() => {
293
254
  let viewRef = this.getView(templateRef);
294
255
  if (!viewRef) {
295
256
  const loader = this.detachedLoaderFactory();
257
+ // viewRef = this.loader.createEmbeddedView(templateRef, new ItemContext(), 0);
296
258
  viewRef = loader.instance.vc.createEmbeddedView(templateRef, new ItemContext(), 0);
297
259
  this.viewToLoader.set(viewRef, loader);
298
260
  this.viewToTemplate.set(viewRef, templateRef);
@@ -355,14 +317,14 @@ class CollectionViewComponent {
355
317
  this._collectionView.refresh();
356
318
  }
357
319
  }
358
- }
359
- CollectionViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CollectionViewComponent, deps: [{ token: ElementRef }, { token: IterableDiffers }, { token: NativeScriptRendererFactory }, { token: NgZone }], target: i0.ɵɵFactoryTarget.Component });
360
- CollectionViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: CollectionViewComponent, selector: "CollectionView", inputs: { autoReuseViews: "autoReuseViews", itemTemplate: "itemTemplate", headerItemTemplate: "headerItemTemplate", footerItemTemplate: "footerItemTemplate", items: "items" }, outputs: { setupItemView: "setupItemView" }, host: { listeners: { "itemLoading": "onItemLoading($event)", "itemRecycling": "onItemRecyclingInternal($event)", "itemDisposing": "onItemDisposingInternal($event)" } }, queries: [{ propertyName: "itemTemplateQuery", first: true, predicate: TemplateRef, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "loader", first: true, predicate: ["loader"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `
320
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: CollectionViewComponent, deps: [{ token: ElementRef }, { token: IterableDiffers }, { token: NativeScriptRendererFactory }, { token: NgZone }], target: i0.ɵɵFactoryTarget.Component });
321
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.1.4", type: CollectionViewComponent, isStandalone: false, selector: "CollectionView", inputs: { autoReuseViews: "autoReuseViews", itemTemplate: "itemTemplate", items: "items" }, outputs: { setupItemView: "setupItemView" }, host: { listeners: { "itemLoading": "onItemLoading($event)", "itemRecycling": "onItemRecyclingInternal($event)", "itemDisposing": "onItemDisposingInternal($event)" } }, queries: [{ propertyName: "itemTemplateQuery", first: true, predicate: TemplateRef, descendants: true, read: TemplateRef, static: true }], viewQueries: [{ propertyName: "loader", first: true, predicate: ["loader"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: `
361
322
  <DetachedContainer>
362
323
  <Placeholder #loader></Placeholder>
363
324
  </DetachedContainer>
364
325
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
365
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CollectionViewComponent, decorators: [{
326
+ }
327
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: CollectionViewComponent, decorators: [{
366
328
  type: Component,
367
329
  args: [{
368
330
  selector: 'CollectionView',
@@ -372,8 +334,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
372
334
  </DetachedContainer>
373
335
  `,
374
336
  changeDetection: ChangeDetectionStrategy.OnPush,
337
+ standalone: false,
375
338
  }]
376
- }], ctorParameters: function () { return [{ type: i0.ElementRef, decorators: [{
339
+ }], ctorParameters: () => [{ type: i0.ElementRef, decorators: [{
377
340
  type: Inject,
378
341
  args: [ElementRef]
379
342
  }] }, { type: i0.IterableDiffers, decorators: [{
@@ -385,7 +348,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
385
348
  }] }, { type: i0.NgZone, decorators: [{
386
349
  type: Inject,
387
350
  args: [NgZone]
388
- }] }]; }, propDecorators: { loader: [{
351
+ }] }], propDecorators: { loader: [{
389
352
  type: ViewChild,
390
353
  args: ['loader', { read: ViewContainerRef, static: true }]
391
354
  }], setupItemView: [{
@@ -397,10 +360,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
397
360
  type: Input
398
361
  }], itemTemplate: [{
399
362
  type: Input
400
- }], headerItemTemplate: [{
401
- type: Input
402
- }], footerItemTemplate: [{
403
- type: Input
404
363
  }], items: [{
405
364
  type: Input
406
365
  }], onItemLoading: [{
@@ -418,6 +377,8 @@ function getItemViewRoot(viewRef, rootLocator = extractSingleViewRecursive) {
418
377
  return rootView;
419
378
  }
420
379
  class TemplateKeyDirective {
380
+ templateRef;
381
+ collectionView;
421
382
  constructor(templateRef, collectionView) {
422
383
  this.templateRef = templateRef;
423
384
  this.collectionView = collectionView;
@@ -430,83 +391,29 @@ class TemplateKeyDirective {
430
391
  this.collectionView.registerTemplate(value.toLowerCase(), this.templateRef);
431
392
  }
432
393
  }
394
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: TemplateKeyDirective, deps: [{ token: i0.TemplateRef }, { token: CollectionViewComponent, host: true }], target: i0.ɵɵFactoryTarget.Directive });
395
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.1.4", type: TemplateKeyDirective, isStandalone: false, selector: "[cvTemplateKey]", inputs: { cvTemplateKey: "cvTemplateKey" }, ngImport: i0 });
433
396
  }
434
- TemplateKeyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TemplateKeyDirective, deps: [{ token: i0.TemplateRef }, { token: CollectionViewComponent, host: true }], target: i0.ɵɵFactoryTarget.Directive });
435
- TemplateKeyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: TemplateKeyDirective, selector: "[cvTemplateKey]", inputs: { cvTemplateKey: "cvTemplateKey" }, ngImport: i0 });
436
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TemplateKeyDirective, decorators: [{
437
- type: Directive,
438
- args: [{ selector: '[cvTemplateKey]' }]
439
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: CollectionViewComponent, decorators: [{
440
- type: Host
441
- }] }]; }, propDecorators: { cvTemplateKey: [{
442
- type: Input
443
- }] } });
444
- class TemplateHeaderDirective {
445
- constructor(templateRef, collectionView) {
446
- this.templateRef = templateRef;
447
- this.collectionView = collectionView;
448
- }
449
- set cvTemplateHeader(value) {
450
- if (Trace.isEnabled()) {
451
- CLog(CLogTypes.info, 'cvTemplateHeader: ' + value);
452
- }
453
- if (this.collectionView && this.templateRef) {
454
- // TODO: allow keying of multiple headers per section
455
- this.collectionView.registerTemplateSupplemental(value || ViewTemplateType.Header, this.templateRef, 'header');
456
- }
457
- }
458
- }
459
- TemplateHeaderDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TemplateHeaderDirective, deps: [{ token: i0.TemplateRef }, { token: CollectionViewComponent, host: true }], target: i0.ɵɵFactoryTarget.Directive });
460
- TemplateHeaderDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: TemplateHeaderDirective, selector: "[cvTemplateHeader]", inputs: { cvTemplateHeader: "cvTemplateHeader" }, ngImport: i0 });
461
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TemplateHeaderDirective, decorators: [{
462
- type: Directive,
463
- args: [{
464
- selector: '[cvTemplateHeader]',
465
- }]
466
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: CollectionViewComponent, decorators: [{
467
- type: Host
468
- }] }]; }, propDecorators: { cvTemplateHeader: [{
469
- type: Input
470
- }] } });
471
- class TemplateFooterDirective {
472
- constructor(templateRef, collectionView) {
473
- this.templateRef = templateRef;
474
- this.collectionView = collectionView;
475
- }
476
- set cvTemplateFooter(value) {
477
- if (Trace.isEnabled()) {
478
- CLog(CLogTypes.info, 'cvTemplateFooter: ' + value);
479
- }
480
- if (this.collectionView && this.templateRef) {
481
- // TODO: allow keying of multiple footers per section
482
- this.collectionView.registerTemplateSupplemental(value || ViewTemplateType.Footer, this.templateRef, 'footer');
483
- }
484
- }
485
- }
486
- TemplateFooterDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TemplateFooterDirective, deps: [{ token: i0.TemplateRef }, { token: CollectionViewComponent, host: true }], target: i0.ɵɵFactoryTarget.Directive });
487
- TemplateFooterDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.9", type: TemplateFooterDirective, selector: "[cvTemplateFooter]", inputs: { cvTemplateFooter: "cvTemplateFooter" }, ngImport: i0 });
488
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: TemplateFooterDirective, decorators: [{
397
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: TemplateKeyDirective, decorators: [{
489
398
  type: Directive,
490
- args: [{
491
- selector: '[cvTemplateFooter]',
492
- }]
493
- }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: CollectionViewComponent, decorators: [{
399
+ args: [{ selector: '[cvTemplateKey]', standalone: false }]
400
+ }], ctorParameters: () => [{ type: i0.TemplateRef }, { type: CollectionViewComponent, decorators: [{
494
401
  type: Host
495
- }] }]; }, propDecorators: { cvTemplateFooter: [{
402
+ }] }], propDecorators: { cvTemplateKey: [{
496
403
  type: Input
497
404
  }] } });
498
405
 
499
406
  // External
500
407
  class CollectionViewModule {
408
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: CollectionViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
409
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.1.4", ngImport: i0, type: CollectionViewModule, declarations: [CollectionViewComponent, TemplateKeyDirective], exports: [CollectionViewComponent, TemplateKeyDirective] });
410
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: CollectionViewModule });
501
411
  }
502
- CollectionViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CollectionViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
503
- CollectionViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: CollectionViewModule, declarations: [CollectionViewComponent, TemplateKeyDirective, TemplateHeaderDirective, TemplateFooterDirective], exports: [CollectionViewComponent, TemplateKeyDirective, TemplateHeaderDirective, TemplateFooterDirective] });
504
- CollectionViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CollectionViewModule });
505
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: CollectionViewModule, decorators: [{
412
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.4", ngImport: i0, type: CollectionViewModule, decorators: [{
506
413
  type: NgModule,
507
414
  args: [{
508
- declarations: [CollectionViewComponent, TemplateKeyDirective, TemplateHeaderDirective, TemplateFooterDirective],
509
- exports: [CollectionViewComponent, TemplateKeyDirective, TemplateHeaderDirective, TemplateFooterDirective],
415
+ declarations: [CollectionViewComponent, TemplateKeyDirective],
416
+ exports: [CollectionViewComponent, TemplateKeyDirective],
510
417
  schemas: [NO_ERRORS_SCHEMA],
511
418
  }]
512
419
  }] });
@@ -515,5 +422,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
515
422
  * Generated bundle index. Do not edit.
516
423
  */
517
424
 
518
- export { CollectionViewComponent, CollectionViewModule, TemplateFooterDirective, TemplateHeaderDirective, TemplateKeyDirective };
425
+ export { CollectionViewComponent, CollectionViewModule, TemplateKeyDirective };
519
426
  //# sourceMappingURL=nstudio-ui-collectionview-angular.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nstudio-ui-collectionview-angular.mjs","sources":["../../../../../packages/ui-collectionview/angular/collectionview.component.ts","../../../../../packages/ui-collectionview/angular/index.ts","../../../../../packages/ui-collectionview/angular/nstudio-ui-collectionview-angular.ts"],"sourcesContent":["import { AfterContentInit, ChangeDetectionStrategy, Component, ComponentRef, ContentChild, Directive, DoCheck, ElementRef, EmbeddedViewRef, EventEmitter, Host, HostListener, Inject, Input, IterableDiffer, IterableDiffers, NgZone, OnDestroy, Output, TemplateRef, ViewChild, ViewContainerRef } from '@angular/core';\nimport { CLog, CLogTypes, CollectionView, CollectionViewItemEventData, ListViewViewTypes } from '@nstudio/ui-collectionview';\nimport { DetachedLoader, NativeScriptRendererFactory, extractSingleViewRecursive, isListLikeIterable, registerElement } from '@nativescript/angular';\nimport { KeyedTemplate, LayoutBase, ObservableArray, Trace, View } from '@nativescript/core';\n\nregisterElement('CollectionView', () => CollectionView);\n\nconst NG_VIEW = '_ngViewRef';\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\n@Component({\n selector: 'CollectionView',\n template: `\n <DetachedContainer>\n <Placeholder #loader></Placeholder>\n </DetachedContainer>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class CollectionViewComponent implements DoCheck, OnDestroy, AfterContentInit {\n public get nativeElement(): any {\n return this._collectionView;\n }\n public get listView(): any {\n return this._collectionView;\n }\n\n @ViewChild('loader', { read: ViewContainerRef, static: true }) public loader: ViewContainerRef;\n @Output() public setupItemView = new EventEmitter<SetupItemViewArgs>();\n @ContentChild(TemplateRef, { read: TemplateRef, static: true }) public itemTemplateQuery: TemplateRef<ItemContext>;\n\n @Input() autoReuseViews = false;\n\n detachedLoaderFactory() {\n const ref = this.loader.createComponent(DetachedLoader, {\n index: 0,\n });\n this.loader.detach(0);\n this._loaders.push(ref);\n return ref;\n }\n\n @Input()\n public get itemTemplate() {\n return this._itemTemplate;\n }\n public set itemTemplate(value: any) {\n this._itemTemplate = value;\n this._collectionView.refresh();\n }\n @Input()\n public get items() {\n return this._items;\n }\n public 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._collectionView.items = this._items;\n }\n\n private _collectionView: CollectionView;\n private _items: any;\n private _differ: IterableDiffer<KeyedTemplate>;\n private _itemTemplate: TemplateRef<ItemContext>;\n private _templateMap: Map<string, KeyedTemplate>;\n private _loaders: ComponentRef<DetachedLoader>[];\n\n constructor(@Inject(ElementRef) private _elementRef: ElementRef, @Inject(IterableDiffers) private _iterableDiffers: IterableDiffers, @Inject(NativeScriptRendererFactory) private _renderer: NativeScriptRendererFactory, @Inject(NgZone) private _ngZone: NgZone) {\n this._collectionView = _elementRef.nativeElement;\n\n this._collectionView.on(CollectionView.itemLoadingEvent, this.onItemLoading, this);\n this._collectionView.itemViewLoader = this.itemViewLoader;\n this._loaders = [];\n }\n\n private itemViewLoader = (viewType) =>\n this._ngZone.run(() => {\n switch (viewType) {\n case ListViewViewTypes.ItemView:\n if (this._itemTemplate && this.loader) {\n const typedView = this.getOrCreate(this._itemTemplate);\n return typedView;\n }\n break;\n }\n return null;\n });\n\n public ngAfterContentInit() {\n if (Trace.isEnabled()) {\n CLog(CLogTypes.info, 'CollectionView.ngAfterContentInit()');\n }\n this.setItemTemplates();\n }\n\n public ngOnDestroy() {\n this._collectionView.off(CollectionView.itemLoadingEvent, this.onItemLoading, this);\n this._collectionView = null;\n this._loaders.forEach((l) => l.destroy());\n this._loaders = null;\n this.viewToLoader = null;\n this.viewToTemplate = null;\n this.viewPool = null;\n\n this._items = null;\n this._differ = null;\n this._itemTemplate = null;\n if (this._templateMap) {\n this._templateMap.clear();\n }\n this._templateMap = null;\n }\n\n public ngDoCheck() {\n if (Trace.isEnabled()) {\n CLog(CLogTypes.info, 'ngDoCheck() - execute differ? ' + this._differ);\n }\n if (this._differ) {\n if (Trace.isEnabled()) {\n CLog(CLogTypes.info, 'ngDoCheck() - execute differ');\n }\n const changes = this._differ.diff(this._items);\n if (changes) {\n if (Trace.isEnabled()) {\n CLog(CLogTypes.info, 'ngDoCheck() - refresh');\n }\n this.refresh();\n }\n }\n }\n\n public registerTemplate(key: string, template: TemplateRef<ItemContext>) {\n if (Trace.isEnabled()) {\n CLog(CLogTypes.info, 'registerTemplate for key: ' + key);\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 @HostListener('itemLoading', ['$event'])\n public onItemLoading(args: CollectionViewItemEventData) {\n if (!args.view && !this.itemTemplate) {\n return;\n }\n if (!this.items) return;\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 (Trace.isEnabled()) {\n CLog(CLogTypes.info, `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 if (Trace.isEnabled()) {\n CLog(CLogTypes.info, `ViewReference not found for item ${index}. View recycling is not working`);\n }\n }\n\n if (!viewRef) {\n if (Trace.isEnabled()) {\n CLog(CLogTypes.info, `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 @HostListener('itemRecycling', ['$event'])\n public onItemRecyclingInternal(args: any) {\n if (!args.view) {\n return;\n }\n let ngView: EmbeddedViewRef<any> = args.view[NG_VIEW];\n\n // Getting angular view from original element (in cases when ProxyViewContainer\n // is used NativeScript internally wraps it in a StackLayout)\n if (!ngView && args.view instanceof LayoutBase && args.view.getChildrenCount() > 0) {\n ngView = args.view.getChildAt(0)[NG_VIEW];\n }\n // console.log('recycling', args.view);\n\n if (ngView) {\n ngView.detach();\n }\n }\n\n @HostListener('itemDisposing', ['$event'])\n public onItemDisposingInternal(args: any) {\n if (!args.view) {\n return;\n }\n let ngView: EmbeddedViewRef<any> = args.view[NG_VIEW];\n\n // Getting angular view from original element (in cases when ProxyViewContainer\n // is used NativeScript internally wraps it in a StackLayout)\n if (!ngView && args.view instanceof LayoutBase && args.view.getChildrenCount() > 0) {\n ngView = args.view.getChildAt(0)[NG_VIEW];\n }\n\n if (ngView) {\n ngView.detach();\n this.storeViewRef(ngView);\n }\n }\n\n public setupViewRef(view: EmbeddedViewRef<ItemContext>, data: any, index: number): void {\n const context = view.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 context,\n data,\n index,\n view,\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 viewPool = new Map<\n TemplateRef<ItemContext>,\n {\n scrapSize: number;\n scrapHead: Set<EmbeddedViewRef<ItemContext>>;\n }\n >();\n private storeViewRef(viewRef: EmbeddedViewRef<any>) {\n const templateRef = this.viewToTemplate.get(viewRef);\n if (templateRef) {\n const scrap = this.viewPool.get(templateRef);\n if (scrap) {\n if (scrap.scrapHead.size >= scrap.scrapSize) {\n viewRef.destroy();\n this.viewToLoader.get(viewRef)?.destroy();\n } else {\n scrap.scrapHead.add(viewRef);\n }\n }\n }\n }\n viewToTemplate = new WeakMap<EmbeddedViewRef<any>, TemplateRef<any>>();\n viewToLoader = new WeakMap<EmbeddedViewRef<any>, ComponentRef<DetachedLoader>>();\n\n private getOrCreate(templateRef: TemplateRef<ItemContext>) {\n return this._ngZone.run(() => {\n let viewRef = this.getView(templateRef);\n if (!viewRef) {\n const loader = this.detachedLoaderFactory();\n // viewRef = this.loader.createEmbeddedView(templateRef, new ItemContext(), 0);\n viewRef = loader.instance.vc.createEmbeddedView(templateRef, new ItemContext(), 0);\n this.viewToLoader.set(viewRef, loader);\n this.viewToTemplate.set(viewRef, templateRef);\n }\n viewRef.detach();\n const resultView = getItemViewRoot(viewRef);\n resultView[NG_VIEW] = viewRef;\n resultView.reusable = this.autoReuseViews;\n return resultView;\n });\n }\n private getView(templateRef: TemplateRef<ItemContext>) {\n const pool = this.getViewPool(templateRef);\n while (pool.scrapHead.size > 0) {\n const viewRef: EmbeddedViewRef<ItemContext> = pool.scrapHead.values().next().value;\n pool.scrapHead.delete(viewRef);\n if (!viewRef.destroyed) {\n return viewRef;\n }\n }\n return null;\n }\n\n private getViewPool(templateRef: TemplateRef<ItemContext>) {\n if (!this.viewPool.has(templateRef)) {\n this.viewPool.set(templateRef, {\n scrapSize: this.autoReuseViews ? Infinity : 0,\n scrapHead: new Set<EmbeddedViewRef<ItemContext>>(),\n });\n }\n return this.viewPool.get(templateRef);\n }\n\n private setItemTemplates() {\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 CLog(CLogTypes.info, 'Setting templates');\n }\n\n const templates: KeyedTemplate[] = [];\n this._templateMap.forEach((value) => {\n templates.push(value);\n });\n this._collectionView.itemTemplates = templates;\n } else {\n // If the map was not initialized this means that there are no named templates, so we register the default one.\n this._collectionView.itemTemplate = this.getItemTemplateViewFactory(this.itemTemplate);\n }\n }\n\n private detectChangesOnChild(viewRef: EmbeddedViewRef<ItemContext>, index: number) {\n if (Trace.isEnabled()) {\n CLog(CLogTypes.info, 'Manually detect changes in child: ' + index);\n }\n viewRef.markForCheck();\n viewRef.detectChanges();\n }\n\n private refresh() {\n if (this._collectionView) {\n this._collectionView.refresh();\n }\n }\n}\n\nexport interface ComponentView {\n rootNodes: any[];\n destroy(): void;\n}\n\nexport type RootLocator = (nodes: any[], nestLevel: number) => View;\n\nexport function getItemViewRoot(viewRef: ComponentView, rootLocator: RootLocator = extractSingleViewRecursive): View {\n const rootView = rootLocator(viewRef.rootNodes, 0);\n return rootView;\n}\n\n@Directive({ selector: '[cvTemplateKey]', standalone: false })\nexport class TemplateKeyDirective {\n constructor(private templateRef: TemplateRef<any>, @Host() private collectionView: CollectionViewComponent) {}\n\n @Input()\n set cvTemplateKey(value: any) {\n if (Trace.isEnabled()) {\n CLog(CLogTypes.info, 'cvTemplateKey: ' + value);\n }\n if (this.collectionView && this.templateRef) {\n this.collectionView.registerTemplate(value.toLowerCase(), this.templateRef);\n }\n }\n}\n","// External\nimport { NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\n\nimport { CollectionViewComponent, TemplateKeyDirective } from './collectionview.component';\nexport { CollectionViewComponent, TemplateKeyDirective } from './collectionview.component';\n\n@NgModule({\n declarations: [CollectionViewComponent, TemplateKeyDirective],\n exports: [CollectionViewComponent, TemplateKeyDirective],\n schemas: [NO_ERRORS_SCHEMA],\n})\nexport class CollectionViewModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import * as i0 from "@angular/core";
2
2
  import * as i1 from "./collectionview.component";
3
- export { CollectionViewComponent, TemplateKeyDirective, TemplateHeaderDirective, TemplateFooterDirective } from './collectionview.component';
3
+ export { CollectionViewComponent, TemplateKeyDirective } from './collectionview.component';
4
4
  export declare class CollectionViewModule {
5
5
  static ɵfac: i0.ɵɵFactoryDeclaration<CollectionViewModule, never>;
6
- static ɵmod: i0.ɵɵNgModuleDeclaration<CollectionViewModule, [typeof i1.CollectionViewComponent, typeof i1.TemplateKeyDirective, typeof i1.TemplateHeaderDirective, typeof i1.TemplateFooterDirective], never, [typeof i1.CollectionViewComponent, typeof i1.TemplateKeyDirective, typeof i1.TemplateHeaderDirective, typeof i1.TemplateFooterDirective]>;
6
+ static ɵmod: i0.ɵɵNgModuleDeclaration<CollectionViewModule, [typeof i1.CollectionViewComponent, typeof i1.TemplateKeyDirective], never, [typeof i1.CollectionViewComponent, typeof i1.TemplateKeyDirective]>;
7
7
  static ɵinj: i0.ɵɵInjectorDeclaration<CollectionViewModule>;
8
8
  }
@@ -1,10 +1,6 @@
1
1
  {
2
2
  "name": "@nstudio/ui-collectionview-angular",
3
- "module": "fesm2015/nstudio-ui-collectionview-angular.mjs",
4
- "es2020": "fesm2020/nstudio-ui-collectionview-angular.mjs",
5
- "esm2020": "esm2020/nstudio-ui-collectionview-angular.mjs",
6
- "fesm2020": "fesm2020/nstudio-ui-collectionview-angular.mjs",
7
- "fesm2015": "fesm2015/nstudio-ui-collectionview-angular.mjs",
3
+ "module": "fesm2022/nstudio-ui-collectionview-angular.mjs",
8
4
  "typings": "index.d.ts",
9
5
  "exports": {
10
6
  "./package.json": {
@@ -12,11 +8,7 @@
12
8
  },
13
9
  ".": {
14
10
  "types": "./index.d.ts",
15
- "esm2020": "./esm2020/nstudio-ui-collectionview-angular.mjs",
16
- "es2020": "./fesm2020/nstudio-ui-collectionview-angular.mjs",
17
- "es2015": "./fesm2015/nstudio-ui-collectionview-angular.mjs",
18
- "node": "./fesm2015/nstudio-ui-collectionview-angular.mjs",
19
- "default": "./fesm2020/nstudio-ui-collectionview-angular.mjs"
11
+ "default": "./fesm2022/nstudio-ui-collectionview-angular.mjs"
20
12
  }
21
13
  },
22
14
  "sideEffects": false,