@nativescript-community/ui-collectionview 4.0.52 → 4.0.55
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 +27 -0
- package/angular/collectionview-comp.d.ts +21 -3
- package/angular/esm2020/collectionview-comp.mjs +122 -11
- package/angular/fesm2015/nativescript-community-ui-collectionview-angular.mjs +124 -10
- package/angular/fesm2015/nativescript-community-ui-collectionview-angular.mjs.map +1 -1
- package/angular/fesm2020/nativescript-community-ui-collectionview-angular.mjs +121 -10
- package/angular/fesm2020/nativescript-community-ui-collectionview-angular.mjs.map +1 -1
- package/index-common.d.ts +3 -0
- package/index-common.js +15 -10
- package/index-common.js.map +1 -1
- package/index.android.d.ts +11 -1
- package/index.android.js +145 -45
- package/index.android.js.map +1 -1
- package/package.json +2 -2
- package/platforms/android/java/com/nativescript/collectionview/RecycledViewPool.java +85 -0
- package/platforms/android/native-api-usage.json +1 -0
- package/svelte/index.d.ts +3 -1
- package/svelte/index.js +12 -0
- package/svelte/index.js.map +1 -1
- package/typings/android.d.ts +7 -0
- package/vue/component.d.ts +1 -0
- package/vue/component.js +10 -1
- package/vue/component.js.map +1 -1
- package/vue/index.js +2 -2
- package/vue/index.js.map +1 -1
package/index.android.d.ts
CHANGED
@@ -17,12 +17,12 @@ export declare class CollectionView extends CollectionViewBase {
|
|
17
17
|
layoutManager: androidx.recyclerview.widget.RecyclerView.LayoutManager;
|
18
18
|
owner?: WeakRef<CollectionView>;
|
19
19
|
};
|
20
|
+
private recyclerListener;
|
20
21
|
private templateTypeNumberString;
|
21
22
|
private templateStringTypeNumber;
|
22
23
|
private _currentNativeItemType;
|
23
24
|
private currentSpanCount;
|
24
25
|
private _viewHolders;
|
25
|
-
private _viewHolderChildren;
|
26
26
|
private _scrollOrLoadMoreChangeCount;
|
27
27
|
private _nScrollListener;
|
28
28
|
scrolling: boolean;
|
@@ -37,6 +37,8 @@ export declare class CollectionView extends CollectionViewBase {
|
|
37
37
|
nestedScrollingEnabled: boolean;
|
38
38
|
itemViewCacheSize: number;
|
39
39
|
extraLayoutSpace: number;
|
40
|
+
recycledViewPool: com.nativescript.collectionview.RecycledViewPool;
|
41
|
+
recycledViewPoolDisposeListener: com.nativescript.collectionview.RecycledViewPool.ViewPoolListener;
|
40
42
|
createNativeView(): any;
|
41
43
|
initNativeView(): void;
|
42
44
|
disposeNativeView(): void;
|
@@ -55,7 +57,13 @@ export declare class CollectionView extends CollectionViewBase {
|
|
55
57
|
get android(): androidx.recyclerview.widget.RecyclerView;
|
56
58
|
get layoutManager(): androidsupportv7widgetRecyclerView.LayoutManager;
|
57
59
|
_getViewLayoutParams(): androidviewViewGroup.LayoutParams;
|
60
|
+
defaultPoolSize: number;
|
61
|
+
desiredPoolSize: Map<string, number>;
|
62
|
+
private setNativePoolSize;
|
63
|
+
private setPoolSizes;
|
64
|
+
setPoolSize(key: string, size: number): void;
|
58
65
|
protected updateScrollBarVisibility(value: any): void;
|
66
|
+
private enumerateViewHolders;
|
59
67
|
startDragging(index: number): void;
|
60
68
|
isDragging: boolean;
|
61
69
|
startViewHolderDragging(index: any, viewHolder: CollectionViewCellHolder): void;
|
@@ -91,6 +99,8 @@ export declare class CollectionView extends CollectionViewBase {
|
|
91
99
|
onItemIdGeneratorChanged(oldValue: any, newValue: any): void;
|
92
100
|
clearTemplateTypes(): void;
|
93
101
|
getItemViewType(position: number): number;
|
102
|
+
templateKeyToNativeItem(key: string): number;
|
103
|
+
nativeItemToTemplateKey(item: number): string;
|
94
104
|
disposeViewHolderViews(): void;
|
95
105
|
getKeyByValue(viewType: number): string;
|
96
106
|
onCreateViewHolder(parent: android.view.ViewGroup, viewType: number): CollectionViewCellHolder;
|
package/index.android.js
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
import { ChangeType, ContentView, CoreTypes,
|
1
|
+
import { ChangeType, ContentView, CoreTypes, Property, ProxyViewContainer, Trace, View, ViewBase, booleanConverter, paddingBottomProperty, paddingLeftProperty, paddingRightProperty, paddingTopProperty, profile } from '@nativescript/core';
|
2
2
|
import { layout } from '@nativescript/core/utils/utils';
|
3
3
|
import { reorderLongPressEnabledProperty, reorderingEnabledProperty, reverseLayoutProperty, scrollBarIndicatorVisibleProperty } from '.';
|
4
4
|
import { CLog, CLogTypes, CollectionViewBase, ListViewViewTypes, isScrollEnabledProperty, orientationProperty } from './index-common';
|
@@ -72,7 +72,6 @@ var LongPressGestureListenerImpl = /** @class */ (function (_super) {
|
|
72
72
|
};
|
73
73
|
return LongPressGestureListenerImpl;
|
74
74
|
}(android.view.GestureDetector.SimpleOnGestureListener));
|
75
|
-
let CellViewHolder;
|
76
75
|
let LayoutParams;
|
77
76
|
const extraLayoutSpaceProperty = new Property({
|
78
77
|
name: 'extraLayoutSpace'
|
@@ -92,12 +91,13 @@ export class CollectionView extends CollectionViewBase {
|
|
92
91
|
this.templateStringTypeNumber = new Map();
|
93
92
|
this._currentNativeItemType = 0;
|
94
93
|
this.currentSpanCount = 1;
|
95
|
-
this._viewHolders = new
|
96
|
-
this._viewHolderChildren = new Array();
|
94
|
+
this._viewHolders = new Set();
|
97
95
|
this._scrollOrLoadMoreChangeCount = 0;
|
98
96
|
this.scrolling = false;
|
99
97
|
this.needsScrollStartEvent = false;
|
100
98
|
this.animateItemUpdate = false;
|
99
|
+
this.defaultPoolSize = 10;
|
100
|
+
this.desiredPoolSize = new Map();
|
101
101
|
this.isDragging = false;
|
102
102
|
this._layedOut = false;
|
103
103
|
}
|
@@ -112,6 +112,52 @@ export class CollectionView extends CollectionViewBase {
|
|
112
112
|
this.setOnLayoutChangeListener();
|
113
113
|
super.initNativeView();
|
114
114
|
const nativeView = this.nativeViewProtected;
|
115
|
+
this.recycledViewPool = new com.nativescript.collectionview.RecycledViewPool();
|
116
|
+
this.recycledViewPoolDisposeListener = new com.nativescript.collectionview.RecycledViewPool.ViewPoolListener({
|
117
|
+
onViewHolderDisposed: (holder) => {
|
118
|
+
if (Trace.isEnabled()) {
|
119
|
+
CLog(CLogTypes.log, 'onViewHolderDisposed', holder);
|
120
|
+
}
|
121
|
+
if (this._viewHolders) {
|
122
|
+
this._viewHolders.delete(holder);
|
123
|
+
}
|
124
|
+
const isNonSync = holder['defaultItemView'] === true;
|
125
|
+
const view = isNonSync ? holder.view.content : holder.view;
|
126
|
+
const args = {
|
127
|
+
eventName: CollectionViewBase.itemDisposingEvent,
|
128
|
+
index: holder.getAdapterPosition(),
|
129
|
+
object: this,
|
130
|
+
view,
|
131
|
+
android: holder
|
132
|
+
};
|
133
|
+
this.notify(args);
|
134
|
+
if (view && view.isLoaded) {
|
135
|
+
view.callUnloaded();
|
136
|
+
}
|
137
|
+
view._isAddedToNativeVisualTree = false;
|
138
|
+
view._tearDownUI();
|
139
|
+
}
|
140
|
+
});
|
141
|
+
this.recycledViewPool.mListener = this.recycledViewPoolDisposeListener;
|
142
|
+
const recyclerListener = (this.recyclerListener = new androidx.recyclerview.widget.RecyclerView.RecyclerListener({
|
143
|
+
onViewRecycled: (holder) => {
|
144
|
+
if (Trace.isEnabled()) {
|
145
|
+
CLog(CLogTypes.log, 'onViewRecycled', holder);
|
146
|
+
}
|
147
|
+
const isNonSync = holder['defaultItemView'] === true;
|
148
|
+
const view = isNonSync ? holder.view.content : holder.view;
|
149
|
+
const args = {
|
150
|
+
eventName: CollectionViewBase.itemRecyclingEvent,
|
151
|
+
index: holder.getAdapterPosition(),
|
152
|
+
object: this,
|
153
|
+
view,
|
154
|
+
android: holder
|
155
|
+
};
|
156
|
+
this.notify(args);
|
157
|
+
}
|
158
|
+
}));
|
159
|
+
nativeView.setRecyclerListener(recyclerListener);
|
160
|
+
nativeView.setRecycledViewPool(this.recycledViewPool);
|
115
161
|
let layoutManager;
|
116
162
|
if (CollectionViewBase.layoutStyles[this.layoutStyle]) {
|
117
163
|
layoutManager = CollectionViewBase.layoutStyles[this.layoutStyle].createLayout(this);
|
@@ -133,6 +179,10 @@ export class CollectionView extends CollectionViewBase {
|
|
133
179
|
}
|
134
180
|
disposeNativeView() {
|
135
181
|
const nativeView = this.nativeViewProtected;
|
182
|
+
nativeView.setRecyclerListener(null);
|
183
|
+
nativeView.setRecycledViewPool(null);
|
184
|
+
this.recycledViewPoolDisposeListener = null;
|
185
|
+
this.recycledViewPool = null;
|
136
186
|
if (nativeView.scrollListener) {
|
137
187
|
this.nativeView.removeOnScrollListener(nativeView.scrollListener);
|
138
188
|
nativeView.scrollListener = null;
|
@@ -155,15 +205,7 @@ export class CollectionView extends CollectionViewBase {
|
|
155
205
|
this.refresh();
|
156
206
|
}
|
157
207
|
getViewForItemAtIndex(index) {
|
158
|
-
|
159
|
-
this._viewHolders.some(function (cellItemView, key) {
|
160
|
-
if (cellItemView && cellItemView.getAdapterPosition() === index) {
|
161
|
-
result = cellItemView.view;
|
162
|
-
return true;
|
163
|
-
}
|
164
|
-
return false;
|
165
|
-
});
|
166
|
-
return result;
|
208
|
+
return this.enumerateViewHolders((v) => (v.getAdapterPosition() === index ? v.view : undefined));
|
167
209
|
}
|
168
210
|
set spanSize(inter) {
|
169
211
|
if (!(typeof inter === 'function')) {
|
@@ -318,6 +360,30 @@ export class CollectionView extends CollectionViewBase {
|
|
318
360
|
return this._vlayoutParams;
|
319
361
|
}
|
320
362
|
}
|
363
|
+
setNativePoolSize(key, nativeIndex) {
|
364
|
+
if (this.desiredPoolSize.has(key)) {
|
365
|
+
this.nativeViewProtected.getRecycledViewPool().setMaxRecycledViews(nativeIndex, this.desiredPoolSize.get(key));
|
366
|
+
}
|
367
|
+
else {
|
368
|
+
if (this.defaultPoolSize >= 0) {
|
369
|
+
this.nativeViewProtected.getRecycledViewPool().setMaxRecycledViews(nativeIndex, this.defaultPoolSize);
|
370
|
+
}
|
371
|
+
}
|
372
|
+
}
|
373
|
+
setPoolSizes() {
|
374
|
+
if (!this.nativeViewProtected || !this.templateTypeNumberString) {
|
375
|
+
return;
|
376
|
+
}
|
377
|
+
this.desiredPoolSize.forEach((v, k) => {
|
378
|
+
if (this.templateTypeNumberString.has(k)) {
|
379
|
+
this.nativeViewProtected.getRecycledViewPool().setMaxRecycledViews(this.templateTypeNumberString.get(k), v);
|
380
|
+
}
|
381
|
+
});
|
382
|
+
}
|
383
|
+
setPoolSize(key, size) {
|
384
|
+
this.desiredPoolSize.set(key, size);
|
385
|
+
this.setPoolSizes();
|
386
|
+
}
|
321
387
|
[paddingTopProperty.getDefault]() {
|
322
388
|
return { value: this._defaultPaddingTop, unit: 'px' };
|
323
389
|
}
|
@@ -399,16 +465,19 @@ export class CollectionView extends CollectionViewBase {
|
|
399
465
|
this.nativeViewProtected.setVerticalScrollBarEnabled(value);
|
400
466
|
}
|
401
467
|
}
|
468
|
+
enumerateViewHolders(cb) {
|
469
|
+
let result, v;
|
470
|
+
for (let it = this._viewHolders.values(), cellItemView = null; (cellItemView = it.next().value);) {
|
471
|
+
result = cb(cellItemView);
|
472
|
+
if (result) {
|
473
|
+
return result;
|
474
|
+
}
|
475
|
+
}
|
476
|
+
return result;
|
477
|
+
}
|
402
478
|
startDragging(index) {
|
403
479
|
if (this.reorderEnabled && this._itemTouchHelper) {
|
404
|
-
|
405
|
-
this._viewHolders.some((v) => {
|
406
|
-
if (v.getAdapterPosition() === index) {
|
407
|
-
viewHolder = v;
|
408
|
-
return true;
|
409
|
-
}
|
410
|
-
return false;
|
411
|
-
});
|
480
|
+
const viewHolder = this.enumerateViewHolders((v) => (v.getAdapterPosition() === index ? v : undefined));
|
412
481
|
if (viewHolder) {
|
413
482
|
this.startViewHolderDragging(index, viewHolder);
|
414
483
|
}
|
@@ -612,13 +681,16 @@ export class CollectionView extends CollectionViewBase {
|
|
612
681
|
this._listViewAdapter.notifyDataSetChanged();
|
613
682
|
}
|
614
683
|
eachChild(callback) {
|
615
|
-
this.
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
684
|
+
this.enumerateViewHolders((v) => {
|
685
|
+
const view = v.view;
|
686
|
+
if (view) {
|
687
|
+
if (view.parent instanceof CollectionView) {
|
688
|
+
callback(view);
|
689
|
+
}
|
690
|
+
else {
|
691
|
+
if (view.parent) {
|
692
|
+
callback(view.parent);
|
693
|
+
}
|
622
694
|
}
|
623
695
|
}
|
624
696
|
});
|
@@ -628,7 +700,7 @@ export class CollectionView extends CollectionViewBase {
|
|
628
700
|
if (!view) {
|
629
701
|
return;
|
630
702
|
}
|
631
|
-
const ids = this._viewHolders
|
703
|
+
const ids = Array.from(this._viewHolders)
|
632
704
|
.map((s) => s['position'])
|
633
705
|
.filter((s) => s !== null)
|
634
706
|
.sort((a, b) => a - b);
|
@@ -761,7 +833,6 @@ export class CollectionView extends CollectionViewBase {
|
|
761
833
|
this.templateStringTypeNumber.clear();
|
762
834
|
}
|
763
835
|
getItemViewType(position) {
|
764
|
-
let resultType = 0;
|
765
836
|
let selectorType = 'default';
|
766
837
|
if (this._itemTemplateSelector) {
|
767
838
|
const selector = this._itemTemplateSelector;
|
@@ -770,25 +841,50 @@ export class CollectionView extends CollectionViewBase {
|
|
770
841
|
selectorType = selector(dataItem, position, this.items);
|
771
842
|
}
|
772
843
|
}
|
773
|
-
|
774
|
-
|
775
|
-
|
776
|
-
|
777
|
-
this.
|
844
|
+
return this.templateKeyToNativeItem(selectorType);
|
845
|
+
}
|
846
|
+
templateKeyToNativeItem(key) {
|
847
|
+
if (!this.templateTypeNumberString) {
|
848
|
+
this.templateTypeNumberString = new Map();
|
849
|
+
this._currentNativeItemType = 0;
|
850
|
+
this._itemTemplatesInternal.forEach((v, i) => {
|
851
|
+
this.templateTypeNumberString.set(v.key, this._currentNativeItemType);
|
852
|
+
this.templateStringTypeNumber.set(this._currentNativeItemType, v.key);
|
853
|
+
this.setNativePoolSize(v.key, this._currentNativeItemType);
|
854
|
+
this._currentNativeItemType++;
|
855
|
+
});
|
856
|
+
this._currentNativeItemType = Math.max(this._itemTemplatesInternal.size, 100);
|
778
857
|
}
|
779
|
-
|
780
|
-
|
858
|
+
if (!this.templateTypeNumberString.has(key)) {
|
859
|
+
this.templateTypeNumberString.set(key, this._currentNativeItemType);
|
860
|
+
this.templateStringTypeNumber.set(this._currentNativeItemType, key);
|
861
|
+
this.setNativePoolSize(key, this._currentNativeItemType);
|
862
|
+
this._currentNativeItemType++;
|
781
863
|
}
|
782
|
-
return
|
864
|
+
return this.templateTypeNumberString.get(key);
|
865
|
+
}
|
866
|
+
nativeItemToTemplateKey(item) {
|
867
|
+
var _a;
|
868
|
+
let result;
|
869
|
+
(_a = this.templateTypeNumberString) === null || _a === void 0 ? void 0 : _a.forEach((value, key, map) => {
|
870
|
+
if (value === item) {
|
871
|
+
result = key;
|
872
|
+
}
|
873
|
+
}, this);
|
874
|
+
return result;
|
783
875
|
}
|
784
876
|
disposeViewHolderViews() {
|
785
|
-
this.
|
877
|
+
this.enumerateViewHolders((v) => {
|
878
|
+
const view = v.view;
|
879
|
+
if (view && view.isLoaded) {
|
880
|
+
view.callUnloaded();
|
881
|
+
}
|
882
|
+
view._isAddedToNativeVisualTree = false;
|
883
|
+
view._tearDownUI();
|
786
884
|
v.view = null;
|
787
885
|
v.clickListener = null;
|
788
886
|
});
|
789
|
-
this._viewHolders = new
|
790
|
-
this._viewHolderChildren.forEach((v) => this._removeViewCore(v));
|
791
|
-
this._viewHolderChildren = new Array();
|
887
|
+
this._viewHolders = new Set();
|
792
888
|
}
|
793
889
|
getKeyByValue(viewType) {
|
794
890
|
return this.templateStringTypeNumber.get(viewType);
|
@@ -801,8 +897,9 @@ export class CollectionView extends CollectionViewBase {
|
|
801
897
|
parentView.id = 'collectionViewHolder';
|
802
898
|
view = parentView;
|
803
899
|
}
|
804
|
-
this.
|
805
|
-
|
900
|
+
view._setupAsRootView(this._context);
|
901
|
+
view._isAddedToNativeVisualTree = true;
|
902
|
+
view.callLoaded();
|
806
903
|
if (!CollectionViewCellHolder) {
|
807
904
|
CollectionViewCellHolder = com.nativescript.collectionview.CollectionViewCellHolder;
|
808
905
|
}
|
@@ -828,7 +925,10 @@ export class CollectionView extends CollectionViewBase {
|
|
828
925
|
if (isNonSync) {
|
829
926
|
holder['defaultItemView'] = true;
|
830
927
|
}
|
831
|
-
this._viewHolders.
|
928
|
+
this._viewHolders.add(holder);
|
929
|
+
if (Trace.isEnabled()) {
|
930
|
+
CLog(CLogTypes.log, 'onCreateViewHolder', this._viewHolders.size);
|
931
|
+
}
|
832
932
|
return holder;
|
833
933
|
}
|
834
934
|
onBindViewHolder(holder, position) {
|
package/index.android.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.android.js","sourceRoot":"../src/","sources":["index.android.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"index.android.js","sourceRoot":"../src/","sources":["index.android.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": "4.0.
|
3
|
+
"version": "4.0.55",
|
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,
|
@@ -56,5 +56,5 @@
|
|
56
56
|
},
|
57
57
|
"license": "Apache-2.0",
|
58
58
|
"readmeFilename": "README.md",
|
59
|
-
"gitHead": "
|
59
|
+
"gitHead": "38a7128702807c112d2521a9cabffcd183b08ac1"
|
60
60
|
}
|
@@ -0,0 +1,85 @@
|
|
1
|
+
package com.nativescript.collectionview;
|
2
|
+
|
3
|
+
import android.util.SparseArray;
|
4
|
+
|
5
|
+
import androidx.recyclerview.widget.RecyclerView;
|
6
|
+
|
7
|
+
import java.util.ArrayList;
|
8
|
+
|
9
|
+
public class RecycledViewPool extends RecyclerView.RecycledViewPool {
|
10
|
+
|
11
|
+
public RecycledViewPool() {
|
12
|
+
super();
|
13
|
+
}
|
14
|
+
|
15
|
+
private static final int DEFAULT_MAX_SCRAP = 5;
|
16
|
+
public interface ViewPoolListener {
|
17
|
+
void onViewHolderDisposed(RecyclerView.ViewHolder holder);
|
18
|
+
}
|
19
|
+
public ViewPoolListener mListener;
|
20
|
+
|
21
|
+
static class ScrapData {
|
22
|
+
final ArrayList<RecyclerView.ViewHolder> mScrapHeap = new ArrayList<>();
|
23
|
+
int mMaxScrap = DEFAULT_MAX_SCRAP;
|
24
|
+
}
|
25
|
+
|
26
|
+
SparseArray<ScrapData> mScrap = new SparseArray<>();
|
27
|
+
|
28
|
+
@Override
|
29
|
+
public void setMaxRecycledViews(int viewType, int max) {
|
30
|
+
ScrapData scrapData = getScrapDataForType(viewType);
|
31
|
+
scrapData.mMaxScrap = max;
|
32
|
+
final ArrayList<RecyclerView.ViewHolder> scrapHeap = scrapData.mScrapHeap;
|
33
|
+
while (scrapHeap.size() > max) {
|
34
|
+
scrapHeap.remove(scrapHeap.size() - 1);
|
35
|
+
}
|
36
|
+
super.setMaxRecycledViews(viewType, max);
|
37
|
+
}
|
38
|
+
|
39
|
+
@Override
|
40
|
+
public void putRecycledView(RecyclerView.ViewHolder scrap) {
|
41
|
+
final int viewType = scrap.getItemViewType();
|
42
|
+
super.putRecycledView(scrap);
|
43
|
+
final ArrayList<RecyclerView.ViewHolder> scrapHeap = getScrapDataForType(viewType).mScrapHeap;
|
44
|
+
if (mScrap.get(viewType).mMaxScrap <= scrapHeap.size()) {
|
45
|
+
if(mListener != null) {
|
46
|
+
mListener.onViewHolderDisposed(scrap);
|
47
|
+
}
|
48
|
+
return;
|
49
|
+
}
|
50
|
+
scrapHeap.add(scrap);
|
51
|
+
}
|
52
|
+
|
53
|
+
@Override
|
54
|
+
public void clear() {
|
55
|
+
for (int i = 0; i < mScrap.size(); i++) {
|
56
|
+
ScrapData data = mScrap.valueAt(i);
|
57
|
+
for (RecyclerView.ViewHolder scrap: data.mScrapHeap) {
|
58
|
+
if(mListener != null) {
|
59
|
+
mListener.onViewHolderDisposed(scrap);
|
60
|
+
}
|
61
|
+
}
|
62
|
+
data.mScrapHeap.clear();
|
63
|
+
}
|
64
|
+
super.clear();
|
65
|
+
}
|
66
|
+
|
67
|
+
@Override
|
68
|
+
public RecyclerView.ViewHolder getRecycledView(int viewType) {
|
69
|
+
RecyclerView.ViewHolder result = super.getRecycledView(viewType);
|
70
|
+
if(result != null) {
|
71
|
+
ScrapData data = getScrapDataForType(viewType);
|
72
|
+
data.mScrapHeap.remove(result);
|
73
|
+
}
|
74
|
+
return result;
|
75
|
+
}
|
76
|
+
|
77
|
+
private ScrapData getScrapDataForType(int viewType) {
|
78
|
+
ScrapData scrapData = mScrap.get(viewType);
|
79
|
+
if (scrapData == null) {
|
80
|
+
scrapData = new ScrapData();
|
81
|
+
mScrap.put(viewType, scrapData);
|
82
|
+
}
|
83
|
+
return scrapData;
|
84
|
+
}
|
85
|
+
}
|
@@ -2,6 +2,7 @@
|
|
2
2
|
"uses": [
|
3
3
|
"com.nativescript.collectionview*:*",
|
4
4
|
"androidx.recyclerview.widget:RecyclerView*",
|
5
|
+
"androidx.recyclerview.widget.RecyclerView:RecycledViewPool*",
|
5
6
|
"androidx.recyclerview.widget.RecyclerView:ViewHolder*",
|
6
7
|
"androidx.recyclerview.widget.RecyclerView:Adapter*",
|
7
8
|
"androidx.recyclerview.widget.RecyclerView:OnItemTouchListener*",
|
package/svelte/index.d.ts
CHANGED
@@ -1,8 +1,9 @@
|
|
1
|
+
/// <reference types="svelte-native" />
|
1
2
|
import { NativeViewElementNode, ViewNode } from 'svelte-native/dom';
|
2
3
|
import { CollectionView } from '..';
|
3
4
|
declare module '@nativescript/core/ui/core/view-base' {
|
4
5
|
interface ViewBase {
|
5
|
-
__SvelteComponent__?:
|
6
|
+
__SvelteComponent__?: SvelteComponent;
|
6
7
|
__SvelteComponentBuilder__?: any;
|
7
8
|
__CollectionViewCurrentIndex__?: number;
|
8
9
|
}
|
@@ -14,6 +15,7 @@ export default class CollectionViewViewElement extends NativeViewElementNode<Col
|
|
14
15
|
private getComponentForView;
|
15
16
|
onInsertedChild(childNode: ViewNode, index: number): void;
|
16
17
|
onRemovedChild(childNode: ViewNode): void;
|
18
|
+
private disposeListItem;
|
17
19
|
private updateListItem;
|
18
20
|
static register(): void;
|
19
21
|
}
|
package/svelte/index.js
CHANGED
@@ -4,6 +4,7 @@ import { ContentView, LayoutBase, StackLayout, ViewBase } from '@nativescript/co
|
|
4
4
|
import { NativeViewElementNode, TemplateElement, ViewNode, createElement, registerElement } from 'svelte-native/dom';
|
5
5
|
import { flush } from 'svelte/internal';
|
6
6
|
import { CollectionView } from '..';
|
7
|
+
const SVELTE_VIEW = '_svelteViewRef';
|
7
8
|
class SvelteKeyedTemplate {
|
8
9
|
constructor(key, templateEl) {
|
9
10
|
this._key = key;
|
@@ -34,6 +35,7 @@ export default class CollectionViewViewElement extends NativeViewElementNode {
|
|
34
35
|
const nativeView = this.nativeView;
|
35
36
|
nativeView.itemViewLoader = (viewType) => this.loadView(viewType);
|
36
37
|
this.nativeView.on(CollectionView.itemLoadingEvent, this.updateListItem, this);
|
38
|
+
this.nativeView.on(CollectionView.itemDisposingEvent, this.disposeListItem, this);
|
37
39
|
}
|
38
40
|
loadView(viewType) {
|
39
41
|
if (Array.isArray(this.nativeElement.itemTemplates)) {
|
@@ -82,6 +84,13 @@ export default class CollectionViewViewElement extends NativeViewElementNode {
|
|
82
84
|
this.nativeView.removeTemplate(key);
|
83
85
|
}
|
84
86
|
}
|
87
|
+
disposeListItem(args) {
|
88
|
+
const _view = args.view;
|
89
|
+
if (_view.__SvelteComponent__) {
|
90
|
+
_view.__SvelteComponent__.$destroy();
|
91
|
+
_view.__SvelteComponent__ = null;
|
92
|
+
}
|
93
|
+
}
|
85
94
|
updateListItem(args) {
|
86
95
|
const _view = args.view;
|
87
96
|
const props = { item: args.bindingContext, index: args.index };
|
@@ -108,6 +117,9 @@ export default class CollectionViewViewElement extends NativeViewElementNode {
|
|
108
117
|
registerElement('collectionview', () => new CollectionViewViewElement());
|
109
118
|
}
|
110
119
|
}
|
120
|
+
__decorate([
|
121
|
+
profile
|
122
|
+
], CollectionViewViewElement.prototype, "disposeListItem", null);
|
111
123
|
__decorate([
|
112
124
|
profile
|
113
125
|
], CollectionViewViewElement.prototype, "updateListItem", null);
|