@wix/patterns 1.498.0 → 1.500.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/Collapse/Collapse.st.css.js +3 -3
- package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionItemActions/CollectionItemActionsHelper.js +2 -2
- package/dist/cjs/components/CollectionItemActions/CollectionItemActionsHelper.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/CustomColumnsPanel/ColumnListTableListItem.js +24 -27
- package/dist/cjs/components/CustomColumnsPanel/ColumnListTableListItem.js.map +1 -1
- package/dist/cjs/components/CustomFieldModal/CustomFieldCollectionInput.js +30 -15
- package/dist/cjs/components/CustomFieldModal/CustomFieldCollectionInput.js.map +1 -1
- package/dist/cjs/components/CustomFieldModal/CustomFieldFormPiiFields.st.css.js +3 -3
- package/dist/cjs/components/CustomFieldModal/CustomFieldFormPiiFields.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 +6 -6
- 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/JsonInputEdit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/JsonInputEdit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
- 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/color/Edit.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/color/Edit.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/datetime/Edit.st.css.js +8 -8
- package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js +7 -7
- package/dist/cjs/components/EditableTable/cellTypes/datetime/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/mediaImage/Edit.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/mediaImage/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/mediaImage/index.js +1 -10
- package/dist/cjs/components/EditableTable/cellTypes/mediaImage/index.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/multiDocument/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/multiDocument/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/multiReference/Edit.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/multiReference/Edit.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/multiReference/View.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/multiReference/View.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/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/reference/Edit.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/reference/Edit.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js +6 -6
- package/dist/cjs/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/reference/View.js +5 -5
- package/dist/cjs/components/EditableTable/cellTypes/reference/View.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/reference/types.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js +4 -4
- package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
- package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
- package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js +2 -2
- package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js.map +1 -1
- package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
- package/dist/cjs/components/EntityPageFields/EntityPageField.st.css.js +3 -3
- package/dist/cjs/components/EntityPageFields/EntityPageField.st.css.js.map +1 -1
- package/dist/cjs/components/EntityPageFields/EntityPageReferenceField.js +6 -5
- package/dist/cjs/components/EntityPageFields/EntityPageReferenceField.js.map +1 -1
- package/dist/cjs/components/EntityPageFields/EntityPageReferenceValue.js +7 -6
- package/dist/cjs/components/EntityPageFields/EntityPageReferenceValue.js.map +1 -1
- package/dist/cjs/components/EntityPageFields/EntityPageReferenceValue.st.css.js +2 -2
- package/dist/cjs/components/EntityPageFields/EntityPageReferenceValue.st.css.js.map +1 -1
- package/dist/cjs/components/EntityPageFields/useReferencedSchema.js +0 -6
- package/dist/cjs/components/EntityPageFields/useReferencedSchema.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/Grid/GridSingleGridContent.js +7 -4
- package/dist/cjs/components/Grid/GridSingleGridContent.js.map +1 -1
- package/dist/cjs/components/GridSections/GridSectionsContent.js +5 -4
- package/dist/cjs/components/GridSections/GridSectionsContent.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/ImportButtonModalLayout.js +49 -15
- package/dist/cjs/components/ImportButton/ImportButtonModalLayout.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/ImportButton/SchemaImportFieldEditor.js +2 -13
- package/dist/cjs/components/ImportButton/SchemaImportFieldEditor.js.map +1 -1
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
- package/dist/cjs/components/PrimaryActions/PrimaryActions.js +1 -1
- package/dist/cjs/components/PrimaryActions/PrimaryActions.js.map +1 -1
- package/dist/cjs/components/SchemaSource/ReferenceFieldCell.js +7 -7
- package/dist/cjs/components/SchemaSource/ReferenceFieldCell.js.map +1 -1
- package/dist/cjs/components/SchemaSource/referenceCells.js +3 -8
- package/dist/cjs/components/SchemaSource/referenceCells.js.map +1 -1
- package/dist/cjs/components/SchemaSource/schemaFieldActions.js +15 -1
- package/dist/cjs/components/SchemaSource/schemaFieldActions.js.map +1 -1
- package/dist/cjs/components/SchemaSource/schemaFieldManagement.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/SetupWidget/SetupWidget.st.css.js +10 -10
- package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js +6 -6
- package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
- package/dist/cjs/components/Table/NumberCell.st.css.js +2 -2
- package/dist/cjs/components/Table/NumberCell.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/exports/schema.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +3 -3
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
- package/dist/cjs/state/CollectionPage/MobilePrimaryActionBar.st.css.js +2 -2
- package/dist/cjs/state/CollectionPage/MobilePrimaryActionBar.st.css.js.map +1 -1
- package/dist/cjs/state/CollectionPage/TitleBadges.st.css.js +4 -4
- package/dist/cjs/state/CollectionPage/TitleBadges.st.css.js.map +1 -1
- package/dist/cjs/state/CustomColumnsEntityPageState.js +30 -2
- package/dist/cjs/state/CustomColumnsEntityPageState.js.map +1 -1
- package/dist/cjs/state/CustomColumnsPanelStateBase.js.map +1 -1
- package/dist/cjs/state/CustomColumnsState.js +18 -6
- package/dist/cjs/state/CustomColumnsState.js.map +1 -1
- package/dist/cjs/state/EditableTable/CellValueState.js +154 -7
- package/dist/cjs/state/EditableTable/CellValueState.js.map +1 -1
- package/dist/cjs/state/EditableTable/ClipboardState.js +30 -14
- package/dist/cjs/state/EditableTable/ClipboardState.js.map +1 -1
- package/dist/cjs/state/EditableTable/EditableTableState.js +1 -1
- package/dist/cjs/state/EditableTable/EditableTableState.js.map +1 -1
- package/dist/cjs/state/EditableTable/MutationState.js +31 -7
- package/dist/cjs/state/EditableTable/MutationState.js.map +1 -1
- package/dist/cjs/state/EntityPage/EntityPageState.js +24 -0
- package/dist/cjs/state/EntityPage/EntityPageState.js.map +1 -1
- package/dist/cjs/state/EntityPage/EntityPageStateBIReporter.js +55 -2
- package/dist/cjs/state/EntityPage/EntityPageStateBIReporter.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/NestedTableState/NestedTableNestedModeState.js +1 -1
- package/dist/cjs/state/NestedTableState/NestedTableNestedModeState.js.map +1 -1
- package/dist/cjs/state/OperatorFilterPickerState.js +2 -1
- package/dist/cjs/state/OperatorFilterPickerState.js.map +1 -1
- package/dist/cjs/styles.global.css +2 -2
- package/dist/cjs/utils/referenceImage.js +35 -0
- package/dist/cjs/utils/referenceImage.js.map +1 -0
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/docs/CustomFieldType.md +25 -0
- package/dist/docs/Explore Apps.md +1 -0
- package/dist/docs/ImportButton.md +3 -1
- package/dist/docs/Settings Page Template.md +1 -1
- package/dist/docs/Table.md +3 -1
- package/dist/docs/useGridCollection.md +1 -0
- package/dist/docs/useTableCollection.md +16 -1
- package/dist/docs/useTableGridSwitchCollection.md +1 -0
- package/dist/dts-bundle/components/EditableTable.d.ts +4 -3
- package/dist/dts-bundle/components/LayoutSwitch.d.ts +4 -3
- package/dist/dts-bundle/hooks/usePickerModal.d.ts +9 -0
- package/dist/dts-bundle/index.json +29 -29
- package/dist/dts-bundle/index.txt +7 -7
- package/dist/dts-bundle/types/CellType.d.ts +13 -3
- package/dist/dts-bundle/types/SchemaSource.d.ts +6 -1
- package/dist/dts-bundle/types/SchemaSourceInput.d.ts +6 -1
- package/dist/dts-bundle/types/UseCmsSchemaSourceDeps.d.ts +6 -1
- package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
- package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
- package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
- package/dist/esm/components/Collapse/Collapse.st.css.js.map +1 -1
- package/dist/esm/components/CollectionItemActions/CollectionItemActionsHelper.js +8 -2
- package/dist/esm/components/CollectionItemActions/CollectionItemActionsHelper.js.map +1 -1
- package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
- package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
- package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/CustomColumnsPanel/ColumnListTableListItem.js +12 -13
- package/dist/esm/components/CustomColumnsPanel/ColumnListTableListItem.js.map +1 -1
- package/dist/esm/components/CustomFieldModal/CustomFieldCollectionInput.js +31 -10
- package/dist/esm/components/CustomFieldModal/CustomFieldCollectionInput.js.map +1 -1
- package/dist/esm/components/CustomFieldModal/CustomFieldFormPiiFields.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/EditableCell.st.css.js.map +1 -1
- 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/JsonInputEdit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
- 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/color/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/mediaImage/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/mediaImage/index.js +2 -11
- package/dist/esm/components/EditableTable/cellTypes/mediaImage/index.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/multiDocument/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/multiReference/Edit.js +1 -1
- package/dist/esm/components/EditableTable/cellTypes/multiReference/Edit.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/multiReference/View.js +1 -1
- package/dist/esm/components/EditableTable/cellTypes/multiReference/View.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/reference/Edit.js +1 -1
- package/dist/esm/components/EditableTable/cellTypes/reference/Edit.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/reference/View.js +3 -5
- package/dist/esm/components/EditableTable/cellTypes/reference/View.js.map +1 -1
- 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.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
- package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js +2 -2
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/esm/components/EntityPageFields/EntityPageField.st.css.js +2 -2
- package/dist/esm/components/EntityPageFields/EntityPageReferenceField.js +4 -5
- package/dist/esm/components/EntityPageFields/EntityPageReferenceField.js.map +1 -1
- package/dist/esm/components/EntityPageFields/EntityPageReferenceValue.js +5 -6
- package/dist/esm/components/EntityPageFields/EntityPageReferenceValue.js.map +1 -1
- package/dist/esm/components/EntityPageFields/EntityPageReferenceValue.st.css.js +2 -2
- package/dist/esm/components/EntityPageFields/useReferencedSchema.js +0 -1
- package/dist/esm/components/EntityPageFields/useReferencedSchema.js.map +1 -1
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/Grid/GridSingleGridContent.js +5 -2
- package/dist/esm/components/Grid/GridSingleGridContent.js.map +1 -1
- package/dist/esm/components/GridSections/GridSectionsContent.js +2 -1
- package/dist/esm/components/GridSections/GridSectionsContent.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/ImportButtonModalLayout.js +35 -2
- package/dist/esm/components/ImportButton/ImportButtonModalLayout.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/ImportButton/SchemaImportFieldEditor.js +2 -12
- package/dist/esm/components/ImportButton/SchemaImportFieldEditor.js.map +1 -1
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
- 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/NestedTableRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/esm/components/PrimaryActions/PrimaryActions.js +1 -1
- package/dist/esm/components/PrimaryActions/PrimaryActions.js.map +1 -1
- package/dist/esm/components/SchemaSource/ReferenceFieldCell.js +4 -5
- package/dist/esm/components/SchemaSource/ReferenceFieldCell.js.map +1 -1
- package/dist/esm/components/SchemaSource/referenceCells.js +3 -5
- package/dist/esm/components/SchemaSource/referenceCells.js.map +1 -1
- package/dist/esm/components/SchemaSource/schemaFieldActions.js +14 -2
- package/dist/esm/components/SchemaSource/schemaFieldActions.js.map +1 -1
- package/dist/esm/components/SchemaSource/schemaFieldManagement.js.map +1 -1
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
- package/dist/esm/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js +2 -2
- package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
- package/dist/esm/components/Table/NumberCell.st.css.js +2 -2
- 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/common.st.css.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/esm/state/CollectionPage/MobilePrimaryActionBar.st.css.js +2 -2
- package/dist/esm/state/CollectionPage/TitleBadges.st.css.js +2 -2
- package/dist/esm/state/CustomColumnsEntityPageState.js +23 -2
- package/dist/esm/state/CustomColumnsEntityPageState.js.map +1 -1
- package/dist/esm/state/CustomColumnsPanelStateBase.js.map +1 -1
- package/dist/esm/state/CustomColumnsState.js +15 -6
- package/dist/esm/state/CustomColumnsState.js.map +1 -1
- package/dist/esm/state/EditableTable/CellValueState.js +146 -7
- package/dist/esm/state/EditableTable/CellValueState.js.map +1 -1
- package/dist/esm/state/EditableTable/ClipboardState.js +16 -15
- package/dist/esm/state/EditableTable/ClipboardState.js.map +1 -1
- package/dist/esm/state/EditableTable/EditableTableState.js +1 -1
- package/dist/esm/state/EditableTable/EditableTableState.js.map +1 -1
- package/dist/esm/state/EditableTable/MutationState.js +28 -7
- package/dist/esm/state/EditableTable/MutationState.js.map +1 -1
- package/dist/esm/state/EntityPage/EntityPageState.js +24 -0
- package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
- package/dist/esm/state/EntityPage/EntityPageStateBIReporter.js +38 -1
- package/dist/esm/state/EntityPage/EntityPageStateBIReporter.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/NestedTableState/NestedTableNestedModeState.js +1 -1
- package/dist/esm/state/NestedTableState/NestedTableNestedModeState.js.map +1 -1
- package/dist/esm/state/OperatorFilterPickerState.js +1 -0
- package/dist/esm/state/OperatorFilterPickerState.js.map +1 -1
- package/dist/esm/styles.global.css +2 -2
- package/dist/esm/utils/referenceImage.js +20 -0
- package/dist/esm/utils/referenceImage.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/examples/Table/mobile-columns.tsx +66 -98
- package/dist/templates/collection-entity/ItemEntityPage.tsx +4 -3
- package/dist/templates/settings-page/SettingsPageView.tsx +4 -3
- package/dist/types/components/CmsFieldManagement/CmsFieldModal.st.css.d.ts.map +1 -1
- package/dist/types/components/Collapse/Collapse.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionItemActions/CollectionItemActionsHelper.d.ts.map +1 -1
- package/dist/types/components/CollectionPageNew/CollectionPage.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTable.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbar.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.d.ts.map +1 -1
- package/dist/types/components/CustomColumnsPanel/ColumnListTableListItem.d.ts.map +1 -1
- package/dist/types/components/CustomFieldModal/CustomFieldCollectionInput.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableCell.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/HeaderActionsPopover.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/boolean/Edit.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/datetime/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/email/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/mediaImage/index.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/number/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/reference/View.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/reference/types.d.ts +3 -3
- package/dist/types/components/EditableTable/cellTypes/reference/types.d.ts.map +1 -1
- package/dist/types/components/EntityPageFields/EntityPageReferenceField.d.ts.map +1 -1
- package/dist/types/components/EntityPageFields/EntityPageReferenceValue.d.ts.map +1 -1
- package/dist/types/components/EntityPageFields/useReferencedSchema.d.ts +0 -1
- package/dist/types/components/EntityPageFields/useReferencedSchema.d.ts.map +1 -1
- package/dist/types/components/Grid/GridSingleGridContent.d.ts +5 -1
- package/dist/types/components/Grid/GridSingleGridContent.d.ts.map +1 -1
- package/dist/types/components/GridSections/GridSectionsContent.d.ts.map +1 -1
- package/dist/types/components/Heading/Heading.st.css.d.ts.map +1 -1
- package/dist/types/components/ImportButton/ImportButtonModalLayout.d.ts.map +1 -1
- package/dist/types/components/ImportButton/ImportStepUpload.st.css.d.ts.map +1 -1
- package/dist/types/components/ImportButton/SchemaImportFieldEditor.d.ts.map +1 -1
- package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
- package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTableRow.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts.map +1 -1
- package/dist/types/components/PickerContent/PickerContentAdditionalStep.st.css.d.ts.map +1 -1
- package/dist/types/components/SchemaSource/ReferenceFieldCell.d.ts.map +1 -1
- package/dist/types/components/SchemaSource/referenceCells.d.ts.map +1 -1
- package/dist/types/components/SchemaSource/schemaFieldActions.d.ts.map +1 -1
- package/dist/types/components/SchemaSource/schemaFieldManagement.d.ts.map +1 -1
- package/dist/types/components/SetupWidget/SetupWidget.st.css.d.ts.map +1 -1
- package/dist/types/components/SkeletonCard/SkeletonCard.st.css.d.ts.map +1 -1
- package/dist/types/components/Table/AddFieldColumnHeader.st.css.d.ts.map +1 -1
- package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
- package/dist/types/components/ToolbarItem/ToolbarItem.st.css.d.ts.map +1 -1
- package/dist/types/exports/schema.d.ts +1 -1
- package/dist/types/exports/schema.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/state/CustomColumnsEntityPageState.d.ts +3 -1
- package/dist/types/state/CustomColumnsEntityPageState.d.ts.map +1 -1
- package/dist/types/state/CustomColumnsPanelStateBase.d.ts +1 -0
- package/dist/types/state/CustomColumnsPanelStateBase.d.ts.map +1 -1
- package/dist/types/state/CustomColumnsState.d.ts +2 -1
- package/dist/types/state/CustomColumnsState.d.ts.map +1 -1
- package/dist/types/state/EditableTable/CellValueState.d.ts +40 -6
- package/dist/types/state/EditableTable/CellValueState.d.ts.map +1 -1
- package/dist/types/state/EditableTable/ClipboardState.d.ts +1 -1
- package/dist/types/state/EditableTable/ClipboardState.d.ts.map +1 -1
- package/dist/types/state/EditableTable/MutationState.d.ts +18 -1
- package/dist/types/state/EditableTable/MutationState.d.ts.map +1 -1
- package/dist/types/state/EntityPage/EntityPageState.d.ts.map +1 -1
- package/dist/types/state/EntityPage/EntityPageStateBIReporter.d.ts +10 -0
- package/dist/types/state/EntityPage/EntityPageStateBIReporter.d.ts.map +1 -1
- package/dist/types/state/FormPage/FormPageHeader.st.css.d.ts.map +1 -1
- package/dist/types/state/OperatorFilterPickerState.d.ts.map +1 -1
- package/dist/types/utils/referenceImage.d.ts +11 -0
- package/dist/types/utils/referenceImage.d.ts.map +1 -0
- package/dist/types/version.d.ts +1 -1
- package/package.json +8 -8
- 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/Collapse/Collapse.st.css.ts +2 -2
- package/src/components/CollectionItemActions/CollectionItemActionsHelper.ts +9 -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/CustomColumnsPanel/ColumnListTableListItem.tsx +12 -13
- package/src/components/CustomFieldModal/CustomFieldCollectionInput.tsx +49 -13
- package/src/components/CustomFieldModal/CustomFieldFormPiiFields.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/JsonInputEdit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
- 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/color/Edit.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/datetime/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/datetime/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/mediaImage/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/mediaImage/index.ts +2 -11
- package/src/components/EditableTable/cellTypes/multiDocument/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/multiReference/Edit.tsx +2 -2
- package/src/components/EditableTable/cellTypes/multiReference/View.tsx +2 -2
- 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/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/reference/Edit.tsx +2 -2
- package/src/components/EditableTable/cellTypes/reference/EmptyReferenceView.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/reference/View.tsx +3 -9
- package/src/components/EditableTable/cellTypes/reference/types.ts +3 -4
- package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
- package/src/components/EmptyState/EmptyStateBase.st.css.ts +2 -2
- package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
- package/src/components/EntityPageFields/EntityPageField.st.css.ts +2 -2
- package/src/components/EntityPageFields/EntityPageReferenceField.tsx +4 -5
- package/src/components/EntityPageFields/EntityPageReferenceValue.st.css.ts +2 -2
- package/src/components/EntityPageFields/EntityPageReferenceValue.tsx +5 -6
- package/src/components/EntityPageFields/useReferencedSchema.ts +0 -5
- package/src/components/Fade/Fade.st.css.ts +2 -2
- package/src/components/Grid/GridSingleGridContent.tsx +8 -2
- package/src/components/GridSections/GridSectionsContent.tsx +4 -1
- package/src/components/Heading/Heading.st.css.ts +2 -2
- package/src/components/ImportButton/ImportButtonModalLayout.tsx +42 -1
- package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
- package/src/components/ImportButton/SchemaImportFieldEditor.tsx +1 -20
- package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
- package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
- package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
- package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
- package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
- package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
- package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
- package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
- package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
- package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
- package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
- package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
- package/src/components/PrimaryActions/PrimaryActions.tsx +1 -1
- package/src/components/SchemaSource/ReferenceFieldCell.tsx +5 -8
- package/src/components/SchemaSource/referenceCells.ts +4 -10
- package/src/components/SchemaSource/schemaFieldActions.ts +16 -2
- package/src/components/SchemaSource/schemaFieldManagement.ts +3 -1
- package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
- package/src/components/SetupWidget/SetupWidget.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/Table/AddFieldColumnHeader.st.css.ts +2 -2
- package/src/components/Table/NumberCell.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/exports/schema.ts +2 -0
- package/src/index.ts +2 -0
- package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
- package/src/state/CollectionPage/MobilePrimaryActionBar.st.css.ts +2 -2
- package/src/state/CollectionPage/TitleBadges.st.css.ts +2 -2
- package/src/state/CustomColumnsEntityPageState.ts +28 -3
- package/src/state/CustomColumnsPanelStateBase.ts +1 -0
- package/src/state/CustomColumnsState.ts +17 -8
- package/src/state/EditableTable/CellValueState.ts +197 -8
- package/src/state/EditableTable/ClipboardState.ts +24 -22
- package/src/state/EditableTable/EditableTableState.ts +1 -1
- package/src/state/EditableTable/MutationState.ts +56 -7
- package/src/state/EntityPage/EntityPageState.ts +25 -0
- package/src/state/EntityPage/EntityPageStateBIReporter.ts +55 -0
- package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
- package/src/state/NestedTableState/NestedTableNestedModeState.ts +1 -1
- package/src/state/OperatorFilterPickerState.ts +2 -0
- package/src/styles.global.css +2 -2
- package/src/utils/referenceImage.ts +35 -0
- package/src/version.ts +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/reference/getImageFieldId.js +0 -10
- package/dist/cjs/components/EditableTable/cellTypes/reference/getImageFieldId.js.map +0 -1
- package/dist/esm/components/EditableTable/cellTypes/reference/getImageFieldId.js +0 -2
- package/dist/esm/components/EditableTable/cellTypes/reference/getImageFieldId.js.map +0 -1
- package/dist/types/components/EditableTable/cellTypes/reference/getImageFieldId.d.ts +0 -3
- package/dist/types/components/EditableTable/cellTypes/reference/getImageFieldId.d.ts.map +0 -1
- package/src/components/EditableTable/cellTypes/reference/getImageFieldId.ts +0 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_mobx","CustomColumnsPanelStateBase","constructor","params","_defineProperty2","default","SelectState","keyGetter","column","id","Promise","resolve","refresh","columnsRefresh","then","columnsCollection","refreshAllPages","catch","undefined","action","value","searchValue","refreshColumns","select","onColumnClick","toggle","isChecked","container","CollectionState","events","queryName","fetchData","items","filteredColumns","filter","hiddenFromCustomColumnsSelection","filters","itemKey","item","itemName","name","initBaseObservables","makeObservable","observable","setSearchValue","bound","orderedColumns","computed","isFieldsEditable","trim","searchLower","toLowerCase","title","includes","exports"],"sources":["../../../src/state/CustomColumnsPanelStateBase.ts"],"sourcesContent":["import {\n CollectionState,\n FiltersMap,\n SelectState,\n TransitionState,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { Column } from '../model';\nimport { CustomColumnsActionName } from './CustomColumnsState';\nimport type { CustomColumnsDragAndDropState } from './CustomColumnsDragAndDropState';\nimport type { ManageFieldsSource } from './ManageFieldsSource';\n\nexport interface CustomColumnsPanelStateBaseParams {\n container: WixPatternsContainer;\n queryName: string;\n}\n\nexport abstract class CustomColumnsPanelStateBase<\n T = unknown,\n F extends FiltersMap = FiltersMap,\n> {\n readonly container: WixPatternsContainer;\n readonly columnsCollection: CollectionState<Column, FiltersMap>;\n\n readonly select = new SelectState<{ id: string }>({\n keyGetter: (column) => column.id,\n });\n\n searchValue = '';\n\n private columnsRefresh: Promise<void> = Promise.resolve();\n\n onColumnClick?: (column: Column, checked: boolean) => unknown;\n\n constructor(params: CustomColumnsPanelStateBaseParams) {\n this.container = params.container;\n\n this.columnsCollection = new CollectionState({\n ...this.container,\n events: {},\n queryName: params.queryName,\n fetchData: async () => {\n const items = this.filteredColumns.filter(\n (column) => column.hiddenFromCustomColumnsSelection !== true,\n );\n return { items };\n },\n filters: {},\n itemKey: (item) => item.id,\n itemName: (item) => item.name,\n });\n }\n\n protected initBaseObservables() {\n makeObservable(this, {\n searchValue: observable,\n setSearchValue: action.bound,\n orderedColumns: computed,\n filteredColumns: computed,\n });\n }\n\n abstract get orderedColumns(): Column[];\n\n abstract get showFieldTypeIcons(): boolean;\n\n /** Whether the panel manages schema fields rather than picking columns —\n * drives its title and subtitle. Sources that carry their own field\n * management report it through `manageFieldsSource` instead. */\n get isFieldsEditable(): boolean {\n return false;\n }\n\n /** Add / edit / delete field, when the surface offers it. */\n abstract get manageFieldsSource(): ManageFieldsSource | null | undefined;\n\n abstract get sidePanelTransition(): TransitionState<string> | undefined;\n\n abstract get dragAndDrop(): CustomColumnsDragAndDropState<T, F> | undefined;\n\n abstract customizeColumnsInSidePanelBi(params: {\n actionName: CustomColumnsActionName;\n }): void;\n\n abstract onClose(): void;\n\n abstract init(): () => void;\n\n get filteredColumns(): Column[] {\n const { orderedColumns, searchValue } = this;\n\n if (!searchValue.trim()) {\n return orderedColumns;\n }\n\n const searchLower = searchValue.toLowerCase();\n return orderedColumns.filter((column) => {\n const name =\n column.name ||\n (typeof column.title === 'string' ? column.title : column.id);\n return name.toLowerCase().includes(searchLower);\n });\n }\n\n refreshColumns = () => {\n // Overlapping refreshes share a query promise, which can contain columns\n // from before the latest schema or layout update.\n const refresh = this.columnsRefresh.then(() =>\n this.columnsCollection.refreshAllPages(),\n );\n this.columnsRefresh = refresh.catch(() => undefined);\n return refresh;\n };\n\n setSearchValue = action((value: string) => {\n this.searchValue = value;\n void this.refreshColumns();\n });\n\n onColumnCheckboxToggle = action((column: Column) => {\n const { select, onColumnClick } = this;\n select.toggle(column);\n onColumnClick?.(column, select.isChecked(column.id));\n });\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAOA,IAAAC,KAAA,GAAAD,OAAA;AAWO,MAAeE,2BAA2B,CAG/C;EAcAC,WAAWA,CAACC,MAAyC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,kBAVrC,IAAIC,oBAAW,CAAiB;MAChDC,SAAS,EAAGC,MAAM,IAAKA,MAAM,CAACC;IAChC,CAAC,CAAC;IAAA,IAAAL,gBAAA,CAAAC,OAAA,uBAEY,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA,0BAEwBK,OAAO,CAACC,OAAO,CAAC,CAAC;IAAA,IAAAP,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_mobx","CustomColumnsPanelStateBase","constructor","params","_defineProperty2","default","SelectState","keyGetter","column","id","Promise","resolve","refresh","columnsRefresh","then","columnsCollection","refreshAllPages","catch","undefined","action","value","searchValue","refreshColumns","select","onColumnClick","toggle","isChecked","container","CollectionState","events","queryName","fetchData","items","filteredColumns","filter","hiddenFromCustomColumnsSelection","filters","itemKey","item","itemName","name","initBaseObservables","makeObservable","observable","setSearchValue","bound","orderedColumns","computed","isFieldsEditable","trim","searchLower","toLowerCase","title","includes","exports"],"sources":["../../../src/state/CustomColumnsPanelStateBase.ts"],"sourcesContent":["import {\n CollectionState,\n FiltersMap,\n SelectState,\n TransitionState,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { Column } from '../model';\nimport { CustomColumnsActionName } from './CustomColumnsState';\nimport type { CustomColumnsDragAndDropState } from './CustomColumnsDragAndDropState';\nimport type { ManageFieldsSource } from './ManageFieldsSource';\n\nexport interface CustomColumnsPanelStateBaseParams {\n container: WixPatternsContainer;\n queryName: string;\n}\n\nexport abstract class CustomColumnsPanelStateBase<\n T = unknown,\n F extends FiltersMap = FiltersMap,\n> {\n readonly container: WixPatternsContainer;\n readonly columnsCollection: CollectionState<Column, FiltersMap>;\n\n readonly select = new SelectState<{ id: string }>({\n keyGetter: (column) => column.id,\n });\n\n searchValue = '';\n\n private columnsRefresh: Promise<void> = Promise.resolve();\n\n onColumnClick?: (column: Column, checked: boolean) => unknown;\n\n constructor(params: CustomColumnsPanelStateBaseParams) {\n this.container = params.container;\n\n this.columnsCollection = new CollectionState({\n ...this.container,\n events: {},\n queryName: params.queryName,\n fetchData: async () => {\n const items = this.filteredColumns.filter(\n (column) => column.hiddenFromCustomColumnsSelection !== true,\n );\n return { items };\n },\n filters: {},\n itemKey: (item) => item.id,\n itemName: (item) => item.name,\n });\n }\n\n protected initBaseObservables() {\n makeObservable(this, {\n searchValue: observable,\n setSearchValue: action.bound,\n orderedColumns: computed,\n filteredColumns: computed,\n });\n }\n\n abstract get orderedColumns(): Column[];\n\n abstract get showFieldTypeIcons(): boolean;\n\n /** Whether the panel manages schema fields rather than picking columns —\n * drives its title and subtitle. Sources that carry their own field\n * management report it through `manageFieldsSource` instead. */\n get isFieldsEditable(): boolean {\n return false;\n }\n\n /** Add / edit / delete field, when the surface offers it. */\n abstract get manageFieldsSource(): ManageFieldsSource | null | undefined;\n\n abstract get sidePanelTransition(): TransitionState<string> | undefined;\n\n abstract get dragAndDrop(): CustomColumnsDragAndDropState<T, F> | undefined;\n\n abstract customizeColumnsInSidePanelBi(params: {\n actionName: CustomColumnsActionName;\n key?: string;\n }): void;\n\n abstract onClose(): void;\n\n abstract init(): () => void;\n\n get filteredColumns(): Column[] {\n const { orderedColumns, searchValue } = this;\n\n if (!searchValue.trim()) {\n return orderedColumns;\n }\n\n const searchLower = searchValue.toLowerCase();\n return orderedColumns.filter((column) => {\n const name =\n column.name ||\n (typeof column.title === 'string' ? column.title : column.id);\n return name.toLowerCase().includes(searchLower);\n });\n }\n\n refreshColumns = () => {\n // Overlapping refreshes share a query promise, which can contain columns\n // from before the latest schema or layout update.\n const refresh = this.columnsRefresh.then(() =>\n this.columnsCollection.refreshAllPages(),\n );\n this.columnsRefresh = refresh.catch(() => undefined);\n return refresh;\n };\n\n setSearchValue = action((value: string) => {\n this.searchValue = value;\n void this.refreshColumns();\n });\n\n onColumnCheckboxToggle = action((column: Column) => {\n const { select, onColumnClick } = this;\n select.toggle(column);\n onColumnClick?.(column, select.isChecked(column.id));\n });\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -404,15 +404,27 @@ class CustomColumnsState extends _CustomColumnsPanelStateBase.CustomColumnsPanel
|
|
|
404
404
|
selectedColumns.setValue(customColumnsState != null && customColumnsState.dragAndDrop ? selectedColumnsFromStorage.sort((0, _indexOfCompareFn.indexOfCompareFn)(storedCustomColumns, e => e == null ? void 0 : e.id)) : selectedColumnsFromStorage);
|
|
405
405
|
}
|
|
406
406
|
customizeColumnsInSidePanelBi({
|
|
407
|
-
actionName
|
|
407
|
+
actionName,
|
|
408
|
+
key
|
|
408
409
|
}) {
|
|
409
|
-
if (
|
|
410
|
-
|
|
410
|
+
if (actionName !== 'visibility') {
|
|
411
|
+
if (this._performedCustomColumnsActions.get(actionName)) {
|
|
412
|
+
return;
|
|
413
|
+
}
|
|
414
|
+
this._performedCustomColumnsActions.set(actionName, true);
|
|
411
415
|
}
|
|
412
|
-
|
|
413
|
-
this.table.reportBi((0, _bexCore.withoutDefaults)(_bi.cairoCustomizeColumnsInSidePanel)({
|
|
416
|
+
const event = (0, _bexCore.withoutDefaults)(_bi.cairoCustomizeColumnsInSidePanel)({
|
|
414
417
|
actionName
|
|
415
|
-
})
|
|
418
|
+
});
|
|
419
|
+
this.table.reportBi({
|
|
420
|
+
...event,
|
|
421
|
+
params: {
|
|
422
|
+
...event.params,
|
|
423
|
+
...(key ? {
|
|
424
|
+
key
|
|
425
|
+
} : {})
|
|
426
|
+
}
|
|
427
|
+
});
|
|
416
428
|
}
|
|
417
429
|
get showFieldTypeIcons() {
|
|
418
430
|
return this.table.showFieldTypeIcons;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_mobx","_CustomColumnsHistoryState","_indexOfCompareFn","_events","_bi","_CustomColumnsPanelStateBase","CUSTOM_COLUMNS_KEY","exports","SPREADSHEET_CUSTOM_COLUMNS_KEY","getCustomColumnsKeyForLayout","layout","asText","content","undefined","toPanelRow","column","_column$infoTooltipPr","_column$infoTooltipPr2","_column$validation","id","name","title","fieldType","infoText","infoTooltipProps","panelContent","isPrimary","isPii","isSystem","appFieldEditable","dataExtension","editable","required","validation","some","rule","type","hideable","reorderDisabled","hiddenFromCustomColumnsSelection","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","pendingInsertPosition","observable","ref","setPendingInsertPosition","action","bound","clearPendingInsertPosition","persistCustomColumns","toSelectedColumns","computed","selectedOrderedColumns","init","orderedColumns","customColumnsState","value","selectedColumn","isSelected","_table$layoutState","dataCapsule","viewsProps","_touched","setItem","layoutState","viewType","registerSelectedColumnChange","events","on","off","afterColumnId","mergeNewColumns","_toStoredColumn","_didFirstColumnsMerge","defaultHidden","length","mergeTargetSelectedColumns","s","every","c","map","existing","find","diffColumns","pending","pendingIndex","afterIndex","findIndex","forEach","d","i","splice","originalIndex","afterId","getStickyColumnsCount","stickyColumns","reorderDisabledColumns","orderedColumnsByReorderDisabled","select","isChecked","selectionChanged","a","b","_this$dragAndDrop","_this$customColumnsHi","customColumnsStateInitialized","disposers","reaction","clear","forceSetMany","status","finalStatus","startStatus","refreshColumns","fireImmediately","selectedValues","setValue","emitEvents","equals","comparer","structural","columnsCollection","_this$table$layoutSta","newLayout","prevLayout","_cacheRestoredLayout","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","sort","indexOfCompareFn","customizeColumnsInSidePanelBi","actionName","_performedCustomColumnsActions","get","set","reportBi","withoutDefaults","cairoCustomizeColumnsInSidePanel","showFieldTypeIcons","manageFieldsSource","collectionFieldsSource","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 {\n action,\n comparer,\n computed,\n makeObservable,\n observable,\n reaction,\n} 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 { CustomColumnsPanelStateBase } from './CustomColumnsPanelStateBase';\n\nexport type { CustomColumnsDragAndDropState };\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 asText = (content: unknown) =>\n typeof content === 'string' ? content : undefined;\n\nconst toPanelRow = (column: Column) => ({\n id: column.id,\n name: column.name || asText(column.title),\n fieldType: column.fieldType,\n infoText: asText(\n column.infoTooltipProps?.panelContent || column.infoTooltipProps?.content,\n ),\n isPrimary: column.isPrimary,\n isPii: column.isPii,\n isSystem: column.isSystem,\n appFieldEditable: column.dataExtension\n ? !!column.dataExtension.editable\n : undefined,\n required: column.validation?.some((rule) => rule.type === 'required'),\n hideable: column.hideable,\n reorderDisabled: column.reorderDisabled,\n hiddenFromCustomColumnsSelection: column.hiddenFromCustomColumnsSelection,\n});\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 /** Where the next new column goes. `afterColumnId: null` means the start.\n * Consumed by the next `mergeNewColumns`. */\n pendingInsertPosition: { afterColumnId: string | null } | undefined =\n undefined;\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 pendingInsertPosition: observable.ref,\n setPendingInsertPosition: action.bound,\n clearPendingInsertPosition: action.bound,\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 setPendingInsertPosition(afterColumnId: string | null) {\n this.pendingInsertPosition = { afterColumnId };\n }\n\n clearPendingInsertPosition() {\n this.pendingInsertPosition = undefined;\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 const pending = this.pendingInsertPosition;\n let pendingIndex: number | null = null;\n if (pending) {\n this.clearPendingInsertPosition();\n if (pending.afterColumnId == null) {\n pendingIndex = 0;\n } else {\n const afterIndex = mergeTargetSelectedColumns.findIndex(\n (c) => c.id === pending.afterColumnId,\n );\n pendingIndex = afterIndex === -1 ? null : afterIndex + 1;\n }\n }\n\n // place new columns where the user picked, or according to their order in\n // the original columns prop\n diffColumns.forEach((d, i) => {\n if (pendingIndex != null) {\n mergeTargetSelectedColumns.splice(pendingIndex + i, 0, d);\n return;\n }\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 } = 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 this.refreshColumns();\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 reaction(\n () => this.table.columns.map(toPanelRow),\n () => void this.refreshColumns(),\n { equals: comparer.structural },\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 if (this.table._cacheRestoredLayout === newLayout) {\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 manageFieldsSource() {\n return this.table.collectionFieldsSource;\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","asText","content","undefined","toPanelRow","column","_column$infoTooltipPr","_column$infoTooltipPr2","_column$validation","id","name","title","fieldType","infoText","infoTooltipProps","panelContent","isPrimary","isPii","isSystem","appFieldEditable","dataExtension","editable","required","validation","some","rule","type","hideable","reorderDisabled","hiddenFromCustomColumnsSelection","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","pendingInsertPosition","observable","ref","setPendingInsertPosition","action","bound","clearPendingInsertPosition","persistCustomColumns","toSelectedColumns","computed","selectedOrderedColumns","init","orderedColumns","customColumnsState","value","selectedColumn","isSelected","_table$layoutState","dataCapsule","viewsProps","_touched","setItem","layoutState","viewType","registerSelectedColumnChange","events","on","off","afterColumnId","mergeNewColumns","_toStoredColumn","_didFirstColumnsMerge","defaultHidden","length","mergeTargetSelectedColumns","s","every","c","map","existing","find","diffColumns","pending","pendingIndex","afterIndex","findIndex","forEach","d","i","splice","originalIndex","afterId","getStickyColumnsCount","stickyColumns","reorderDisabledColumns","orderedColumnsByReorderDisabled","select","isChecked","selectionChanged","a","b","_this$dragAndDrop","_this$customColumnsHi","customColumnsStateInitialized","disposers","reaction","clear","forceSetMany","status","finalStatus","startStatus","refreshColumns","fireImmediately","selectedValues","setValue","emitEvents","equals","comparer","structural","columnsCollection","_this$table$layoutSta","newLayout","prevLayout","_cacheRestoredLayout","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","sort","indexOfCompareFn","customizeColumnsInSidePanelBi","actionName","key","_performedCustomColumnsActions","get","set","event","withoutDefaults","cairoCustomizeColumnsInSidePanel","reportBi","showFieldTypeIcons","manageFieldsSource","collectionFieldsSource","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 {\n action,\n comparer,\n computed,\n makeObservable,\n observable,\n reaction,\n} 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 { CustomColumnsPanelStateBase } from './CustomColumnsPanelStateBase';\n\nexport type { CustomColumnsDragAndDropState };\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 asText = (content: unknown) =>\n typeof content === 'string' ? content : undefined;\n\nconst toPanelRow = (column: Column) => ({\n id: column.id,\n name: column.name || asText(column.title),\n fieldType: column.fieldType,\n infoText: asText(\n column.infoTooltipProps?.panelContent || column.infoTooltipProps?.content,\n ),\n isPrimary: column.isPrimary,\n isPii: column.isPii,\n isSystem: column.isSystem,\n appFieldEditable: column.dataExtension\n ? !!column.dataExtension.editable\n : undefined,\n required: column.validation?.some((rule) => rule.type === 'required'),\n hideable: column.hideable,\n reorderDisabled: column.reorderDisabled,\n hiddenFromCustomColumnsSelection: column.hiddenFromCustomColumnsSelection,\n});\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 /** Where the next new column goes. `afterColumnId: null` means the start.\n * Consumed by the next `mergeNewColumns`. */\n pendingInsertPosition: { afterColumnId: string | null } | undefined =\n undefined;\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 pendingInsertPosition: observable.ref,\n setPendingInsertPosition: action.bound,\n clearPendingInsertPosition: action.bound,\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 setPendingInsertPosition(afterColumnId: string | null) {\n this.pendingInsertPosition = { afterColumnId };\n }\n\n clearPendingInsertPosition() {\n this.pendingInsertPosition = undefined;\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 const pending = this.pendingInsertPosition;\n let pendingIndex: number | null = null;\n if (pending) {\n this.clearPendingInsertPosition();\n if (pending.afterColumnId == null) {\n pendingIndex = 0;\n } else {\n const afterIndex = mergeTargetSelectedColumns.findIndex(\n (c) => c.id === pending.afterColumnId,\n );\n pendingIndex = afterIndex === -1 ? null : afterIndex + 1;\n }\n }\n\n // place new columns where the user picked, or according to their order in\n // the original columns prop\n diffColumns.forEach((d, i) => {\n if (pendingIndex != null) {\n mergeTargetSelectedColumns.splice(pendingIndex + i, 0, d);\n return;\n }\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 } = 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 this.refreshColumns();\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 reaction(\n () => this.table.columns.map(toPanelRow),\n () => void this.refreshColumns(),\n { equals: comparer.structural },\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 if (this.table._cacheRestoredLayout === newLayout) {\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 key,\n }: {\n actionName: CustomColumnsActionName;\n key?: string;\n }) {\n if (actionName !== 'visibility') {\n if (this._performedCustomColumnsActions.get(actionName)) {\n return;\n }\n this._performedCustomColumnsActions.set(actionName, true);\n }\n const event = withoutDefaults(cairoCustomizeColumnsInSidePanel)({\n actionName,\n });\n this.table.reportBi({\n ...event,\n params: {\n ...event.params,\n ...(key ? { key } : {}),\n },\n });\n }\n\n get showFieldTypeIcons() {\n return this.table.showFieldTypeIcons;\n }\n\n get manageFieldsSource() {\n return this.table.collectionFieldsSource;\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":[]}
|
|
@@ -16,6 +16,9 @@ class CellValueState {
|
|
|
16
16
|
/** Valid committed values not yet saved, keyed by `${itemId}:${colId}`.
|
|
17
17
|
* Each row's drafts are flushed as one update when focus leaves the row. */
|
|
18
18
|
(0, _defineProperty2.default)(this, "_draftCells", new Map());
|
|
19
|
+
/** Local new rows not to create yet, with how many open paste toasts hold
|
|
20
|
+
* each. See `applyPastedValues`. */
|
|
21
|
+
(0, _defineProperty2.default)(this, "_heldNewRows", new Map());
|
|
19
22
|
(0, _defineProperty2.default)(this, "_parent", void 0);
|
|
20
23
|
(0, _defineProperty2.default)(this, "_extraCellTypes", void 0);
|
|
21
24
|
this._parent = parent;
|
|
@@ -29,8 +32,10 @@ class CellValueState {
|
|
|
29
32
|
commitHandler: _mobx.action,
|
|
30
33
|
applyBulkRawValues: _mobx.action,
|
|
31
34
|
applyBulkValues: _mobx.action,
|
|
35
|
+
applyPastedValues: _mobx.action,
|
|
32
36
|
revalidatePendingCells: _mobx.action,
|
|
33
37
|
flushDrafts: _mobx.action,
|
|
38
|
+
flushDraftsOnUnmount: _mobx.action,
|
|
34
39
|
flushRow: _mobx.action,
|
|
35
40
|
dropRowCellState: _mobx.action
|
|
36
41
|
});
|
|
@@ -301,6 +306,12 @@ class CellValueState {
|
|
|
301
306
|
* Handles conversion failures by storing them as pending cells.
|
|
302
307
|
*/
|
|
303
308
|
applyBulkRawValues(rawChanges) {
|
|
309
|
+
this.applyBulkValues(this._deserializeRawValues(rawChanges));
|
|
310
|
+
}
|
|
311
|
+
|
|
312
|
+
/** Values that fail are stored as pending cells with their error and left
|
|
313
|
+
* out of the result. */
|
|
314
|
+
_deserializeRawValues(rawChanges) {
|
|
304
315
|
const changes = [];
|
|
305
316
|
for (const {
|
|
306
317
|
rowKey,
|
|
@@ -328,7 +339,7 @@ class CellValueState {
|
|
|
328
339
|
});
|
|
329
340
|
}
|
|
330
341
|
}
|
|
331
|
-
|
|
342
|
+
return changes;
|
|
332
343
|
}
|
|
333
344
|
|
|
334
345
|
/**
|
|
@@ -338,7 +349,7 @@ class CellValueState {
|
|
|
338
349
|
* checking isColumnEditable here — not just at the call sites — keeps
|
|
339
350
|
* read-only cells protected regardless of entry point.
|
|
340
351
|
*/
|
|
341
|
-
applyBulkValues(changes) {
|
|
352
|
+
applyBulkValues(changes, options) {
|
|
342
353
|
const rowUpdates = new Map();
|
|
343
354
|
for (const {
|
|
344
355
|
rowKey,
|
|
@@ -394,7 +405,127 @@ class CellValueState {
|
|
|
394
405
|
item
|
|
395
406
|
}) => item), updates.map(({
|
|
396
407
|
changedFieldIds
|
|
397
|
-
}) => Array.from(changedFieldIds)));
|
|
408
|
+
}) => Array.from(changedFieldIds)), options);
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
/**
|
|
412
|
+
* Applies pasted values and shows `successToast` with Undo. The server call
|
|
413
|
+
* waits until the toast closes or times out. With `batchWait` the toast has
|
|
414
|
+
* no Undo (see `MutationState.updatesAreBatched`).
|
|
415
|
+
*
|
|
416
|
+
* Undo rolls back the saved rows, and puts back the unsaved state (invalid
|
|
417
|
+
* values and drafts) of the pasted cells and of the drafts in their rows,
|
|
418
|
+
* which the paste saves along with it. A cell changed again after the paste
|
|
419
|
+
* keeps its newer value.
|
|
420
|
+
*
|
|
421
|
+
* Local new rows the paste touched are not created while the toast is open.
|
|
422
|
+
* Otherwise the click on Undo, which takes focus out of the table, would
|
|
423
|
+
* create them with the pasted values first.
|
|
424
|
+
*/
|
|
425
|
+
applyPastedValues(changes, rawChanges, successToast) {
|
|
426
|
+
if (this._parent.mutation.updatesAreBatched) {
|
|
427
|
+
this.applyBulkValues([...changes, ...this._deserializeRawValues(rawChanges)], {
|
|
428
|
+
successToast
|
|
429
|
+
});
|
|
430
|
+
return;
|
|
431
|
+
}
|
|
432
|
+
const pastedCells = [...changes, ...rawChanges];
|
|
433
|
+
const rowKeys = new Set(pastedCells.map(({
|
|
434
|
+
rowKey
|
|
435
|
+
}) => rowKey));
|
|
436
|
+
const affectedCellKeys = new Set();
|
|
437
|
+
for (const {
|
|
438
|
+
rowKey,
|
|
439
|
+
columnId
|
|
440
|
+
} of pastedCells) {
|
|
441
|
+
const key = this._pendingCellKey(rowKey, columnId);
|
|
442
|
+
if (key) {
|
|
443
|
+
affectedCellKeys.add(key);
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
for (const [key, draft] of this._draftCells) {
|
|
447
|
+
if (rowKeys.has(draft.rowKey)) {
|
|
448
|
+
affectedCellKeys.add(key);
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
const beforePaste = this._snapshotUnsavedCells(affectedCellKeys);
|
|
452
|
+
// Replaced right after the paste below. `onUndo` reads it, and core calls
|
|
453
|
+
// `onUndo` only on a click on the toast, after that.
|
|
454
|
+
let afterPaste = beforePaste;
|
|
455
|
+
const newRowKeys = new Set([...rowKeys].filter(rowKey => this._parent.mutation.isLocalNewRow(rowKey)));
|
|
456
|
+
for (const rowKey of newRowKeys) {
|
|
457
|
+
this._heldNewRows.set(rowKey, (this._heldNewRows.get(rowKey) ?? 0) + 1);
|
|
458
|
+
}
|
|
459
|
+
let toastOpen = true;
|
|
460
|
+
// Retry calls `onKept` again; only the first call counts.
|
|
461
|
+
const endUndoWindow = () => {
|
|
462
|
+
if (!toastOpen) {
|
|
463
|
+
return false;
|
|
464
|
+
}
|
|
465
|
+
toastOpen = false;
|
|
466
|
+
for (const rowKey of newRowKeys) {
|
|
467
|
+
const holds = (this._heldNewRows.get(rowKey) ?? 1) - 1;
|
|
468
|
+
if (holds > 0) {
|
|
469
|
+
this._heldNewRows.set(rowKey, holds);
|
|
470
|
+
} else {
|
|
471
|
+
this._heldNewRows.delete(rowKey);
|
|
472
|
+
}
|
|
473
|
+
}
|
|
474
|
+
return true;
|
|
475
|
+
};
|
|
476
|
+
this.applyBulkValues(
|
|
477
|
+
// After the snapshot: this writes invalid values into `_pendingCells`.
|
|
478
|
+
[...changes, ...this._deserializeRawValues(rawChanges)], {
|
|
479
|
+
successToast,
|
|
480
|
+
undo: {
|
|
481
|
+
onUndo: (0, _mobx.action)(() => {
|
|
482
|
+
const wasOpen = endUndoWindow();
|
|
483
|
+
if (!wasOpen) {
|
|
484
|
+
return;
|
|
485
|
+
}
|
|
486
|
+
const restoredDraftRows = new Set();
|
|
487
|
+
for (const key of affectedCellKeys) {
|
|
488
|
+
const pasted = afterPaste.get(key);
|
|
489
|
+
if (this._pendingCells.get(key) !== (pasted == null ? void 0 : pasted.pending) || this._draftCells.get(key) !== (pasted == null ? void 0 : pasted.draft)) {
|
|
490
|
+
continue;
|
|
491
|
+
}
|
|
492
|
+
const {
|
|
493
|
+
pending,
|
|
494
|
+
draft
|
|
495
|
+
} = beforePaste.get(key) ?? {};
|
|
496
|
+
setOrDelete(this._pendingCells, key, pending);
|
|
497
|
+
setOrDelete(this._draftCells, key, draft);
|
|
498
|
+
if (draft) {
|
|
499
|
+
restoredDraftRows.add(draft.rowKey);
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
// The click on Undo already flushed the table, before these drafts
|
|
503
|
+
// were back. No toast: nothing should confirm the Undo.
|
|
504
|
+
this._flushRowsWithoutFocus(restoredDraftRows, {
|
|
505
|
+
successToast: null
|
|
506
|
+
});
|
|
507
|
+
}),
|
|
508
|
+
onKept: (0, _mobx.action)(() => {
|
|
509
|
+
const wasOpen = endUndoWindow();
|
|
510
|
+
if (!wasOpen) {
|
|
511
|
+
return;
|
|
512
|
+
}
|
|
513
|
+
this._flushRowsWithoutFocus(newRowKeys);
|
|
514
|
+
})
|
|
515
|
+
}
|
|
516
|
+
});
|
|
517
|
+
afterPaste = this._snapshotUnsavedCells(affectedCellKeys);
|
|
518
|
+
}
|
|
519
|
+
_snapshotUnsavedCells(keys) {
|
|
520
|
+
return new Map([...keys].map(key => [key, {
|
|
521
|
+
pending: this._pendingCells.get(key),
|
|
522
|
+
draft: this._draftCells.get(key)
|
|
523
|
+
}]));
|
|
524
|
+
}
|
|
525
|
+
_flushRowsWithoutFocus(rowKeys, options) {
|
|
526
|
+
var _this$_parent$cellInt;
|
|
527
|
+
const focusedRowKey = (_this$_parent$cellInt = this._parent.cellInteraction.focusedCell) == null ? void 0 : _this$_parent$cellInt.rowKey;
|
|
528
|
+
this._flushRows(rowKey => rowKeys.has(rowKey) && rowKey !== focusedRowKey, options);
|
|
398
529
|
}
|
|
399
530
|
_applyValue(rowKey, columnId, value) {
|
|
400
531
|
var _this$_parent$collect4;
|
|
@@ -442,20 +573,29 @@ class CellValueState {
|
|
|
442
573
|
this._flushRows(rowKey => rowKey !== exceptRowKey);
|
|
443
574
|
}
|
|
444
575
|
|
|
576
|
+
/** Like `flushDrafts()`, but also saves new rows held by an open paste
|
|
577
|
+
* toast: focus can stay on a held row on unmount, and the toast doesn't
|
|
578
|
+
* create a focused row. */
|
|
579
|
+
flushDraftsOnUnmount() {
|
|
580
|
+
this._heldNewRows.clear();
|
|
581
|
+
this.flushDrafts();
|
|
582
|
+
}
|
|
583
|
+
|
|
445
584
|
/** Save one row's drafts now, leaving other rows' drafts buffered. */
|
|
446
585
|
flushRow(rowKey) {
|
|
447
586
|
this._flushRows(key => key === rowKey);
|
|
448
587
|
}
|
|
449
|
-
_flushRows(includeRow) {
|
|
588
|
+
_flushRows(includeRow, options) {
|
|
589
|
+
const include = rowKey => includeRow(rowKey) && !this._heldNewRows.has(rowKey);
|
|
450
590
|
const invalidNewRows = new Set();
|
|
451
591
|
for (const rowKey of this._parent.mutation._drafts.keys()) {
|
|
452
|
-
if (
|
|
592
|
+
if (include(rowKey) && !this._validateNewRow(rowKey)) {
|
|
453
593
|
invalidNewRows.add(rowKey);
|
|
454
594
|
}
|
|
455
595
|
}
|
|
456
596
|
const rowKeys = new Set();
|
|
457
597
|
for (const entry of this._draftCells.values()) {
|
|
458
|
-
if (
|
|
598
|
+
if (include(entry.rowKey)) {
|
|
459
599
|
rowKeys.add(entry.rowKey);
|
|
460
600
|
}
|
|
461
601
|
}
|
|
@@ -479,7 +619,7 @@ class CellValueState {
|
|
|
479
619
|
item
|
|
480
620
|
}) => item), updates.map(({
|
|
481
621
|
changedFieldIds
|
|
482
|
-
}) => changedFieldIds));
|
|
622
|
+
}) => changedFieldIds), options);
|
|
483
623
|
}
|
|
484
624
|
}
|
|
485
625
|
|
|
@@ -550,4 +690,11 @@ class CellValueState {
|
|
|
550
690
|
}
|
|
551
691
|
}
|
|
552
692
|
exports.CellValueState = CellValueState;
|
|
693
|
+
const setOrDelete = (map, key, value) => {
|
|
694
|
+
if (value === undefined) {
|
|
695
|
+
map.delete(key);
|
|
696
|
+
} else {
|
|
697
|
+
map.set(key, value);
|
|
698
|
+
}
|
|
699
|
+
};
|
|
553
700
|
//# sourceMappingURL=CellValueState.js.map
|