@shopify/flash-list 2.0.0-alpha.10 → 2.0.0-alpha.11
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 +6 -2
- 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 +13 -6
- package/dist/FlashListProps.d.ts.map +1 -1
- package/dist/FlashListProps.js.map +1 -1
- package/dist/FlashListRef.d.ts +295 -0
- package/dist/FlashListRef.d.ts.map +1 -0
- package/dist/FlashListRef.js +3 -0
- package/dist/FlashListRef.js.map +1 -0
- package/dist/__tests__/RecyclerView.test.js +62 -27
- 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 +405 -0
- package/dist/__tests__/RenderStackManager.test.js.map +1 -0
- 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/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.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 +33 -14
- 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 +11 -7
- package/dist/recyclerview/RecyclerViewManager.d.ts.map +1 -1
- package/dist/recyclerview/RecyclerViewManager.js +57 -102
- 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 +261 -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 +19 -3
- package/dist/recyclerview/ViewHolderCollection.js.map +1 -1
- package/dist/recyclerview/components/ScrollAnchor.d.ts.map +1 -1
- package/dist/recyclerview/components/ScrollAnchor.js +1 -1
- package/dist/recyclerview/components/ScrollAnchor.js.map +1 -1
- package/dist/recyclerview/components/StickyHeaders.d.ts.map +1 -1
- package/dist/recyclerview/components/StickyHeaders.js +44 -17
- package/dist/recyclerview/components/StickyHeaders.js.map +1 -1
- 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/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 +93 -71
- package/dist/recyclerview/hooks/useRecyclerViewController.js.map +1 -1
- package/dist/recyclerview/hooks/useRecyclerViewManager.d.ts.map +1 -1
- package/dist/recyclerview/hooks/useRecyclerViewManager.js +6 -0
- 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 +2 -2
- package/dist/recyclerview/layout-managers/LayoutManager.js +2 -2
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/jestSetup.js +30 -11
- package/package.json +1 -1
- package/src/AnimatedFlashList.ts +3 -2
- package/src/FlashList.tsx +24 -0
- package/src/FlashListProps.ts +16 -7
- package/src/FlashListRef.ts +309 -0
- package/src/__tests__/RecyclerView.test.tsx +83 -29
- package/src/__tests__/RenderStackManager.test.ts +488 -0
- package/src/__tests__/useUnmountAwareCallbacks.test.tsx +12 -12
- package/src/benchmark/useFlatListBenchmark.ts +2 -2
- package/src/index.ts +1 -0
- package/src/recyclerview/RecyclerView.tsx +38 -23
- package/src/recyclerview/RecyclerViewContextProvider.ts +12 -6
- package/src/recyclerview/RecyclerViewManager.ts +73 -88
- package/src/recyclerview/RenderStackManager.ts +265 -0
- package/src/recyclerview/ViewHolder.tsx +5 -3
- package/src/recyclerview/ViewHolderCollection.tsx +29 -8
- package/src/recyclerview/components/ScrollAnchor.tsx +9 -5
- package/src/recyclerview/components/StickyHeaders.tsx +57 -19
- package/src/recyclerview/hooks/useBoundDetection.ts +25 -18
- package/src/recyclerview/hooks/useOnLoad.ts +4 -6
- package/src/recyclerview/hooks/useRecyclerViewController.tsx +104 -125
- package/src/recyclerview/hooks/useRecyclerViewManager.ts +6 -0
- 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 +2 -2
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useRecyclerViewManager.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useRecyclerViewManager.ts"],"names":[],"mappings":";;;;AAAA,+BAAqD;AAGrD,8DAA6D;AAC7D,8DAA6D;AAEtD,IAAM,sBAAsB,GAAG,UAAI,KAA2B;IAC7D,IAAA,KAAA,eAAwB,IAAA,gBAAQ,EACpC,cAAM,OAAA,IAAI,yCAAmB,CAAC,KAAK,CAAC,EAA9B,CAA8B,CACrC,IAAA,EAFM,mBAAmB,QAEzB,CAAC;IACI,IAAA,KAAA,eAAoB,IAAA,gBAAQ,EAAC,cAAM,OAAA,IAAI,iCAAe,EAAE,EAArB,CAAqB,CAAC,IAAA,EAAxD,eAAe,QAAyC,CAAC;IAExD,IAAA,IAAI,GAAK,KAAK,KAAV,CAAW;IAEvB,IAAA,eAAO,EAAC;QACN,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"useRecyclerViewManager.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useRecyclerViewManager.ts"],"names":[],"mappings":";;;;AAAA,+BAAqD;AAGrD,8DAA6D;AAC7D,8DAA6D;AAEtD,IAAM,sBAAsB,GAAG,UAAI,KAA2B;IAC7D,IAAA,KAAA,eAAwB,IAAA,gBAAQ,EACpC,cAAM,OAAA,IAAI,yCAAmB,CAAC,KAAK,CAAC,EAA9B,CAA8B,CACrC,IAAA,EAFM,mBAAmB,QAEzB,CAAC;IACI,IAAA,KAAA,eAAoB,IAAA,gBAAQ,EAAC,cAAM,OAAA,IAAI,iCAAe,EAAE,EAArB,CAAqB,CAAC,IAAA,EAAxD,eAAe,QAAyC,CAAC;IAExD,IAAA,IAAI,GAAK,KAAK,KAAV,CAAW;IAEvB,IAAA,eAAO,EAAC;QACN,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACvC,+CAA+C;QAC/C,uDAAuD;IACzD,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ;;OAEG;IACH,IAAA,eAAO,EAAC;QACN,mBAAmB,CAAC,iBAAiB,EAAE,CAAC;QACxC,sDAAsD;QACtD,uDAAuD;IACzD,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,IAAA,iBAAS,EAAC;QACR,OAAO;YACL,mBAAmB,CAAC,OAAO,EAAE,CAAC;YAC9B,eAAe,CAAC,OAAO,EAAE,CAAC;QAC5B,CAAC,CAAC;QACF,+BAA+B;QAC/B,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,mBAAmB,qBAAA,EAAE,eAAe,iBAAA,EAAE,CAAC;AAClD,CAAC,CAAC;AAjCW,QAAA,sBAAsB,0BAiCjC"}
|
|
@@ -76,7 +76,7 @@ function useSecondaryProps(props) {
|
|
|
76
76
|
var ForwardedScrollComponent = react_1.default.forwardRef(function (_props, ref) {
|
|
77
77
|
return renderScrollComponent(tslib_1.__assign(tslib_1.__assign({}, _props), { ref: ref }));
|
|
78
78
|
});
|
|
79
|
-
ForwardedScrollComponent.displayName = "
|
|
79
|
+
ForwardedScrollComponent.displayName = "CustomScrollView";
|
|
80
80
|
scrollComponent = ForwardedScrollComponent;
|
|
81
81
|
}
|
|
82
82
|
else if (renderScrollComponent) {
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Hook that provides
|
|
3
|
-
* Any timeouts created with
|
|
2
|
+
* Hook that provides a setTimeout which is aware of component unmount state.
|
|
3
|
+
* Any timeouts created with this hook will be automatically cleared when the component unmounts.
|
|
4
4
|
*/
|
|
5
|
-
export declare function
|
|
5
|
+
export declare function useUnmountAwareTimeout(): {
|
|
6
6
|
setTimeout: (callback: () => void, delay: number) => void;
|
|
7
7
|
};
|
|
8
|
+
/**
|
|
9
|
+
* Hook that provides a requestAnimationFrame which is aware of component unmount state.
|
|
10
|
+
* Any animation frames requested with this hook will be automatically canceled when the component unmounts.
|
|
11
|
+
*/
|
|
12
|
+
export declare function useUnmountAwareAnimationFrame(): {
|
|
13
|
+
requestAnimationFrame: (callback: FrameRequestCallback) => void;
|
|
14
|
+
};
|
|
8
15
|
//# sourceMappingURL=useUnmountAwareCallbacks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUnmountAwareCallbacks.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useUnmountAwareCallbacks.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,
|
|
1
|
+
{"version":3,"file":"useUnmountAwareCallbacks.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useUnmountAwareCallbacks.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,sBAAsB;2BAcvB,MAAM,IAAI,SAAS,MAAM,KAAG,IAAI;EAgB9C;AAED;;;GAGG;AACH,wBAAgB,6BAA6B;sCAc9B,oBAAoB,KAAG,IAAI;EAgBzC"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.useUnmountAwareTimeout = useUnmountAwareTimeout;
|
|
4
|
+
exports.useUnmountAwareAnimationFrame = useUnmountAwareAnimationFrame;
|
|
4
5
|
var tslib_1 = require("tslib");
|
|
5
6
|
var react_1 = require("react");
|
|
6
7
|
/**
|
|
7
|
-
* Hook that provides
|
|
8
|
-
* Any timeouts created with
|
|
8
|
+
* Hook that provides a setTimeout which is aware of component unmount state.
|
|
9
|
+
* Any timeouts created with this hook will be automatically cleared when the component unmounts.
|
|
9
10
|
*/
|
|
10
|
-
function
|
|
11
|
+
function useUnmountAwareTimeout() {
|
|
11
12
|
// Store active timeout IDs in a Set for more efficient add/remove operations
|
|
12
13
|
var _a = tslib_1.__read((0, react_1.useState)(function () { return new Set(); }), 1), timeoutIds = _a[0];
|
|
13
14
|
// Clear all timeouts on unmount
|
|
@@ -31,4 +32,32 @@ function useUnmountAwareCallbacks() {
|
|
|
31
32
|
setTimeout: setTimeout,
|
|
32
33
|
};
|
|
33
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Hook that provides a requestAnimationFrame which is aware of component unmount state.
|
|
37
|
+
* Any animation frames requested with this hook will be automatically canceled when the component unmounts.
|
|
38
|
+
*/
|
|
39
|
+
function useUnmountAwareAnimationFrame() {
|
|
40
|
+
// Store active animation frame request IDs in a Set for more efficient add/remove operations
|
|
41
|
+
var _a = tslib_1.__read((0, react_1.useState)(function () { return new Set(); }), 1), requestIds = _a[0];
|
|
42
|
+
// Cancel all animation frame requests on unmount
|
|
43
|
+
(0, react_1.useEffect)(function () {
|
|
44
|
+
return function () {
|
|
45
|
+
requestIds.forEach(function (id) { return cancelAnimationFrame(id); });
|
|
46
|
+
requestIds.clear();
|
|
47
|
+
};
|
|
48
|
+
}, [requestIds]);
|
|
49
|
+
// Create a safe requestAnimationFrame that will be canceled on unmount
|
|
50
|
+
var requestAnimationFrame = (0, react_1.useCallback)(function (callback) {
|
|
51
|
+
var id = global.requestAnimationFrame(function (timestamp) {
|
|
52
|
+
// Remove this request ID from the tracking set
|
|
53
|
+
requestIds.delete(id);
|
|
54
|
+
callback(timestamp);
|
|
55
|
+
});
|
|
56
|
+
// Track this request ID
|
|
57
|
+
requestIds.add(id);
|
|
58
|
+
}, [requestIds]);
|
|
59
|
+
return {
|
|
60
|
+
requestAnimationFrame: requestAnimationFrame,
|
|
61
|
+
};
|
|
62
|
+
}
|
|
34
63
|
//# sourceMappingURL=useUnmountAwareCallbacks.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useUnmountAwareCallbacks.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useUnmountAwareCallbacks.ts"],"names":[],"mappings":";;AAMA,
|
|
1
|
+
{"version":3,"file":"useUnmountAwareCallbacks.js","sourceRoot":"","sources":["../../../src/recyclerview/hooks/useUnmountAwareCallbacks.ts"],"names":[],"mappings":";;AAMA,wDA8BC;AAMD,sEA8BC;;AAxED,+BAAyD;AAEzD;;;GAGG;AACH,SAAgB,sBAAsB;IACpC,6EAA6E;IACvE,IAAA,KAAA,eAAe,IAAA,gBAAQ,EAAsB,cAAM,OAAA,IAAI,GAAG,EAAE,EAAT,CAAS,CAAC,IAAA,EAA5D,UAAU,QAAkD,CAAC;IAEpE,gCAAgC;IAChC,IAAA,iBAAS,EAAC;QACR,OAAO;YACL,UAAU,CAAC,OAAO,CAAC,UAAC,EAAE,IAAK,OAAA,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,EAAvB,CAAuB,CAAC,CAAC;YACpD,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,2DAA2D;IAC3D,IAAM,UAAU,GAAG,IAAA,mBAAW,EAC5B,UAAC,QAAoB,EAAE,KAAa;QAClC,IAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;YAC3B,+CAA+C;YAC/C,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtB,QAAQ,EAAE,CAAC;QACb,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,wBAAwB;QACxB,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,OAAO;QACL,UAAU,YAAA;KACX,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAgB,6BAA6B;IAC3C,6FAA6F;IACvF,IAAA,KAAA,eAAe,IAAA,gBAAQ,EAAc,cAAM,OAAA,IAAI,GAAG,EAAE,EAAT,CAAS,CAAC,IAAA,EAApD,UAAU,QAA0C,CAAC;IAE5D,iDAAiD;IACjD,IAAA,iBAAS,EAAC;QACR,OAAO;YACL,UAAU,CAAC,OAAO,CAAC,UAAC,EAAE,IAAK,OAAA,oBAAoB,CAAC,EAAE,CAAC,EAAxB,CAAwB,CAAC,CAAC;YACrD,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,uEAAuE;IACvE,IAAM,qBAAqB,GAAG,IAAA,mBAAW,EACvC,UAAC,QAA8B;QAC7B,IAAM,EAAE,GAAG,MAAM,CAAC,qBAAqB,CAAC,UAAC,SAAS;YAChD,+CAA+C;YAC/C,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtB,QAAQ,CAAC,SAAS,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QAEH,wBAAwB;QACxB,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,OAAO;QACL,qBAAqB,uBAAA;KACtB,CAAC;AACJ,CAAC"}
|
|
@@ -48,6 +48,12 @@ export declare class RVGridLayoutManagerImpl extends RVLayoutManager {
|
|
|
48
48
|
* @returns The tallest item in the row
|
|
49
49
|
*/
|
|
50
50
|
private processAndReturnTallestItemInRow;
|
|
51
|
+
/**
|
|
52
|
+
* Computes the total height of the layout.
|
|
53
|
+
* @param index Index of the last item in the layout
|
|
54
|
+
* @returns Total height of the layout
|
|
55
|
+
*/
|
|
56
|
+
private computeTotalHeight;
|
|
51
57
|
/**
|
|
52
58
|
* Checks if an item can fit within the bounded width.
|
|
53
59
|
* @param itemX Starting X position of the item
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridLayoutManager.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/layout-managers/GridLayoutManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,EAEX,YAAY,EACZ,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,eAAe;IAC1D,iDAAiD;IACjD,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,YAAY,EAAE,qBAAqB,CAAC,EAAE,eAAe;IAKzE;;;OAGG;IACH,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAqB9C;;;;OAIG;IACH,iBAAiB,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,MAAM;IAU/D;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM;IAS5B;;;OAGG;IACH,aAAa,IAAI,WAAW;
|
|
1
|
+
{"version":3,"file":"GridLayoutManager.d.ts","sourceRoot":"","sources":["../../../src/recyclerview/layout-managers/GridLayoutManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EACZ,WAAW,EAEX,YAAY,EACZ,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAEzB;;;GAGG;AACH,qBAAa,uBAAwB,SAAQ,eAAe;IAC1D,iDAAiD;IACjD,OAAO,CAAC,WAAW,CAAS;gBAEhB,MAAM,EAAE,YAAY,EAAE,qBAAqB,CAAC,EAAE,eAAe;IAKzE;;;OAGG;IACH,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IAqB9C;;;;OAIG;IACH,iBAAiB,CAAC,UAAU,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,MAAM;IAU/D;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM;IAS5B;;;OAGG;IACH,aAAa,IAAI,WAAW;IAS5B;;;;OAIG;IACH,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI;IA0B5D;;;;OAIG;IACH,OAAO,CAAC,QAAQ;IAKhB;;;;;;OAMG;IACH,OAAO,CAAC,gCAAgC;IAoDxC;;;;OAIG;IACH,OAAO,CAAC,kBAAkB;IAe1B;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAInB;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;CAYlC"}
|
|
@@ -78,10 +78,10 @@ var RVGridLayoutManagerImpl = /** @class */ (function (_super) {
|
|
|
78
78
|
RVGridLayoutManagerImpl.prototype.getLayoutSize = function () {
|
|
79
79
|
if (this.layouts.length === 0)
|
|
80
80
|
return { width: 0, height: 0 };
|
|
81
|
-
var
|
|
81
|
+
var totalHeight = this.computeTotalHeight(this.layouts.length - 1);
|
|
82
82
|
return {
|
|
83
83
|
width: this.boundedSize,
|
|
84
|
-
height:
|
|
84
|
+
height: totalHeight,
|
|
85
85
|
};
|
|
86
86
|
};
|
|
87
87
|
/**
|
|
@@ -90,14 +90,14 @@ var RVGridLayoutManagerImpl = /** @class */ (function (_super) {
|
|
|
90
90
|
* @param endIndex Ending index of items to recompute
|
|
91
91
|
*/
|
|
92
92
|
RVGridLayoutManagerImpl.prototype.recomputeLayouts = function (startIndex, endIndex) {
|
|
93
|
-
var newStartIndex = this.locateFirstNeighbourIndex(startIndex);
|
|
93
|
+
var newStartIndex = this.locateFirstNeighbourIndex(Math.max(0, startIndex - 1));
|
|
94
94
|
var startVal = this.getLayout(newStartIndex);
|
|
95
95
|
var startX = startVal.x;
|
|
96
96
|
var startY = startVal.y;
|
|
97
97
|
for (var i = newStartIndex; i <= endIndex; i++) {
|
|
98
98
|
var layout = this.getLayout(i);
|
|
99
99
|
if (!this.checkBounds(startX, layout.width)) {
|
|
100
|
-
var tallestItem = this.processAndReturnTallestItemInRow(i);
|
|
100
|
+
var tallestItem = this.processAndReturnTallestItemInRow(i - 1);
|
|
101
101
|
startY = tallestItem.y + tallestItem.height;
|
|
102
102
|
startX = 0;
|
|
103
103
|
}
|
|
@@ -105,6 +105,9 @@ var RVGridLayoutManagerImpl = /** @class */ (function (_super) {
|
|
|
105
105
|
layout.y = startY;
|
|
106
106
|
startX += layout.width;
|
|
107
107
|
}
|
|
108
|
+
if (endIndex === this.layouts.length - 1) {
|
|
109
|
+
this.processAndReturnTallestItemInRow(endIndex);
|
|
110
|
+
}
|
|
108
111
|
};
|
|
109
112
|
/**
|
|
110
113
|
* Calculates the width of an item based on its span.
|
|
@@ -169,6 +172,25 @@ var RVGridLayoutManagerImpl = /** @class */ (function (_super) {
|
|
|
169
172
|
}
|
|
170
173
|
return tallestItem;
|
|
171
174
|
};
|
|
175
|
+
/**
|
|
176
|
+
* Computes the total height of the layout.
|
|
177
|
+
* @param index Index of the last item in the layout
|
|
178
|
+
* @returns Total height of the layout
|
|
179
|
+
*/
|
|
180
|
+
RVGridLayoutManagerImpl.prototype.computeTotalHeight = function (index) {
|
|
181
|
+
var startIndex = this.locateFirstNeighbourIndex(index);
|
|
182
|
+
var y = this.layouts[startIndex].y;
|
|
183
|
+
var maxHeight = 0;
|
|
184
|
+
var i = startIndex;
|
|
185
|
+
while (Math.ceil(this.layouts[i].y) === Math.ceil(y)) {
|
|
186
|
+
maxHeight = Math.max(maxHeight, this.layouts[i].height);
|
|
187
|
+
i++;
|
|
188
|
+
if (i >= this.layouts.length) {
|
|
189
|
+
break;
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
return y + maxHeight;
|
|
193
|
+
};
|
|
172
194
|
/**
|
|
173
195
|
* Checks if an item can fit within the bounded width.
|
|
174
196
|
* @param itemX Starting X position of the item
|
|
@@ -187,7 +209,7 @@ var RVGridLayoutManagerImpl = /** @class */ (function (_super) {
|
|
|
187
209
|
if (startIndex === 0) {
|
|
188
210
|
return 0;
|
|
189
211
|
}
|
|
190
|
-
var i = startIndex
|
|
212
|
+
var i = startIndex;
|
|
191
213
|
for (; i >= 0; i--) {
|
|
192
214
|
if (this.layouts[i].x === 0) {
|
|
193
215
|
break;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridLayoutManager.js","sourceRoot":"","sources":["../../../src/recyclerview/layout-managers/GridLayoutManager.ts"],"names":[],"mappings":";;;;AAAA,iDAMyB;AAEzB;;;GAGG;AACH;IAA6C,mDAAe;IAI1D,iCAAY,MAAoB,EAAE,qBAAuC;QACvE,YAAA,MAAK,YAAC,MAAM,EAAE,qBAAqB,CAAC,SAAC;QACrC,KAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;;IAC7C,CAAC;IAED;;;OAGG;IACH,oDAAkB,GAAlB,UAAmB,MAAoB;QACrC,IAAM,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;QACvC,gBAAK,CAAC,kBAAkB,YAAC,MAAM,CAAC,CAAC;QACjC,IACE,IAAI,CAAC,WAAW,KAAK,MAAM,CAAC,UAAU,CAAC,KAAK;YAC5C,cAAc,KAAK,MAAM,CAAC,UAAU,EACpC,CAAC;YACD,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC;YAC3C,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,oBAAoB;gBACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC7C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC3C,CAAC;gBACD,0CAA0C;gBAE1C,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBAClD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC9B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,mDAAiB,GAAjB,UAAkB,UAA0B,EAAE,SAAiB;;;YAC7D,KAAmB,IAAA,eAAA,iBAAA,UAAU,CAAA,sCAAA,8DAAE,CAAC;gBAA3B,IAAM,IAAI,uBAAA;gBACL,IAAA,KAAK,GAAiB,IAAI,MAArB,EAAE,UAAU,GAAK,IAAI,WAAT,CAAU;gBACnC,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;gBAClC,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC;gBAC/B,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;YAChC,CAAC;;;;;;;;;IACH,CAAC;IAED;;;OAGG;IACH,gDAAc,GAAd,UAAe,KAAa;QAC1B,IAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAE/C,MAAM,CAAC,eAAe,GAAG,IAAI,CAAC;QAC9B,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED;;;OAGG;IACH,+CAAa,GAAb;QACE,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QAC9D,IAAM,
|
|
1
|
+
{"version":3,"file":"GridLayoutManager.js","sourceRoot":"","sources":["../../../src/recyclerview/layout-managers/GridLayoutManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,8 +68,8 @@ export declare abstract class RVLayoutManager {
|
|
|
68
68
|
/**
|
|
69
69
|
* Gets indices of items currently visible in the viewport.
|
|
70
70
|
* Uses binary search for efficient lookup.
|
|
71
|
-
* @param unboundDimensionStart Start position of viewport
|
|
72
|
-
* @param unboundDimensionEnd End position of viewport
|
|
71
|
+
* @param unboundDimensionStart Start position of viewport (start X or start Y)
|
|
72
|
+
* @param unboundDimensionEnd End position of viewport (end X or end Y)
|
|
73
73
|
* @returns ConsecutiveNumbers containing visible indices
|
|
74
74
|
*/
|
|
75
75
|
getVisibleLayouts(unboundDimensionStart: number, unboundDimensionEnd: number): ConsecutiveNumbers;
|
|
@@ -77,8 +77,8 @@ var RVLayoutManager = /** @class */ (function () {
|
|
|
77
77
|
/**
|
|
78
78
|
* Gets indices of items currently visible in the viewport.
|
|
79
79
|
* Uses binary search for efficient lookup.
|
|
80
|
-
* @param unboundDimensionStart Start position of viewport
|
|
81
|
-
* @param unboundDimensionEnd End position of viewport
|
|
80
|
+
* @param unboundDimensionStart Start position of viewport (start X or start Y)
|
|
81
|
+
* @param unboundDimensionEnd End position of viewport (end X or end Y)
|
|
82
82
|
* @returns ConsecutiveNumbers containing visible indices
|
|
83
83
|
*/
|
|
84
84
|
RVLayoutManager.prototype.getVisibleLayouts = function (unboundDimensionStart, unboundDimensionEnd) {
|