@wix/patterns 1.408.0 → 1.409.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
- package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js +3 -3
- package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js.map +1 -1
- package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js +3 -3
- package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
- package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +3 -3
- package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js.map +1 -1
- package/dist/cjs/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +3 -3
- package/dist/cjs/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.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/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +3 -3
- package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
- package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.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 +4 -4
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.js +104 -0
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css +22 -0
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js +23 -0
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.uni.driver.js +39 -0
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/address/View.js +29 -0
- package/dist/cjs/components/EditableTable/cellTypes/address/View.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/address/View.uni.driver.js +13 -0
- package/dist/cjs/components/EditableTable/cellTypes/address/View.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/address/index.js +78 -0
- package/dist/cjs/components/EditableTable/cellTypes/address/index.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/index.js +3 -1
- package/dist/cjs/components/EditableTable/cellTypes/index.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js +4 -4
- package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
- package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
- package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
- package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
- package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
- package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
- package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
- package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
- package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/cjs/components/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/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItem/ToolbarItem.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/useIsMobile.js +1 -9
- package/dist/cjs/hooks/useIsMobile.js.map +1 -1
- package/dist/cjs/model/view.js +11 -1
- package/dist/cjs/model/view.js.map +1 -1
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
- package/dist/cjs/state/CollectionViewsQueryCompareHelper.js +3 -2
- package/dist/cjs/state/CollectionViewsQueryCompareHelper.js.map +1 -1
- package/dist/cjs/state/CollectionViewsState.js +22 -4
- package/dist/cjs/state/CollectionViewsState.js.map +1 -1
- package/dist/cjs/state/CustomColumnsHistoryState.js +40 -3
- package/dist/cjs/state/CustomColumnsHistoryState.js.map +1 -1
- package/dist/cjs/state/CustomColumnsState.js +29 -5
- package/dist/cjs/state/CustomColumnsState.js.map +1 -1
- package/dist/cjs/state/EditableTable/types.js.map +1 -1
- package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
- package/dist/cjs/state/ViewsState.js +2 -0
- package/dist/cjs/state/ViewsState.js.map +1 -1
- package/dist/cjs/styles.global.css +2 -2
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/docs/View.md +3 -1
- package/dist/docs/index.json +24 -24
- package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/esm/components/CardContainer/CardContainer.st.css.js.map +1 -1
- package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js.map +1 -1
- package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
- package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +2 -2
- package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
- package/dist/esm/components/Collapse/Collapse.st.css.js.map +1 -1
- package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
- package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
- package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/address/Edit.js +40 -0
- package/dist/esm/components/EditableTable/cellTypes/address/Edit.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css +22 -0
- package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/address/Edit.uni.driver.js +35 -0
- package/dist/esm/components/EditableTable/cellTypes/address/Edit.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/address/View.js +6 -0
- package/dist/esm/components/EditableTable/cellTypes/address/View.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/address/View.uni.driver.js +9 -0
- package/dist/esm/components/EditableTable/cellTypes/address/View.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/address/index.js +48 -0
- package/dist/esm/components/EditableTable/cellTypes/address/index.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/index.js +3 -1
- package/dist/esm/components/EditableTable/cellTypes/index.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/Heading/Heading.st.css.js +2 -2
- package/dist/esm/components/Heading/Heading.st.css.js.map +1 -1
- package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
- package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
- 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/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/esm/components/PickerContent/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/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/TabsFilter/TabsFilter.st.css.js +2 -2
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
- package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
- package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/esm/components/common.st.css.js +2 -2
- package/dist/esm/hooks/useIsMobile.js +1 -8
- package/dist/esm/hooks/useIsMobile.js.map +1 -1
- package/dist/esm/model/view.js +11 -0
- package/dist/esm/model/view.js.map +1 -1
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/esm/state/CollectionViewsQueryCompareHelper.js +2 -1
- package/dist/esm/state/CollectionViewsQueryCompareHelper.js.map +1 -1
- package/dist/esm/state/CollectionViewsState.js +21 -4
- package/dist/esm/state/CollectionViewsState.js.map +1 -1
- package/dist/esm/state/CustomColumnsHistoryState.js +40 -5
- package/dist/esm/state/CustomColumnsHistoryState.js.map +1 -1
- package/dist/esm/state/CustomColumnsState.js +26 -3
- package/dist/esm/state/CustomColumnsState.js.map +1 -1
- package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/esm/state/ViewsState.js +2 -0
- package/dist/esm/state/ViewsState.js.map +1 -1
- package/dist/esm/styles.global.css +2 -2
- package/dist/esm/version.js +1 -1
- package/dist/types/components/CardContainer/CardContainer.st.css.d.ts.map +1 -1
- package/dist/types/components/CmsFieldManagement/CmsFieldForm.st.css.d.ts.map +1 -1
- package/dist/types/components/CmsFieldManagement/CmsFieldModal.st.css.d.ts.map +1 -1
- package/dist/types/components/Collapse/Collapse.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTable.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +24 -24
- package/dist/types/components/CollectionTable/CollectionTableWSRTable.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts +11 -11
- package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.d.ts.map +1 -1
- package/dist/types/components/CustomFieldModal/CustomFieldModal.uni.driver.d.ts +2 -2
- package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts +3 -3
- package/dist/types/components/DropdownFilter/CollectionDropdownFilter.uni.driver.d.ts +1 -1
- package/dist/types/components/EditableTable/cellTypes/address/Edit.d.ts +18 -0
- package/dist/types/components/EditableTable/cellTypes/address/Edit.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/address/Edit.st.css.d.ts +14 -0
- package/dist/types/components/EditableTable/cellTypes/address/Edit.st.css.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/address/Edit.uni.driver.d.ts +21 -0
- package/dist/types/components/EditableTable/cellTypes/address/Edit.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/address/View.d.ts +5 -0
- package/dist/types/components/EditableTable/cellTypes/address/View.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/address/View.uni.driver.d.ts +16 -0
- package/dist/types/components/EditableTable/cellTypes/address/View.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/address/index.d.ts +5 -0
- package/dist/types/components/EditableTable/cellTypes/address/index.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/boolean/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/index.d.ts +2 -1
- package/dist/types/components/EditableTable/cellTypes/index.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/object/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/select/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/text/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/url/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/FiltersPanel/FiltersPanel.uni.driver.d.ts +4 -4
- package/dist/types/components/Grid/Grid.uni.driver.d.ts +13 -13
- package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +38 -38
- package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts +13 -13
- package/dist/types/components/Heading/Heading.st.css.d.ts.map +1 -1
- package/dist/types/components/ImportButton/ImportStepUpload.st.css.d.ts.map +1 -1
- package/dist/types/components/Kanban/Kanban.uni.driver.d.ts +11 -11
- package/dist/types/components/LayoutSwitch/LayoutSwitch.uni.driver.d.ts +39 -39
- package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +37 -37
- package/dist/types/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts.map +1 -1
- package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
- package/dist/types/components/SummaryBar/SummaryBar.uni.driver.d.ts +1 -1
- package/dist/types/components/Table/Table.uni.driver.d.ts +26 -26
- package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +37 -37
- package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +40 -40
- package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
- package/dist/types/components/TabsFilter/TabsFilter.uni.driver.d.ts +1 -1
- package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.d.ts.map +1 -1
- package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
- package/dist/types/hooks/useIsMobile.d.ts +1 -1
- package/dist/types/hooks/useIsMobile.d.ts.map +1 -1
- package/dist/types/model/view.d.ts +13 -1
- package/dist/types/model/view.d.ts.map +1 -1
- package/dist/types/state/CollectionViewsQueryCompareHelper.d.ts.map +1 -1
- package/dist/types/state/CollectionViewsState.d.ts.map +1 -1
- package/dist/types/state/CustomColumnsHistoryState.d.ts +2 -1
- package/dist/types/state/CustomColumnsHistoryState.d.ts.map +1 -1
- package/dist/types/state/CustomColumnsState.d.ts +2 -0
- package/dist/types/state/CustomColumnsState.d.ts.map +1 -1
- package/dist/types/state/EditableTable/types.d.ts +2 -0
- package/dist/types/state/EditableTable/types.d.ts.map +1 -1
- package/dist/types/state/ViewsState.d.ts.map +1 -1
- package/dist/types/testkit/enzyme.d.ts +194 -194
- package/dist/types/testkit/jsdom.d.ts +246 -246
- package/dist/types/testkit/playwright.d.ts +194 -194
- package/dist/types/testkit/puppeteer.d.ts +205 -205
- package/dist/types/version.d.ts +1 -1
- package/package.json +6 -6
- package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/CmsFieldForm.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/CmsFieldModal.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.ts +2 -2
- package/src/components/Collapse/Collapse.st.css.ts +2 -2
- package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
- package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
- package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
- package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +2 -2
- package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
- package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
- package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
- package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
- package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
- package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
- package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/address/Edit.st.css +22 -0
- package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +25 -0
- package/src/components/EditableTable/cellTypes/address/Edit.tsx +96 -0
- package/src/components/EditableTable/cellTypes/address/Edit.uni.driver.ts +38 -0
- package/src/components/EditableTable/cellTypes/address/View.tsx +13 -0
- package/src/components/EditableTable/cellTypes/address/View.uni.driver.ts +10 -0
- package/src/components/EditableTable/cellTypes/address/index.tsx +65 -0
- package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/index.ts +3 -0
- package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
- package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
- package/src/components/Fade/Fade.st.css.ts +2 -2
- package/src/components/Heading/Heading.st.css.ts +2 -2
- package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
- package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
- package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
- package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
- package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
- package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
- package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
- package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
- package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
- package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
- package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
- package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
- package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
- package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
- package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
- package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
- package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
- package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
- package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
- package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
- package/src/components/common.st.css.ts +2 -2
- package/src/hooks/useIsMobile.ts +1 -10
- package/src/model/view.ts +31 -1
- package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
- package/src/state/CollectionViewsQueryCompareHelper.ts +2 -1
- package/src/state/CollectionViewsState.ts +26 -4
- package/src/state/CustomColumnsHistoryState.ts +68 -11
- package/src/state/CustomColumnsState.ts +39 -4
- package/src/state/EditableTable/types.ts +2 -0
- package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
- package/src/state/ViewsState.ts +4 -0
- package/src/styles.global.css +2 -2
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["columnSortOrder","exports","Ascending","Descending","ALL_ITEMS_VIEW_ID","SAVED_VIEWS_ID","PREDEFINED_VIEWS_ID","ALL_ITEMS_SORT_IND","SAVED_VIEWS_SORT_IND","PREDEFINED_VIEWS_SORT_IND"],"sources":["../../../src/model/view.ts"],"sourcesContent":["import { AllFilters, FiltersMap, ExtractFilterValue } from '@wix/bex-core';\nimport { InfoIconProps } from '@wix/design-system';\n\nexport type ViewType = 'table' | 'grid' | 'spreadsheet';\n\nexport type ColumnSortOrder = 'Ascending' | 'Descending';\n\nexport const columnSortOrder = {\n Ascending: 'Ascending' as const,\n Descending: 'Descending' as const,\n};\n\nexport interface ColumnViewConfig {\n id: string;\n name?: string;\n isSelected?: boolean;\n}\n\nexport interface ColumnSortConfig {\n columnId: string;\n direction: ColumnSortOrder;\n}\n\nexport interface BasicCategory {\n id: string;\n /**\n *\n * What the category is called in the dropdown.\n * @external\n */\n name: string;\n /**\n * @deprecated Info icon is now automatically rendered by Cairo for all categories.\n * [InfoIconProps](https://www.docs.wixdesignsystem.com/?path=/story/components-form--infoicon)\n * @external\n */\n info?: InfoIconProps;\n}\n\nexport interface Category<F extends FiltersMap> extends BasicCategory {\n /**\n * Unique identifier.\n * @external\n */\n id: string;\n\n /**\n * Array of [view objects](./?path=%2Fstory%2Fcommon-types--view) that appear under the category in the dropdown.\n * @external\n */\n views: View<F>[];\n}\n\nexport type ViewFiltersValues<F extends FiltersMap> = {\n [P in keyof F]: {\n value?: ExtractFilterValue<F[P]>;\n } | null;\n};\n\nexport interface ViewBase<F extends FiltersMap> {\n /**\n * Filters to apply when the view is selected.\n * @external\n */\n filters?: Partial<ViewFiltersValues<AllFilters<F>>> | null;\n orderedColumns?: ColumnViewConfig[];\n /**\n * Array of the selected columns.\n * @external\n */\n selectedColumns?: ColumnViewConfig[];\n /**\n * Array of sort directions.\n * @external\n */\n sortDirections?: ColumnSortConfig[];\n /**\n * Layout type for the view ('table' or 'grid').\n * @external\n */\n layout?: ViewType;\n}\n\nexport interface View<F extends FiltersMap> extends ViewBase<F> {\n /**\n * Unique identifier. Do not use category IDs, `saved-views`, or `predefined-views`.\n * @external\n */\n id: string;\n\n /**\n * What the view is called in the dropdown.\n * @external\n */\n name: string;\n\n /**\n * Whether the view is automatically applied when the table initially loads.\n * @external\n */\n isDefaultView?: boolean;\n createdAt?: string;\n /**\n * Extra data to be passed to the view.\n * @external\n */\n extra?: string;\n}\n\nexport type AllItemsViewProps<F extends FiltersMap> = Omit<\n View<F>,\n 'id' | 'createdAt' | 'filters' | 'isDefaultView' | 'name'\n> & {\n /** A label to show instead of default 'All Items' */\n name?: string;\n\n /** Hides 'All Items' view from the list, default: false. Will be ignored if no presets are passed. */\n hidden?: boolean;\n};\n\nexport type ViewActionNameBI =\n | 'view-save-changes'\n | 'view-save-new'\n | 'view-rename'\n | 'view-delete'\n | 'view-set-as-default'\n | 'view-unset-as-default';\n\nexport type PrivateView<F extends FiltersMap> = View<F> & {\n categoryId?: string;\n categorySortInd: string;\n isPreset: boolean;\n};\n\nexport interface ViewsDTO<F extends FiltersMap> {\n hiddenPresetIds?: string[];\n views?: View<F>[];\n}\n\nexport const ALL_ITEMS_VIEW_ID = 'all-items-view';\nexport const SAVED_VIEWS_ID = 'saved-views';\nexport const PREDEFINED_VIEWS_ID = 'predefined-views';\n\nexport const ALL_ITEMS_SORT_IND = '0';\nexport const SAVED_VIEWS_SORT_IND = '1';\nexport const PREDEFINED_VIEWS_SORT_IND = '2';\n"],"mappings":";;;;AAOO,MAAMA,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG;EAC7BE,SAAS,EAAE,WAAoB;EAC/BC,UAAU,EAAE;AACd,CAAC;
|
|
1
|
+
{"version":3,"names":["columnSortOrder","exports","Ascending","Descending","getViewSelectedColumnsForLayout","view","layout","spreadsheetSelectedColumns","selectedColumns","setViewSelectedColumnsForLayout","target","columns","ALL_ITEMS_VIEW_ID","SAVED_VIEWS_ID","PREDEFINED_VIEWS_ID","ALL_ITEMS_SORT_IND","SAVED_VIEWS_SORT_IND","PREDEFINED_VIEWS_SORT_IND"],"sources":["../../../src/model/view.ts"],"sourcesContent":["import { AllFilters, FiltersMap, ExtractFilterValue } from '@wix/bex-core';\nimport { InfoIconProps } from '@wix/design-system';\n\nexport type ViewType = 'table' | 'grid' | 'spreadsheet';\n\nexport type ColumnSortOrder = 'Ascending' | 'Descending';\n\nexport const columnSortOrder = {\n Ascending: 'Ascending' as const,\n Descending: 'Descending' as const,\n};\n\nexport interface ColumnViewConfig {\n id: string;\n name?: string;\n isSelected?: boolean;\n}\n\nexport interface ColumnSortConfig {\n columnId: string;\n direction: ColumnSortOrder;\n}\n\nexport interface BasicCategory {\n id: string;\n /**\n *\n * What the category is called in the dropdown.\n * @external\n */\n name: string;\n /**\n * @deprecated Info icon is now automatically rendered by Cairo for all categories.\n * [InfoIconProps](https://www.docs.wixdesignsystem.com/?path=/story/components-form--infoicon)\n * @external\n */\n info?: InfoIconProps;\n}\n\nexport interface Category<F extends FiltersMap> extends BasicCategory {\n /**\n * Unique identifier.\n * @external\n */\n id: string;\n\n /**\n * Array of [view objects](./?path=%2Fstory%2Fcommon-types--view) that appear under the category in the dropdown.\n * @external\n */\n views: View<F>[];\n}\n\nexport type ViewFiltersValues<F extends FiltersMap> = {\n [P in keyof F]: {\n value?: ExtractFilterValue<F[P]>;\n } | null;\n};\n\nexport interface ViewBase<F extends FiltersMap> {\n /**\n * Filters to apply when the view is selected.\n * @external\n */\n filters?: Partial<ViewFiltersValues<AllFilters<F>>> | null;\n orderedColumns?: ColumnViewConfig[];\n /**\n * Array of the selected columns for the table layout.\n * @external\n */\n selectedColumns?: ColumnViewConfig[];\n /**\n * Array of the selected columns for the spreadsheet (EditableTable) layout.\n * @external\n */\n spreadsheetSelectedColumns?: ColumnViewConfig[];\n /**\n * Ordered columns for the spreadsheet (EditableTable) layout.\n * @external\n */\n spreadsheetOrderedColumns?: ColumnViewConfig[];\n /**\n * Array of sort directions.\n * @external\n */\n sortDirections?: ColumnSortConfig[];\n /**\n * Layout type for the view ('table' or 'grid').\n * @external\n */\n layout?: ViewType;\n}\n\nexport const getViewSelectedColumnsForLayout = <F extends FiltersMap>(\n view: ViewBase<F> | null | undefined,\n layout: ViewType | undefined,\n): ColumnViewConfig[] | undefined =>\n layout === 'spreadsheet'\n ? view?.spreadsheetSelectedColumns\n : view?.selectedColumns;\n\nexport const setViewSelectedColumnsForLayout = <F extends FiltersMap>(\n target: Partial<ViewBase<F>>,\n layout: ViewType | undefined,\n columns: ColumnViewConfig[] | undefined,\n): void => {\n if (layout === 'spreadsheet') {\n target.spreadsheetSelectedColumns = columns;\n } else {\n target.selectedColumns = columns;\n }\n};\n\nexport interface View<F extends FiltersMap> extends ViewBase<F> {\n /**\n * Unique identifier. Do not use category IDs, `saved-views`, or `predefined-views`.\n * @external\n */\n id: string;\n\n /**\n * What the view is called in the dropdown.\n * @external\n */\n name: string;\n\n /**\n * Whether the view is automatically applied when the table initially loads.\n * @external\n */\n isDefaultView?: boolean;\n createdAt?: string;\n /**\n * Extra data to be passed to the view.\n * @external\n */\n extra?: string;\n}\n\nexport type AllItemsViewProps<F extends FiltersMap> = Omit<\n View<F>,\n 'id' | 'createdAt' | 'filters' | 'isDefaultView' | 'name'\n> & {\n /** A label to show instead of default 'All Items' */\n name?: string;\n\n /** Hides 'All Items' view from the list, default: false. Will be ignored if no presets are passed. */\n hidden?: boolean;\n};\n\nexport type ViewActionNameBI =\n | 'view-save-changes'\n | 'view-save-new'\n | 'view-rename'\n | 'view-delete'\n | 'view-set-as-default'\n | 'view-unset-as-default';\n\nexport type PrivateView<F extends FiltersMap> = View<F> & {\n categoryId?: string;\n categorySortInd: string;\n isPreset: boolean;\n};\n\nexport interface ViewsDTO<F extends FiltersMap> {\n hiddenPresetIds?: string[];\n views?: View<F>[];\n}\n\nexport const ALL_ITEMS_VIEW_ID = 'all-items-view';\nexport const SAVED_VIEWS_ID = 'saved-views';\nexport const PREDEFINED_VIEWS_ID = 'predefined-views';\n\nexport const ALL_ITEMS_SORT_IND = '0';\nexport const SAVED_VIEWS_SORT_IND = '1';\nexport const PREDEFINED_VIEWS_SORT_IND = '2';\n"],"mappings":";;;;AAOO,MAAMA,eAAe,GAAAC,OAAA,CAAAD,eAAA,GAAG;EAC7BE,SAAS,EAAE,WAAoB;EAC/BC,UAAU,EAAE;AACd,CAAC;AAmFM,MAAMC,+BAA+B,GAAGA,CAC7CC,IAAoC,EACpCC,MAA4B,KAE5BA,MAAM,KAAK,aAAa,GACpBD,IAAI,oBAAJA,IAAI,CAAEE,0BAA0B,GAChCF,IAAI,oBAAJA,IAAI,CAAEG,eAAe;AAACP,OAAA,CAAAG,+BAAA,GAAAA,+BAAA;AAErB,MAAMK,+BAA+B,GAAGA,CAC7CC,MAA4B,EAC5BJ,MAA4B,EAC5BK,OAAuC,KAC9B;EACT,IAAIL,MAAM,KAAK,aAAa,EAAE;IAC5BI,MAAM,CAACH,0BAA0B,GAAGI,OAAO;EAC7C,CAAC,MAAM;IACLD,MAAM,CAACF,eAAe,GAAGG,OAAO;EAClC;AACF,CAAC;AAACV,OAAA,CAAAQ,+BAAA,GAAAA,+BAAA;AA0DK,MAAMG,iBAAiB,GAAAX,OAAA,CAAAW,iBAAA,GAAG,gBAAgB;AAC1C,MAAMC,cAAc,GAAAZ,OAAA,CAAAY,cAAA,GAAG,aAAa;AACpC,MAAMC,mBAAmB,GAAAb,OAAA,CAAAa,mBAAA,GAAG,kBAAkB;AAE9C,MAAMC,kBAAkB,GAAAd,OAAA,CAAAc,kBAAA,GAAG,GAAG;AAC9B,MAAMC,oBAAoB,GAAAf,OAAA,CAAAe,oBAAA,GAAG,GAAG;AAChC,MAAMC,yBAAyB,GAAAhB,OAAA,CAAAgB,yBAAA,GAAG,GAAG","ignoreList":[]}
|
|
@@ -5,14 +5,14 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
|
|
|
5
5
|
var _stylableEsmRuntime = require("../../stylable-esm-runtime.js");
|
|
6
6
|
// @ts-nocheck
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "CollectionPageHeader2089769102";
|
|
9
9
|
var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
|
|
10
10
|
var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
|
|
11
11
|
var style = exports.style = _style_;
|
|
12
12
|
var st = exports.st = _style_;
|
|
13
13
|
var namespace = exports.namespace = _namespace_;
|
|
14
14
|
var classes = exports.classes = {
|
|
15
|
-
"root": "
|
|
15
|
+
"root": "CollectionPageHeader2089769102__root"
|
|
16
16
|
};
|
|
17
17
|
var keyframes = exports.keyframes = {};
|
|
18
18
|
var layers = exports.layers = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/CollectionPage/CollectionPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"
|
|
1
|
+
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/CollectionPage/CollectionPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"CollectionPageHeader2089769102\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"CollectionPageHeader2089769102__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,gCAAgC;AAClD,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAAsC,CAAC;AAC7D,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
|
|
@@ -4,6 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
exports.__esModule = true;
|
|
5
5
|
exports.CollectionViewsQueryCompareHelper = void 0;
|
|
6
6
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
|
+
var _model = require("../model");
|
|
7
8
|
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
|
8
9
|
var _mobx = require("mobx");
|
|
9
10
|
class CollectionViewsQueryCompareHelper {
|
|
@@ -100,9 +101,9 @@ class CollectionViewsQueryCompareHelper {
|
|
|
100
101
|
const layout = this.collectionViews.getLayout();
|
|
101
102
|
const base = {
|
|
102
103
|
filters: this.viewBaseFilters,
|
|
103
|
-
sortDirections: this.viewBaseSortDirections
|
|
104
|
-
selectedColumns: this.viewBaseSelectedColumns
|
|
104
|
+
sortDirections: this.viewBaseSortDirections
|
|
105
105
|
};
|
|
106
|
+
(0, _model.setViewSelectedColumnsForLayout)(base, layout, this.viewBaseSelectedColumns);
|
|
106
107
|
if (layout) {
|
|
107
108
|
base.layout = layout;
|
|
108
109
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_isEqual","_interopRequireDefault","require","_mobx","CollectionViewsQueryCompareHelper","views","collectionViews","constructor","params","_defineProperty2","default","table","makeObservable","currentViewBase","computed","isSelectedColumnsChanged","isSortChanged","isFiltersChanged","viewBaseSortDirections","viewBaseSelectedColumns","viewBaseFilters","nonEmptyViewFiltersKeys","isColumnsChanged","currentViewColumnsOrDefaultColumns","columns1","columns2","length","some","column","index","id","isSelected","_currentView$sortDire","currentView","sortDirections","sort","i","columnId","direction","viewFiltersInCurrentQuery","filters","filterKeys","viewAndQueryFiltersKeys","Array","from","Set","Object","keys","filterName","_currentView$filters","_this$table$collectio","filter","rawFilterValueFromView","value","currentViewFilterValue","decode","appliedFilterValue","undefined","equals","collection","query","isEqual","reduce","acc","_currentView$filters2","clone","initialValue","isEmpty","concat","layout","getLayout","base","selectedColumns","sortState","map","v","field","activeFiltersEntries","newFilters","encode","existingFiltersErase","exports"],"sources":["../../../src/state/CollectionViewsQueryCompareHelper.ts"],"sourcesContent":["import {\n ColumnSortConfig,\n ColumnViewConfig,\n ViewBase,\n ViewFiltersValues,\n} from '../model';\nimport isEqual from 'lodash/isEqual';\nimport { FiltersMap } from '@wix/bex-core';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { computed, makeObservable } from 'mobx';\nimport { CollectionViewsState } from './CollectionViewsState';\n\nexport interface CollectionViewsQueryCompareHelperParams<\n T,\n F extends FiltersMap,\n> {\n table: ToolbarCollectionState<T, F>;\n collectionViews: CollectionViewsState<T, F>;\n}\n\nexport class CollectionViewsQueryCompareHelper<T, F extends FiltersMap> {\n readonly collectionViews;\n readonly table;\n\n get views() {\n return this.collectionViews.views;\n }\n\n constructor(params: CollectionViewsQueryCompareHelperParams<T, F>) {\n this.table = params.table;\n this.collectionViews = params.collectionViews;\n\n makeObservable(this, {\n currentViewBase: computed,\n isSelectedColumnsChanged: computed,\n isSortChanged: computed,\n isFiltersChanged: computed,\n viewBaseSortDirections: computed,\n viewBaseSelectedColumns: computed,\n viewBaseFilters: computed,\n nonEmptyViewFiltersKeys: computed,\n });\n }\n\n get isSelectedColumnsChanged(): boolean {\n const { collectionViews } = this;\n\n return this.isColumnsChanged(\n collectionViews.currentViewColumnsOrDefaultColumns,\n this.viewBaseSelectedColumns,\n );\n }\n\n isColumnsChanged(\n columns1?: ColumnViewConfig[],\n columns2?: ColumnViewConfig[],\n ) {\n if (!columns1 || !columns2) {\n return false;\n }\n\n if (columns1.length !== columns2.length) {\n return true;\n }\n\n return columns1.some(\n (column, index) =>\n column.id !== columns2[index].id ||\n column.isSelected !== columns2[index].isSelected,\n );\n }\n\n get isSortChanged(): boolean {\n const currentView = this.views.currentView;\n if (!currentView) {\n return true;\n }\n const sortDirections = this.viewBaseSortDirections;\n return !currentView.sortDirections && !sortDirections\n ? false\n : currentView.sortDirections?.length !== sortDirections?.length ||\n (currentView.sortDirections ?? []).some(\n (sort, i) =>\n sortDirections?.[i].columnId !== sort.columnId ||\n sortDirections?.[i].direction !== sort.direction,\n );\n }\n\n get isFiltersChanged(): boolean {\n const currentView = this.views.currentView;\n if (!currentView) {\n return true;\n }\n\n const { viewFiltersInCurrentQuery: filters } = this;\n const filterKeys = this.nonEmptyViewFiltersKeys;\n\n const viewAndQueryFiltersKeys = Array.from(\n new Set([...filterKeys, ...Object.keys(filters)]),\n );\n\n return (\n filterKeys.length !== Object.keys(filters).length ||\n viewAndQueryFiltersKeys.some((filterName) => {\n const filter = filters?.[filterName];\n\n if (!filter) {\n return false;\n }\n\n const rawFilterValueFromView = currentView.filters?.[filterName]?.value;\n const currentViewFilterValue = filter.decode(rawFilterValueFromView);\n const appliedFilterValue = filter.value;\n\n // equals accepts non empty filters\n if (\n currentViewFilterValue === undefined ||\n appliedFilterValue === undefined\n ) {\n return currentViewFilterValue !== appliedFilterValue;\n }\n\n const equals =\n this.table.collection.query.filters?.[filterName]?.equals ?? isEqual;\n\n return !equals(currentViewFilterValue, appliedFilterValue);\n })\n );\n }\n\n get nonEmptyViewFiltersKeys() {\n const currentView = this.views.currentView;\n if (!currentView) {\n return [];\n }\n return Object.keys(currentView.filters ?? {}).reduce((acc, filterName) => {\n const rawFilterValueFromView = currentView.filters?.[filterName]?.value;\n const filter = this.table.collection.query.filters[filterName];\n\n if (!filter) {\n return acc;\n }\n\n const currentViewFilterValue = filter.decode(rawFilterValueFromView);\n\n return filter.clone({\n initialValue: currentViewFilterValue,\n }).isEmpty\n ? acc\n : acc.concat(filterName);\n }, [] as string[]);\n }\n\n get currentViewBase(): ViewBase<F> {\n const layout = this.collectionViews.getLayout();\n const base: ViewBase<F> = {\n filters: this.viewBaseFilters,\n sortDirections: this.viewBaseSortDirections,\n selectedColumns: this.viewBaseSelectedColumns,\n };\n if (layout) {\n base.layout = layout;\n }\n return base;\n }\n\n get viewBaseSortDirections() {\n const sortState = this.table.collection.query.sort;\n const sortDirections = sortState.value.map(\n (v) =>\n ({\n columnId: v.field,\n direction: v.direction === 'asc' ? 'Ascending' : 'Descending',\n } as ColumnSortConfig),\n );\n return sortDirections.length === 0 ? undefined : sortDirections;\n }\n\n get viewBaseSelectedColumns() {\n return this.table.selectedColumns.value;\n }\n\n get viewFiltersInCurrentQuery() {\n return this.table.collection.query.activeFiltersEntries.reduce(\n (acc, [filterName, filter]) => {\n return {\n ...acc,\n [filterName]: filter,\n };\n },\n {} as Partial<F>,\n );\n }\n\n get viewBaseFilters() {\n const {\n table: {\n collection: { query },\n },\n views: { currentView },\n } = this;\n\n const { activeFiltersEntries } = query;\n const newFilters = activeFiltersEntries.reduce(\n (acc, [filterName, filter]) => {\n return {\n ...acc,\n [filterName]: {\n value: filter.encode(filter.value),\n },\n };\n },\n {} as Partial<ViewFiltersValues<F>>,\n );\n\n const existingFiltersErase = Object.keys(currentView?.filters ?? {}).reduce(\n (acc, filterName: keyof Partial<ViewFiltersValues<F>>) => {\n acc[filterName] = null;\n return acc;\n },\n {} as Partial<ViewFiltersValues<F>>,\n );\n\n return {\n ...existingFiltersErase,\n ...newFilters,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_model","require","_isEqual","_interopRequireDefault","_mobx","CollectionViewsQueryCompareHelper","views","collectionViews","constructor","params","_defineProperty2","default","table","makeObservable","currentViewBase","computed","isSelectedColumnsChanged","isSortChanged","isFiltersChanged","viewBaseSortDirections","viewBaseSelectedColumns","viewBaseFilters","nonEmptyViewFiltersKeys","isColumnsChanged","currentViewColumnsOrDefaultColumns","columns1","columns2","length","some","column","index","id","isSelected","_currentView$sortDire","currentView","sortDirections","sort","i","columnId","direction","viewFiltersInCurrentQuery","filters","filterKeys","viewAndQueryFiltersKeys","Array","from","Set","Object","keys","filterName","_currentView$filters","_this$table$collectio","filter","rawFilterValueFromView","value","currentViewFilterValue","decode","appliedFilterValue","undefined","equals","collection","query","isEqual","reduce","acc","_currentView$filters2","clone","initialValue","isEmpty","concat","layout","getLayout","base","setViewSelectedColumnsForLayout","sortState","map","v","field","selectedColumns","activeFiltersEntries","newFilters","encode","existingFiltersErase","exports"],"sources":["../../../src/state/CollectionViewsQueryCompareHelper.ts"],"sourcesContent":["import {\n ColumnSortConfig,\n ColumnViewConfig,\n setViewSelectedColumnsForLayout,\n ViewBase,\n ViewFiltersValues,\n} from '../model';\nimport isEqual from 'lodash/isEqual';\nimport { FiltersMap } from '@wix/bex-core';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { computed, makeObservable } from 'mobx';\nimport { CollectionViewsState } from './CollectionViewsState';\n\nexport interface CollectionViewsQueryCompareHelperParams<\n T,\n F extends FiltersMap,\n> {\n table: ToolbarCollectionState<T, F>;\n collectionViews: CollectionViewsState<T, F>;\n}\n\nexport class CollectionViewsQueryCompareHelper<T, F extends FiltersMap> {\n readonly collectionViews;\n readonly table;\n\n get views() {\n return this.collectionViews.views;\n }\n\n constructor(params: CollectionViewsQueryCompareHelperParams<T, F>) {\n this.table = params.table;\n this.collectionViews = params.collectionViews;\n\n makeObservable(this, {\n currentViewBase: computed,\n isSelectedColumnsChanged: computed,\n isSortChanged: computed,\n isFiltersChanged: computed,\n viewBaseSortDirections: computed,\n viewBaseSelectedColumns: computed,\n viewBaseFilters: computed,\n nonEmptyViewFiltersKeys: computed,\n });\n }\n\n get isSelectedColumnsChanged(): boolean {\n const { collectionViews } = this;\n\n return this.isColumnsChanged(\n collectionViews.currentViewColumnsOrDefaultColumns,\n this.viewBaseSelectedColumns,\n );\n }\n\n isColumnsChanged(\n columns1?: ColumnViewConfig[],\n columns2?: ColumnViewConfig[],\n ) {\n if (!columns1 || !columns2) {\n return false;\n }\n\n if (columns1.length !== columns2.length) {\n return true;\n }\n\n return columns1.some(\n (column, index) =>\n column.id !== columns2[index].id ||\n column.isSelected !== columns2[index].isSelected,\n );\n }\n\n get isSortChanged(): boolean {\n const currentView = this.views.currentView;\n if (!currentView) {\n return true;\n }\n const sortDirections = this.viewBaseSortDirections;\n return !currentView.sortDirections && !sortDirections\n ? false\n : currentView.sortDirections?.length !== sortDirections?.length ||\n (currentView.sortDirections ?? []).some(\n (sort, i) =>\n sortDirections?.[i].columnId !== sort.columnId ||\n sortDirections?.[i].direction !== sort.direction,\n );\n }\n\n get isFiltersChanged(): boolean {\n const currentView = this.views.currentView;\n if (!currentView) {\n return true;\n }\n\n const { viewFiltersInCurrentQuery: filters } = this;\n const filterKeys = this.nonEmptyViewFiltersKeys;\n\n const viewAndQueryFiltersKeys = Array.from(\n new Set([...filterKeys, ...Object.keys(filters)]),\n );\n\n return (\n filterKeys.length !== Object.keys(filters).length ||\n viewAndQueryFiltersKeys.some((filterName) => {\n const filter = filters?.[filterName];\n\n if (!filter) {\n return false;\n }\n\n const rawFilterValueFromView = currentView.filters?.[filterName]?.value;\n const currentViewFilterValue = filter.decode(rawFilterValueFromView);\n const appliedFilterValue = filter.value;\n\n // equals accepts non empty filters\n if (\n currentViewFilterValue === undefined ||\n appliedFilterValue === undefined\n ) {\n return currentViewFilterValue !== appliedFilterValue;\n }\n\n const equals =\n this.table.collection.query.filters?.[filterName]?.equals ?? isEqual;\n\n return !equals(currentViewFilterValue, appliedFilterValue);\n })\n );\n }\n\n get nonEmptyViewFiltersKeys() {\n const currentView = this.views.currentView;\n if (!currentView) {\n return [];\n }\n return Object.keys(currentView.filters ?? {}).reduce((acc, filterName) => {\n const rawFilterValueFromView = currentView.filters?.[filterName]?.value;\n const filter = this.table.collection.query.filters[filterName];\n\n if (!filter) {\n return acc;\n }\n\n const currentViewFilterValue = filter.decode(rawFilterValueFromView);\n\n return filter.clone({\n initialValue: currentViewFilterValue,\n }).isEmpty\n ? acc\n : acc.concat(filterName);\n }, [] as string[]);\n }\n\n get currentViewBase(): ViewBase<F> {\n const layout = this.collectionViews.getLayout();\n const base: ViewBase<F> = {\n filters: this.viewBaseFilters,\n sortDirections: this.viewBaseSortDirections,\n };\n setViewSelectedColumnsForLayout(base, layout, this.viewBaseSelectedColumns);\n if (layout) {\n base.layout = layout;\n }\n return base;\n }\n\n get viewBaseSortDirections() {\n const sortState = this.table.collection.query.sort;\n const sortDirections = sortState.value.map(\n (v) =>\n ({\n columnId: v.field,\n direction: v.direction === 'asc' ? 'Ascending' : 'Descending',\n } as ColumnSortConfig),\n );\n return sortDirections.length === 0 ? undefined : sortDirections;\n }\n\n get viewBaseSelectedColumns() {\n return this.table.selectedColumns.value;\n }\n\n get viewFiltersInCurrentQuery() {\n return this.table.collection.query.activeFiltersEntries.reduce(\n (acc, [filterName, filter]) => {\n return {\n ...acc,\n [filterName]: filter,\n };\n },\n {} as Partial<F>,\n );\n }\n\n get viewBaseFilters() {\n const {\n table: {\n collection: { query },\n },\n views: { currentView },\n } = this;\n\n const { activeFiltersEntries } = query;\n const newFilters = activeFiltersEntries.reduce(\n (acc, [filterName, filter]) => {\n return {\n ...acc,\n [filterName]: {\n value: filter.encode(filter.value),\n },\n };\n },\n {} as Partial<ViewFiltersValues<F>>,\n );\n\n const existingFiltersErase = Object.keys(currentView?.filters ?? {}).reduce(\n (acc, filterName: keyof Partial<ViewFiltersValues<F>>) => {\n acc[filterName] = null;\n return acc;\n },\n {} as Partial<ViewFiltersValues<F>>,\n );\n\n return {\n ...existingFiltersErase,\n ...newFilters,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
7
7
|
var _bexCore = require("@wix/bex-core");
|
|
8
8
|
var _ViewsState = require("./ViewsState");
|
|
9
9
|
var _mobx = require("mobx");
|
|
10
|
+
var _model = require("../model");
|
|
10
11
|
var _CollectionViewsStateBIReporter = require("./CollectionViewsStateBIReporter");
|
|
11
12
|
var _events = require("events");
|
|
12
13
|
var _indexOfCompareFn = require("./indexOfCompareFn");
|
|
@@ -113,7 +114,23 @@ class CollectionViewsState {
|
|
|
113
114
|
})), views.init(), ...this._subscribeOnSelectView(), ...this._subscribeOnViewAction(), this.viewsStateBIReporter.init(), new _ViewsHistoryState.ViewsHistoryState({
|
|
114
115
|
views: this.views,
|
|
115
116
|
history
|
|
116
|
-
}).init()
|
|
117
|
+
}).init(), (0, _mobx.reaction)(() => {
|
|
118
|
+
var _this$table$layoutSta2;
|
|
119
|
+
return (_this$table$layoutSta2 = this.table.layoutState) == null ? void 0 : _this$table$layoutSta2.viewType;
|
|
120
|
+
}, (newLayout, prevLayout) => {
|
|
121
|
+
if (!newLayout || !prevLayout || newLayout === prevLayout) {
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
if (!this.views.currentView) {
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
const cols = this.currentViewColumns;
|
|
128
|
+
if (cols) {
|
|
129
|
+
this.table.selectedColumns.setValue(cols);
|
|
130
|
+
} else {
|
|
131
|
+
this.table.selectedColumns.reset();
|
|
132
|
+
}
|
|
133
|
+
})];
|
|
117
134
|
initTask.runOnce(async () => {
|
|
118
135
|
await views.initTask.status.promise;
|
|
119
136
|
(0, _mobx.runInAction)(() => {
|
|
@@ -181,11 +198,12 @@ class CollectionViewsState {
|
|
|
181
198
|
const {
|
|
182
199
|
query
|
|
183
200
|
} = collection;
|
|
184
|
-
|
|
185
|
-
(_query$queryHistory = query.queryHistory) == null || _query$queryHistory.persistAll();
|
|
201
|
+
// Layout must settle first — _setSelectedViewToCollectionQuery reads layout-aware columns.
|
|
186
202
|
if (this.table.layoutState && currentView != null && currentView.layout) {
|
|
187
203
|
this.table.layoutState.viewType = currentView.layout;
|
|
188
204
|
}
|
|
205
|
+
this._setSelectedViewToCollectionQuery();
|
|
206
|
+
(_query$queryHistory = query.queryHistory) == null || _query$queryHistory.persistAll();
|
|
189
207
|
query.events.emit('refresh');
|
|
190
208
|
}
|
|
191
209
|
get currentViewColumns() {
|
|
@@ -200,7 +218,7 @@ class CollectionViewsState {
|
|
|
200
218
|
const {
|
|
201
219
|
currentView
|
|
202
220
|
} = views;
|
|
203
|
-
const viewSelectedColumns =
|
|
221
|
+
const viewSelectedColumns = (0, _model.getViewSelectedColumnsForLayout)(currentView, this.getLayout());
|
|
204
222
|
if (!(viewSelectedColumns != null && viewSelectedColumns.length)) {
|
|
205
223
|
return null;
|
|
206
224
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_ViewsState","_mobx","_CollectionViewsStateBIReporter","_events","_indexOfCompareFn","_CollectionViewsQueryCompareHelper","_ViewsHistoryState","CollectionViewsState","getLayout","_this$table$layoutSta","table","layoutState","viewType","constructor","params","_defineProperty2","default","TaskState","EventEmitter","onDeleteView","onSaveViewChanges","onSaveView","onRenameView","onSetAsDefaultView","learnMoreLink","viewNamePlaceholder","views","ViewsState","oldNamespace","namespace","container","presets","fqdn","collection","queryName","allItemsViewProps","reportBI","reportBi","_migrateOrdersViews","viewsState","_ref","call","_fixMissingContactsViews","_fixMissingContactsVi","_ref2","queryCompareHelper","CollectionViewsQueryCompareHelper","collectionViews","viewsStateBIReporter","CollectionViewsStateBIReporter","collectionViewState","makeObservable","_setSelectedViewToCollectionQuery","action","bound","_onSelectViewAndRefresh","_selectInitialView","isViewChanged","computed","currentViewColumns","currentViewColumnsOrDefaultColumns","currentView","isSelectedColumnsChanged","isSortChanged","isFiltersChanged","_doNotWaitForViewsExperimentEnabled","experiments","internalExperiments","enabled","init","initTask","history","_getAllItemsAndPresetViews","disposers","addEventListener","hooks","query","_initializedFromHistory","_this$initTask$status","status","promise","catch","_subscribeOnSelectView","_subscribeOnViewAction","ViewsHistoryState","runOnce","runInAction","result","items","clearResultAndMoveToStart","forEach","disposer","initialSelectItem","_getInitialSelectItem","_initialViewIdFromUrl","view","getView","id","events","undoActionBI","bind","tryAgainBI","errorBI","needFiltersReset","_query$queryHistory","queryHistory","persistAll","layout","emit","columns","customColumnsState","viewSelectedColumns","selectedColumns","length","selectedColumnsToSet","map","hideable","hiddenFromCustomColumnsSelection","isSelected","some","c","dragAndDrop","sort","indexOfCompareFn","e","defaultValue","resetFilters","filters","Object","entries","filterName","filter","queryFilter","value","setValue","decode","resetSorting","sortDirections","setSortQuery","sortInView","field","columnId","direction","emitChangeEvent","reset","setExtra","extra","deleteView","_this$onDeleteView","viewToDelete","deleteViewSelectedBI","deleteViewBI","WixPatternsError","originalException","errorCode","saveViewChanges","saveViewChangesSelectedBI","oldView","undefined","newView","currentViewBase","_this$onSaveViewChang","saveViewChangesBI","sendSaveNewViewSelectedBI","saveNewViewSelectedBI","saveNewView","name","_this$views$currentVi","_this$onSaveView","saveView","createNewView","isNew","oldViewId","saveNewViewBI","err","sendRenameViewSelectedBI","renameViewSelectedBI","renameView","_this$views$currentVi2","_this$onRenameView","oldName","renameViewBI","setAsDefaultView","_this$onSetAsDefaultV","isDefault","defaultViewId","setAsDefaultViewSelectedBI","setAsDefaultViewBI","exports"],"sources":["../../../src/state/CollectionViewsState.ts"],"sourcesContent":["import {\n addEventListener,\n FiltersMap,\n TaskState,\n TypedEmitter,\n WixPatternsContainer,\n WixPatternsError,\n} from '@wix/bex-core';\nimport { ViewsState } from './ViewsState';\nimport { ViewsProps } from '../index';\nimport { action, computed, makeObservable, runInAction } from 'mobx';\nimport {\n AllItemsViewProps,\n Category,\n PrivateView,\n View,\n ViewType,\n} from '../model';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { CollectionViewsStateBIReporter } from './CollectionViewsStateBIReporter';\nimport { EventEmitter } from 'events';\nimport { indexOfCompareFn } from './indexOfCompareFn';\nimport { CollectionViewsQueryCompareHelper } from './CollectionViewsQueryCompareHelper';\nimport { ViewsHistoryState } from './ViewsHistoryState';\nimport { MigrateOrdersViewsState } from '../hooks/useMigrateOrdersViews';\nimport { FixMissingContactsViewsState } from '../hooks/useFixMissingContactsViews';\n\nexport interface CollectionViewsStateParams<T, F extends FiltersMap> {\n presets?: Category<F>[];\n container: WixPatternsContainer;\n table: ToolbarCollectionState<T, F>;\n allItemsViewProps?: AllItemsViewProps<F>;\n onDeleteView?: (view: View<F>) => void | Promise<void>;\n onSaveViewChanges?: (view: View<F>) => void | Promise<void>;\n onSaveView?: (view: View<F>) => void | Promise<void>;\n onRenameView?: (view: View<F>) => void | Promise<void>;\n onSetAsDefaultView?: (\n view: View<F>,\n isDefault: boolean,\n ) => void | Promise<void>;\n learnMoreLink?: ViewsProps<F>['learnMoreLink'];\n viewNamePlaceholder?: ViewsProps<F>['viewNamePlaceholder'];\n}\n\nexport class CollectionViewsState<T, F extends FiltersMap> {\n readonly views: ViewsState<F>;\n readonly table: ToolbarCollectionState<T, F>;\n readonly initTask = new TaskState();\n readonly emitter = new EventEmitter() as TypedEmitter<{\n openManageViewPopoverMenu: () => unknown;\n }>;\n readonly queryCompareHelper: CollectionViewsQueryCompareHelper<T, F>;\n readonly onDeleteView?: (view: View<F>) => void | Promise<void>;\n readonly onSaveViewChanges?: (view: View<F>) => void | Promise<void>;\n readonly onSaveView?: (view: View<F>) => void | Promise<void>;\n readonly onRenameView?: (view: View<F>) => void | Promise<void>;\n readonly onSetAsDefaultView?: (\n view: View<F>,\n isDefault: boolean,\n ) => void | Promise<void>;\n\n readonly learnMoreLink?: string;\n readonly viewNamePlaceholder?: string;\n\n viewsStateBIReporter: CollectionViewsStateBIReporter<T, F>;\n\n getLayout(): ViewType | undefined {\n return this.table.layoutState?.viewType;\n }\n constructor(params: CollectionViewsStateParams<T, F>) {\n this.table = params.table;\n this.onDeleteView = params.onDeleteView;\n this.onSaveViewChanges = params.onSaveViewChanges;\n this.onSaveView = params.onSaveView;\n this.onRenameView = params.onRenameView;\n this.onSetAsDefaultView = params.onSetAsDefaultView;\n\n this.learnMoreLink = params.learnMoreLink;\n this.viewNamePlaceholder = params.viewNamePlaceholder;\n\n this.views = new ViewsState({\n oldNamespace: this.table.namespace,\n container: params.container,\n presets: params.presets,\n fqdn: this.table.collection.queryName,\n allItemsViewProps: params.allItemsViewProps,\n reportBI: this.table.reportBi,\n });\n\n this.views._migrateOrdersViews = (viewsState) => {\n (\n this.table.collection as MigrateOrdersViewsState<F>\n )._migrateOrdersViews?.(viewsState);\n };\n\n this.views._fixMissingContactsViews = (viewsState) => {\n (\n this.table.collection as FixMissingContactsViewsState<F>\n )._fixMissingContactsViews?.(viewsState);\n };\n\n this.queryCompareHelper = new CollectionViewsQueryCompareHelper<T, F>({\n table: this.table,\n collectionViews: this,\n });\n\n this.viewsStateBIReporter = new CollectionViewsStateBIReporter({\n reportBI: this.table.reportBi,\n collectionViewState: this,\n });\n\n makeObservable(this, {\n _setSelectedViewToCollectionQuery: action.bound,\n _onSelectViewAndRefresh: action.bound,\n _selectInitialView: action.bound,\n isViewChanged: computed,\n currentViewColumns: computed,\n currentViewColumnsOrDefaultColumns: computed,\n });\n }\n\n get isViewChanged() {\n const {\n views: { currentView },\n } = this;\n\n return (\n !currentView ||\n this.queryCompareHelper.isSelectedColumnsChanged ||\n this.queryCompareHelper.isSortChanged ||\n this.queryCompareHelper.isFiltersChanged\n );\n }\n\n get _doNotWaitForViewsExperimentEnabled() {\n const {\n table: {\n container: { experiments, internalExperiments },\n },\n } = this;\n\n return (\n internalExperiments?.enabled('specs.cairo.doNotWaitForViews') ||\n experiments.enabled('specs.cairo.stores.doNotWaitForViews')\n );\n }\n\n init() {\n const {\n views,\n initTask,\n table: {\n collection,\n container: { history },\n },\n } = this;\n\n if (this._doNotWaitForViewsExperimentEnabled) {\n this._selectInitialView(views._getAllItemsAndPresetViews());\n }\n\n const disposers = [\n addEventListener(\n collection.hooks,\n 'beforeInitialFetch',\n action(async () => {\n if (\n !this._doNotWaitForViewsExperimentEnabled &&\n !collection.query._initializedFromHistory\n ) {\n await this.initTask.status.promise?.catch(() => {});\n }\n }),\n ),\n views.init(),\n ...this._subscribeOnSelectView(),\n ...this._subscribeOnViewAction(),\n this.viewsStateBIReporter.init(),\n new ViewsHistoryState({\n views: this.views,\n history,\n }).init(),\n ];\n\n initTask.runOnce(async () => {\n await views.initTask.status.promise;\n runInAction(() => {\n if (this._selectInitialView(views.collection.result.items)) {\n // when not waiting for views, we need to refresh the collection as the initialView after views loaded might have changed the query\n if (this._doNotWaitForViewsExperimentEnabled) {\n this.table.collection.clearResultAndMoveToStart();\n }\n }\n });\n });\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n _selectInitialView(items: PrivateView<F>[]): void | boolean {\n const {\n views,\n table: { collection },\n } = this;\n\n if (this.views.currentView) {\n return;\n }\n\n const initialSelectItem = views._getInitialSelectItem(items);\n\n if (initialSelectItem == null) {\n return;\n }\n\n if (\n !views._initialViewIdFromUrl &&\n collection.query._initializedFromHistory\n ) {\n return;\n }\n\n const view = views.getView(initialSelectItem.id);\n views.currentView = view ?? null;\n\n if (!collection.query._initializedFromHistory) {\n this._setSelectedViewToCollectionQuery();\n return true;\n }\n }\n\n private _subscribeOnViewAction() {\n const { views } = this;\n return [\n addEventListener(\n views.events,\n 'undoAction',\n this.viewsStateBIReporter.undoActionBI.bind(this.viewsStateBIReporter),\n ),\n addEventListener(\n views.events,\n 'tryAgainAction',\n this.viewsStateBIReporter.tryAgainBI.bind(this.viewsStateBIReporter),\n ),\n addEventListener(\n views.events,\n 'errorAction',\n this.viewsStateBIReporter.errorBI.bind(this.viewsStateBIReporter),\n ),\n ];\n }\n\n private _subscribeOnSelectView() {\n const { views } = this;\n return [\n addEventListener(\n views.events,\n 'selectAndRefresh',\n action(this._onSelectViewAndRefresh),\n ),\n ];\n }\n\n _onSelectViewAndRefresh(needFiltersReset = true) {\n if (!needFiltersReset) {\n return;\n }\n\n const {\n table: { collection },\n views: { currentView },\n } = this;\n const { query } = collection;\n this._setSelectedViewToCollectionQuery();\n query.queryHistory?.persistAll();\n if (this.table.layoutState && currentView?.layout) {\n this.table.layoutState.viewType = currentView.layout;\n }\n\n query.events.emit('refresh');\n }\n\n get currentViewColumns() {\n const { views, table } = this;\n const { columns, customColumnsState } = table;\n const { currentView } = views;\n const viewSelectedColumns = currentView?.selectedColumns;\n\n if (!viewSelectedColumns?.length) {\n return null;\n }\n\n const selectedColumnsToSet = columns.map(\n ({ id, hideable, hiddenFromCustomColumnsSelection }) => ({\n id,\n isSelected:\n viewSelectedColumns.some(\n (c) => c.id === id && c.isSelected !== false,\n ) ||\n !hideable ||\n hiddenFromCustomColumnsSelection === true,\n }),\n );\n\n return customColumnsState?.dragAndDrop\n ? selectedColumnsToSet.sort(\n indexOfCompareFn(viewSelectedColumns, (e) => e?.id),\n )\n : selectedColumnsToSet;\n }\n\n get currentViewColumnsOrDefaultColumns() {\n return this.currentViewColumns ?? this.table.selectedColumns.defaultValue;\n }\n\n _setSelectedViewToCollectionQuery() {\n const { views, table } = this;\n const { selectedColumns, collection } = table;\n const { currentView } = views;\n\n const { query } = collection;\n\n query.resetFilters();\n if (currentView?.filters) {\n Object.entries(currentView.filters).forEach(([filterName, filter]) => {\n const queryFilter = query.filters[filterName];\n if (queryFilter && queryFilter.value !== filter?.value) {\n queryFilter.setValue(queryFilter.decode(filter?.value));\n }\n });\n }\n\n query.resetSorting();\n if (currentView?.sortDirections && currentView.sortDirections.length > 0) {\n query.sort.setSortQuery(\n currentView.sortDirections.map((sortInView) => ({\n field: sortInView.columnId,\n direction: sortInView.direction === 'Ascending' ? 'asc' : 'desc',\n })),\n { emitChangeEvent: true },\n );\n } else {\n query.resetSorting({ emitChangeEvent: true });\n }\n\n if (this.currentViewColumns) {\n selectedColumns.setValue(this.currentViewColumns);\n } else {\n selectedColumns.reset();\n }\n\n query.setExtra(currentView?.extra);\n }\n\n async deleteView(view?: PrivateView<F>) {\n try {\n const viewToDelete = view ?? this.views.currentView;\n if (!viewToDelete) {\n return;\n }\n this.viewsStateBIReporter.deleteViewSelectedBI();\n this.onDeleteView?.(viewToDelete);\n await this.views.deleteView(viewToDelete);\n this.viewsStateBIReporter.deleteViewBI(viewToDelete);\n } catch (e) {\n throw new WixPatternsError({\n originalException: e,\n errorCode: 'DeleteViewFailed',\n });\n }\n }\n\n async saveViewChanges() {\n this.viewsStateBIReporter.saveViewChangesSelectedBI();\n\n const oldView = this.views.currentView\n ? ({ ...this.views.currentView } as PrivateView<F>)\n : undefined;\n\n const newView = await this.views.saveViewChanges(\n this.queryCompareHelper.currentViewBase,\n );\n\n if (newView) {\n this.onSaveViewChanges?.(newView);\n this.viewsStateBIReporter.saveViewChangesBI(newView, oldView);\n }\n }\n\n sendSaveNewViewSelectedBI() {\n this.viewsStateBIReporter.saveNewViewSelectedBI();\n }\n\n async saveNewView(name: string) {\n try {\n const newView = await this.views.saveView({\n newView: this.views.createNewView(\n name,\n this.queryCompareHelper.currentViewBase,\n ),\n isNew: true,\n oldViewId: this.views.currentView?.id,\n });\n this.onSaveView?.(newView);\n this.viewsStateBIReporter.saveNewViewBI(newView);\n } catch (err) {\n throw new WixPatternsError({\n errorCode: 'SaveViewFailed',\n originalException: err,\n });\n }\n }\n\n sendRenameViewSelectedBI() {\n this.viewsStateBIReporter.renameViewSelectedBI();\n }\n\n async renameView(name: string) {\n try {\n if (!this.views.currentView) {\n return;\n }\n const oldName = this.views.currentView.name;\n const newView = await this.views.renameView(\n { ...this.views.currentView, name } as PrivateView<F>,\n this.views.currentView?.name ?? '',\n );\n this.onRenameView?.(newView);\n this.viewsStateBIReporter.renameViewBI(newView, oldName);\n } catch (e) {\n throw new WixPatternsError({\n originalException: e,\n errorCode: 'RenameViewFailed',\n });\n }\n }\n\n async setAsDefaultView() {\n try {\n if (!this.views.currentView) {\n return;\n }\n const isDefault = this.views.defaultViewId !== this.views.currentView.id;\n this.viewsStateBIReporter.setAsDefaultViewSelectedBI(isDefault);\n const newView = await this.views.setAsDefaultView(\n this.views.currentView,\n isDefault,\n );\n this.onSetAsDefaultView?.(newView, isDefault);\n this.viewsStateBIReporter.setAsDefaultViewBI(isDefault, newView);\n } catch (e) {\n throw new WixPatternsError({\n originalException: e,\n errorCode: 'SetAsDefaultViewFailed',\n });\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_ViewsState","_mobx","_model","_CollectionViewsStateBIReporter","_events","_indexOfCompareFn","_CollectionViewsQueryCompareHelper","_ViewsHistoryState","CollectionViewsState","getLayout","_this$table$layoutSta","table","layoutState","viewType","constructor","params","_defineProperty2","default","TaskState","EventEmitter","onDeleteView","onSaveViewChanges","onSaveView","onRenameView","onSetAsDefaultView","learnMoreLink","viewNamePlaceholder","views","ViewsState","oldNamespace","namespace","container","presets","fqdn","collection","queryName","allItemsViewProps","reportBI","reportBi","_migrateOrdersViews","viewsState","_ref","call","_fixMissingContactsViews","_fixMissingContactsVi","_ref2","queryCompareHelper","CollectionViewsQueryCompareHelper","collectionViews","viewsStateBIReporter","CollectionViewsStateBIReporter","collectionViewState","makeObservable","_setSelectedViewToCollectionQuery","action","bound","_onSelectViewAndRefresh","_selectInitialView","isViewChanged","computed","currentViewColumns","currentViewColumnsOrDefaultColumns","currentView","isSelectedColumnsChanged","isSortChanged","isFiltersChanged","_doNotWaitForViewsExperimentEnabled","experiments","internalExperiments","enabled","init","initTask","history","_getAllItemsAndPresetViews","disposers","addEventListener","hooks","query","_initializedFromHistory","_this$initTask$status","status","promise","catch","_subscribeOnSelectView","_subscribeOnViewAction","ViewsHistoryState","reaction","_this$table$layoutSta2","newLayout","prevLayout","cols","selectedColumns","setValue","reset","runOnce","runInAction","result","items","clearResultAndMoveToStart","forEach","disposer","initialSelectItem","_getInitialSelectItem","_initialViewIdFromUrl","view","getView","id","events","undoActionBI","bind","tryAgainBI","errorBI","needFiltersReset","_query$queryHistory","layout","queryHistory","persistAll","emit","columns","customColumnsState","viewSelectedColumns","getViewSelectedColumnsForLayout","length","selectedColumnsToSet","map","hideable","hiddenFromCustomColumnsSelection","isSelected","some","c","dragAndDrop","sort","indexOfCompareFn","e","defaultValue","resetFilters","filters","Object","entries","filterName","filter","queryFilter","value","decode","resetSorting","sortDirections","setSortQuery","sortInView","field","columnId","direction","emitChangeEvent","setExtra","extra","deleteView","_this$onDeleteView","viewToDelete","deleteViewSelectedBI","deleteViewBI","WixPatternsError","originalException","errorCode","saveViewChanges","saveViewChangesSelectedBI","oldView","undefined","newView","currentViewBase","_this$onSaveViewChang","saveViewChangesBI","sendSaveNewViewSelectedBI","saveNewViewSelectedBI","saveNewView","name","_this$views$currentVi","_this$onSaveView","saveView","createNewView","isNew","oldViewId","saveNewViewBI","err","sendRenameViewSelectedBI","renameViewSelectedBI","renameView","_this$views$currentVi2","_this$onRenameView","oldName","renameViewBI","setAsDefaultView","_this$onSetAsDefaultV","isDefault","defaultViewId","setAsDefaultViewSelectedBI","setAsDefaultViewBI","exports"],"sources":["../../../src/state/CollectionViewsState.ts"],"sourcesContent":["import {\n addEventListener,\n FiltersMap,\n TaskState,\n TypedEmitter,\n WixPatternsContainer,\n WixPatternsError,\n} from '@wix/bex-core';\nimport { ViewsState } from './ViewsState';\nimport { ViewsProps } from '../index';\nimport { action, computed, makeObservable, reaction, runInAction } from 'mobx';\nimport {\n AllItemsViewProps,\n Category,\n getViewSelectedColumnsForLayout,\n PrivateView,\n View,\n ViewType,\n} from '../model';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { CollectionViewsStateBIReporter } from './CollectionViewsStateBIReporter';\nimport { EventEmitter } from 'events';\nimport { indexOfCompareFn } from './indexOfCompareFn';\nimport { CollectionViewsQueryCompareHelper } from './CollectionViewsQueryCompareHelper';\nimport { ViewsHistoryState } from './ViewsHistoryState';\nimport { MigrateOrdersViewsState } from '../hooks/useMigrateOrdersViews';\nimport { FixMissingContactsViewsState } from '../hooks/useFixMissingContactsViews';\n\nexport interface CollectionViewsStateParams<T, F extends FiltersMap> {\n presets?: Category<F>[];\n container: WixPatternsContainer;\n table: ToolbarCollectionState<T, F>;\n allItemsViewProps?: AllItemsViewProps<F>;\n onDeleteView?: (view: View<F>) => void | Promise<void>;\n onSaveViewChanges?: (view: View<F>) => void | Promise<void>;\n onSaveView?: (view: View<F>) => void | Promise<void>;\n onRenameView?: (view: View<F>) => void | Promise<void>;\n onSetAsDefaultView?: (\n view: View<F>,\n isDefault: boolean,\n ) => void | Promise<void>;\n learnMoreLink?: ViewsProps<F>['learnMoreLink'];\n viewNamePlaceholder?: ViewsProps<F>['viewNamePlaceholder'];\n}\n\nexport class CollectionViewsState<T, F extends FiltersMap> {\n readonly views: ViewsState<F>;\n readonly table: ToolbarCollectionState<T, F>;\n readonly initTask = new TaskState();\n readonly emitter = new EventEmitter() as TypedEmitter<{\n openManageViewPopoverMenu: () => unknown;\n }>;\n readonly queryCompareHelper: CollectionViewsQueryCompareHelper<T, F>;\n readonly onDeleteView?: (view: View<F>) => void | Promise<void>;\n readonly onSaveViewChanges?: (view: View<F>) => void | Promise<void>;\n readonly onSaveView?: (view: View<F>) => void | Promise<void>;\n readonly onRenameView?: (view: View<F>) => void | Promise<void>;\n readonly onSetAsDefaultView?: (\n view: View<F>,\n isDefault: boolean,\n ) => void | Promise<void>;\n\n readonly learnMoreLink?: string;\n readonly viewNamePlaceholder?: string;\n\n viewsStateBIReporter: CollectionViewsStateBIReporter<T, F>;\n\n getLayout(): ViewType | undefined {\n return this.table.layoutState?.viewType;\n }\n constructor(params: CollectionViewsStateParams<T, F>) {\n this.table = params.table;\n this.onDeleteView = params.onDeleteView;\n this.onSaveViewChanges = params.onSaveViewChanges;\n this.onSaveView = params.onSaveView;\n this.onRenameView = params.onRenameView;\n this.onSetAsDefaultView = params.onSetAsDefaultView;\n\n this.learnMoreLink = params.learnMoreLink;\n this.viewNamePlaceholder = params.viewNamePlaceholder;\n\n this.views = new ViewsState({\n oldNamespace: this.table.namespace,\n container: params.container,\n presets: params.presets,\n fqdn: this.table.collection.queryName,\n allItemsViewProps: params.allItemsViewProps,\n reportBI: this.table.reportBi,\n });\n\n this.views._migrateOrdersViews = (viewsState) => {\n (\n this.table.collection as MigrateOrdersViewsState<F>\n )._migrateOrdersViews?.(viewsState);\n };\n\n this.views._fixMissingContactsViews = (viewsState) => {\n (\n this.table.collection as FixMissingContactsViewsState<F>\n )._fixMissingContactsViews?.(viewsState);\n };\n\n this.queryCompareHelper = new CollectionViewsQueryCompareHelper<T, F>({\n table: this.table,\n collectionViews: this,\n });\n\n this.viewsStateBIReporter = new CollectionViewsStateBIReporter({\n reportBI: this.table.reportBi,\n collectionViewState: this,\n });\n\n makeObservable(this, {\n _setSelectedViewToCollectionQuery: action.bound,\n _onSelectViewAndRefresh: action.bound,\n _selectInitialView: action.bound,\n isViewChanged: computed,\n currentViewColumns: computed,\n currentViewColumnsOrDefaultColumns: computed,\n });\n }\n\n get isViewChanged() {\n const {\n views: { currentView },\n } = this;\n\n return (\n !currentView ||\n this.queryCompareHelper.isSelectedColumnsChanged ||\n this.queryCompareHelper.isSortChanged ||\n this.queryCompareHelper.isFiltersChanged\n );\n }\n\n get _doNotWaitForViewsExperimentEnabled() {\n const {\n table: {\n container: { experiments, internalExperiments },\n },\n } = this;\n\n return (\n internalExperiments?.enabled('specs.cairo.doNotWaitForViews') ||\n experiments.enabled('specs.cairo.stores.doNotWaitForViews')\n );\n }\n\n init() {\n const {\n views,\n initTask,\n table: {\n collection,\n container: { history },\n },\n } = this;\n\n if (this._doNotWaitForViewsExperimentEnabled) {\n this._selectInitialView(views._getAllItemsAndPresetViews());\n }\n\n const disposers = [\n addEventListener(\n collection.hooks,\n 'beforeInitialFetch',\n action(async () => {\n if (\n !this._doNotWaitForViewsExperimentEnabled &&\n !collection.query._initializedFromHistory\n ) {\n await this.initTask.status.promise?.catch(() => {});\n }\n }),\n ),\n views.init(),\n ...this._subscribeOnSelectView(),\n ...this._subscribeOnViewAction(),\n this.viewsStateBIReporter.init(),\n new ViewsHistoryState({\n views: this.views,\n history,\n }).init(),\n reaction(\n () => this.table.layoutState?.viewType,\n (newLayout, prevLayout) => {\n if (!newLayout || !prevLayout || newLayout === prevLayout) {\n return;\n }\n if (!this.views.currentView) {\n return;\n }\n const cols = this.currentViewColumns;\n if (cols) {\n this.table.selectedColumns.setValue(cols);\n } else {\n this.table.selectedColumns.reset();\n }\n },\n ),\n ];\n\n initTask.runOnce(async () => {\n await views.initTask.status.promise;\n runInAction(() => {\n if (this._selectInitialView(views.collection.result.items)) {\n // when not waiting for views, we need to refresh the collection as the initialView after views loaded might have changed the query\n if (this._doNotWaitForViewsExperimentEnabled) {\n this.table.collection.clearResultAndMoveToStart();\n }\n }\n });\n });\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n _selectInitialView(items: PrivateView<F>[]): void | boolean {\n const {\n views,\n table: { collection },\n } = this;\n\n if (this.views.currentView) {\n return;\n }\n\n const initialSelectItem = views._getInitialSelectItem(items);\n\n if (initialSelectItem == null) {\n return;\n }\n\n if (\n !views._initialViewIdFromUrl &&\n collection.query._initializedFromHistory\n ) {\n return;\n }\n\n const view = views.getView(initialSelectItem.id);\n views.currentView = view ?? null;\n\n if (!collection.query._initializedFromHistory) {\n this._setSelectedViewToCollectionQuery();\n return true;\n }\n }\n\n private _subscribeOnViewAction() {\n const { views } = this;\n return [\n addEventListener(\n views.events,\n 'undoAction',\n this.viewsStateBIReporter.undoActionBI.bind(this.viewsStateBIReporter),\n ),\n addEventListener(\n views.events,\n 'tryAgainAction',\n this.viewsStateBIReporter.tryAgainBI.bind(this.viewsStateBIReporter),\n ),\n addEventListener(\n views.events,\n 'errorAction',\n this.viewsStateBIReporter.errorBI.bind(this.viewsStateBIReporter),\n ),\n ];\n }\n\n private _subscribeOnSelectView() {\n const { views } = this;\n return [\n addEventListener(\n views.events,\n 'selectAndRefresh',\n action(this._onSelectViewAndRefresh),\n ),\n ];\n }\n\n _onSelectViewAndRefresh(needFiltersReset = true) {\n if (!needFiltersReset) {\n return;\n }\n\n const {\n table: { collection },\n views: { currentView },\n } = this;\n const { query } = collection;\n // Layout must settle first — _setSelectedViewToCollectionQuery reads layout-aware columns.\n if (this.table.layoutState && currentView?.layout) {\n this.table.layoutState.viewType = currentView.layout;\n }\n this._setSelectedViewToCollectionQuery();\n query.queryHistory?.persistAll();\n\n query.events.emit('refresh');\n }\n\n get currentViewColumns() {\n const { views, table } = this;\n const { columns, customColumnsState } = table;\n const { currentView } = views;\n const viewSelectedColumns = getViewSelectedColumnsForLayout(\n currentView,\n this.getLayout(),\n );\n\n if (!viewSelectedColumns?.length) {\n return null;\n }\n\n const selectedColumnsToSet = columns.map(\n ({ id, hideable, hiddenFromCustomColumnsSelection }) => ({\n id,\n isSelected:\n viewSelectedColumns.some(\n (c) => c.id === id && c.isSelected !== false,\n ) ||\n !hideable ||\n hiddenFromCustomColumnsSelection === true,\n }),\n );\n\n return customColumnsState?.dragAndDrop\n ? selectedColumnsToSet.sort(\n indexOfCompareFn(viewSelectedColumns, (e) => e?.id),\n )\n : selectedColumnsToSet;\n }\n\n get currentViewColumnsOrDefaultColumns() {\n return this.currentViewColumns ?? this.table.selectedColumns.defaultValue;\n }\n\n _setSelectedViewToCollectionQuery() {\n const { views, table } = this;\n const { selectedColumns, collection } = table;\n const { currentView } = views;\n\n const { query } = collection;\n\n query.resetFilters();\n if (currentView?.filters) {\n Object.entries(currentView.filters).forEach(([filterName, filter]) => {\n const queryFilter = query.filters[filterName];\n if (queryFilter && queryFilter.value !== filter?.value) {\n queryFilter.setValue(queryFilter.decode(filter?.value));\n }\n });\n }\n\n query.resetSorting();\n if (currentView?.sortDirections && currentView.sortDirections.length > 0) {\n query.sort.setSortQuery(\n currentView.sortDirections.map((sortInView) => ({\n field: sortInView.columnId,\n direction: sortInView.direction === 'Ascending' ? 'asc' : 'desc',\n })),\n { emitChangeEvent: true },\n );\n } else {\n query.resetSorting({ emitChangeEvent: true });\n }\n\n if (this.currentViewColumns) {\n selectedColumns.setValue(this.currentViewColumns);\n } else {\n selectedColumns.reset();\n }\n\n query.setExtra(currentView?.extra);\n }\n\n async deleteView(view?: PrivateView<F>) {\n try {\n const viewToDelete = view ?? this.views.currentView;\n if (!viewToDelete) {\n return;\n }\n this.viewsStateBIReporter.deleteViewSelectedBI();\n this.onDeleteView?.(viewToDelete);\n await this.views.deleteView(viewToDelete);\n this.viewsStateBIReporter.deleteViewBI(viewToDelete);\n } catch (e) {\n throw new WixPatternsError({\n originalException: e,\n errorCode: 'DeleteViewFailed',\n });\n }\n }\n\n async saveViewChanges() {\n this.viewsStateBIReporter.saveViewChangesSelectedBI();\n\n const oldView = this.views.currentView\n ? ({ ...this.views.currentView } as PrivateView<F>)\n : undefined;\n\n const newView = await this.views.saveViewChanges(\n this.queryCompareHelper.currentViewBase,\n );\n\n if (newView) {\n this.onSaveViewChanges?.(newView);\n this.viewsStateBIReporter.saveViewChangesBI(newView, oldView);\n }\n }\n\n sendSaveNewViewSelectedBI() {\n this.viewsStateBIReporter.saveNewViewSelectedBI();\n }\n\n async saveNewView(name: string) {\n try {\n const newView = await this.views.saveView({\n newView: this.views.createNewView(\n name,\n this.queryCompareHelper.currentViewBase,\n ),\n isNew: true,\n oldViewId: this.views.currentView?.id,\n });\n this.onSaveView?.(newView);\n this.viewsStateBIReporter.saveNewViewBI(newView);\n } catch (err) {\n throw new WixPatternsError({\n errorCode: 'SaveViewFailed',\n originalException: err,\n });\n }\n }\n\n sendRenameViewSelectedBI() {\n this.viewsStateBIReporter.renameViewSelectedBI();\n }\n\n async renameView(name: string) {\n try {\n if (!this.views.currentView) {\n return;\n }\n const oldName = this.views.currentView.name;\n const newView = await this.views.renameView(\n { ...this.views.currentView, name } as PrivateView<F>,\n this.views.currentView?.name ?? '',\n );\n this.onRenameView?.(newView);\n this.viewsStateBIReporter.renameViewBI(newView, oldName);\n } catch (e) {\n throw new WixPatternsError({\n originalException: e,\n errorCode: 'RenameViewFailed',\n });\n }\n }\n\n async setAsDefaultView() {\n try {\n if (!this.views.currentView) {\n return;\n }\n const isDefault = this.views.defaultViewId !== this.views.currentView.id;\n this.viewsStateBIReporter.setAsDefaultViewSelectedBI(isDefault);\n const newView = await this.views.setAsDefaultView(\n this.views.currentView,\n isDefault,\n );\n this.onSetAsDefaultView?.(newView, isDefault);\n this.viewsStateBIReporter.setAsDefaultViewBI(isDefault, newView);\n } catch (e) {\n throw new WixPatternsError({\n originalException: e,\n errorCode: 'SetAsDefaultViewFailed',\n });\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -17,11 +17,29 @@ function parseSelectedColumnsString(selectedColumnsFromUrl) {
|
|
|
17
17
|
id
|
|
18
18
|
}) => id);
|
|
19
19
|
}
|
|
20
|
+
|
|
21
|
+
// Legacy `selectedColumns` stays bound to non-spreadsheet layouts so existing
|
|
22
|
+
// deep links keep their meaning; spreadsheet uses a sibling param.
|
|
23
|
+
const SELECTED_COLUMNS_PARAM = 'selectedColumns';
|
|
24
|
+
const SPREADSHEET_SELECTED_COLUMNS_PARAM = 'spreadsheetSelectedColumns';
|
|
25
|
+
const getSelectedColumnsParamForLayout = layout => layout === 'spreadsheet' ? SPREADSHEET_SELECTED_COLUMNS_PARAM : SELECTED_COLUMNS_PARAM;
|
|
26
|
+
const serializeSelectedColumns = selectedColumns => selectedColumns.map(c => `${encodeURIComponent(c.id)}${!c.isSelected ? ' false' : ''}`).join(',');
|
|
20
27
|
class CustomColumnsHistoryState {
|
|
28
|
+
get selectedColumnsSearchParamName() {
|
|
29
|
+
var _this$customColumns$t;
|
|
30
|
+
return getSelectedColumnsParamForLayout((_this$customColumns$t = this.customColumns.table.layoutState) == null ? void 0 : _this$customColumns$t.viewType);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Live, per-layout read — unlike `_selectedColumnsFromUrl` (frozen at the
|
|
34
|
+
// initial layout), this reflects the active layout after a switch so URL
|
|
35
|
+
// takes precedence over dataCapsule per layout, not just on first load.
|
|
36
|
+
get hasUrlColumnsForCurrentLayout() {
|
|
37
|
+
const params = new URLSearchParams(this.history.location.search);
|
|
38
|
+
return !!params.get(this.selectedColumnsSearchParamName);
|
|
39
|
+
}
|
|
21
40
|
constructor(params) {
|
|
22
41
|
(0, _defineProperty2.default)(this, "customColumns", void 0);
|
|
23
42
|
(0, _defineProperty2.default)(this, "history", void 0);
|
|
24
|
-
(0, _defineProperty2.default)(this, "selectedColumnsSearchParamName", 'selectedColumns');
|
|
25
43
|
(0, _defineProperty2.default)(this, "_selectedColumnsFromUrl", void 0);
|
|
26
44
|
this.customColumns = params.customColumns;
|
|
27
45
|
this.history = params.history;
|
|
@@ -45,16 +63,35 @@ class CustomColumnsHistoryState {
|
|
|
45
63
|
}
|
|
46
64
|
init() {
|
|
47
65
|
const disposers = [(0, _mobx.reaction)(() => this.customColumns.table.selectedColumns.value, selectedColumns => {
|
|
66
|
+
const paramName = this.selectedColumnsSearchParamName;
|
|
48
67
|
(0, _bexCore.replaceSearchParamsWith)(this.history, searchParams => {
|
|
49
68
|
if (selectedColumns.length) {
|
|
50
|
-
searchParams.set(
|
|
69
|
+
searchParams.set(paramName, serializeSelectedColumns(selectedColumns));
|
|
51
70
|
} else {
|
|
52
|
-
searchParams.delete(
|
|
71
|
+
searchParams.delete(paramName);
|
|
53
72
|
}
|
|
54
73
|
});
|
|
55
74
|
}, {
|
|
56
75
|
fireImmediately: true,
|
|
57
76
|
delay: 250
|
|
77
|
+
}), (0, _mobx.reaction)(() => {
|
|
78
|
+
var _this$customColumns$t2;
|
|
79
|
+
return (_this$customColumns$t2 = this.customColumns.table.layoutState) == null ? void 0 : _this$customColumns$t2.viewType;
|
|
80
|
+
}, (newLayout, prevLayout) => {
|
|
81
|
+
if (!newLayout || !prevLayout || newLayout === prevLayout) {
|
|
82
|
+
return;
|
|
83
|
+
}
|
|
84
|
+
// Views path is handled by CollectionViewsState's own reaction.
|
|
85
|
+
if (this.customColumns.table.viewsProps) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
const searchParams = new URLSearchParams(this.history.location.search);
|
|
89
|
+
const value = searchParams.get(getSelectedColumnsParamForLayout(newLayout));
|
|
90
|
+
if (value) {
|
|
91
|
+
this.customColumns.table.selectedColumns.setValue(parseSelectedColumnsString(value));
|
|
92
|
+
} else {
|
|
93
|
+
this.customColumns.table.selectedColumns.reset();
|
|
94
|
+
}
|
|
58
95
|
})];
|
|
59
96
|
return () => {
|
|
60
97
|
disposers.forEach(d => d());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_bexCore","parseSelectedColumnsString","selectedColumnsFromUrl","split","map","columnExpression","id","isSelected","decodeURIComponent","filter","
|
|
1
|
+
{"version":3,"names":["_mobx","require","_bexCore","parseSelectedColumnsString","selectedColumnsFromUrl","split","map","columnExpression","id","isSelected","decodeURIComponent","filter","SELECTED_COLUMNS_PARAM","SPREADSHEET_SELECTED_COLUMNS_PARAM","getSelectedColumnsParamForLayout","layout","serializeSelectedColumns","selectedColumns","c","encodeURIComponent","join","CustomColumnsHistoryState","selectedColumnsSearchParamName","_this$customColumns$t","customColumns","table","layoutState","viewType","hasUrlColumnsForCurrentLayout","params","URLSearchParams","history","location","search","get","constructor","_defineProperty2","default","_preInitHistoryPersistence","searchParams","_selectedColumnsFromUrl","setValue","multi","collections","forEach","query","_initializedFromHistory","init","disposers","reaction","value","paramName","replaceSearchParamsWith","length","set","delete","fireImmediately","delay","_this$customColumns$t2","newLayout","prevLayout","viewsProps","reset","d","exports"],"sources":["../../../src/state/CustomColumnsHistoryState.ts"],"sourcesContent":["import { reaction } from 'mobx';\nimport { History, replaceSearchParamsWith } from '@wix/bex-core';\nimport { CustomColumnsState } from './CustomColumnsState';\nimport { ViewType } from '../model';\n\nfunction parseSelectedColumnsString(selectedColumnsFromUrl: string) {\n return selectedColumnsFromUrl\n .split(',')\n .map((columnExpression) => {\n const [id = '', isSelected] = columnExpression.split(' ');\n\n return {\n id: decodeURIComponent(id),\n isSelected: isSelected !== 'false',\n };\n })\n .filter(({ id }) => id);\n}\n\n// Legacy `selectedColumns` stays bound to non-spreadsheet layouts so existing\n// deep links keep their meaning; spreadsheet uses a sibling param.\nconst SELECTED_COLUMNS_PARAM = 'selectedColumns';\nconst SPREADSHEET_SELECTED_COLUMNS_PARAM = 'spreadsheetSelectedColumns';\n\nconst getSelectedColumnsParamForLayout = (\n layout: ViewType | undefined,\n): string =>\n layout === 'spreadsheet'\n ? SPREADSHEET_SELECTED_COLUMNS_PARAM\n : SELECTED_COLUMNS_PARAM;\n\nconst serializeSelectedColumns = (\n selectedColumns: readonly {\n id: string;\n isSelected?: boolean;\n }[],\n) =>\n selectedColumns\n .map(\n (c) =>\n `${encodeURIComponent(c.id)}${!c.isSelected ? ' false' : ''}`,\n )\n .join(',');\n\nexport interface CustomColumnsHistoryStateParams {\n customColumns: CustomColumnsState<any, any>;\n history: History;\n}\n\nexport class CustomColumnsHistoryState {\n readonly customColumns;\n readonly history;\n\n get selectedColumnsSearchParamName(): string {\n return getSelectedColumnsParamForLayout(\n this.customColumns.table.layoutState?.viewType,\n );\n }\n\n // Live, per-layout read — unlike `_selectedColumnsFromUrl` (frozen at the\n // initial layout), this reflects the active layout after a switch so URL\n // takes precedence over dataCapsule per layout, not just on first load.\n get hasUrlColumnsForCurrentLayout(): boolean {\n const params = new URLSearchParams(this.history.location.search);\n return !!params.get(this.selectedColumnsSearchParamName);\n }\n\n _selectedColumnsFromUrl?: string | null;\n\n constructor(params: CustomColumnsHistoryStateParams) {\n this.customColumns = params.customColumns;\n this.history = params.history;\n\n this._preInitHistoryPersistence();\n }\n\n _preInitHistoryPersistence() {\n const { history, customColumns } = this;\n\n const searchParams = new URLSearchParams(history.location.search);\n\n this._selectedColumnsFromUrl = searchParams.get(\n this.selectedColumnsSearchParamName,\n );\n\n if (this._selectedColumnsFromUrl) {\n this.customColumns.table.selectedColumns.setValue(\n parseSelectedColumnsString(this._selectedColumnsFromUrl),\n );\n customColumns.table.multi.collections.forEach(({ query }) => {\n query._initializedFromHistory = true;\n });\n }\n }\n\n init() {\n const disposers = [\n reaction(\n () => this.customColumns.table.selectedColumns.value,\n (selectedColumns) => {\n const paramName = this.selectedColumnsSearchParamName;\n replaceSearchParamsWith(this.history, (searchParams) => {\n if (selectedColumns.length) {\n searchParams.set(\n paramName,\n serializeSelectedColumns(selectedColumns),\n );\n } else {\n searchParams.delete(paramName);\n }\n });\n },\n {\n fireImmediately: true,\n delay: 250,\n },\n ),\n reaction(\n () => this.customColumns.table.layoutState?.viewType,\n (newLayout, prevLayout) => {\n if (!newLayout || !prevLayout || newLayout === prevLayout) {\n return;\n }\n // Views path is handled by CollectionViewsState's own reaction.\n if (this.customColumns.table.viewsProps) {\n return;\n }\n const searchParams = new URLSearchParams(\n this.history.location.search,\n );\n const value = searchParams.get(\n getSelectedColumnsParamForLayout(newLayout),\n );\n if (value) {\n this.customColumns.table.selectedColumns.setValue(\n parseSelectedColumnsString(value),\n );\n } else {\n this.customColumns.table.selectedColumns.reset();\n }\n },\n ),\n ];\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
exports.__esModule = true;
|
|
5
|
-
exports.CustomColumnsState = void 0;
|
|
5
|
+
exports.SPREADSHEET_CUSTOM_COLUMNS_KEY = exports.CustomColumnsState = exports.CUSTOM_COLUMNS_KEY = void 0;
|
|
6
6
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
7
|
var _bexCore = require("@wix/bex-core");
|
|
8
8
|
var _mobx = require("mobx");
|
|
@@ -11,6 +11,11 @@ var _indexOfCompareFn = require("./indexOfCompareFn");
|
|
|
11
11
|
var _events = require("events");
|
|
12
12
|
var _bi = require("@wix/bex-core/bi");
|
|
13
13
|
var _CustomColumnsPanelStateBase = require("./CustomColumnsPanelStateBase");
|
|
14
|
+
// Legacy `custom-columns` stays bound to non-spreadsheet layouts so existing
|
|
15
|
+
// stored values keep their meaning; spreadsheet uses a sibling key.
|
|
16
|
+
const CUSTOM_COLUMNS_KEY = exports.CUSTOM_COLUMNS_KEY = 'custom-columns';
|
|
17
|
+
const SPREADSHEET_CUSTOM_COLUMNS_KEY = exports.SPREADSHEET_CUSTOM_COLUMNS_KEY = 'spreadsheet-custom-columns';
|
|
18
|
+
const getCustomColumnsKeyForLayout = layout => layout === 'spreadsheet' ? SPREADSHEET_CUSTOM_COLUMNS_KEY : CUSTOM_COLUMNS_KEY;
|
|
14
19
|
const asStoredColumnsOrNull = customColumnsResult => Array.isArray(customColumnsResult) ? customColumnsResult : null;
|
|
15
20
|
class CustomColumnsState extends _CustomColumnsPanelStateBase.CustomColumnsPanelStateBase {
|
|
16
21
|
constructor(params) {
|
|
@@ -81,6 +86,7 @@ class CustomColumnsState extends _CustomColumnsPanelStateBase.CustomColumnsPanel
|
|
|
81
86
|
return orderedColumns.filter(column => selectedColumns.some(selectedColumn => selectedColumn.id === column.id && selectedColumn.isSelected));
|
|
82
87
|
}
|
|
83
88
|
async persistCustomColumns() {
|
|
89
|
+
var _table$layoutState;
|
|
84
90
|
const {
|
|
85
91
|
table
|
|
86
92
|
} = this;
|
|
@@ -94,7 +100,7 @@ class CustomColumnsState extends _CustomColumnsPanelStateBase.CustomColumnsPanel
|
|
|
94
100
|
return;
|
|
95
101
|
}
|
|
96
102
|
this._touched = true;
|
|
97
|
-
await dataCapsule.setItem(
|
|
103
|
+
await dataCapsule.setItem(getCustomColumnsKeyForLayout((_table$layoutState = table.layoutState) == null ? void 0 : _table$layoutState.viewType), table.selectedColumns.value);
|
|
98
104
|
}
|
|
99
105
|
registerSelectedColumnChange() {
|
|
100
106
|
const {
|
|
@@ -239,7 +245,24 @@ class CustomColumnsState extends _CustomColumnsPanelStateBase.CustomColumnsPanel
|
|
|
239
245
|
selectedColumns.setValue(this.toSelectedColumns, {
|
|
240
246
|
emitEvents: ['change', 'beforeRefresh', 'refresh']
|
|
241
247
|
});
|
|
242
|
-
}), this.registerSelectedColumnChange(), this.columnsCollection.init(), (_this$dragAndDrop = this.dragAndDrop) == null ? void 0 : _this$dragAndDrop.init(), (_this$customColumnsHi = this.customColumnsHistory) == null ? void 0 : _this$customColumnsHi.init()
|
|
248
|
+
}), this.registerSelectedColumnChange(), this.columnsCollection.init(), (_this$dragAndDrop = this.dragAndDrop) == null ? void 0 : _this$dragAndDrop.init(), (_this$customColumnsHi = this.customColumnsHistory) == null ? void 0 : _this$customColumnsHi.init(), (0, _mobx.reaction)(() => {
|
|
249
|
+
var _this$table$layoutSta;
|
|
250
|
+
return (_this$table$layoutSta = this.table.layoutState) == null ? void 0 : _this$table$layoutSta.viewType;
|
|
251
|
+
}, async (newLayout, prevLayout) => {
|
|
252
|
+
if (!newLayout || !prevLayout || newLayout === prevLayout) {
|
|
253
|
+
return;
|
|
254
|
+
}
|
|
255
|
+
// Views path is handled by CollectionViewsState's own reaction.
|
|
256
|
+
if (this.table.viewsProps) {
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
const stored = await this._getStoredCustomColumns();
|
|
260
|
+
if (stored == null) {
|
|
261
|
+
this.table.selectedColumns.reset();
|
|
262
|
+
} else {
|
|
263
|
+
await this._fetchFromStorage();
|
|
264
|
+
}
|
|
265
|
+
})];
|
|
243
266
|
return () => {
|
|
244
267
|
disposers.forEach(disposer => disposer == null ? void 0 : disposer());
|
|
245
268
|
};
|
|
@@ -249,7 +272,8 @@ class CustomColumnsState extends _CustomColumnsPanelStateBase.CustomColumnsPanel
|
|
|
249
272
|
dataCapsule
|
|
250
273
|
} = this.table;
|
|
251
274
|
try {
|
|
252
|
-
|
|
275
|
+
var _this$table$layoutSta2;
|
|
276
|
+
const storedValue = await asStoredColumnsOrNull(await dataCapsule.getItem(getCustomColumnsKeyForLayout((_this$table$layoutSta2 = this.table.layoutState) == null ? void 0 : _this$table$layoutSta2.viewType)));
|
|
253
277
|
this._touched = storedValue != null;
|
|
254
278
|
return storedValue;
|
|
255
279
|
} catch (e) {
|
|
@@ -297,7 +321,7 @@ class CustomColumnsState extends _CustomColumnsPanelStateBase.CustomColumnsPanel
|
|
|
297
321
|
if (viewsProps) {
|
|
298
322
|
return;
|
|
299
323
|
}
|
|
300
|
-
if (customColumnsState != null && (_customColumnsState$c = customColumnsState.customColumnsHistory) != null && _customColumnsState$c.
|
|
324
|
+
if (customColumnsState != null && (_customColumnsState$c = customColumnsState.customColumnsHistory) != null && _customColumnsState$c.hasUrlColumnsForCurrentLayout) {
|
|
301
325
|
return;
|
|
302
326
|
}
|
|
303
327
|
const storedCustomColumns = await this._getStoredCustomColumns();
|