@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/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 = UICollectionView.alloc().initWithFrameCollectionViewLayout(CGRectMake(0, 0, 0, 0), layout);
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
- const selectedIndexPath = collectionView.indexPathForItemAtPoint(gesture.locationInView(collectionView));
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
- case 2 /* UIGestureRecognizerState.Changed */:
260
- collectionView.updateInteractiveMovementTargetPosition(gesture.locationInView(collectionView));
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.1",
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": "f367f6f8c527b69d888e99347bf591509e522b95"
63
+ "gitHead": "a8cbfa7205c67bae5b937ecba8c90bb74326be8e"
64
64
  }
@@ -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
- }, () => VNode<import("nativescript-vue").RendererNode, import("nativescript-vue").RendererElement, {
17
+ }>, () => VNode<import("nativescript-vue").RendererNode, import("nativescript-vue").RendererElement, {
18
18
  [key: string]: any;
19
- }>, unknown, {}, {}, import("nativescript-vue").ComponentOptionsMixin, import("nativescript-vue").ComponentOptionsMixin, {}, string, import("nativescript-vue").PublicProps, Readonly<import("nativescript-vue").ExtractPropTypes<{
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