@wix/patterns 1.407.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 +5 -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.js +86 -0
- package/dist/cjs/components/EditableTable/cellTypes/time/Edit.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css +32 -0
- package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js +30 -0
- package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/time/Edit.uni.driver.js +16 -0
- package/dist/cjs/components/EditableTable/cellTypes/time/Edit.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/time/View.js +30 -0
- package/dist/cjs/components/EditableTable/cellTypes/time/View.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/time/View.uni.driver.js +12 -0
- package/dist/cjs/components/EditableTable/cellTypes/time/View.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/time/index.js +46 -0
- package/dist/cjs/components/EditableTable/cellTypes/time/index.js.map +1 -0
- 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/EditableTable/types.js.map +1 -1
- package/dist/cjs/components/EditableTable/useCellFocusAndEditing.js +24 -2
- package/dist/cjs/components/EditableTable/useCellFocusAndEditing.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/PickerContent/SelectAllCheckbox.js +4 -3
- package/dist/cjs/components/PickerContent/SelectAllCheckbox.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 +3 -1
- 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 +20 -20
- 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/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js.map +1 -1
- package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
- 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/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
- 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/HeaderActionsPopover.st.css.js.map +1 -1
- 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/boolean/View.st.css.js.map +1 -1
- 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/date/View.st.css.js.map +1 -1
- 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 +5 -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/select/Edit.st.css.js +2 -2
- 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/time/Edit.js +26 -0
- package/dist/esm/components/EditableTable/cellTypes/time/Edit.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css +32 -0
- package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +15 -0
- package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/time/Edit.uni.driver.js +12 -0
- package/dist/esm/components/EditableTable/cellTypes/time/Edit.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/time/View.js +6 -0
- package/dist/esm/components/EditableTable/cellTypes/time/View.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/time/View.uni.driver.js +8 -0
- package/dist/esm/components/EditableTable/cellTypes/time/View.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/time/index.js +39 -0
- package/dist/esm/components/EditableTable/cellTypes/time/index.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/useCellFocusAndEditing.js +21 -0
- package/dist/esm/components/EditableTable/useCellFocusAndEditing.js.map +1 -1
- 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/Fade/Fade.st.css.js.map +1 -1
- 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/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
- package/dist/esm/components/PickerContent/SelectAllCheckbox.js +8 -10
- package/dist/esm/components/PickerContent/SelectAllCheckbox.js.map +1 -1
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
- 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/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
- 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/FormPage/FormPageHeader.st.css.js.map +1 -1
- package/dist/esm/state/ViewsState.js +2 -0
- package/dist/esm/state/ViewsState.js.map +1 -1
- package/dist/esm/styles.global.css +3 -1
- 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/formFields/CharactersLimitInput.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.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/HeaderActionsPopover.st.css.d.ts.map +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/boolean/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/date/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/index.d.ts +3 -1
- package/dist/types/components/EditableTable/cellTypes/index.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/time/Edit.d.ts +5 -0
- package/dist/types/components/EditableTable/cellTypes/time/Edit.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/time/Edit.st.css.d.ts +21 -0
- package/dist/types/components/EditableTable/cellTypes/time/Edit.st.css.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/time/Edit.uni.driver.d.ts +18 -0
- package/dist/types/components/EditableTable/cellTypes/time/Edit.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/time/View.d.ts +5 -0
- package/dist/types/components/EditableTable/cellTypes/time/View.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/time/View.uni.driver.d.ts +15 -0
- package/dist/types/components/EditableTable/cellTypes/time/View.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/time/index.d.ts +5 -0
- package/dist/types/components/EditableTable/cellTypes/time/index.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/url/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/types.d.ts +1 -1
- package/dist/types/components/EditableTable/types.d.ts.map +1 -1
- package/dist/types/components/EditableTable/useCellFocusAndEditing.d.ts.map +1 -1
- package/dist/types/components/Fade/Fade.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/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
- 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/NestedTable/NestedTableRow.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.d.ts.map +1 -1
- package/dist/types/components/PickerContent/SelectAllCheckbox.d.ts.map +1 -1
- package/dist/types/components/PickerTableListItem/PickerTableListItem.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/ToolbarItem/ToolbarItem.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 +10 -0
- package/dist/types/state/EditableTable/types.d.ts.map +1 -1
- package/dist/types/state/FormPage/FormPageHeader.st.css.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 +6 -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 +32 -0
- package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +25 -0
- package/src/components/EditableTable/cellTypes/time/Edit.tsx +63 -0
- package/src/components/EditableTable/cellTypes/time/Edit.uni.driver.ts +15 -0
- package/src/components/EditableTable/cellTypes/time/View.tsx +10 -0
- package/src/components/EditableTable/cellTypes/time/View.uni.driver.ts +9 -0
- package/src/components/EditableTable/cellTypes/time/index.ts +45 -0
- 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/EditableTable/types.ts +1 -1
- package/src/components/EditableTable/useCellFocusAndEditing.ts +22 -0
- 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/PickerContent/SelectAllCheckbox.tsx +4 -6
- 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 +11 -0
- package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
- package/src/state/ViewsState.ts +4 -0
- package/src/styles.global.css +3 -1
- package/src/version.ts +1 -1
|
@@ -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();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_mobx","_CustomColumnsHistoryState","_indexOfCompareFn","_events","_bi","_CustomColumnsPanelStateBase","asStoredColumnsOrNull","customColumnsResult","Array","isArray","CustomColumnsState","CustomColumnsPanelStateBase","constructor","params","container","queryName","environment","componentId","table","collection","filter","Boolean","join","_defineProperty2","default","Map","TaskState","EventEmitter","dragAndDrop","CustomColumnsDragAndDropState","customColumns","dataSource","columns","selectedColumns","components","modalsContainerRef","customColumnsHistory","persistQueryToUrl","CustomColumnsHistoryState","history","initBaseObservables","makeObservable","persistCustomColumns","action","bound","toSelectedColumns","computed","selectedOrderedColumns","init","orderedColumns","customColumnsState","value","column","some","selectedColumn","id","isSelected","dataCapsule","viewsProps","_touched","setItem","registerSelectedColumnChange","events","on","off","mergeNewColumns","_toStoredColumn","_didFirstColumnsMerge","defaultHidden","length","mergeTargetSelectedColumns","s","every","c","map","existing","find","hideable","hiddenFromCustomColumnsSelection","diffColumns","forEach","d","originalIndex","findIndex","afterId","afterIndex","splice","getStickyColumnsCount","stickyColumns","reorderDisabled","reorderDisabledColumns","orderedColumnsByReorderDisabled","select","isChecked","selectionChanged","i","a","b","_this$dragAndDrop","_this$customColumnsHi","customColumnsStateInitialized","disposers","reaction","columnsCollection","clear","forceSetMany","status","finalStatus","startStatus","refreshAllPages","fireImmediately","selectedValues","setValue","emitEvents","disposer","_getStoredCustomColumns","storedValue","getItem","e","Error","message","_tableInit","initTask","multi","collections","runOnce","beforeInitialFetchListeners","listeners","Promise","all","l","_fetchFromStorage","console","error","query","refreshOnColumnsChange","hooks","addListener","promise","_customColumnsState$c","_selectedColumnsFromUrl","storedCustomColumns","selectedColumnsFromStorage","tableColumn","name","sort","indexOfCompareFn","customizeColumnsInSidePanelBi","actionName","_performedCustomColumnsActions","get","set","reportBi","withoutDefaults","cairoCustomizeColumnsInSidePanel","showFieldTypeIcons","collectionDataExtension","sidePanelTransition","sidePanel","transition","onClose","cairoFiltersPanelUsed","isOpened","feature","origin","close","exports"],"sources":["../../../src/state/CustomColumnsState.ts"],"sourcesContent":["import {\n FiltersMap,\n TaskState,\n TypedEmitter,\n withoutDefaults,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, reaction } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { Column } from '../model';\nimport type { CustomColumnsDragAndDrop } from '../components/CustomColumns/CustomColumnsDragAndDrop';\nimport { CustomColumnsHistoryState } from './CustomColumnsHistoryState';\nimport { indexOfCompareFn } from './indexOfCompareFn';\nimport { EventEmitter } from 'events';\nimport {\n cairoCustomizeColumnsInSidePanel,\n cairoFiltersPanelUsed,\n} from '@wix/bex-core/bi';\nimport type { CustomColumnsDragAndDropState } from './CustomColumnsDragAndDropState';\nimport type { CollectionDataExtensionState } from '../components/DataExtension';\nimport { CustomColumnsPanelStateBase } from './CustomColumnsPanelStateBase';\n\nexport type { CustomColumnsDragAndDropState };\nexport type { CollectionDataExtensionState };\n\nexport type CustomColumnsPanelState<\n T = unknown,\n F extends FiltersMap = FiltersMap,\n> = CustomColumnsPanelStateBase<T, F>;\n\ntype StoredColumn =\n | { id?: string; name?: string; isSelected?: boolean }\n | null\n | undefined;\n\nconst asStoredColumnsOrNull = (customColumnsResult: unknown) =>\n Array.isArray(customColumnsResult)\n ? (customColumnsResult as StoredColumn[])\n : null;\n\nexport interface CustomColumnsStateParams<T, F extends FiltersMap> {\n readonly table: ToolbarCollectionState<T, F>;\n readonly container: import('@wix/bex-core').WixPatternsContainer;\n readonly dragAndDrop?: typeof CustomColumnsDragAndDrop;\n readonly modalsContainerRef: {\n current: HTMLElement | null | undefined;\n };\n}\n\nexport type CustomColumnsActionName = 'visibility' | 'reorder';\n\nexport class CustomColumnsState<\n T,\n F extends FiltersMap,\n> extends CustomColumnsPanelStateBase<T, F> {\n readonly table;\n\n readonly dragAndDrop: CustomColumnsDragAndDropState<T, F> | undefined;\n\n readonly customColumnsHistory;\n\n _didFirstColumnsMerge?: boolean;\n _performedCustomColumnsActions: Map<CustomColumnsActionName, boolean> =\n new Map();\n\n readonly initTask = new TaskState();\n\n _touched = false;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n beforeInitialFetch: () => void;\n }>;\n\n constructor(params: CustomColumnsStateParams<T, F>) {\n super({\n container: params.container,\n queryName: [\n params.container.environment.componentId,\n params.table.collection.queryName,\n 'customColumns',\n ]\n .filter(Boolean)\n .join('/'),\n });\n\n this.table = params.table;\n\n if (params.dragAndDrop) {\n const { CustomColumnsDragAndDropState } = params.dragAndDrop;\n this.dragAndDrop = new CustomColumnsDragAndDropState({\n customColumns: this,\n dataSource: {\n get columns() {\n return params.table.columns;\n },\n selectedColumns: params.table.selectedColumns,\n },\n components: params.dragAndDrop,\n modalsContainerRef: params.modalsContainerRef,\n });\n }\n\n this.customColumnsHistory = this.table.collection.persistQueryToUrl\n ? new CustomColumnsHistoryState({\n customColumns: this,\n history: params.container.history,\n })\n : null;\n\n this.initBaseObservables();\n makeObservable(this, {\n persistCustomColumns: action.bound,\n toSelectedColumns: computed,\n selectedOrderedColumns: computed,\n init: action,\n });\n }\n\n get orderedColumns(): Column[] {\n const { dragAndDrop, table } = this;\n const { columns, customColumnsState } = table;\n\n if (customColumnsState?.dragAndDrop && dragAndDrop) {\n return dragAndDrop.orderedColumns;\n }\n\n return columns;\n }\n\n get selectedOrderedColumns() {\n const {\n orderedColumns,\n table: {\n selectedColumns: { value: selectedColumns },\n },\n } = this;\n\n return orderedColumns.filter((column) =>\n selectedColumns.some(\n (selectedColumn) =>\n selectedColumn.id === column.id && selectedColumn.isSelected,\n ),\n );\n }\n\n async persistCustomColumns() {\n const { table } = this;\n const { dataCapsule, viewsProps } = table;\n\n // if views enabled columns persists inside the view instead of data capsule\n if (viewsProps) {\n return;\n }\n\n this._touched = true;\n await dataCapsule.setItem('custom-columns', table.selectedColumns.value);\n }\n\n private registerSelectedColumnChange() {\n const { table } = this;\n table.selectedColumns.events.on('refresh', this.persistCustomColumns);\n\n return () => {\n table.selectedColumns.events.off('refresh', this.persistCustomColumns);\n };\n }\n\n mergeNewColumns() {\n const {\n table: { columns, selectedColumns, _toStoredColumn, customColumnsState },\n _didFirstColumnsMerge,\n } = this;\n\n const defaultHidden =\n !_didFirstColumnsMerge && !!selectedColumns.value.length;\n\n const mergeTargetSelectedColumns = [...selectedColumns.value];\n\n if (customColumnsState?.dragAndDrop == null) {\n return [\n ...mergeTargetSelectedColumns.filter((s) =>\n columns.every((c) => s.id !== c.id),\n ),\n ...columns.map((c) => {\n const existing = selectedColumns.value.find((s) => s.id === c.id);\n if (existing == null) {\n return _toStoredColumn(c);\n }\n\n return {\n ...existing,\n isSelected:\n c.hideable === false ||\n c.hiddenFromCustomColumnsSelection ||\n existing.isSelected,\n };\n }),\n ];\n }\n\n const diffColumns = columns\n .filter((c) => selectedColumns.value.every((s) => s.id !== c.id))\n .map((c) =>\n _toStoredColumn({\n ...c,\n defaultHidden: defaultHidden || c.defaultHidden,\n }),\n );\n\n // place new columns according to their order in the original columns prop\n diffColumns.forEach((d) => {\n const originalIndex = columns.findIndex((c) => c.id === d.id);\n const afterId = originalIndex > 0 ? columns[originalIndex - 1].id : null;\n const afterIndex =\n afterId != null\n ? mergeTargetSelectedColumns.findIndex((c) => c.id === afterId) + 1\n : originalIndex === 0\n ? 0\n : mergeTargetSelectedColumns.length;\n mergeTargetSelectedColumns.splice(afterIndex, 0, d);\n });\n\n this._didFirstColumnsMerge = true;\n return mergeTargetSelectedColumns;\n }\n\n getStickyColumnsCount({ stickyColumns }: { stickyColumns: number }) {\n const {\n dragAndDrop,\n table: {\n selectedColumns: { value: selectedColumns },\n },\n } = this;\n\n if (dragAndDrop == null) {\n return stickyColumns;\n }\n\n const { reorderDisabled: reorderDisabledColumns } =\n dragAndDrop.orderedColumnsByReorderDisabled;\n\n if (!reorderDisabledColumns.length) {\n return stickyColumns;\n }\n\n return dragAndDrop.orderedColumnsByReorderDisabled.reorderDisabled.filter(\n (column) =>\n selectedColumns.some(\n (selectedColumn) =>\n selectedColumn.id === column.id && selectedColumn.isSelected,\n ),\n ).length;\n }\n\n get toSelectedColumns() {\n const {\n select,\n table: {\n selectedColumns: { value },\n },\n } = this;\n\n return value.map(({ id }) => ({\n id,\n isSelected: select.isChecked(id),\n }));\n }\n\n get selectionChanged() {\n const {\n toSelectedColumns,\n table: {\n selectedColumns: { value },\n },\n } = this;\n\n if (value.length !== toSelectedColumns.length) {\n return true;\n }\n\n for (let i = 0; i < value.length; i++) {\n const a = value[i];\n const b = toSelectedColumns[i];\n\n if (a.id !== b.id || a.isSelected !== b.isSelected) {\n return true;\n }\n }\n\n return false;\n }\n\n init() {\n const { table } = this;\n table.customColumnsStateInitialized = true;\n\n const disposers = [\n reaction(\n () => this.table.selectedColumns.value,\n async (selectedColumns) => {\n const { select, columnsCollection } = this;\n\n select.clear();\n select.forceSetMany(\n selectedColumns.map(({ id, isSelected }) => ({\n value: { id },\n status: isSelected ? select.finalStatus : select.startStatus,\n })),\n );\n await columnsCollection.refreshAllPages();\n },\n {\n fireImmediately: true,\n },\n ),\n reaction(\n () => this.select.selectedValues,\n () => {\n const {\n table: { selectedColumns },\n } = this;\n\n if (!this.selectionChanged) {\n return;\n }\n\n selectedColumns.setValue(this.toSelectedColumns, {\n emitEvents: ['change', 'beforeRefresh', 'refresh'],\n });\n },\n ),\n\n this.registerSelectedColumnChange(),\n this.columnsCollection.init(),\n this.dragAndDrop?.init(),\n this.customColumnsHistory?.init(),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer?.());\n };\n }\n\n async _getStoredCustomColumns() {\n const { dataCapsule } = this.table;\n try {\n const storedValue = await asStoredColumnsOrNull(\n await dataCapsule.getItem('custom-columns'),\n );\n this._touched = storedValue != null;\n return storedValue;\n } catch (e) {\n if (e instanceof Error && e.message === 'Key was not found in capsule') {\n return null;\n }\n\n throw e;\n }\n }\n\n _tableInit() {\n const {\n initTask,\n table: {\n multi: { collections },\n },\n } = this;\n initTask.runOnce(async () => {\n try {\n const beforeInitialFetchListeners =\n this.events.listeners('beforeInitialFetch');\n await Promise.all(beforeInitialFetchListeners.map((l) => l()));\n await this._fetchFromStorage();\n } catch (e) {\n console.error(e);\n }\n });\n\n collections.forEach((collection) => {\n if (collection.query.refreshOnColumnsChange) {\n collection.hooks.addListener(\n 'beforeInitialFetch',\n () => initTask.status.promise,\n );\n }\n });\n }\n\n async _fetchFromStorage() {\n const {\n table: {\n viewsProps,\n columns,\n selectedColumns,\n customColumnsState,\n _toStoredColumn,\n },\n } = this;\n\n if (viewsProps) {\n return;\n }\n\n if (customColumnsState?.customColumnsHistory?._selectedColumnsFromUrl) {\n return;\n }\n\n const storedCustomColumns = await this._getStoredCustomColumns();\n\n if (storedCustomColumns == null) {\n return;\n }\n\n const selectedColumnsFromStorage = columns.map((tableColumn) => {\n const existing = storedCustomColumns.find(\n (c) => c?.id === tableColumn.id,\n );\n\n // If the column is not found in the stored columns, it means it was added after the last visit, so its \"isSelected\" state should be calculated based on the column prop passed via code\n if (existing == null) {\n return _toStoredColumn(tableColumn);\n }\n\n // If the column is found in the stored columns, it means it was already configured by the user, so its \"isSelected\" state should be taken from the stored columns\n const { id, name, hideable, hiddenFromCustomColumnsSelection } =\n tableColumn;\n\n return {\n id,\n name,\n isSelected:\n storedCustomColumns.some(\n (c) => c?.id === id && c?.isSelected !== false,\n ) ||\n !hideable ||\n hiddenFromCustomColumnsSelection === true,\n };\n });\n\n selectedColumns.setValue(\n customColumnsState?.dragAndDrop\n ? selectedColumnsFromStorage.sort(\n indexOfCompareFn(storedCustomColumns, (e) => e?.id),\n )\n : selectedColumnsFromStorage,\n );\n }\n\n customizeColumnsInSidePanelBi({\n actionName,\n }: {\n actionName: CustomColumnsActionName;\n }) {\n if (this._performedCustomColumnsActions.get(actionName)) {\n return;\n }\n this._performedCustomColumnsActions.set(actionName, true);\n this.table.reportBi(\n withoutDefaults(cairoCustomizeColumnsInSidePanel)({\n actionName,\n }),\n );\n }\n\n get showFieldTypeIcons() {\n return this.table.showFieldTypeIcons;\n }\n\n get collectionDataExtension() {\n return this.table.collectionDataExtension;\n }\n\n get sidePanelTransition() {\n return this.table.sidePanel.transition;\n }\n\n onClose() {\n this.table.reportBi(\n withoutDefaults(cairoFiltersPanelUsed)({\n isOpened: false,\n feature: 'Custom Columns',\n origin: 'X Button',\n }),\n );\n this.table.sidePanel.close();\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_mobx","_CustomColumnsHistoryState","_indexOfCompareFn","_events","_bi","_CustomColumnsPanelStateBase","CUSTOM_COLUMNS_KEY","exports","SPREADSHEET_CUSTOM_COLUMNS_KEY","getCustomColumnsKeyForLayout","layout","asStoredColumnsOrNull","customColumnsResult","Array","isArray","CustomColumnsState","CustomColumnsPanelStateBase","constructor","params","container","queryName","environment","componentId","table","collection","filter","Boolean","join","_defineProperty2","default","Map","TaskState","EventEmitter","dragAndDrop","CustomColumnsDragAndDropState","customColumns","dataSource","columns","selectedColumns","components","modalsContainerRef","customColumnsHistory","persistQueryToUrl","CustomColumnsHistoryState","history","initBaseObservables","makeObservable","persistCustomColumns","action","bound","toSelectedColumns","computed","selectedOrderedColumns","init","orderedColumns","customColumnsState","value","column","some","selectedColumn","id","isSelected","_table$layoutState","dataCapsule","viewsProps","_touched","setItem","layoutState","viewType","registerSelectedColumnChange","events","on","off","mergeNewColumns","_toStoredColumn","_didFirstColumnsMerge","defaultHidden","length","mergeTargetSelectedColumns","s","every","c","map","existing","find","hideable","hiddenFromCustomColumnsSelection","diffColumns","forEach","d","originalIndex","findIndex","afterId","afterIndex","splice","getStickyColumnsCount","stickyColumns","reorderDisabled","reorderDisabledColumns","orderedColumnsByReorderDisabled","select","isChecked","selectionChanged","i","a","b","_this$dragAndDrop","_this$customColumnsHi","customColumnsStateInitialized","disposers","reaction","columnsCollection","clear","forceSetMany","status","finalStatus","startStatus","refreshAllPages","fireImmediately","selectedValues","setValue","emitEvents","_this$table$layoutSta","newLayout","prevLayout","stored","_getStoredCustomColumns","reset","_fetchFromStorage","disposer","_this$table$layoutSta2","storedValue","getItem","e","Error","message","_tableInit","initTask","multi","collections","runOnce","beforeInitialFetchListeners","listeners","Promise","all","l","console","error","query","refreshOnColumnsChange","hooks","addListener","promise","_customColumnsState$c","hasUrlColumnsForCurrentLayout","storedCustomColumns","selectedColumnsFromStorage","tableColumn","name","sort","indexOfCompareFn","customizeColumnsInSidePanelBi","actionName","_performedCustomColumnsActions","get","set","reportBi","withoutDefaults","cairoCustomizeColumnsInSidePanel","showFieldTypeIcons","collectionDataExtension","sidePanelTransition","sidePanel","transition","onClose","cairoFiltersPanelUsed","isOpened","feature","origin","close"],"sources":["../../../src/state/CustomColumnsState.ts"],"sourcesContent":["import {\n FiltersMap,\n TaskState,\n TypedEmitter,\n withoutDefaults,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, reaction } from 'mobx';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { Column, ViewType } from '../model';\nimport type { CustomColumnsDragAndDrop } from '../components/CustomColumns/CustomColumnsDragAndDrop';\nimport { CustomColumnsHistoryState } from './CustomColumnsHistoryState';\nimport { indexOfCompareFn } from './indexOfCompareFn';\nimport { EventEmitter } from 'events';\nimport {\n cairoCustomizeColumnsInSidePanel,\n cairoFiltersPanelUsed,\n} from '@wix/bex-core/bi';\nimport type { CustomColumnsDragAndDropState } from './CustomColumnsDragAndDropState';\nimport type { CollectionDataExtensionState } from '../components/DataExtension';\nimport { CustomColumnsPanelStateBase } from './CustomColumnsPanelStateBase';\n\nexport type { CustomColumnsDragAndDropState };\nexport type { CollectionDataExtensionState };\n\nexport type CustomColumnsPanelState<\n T = unknown,\n F extends FiltersMap = FiltersMap,\n> = CustomColumnsPanelStateBase<T, F>;\n\ntype StoredColumn =\n | { id?: string; name?: string; isSelected?: boolean }\n | null\n | undefined;\n\n// Legacy `custom-columns` stays bound to non-spreadsheet layouts so existing\n// stored values keep their meaning; spreadsheet uses a sibling key.\nexport const CUSTOM_COLUMNS_KEY = 'custom-columns';\nexport const SPREADSHEET_CUSTOM_COLUMNS_KEY = 'spreadsheet-custom-columns';\n\nconst getCustomColumnsKeyForLayout = (layout: ViewType | undefined): string =>\n layout === 'spreadsheet'\n ? SPREADSHEET_CUSTOM_COLUMNS_KEY\n : CUSTOM_COLUMNS_KEY;\n\nconst asStoredColumnsOrNull = (customColumnsResult: unknown) =>\n Array.isArray(customColumnsResult)\n ? (customColumnsResult as StoredColumn[])\n : null;\n\nexport interface CustomColumnsStateParams<T, F extends FiltersMap> {\n readonly table: ToolbarCollectionState<T, F>;\n readonly container: import('@wix/bex-core').WixPatternsContainer;\n readonly dragAndDrop?: typeof CustomColumnsDragAndDrop;\n readonly modalsContainerRef: {\n current: HTMLElement | null | undefined;\n };\n}\n\nexport type CustomColumnsActionName = 'visibility' | 'reorder';\n\nexport class CustomColumnsState<\n T,\n F extends FiltersMap,\n> extends CustomColumnsPanelStateBase<T, F> {\n readonly table;\n\n readonly dragAndDrop: CustomColumnsDragAndDropState<T, F> | undefined;\n\n readonly customColumnsHistory;\n\n _didFirstColumnsMerge?: boolean;\n _performedCustomColumnsActions: Map<CustomColumnsActionName, boolean> =\n new Map();\n\n readonly initTask = new TaskState();\n\n _touched = false;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n beforeInitialFetch: () => void;\n }>;\n\n constructor(params: CustomColumnsStateParams<T, F>) {\n super({\n container: params.container,\n queryName: [\n params.container.environment.componentId,\n params.table.collection.queryName,\n 'customColumns',\n ]\n .filter(Boolean)\n .join('/'),\n });\n\n this.table = params.table;\n\n if (params.dragAndDrop) {\n const { CustomColumnsDragAndDropState } = params.dragAndDrop;\n this.dragAndDrop = new CustomColumnsDragAndDropState({\n customColumns: this,\n dataSource: {\n get columns() {\n return params.table.columns;\n },\n selectedColumns: params.table.selectedColumns,\n },\n components: params.dragAndDrop,\n modalsContainerRef: params.modalsContainerRef,\n });\n }\n\n this.customColumnsHistory = this.table.collection.persistQueryToUrl\n ? new CustomColumnsHistoryState({\n customColumns: this,\n history: params.container.history,\n })\n : null;\n\n this.initBaseObservables();\n makeObservable(this, {\n persistCustomColumns: action.bound,\n toSelectedColumns: computed,\n selectedOrderedColumns: computed,\n init: action,\n });\n }\n\n get orderedColumns(): Column[] {\n const { dragAndDrop, table } = this;\n const { columns, customColumnsState } = table;\n\n if (customColumnsState?.dragAndDrop && dragAndDrop) {\n return dragAndDrop.orderedColumns;\n }\n\n return columns;\n }\n\n get selectedOrderedColumns() {\n const {\n orderedColumns,\n table: {\n selectedColumns: { value: selectedColumns },\n },\n } = this;\n\n return orderedColumns.filter((column) =>\n selectedColumns.some(\n (selectedColumn) =>\n selectedColumn.id === column.id && selectedColumn.isSelected,\n ),\n );\n }\n\n async persistCustomColumns() {\n const { table } = this;\n const { dataCapsule, viewsProps } = table;\n\n // if views enabled columns persists inside the view instead of data capsule\n if (viewsProps) {\n return;\n }\n\n this._touched = true;\n await dataCapsule.setItem(\n getCustomColumnsKeyForLayout(table.layoutState?.viewType),\n table.selectedColumns.value,\n );\n }\n\n private registerSelectedColumnChange() {\n const { table } = this;\n table.selectedColumns.events.on('refresh', this.persistCustomColumns);\n\n return () => {\n table.selectedColumns.events.off('refresh', this.persistCustomColumns);\n };\n }\n\n mergeNewColumns() {\n const {\n table: { columns, selectedColumns, _toStoredColumn, customColumnsState },\n _didFirstColumnsMerge,\n } = this;\n\n const defaultHidden =\n !_didFirstColumnsMerge && !!selectedColumns.value.length;\n\n const mergeTargetSelectedColumns = [...selectedColumns.value];\n\n if (customColumnsState?.dragAndDrop == null) {\n return [\n ...mergeTargetSelectedColumns.filter((s) =>\n columns.every((c) => s.id !== c.id),\n ),\n ...columns.map((c) => {\n const existing = selectedColumns.value.find((s) => s.id === c.id);\n if (existing == null) {\n return _toStoredColumn(c);\n }\n\n return {\n ...existing,\n isSelected:\n c.hideable === false ||\n c.hiddenFromCustomColumnsSelection ||\n existing.isSelected,\n };\n }),\n ];\n }\n\n const diffColumns = columns\n .filter((c) => selectedColumns.value.every((s) => s.id !== c.id))\n .map((c) =>\n _toStoredColumn({\n ...c,\n defaultHidden: defaultHidden || c.defaultHidden,\n }),\n );\n\n // place new columns according to their order in the original columns prop\n diffColumns.forEach((d) => {\n const originalIndex = columns.findIndex((c) => c.id === d.id);\n const afterId = originalIndex > 0 ? columns[originalIndex - 1].id : null;\n const afterIndex =\n afterId != null\n ? mergeTargetSelectedColumns.findIndex((c) => c.id === afterId) + 1\n : originalIndex === 0\n ? 0\n : mergeTargetSelectedColumns.length;\n mergeTargetSelectedColumns.splice(afterIndex, 0, d);\n });\n\n this._didFirstColumnsMerge = true;\n return mergeTargetSelectedColumns;\n }\n\n getStickyColumnsCount({ stickyColumns }: { stickyColumns: number }) {\n const {\n dragAndDrop,\n table: {\n selectedColumns: { value: selectedColumns },\n },\n } = this;\n\n if (dragAndDrop == null) {\n return stickyColumns;\n }\n\n const { reorderDisabled: reorderDisabledColumns } =\n dragAndDrop.orderedColumnsByReorderDisabled;\n\n if (!reorderDisabledColumns.length) {\n return stickyColumns;\n }\n\n return dragAndDrop.orderedColumnsByReorderDisabled.reorderDisabled.filter(\n (column) =>\n selectedColumns.some(\n (selectedColumn) =>\n selectedColumn.id === column.id && selectedColumn.isSelected,\n ),\n ).length;\n }\n\n get toSelectedColumns() {\n const {\n select,\n table: {\n selectedColumns: { value },\n },\n } = this;\n\n return value.map(({ id }) => ({\n id,\n isSelected: select.isChecked(id),\n }));\n }\n\n get selectionChanged() {\n const {\n toSelectedColumns,\n table: {\n selectedColumns: { value },\n },\n } = this;\n\n if (value.length !== toSelectedColumns.length) {\n return true;\n }\n\n for (let i = 0; i < value.length; i++) {\n const a = value[i];\n const b = toSelectedColumns[i];\n\n if (a.id !== b.id || a.isSelected !== b.isSelected) {\n return true;\n }\n }\n\n return false;\n }\n\n init() {\n const { table } = this;\n table.customColumnsStateInitialized = true;\n\n const disposers = [\n reaction(\n () => this.table.selectedColumns.value,\n async (selectedColumns) => {\n const { select, columnsCollection } = this;\n\n select.clear();\n select.forceSetMany(\n selectedColumns.map(({ id, isSelected }) => ({\n value: { id },\n status: isSelected ? select.finalStatus : select.startStatus,\n })),\n );\n await columnsCollection.refreshAllPages();\n },\n {\n fireImmediately: true,\n },\n ),\n reaction(\n () => this.select.selectedValues,\n () => {\n const {\n table: { selectedColumns },\n } = this;\n\n if (!this.selectionChanged) {\n return;\n }\n\n selectedColumns.setValue(this.toSelectedColumns, {\n emitEvents: ['change', 'beforeRefresh', 'refresh'],\n });\n },\n ),\n\n this.registerSelectedColumnChange(),\n this.columnsCollection.init(),\n this.dragAndDrop?.init(),\n this.customColumnsHistory?.init(),\n reaction(\n () => this.table.layoutState?.viewType,\n async (newLayout, prevLayout) => {\n if (!newLayout || !prevLayout || newLayout === prevLayout) {\n return;\n }\n // Views path is handled by CollectionViewsState's own reaction.\n if (this.table.viewsProps) {\n return;\n }\n const stored = await this._getStoredCustomColumns();\n if (stored == null) {\n this.table.selectedColumns.reset();\n } else {\n await this._fetchFromStorage();\n }\n },\n ),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer?.());\n };\n }\n\n async _getStoredCustomColumns() {\n const { dataCapsule } = this.table;\n try {\n const storedValue = await asStoredColumnsOrNull(\n await dataCapsule.getItem(\n getCustomColumnsKeyForLayout(this.table.layoutState?.viewType),\n ),\n );\n this._touched = storedValue != null;\n return storedValue;\n } catch (e) {\n if (e instanceof Error && e.message === 'Key was not found in capsule') {\n return null;\n }\n\n throw e;\n }\n }\n\n _tableInit() {\n const {\n initTask,\n table: {\n multi: { collections },\n },\n } = this;\n initTask.runOnce(async () => {\n try {\n const beforeInitialFetchListeners =\n this.events.listeners('beforeInitialFetch');\n await Promise.all(beforeInitialFetchListeners.map((l) => l()));\n await this._fetchFromStorage();\n } catch (e) {\n console.error(e);\n }\n });\n\n collections.forEach((collection) => {\n if (collection.query.refreshOnColumnsChange) {\n collection.hooks.addListener(\n 'beforeInitialFetch',\n () => initTask.status.promise,\n );\n }\n });\n }\n\n async _fetchFromStorage() {\n const {\n table: {\n viewsProps,\n columns,\n selectedColumns,\n customColumnsState,\n _toStoredColumn,\n },\n } = this;\n\n if (viewsProps) {\n return;\n }\n\n if (\n customColumnsState?.customColumnsHistory?.hasUrlColumnsForCurrentLayout\n ) {\n return;\n }\n\n const storedCustomColumns = await this._getStoredCustomColumns();\n\n if (storedCustomColumns == null) {\n return;\n }\n\n const selectedColumnsFromStorage = columns.map((tableColumn) => {\n const existing = storedCustomColumns.find(\n (c) => c?.id === tableColumn.id,\n );\n\n // If the column is not found in the stored columns, it means it was added after the last visit, so its \"isSelected\" state should be calculated based on the column prop passed via code\n if (existing == null) {\n return _toStoredColumn(tableColumn);\n }\n\n // If the column is found in the stored columns, it means it was already configured by the user, so its \"isSelected\" state should be taken from the stored columns\n const { id, name, hideable, hiddenFromCustomColumnsSelection } =\n tableColumn;\n\n return {\n id,\n name,\n isSelected:\n storedCustomColumns.some(\n (c) => c?.id === id && c?.isSelected !== false,\n ) ||\n !hideable ||\n hiddenFromCustomColumnsSelection === true,\n };\n });\n\n selectedColumns.setValue(\n customColumnsState?.dragAndDrop\n ? selectedColumnsFromStorage.sort(\n indexOfCompareFn(storedCustomColumns, (e) => e?.id),\n )\n : selectedColumnsFromStorage,\n );\n }\n\n customizeColumnsInSidePanelBi({\n actionName,\n }: {\n actionName: CustomColumnsActionName;\n }) {\n if (this._performedCustomColumnsActions.get(actionName)) {\n return;\n }\n this._performedCustomColumnsActions.set(actionName, true);\n this.table.reportBi(\n withoutDefaults(cairoCustomizeColumnsInSidePanel)({\n actionName,\n }),\n );\n }\n\n get showFieldTypeIcons() {\n return this.table.showFieldTypeIcons;\n }\n\n get collectionDataExtension() {\n return this.table.collectionDataExtension;\n }\n\n get sidePanelTransition() {\n return this.table.sidePanel.transition;\n }\n\n onClose() {\n this.table.reportBi(\n withoutDefaults(cairoFiltersPanelUsed)({\n isOpened: false,\n feature: 'Custom Columns',\n origin: 'X Button',\n }),\n );\n this.table.sidePanel.close();\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../../src/state/EditableTable/types.ts"],"sourcesContent":["import type { ComponentType } from 'react';\nimport type { RichTextStyleVariables } from '@wix/patterns-fields';\nimport type { TableColumn } from '../../model/tableColumn';\nimport type { ReferenceTypeConfig } from '../../components/EditableTable/cellTypes/reference/types';\nimport type {\n CellViewProps,\n CellEditProps,\n} from '../../components/EditableTable/types';\n\nexport interface RichTextCellTypeConfig {\n textStyle?: RichTextStyleVariables;\n}\n\nexport interface Cell {\n rowKey: string;\n columnId: string;\n}\n\nexport interface CellBorder {\n top: boolean;\n bottom: boolean;\n left: boolean;\n right: boolean;\n}\n\nexport type ValidationRule =\n | { type: 'required'; message: string }\n | { type: 'min' | 'max'; value: number; message: string }\n | { type: 'minLength' | 'maxLength'; value: number; message: string }\n | { type: 'pattern'; value: RegExp; message: string }\n | { type: 'custom'; validate: (value: unknown) => boolean; message: string }\n | {\n type: 'specificValues';\n values: { id: string; value: string }[];\n message: string;\n };\n\nexport interface ValidationResult {\n valid: boolean;\n errors?: string[];\n}\n\nexport interface CellType {\n type: keyof CellTypeConfigMap;\n\n /** Render cell in view mode (read-only display) */\n ViewComponent: ComponentType<CellViewProps<any>>;\n\n /** Render cell in edit mode (inline editor). Optional — omit for view-only cells. */\n EditComponent?: ComponentType<CellEditProps<any>>;\n\n /** Serialize value to clipboard string */\n serialize?: (value: any) => string;\n\n /** Deserialize clipboard string to value */\n deserialize?: (raw: string) => any;\n\n /** Validate a cell value. Return null if valid, or error message string. */\n validate?: (value: any, rules?: ValidationRule[]) => string | null;\n\n /** Can this cell type be edited? (default: true) */\n editable?: boolean;\n\n /** Can this cell type be cleared with Delete key? (default: true) */\n clearable?: boolean;\n\n /** Toggle value on single click (e.g., boolean checkbox). Skips focus→edit flow. */\n toggleValue?: (value: any) => any;\n\n /** Enter edit mode on single click (e.g., image cell with no value). */\n editOnClick?: (value: any) => boolean;\n\n /** Show the EditComponent when the cell is focused, without entering edit mode.\n * Keyboard navigation remains active. Similar to toggleValue but without toggling. */\n showEditWhenFocused?: boolean;\n\n /** Called on type-to-edit. Return object with cleared value and/or prevent flag.\n * CMS-web pattern: text clears to '', number clears only for digits, date blocks non-digits.\n * Return undefined to block the key. Return {} to enter edit mode without changing the value. */\n onTypeToEdit?: (params: {\n key: string;\n validation?: ValidationRule[];\n }) => { value?: any } | undefined;\n\n /** Optional hook to normalize the committed value (e.g. auto-prepend https://).\n * Called before commitEdit() from EditableCell (blur/Enter) and useKeyboardNavigation (Tab).\n * The value is written back to editingValue via runInAction before committing. */\n normalizeOnCommit?: (value: any) => any;\n}\n\nexport interface CellTypeConfigMap {\n text: never;\n number: never;\n boolean: never;\n url: never;\n email: never;\n date: never;\n object: never;\n image: never;\n document: never;\n richContent: never;\n video: never;\n richText: RichTextCellTypeConfig;\n mediaGallery: never;\n reference: ReferenceTypeConfig;\n custom: Omit<CellType, 'type'>;\n}\n\ninterface EditableColumnBase<T> extends Omit<TableColumn<T>, 'render'> {\n id: string;\n /** Column type — maps to a CellType in the registry */\n cellType: keyof CellTypeConfigMap;\n\n /** Extract the cell value from the row data */\n getValue: (item: T) => any;\n\n /** Return updated item with new cell value (immutable) */\n setValue?: (item: T, value: any) => T;\n\n /** Column-level validation rules */\n validation?: ValidationRule[];\n\n /** Is this column editable? (default: true if setValue exists) */\n editable?: boolean | ((item: T) => boolean);\n\n /** True if this column represents the schema's primary field. Drives header-action disable rules (e.g. blocks Delete, blocks Make Primary). */\n isPrimary?: boolean;\n\n /** True if this column represents a system field. Drives header-action disable rules (e.g. blocks Edit, Delete, Duplicate). */\n isSystem?: boolean;\n}\n\nexport type EditableColumn<\n T,\n C extends keyof CellTypeConfigMap = keyof CellTypeConfigMap,\n> = C extends C\n ? EditableColumnBase<T> & {\n cellType: C;\n typeConfig?: CellTypeConfigMap[C] extends never\n ? never\n : CellTypeConfigMap[C];\n }\n : never;\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../../src/state/EditableTable/types.ts"],"sourcesContent":["import type { ComponentType } from 'react';\nimport type { RichTextStyleVariables } from '@wix/patterns-fields';\nimport type { TableColumn } from '../../model/tableColumn';\nimport type { ReferenceTypeConfig } from '../../components/EditableTable/cellTypes/reference/types';\nimport type { AddressCellTypeConfig } from '../../components/EditableTable/cellTypes/address';\nimport type {\n CellViewProps,\n CellEditProps,\n} from '../../components/EditableTable/types';\n\nexport interface RichTextCellTypeConfig {\n textStyle?: RichTextStyleVariables;\n}\n\nexport interface Cell {\n rowKey: string;\n columnId: string;\n}\n\nexport interface CellBorder {\n top: boolean;\n bottom: boolean;\n left: boolean;\n right: boolean;\n}\n\nexport type ValidationRule =\n | { type: 'required'; message: string }\n | { type: 'min' | 'max'; value: number; message: string }\n | { type: 'minLength' | 'maxLength'; value: number; message: string }\n | { type: 'pattern'; value: RegExp; message: string }\n | { type: 'custom'; validate: (value: unknown) => boolean; message: string }\n | {\n type: 'specificValues';\n values: { id: string; value: string }[];\n message: string;\n };\n\nexport interface ValidationResult {\n valid: boolean;\n errors?: string[];\n}\n\nexport interface CellType {\n type: keyof CellTypeConfigMap;\n\n /** Render cell in view mode (read-only display) */\n ViewComponent: ComponentType<CellViewProps<any>>;\n\n /** Render cell in edit mode (inline editor). Optional — omit for view-only cells. */\n EditComponent?: ComponentType<CellEditProps<any>>;\n\n /** Serialize value to clipboard string */\n serialize?: (value: any) => string;\n\n /** Deserialize clipboard string to value */\n deserialize?: (raw: string) => any;\n\n /** Validate a cell value. Return null if valid, or error message string. */\n validate?: (value: any, rules?: ValidationRule[]) => string | null;\n\n /** Can this cell type be edited? (default: true) */\n editable?: boolean;\n\n /** Can this cell type be cleared with Delete key? (default: true) */\n clearable?: boolean;\n\n /** Toggle value on single click (e.g., boolean checkbox). Skips focus→edit flow. */\n toggleValue?: (value: any) => any;\n\n /** Enter edit mode on single click (e.g., image cell with no value). */\n editOnClick?: (value: any) => boolean;\n\n /** Show the EditComponent when the cell is focused, without entering edit mode.\n * Keyboard navigation remains active. Similar to toggleValue but without toggling. */\n showEditWhenFocused?: boolean;\n\n /** Called on type-to-edit. Return object with cleared value and/or prevent flag.\n * CMS-web pattern: text clears to '', number clears only for digits, date blocks non-digits.\n * Return undefined to block the key. Return {} to enter edit mode without changing the value. */\n onTypeToEdit?: (params: {\n key: string;\n validation?: ValidationRule[];\n }) => { value?: any } | undefined;\n\n /** Optional hook to normalize the committed value (e.g. auto-prepend https://).\n * Called before commitEdit() from EditableCell (blur/Enter) and useKeyboardNavigation (Tab).\n * The value is written back to editingValue via runInAction before committing. */\n normalizeOnCommit?: (value: any) => any;\n\n /** When true, type-to-edit flushes the edit-mode render synchronously and\n * focuses the input within the same keydown event, then lets the browser's\n * default action deliver the keystroke to the now-focused input naturally\n * (no preventDefault, no programmatic value injection).\n * Mirrors cms-web's `focusOnTyping` pattern. Use for cells that wrap a\n * controlled input whose value can't be seeded via props (e.g. WSR TimeInput). */\n nativeTypeToEdit?: boolean;\n}\n\nexport interface CellTypeConfigMap {\n text: never;\n number: never;\n boolean: never;\n url: never;\n email: never;\n date: never;\n time: never;\n object: never;\n image: never;\n document: never;\n richContent: never;\n video: never;\n richText: RichTextCellTypeConfig;\n mediaGallery: never;\n reference: ReferenceTypeConfig;\n address: AddressCellTypeConfig;\n custom: Omit<CellType, 'type'>;\n}\n\ninterface EditableColumnBase<T> extends Omit<TableColumn<T>, 'render'> {\n id: string;\n /** Column type — maps to a CellType in the registry */\n cellType: keyof CellTypeConfigMap;\n\n /** Extract the cell value from the row data */\n getValue: (item: T) => any;\n\n /** Return updated item with new cell value (immutable) */\n setValue?: (item: T, value: any) => T;\n\n /** Column-level validation rules */\n validation?: ValidationRule[];\n\n /** Is this column editable? (default: true if setValue exists) */\n editable?: boolean | ((item: T) => boolean);\n\n /** True if this column represents the schema's primary field. Drives header-action disable rules (e.g. blocks Delete, blocks Make Primary). */\n isPrimary?: boolean;\n\n /** True if this column represents a system field. Drives header-action disable rules (e.g. blocks Edit, Delete, Duplicate). */\n isSystem?: boolean;\n}\n\nexport type EditableColumn<\n T,\n C extends keyof CellTypeConfigMap = keyof CellTypeConfigMap,\n> = C extends C\n ? EditableColumnBase<T> & {\n cellType: C;\n typeConfig?: CellTypeConfigMap[C] extends never\n ? never\n : CellTypeConfigMap[C];\n }\n : never;\n"],"mappings":"","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_ = "FormPageHeader1516617014";
|
|
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": "FormPageHeader1516617014__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/FormPage/FormPageHeader.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/FormPage/FormPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"FormPageHeader1516617014\";\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\":\"FormPageHeader1516617014__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,0BAA0B;AAC5C,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;AAAgC,CAAC;AACvD,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":[]}
|