@nstudio/ui-collectionview 4.0.70 → 5.0.4
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/angular/esm2020/collectionview.component.mjs +6 -6
- package/angular/esm2020/index.mjs +4 -4
- package/angular/fesm2015/nstudio-ui-collectionview-angular.mjs +10 -10
- package/angular/fesm2020/nstudio-ui-collectionview-angular.mjs +10 -10
- package/index.ios.d.ts +2 -5
- package/index.ios.js +242 -159
- package/index.ios.js.map +1 -1
- package/package.json +1 -1
- package/platforms/ios/src/Info.plist +0 -0
- package/platforms/ios/src/NSCollectionView.h +2 -0
- package/platforms/ios/src/UICollectionViewCacheDelegateFlowLayout.h +6 -0
- package/platforms/ios/src/UICollectionViewCacheDelegateFlowLayout.m +36 -0
- package/platforms/ios/src/module.modulemap +5 -0
@@ -310,13 +310,13 @@ export class CollectionViewComponent {
|
|
310
310
|
}
|
311
311
|
}
|
312
312
|
}
|
313
|
-
CollectionViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
314
|
-
CollectionViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
313
|
+
CollectionViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CollectionViewComponent, deps: [{ token: ElementRef }, { token: IterableDiffers }, { token: NativeScriptRendererFactory }, { token: NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
314
|
+
CollectionViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: CollectionViewComponent, 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: `
|
315
315
|
<DetachedContainer>
|
316
316
|
<Placeholder #loader></Placeholder>
|
317
317
|
</DetachedContainer>
|
318
318
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
319
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
319
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CollectionViewComponent, decorators: [{
|
320
320
|
type: Component,
|
321
321
|
args: [{
|
322
322
|
selector: 'CollectionView',
|
@@ -381,9 +381,9 @@ export class TemplateKeyDirective {
|
|
381
381
|
}
|
382
382
|
}
|
383
383
|
}
|
384
|
-
TemplateKeyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
385
|
-
TemplateKeyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
386
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
384
|
+
TemplateKeyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TemplateKeyDirective, deps: [{ token: i0.TemplateRef }, { token: CollectionViewComponent, host: true }], target: i0.ɵɵFactoryTarget.Directive });
|
385
|
+
TemplateKeyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: TemplateKeyDirective, selector: "[cvTemplateKey]", inputs: { cvTemplateKey: "cvTemplateKey" }, ngImport: i0 });
|
386
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TemplateKeyDirective, decorators: [{
|
387
387
|
type: Directive,
|
388
388
|
args: [{ selector: '[cvTemplateKey]' }]
|
389
389
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: CollectionViewComponent, decorators: [{
|
@@ -5,10 +5,10 @@ import * as i0 from "@angular/core";
|
|
5
5
|
export { CollectionViewComponent, TemplateKeyDirective } from './collectionview.component';
|
6
6
|
export class CollectionViewModule {
|
7
7
|
}
|
8
|
-
CollectionViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
9
|
-
CollectionViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
10
|
-
CollectionViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
8
|
+
CollectionViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CollectionViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
9
|
+
CollectionViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: CollectionViewModule, declarations: [CollectionViewComponent, TemplateKeyDirective], exports: [CollectionViewComponent, TemplateKeyDirective] });
|
10
|
+
CollectionViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CollectionViewModule });
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CollectionViewModule, decorators: [{
|
12
12
|
type: NgModule,
|
13
13
|
args: [{
|
14
14
|
declarations: [CollectionViewComponent, TemplateKeyDirective],
|
@@ -312,13 +312,13 @@ class CollectionViewComponent {
|
|
312
312
|
}
|
313
313
|
}
|
314
314
|
}
|
315
|
-
CollectionViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
316
|
-
CollectionViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
315
|
+
CollectionViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CollectionViewComponent, deps: [{ token: ElementRef }, { token: IterableDiffers }, { token: NativeScriptRendererFactory }, { token: NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
316
|
+
CollectionViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: CollectionViewComponent, 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: `
|
317
317
|
<DetachedContainer>
|
318
318
|
<Placeholder #loader></Placeholder>
|
319
319
|
</DetachedContainer>
|
320
320
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
321
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
321
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CollectionViewComponent, decorators: [{
|
322
322
|
type: Component,
|
323
323
|
args: [{
|
324
324
|
selector: 'CollectionView',
|
@@ -385,9 +385,9 @@ class TemplateKeyDirective {
|
|
385
385
|
}
|
386
386
|
}
|
387
387
|
}
|
388
|
-
TemplateKeyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
389
|
-
TemplateKeyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
390
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
388
|
+
TemplateKeyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TemplateKeyDirective, deps: [{ token: i0.TemplateRef }, { token: CollectionViewComponent, host: true }], target: i0.ɵɵFactoryTarget.Directive });
|
389
|
+
TemplateKeyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: TemplateKeyDirective, selector: "[cvTemplateKey]", inputs: { cvTemplateKey: "cvTemplateKey" }, ngImport: i0 });
|
390
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TemplateKeyDirective, decorators: [{
|
391
391
|
type: Directive,
|
392
392
|
args: [{ selector: '[cvTemplateKey]' }]
|
393
393
|
}], ctorParameters: function () {
|
@@ -401,10 +401,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
401
401
|
// External
|
402
402
|
class CollectionViewModule {
|
403
403
|
}
|
404
|
-
CollectionViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
405
|
-
CollectionViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
406
|
-
CollectionViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
407
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
404
|
+
CollectionViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CollectionViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
405
|
+
CollectionViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: CollectionViewModule, declarations: [CollectionViewComponent, TemplateKeyDirective], exports: [CollectionViewComponent, TemplateKeyDirective] });
|
406
|
+
CollectionViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CollectionViewModule });
|
407
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CollectionViewModule, decorators: [{
|
408
408
|
type: NgModule,
|
409
409
|
args: [{
|
410
410
|
declarations: [CollectionViewComponent, TemplateKeyDirective],
|
@@ -311,13 +311,13 @@ class CollectionViewComponent {
|
|
311
311
|
}
|
312
312
|
}
|
313
313
|
}
|
314
|
-
CollectionViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
315
|
-
CollectionViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.
|
314
|
+
CollectionViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CollectionViewComponent, deps: [{ token: ElementRef }, { token: IterableDiffers }, { token: NativeScriptRendererFactory }, { token: NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
315
|
+
CollectionViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.7", type: CollectionViewComponent, 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: `
|
316
316
|
<DetachedContainer>
|
317
317
|
<Placeholder #loader></Placeholder>
|
318
318
|
</DetachedContainer>
|
319
319
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
320
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
320
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CollectionViewComponent, decorators: [{
|
321
321
|
type: Component,
|
322
322
|
args: [{
|
323
323
|
selector: 'CollectionView',
|
@@ -382,9 +382,9 @@ class TemplateKeyDirective {
|
|
382
382
|
}
|
383
383
|
}
|
384
384
|
}
|
385
|
-
TemplateKeyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
386
|
-
TemplateKeyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.
|
387
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
385
|
+
TemplateKeyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TemplateKeyDirective, deps: [{ token: i0.TemplateRef }, { token: CollectionViewComponent, host: true }], target: i0.ɵɵFactoryTarget.Directive });
|
386
|
+
TemplateKeyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.7", type: TemplateKeyDirective, selector: "[cvTemplateKey]", inputs: { cvTemplateKey: "cvTemplateKey" }, ngImport: i0 });
|
387
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: TemplateKeyDirective, decorators: [{
|
388
388
|
type: Directive,
|
389
389
|
args: [{ selector: '[cvTemplateKey]' }]
|
390
390
|
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: CollectionViewComponent, decorators: [{
|
@@ -396,10 +396,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
396
396
|
// External
|
397
397
|
class CollectionViewModule {
|
398
398
|
}
|
399
|
-
CollectionViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
400
|
-
CollectionViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.
|
401
|
-
CollectionViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.
|
402
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
399
|
+
CollectionViewModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CollectionViewModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
400
|
+
CollectionViewModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.7", ngImport: i0, type: CollectionViewModule, declarations: [CollectionViewComponent, TemplateKeyDirective], exports: [CollectionViewComponent, TemplateKeyDirective] });
|
401
|
+
CollectionViewModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CollectionViewModule });
|
402
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: CollectionViewModule, decorators: [{
|
403
403
|
type: NgModule,
|
404
404
|
args: [{
|
405
405
|
declarations: [CollectionViewComponent, TemplateKeyDirective],
|
package/index.ios.d.ts
CHANGED
@@ -14,7 +14,6 @@ export declare class CollectionView extends CollectionViewBase {
|
|
14
14
|
private _dataSource;
|
15
15
|
private _delegate;
|
16
16
|
private _preparingCell;
|
17
|
-
private _sizes;
|
18
17
|
private _map;
|
19
18
|
_measureCellMap: Map<string, {
|
20
19
|
cell: CollectionViewCell;
|
@@ -30,7 +29,6 @@ export declare class CollectionView extends CollectionViewBase {
|
|
30
29
|
draggingStartDelta: [number, number];
|
31
30
|
nativeViewProtected: UICollectionView;
|
32
31
|
constructor();
|
33
|
-
get ios(): UICollectionView;
|
34
32
|
createNativeView(): UICollectionView;
|
35
33
|
onTemplateAdded(t: any): void;
|
36
34
|
initNativeView(): void;
|
@@ -69,9 +67,7 @@ export declare class CollectionView extends CollectionViewBase {
|
|
69
67
|
_getItemTemplateType(indexPath: any): string;
|
70
68
|
getItemTemplateContent(index: any, templateType: any): any;
|
71
69
|
_prepareCell(cell: CollectionViewCell, indexPath: NSIndexPath, templateType: string, notForCellSizeComp?: boolean): [number, number];
|
72
|
-
getCellSize(index: number):
|
73
|
-
storeCellSize(index: number, value: any): void;
|
74
|
-
clearCellSize(): void;
|
70
|
+
getCellSize(index: number): any;
|
75
71
|
private measureCell;
|
76
72
|
layoutCell(index: number, cell: CollectionViewCell, cellView: View): any;
|
77
73
|
private clearRealizedCells;
|
@@ -103,6 +99,7 @@ interface ViewItemIndex {
|
|
103
99
|
declare type ItemView = View & ViewItemIndex;
|
104
100
|
declare class CollectionViewCell extends UICollectionViewCell {
|
105
101
|
owner: WeakRef<ItemView>;
|
102
|
+
currentIndex: number;
|
106
103
|
get view(): ItemView;
|
107
104
|
}
|
108
105
|
declare class ReorderLongPressImpl extends NSObject {
|
package/index.ios.js
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import { ChangeType, ContentView, Observable, Property, ProxyViewContainer, Trace, Utils, View, paddingBottomProperty, paddingLeftProperty, paddingRightProperty, paddingTopProperty, profile } from '@nativescript/core';
|
2
|
-
import {
|
2
|
+
import { reorderLongPressEnabledProperty, reorderingEnabledProperty, reverseLayoutProperty, scrollBarIndicatorVisibleProperty } from '.';
|
3
|
+
import { CLog, CLogTypes, CollectionViewBase, ListViewViewTypes, isBounceEnabledProperty, isScrollEnabledProperty, itemTemplatesProperty, orientationProperty } from './common';
|
3
4
|
export * from './common';
|
4
5
|
const infinity = Utils.layout.makeMeasureSpec(0, Utils.layout.UNSPECIFIED);
|
5
6
|
export var ContentInsetAdjustmentBehavior;
|
@@ -43,11 +44,7 @@ export class CollectionView extends CollectionViewBase {
|
|
43
44
|
this.needsScrollStartEvent = false;
|
44
45
|
this.isScrolling = false;
|
45
46
|
this._map = new Map();
|
46
|
-
this._sizes = new Array();
|
47
|
-
}
|
48
|
-
// @ts-ignore
|
49
|
-
get ios() {
|
50
|
-
return this.nativeViewProtected;
|
47
|
+
// this._sizes = new Array<number[]>();
|
51
48
|
}
|
52
49
|
createNativeView() {
|
53
50
|
let layout;
|
@@ -73,35 +70,27 @@ export class CollectionView extends CollectionViewBase {
|
|
73
70
|
}
|
74
71
|
onTemplateAdded(t) {
|
75
72
|
super.onTemplateAdded(t);
|
76
|
-
if (this.
|
77
|
-
this.
|
73
|
+
if (this.nativeViewProtected) {
|
74
|
+
this.nativeViewProtected.registerClassForCellWithReuseIdentifier(CollectionViewCell.class(), t.key.toLowerCase());
|
78
75
|
}
|
79
76
|
}
|
80
77
|
initNativeView() {
|
81
78
|
super.initNativeView();
|
79
|
+
const nativeView = this.nativeView;
|
82
80
|
this._dataSource = CollectionViewDataSource.initWithOwner(this);
|
83
|
-
|
84
|
-
|
85
|
-
if (layoutStyle && layoutStyle.createDelegate) {
|
86
|
-
this._delegate = layoutStyle.createDelegate();
|
87
|
-
}
|
88
|
-
else {
|
89
|
-
this._delegate = UICollectionViewDelegateImpl.initWithOwner(this);
|
90
|
-
}
|
91
|
-
this._delegate._owner = new WeakRef(this);
|
81
|
+
nativeView.dataSource = this._dataSource;
|
82
|
+
// delegate will be set in first onLayout because we need computed _effectiveColWidth and _effectiveRowHeight
|
92
83
|
this._measureCellMap = new Map();
|
93
|
-
this.ios.delegate = this._delegate;
|
94
84
|
this._setNativeClipToBounds();
|
95
85
|
}
|
96
86
|
disposeNativeView() {
|
97
87
|
if (Trace.isEnabled()) {
|
98
88
|
CLog(CLogTypes.log, 'disposeNativeView');
|
99
89
|
}
|
100
|
-
|
101
|
-
|
102
|
-
this.ios.dataSource = null;
|
103
|
-
}
|
90
|
+
const nativeView = this.nativeView;
|
91
|
+
nativeView.delegate = null;
|
104
92
|
this._delegate = null;
|
93
|
+
nativeView.dataSource = null;
|
105
94
|
this._dataSource = null;
|
106
95
|
this._layout = null;
|
107
96
|
this.reorderLongPressHandler = null;
|
@@ -132,14 +121,14 @@ export class CollectionView extends CollectionViewBase {
|
|
132
121
|
}
|
133
122
|
getViewForItemAtIndex(index) {
|
134
123
|
let result;
|
135
|
-
if (this.
|
136
|
-
const cell = this.
|
124
|
+
if (this.nativeViewProtected) {
|
125
|
+
const cell = this.nativeViewProtected.cellForItemAtIndexPath(NSIndexPath.indexPathForRowInSection(index, 0));
|
137
126
|
return cell?.view;
|
138
127
|
}
|
139
128
|
return result;
|
140
129
|
}
|
141
130
|
startDragging(index, pointer) {
|
142
|
-
if (this.reorderEnabled && this.
|
131
|
+
if (this.reorderEnabled && this.nativeViewProtected) {
|
143
132
|
this.manualDragging = true;
|
144
133
|
this.draggingStartDelta = null;
|
145
134
|
if (pointer) {
|
@@ -150,15 +139,16 @@ export class CollectionView extends CollectionViewBase {
|
|
150
139
|
this.draggingStartDelta = [point.x - size.width / 2, point.y - size.height / 2];
|
151
140
|
}
|
152
141
|
}
|
153
|
-
this.
|
142
|
+
this.nativeViewProtected.beginInteractiveMovementForItemAtIndexPath(NSIndexPath.indexPathForRowInSection(index, 0));
|
154
143
|
this.scrollEnabledBeforeDragging = this.isScrollEnabled;
|
155
|
-
this.
|
144
|
+
this.nativeViewProtected.scrollEnabled = false;
|
156
145
|
}
|
157
146
|
}
|
158
147
|
onReorderingTouch(event) {
|
159
148
|
if (!this.manualDragging) {
|
160
149
|
return;
|
161
150
|
}
|
151
|
+
const collectionView = this.nativeViewProtected;
|
162
152
|
const pointer = event.getActivePointers()[0];
|
163
153
|
switch (event.action) {
|
164
154
|
case 'move':
|
@@ -168,24 +158,18 @@ export class CollectionView extends CollectionViewBase {
|
|
168
158
|
x -= this.draggingStartDelta[0];
|
169
159
|
y -= this.draggingStartDelta[1];
|
170
160
|
}
|
171
|
-
|
172
|
-
this.ios.updateInteractiveMovementTargetPosition(CGPointMake(x, y));
|
173
|
-
}
|
161
|
+
collectionView.updateInteractiveMovementTargetPosition(CGPointMake(x, y));
|
174
162
|
break;
|
175
163
|
case 'up':
|
176
164
|
this.manualDragging = false;
|
177
|
-
|
178
|
-
|
179
|
-
this.ios.scrollEnabled = this.scrollEnabledBeforeDragging;
|
180
|
-
}
|
165
|
+
collectionView && collectionView.endInteractiveMovement();
|
166
|
+
this.nativeViewProtected.scrollEnabled = this.scrollEnabledBeforeDragging;
|
181
167
|
this.handleReorderEnd();
|
182
168
|
break;
|
183
169
|
case 'cancel':
|
184
170
|
this.manualDragging = false;
|
185
|
-
|
186
|
-
|
187
|
-
this.ios.scrollEnabled = this.scrollEnabledBeforeDragging;
|
188
|
-
}
|
171
|
+
collectionView && collectionView.cancelInteractiveMovement();
|
172
|
+
this.nativeViewProtected.scrollEnabled = this.scrollEnabledBeforeDragging;
|
189
173
|
this.handleReorderEnd();
|
190
174
|
break;
|
191
175
|
}
|
@@ -203,31 +187,30 @@ export class CollectionView extends CollectionViewBase {
|
|
203
187
|
this.reorderEndingRow = -1;
|
204
188
|
}
|
205
189
|
onReorderLongPress(gesture) {
|
206
|
-
|
190
|
+
const collectionView = this.nativeViewProtected;
|
191
|
+
if (!collectionView) {
|
207
192
|
return;
|
208
193
|
}
|
209
194
|
switch (gesture.state) {
|
210
195
|
case 1 /* UIGestureRecognizerState.Began */:
|
211
|
-
const selectedIndexPath =
|
212
|
-
|
196
|
+
const selectedIndexPath = collectionView.indexPathForItemAtPoint(gesture.locationInView(collectionView));
|
197
|
+
collectionView.beginInteractiveMovementForItemAtIndexPath(selectedIndexPath);
|
213
198
|
break;
|
214
199
|
case 2 /* UIGestureRecognizerState.Changed */:
|
215
|
-
|
200
|
+
collectionView.updateInteractiveMovementTargetPosition(gesture.locationInView(collectionView));
|
216
201
|
break;
|
217
202
|
case 3 /* UIGestureRecognizerState.Ended */:
|
218
|
-
|
203
|
+
collectionView.endInteractiveMovement();
|
219
204
|
this.handleReorderEnd();
|
220
205
|
break;
|
221
206
|
default:
|
222
|
-
|
207
|
+
collectionView.cancelInteractiveMovement();
|
223
208
|
this.handleReorderEnd();
|
224
209
|
break;
|
225
210
|
}
|
226
211
|
}
|
227
212
|
[contentInsetAdjustmentBehaviorProperty.setNative](value) {
|
228
|
-
|
229
|
-
this.ios.contentInsetAdjustmentBehavior = value;
|
230
|
-
}
|
213
|
+
this.nativeViewProtected.contentInsetAdjustmentBehavior = value;
|
231
214
|
}
|
232
215
|
[paddingTopProperty.setNative](value) {
|
233
216
|
this._setPadding({ top: Utils.layout.toDeviceIndependentPixels(this.effectivePaddingTop) });
|
@@ -254,33 +237,25 @@ export class CollectionView extends CollectionViewBase {
|
|
254
237
|
this.updateScrollBarVisibility(this.scrollBarIndicatorVisible);
|
255
238
|
}
|
256
239
|
[isScrollEnabledProperty.setNative](value) {
|
257
|
-
|
258
|
-
this.ios.scrollEnabled = value;
|
259
|
-
}
|
240
|
+
this.nativeViewProtected.scrollEnabled = value;
|
260
241
|
this.scrollEnabledBeforeDragging = value;
|
261
242
|
}
|
262
243
|
[isBounceEnabledProperty.setNative](value) {
|
263
|
-
|
264
|
-
|
265
|
-
// this.ios.alwaysBounceHorizontal = value;
|
266
|
-
}
|
244
|
+
this.nativeViewProtected.bounces = value;
|
245
|
+
// this.nativeViewProtected.alwaysBounceHorizontal = value;
|
267
246
|
}
|
268
247
|
[itemTemplatesProperty.getDefault]() {
|
269
248
|
return null;
|
270
249
|
}
|
271
250
|
[reverseLayoutProperty.setNative](value) {
|
272
|
-
|
273
|
-
this.ios.transform = value ? CGAffineTransformMakeRotation(-Math.PI) : null;
|
274
|
-
}
|
251
|
+
this.nativeViewProtected.transform = value ? CGAffineTransformMakeRotation(-Math.PI) : null;
|
275
252
|
}
|
276
253
|
[reorderLongPressEnabledProperty.setNative](value) {
|
277
254
|
if (value) {
|
278
255
|
if (!this.reorderLongPressGesture) {
|
279
256
|
this.reorderLongPressHandler = ReorderLongPressImpl.initWithOwner(new WeakRef(this));
|
280
257
|
this.reorderLongPressGesture = UILongPressGestureRecognizer.alloc().initWithTargetAction(this.reorderLongPressHandler, 'longPress');
|
281
|
-
|
282
|
-
this.ios.addGestureRecognizer(this.reorderLongPressGesture);
|
283
|
-
}
|
258
|
+
this.nativeViewProtected.addGestureRecognizer(this.reorderLongPressGesture);
|
284
259
|
}
|
285
260
|
else {
|
286
261
|
this.reorderLongPressGesture.enabled = true;
|
@@ -307,14 +282,14 @@ export class CollectionView extends CollectionViewBase {
|
|
307
282
|
this.updateScrollBarVisibility(value);
|
308
283
|
}
|
309
284
|
updateScrollBarVisibility(value) {
|
310
|
-
if (!this.
|
285
|
+
if (!this.nativeViewProtected) {
|
311
286
|
return;
|
312
287
|
}
|
313
288
|
if (this.orientation === 'horizontal') {
|
314
|
-
this.
|
289
|
+
this.nativeViewProtected.showsHorizontalScrollIndicator = value;
|
315
290
|
}
|
316
291
|
else {
|
317
|
-
this.
|
292
|
+
this.nativeViewProtected.showsVerticalScrollIndicator = value;
|
318
293
|
}
|
319
294
|
}
|
320
295
|
eachChildView(callback) {
|
@@ -332,13 +307,36 @@ export class CollectionView extends CollectionViewBase {
|
|
332
307
|
const p = CollectionViewBase.plugins[k];
|
333
308
|
p.onLayout && p.onLayout(this, left, top, right, bottom);
|
334
309
|
});
|
335
|
-
const layoutView = this.
|
310
|
+
const layoutView = this.nativeViewProtected.collectionViewLayout;
|
336
311
|
if (!layoutView) {
|
337
312
|
return;
|
338
313
|
}
|
339
|
-
if (
|
340
|
-
|
341
|
-
|
314
|
+
if (!this._delegate) {
|
315
|
+
const layoutStyle = CollectionViewBase.layoutStyles[this.layoutStyle];
|
316
|
+
if (layoutStyle && layoutStyle.createDelegate) {
|
317
|
+
this._delegate = layoutStyle.createDelegate(this);
|
318
|
+
}
|
319
|
+
else {
|
320
|
+
// if we use fixed col and row size we want a delegate
|
321
|
+
// without collectionViewLayoutSizeForItemAtIndexPath
|
322
|
+
// because it is not needed and faster
|
323
|
+
if (this._effectiveColWidth && this._effectiveRowHeight) {
|
324
|
+
this._delegate = UICollectionViewDelegateFixedSizeImpl.initWithOwner(this);
|
325
|
+
}
|
326
|
+
else {
|
327
|
+
this._delegate = UICollectionViewDelegateImpl.initWithOwner(this);
|
328
|
+
}
|
329
|
+
}
|
330
|
+
// this._delegate._owner = new WeakRef(this);
|
331
|
+
this.nativeViewProtected.delegate = this._delegate;
|
332
|
+
}
|
333
|
+
if (layoutView instanceof UICollectionViewFlowLayout) {
|
334
|
+
if (this._effectiveRowHeight && this._effectiveColWidth) {
|
335
|
+
layoutView.itemSize = CGSizeMake(Utils.layout.toDeviceIndependentPixels(this._effectiveColWidth), Utils.layout.toDeviceIndependentPixels(this._effectiveRowHeight));
|
336
|
+
}
|
337
|
+
else {
|
338
|
+
layoutView.estimatedItemSize = CGSizeMake(Utils.layout.toDeviceIndependentPixels(this._effectiveColWidth), Utils.layout.toDeviceIndependentPixels(this._effectiveRowHeight));
|
339
|
+
}
|
342
340
|
}
|
343
341
|
layoutView.invalidateLayout();
|
344
342
|
// there is no need to call refresh if it was triggered before with same size.
|
@@ -352,42 +350,49 @@ export class CollectionView extends CollectionViewBase {
|
|
352
350
|
return this.orientation === 'horizontal';
|
353
351
|
}
|
354
352
|
onSourceCollectionChanged(event) {
|
355
|
-
|
353
|
+
const view = this.nativeViewProtected;
|
354
|
+
if (!view || this._dataUpdatesSuspended || !this._lastLayoutKey) {
|
356
355
|
return;
|
357
356
|
}
|
358
357
|
if (Trace.isEnabled()) {
|
359
358
|
CLog(CLogTypes.log, 'onItemsChanged', ChangeType.Update, event.action, event.index, event.addedCount, event.removed && event.removed.length);
|
360
359
|
}
|
361
360
|
// we need to clear stored cell sizes and it wont be correct anymore
|
362
|
-
this.clearCellSize();
|
361
|
+
// this.clearCellSize();
|
362
|
+
const sizes = this._delegate instanceof UICollectionViewDelegateImpl ? this._delegate.cachedSizes : null;
|
363
363
|
switch (event.action) {
|
364
364
|
case ChangeType.Delete: {
|
365
365
|
const indexes = NSMutableArray.new();
|
366
366
|
for (let index = 0; index < event.addedCount; index++) {
|
367
367
|
indexes.addObject(NSIndexPath.indexPathForRowInSection(event.index + index, 0));
|
368
|
+
if (sizes) {
|
369
|
+
sizes.removeObjectAtIndex(event.index);
|
370
|
+
}
|
368
371
|
}
|
372
|
+
// this._sizes.splice(event.index, event.addedCount);
|
369
373
|
this.unbindUnusedCells(event.removed);
|
370
374
|
if (Trace.isEnabled()) {
|
371
375
|
CLog(CLogTypes.info, 'deleteItemsAtIndexPaths', indexes.count);
|
372
376
|
}
|
373
|
-
|
374
|
-
|
375
|
-
this.ios.deleteItemsAtIndexPaths(indexes);
|
376
|
-
}
|
377
|
+
view.performBatchUpdatesCompletion(() => {
|
378
|
+
view.deleteItemsAtIndexPaths(indexes);
|
377
379
|
}, null);
|
378
380
|
return;
|
379
381
|
}
|
380
382
|
case ChangeType.Update: {
|
381
383
|
const indexes = NSMutableArray.new();
|
382
384
|
indexes.addObject(NSIndexPath.indexPathForRowInSection(event.index, 0));
|
385
|
+
if (sizes) {
|
386
|
+
sizes.replaceObjectAtIndexWithObject(event.index, NSValue.valueWithCGSize(CGSizeZero));
|
387
|
+
}
|
388
|
+
// this._sizes[event.index] = null;
|
383
389
|
if (Trace.isEnabled()) {
|
384
390
|
CLog(CLogTypes.info, 'reloadItemsAtIndexPaths', event.index, indexes.count);
|
385
391
|
}
|
392
|
+
// TODO: for now we dont animate to be like android
|
386
393
|
UIView.performWithoutAnimation(() => {
|
387
|
-
|
388
|
-
|
389
|
-
this.ios.reloadItemsAtIndexPaths(indexes);
|
390
|
-
}
|
394
|
+
view.performBatchUpdatesCompletion(() => {
|
395
|
+
view.reloadItemsAtIndexPaths(indexes);
|
391
396
|
}, null);
|
392
397
|
});
|
393
398
|
return;
|
@@ -396,55 +401,63 @@ export class CollectionView extends CollectionViewBase {
|
|
396
401
|
const indexes = NSMutableArray.new();
|
397
402
|
for (let index = 0; index < event.addedCount; index++) {
|
398
403
|
indexes.addObject(NSIndexPath.indexPathForRowInSection(event.index + index, 0));
|
404
|
+
if (sizes) {
|
405
|
+
sizes.insertObjectAtIndex(NSValue.valueWithCGSize(CGSizeZero), event.index);
|
406
|
+
}
|
407
|
+
// this._sizes.splice(index, 0, null);
|
399
408
|
}
|
400
409
|
if (Trace.isEnabled()) {
|
401
410
|
CLog(CLogTypes.info, 'insertItemsAtIndexPaths', indexes.count);
|
402
411
|
}
|
403
|
-
|
404
|
-
|
405
|
-
this.ios.insertItemsAtIndexPaths(indexes);
|
406
|
-
}
|
412
|
+
view.performBatchUpdatesCompletion(() => {
|
413
|
+
view.insertItemsAtIndexPaths(indexes);
|
407
414
|
}, null);
|
408
415
|
return;
|
409
416
|
}
|
410
417
|
case ChangeType.Splice: {
|
411
|
-
|
412
|
-
if (!this.ios) {
|
413
|
-
return;
|
414
|
-
}
|
418
|
+
view.performBatchUpdatesCompletion(() => {
|
415
419
|
const added = event.addedCount;
|
416
420
|
const removed = (event.removed && event.removed.length) || 0;
|
417
421
|
if (added > 0 && added === removed) {
|
418
422
|
const indexes = NSMutableArray.new();
|
419
423
|
for (let index = 0; index < added; index++) {
|
420
424
|
indexes.addObject(NSIndexPath.indexPathForRowInSection(event.index + index, 0));
|
425
|
+
if (sizes) {
|
426
|
+
sizes.replaceObjectAtIndexWithObject(event.index + index, NSValue.valueWithCGSize(CGSizeZero));
|
427
|
+
}
|
428
|
+
// this._sizes[event.index + index] = null;
|
421
429
|
}
|
422
|
-
|
430
|
+
view.reloadItemsAtIndexPaths(indexes);
|
423
431
|
}
|
424
432
|
else {
|
425
433
|
if (event.addedCount > 0) {
|
426
434
|
const indexes = NSMutableArray.alloc().init();
|
427
435
|
for (let index = 0; index < event.addedCount; index++) {
|
428
436
|
indexes.addObject(NSIndexPath.indexPathForItemInSection(event.index + index, 0));
|
437
|
+
if (sizes) {
|
438
|
+
sizes.insertObjectAtIndex(NSValue.valueWithCGSize(CGSizeZero), event.index);
|
439
|
+
}
|
440
|
+
// this._sizes.splice(event.index, 0, null);
|
429
441
|
}
|
430
|
-
|
442
|
+
view.insertItemsAtIndexPaths(indexes);
|
431
443
|
}
|
432
444
|
if (event.removed && event.removed.length > 0) {
|
433
445
|
const indexes = NSMutableArray.new();
|
434
446
|
for (let index = 0; index < event.removed.length; index++) {
|
435
447
|
indexes.addObject(NSIndexPath.indexPathForItemInSection(event.index + index, 0));
|
448
|
+
if (sizes) {
|
449
|
+
sizes.removeObjectAtIndex(event.index);
|
450
|
+
}
|
436
451
|
}
|
452
|
+
// this._sizes.splice(event.index, event.removed.length);
|
437
453
|
this.unbindUnusedCells(event.removed);
|
438
454
|
if (Trace.isEnabled()) {
|
439
455
|
CLog(CLogTypes.info, 'deleteItemsAtIndexPaths', indexes.count);
|
440
456
|
}
|
441
|
-
|
442
|
-
if (this.ios) {
|
443
|
-
this.ios.deleteItemsAtIndexPaths(indexes);
|
444
|
-
}
|
445
|
-
}, null);
|
457
|
+
view.deleteItemsAtIndexPaths(indexes);
|
446
458
|
}
|
447
459
|
}
|
460
|
+
// view.collectionViewLayout.invalidateLayout();
|
448
461
|
}, null);
|
449
462
|
return;
|
450
463
|
}
|
@@ -453,13 +466,12 @@ export class CollectionView extends CollectionViewBase {
|
|
453
466
|
}
|
454
467
|
onItemTemplatesChanged(oldValue, newValue) {
|
455
468
|
super.onItemTemplatesChanged(oldValue, newValue);
|
456
|
-
if (!this.
|
469
|
+
if (!this.nativeViewProtected) {
|
457
470
|
return;
|
458
471
|
}
|
472
|
+
const view = this.nativeViewProtected;
|
459
473
|
this._itemTemplatesInternal.forEach((t) => {
|
460
|
-
|
461
|
-
this.ios.registerClassForCellWithReuseIdentifier(CollectionViewCell.class(), t.key.toLowerCase());
|
462
|
-
}
|
474
|
+
view.registerClassForCellWithReuseIdentifier(CollectionViewCell.class(), t.key.toLowerCase());
|
463
475
|
});
|
464
476
|
}
|
465
477
|
unbindUnusedCells(removedDataItems) {
|
@@ -473,27 +485,34 @@ export class CollectionView extends CollectionViewBase {
|
|
473
485
|
}, this);
|
474
486
|
}
|
475
487
|
refreshVisibleItems() {
|
476
|
-
|
488
|
+
const view = this.nativeViewProtected;
|
489
|
+
if (!view) {
|
477
490
|
return;
|
478
491
|
}
|
479
|
-
const
|
492
|
+
const sizes = this._delegate instanceof UICollectionViewDelegateImpl ? this._delegate.cachedSizes : null;
|
493
|
+
const visibles = view.indexPathsForVisibleItems;
|
494
|
+
if (sizes) {
|
495
|
+
const indexes = Array.from(visibles);
|
496
|
+
indexes.forEach((value) => {
|
497
|
+
sizes.replaceObjectAtIndexWithObject(value.row, NSValue.valueWithCGSize(CGSizeZero));
|
498
|
+
});
|
499
|
+
}
|
480
500
|
UIView.performWithoutAnimation(() => {
|
481
|
-
|
482
|
-
|
483
|
-
this.ios.reloadItemsAtIndexPaths(visibles);
|
484
|
-
}
|
501
|
+
view.performBatchUpdatesCompletion(() => {
|
502
|
+
view.reloadItemsAtIndexPaths(visibles);
|
485
503
|
}, null);
|
486
504
|
});
|
487
505
|
}
|
488
506
|
isItemAtIndexVisible(itemIndex) {
|
489
|
-
|
507
|
+
const view = this.nativeViewProtected;
|
508
|
+
if (!view) {
|
490
509
|
return false;
|
491
510
|
}
|
492
|
-
const indexes = Array.from(
|
511
|
+
const indexes = Array.from(view.indexPathsForVisibleItems);
|
493
512
|
return indexes.some((visIndex) => visIndex.row === itemIndex);
|
494
513
|
}
|
495
514
|
refresh() {
|
496
|
-
if (!this.isLoaded || !this.
|
515
|
+
if (!this.isLoaded || !this.nativeView) {
|
497
516
|
this._isDataDirty = true;
|
498
517
|
return;
|
499
518
|
}
|
@@ -503,7 +522,11 @@ export class CollectionView extends CollectionViewBase {
|
|
503
522
|
CLog(CLogTypes.info, 'refresh');
|
504
523
|
}
|
505
524
|
// we need to clear stored cell sizes and it wont be correct anymore
|
506
|
-
this.clearCellSize();
|
525
|
+
// this.clearCellSize();
|
526
|
+
const sizes = this._delegate instanceof UICollectionViewDelegateImpl ? this._delegate.cachedSizes : null;
|
527
|
+
if (sizes) {
|
528
|
+
sizes.removeAllObjects();
|
529
|
+
}
|
507
530
|
// clear bindingContext when it is not observable because otherwise bindings to items won't reevaluate
|
508
531
|
this._map.forEach((view, nativeView, map) => {
|
509
532
|
if (!(view.bindingContext instanceof Observable)) {
|
@@ -513,7 +536,7 @@ export class CollectionView extends CollectionViewBase {
|
|
513
536
|
// TODO: this is ugly look here: https://github.com/nativescript-vue/nativescript-vue/issues/525
|
514
537
|
// this.clearRealizedCells();
|
515
538
|
// dispatch_async(main_queue, () => {
|
516
|
-
this.
|
539
|
+
this.nativeViewProtected.reloadData();
|
517
540
|
// });
|
518
541
|
const args = {
|
519
542
|
eventName: CollectionViewBase.dataPopulatedEvent,
|
@@ -523,18 +546,17 @@ export class CollectionView extends CollectionViewBase {
|
|
523
546
|
}
|
524
547
|
//@ts-ignore
|
525
548
|
get scrollOffset() {
|
526
|
-
|
549
|
+
const view = this.nativeViewProtected;
|
550
|
+
return (this.isHorizontal() ? view?.contentOffset.x : view?.contentOffset.y) || 0;
|
527
551
|
}
|
528
552
|
get verticalOffsetX() {
|
529
|
-
return this.
|
553
|
+
return this.nativeViewProtected?.contentOffset.x || 0;
|
530
554
|
}
|
531
555
|
get verticalOffsetY() {
|
532
|
-
return this.
|
556
|
+
return this.nativeViewProtected?.contentOffset.y || 0;
|
533
557
|
}
|
534
558
|
scrollToIndex(index, animated = true) {
|
535
|
-
|
536
|
-
this.ios.scrollToItemAtIndexPathAtScrollPositionAnimated(NSIndexPath.indexPathForItemInSection(index, 0), this.orientation === 'vertical' ? 1 /* UICollectionViewScrollPosition.Top */ : 8 /* UICollectionViewScrollPosition.Left */, animated);
|
537
|
-
}
|
559
|
+
this.nativeViewProtected.scrollToItemAtIndexPathAtScrollPositionAnimated(NSIndexPath.indexPathForItemInSection(index, 0), this.orientation === 'vertical' ? 1 /* UICollectionViewScrollPosition.Top */ : 8 /* UICollectionViewScrollPosition.Left */, animated);
|
538
560
|
}
|
539
561
|
requestLayout() {
|
540
562
|
// When preparing cell don't call super - no need to invalidate our measure when cell desiredSize is changed.
|
@@ -543,9 +565,7 @@ export class CollectionView extends CollectionViewBase {
|
|
543
565
|
}
|
544
566
|
}
|
545
567
|
_setNativeClipToBounds() {
|
546
|
-
|
547
|
-
this.ios.clipsToBounds = true;
|
548
|
-
}
|
568
|
+
this.nativeView.clipsToBounds = true;
|
549
569
|
}
|
550
570
|
notifyForItemAtIndex(listView, cell, view, eventName, indexPath, bindingContext) {
|
551
571
|
const args = { eventName, object: listView, index: indexPath.row, view, ios: cell, bindingContext };
|
@@ -556,7 +576,7 @@ export class CollectionView extends CollectionViewBase {
|
|
556
576
|
const selector = this._itemTemplateSelector;
|
557
577
|
let type = this._defaultTemplate.key;
|
558
578
|
if (selector) {
|
559
|
-
type = selector(this.getItemAtIndex(indexPath.item), indexPath.item, this.items);
|
579
|
+
type = selector.call(this, this.getItemAtIndex(indexPath.item), indexPath.item, this.items);
|
560
580
|
}
|
561
581
|
return type.toLowerCase();
|
562
582
|
}
|
@@ -591,30 +611,41 @@ export class CollectionView extends CollectionViewBase {
|
|
591
611
|
cell.view.nativeViewProtected.removeFromSuperview();
|
592
612
|
cell.owner = new WeakRef(view);
|
593
613
|
}
|
614
|
+
cell.currentIndex = indexPath.row;
|
594
615
|
if (notForCellSizeComp) {
|
595
616
|
this._map.set(cell, view);
|
596
617
|
}
|
597
618
|
if (view && !view.parent) {
|
598
619
|
this._addView(view);
|
599
620
|
const innerView = NSCellView.new();
|
621
|
+
innerView.autoresizingMask = 2 /* UIViewAutoresizing.FlexibleWidth */ | 16 /* UIViewAutoresizing.FlexibleHeight */;
|
600
622
|
innerView.view = new WeakRef(view);
|
601
|
-
if (
|
623
|
+
if (notForCellSizeComp && this.autoReloadItemOnLayout) {
|
602
624
|
// for a cell to update correctly on cell layout change we need
|
603
625
|
// to do it ourself instead of "propagating it"
|
604
626
|
view['performLayout'] = () => {
|
605
|
-
if (
|
606
|
-
this.
|
607
|
-
this.
|
608
|
-
if (
|
609
|
-
|
627
|
+
if (!this._preparingCell) {
|
628
|
+
const nativeView = this.nativeViewProtected;
|
629
|
+
const sizes = this._delegate instanceof UICollectionViewDelegateImpl ? this._delegate.cachedSizes : null;
|
630
|
+
if (sizes) {
|
631
|
+
sizes.replaceObjectAtIndexWithObject(cell.currentIndex, NSValue.valueWithCGSize(CGSizeZero));
|
610
632
|
}
|
633
|
+
// TODO: for now we dont animate to be like android
|
634
|
+
UIView.performWithoutAnimation(() => {
|
635
|
+
nativeView.performBatchUpdatesCompletion(() => {
|
636
|
+
this.measureCell(cell, view, cell.currentIndex);
|
637
|
+
// this.layoutCell(indexPath.row, cell, view);
|
638
|
+
// cell.layoutIfNeeded();
|
639
|
+
}, null);
|
640
|
+
});
|
641
|
+
this.nativeViewProtected.collectionViewLayout.invalidateLayout();
|
611
642
|
}
|
612
643
|
};
|
613
644
|
}
|
614
645
|
innerView.addSubview(view.nativeViewProtected);
|
615
646
|
cell.contentView.addSubview(innerView);
|
616
647
|
}
|
617
|
-
cellSize = this.measureCell(cell, view, indexPath);
|
648
|
+
cellSize = this.measureCell(cell, view, indexPath.row);
|
618
649
|
if (notForCellSizeComp) {
|
619
650
|
view.notify({ eventName: CollectionViewBase.bindedEvent });
|
620
651
|
}
|
@@ -628,7 +659,8 @@ export class CollectionView extends CollectionViewBase {
|
|
628
659
|
return cellSize;
|
629
660
|
}
|
630
661
|
getCellSize(index) {
|
631
|
-
let result = this._sizes[index];
|
662
|
+
// let result = this._sizes[index];
|
663
|
+
let result;
|
632
664
|
// CLog(CLogTypes.log, 'getCellSize', index, result, this._effectiveColWidth, this._effectiveRowHeight, this.getMeasuredWidth(), this.getMeasuredHeight());
|
633
665
|
if (!result) {
|
634
666
|
let width = this._effectiveColWidth;
|
@@ -657,19 +689,18 @@ export class CollectionView extends CollectionViewBase {
|
|
657
689
|
// return undefined;
|
658
690
|
return result;
|
659
691
|
}
|
660
|
-
storeCellSize(index, value) {
|
661
|
-
|
662
|
-
}
|
663
|
-
clearCellSize() {
|
664
|
-
|
665
|
-
}
|
666
|
-
measureCell(cell, cellView,
|
692
|
+
// public storeCellSize(index: number, value) {
|
693
|
+
// this._sizes[index] = value;
|
694
|
+
// }
|
695
|
+
// public clearCellSize() {
|
696
|
+
// this._sizes = new Array<number[]>();
|
697
|
+
// }
|
698
|
+
measureCell(cell, cellView, position) {
|
667
699
|
if (cellView) {
|
668
700
|
let width = this._effectiveColWidth;
|
669
701
|
let height = this._effectiveRowHeight;
|
670
702
|
const horizontal = this.isHorizontal();
|
671
703
|
if (this.spanSize) {
|
672
|
-
const position = index.row;
|
673
704
|
const dataItem = this.getItemAtIndex(position);
|
674
705
|
const spanSize = this.spanSize(dataItem, position);
|
675
706
|
if (horizontal) {
|
@@ -690,19 +721,20 @@ export class CollectionView extends CollectionViewBase {
|
|
690
721
|
? Utils.layout.makeMeasureSpec(this._innerHeight, Utils.layout.UNSPECIFIED)
|
691
722
|
: infinity;
|
692
723
|
if (Trace.isEnabled()) {
|
693
|
-
CLog(CLogTypes.log, 'measureCell',
|
724
|
+
CLog(CLogTypes.log, 'measureCell', position, width, height, widthMeasureSpec, heightMeasureSpec);
|
694
725
|
}
|
695
726
|
const measuredSize = View.measureChild(this, cellView, widthMeasureSpec, heightMeasureSpec);
|
696
727
|
const result = [measuredSize.measuredWidth, measuredSize.measuredHeight];
|
697
|
-
this.storeCellSize(index.row, result);
|
728
|
+
// this.storeCellSize(index.row, result);
|
698
729
|
return result;
|
699
730
|
}
|
700
731
|
return undefined;
|
701
732
|
}
|
702
733
|
layoutCell(index, cell, cellView) {
|
703
|
-
const cellSize = this.getCellSize(index);
|
734
|
+
// const cellSize = this.getCellSize(index);
|
704
735
|
cellView['iosIgnoreSafeArea'] = true;
|
705
|
-
|
736
|
+
const size = cell.bounds.size;
|
737
|
+
View.layoutChild(this, cellView, 0, 0, Utils.layout.toDevicePixels(size.width), Utils.layout.toDevicePixels(size.height));
|
706
738
|
if (Trace.isEnabled()) {
|
707
739
|
CLog(CLogTypes.log, 'layoutCell', index, cellView.getMeasuredWidth(), cellView.getMeasuredHeight());
|
708
740
|
}
|
@@ -759,6 +791,7 @@ export class CollectionView extends CollectionViewBase {
|
|
759
791
|
collectionViewCellForItemAtIndexPath(collectionView, indexPath) {
|
760
792
|
const templateType = this._getItemTemplateType(indexPath);
|
761
793
|
let cell = collectionView.dequeueReusableCellWithReuseIdentifierForIndexPath(templateType, indexPath);
|
794
|
+
const firstRender = !cell.view;
|
762
795
|
if (!cell) {
|
763
796
|
cell = CollectionViewCell.new();
|
764
797
|
}
|
@@ -766,8 +799,9 @@ export class CollectionView extends CollectionViewBase {
|
|
766
799
|
CLog(CLogTypes.log, 'collectionViewCellForItemAtIndexPath', indexPath.row, templateType, !!cell.view, cell);
|
767
800
|
}
|
768
801
|
this._prepareCell(cell, indexPath, templateType);
|
802
|
+
// the cell layout will be called from NSCellView layoutSubviews
|
769
803
|
const cellView = cell.view;
|
770
|
-
if (cellView['isLayoutRequired']) {
|
804
|
+
if (!firstRender && cellView['isLayoutRequired']) {
|
771
805
|
this.layoutCell(indexPath.row, cell, cellView);
|
772
806
|
}
|
773
807
|
return cell;
|
@@ -785,14 +819,13 @@ export class CollectionView extends CollectionViewBase {
|
|
785
819
|
});
|
786
820
|
}
|
787
821
|
}
|
788
|
-
if (this.hasListeners(CollectionViewBase.displayItemEvent)) {
|
789
|
-
|
790
|
-
|
791
|
-
|
792
|
-
|
793
|
-
|
794
|
-
|
795
|
-
}
|
822
|
+
// if (this.hasListeners(CollectionViewBase.displayItemEvent) ) {
|
823
|
+
// this.notify<CollectionViewItemDisplayEventData>({
|
824
|
+
// eventName: CollectionViewBase.displayItemEvent,
|
825
|
+
// index:indexPath.row,
|
826
|
+
// object: this,
|
827
|
+
// });
|
828
|
+
// }
|
796
829
|
if (cell.preservesSuperviewLayoutMargins) {
|
797
830
|
cell.preservesSuperviewLayoutMargins = false;
|
798
831
|
}
|
@@ -1041,19 +1074,7 @@ var UICollectionViewDelegateImpl = /** @class */ (function (_super) {
|
|
1041
1074
|
}
|
1042
1075
|
return indexPath;
|
1043
1076
|
};
|
1044
|
-
UICollectionViewDelegateImpl.prototype.
|
1045
|
-
var owner = this._owner.deref();
|
1046
|
-
if (owner) {
|
1047
|
-
return owner.collectionViewDidHighlightItemAtIndexPath(collectionView, indexPath);
|
1048
|
-
}
|
1049
|
-
};
|
1050
|
-
UICollectionViewDelegateImpl.prototype.collectionViewDidUnhighlightItemAtIndexPath = function (collectionView, indexPath) {
|
1051
|
-
var owner = this._owner.deref();
|
1052
|
-
if (owner) {
|
1053
|
-
return owner.collectionViewDidUnhighlightItemAtIndexPath(collectionView, indexPath);
|
1054
|
-
}
|
1055
|
-
};
|
1056
|
-
UICollectionViewDelegateImpl.prototype.collectionViewLayoutSizeForItemAtIndexPath = function (collectionView, collectionViewLayout, indexPath) {
|
1077
|
+
UICollectionViewDelegateImpl.prototype.collectionViewLayoutComputedSizeForItemAtIndexPath = function (collectionView, collectionViewLayout, indexPath) {
|
1057
1078
|
var owner = this._owner.deref();
|
1058
1079
|
if (owner) {
|
1059
1080
|
return owner.collectionViewLayoutSizeForItemAtIndexPath(collectionView, collectionViewLayout, indexPath);
|
@@ -1098,6 +1119,68 @@ var UICollectionViewDelegateImpl = /** @class */ (function (_super) {
|
|
1098
1119
|
};
|
1099
1120
|
UICollectionViewDelegateImpl.ObjCProtocols = [UICollectionViewDelegate, UICollectionViewDelegateFlowLayout];
|
1100
1121
|
return UICollectionViewDelegateImpl;
|
1122
|
+
}(UICollectionViewCacheDelegateFlowLayout));
|
1123
|
+
var UICollectionViewDelegateFixedSizeImpl = /** @class */ (function (_super) {
|
1124
|
+
__extends(UICollectionViewDelegateFixedSizeImpl, _super);
|
1125
|
+
function UICollectionViewDelegateFixedSizeImpl() {
|
1126
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
1127
|
+
}
|
1128
|
+
UICollectionViewDelegateFixedSizeImpl.initWithOwner = function (owner) {
|
1129
|
+
var delegate = UICollectionViewDelegateFixedSizeImpl.new();
|
1130
|
+
delegate._owner = new WeakRef(owner);
|
1131
|
+
return delegate;
|
1132
|
+
};
|
1133
|
+
UICollectionViewDelegateFixedSizeImpl.prototype.collectionViewWillDisplayCellForItemAtIndexPath = function (collectionView, cell, indexPath) {
|
1134
|
+
var owner = this._owner.deref();
|
1135
|
+
if (owner) {
|
1136
|
+
owner.collectionViewWillDisplayCellForItemAtIndexPath(collectionView, cell, indexPath);
|
1137
|
+
}
|
1138
|
+
};
|
1139
|
+
UICollectionViewDelegateFixedSizeImpl.prototype.collectionViewDidSelectItemAtIndexPath = function (collectionView, indexPath) {
|
1140
|
+
var owner = this._owner.deref();
|
1141
|
+
if (owner) {
|
1142
|
+
return owner.collectionViewDidSelectItemAtIndexPath(collectionView, indexPath);
|
1143
|
+
}
|
1144
|
+
return indexPath;
|
1145
|
+
};
|
1146
|
+
UICollectionViewDelegateFixedSizeImpl.prototype.scrollViewDidScroll = function (scrollView) {
|
1147
|
+
var owner = this._owner.deref();
|
1148
|
+
if (owner) {
|
1149
|
+
owner.scrollViewDidScroll(scrollView);
|
1150
|
+
}
|
1151
|
+
};
|
1152
|
+
UICollectionViewDelegateFixedSizeImpl.prototype.scrollViewWillBeginDragging = function (scrollView) {
|
1153
|
+
var owner = this._owner.deref();
|
1154
|
+
if (owner) {
|
1155
|
+
owner.scrollViewWillBeginDragging(scrollView);
|
1156
|
+
}
|
1157
|
+
};
|
1158
|
+
UICollectionViewDelegateFixedSizeImpl.prototype.scrollViewDidEndDecelerating = function (scrollView) {
|
1159
|
+
var owner = this._owner.deref();
|
1160
|
+
if (owner) {
|
1161
|
+
owner.scrollViewDidEndDecelerating(scrollView);
|
1162
|
+
}
|
1163
|
+
};
|
1164
|
+
UICollectionViewDelegateFixedSizeImpl.prototype.scrollViewWillEndDraggingWithVelocityTargetContentOffset = function (scrollView, velocity, targetContentOffset) {
|
1165
|
+
var owner = this._owner.deref();
|
1166
|
+
if (owner) {
|
1167
|
+
owner.scrollViewWillEndDraggingWithVelocityTargetContentOffset(scrollView, velocity, targetContentOffset);
|
1168
|
+
}
|
1169
|
+
};
|
1170
|
+
UICollectionViewDelegateFixedSizeImpl.prototype.scrollViewDidEndDraggingWillDecelerate = function (scrollView, decelerate) {
|
1171
|
+
var owner = this._owner.deref();
|
1172
|
+
if (owner) {
|
1173
|
+
owner.scrollViewDidEndDraggingWillDecelerate(scrollView, decelerate);
|
1174
|
+
}
|
1175
|
+
};
|
1176
|
+
UICollectionViewDelegateFixedSizeImpl.prototype.scrollViewDidEndScrollingAnimation = function (scrollView) {
|
1177
|
+
var owner = this._owner.deref();
|
1178
|
+
if (owner) {
|
1179
|
+
owner.scrollViewDidEndScrollingAnimation(scrollView);
|
1180
|
+
}
|
1181
|
+
};
|
1182
|
+
UICollectionViewDelegateFixedSizeImpl.ObjCProtocols = [UICollectionViewDelegate, UICollectionViewDelegateFlowLayout];
|
1183
|
+
return UICollectionViewDelegateFixedSizeImpl;
|
1101
1184
|
}(NSObject));
|
1102
1185
|
var ReorderLongPressImpl = /** @class */ (function (_super) {
|
1103
1186
|
__extends(ReorderLongPressImpl, _super);
|
package/index.ios.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../packages/ui-collectionview/index.ios.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../../packages/ui-collectionview/index.ios.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@nstudio/ui-collectionview",
|
3
|
-
"version": "
|
3
|
+
"version": "5.0.4",
|
4
4
|
"description": "Customized NativeScript CollectionView for high performance lists. Supports vertical and horizontal modes, templating, and more.",
|
5
5
|
"main": "index",
|
6
6
|
"typings": "index.d.ts",
|
Binary file
|
@@ -0,0 +1,6 @@
|
|
1
|
+
@interface UICollectionViewCacheDelegateFlowLayout: NSObject <UICollectionViewDelegateFlowLayout>
|
2
|
+
|
3
|
+
@property (nonatomic, retain) NSMutableArray* cachedSizes;
|
4
|
+
|
5
|
+
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout computedSizeForItemAtIndexPath:(NSIndexPath *)indexPath;
|
6
|
+
@end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
#import "UICollectionViewCacheDelegateFlowLayout.h"
|
2
|
+
|
3
|
+
@implementation UICollectionViewCacheDelegateFlowLayout
|
4
|
+
@synthesize cachedSizes;
|
5
|
+
- (instancetype)init
|
6
|
+
{
|
7
|
+
self = [super init];
|
8
|
+
if (self) {
|
9
|
+
self.cachedSizes = [NSMutableArray new];
|
10
|
+
}
|
11
|
+
return self;
|
12
|
+
}
|
13
|
+
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout computedSizeForItemAtIndexPath:(NSIndexPath *)indexPath
|
14
|
+
{
|
15
|
+
return CGSizeZero;
|
16
|
+
}
|
17
|
+
|
18
|
+
- (CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
|
19
|
+
{
|
20
|
+
NSInteger index = indexPath.row;
|
21
|
+
if (index < [self.cachedSizes count]) {
|
22
|
+
NSValue* value = [self.cachedSizes objectAtIndex:indexPath.row];
|
23
|
+
if (value != nil && !CGSizeEqualToSize([value CGSizeValue], CGSizeZero)) {
|
24
|
+
return [value CGSizeValue];
|
25
|
+
}
|
26
|
+
CGSize size = [self collectionView:collectionView layout:collectionViewLayout computedSizeForItemAtIndexPath:indexPath];
|
27
|
+
[self.cachedSizes replaceObjectAtIndex:indexPath.row withObject:[NSValue valueWithCGSize:size]];
|
28
|
+
return size;
|
29
|
+
} else {
|
30
|
+
CGSize size = [self collectionView:collectionView layout:collectionViewLayout computedSizeForItemAtIndexPath:indexPath];
|
31
|
+
[self.cachedSizes addObject:[NSValue valueWithCGSize:size]];
|
32
|
+
return size;
|
33
|
+
}
|
34
|
+
}
|
35
|
+
|
36
|
+
@end
|