@shopify/flash-list 2.0.0-alpha.8 → 2.0.0-rc.1
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/README.md +38 -98
- package/dist/AnimatedFlashList.d.ts.map +1 -1
- package/dist/AnimatedFlashList.js +3 -3
- package/dist/AnimatedFlashList.js.map +1 -1
- package/dist/FlashList.d.ts +9 -0
- package/dist/FlashList.d.ts.map +1 -1
- package/dist/FlashList.js +20 -0
- package/dist/FlashList.js.map +1 -1
- package/dist/FlashListProps.d.ts +15 -8
- package/dist/FlashListProps.d.ts.map +1 -1
- package/dist/FlashListProps.js.map +1 -1
- package/dist/FlashListRef.d.ts +305 -0
- package/dist/FlashListRef.d.ts.map +1 -0
- package/dist/FlashListRef.js +3 -0
- package/dist/FlashListRef.js.map +1 -0
- package/dist/MasonryFlashList.js.map +1 -1
- package/dist/__tests__/RecyclerView.test.js +63 -28
- package/dist/__tests__/RecyclerView.test.js.map +1 -1
- package/dist/__tests__/RenderStackManager.test.d.ts +2 -0
- package/dist/__tests__/RenderStackManager.test.d.ts.map +1 -0
- package/dist/__tests__/RenderStackManager.test.js +486 -0
- package/dist/__tests__/RenderStackManager.test.js.map +1 -0
- package/dist/__tests__/helpers/createLayoutManager.d.ts.map +1 -1
- package/dist/__tests__/helpers/createLayoutManager.js +3 -4
- package/dist/__tests__/helpers/createLayoutManager.js.map +1 -1
- package/dist/__tests__/useUnmountAwareCallbacks.test.js +1 -1
- package/dist/__tests__/useUnmountAwareCallbacks.test.js.map +1 -1
- package/dist/benchmark/useFlatListBenchmark.js +8 -7
- package/dist/benchmark/useFlatListBenchmark.js.map +1 -1
- package/dist/enableNewCore.d.ts.map +1 -1
- package/dist/enableNewCore.js +2 -1
- package/dist/enableNewCore.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/native/config/PlatformHelper.android.d.ts +2 -0
- package/dist/native/config/PlatformHelper.android.d.ts.map +1 -1
- package/dist/native/config/PlatformHelper.android.js +2 -0
- package/dist/native/config/PlatformHelper.android.js.map +1 -1
- package/dist/native/config/PlatformHelper.d.ts +2 -0
- package/dist/native/config/PlatformHelper.d.ts.map +1 -1
- package/dist/native/config/PlatformHelper.ios.d.ts +2 -0
- package/dist/native/config/PlatformHelper.ios.d.ts.map +1 -1
- package/dist/native/config/PlatformHelper.ios.js +2 -0
- package/dist/native/config/PlatformHelper.ios.js.map +1 -1
- package/dist/native/config/PlatformHelper.js +2 -0
- package/dist/native/config/PlatformHelper.js.map +1 -1
- package/dist/native/config/PlatformHelper.web.d.ts +2 -0
- package/dist/native/config/PlatformHelper.web.d.ts.map +1 -1
- package/dist/native/config/PlatformHelper.web.js +3 -1
- package/dist/native/config/PlatformHelper.web.js.map +1 -1
- package/dist/recyclerview/RecyclerView.d.ts +2 -1
- package/dist/recyclerview/RecyclerView.d.ts.map +1 -1
- package/dist/recyclerview/RecyclerView.js +64 -37
- package/dist/recyclerview/RecyclerView.js.map +1 -1
- package/dist/recyclerview/RecyclerViewContextProvider.d.ts +6 -5
- package/dist/recyclerview/RecyclerViewContextProvider.d.ts.map +1 -1
- package/dist/recyclerview/RecyclerViewContextProvider.js.map +1 -1
- package/dist/recyclerview/RecyclerViewManager.d.ts +21 -7
- package/dist/recyclerview/RecyclerViewManager.d.ts.map +1 -1
- package/dist/recyclerview/RecyclerViewManager.js +105 -113
- package/dist/recyclerview/RecyclerViewManager.js.map +1 -1
- package/dist/recyclerview/RenderStackManager.d.ts +85 -0
- package/dist/recyclerview/RenderStackManager.d.ts.map +1 -0
- package/dist/recyclerview/RenderStackManager.js +324 -0
- package/dist/recyclerview/RenderStackManager.js.map +1 -0
- package/dist/recyclerview/ViewHolder.d.ts.map +1 -1
- package/dist/recyclerview/ViewHolder.js +5 -3
- package/dist/recyclerview/ViewHolder.js.map +1 -1
- package/dist/recyclerview/ViewHolderCollection.d.ts +3 -1
- package/dist/recyclerview/ViewHolderCollection.d.ts.map +1 -1
- package/dist/recyclerview/ViewHolderCollection.js +23 -8
- package/dist/recyclerview/ViewHolderCollection.js.map +1 -1
- package/dist/recyclerview/components/ScrollAnchor.d.ts +2 -1
- package/dist/recyclerview/components/ScrollAnchor.d.ts.map +1 -1
- package/dist/recyclerview/components/ScrollAnchor.js +9 -4
- package/dist/recyclerview/components/ScrollAnchor.js.map +1 -1
- package/dist/recyclerview/components/StickyHeaders.d.ts +1 -1
- package/dist/recyclerview/components/StickyHeaders.d.ts.map +1 -1
- package/dist/recyclerview/components/StickyHeaders.js +40 -32
- package/dist/recyclerview/components/StickyHeaders.js.map +1 -1
- package/dist/recyclerview/helpers/EngagedIndicesTracker.d.ts +45 -1
- package/dist/recyclerview/helpers/EngagedIndicesTracker.d.ts.map +1 -1
- package/dist/recyclerview/helpers/EngagedIndicesTracker.js +79 -20
- package/dist/recyclerview/helpers/EngagedIndicesTracker.js.map +1 -1
- package/dist/recyclerview/helpers/RenderTimeTracker.d.ts +10 -0
- package/dist/recyclerview/helpers/RenderTimeTracker.d.ts.map +1 -0
- package/dist/recyclerview/helpers/RenderTimeTracker.js +39 -0
- package/dist/recyclerview/helpers/RenderTimeTracker.js.map +1 -0
- package/dist/recyclerview/helpers/VelocityTracker.d.ts +29 -0
- package/dist/recyclerview/helpers/VelocityTracker.d.ts.map +1 -0
- package/dist/recyclerview/helpers/VelocityTracker.js +70 -0
- package/dist/recyclerview/helpers/VelocityTracker.js.map +1 -0
- package/dist/recyclerview/hooks/useBoundDetection.d.ts +1 -2
- package/dist/recyclerview/hooks/useBoundDetection.d.ts.map +1 -1
- package/dist/recyclerview/hooks/useBoundDetection.js +19 -16
- package/dist/recyclerview/hooks/useBoundDetection.js.map +1 -1
- package/dist/recyclerview/hooks/useMappingHelper.d.ts +1 -1
- package/dist/recyclerview/hooks/useMappingHelper.d.ts.map +1 -1
- package/dist/recyclerview/hooks/useMappingHelper.js +1 -1
- package/dist/recyclerview/hooks/useMappingHelper.js.map +1 -1
- package/dist/recyclerview/hooks/useOnLoad.d.ts.map +1 -1
- package/dist/recyclerview/hooks/useOnLoad.js +4 -6
- package/dist/recyclerview/hooks/useOnLoad.js.map +1 -1
- package/dist/recyclerview/hooks/useRecyclerViewController.d.ts +3 -48
- package/dist/recyclerview/hooks/useRecyclerViewController.d.ts.map +1 -1
- package/dist/recyclerview/hooks/useRecyclerViewController.js +179 -119
- package/dist/recyclerview/hooks/useRecyclerViewController.js.map +1 -1
- package/dist/recyclerview/hooks/useRecyclerViewManager.d.ts +2 -0
- package/dist/recyclerview/hooks/useRecyclerViewManager.d.ts.map +1 -1
- package/dist/recyclerview/hooks/useRecyclerViewManager.js +10 -1
- package/dist/recyclerview/hooks/useRecyclerViewManager.js.map +1 -1
- package/dist/recyclerview/hooks/useSecondaryProps.js +1 -1
- package/dist/recyclerview/hooks/useUnmountAwareCallbacks.d.ts +10 -3
- package/dist/recyclerview/hooks/useUnmountAwareCallbacks.d.ts.map +1 -1
- package/dist/recyclerview/hooks/useUnmountAwareCallbacks.js +33 -4
- package/dist/recyclerview/hooks/useUnmountAwareCallbacks.js.map +1 -1
- package/dist/recyclerview/layout-managers/GridLayoutManager.d.ts +6 -0
- package/dist/recyclerview/layout-managers/GridLayoutManager.d.ts.map +1 -1
- package/dist/recyclerview/layout-managers/GridLayoutManager.js +27 -5
- package/dist/recyclerview/layout-managers/GridLayoutManager.js.map +1 -1
- package/dist/recyclerview/layout-managers/LayoutManager.d.ts +10 -16
- package/dist/recyclerview/layout-managers/LayoutManager.d.ts.map +1 -1
- package/dist/recyclerview/layout-managers/LayoutManager.js +4 -14
- package/dist/recyclerview/layout-managers/LayoutManager.js.map +1 -1
- package/dist/recyclerview/layout-managers/MasonryLayoutManager.js +2 -2
- package/dist/recyclerview/layout-managers/MasonryLayoutManager.js.map +1 -1
- package/dist/recyclerview/utils/measureLayout.d.ts +1 -29
- package/dist/recyclerview/utils/measureLayout.d.ts.map +1 -1
- package/dist/recyclerview/utils/measureLayout.js +2 -4
- package/dist/recyclerview/utils/measureLayout.js.map +1 -1
- package/dist/recyclerview/utils/measureLayout.web.d.ts +29 -0
- package/dist/recyclerview/utils/measureLayout.web.d.ts.map +1 -0
- package/dist/recyclerview/utils/measureLayout.web.js +89 -0
- package/dist/recyclerview/utils/measureLayout.web.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/viewability/ViewToken.d.ts +2 -2
- package/dist/viewability/ViewToken.d.ts.map +1 -1
- package/dist/viewability/ViewabilityHelper.js +1 -1
- package/dist/viewability/ViewabilityHelper.js.map +1 -1
- package/dist/viewability/ViewabilityManager.d.ts.map +1 -1
- package/dist/viewability/ViewabilityManager.js +1 -2
- package/dist/viewability/ViewabilityManager.js.map +1 -1
- package/jestSetup.js +30 -11
- package/package.json +2 -1
- package/src/AnimatedFlashList.ts +3 -2
- package/src/FlashList.tsx +24 -0
- package/src/FlashListProps.ts +20 -8
- package/src/FlashListRef.ts +320 -0
- package/src/MasonryFlashList.tsx +2 -2
- package/src/__tests__/RecyclerView.test.tsx +84 -30
- package/src/__tests__/RenderStackManager.test.ts +575 -0
- package/src/__tests__/helpers/createLayoutManager.ts +2 -3
- package/src/__tests__/useUnmountAwareCallbacks.test.tsx +12 -12
- package/src/benchmark/useFlatListBenchmark.ts +2 -2
- package/src/enableNewCore.ts +3 -1
- package/src/index.ts +1 -0
- package/src/native/config/PlatformHelper.android.ts +2 -0
- package/src/native/config/PlatformHelper.ios.ts +2 -0
- package/src/native/config/PlatformHelper.ts +2 -0
- package/src/native/config/PlatformHelper.web.ts +3 -1
- package/src/recyclerview/RecyclerView.tsx +85 -43
- package/src/recyclerview/RecyclerViewContextProvider.ts +12 -6
- package/src/recyclerview/RecyclerViewManager.ts +123 -98
- package/src/recyclerview/RenderStackManager.ts +291 -0
- package/src/recyclerview/ViewHolder.tsx +5 -3
- package/src/recyclerview/ViewHolderCollection.tsx +33 -12
- package/src/recyclerview/components/ScrollAnchor.tsx +21 -8
- package/src/recyclerview/components/StickyHeaders.tsx +63 -44
- package/src/recyclerview/helpers/EngagedIndicesTracker.ts +120 -23
- package/src/recyclerview/helpers/RenderTimeTracker.ts +38 -0
- package/src/recyclerview/helpers/VelocityTracker.ts +77 -0
- package/src/recyclerview/hooks/useBoundDetection.ts +25 -18
- package/src/recyclerview/hooks/useMappingHelper.ts +1 -1
- package/src/recyclerview/hooks/useOnLoad.ts +4 -6
- package/src/recyclerview/hooks/useRecyclerViewController.tsx +204 -173
- package/src/recyclerview/hooks/useRecyclerViewManager.ts +11 -1
- package/src/recyclerview/hooks/useSecondaryProps.tsx +1 -1
- package/src/recyclerview/hooks/useUnmountAwareCallbacks.ts +39 -3
- package/src/recyclerview/layout-managers/GridLayoutManager.ts +30 -7
- package/src/recyclerview/layout-managers/LayoutManager.ts +12 -21
- package/src/recyclerview/layout-managers/MasonryLayoutManager.ts +1 -1
- package/src/recyclerview/utils/measureLayout.ts +3 -3
- package/src/recyclerview/utils/measureLayout.web.ts +104 -0
- package/src/viewability/ViewToken.ts +2 -2
- package/src/viewability/ViewabilityHelper.ts +1 -1
- package/src/viewability/ViewabilityManager.ts +6 -3
- package/dist/__tests__/RecycleKeyManager.test.d.ts +0 -2
- package/dist/__tests__/RecycleKeyManager.test.d.ts.map +0 -1
- package/dist/__tests__/RecycleKeyManager.test.js +0 -210
- package/dist/__tests__/RecycleKeyManager.test.js.map +0 -1
- package/dist/recyclerview/RecycleKeyManager.d.ts +0 -82
- package/dist/recyclerview/RecycleKeyManager.d.ts.map +0 -1
- package/dist/recyclerview/RecycleKeyManager.js +0 -135
- package/dist/recyclerview/RecycleKeyManager.js.map +0 -1
- package/src/__tests__/RecycleKeyManager.test.ts +0 -254
- package/src/recyclerview/RecycleKeyManager.ts +0 -185
|
@@ -5,19 +5,22 @@ import { Velocity } from "./helpers/EngagedIndicesTracker";
|
|
|
5
5
|
export declare class RecyclerViewManager<T> {
|
|
6
6
|
private initialDrawBatchSize;
|
|
7
7
|
private engagedIndicesTracker;
|
|
8
|
-
private
|
|
8
|
+
private renderStackManager;
|
|
9
9
|
private layoutManager?;
|
|
10
|
-
private renderStack;
|
|
11
10
|
private isFirstLayoutComplete;
|
|
12
11
|
private hasRenderedProgressively;
|
|
13
|
-
private
|
|
12
|
+
private propsRef;
|
|
14
13
|
private itemViewabilityManager;
|
|
15
|
-
private
|
|
16
|
-
|
|
14
|
+
private _isDisposed;
|
|
15
|
+
private _isLayoutManagerDirty;
|
|
17
16
|
firstItemOffset: number;
|
|
18
17
|
ignoreScrollEvents: boolean;
|
|
18
|
+
get isOffsetProjectionEnabled(): boolean;
|
|
19
|
+
get isDisposed(): boolean;
|
|
19
20
|
constructor(props: RecyclerViewProps<T>);
|
|
20
21
|
private updateRenderStack;
|
|
22
|
+
get props(): RecyclerViewProps<T>;
|
|
23
|
+
setOffsetProjectionEnabled(value: boolean): void;
|
|
21
24
|
updateProps(props: RecyclerViewProps<T>): void;
|
|
22
25
|
/**
|
|
23
26
|
* Updates the scroll offset and returns the engaged indices if any
|
|
@@ -25,18 +28,26 @@ export declare class RecyclerViewManager<T> {
|
|
|
25
28
|
* @param velocity
|
|
26
29
|
*/
|
|
27
30
|
updateScrollOffset(offset: number, velocity?: Velocity): ConsecutiveNumbers | undefined;
|
|
31
|
+
updateAverageRenderTime(time: number): void;
|
|
28
32
|
getIsFirstLayoutComplete(): boolean;
|
|
33
|
+
disableRecycling(disable: boolean): void;
|
|
29
34
|
getLayout(index: number): import("./layout-managers/LayoutManager").RVLayout;
|
|
35
|
+
tryGetLayout(index: number): import("./layout-managers/LayoutManager").RVLayout | undefined;
|
|
30
36
|
getChildContainerDimensions(): RVDimension;
|
|
31
|
-
getRenderStack(): Map<
|
|
37
|
+
getRenderStack(): Map<string, {
|
|
38
|
+
itemType: string;
|
|
39
|
+
index: number;
|
|
40
|
+
stableId: string;
|
|
41
|
+
}>;
|
|
32
42
|
getWindowSize(): RVDimension;
|
|
33
43
|
getLastScrollOffset(): number;
|
|
34
44
|
getMaxScrollOffset(): number;
|
|
35
45
|
getAbsoluteLastScrollOffset(): number;
|
|
36
46
|
setScrollDirection(scrollDirection: "forward" | "backward"): void;
|
|
47
|
+
resetVelocityCompute(): void;
|
|
37
48
|
updateLayoutParams(windowSize: RVDimension, firstItemOffset: number): void;
|
|
38
49
|
hasLayout(): boolean;
|
|
39
|
-
|
|
50
|
+
computeVisibleIndices(): ConsecutiveNumbers;
|
|
40
51
|
getEngagedIndices(): ConsecutiveNumbers;
|
|
41
52
|
modifyChildrenLayout(layoutInfo: RVLayoutInfo[], dataLength: number): boolean;
|
|
42
53
|
computeItemViewability(): void;
|
|
@@ -45,12 +56,15 @@ export declare class RecyclerViewManager<T> {
|
|
|
45
56
|
processDataUpdate(): void;
|
|
46
57
|
recomputeEngagedIndices(): ConsecutiveNumbers | undefined;
|
|
47
58
|
dispose(): void;
|
|
59
|
+
markLayoutManagerDirty(): void;
|
|
48
60
|
getInitialScrollIndex(): number | undefined;
|
|
61
|
+
shouldMaintainVisibleContentPosition(): boolean;
|
|
49
62
|
getDataLength(): number;
|
|
50
63
|
private getLayoutManagerClass;
|
|
51
64
|
private applyInitialScrollAdjustment;
|
|
52
65
|
private renderProgressively;
|
|
53
66
|
private getItemType;
|
|
54
67
|
private getStableId;
|
|
68
|
+
private overrideItemLayout;
|
|
55
69
|
}
|
|
56
70
|
//# sourceMappingURL=RecyclerViewManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecyclerViewManager.d.ts","sourceRoot":"","sources":["../../src/recyclerview/RecyclerViewManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,
|
|
1
|
+
{"version":3,"file":"RecyclerViewManager.d.ts","sourceRoot":"","sources":["../../src/recyclerview/RecyclerViewManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,EAEL,WAAW,EACX,YAAY,EAGb,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAGL,QAAQ,EACT,MAAM,iCAAiC,CAAC;AAGzC,qBAAa,mBAAmB,CAAC,CAAC;IAChC,OAAO,CAAC,oBAAoB,CAAK;IACjC,OAAO,CAAC,qBAAqB,CAA0B;IACvD,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,aAAa,CAAC,CAAkB;IAExC,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,wBAAwB,CAAS;IACzC,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,sBAAsB,CAAwB;IACtD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,qBAAqB,CAAS;IAE/B,eAAe,SAAK;IACpB,kBAAkB,UAAS;IAElC,IAAW,yBAAyB,YAEnC;IAED,IAAW,UAAU,YAEpB;gBAEW,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAavC,OAAO,CAAC,iBAAiB,CAOvB;IAEF,IAAI,KAAK,yBAER;IAED,0BAA0B,CAAC,KAAK,EAAE,OAAO;IAIzC,WAAW,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAcvC;;;;OAIG;IACH,kBAAkB,CAChB,MAAM,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,QAAQ,GAClB,kBAAkB,GAAG,SAAS;IAgBjC,uBAAuB,CAAC,IAAI,EAAE,MAAM;IAIpC,wBAAwB;IAIxB,gBAAgB,CAAC,OAAO,EAAE,OAAO;IAIjC,SAAS,CAAC,KAAK,EAAE,MAAM;IASvB,YAAY,CAAC,KAAK,EAAE,MAAM;IAY1B,2BAA2B;IAS3B,cAAc;;;;;IAId,aAAa;IAUb,mBAAmB;IAInB,kBAAkB;IAclB,2BAA2B;IAI3B,kBAAkB,CAAC,eAAe,EAAE,SAAS,GAAG,UAAU;IAI1D,oBAAoB;IAIpB,kBAAkB,CAAC,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM;IAoCnE,SAAS;IAIT,qBAAqB;IASrB,iBAAiB;IAIjB,oBAAoB,CAClB,UAAU,EAAE,YAAY,EAAE,EAC1B,UAAU,EAAE,MAAM,GACjB,OAAO;IAkBV,sBAAsB;IAUtB,iBAAiB;IAIjB,sBAAsB;IAItB,iBAAiB;IAWjB,uBAAuB,IAAI,kBAAkB,GAAG,SAAS;IAIzD,OAAO;IAKP,sBAAsB;IAItB,qBAAqB;IASrB,oCAAoC;IAQpC,aAAa;IAIb,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,4BAA4B;IA8BpC,OAAO,CAAC,mBAAmB;IAgC3B,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,kBAAkB;CAS3B"}
|
|
@@ -6,105 +6,69 @@ var ViewabilityManager_1 = tslib_1.__importDefault(require("../viewability/Viewa
|
|
|
6
6
|
var GridLayoutManager_1 = require("./layout-managers/GridLayoutManager");
|
|
7
7
|
var LinearLayoutManager_1 = require("./layout-managers/LinearLayoutManager");
|
|
8
8
|
var MasonryLayoutManager_1 = require("./layout-managers/MasonryLayoutManager");
|
|
9
|
-
var RecycleKeyManager_1 = require("./RecycleKeyManager");
|
|
10
9
|
var EngagedIndicesTracker_1 = require("./helpers/EngagedIndicesTracker");
|
|
11
|
-
|
|
10
|
+
var RenderStackManager_1 = require("./RenderStackManager");
|
|
11
|
+
// Abstracts layout manager, render stack manager and viewability manager and generates render stack (progressively on load)
|
|
12
12
|
var RecyclerViewManager = /** @class */ (function () {
|
|
13
13
|
function RecyclerViewManager(props) {
|
|
14
14
|
var _this = this;
|
|
15
15
|
this.initialDrawBatchSize = 1;
|
|
16
16
|
// Map of index to key
|
|
17
|
-
this.renderStack = new Map();
|
|
18
17
|
this.isFirstLayoutComplete = false;
|
|
19
18
|
this.hasRenderedProgressively = false;
|
|
20
|
-
this.
|
|
21
|
-
this.
|
|
19
|
+
this._isDisposed = false;
|
|
20
|
+
this._isLayoutManagerDirty = false;
|
|
22
21
|
this.firstItemOffset = 0;
|
|
23
22
|
this.ignoreScrollEvents = false;
|
|
24
23
|
// updates render stack based on the engaged indices which are sorted. Recycles unused keys.
|
|
25
|
-
// TODO: Write comprehensive tests for this function
|
|
26
24
|
this.updateRenderStack = function (engagedIndices) {
|
|
27
|
-
|
|
28
|
-
var e_1, _a, e_2, _b, e_3, _c;
|
|
29
|
-
var _d, _e;
|
|
30
|
-
_this.allocatedKeyTracker.clear();
|
|
31
|
-
var newRenderStack = new Map();
|
|
32
|
-
try {
|
|
33
|
-
for (var _f = tslib_1.__values(_this.renderStack), _g = _f.next(); !_g.done; _g = _f.next()) {
|
|
34
|
-
var _h = tslib_1.__read(_g.value, 2), index = _h[0], key = _h[1];
|
|
35
|
-
if (!engagedIndices.includes(index)) {
|
|
36
|
-
_this.recycleKeyManager.recycleKey(key);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
41
|
-
finally {
|
|
42
|
-
try {
|
|
43
|
-
if (_g && !_g.done && (_a = _f.return)) _a.call(_f);
|
|
44
|
-
}
|
|
45
|
-
finally { if (e_1) throw e_1.error; }
|
|
46
|
-
}
|
|
47
|
-
if (_this.disableRecycling) {
|
|
48
|
-
_this.recycleKeyManager.clearPool();
|
|
49
|
-
}
|
|
50
|
-
try {
|
|
51
|
-
for (var engagedIndices_1 = tslib_1.__values(engagedIndices), engagedIndices_1_1 = engagedIndices_1.next(); !engagedIndices_1_1.done; engagedIndices_1_1 = engagedIndices_1.next()) {
|
|
52
|
-
var index = engagedIndices_1_1.value;
|
|
53
|
-
var currentKey = _this.renderStack.get(index);
|
|
54
|
-
if (currentKey &&
|
|
55
|
-
!_this.disableRecycling &&
|
|
56
|
-
!_this.allocatedKeyTracker.has(currentKey)) {
|
|
57
|
-
_this.recycleKeyManager.recycleKey(currentKey);
|
|
58
|
-
}
|
|
59
|
-
var newKey = _this.recycleKeyManager.getKey(_this.getItemType(index), _this.getStableId(index), currentKey);
|
|
60
|
-
_this.allocatedKeyTracker.add(newKey);
|
|
61
|
-
newRenderStack.set(index, newKey);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
65
|
-
finally {
|
|
66
|
-
try {
|
|
67
|
-
if (engagedIndices_1_1 && !engagedIndices_1_1.done && (_b = engagedIndices_1.return)) _b.call(engagedIndices_1);
|
|
68
|
-
}
|
|
69
|
-
finally { if (e_2) throw e_2.error; }
|
|
70
|
-
}
|
|
71
|
-
try {
|
|
72
|
-
// DANGER
|
|
73
|
-
for (var _j = tslib_1.__values(_this.renderStack), _k = _j.next(); !_k.done; _k = _j.next()) {
|
|
74
|
-
var _l = tslib_1.__read(_k.value, 2), index = _l[0], key = _l[1];
|
|
75
|
-
if (_this.recycleKeyManager.hasKeyInPool(key) &&
|
|
76
|
-
!newRenderStack.has(index) &&
|
|
77
|
-
index < ((_e = (_d = _this.props.data) === null || _d === void 0 ? void 0 : _d.length) !== null && _e !== void 0 ? _e : 0)) {
|
|
78
|
-
_this.allocatedKeyTracker.add(key);
|
|
79
|
-
newRenderStack.set(index, key);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
catch (e_3_1) { e_3 = { error: e_3_1 }; }
|
|
84
|
-
finally {
|
|
85
|
-
try {
|
|
86
|
-
if (_k && !_k.done && (_c = _j.return)) _c.call(_j);
|
|
87
|
-
}
|
|
88
|
-
finally { if (e_3) throw e_3.error; }
|
|
89
|
-
}
|
|
90
|
-
_this.renderStack = newRenderStack;
|
|
25
|
+
_this.renderStackManager.sync(_this.getStableId, _this.getItemType, engagedIndices, _this.getDataLength());
|
|
91
26
|
};
|
|
92
|
-
this.
|
|
27
|
+
this.getStableId = this.getStableId.bind(this);
|
|
28
|
+
this.getItemType = this.getItemType.bind(this);
|
|
29
|
+
this.overrideItemLayout = this.overrideItemLayout.bind(this);
|
|
30
|
+
this.propsRef = props;
|
|
93
31
|
this.engagedIndicesTracker = new EngagedIndicesTracker_1.RVEngagedIndicesTrackerImpl();
|
|
94
|
-
this.
|
|
32
|
+
this.renderStackManager = new RenderStackManager_1.RenderStackManager(props.maxItemsInRecyclePool);
|
|
95
33
|
this.itemViewabilityManager = new ViewabilityManager_1.default(this);
|
|
96
34
|
}
|
|
35
|
+
Object.defineProperty(RecyclerViewManager.prototype, "isOffsetProjectionEnabled", {
|
|
36
|
+
get: function () {
|
|
37
|
+
return this.engagedIndicesTracker.enableOffsetProjection;
|
|
38
|
+
},
|
|
39
|
+
enumerable: false,
|
|
40
|
+
configurable: true
|
|
41
|
+
});
|
|
42
|
+
Object.defineProperty(RecyclerViewManager.prototype, "isDisposed", {
|
|
43
|
+
get: function () {
|
|
44
|
+
return this._isDisposed;
|
|
45
|
+
},
|
|
46
|
+
enumerable: false,
|
|
47
|
+
configurable: true
|
|
48
|
+
});
|
|
49
|
+
Object.defineProperty(RecyclerViewManager.prototype, "props", {
|
|
50
|
+
get: function () {
|
|
51
|
+
return this.propsRef;
|
|
52
|
+
},
|
|
53
|
+
enumerable: false,
|
|
54
|
+
configurable: true
|
|
55
|
+
});
|
|
56
|
+
RecyclerViewManager.prototype.setOffsetProjectionEnabled = function (value) {
|
|
57
|
+
this.engagedIndicesTracker.enableOffsetProjection = value;
|
|
58
|
+
};
|
|
97
59
|
RecyclerViewManager.prototype.updateProps = function (props) {
|
|
98
|
-
var _a, _b;
|
|
99
|
-
this.
|
|
60
|
+
var _a, _b, _c, _d;
|
|
61
|
+
this.propsRef = props;
|
|
100
62
|
this.engagedIndicesTracker.drawDistance =
|
|
101
63
|
(_a = props.drawDistance) !== null && _a !== void 0 ? _a : this.engagedIndicesTracker.drawDistance;
|
|
102
|
-
if (this.
|
|
64
|
+
if (this.propsRef.drawDistance === 0) {
|
|
103
65
|
this.initialDrawBatchSize = 1;
|
|
104
66
|
}
|
|
105
67
|
else {
|
|
106
68
|
this.initialDrawBatchSize = ((_b = props.numColumns) !== null && _b !== void 0 ? _b : 1) * 2;
|
|
107
69
|
}
|
|
70
|
+
this.initialDrawBatchSize =
|
|
71
|
+
(_d = (_c = this.propsRef.overrideProps) === null || _c === void 0 ? void 0 : _c.initialDrawBatchSize) !== null && _d !== void 0 ? _d : this.initialDrawBatchSize;
|
|
108
72
|
};
|
|
109
73
|
/**
|
|
110
74
|
* Updates the scroll offset and returns the engaged indices if any
|
|
@@ -112,7 +76,7 @@ var RecyclerViewManager = /** @class */ (function () {
|
|
|
112
76
|
* @param velocity
|
|
113
77
|
*/
|
|
114
78
|
RecyclerViewManager.prototype.updateScrollOffset = function (offset, velocity) {
|
|
115
|
-
if (this.layoutManager) {
|
|
79
|
+
if (this.layoutManager && !this._isDisposed) {
|
|
116
80
|
var engagedIndices = this.engagedIndicesTracker.updateScrollOffset(offset - this.firstItemOffset, velocity, this.layoutManager);
|
|
117
81
|
if (engagedIndices) {
|
|
118
82
|
this.updateRenderStack(engagedIndices);
|
|
@@ -121,15 +85,29 @@ var RecyclerViewManager = /** @class */ (function () {
|
|
|
121
85
|
}
|
|
122
86
|
return undefined;
|
|
123
87
|
};
|
|
88
|
+
RecyclerViewManager.prototype.updateAverageRenderTime = function (time) {
|
|
89
|
+
this.engagedIndicesTracker.averageRenderTime = time;
|
|
90
|
+
};
|
|
124
91
|
RecyclerViewManager.prototype.getIsFirstLayoutComplete = function () {
|
|
125
92
|
return this.isFirstLayoutComplete;
|
|
126
93
|
};
|
|
94
|
+
RecyclerViewManager.prototype.disableRecycling = function (disable) {
|
|
95
|
+
this.renderStackManager.disableRecycling = disable;
|
|
96
|
+
};
|
|
127
97
|
RecyclerViewManager.prototype.getLayout = function (index) {
|
|
128
98
|
if (!this.layoutManager) {
|
|
129
99
|
throw new Error("LayoutManager is not initialized, layout info is unavailable");
|
|
130
100
|
}
|
|
131
101
|
return this.layoutManager.getLayout(index);
|
|
132
102
|
};
|
|
103
|
+
RecyclerViewManager.prototype.tryGetLayout = function (index) {
|
|
104
|
+
if (this.layoutManager &&
|
|
105
|
+
index >= 0 &&
|
|
106
|
+
index < this.layoutManager.getLayoutCount()) {
|
|
107
|
+
return this.layoutManager.getLayout(index);
|
|
108
|
+
}
|
|
109
|
+
return undefined;
|
|
110
|
+
};
|
|
133
111
|
// Doesn't include header / foot etc
|
|
134
112
|
RecyclerViewManager.prototype.getChildContainerDimensions = function () {
|
|
135
113
|
if (!this.layoutManager) {
|
|
@@ -138,7 +116,7 @@ var RecyclerViewManager = /** @class */ (function () {
|
|
|
138
116
|
return this.layoutManager.getLayoutSize();
|
|
139
117
|
};
|
|
140
118
|
RecyclerViewManager.prototype.getRenderStack = function () {
|
|
141
|
-
return this.
|
|
119
|
+
return this.renderStackManager.getRenderStack();
|
|
142
120
|
};
|
|
143
121
|
RecyclerViewManager.prototype.getWindowSize = function () {
|
|
144
122
|
if (!this.layoutManager) {
|
|
@@ -151,10 +129,10 @@ var RecyclerViewManager = /** @class */ (function () {
|
|
|
151
129
|
return this.engagedIndicesTracker.scrollOffset;
|
|
152
130
|
};
|
|
153
131
|
RecyclerViewManager.prototype.getMaxScrollOffset = function () {
|
|
154
|
-
return Math.max(0, (this.
|
|
132
|
+
return Math.max(0, (this.propsRef.horizontal
|
|
155
133
|
? this.getChildContainerDimensions().width
|
|
156
134
|
: this.getChildContainerDimensions().height) -
|
|
157
|
-
(this.
|
|
135
|
+
(this.propsRef.horizontal
|
|
158
136
|
? this.getWindowSize().width
|
|
159
137
|
: this.getWindowSize().height) +
|
|
160
138
|
this.firstItemOffset);
|
|
@@ -166,42 +144,42 @@ var RecyclerViewManager = /** @class */ (function () {
|
|
|
166
144
|
RecyclerViewManager.prototype.setScrollDirection = function (scrollDirection) {
|
|
167
145
|
this.engagedIndicesTracker.setScrollDirection(scrollDirection);
|
|
168
146
|
};
|
|
147
|
+
RecyclerViewManager.prototype.resetVelocityCompute = function () {
|
|
148
|
+
this.engagedIndicesTracker.resetVelocityHistory();
|
|
149
|
+
};
|
|
169
150
|
RecyclerViewManager.prototype.updateLayoutParams = function (windowSize, firstItemOffset) {
|
|
170
|
-
var
|
|
171
|
-
var _a, _b, _c, _d, _e;
|
|
151
|
+
var _a, _b, _c;
|
|
172
152
|
this.firstItemOffset = firstItemOffset;
|
|
173
153
|
var LayoutManagerClass = this.getLayoutManagerClass();
|
|
174
154
|
if (this.layoutManager &&
|
|
175
155
|
Boolean((_a = this.layoutManager) === null || _a === void 0 ? void 0 : _a.isHorizontal()) !==
|
|
176
|
-
Boolean(this.
|
|
156
|
+
Boolean(this.propsRef.horizontal)) {
|
|
177
157
|
throw new Error("Horizontal prop cannot be toggled, you can use a key on FlashList to recreate it.");
|
|
178
158
|
}
|
|
159
|
+
if (this._isLayoutManagerDirty) {
|
|
160
|
+
this.layoutManager = undefined;
|
|
161
|
+
this._isLayoutManagerDirty = false;
|
|
162
|
+
}
|
|
163
|
+
var layoutManagerParams = {
|
|
164
|
+
windowSize: windowSize,
|
|
165
|
+
maxColumns: (_b = this.propsRef.numColumns) !== null && _b !== void 0 ? _b : 1,
|
|
166
|
+
horizontal: Boolean(this.propsRef.horizontal),
|
|
167
|
+
optimizeItemArrangement: (_c = this.propsRef.optimizeItemArrangement) !== null && _c !== void 0 ? _c : true,
|
|
168
|
+
overrideItemLayout: this.overrideItemLayout,
|
|
169
|
+
getItemType: this.getItemType,
|
|
170
|
+
};
|
|
179
171
|
if (!(this.layoutManager instanceof LayoutManagerClass)) {
|
|
180
172
|
// console.log("-----> new LayoutManagerClass");
|
|
181
|
-
this.layoutManager = new LayoutManagerClass(
|
|
182
|
-
windowSize: windowSize,
|
|
183
|
-
maxColumns: (_b = this.props.numColumns) !== null && _b !== void 0 ? _b : 1,
|
|
184
|
-
horizontal: Boolean(this.props.horizontal),
|
|
185
|
-
optimizeItemArrangement: (_c = this.props.optimizeItemArrangement) !== null && _c !== void 0 ? _c : true,
|
|
186
|
-
overrideItemLayout: function (index, layout) {
|
|
187
|
-
var _a, _b, _c;
|
|
188
|
-
(_b = (_a = _this.props) === null || _a === void 0 ? void 0 : _a.overrideItemLayout) === null || _b === void 0 ? void 0 : _b.call(_a, layout, _this.props.data[index], index, (_c = _this.props.numColumns) !== null && _c !== void 0 ? _c : 1, _this.props.extraData);
|
|
189
|
-
},
|
|
190
|
-
}, this.layoutManager);
|
|
173
|
+
this.layoutManager = new LayoutManagerClass(layoutManagerParams, this.layoutManager);
|
|
191
174
|
}
|
|
192
175
|
else {
|
|
193
|
-
this.layoutManager.updateLayoutParams(
|
|
194
|
-
windowSize: windowSize,
|
|
195
|
-
maxColumns: (_d = this.props.numColumns) !== null && _d !== void 0 ? _d : 1,
|
|
196
|
-
horizontal: Boolean(this.props.horizontal),
|
|
197
|
-
optimizeItemArrangement: (_e = this.props.optimizeItemArrangement) !== null && _e !== void 0 ? _e : true,
|
|
198
|
-
});
|
|
176
|
+
this.layoutManager.updateLayoutParams(layoutManagerParams);
|
|
199
177
|
}
|
|
200
178
|
};
|
|
201
179
|
RecyclerViewManager.prototype.hasLayout = function () {
|
|
202
180
|
return this.layoutManager !== undefined;
|
|
203
181
|
};
|
|
204
|
-
RecyclerViewManager.prototype.
|
|
182
|
+
RecyclerViewManager.prototype.computeVisibleIndices = function () {
|
|
205
183
|
if (!this.layoutManager) {
|
|
206
184
|
throw new Error("LayoutManager is not initialized, visible indices are not unavailable");
|
|
207
185
|
}
|
|
@@ -232,9 +210,9 @@ var RecyclerViewManager = /** @class */ (function () {
|
|
|
232
210
|
RecyclerViewManager.prototype.computeItemViewability = function () {
|
|
233
211
|
// Using higher buffer for masonry to avoid missing items
|
|
234
212
|
this.itemViewabilityManager.shouldListenToVisibleIndices &&
|
|
235
|
-
this.itemViewabilityManager.updateViewableItems(this.
|
|
213
|
+
this.itemViewabilityManager.updateViewableItems(this.propsRef.masonry
|
|
236
214
|
? this.engagedIndicesTracker.getEngagedIndices().toArray()
|
|
237
|
-
: this.
|
|
215
|
+
: this.computeVisibleIndices().toArray());
|
|
238
216
|
};
|
|
239
217
|
RecyclerViewManager.prototype.recordInteraction = function () {
|
|
240
218
|
this.itemViewabilityManager.recordInteraction();
|
|
@@ -245,7 +223,7 @@ var RecyclerViewManager = /** @class */ (function () {
|
|
|
245
223
|
RecyclerViewManager.prototype.processDataUpdate = function () {
|
|
246
224
|
var _a, _b;
|
|
247
225
|
if (this.hasLayout()) {
|
|
248
|
-
this.modifyChildrenLayout([], (_b = (_a = this.
|
|
226
|
+
this.modifyChildrenLayout([], (_b = (_a = this.propsRef.data) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0);
|
|
249
227
|
if (!this.recomputeEngagedIndices()) {
|
|
250
228
|
// recomputeEngagedIndices will update the render stack if there are any changes in the engaged indices.
|
|
251
229
|
// It's important to update render stack so that elements are assgined right keys incase items were deleted.
|
|
@@ -257,30 +235,40 @@ var RecyclerViewManager = /** @class */ (function () {
|
|
|
257
235
|
return this.updateScrollOffset(this.getAbsoluteLastScrollOffset());
|
|
258
236
|
};
|
|
259
237
|
RecyclerViewManager.prototype.dispose = function () {
|
|
238
|
+
this._isDisposed = true;
|
|
260
239
|
this.itemViewabilityManager.dispose();
|
|
261
240
|
};
|
|
241
|
+
RecyclerViewManager.prototype.markLayoutManagerDirty = function () {
|
|
242
|
+
this._isLayoutManagerDirty = true;
|
|
243
|
+
};
|
|
262
244
|
RecyclerViewManager.prototype.getInitialScrollIndex = function () {
|
|
263
245
|
var _a, _b;
|
|
264
|
-
return ((_a = this.
|
|
246
|
+
return ((_a = this.propsRef.initialScrollIndex) !== null && _a !== void 0 ? _a : (((_b = this.propsRef.maintainVisibleContentPosition) === null || _b === void 0 ? void 0 : _b.startRenderingFromBottom)
|
|
265
247
|
? this.getDataLength() - 1
|
|
266
248
|
: undefined));
|
|
267
249
|
};
|
|
250
|
+
RecyclerViewManager.prototype.shouldMaintainVisibleContentPosition = function () {
|
|
251
|
+
var _a;
|
|
252
|
+
// Return true if maintainVisibleContentPosition is enabled and not horizontal
|
|
253
|
+
return (!((_a = this.propsRef.maintainVisibleContentPosition) === null || _a === void 0 ? void 0 : _a.disabled) &&
|
|
254
|
+
!this.propsRef.horizontal);
|
|
255
|
+
};
|
|
268
256
|
RecyclerViewManager.prototype.getDataLength = function () {
|
|
269
257
|
var _a, _b;
|
|
270
|
-
return (_b = (_a = this.
|
|
258
|
+
return (_b = (_a = this.propsRef.data) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0;
|
|
271
259
|
};
|
|
272
260
|
RecyclerViewManager.prototype.getLayoutManagerClass = function () {
|
|
273
261
|
var _a, _b;
|
|
274
262
|
// throw errors for incompatible props
|
|
275
|
-
if (this.
|
|
263
|
+
if (this.propsRef.masonry && this.propsRef.horizontal) {
|
|
276
264
|
throw new Error("Masonry and horizontal props are incompatible");
|
|
277
265
|
}
|
|
278
|
-
if (((_a = this.
|
|
266
|
+
if (((_a = this.propsRef.numColumns) !== null && _a !== void 0 ? _a : 1) > 1 && this.propsRef.horizontal) {
|
|
279
267
|
throw new Error("numColumns and horizontal props are incompatible");
|
|
280
268
|
}
|
|
281
|
-
return this.
|
|
269
|
+
return this.propsRef.masonry
|
|
282
270
|
? MasonryLayoutManager_1.RVMasonryLayoutManagerImpl
|
|
283
|
-
: ((_b = this.
|
|
271
|
+
: ((_b = this.propsRef.numColumns) !== null && _b !== void 0 ? _b : 1) > 1 && !this.propsRef.horizontal
|
|
284
272
|
? GridLayoutManager_1.RVGridLayoutManagerImpl
|
|
285
273
|
: LinearLayoutManager_1.RVLinearLayoutManagerImpl;
|
|
286
274
|
};
|
|
@@ -291,7 +279,7 @@ var RecyclerViewManager = /** @class */ (function () {
|
|
|
291
279
|
}
|
|
292
280
|
var initialScrollIndex = this.getInitialScrollIndex();
|
|
293
281
|
var initialItemLayout = (_a = this.layoutManager) === null || _a === void 0 ? void 0 : _a.getLayout(initialScrollIndex !== null && initialScrollIndex !== void 0 ? initialScrollIndex : 0);
|
|
294
|
-
var initialItemOffset = this.
|
|
282
|
+
var initialItemOffset = this.propsRef.horizontal
|
|
295
283
|
? initialItemLayout === null || initialItemLayout === void 0 ? void 0 : initialItemLayout.x
|
|
296
284
|
: initialItemLayout === null || initialItemLayout === void 0 ? void 0 : initialItemLayout.y;
|
|
297
285
|
if (initialScrollIndex !== undefined) {
|
|
@@ -315,7 +303,7 @@ var RecyclerViewManager = /** @class */ (function () {
|
|
|
315
303
|
var layoutManager = this.layoutManager;
|
|
316
304
|
if (layoutManager) {
|
|
317
305
|
this.applyInitialScrollAdjustment();
|
|
318
|
-
var visibleIndices = this.
|
|
306
|
+
var visibleIndices = this.computeVisibleIndices();
|
|
319
307
|
// console.log("---------> visibleIndices", visibleIndices);
|
|
320
308
|
this.hasRenderedProgressively = visibleIndices.every(function (index) {
|
|
321
309
|
return layoutManager.getLayout(index).isHeightMeasured &&
|
|
@@ -329,16 +317,20 @@ var RecyclerViewManager = /** @class */ (function () {
|
|
|
329
317
|
!this.hasRenderedProgressively &&
|
|
330
318
|
this.updateRenderStack(
|
|
331
319
|
// pick first n indices from visible ones and n is size of renderStack
|
|
332
|
-
visibleIndices.slice(0, Math.min(visibleIndices.length, this.
|
|
320
|
+
visibleIndices.slice(0, Math.min(visibleIndices.length, this.getRenderStack().size + this.initialDrawBatchSize)));
|
|
333
321
|
}
|
|
334
322
|
};
|
|
335
323
|
RecyclerViewManager.prototype.getItemType = function (index) {
|
|
336
324
|
var _a, _b, _c;
|
|
337
|
-
return ((_c = (_b = (_a = this.
|
|
325
|
+
return ((_c = (_b = (_a = this.propsRef).getItemType) === null || _b === void 0 ? void 0 : _b.call(_a, this.propsRef.data[index], index)) !== null && _c !== void 0 ? _c : "default").toString();
|
|
338
326
|
};
|
|
339
327
|
RecyclerViewManager.prototype.getStableId = function (index) {
|
|
340
328
|
var _a, _b, _c;
|
|
341
|
-
return ((_c = (_b = (_a = this.
|
|
329
|
+
return ((_c = (_b = (_a = this.propsRef).keyExtractor) === null || _b === void 0 ? void 0 : _b.call(_a, this.propsRef.data[index], index)) !== null && _c !== void 0 ? _c : index.toString());
|
|
330
|
+
};
|
|
331
|
+
RecyclerViewManager.prototype.overrideItemLayout = function (index, layout) {
|
|
332
|
+
var _a, _b, _c;
|
|
333
|
+
(_b = (_a = this.propsRef) === null || _a === void 0 ? void 0 : _a.overrideItemLayout) === null || _b === void 0 ? void 0 : _b.call(_a, layout, this.propsRef.data[index], index, (_c = this.propsRef.numColumns) !== null && _c !== void 0 ? _c : 1, this.propsRef.extraData);
|
|
342
334
|
};
|
|
343
335
|
return RecyclerViewManager;
|
|
344
336
|
}());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecyclerViewManager.js","sourceRoot":"","sources":["../../src/recyclerview/RecyclerViewManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RecyclerViewManager.js","sourceRoot":"","sources":["../../src/recyclerview/RecyclerViewManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { ConsecutiveNumbers } from "./helpers/ConsecutiveNumbers";
|
|
2
|
+
/**
|
|
3
|
+
* Manages the recycling of rendered items in a virtualized list.
|
|
4
|
+
* This class handles tracking, recycling, and reusing item keys to optimize
|
|
5
|
+
* rendering performance by minimizing creation/destruction of components.
|
|
6
|
+
*/
|
|
7
|
+
export declare class RenderStackManager {
|
|
8
|
+
disableRecycling: boolean;
|
|
9
|
+
private maxItemsInRecyclePool;
|
|
10
|
+
private recycleKeyPools;
|
|
11
|
+
private keyMap;
|
|
12
|
+
private stableIdMap;
|
|
13
|
+
private keyCounter;
|
|
14
|
+
/**
|
|
15
|
+
* @param maxItemsInRecyclePool - Maximum number of items that can be in the recycle pool
|
|
16
|
+
*/
|
|
17
|
+
constructor(maxItemsInRecyclePool?: number);
|
|
18
|
+
/**
|
|
19
|
+
* Synchronizes the render stack with the current state of data.
|
|
20
|
+
* This method is the core orchestrator that:
|
|
21
|
+
* 1. Recycles keys for items that are no longer valid
|
|
22
|
+
* 2. Updates existing keys for items that remain visible
|
|
23
|
+
* 3. Assigns new keys for newly visible items
|
|
24
|
+
* 4. Cleans up excess items to maintain the recycling pool size
|
|
25
|
+
*
|
|
26
|
+
* @param getStableId - Function to get a stable identifier for an item at a specific index
|
|
27
|
+
* @param getItemType - Function to get the type of an item at a specific index
|
|
28
|
+
* @param engagedIndices - Collection of indices that are currently visible or engaged
|
|
29
|
+
* @param dataLength - Total length of the data set
|
|
30
|
+
*/
|
|
31
|
+
sync(getStableId: (index: number) => string, getItemType: (index: number) => string, engagedIndices: ConsecutiveNumbers, dataLength: number): void;
|
|
32
|
+
/**
|
|
33
|
+
* Checks if a stable ID already has an assigned key
|
|
34
|
+
*/
|
|
35
|
+
private hasOptimizedKey;
|
|
36
|
+
/**
|
|
37
|
+
* Cleans up stale keys and manages the recycle pool size.
|
|
38
|
+
* This ensures we don't maintain references to items that are no longer in the dataset,
|
|
39
|
+
* and limits the number of recycled items to avoid excessive memory usage.
|
|
40
|
+
*/
|
|
41
|
+
private cleanup;
|
|
42
|
+
/**
|
|
43
|
+
* Places a key back into its type-specific recycle pool for future reuse
|
|
44
|
+
*/
|
|
45
|
+
private recycleKey;
|
|
46
|
+
/**
|
|
47
|
+
* Returns the current render stack containing all active keys and their metadata
|
|
48
|
+
*/
|
|
49
|
+
getRenderStack(): Map<string, {
|
|
50
|
+
itemType: string;
|
|
51
|
+
index: number;
|
|
52
|
+
stableId: string;
|
|
53
|
+
}>;
|
|
54
|
+
/**
|
|
55
|
+
* Syncs an individual item by assigning it an appropriate key.
|
|
56
|
+
* Will use an existing key if available, or generate a new one.
|
|
57
|
+
*
|
|
58
|
+
* @returns The key assigned to the item
|
|
59
|
+
*/
|
|
60
|
+
private syncItem;
|
|
61
|
+
/**
|
|
62
|
+
* Clears all recycled keys from the pool, effectively resetting the recycling system.
|
|
63
|
+
* This operation does not affect currently active keys.
|
|
64
|
+
*/
|
|
65
|
+
private clearRecyclePool;
|
|
66
|
+
/**
|
|
67
|
+
* Generates a unique sequential key using an internal counter.
|
|
68
|
+
* @returns A unique key as a string
|
|
69
|
+
*/
|
|
70
|
+
private generateKey;
|
|
71
|
+
/**
|
|
72
|
+
* Removes a specific key from its type's recycle pool
|
|
73
|
+
*/
|
|
74
|
+
private deleteKeyFromRecyclePool;
|
|
75
|
+
/**
|
|
76
|
+
* Gets or creates a recycle pool for a specific item type
|
|
77
|
+
*/
|
|
78
|
+
private getRecyclePoolForType;
|
|
79
|
+
/**
|
|
80
|
+
* Retrieves and removes a key from the type's recycle pool
|
|
81
|
+
* @returns A recycled key or undefined if none available
|
|
82
|
+
*/
|
|
83
|
+
private getKeyFromRecyclePool;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=RenderStackManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RenderStackManager.d.ts","sourceRoot":"","sources":["../../src/recyclerview/RenderStackManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAElE;;;;GAIG;AACH,qBAAa,kBAAkB;IACtB,gBAAgB,UAAS;IAGhC,OAAO,CAAC,qBAAqB,CAAS;IAGtC,OAAO,CAAC,eAAe,CAA2B;IAGlD,OAAO,CAAC,MAAM,CAGZ;IAGF,OAAO,CAAC,WAAW,CAAsB;IAGzC,OAAO,CAAC,UAAU,CAAS;IAE3B;;OAEG;gBACS,qBAAqB,GAAE,MAAgC;IAQnE;;;;;;;;;;;;OAYG;IACI,IAAI,CACT,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,EACtC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,EACtC,cAAc,EAAE,kBAAkB,EAClC,UAAU,EAAE,MAAM;IA+DpB;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;;;OAIG;IACH,OAAO,CAAC,OAAO;IA6Cf;;OAEG;IACH,OAAO,CAAC,UAAU;IAkBlB;;OAEG;IACI,cAAc;kBArLP,MAAM;eAAS,MAAM;kBAAY,MAAM;;IAyLrD;;;;;OAKG;IACH,OAAO,CAAC,QAAQ;IA6BhB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAIhC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;CAS9B"}
|