@wix/patterns 1.71.0 → 1.73.0
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/dist/cjs/components/CardContainer/CardContainer.js +27 -7
- package/dist/cjs/components/CardContainer/CardContainer.js.map +1 -1
- package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
- package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionPage/CollectionPage.js +8 -4
- package/dist/cjs/components/CollectionPage/CollectionPage.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.js +13 -13
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.uni.driver.js +1 -2
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.uni.driver.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +3 -3
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
- package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
- package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
- package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
- package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/cjs/components/Table/TableVirtualHeader.st.css.js +2 -2
- package/dist/cjs/components/Table/TableVirtualHeader.st.css.js.map +1 -1
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/cjs/components/common.st.css.js +4 -4
- package/dist/cjs/components/common.st.css.js.map +1 -1
- package/dist/cjs/hooks/useAutoScrollOnLoad.js +35 -0
- package/dist/cjs/hooks/useAutoScrollOnLoad.js.map +1 -0
- package/dist/cjs/state/FormPage/FormFooter.js +48 -0
- package/dist/cjs/state/FormPage/FormFooter.js.map +1 -0
- package/dist/cjs/state/FormPage/useFormPageContent.js +25 -29
- package/dist/cjs/state/FormPage/useFormPageContent.js.map +1 -1
- package/dist/cjs/state/NestedTableState/NestedCollectionLevelDescriptor.js.map +1 -1
- package/dist/cjs/state/NestedTableState/NestedTableFlatModeState.js +7 -0
- package/dist/cjs/state/NestedTableState/NestedTableFlatModeState.js.map +1 -1
- package/dist/cjs/state/NestedTableState/NestedTableLevelDescriptor.js.map +1 -1
- package/dist/cjs/state/NestedTableState/NestedTableNestedModeState.js.map +1 -1
- package/dist/cjs/state/NestedTableState/NestedTableNodeState.js +11 -0
- package/dist/cjs/state/NestedTableState/NestedTableNodeState.js.map +1 -1
- package/dist/cjs/state/NestedTableState/NestedTableNodeStatePublicAPI.js.map +1 -1
- package/dist/cjs/state/NestedTableState/NestedTableState.js +11 -0
- package/dist/cjs/state/NestedTableState/NestedTableState.js.map +1 -1
- package/dist/cjs/styles.global.css +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/components/CardContainer/CardContainer.js +13 -3
- package/dist/esm/components/CardContainer/CardContainer.js.map +1 -1
- package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
- package/dist/esm/components/Collapse/Collapse.st.css.js.map +1 -1
- package/dist/esm/components/CollectionPage/CollectionPage.js +4 -0
- package/dist/esm/components/CollectionPage/CollectionPage.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.uni.driver.js +1 -4
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.uni.driver.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/Heading/Heading.st.css.js +2 -2
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/esm/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContent.st.css.js.map +1 -1
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/esm/components/Table/TableVirtualHeader.st.css.js +2 -2
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
- package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/esm/components/common.st.css.js +2 -2
- package/dist/esm/hooks/useAutoScrollOnLoad.js +27 -0
- package/dist/esm/hooks/useAutoScrollOnLoad.js.map +1 -0
- package/dist/esm/state/FormPage/FormFooter.js +16 -0
- package/dist/esm/state/FormPage/FormFooter.js.map +1 -0
- package/dist/esm/state/FormPage/useFormPageContent.js +16 -15
- package/dist/esm/state/FormPage/useFormPageContent.js.map +1 -1
- package/dist/esm/state/NestedTableState/NestedTableFlatModeState.js +5 -0
- package/dist/esm/state/NestedTableState/NestedTableFlatModeState.js.map +1 -1
- package/dist/esm/state/NestedTableState/NestedTableNestedModeState.js.map +1 -1
- package/dist/esm/state/NestedTableState/NestedTableNodeState.js +9 -0
- package/dist/esm/state/NestedTableState/NestedTableNodeState.js.map +1 -1
- package/dist/esm/state/NestedTableState/NestedTableState.js +12 -0
- package/dist/esm/state/NestedTableState/NestedTableState.js.map +1 -1
- package/dist/esm/styles.global.css +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/components/CardContainer/CardContainer.d.ts +10 -4
- package/dist/types/components/CardContainer/CardContainer.d.ts.map +1 -1
- package/dist/types/components/Collapse/Collapse.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionList/CollectionList.uni.driver.d.ts +1 -1
- package/dist/types/components/CollectionPage/CollectionPage.d.ts +4 -0
- package/dist/types/components/CollectionPage/CollectionPage.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +6 -6
- package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbar.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts +17 -9
- package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts.map +1 -1
- package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.d.ts.map +1 -1
- package/dist/types/components/Grid/Grid.uni.driver.d.ts +4 -6
- package/dist/types/components/Grid/Grid.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +3 -3
- package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts +1 -1
- package/dist/types/components/InfiniteScrollCollectionList/InfiniteScrollCollectionList.uni.driver.d.ts +1 -1
- package/dist/types/components/LoadingRow/LoadingRow.st.css.d.ts.map +1 -1
- package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
- package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +3 -3
- package/dist/types/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTableRow.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts.map +1 -1
- package/dist/types/components/PickerContent/PickerContent.st.css.d.ts.map +1 -1
- package/dist/types/components/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
- package/dist/types/components/Table/Table.uni.driver.d.ts +2 -2
- package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +3 -3
- package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +3 -3
- package/dist/types/components/TableGridSwitchFolders/TableGridSwitchFolders.uni.driver.d.ts +6 -6
- package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
- package/dist/types/hooks/useAutoScrollOnLoad.d.ts +3 -0
- package/dist/types/hooks/useAutoScrollOnLoad.d.ts.map +1 -0
- package/dist/types/state/FormPage/FormFooter.d.ts +7 -0
- package/dist/types/state/FormPage/FormFooter.d.ts.map +1 -0
- package/dist/types/state/FormPage/useFormPageContent.d.ts.map +1 -1
- package/dist/types/state/NestedTableState/NestedCollectionLevelDescriptor.d.ts +7 -0
- package/dist/types/state/NestedTableState/NestedCollectionLevelDescriptor.d.ts.map +1 -1
- package/dist/types/state/NestedTableState/NestedTableFlatModeState.d.ts +1 -0
- package/dist/types/state/NestedTableState/NestedTableFlatModeState.d.ts.map +1 -1
- package/dist/types/state/NestedTableState/NestedTableLevelDescriptor.d.ts +12 -0
- package/dist/types/state/NestedTableState/NestedTableLevelDescriptor.d.ts.map +1 -1
- package/dist/types/state/NestedTableState/NestedTableNestedModeState.d.ts +1 -13
- package/dist/types/state/NestedTableState/NestedTableNestedModeState.d.ts.map +1 -1
- package/dist/types/state/NestedTableState/NestedTableNodeState.d.ts +1 -0
- package/dist/types/state/NestedTableState/NestedTableNodeState.d.ts.map +1 -1
- package/dist/types/state/NestedTableState/NestedTableNodeStatePublicAPI.d.ts +2 -2
- package/dist/types/state/NestedTableState/NestedTableState.d.ts +19 -15
- package/dist/types/state/NestedTableState/NestedTableState.d.ts.map +1 -1
- package/dist/types/testkit/enzyme.d.ts +22 -22
- package/dist/types/testkit/jsdom.d.ts +22 -22
- package/dist/types/testkit/puppeteer.d.ts +22 -22
- package/dist/types/version.d.ts +1 -1
- package/package.json +4 -4
|
@@ -7,7 +7,9 @@ var _designSystem = require("@wix/design-system");
|
|
|
7
7
|
var _FormPageMainContent = require("../../components/FormPageMainContent");
|
|
8
8
|
var _FormPageAdditionalContent = require("../../components/FormPageAdditionalContent");
|
|
9
9
|
var _FormPage = require("../../components/FormPage");
|
|
10
|
-
var
|
|
10
|
+
var _useAutoScrollOnLoad = require("../../hooks/useAutoScrollOnLoad");
|
|
11
|
+
var _bexUtils = require("@wix/bex-utils");
|
|
12
|
+
var _FormFooter = require("./FormFooter");
|
|
11
13
|
var _jsxFileName = "/home/builduser/work/db7ea24852bc3350/packages/cairo/dist/cjs/state/FormPage/useFormPageContent.tsx";
|
|
12
14
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
13
15
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
@@ -18,8 +20,9 @@ function useFormPageContent(child, {
|
|
|
18
20
|
FooterElement = _FormPage.FormPageActionsBar,
|
|
19
21
|
scrollableRef
|
|
20
22
|
} = {}) {
|
|
21
|
-
var _pageState$initTask2;
|
|
22
23
|
const childrenArray = _react.Children.toArray(child.props.children);
|
|
24
|
+
const scrollToItem = (0, _react.useRef)();
|
|
25
|
+
const doesItemExist = (0, _react.useRef)();
|
|
23
26
|
if (process.env.NODE_ENV !== 'production') {
|
|
24
27
|
if (!childrenArray.every(elem => /*#__PURE__*/(0, _react.isValidElement)(elem) && (elem.type === MainContentElement || elem.type === AdditionalContentElement))) {
|
|
25
28
|
throw new Error(`<${elementName}.Content/> must have only <${elementName}.MainContent/> and <${elementName}.AdditionalContent/> children`);
|
|
@@ -39,59 +42,52 @@ function useFormPageContent(child, {
|
|
|
39
42
|
span: childrenArray.length === 1 ? 12 : 8
|
|
40
43
|
}, childrenArray[0].props.children);
|
|
41
44
|
}
|
|
42
|
-
|
|
43
|
-
const [scrollable, setScrollable] = (0, _react.useState)();
|
|
44
|
-
(0, _react.useEffect)(() => {
|
|
45
|
-
var _pageState$initTask;
|
|
46
|
-
const pageStatus = pageState == null || (_pageState$initTask = pageState.initTask) == null ? void 0 : _pageState$initTask.status;
|
|
47
|
-
if (!pageStatus.isLoading && !pageStatus.isIdle) {
|
|
48
|
-
setScrollable((scrollableRef == null ? void 0 : scrollableRef.scrollHeight) > (scrollableRef == null ? void 0 : scrollableRef.clientHeight));
|
|
49
|
-
}
|
|
50
|
-
}, [pageState == null || (_pageState$initTask2 = pageState.initTask) == null ? void 0 : _pageState$initTask2.status]);
|
|
45
|
+
(0, _useAutoScrollOnLoad.useAutoScrollOnLoad)(scrollToItem, doesItemExist);
|
|
51
46
|
return /*#__PURE__*/_react.default.createElement(_designSystem.Page.Content, {
|
|
52
47
|
key: child.key,
|
|
53
48
|
__self: this,
|
|
54
49
|
__source: {
|
|
55
50
|
fileName: _jsxFileName,
|
|
56
|
-
lineNumber:
|
|
51
|
+
lineNumber: 92,
|
|
57
52
|
columnNumber: 5
|
|
58
53
|
}
|
|
59
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
54
|
+
}, /*#__PURE__*/_react.default.createElement(_bexUtils.FocusableWrapper, {
|
|
55
|
+
scrollableRef: scrollableRef,
|
|
56
|
+
getScrollableTrigger: triggerScrollable => {
|
|
57
|
+
scrollToItem.current = triggerScrollable;
|
|
58
|
+
},
|
|
59
|
+
getDoesItemExist: callback => {
|
|
60
|
+
doesItemExist.current = callback;
|
|
61
|
+
},
|
|
60
62
|
__self: this,
|
|
61
63
|
__source: {
|
|
62
64
|
fileName: _jsxFileName,
|
|
63
|
-
lineNumber:
|
|
65
|
+
lineNumber: 93,
|
|
64
66
|
columnNumber: 7
|
|
65
67
|
}
|
|
66
|
-
},
|
|
68
|
+
}, /*#__PURE__*/_react.default.createElement(_designSystem.Layout, {
|
|
67
69
|
__self: this,
|
|
68
70
|
__source: {
|
|
69
71
|
fileName: _jsxFileName,
|
|
70
|
-
lineNumber:
|
|
72
|
+
lineNumber: 102,
|
|
71
73
|
columnNumber: 9
|
|
72
74
|
}
|
|
73
|
-
}, /*#__PURE__*/_react.default.createElement(_designSystem.
|
|
74
|
-
dataHook: "form-page-footer",
|
|
75
|
+
}, childrenArray, /*#__PURE__*/_react.default.createElement(_designSystem.Cell, {
|
|
75
76
|
__self: this,
|
|
76
77
|
__source: {
|
|
77
78
|
fileName: _jsxFileName,
|
|
78
|
-
lineNumber:
|
|
79
|
+
lineNumber: 104,
|
|
79
80
|
columnNumber: 11
|
|
80
81
|
}
|
|
81
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
82
|
+
}, /*#__PURE__*/_react.default.createElement(_FormFooter.FormFooter, {
|
|
83
|
+
scrollableRef: scrollableRef,
|
|
84
|
+
FooterElement: FooterElement,
|
|
82
85
|
__self: this,
|
|
83
86
|
__source: {
|
|
84
87
|
fileName: _jsxFileName,
|
|
85
|
-
lineNumber:
|
|
88
|
+
lineNumber: 105,
|
|
86
89
|
columnNumber: 13
|
|
87
90
|
}
|
|
88
|
-
}
|
|
89
|
-
__self: this,
|
|
90
|
-
__source: {
|
|
91
|
-
fileName: _jsxFileName,
|
|
92
|
-
lineNumber: 103,
|
|
93
|
-
columnNumber: 45
|
|
94
|
-
}
|
|
95
|
-
}))))));
|
|
91
|
+
})))));
|
|
96
92
|
}
|
|
97
93
|
//# sourceMappingURL=useFormPageContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_designSystem","_FormPageMainContent","_FormPageAdditionalContent","_FormPage","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_designSystem","_FormPageMainContent","_FormPageAdditionalContent","_FormPage","_useAutoScrollOnLoad","_bexUtils","_FormFooter","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","useFormPageContent","child","elementName","MainContentElement","FormPageMainContent","AdditionalContentElement","FormPageAdditionalContent","FooterElement","FormPageActionsBar","scrollableRef","childrenArray","Children","toArray","props","children","scrollToItem","useRef","doesItemExist","process","env","NODE_ENV","every","elem","isValidElement","type","Error","length","cloneElement","span","useAutoScrollOnLoad","createElement","Page","Content","key","__self","__source","fileName","lineNumber","columnNumber","FocusableWrapper","getScrollableTrigger","triggerScrollable","current","getDoesItemExist","callback","Layout","Cell","FormFooter"],"sources":["../../../../src/state/FormPage/useFormPageContent.tsx"],"sourcesContent":["import React, {\n Children,\n ComponentType,\n cloneElement,\n isValidElement,\n useRef,\n} from 'react';\nimport { Cell, Layout, Page } from '@wix/design-system';\nimport { FormPageMainContent } from '../../components/FormPageMainContent';\nimport { FormPageAdditionalContent } from '../../components/FormPageAdditionalContent';\nimport {\n FormPageActionsBar,\n FormPageActionsBarProps,\n} from '../../components/FormPage';\nimport { useAutoScrollOnLoad } from '../../hooks/useAutoScrollOnLoad';\nimport { FocusableWrapper } from '@wix/bex-utils';\nimport { FormFooter } from './FormFooter';\n\nexport function useFormPageContent(\n child: JSX.Element,\n {\n elementName = 'FormPage',\n MainContentElement = FormPageMainContent,\n AdditionalContentElement = FormPageAdditionalContent,\n FooterElement = FormPageActionsBar,\n scrollableRef,\n }: {\n elementName?: string;\n MainContentElement?: ComponentType<JSX.Element>;\n AdditionalContentElement?: ComponentType<JSX.Element>;\n FooterElement?: ComponentType<FormPageActionsBarProps>;\n scrollableRef?: HTMLElement | null;\n } = {},\n) {\n const childrenArray = Children.toArray(child.props.children);\n const scrollToItem = useRef<() => void>();\n const doesItemExist = useRef<() => boolean>();\n\n if (process.env.NODE_ENV !== 'production') {\n if (\n !childrenArray.every(\n (elem) =>\n isValidElement(elem) &&\n (elem.type === MainContentElement ||\n elem.type === AdditionalContentElement),\n )\n ) {\n throw new Error(\n `<${elementName}.Content/> must have only <${elementName}.MainContent/> and <${elementName}.AdditionalContent/> children`,\n );\n }\n\n if (childrenArray.length === 0 || childrenArray.length > 2) {\n throw new Error(\n `<${elementName}.Content/> must have 1 (<${elementName}.MainContent/>) or 2 (<${elementName}.MainContent/> and <${elementName}.AdditionalContent/>) children`,\n );\n }\n\n if (\n !isValidElement(childrenArray[0]) ||\n childrenArray[0].type !== MainContentElement\n ) {\n throw new Error(\n `<${elementName}.MainContent/> should be the first child of <${elementName}.Content/>`,\n );\n }\n\n if (\n childrenArray.length === 2 &&\n (!isValidElement(childrenArray[1]) ||\n childrenArray[1].type !== AdditionalContentElement)\n ) {\n throw new Error(\n `Only <${elementName}.AdditionalContent/> can be the second child of <${elementName}.Content/>`,\n );\n }\n }\n\n if (isValidElement(childrenArray[0])) {\n childrenArray[0] = cloneElement(\n childrenArray[0],\n {\n span: childrenArray.length === 1 ? 12 : 8,\n } as any,\n childrenArray[0].props.children,\n );\n }\n\n useAutoScrollOnLoad(scrollToItem, doesItemExist);\n\n return (\n <Page.Content key={child.key}>\n <FocusableWrapper\n scrollableRef={scrollableRef}\n getScrollableTrigger={(triggerScrollable) => {\n scrollToItem.current = triggerScrollable;\n }}\n getDoesItemExist={(callback) => {\n doesItemExist.current = callback;\n }}\n >\n <Layout>\n {childrenArray}\n <Cell>\n <FormFooter\n scrollableRef={scrollableRef}\n FooterElement={FooterElement}\n />\n </Cell>\n </Layout>\n </FocusableWrapper>\n </Page.Content>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../../src/state/NestedTableState/NestedCollectionLevelDescriptor.ts"],"sourcesContent":["import {\n CollectionOptimisticSequenceExecutor,\n CollectionState,\n Filter,\n FiltersMap,\n KeyedItem,\n QueryState,\n} from '@wix/bex-core';\n\nexport interface NestedCollectionLevelDescriptor<T, F extends FiltersMap> {\n readonly depth: number;\n readonly parentKey: (item: T) => string | null | undefined;\n readonly setParent?: (\n item: T,\n parentId: string | undefined,\n additionalInfo: {\n parentItem?: {};\n },\n ) => T;\n readonly createCollection: (params?: {\n readonly parent?: KeyedItem<any> | null;\n readonly sequences: Map<string, CollectionOptimisticSequenceExecutor>;\n readonly query: QueryState<F>;\n }) => {\n collection: CollectionState<T, F>;\n parentFilter?: Filter<string[]>;\n };\n readonly fetchAllThreshold?: number;\n readonly isSameEntityAsOtherLevels?: boolean;\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../../src/state/NestedTableState/NestedCollectionLevelDescriptor.ts"],"sourcesContent":["import {\n CollectionOptimisticSequenceExecutor,\n CollectionState,\n Filter,\n FiltersMap,\n KeyedItem,\n QueryState,\n} from '@wix/bex-core';\n\nexport interface NestedCollectionLevelDescriptor<T, F extends FiltersMap> {\n readonly depth: number;\n /**\n * A function that accepts the item of the current level and returns the key of the parent item, for example: `(item) => item.parentId`.\n */\n readonly parentKey: (item: T) => string | null | undefined;\n readonly setParent?: (\n item: T,\n parentId: string | undefined,\n additionalInfo: {\n parentItem?: {};\n },\n ) => T;\n /**\n * A function that creates a collection for the current level (using [useCreateCollection](./?path=/story/common-hooks--usecreatecollection) hook), and returns the collection state and a reference to a filter object within this collection that filters the collection by the parent key.\n * @overrideType () => { collection: [CollectionState](./?path=/story/common-state--collectionstate); parentFilter?: [Filter<string[]>](./?path=/story/features-filter-factories--stringsarrayfilter); }\n */\n readonly createCollection: (params?: {\n readonly parent?: KeyedItem<any> | null;\n readonly sequences: Map<string, CollectionOptimisticSequenceExecutor>;\n readonly query: QueryState<F>;\n }) => {\n collection: CollectionState<T, F>;\n parentFilter?: Filter<string[]>;\n };\n readonly fetchAllThreshold?: number;\n readonly isSameEntityAsOtherLevels?: boolean;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -57,6 +57,13 @@ class NestedTableFlatModeState {
|
|
|
57
57
|
reportSearchResults();
|
|
58
58
|
});
|
|
59
59
|
}));
|
|
60
|
+
(0, _defineProperty2.default)(this, "_refreshAll", (0, _mobx.action)(() => {
|
|
61
|
+
this.sections.forEach(({
|
|
62
|
+
collection
|
|
63
|
+
}) => {
|
|
64
|
+
collection.clearResultAndMoveToStart();
|
|
65
|
+
});
|
|
66
|
+
}));
|
|
60
67
|
const {
|
|
61
68
|
wrapper: _wrapper
|
|
62
69
|
} = params;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_bexCore","_TableVirtualState","_NestedTableFlatModeSectionState","_util","_NestedTableFlatModeStateBIReporter","NestedTableFlatModeState","constructor","params","_defineProperty2","default","TaskState","action","initTask","refreshTask","status","isError","runOnce","multi","retryErrorState","query","sections","wrapper","bi","search","isEmpty","reset","reportSearchResults","_createReportSearchResults","fetchAll","_attemptFetchAllAndPopulateCache","init","promise","forEach","collection","_runSearch","levels","NestedTableFlatModeStateBIReporter","Array","from","map","levelDescriptor","NestedTableFlatModeSectionState","reduce","section","getCurrentQuery","existingSection","get","levelDescriptors","push","set","Map","values","MultiCollectionSupport","collections","virtual","TableVirtualState","table","makeObservable","keyedItems","computed","toolbar","tableState","acc","result","keyedItem","item","state","originalKeyedItem","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","showLoadingState","isIdle","isLoading","errorStatus","isUsingCache","disposers","addEventListener","events","isSuccess","d","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableFlatModeState.ts"],"sourcesContent":["import { NestedTableState } from './NestedTableState';\nimport { action, computed, makeObservable } from 'mobx';\nimport { MultiCollectionSupport, TaskState } from '@wix/bex-core';\nimport { TableVirtualState } from '../TableVirtualState';\nimport {\n NestedTableFlatKeyedItem,\n NestedTableFlatModeSectionState,\n} from './NestedTableFlatModeSectionState';\nimport { addEventListener } from '@wix/bex-core/util';\nimport { NestedTableFlatModeStateBIReporter } from './NestedTableFlatModeStateBIReporter';\n\nexport interface NestedTableFlatStateBaseParams<C extends string> {\n wrapper: NestedTableState<C>;\n}\n\nexport class NestedTableFlatModeState<C extends string = string> {\n readonly wrapper;\n readonly virtual;\n\n readonly initTask = new TaskState();\n readonly refreshTask = new TaskState();\n\n readonly sections;\n readonly multi;\n readonly bi: NestedTableFlatModeStateBIReporter<C>;\n\n constructor(params: NestedTableFlatStateBaseParams<C>) {\n const { wrapper } = params;\n this.wrapper = wrapper;\n\n const { levels, query } = wrapper;\n\n this.bi = new NestedTableFlatModeStateBIReporter(this);\n\n this.sections = Array.from(\n levels\n .map((levelDescriptor) => {\n return new NestedTableFlatModeSectionState({\n levelDescriptor,\n query,\n });\n })\n .reduce((map, section) => {\n const query = section.collection.getCurrentQuery();\n const existingSection = map.get(query);\n if (existingSection) {\n existingSection.levelDescriptors.push(section.levelDescriptor);\n } else {\n map.set(query, section);\n section.levelDescriptors.push(section.levelDescriptor);\n }\n return map;\n }, new Map<unknown, NestedTableFlatModeSectionState<C, any, any>>())\n .values(),\n );\n\n this.multi = new MultiCollectionSupport<{}>({\n collections: this.sections.map(({ collection }) => collection),\n });\n\n this.virtual = new TableVirtualState({\n table: this,\n });\n\n makeObservable(this, {\n keyedItems: computed,\n });\n }\n\n get toolbar() {\n return this.wrapper.toolbar;\n }\n\n get tableState() {\n return this.wrapper.tableState;\n }\n\n get keyedItems(): NestedTableFlatKeyedItem<C, any, any>[] {\n return this.sections.reduce((acc, section) => {\n const {\n collection: {\n result: { keyedItems },\n },\n } = section;\n\n return [\n ...acc,\n ...keyedItems.map((keyedItem) => ({\n ...keyedItem,\n item: {\n state: section,\n originalKeyedItem: keyedItem,\n },\n })),\n ];\n }, [] as NestedTableFlatKeyedItem<C, any, any>[]);\n }\n\n get showEmptyState() {\n return this.multi.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.multi.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.multi.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.multi.hasNonPersistentActiveFilters;\n }\n\n get showErrorState() {\n const { initTask, refreshTask, multi } = this;\n return (\n initTask.status.isError ||\n refreshTask.status.isError ||\n multi.showErrorState\n );\n }\n\n get showLoadingState() {\n return (\n this.initTask.status.isIdle ||\n this.initTask.status.isLoading ||\n this.refreshTask.status.isLoading ||\n this.multi.showLoadingState\n );\n }\n\n retryErrorState = action(() => {\n const { initTask, refreshTask } = this;\n\n if (initTask.status.isError) {\n initTask.runOnce();\n } else if (refreshTask.status.isError) {\n refreshTask.runOnce();\n } else {\n this.multi.retryErrorState();\n }\n });\n\n get errorStatus() {\n const { initTask, refreshTask, multi } = this;\n return initTask.errorStatus || refreshTask.errorStatus || multi.errorStatus;\n }\n\n get query() {\n return this.wrapper.query;\n }\n\n get levels() {\n return this.wrapper.levels;\n }\n\n _runSearch = action(async () => {\n const { query, sections, wrapper, refreshTask, bi } = this;\n if (query.search.isEmpty) {\n return;\n }\n\n refreshTask.reset();\n\n refreshTask.runOnce(async () => {\n const reportSearchResults = bi._createReportSearchResults();\n const fetchAll = wrapper._attemptFetchAllAndPopulateCache();\n fetchAll.init();\n await fetchAll.initTask.status.promise;\n sections.forEach(({ collection }) => {\n collection._runSearch(true);\n });\n reportSearchResults();\n });\n });\n\n init({ isUsingCache = false } = {}) {\n const { initTask, wrapper, multi, sections } = this;\n\n const { query } = wrapper;\n\n const disposers = [\n wrapper.init(),\n multi.init(),\n addEventListener(query.search.events, 'change', this._runSearch),\n ...sections.map((section) => section.init()),\n ];\n\n if (!isUsingCache && initTask.status.isSuccess) {\n this._runSearch();\n }\n\n initTask.runOnce(async () => {\n wrapper.initTask.runOnce();\n this._runSearch();\n await wrapper.initTask.status.promise;\n await multi.initTask.status.promise;\n });\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_bexCore","_TableVirtualState","_NestedTableFlatModeSectionState","_util","_NestedTableFlatModeStateBIReporter","NestedTableFlatModeState","constructor","params","_defineProperty2","default","TaskState","action","initTask","refreshTask","status","isError","runOnce","multi","retryErrorState","query","sections","wrapper","bi","search","isEmpty","reset","reportSearchResults","_createReportSearchResults","fetchAll","_attemptFetchAllAndPopulateCache","init","promise","forEach","collection","_runSearch","clearResultAndMoveToStart","levels","NestedTableFlatModeStateBIReporter","Array","from","map","levelDescriptor","NestedTableFlatModeSectionState","reduce","section","getCurrentQuery","existingSection","get","levelDescriptors","push","set","Map","values","MultiCollectionSupport","collections","virtual","TableVirtualState","table","makeObservable","keyedItems","computed","toolbar","tableState","acc","result","keyedItem","item","state","originalKeyedItem","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","showLoadingState","isIdle","isLoading","errorStatus","isUsingCache","disposers","addEventListener","events","isSuccess","d","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableFlatModeState.ts"],"sourcesContent":["import { NestedTableState } from './NestedTableState';\nimport { action, computed, makeObservable } from 'mobx';\nimport { MultiCollectionSupport, TaskState } from '@wix/bex-core';\nimport { TableVirtualState } from '../TableVirtualState';\nimport {\n NestedTableFlatKeyedItem,\n NestedTableFlatModeSectionState,\n} from './NestedTableFlatModeSectionState';\nimport { addEventListener } from '@wix/bex-core/util';\nimport { NestedTableFlatModeStateBIReporter } from './NestedTableFlatModeStateBIReporter';\n\nexport interface NestedTableFlatStateBaseParams<C extends string> {\n wrapper: NestedTableState<C>;\n}\n\nexport class NestedTableFlatModeState<C extends string = string> {\n readonly wrapper;\n readonly virtual;\n\n readonly initTask = new TaskState();\n readonly refreshTask = new TaskState();\n\n readonly sections;\n readonly multi;\n readonly bi: NestedTableFlatModeStateBIReporter<C>;\n\n constructor(params: NestedTableFlatStateBaseParams<C>) {\n const { wrapper } = params;\n this.wrapper = wrapper;\n\n const { levels, query } = wrapper;\n\n this.bi = new NestedTableFlatModeStateBIReporter(this);\n\n this.sections = Array.from(\n levels\n .map((levelDescriptor) => {\n return new NestedTableFlatModeSectionState({\n levelDescriptor,\n query,\n });\n })\n .reduce((map, section) => {\n const query = section.collection.getCurrentQuery();\n const existingSection = map.get(query);\n if (existingSection) {\n existingSection.levelDescriptors.push(section.levelDescriptor);\n } else {\n map.set(query, section);\n section.levelDescriptors.push(section.levelDescriptor);\n }\n return map;\n }, new Map<unknown, NestedTableFlatModeSectionState<C, any, any>>())\n .values(),\n );\n\n this.multi = new MultiCollectionSupport<{}>({\n collections: this.sections.map(({ collection }) => collection),\n });\n\n this.virtual = new TableVirtualState({\n table: this,\n });\n\n makeObservable(this, {\n keyedItems: computed,\n });\n }\n\n get toolbar() {\n return this.wrapper.toolbar;\n }\n\n get tableState() {\n return this.wrapper.tableState;\n }\n\n get keyedItems(): NestedTableFlatKeyedItem<C, any, any>[] {\n return this.sections.reduce((acc, section) => {\n const {\n collection: {\n result: { keyedItems },\n },\n } = section;\n\n return [\n ...acc,\n ...keyedItems.map((keyedItem) => ({\n ...keyedItem,\n item: {\n state: section,\n originalKeyedItem: keyedItem,\n },\n })),\n ];\n }, [] as NestedTableFlatKeyedItem<C, any, any>[]);\n }\n\n get showEmptyState() {\n return this.multi.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.multi.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.multi.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.multi.hasNonPersistentActiveFilters;\n }\n\n get showErrorState() {\n const { initTask, refreshTask, multi } = this;\n return (\n initTask.status.isError ||\n refreshTask.status.isError ||\n multi.showErrorState\n );\n }\n\n get showLoadingState() {\n return (\n this.initTask.status.isIdle ||\n this.initTask.status.isLoading ||\n this.refreshTask.status.isLoading ||\n this.multi.showLoadingState\n );\n }\n\n retryErrorState = action(() => {\n const { initTask, refreshTask } = this;\n\n if (initTask.status.isError) {\n initTask.runOnce();\n } else if (refreshTask.status.isError) {\n refreshTask.runOnce();\n } else {\n this.multi.retryErrorState();\n }\n });\n\n get errorStatus() {\n const { initTask, refreshTask, multi } = this;\n return initTask.errorStatus || refreshTask.errorStatus || multi.errorStatus;\n }\n\n get query() {\n return this.wrapper.query;\n }\n\n get levels() {\n return this.wrapper.levels;\n }\n\n _runSearch = action(async () => {\n const { query, sections, wrapper, refreshTask, bi } = this;\n if (query.search.isEmpty) {\n return;\n }\n\n refreshTask.reset();\n\n refreshTask.runOnce(async () => {\n const reportSearchResults = bi._createReportSearchResults();\n const fetchAll = wrapper._attemptFetchAllAndPopulateCache();\n fetchAll.init();\n await fetchAll.initTask.status.promise;\n sections.forEach(({ collection }) => {\n collection._runSearch(true);\n });\n reportSearchResults();\n });\n });\n\n init({ isUsingCache = false } = {}) {\n const { initTask, wrapper, multi, sections } = this;\n\n const { query } = wrapper;\n\n const disposers = [\n wrapper.init(),\n multi.init(),\n addEventListener(query.search.events, 'change', this._runSearch),\n ...sections.map((section) => section.init()),\n ];\n\n if (!isUsingCache && initTask.status.isSuccess) {\n this._runSearch();\n }\n\n initTask.runOnce(async () => {\n wrapper.initTask.runOnce();\n this._runSearch();\n await wrapper.initTask.status.promise;\n await multi.initTask.status.promise;\n });\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n\n _refreshAll = action(() => {\n this.sections.forEach(({ collection }) => {\n collection.clearResultAndMoveToStart();\n });\n });\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../../src/state/NestedTableState/NestedTableLevelDescriptor.ts"],"sourcesContent":["import { FiltersMap, ToastConfig } from '@wix/bex-core';\nimport { NestedCollectionLevelDescriptor } from './NestedCollectionLevelDescriptor';\nimport { ActionCell } from '../../components/ActionCell';\nimport {\n NestedTableNestColumns,\n RenderMainColumn,\n} from './NestedTableNodeState';\nimport { NestedDragEndEvent } from '../../components/NestedTableDragAndDrop/NestedTableDragAndDropState';\n\nexport interface NestedTableLevelDescriptor<\n C extends string,\n T,\n F extends FiltersMap,\n> extends NestedCollectionLevelDescriptor<T, F> {\n readonly columns?: NestedTableNestColumns<C, T>;\n readonly renderMainColumn?: RenderMainColumn<T>;\n readonly actionCell?: ActionCell<T, F>;\n readonly breadcrumbs?: (\n item: T,\n ) => { id: string; name: string }[] | null | undefined;\n readonly onAddNewClick?: () => void;\n readonly dragAndDropSubmit?: (\n event: NestedDragEndEvent<C, T, F>,\n ) => Promise<void>;\n readonly dragAndDropCancel?: (\n event: NestedDragEndEvent<C, T, F>,\n ) => Omit<ToastConfig, 'type' | 'biName'> | null | undefined | void;\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../../src/state/NestedTableState/NestedTableLevelDescriptor.ts"],"sourcesContent":["import { FiltersMap, ToastConfig } from '@wix/bex-core';\nimport { NestedCollectionLevelDescriptor } from './NestedCollectionLevelDescriptor';\nimport { ActionCell } from '../../components/ActionCell';\nimport {\n NestedTableNestColumns,\n RenderMainColumn,\n} from './NestedTableNodeState';\nimport { NestedDragEndEvent } from '../../components/NestedTableDragAndDrop/NestedTableDragAndDropState';\n\nexport interface NestedTableLevelDescriptor<\n C extends string,\n T,\n F extends FiltersMap,\n> extends NestedCollectionLevelDescriptor<T, F> {\n /**\n * Render logic of the cells for this level. By default, all cells will be empty\n */\n readonly columns?: NestedTableNestColumns<C, T>;\n /**\n * Render logic of the main column for this level.\n */\n readonly renderMainColumn?: RenderMainColumn<T>;\n /**\n * A table's last column. Use this column to add an action at the end of each row. For example, a delete button to delete an item. Pass an [`ActionCellProps`](https://www.docs.wixdesignsystem.com/?path=/story/components-lists-table--tableactioncell) object, or a function that returns an `ActionCellProps` object.\n */\n readonly actionCell?: ActionCell<T, F>;\n /**\n * A function that accepts the item of the current level and returns an array of breadcrumbs to be displayed in the toolbar. Each breadcrumb is an object with `id` and `name` properties. `fetchData` will be called with `query.fields` that contains the value `breadcrumbs` to signal that the breadcrumbs should be fetched.\n */\n readonly breadcrumbs?: (\n item: T,\n ) => { id: string; name: string }[] | null | undefined;\n readonly onAddNewClick?: () => void;\n readonly dragAndDropSubmit?: (\n event: NestedDragEndEvent<C, T, F>,\n ) => Promise<void>;\n readonly dragAndDropCancel?: (\n event: NestedDragEndEvent<C, T, F>,\n ) => Omit<ToastConfig, 'type' | 'biName'> | null | undefined | void;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_NestedCollectionState","_TableVirtualState","_NestedTableNodeState","_mobx","_getNodeOrLeaf","_NestedTableNestedModeStateBIReporter","NestedTableNestedModeState","constructor","params","_defineProperty2","default","TaskState","action","initTask","status","isError","runOnce","bi","reportExpandCollapseAll","keyedItems","forEach","keyedItem","node","getNode","key","isAllCollapsed","_expanded","toggleExpand","wrapper","container","NestedTableNestedModeStateBIReporter","rootLevelDescriptor","levels","Error","nestedCollection","NestedCollectionState","query","nodeCollection","rootNodeCollection","sequences","root","NestedTableNodeState","nestedTable","levelDescriptor","parentNode","parent","preRegister","virtual","TableVirtualState","table","getVirtualItemKey","item","_item$item$state$pare","id","state","filter","Boolean","join","getCollectionSnapshot","_toolbar$viewsState","_originQuery$sort","toolbar","collection","result","originQuery","total","viewShown","viewsState","views","currentView","tabShown","getCurrentTabName","sortOrderApplied","sort","length","JSON","stringify","undefined","filtersApplied","filtersKey","filteredListSizeShown","multi","tableState","_keyedItemsMap","getKeyedItem","getKeyedItemByIndex","ind","get","originalKeyedItem","getNodeOrLeaf","getAllNodes","getDescendants","expandAll","isFetchAllAborted","every","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","showLoadingState","isLoading","errorStatus","init","disposers","skipCollectionInit","promise","d","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableNestedModeState.ts"],"sourcesContent":["import { FiltersMap, ReportBI, TaskState } from '@wix/bex-core';\n\nimport { NestedCollectionState } from './NestedCollectionState';\nimport { TableVirtualState } from '../TableVirtualState';\nimport { NestedTableNodeState } from './NestedTableNodeState';\nimport { action } from 'mobx';\nimport { NestedTableState } from './NestedTableState';\nimport { NestedTableDragAndDropState } from '../../components/NestedTableDragAndDrop/NestedTableDragAndDropState';\nimport { getNodeOrLeaf } from './getNodeOrLeaf';\nimport { NestedTableNodeStatePublicAPI } from './NestedTableNodeStatePublicAPI';\nimport { NestedTableNestedModeStateBIReporter } from './NestedTableNestedModeStateBIReporter';\n\nexport interface NestedTableNestedModeStateBaseParams {}\n\nexport interface NestedTableNestedModeStateParams<C extends string>\n extends NestedTableNestedModeStateBaseParams {\n wrapper: NestedTableState<C>;\n reportBi: ReportBI;\n}\n\nexport interface NestedTableNestedModeStatePublicAPI<C extends string> {\n /**\n * Get the node this item is the parent of. i.e. this node's collection items' parent id is the `key`\n * @param key\n * @overrideType (key: string):[NestedTableNodeState](./?path=/story/base-components-collections-nestedtable--nestedtablenodestate) | undefined\n */\n getNode<TD, FD extends FiltersMap>(\n key: string,\n ): NestedTableNodeStatePublicAPI<C, TD, FD> | undefined;\n\n /**\n * Get all the nodes in the table\n */\n getAllNodes<TD, FD extends FiltersMap>(): NestedTableNodeStatePublicAPI<\n C,\n TD,\n FD\n >[];\n}\n\nexport class NestedTableNestedModeState<C extends string = string>\n implements NestedTableNestedModeStatePublicAPI<C>\n{\n readonly wrapper;\n readonly container;\n readonly bi: NestedTableNestedModeStateBIReporter<C>;\n readonly nestedCollection: NestedCollectionState;\n readonly virtual;\n\n readonly initTask = new TaskState();\n\n readonly root: NestedTableNodeState<C, any, any>;\n\n nestedTableDragAndDrop: NestedTableDragAndDropState<C> | null = null;\n\n constructor(params: NestedTableNestedModeStateParams<C>) {\n const { wrapper } = params;\n this.wrapper = wrapper;\n this.container = wrapper.container;\n\n this.bi = new NestedTableNestedModeStateBIReporter(this);\n\n const rootLevelDescriptor = this.wrapper.levels[0];\n\n if (rootLevelDescriptor == null) {\n throw new Error('NestedTableState must have at least one level');\n }\n\n this.nestedCollection = new NestedCollectionState({\n container: this.container,\n levels: wrapper.levels,\n query: wrapper.query,\n nodeCollection: wrapper.rootNodeCollection,\n sequences: wrapper.sequences,\n });\n\n this.root = new NestedTableNodeState({\n nestedTable: this,\n node: this.nestedCollection.root,\n levelDescriptor: rootLevelDescriptor,\n parentNode: null,\n parent: null,\n preRegister: true,\n });\n\n this.virtual = new TableVirtualState({\n table: this,\n getVirtualItemKey: (item) =>\n [item.id, item.item.state.parent?.id].filter(Boolean).join('_'),\n });\n }\n\n getCollectionSnapshot() {\n const { toolbar } = this;\n\n const {\n collection: {\n result: { originQuery, total },\n },\n } = toolbar;\n\n return {\n viewShown: toolbar.viewsState?.views.currentView?.id,\n tabShown: toolbar.getCurrentTabName(),\n sortOrderApplied: originQuery.sort?.length\n ? JSON.stringify(originQuery.sort)\n : undefined,\n filtersApplied: JSON.stringify(originQuery.filtersKey),\n filteredListSizeShown: total,\n };\n }\n\n get multi() {\n return this.toolbar.multi;\n }\n\n get tableState() {\n return this.wrapper.tableState;\n }\n\n get toolbar() {\n return this.wrapper.toolbar;\n }\n\n get total() {\n return this.nestedCollection.total;\n }\n\n get originQuery() {\n return this.toolbar.collection.originQuery;\n }\n\n get keyedItems() {\n return this.root.keyedItems;\n }\n\n get _keyedItemsMap() {\n return this.root._keyedItemsMap;\n }\n\n _indentationWidth = 28;\n _parentCellPaddingStart = 24;\n\n getKeyedItem(key: string) {\n return this.root.getKeyedItem(key);\n }\n\n getKeyedItemByIndex(ind: number) {\n return this.root.getKeyedItemByIndex(ind);\n }\n\n getNode<TD, FD extends FiltersMap>(\n key: string,\n ): NestedTableNodeStatePublicAPI<C, TD, FD> | undefined {\n const keyedItem = this.root._keyedItemsMap.get(key);\n if (keyedItem == null || keyedItem.item.originalKeyedItem == null) {\n return undefined;\n }\n const { item } = keyedItem;\n return getNodeOrLeaf(item.state, item.originalKeyedItem) as\n | NestedTableNodeState<C, TD, FD>\n | undefined;\n }\n\n getAllNodes<TD, FD extends FiltersMap>(): NestedTableNodeStatePublicAPI<\n C,\n TD,\n FD\n >[] {\n return this.root.getDescendants();\n }\n\n get expandAll() {\n return this.nestedCollection.expandAll;\n }\n\n get isFetchAllAborted() {\n return this.nestedCollection.isFetchAllAborted;\n }\n\n get isAllCollapsed() {\n return this.keyedItems.every((keyedItem) => {\n const node = this.getNode(keyedItem.key) as NestedTableNodeState<\n C,\n any,\n any\n >;\n return !node._expanded;\n });\n }\n get showEmptyState() {\n return this.toolbar.multi.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.toolbar.multi.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.toolbar.multi.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.toolbar.multi.hasNonPersistentActiveFilters;\n }\n\n get showErrorState() {\n const { initTask } = this;\n return initTask.status.isError;\n }\n\n get showLoadingState() {\n return this.initTask.status.isLoading;\n }\n\n retryErrorState = action(() => {\n const { initTask } = this;\n\n if (initTask.status.isError) {\n initTask.runOnce();\n }\n });\n\n expandCollapseAll = action(() => {\n this.bi.reportExpandCollapseAll();\n\n this.keyedItems.forEach((keyedItem) => {\n const node = this.getNode(keyedItem.key) as NestedTableNodeState<\n C,\n any,\n any\n >;\n\n if (!this.isAllCollapsed === node?._expanded) {\n node?.toggleExpand();\n }\n });\n });\n\n get errorStatus() {\n const { initTask } = this;\n return initTask.errorStatus;\n }\n\n get query() {\n return this.wrapper.query;\n }\n\n get levels() {\n return this.wrapper.levels;\n }\n\n init() {\n const { initTask, wrapper, root, nestedCollection } = this;\n\n const disposers = [\n wrapper.init(),\n root.init({ skipCollectionInit: true }), // collection is initialized by toolbar state\n nestedCollection.init(),\n ];\n\n initTask.runOnce(async () => {\n wrapper.initTask.runOnce();\n root.initTask.runOnce();\n\n await root.initTask.status.promise;\n await wrapper.initTask.status.promise;\n });\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_NestedCollectionState","_TableVirtualState","_NestedTableNodeState","_mobx","_getNodeOrLeaf","_NestedTableNestedModeStateBIReporter","NestedTableNestedModeState","constructor","params","_defineProperty2","default","TaskState","action","initTask","status","isError","runOnce","bi","reportExpandCollapseAll","keyedItems","forEach","keyedItem","node","getNode","key","isAllCollapsed","_expanded","toggleExpand","wrapper","container","NestedTableNestedModeStateBIReporter","rootLevelDescriptor","levels","Error","nestedCollection","NestedCollectionState","query","nodeCollection","rootNodeCollection","sequences","root","NestedTableNodeState","nestedTable","levelDescriptor","parentNode","parent","preRegister","virtual","TableVirtualState","table","getVirtualItemKey","item","_item$item$state$pare","id","state","filter","Boolean","join","getCollectionSnapshot","_toolbar$viewsState","_originQuery$sort","toolbar","collection","result","originQuery","total","viewShown","viewsState","views","currentView","tabShown","getCurrentTabName","sortOrderApplied","sort","length","JSON","stringify","undefined","filtersApplied","filtersKey","filteredListSizeShown","multi","tableState","_keyedItemsMap","getKeyedItem","getKeyedItemByIndex","ind","get","originalKeyedItem","getNodeOrLeaf","getAllNodes","getDescendants","expandAll","isFetchAllAborted","every","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","showLoadingState","isLoading","errorStatus","init","disposers","skipCollectionInit","promise","d","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableNestedModeState.ts"],"sourcesContent":["import { FiltersMap, ReportBI, TaskState } from '@wix/bex-core';\n\nimport { NestedCollectionState } from './NestedCollectionState';\nimport { TableVirtualState } from '../TableVirtualState';\nimport { NestedTableNodeState } from './NestedTableNodeState';\nimport { action } from 'mobx';\nimport { NestedTableState } from './NestedTableState';\nimport { NestedTableDragAndDropState } from '../../components/NestedTableDragAndDrop/NestedTableDragAndDropState';\nimport { getNodeOrLeaf } from './getNodeOrLeaf';\nimport { NestedTableNodeStatePublicAPI } from './NestedTableNodeStatePublicAPI';\nimport { NestedTableNestedModeStateBIReporter } from './NestedTableNestedModeStateBIReporter';\n\nexport interface NestedTableNestedModeStateBaseParams {}\n\nexport interface NestedTableNestedModeStateParams<C extends string>\n extends NestedTableNestedModeStateBaseParams {\n wrapper: NestedTableState<C>;\n reportBi: ReportBI;\n}\n\n\nexport class NestedTableNestedModeState<C extends string = string> {\n readonly wrapper;\n readonly container;\n readonly bi: NestedTableNestedModeStateBIReporter<C>;\n readonly nestedCollection: NestedCollectionState;\n readonly virtual;\n\n readonly initTask = new TaskState();\n\n readonly root: NestedTableNodeState<C, any, any>;\n\n nestedTableDragAndDrop: NestedTableDragAndDropState<C> | null = null;\n\n constructor(params: NestedTableNestedModeStateParams<C>) {\n const { wrapper } = params;\n this.wrapper = wrapper;\n this.container = wrapper.container;\n\n this.bi = new NestedTableNestedModeStateBIReporter(this);\n\n const rootLevelDescriptor = this.wrapper.levels[0];\n\n if (rootLevelDescriptor == null) {\n throw new Error('NestedTableState must have at least one level');\n }\n\n this.nestedCollection = new NestedCollectionState({\n container: this.container,\n levels: wrapper.levels,\n query: wrapper.query,\n nodeCollection: wrapper.rootNodeCollection,\n sequences: wrapper.sequences,\n });\n\n this.root = new NestedTableNodeState({\n nestedTable: this,\n node: this.nestedCollection.root,\n levelDescriptor: rootLevelDescriptor,\n parentNode: null,\n parent: null,\n preRegister: true,\n });\n\n this.virtual = new TableVirtualState({\n table: this,\n getVirtualItemKey: (item) =>\n [item.id, item.item.state.parent?.id].filter(Boolean).join('_'),\n });\n }\n\n getCollectionSnapshot() {\n const { toolbar } = this;\n\n const {\n collection: {\n result: { originQuery, total },\n },\n } = toolbar;\n\n return {\n viewShown: toolbar.viewsState?.views.currentView?.id,\n tabShown: toolbar.getCurrentTabName(),\n sortOrderApplied: originQuery.sort?.length\n ? JSON.stringify(originQuery.sort)\n : undefined,\n filtersApplied: JSON.stringify(originQuery.filtersKey),\n filteredListSizeShown: total,\n };\n }\n\n get multi() {\n return this.toolbar.multi;\n }\n\n get tableState() {\n return this.wrapper.tableState;\n }\n\n get toolbar() {\n return this.wrapper.toolbar;\n }\n\n get total() {\n return this.nestedCollection.total;\n }\n\n get originQuery() {\n return this.toolbar.collection.originQuery;\n }\n\n get keyedItems() {\n return this.root.keyedItems;\n }\n\n get _keyedItemsMap() {\n return this.root._keyedItemsMap;\n }\n\n _indentationWidth = 28;\n _parentCellPaddingStart = 24;\n\n getKeyedItem(key: string) {\n return this.root.getKeyedItem(key);\n }\n\n getKeyedItemByIndex(ind: number) {\n return this.root.getKeyedItemByIndex(ind);\n }\n\n getNode<TD, FD extends FiltersMap>(\n key: string,\n ): NestedTableNodeStatePublicAPI<C, TD, FD> | undefined {\n const keyedItem = this.root._keyedItemsMap.get(key);\n if (keyedItem == null || keyedItem.item.originalKeyedItem == null) {\n return undefined;\n }\n const { item } = keyedItem;\n return getNodeOrLeaf(item.state, item.originalKeyedItem) as\n | NestedTableNodeState<C, TD, FD>\n | undefined;\n }\n\n getAllNodes<TD, FD extends FiltersMap>(): NestedTableNodeStatePublicAPI<\n C,\n TD,\n FD\n >[] {\n return this.root.getDescendants();\n }\n\n get expandAll() {\n return this.nestedCollection.expandAll;\n }\n\n get isFetchAllAborted() {\n return this.nestedCollection.isFetchAllAborted;\n }\n\n get isAllCollapsed() {\n return this.keyedItems.every((keyedItem) => {\n const node = this.getNode(keyedItem.key) as NestedTableNodeState<\n C,\n any,\n any\n >;\n return !node._expanded;\n });\n }\n get showEmptyState() {\n return this.toolbar.multi.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.toolbar.multi.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.toolbar.multi.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.toolbar.multi.hasNonPersistentActiveFilters;\n }\n\n get showErrorState() {\n const { initTask } = this;\n return initTask.status.isError;\n }\n\n get showLoadingState() {\n return this.initTask.status.isLoading;\n }\n\n retryErrorState = action(() => {\n const { initTask } = this;\n\n if (initTask.status.isError) {\n initTask.runOnce();\n }\n });\n\n expandCollapseAll = action(() => {\n this.bi.reportExpandCollapseAll();\n\n this.keyedItems.forEach((keyedItem) => {\n const node = this.getNode(keyedItem.key) as NestedTableNodeState<\n C,\n any,\n any\n >;\n\n if (!this.isAllCollapsed === node?._expanded) {\n node?.toggleExpand();\n }\n });\n });\n\n get errorStatus() {\n const { initTask } = this;\n return initTask.errorStatus;\n }\n\n get query() {\n return this.wrapper.query;\n }\n\n get levels() {\n return this.wrapper.levels;\n }\n\n init() {\n const { initTask, wrapper, root, nestedCollection } = this;\n\n const disposers = [\n wrapper.init(),\n root.init({ skipCollectionInit: true }), // collection is initialized by toolbar state\n nestedCollection.init(),\n ];\n\n initTask.runOnce(async () => {\n wrapper.initTask.runOnce();\n root.initTask.runOnce();\n\n await root.initTask.status.promise;\n await wrapper.initTask.status.promise;\n });\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -239,6 +239,17 @@ class NestedTableNodeState {
|
|
|
239
239
|
parentNode.parentKeyToChildrenMap.delete(parent.key);
|
|
240
240
|
};
|
|
241
241
|
}
|
|
242
|
+
async _refreshAll() {
|
|
243
|
+
const {
|
|
244
|
+
collection
|
|
245
|
+
} = this;
|
|
246
|
+
await this.collection.clearResultAndMoveToStart();
|
|
247
|
+
const keyedItems = collection.result.keyedItems;
|
|
248
|
+
for (const keyedItem of keyedItems) {
|
|
249
|
+
const node = this.parentKeyToChildrenMap.get(keyedItem.key);
|
|
250
|
+
await (node == null ? void 0 : node._refreshAll());
|
|
251
|
+
}
|
|
252
|
+
}
|
|
242
253
|
async _toggleExpand() {
|
|
243
254
|
var _this$parentNode2;
|
|
244
255
|
const promise = this.node._toggleExpand();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_mobx","_NestedTableNodeStateBIReporter","_getNodeOrLeaf","_NestedTableNodeStateOptimisticActions","NestedTableNodeState","constructor","params","_defineProperty2","default","TaskState","Map","createAtom","node","collection","retryErrorState","nestedTable","parentNode","parent","levelDescriptor","bi","NestedTableNodeStateBIReporter","multi","MultiCollectionSupport","collections","makeObservable","keyedItems","computed","_keyedItemsMap","_keyedItemsIfExpanded","_isNotExpandableWhenEmpty","init","action","createNode","_preRegisterAll","_toggleExpand","_notify","_notifyAll","deepestBranchDepth","getKeyedItem","_register","children","optimisticActions","NestedTableNodeStateOptimisticActions","flatModeCollection","_this$nestedTable$wra","wrapper","flat","sections","find","section","levelDescriptors","includes","depth","_this$parentNode","childrenDepth","parentKeyToChildrenMap","parentKeyToChildrenMapAtom","result","reportObserved","reduce","acc","keyedItem","_parentKeyToChildrenM","Math","max","get","id","length","_expanded","columns","renderMainColumn","showHoverHighlight","hoveredOrParentHovered","_changeHover","hovered","showEmptyState","showLoadingState","showInitialLoader","showRefreshLoader","showErrorState","errorStatus","isFetchAllAborted","Array","fill","map","_","index","key","pageIndex","indexWithinPage","item","state","originalKeyedItem","undefined","flatMap","_parentKeyToChildrenM2","getDescendants","getNodeOrLeaf","_getNode","getParent","getData","getItem","toggleExpand","expanded","getKeyedItemByIndex","ind","set","delete","_this$parentNode2","promise","reportChanged","runInAction","_this$parentNode3","Promise","all","preRegister","dispose","initTask","status","forEach","skipCollectionInit","nestedTableDragAndDrop","disposers","initCollection","runOnce","d","existing","nextLevelDescriptor","levels","nextLevelNode","_createNode","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableNodeState.ts"],"sourcesContent":["import {\n CollectionState,\n FiltersMap,\n KeyedItem,\n MultiCollectionSupport,\n TaskState,\n} from '@wix/bex-core';\nimport { NestedCollectionNodeState } from './NestedCollectionNodeState';\nimport {\n action,\n computed,\n createAtom,\n makeObservable,\n runInAction,\n} from 'mobx';\nimport { TableColumn } from '../../model';\nimport { NestedTableNestedModeState } from './NestedTableNestedModeState';\nimport { ReactNode } from 'react';\nimport { NestedTableNodeStateBIReporter } from './NestedTableNodeStateBIReporter';\nimport { NestedTableLevelDescriptor } from './NestedTableLevelDescriptor';\nimport { NestedTableNodeStatePublicAPI } from './NestedTableNodeStatePublicAPI';\nimport { getNodeOrLeaf } from './getNodeOrLeaf';\nimport { NestedTableNodeStateOptimisticActions } from './NestedTableNodeStateOptimisticActions';\n\nexport interface NestedTableDataItem<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n state: NestedTableNodeState<C, T, F>;\n originalKeyedItem: KeyedItem<T>;\n}\n\nexport interface NestedTableSkeletonItem<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n state: NestedTableNodeState<C, T, F>;\n originalKeyedItem: undefined;\n}\n\nexport type NestedTableItem<C extends string, T, F extends FiltersMap> =\n | NestedTableDataItem<C, T, F>\n | NestedTableSkeletonItem<C, T, F>;\n\nexport type NestedTableKeyedItem<\n C extends string,\n T,\n F extends FiltersMap,\n> = KeyedItem<NestedTableItem<C, T, F>>;\n\nexport type RenderMainColumn<T> = (item: T) => {\n title?: string;\n subtitle?: string;\n image?: ReactNode;\n};\n\nexport type NestedTableNestColumns<C extends string, T> = Partial<\n Record<C, TableColumn<T>['render']>\n>;\n\nexport interface NestedTableNodeStateParams<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n readonly nestedTable: NestedTableNestedModeState<C>;\n readonly node: NestedCollectionNodeState<T, F>;\n readonly levelDescriptor: NestedTableLevelDescriptor<C, T, F>;\n readonly parentNode: NestedTableNodeState<C, any, any> | null;\n readonly parent: KeyedItem<unknown> | null;\n readonly preRegister?: boolean;\n}\n\nexport class NestedTableNodeState<C extends string, T, F extends FiltersMap>\n implements NestedTableNodeStatePublicAPI<C, T, F>\n{\n readonly nestedTable;\n readonly node;\n\n readonly levelDescriptor;\n readonly parentNode;\n readonly parent;\n readonly bi: NestedTableNodeStateBIReporter<C, T, F>;\n\n readonly multi;\n\n _rowNum?: number;\n\n readonly initTask = new TaskState();\n\n readonly parentKeyToChildrenMap = new Map<\n string,\n NestedTableNodeState<C, any, any>\n >();\n\n readonly parentKeyToChildrenMapAtom = createAtom(\n 'parentKeyToChildrenMapAtom',\n );\n\n constructor(params: NestedTableNodeStateParams<C, T, F>) {\n this.nestedTable = params.nestedTable;\n this.node = params.node;\n this.parentNode = params.parentNode;\n this.parent = params.parent;\n this.levelDescriptor = params.levelDescriptor;\n this.bi = new NestedTableNodeStateBIReporter(this);\n\n this.multi = new MultiCollectionSupport({\n collections: [this.node.collection],\n });\n\n makeObservable(this, {\n keyedItems: computed,\n _keyedItemsMap: computed,\n _keyedItemsIfExpanded: computed,\n _isNotExpandableWhenEmpty: computed,\n init: action,\n createNode: action,\n _preRegisterAll: action,\n _toggleExpand: action,\n _notify: action,\n _notifyAll: action,\n deepestBranchDepth: computed,\n getKeyedItem: action,\n });\n\n this._register();\n }\n\n get collection() {\n return this.node.collection;\n }\n\n get children() {\n return this.collection;\n }\n\n get optimisticActions() {\n return new NestedTableNodeStateOptimisticActions(this);\n }\n\n get flatModeCollection(): CollectionState<T, F> | undefined {\n return this.nestedTable.wrapper.flat.sections.find((section) =>\n section.levelDescriptors.includes(this.levelDescriptor),\n )?.collection;\n }\n\n get depth() {\n return this.parentNode?.childrenDepth ?? 0;\n }\n\n get childrenDepth() {\n return this.levelDescriptor.depth;\n }\n\n get deepestBranchDepth(): number {\n const { node, parentKeyToChildrenMap, parentKeyToChildrenMapAtom } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n parentKeyToChildrenMapAtom.reportObserved();\n\n return (\n keyedItems.reduce((acc, keyedItem) => {\n return Math.max(\n acc,\n parentKeyToChildrenMap.get(keyedItem.id)?.deepestBranchDepth ?? 0,\n );\n }, 0) + (keyedItems.length ? 1 : 0)\n );\n }\n\n get _expanded() {\n return this.node._expanded;\n }\n\n get columns() {\n return this.levelDescriptor.columns;\n }\n\n get renderMainColumn() {\n return this.levelDescriptor.renderMainColumn;\n }\n\n get showHoverHighlight() {\n return this.node.hoveredOrParentHovered;\n }\n\n _changeHover(hovered: boolean) {\n this.node._changeHover(hovered);\n }\n\n get showEmptyState() {\n return this.node.collection.showEmptyState;\n }\n\n get showLoadingState() {\n return (\n this.node.collection.showInitialLoader ||\n this.node.collection.showRefreshLoader\n );\n }\n\n get showErrorState() {\n return this.node.collection.showErrorState;\n }\n\n get errorStatus() {\n return this.node.collection.result.errorStatus;\n }\n\n retryErrorState = () => this.node.collection.retryErrorState();\n\n get _isNotExpandableWhenEmpty() {\n const {\n nestedTable: { isFetchAllAborted },\n node: {\n collection: { showEmptyState },\n },\n } = this;\n return !isFetchAllAborted && showEmptyState;\n }\n\n get _keyedItemsIfExpanded(): NestedTableKeyedItem<C, any, any>[] {\n const {\n parent,\n nestedTable: { isFetchAllAborted },\n _expanded,\n node: {\n collection: { showRefreshLoader, showEmptyState, showErrorState },\n },\n } = this;\n\n if (!_expanded) {\n return [];\n }\n\n return [\n ...this.keyedItems,\n ...(parent &&\n isFetchAllAborted &&\n (showRefreshLoader || showEmptyState || showErrorState)\n ? new Array(1).fill(null).map((_, index) => ({\n id: `placeholder-states-${parent.key}`,\n key: `placeholder-states-${parent.key}`,\n index,\n pageIndex: 0,\n indexWithinPage: index,\n item: {\n state: this,\n originalKeyedItem: undefined,\n },\n }))\n : []),\n ];\n }\n\n get _keyedItemsMap(): Map<string, NestedTableKeyedItem<C, any, any>> {\n return new Map(\n this.keyedItems.map((keyedItem) => [keyedItem.key, keyedItem]),\n );\n }\n\n get keyedItems(): NestedTableKeyedItem<C, any, any>[] {\n const { node, parentKeyToChildrenMap, parentKeyToChildrenMapAtom } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n parentKeyToChildrenMapAtom.reportObserved();\n\n return keyedItems\n .flatMap((keyedItem) => [\n {\n ...keyedItem,\n item: {\n state: this,\n originalKeyedItem: keyedItem,\n },\n },\n ...(parentKeyToChildrenMap.get(keyedItem.key)?._keyedItemsIfExpanded ??\n []),\n ])\n .map((keyedItem, index) => ({ ...keyedItem, index }));\n }\n\n getKeyedItem(key: string) {\n return this._keyedItemsMap.get(key);\n }\n\n getDescendants<TD, FD extends FiltersMap>(): NestedTableNodeStatePublicAPI<\n C,\n TD,\n FD\n >[] {\n const { collection } = this;\n\n return collection.result.keyedItems.flatMap((keyedItem) => {\n const node = getNodeOrLeaf(this, keyedItem);\n return [node, ...node.getDescendants<TD, FD>()];\n });\n }\n\n _getNode<TD, FD extends FiltersMap>(key: string) {\n const node = this._keyedItemsMap.get(key);\n return node?.item.state.parentKeyToChildrenMap.get(key) as\n | NestedTableNodeState<C, TD, FD>\n | undefined;\n }\n\n getParent<TD, FD extends FiltersMap>(): NestedTableNodeStatePublicAPI<\n C,\n TD,\n FD\n > | null {\n return this.parentNode;\n }\n\n getData<TD>(): TD | null {\n const { parent, parentNode } = this;\n if (parent == null || parentNode == null) {\n return null;\n }\n return parentNode.collection.getItem(parent.key);\n }\n\n toggleExpand() {\n this._toggleExpand();\n }\n\n get expanded() {\n return this._expanded;\n }\n\n getKeyedItemByIndex(ind: number) {\n return this.keyedItems[ind];\n }\n\n _register() {\n const { parent, parentNode } = this;\n\n if (parent == null || parentNode == null) {\n return;\n }\n\n parentNode.parentKeyToChildrenMap.set(parent.key, this);\n\n return () => {\n parentNode.parentKeyToChildrenMap.delete(parent.key);\n };\n }\n\n async _toggleExpand() {\n const promise = this.node._toggleExpand();\n\n this.parentNode?.parentKeyToChildrenMapAtom.reportChanged();\n await promise;\n runInAction(() => {\n this.parentNode?.parentKeyToChildrenMapAtom.reportChanged();\n });\n }\n\n async _preRegisterAll() {\n const { node } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n await Promise.all(\n keyedItems.map(async (keyedItem) => {\n const state = this.createNode({ parent: keyedItem, preRegister: true });\n if (state == null) {\n return;\n }\n const dispose = state.init();\n await state.initTask.status.promise;\n dispose();\n }),\n );\n }\n\n _notify() {\n const { parentKeyToChildrenMapAtom } = this;\n parentKeyToChildrenMapAtom.reportChanged();\n }\n\n _notifyAll() {\n const { parentKeyToChildrenMap } = this;\n this._notify();\n parentKeyToChildrenMap.forEach((state) => {\n state._notifyAll();\n });\n }\n\n init({ skipCollectionInit }: { skipCollectionInit?: boolean } = {}) {\n const { node, initTask, nestedTable, collection } = this;\n\n const { nestedTableDragAndDrop } = nestedTable;\n\n const disposers = [\n node.init({ skipCollectionInit }),\n nestedTableDragAndDrop?.initCollection(collection),\n ];\n\n initTask.runOnce(async () => {\n node.initTask.runOnce();\n await node.initTask.status.promise;\n\n await runInAction(async () => {\n if (!nestedTable.isFetchAllAborted) {\n await this._preRegisterAll();\n if (this.childrenDepth === 0) {\n this._notifyAll();\n }\n }\n return;\n });\n });\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n createNode({\n parent,\n preRegister,\n }: {\n parent: KeyedItem<any>;\n preRegister?: boolean;\n }): NestedTableNodeState<C, any, any> | null {\n const { nestedTable, node, childrenDepth, parentKeyToChildrenMap } = this;\n\n const existing = parentKeyToChildrenMap.get(parent.key);\n\n if (existing != null) {\n return existing;\n }\n\n const nextLevelDescriptor = nestedTable.levels[childrenDepth + 1];\n\n if (nextLevelDescriptor == null) {\n return null;\n }\n\n const nextLevelNode = node._createNode(parent, {\n levelDescriptor: nextLevelDescriptor,\n preRegister,\n });\n\n if (nextLevelNode == null) {\n return null;\n }\n\n return new NestedTableNodeState({\n parent,\n parentNode: this,\n nestedTable,\n node: nextLevelNode,\n levelDescriptor: nextLevelDescriptor,\n preRegister,\n });\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAQA,IAAAC,KAAA,GAAAD,OAAA;AAUA,IAAAE,+BAAA,GAAAF,OAAA;AAGA,IAAAG,cAAA,GAAAH,OAAA;AACA,IAAAI,sCAAA,GAAAJ,OAAA;AAqDO,MAAMK,oBAAoB,CAEjC;EAwBEC,WAAWA,CAACC,MAA2C,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,oBAXrC,IAAIC,kBAAS,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA,kCAED,IAAIE,GAAG,CAGvC,CAAC;IAAA,IAAAH,gBAAA,CAAAC,OAAA,sCAEmC,IAAAG,gBAAU,EAC9C,4BACF,CAAC;IAAA,IAAAJ,gBAAA,CAAAC,OAAA,2BAqHiB,MAAM,IAAI,CAACI,IAAI,CAACC,UAAU,CAACC,eAAe,CAAC,CAAC;IAlH5D,IAAI,CAACC,WAAW,GAAGT,MAAM,CAACS,WAAW;IACrC,IAAI,CAACH,IAAI,GAAGN,MAAM,CAACM,IAAI;IACvB,IAAI,CAACI,UAAU,GAAGV,MAAM,CAACU,UAAU;IACnC,IAAI,CAACC,MAAM,GAAGX,MAAM,CAACW,MAAM;IAC3B,IAAI,CAACC,eAAe,GAAGZ,MAAM,CAACY,eAAe;IAC7C,IAAI,CAACC,EAAE,GAAG,IAAIC,8DAA8B,CAAC,IAAI,CAAC;IAElD,IAAI,CAACC,KAAK,GAAG,IAAIC,+BAAsB,CAAC;MACtCC,WAAW,EAAE,CAAC,IAAI,CAACX,IAAI,CAACC,UAAU;IACpC,CAAC,CAAC;IAEF,IAAAW,oBAAc,EAAC,IAAI,EAAE;MACnBC,UAAU,EAAEC,cAAQ;MACpBC,cAAc,EAAED,cAAQ;MACxBE,qBAAqB,EAAEF,cAAQ;MAC/BG,yBAAyB,EAAEH,cAAQ;MACnCI,IAAI,EAAEC,YAAM;MACZC,UAAU,EAAED,YAAM;MAClBE,eAAe,EAAEF,YAAM;MACvBG,aAAa,EAAEH,YAAM;MACrBI,OAAO,EAAEJ,YAAM;MACfK,UAAU,EAAEL,YAAM;MAClBM,kBAAkB,EAAEX,cAAQ;MAC5BY,YAAY,EAAEP;IAChB,CAAC,CAAC;IAEF,IAAI,CAACQ,SAAS,CAAC,CAAC;EAClB;EAEA,IAAI1B,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACD,IAAI,CAACC,UAAU;EAC7B;EAEA,IAAI2B,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAAC3B,UAAU;EACxB;EAEA,IAAI4B,iBAAiBA,CAAA,EAAG;IACtB,OAAO,IAAIC,4EAAqC,CAAC,IAAI,CAAC;EACxD;EAEA,IAAIC,kBAAkBA,CAAA,EAAsC;IAAA,IAAAC,qBAAA;IAC1D,QAAAA,qBAAA,GAAO,IAAI,CAAC7B,WAAW,CAAC8B,OAAO,CAACC,IAAI,CAACC,QAAQ,CAACC,IAAI,CAAEC,OAAO,IACzDA,OAAO,CAACC,gBAAgB,CAACC,QAAQ,CAAC,IAAI,CAACjC,eAAe,CACxD,CAAC,qBAFM0B,qBAAA,CAEJ/B,UAAU;EACf;EAEA,IAAIuC,KAAKA,CAAA,EAAG;IAAA,IAAAC,gBAAA;IACV,OAAO,EAAAA,gBAAA,OAAI,CAACrC,UAAU,qBAAfqC,gBAAA,CAAiBC,aAAa,KAAI,CAAC;EAC5C;EAEA,IAAIA,aAAaA,CAAA,EAAG;IAClB,OAAO,IAAI,CAACpC,eAAe,CAACkC,KAAK;EACnC;EAEA,IAAIf,kBAAkBA,CAAA,EAAW;IAC/B,MAAM;MAAEzB,IAAI;MAAE2C,sBAAsB;MAAEC;IAA2B,CAAC,GAAG,IAAI;IACzE,MAAM;MACJ3C,UAAU,EAAE;QACV4C,MAAM,EAAE;UAAEhC;QAAW;MACvB;IACF,CAAC,GAAGb,IAAI;IAER4C,0BAA0B,CAACE,cAAc,CAAC,CAAC;IAE3C,OACEjC,UAAU,CAACkC,MAAM,CAAC,CAACC,GAAG,EAAEC,SAAS,KAAK;MAAA,IAAAC,qBAAA;MACpC,OAAOC,IAAI,CAACC,GAAG,CACbJ,GAAG,EACH,EAAAE,qBAAA,GAAAP,sBAAsB,CAACU,GAAG,CAACJ,SAAS,CAACK,EAAE,CAAC,qBAAxCJ,qBAAA,CAA0CzB,kBAAkB,KAAI,CAClE,CAAC;IACH,CAAC,EAAE,CAAC,CAAC,IAAIZ,UAAU,CAAC0C,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;EAEvC;EAEA,IAAIC,SAASA,CAAA,EAAG;IACd,OAAO,IAAI,CAACxD,IAAI,CAACwD,SAAS;EAC5B;EAEA,IAAIC,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACnD,eAAe,CAACmD,OAAO;EACrC;EAEA,IAAIC,gBAAgBA,CAAA,EAAG;IACrB,OAAO,IAAI,CAACpD,eAAe,CAACoD,gBAAgB;EAC9C;EAEA,IAAIC,kBAAkBA,CAAA,EAAG;IACvB,OAAO,IAAI,CAAC3D,IAAI,CAAC4D,sBAAsB;EACzC;EAEAC,YAAYA,CAACC,OAAgB,EAAE;IAC7B,IAAI,CAAC9D,IAAI,CAAC6D,YAAY,CAACC,OAAO,CAAC;EACjC;EAEA,IAAIC,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAAC/D,IAAI,CAACC,UAAU,CAAC8D,cAAc;EAC5C;EAEA,IAAIC,gBAAgBA,CAAA,EAAG;IACrB,OACE,IAAI,CAAChE,IAAI,CAACC,UAAU,CAACgE,iBAAiB,IACtC,IAAI,CAACjE,IAAI,CAACC,UAAU,CAACiE,iBAAiB;EAE1C;EAEA,IAAIC,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAACnE,IAAI,CAACC,UAAU,CAACkE,cAAc;EAC5C;EAEA,IAAIC,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACpE,IAAI,CAACC,UAAU,CAAC4C,MAAM,CAACuB,WAAW;EAChD;EAIA,IAAInD,yBAAyBA,CAAA,EAAG;IAC9B,MAAM;MACJd,WAAW,EAAE;QAAEkE;MAAkB,CAAC;MAClCrE,IAAI,EAAE;QACJC,UAAU,EAAE;UAAE8D;QAAe;MAC/B;IACF,CAAC,GAAG,IAAI;IACR,OAAO,CAACM,iBAAiB,IAAIN,cAAc;EAC7C;EAEA,IAAI/C,qBAAqBA,CAAA,EAAwC;IAC/D,MAAM;MACJX,MAAM;MACNF,WAAW,EAAE;QAAEkE;MAAkB,CAAC;MAClCb,SAAS;MACTxD,IAAI,EAAE;QACJC,UAAU,EAAE;UAAEiE,iBAAiB;UAAEH,cAAc;UAAEI;QAAe;MAClE;IACF,CAAC,GAAG,IAAI;IAER,IAAI,CAACX,SAAS,EAAE;MACd,OAAO,EAAE;IACX;IAEA,OAAO,CACL,GAAG,IAAI,CAAC3C,UAAU,EAClB,IAAIR,MAAM,IACVgE,iBAAiB,KAChBH,iBAAiB,IAAIH,cAAc,IAAII,cAAc,CAAC,GACnD,IAAIG,KAAK,CAAC,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC,CAACC,GAAG,CAAC,CAACC,CAAC,EAAEC,KAAK,MAAM;MACzCpB,EAAE,EAAE,sBAAsBjD,MAAM,CAACsE,GAAG,EAAE;MACtCA,GAAG,EAAE,sBAAsBtE,MAAM,CAACsE,GAAG,EAAE;MACvCD,KAAK;MACLE,SAAS,EAAE,CAAC;MACZC,eAAe,EAAEH,KAAK;MACtBI,IAAI,EAAE;QACJC,KAAK,EAAE,IAAI;QACXC,iBAAiB,EAAEC;MACrB;IACF,CAAC,CAAC,CAAC,GACH,EAAE,CAAC,CACR;EACH;EAEA,IAAIlE,cAAcA,CAAA,EAAmD;IACnE,OAAO,IAAIjB,GAAG,CACZ,IAAI,CAACe,UAAU,CAAC2D,GAAG,CAAEvB,SAAS,IAAK,CAACA,SAAS,CAAC0B,GAAG,EAAE1B,SAAS,CAAC,CAC/D,CAAC;EACH;EAEA,IAAIpC,UAAUA,CAAA,EAAwC;IACpD,MAAM;MAAEb,IAAI;MAAE2C,sBAAsB;MAAEC;IAA2B,CAAC,GAAG,IAAI;IACzE,MAAM;MACJ3C,UAAU,EAAE;QACV4C,MAAM,EAAE;UAAEhC;QAAW;MACvB;IACF,CAAC,GAAGb,IAAI;IAER4C,0BAA0B,CAACE,cAAc,CAAC,CAAC;IAE3C,OAAOjC,UAAU,CACdqE,OAAO,CAAEjC,SAAS;MAAA,IAAAkC,sBAAA;MAAA,OAAK,CACtB;QACE,GAAGlC,SAAS;QACZ6B,IAAI,EAAE;UACJC,KAAK,EAAE,IAAI;UACXC,iBAAiB,EAAE/B;QACrB;MACF,CAAC,EACD,IAAI,EAAAkC,sBAAA,GAAAxC,sBAAsB,CAACU,GAAG,CAACJ,SAAS,CAAC0B,GAAG,CAAC,qBAAzCQ,sBAAA,CAA2CnE,qBAAqB,KAClE,EAAE,CAAC,CACN;IAAA,EAAC,CACDwD,GAAG,CAAC,CAACvB,SAAS,EAAEyB,KAAK,MAAM;MAAE,GAAGzB,SAAS;MAAEyB;IAAM,CAAC,CAAC,CAAC;EACzD;EAEAhD,YAAYA,CAACiD,GAAW,EAAE;IACxB,OAAO,IAAI,CAAC5D,cAAc,CAACsC,GAAG,CAACsB,GAAG,CAAC;EACrC;EAEAS,cAAcA,CAAA,EAIV;IACF,MAAM;MAAEnF;IAAW,CAAC,GAAG,IAAI;IAE3B,OAAOA,UAAU,CAAC4C,MAAM,CAAChC,UAAU,CAACqE,OAAO,CAAEjC,SAAS,IAAK;MACzD,MAAMjD,IAAI,GAAG,IAAAqF,4BAAa,EAAC,IAAI,EAAEpC,SAAS,CAAC;MAC3C,OAAO,CAACjD,IAAI,EAAE,GAAGA,IAAI,CAACoF,cAAc,CAAS,CAAC,CAAC;IACjD,CAAC,CAAC;EACJ;EAEAE,QAAQA,CAA4BX,GAAW,EAAE;IAC/C,MAAM3E,IAAI,GAAG,IAAI,CAACe,cAAc,CAACsC,GAAG,CAACsB,GAAG,CAAC;IACzC,OAAO3E,IAAI,oBAAJA,IAAI,CAAE8E,IAAI,CAACC,KAAK,CAACpC,sBAAsB,CAACU,GAAG,CAACsB,GAAG,CAAC;EAGzD;EAEAY,SAASA,CAAA,EAIA;IACP,OAAO,IAAI,CAACnF,UAAU;EACxB;EAEAoF,OAAOA,CAAA,EAAkB;IACvB,MAAM;MAAEnF,MAAM;MAAED;IAAW,CAAC,GAAG,IAAI;IACnC,IAAIC,MAAM,IAAI,IAAI,IAAID,UAAU,IAAI,IAAI,EAAE;MACxC,OAAO,IAAI;IACb;IACA,OAAOA,UAAU,CAACH,UAAU,CAACwF,OAAO,CAACpF,MAAM,CAACsE,GAAG,CAAC;EAClD;EAEAe,YAAYA,CAAA,EAAG;IACb,IAAI,CAACpE,aAAa,CAAC,CAAC;EACtB;EAEA,IAAIqE,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACnC,SAAS;EACvB;EAEAoC,mBAAmBA,CAACC,GAAW,EAAE;IAC/B,OAAO,IAAI,CAAChF,UAAU,CAACgF,GAAG,CAAC;EAC7B;EAEAlE,SAASA,CAAA,EAAG;IACV,MAAM;MAAEtB,MAAM;MAAED;IAAW,CAAC,GAAG,IAAI;IAEnC,IAAIC,MAAM,IAAI,IAAI,IAAID,UAAU,IAAI,IAAI,EAAE;MACxC;IACF;IAEAA,UAAU,CAACuC,sBAAsB,CAACmD,GAAG,CAACzF,MAAM,CAACsE,GAAG,EAAE,IAAI,CAAC;IAEvD,OAAO,MAAM;MACXvE,UAAU,CAACuC,sBAAsB,CAACoD,MAAM,CAAC1F,MAAM,CAACsE,GAAG,CAAC;IACtD,CAAC;EACH;EAEA,MAAMrD,aAAaA,CAAA,EAAG;IAAA,IAAA0E,iBAAA;IACpB,MAAMC,OAAO,GAAG,IAAI,CAACjG,IAAI,CAACsB,aAAa,CAAC,CAAC;IAEzC,CAAA0E,iBAAA,OAAI,CAAC5F,UAAU,aAAf4F,iBAAA,CAAiBpD,0BAA0B,CAACsD,aAAa,CAAC,CAAC;IAC3D,MAAMD,OAAO;IACb,IAAAE,iBAAW,EAAC,MAAM;MAAA,IAAAC,iBAAA;MAChB,CAAAA,iBAAA,OAAI,CAAChG,UAAU,aAAfgG,iBAAA,CAAiBxD,0BAA0B,CAACsD,aAAa,CAAC,CAAC;IAC7D,CAAC,CAAC;EACJ;EAEA,MAAM7E,eAAeA,CAAA,EAAG;IACtB,MAAM;MAAErB;IAAK,CAAC,GAAG,IAAI;IACrB,MAAM;MACJC,UAAU,EAAE;QACV4C,MAAM,EAAE;UAAEhC;QAAW;MACvB;IACF,CAAC,GAAGb,IAAI;IAER,MAAMqG,OAAO,CAACC,GAAG,CACfzF,UAAU,CAAC2D,GAAG,CAAC,MAAOvB,SAAS,IAAK;MAClC,MAAM8B,KAAK,GAAG,IAAI,CAAC3D,UAAU,CAAC;QAAEf,MAAM,EAAE4C,SAAS;QAAEsD,WAAW,EAAE;MAAK,CAAC,CAAC;MACvE,IAAIxB,KAAK,IAAI,IAAI,EAAE;QACjB;MACF;MACA,MAAMyB,OAAO,GAAGzB,KAAK,CAAC7D,IAAI,CAAC,CAAC;MAC5B,MAAM6D,KAAK,CAAC0B,QAAQ,CAACC,MAAM,CAACT,OAAO;MACnCO,OAAO,CAAC,CAAC;IACX,CAAC,CACH,CAAC;EACH;EAEAjF,OAAOA,CAAA,EAAG;IACR,MAAM;MAAEqB;IAA2B,CAAC,GAAG,IAAI;IAC3CA,0BAA0B,CAACsD,aAAa,CAAC,CAAC;EAC5C;EAEA1E,UAAUA,CAAA,EAAG;IACX,MAAM;MAAEmB;IAAuB,CAAC,GAAG,IAAI;IACvC,IAAI,CAACpB,OAAO,CAAC,CAAC;IACdoB,sBAAsB,CAACgE,OAAO,CAAE5B,KAAK,IAAK;MACxCA,KAAK,CAACvD,UAAU,CAAC,CAAC;IACpB,CAAC,CAAC;EACJ;EAEAN,IAAIA,CAAC;IAAE0F;EAAqD,CAAC,GAAG,CAAC,CAAC,EAAE;IAClE,MAAM;MAAE5G,IAAI;MAAEyG,QAAQ;MAAEtG,WAAW;MAAEF;IAAW,CAAC,GAAG,IAAI;IAExD,MAAM;MAAE4G;IAAuB,CAAC,GAAG1G,WAAW;IAE9C,MAAM2G,SAAS,GAAG,CAChB9G,IAAI,CAACkB,IAAI,CAAC;MAAE0F;IAAmB,CAAC,CAAC,EACjCC,sBAAsB,oBAAtBA,sBAAsB,CAAEE,cAAc,CAAC9G,UAAU,CAAC,CACnD;IAEDwG,QAAQ,CAACO,OAAO,CAAC,YAAY;MAC3BhH,IAAI,CAACyG,QAAQ,CAACO,OAAO,CAAC,CAAC;MACvB,MAAMhH,IAAI,CAACyG,QAAQ,CAACC,MAAM,CAACT,OAAO;MAElC,MAAM,IAAAE,iBAAW,EAAC,YAAY;QAC5B,IAAI,CAAChG,WAAW,CAACkE,iBAAiB,EAAE;UAClC,MAAM,IAAI,CAAChD,eAAe,CAAC,CAAC;UAC5B,IAAI,IAAI,CAACqB,aAAa,KAAK,CAAC,EAAE;YAC5B,IAAI,CAAClB,UAAU,CAAC,CAAC;UACnB;QACF;QACA;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,MAAM;MACXsF,SAAS,CAACH,OAAO,CAAEM,CAAC,IAAKA,CAAC,oBAADA,CAAC,CAAG,CAAC,CAAC;IACjC,CAAC;EACH;EAEA7F,UAAUA,CAAC;IACTf,MAAM;IACNkG;EAIF,CAAC,EAA4C;IAC3C,MAAM;MAAEpG,WAAW;MAAEH,IAAI;MAAE0C,aAAa;MAAEC;IAAuB,CAAC,GAAG,IAAI;IAEzE,MAAMuE,QAAQ,GAAGvE,sBAAsB,CAACU,GAAG,CAAChD,MAAM,CAACsE,GAAG,CAAC;IAEvD,IAAIuC,QAAQ,IAAI,IAAI,EAAE;MACpB,OAAOA,QAAQ;IACjB;IAEA,MAAMC,mBAAmB,GAAGhH,WAAW,CAACiH,MAAM,CAAC1E,aAAa,GAAG,CAAC,CAAC;IAEjE,IAAIyE,mBAAmB,IAAI,IAAI,EAAE;MAC/B,OAAO,IAAI;IACb;IAEA,MAAME,aAAa,GAAGrH,IAAI,CAACsH,WAAW,CAACjH,MAAM,EAAE;MAC7CC,eAAe,EAAE6G,mBAAmB;MACpCZ;IACF,CAAC,CAAC;IAEF,IAAIc,aAAa,IAAI,IAAI,EAAE;MACzB,OAAO,IAAI;IACb;IAEA,OAAO,IAAI7H,oBAAoB,CAAC;MAC9Ba,MAAM;MACND,UAAU,EAAE,IAAI;MAChBD,WAAW;MACXH,IAAI,EAAEqH,aAAa;MACnB/G,eAAe,EAAE6G,mBAAmB;MACpCZ;IACF,CAAC,CAAC;EACJ;AACF;AAACgB,OAAA,CAAA/H,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_mobx","_NestedTableNodeStateBIReporter","_getNodeOrLeaf","_NestedTableNodeStateOptimisticActions","NestedTableNodeState","constructor","params","_defineProperty2","default","TaskState","Map","createAtom","node","collection","retryErrorState","nestedTable","parentNode","parent","levelDescriptor","bi","NestedTableNodeStateBIReporter","multi","MultiCollectionSupport","collections","makeObservable","keyedItems","computed","_keyedItemsMap","_keyedItemsIfExpanded","_isNotExpandableWhenEmpty","init","action","createNode","_preRegisterAll","_toggleExpand","_notify","_notifyAll","deepestBranchDepth","getKeyedItem","_register","children","optimisticActions","NestedTableNodeStateOptimisticActions","flatModeCollection","_this$nestedTable$wra","wrapper","flat","sections","find","section","levelDescriptors","includes","depth","_this$parentNode","childrenDepth","parentKeyToChildrenMap","parentKeyToChildrenMapAtom","result","reportObserved","reduce","acc","keyedItem","_parentKeyToChildrenM","Math","max","get","id","length","_expanded","columns","renderMainColumn","showHoverHighlight","hoveredOrParentHovered","_changeHover","hovered","showEmptyState","showLoadingState","showInitialLoader","showRefreshLoader","showErrorState","errorStatus","isFetchAllAborted","Array","fill","map","_","index","key","pageIndex","indexWithinPage","item","state","originalKeyedItem","undefined","flatMap","_parentKeyToChildrenM2","getDescendants","getNodeOrLeaf","_getNode","getParent","getData","getItem","toggleExpand","expanded","getKeyedItemByIndex","ind","set","delete","_refreshAll","clearResultAndMoveToStart","_this$parentNode2","promise","reportChanged","runInAction","_this$parentNode3","Promise","all","preRegister","dispose","initTask","status","forEach","skipCollectionInit","nestedTableDragAndDrop","disposers","initCollection","runOnce","d","existing","nextLevelDescriptor","levels","nextLevelNode","_createNode","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableNodeState.ts"],"sourcesContent":["import {\n CollectionState,\n FiltersMap,\n KeyedItem,\n MultiCollectionSupport,\n TaskState,\n} from '@wix/bex-core';\nimport { NestedCollectionNodeState } from './NestedCollectionNodeState';\nimport {\n action,\n computed,\n createAtom,\n makeObservable,\n runInAction,\n} from 'mobx';\nimport { TableColumn } from '../../model';\nimport { NestedTableNestedModeState } from './NestedTableNestedModeState';\nimport { ReactNode } from 'react';\nimport { NestedTableNodeStateBIReporter } from './NestedTableNodeStateBIReporter';\nimport { NestedTableLevelDescriptor } from './NestedTableLevelDescriptor';\nimport { NestedTableNodeStatePublicAPI } from './NestedTableNodeStatePublicAPI';\nimport { getNodeOrLeaf } from './getNodeOrLeaf';\nimport { NestedTableNodeStateOptimisticActions } from './NestedTableNodeStateOptimisticActions';\n\nexport interface NestedTableDataItem<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n state: NestedTableNodeState<C, T, F>;\n originalKeyedItem: KeyedItem<T>;\n}\n\nexport interface NestedTableSkeletonItem<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n state: NestedTableNodeState<C, T, F>;\n originalKeyedItem: undefined;\n}\n\nexport type NestedTableItem<C extends string, T, F extends FiltersMap> =\n | NestedTableDataItem<C, T, F>\n | NestedTableSkeletonItem<C, T, F>;\n\nexport type NestedTableKeyedItem<\n C extends string,\n T,\n F extends FiltersMap,\n> = KeyedItem<NestedTableItem<C, T, F>>;\n\nexport type RenderMainColumn<T> = (item: T) => {\n title?: string;\n subtitle?: string;\n image?: ReactNode;\n};\n\nexport type NestedTableNestColumns<C extends string, T> = Partial<\n Record<C, TableColumn<T>['render']>\n>;\n\nexport interface NestedTableNodeStateParams<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n readonly nestedTable: NestedTableNestedModeState<C>;\n readonly node: NestedCollectionNodeState<T, F>;\n readonly levelDescriptor: NestedTableLevelDescriptor<C, T, F>;\n readonly parentNode: NestedTableNodeState<C, any, any> | null;\n readonly parent: KeyedItem<unknown> | null;\n readonly preRegister?: boolean;\n}\n\nexport class NestedTableNodeState<C extends string, T, F extends FiltersMap>\n implements NestedTableNodeStatePublicAPI<C, T, F>\n{\n readonly nestedTable;\n readonly node;\n\n readonly levelDescriptor;\n readonly parentNode;\n readonly parent;\n readonly bi: NestedTableNodeStateBIReporter<C, T, F>;\n\n readonly multi;\n\n _rowNum?: number;\n\n readonly initTask = new TaskState();\n\n readonly parentKeyToChildrenMap = new Map<\n string,\n NestedTableNodeState<C, any, any>\n >();\n\n readonly parentKeyToChildrenMapAtom = createAtom(\n 'parentKeyToChildrenMapAtom',\n );\n\n constructor(params: NestedTableNodeStateParams<C, T, F>) {\n this.nestedTable = params.nestedTable;\n this.node = params.node;\n this.parentNode = params.parentNode;\n this.parent = params.parent;\n this.levelDescriptor = params.levelDescriptor;\n this.bi = new NestedTableNodeStateBIReporter(this);\n\n this.multi = new MultiCollectionSupport({\n collections: [this.node.collection],\n });\n\n makeObservable(this, {\n keyedItems: computed,\n _keyedItemsMap: computed,\n _keyedItemsIfExpanded: computed,\n _isNotExpandableWhenEmpty: computed,\n init: action,\n createNode: action,\n _preRegisterAll: action,\n _toggleExpand: action,\n _notify: action,\n _notifyAll: action,\n deepestBranchDepth: computed,\n getKeyedItem: action,\n });\n\n this._register();\n }\n\n get collection() {\n return this.node.collection;\n }\n\n get children() {\n return this.collection;\n }\n\n get optimisticActions() {\n return new NestedTableNodeStateOptimisticActions(this);\n }\n\n get flatModeCollection(): CollectionState<T, F> | undefined {\n return this.nestedTable.wrapper.flat.sections.find((section) =>\n section.levelDescriptors.includes(this.levelDescriptor),\n )?.collection;\n }\n\n get depth() {\n return this.parentNode?.childrenDepth ?? 0;\n }\n\n get childrenDepth() {\n return this.levelDescriptor.depth;\n }\n\n get deepestBranchDepth(): number {\n const { node, parentKeyToChildrenMap, parentKeyToChildrenMapAtom } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n parentKeyToChildrenMapAtom.reportObserved();\n\n return (\n keyedItems.reduce((acc, keyedItem) => {\n return Math.max(\n acc,\n parentKeyToChildrenMap.get(keyedItem.id)?.deepestBranchDepth ?? 0,\n );\n }, 0) + (keyedItems.length ? 1 : 0)\n );\n }\n\n get _expanded() {\n return this.node._expanded;\n }\n\n get columns() {\n return this.levelDescriptor.columns;\n }\n\n get renderMainColumn() {\n return this.levelDescriptor.renderMainColumn;\n }\n\n get showHoverHighlight() {\n return this.node.hoveredOrParentHovered;\n }\n\n _changeHover(hovered: boolean) {\n this.node._changeHover(hovered);\n }\n\n get showEmptyState() {\n return this.node.collection.showEmptyState;\n }\n\n get showLoadingState() {\n return (\n this.node.collection.showInitialLoader ||\n this.node.collection.showRefreshLoader\n );\n }\n\n get showErrorState() {\n return this.node.collection.showErrorState;\n }\n\n get errorStatus() {\n return this.node.collection.result.errorStatus;\n }\n\n retryErrorState = () => this.node.collection.retryErrorState();\n\n get _isNotExpandableWhenEmpty() {\n const {\n nestedTable: { isFetchAllAborted },\n node: {\n collection: { showEmptyState },\n },\n } = this;\n return !isFetchAllAborted && showEmptyState;\n }\n\n get _keyedItemsIfExpanded(): NestedTableKeyedItem<C, any, any>[] {\n const {\n parent,\n nestedTable: { isFetchAllAborted },\n _expanded,\n node: {\n collection: { showRefreshLoader, showEmptyState, showErrorState },\n },\n } = this;\n\n if (!_expanded) {\n return [];\n }\n\n return [\n ...this.keyedItems,\n ...(parent &&\n isFetchAllAborted &&\n (showRefreshLoader || showEmptyState || showErrorState)\n ? new Array(1).fill(null).map((_, index) => ({\n id: `placeholder-states-${parent.key}`,\n key: `placeholder-states-${parent.key}`,\n index,\n pageIndex: 0,\n indexWithinPage: index,\n item: {\n state: this,\n originalKeyedItem: undefined,\n },\n }))\n : []),\n ];\n }\n\n get _keyedItemsMap(): Map<string, NestedTableKeyedItem<C, any, any>> {\n return new Map(\n this.keyedItems.map((keyedItem) => [keyedItem.key, keyedItem]),\n );\n }\n\n get keyedItems(): NestedTableKeyedItem<C, any, any>[] {\n const { node, parentKeyToChildrenMap, parentKeyToChildrenMapAtom } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n parentKeyToChildrenMapAtom.reportObserved();\n\n return keyedItems\n .flatMap((keyedItem) => [\n {\n ...keyedItem,\n item: {\n state: this,\n originalKeyedItem: keyedItem,\n },\n },\n ...(parentKeyToChildrenMap.get(keyedItem.key)?._keyedItemsIfExpanded ??\n []),\n ])\n .map((keyedItem, index) => ({ ...keyedItem, index }));\n }\n\n getKeyedItem(key: string) {\n return this._keyedItemsMap.get(key);\n }\n\n getDescendants<TD, FD extends FiltersMap>(): NestedTableNodeStatePublicAPI<\n C,\n TD,\n FD\n >[] {\n const { collection } = this;\n\n return collection.result.keyedItems.flatMap((keyedItem) => {\n const node = getNodeOrLeaf(this, keyedItem);\n return [node, ...node.getDescendants<TD, FD>()];\n });\n }\n\n _getNode<TD, FD extends FiltersMap>(key: string) {\n const node = this._keyedItemsMap.get(key);\n return node?.item.state.parentKeyToChildrenMap.get(key) as\n | NestedTableNodeState<C, TD, FD>\n | undefined;\n }\n\n getParent<TD, FD extends FiltersMap>(): NestedTableNodeStatePublicAPI<\n C,\n TD,\n FD\n > | null {\n return this.parentNode;\n }\n\n getData<TD>(): TD | null {\n const { parent, parentNode } = this;\n if (parent == null || parentNode == null) {\n return null;\n }\n return parentNode.collection.getItem(parent.key);\n }\n\n toggleExpand() {\n this._toggleExpand();\n }\n\n get expanded() {\n return this._expanded;\n }\n\n getKeyedItemByIndex(ind: number) {\n return this.keyedItems[ind];\n }\n\n _register() {\n const { parent, parentNode } = this;\n\n if (parent == null || parentNode == null) {\n return;\n }\n\n parentNode.parentKeyToChildrenMap.set(parent.key, this);\n\n return () => {\n parentNode.parentKeyToChildrenMap.delete(parent.key);\n };\n }\n\n async _refreshAll() {\n const { collection } = this;\n\n await this.collection.clearResultAndMoveToStart();\n const keyedItems = collection.result.keyedItems;\n for (const keyedItem of keyedItems) {\n const node = this.parentKeyToChildrenMap.get(keyedItem.key);\n await node?._refreshAll();\n }\n }\n\n async _toggleExpand() {\n const promise = this.node._toggleExpand();\n\n this.parentNode?.parentKeyToChildrenMapAtom.reportChanged();\n await promise;\n runInAction(() => {\n this.parentNode?.parentKeyToChildrenMapAtom.reportChanged();\n });\n }\n\n async _preRegisterAll() {\n const { node } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n await Promise.all(\n keyedItems.map(async (keyedItem) => {\n const state = this.createNode({ parent: keyedItem, preRegister: true });\n if (state == null) {\n return;\n }\n const dispose = state.init();\n await state.initTask.status.promise;\n dispose();\n }),\n );\n }\n\n _notify() {\n const { parentKeyToChildrenMapAtom } = this;\n parentKeyToChildrenMapAtom.reportChanged();\n }\n\n _notifyAll() {\n const { parentKeyToChildrenMap } = this;\n this._notify();\n parentKeyToChildrenMap.forEach((state) => {\n state._notifyAll();\n });\n }\n\n init({ skipCollectionInit }: { skipCollectionInit?: boolean } = {}) {\n const { node, initTask, nestedTable, collection } = this;\n\n const { nestedTableDragAndDrop } = nestedTable;\n\n const disposers = [\n node.init({ skipCollectionInit }),\n nestedTableDragAndDrop?.initCollection(collection),\n ];\n\n initTask.runOnce(async () => {\n node.initTask.runOnce();\n await node.initTask.status.promise;\n\n await runInAction(async () => {\n if (!nestedTable.isFetchAllAborted) {\n await this._preRegisterAll();\n if (this.childrenDepth === 0) {\n this._notifyAll();\n }\n }\n return;\n });\n });\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n createNode({\n parent,\n preRegister,\n }: {\n parent: KeyedItem<any>;\n preRegister?: boolean;\n }): NestedTableNodeState<C, any, any> | null {\n const { nestedTable, node, childrenDepth, parentKeyToChildrenMap } = this;\n\n const existing = parentKeyToChildrenMap.get(parent.key);\n\n if (existing != null) {\n return existing;\n }\n\n const nextLevelDescriptor = nestedTable.levels[childrenDepth + 1];\n\n if (nextLevelDescriptor == null) {\n return null;\n }\n\n const nextLevelNode = node._createNode(parent, {\n levelDescriptor: nextLevelDescriptor,\n preRegister,\n });\n\n if (nextLevelNode == null) {\n return null;\n }\n\n return new NestedTableNodeState({\n parent,\n parentNode: this,\n nestedTable,\n node: nextLevelNode,\n levelDescriptor: nextLevelDescriptor,\n preRegister,\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../../src/state/NestedTableState/NestedTableNodeStatePublicAPI.ts"],"sourcesContent":["import { OptimisticActions, CollectionState, FiltersMap } from '@wix/bex-core';\n\nexport interface NestedTableNodeStatePublicAPI<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n /**\n * Get the node this node is a child of\n * @overrideType ()
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../../src/state/NestedTableState/NestedTableNodeStatePublicAPI.ts"],"sourcesContent":["import { OptimisticActions, CollectionState, FiltersMap } from '@wix/bex-core';\n\nexport interface NestedTableNodeStatePublicAPI<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n /**\n * Get the node this node is a child of\n * @overrideType () => [NestedTableNodeState](./?path=/story/base-components-collections-nestedtable--nestedtablenodestate) | `undefined`\n */\n getParent<TD, FD extends FiltersMap>(): NestedTableNodeStatePublicAPI<\n C,\n TD,\n FD\n > | null;\n /**\n * The collection of the node\n * @overrideType [CollectionState](./?path=/story/common-state--collectionstate)\n */\n readonly children?: CollectionState<T, F>;\n\n readonly optimisticActions?: OptimisticActions<T>;\n\n /**\n * The \"parent\" item of this node\n * @overrideType <T>() => T | null\n */\n getData: <TD>() => TD | null;\n\n /**\n * Toggle the expand/collapse state of the node\n */\n toggleExpand: () => void;\n\n /**\n * Whether the node is expanded\n */\n readonly expanded: boolean;\n\n /**\n * The depth of the node in the tree\n */\n readonly depth: number;\n\n /**\n * Get all the nodes that are descendants of this node from all levels\n * @overrideType () => [NestedTableNodeState](./?path=/story/base-components-collections-nestedtable--nestedtablenodestate)[]\n */\n getDescendants<TD, FD extends FiltersMap>(): NestedTableNodeStatePublicAPI<\n C,\n TD,\n FD\n >[];\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -96,6 +96,16 @@ class NestedTableState {
|
|
|
96
96
|
get flatMode() {
|
|
97
97
|
return this.flat;
|
|
98
98
|
}
|
|
99
|
+
getNode(key) {
|
|
100
|
+
return this.nested.getNode(key);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Get all the nodes in the table
|
|
105
|
+
*/
|
|
106
|
+
getAllNodes() {
|
|
107
|
+
return this.nested.getAllNodes();
|
|
108
|
+
}
|
|
99
109
|
get isFetchAllAborted() {
|
|
100
110
|
return this.nested.isFetchAllAborted;
|
|
101
111
|
}
|
|
@@ -142,6 +152,7 @@ class NestedTableState {
|
|
|
142
152
|
invalidate: true
|
|
143
153
|
});
|
|
144
154
|
await fetchAll.initTask.status.promise;
|
|
155
|
+
this.isFlatMode ? this.flatMode._refreshAll() : this.nestedMode.root._refreshAll();
|
|
145
156
|
});
|
|
146
157
|
}
|
|
147
158
|
get isFlatMode() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_ToolbarCollectionState","_TableState","_NestedTableNestedModeState","_NestedTableFlatModeState","_NestedCollectionFetchAllState","_util","_mobx","NestedTableState","constructor","params","_defineProperty2","default","TaskState","Map","container","query","QueryState","filters","levels","map","level","i","depth","options","fetchAllThreshold","expandAllThreshold","mainColumn","rootLevelDescriptor","Error","rootNodeCollection","createCollection","parent","sequences","collection","syncWithSharedQuery","reportBi","reportProps","isFetchAllAborted","componentStatus","toolbar","ToolbarCollectionState","componentType","setNewColumns","columns","column","render","tableState","TableState","nested","NestedTableNestedModeState","wrapper","flat","NestedTableFlatModeState","nestedMode","flatMode","expandAll","nestedCollection","_attemptFetchAllAndPopulateCache","initTask","init","invalidate","runOnce","fetchAllState","NestedCollectionFetchAllState","nestedCollectionState","disposers","status","promise","forEach","d","refreshAll","isFlatMode","reset","fetchAll","hasActiveFilters","attemptFetchAllState","reaction","_fields","add","delete","fireImmediately","addEventListener","emitter","sections","featuresInitializers","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n QueryState,\n ReportBI,\n syncWithSharedQuery,\n TaskState,\n CollectionOptimisticSequenceExecutor,\n} from '@wix/bex-core';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { TableState } from '../TableState';\nimport { TableColumn } from '../../model';\nimport { NestedTableColumn } from './NestedTableColumn';\nimport { NestedTableNestedModeState } from './NestedTableNestedModeState';\nimport { NestedTableFlatModeState } from './NestedTableFlatModeState';\nimport { NestedCollectionFetchAllState } from './NestedCollectionFetchAllState';\nimport { NestedTableLevelDescriptor } from './NestedTableLevelDescriptor';\nimport { EagerLazyModeOptions } from './types';\nimport { addEventListener } from '@wix/bex-core/util';\nimport { reaction } from 'mobx';\nimport { ICollectionComponentState } from '../ICollectionComponentState';\n\nexport interface NestedTableStateBaseParams<C extends string> {\n /**\n * If the total items in the server are less or equal to this threshold, all items will be fetched and rendered at once, in expanded state (referred to as \"Eager\" mode).\n * @default 1000\n */\n fetchAllThreshold?: number;\n /**\n * In \"Eager\" mode, items will be in expanded state. This threshold allows to use collapsed state if the total items in the server are greater than this threshold.\n * @default `fetchAllThreshold`\n */\n expandAllThreshold?: number;\n /**\n * Columns to be rendered in the nested table. Same as [regular table columns](./?path=/story/base-components-collections-table-table--table) - without rendering logic of cells (defined for each level individually in the `levels` prop).\n */\n columns: NestedTableColumn<C>[];\n /**\n * Main column of the nested table.\n * An object with the following properties:\n * - `title`: The title of the column. @default ''\n * - `width`: The width of the column. Can be a number (in pixels) or a string (percentage). @default '326px'\n */\n mainColumn?: {\n title?: string;\n width?: number | string;\n };\n /**\n * Defines the collection for each level in the nested table.\n * Each level needs to specify:\n * - `createCollection`: A function that creates a collection for the current level (using `useCreateCollection` hook), and returns the collection state and a reference to a filter object within this collection that filters the collection by the parent key.\n * - `parentKey`: A function that accepts the item of the current level and returns the key of the parent item, for example: `(item) => item.parentId`.\n * - `breadcrumbs`: A function that accepts the item of the current level and returns an array of breadcrumbs to be displayed in the toolbar. Each breadcrumb is an object with `id` and `name` properties. `fetchData` will be called with `query.fields` that contains the value `breadcrumbs` to signal that the breadcrumbs should be fetched.\n * - `columns` (optional): Render logic of the cells for this level. By default all cells will be empty.\n * - `renderMainColumn` (optional): Render logic of the main column for this level.\n * - `actionCell` (optional): A table's last column. Use this column to add an action at the end of each row. For example, a delete button to delete an item. Pass an [`ActionCellProps`](https://www.docs.wixdesignsystem.com/?path=/story/components-lists-table--tableactioncell) object, or a function that returns an `ActionCellProps` object.\n<\n */\n levels: Omit<NestedTableLevelDescriptor<C, any, any>, 'depth'>[];\n}\n\nexport interface NestedTableStateParams<C extends string>\n extends NestedTableStateBaseParams<C> {\n container: WixPatternsContainer;\n}\n\nexport interface NestedTableStatePublicAPI {\n /**\n * Underlying [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate) instance\n * @overrideType [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate)\n */\n readonly toolbar: ToolbarCollectionState<unknown, {}>;\n /**\n * Underlying [TableState](./?path=/story/base-components-collections-table-tablestate--tablestate) instance\n * @overrideType [TableState](./?path=/story/base-components-collections-table-tablestate--tablestate)\n */\n readonly tableState: TableState<unknown, {}>;\n\n /**\n * Underlying [NestedTableNestedModeState](./?path=/story/base-components-collections-nestedtable--nestedtablenestedmodestate) instance\n * @overrideType [NestedTableNestedModeState](./?path=/story/base-components-collections-nestedtable--nestedtablenestedmodestate)\n */\n readonly nestedMode: NestedTableNestedModeState;\n\n /**\n * An API to refresh all items in the nested table.\n */\n readonly refreshAll: () => void;\n}\n\nexport class NestedTableState<C extends string = string>\n implements ICollectionComponentState, NestedTableStatePublicAPI\n{\n readonly container;\n readonly reportBi: ReportBI;\n readonly toolbar;\n readonly tableState;\n readonly mainColumn;\n readonly options: EagerLazyModeOptions;\n\n readonly initTask = new TaskState();\n\n readonly levels: NestedTableLevelDescriptor<C, any, any>[];\n\n readonly rootNodeCollection;\n readonly query;\n\n readonly nested: NestedTableNestedModeState<C>;\n readonly flat: NestedTableFlatModeState<C>;\n\n readonly sequences = new Map<string, CollectionOptimisticSequenceExecutor>();\n\n constructor(params: NestedTableStateParams<C>) {\n this.container = params.container;\n\n this.query = new QueryState({\n filters: {},\n });\n\n this.levels = params.levels.map((level, i) => ({\n ...level,\n depth: i,\n }));\n\n this.options = {\n fetchAllThreshold: params.fetchAllThreshold ?? 1000,\n expandAllThreshold:\n params.expandAllThreshold ?? params.fetchAllThreshold ?? 1000,\n };\n\n this.mainColumn = params.mainColumn;\n const rootLevelDescriptor = this.levels[0];\n\n if (rootLevelDescriptor == null) {\n throw new Error('NestedTableState must have at least one level');\n }\n\n this.rootNodeCollection = rootLevelDescriptor.createCollection({\n parent: null,\n sequences: this.sequences,\n query: this.query,\n });\n\n const { collection } = this.rootNodeCollection;\n\n syncWithSharedQuery(collection.query, this.query);\n\n this.reportBi = (reportProps) => {\n const { isFetchAllAborted } = this;\n this.container.reportBi({\n ...reportProps,\n params: {\n ...reportProps.params,\n ...(isFetchAllAborted != null && {\n componentStatus: isFetchAllAborted\n ? 'All items collapsed'\n : 'All items expanded',\n }),\n },\n });\n };\n\n this.toolbar = new ToolbarCollectionState({\n collection: this.rootNodeCollection.collection,\n container: params.container,\n componentType: 'NestedTable',\n reportBi: this.reportBi,\n });\n\n this.toolbar.setNewColumns(\n params.columns.map((column) => ({\n ...column,\n render: () => null,\n })) as TableColumn<unknown>[],\n );\n\n this.tableState = new TableState({\n collection: this.rootNodeCollection.collection,\n container: params.container,\n toolbar: this.toolbar,\n });\n\n this.nested = new NestedTableNestedModeState({\n wrapper: this,\n reportBi: this.reportBi,\n });\n\n this.flat = new NestedTableFlatModeState({\n wrapper: this,\n });\n }\n\n get nestedMode() {\n return this.nested;\n }\n\n get flatMode() {\n return this.flat;\n }\n\n get isFetchAllAborted() {\n return this.nested.isFetchAllAborted;\n }\n\n get expandAll() {\n return this.nested.expandAll;\n }\n\n get nestedCollection() {\n return this.nested.nestedCollection;\n }\n\n _attemptFetchAllAndPopulateCache() {\n const initTask = new TaskState();\n return {\n initTask,\n init: (\n { invalidate }: { invalidate: boolean } = { invalidate: false },\n ) => {\n initTask.runOnce(async () => {\n const fetchAllState = new NestedCollectionFetchAllState({\n options: this.options,\n query: this.nested.query,\n nestedCollectionState: this.nested.nestedCollection,\n });\n\n const disposers = [fetchAllState.init({ invalidate })];\n\n try {\n await fetchAllState.initTask.status.promise;\n } finally {\n disposers.forEach((d) => d());\n }\n });\n\n return () => {};\n },\n };\n }\n\n refreshAll() {\n const initTask = this.isFlatMode\n ? this.flat.initTask\n : this.nested.initTask;\n initTask.reset();\n initTask.runOnce(async () => {\n const fetchAll = this._attemptFetchAllAndPopulateCache();\n fetchAll.init({ invalidate: true });\n await fetchAll.initTask.status.promise;\n });\n }\n\n get isFlatMode() {\n return this.query.hasActiveFilters;\n }\n\n init() {\n const { initTask, tableState, query, rootNodeCollection, flat } = this;\n\n const attemptFetchAllState = this._attemptFetchAllAndPopulateCache();\n\n const disposers = [\n query.init(),\n reaction(\n () => this.isFlatMode,\n (isFlatMode) => {\n const {\n query: { _fields },\n } = this;\n if (isFlatMode) {\n _fields.add('breadcrumbs');\n } else {\n _fields.delete('breadcrumbs');\n }\n },\n { fireImmediately: true },\n ),\n addEventListener(\n rootNodeCollection.collection.emitter,\n 'beforeInitialFetch',\n () => attemptFetchAllState.initTask.status.promise,\n ),\n ...flat.sections.map(({ collection }) =>\n addEventListener(\n collection.emitter,\n 'beforeInitialFetch',\n () => attemptFetchAllState.initTask.status.promise,\n ),\n ),\n attemptFetchAllState.init(),\n tableState.init({\n featuresInitializers: [],\n }),\n ];\n\n initTask.runOnce(async () => {\n tableState.initTask.runOnce();\n attemptFetchAllState.initTask.runOnce();\n await attemptFetchAllState.initTask.status.promise;\n await tableState.initTask.status.promise;\n });\n\n return () => {\n initTask.reset();\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_ToolbarCollectionState","_TableState","_NestedTableNestedModeState","_NestedTableFlatModeState","_NestedCollectionFetchAllState","_util","_mobx","NestedTableState","constructor","params","_defineProperty2","default","TaskState","Map","container","query","QueryState","filters","levels","map","level","i","depth","options","fetchAllThreshold","expandAllThreshold","mainColumn","rootLevelDescriptor","Error","rootNodeCollection","createCollection","parent","sequences","collection","syncWithSharedQuery","reportBi","reportProps","isFetchAllAborted","componentStatus","toolbar","ToolbarCollectionState","componentType","setNewColumns","columns","column","render","tableState","TableState","nested","NestedTableNestedModeState","wrapper","flat","NestedTableFlatModeState","nestedMode","flatMode","getNode","key","getAllNodes","expandAll","nestedCollection","_attemptFetchAllAndPopulateCache","initTask","init","invalidate","runOnce","fetchAllState","NestedCollectionFetchAllState","nestedCollectionState","disposers","status","promise","forEach","d","refreshAll","isFlatMode","reset","fetchAll","_refreshAll","root","hasActiveFilters","attemptFetchAllState","reaction","_fields","add","delete","fireImmediately","addEventListener","emitter","sections","featuresInitializers","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n QueryState,\n ReportBI,\n syncWithSharedQuery,\n TaskState,\n CollectionOptimisticSequenceExecutor, FiltersMap,\n} from '@wix/bex-core';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { TableState } from '../TableState';\nimport { TableColumn } from '../../model';\nimport { NestedTableColumn } from './NestedTableColumn';\nimport { NestedTableNestedModeState } from './NestedTableNestedModeState';\nimport { NestedTableFlatModeState } from './NestedTableFlatModeState';\nimport { NestedCollectionFetchAllState } from './NestedCollectionFetchAllState';\nimport { NestedTableLevelDescriptor } from './NestedTableLevelDescriptor';\nimport { EagerLazyModeOptions } from './types';\nimport { addEventListener } from '@wix/bex-core/util';\nimport { reaction } from 'mobx';\nimport { ICollectionComponentState } from '../ICollectionComponentState';\nimport { NestedTableNodeStatePublicAPI } from './NestedTableNodeStatePublicAPI';\n\nexport interface NestedTableStateBaseParams<C extends string> {\n /**\n * If the total items in the server are less or equal to this threshold, all items will be fetched and rendered at once, in expanded state (referred to as \"Eager\" mode).\n * @default 1000\n */\n fetchAllThreshold?: number;\n /**\n * In \"Eager\" mode, items will be in expanded state. This threshold allows to use collapsed state if the total items in the server are greater than this threshold.\n * @default `fetchAllThreshold`\n */\n expandAllThreshold?: number;\n /**\n * Columns to be rendered in the nested table. Same as [regular table columns](./?path=/story/base-components-collections-table-table--table) - without rendering logic of cells (defined for each level individually in the `levels` prop).\n */\n columns: NestedTableColumn<C>[];\n /**\n * Main column of the nested table.\n * An object with the following properties:\n * - `title`: The title of the column. @default ''\n * - `width`: The width of the column. Can be a number (in pixels) or a string (percentage). @default '326px'\n */\n mainColumn?: {\n title?: string;\n width?: number | string;\n };\n /**\n * Configuration of the nested table levels.\n * @overrideType [NestedTableLevelConfig](./?path=/story/base-components-collections-nestedtable--nestedtablelevelconfig)[]\n */\n levels: Omit<NestedTableLevelDescriptor<C, any, any>, 'depth'>[];\n}\n\nexport interface NestedTableStateParams<C extends string>\n extends NestedTableStateBaseParams<C> {\n container: WixPatternsContainer;\n}\n\nexport interface NestedTableStatePublicAPI<C extends string> {\n /**\n * Underlying [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate) instance\n * @overrideType [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate)\n */\n readonly toolbar: ToolbarCollectionState<unknown, {}>;\n /**\n * Underlying [TableState](./?path=/story/base-components-collections-table-tablestate--tablestate) instance\n * @overrideType [TableState](./?path=/story/base-components-collections-table-tablestate--tablestate)\n */\n readonly tableState: TableState<unknown, {}>;\n\n /**\n * Get the node this item is the parent of. i.e. this node's collection items' parent id is the `key`\n * @param key\n * @overrideType (key: string) => [NestedTableNodeState](./?path=/story/base-components-collections-nestedtable--nestedtablenodestate) | undefined\n */\n getNode<TD, FD extends FiltersMap>(\n key: string,\n ): NestedTableNodeStatePublicAPI<C, TD, FD> | undefined;\n\n /**\n * Get all the nodes in the table\n */\n getAllNodes<TD, FD extends FiltersMap>(): NestedTableNodeStatePublicAPI<\n C,\n TD,\n FD\n >[];\n\n /**\n * An API to refresh all items in the nested table.\n */\n readonly refreshAll: () => void;\n}\n\nexport class NestedTableState<C extends string = string>\n implements ICollectionComponentState, NestedTableStatePublicAPI<C>\n{\n readonly container;\n readonly reportBi: ReportBI;\n readonly toolbar;\n readonly tableState;\n readonly mainColumn;\n readonly options: EagerLazyModeOptions;\n\n readonly initTask = new TaskState();\n\n readonly levels: NestedTableLevelDescriptor<C, any, any>[];\n\n readonly rootNodeCollection;\n readonly query;\n\n readonly nested: NestedTableNestedModeState<C>;\n readonly flat: NestedTableFlatModeState<C>;\n\n readonly sequences = new Map<string, CollectionOptimisticSequenceExecutor>();\n\n constructor(params: NestedTableStateParams<C>) {\n this.container = params.container;\n\n this.query = new QueryState({\n filters: {},\n });\n\n this.levels = params.levels.map((level, i) => ({\n ...level,\n depth: i,\n }));\n\n this.options = {\n fetchAllThreshold: params.fetchAllThreshold ?? 1000,\n expandAllThreshold:\n params.expandAllThreshold ?? params.fetchAllThreshold ?? 1000,\n };\n\n this.mainColumn = params.mainColumn;\n const rootLevelDescriptor = this.levels[0];\n\n if (rootLevelDescriptor == null) {\n throw new Error('NestedTableState must have at least one level');\n }\n\n this.rootNodeCollection = rootLevelDescriptor.createCollection({\n parent: null,\n sequences: this.sequences,\n query: this.query,\n });\n\n const { collection } = this.rootNodeCollection;\n\n syncWithSharedQuery(collection.query, this.query);\n\n this.reportBi = (reportProps) => {\n const { isFetchAllAborted } = this;\n this.container.reportBi({\n ...reportProps,\n params: {\n ...reportProps.params,\n ...(isFetchAllAborted != null && {\n componentStatus: isFetchAllAborted\n ? 'All items collapsed'\n : 'All items expanded',\n }),\n },\n });\n };\n\n this.toolbar = new ToolbarCollectionState({\n collection: this.rootNodeCollection.collection,\n container: params.container,\n componentType: 'NestedTable',\n reportBi: this.reportBi,\n });\n\n this.toolbar.setNewColumns(\n params.columns.map((column) => ({\n ...column,\n render: () => null,\n })) as TableColumn<unknown>[],\n );\n\n this.tableState = new TableState({\n collection: this.rootNodeCollection.collection,\n container: params.container,\n toolbar: this.toolbar,\n });\n\n this.nested = new NestedTableNestedModeState({\n wrapper: this,\n reportBi: this.reportBi,\n });\n\n this.flat = new NestedTableFlatModeState({\n wrapper: this,\n });\n }\n\n get nestedMode() {\n return this.nested;\n }\n\n get flatMode() {\n return this.flat;\n }\n\n getNode<TD, FD extends FiltersMap>(\n key: string,\n ) {\n return this.nested.getNode<TD, FD>(key);\n }\n\n /**\n * Get all the nodes in the table\n */\n getAllNodes<TD, FD extends FiltersMap>() {\n return this.nested.getAllNodes<TD, FD>();\n }\n\n get isFetchAllAborted() {\n return this.nested.isFetchAllAborted;\n }\n\n get expandAll() {\n return this.nested.expandAll;\n }\n\n get nestedCollection() {\n return this.nested.nestedCollection;\n }\n\n _attemptFetchAllAndPopulateCache() {\n const initTask = new TaskState();\n return {\n initTask,\n init: (\n { invalidate }: { invalidate: boolean } = { invalidate: false },\n ) => {\n initTask.runOnce(async () => {\n const fetchAllState = new NestedCollectionFetchAllState({\n options: this.options,\n query: this.nested.query,\n nestedCollectionState: this.nested.nestedCollection,\n });\n\n const disposers = [fetchAllState.init({ invalidate })];\n\n try {\n await fetchAllState.initTask.status.promise;\n } finally {\n disposers.forEach((d) => d());\n }\n });\n\n return () => {};\n },\n };\n }\n\n refreshAll() {\n const initTask = this.isFlatMode\n ? this.flat.initTask\n : this.nested.initTask;\n initTask.reset();\n initTask.runOnce(async () => {\n const fetchAll = this._attemptFetchAllAndPopulateCache();\n fetchAll.init({ invalidate: true });\n await fetchAll.initTask.status.promise;\n\n this.isFlatMode\n ? this.flatMode._refreshAll()\n : this.nestedMode.root._refreshAll();\n });\n }\n\n get isFlatMode() {\n return this.query.hasActiveFilters;\n }\n\n init() {\n const { initTask, tableState, query, rootNodeCollection, flat } = this;\n\n const attemptFetchAllState = this._attemptFetchAllAndPopulateCache();\n\n const disposers = [\n query.init(),\n reaction(\n () => this.isFlatMode,\n (isFlatMode) => {\n const {\n query: { _fields },\n } = this;\n if (isFlatMode) {\n _fields.add('breadcrumbs');\n } else {\n _fields.delete('breadcrumbs');\n }\n },\n { fireImmediately: true },\n ),\n addEventListener(\n rootNodeCollection.collection.emitter,\n 'beforeInitialFetch',\n () => attemptFetchAllState.initTask.status.promise,\n ),\n ...flat.sections.map(({ collection }) =>\n addEventListener(\n collection.emitter,\n 'beforeInitialFetch',\n () => attemptFetchAllState.initTask.status.promise,\n ),\n ),\n attemptFetchAllState.init(),\n tableState.init({\n featuresInitializers: [],\n }),\n ];\n\n initTask.runOnce(async () => {\n tableState.initTask.runOnce();\n attemptFetchAllState.initTask.runOnce();\n await attemptFetchAllState.initTask.status.promise;\n await tableState.initTask.status.promise;\n });\n\n return () => {\n initTask.reset();\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAQA,IAAAC,uBAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAGA,IAAAG,2BAAA,GAAAH,OAAA;AACA,IAAAI,yBAAA,GAAAJ,OAAA;AACA,IAAAK,8BAAA,GAAAL,OAAA;AAGA,IAAAM,KAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AA6EO,MAAMQ,gBAAgB,CAE7B;EAoBEC,WAAWA,CAACC,MAAiC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,oBAZ3B,IAAIC,kBAAS,CAAC,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,qBAUd,IAAIE,GAAG,CAA+C,CAAC;IAG1E,IAAI,CAACC,SAAS,GAAGL,MAAM,CAACK,SAAS;IAEjC,IAAI,CAACC,KAAK,GAAG,IAAIC,mBAAU,CAAC;MAC1BC,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,IAAI,CAACC,MAAM,GAAGT,MAAM,CAACS,MAAM,CAACC,GAAG,CAAC,CAACC,KAAK,EAAEC,CAAC,MAAM;MAC7C,GAAGD,KAAK;MACRE,KAAK,EAAED;IACT,CAAC,CAAC,CAAC;IAEH,IAAI,CAACE,OAAO,GAAG;MACbC,iBAAiB,EAAEf,MAAM,CAACe,iBAAiB,IAAI,IAAI;MACnDC,kBAAkB,EAChBhB,MAAM,CAACgB,kBAAkB,IAAIhB,MAAM,CAACe,iBAAiB,IAAI;IAC7D,CAAC;IAED,IAAI,CAACE,UAAU,GAAGjB,MAAM,CAACiB,UAAU;IACnC,MAAMC,mBAAmB,GAAG,IAAI,CAACT,MAAM,CAAC,CAAC,CAAC;IAE1C,IAAIS,mBAAmB,IAAI,IAAI,EAAE;MAC/B,MAAM,IAAIC,KAAK,CAAC,+CAA+C,CAAC;IAClE;IAEA,IAAI,CAACC,kBAAkB,GAAGF,mBAAmB,CAACG,gBAAgB,CAAC;MAC7DC,MAAM,EAAE,IAAI;MACZC,SAAS,EAAE,IAAI,CAACA,SAAS;MACzBjB,KAAK,EAAE,IAAI,CAACA;IACd,CAAC,CAAC;IAEF,MAAM;MAAEkB;IAAW,CAAC,GAAG,IAAI,CAACJ,kBAAkB;IAE9C,IAAAK,4BAAmB,EAACD,UAAU,CAAClB,KAAK,EAAE,IAAI,CAACA,KAAK,CAAC;IAEjD,IAAI,CAACoB,QAAQ,GAAIC,WAAW,IAAK;MAC/B,MAAM;QAAEC;MAAkB,CAAC,GAAG,IAAI;MAClC,IAAI,CAACvB,SAAS,CAACqB,QAAQ,CAAC;QACtB,GAAGC,WAAW;QACd3B,MAAM,EAAE;UACN,GAAG2B,WAAW,CAAC3B,MAAM;UACrB,IAAI4B,iBAAiB,IAAI,IAAI,IAAI;YAC/BC,eAAe,EAAED,iBAAiB,GAC9B,qBAAqB,GACrB;UACN,CAAC;QACH;MACF,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,CAACE,OAAO,GAAG,IAAIC,8CAAsB,CAAC;MACxCP,UAAU,EAAE,IAAI,CAACJ,kBAAkB,CAACI,UAAU;MAC9CnB,SAAS,EAAEL,MAAM,CAACK,SAAS;MAC3B2B,aAAa,EAAE,aAAa;MAC5BN,QAAQ,EAAE,IAAI,CAACA;IACjB,CAAC,CAAC;IAEF,IAAI,CAACI,OAAO,CAACG,aAAa,CACxBjC,MAAM,CAACkC,OAAO,CAACxB,GAAG,CAAEyB,MAAM,KAAM;MAC9B,GAAGA,MAAM;MACTC,MAAM,EAAEA,CAAA,KAAM;IAChB,CAAC,CAAC,CACJ,CAAC;IAED,IAAI,CAACC,UAAU,GAAG,IAAIC,sBAAU,CAAC;MAC/Bd,UAAU,EAAE,IAAI,CAACJ,kBAAkB,CAACI,UAAU;MAC9CnB,SAAS,EAAEL,MAAM,CAACK,SAAS;MAC3ByB,OAAO,EAAE,IAAI,CAACA;IAChB,CAAC,CAAC;IAEF,IAAI,CAACS,MAAM,GAAG,IAAIC,sDAA0B,CAAC;MAC3CC,OAAO,EAAE,IAAI;MACbf,QAAQ,EAAE,IAAI,CAACA;IACjB,CAAC,CAAC;IAEF,IAAI,CAACgB,IAAI,GAAG,IAAIC,kDAAwB,CAAC;MACvCF,OAAO,EAAE;IACX,CAAC,CAAC;EACJ;EAEA,IAAIG,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACL,MAAM;EACpB;EAEA,IAAIM,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACH,IAAI;EAClB;EAEAI,OAAOA,CACLC,GAAW,EACX;IACA,OAAO,IAAI,CAACR,MAAM,CAACO,OAAO,CAASC,GAAG,CAAC;EACzC;;EAEA;AACF;AACA;EACEC,WAAWA,CAAA,EAA8B;IACvC,OAAO,IAAI,CAACT,MAAM,CAACS,WAAW,CAAS,CAAC;EAC1C;EAEA,IAAIpB,iBAAiBA,CAAA,EAAG;IACtB,OAAO,IAAI,CAACW,MAAM,CAACX,iBAAiB;EACtC;EAEA,IAAIqB,SAASA,CAAA,EAAG;IACd,OAAO,IAAI,CAACV,MAAM,CAACU,SAAS;EAC9B;EAEA,IAAIC,gBAAgBA,CAAA,EAAG;IACrB,OAAO,IAAI,CAACX,MAAM,CAACW,gBAAgB;EACrC;EAEAC,gCAAgCA,CAAA,EAAG;IACjC,MAAMC,QAAQ,GAAG,IAAIjD,kBAAS,CAAC,CAAC;IAChC,OAAO;MACLiD,QAAQ;MACRC,IAAI,EAAEA,CACJ;QAAEC;MAAoC,CAAC,GAAG;QAAEA,UAAU,EAAE;MAAM,CAAC,KAC5D;QACHF,QAAQ,CAACG,OAAO,CAAC,YAAY;UAC3B,MAAMC,aAAa,GAAG,IAAIC,4DAA6B,CAAC;YACtD3C,OAAO,EAAE,IAAI,CAACA,OAAO;YACrBR,KAAK,EAAE,IAAI,CAACiC,MAAM,CAACjC,KAAK;YACxBoD,qBAAqB,EAAE,IAAI,CAACnB,MAAM,CAACW;UACrC,CAAC,CAAC;UAEF,MAAMS,SAAS,GAAG,CAACH,aAAa,CAACH,IAAI,CAAC;YAAEC;UAAW,CAAC,CAAC,CAAC;UAEtD,IAAI;YACF,MAAME,aAAa,CAACJ,QAAQ,CAACQ,MAAM,CAACC,OAAO;UAC7C,CAAC,SAAS;YACRF,SAAS,CAACG,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAAC,CAAC,CAAC;UAC/B;QACF,CAAC,CAAC;QAEF,OAAO,MAAM,CAAC,CAAC;MACjB;IACF,CAAC;EACH;EAEAC,UAAUA,CAAA,EAAG;IACX,MAAMZ,QAAQ,GAAG,IAAI,CAACa,UAAU,GAC5B,IAAI,CAACvB,IAAI,CAACU,QAAQ,GAClB,IAAI,CAACb,MAAM,CAACa,QAAQ;IACxBA,QAAQ,CAACc,KAAK,CAAC,CAAC;IAChBd,QAAQ,CAACG,OAAO,CAAC,YAAY;MAC3B,MAAMY,QAAQ,GAAG,IAAI,CAAChB,gCAAgC,CAAC,CAAC;MACxDgB,QAAQ,CAACd,IAAI,CAAC;QAAEC,UAAU,EAAE;MAAK,CAAC,CAAC;MACnC,MAAMa,QAAQ,CAACf,QAAQ,CAACQ,MAAM,CAACC,OAAO;MAEtC,IAAI,CAACI,UAAU,GACX,IAAI,CAACpB,QAAQ,CAACuB,WAAW,CAAC,CAAC,GAC3B,IAAI,CAACxB,UAAU,CAACyB,IAAI,CAACD,WAAW,CAAC,CAAC;IACxC,CAAC,CAAC;EACJ;EAEA,IAAIH,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAAC3D,KAAK,CAACgE,gBAAgB;EACpC;EAEAjB,IAAIA,CAAA,EAAG;IACL,MAAM;MAAED,QAAQ;MAAEf,UAAU;MAAE/B,KAAK;MAAEc,kBAAkB;MAAEsB;IAAK,CAAC,GAAG,IAAI;IAEtE,MAAM6B,oBAAoB,GAAG,IAAI,CAACpB,gCAAgC,CAAC,CAAC;IAEpE,MAAMQ,SAAS,GAAG,CAChBrD,KAAK,CAAC+C,IAAI,CAAC,CAAC,EACZ,IAAAmB,cAAQ,EACN,MAAM,IAAI,CAACP,UAAU,EACpBA,UAAU,IAAK;MACd,MAAM;QACJ3D,KAAK,EAAE;UAAEmE;QAAQ;MACnB,CAAC,GAAG,IAAI;MACR,IAAIR,UAAU,EAAE;QACdQ,OAAO,CAACC,GAAG,CAAC,aAAa,CAAC;MAC5B,CAAC,MAAM;QACLD,OAAO,CAACE,MAAM,CAAC,aAAa,CAAC;MAC/B;IACF,CAAC,EACD;MAAEC,eAAe,EAAE;IAAK,CAC1B,CAAC,EACD,IAAAC,sBAAgB,EACdzD,kBAAkB,CAACI,UAAU,CAACsD,OAAO,EACrC,oBAAoB,EACpB,MAAMP,oBAAoB,CAACnB,QAAQ,CAACQ,MAAM,CAACC,OAC7C,CAAC,EACD,GAAGnB,IAAI,CAACqC,QAAQ,CAACrE,GAAG,CAAC,CAAC;MAAEc;IAAW,CAAC,KAClC,IAAAqD,sBAAgB,EACdrD,UAAU,CAACsD,OAAO,EAClB,oBAAoB,EACpB,MAAMP,oBAAoB,CAACnB,QAAQ,CAACQ,MAAM,CAACC,OAC7C,CACF,CAAC,EACDU,oBAAoB,CAAClB,IAAI,CAAC,CAAC,EAC3BhB,UAAU,CAACgB,IAAI,CAAC;MACd2B,oBAAoB,EAAE;IACxB,CAAC,CAAC,CACH;IAED5B,QAAQ,CAACG,OAAO,CAAC,YAAY;MAC3BlB,UAAU,CAACe,QAAQ,CAACG,OAAO,CAAC,CAAC;MAC7BgB,oBAAoB,CAACnB,QAAQ,CAACG,OAAO,CAAC,CAAC;MACvC,MAAMgB,oBAAoB,CAACnB,QAAQ,CAACQ,MAAM,CAACC,OAAO;MAClD,MAAMxB,UAAU,CAACe,QAAQ,CAACQ,MAAM,CAACC,OAAO;IAC1C,CAAC,CAAC;IAEF,OAAO,MAAM;MACXT,QAAQ,CAACc,KAAK,CAAC,CAAC;MAChBP,SAAS,CAACG,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;EACH;AACF;AAACkB,OAAA,CAAAnF,gBAAA,GAAAA,gBAAA","ignoreList":[]}
|