@wix/patterns 1.60.0 → 1.62.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/ActionControl/ActionSubItemProps.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/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.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/CustomFieldsWidget/CustomFieldsViewWidgetSection.js +9 -10
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.js.map +1 -1
- package/dist/cjs/components/DateRangeFilter/DateRangeFilter.js +10 -9
- package/dist/cjs/components/DateRangeFilter/DateRangeFilter.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/EntityPage/EntityPage.js +6 -4
- package/dist/cjs/components/EntityPage/EntityPage.js.map +1 -1
- package/dist/cjs/components/EntityPage/EntityPageActionsBar.js +2 -1
- package/dist/cjs/components/EntityPage/EntityPageActionsBar.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/FormPage/FormPageActionsBar.js +8 -5
- package/dist/cjs/components/FormPage/FormPageActionsBar.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/MoreActions/MoreActionsBase.js +3 -3
- package/dist/cjs/components/MoreActions/MoreActionsBase.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/ExpandCollapseAllButton.uni.driver.js +16 -0
- package/dist/cjs/components/NestedTable/ExpandCollapseAllButton.uni.driver.js.map +1 -0
- package/dist/cjs/components/NestedTable/NestedTable.uni.driver.js +3 -1
- package/dist/cjs/components/NestedTable/NestedTable.uni.driver.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTableMainColumnTitle.js +41 -11
- package/dist/cjs/components/NestedTable/NestedTableMainColumnTitle.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.js +2 -1
- package/dist/cjs/components/NestedTable/NestedTableRow.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/NestedTable/useNestedModeColumns.js +3 -3
- package/dist/cjs/components/NestedTable/useNestedModeColumns.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/useDateRangeFilterState.js +4 -2
- package/dist/cjs/hooks/useDateRangeFilterState.js.map +1 -1
- package/dist/cjs/state/DateRangeFilterState.js +2 -1
- package/dist/cjs/state/DateRangeFilterState.js.map +1 -1
- package/dist/cjs/state/DateRangePickerState.js +10 -2
- package/dist/cjs/state/DateRangePickerState.js.map +1 -1
- package/dist/cjs/state/EntityPage/EntityPageState.js +1 -0
- package/dist/cjs/state/EntityPage/EntityPageState.js.map +1 -1
- package/dist/cjs/state/NestedTableState/NestedTableNodeState.js +0 -1
- package/dist/cjs/state/NestedTableState/NestedTableNodeState.js.map +1 -1
- package/dist/cjs/state/NestedTableState/NestedTableNodeStateBIReporter.js +5 -2
- package/dist/cjs/state/NestedTableState/NestedTableNodeStateBIReporter.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/cjs/wix-design-system-version.js +1 -1
- package/dist/cjs/wix-design-system-version.js.map +1 -1
- package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.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/CustomFieldsWidget/CustomFieldsViewWidgetSection.js +1 -2
- package/dist/esm/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.js.map +1 -1
- package/dist/esm/components/DateRangeFilter/DateRangeFilter.js +1 -0
- package/dist/esm/components/DateRangeFilter/DateRangeFilter.js.map +1 -1
- package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/components/EntityPage/EntityPage.js +3 -2
- package/dist/esm/components/EntityPage/EntityPage.js.map +1 -1
- package/dist/esm/components/EntityPage/EntityPageActionsBar.js +1 -1
- package/dist/esm/components/EntityPage/EntityPageActionsBar.js.map +1 -1
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/FormPage/FormPageActionsBar.js +3 -2
- package/dist/esm/components/FormPage/FormPageActionsBar.js.map +1 -1
- 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/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
- package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MoreActions/MoreActionsBase.js.map +1 -1
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/esm/components/NestedTable/ExpandCollapseAllButton.uni.driver.js +12 -0
- package/dist/esm/components/NestedTable/ExpandCollapseAllButton.uni.driver.js.map +1 -0
- package/dist/esm/components/NestedTable/NestedTable.uni.driver.js +2 -0
- package/dist/esm/components/NestedTable/NestedTable.uni.driver.js.map +1 -1
- package/dist/esm/components/NestedTable/NestedTableMainColumnTitle.js +13 -12
- package/dist/esm/components/NestedTable/NestedTableMainColumnTitle.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.js +1 -0
- package/dist/esm/components/NestedTable/NestedTableRow.js.map +1 -1
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/useNestedModeColumns.js +1 -2
- package/dist/esm/components/NestedTable/useNestedModeColumns.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- 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/SlidingModal/SlidingModal.st.css.js.map +1 -1
- 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/components/common.st.css.js.map +1 -1
- package/dist/esm/hooks/useDateRangeFilterState.js +2 -1
- package/dist/esm/hooks/useDateRangeFilterState.js.map +1 -1
- package/dist/esm/state/DateRangeFilterState.js +1 -0
- package/dist/esm/state/DateRangeFilterState.js.map +1 -1
- package/dist/esm/state/DateRangePickerState.js +13 -3
- package/dist/esm/state/DateRangePickerState.js.map +1 -1
- package/dist/esm/state/EntityPage/EntityPageState.js +2 -2
- package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
- package/dist/esm/state/NestedTableState/NestedTableNodeState.js +0 -1
- package/dist/esm/state/NestedTableState/NestedTableNodeState.js.map +1 -1
- package/dist/esm/state/NestedTableState/NestedTableNodeStateBIReporter.js +2 -1
- package/dist/esm/state/NestedTableState/NestedTableNodeStateBIReporter.js.map +1 -1
- package/dist/esm/styles.global.css +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/esm/wix-design-system-version.js +1 -1
- package/dist/types/components/ActionControl/ActionSubItemProps.d.ts +0 -1
- package/dist/types/components/ActionControl/ActionSubItemProps.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbar.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.d.ts.map +1 -1
- package/dist/types/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.d.ts.map +1 -1
- package/dist/types/components/DateRangeFilter/DateRangeFilter.d.ts +1 -1
- package/dist/types/components/DateRangeFilter/DateRangeFilter.d.ts.map +1 -1
- package/dist/types/components/EntityPage/EntityPage.d.ts +6 -1
- package/dist/types/components/EntityPage/EntityPage.d.ts.map +1 -1
- package/dist/types/components/EntityPage/EntityPageActionsBar.d.ts.map +1 -1
- package/dist/types/components/FormPage/FormPageActionsBar.d.ts +3 -1
- package/dist/types/components/FormPage/FormPageActionsBar.d.ts.map +1 -1
- package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
- package/dist/types/components/MoreActions/MoreActionsBase.d.ts +2 -1
- package/dist/types/components/MoreActions/MoreActionsBase.d.ts.map +1 -1
- package/dist/types/components/NestedTable/ExpandCollapseAllButton.uni.driver.d.ts +22 -0
- package/dist/types/components/NestedTable/ExpandCollapseAllButton.uni.driver.d.ts.map +1 -0
- package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +29 -27
- package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTableMainColumnTitle.d.ts +1 -1
- package/dist/types/components/NestedTable/NestedTableMainColumnTitle.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTableRow.d.ts.map +1 -1
- package/dist/types/components/NestedTable/useNestedModeColumns.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.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/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
- package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
- package/dist/types/components/common.st.css.d.ts.map +1 -1
- package/dist/types/hooks/useDateRangeFilterState.d.ts +2 -1
- package/dist/types/hooks/useDateRangeFilterState.d.ts.map +1 -1
- package/dist/types/state/DateRangeFilterState.d.ts +2 -1
- package/dist/types/state/DateRangeFilterState.d.ts.map +1 -1
- package/dist/types/state/DateRangePickerState.d.ts +6 -2
- package/dist/types/state/DateRangePickerState.d.ts.map +1 -1
- package/dist/types/state/EntityPage/EntityPageState.d.ts +6 -1
- package/dist/types/state/EntityPage/EntityPageState.d.ts.map +1 -1
- package/dist/types/state/NestedTableState/NestedTableNodeState.d.ts.map +1 -1
- package/dist/types/state/NestedTableState/NestedTableNodeStateBIReporter.d.ts +3 -1
- package/dist/types/state/NestedTableState/NestedTableNodeStateBIReporter.d.ts.map +1 -1
- package/dist/types/testkit/enzyme.d.ts +20 -0
- package/dist/types/testkit/enzyme.d.ts.map +1 -1
- package/dist/types/testkit/jsdom.d.ts +20 -0
- package/dist/types/testkit/jsdom.d.ts.map +1 -1
- package/dist/types/testkit/puppeteer.d.ts +20 -0
- package/dist/types/testkit/puppeteer.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/dist/types/wix-design-system-version.d.ts +1 -1
- package/package.json +5 -5
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css +0 -3
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js +0 -23
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js.map +0 -1
- package/dist/esm/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css +0 -3
- package/dist/esm/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js +0 -15
- package/dist/esm/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js.map +0 -1
- package/dist/types/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.d.ts +0 -14
- package/dist/types/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.d.ts.map +0 -1
|
@@ -9,7 +9,8 @@ var _providers = require("../providers");
|
|
|
9
9
|
function useDateRangeFilterState(params) {
|
|
10
10
|
const {
|
|
11
11
|
filter,
|
|
12
|
-
filterByTime
|
|
12
|
+
filterByTime,
|
|
13
|
+
mode
|
|
13
14
|
} = params;
|
|
14
15
|
const {
|
|
15
16
|
translate
|
|
@@ -19,7 +20,8 @@ function useDateRangeFilterState(params) {
|
|
|
19
20
|
translate,
|
|
20
21
|
filter,
|
|
21
22
|
toolbar,
|
|
22
|
-
filterByTime
|
|
23
|
+
filterByTime,
|
|
24
|
+
mode
|
|
23
25
|
}));
|
|
24
26
|
return state;
|
|
25
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_state","_react2","_providers","useDateRangeFilterState","params","filter","filterByTime","translate","useWixPatternsContainer","toolbar","useFilterToolbarState","state","useState","DateRangeFilterState"],"sources":["../../../src/hooks/useDateRangeFilterState.ts"],"sourcesContent":["import { useState } from 'react';\nimport { DateRangeFilterState } from '../state';\nimport { useWixPatternsContainer } from '@wix/bex-core/react';\nimport { Filter, RangeItem } from '@wix/bex-core';\nimport { useFilterToolbarState } from '../providers';\n\nexport interface UseDateRangeFilterStateParams {\n filter: Filter<RangeItem<Date>>;\n filterByTime?: boolean;\n}\n\nexport function useDateRangeFilterState(params: UseDateRangeFilterStateParams) {\n const { filter, filterByTime } = params;\n\n const { translate } = useWixPatternsContainer();\n const toolbar = useFilterToolbarState();\n\n const [state] = useState(\n () =>\n new DateRangeFilterState({\n translate,\n filter,\n toolbar,\n filterByTime,\n }),\n );\n\n return state;\n}\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAAG,UAAA,GAAAH,OAAA;
|
|
1
|
+
{"version":3,"names":["_react","require","_state","_react2","_providers","useDateRangeFilterState","params","filter","filterByTime","mode","translate","useWixPatternsContainer","toolbar","useFilterToolbarState","state","useState","DateRangeFilterState"],"sources":["../../../src/hooks/useDateRangeFilterState.ts"],"sourcesContent":["import { useState } from 'react';\nimport { DateRangeFilterState } from '../state';\nimport { useWixPatternsContainer } from '@wix/bex-core/react';\nimport { DateRangeFilterMode, Filter, RangeItem } from '@wix/bex-core';\nimport { useFilterToolbarState } from '../providers';\n\nexport interface UseDateRangeFilterStateParams {\n filter: Filter<RangeItem<Date>>;\n filterByTime?: boolean;\n mode?: DateRangeFilterMode;\n}\n\nexport function useDateRangeFilterState(params: UseDateRangeFilterStateParams) {\n const { filter, filterByTime, mode } = params;\n\n const { translate } = useWixPatternsContainer();\n const toolbar = useFilterToolbarState();\n\n const [state] = useState(\n () =>\n new DateRangeFilterState({\n translate,\n filter,\n toolbar,\n filterByTime,\n mode,\n }),\n );\n\n return state;\n}\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAAG,UAAA,GAAAH,OAAA;AAQO,SAASI,uBAAuBA,CAACC,MAAqC,EAAE;EAC7E,MAAM;IAAEC,MAAM;IAAEC,YAAY;IAAEC;EAAK,CAAC,GAAGH,MAAM;EAE7C,MAAM;IAAEI;EAAU,CAAC,GAAG,IAAAC,+BAAuB,EAAC,CAAC;EAC/C,MAAMC,OAAO,GAAG,IAAAC,gCAAqB,EAAC,CAAC;EAEvC,MAAM,CAACC,KAAK,CAAC,GAAG,IAAAC,eAAQ,EACtB,MACE,IAAIC,2BAAoB,CAAC;IACvBN,SAAS;IACTH,MAAM;IACNK,OAAO;IACPJ,YAAY;IACZC;EACF,CAAC,CACL,CAAC;EAED,OAAOK,KAAK;AACd","ignoreList":[]}
|
|
@@ -13,7 +13,8 @@ class DateRangeFilterState {
|
|
|
13
13
|
toolbar: params.toolbar,
|
|
14
14
|
translate: params.translate,
|
|
15
15
|
filter: params.filter,
|
|
16
|
-
filterByTime: params.filterByTime
|
|
16
|
+
filterByTime: params.filterByTime,
|
|
17
|
+
mode: params.mode
|
|
17
18
|
});
|
|
18
19
|
(0, _mobx.makeObservable)(this, {
|
|
19
20
|
init: _mobx.action.bound
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_DateRangePickerState","require","_mobx","DateRangeFilterState","constructor","params","_defineProperty2","default","dateRangePicker","DateRangePickerState","toolbar","translate","filter","filterByTime","makeObservable","init","action","bound","dispose","exports"],"sources":["../../../src/state/DateRangeFilterState.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"names":["_DateRangePickerState","require","_mobx","DateRangeFilterState","constructor","params","_defineProperty2","default","dateRangePicker","DateRangePickerState","toolbar","translate","filter","filterByTime","mode","makeObservable","init","action","bound","dispose","exports"],"sources":["../../../src/state/DateRangeFilterState.ts"],"sourcesContent":["import {\n DateRangeFilterMode,\n Filter,\n RangeItem,\n Translate,\n} from '@wix/bex-core';\nimport { DateRangePickerState } from './DateRangePickerState';\nimport { action, makeObservable } from 'mobx';\nimport { FilterToolbarState } from '../providers';\n\nexport interface DateRangeFilterStateParams {\n toolbar: FilterToolbarState;\n translate: Translate;\n filter: Filter<RangeItem<Date>>;\n filterByTime?: boolean;\n mode?: DateRangeFilterMode;\n}\n\nexport class DateRangeFilterState {\n readonly dateRangePicker;\n\n constructor(params: DateRangeFilterStateParams) {\n this.dateRangePicker = new DateRangePickerState({\n toolbar: params.toolbar,\n translate: params.translate,\n filter: params.filter,\n filterByTime: params.filterByTime,\n mode: params.mode,\n });\n\n makeObservable(this, {\n init: action.bound,\n });\n }\n\n init() {\n const { dateRangePicker } = this;\n const dispose = dateRangePicker.init();\n\n return () => {\n dispose();\n };\n }\n}\n"],"mappings":";;;;;;AAMA,IAAAA,qBAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAWO,MAAME,oBAAoB,CAAC;EAGhCC,WAAWA,CAACC,MAAkC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAC9C,IAAI,CAACC,eAAe,GAAG,IAAIC,0CAAoB,CAAC;MAC9CC,OAAO,EAAEL,MAAM,CAACK,OAAO;MACvBC,SAAS,EAAEN,MAAM,CAACM,SAAS;MAC3BC,MAAM,EAAEP,MAAM,CAACO,MAAM;MACrBC,YAAY,EAAER,MAAM,CAACQ,YAAY;MACjCC,IAAI,EAAET,MAAM,CAACS;IACf,CAAC,CAAC;IAEF,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,IAAI,EAAEC,YAAM,CAACC;IACf,CAAC,CAAC;EACJ;EAEAF,IAAIA,CAAA,EAAG;IACL,MAAM;MAAER;IAAgB,CAAC,GAAG,IAAI;IAChC,MAAMW,OAAO,GAAGX,eAAe,CAACQ,IAAI,CAAC,CAAC;IAEtC,OAAO,MAAM;MACXG,OAAO,CAAC,CAAC;IACX,CAAC;EACH;AACF;AAACC,OAAA,CAAAjB,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
|
@@ -11,6 +11,12 @@ class DateRangePickerState {
|
|
|
11
11
|
get filter() {
|
|
12
12
|
return this.toolbar.getPendingFilter(this._filter);
|
|
13
13
|
}
|
|
14
|
+
set selectedPreset(preset) {
|
|
15
|
+
this._selectedPreset = this._mode === 'ONLY_CUSTOM' ? _bexCore.DateRangePreset.CUSTOM : preset;
|
|
16
|
+
}
|
|
17
|
+
get selectedPreset() {
|
|
18
|
+
return this._mode === 'ONLY_CUSTOM' ? _bexCore.DateRangePreset.CUSTOM : this._selectedPreset;
|
|
19
|
+
}
|
|
14
20
|
constructor(params) {
|
|
15
21
|
(0, _defineProperty2.default)(this, "translate", void 0);
|
|
16
22
|
(0, _defineProperty2.default)(this, "_filter", void 0);
|
|
@@ -21,18 +27,20 @@ class DateRangePickerState {
|
|
|
21
27
|
(0, _defineProperty2.default)(this, "to", null);
|
|
22
28
|
(0, _defineProperty2.default)(this, "isFromTimeSet", false);
|
|
23
29
|
(0, _defineProperty2.default)(this, "isToTimeSet", false);
|
|
24
|
-
(0, _defineProperty2.default)(this, "
|
|
30
|
+
(0, _defineProperty2.default)(this, "_mode", void 0);
|
|
31
|
+
(0, _defineProperty2.default)(this, "_selectedPreset", _bexCore.DateRangePreset.NONE);
|
|
25
32
|
(0, _defineProperty2.default)(this, "filterByTime", void 0);
|
|
26
33
|
this.toolbar = params.toolbar;
|
|
27
34
|
this.translate = params.translate;
|
|
28
35
|
this._filter = params.filter;
|
|
29
36
|
this.filterByTime = params.filterByTime ?? false;
|
|
37
|
+
this._mode = params.mode;
|
|
30
38
|
(0, _mobx.makeObservable)(this, {
|
|
31
39
|
from: _mobx.observable,
|
|
32
40
|
to: _mobx.observable,
|
|
33
41
|
isFromTimeSet: _mobx.observable.ref,
|
|
34
42
|
isToTimeSet: _mobx.observable.ref,
|
|
35
|
-
|
|
43
|
+
_selectedPreset: _mobx.observable,
|
|
36
44
|
init: _mobx.action.bound,
|
|
37
45
|
clear: _mobx.action.bound,
|
|
38
46
|
onFromSelected: _mobx.action.bound,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_mobx","_events","DateRangePickerState","filter","toolbar","getPendingFilter","_filter","constructor","params","_defineProperty2","default","ToggleState","EventEmitter","DateRangePreset","NONE","translate","filterByTime","makeObservable","from","observable","to","isFromTimeSet","ref","isToTimeSet","selectedPreset","init","action","bound","clear","onFromSelected","onToSelected","onFromTimeSelected","onToTimeSelected","onPresetChanged","clearTime","refreshIfChanged","actionType","remove","convertToBIFormat","itemKey","options","value","setValue","preset","emitEvents","close","dropdown","events","setOff","emit","disposer","reaction","_filter$value$from","_this$from","_filter$value$to","_this$to","CUSTOM","valueOf","fireImmediately","newPreset","getDatesFromPreset","clickedValueKey","onDateSelected","newDate","curDate","isInvalid","isTimeSet","type","date","timeDate","Date","setHours","resDate","getHours","getMinutes","d","onTimeSelected","newTime","fromCpy","fromTime","toTime","onFromClosed","onToClosed","_isBiggerOrSameDate","date1","date2","getFullYear","getMonth","getDate","_isBiggerDate","filterDateFrom","filterDateTo","filterDateTimeFrom","filterDateTimeTo","exports"],"sources":["../../../src/state/DateRangePickerState.ts"],"sourcesContent":["import {\n Filter,\n RangeItem,\n ToggleState,\n Translate,\n DateRangePreset,\n getDatesFromPreset,\n} from '@wix/bex-core';\nimport { action, makeObservable, observable, reaction } from 'mobx';\nimport { EventEmitter } from '@wix/bex-core/events';\nimport { FilterToolbarState } from '../providers';\n\nexport interface DateRangePickerStateParams {\n toolbar: FilterToolbarState;\n translate: Translate;\n filter: Filter<RangeItem<Date>>;\n filterByTime?: boolean;\n}\n\nexport class DateRangePickerState {\n readonly translate: DateRangePickerStateParams['translate'];\n readonly _filter: DateRangePickerStateParams['filter'];\n readonly dropdown = new ToggleState();\n readonly events = new EventEmitter();\n readonly toolbar;\n from: Date | null = null;\n to: Date | null = null;\n\n isFromTimeSet: boolean = false;\n isToTimeSet: boolean = false;\n\n selectedPreset: string = DateRangePreset.NONE;\n filterByTime: boolean;\n\n get filter() {\n return this.toolbar.getPendingFilter(this._filter);\n }\n\n constructor(params: DateRangePickerStateParams) {\n this.toolbar = params.toolbar;\n this.translate = params.translate;\n this._filter = params.filter;\n this.filterByTime = params.filterByTime ?? false;\n\n makeObservable(this, {\n from: observable,\n to: observable,\n isFromTimeSet: observable.ref,\n isToTimeSet: observable.ref,\n selectedPreset: observable,\n init: action.bound,\n clear: action.bound,\n onFromSelected: action.bound,\n onToSelected: action.bound,\n onFromTimeSelected: action.bound,\n onToTimeSelected: action.bound,\n onPresetChanged: action.bound,\n });\n }\n\n clearTime() {\n this.isFromTimeSet = false;\n this.isToTimeSet = false;\n }\n\n clear() {\n this.from = null;\n this.to = null;\n this.clearTime();\n\n this.refreshIfChanged({ actionType: 'remove' });\n }\n\n remove() {\n this.selectedPreset = DateRangePreset.NONE;\n this.clear();\n }\n\n private convertToBIFormat(from: Date | null, to: Date | null) {\n return `${this.filter.itemKey({ from, to })}, ${this.selectedPreset}`;\n }\n\n private refreshIfChanged(\n options: { actionType?: 'add' | 'remove'; clickedValueKey?: string } = {},\n ) {\n const { from, to, filter } = this;\n\n if (filter.itemKey(filter.value) !== filter.itemKey({ from, to })) {\n filter.setValue(\n {\n from,\n to,\n preset: this.selectedPreset,\n },\n {\n emitEvents: ['change', 'beforeRefresh', 'refresh'],\n ...options,\n },\n );\n return true;\n }\n return false;\n }\n\n close() {\n const { dropdown, events } = this;\n dropdown.setOff();\n events.emit('close');\n }\n\n init() {\n const { filter } = this;\n\n const disposer = reaction(\n () => filter.value,\n () => {\n if (!filter.value.from && !filter.value.to) {\n if (\n filter.value.preset &&\n filter.value.preset !== DateRangePreset.CUSTOM &&\n filter.value.preset !== DateRangePreset.NONE\n ) {\n this.onPresetChanged(filter.value.preset);\n return;\n }\n filter.value.preset ? this.clear() : this.remove();\n return;\n }\n\n if (\n filter.value.from?.valueOf() === this.from?.valueOf() &&\n filter.value.to?.valueOf() === this.to?.valueOf()\n ) {\n return;\n }\n\n if (\n filter.value.preset &&\n filter.value.preset !== DateRangePreset.CUSTOM\n ) {\n this.onPresetChanged(filter.value.preset);\n return;\n }\n\n this.from = filter.value.from;\n this.to = filter.value.to;\n this.selectedPreset = DateRangePreset.CUSTOM;\n\n this.isFromTimeSet = !!this.from;\n this.isToTimeSet = !!this.to;\n },\n {\n fireImmediately: true,\n },\n );\n\n return () => {\n disposer();\n };\n }\n\n onPresetChanged(newPreset: string) {\n this.selectedPreset = newPreset;\n\n if (this.selectedPreset === DateRangePreset.CUSTOM) {\n if (!this.from && !this.to) {\n return;\n }\n\n this.filter.setValue(\n {\n from: this.from,\n to: this.to,\n preset: this.selectedPreset,\n },\n {\n emitEvents: ['change'],\n },\n );\n\n return;\n }\n\n if (this.selectedPreset === DateRangePreset.NONE) {\n return this.clear();\n }\n const { from, to } = getDatesFromPreset(this.selectedPreset);\n this.from = from;\n this.to = to;\n this.isFromTimeSet = true;\n this.isToTimeSet = true;\n\n this.refreshIfChanged({\n actionType: 'add',\n clickedValueKey: this.convertToBIFormat(from, to),\n });\n }\n\n onDateSelected(\n newDate: Date | null,\n curDate: Date | null,\n isInvalid: (date: Date) => boolean,\n isTimeSet: boolean,\n type: 'from' | 'to',\n ) {\n if (!newDate) {\n return { date: null, isTimeSet: false };\n }\n const timeDate = new Date(\n type === 'from'\n ? newDate.setHours(0, 0, 0, 0)\n : newDate.setHours(23, 59, 59, 999),\n );\n // takes the current selected date, and copies its time selection to the new selected date\n const resDate = curDate\n ? new Date(newDate.setHours(curDate.getHours(), curDate.getMinutes()))\n : timeDate;\n if (isInvalid(resDate)) {\n return { date: timeDate, isTimeSet: false };\n }\n return { date: resDate, isTimeSet };\n }\n\n onFromSelected(from: Date | null) {\n const { isTimeSet, date } = this.onDateSelected(\n from,\n this.from,\n (d) => !!(this.to && d > this.to),\n this.isFromTimeSet,\n 'from',\n );\n this.from = date;\n this.isFromTimeSet = isTimeSet;\n }\n\n onToSelected(to: Date | null) {\n const { isTimeSet, date } = this.onDateSelected(\n to,\n this.to,\n (d) => !!(this.from && d < this.from),\n this.isToTimeSet,\n 'to',\n );\n this.to = date;\n this.isToTimeSet = isTimeSet;\n }\n\n onTimeSelected(newTime: Date | null, curDate: Date) {\n const fromCpy = new Date(curDate);\n return {\n isTimeSet: !!newTime,\n date: new Date(\n newTime\n ? fromCpy.setHours(newTime.getHours(), newTime.getMinutes())\n : fromCpy.setHours(0, 0),\n ),\n };\n }\n\n onFromTimeSelected(fromTime: Date | null) {\n if (!this.from) {\n return;\n }\n\n const { isTimeSet, date } = this.onTimeSelected(fromTime, this.from);\n this.isFromTimeSet = isTimeSet;\n this.from = date;\n\n this.refreshIfChanged({\n actionType: 'add',\n clickedValueKey: this.convertToBIFormat(this.from, this.to),\n });\n }\n\n onToTimeSelected(toTime: Date | null) {\n if (!this.to) {\n return;\n }\n\n const { isTimeSet, date } = this.onTimeSelected(toTime, this.to);\n this.isToTimeSet = isTimeSet;\n this.to = date;\n\n this.refreshIfChanged({\n actionType: 'add',\n clickedValueKey: this.convertToBIFormat(this.from, this.to),\n });\n }\n\n onFromClosed() {\n this.refreshIfChanged({\n actionType: 'add',\n clickedValueKey: this.convertToBIFormat(this.from, this.to),\n });\n }\n\n onToClosed() {\n this.refreshIfChanged({\n actionType: 'add',\n clickedValueKey: this.convertToBIFormat(this.from, this.to),\n });\n }\n\n static _isBiggerOrSameDate(date1: Date, date2: Date) {\n return (\n date1.getFullYear() > date2.getFullYear() ||\n (date1.getFullYear() === date2.getFullYear() &&\n date1.getMonth() > date2.getMonth()) ||\n (date1.getFullYear() === date2.getFullYear() &&\n date1.getMonth() === date2.getMonth() &&\n date1.getDate() >= date2.getDate())\n );\n }\n\n static _isBiggerDate(date1: Date, date2: Date) {\n return (\n date1.getFullYear() > date2.getFullYear() ||\n (date1.getFullYear() === date2.getFullYear() &&\n date1.getMonth() > date2.getMonth()) ||\n (date1.getFullYear() === date2.getFullYear() &&\n date1.getMonth() === date2.getMonth() &&\n date1.getDate() > date2.getDate())\n );\n }\n\n filterDateFrom(date: Date) {\n return !this.to || DateRangePickerState._isBiggerOrSameDate(this.to, date);\n }\n\n filterDateTo(date: Date) {\n return (\n !this.from || DateRangePickerState._isBiggerOrSameDate(date, this.from)\n );\n }\n\n filterDateTimeFrom(date: Date) {\n if (!this.from) {\n return false;\n }\n\n return (\n !this.isToTimeSet ||\n !this.to ||\n DateRangePickerState._isBiggerDate(this.to, this.from) ||\n this.to.getHours() * 60 + this.to.getMinutes() >=\n date.getHours() * 60 + date.getMinutes()\n );\n }\n\n filterDateTimeTo(date: Date) {\n if (!this.to) {\n return false;\n }\n\n return (\n !this.isFromTimeSet ||\n !this.from ||\n DateRangePickerState._isBiggerDate(this.to, this.from) ||\n this.from.getHours() * 60 + this.from.getMinutes() <=\n date.getHours() * 60 + date.getMinutes()\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_mobx","_events","DateRangePickerState","filter","toolbar","getPendingFilter","_filter","selectedPreset","preset","_selectedPreset","_mode","DateRangePreset","CUSTOM","constructor","params","_defineProperty2","default","ToggleState","EventEmitter","NONE","translate","filterByTime","mode","makeObservable","from","observable","to","isFromTimeSet","ref","isToTimeSet","init","action","bound","clear","onFromSelected","onToSelected","onFromTimeSelected","onToTimeSelected","onPresetChanged","clearTime","refreshIfChanged","actionType","remove","convertToBIFormat","itemKey","options","value","setValue","emitEvents","close","dropdown","events","setOff","emit","disposer","reaction","_filter$value$from","_this$from","_filter$value$to","_this$to","valueOf","fireImmediately","newPreset","getDatesFromPreset","clickedValueKey","onDateSelected","newDate","curDate","isInvalid","isTimeSet","type","date","timeDate","Date","setHours","resDate","getHours","getMinutes","d","onTimeSelected","newTime","fromCpy","fromTime","toTime","onFromClosed","onToClosed","_isBiggerOrSameDate","date1","date2","getFullYear","getMonth","getDate","_isBiggerDate","filterDateFrom","filterDateTo","filterDateTimeFrom","filterDateTimeTo","exports"],"sources":["../../../src/state/DateRangePickerState.ts"],"sourcesContent":["import {\n DateRangeFilterMode,\n DateRangePreset,\n Filter,\n getDatesFromPreset,\n RangeItem,\n ToggleState,\n Translate,\n} from '@wix/bex-core';\nimport { action, makeObservable, observable, reaction } from 'mobx';\nimport { EventEmitter } from '@wix/bex-core/events';\nimport { FilterToolbarState } from '../providers';\n\nexport interface DateRangePickerStateParams {\n toolbar: FilterToolbarState;\n translate: Translate;\n filter: Filter<RangeItem<Date>>;\n filterByTime?: boolean;\n mode?: DateRangeFilterMode;\n}\n\nexport class DateRangePickerState {\n readonly translate: DateRangePickerStateParams['translate'];\n readonly _filter: DateRangePickerStateParams['filter'];\n readonly dropdown = new ToggleState();\n readonly events = new EventEmitter();\n readonly toolbar;\n from: Date | null = null;\n to: Date | null = null;\n\n isFromTimeSet: boolean = false;\n isToTimeSet: boolean = false;\n\n _mode;\n _selectedPreset: string = DateRangePreset.NONE;\n filterByTime: boolean;\n\n get filter() {\n return this.toolbar.getPendingFilter(this._filter);\n }\n\n set selectedPreset(preset: string) {\n this._selectedPreset =\n this._mode === 'ONLY_CUSTOM' ? DateRangePreset.CUSTOM : preset;\n }\n\n get selectedPreset() {\n return this._mode === 'ONLY_CUSTOM'\n ? DateRangePreset.CUSTOM\n : this._selectedPreset;\n }\n\n constructor(params: DateRangePickerStateParams) {\n this.toolbar = params.toolbar;\n this.translate = params.translate;\n this._filter = params.filter;\n this.filterByTime = params.filterByTime ?? false;\n this._mode = params.mode;\n\n makeObservable(this, {\n from: observable,\n to: observable,\n isFromTimeSet: observable.ref,\n isToTimeSet: observable.ref,\n _selectedPreset: observable,\n init: action.bound,\n clear: action.bound,\n onFromSelected: action.bound,\n onToSelected: action.bound,\n onFromTimeSelected: action.bound,\n onToTimeSelected: action.bound,\n onPresetChanged: action.bound,\n });\n }\n\n clearTime() {\n this.isFromTimeSet = false;\n this.isToTimeSet = false;\n }\n\n clear() {\n this.from = null;\n this.to = null;\n this.clearTime();\n\n this.refreshIfChanged({ actionType: 'remove' });\n }\n\n remove() {\n this.selectedPreset = DateRangePreset.NONE;\n this.clear();\n }\n\n private convertToBIFormat(from: Date | null, to: Date | null) {\n return `${this.filter.itemKey({ from, to })}, ${this.selectedPreset}`;\n }\n\n private refreshIfChanged(\n options: { actionType?: 'add' | 'remove'; clickedValueKey?: string } = {},\n ) {\n const { from, to, filter } = this;\n\n if (filter.itemKey(filter.value) !== filter.itemKey({ from, to })) {\n filter.setValue(\n {\n from,\n to,\n preset: this.selectedPreset,\n },\n {\n emitEvents: ['change', 'beforeRefresh', 'refresh'],\n ...options,\n },\n );\n return true;\n }\n return false;\n }\n\n close() {\n const { dropdown, events } = this;\n dropdown.setOff();\n events.emit('close');\n }\n\n init() {\n const { filter } = this;\n\n const disposer = reaction(\n () => filter.value,\n () => {\n if (!filter.value.from && !filter.value.to) {\n if (\n filter.value.preset &&\n filter.value.preset !== DateRangePreset.CUSTOM &&\n filter.value.preset !== DateRangePreset.NONE\n ) {\n this.onPresetChanged(filter.value.preset);\n return;\n }\n filter.value.preset ? this.clear() : this.remove();\n return;\n }\n\n if (\n filter.value.from?.valueOf() === this.from?.valueOf() &&\n filter.value.to?.valueOf() === this.to?.valueOf()\n ) {\n return;\n }\n\n if (\n filter.value.preset &&\n filter.value.preset !== DateRangePreset.CUSTOM\n ) {\n this.onPresetChanged(filter.value.preset);\n return;\n }\n\n this.from = filter.value.from;\n this.to = filter.value.to;\n this.selectedPreset = DateRangePreset.CUSTOM;\n\n this.isFromTimeSet = !!this.from;\n this.isToTimeSet = !!this.to;\n },\n {\n fireImmediately: true,\n },\n );\n\n return () => {\n disposer();\n };\n }\n\n onPresetChanged(newPreset: string) {\n this.selectedPreset = newPreset;\n\n if (this.selectedPreset === DateRangePreset.CUSTOM) {\n if (!this.from && !this.to) {\n return;\n }\n\n this.filter.setValue(\n {\n from: this.from,\n to: this.to,\n preset: this.selectedPreset,\n },\n {\n emitEvents: ['change'],\n },\n );\n\n return;\n }\n\n if (this.selectedPreset === DateRangePreset.NONE) {\n return this.clear();\n }\n const { from, to } = getDatesFromPreset(this.selectedPreset);\n this.from = from;\n this.to = to;\n this.isFromTimeSet = true;\n this.isToTimeSet = true;\n\n this.refreshIfChanged({\n actionType: 'add',\n clickedValueKey: this.convertToBIFormat(from, to),\n });\n }\n\n onDateSelected(\n newDate: Date | null,\n curDate: Date | null,\n isInvalid: (date: Date) => boolean,\n isTimeSet: boolean,\n type: 'from' | 'to',\n ) {\n if (!newDate) {\n return { date: null, isTimeSet: false };\n }\n const timeDate = new Date(\n type === 'from'\n ? newDate.setHours(0, 0, 0, 0)\n : newDate.setHours(23, 59, 59, 999),\n );\n // takes the current selected date, and copies its time selection to the new selected date\n const resDate = curDate\n ? new Date(newDate.setHours(curDate.getHours(), curDate.getMinutes()))\n : timeDate;\n if (isInvalid(resDate)) {\n return { date: timeDate, isTimeSet: false };\n }\n return { date: resDate, isTimeSet };\n }\n\n onFromSelected(from: Date | null) {\n const { isTimeSet, date } = this.onDateSelected(\n from,\n this.from,\n (d) => !!(this.to && d > this.to),\n this.isFromTimeSet,\n 'from',\n );\n this.from = date;\n this.isFromTimeSet = isTimeSet;\n }\n\n onToSelected(to: Date | null) {\n const { isTimeSet, date } = this.onDateSelected(\n to,\n this.to,\n (d) => !!(this.from && d < this.from),\n this.isToTimeSet,\n 'to',\n );\n this.to = date;\n this.isToTimeSet = isTimeSet;\n }\n\n onTimeSelected(newTime: Date | null, curDate: Date) {\n const fromCpy = new Date(curDate);\n return {\n isTimeSet: !!newTime,\n date: new Date(\n newTime\n ? fromCpy.setHours(newTime.getHours(), newTime.getMinutes())\n : fromCpy.setHours(0, 0),\n ),\n };\n }\n\n onFromTimeSelected(fromTime: Date | null) {\n if (!this.from) {\n return;\n }\n\n const { isTimeSet, date } = this.onTimeSelected(fromTime, this.from);\n this.isFromTimeSet = isTimeSet;\n this.from = date;\n\n this.refreshIfChanged({\n actionType: 'add',\n clickedValueKey: this.convertToBIFormat(this.from, this.to),\n });\n }\n\n onToTimeSelected(toTime: Date | null) {\n if (!this.to) {\n return;\n }\n\n const { isTimeSet, date } = this.onTimeSelected(toTime, this.to);\n this.isToTimeSet = isTimeSet;\n this.to = date;\n\n this.refreshIfChanged({\n actionType: 'add',\n clickedValueKey: this.convertToBIFormat(this.from, this.to),\n });\n }\n\n onFromClosed() {\n this.refreshIfChanged({\n actionType: 'add',\n clickedValueKey: this.convertToBIFormat(this.from, this.to),\n });\n }\n\n onToClosed() {\n this.refreshIfChanged({\n actionType: 'add',\n clickedValueKey: this.convertToBIFormat(this.from, this.to),\n });\n }\n\n static _isBiggerOrSameDate(date1: Date, date2: Date) {\n return (\n date1.getFullYear() > date2.getFullYear() ||\n (date1.getFullYear() === date2.getFullYear() &&\n date1.getMonth() > date2.getMonth()) ||\n (date1.getFullYear() === date2.getFullYear() &&\n date1.getMonth() === date2.getMonth() &&\n date1.getDate() >= date2.getDate())\n );\n }\n\n static _isBiggerDate(date1: Date, date2: Date) {\n return (\n date1.getFullYear() > date2.getFullYear() ||\n (date1.getFullYear() === date2.getFullYear() &&\n date1.getMonth() > date2.getMonth()) ||\n (date1.getFullYear() === date2.getFullYear() &&\n date1.getMonth() === date2.getMonth() &&\n date1.getDate() > date2.getDate())\n );\n }\n\n filterDateFrom(date: Date) {\n return !this.to || DateRangePickerState._isBiggerOrSameDate(this.to, date);\n }\n\n filterDateTo(date: Date) {\n return (\n !this.from || DateRangePickerState._isBiggerOrSameDate(date, this.from)\n );\n }\n\n filterDateTimeFrom(date: Date) {\n if (!this.from) {\n return false;\n }\n\n return (\n !this.isToTimeSet ||\n !this.to ||\n DateRangePickerState._isBiggerDate(this.to, this.from) ||\n this.to.getHours() * 60 + this.to.getMinutes() >=\n date.getHours() * 60 + date.getMinutes()\n );\n }\n\n filterDateTimeTo(date: Date) {\n if (!this.to) {\n return false;\n }\n\n return (\n !this.isFromTimeSet ||\n !this.from ||\n DateRangePickerState._isBiggerDate(this.to, this.from) ||\n this.from.getHours() * 60 + this.from.getMinutes() <=\n date.getHours() * 60 + date.getMinutes()\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,6 +18,7 @@ class EntityPageState {
|
|
|
18
18
|
(0, _defineProperty2.default)(this, "_entity", null);
|
|
19
19
|
(0, _defineProperty2.default)(this, "_parentPageId", void 0);
|
|
20
20
|
(0, _defineProperty2.default)(this, "_parentPath", void 0);
|
|
21
|
+
(0, _defineProperty2.default)(this, "actionsBarConfig", void 0);
|
|
21
22
|
(0, _defineProperty2.default)(this, "container", void 0);
|
|
22
23
|
(0, _defineProperty2.default)(this, "reportBI", void 0);
|
|
23
24
|
(0, _defineProperty2.default)(this, "bi", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_mobx","_EntityPageStateBIReporter","_events","EntityPageState","constructor","params","_defineProperty2","default","EventEmitter","fetch","onSave","saveSuccessToast","saveErrorToast","formPage","FormPageState","form","_parentPageId","parentPageId","transformEntityToCollectionItem","anEntity","_parentPath","parentPath","container","_routerState","routerState","_this$_routerState$cu","_entity","currentState","_chosenEntity","entity","reportBI","createBILogger","componentType","pageType","route","window","location","pathname","bi","EntityPageStateBIReporter","entityPageState","init","makeObservable","handleSubmit","action","observable","ref","setEntity","isFormDirty","computed","_withinRouter","_checkPageParams","initTask","onBeforeUnload","onBeforeUnloadSubscription","event","formState","isSubmitSuccessful","preventDefault","reportOnBeforeUnload","runOnce","_this$bi$appLoaded","_this$bi","data","Promise","all","status","promise","appLoaded","call","remove","retryFetch","newEntity","isFetching","flag","isDirty","_isFormDirty","val","onCancel","reportButtonClick","ctaName","navigateToParent","updatedEntity","entityStringKey","entityObject","navigate","state","navigateTo","pageId","_showErrorToast","err","e","_this$saveErrorToast","_this$container$showT","_this$container","errorToast","message","showTryAgain","tryAgain","showToast","type","biName","translate","code","uiType","text","onClick","reportSaveTryAgain","removeToastOnClick","undefined","_showSuccessToast","_this$saveSuccessToas","_this$container$showT2","_this$container2","submitTask","isLoading","events","emit","isValid","extraFields","validate","run","savedEntity","onSaveResult","widgetsFormData","errorMonitor","captureException","setError","transformedItem","Error","exports"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { FieldValues } from 'react-hook-form';\nimport { EntityPageStateBIReporter } from './EntityPageStateBIReporter';\nimport { EventEmitter, TypedEmitter } from '@wix/bex-core/events';\nimport { WixPatternsRouterState } from '../WixPatternsRouterState';\n\ntype OnSaveParams = {\n widgetsFormData: { [key: string]: any };\n};\n\nexport interface EntityPageStateParams<T, V extends FieldValues = FieldValues> {\n /**\n * A function that fetches the entity data.\n * @returns a promise that resolves to an object containing the entity.\n */\n fetch: () => Promise<{ entity: T | undefined }>;\n\n /**\n * A function to handle the save action.\n * @returns promise that resolves to an object that contains a 'updatedEntity' object.\n */\n onSave: (params: OnSaveParams) => Promise<{ updatedEntity: T }>;\n\n /**\n * An optional object with an optional message, or it can directly get a string message.\n */\n saveSuccessToast?: { message?: string } | string;\n\n /**\n * An optional function to display an error toast message when a save operation fails.\n * @returns an object with an optional message and a `tryAgain` flag, or it can directly return a string message.\n */\n saveErrorToast?: (\n err: unknown,\n ) => { message?: string; tryAgain?: boolean } | string;\n\n /**\n * An optional function to transform the updated entity data before it is passed to the collection page.\n * @param entity the updated entity.\n * @returns an object representing the entity in the collection page.\n */\n transformEntityToCollectionItem?: (entity: T) => any;\n\n form: FormPageState<V>['form'];\n\n /**\n * An object representing the container, possibly for dependency injection or component management.\n */\n container: WixPatternsContainer;\n\n /**\n * A string representing the ID of the parent page.\n * Must be passed if not using Patterns Router\n */\n parentPageId?: string;\n\n /**\n * A string representing the path of the parent page.\n * Must be passed if using Patterns Router\n */\n parentPath?: string;\n\n /**\n * An object representing the router state\n */\n routerState?: WixPatternsRouterState | null;\n}\n\nexport interface EntityPageStateInterface {}\n\nexport interface EntityPageWidgetState {\n validate: () => Promise<{ isValid: boolean; values?: any }>;\n isDirty: boolean;\n}\n\nexport class EntityPageState<T, V extends FieldValues = FieldValues> implements EntityPageStateInterface\n{\n readonly fetch: EntityPageStateParams<T>['fetch'];\n readonly onSave: EntityPageStateParams<T, V>['onSave'];\n readonly saveSuccessToast?: EntityPageStateParams<T>['saveSuccessToast'];\n readonly saveErrorToast?: EntityPageStateParams<T>['saveErrorToast'];\n readonly transformEntityToCollectionItem: (entity: T) => any;\n\n _entity: T | null = null;\n private readonly _parentPageId?: string;\n private readonly _parentPath?: string;\n\n readonly container: WixPatternsContainer;\n readonly reportBI: ReportBI;\n readonly bi: EntityPageStateBIReporter<T, V>;\n\n _routerState: WixPatternsRouterState | null = null;\n\n readonly formPage: FormPageState<V>;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n save: () => void;\n saveError: (err: unknown) => void;\n }>;\n\n constructor(params: EntityPageStateParams<T, V>) {\n this.fetch = params.fetch;\n this.onSave = params.onSave;\n this.saveSuccessToast = params.saveSuccessToast;\n this.saveErrorToast = params.saveErrorToast;\n this.formPage = new FormPageState<V>({ form: params.form });\n this._parentPageId = params.parentPageId;\n this.transformEntityToCollectionItem =\n params.transformEntityToCollectionItem || ((anEntity: T) => anEntity);\n this._parentPath = params.parentPath;\n\n this.container = params.container;\n\n this._routerState = params.routerState ?? null;\n\n if (this._routerState) {\n this._entity = this._routerState.currentState?._chosenEntity?.entity;\n }\n\n this.reportBI = this.container.createBILogger({\n componentType: 'Entity page',\n pageType: 'Entity',\n route: window.location.pathname,\n });\n\n this.bi = new EntityPageStateBIReporter({\n reportBI: this.reportBI,\n entityPageState: this,\n });\n this.bi.init();\n\n makeObservable(this, {\n handleSubmit: action,\n _entity: observable.ref,\n setEntity: action,\n isFormDirty: computed,\n _withinRouter: computed,\n });\n }\n\n init() {\n this._checkPageParams();\n const { formPage: { initTask }, container } = this;\n const { onBeforeUnload } = container;\n\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event) => {\n const { form } = this;\n if (form.formState.isSubmitSuccessful || !this.isFormDirty) {\n return;\n }\n event.preventDefault();\n this.bi.reportOnBeforeUnload();\n }),\n );\n\n initTask.runOnce(async () => {\n const [data] = await Promise.all([\n this.fetch(),\n container.initTask.status.promise,\n ]);\n\n this.setEntity(data.entity ?? null);\n this.bi.appLoaded?.();\n });\n\n return () => {\n onBeforeUnloadSubscription?.remove();\n };\n }\n\n retryFetch() {\n this.formPage.retryFetch()\n }\n\n setEntity(newEntity: T | null) {\n this._entity = newEntity;\n }\n\n get entity(): T | null {\n return this._entity;\n }\n\n get isFetching() {\n return this.formPage.isFetching;\n }\n\n get form() {\n return this.formPage.form;\n }\n\n set isSubmitSuccessful(flag: boolean) {\n this.formPage.isSubmitSuccessful = flag;\n }\n\n get isFormDirty() {\n return this.formPage.isDirty\n }\n\n // backwards compatibility\n set _isFormDirty(val: boolean) {\n this.formPage._isFormDirty = val\n }\n\n get _withinRouter() {\n return !!this._routerState;\n }\n\n onCancel() {\n this.bi.reportButtonClick({ ctaName: 'Cancel' });\n this.navigateToParent();\n }\n\n navigateToParent(updatedEntity?: any) {\n const entityStringKey = this._entity ? '_updatedEntity' : '_createdEntity';\n const entityObject = { [entityStringKey]: updatedEntity };\n\n if (this._withinRouter) {\n this._routerState!.navigate(this._parentPath!, { state: entityObject });\n } else {\n this.container.navigateTo!({\n pageId: this._parentPageId!,\n });\n }\n }\n\n _showErrorToast(err: any, e?: React.BaseSyntheticEvent) {\n const errorToast = this.saveErrorToast?.(err);\n const message =\n typeof errorToast === 'string' ? errorToast : errorToast?.message;\n const showTryAgain =\n typeof errorToast === 'string' ? true : errorToast?.tryAgain !== false;\n\n this.container.showToast?.({\n type: 'ERROR',\n biName: 'cairo-entity-page-save-error-toast',\n message:\n message ??\n this.container.translate(\n err?.code === 'ERR_NETWORK'\n ? 'cairo.entityPage.saveError-offline.toast.description'\n : 'cairo.entityPage.saveError-technical.toast.description',\n ),\n action: showTryAgain\n ? {\n uiType: 'LINK',\n text: this.container.translate('cairo.toast.retry'),\n onClick: () => {\n this.bi.reportSaveTryAgain();\n this.handleSubmit(e);\n },\n removeToastOnClick: true,\n }\n : undefined,\n });\n }\n\n _showSuccessToast() {\n const message =\n typeof this.saveSuccessToast === 'string'\n ? this.saveSuccessToast\n : this.saveSuccessToast?.message;\n\n this.container.showToast?.({\n type: 'SUCCESS',\n biName: 'cairo-entity-page-save-success-toast',\n message:\n message ?? this.container.translate('cairo.entityPage.success.toast'),\n });\n }\n\n async handleSubmit(e?: React.BaseSyntheticEvent) {\n if (this.formPage.submitTask.status.isLoading) {\n return;\n }\n\n this.events.emit('save');\n\n const { isValid, data: extraFields } = await this.formPage.validate();\n\n if (!isValid) {\n this.bi.reportButtonClick({ ctaName: 'Save', isValid: false });\n return;\n }\n\n const { form, formPage: { submitTask }, bi } = this;\n\n submitTask.run(async () => {\n let savedEntity: T | undefined;\n await form.handleSubmit(\n async () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: true });\n try {\n if (!this.isFetching) {\n const onSaveResult = await this.onSave({\n widgetsFormData: { ...extraFields },\n });\n savedEntity = onSaveResult?.updatedEntity;\n }\n this._showSuccessToast();\n } catch (err) {\n this._showErrorToast(err, e);\n this.container.errorMonitor.captureException(err);\n this.events.emit('saveError', err);\n form.setError('root.serverError', {}); // https://react-hook-form.com/docs/useform/seterror\n }\n },\n () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: false });\n }, // can be used to report validation errors\n )(e);\n\n if (!form.formState.isSubmitSuccessful) {\n return;\n }\n\n const transformedItem =\n savedEntity && this.transformEntityToCollectionItem\n ? this.transformEntityToCollectionItem(savedEntity)\n : savedEntity;\n this.navigateToParent(transformedItem);\n });\n await this.formPage.submitTask.status.promise;\n }\n\n get initTask() {\n return this.formPage.initTask\n }\n\n get submitTask() {\n return this.formPage.submitTask\n }\n\n private _checkPageParams() {\n if (this._withinRouter) {\n if (this._parentPath === undefined) {\n throw new Error('parentPath was not defined in useEntityPage');\n }\n } else {\n if (this._parentPageId === undefined) {\n throw new Error('parentPageId was not defined in useEntityPage');\n }\n\n if (!this.container.navigateTo) {\n throw new Error('navigateTo was not defined in Patterns Provider');\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_mobx","_EntityPageStateBIReporter","_events","EntityPageState","constructor","params","_defineProperty2","default","EventEmitter","fetch","onSave","saveSuccessToast","saveErrorToast","formPage","FormPageState","form","_parentPageId","parentPageId","transformEntityToCollectionItem","anEntity","_parentPath","parentPath","container","_routerState","routerState","_this$_routerState$cu","_entity","currentState","_chosenEntity","entity","reportBI","createBILogger","componentType","pageType","route","window","location","pathname","bi","EntityPageStateBIReporter","entityPageState","init","makeObservable","handleSubmit","action","observable","ref","setEntity","isFormDirty","computed","_withinRouter","_checkPageParams","initTask","onBeforeUnload","onBeforeUnloadSubscription","event","formState","isSubmitSuccessful","preventDefault","reportOnBeforeUnload","runOnce","_this$bi$appLoaded","_this$bi","data","Promise","all","status","promise","appLoaded","call","remove","retryFetch","newEntity","isFetching","flag","isDirty","_isFormDirty","val","onCancel","reportButtonClick","ctaName","navigateToParent","updatedEntity","entityStringKey","entityObject","navigate","state","navigateTo","pageId","_showErrorToast","err","e","_this$saveErrorToast","_this$container$showT","_this$container","errorToast","message","showTryAgain","tryAgain","showToast","type","biName","translate","code","uiType","text","onClick","reportSaveTryAgain","removeToastOnClick","undefined","_showSuccessToast","_this$saveSuccessToas","_this$container$showT2","_this$container2","submitTask","isLoading","events","emit","isValid","extraFields","validate","run","savedEntity","onSaveResult","widgetsFormData","errorMonitor","captureException","setError","transformedItem","Error","exports"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n WixPatternsContainer,\n ActionsBarConfig,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { FieldValues } from 'react-hook-form';\nimport { EntityPageStateBIReporter } from './EntityPageStateBIReporter';\nimport { EventEmitter, TypedEmitter } from '@wix/bex-core/events';\nimport { WixPatternsRouterState } from '../WixPatternsRouterState';\n\ntype OnSaveParams = {\n widgetsFormData: { [key: string]: any };\n};\n\nexport interface EntityPageStateParams<T, V extends FieldValues = FieldValues> {\n /**\n * A function that fetches the entity data.\n * @returns a promise that resolves to an object containing the entity.\n */\n fetch: () => Promise<{ entity: T | undefined }>;\n\n /**\n * A function to handle the save action.\n * @returns promise that resolves to an object that contains a 'updatedEntity' object.\n */\n onSave: (params: OnSaveParams) => Promise<{ updatedEntity: T }>;\n\n /**\n * An optional object with an optional message, or it can directly get a string message.\n */\n saveSuccessToast?: { message?: string } | string;\n\n /**\n * An optional function to display an error toast message when a save operation fails.\n * @returns an object with an optional message and a `tryAgain` flag, or it can directly return a string message.\n */\n saveErrorToast?: (\n err: unknown,\n ) => { message?: string; tryAgain?: boolean } | string;\n\n /**\n * An optional function to transform the updated entity data before it is passed to the collection page.\n * @param entity the updated entity.\n * @returns an object representing the entity in the collection page.\n */\n transformEntityToCollectionItem?: (entity: T) => any;\n\n form: FormPageState<V>['form'];\n\n /**\n * An object representing the container, possibly for dependency injection or component management.\n */\n container: WixPatternsContainer;\n\n /**\n * A string representing the ID of the parent page.\n * Must be passed if not using Patterns Router\n */\n parentPageId?: string;\n\n /**\n * A string representing the path of the parent page.\n * Must be passed if using Patterns Router\n */\n parentPath?: string;\n\n /**\n * An object representing the router state\n */\n routerState?: WixPatternsRouterState | null;\n\n /**\n * An optional object to override the actions bar.\n */\n actionsBarConfig?: ActionsBarConfig;\n}\n\nexport interface EntityPageStateInterface {}\n\nexport interface EntityPageWidgetState {\n validate: () => Promise<{ isValid: boolean; values?: any }>;\n isDirty: boolean;\n}\n\nexport class EntityPageState<T, V extends FieldValues = FieldValues>\n implements EntityPageStateInterface\n{\n readonly fetch: EntityPageStateParams<T>['fetch'];\n readonly onSave: EntityPageStateParams<T, V>['onSave'];\n readonly saveSuccessToast?: EntityPageStateParams<T>['saveSuccessToast'];\n readonly saveErrorToast?: EntityPageStateParams<T>['saveErrorToast'];\n readonly transformEntityToCollectionItem: (entity: T) => any;\n\n _entity: T | null = null;\n private readonly _parentPageId?: string;\n private readonly _parentPath?: string;\n\n actionsBarConfig?: EntityPageStateParams<T>['actionsBarConfig'];\n\n readonly container: WixPatternsContainer;\n readonly reportBI: ReportBI;\n readonly bi: EntityPageStateBIReporter<T, V>;\n\n _routerState: WixPatternsRouterState | null = null;\n\n readonly formPage: FormPageState<V>;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n save: () => void;\n saveError: (err: unknown) => void;\n }>;\n\n constructor(params: EntityPageStateParams<T, V>) {\n this.fetch = params.fetch;\n this.onSave = params.onSave;\n this.saveSuccessToast = params.saveSuccessToast;\n this.saveErrorToast = params.saveErrorToast;\n this.formPage = new FormPageState<V>({ form: params.form });\n this._parentPageId = params.parentPageId;\n this.transformEntityToCollectionItem =\n params.transformEntityToCollectionItem || ((anEntity: T) => anEntity);\n this._parentPath = params.parentPath;\n\n this.container = params.container;\n\n this._routerState = params.routerState ?? null;\n\n if (this._routerState) {\n this._entity = this._routerState.currentState?._chosenEntity?.entity;\n }\n\n this.reportBI = this.container.createBILogger({\n componentType: 'Entity page',\n pageType: 'Entity',\n route: window.location.pathname,\n });\n\n this.bi = new EntityPageStateBIReporter({\n reportBI: this.reportBI,\n entityPageState: this,\n });\n this.bi.init();\n\n makeObservable(this, {\n handleSubmit: action,\n _entity: observable.ref,\n setEntity: action,\n isFormDirty: computed,\n _withinRouter: computed,\n });\n }\n\n init() {\n this._checkPageParams();\n const {\n formPage: { initTask },\n container,\n } = this;\n const { onBeforeUnload } = container;\n\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event) => {\n const { form } = this;\n if (form.formState.isSubmitSuccessful || !this.isFormDirty) {\n return;\n }\n event.preventDefault();\n this.bi.reportOnBeforeUnload();\n }),\n );\n\n initTask.runOnce(async () => {\n const [data] = await Promise.all([\n this.fetch(),\n container.initTask.status.promise,\n ]);\n\n this.setEntity(data.entity ?? null);\n this.bi.appLoaded?.();\n });\n\n return () => {\n onBeforeUnloadSubscription?.remove();\n };\n }\n\n retryFetch() {\n this.formPage.retryFetch();\n }\n\n setEntity(newEntity: T | null) {\n this._entity = newEntity;\n }\n\n get entity(): T | null {\n return this._entity;\n }\n\n get isFetching() {\n return this.formPage.isFetching;\n }\n\n get form() {\n return this.formPage.form;\n }\n\n set isSubmitSuccessful(flag: boolean) {\n this.formPage.isSubmitSuccessful = flag;\n }\n\n get isFormDirty() {\n return this.formPage.isDirty;\n }\n\n // backwards compatibility\n set _isFormDirty(val: boolean) {\n this.formPage._isFormDirty = val;\n }\n\n get _withinRouter() {\n return !!this._routerState;\n }\n\n onCancel() {\n this.bi.reportButtonClick({ ctaName: 'Cancel' });\n this.navigateToParent();\n }\n\n navigateToParent(updatedEntity?: any) {\n const entityStringKey = this._entity ? '_updatedEntity' : '_createdEntity';\n const entityObject = { [entityStringKey]: updatedEntity };\n\n if (this._withinRouter) {\n this._routerState!.navigate(this._parentPath!, { state: entityObject });\n } else {\n this.container.navigateTo!({\n pageId: this._parentPageId!,\n });\n }\n }\n\n _showErrorToast(err: any, e?: React.BaseSyntheticEvent) {\n const errorToast = this.saveErrorToast?.(err);\n const message =\n typeof errorToast === 'string' ? errorToast : errorToast?.message;\n const showTryAgain =\n typeof errorToast === 'string' ? true : errorToast?.tryAgain !== false;\n\n this.container.showToast?.({\n type: 'ERROR',\n biName: 'cairo-entity-page-save-error-toast',\n message:\n message ??\n this.container.translate(\n err?.code === 'ERR_NETWORK'\n ? 'cairo.entityPage.saveError-offline.toast.description'\n : 'cairo.entityPage.saveError-technical.toast.description',\n ),\n action: showTryAgain\n ? {\n uiType: 'LINK',\n text: this.container.translate('cairo.toast.retry'),\n onClick: () => {\n this.bi.reportSaveTryAgain();\n this.handleSubmit(e);\n },\n removeToastOnClick: true,\n }\n : undefined,\n });\n }\n\n _showSuccessToast() {\n const message =\n typeof this.saveSuccessToast === 'string'\n ? this.saveSuccessToast\n : this.saveSuccessToast?.message;\n\n this.container.showToast?.({\n type: 'SUCCESS',\n biName: 'cairo-entity-page-save-success-toast',\n message:\n message ?? this.container.translate('cairo.entityPage.success.toast'),\n });\n }\n\n async handleSubmit(e?: React.BaseSyntheticEvent) {\n if (this.formPage.submitTask.status.isLoading) {\n return;\n }\n\n this.events.emit('save');\n\n const { isValid, data: extraFields } = await this.formPage.validate();\n\n if (!isValid) {\n this.bi.reportButtonClick({ ctaName: 'Save', isValid: false });\n return;\n }\n\n const {\n form,\n formPage: { submitTask },\n bi,\n } = this;\n\n submitTask.run(async () => {\n let savedEntity: T | undefined;\n await form.handleSubmit(\n async () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: true });\n try {\n if (!this.isFetching) {\n const onSaveResult = await this.onSave({\n widgetsFormData: { ...extraFields },\n });\n savedEntity = onSaveResult?.updatedEntity;\n }\n this._showSuccessToast();\n } catch (err) {\n this._showErrorToast(err, e);\n this.container.errorMonitor.captureException(err);\n this.events.emit('saveError', err);\n form.setError('root.serverError', {}); // https://react-hook-form.com/docs/useform/seterror\n }\n },\n () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: false });\n }, // can be used to report validation errors\n )(e);\n\n if (!form.formState.isSubmitSuccessful) {\n return;\n }\n\n const transformedItem =\n savedEntity && this.transformEntityToCollectionItem\n ? this.transformEntityToCollectionItem(savedEntity)\n : savedEntity;\n this.navigateToParent(transformedItem);\n });\n await this.formPage.submitTask.status.promise;\n }\n\n get initTask() {\n return this.formPage.initTask;\n }\n\n get submitTask() {\n return this.formPage.submitTask;\n }\n\n private _checkPageParams() {\n if (this._withinRouter) {\n if (this._parentPath === undefined) {\n throw new Error('parentPath was not defined in useEntityPage');\n }\n } else {\n if (this._parentPageId === undefined) {\n throw new Error('parentPageId was not defined in useEntityPage');\n }\n\n if (!this.container.navigateTo) {\n throw new Error('navigateTo was not defined in Patterns Provider');\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -227,7 +227,6 @@ class NestedTableNodeState {
|
|
|
227
227
|
async _toggleExpand() {
|
|
228
228
|
var _this$parentNode;
|
|
229
229
|
const promise = this.node._toggleExpand();
|
|
230
|
-
this.bi.reportExpandCollapse();
|
|
231
230
|
(_this$parentNode = this.parentNode) == null || _this$parentNode.parentKeyToChildrenMapAtom.reportChanged();
|
|
232
231
|
await promise;
|
|
233
232
|
(0, _mobx.runInAction)(() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_mobx","_NestedTableNodeStateBIReporter","_getNodeOrLeaf","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","depth","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","getKeyedItemByIndex","ind","set","delete","_this$parentNode","promise","reportExpandCollapse","reportChanged","runInAction","_this$parentNode2","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 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';\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<C extends string, T, F extends FiltersMap> {\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 depth() {\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 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 this.bi.reportExpandCollapse();\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.depth === 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, depth, 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[depth + 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;AAOA,IAAAC,KAAA,GAAAD,OAAA;AAUA,IAAAE,+BAAA,GAAAF,OAAA;AAGA,IAAAG,cAAA,GAAAH,OAAA;AAiDO,MAAMI,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,2BAuGiB,MAAM,IAAI,CAACI,IAAI,CAACC,UAAU,CAACC,eAAe,CAAC,CAAC;IApG5D,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,KAAKA,CAAA,EAAG;IACV,OAAO,IAAI,CAACvB,eAAe,CAACuB,KAAK;EACnC;EAEA,IAAIJ,kBAAkBA,CAAA,EAAW;IAC/B,MAAM;MAAEzB,IAAI;MAAE8B,sBAAsB;MAAEC;IAA2B,CAAC,GAAG,IAAI;IACzE,MAAM;MACJ9B,UAAU,EAAE;QACV+B,MAAM,EAAE;UAAEnB;QAAW;MACvB;IACF,CAAC,GAAGb,IAAI;IAER+B,0BAA0B,CAACE,cAAc,CAAC,CAAC;IAE3C,OACEpB,UAAU,CAACqB,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,CAA0CZ,kBAAkB,KAAI,CAClE,CAAC;IACH,CAAC,EAAE,CAAC,CAAC,IAAIZ,UAAU,CAAC6B,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;EAEvC;EAEA,IAAIC,SAASA,CAAA,EAAG;IACd,OAAO,IAAI,CAAC3C,IAAI,CAAC2C,SAAS;EAC5B;EAEA,IAAIC,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACtC,eAAe,CAACsC,OAAO;EACrC;EAEA,IAAIC,gBAAgBA,CAAA,EAAG;IACrB,OAAO,IAAI,CAACvC,eAAe,CAACuC,gBAAgB;EAC9C;EAEA,IAAIC,kBAAkBA,CAAA,EAAG;IACvB,OAAO,IAAI,CAAC9C,IAAI,CAAC+C,sBAAsB;EACzC;EAEAC,YAAYA,CAACC,OAAgB,EAAE;IAC7B,IAAI,CAACjD,IAAI,CAACgD,YAAY,CAACC,OAAO,CAAC;EACjC;EAEA,IAAIC,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAAClD,IAAI,CAACC,UAAU,CAACiD,cAAc;EAC5C;EAEA,IAAIC,gBAAgBA,CAAA,EAAG;IACrB,OACE,IAAI,CAACnD,IAAI,CAACC,UAAU,CAACmD,iBAAiB,IACtC,IAAI,CAACpD,IAAI,CAACC,UAAU,CAACoD,iBAAiB;EAE1C;EAEA,IAAIC,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAACtD,IAAI,CAACC,UAAU,CAACqD,cAAc;EAC5C;EAEA,IAAIC,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACvD,IAAI,CAACC,UAAU,CAAC+B,MAAM,CAACuB,WAAW;EAChD;EAIA,IAAItC,yBAAyBA,CAAA,EAAG;IAC9B,MAAM;MACJd,WAAW,EAAE;QAAEqD;MAAkB,CAAC;MAClCxD,IAAI,EAAE;QACJC,UAAU,EAAE;UAAEiD;QAAe;MAC/B;IACF,CAAC,GAAG,IAAI;IACR,OAAO,CAACM,iBAAiB,IAAIN,cAAc;EAC7C;EAEA,IAAIlC,qBAAqBA,CAAA,EAAwC;IAC/D,MAAM;MACJX,MAAM;MACNF,WAAW,EAAE;QAAEqD;MAAkB,CAAC;MAClCb,SAAS;MACT3C,IAAI,EAAE;QACJC,UAAU,EAAE;UAAEoD,iBAAiB;UAAEH,cAAc;UAAEI;QAAe;MAClE;IACF,CAAC,GAAG,IAAI;IAER,IAAI,CAACX,SAAS,EAAE;MACd,OAAO,EAAE;IACX;IAEA,OAAO,CACL,GAAG,IAAI,CAAC9B,UAAU,EAClB,IAAIR,MAAM,IACVmD,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,sBAAsBpC,MAAM,CAACyD,GAAG,EAAE;MACtCA,GAAG,EAAE,sBAAsBzD,MAAM,CAACyD,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,IAAIrD,cAAcA,CAAA,EAAmD;IACnE,OAAO,IAAIjB,GAAG,CACZ,IAAI,CAACe,UAAU,CAAC8C,GAAG,CAAEvB,SAAS,IAAK,CAACA,SAAS,CAAC0B,GAAG,EAAE1B,SAAS,CAAC,CAC/D,CAAC;EACH;EAEA,IAAIvB,UAAUA,CAAA,EAAwC;IACpD,MAAM;MAAEb,IAAI;MAAE8B,sBAAsB;MAAEC;IAA2B,CAAC,GAAG,IAAI;IACzE,MAAM;MACJ9B,UAAU,EAAE;QACV+B,MAAM,EAAE;UAAEnB;QAAW;MACvB;IACF,CAAC,GAAGb,IAAI;IAER+B,0BAA0B,CAACE,cAAc,CAAC,CAAC;IAE3C,OAAOpB,UAAU,CACdwD,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,CAA2CtD,qBAAqB,KAClE,EAAE,CAAC,CACN;IAAA,EAAC,CACD2C,GAAG,CAAC,CAACvB,SAAS,EAAEyB,KAAK,MAAM;MAAE,GAAGzB,SAAS;MAAEyB;IAAM,CAAC,CAAC,CAAC;EACzD;EAEAnC,YAAYA,CAACoC,GAAW,EAAE;IACxB,OAAO,IAAI,CAAC/C,cAAc,CAACyB,GAAG,CAACsB,GAAG,CAAC;EACrC;EAEAS,cAAcA,CAAA,EAIV;IACF,MAAM;MAAEtE;IAAW,CAAC,GAAG,IAAI;IAE3B,OAAOA,UAAU,CAAC+B,MAAM,CAACnB,UAAU,CAACwD,OAAO,CAAEjC,SAAS,IAAK;MACzD,MAAMpC,IAAI,GAAG,IAAAwE,4BAAa,EAAC,IAAI,EAAEpC,SAAS,CAAC;MAC3C,OAAO,CAACpC,IAAI,EAAE,GAAGA,IAAI,CAACuE,cAAc,CAAS,CAAC,CAAC;IACjD,CAAC,CAAC;EACJ;EAEAE,QAAQA,CAA4BX,GAAW,EAAE;IAC/C,MAAM9D,IAAI,GAAG,IAAI,CAACe,cAAc,CAACyB,GAAG,CAACsB,GAAG,CAAC;IACzC,OAAO9D,IAAI,oBAAJA,IAAI,CAAEiE,IAAI,CAACC,KAAK,CAACpC,sBAAsB,CAACU,GAAG,CAACsB,GAAG,CAAC;EAGzD;EAEAY,SAASA,CAAA,EAIA;IACP,OAAO,IAAI,CAACtE,UAAU;EACxB;EAEAuE,OAAOA,CAAA,EAAkB;IACvB,MAAM;MAAEtE,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,CAAC2E,OAAO,CAACvE,MAAM,CAACyD,GAAG,CAAC;EAClD;EAEAe,YAAYA,CAAA,EAAG;IACb,IAAI,CAACvD,aAAa,CAAC,CAAC;EACtB;EAEAwD,mBAAmBA,CAACC,GAAW,EAAE;IAC/B,OAAO,IAAI,CAAClE,UAAU,CAACkE,GAAG,CAAC;EAC7B;EAEApD,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,CAAC0B,sBAAsB,CAACkD,GAAG,CAAC3E,MAAM,CAACyD,GAAG,EAAE,IAAI,CAAC;IAEvD,OAAO,MAAM;MACX1D,UAAU,CAAC0B,sBAAsB,CAACmD,MAAM,CAAC5E,MAAM,CAACyD,GAAG,CAAC;IACtD,CAAC;EACH;EAEA,MAAMxC,aAAaA,CAAA,EAAG;IAAA,IAAA4D,gBAAA;IACpB,MAAMC,OAAO,GAAG,IAAI,CAACnF,IAAI,CAACsB,aAAa,CAAC,CAAC;IACzC,IAAI,CAACf,EAAE,CAAC6E,oBAAoB,CAAC,CAAC;IAC9B,CAAAF,gBAAA,OAAI,CAAC9E,UAAU,aAAf8E,gBAAA,CAAiBnD,0BAA0B,CAACsD,aAAa,CAAC,CAAC;IAC3D,MAAMF,OAAO;IACb,IAAAG,iBAAW,EAAC,MAAM;MAAA,IAAAC,iBAAA;MAChB,CAAAA,iBAAA,OAAI,CAACnF,UAAU,aAAfmF,iBAAA,CAAiBxD,0BAA0B,CAACsD,aAAa,CAAC,CAAC;IAC7D,CAAC,CAAC;EACJ;EAEA,MAAMhE,eAAeA,CAAA,EAAG;IACtB,MAAM;MAAErB;IAAK,CAAC,GAAG,IAAI;IACrB,MAAM;MACJC,UAAU,EAAE;QACV+B,MAAM,EAAE;UAAEnB;QAAW;MACvB;IACF,CAAC,GAAGb,IAAI;IAER,MAAMwF,OAAO,CAACC,GAAG,CACf5E,UAAU,CAAC8C,GAAG,CAAC,MAAOvB,SAAS,IAAK;MAClC,MAAM8B,KAAK,GAAG,IAAI,CAAC9C,UAAU,CAAC;QAAEf,MAAM,EAAE+B,SAAS;QAAEsD,WAAW,EAAE;MAAK,CAAC,CAAC;MACvE,IAAIxB,KAAK,IAAI,IAAI,EAAE;QACjB;MACF;MACA,MAAMyB,OAAO,GAAGzB,KAAK,CAAChD,IAAI,CAAC,CAAC;MAC5B,MAAMgD,KAAK,CAAC0B,QAAQ,CAACC,MAAM,CAACV,OAAO;MACnCQ,OAAO,CAAC,CAAC;IACX,CAAC,CACH,CAAC;EACH;EAEApE,OAAOA,CAAA,EAAG;IACR,MAAM;MAAEQ;IAA2B,CAAC,GAAG,IAAI;IAC3CA,0BAA0B,CAACsD,aAAa,CAAC,CAAC;EAC5C;EAEA7D,UAAUA,CAAA,EAAG;IACX,MAAM;MAAEM;IAAuB,CAAC,GAAG,IAAI;IACvC,IAAI,CAACP,OAAO,CAAC,CAAC;IACdO,sBAAsB,CAACgE,OAAO,CAAE5B,KAAK,IAAK;MACxCA,KAAK,CAAC1C,UAAU,CAAC,CAAC;IACpB,CAAC,CAAC;EACJ;EAEAN,IAAIA,CAAC;IAAE6E;EAAqD,CAAC,GAAG,CAAC,CAAC,EAAE;IAClE,MAAM;MAAE/F,IAAI;MAAE4F,QAAQ;MAAEzF,WAAW;MAAEF;IAAW,CAAC,GAAG,IAAI;IAExD,MAAM;MAAE+F;IAAuB,CAAC,GAAG7F,WAAW;IAE9C,MAAM8F,SAAS,GAAG,CAChBjG,IAAI,CAACkB,IAAI,CAAC;MAAE6E;IAAmB,CAAC,CAAC,EACjCC,sBAAsB,oBAAtBA,sBAAsB,CAAEE,cAAc,CAACjG,UAAU,CAAC,CACnD;IAED2F,QAAQ,CAACO,OAAO,CAAC,YAAY;MAC3BnG,IAAI,CAAC4F,QAAQ,CAACO,OAAO,CAAC,CAAC;MACvB,MAAMnG,IAAI,CAAC4F,QAAQ,CAACC,MAAM,CAACV,OAAO;MAElC,MAAM,IAAAG,iBAAW,EAAC,YAAY;QAC5B,IAAI,CAACnF,WAAW,CAACqD,iBAAiB,EAAE;UAClC,MAAM,IAAI,CAACnC,eAAe,CAAC,CAAC;UAC5B,IAAI,IAAI,CAACQ,KAAK,KAAK,CAAC,EAAE;YACpB,IAAI,CAACL,UAAU,CAAC,CAAC;UACnB;QACF;QACA;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;IAEF,OAAO,MAAM;MACXyE,SAAS,CAACH,OAAO,CAAEM,CAAC,IAAKA,CAAC,oBAADA,CAAC,CAAG,CAAC,CAAC;IACjC,CAAC;EACH;EAEAhF,UAAUA,CAAC;IACTf,MAAM;IACNqF;EAIF,CAAC,EAA4C;IAC3C,MAAM;MAAEvF,WAAW;MAAEH,IAAI;MAAE6B,KAAK;MAAEC;IAAuB,CAAC,GAAG,IAAI;IAEjE,MAAMuE,QAAQ,GAAGvE,sBAAsB,CAACU,GAAG,CAACnC,MAAM,CAACyD,GAAG,CAAC;IAEvD,IAAIuC,QAAQ,IAAI,IAAI,EAAE;MACpB,OAAOA,QAAQ;IACjB;IAEA,MAAMC,mBAAmB,GAAGnG,WAAW,CAACoG,MAAM,CAAC1E,KAAK,GAAG,CAAC,CAAC;IAEzD,IAAIyE,mBAAmB,IAAI,IAAI,EAAE;MAC/B,OAAO,IAAI;IACb;IAEA,MAAME,aAAa,GAAGxG,IAAI,CAACyG,WAAW,CAACpG,MAAM,EAAE;MAC7CC,eAAe,EAAEgG,mBAAmB;MACpCZ;IACF,CAAC,CAAC;IAEF,IAAIc,aAAa,IAAI,IAAI,EAAE;MACzB,OAAO,IAAI;IACb;IAEA,OAAO,IAAIhH,oBAAoB,CAAC;MAC9Ba,MAAM;MACND,UAAU,EAAE,IAAI;MAChBD,WAAW;MACXH,IAAI,EAAEwG,aAAa;MACnBlG,eAAe,EAAEgG,mBAAmB;MACpCZ;IACF,CAAC,CAAC;EACJ;AACF;AAACgB,OAAA,CAAAlH,oBAAA,GAAAA,oBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_mobx","_NestedTableNodeStateBIReporter","_getNodeOrLeaf","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","depth","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","getKeyedItemByIndex","ind","set","delete","_this$parentNode","promise","reportChanged","runInAction","_this$parentNode2","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 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';\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 depth() {\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 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.depth === 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, depth, 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[depth + 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":[]}
|
|
@@ -10,7 +10,9 @@ const withoutDefaults = (0, _bexCore.withoutIrrelevant)();
|
|
|
10
10
|
class NestedTableNodeStateBIReporter {
|
|
11
11
|
constructor(_state) {
|
|
12
12
|
(0, _defineProperty2.default)(this, "state", void 0);
|
|
13
|
-
(0, _defineProperty2.default)(this, "reportExpandCollapse", (
|
|
13
|
+
(0, _defineProperty2.default)(this, "reportExpandCollapse", ({
|
|
14
|
+
isSelectAll
|
|
15
|
+
} = {}) => {
|
|
14
16
|
const {
|
|
15
17
|
state
|
|
16
18
|
} = this;
|
|
@@ -36,7 +38,8 @@ class NestedTableNodeStateBIReporter {
|
|
|
36
38
|
itemId: parent.id,
|
|
37
39
|
itemIndex: state._rowNum,
|
|
38
40
|
currentLevel: parentNode.depth,
|
|
39
|
-
numLevels: state.nestedTable.levels.length
|
|
41
|
+
numLevels: state.nestedTable.levels.length,
|
|
42
|
+
isSelectAll
|
|
40
43
|
}));
|
|
41
44
|
});
|
|
42
45
|
this.state = _state;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_bi","withoutDefaults","withoutIrrelevant","NestedTableNodeStateBIReporter","constructor","state","_defineProperty2","default","parent","parentNode","node","_expanded","nestedTable","reportBi","toolbar","cairoNestedTableCollapseAndExpand","_commonDynamicBiParams","clickType","itemId","id","itemIndex","_rowNum","currentLevel","depth","numLevels","levels","length","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableNodeStateBIReporter.ts"],"sourcesContent":["import { FiltersMap, withoutIrrelevant } from '@wix/bex-core';\nimport { cairoNestedTableCollapseAndExpand } from '@wix/bex-core/bi';\nimport { NestedTableNodeState } from './NestedTableNodeState';\n\nconst withoutDefaults = withoutIrrelevant<\n | 'currentTab'\n | 'currentView'\n | 'currentFilters'\n | 'currentSortOrder'\n | 'listSize'\n | 'filteredListSize'\n | 'initialItems'\n\n // bulk actions\n | 'countItems'\n | 'isFromSearch'\n | '
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_bi","withoutDefaults","withoutIrrelevant","NestedTableNodeStateBIReporter","constructor","state","_defineProperty2","default","isSelectAll","parent","parentNode","node","_expanded","nestedTable","reportBi","toolbar","cairoNestedTableCollapseAndExpand","_commonDynamicBiParams","clickType","itemId","id","itemIndex","_rowNum","currentLevel","depth","numLevels","levels","length","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableNodeStateBIReporter.ts"],"sourcesContent":["import { FiltersMap, withoutIrrelevant } from '@wix/bex-core';\nimport { cairoNestedTableCollapseAndExpand } from '@wix/bex-core/bi';\nimport { NestedTableNodeState } from './NestedTableNodeState';\n\nconst withoutDefaults = withoutIrrelevant<\n | 'currentTab'\n | 'currentView'\n | 'currentFilters'\n | 'currentSortOrder'\n | 'listSize'\n | 'filteredListSize'\n | 'initialItems'\n\n // bulk actions\n | 'countItems'\n | 'isFromSearch'\n | 'searchQuery'\n | 'currentStep'\n>();\n\nexport class NestedTableNodeStateBIReporter<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n readonly state: NestedTableNodeState<C, T, F>;\n\n constructor(state: NestedTableNodeState<C, T, F>) {\n this.state = state;\n }\n\n reportExpandCollapse = ({ isSelectAll }: { isSelectAll?: boolean } = {}) => {\n const { state } = this;\n const {\n parent,\n parentNode,\n node: { _expanded },\n } = state;\n const {\n nestedTable: { reportBi, toolbar },\n } = state;\n\n if (parent == null || parentNode == null) {\n return;\n }\n\n reportBi(\n withoutDefaults(cairoNestedTableCollapseAndExpand)({\n ...toolbar._commonDynamicBiParams(),\n clickType: _expanded ? 'Expand' : 'Collapse',\n itemId: parent.id,\n itemIndex: state._rowNum,\n currentLevel: parentNode.depth,\n numLevels: state.nestedTable.levels.length,\n isSelectAll,\n }),\n );\n };\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,GAAA,GAAAD,OAAA;AAGA,MAAME,eAAe,GAAG,IAAAC,0BAAiB,EAcvC,CAAC;AAEI,MAAMC,8BAA8B,CAIzC;EAGAC,WAAWA,CAACC,MAAoC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,gCAI3B,CAAC;MAAEC;IAAuC,CAAC,GAAG,CAAC,CAAC,KAAK;MAC1E,MAAM;QAAEH;MAAM,CAAC,GAAG,IAAI;MACtB,MAAM;QACJI,MAAM;QACNC,UAAU;QACVC,IAAI,EAAE;UAAEC;QAAU;MACpB,CAAC,GAAGP,KAAK;MACT,MAAM;QACJQ,WAAW,EAAE;UAAEC,QAAQ;UAAEC;QAAQ;MACnC,CAAC,GAAGV,KAAK;MAET,IAAII,MAAM,IAAI,IAAI,IAAIC,UAAU,IAAI,IAAI,EAAE;QACxC;MACF;MAEAI,QAAQ,CACNb,eAAe,CAACe,qCAAiC,CAAC,CAAC;QACjD,GAAGD,OAAO,CAACE,sBAAsB,CAAC,CAAC;QACnCC,SAAS,EAAEN,SAAS,GAAG,QAAQ,GAAG,UAAU;QAC5CO,MAAM,EAAEV,MAAM,CAACW,EAAE;QACjBC,SAAS,EAAEhB,KAAK,CAACiB,OAAO;QACxBC,YAAY,EAAEb,UAAU,CAACc,KAAK;QAC9BC,SAAS,EAAEpB,KAAK,CAACQ,WAAW,CAACa,MAAM,CAACC,MAAM;QAC1CnB;MACF,CAAC,CACH,CAAC;IACH,CAAC;IA7BC,IAAI,CAACH,KAAK,GAAGA,MAAK;EACpB;AA6BF;AAACuB,OAAA,CAAAzB,8BAAA,GAAAA,8BAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
.Collapse4051275564__root{transition-property:height;transition-timing-function:cubic-bezier(.4,0,.2,1)}.Collapse4051275564__exit{height:0}.CollectionToolbar332404450__left{min-width:0}.CollectionToolbar332404450__left.CollectionToolbar332404450--expandable{flex:auto}.CollectionToolbar332404450__root .CollectionToolbar332404450__right{justify-content:flex-end!important;flex:auto}.CollectionToolbar332404450__root .CollectionToolbar332404450__right.CollectionToolbar332404450__fullWidth{margin-inline-start:0!important}.SearchOrCustomFilter620743018__search{min-width:140px;max-width:240px;flex:1 0}.AutoCompleteReadonly2945034048__root.AutoCompleteReadonly2945034048--disableEditing{cursor:pointer}.AutoCompleteReadonly2945034048__root.AutoCompleteReadonly2945034048--disableEditing input{cursor:pointer}.ViewsDropdown3562527549__root{width:200px}.DragHandle2800040727__root{display:flex;align-items:center}.DragHandle2800040727__root:not(.DragHandle2800040727--disabled){cursor:grab;color:#a8caff}.DragHandle2800040727__root.DragHandle2800040727--disabled{color:#acafc4}.DragHandle2800040727__root:focus-visible:not(.DragHandle2800040727--disabled){outline:0;box-shadow:0 0 0 3px #a6d0ff}.DragHandle2800040727__root.DragHandle2800040727--disabled{pointer-events:none}.DragHandle2800040727__root.DragHandle2800040727--dragging:not(.DragHandle2800040727--disabled){cursor:grabbing}.Fade3761379791__root{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);opacity:1}.Fade3761379791__root.Fade3761379791--exit{opacity:0}.Heading4111108228__root{visibility:visible}.Heading4111108228__root.Heading4111108228--appearanceH2{font-size:28px!important;line-height:36px!important}.InputOverflow420817966__root.InputOverflow420817966--selected:not(.InputOverflow420817966--focused) input::placeholder{color:#000624}@keyframes LoadingRow1937930548__gradientSwoosh{0%{background-position:50% 50%;background-size:150% 125%}15%{background-position:75% 40%;background-size:130% 115%}30%{background-position:50% 50%;background-size:120% 135%}60%{background-position:30% 50%;background-size:120% 135%}80%{background-position:10% 30%;background-size:130% 155%}to{background-position:40% 45%;background-size:125% 135%}}.LoadingRow1937930548__root{background-image:linear-gradient(60deg,rgba(255,255,255,.15)0,rgba(255,255,255,.15) 50%,rgba(95,242,174,.15) 100%),linear-gradient(284.81deg,#fff 67.18%,#91bbff 158.87%),linear-gradient(29deg,rgba(145,187,255,.6)0,#fff 40%,rgba(95,242,174,.6) 100%);height:100%;background-size:150% 125%;background-repeat:no-repeat;animation:LoadingRow1937930548__gradientSwoosh 2s ease-out infinite alternate}.MaxHeightText1459730242__root{opacity:1}.MaxHeightText1459730242__root.MaxHeightText1459730242--height24{line-height:24px}.MaxLines2812086588__root{overflow:hidden}.MaxLines2812086588__root.MaxLines2812086588--clamp{-webkit-box-orient:vertical;display:-webkit-box}.MultiBulkActionToolbar3846683528__root{min-width:0}.NestedTablePlaceholderStatesRow24276527__root td{padding:0!important;width:100%}.NestedTableRow3878996707__firstLevel td{padding-top:18px!important;padding-bottom:18px!important}.NestedTableRow3878996707__root:hover{background-color:#e7f0ff}.NestedTableRow3878996707__root.NestedTableRow3878996707--expandable{cursor:pointer}.NestedTableRow3878996707__placeholder td{padding:0!important;width:100%}.NestedTableRow3878996707__root:hover td:first-of-type::before,.NestedTableRow3878996707__parentHovered td:first-of-type::before{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;background-color:#5999ff}.MultipleDragOverlayEffect4291226685__root{position:absolute;transform:translate(6px,6px);background-color:#fff;box-shadow:0 2px 4px 0 rgba(0,6,36,.12),0 0 6px 0 rgba(0,6,36,.12)}.NestedTableDragAndDropRow50948439__root.NestedTableDragAndDropRow50948439--draggingInto td{background-color:#e7f0ff!important}.PickerContent490505804__root{display:flex}.PickerContentAdditionalStep1421860261__titles{display:flex;justify-content:center;flex:1 1 auto;overflow:hidden;flex-direction:column}.PickerContentAdditionalStep1421860261__suffix{display:flex;align-items:center;flex:0 0 auto;overflow:hidden}.PickerTableListItem3984145345__root{box-sizing:border-box}.ScrollableContent377836087__root.ScrollableContent377836087--overflowY{overflow-y:auto}.ScrollableContent377836087__root.ScrollableContent377836087--overflowX{overflow-x:auto}.ScrollableContent377836087__root.ScrollableContent377836087--smooth{scroll-behavior:smooth}.SkeletonCard3373751420__headerLoading{display:block!important}.SlidingModal867453258__root{transition:transform .4s ease 0s;position:fixed;z-index:1}.SlidingModal867453258__root:not(.SlidingModal867453258--exited){box-shadow:0 3px 24px 0 rgba(22,45,61,.18),0 8px 8px 0 rgba(22,45,61,.12)}.TableVirtualHeader4151854185__root{display:flex}.TabsFilter1379178678__root .TabsFilter1379178678__title{color:inherit!important}.ManageTagsModal625599968__root{display:flex}.ToolbarItemBox2388179120__root{min-width:0}.ToolbarItemBox2388179120__root.ToolbarItemBox2388179120--removeStartPadding{margin-left:-24px}.ToolbarItemBox2388179120__root.ToolbarItemBox2388179120--expandable{flex:1 0}.common6542886__column{display:flex;flex-direction:column}.common6542886__fullHeight{height:100%;min-height:0}
|
package/dist/cjs/version.js
CHANGED
package/dist/cjs/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["version","exports"],"sources":["../../src/version.ts"],"sourcesContent":["export const version = 'patterns@1.
|
|
1
|
+
{"version":3,"names":["version","exports"],"sources":["../../src/version.ts"],"sourcesContent":["export const version = 'patterns@1.62.0';\n"],"mappings":";;;;AAAO,MAAMA,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG,iBAAiB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["required","exports"],"sources":["../../src/wix-design-system-version.ts"],"sourcesContent":["export const required = '^1.
|
|
1
|
+
{"version":3,"names":["required","exports"],"sources":["../../src/wix-design-system-version.ts"],"sourcesContent":["export const required = '^1.121.0';\n"],"mappings":";;;;AAAO,MAAMA,QAAQ,GAAAC,OAAA,CAAAD,QAAA,GAAG,UAAU","ignoreList":[]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
3
|
-
var _namespace_ = "
|
|
3
|
+
var _namespace_ = "Collapse4051275564";
|
|
4
4
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
5
5
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
6
6
|
export var style = _style_;
|
|
7
7
|
export var st = _style_;
|
|
8
8
|
export var namespace = _namespace_;
|
|
9
|
-
export var classes = { "root": "
|
|
9
|
+
export var classes = { "root": "Collapse4051275564__root", "exit": "Collapse4051275564__exit" };
|
|
10
10
|
export var keyframes = {};
|
|
11
11
|
export var layers = {};
|
|
12
12
|
export var containers = {};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
3
|
-
var _namespace_ = "
|
|
3
|
+
var _namespace_ = "CollectionToolbar332404450";
|
|
4
4
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
5
5
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
6
6
|
export var style = _style_;
|
|
7
7
|
export var st = _style_;
|
|
8
8
|
export var namespace = _namespace_;
|
|
9
|
-
export var classes = { "root": "
|
|
9
|
+
export var classes = { "root": "CollectionToolbar332404450__root", "left": "CollectionToolbar332404450__left", "right": "CollectionToolbar332404450__right", "fullWidth": "CollectionToolbar332404450__fullWidth" };
|
|
10
10
|
export var keyframes = {};
|
|
11
11
|
export var layers = {};
|
|
12
12
|
export var containers = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollectionToolbar.st.css.js","sourceRoot":"","sources":["../../../../src/components/CollectionToolbar/CollectionToolbar.st.css.ts"],"names":[],"mappings":"AAAA,cAAc;AAGd,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAI9E,IAAI,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"CollectionToolbar.st.css.js","sourceRoot":"","sources":["../../../../src/components/CollectionToolbar/CollectionToolbar.st.css.ts"],"names":[],"mappings":"AAAA,cAAc;AAGd,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAI9E,IAAI,WAAW,GAAG,4BAA4B,CAAC;AAC/C,IAAI,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAErD,MAAM,CAAC,IAAI,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAC7D,MAAM,CAAC,IAAI,KAAK,GAAG,OAAO,CAAC;AAC3B,MAAM,CAAC,IAAI,EAAE,GAA2C,OAAO,CAAC;AAEhE,MAAM,CAAC,IAAI,SAAS,GAAG,WAAW,CAAC;AACnC,MAAM,CAAC,IAAI,OAAO,GAAG,EAAC,MAAM,EAAC,kCAAkC,EAAC,MAAM,EAAC,kCAAkC,EAAC,OAAO,EAAC,mCAAmC,EAAC,WAAW,EAAC,uCAAuC,EAAC,CAAC;AAC3M,MAAM,CAAC,IAAI,SAAS,GAAG,EAAE,CAAC;AAC1B,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;AACvB,MAAM,CAAC,IAAI,UAAU,GAAG,EAAE,CAAC;AAC3B,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;AACvB,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
3
|
-
var _namespace_ = "
|
|
3
|
+
var _namespace_ = "SearchOrCustomFilter620743018";
|
|
4
4
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
5
5
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
6
6
|
export var style = _style_;
|
|
7
7
|
export var st = _style_;
|
|
8
8
|
export var namespace = _namespace_;
|
|
9
|
-
export var classes = { "root": "
|
|
9
|
+
export var classes = { "root": "SearchOrCustomFilter620743018__root", "search": "SearchOrCustomFilter620743018__search" };
|
|
10
10
|
export var keyframes = {};
|
|
11
11
|
export var layers = {};
|
|
12
12
|
export var containers = {};
|