@nativescript-community/ui-collectionview 6.0.1 → 6.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/angular/esm2022/collectionview-comp.mjs +3 -3
- package/angular/esm2022/index.mjs +2 -2
- package/angular/fesm2022/nativescript-community-ui-collectionview-angular.mjs +3 -3
- package/angular/fesm2022/nativescript-community-ui-collectionview-angular.mjs.map +1 -1
- package/index-common.js +3 -3
- package/index-common.js.map +1 -1
- package/index.ios.d.ts +57 -4
- package/index.ios.js +78 -6
- package/index.ios.js.map +1 -1
- package/package.json +2 -2
- package/vue3/component.d.ts +5 -5
- package/react/index.d.ts +0 -119
- package/react/index.js +0 -151
- package/react/index.js.map +0 -1
package/index.ios.js
CHANGED
@@ -38,6 +38,11 @@ export const estimatedItemSizeProperty = new Property({
|
|
38
38
|
defaultValue: true,
|
39
39
|
valueConverter: booleanConverter
|
40
40
|
});
|
41
|
+
export const autoSizeProperty = new Property({
|
42
|
+
name: 'autoSize',
|
43
|
+
defaultValue: false,
|
44
|
+
valueConverter: booleanConverter
|
45
|
+
});
|
41
46
|
export var SnapPosition;
|
42
47
|
(function (SnapPosition) {
|
43
48
|
SnapPosition[SnapPosition["START"] = -1] = "START";
|
@@ -49,6 +54,7 @@ export class CollectionView extends CollectionViewBase {
|
|
49
54
|
constructor() {
|
50
55
|
super();
|
51
56
|
this._preparingCell = false;
|
57
|
+
this.autoSize = false;
|
52
58
|
this.reorderStartingRow = -1;
|
53
59
|
this.reorderEndingRow = -1;
|
54
60
|
this.manualDragging = false;
|
@@ -72,7 +78,8 @@ export class CollectionView extends CollectionViewBase {
|
|
72
78
|
layout.minimumLineSpacing = 0;
|
73
79
|
layout.minimumInteritemSpacing = 0;
|
74
80
|
}
|
75
|
-
const view =
|
81
|
+
// const view = UICollectionViewImpl.initWithFrameCollectionViewLayout(CGRectMake(0, 0, 0, 0), layout) as UICollectionViewImpl;
|
82
|
+
const view = UICollectionViewImpl.initWithOwner(this, layout);
|
76
83
|
view.backgroundColor = UIColor.clearColor;
|
77
84
|
this._itemTemplatesInternal.forEach((t) => {
|
78
85
|
view.registerClassForCellWithReuseIdentifier(CollectionViewCell.class(), t.key.toLowerCase());
|
@@ -105,6 +112,10 @@ export class CollectionView extends CollectionViewBase {
|
|
105
112
|
this._delegate = layoutStyle.createDelegate(this);
|
106
113
|
this.nativeViewProtected.delegate = this._delegate;
|
107
114
|
}
|
115
|
+
else if (this.autoSize) {
|
116
|
+
this._delegate = UICollectionViewDelegateImpl.initWithOwner(this);
|
117
|
+
this.nativeViewProtected.delegate = this._delegate;
|
118
|
+
}
|
108
119
|
this._setNativeClipToBounds();
|
109
120
|
}
|
110
121
|
disposeNativeView() {
|
@@ -252,13 +263,29 @@ export class CollectionView extends CollectionViewBase {
|
|
252
263
|
return;
|
253
264
|
}
|
254
265
|
switch (gesture.state) {
|
255
|
-
case 1 /* UIGestureRecognizerState.Began */:
|
256
|
-
|
266
|
+
case 1 /* UIGestureRecognizerState.Began */: {
|
267
|
+
let point = gesture.locationInView(collectionView);
|
268
|
+
const selectedIndexPath = collectionView.indexPathForItemAtPoint(point);
|
269
|
+
const view = this.getViewForItemAtIndex(selectedIndexPath.row);
|
270
|
+
if (view) {
|
271
|
+
const size = view.nativeViewProtected.bounds.size;
|
272
|
+
point = gesture.locationInView(view.nativeViewProtected);
|
273
|
+
this.draggingStartDelta = [point.x - size.width / 2, point.y - size.height / 2];
|
274
|
+
}
|
257
275
|
collectionView.beginInteractiveMovementForItemAtIndexPath(selectedIndexPath);
|
258
276
|
break;
|
259
|
-
|
260
|
-
|
277
|
+
}
|
278
|
+
case 2 /* UIGestureRecognizerState.Changed */: {
|
279
|
+
const point = gesture.locationInView(collectionView);
|
280
|
+
let x = point.x;
|
281
|
+
let y = point.y;
|
282
|
+
if (this.draggingStartDelta) {
|
283
|
+
x -= this.draggingStartDelta[0];
|
284
|
+
y -= this.draggingStartDelta[1];
|
285
|
+
}
|
286
|
+
collectionView.updateInteractiveMovementTargetPosition(CGPointMake(x, y));
|
261
287
|
break;
|
288
|
+
}
|
262
289
|
case 3 /* UIGestureRecognizerState.Ended */:
|
263
290
|
collectionView.endInteractiveMovement();
|
264
291
|
this.handleReorderEnd();
|
@@ -404,7 +431,7 @@ export class CollectionView extends CollectionViewBase {
|
|
404
431
|
if (this._effectiveRowHeight && this._effectiveColWidth) {
|
405
432
|
layoutView.itemSize = CGSizeMake(Utils.layout.toDeviceIndependentPixels(this._effectiveColWidth), Utils.layout.toDeviceIndependentPixels(this._effectiveRowHeight));
|
406
433
|
}
|
407
|
-
else if (this.estimatedItemSize) {
|
434
|
+
else if (this.estimatedItemSize && !this.autoSize) {
|
408
435
|
layoutView.estimatedItemSize = CGSizeMake(Utils.layout.toDeviceIndependentPixels(this._effectiveColWidth), Utils.layout.toDeviceIndependentPixels(this._effectiveRowHeight));
|
409
436
|
}
|
410
437
|
layoutView.invalidateLayout();
|
@@ -1101,6 +1128,7 @@ __decorate([
|
|
1101
1128
|
], CollectionView.prototype, "refresh", null);
|
1102
1129
|
contentInsetAdjustmentBehaviorProperty.register(CollectionView);
|
1103
1130
|
estimatedItemSizeProperty.register(CollectionView);
|
1131
|
+
autoSizeProperty.register(CollectionView);
|
1104
1132
|
var NSCellView = /** @class */ (function (_super) {
|
1105
1133
|
__extends(NSCellView, _super);
|
1106
1134
|
function NSCellView() {
|
@@ -1132,6 +1160,50 @@ var CollectionViewCell = /** @class */ (function (_super) {
|
|
1132
1160
|
});
|
1133
1161
|
return CollectionViewCell;
|
1134
1162
|
}(UICollectionViewCell));
|
1163
|
+
var UICollectionViewImpl = /** @class */ (function (_super) {
|
1164
|
+
__extends(UICollectionViewImpl, _super);
|
1165
|
+
function UICollectionViewImpl() {
|
1166
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
1167
|
+
}
|
1168
|
+
UICollectionViewImpl.prototype.sizeThatFits = function (size) {
|
1169
|
+
var _a, _b, _c;
|
1170
|
+
var owner = (_a = this._owner) === null || _a === void 0 ? void 0 : _a.get();
|
1171
|
+
if (owner === null || owner === void 0 ? void 0 : owner.autoSize) {
|
1172
|
+
if (this.superview) {
|
1173
|
+
(_b = this.superview) === null || _b === void 0 ? void 0 : _b.layoutIfNeeded();
|
1174
|
+
}
|
1175
|
+
var horizontal = owner.orientation === 'horizontal';
|
1176
|
+
// Calculate the total size based on the cells' sizes
|
1177
|
+
var width = 0;
|
1178
|
+
var height = 0;
|
1179
|
+
var dataSource = owner._dataSource;
|
1180
|
+
var delegate = owner._delegate;
|
1181
|
+
if (dataSource && delegate) {
|
1182
|
+
var numberOfItems = dataSource.collectionViewNumberOfItemsInSection(this, 0);
|
1183
|
+
for (var index = 0; index < numberOfItems; index++) {
|
1184
|
+
var indexPath = NSIndexPath.indexPathForItemInSection(index, 0);
|
1185
|
+
var estimatedSize = (_c = delegate.collectionViewLayoutSizeForItemAtIndexPath(this, owner._layout, indexPath)) !== null && _c !== void 0 ? _c : CGSizeZero;
|
1186
|
+
if (horizontal) {
|
1187
|
+
width = Math.max(width, estimatedSize.width);
|
1188
|
+
height += estimatedSize.height;
|
1189
|
+
}
|
1190
|
+
else {
|
1191
|
+
height = Math.max(height, estimatedSize.height);
|
1192
|
+
width += estimatedSize.width;
|
1193
|
+
}
|
1194
|
+
}
|
1195
|
+
return CGSizeMake(width, height);
|
1196
|
+
}
|
1197
|
+
}
|
1198
|
+
return _super.prototype.sizeThatFits.call(this, size);
|
1199
|
+
};
|
1200
|
+
UICollectionViewImpl.initWithOwner = function (owner, layout) {
|
1201
|
+
var view = UICollectionViewImpl.alloc().initWithFrameCollectionViewLayout(CGRectMake(0, 0, 0, 0), layout);
|
1202
|
+
view._owner = new WeakRef(owner);
|
1203
|
+
return view;
|
1204
|
+
};
|
1205
|
+
return UICollectionViewImpl;
|
1206
|
+
}(UICollectionView));
|
1135
1207
|
var UICollectionViewFlowLayoutImpl = /** @class */ (function (_super) {
|
1136
1208
|
__extends(UICollectionViewFlowLayoutImpl, _super);
|
1137
1209
|
function UICollectionViewFlowLayoutImpl() {
|
package/index.ios.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../src/collectionview/index.ios.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.ios.js","sourceRoot":"","sources":["../../src/collectionview/index.ios.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@nativescript-community/ui-collectionview",
|
3
|
-
"version": "6.0.
|
3
|
+
"version": "6.0.3",
|
4
4
|
"description": "Allows you to easily add a collection view (grid list view) to your projects. Supports vertical and horizontal modes, templating, and more.",
|
5
5
|
"main": "./index",
|
6
6
|
"sideEffects": false,
|
@@ -60,5 +60,5 @@
|
|
60
60
|
"dependencies": {
|
61
61
|
"@nativescript-community/arraybuffers": "^1.1.5"
|
62
62
|
},
|
63
|
-
"gitHead": "
|
63
|
+
"gitHead": "a8cbfa7205c67bae5b937ecba8c90bb74326be8e"
|
64
64
|
}
|
package/vue3/component.d.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { ObservableArray } from '@nativescript/core';
|
2
2
|
import { PropType, VNode } from 'nativescript-vue';
|
3
|
-
export declare const CollectionView: import("nativescript-vue").DefineComponent<{
|
3
|
+
export declare const CollectionView: import("nativescript-vue").DefineComponent<import("nativescript-vue").ExtractPropTypes<{
|
4
4
|
items: {
|
5
5
|
type: PropType<any[] | ObservableArray<any>>;
|
6
6
|
required: true;
|
@@ -14,9 +14,9 @@ export declare const CollectionView: import("nativescript-vue").DefineComponent<
|
|
14
14
|
default: string;
|
15
15
|
};
|
16
16
|
itemTemplateSelector: FunctionConstructor;
|
17
|
-
}
|
17
|
+
}>, () => VNode<import("nativescript-vue").RendererNode, import("nativescript-vue").RendererElement, {
|
18
18
|
[key: string]: any;
|
19
|
-
}>,
|
19
|
+
}>, {}, {}, {}, import("nativescript-vue").ComponentOptionsMixin, import("nativescript-vue").ComponentOptionsMixin, {}, string, import("nativescript-vue").PublicProps, Readonly<import("nativescript-vue").ExtractPropTypes<{
|
20
20
|
items: {
|
21
21
|
type: PropType<any[] | ObservableArray<any>>;
|
22
22
|
required: true;
|
@@ -30,7 +30,7 @@ export declare const CollectionView: import("nativescript-vue").DefineComponent<
|
|
30
30
|
default: string;
|
31
31
|
};
|
32
32
|
itemTemplateSelector: FunctionConstructor;
|
33
|
-
}
|
33
|
+
}>> & Readonly<{}>, {
|
34
34
|
itemIdGenerator: string;
|
35
35
|
alias: string;
|
36
|
-
}, {}>;
|
36
|
+
}, {}, {}, {}, string, import("nativescript-vue").ComponentProvideOptions, true, {}, any>;
|
package/react/index.d.ts
DELETED
@@ -1,119 +0,0 @@
|
|
1
|
-
import * as React from 'react';
|
2
|
-
import { CoreTypes, ItemEventData, ItemsSource, View } from '@nativescript/core';
|
3
|
-
import { NSVElement, NativeScriptProps, ViewAttributes } from 'react-nativescript';
|
4
|
-
import { CollectionView as NativeScriptCollectionView } from '..';
|
5
|
-
export type CellViewContainer = View;
|
6
|
-
type CellFactory = (item: any) => React.ReactElement;
|
7
|
-
export declare function registerCollectionView(): void;
|
8
|
-
interface CollectionViewAttributes extends ViewAttributes {
|
9
|
-
colWidth?: CoreTypes.PercentLengthType | string;
|
10
|
-
horizontalSpacing?: CoreTypes.LengthType | string;
|
11
|
-
isBounceEnabled?: boolean;
|
12
|
-
isItemsSourceIn?: boolean;
|
13
|
-
isScrollEnabled?: boolean;
|
14
|
-
itemViewLoader?: any;
|
15
|
-
items?: any[] | ItemsSource;
|
16
|
-
itemTemplateSelector?: string | ((item: any, index: number, items: any) => string);
|
17
|
-
layoutStyle?: string;
|
18
|
-
loadMoreThreshold?: number;
|
19
|
-
onItemsChangedInternal?: (oldValue: any, newValue: any) => void;
|
20
|
-
onItemLoading?: (args: ItemEventData) => void;
|
21
|
-
onSpanSizeChangedInternal?: (oldValue: any, newValue: any) => void;
|
22
|
-
orientation?: 'horizontal' | 'vertical';
|
23
|
-
plugins?: string[];
|
24
|
-
reverseLayout?: boolean;
|
25
|
-
rowHeight?: CoreTypes.PercentLengthType | string;
|
26
|
-
spanSize?: (item: any, index: number) => number;
|
27
|
-
verticalSpacing?: CoreTypes.LengthType | string;
|
28
|
-
}
|
29
|
-
declare global {
|
30
|
-
namespace JSX {
|
31
|
-
interface IntrinsicElements {
|
32
|
-
collectionView: NativeScriptProps<CollectionViewAttributes, NativeScriptCollectionView>;
|
33
|
-
}
|
34
|
-
}
|
35
|
-
}
|
36
|
-
type OwnProps = {
|
37
|
-
items: ItemsSource | any[];
|
38
|
-
/** User may specify cellFactory for single-template or cellFactories for multi-template. */
|
39
|
-
cellFactory?: CellFactory;
|
40
|
-
cellFactories?: Map<string, {
|
41
|
-
placeholderItem: any;
|
42
|
-
cellFactory: CellFactory;
|
43
|
-
}>;
|
44
|
-
/** For now, we don't support custom onItemLoading event handlers. */
|
45
|
-
/**
|
46
|
-
* The event will be raised when the CollectionView is scrolled so that the last item is visible.
|
47
|
-
* This event is intended to be used to add additional data in the CollectionView.
|
48
|
-
*/
|
49
|
-
_debug?: {
|
50
|
-
logLevel: 'debug' | 'info';
|
51
|
-
onCellFirstLoad?: (container: CellViewContainer) => void;
|
52
|
-
onCellRecycle?: (container: CellViewContainer) => void;
|
53
|
-
};
|
54
|
-
} & Omit<CollectionViewAttributes, 'onItemLoading'>;
|
55
|
-
type Props = OwnProps & {
|
56
|
-
forwardedRef?: React.RefObject<NSVElement<NativeScriptCollectionView>>;
|
57
|
-
};
|
58
|
-
type NumberKey = number | string;
|
59
|
-
interface State {
|
60
|
-
nativeCells: Record<NumberKey, CellViewContainer>;
|
61
|
-
nativeCellToItemIndex: Map<CellViewContainer, NumberKey>;
|
62
|
-
itemIndexToNativeCell?: Map<NumberKey, CellViewContainer>;
|
63
|
-
}
|
64
|
-
/**
|
65
|
-
* A React wrapper around the NativeScript CollectionView component.
|
66
|
-
* @see https://docs.nativescript.org/ui/ns-ui-widgets/list-view
|
67
|
-
* @module ui/list-view/list-view
|
68
|
-
*/
|
69
|
-
export declare class _CollectionView extends React.Component<Props, State> {
|
70
|
-
static readonly defaultProps: {
|
71
|
-
_debug: {
|
72
|
-
logLevel: "info";
|
73
|
-
onCellFirstLoad: any;
|
74
|
-
onCellRecycle: any;
|
75
|
-
};
|
76
|
-
};
|
77
|
-
constructor(props: Props);
|
78
|
-
private readonly myRef;
|
79
|
-
private readonly argsViewToRootKeyAndRef;
|
80
|
-
private roots;
|
81
|
-
/**
|
82
|
-
* CollectionView code-behind:
|
83
|
-
* @see https://github.com/NativeScript/nativescript-sdk-examples-js/blob/master/app/ns-ui-widgets-category/list-view/code-behind/code-behind-ts-page.ts
|
84
|
-
* CollectionView item templates:
|
85
|
-
* @see https://medium.com/@alexander.vakrilov/faster-nativescript-CollectionView-with-multiple-item-templates-8f903a32e48f
|
86
|
-
* Cell state in CollectionView:
|
87
|
-
* @see https://medium.com/@alexander.vakrilov/managing-component-state-in-nativescript-CollectionView-b139e45d899b
|
88
|
-
* @see https://github.com/NativeScript/nativescript-angular/issues/1245#issuecomment-393465035
|
89
|
-
* loadMoreItems:
|
90
|
-
* @see https://github.com/NativeScript/nativescript-sdk-examples-js/blob/master/app/ns-ui-widgets-category/list-view/events/events-ts-page.ts
|
91
|
-
*/
|
92
|
-
private readonly defaultOnItemLoading;
|
93
|
-
protected getNativeView(): NativeScriptCollectionView | null;
|
94
|
-
private readonly renderNewRoot;
|
95
|
-
componentDidMount(): void;
|
96
|
-
componentWillUnmount(): void;
|
97
|
-
static isItemsSource(arr: any[] | ItemsSource): arr is ItemsSource;
|
98
|
-
render(): React.JSX.Element;
|
99
|
-
}
|
100
|
-
export declare const CollectionView: React.ForwardRefExoticComponent<{
|
101
|
-
items: ItemsSource | any[];
|
102
|
-
/** User may specify cellFactory for single-template or cellFactories for multi-template. */
|
103
|
-
cellFactory?: CellFactory;
|
104
|
-
cellFactories?: Map<string, {
|
105
|
-
placeholderItem: any;
|
106
|
-
cellFactory: CellFactory;
|
107
|
-
}>;
|
108
|
-
/** For now, we don't support custom onItemLoading event handlers. */
|
109
|
-
/**
|
110
|
-
* The event will be raised when the CollectionView is scrolled so that the last item is visible.
|
111
|
-
* This event is intended to be used to add additional data in the CollectionView.
|
112
|
-
*/
|
113
|
-
_debug?: {
|
114
|
-
logLevel: 'debug' | 'info';
|
115
|
-
onCellFirstLoad?: (container: CellViewContainer) => void;
|
116
|
-
onCellRecycle?: (container: CellViewContainer) => void;
|
117
|
-
};
|
118
|
-
} & Omit<CollectionViewAttributes, "onItemLoading"> & React.RefAttributes<NSVElement<NativeScriptCollectionView>>>;
|
119
|
-
export {};
|
package/react/index.js
DELETED
@@ -1,151 +0,0 @@
|
|
1
|
-
import * as React from 'react';
|
2
|
-
import { NSVRoot, render as RNSRender, registerElement, unmountComponentAtNode } from 'react-nativescript';
|
3
|
-
export function registerCollectionView() {
|
4
|
-
registerElement('collectionView', () => require('..').CollectionView);
|
5
|
-
}
|
6
|
-
/**
|
7
|
-
* A React wrapper around the NativeScript CollectionView component.
|
8
|
-
* @see https://docs.nativescript.org/ui/ns-ui-widgets/list-view
|
9
|
-
* @module ui/list-view/list-view
|
10
|
-
*/
|
11
|
-
export class _CollectionView extends React.Component {
|
12
|
-
constructor(props) {
|
13
|
-
super(props);
|
14
|
-
this.myRef = React.createRef();
|
15
|
-
this.argsViewToRootKeyAndRef = new Map();
|
16
|
-
this.roots = new Set();
|
17
|
-
/**
|
18
|
-
* CollectionView code-behind:
|
19
|
-
* @see https://github.com/NativeScript/nativescript-sdk-examples-js/blob/master/app/ns-ui-widgets-category/list-view/code-behind/code-behind-ts-page.ts
|
20
|
-
* CollectionView item templates:
|
21
|
-
* @see https://medium.com/@alexander.vakrilov/faster-nativescript-CollectionView-with-multiple-item-templates-8f903a32e48f
|
22
|
-
* Cell state in CollectionView:
|
23
|
-
* @see https://medium.com/@alexander.vakrilov/managing-component-state-in-nativescript-CollectionView-b139e45d899b
|
24
|
-
* @see https://github.com/NativeScript/nativescript-angular/issues/1245#issuecomment-393465035
|
25
|
-
* loadMoreItems:
|
26
|
-
* @see https://github.com/NativeScript/nativescript-sdk-examples-js/blob/master/app/ns-ui-widgets-category/list-view/events/events-ts-page.ts
|
27
|
-
*/
|
28
|
-
this.defaultOnItemLoading = (args) => {
|
29
|
-
const { logLevel, onCellRecycle, onCellFirstLoad } = this.props._debug;
|
30
|
-
const { items, itemTemplateSelector } = this.props;
|
31
|
-
const item = _CollectionView.isItemsSource(items) ? items.getItem(args.index) : items[args.index];
|
32
|
-
const template = itemTemplateSelector
|
33
|
-
? typeof itemTemplateSelector === 'string'
|
34
|
-
? itemTemplateSelector
|
35
|
-
: itemTemplateSelector(item, args.index, items)
|
36
|
-
: null;
|
37
|
-
const cellFactory = template === null ? this.props.cellFactory : this.props.cellFactories ? this.props.cellFactories.get(template).cellFactory : this.props.cellFactory;
|
38
|
-
if (typeof cellFactory === 'undefined') {
|
39
|
-
console.warn(`CollectionView: No cell factory found, given template ${template}!`);
|
40
|
-
return;
|
41
|
-
}
|
42
|
-
const view = args.view;
|
43
|
-
if (!view) {
|
44
|
-
const rootKeyAndRef = this.renderNewRoot(item, cellFactory);
|
45
|
-
args.view = rootKeyAndRef.nativeView;
|
46
|
-
/* Here we're re-using the ref - I assume this is best practice. If not, we can make a new one on each update instead. */
|
47
|
-
this.argsViewToRootKeyAndRef.set(args.view, rootKeyAndRef);
|
48
|
-
if (onCellFirstLoad)
|
49
|
-
onCellFirstLoad(rootKeyAndRef.nativeView);
|
50
|
-
}
|
51
|
-
else {
|
52
|
-
if (onCellRecycle)
|
53
|
-
onCellRecycle(view);
|
54
|
-
const { rootKey, nativeView } = this.argsViewToRootKeyAndRef.get(view);
|
55
|
-
if (typeof rootKey === 'undefined') {
|
56
|
-
console.error('Unable to find root key that args.view corresponds to!', view);
|
57
|
-
return;
|
58
|
-
}
|
59
|
-
if (!nativeView) {
|
60
|
-
console.error('Unable to find ref that args.view corresponds to!', view);
|
61
|
-
return;
|
62
|
-
}
|
63
|
-
// args.view = null;
|
64
|
-
RNSRender(cellFactory(item), null, () => {
|
65
|
-
// console.log(`Rendered into cell! detachedRootRef:`);
|
66
|
-
}, rootKey);
|
67
|
-
}
|
68
|
-
};
|
69
|
-
this.renderNewRoot = (item, cellFactory) => {
|
70
|
-
const node = this.getNativeView();
|
71
|
-
if (!node) {
|
72
|
-
throw new Error('Unable to get ref to CollectionView');
|
73
|
-
}
|
74
|
-
const rootKey = `CollectionView-${node._domId}-${this.roots.size.toString()}`;
|
75
|
-
const root = new NSVRoot();
|
76
|
-
RNSRender(cellFactory(item), root, () => {
|
77
|
-
// console.log(`Rendered into cell! ref:`);
|
78
|
-
}, rootKey);
|
79
|
-
this.roots.add(rootKey);
|
80
|
-
return {
|
81
|
-
rootKey,
|
82
|
-
nativeView: root.baseRef.nativeView
|
83
|
-
};
|
84
|
-
};
|
85
|
-
this.state = {
|
86
|
-
nativeCells: {},
|
87
|
-
nativeCellToItemIndex: new Map(),
|
88
|
-
itemIndexToNativeCell: props._debug.logLevel === 'debug' ? new Map() : undefined
|
89
|
-
};
|
90
|
-
}
|
91
|
-
getNativeView() {
|
92
|
-
const ref = this.props.forwardedRef || this.myRef;
|
93
|
-
return ref.current ? ref.current.nativeView : null;
|
94
|
-
}
|
95
|
-
componentDidMount() {
|
96
|
-
const node = this.getNativeView();
|
97
|
-
if (!node) {
|
98
|
-
console.warn('React ref to NativeScript View lost, so unable to set item templates.');
|
99
|
-
return;
|
100
|
-
}
|
101
|
-
/* NOTE: does not support updating of this.props.cellFactories upon Props update. */
|
102
|
-
if (this.props.cellFactories) {
|
103
|
-
const itemTemplates = [];
|
104
|
-
this.props.cellFactories.forEach((info, key) => {
|
105
|
-
const { placeholderItem, cellFactory } = info;
|
106
|
-
itemTemplates.push({
|
107
|
-
key,
|
108
|
-
createView: () => {
|
109
|
-
const rootKeyAndRef = this.renderNewRoot(placeholderItem, cellFactory);
|
110
|
-
this.argsViewToRootKeyAndRef.set(rootKeyAndRef.nativeView, rootKeyAndRef);
|
111
|
-
return rootKeyAndRef.nativeView;
|
112
|
-
}
|
113
|
-
});
|
114
|
-
});
|
115
|
-
node.itemTemplates = itemTemplates;
|
116
|
-
}
|
117
|
-
}
|
118
|
-
componentWillUnmount() {
|
119
|
-
this.roots.forEach((root) => unmountComponentAtNode(root));
|
120
|
-
}
|
121
|
-
static isItemsSource(arr) {
|
122
|
-
/**
|
123
|
-
* Same implementation as used in official ListPicker component:
|
124
|
-
* @see https://github.com/NativeScript/NativeScript/blob/b436ecde3605b695a0ffa1757e38cc094e2fe311/tns-core-modules/ui/list-picker/list-picker-common.ts#L74
|
125
|
-
*/
|
126
|
-
return typeof arr.getItem === 'function';
|
127
|
-
}
|
128
|
-
render() {
|
129
|
-
const {
|
130
|
-
// Only used by the class component; not the JSX element.
|
131
|
-
forwardedRef,
|
132
|
-
//@ts-ignore
|
133
|
-
children, _debug, cellFactories, cellFactory, ...rest } = this.props;
|
134
|
-
if (children) {
|
135
|
-
console.warn("Ignoring 'children' prop on CollectionView; not supported.");
|
136
|
-
}
|
137
|
-
return React.createElement("collectionView", { ...rest, onItemLoading: this.defaultOnItemLoading, ref: forwardedRef || this.myRef });
|
138
|
-
}
|
139
|
-
}
|
140
|
-
_CollectionView.defaultProps = {
|
141
|
-
_debug: {
|
142
|
-
logLevel: 'info',
|
143
|
-
onCellFirstLoad: undefined,
|
144
|
-
onCellRecycle: undefined
|
145
|
-
}
|
146
|
-
};
|
147
|
-
//@ts-ignore
|
148
|
-
export const CollectionView = React.forwardRef((props, ref) => (
|
149
|
-
//@ts-ignore
|
150
|
-
React.createElement(_CollectionView, { ...props, forwardedRef: ref })));
|
151
|
-
//# sourceMappingURL=index.js.map
|