@wix/patterns 1.437.0 → 1.439.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/BulkActionToolbar/BulkActionToolbar.js +14 -12
- package/dist/cjs/components/BulkActionToolbar/BulkActionToolbar.js.map +1 -1
- package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
- package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js +3 -3
- package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js.map +1 -1
- package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js +3 -3
- package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
- package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +3 -3
- package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js.map +1 -1
- package/dist/cjs/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +3 -3
- package/dist/cjs/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js.map +1 -1
- package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
- package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionCard/CollectionCard.js +17 -8
- package/dist/cjs/components/CollectionCard/CollectionCard.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.js +11 -9
- package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.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.js +4 -3
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css +2 -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/ReorderModeToolbar.js +16 -14
- package/dist/cjs/components/CollectionToolbar/ReorderModeToolbar.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableTableContextMenu.js +12 -11
- package/dist/cjs/components/EditableTable/EditableTableContextMenu.js.map +1 -1
- package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.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/array/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/array/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/number/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/richContent/Edit.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/richContent/index.js +6 -6
- package/dist/cjs/components/EditableTable/cellTypes/richContent/index.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/EditableTable/useAddRow.js +16 -22
- package/dist/cjs/components/EditableTable/useAddRow.js.map +1 -1
- package/dist/cjs/components/EmptyState/CollectionNoResultsState.js +14 -12
- package/dist/cjs/components/EmptyState/CollectionNoResultsState.js.map +1 -1
- package/dist/cjs/components/EmptyState/EmptyStateBase.js +7 -4
- package/dist/cjs/components/EmptyState/EmptyStateBase.js.map +1 -1
- package/dist/cjs/components/EmptyState/EmptyStateBase.st.css +8 -0
- package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js +22 -0
- package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js.map +1 -0
- package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
- package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
- package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
- package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
- package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
- package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
- package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.js +2 -2
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.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/SchemaSource/schemaFieldManagement.js +2 -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 +9 -9
- package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
- package/dist/cjs/components/SidePanelModal/SidePanelModal.js +13 -8
- package/dist/cjs/components/SidePanelModal/SidePanelModal.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.js +7 -4
- package/dist/cjs/components/SlidingModal/SlidingModal.js.map +1 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css +9 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +5 -3
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js +4 -4
- package/dist/cjs/components/Table/AddFieldColumnHeader.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/ToolbarTitle/ToolbarTitle.js +15 -10
- package/dist/cjs/components/ToolbarTitle/ToolbarTitle.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/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
- package/dist/cjs/state/EditableTable/CellValueState.js +18 -3
- package/dist/cjs/state/EditableTable/CellValueState.js.map +1 -1
- package/dist/cjs/state/EditableTable/EditableTableState.js +23 -3
- package/dist/cjs/state/EditableTable/EditableTableState.js.map +1 -1
- package/dist/cjs/state/EditableTable/MutationState.js +180 -10
- package/dist/cjs/state/EditableTable/MutationState.js.map +1 -1
- package/dist/cjs/state/ExtensionMenuItemsState.js +7 -3
- package/dist/cjs/state/ExtensionMenuItemsState.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/TagsCollectionState.js +5 -2
- package/dist/cjs/state/TagsCollectionState.js.map +1 -1
- package/dist/cjs/styles.global.css +2 -2
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/docs/CustomFieldType.md +485 -0
- package/dist/docs/index.json +18 -14
- package/dist/esm/components/BulkActionToolbar/BulkActionToolbar.js +4 -2
- package/dist/esm/components/BulkActionToolbar/BulkActionToolbar.js.map +1 -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/CmsFieldForm.st.css.js.map +1 -1
- package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js.map +1 -1
- package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
- package/dist/esm/components/CollectionCard/CollectionCard.js +3 -2
- package/dist/esm/components/CollectionCard/CollectionCard.js.map +1 -1
- package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
- package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
- package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTableWSRTable.js +4 -1
- package/dist/esm/components/CollectionTable/CollectionTableWSRTable.js.map +1 -1
- package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.js +8 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css +2 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/ReorderModeToolbar.js +3 -1
- package/dist/esm/components/CollectionToolbar/ReorderModeToolbar.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/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/components/DragHandle/DragHandle.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
- package/dist/esm/components/EditableTable/EditableTableContextMenu.js +3 -2
- package/dist/esm/components/EditableTable/EditableTableContextMenu.js.map +1 -1
- package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/array/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/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/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/richContent/index.js +1 -1
- package/dist/esm/components/EditableTable/cellTypes/richContent/index.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
- 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/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/useAddRow.js +15 -23
- package/dist/esm/components/EditableTable/useAddRow.js.map +1 -1
- package/dist/esm/components/EmptyState/CollectionNoResultsState.js +3 -1
- package/dist/esm/components/EmptyState/CollectionNoResultsState.js.map +1 -1
- package/dist/esm/components/EmptyState/EmptyStateBase.js +3 -2
- package/dist/esm/components/EmptyState/EmptyStateBase.js.map +1 -1
- package/dist/esm/components/EmptyState/EmptyStateBase.st.css +8 -0
- package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js +15 -0
- package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js.map +1 -0
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/Heading/Heading.st.css.js +2 -2
- package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/esm/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.js +2 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.js.map +1 -1
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/esm/components/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/SchemaSource/schemaFieldManagement.js +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/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
- package/dist/esm/components/SidePanelModal/SidePanelModal.js +10 -7
- package/dist/esm/components/SidePanelModal/SidePanelModal.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.js +7 -4
- package/dist/esm/components/SlidingModal/SlidingModal.js.map +1 -1
- package/dist/esm/components/SlidingModal/SlidingModal.st.css +9 -1
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +3 -3
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js +2 -2
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
- package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/esm/components/ToolbarTitle/ToolbarTitle.js +6 -1
- package/dist/esm/components/ToolbarTitle/ToolbarTitle.js.map +1 -1
- package/dist/esm/components/common.st.css.js +2 -2
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
- package/dist/esm/state/EditableTable/CellValueState.js +19 -3
- package/dist/esm/state/EditableTable/CellValueState.js.map +1 -1
- package/dist/esm/state/EditableTable/EditableTableState.js +23 -3
- package/dist/esm/state/EditableTable/EditableTableState.js.map +1 -1
- package/dist/esm/state/EditableTable/MutationState.js +168 -10
- package/dist/esm/state/EditableTable/MutationState.js.map +1 -1
- package/dist/esm/state/ExtensionMenuItemsState.js +6 -2
- package/dist/esm/state/ExtensionMenuItemsState.js.map +1 -1
- package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/esm/state/TagsCollectionState.js +2 -2
- package/dist/esm/state/TagsCollectionState.js.map +1 -1
- package/dist/esm/styles.global.css +2 -2
- package/dist/esm/version.js +1 -1
- package/dist/types/components/BulkActionToolbar/BulkActionToolbar.d.ts.map +1 -1
- package/dist/types/components/CmsFieldManagement/CmsFieldForm.st.css.d.ts.map +1 -1
- package/dist/types/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionCard/CollectionCard.d.ts.map +1 -1
- package/dist/types/components/CollectionSectionHeader/CollectionSectionHeader.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTableWSRTable.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbar.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/ReorderModeToolbar.d.ts.map +1 -1
- package/dist/types/components/DragHandle/DragHandle.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableTableContextMenu.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/CellViewLayout.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/date/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/datetime/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/richContent/index.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/select/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/text/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/url/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/useAddRow.d.ts +1 -0
- package/dist/types/components/EditableTable/useAddRow.d.ts.map +1 -1
- package/dist/types/components/EmptyState/CollectionNoResultsState.d.ts.map +1 -1
- package/dist/types/components/EmptyState/EmptyStateBase.d.ts.map +1 -1
- package/dist/types/components/EmptyState/EmptyStateBase.st.css.d.ts +13 -0
- package/dist/types/components/EmptyState/EmptyStateBase.st.css.d.ts.map +1 -0
- package/dist/types/components/LoadingRow/LoadingRow.st.css.d.ts.map +1 -1
- package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
- package/dist/types/components/PickerContent/PickerContentAdditionalStep.st.css.d.ts.map +1 -1
- package/dist/types/components/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
- package/dist/types/components/SidePanelModal/SidePanelModal.d.ts.map +1 -1
- package/dist/types/components/SkeletonCard/SkeletonCard.st.css.d.ts.map +1 -1
- package/dist/types/components/SlidingModal/SlidingModal.d.ts +2 -0
- package/dist/types/components/SlidingModal/SlidingModal.d.ts.map +1 -1
- package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts +3 -1
- package/dist/types/components/SlidingModal/SlidingModal.st.css.d.ts.map +1 -1
- package/dist/types/components/ToolbarItem/ToolbarItem.st.css.d.ts.map +1 -1
- package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
- package/dist/types/components/ToolbarTitle/ToolbarTitle.d.ts.map +1 -1
- package/dist/types/state/CollectionPage/CollectionPageHeader.st.css.d.ts.map +1 -1
- package/dist/types/state/EditableTable/CellValueState.d.ts.map +1 -1
- package/dist/types/state/EditableTable/EditableTableState.d.ts.map +1 -1
- package/dist/types/state/EditableTable/MutationState.d.ts +37 -1
- package/dist/types/state/EditableTable/MutationState.d.ts.map +1 -1
- package/dist/types/state/ExtensionMenuItemsState.d.ts.map +1 -1
- package/dist/types/state/TagsCollectionState.d.ts +5 -5
- package/dist/types/state/TagsCollectionState.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +7 -7
- package/src/components/BulkActionToolbar/BulkActionToolbar.tsx +4 -2
- package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/CmsFieldForm.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/CmsFieldModal.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.ts +2 -2
- package/src/components/Collapse/Collapse.st.css.ts +2 -2
- package/src/components/CollectionCard/CollectionCard.tsx +6 -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/CollectionTable/CollectionTableWSRTable.tsx +3 -0
- package/src/components/CollectionToolbar/CollectionToolbar.st.css +2 -1
- package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
- package/src/components/CollectionToolbar/CollectionToolbar.tsx +9 -2
- package/src/components/CollectionToolbar/ReorderModeToolbar.tsx +6 -1
- package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
- package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
- package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
- package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
- package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
- package/src/components/EditableTable/EditableTableContextMenu.tsx +3 -2
- package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/array/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/number/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/richContent/Edit.tsx +1 -1
- package/src/components/EditableTable/cellTypes/richContent/index.tsx +5 -2
- package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
- package/src/components/EditableTable/useAddRow.ts +18 -24
- package/src/components/EmptyState/CollectionNoResultsState.tsx +8 -2
- package/src/components/EmptyState/EmptyStateBase.st.css +8 -0
- package/src/components/EmptyState/EmptyStateBase.st.css.ts +25 -0
- package/src/components/EmptyState/EmptyStateBase.tsx +12 -1
- package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
- package/src/components/Fade/Fade.st.css.ts +2 -2
- package/src/components/Heading/Heading.st.css.ts +2 -2
- package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
- package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
- package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
- package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
- package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
- package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
- package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.tsx +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/SchemaSource/schemaFieldManagement.ts +1 -1
- package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
- package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
- package/src/components/SidePanelModal/SidePanelModal.tsx +12 -6
- package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
- package/src/components/SlidingModal/SlidingModal.st.css +9 -1
- package/src/components/SlidingModal/SlidingModal.st.css.ts +3 -3
- package/src/components/SlidingModal/SlidingModal.tsx +9 -2
- package/src/components/Table/AddFieldColumnHeader.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/ToolbarTitle/ToolbarTitle.tsx +11 -1
- package/src/components/common.st.css.ts +2 -2
- package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
- package/src/state/EditableTable/CellValueState.ts +21 -3
- package/src/state/EditableTable/EditableTableState.ts +43 -6
- package/src/state/EditableTable/MutationState.ts +194 -13
- package/src/state/ExtensionMenuItemsState.ts +9 -2
- package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
- package/src/state/TagsCollectionState.ts +6 -2
- package/src/styles.global.css +2 -2
- package/src/version.ts +1 -1
|
@@ -9,6 +9,7 @@ var _designSystem = require("@wix/design-system");
|
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
10
|
var _react2 = require("@wix/bex-core/react");
|
|
11
11
|
var _ToolbarCollectionContext = require("../ToolbarCollectionContext");
|
|
12
|
+
var _useBmHarmonyTheme = require("../../hooks/useBmHarmonyTheme");
|
|
12
13
|
var _bexCore = require("@wix/bex-core");
|
|
13
14
|
var _v = require("@wix/bex-utils/@wix/bi-logger-os-data/v2");
|
|
14
15
|
var _jsxFileName = "/home/builduser/work/843658b9f44192f0/packages/cairo/dist/cjs/components/ToolbarTitle/ToolbarTitle.tsx";
|
|
@@ -30,15 +31,19 @@ const ToolbarTitle = exports.ToolbarTitle = (0, _mobxReactLite.observer)(functio
|
|
|
30
31
|
},
|
|
31
32
|
reportBi
|
|
32
33
|
} = (0, _ToolbarCollectionContext.useToolbarCollectionContext)();
|
|
34
|
+
const isBmHarmonyTheme = (0, _useBmHarmonyTheme.useBmHarmonyTheme)();
|
|
35
|
+
// Under Harmony the toolbar keeps its own vertical padding (theme tokens),
|
|
36
|
+
// so the title must not add more on top of it
|
|
37
|
+
const verticalPadding = isBmHarmonyTheme ? undefined : 'SP2';
|
|
33
38
|
return /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
|
|
34
39
|
direction: "vertical",
|
|
35
|
-
paddingTop:
|
|
36
|
-
paddingBottom:
|
|
40
|
+
paddingTop: verticalPadding,
|
|
41
|
+
paddingBottom: verticalPadding,
|
|
37
42
|
width: "100%",
|
|
38
43
|
__self: this,
|
|
39
44
|
__source: {
|
|
40
45
|
fileName: _jsxFileName,
|
|
41
|
-
lineNumber:
|
|
46
|
+
lineNumber: 71,
|
|
42
47
|
columnNumber: 5
|
|
43
48
|
}
|
|
44
49
|
}, /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
|
|
@@ -48,7 +53,7 @@ const ToolbarTitle = exports.ToolbarTitle = (0, _mobxReactLite.observer)(functio
|
|
|
48
53
|
__self: this,
|
|
49
54
|
__source: {
|
|
50
55
|
fileName: _jsxFileName,
|
|
51
|
-
lineNumber:
|
|
56
|
+
lineNumber: 77,
|
|
52
57
|
columnNumber: 7
|
|
53
58
|
}
|
|
54
59
|
}, /*#__PURE__*/_react.default.createElement(_designSystem.Heading, {
|
|
@@ -58,7 +63,7 @@ const ToolbarTitle = exports.ToolbarTitle = (0, _mobxReactLite.observer)(functio
|
|
|
58
63
|
__self: this,
|
|
59
64
|
__source: {
|
|
60
65
|
fileName: _jsxFileName,
|
|
61
|
-
lineNumber:
|
|
66
|
+
lineNumber: 78,
|
|
62
67
|
columnNumber: 9
|
|
63
68
|
}
|
|
64
69
|
}, title), showTotal && (total || status.isSuccess) && /*#__PURE__*/_react.default.createElement(_designSystem.CounterBadge, {
|
|
@@ -68,7 +73,7 @@ const ToolbarTitle = exports.ToolbarTitle = (0, _mobxReactLite.observer)(functio
|
|
|
68
73
|
__self: this,
|
|
69
74
|
__source: {
|
|
70
75
|
fileName: _jsxFileName,
|
|
71
|
-
lineNumber:
|
|
76
|
+
lineNumber: 82,
|
|
72
77
|
columnNumber: 11
|
|
73
78
|
}
|
|
74
79
|
}, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, itemsLimit === undefined ? total : `${total} / ${itemsLimit}`))), /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
|
|
@@ -77,7 +82,7 @@ const ToolbarTitle = exports.ToolbarTitle = (0, _mobxReactLite.observer)(functio
|
|
|
77
82
|
__self: this,
|
|
78
83
|
__source: {
|
|
79
84
|
fileName: _jsxFileName,
|
|
80
|
-
lineNumber:
|
|
85
|
+
lineNumber: 91,
|
|
81
86
|
columnNumber: 7
|
|
82
87
|
}
|
|
83
88
|
}, /*#__PURE__*/_react.default.createElement(_designSystem.Text, {
|
|
@@ -89,7 +94,7 @@ const ToolbarTitle = exports.ToolbarTitle = (0, _mobxReactLite.observer)(functio
|
|
|
89
94
|
__self: this,
|
|
90
95
|
__source: {
|
|
91
96
|
fileName: _jsxFileName,
|
|
92
|
-
lineNumber:
|
|
97
|
+
lineNumber: 92,
|
|
93
98
|
columnNumber: 9
|
|
94
99
|
}
|
|
95
100
|
}, subtitle == null ? void 0 : subtitle.text), (subtitle == null ? void 0 : subtitle.info) && /*#__PURE__*/_react.default.createElement(_designSystem.InfoIcon, (0, _extends2.default)({}, subtitle.info, {
|
|
@@ -97,7 +102,7 @@ const ToolbarTitle = exports.ToolbarTitle = (0, _mobxReactLite.observer)(functio
|
|
|
97
102
|
__self: this,
|
|
98
103
|
__source: {
|
|
99
104
|
fileName: _jsxFileName,
|
|
100
|
-
lineNumber:
|
|
105
|
+
lineNumber: 101,
|
|
101
106
|
columnNumber: 28
|
|
102
107
|
}
|
|
103
108
|
})), (subtitle == null ? void 0 : subtitle.learnMore) && /*#__PURE__*/_react.default.createElement(_designSystem.TextButton, {
|
|
@@ -114,7 +119,7 @@ const ToolbarTitle = exports.ToolbarTitle = (0, _mobxReactLite.observer)(functio
|
|
|
114
119
|
__self: this,
|
|
115
120
|
__source: {
|
|
116
121
|
fileName: _jsxFileName,
|
|
117
|
-
lineNumber:
|
|
122
|
+
lineNumber: 103,
|
|
118
123
|
columnNumber: 11
|
|
119
124
|
}
|
|
120
125
|
}, subtitle.learnMore.label || t('cairo.table.subtitle.learnMore'))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobxReactLite","require","_designSystem","_react","_interopRequireDefault","_react2","_ToolbarCollectionContext","_bexCore","_v","_jsxFileName","ToolbarTitle","exports","observer","title","subtitle","showTotal","itemsLimit","translate","t","useWixPatternsContainer","collection","result","total","status","reportBi","useToolbarCollectionContext","default","createElement","Box","direction","paddingTop","paddingBottom","width","__self","__source","fileName","lineNumber","columnNumber","minWidth","verticalAlign","gap","Heading","dataHook","ellipsis","size","isSuccess","CounterBadge","skin","Fragment","
|
|
1
|
+
{"version":3,"names":["_mobxReactLite","require","_designSystem","_react","_interopRequireDefault","_react2","_ToolbarCollectionContext","_useBmHarmonyTheme","_bexCore","_v","_jsxFileName","ToolbarTitle","exports","observer","title","subtitle","showTotal","itemsLimit","translate","t","useWixPatternsContainer","collection","result","total","status","reportBi","useToolbarCollectionContext","isBmHarmonyTheme","useBmHarmonyTheme","verticalPadding","undefined","default","createElement","Box","direction","paddingTop","paddingBottom","width","__self","__source","fileName","lineNumber","columnNumber","minWidth","verticalAlign","gap","Heading","dataHook","ellipsis","size","isSuccess","CounterBadge","skin","Fragment","Text","weight","secondary","text","info","InfoIcon","_extends2","learnMore","TextButton","as","rel","target","href","url","onClick","withoutDefaults","cairoLearnMore","origin","label"],"sources":["../../../../src/components/ToolbarTitle/ToolbarTitle.tsx"],"sourcesContent":["import { observer } from 'mobx-react-lite';\nimport {\n Box,\n CounterBadge,\n Heading,\n InfoIcon,\n InfoIconProps,\n Text,\n TextButton,\n} from '@wix/design-system';\nimport React, { ReactNode } from 'react';\nimport { useWixPatternsContainer } from '@wix/bex-core/react';\nimport type { FiltersMap } from '@wix/bex-core';\nimport { useToolbarCollectionContext } from '../ToolbarCollectionContext';\nimport { useBmHarmonyTheme } from '../../hooks/useBmHarmonyTheme';\nimport { withoutDefaults } from '@wix/bex-core';\nimport { cairoLearnMore } from '@wix/bex-utils/@wix/bi-logger-os-data/v2';\n\nexport interface ToolbarTitleProps {\n /**\n * Title to display at the left of the table's toolbar.\n * @external\n */\n title: string | ReactNode;\n /**\n * Subtitle to display at the left of the table's toolbar under the title.\n * @param {string} text The subtitle text\n * @param {[InfoIconProps](https://www.docs.wixdesignsystem.com/?path=/story/components-form--infoicon)} info info to display an info icon next to the subtitle text\n * @param {string} learnMore an object with a `url`(required) and a `label`(optional), for displaying a link button on the subtitle\n * @external\n */\n subtitle?: {\n text: string;\n info?: InfoIconProps;\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n /**\n * Whether to show a total count badge next to the title.\n * @external\n */\n showTotal?: boolean;\n /**\n * Maximum number of items that can be displayed.\n * <br><br>\n * Shows only when `showTotal` is `true`.\n * @external\n */\n itemsLimit?: number;\n}\n\nexport const ToolbarTitle = observer(function ToolbarTitle<\n T,\n F extends FiltersMap = FiltersMap,\n>({ title, subtitle, showTotal, itemsLimit }: ToolbarTitleProps) {\n const { translate: t } = useWixPatternsContainer();\n const {\n collection: {\n result: { total, status },\n },\n reportBi,\n } = useToolbarCollectionContext<T, F>();\n const isBmHarmonyTheme = useBmHarmonyTheme();\n // Under Harmony the toolbar keeps its own vertical padding (theme tokens),\n // so the title must not add more on top of it\n const verticalPadding = isBmHarmonyTheme ? undefined : 'SP2';\n\n return (\n <Box\n direction=\"vertical\"\n paddingTop={verticalPadding}\n paddingBottom={verticalPadding}\n width=\"100%\"\n >\n <Box minWidth={0} verticalAlign=\"middle\" gap=\"SP1\">\n <Heading dataHook=\"toolbar-title\" ellipsis size=\"medium\">\n {title}\n </Heading>\n {showTotal && (total || status.isSuccess) && (\n <CounterBadge\n size=\"small\"\n skin=\"neutralLight\"\n dataHook=\"toolbar-counter\"\n >\n <>{itemsLimit === undefined ? total : `${total} / ${itemsLimit}`}</>\n </CounterBadge>\n )}\n </Box>\n <Box gap=\"SP1\" verticalAlign=\"middle\">\n <Text\n dataHook=\"toolbar-subtitle\"\n size=\"medium\"\n weight=\"thin\"\n secondary\n ellipsis\n >\n {subtitle?.text}\n </Text>\n {subtitle?.info && <InfoIcon {...subtitle.info} size=\"small\" />}\n {subtitle?.learnMore && (\n <TextButton\n dataHook=\"toolbar-subtitle-learn-more-cta\"\n as=\"a\"\n rel=\"noopener\"\n target=\"_blank\"\n href={subtitle.learnMore.url}\n onClick={() => {\n reportBi(\n withoutDefaults(cairoLearnMore)({\n origin: 'Toolbar Subtitle',\n }),\n );\n }}\n >\n {subtitle.learnMore.label || t('cairo.table.subtitle.learnMore')}\n </TextButton>\n )}\n </Box>\n </Box>\n );\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,16 +5,16 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
|
|
|
5
5
|
var _stylableEsmRuntime = require("../stylable-esm-runtime.js");
|
|
6
6
|
// @ts-nocheck
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "common1967001566";
|
|
9
9
|
var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
|
|
10
10
|
var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
|
|
11
11
|
var style = exports.style = _style_;
|
|
12
12
|
var st = exports.st = _style_;
|
|
13
13
|
var namespace = exports.namespace = _namespace_;
|
|
14
14
|
var classes = exports.classes = {
|
|
15
|
-
"root": "
|
|
16
|
-
"column": "
|
|
17
|
-
"fullHeight": "
|
|
15
|
+
"root": "common1967001566__root",
|
|
16
|
+
"column": "common1967001566__column",
|
|
17
|
+
"fullHeight": "common1967001566__fullHeight"
|
|
18
18
|
};
|
|
19
19
|
var keyframes = exports.keyframes = {};
|
|
20
20
|
var layers = exports.layers = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../src/components/common.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"
|
|
1
|
+
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../src/components/common.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"common1967001566\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"common1967001566__root\",\"column\":\"common1967001566__column\",\"fullHeight\":\"common1967001566__fullHeight\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,kBAAkB;AACpC,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC,wBAAwB;EAAC,QAAQ,EAAC,0BAA0B;EAAC,YAAY,EAAC;AAA8B,CAAC;AAC/H,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
|
|
@@ -5,14 +5,14 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
|
|
|
5
5
|
var _stylableEsmRuntime = require("../../stylable-esm-runtime.js");
|
|
6
6
|
// @ts-nocheck
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "CollectionPageHeader1278033918";
|
|
9
9
|
var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
|
|
10
10
|
var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
|
|
11
11
|
var style = exports.style = _style_;
|
|
12
12
|
var st = exports.st = _style_;
|
|
13
13
|
var namespace = exports.namespace = _namespace_;
|
|
14
14
|
var classes = exports.classes = {
|
|
15
|
-
"root": "
|
|
15
|
+
"root": "CollectionPageHeader1278033918__root"
|
|
16
16
|
};
|
|
17
17
|
var keyframes = exports.keyframes = {};
|
|
18
18
|
var layers = exports.layers = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/CollectionPage/CollectionPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"
|
|
1
|
+
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/CollectionPage/CollectionPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"CollectionPageHeader1278033918\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"CollectionPageHeader1278033918__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,gCAAgC;AAClD,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAAsC,CAAC;AAC7D,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
|
|
@@ -277,6 +277,19 @@ class CellValueState {
|
|
|
277
277
|
if (pendingKey) {
|
|
278
278
|
this._pendingCells.delete(pendingKey);
|
|
279
279
|
}
|
|
280
|
+
if (this._parent.mutation.isLocalNewRow(rowKey)) {
|
|
281
|
+
// A row not created on the server yet can't take an update —
|
|
282
|
+
// buffer the value as a draft; it goes out with the row's
|
|
283
|
+
// create when focus leaves the row.
|
|
284
|
+
if (pendingKey) {
|
|
285
|
+
this._draftCells.set(pendingKey, {
|
|
286
|
+
rowKey: keyedItem.key,
|
|
287
|
+
columnId: column.id,
|
|
288
|
+
value
|
|
289
|
+
});
|
|
290
|
+
}
|
|
291
|
+
continue;
|
|
292
|
+
}
|
|
280
293
|
const currentItem = rowItems.get(rowKey) ?? this._consumeRowDrafts(rowKey, keyedItem.item);
|
|
281
294
|
rowItems.set(rowKey, column.setValue(currentItem, value));
|
|
282
295
|
} else if (pendingKey) {
|
|
@@ -322,10 +335,12 @@ class CellValueState {
|
|
|
322
335
|
const items = [];
|
|
323
336
|
for (const rowKey of rowKeys) {
|
|
324
337
|
const keyedItem = this._parent._getKeyedItem(rowKey);
|
|
325
|
-
if (keyedItem) {
|
|
326
|
-
items.push(this._consumeRowDrafts(rowKey, keyedItem.item));
|
|
327
|
-
} else {
|
|
338
|
+
if (!keyedItem) {
|
|
328
339
|
this._dropRowDrafts(rowKey);
|
|
340
|
+
} else if (this._parent.mutation.isLocalNewRow(rowKey)) {
|
|
341
|
+
this._parent.mutation.commitNewRow(rowKey, this._consumeRowDrafts(rowKey, keyedItem.item));
|
|
342
|
+
} else {
|
|
343
|
+
items.push(this._consumeRowDrafts(rowKey, keyedItem.item));
|
|
329
344
|
}
|
|
330
345
|
}
|
|
331
346
|
if (items.length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_cellTypes","_utils","builtInCellTypeMap","Map","builtInCellTypes","map","ct","type","CellValueState","constructor","parent","extraCellTypes","_defineProperty2","default","_parent","_extraCellTypes","makeObservable","_pendingCells","observable","_draftCells","_cellTypeMap","computed","clearCells","action","toggleCell","commitHandler","applyBulkRawValues","applyBulkValues","flushDrafts","col","allColumns","cellType","typeConfig","set","id","get","textCellType","resolveCellTypeByColumnId","columnId","getCellDisplayValue","rowKey","pending","_getPendingCell","value","draft","_getDraftCell","column","_columnMap","keyedItem","_getKeyedItem","getValue","item","undefined","getCellValidation","valid","errors","validResult","isCellEditable","resolved","editable","EditComponent","isColumnEditable","setValue","serializeCellValue","serialize","String","cells","changes","cell","clearable","pendingKey","_pendingCellKey","delete","deserialize","push","length","toggleValue","newValue","_applyValue","editingValue","normalized","normalizeOnCommit","key","tryDeserialize","rawValue","error","rawChanges","rowItems","_this$_parent$collect","result","runCellValidation","validation","validate","collection","translate","currentItem","_consumeRowDrafts","mutation","updateItems","Array","from","values","_this$_parent$collect2","exceptRowKey","rowKeys","Set","entry","add","items","_dropRowDrafts","exports"],"sources":["../../../../src/state/EditableTable/CellValueState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport type { CellType, Cell, ValidationResult } from './types';\nimport type { FiltersMap } from '@wix/bex-core';\nimport type { EditableTableState } from './EditableTableState';\nimport {\n builtInCellTypes,\n textCellType,\n} from '../../components/EditableTable/cellTypes';\nimport { runCellValidation, validResult } from './utils';\n\nconst builtInCellTypeMap = new Map<string, CellType>(\n builtInCellTypes.map((ct) => [ct.type, ct]),\n);\n\nexport class CellValueState<T, F extends FiltersMap> {\n /** Pending invalid cell values, keyed by `${itemId}:${colId}`. */\n readonly _pendingCells = new Map<string, { value: any; errors: string[] }>();\n\n /** Valid committed values not yet saved, keyed by `${itemId}:${colId}`.\n * Each row's drafts are flushed as one update when focus leaves the row. */\n readonly _draftCells = new Map<\n string,\n { rowKey: string; columnId: string; value: any }\n >();\n\n private readonly _parent: EditableTableState<T, F>;\n private readonly _extraCellTypes: Map<string, CellType>;\n\n constructor(\n parent: EditableTableState<T, F>,\n extraCellTypes: Map<string, CellType> = new Map(),\n ) {\n this._parent = parent;\n this._extraCellTypes = extraCellTypes;\n\n makeObservable(this, {\n _pendingCells: observable,\n _draftCells: observable,\n _cellTypeMap: computed,\n clearCells: action,\n toggleCell: action,\n commitHandler: action,\n applyBulkRawValues: action,\n applyBulkValues: action,\n flushDrafts: action,\n });\n }\n\n // Cell-type config per column id, from the merged columns (consumer columns\n // plus the columns the wired source adds). A computed so source columns that\n // load after init still get their cell types registered, without a rebuild.\n get _cellTypeMap(): Map<string, CellType> {\n const map = new Map<string, CellType>();\n for (const col of this._parent.allColumns) {\n if (col.cellType === 'custom' && col.typeConfig) {\n map.set(col.id, { type: 'custom', ...col.typeConfig });\n } else {\n map.set(\n col.id,\n builtInCellTypeMap.get(col.cellType) ??\n this._extraCellTypes.get(col.cellType) ??\n textCellType,\n );\n }\n }\n return map;\n }\n\n resolveCellTypeByColumnId(columnId: string): CellType {\n return this._cellTypeMap.get(columnId) ?? textCellType;\n }\n\n getCellDisplayValue(rowKey: string, columnId: string): any {\n const pending = this._getPendingCell(rowKey, columnId);\n if (pending) {\n return pending.value;\n }\n const draft = this._getDraftCell(rowKey, columnId);\n if (draft) {\n return draft.value;\n }\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n return column && keyedItem ? column.getValue(keyedItem.item) : undefined;\n }\n\n getCellValidation(rowKey: string, columnId: string): ValidationResult {\n const pending = this._getPendingCell(rowKey, columnId);\n if (pending) {\n return { valid: false, errors: pending.errors };\n }\n return validResult;\n }\n\n isCellEditable(rowKey: string, columnId: string): boolean {\n const column = this._parent._columnMap.get(columnId);\n if (!column) {\n return false;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n if (resolved.editable === false || !resolved.EditComponent) {\n return false;\n }\n return this.isColumnEditable(rowKey, columnId);\n }\n\n /**\n * Whether `column.editable` permits writing this cell for this row,\n * independent of whether the cell type has an inline EditComponent. Gates\n * bulk/programmatic writes (clear, cut, paste) — narrower than\n * isCellEditable, which also requires an edit UI to exist.\n */\n isColumnEditable(rowKey: string, columnId: string): boolean {\n const column = this._parent._columnMap.get(columnId);\n if (!column?.setValue) {\n return false;\n }\n\n if (typeof column.editable === 'function') {\n const keyedItem = this._parent._getKeyedItem(rowKey);\n return keyedItem ? column.editable(keyedItem.item) : false;\n }\n return column.editable !== false;\n }\n\n /** Serialize a cell value to a string (for clipboard copy/cut). */\n serializeCellValue(rowKey: string, columnId: string): string {\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (!column || !keyedItem) {\n return '';\n }\n const resolved = this.resolveCellTypeByColumnId(column.id);\n const value = this.getCellDisplayValue(rowKey, columnId);\n return resolved.serialize ? resolved.serialize(value) : String(value ?? '');\n }\n\n /** Clear selected cells (Delete/Backspace). Respects cellType.clearable and column.editable. */\n clearCells(cells: Cell[]) {\n const changes: { rowKey: string; columnId: string; value: any }[] = [];\n\n for (const cell of cells) {\n const column = this._parent._columnMap.get(cell.columnId);\n if (!column?.setValue) {\n continue;\n }\n const resolved = this.resolveCellTypeByColumnId(column.id);\n if (resolved.clearable === false) {\n continue;\n }\n if (!this.isColumnEditable(cell.rowKey, cell.columnId)) {\n continue;\n }\n\n const pendingKey = this._pendingCellKey(cell.rowKey, cell.columnId);\n if (pendingKey) {\n this._pendingCells.delete(pendingKey);\n }\n const value = resolved.deserialize ? resolved.deserialize('') : '';\n changes.push({ rowKey: cell.rowKey, columnId: cell.columnId, value });\n }\n\n if (changes.length > 0) {\n this.applyBulkValues(changes);\n }\n }\n\n toggleCell(rowKey: string, columnId: string) {\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (!column?.setValue || !keyedItem) {\n return;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n if (!resolved.toggleValue) {\n return;\n }\n\n const value = this.getCellDisplayValue(rowKey, columnId);\n const newValue = resolved.toggleValue(value);\n this._applyValue(rowKey, columnId, newValue);\n }\n\n /** Commit handler — used as callback for CellInteractionState. */\n commitHandler(editingValue: any, cell: Cell) {\n if (editingValue !== undefined) {\n const resolved = this.resolveCellTypeByColumnId(cell.columnId);\n const normalized = resolved.normalizeOnCommit\n ? resolved.normalizeOnCommit(editingValue)\n : editingValue;\n this._applyValue(cell.rowKey, cell.columnId, normalized);\n }\n }\n\n private _getPendingCell(\n rowKey: string,\n columnId: string,\n ): { value: any; errors: string[] } | undefined {\n const key = this._pendingCellKey(rowKey, columnId);\n return key ? this._pendingCells.get(key) : undefined;\n }\n\n private _getDraftCell(\n rowKey: string,\n columnId: string,\n ): { value: any } | undefined {\n const key = this._pendingCellKey(rowKey, columnId);\n return key ? this._draftCells.get(key) : undefined;\n }\n\n private _pendingCellKey(\n rowKey: string,\n columnId: string,\n ): string | undefined {\n const keyedItem = this._parent._getKeyedItem(rowKey);\n const column = this._parent._columnMap.get(columnId);\n if (!keyedItem || !column) {\n return undefined;\n }\n return `${keyedItem.key}:${column.id}`;\n }\n\n /**\n * Deserialize a raw string to a typed value. Returns an error message\n * if the conversion fails\n */\n tryDeserialize(\n columnId: string,\n rawValue: string,\n ): { value: any; error?: string } {\n const column = this._parent._columnMap.get(columnId);\n if (!column) {\n return { value: rawValue };\n }\n const resolved = this.resolveCellTypeByColumnId(column.id);\n if (!resolved.deserialize) {\n return { value: rawValue };\n }\n try {\n return { value: resolved.deserialize(rawValue) };\n } catch {\n return { value: rawValue, error: 'Value is not compatible' };\n }\n }\n\n /**\n * Deserialize and apply multiple raw string values in bulk.\n * Handles conversion failures by storing them as pending cells.\n */\n applyBulkRawValues(\n rawChanges: { rowKey: string; columnId: string; rawValue: string }[],\n ) {\n const changes: { rowKey: string; columnId: string; value: any }[] = [];\n for (const { rowKey, columnId, rawValue } of rawChanges) {\n const { value, error } = this.tryDeserialize(columnId, rawValue);\n if (error) {\n const pendingKey = this._pendingCellKey(rowKey, columnId);\n if (pendingKey) {\n this._pendingCells.set(pendingKey, { value, errors: [error] });\n }\n } else {\n changes.push({ rowKey, columnId, value });\n }\n }\n this.applyBulkValues(changes);\n }\n\n /**\n * Apply multiple cell values in bulk. Validates per cell, accumulates\n * changes per row, and submits all modified items in a single update.\n * Every mutation path (clear, paste, cut) funnels through here, so\n * checking isColumnEditable here — not just at the call sites — keeps\n * read-only cells protected regardless of entry point.\n */\n applyBulkValues(changes: { rowKey: string; columnId: string; value: any }[]) {\n const rowItems = new Map<string, T>();\n\n for (const { rowKey, columnId, value } of changes) {\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (\n !column?.setValue ||\n !keyedItem ||\n !this.isColumnEditable(rowKey, columnId)\n ) {\n continue;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n const result = runCellValidation(\n value,\n column.validation,\n resolved.validate,\n this._parent.collection?.translate,\n );\n const pendingKey = this._pendingCellKey(rowKey, columnId);\n\n if (result.valid) {\n if (pendingKey) {\n this._pendingCells.delete(pendingKey);\n }\n const currentItem =\n rowItems.get(rowKey) ??\n this._consumeRowDrafts(rowKey, keyedItem.item);\n rowItems.set(rowKey, column.setValue(currentItem, value));\n } else if (pendingKey) {\n this._pendingCells.set(pendingKey, {\n value,\n errors: result.errors ?? [],\n });\n }\n }\n\n this._parent.mutation.updateItems(Array.from(rowItems.values()));\n }\n\n private _applyValue(rowKey: string, columnId: string, value: any) {\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (!column?.setValue || !keyedItem) {\n return;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n const result = runCellValidation(\n value,\n column.validation,\n resolved.validate,\n this._parent.collection?.translate,\n );\n const pendingKey = this._pendingCellKey(rowKey, columnId);\n\n if (result.valid && pendingKey) {\n this._pendingCells.delete(pendingKey);\n this._draftCells.set(pendingKey, {\n rowKey: keyedItem.key,\n columnId: column.id,\n value,\n });\n } else if (pendingKey) {\n this._pendingCells.set(pendingKey, {\n value,\n errors: result.errors ?? [],\n });\n }\n }\n\n flushDrafts(exceptRowKey?: string) {\n const rowKeys = new Set<string>();\n for (const entry of this._draftCells.values()) {\n if (entry.rowKey !== exceptRowKey) {\n rowKeys.add(entry.rowKey);\n }\n }\n\n const items: T[] = [];\n for (const rowKey of rowKeys) {\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (keyedItem) {\n items.push(this._consumeRowDrafts(rowKey, keyedItem.item));\n } else {\n this._dropRowDrafts(rowKey);\n }\n }\n if (items.length > 0) {\n this._parent.mutation.updateItems(items);\n }\n }\n\n private _consumeRowDrafts(rowKey: string, item: T): T {\n for (const [key, entry] of this._draftCells) {\n if (entry.rowKey !== rowKey) {\n continue;\n }\n const column = this._parent._columnMap.get(entry.columnId);\n if (column?.setValue) {\n item = column.setValue(item, entry.value);\n }\n this._draftCells.delete(key);\n }\n return item;\n }\n\n /** Drop a row's draft entries without saving (the row no longer exists). */\n private _dropRowDrafts(rowKey: string) {\n for (const [key, entry] of this._draftCells) {\n if (entry.rowKey === rowKey) {\n this._draftCells.delete(key);\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_cellTypes","_utils","builtInCellTypeMap","Map","builtInCellTypes","map","ct","type","CellValueState","constructor","parent","extraCellTypes","_defineProperty2","default","_parent","_extraCellTypes","makeObservable","_pendingCells","observable","_draftCells","_cellTypeMap","computed","clearCells","action","toggleCell","commitHandler","applyBulkRawValues","applyBulkValues","flushDrafts","col","allColumns","cellType","typeConfig","set","id","get","textCellType","resolveCellTypeByColumnId","columnId","getCellDisplayValue","rowKey","pending","_getPendingCell","value","draft","_getDraftCell","column","_columnMap","keyedItem","_getKeyedItem","getValue","item","undefined","getCellValidation","valid","errors","validResult","isCellEditable","resolved","editable","EditComponent","isColumnEditable","setValue","serializeCellValue","serialize","String","cells","changes","cell","clearable","pendingKey","_pendingCellKey","delete","deserialize","push","length","toggleValue","newValue","_applyValue","editingValue","normalized","normalizeOnCommit","key","tryDeserialize","rawValue","error","rawChanges","rowItems","_this$_parent$collect","result","runCellValidation","validation","validate","collection","translate","mutation","isLocalNewRow","currentItem","_consumeRowDrafts","updateItems","Array","from","values","_this$_parent$collect2","exceptRowKey","rowKeys","Set","entry","add","items","_dropRowDrafts","commitNewRow","exports"],"sources":["../../../../src/state/EditableTable/CellValueState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport type { CellType, Cell, ValidationResult } from './types';\nimport type { FiltersMap } from '@wix/bex-core';\nimport type { EditableTableState } from './EditableTableState';\nimport {\n builtInCellTypes,\n textCellType,\n} from '../../components/EditableTable/cellTypes';\nimport { runCellValidation, validResult } from './utils';\n\nconst builtInCellTypeMap = new Map<string, CellType>(\n builtInCellTypes.map((ct) => [ct.type, ct]),\n);\n\nexport class CellValueState<T, F extends FiltersMap> {\n /** Pending invalid cell values, keyed by `${itemId}:${colId}`. */\n readonly _pendingCells = new Map<string, { value: any; errors: string[] }>();\n\n /** Valid committed values not yet saved, keyed by `${itemId}:${colId}`.\n * Each row's drafts are flushed as one update when focus leaves the row. */\n readonly _draftCells = new Map<\n string,\n { rowKey: string; columnId: string; value: any }\n >();\n\n private readonly _parent: EditableTableState<T, F>;\n private readonly _extraCellTypes: Map<string, CellType>;\n\n constructor(\n parent: EditableTableState<T, F>,\n extraCellTypes: Map<string, CellType> = new Map(),\n ) {\n this._parent = parent;\n this._extraCellTypes = extraCellTypes;\n\n makeObservable(this, {\n _pendingCells: observable,\n _draftCells: observable,\n _cellTypeMap: computed,\n clearCells: action,\n toggleCell: action,\n commitHandler: action,\n applyBulkRawValues: action,\n applyBulkValues: action,\n flushDrafts: action,\n });\n }\n\n // Cell-type config per column id, from the merged columns (consumer columns\n // plus the columns the wired source adds). A computed so source columns that\n // load after init still get their cell types registered, without a rebuild.\n get _cellTypeMap(): Map<string, CellType> {\n const map = new Map<string, CellType>();\n for (const col of this._parent.allColumns) {\n if (col.cellType === 'custom' && col.typeConfig) {\n map.set(col.id, { type: 'custom', ...col.typeConfig });\n } else {\n map.set(\n col.id,\n builtInCellTypeMap.get(col.cellType) ??\n this._extraCellTypes.get(col.cellType) ??\n textCellType,\n );\n }\n }\n return map;\n }\n\n resolveCellTypeByColumnId(columnId: string): CellType {\n return this._cellTypeMap.get(columnId) ?? textCellType;\n }\n\n getCellDisplayValue(rowKey: string, columnId: string): any {\n const pending = this._getPendingCell(rowKey, columnId);\n if (pending) {\n return pending.value;\n }\n const draft = this._getDraftCell(rowKey, columnId);\n if (draft) {\n return draft.value;\n }\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n return column && keyedItem ? column.getValue(keyedItem.item) : undefined;\n }\n\n getCellValidation(rowKey: string, columnId: string): ValidationResult {\n const pending = this._getPendingCell(rowKey, columnId);\n if (pending) {\n return { valid: false, errors: pending.errors };\n }\n return validResult;\n }\n\n isCellEditable(rowKey: string, columnId: string): boolean {\n const column = this._parent._columnMap.get(columnId);\n if (!column) {\n return false;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n if (resolved.editable === false || !resolved.EditComponent) {\n return false;\n }\n return this.isColumnEditable(rowKey, columnId);\n }\n\n /**\n * Whether `column.editable` permits writing this cell for this row,\n * independent of whether the cell type has an inline EditComponent. Gates\n * bulk/programmatic writes (clear, cut, paste) — narrower than\n * isCellEditable, which also requires an edit UI to exist.\n */\n isColumnEditable(rowKey: string, columnId: string): boolean {\n const column = this._parent._columnMap.get(columnId);\n if (!column?.setValue) {\n return false;\n }\n\n if (typeof column.editable === 'function') {\n const keyedItem = this._parent._getKeyedItem(rowKey);\n return keyedItem ? column.editable(keyedItem.item) : false;\n }\n return column.editable !== false;\n }\n\n /** Serialize a cell value to a string (for clipboard copy/cut). */\n serializeCellValue(rowKey: string, columnId: string): string {\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (!column || !keyedItem) {\n return '';\n }\n const resolved = this.resolveCellTypeByColumnId(column.id);\n const value = this.getCellDisplayValue(rowKey, columnId);\n return resolved.serialize ? resolved.serialize(value) : String(value ?? '');\n }\n\n /** Clear selected cells (Delete/Backspace). Respects cellType.clearable and column.editable. */\n clearCells(cells: Cell[]) {\n const changes: { rowKey: string; columnId: string; value: any }[] = [];\n\n for (const cell of cells) {\n const column = this._parent._columnMap.get(cell.columnId);\n if (!column?.setValue) {\n continue;\n }\n const resolved = this.resolveCellTypeByColumnId(column.id);\n if (resolved.clearable === false) {\n continue;\n }\n if (!this.isColumnEditable(cell.rowKey, cell.columnId)) {\n continue;\n }\n\n const pendingKey = this._pendingCellKey(cell.rowKey, cell.columnId);\n if (pendingKey) {\n this._pendingCells.delete(pendingKey);\n }\n const value = resolved.deserialize ? resolved.deserialize('') : '';\n changes.push({ rowKey: cell.rowKey, columnId: cell.columnId, value });\n }\n\n if (changes.length > 0) {\n this.applyBulkValues(changes);\n }\n }\n\n toggleCell(rowKey: string, columnId: string) {\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (!column?.setValue || !keyedItem) {\n return;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n if (!resolved.toggleValue) {\n return;\n }\n\n const value = this.getCellDisplayValue(rowKey, columnId);\n const newValue = resolved.toggleValue(value);\n this._applyValue(rowKey, columnId, newValue);\n }\n\n /** Commit handler — used as callback for CellInteractionState. */\n commitHandler(editingValue: any, cell: Cell) {\n if (editingValue !== undefined) {\n const resolved = this.resolveCellTypeByColumnId(cell.columnId);\n const normalized = resolved.normalizeOnCommit\n ? resolved.normalizeOnCommit(editingValue)\n : editingValue;\n this._applyValue(cell.rowKey, cell.columnId, normalized);\n }\n }\n\n private _getPendingCell(\n rowKey: string,\n columnId: string,\n ): { value: any; errors: string[] } | undefined {\n const key = this._pendingCellKey(rowKey, columnId);\n return key ? this._pendingCells.get(key) : undefined;\n }\n\n private _getDraftCell(\n rowKey: string,\n columnId: string,\n ): { value: any } | undefined {\n const key = this._pendingCellKey(rowKey, columnId);\n return key ? this._draftCells.get(key) : undefined;\n }\n\n private _pendingCellKey(\n rowKey: string,\n columnId: string,\n ): string | undefined {\n const keyedItem = this._parent._getKeyedItem(rowKey);\n const column = this._parent._columnMap.get(columnId);\n if (!keyedItem || !column) {\n return undefined;\n }\n return `${keyedItem.key}:${column.id}`;\n }\n\n /**\n * Deserialize a raw string to a typed value. Returns an error message\n * if the conversion fails\n */\n tryDeserialize(\n columnId: string,\n rawValue: string,\n ): { value: any; error?: string } {\n const column = this._parent._columnMap.get(columnId);\n if (!column) {\n return { value: rawValue };\n }\n const resolved = this.resolveCellTypeByColumnId(column.id);\n if (!resolved.deserialize) {\n return { value: rawValue };\n }\n try {\n return { value: resolved.deserialize(rawValue) };\n } catch {\n return { value: rawValue, error: 'Value is not compatible' };\n }\n }\n\n /**\n * Deserialize and apply multiple raw string values in bulk.\n * Handles conversion failures by storing them as pending cells.\n */\n applyBulkRawValues(\n rawChanges: { rowKey: string; columnId: string; rawValue: string }[],\n ) {\n const changes: { rowKey: string; columnId: string; value: any }[] = [];\n for (const { rowKey, columnId, rawValue } of rawChanges) {\n const { value, error } = this.tryDeserialize(columnId, rawValue);\n if (error) {\n const pendingKey = this._pendingCellKey(rowKey, columnId);\n if (pendingKey) {\n this._pendingCells.set(pendingKey, { value, errors: [error] });\n }\n } else {\n changes.push({ rowKey, columnId, value });\n }\n }\n this.applyBulkValues(changes);\n }\n\n /**\n * Apply multiple cell values in bulk. Validates per cell, accumulates\n * changes per row, and submits all modified items in a single update.\n * Every mutation path (clear, paste, cut) funnels through here, so\n * checking isColumnEditable here — not just at the call sites — keeps\n * read-only cells protected regardless of entry point.\n */\n applyBulkValues(changes: { rowKey: string; columnId: string; value: any }[]) {\n const rowItems = new Map<string, T>();\n\n for (const { rowKey, columnId, value } of changes) {\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (\n !column?.setValue ||\n !keyedItem ||\n !this.isColumnEditable(rowKey, columnId)\n ) {\n continue;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n const result = runCellValidation(\n value,\n column.validation,\n resolved.validate,\n this._parent.collection?.translate,\n );\n const pendingKey = this._pendingCellKey(rowKey, columnId);\n\n if (result.valid) {\n if (pendingKey) {\n this._pendingCells.delete(pendingKey);\n }\n if (this._parent.mutation.isLocalNewRow(rowKey)) {\n // A row not created on the server yet can't take an update —\n // buffer the value as a draft; it goes out with the row's\n // create when focus leaves the row.\n if (pendingKey) {\n this._draftCells.set(pendingKey, {\n rowKey: keyedItem.key,\n columnId: column.id,\n value,\n });\n }\n continue;\n }\n const currentItem =\n rowItems.get(rowKey) ??\n this._consumeRowDrafts(rowKey, keyedItem.item);\n rowItems.set(rowKey, column.setValue(currentItem, value));\n } else if (pendingKey) {\n this._pendingCells.set(pendingKey, {\n value,\n errors: result.errors ?? [],\n });\n }\n }\n\n this._parent.mutation.updateItems(Array.from(rowItems.values()));\n }\n\n private _applyValue(rowKey: string, columnId: string, value: any) {\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (!column?.setValue || !keyedItem) {\n return;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n const result = runCellValidation(\n value,\n column.validation,\n resolved.validate,\n this._parent.collection?.translate,\n );\n const pendingKey = this._pendingCellKey(rowKey, columnId);\n\n if (result.valid && pendingKey) {\n this._pendingCells.delete(pendingKey);\n this._draftCells.set(pendingKey, {\n rowKey: keyedItem.key,\n columnId: column.id,\n value,\n });\n } else if (pendingKey) {\n this._pendingCells.set(pendingKey, {\n value,\n errors: result.errors ?? [],\n });\n }\n }\n\n flushDrafts(exceptRowKey?: string) {\n const rowKeys = new Set<string>();\n for (const entry of this._draftCells.values()) {\n if (entry.rowKey !== exceptRowKey) {\n rowKeys.add(entry.rowKey);\n }\n }\n\n const items: T[] = [];\n for (const rowKey of rowKeys) {\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (!keyedItem) {\n this._dropRowDrafts(rowKey);\n } else if (this._parent.mutation.isLocalNewRow(rowKey)) {\n this._parent.mutation.commitNewRow(\n rowKey,\n this._consumeRowDrafts(rowKey, keyedItem.item),\n );\n } else {\n items.push(this._consumeRowDrafts(rowKey, keyedItem.item));\n }\n }\n if (items.length > 0) {\n this._parent.mutation.updateItems(items);\n }\n }\n\n private _consumeRowDrafts(rowKey: string, item: T): T {\n for (const [key, entry] of this._draftCells) {\n if (entry.rowKey !== rowKey) {\n continue;\n }\n const column = this._parent._columnMap.get(entry.columnId);\n if (column?.setValue) {\n item = column.setValue(item, entry.value);\n }\n this._draftCells.delete(key);\n }\n return item;\n }\n\n /** Drop a row's draft entries without saving (the row no longer exists). */\n private _dropRowDrafts(rowKey: string) {\n for (const [key, entry] of this._draftCells) {\n if (entry.rowKey === rowKey) {\n this._draftCells.delete(key);\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -13,6 +13,25 @@ var _CellValueState = require("./CellValueState");
|
|
|
13
13
|
var _ClipboardState = require("./ClipboardState");
|
|
14
14
|
var _MutationState = require("./MutationState");
|
|
15
15
|
var _buildEditableFieldColumns = require("../buildEditableFieldColumns");
|
|
16
|
+
/**
|
|
17
|
+
* Draft rows (added locally, not yet created on the server) are not part of
|
|
18
|
+
* the collection result. This TableState merges them into the rendered list,
|
|
19
|
+
* so everything that renders rows — the WDS table and the virtualizer — sees
|
|
20
|
+
* them, and a table whose only rows are drafts does not show the empty state.
|
|
21
|
+
*/
|
|
22
|
+
class TableStateWithDraftRows extends _TableState.TableState {
|
|
23
|
+
constructor(params, mergeDraftRows) {
|
|
24
|
+
super(params);
|
|
25
|
+
(0, _defineProperty2.default)(this, "_mergeDraftRows", void 0);
|
|
26
|
+
this._mergeDraftRows = mergeDraftRows;
|
|
27
|
+
}
|
|
28
|
+
get keyedItems() {
|
|
29
|
+
return this._mergeDraftRows(this.collection.result.keyedItems);
|
|
30
|
+
}
|
|
31
|
+
get showEmptyState() {
|
|
32
|
+
return this.toolbar.multi.showEmptyState && this.keyedItems.length === 0;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
16
35
|
class EditableTableState {
|
|
17
36
|
constructor(params) {
|
|
18
37
|
var _params$extraCellType;
|
|
@@ -54,11 +73,11 @@ class EditableTableState {
|
|
|
54
73
|
container: params.container,
|
|
55
74
|
componentType: 'EditableTable'
|
|
56
75
|
});
|
|
57
|
-
this.tableState = new
|
|
76
|
+
this.tableState = new TableStateWithDraftRows({
|
|
58
77
|
collection: params.collection,
|
|
59
78
|
container: params.container,
|
|
60
79
|
toolbar: this.toolbar
|
|
61
|
-
});
|
|
80
|
+
}, keyedItems => this.mutation._mergeDraftRows(keyedItems));
|
|
62
81
|
this.cellValue = new _CellValueState.CellValueState(this, new Map((_params$extraCellType = params.extraCellTypes) == null ? void 0 : _params$extraCellType.map(ct => [ct.type, ct])));
|
|
63
82
|
this.cellInteraction = new _CellInteractionState.CellInteractionState((editingValue, cell) => {
|
|
64
83
|
this.cellValue.commitHandler(editingValue, cell);
|
|
@@ -147,7 +166,8 @@ class EditableTableState {
|
|
|
147
166
|
return new Map(this.allColumns.map(c => [c.id, c]));
|
|
148
167
|
}
|
|
149
168
|
_getKeyedItem(key) {
|
|
150
|
-
|
|
169
|
+
// Draft rows are not in the collection — fall back to the merged list.
|
|
170
|
+
return this.collection.getKeyedItem(key) ?? this.keyedItems.find(ki => ki.key === key);
|
|
151
171
|
}
|
|
152
172
|
_toIndices(pos) {
|
|
153
173
|
const row = this.keyedItems.findIndex(ki => ki.key === pos.rowKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_bexCore","_ToolbarCollectionState","_TableState","_CellInteractionState","_CellValueState","_ClipboardState","_MutationState","_buildEditableFieldColumns","EditableTableState","constructor","params","_params$extraCellType","_defineProperty2","default","ConditionalModalState","undefined","items","tableState","onAddItemActionComplete","origin","toolbar","toolbarBIReporter","onAddItemClick","columnId","forceDirection","multiple","collection","sort","id","clearResult","ToolbarCollectionState","container","componentType","TableState","cellValue","CellValueState","Map","extraCellTypes","map","ct","type","cellInteraction","CellInteractionState","editingValue","cell","commitHandler","clipboard","ClipboardState","mutation","MutationState","mutations","createOptimisticActions","makeObservable","addItemDisabled","observable","updateItemDisabled","removeItemDisabled","multiDeleteDisabled","isRemoveItemDisabled","ref","setPermissions","action","_providedColumns","editableColumns","computed","sourceColumns","allColumns","_columnMap","init","confirmDeleteItems","permissions","isRowDeleteDisabled","rowKey","keyed","_getKeyedItem","item","disabled","rowDeleteDisabledReason","result","reason","isMultiDeleteDisabled","rowKeys","some","key","keyedItems","visibleColumns","itemsToRenderCount","source","collectionFieldsSource","initTask","status","isSuccess","buildEditableFieldColumns","fieldsSource","editableCellFor","c","getKeyedItem","_toIndices","pos","row","findIndex","ki","col","_toPosition","visibleIds","length","find","filter","columns","disposeMutation","flushDrafts","addItem","afterItemKey","duplicateItem","deleteItems","deletableRowKeys","translate","t","deleteConfirmModal","open","theme","title","content","primaryButtonText","secondaryButtonText","primaryButtonOnClick","resolveCellTypeByColumnId","getCellDisplayValue","getCellValidation","isCellEditable","isColumnEditable","clearCells","cells","handleCellClick","shiftKey","isEditing","isCellEditing","commitEdit","get","res","editOnClick","val","focusCell","startEdit","column","resolved","toggleValue","showEditWhenFocused","value","selectionAnchor","selectRange","handleCellDoubleClick","exports"],"sources":["../../../../src/state/EditableTable/EditableTableState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport {\n CollectionOptimisticActions,\n CollectionState,\n ConditionalModalState,\n FiltersMap,\n SortOrder,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport type { MessageModalLayoutProps } from '@wix/design-system';\nimport type { KeyedItem, RemoveItemDisabledResult } from '@wix/bex-core';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { TableState } from '../TableState';\nimport { ICollectionComponentState } from '../ICollectionComponentState';\nimport { CellInteractionState } from './CellInteractionState';\nimport { CellValueState } from './CellValueState';\nimport { ClipboardState } from './ClipboardState';\nimport { MutationState } from './MutationState';\nimport type { EditableTableMutationHandlers } from './MutationState';\nimport type { Cell, CellType, EditableColumn, ValidationResult } from './types';\nimport { buildEditableFieldColumns } from '../buildEditableFieldColumns';\n\nexport type { RemoveItemDisabledResult } from '@wix/bex-core';\n\nexport interface EditableTablePermissions<T = unknown> {\n addItemDisabled?: boolean;\n updateItemDisabled?: boolean;\n removeItemDisabled?: boolean;\n /** Deleting several rows in one operation. Absent = follows `removeItemDisabled`. */\n multiDeleteDisabled?: boolean;\n /** Per-item refinement of `removeItemDisabled`: disables deleting an item\n * even though deleting is generally allowed, optionally with a reason.\n * Must be pure and synchronous. Absent = all items deletable. */\n isRemoveItemDisabled?: (item: T) => RemoveItemDisabledResult;\n}\n\nexport interface EditableTableStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T, F>;\n readonly permissions?: EditableTablePermissions<T>;\n readonly mutations: EditableTableMutationHandlers<T>;\n readonly createOptimisticActions: (\n collection: CollectionState<T, F>,\n ) => CollectionOptimisticActions<T, F>;\n /**\n * Additional cell types to register alongside the built-in ones.\n * Augment `CellTypeConfigMap` to use these types on `EditableColumn.cellType`.\n */\n readonly extraCellTypes?: CellType[];\n}\n\nexport interface EditableTableStatePublicAPI<T, F extends FiltersMap> {\n /** Underlying CollectionState instance */\n readonly collection: CollectionState<T, F>;\n /** Underlying ToolbarCollectionState instance */\n readonly toolbar: ToolbarCollectionState<T, F>;\n /** Reset active filters & sorting and adds new items to the collection */\n onAddItemActionComplete(items: T[]): void;\n /** Sort by column */\n sort: (\n columnId: string,\n params?: { forceDirection?: SortOrder; multiple?: boolean },\n ) => void;\n /** Replace all permission flags and the per-item delete predicate */\n setPermissions(permissions: EditableTablePermissions<T>): void;\n /** Whether deleting the given row is disabled (user-level or per-item) */\n isRowDeleteDisabled(rowKey: string): boolean;\n /** The reason the given row cannot be deleted, when the per-item predicate\n * returned one. `undefined` when the row is deletable or no reason was given. */\n rowDeleteDisabledReason(rowKey: string): string | undefined;\n /** Whether deleting the given rows in one operation is disabled */\n isMultiDeleteDisabled(rowKeys: string[]): boolean;\n}\n\nexport class EditableTableState<T, F extends FiltersMap>\n implements ICollectionComponentState, EditableTableStatePublicAPI<T, F>\n{\n readonly toolbar: ToolbarCollectionState<T, F>;\n readonly tableState: TableState<T, F>;\n\n readonly cellInteraction: CellInteractionState<T, F>;\n readonly cellValue: CellValueState<T, F>;\n readonly clipboard: ClipboardState<T, F>;\n readonly mutation: MutationState<T, F>;\n readonly deleteConfirmModal = new ConditionalModalState<\n Partial<MessageModalLayoutProps>\n >();\n\n addItemDisabled = false;\n updateItemDisabled = false;\n removeItemDisabled = false;\n multiDeleteDisabled = false;\n // Needs an explicit initializer: a declaration-only field is erased at\n // compile time, and makeObservable throws on a property that doesn't exist.\n isRemoveItemDisabled?: (item: T) => RemoveItemDisabledResult = undefined;\n\n _providedColumns: EditableColumn<T>[] = [];\n\n constructor(params: EditableTableStateParams<T, F>) {\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.collection,\n container: params.container,\n componentType: 'EditableTable',\n });\n\n this.tableState = new TableState({\n collection: params.collection,\n container: params.container,\n toolbar: this.toolbar,\n });\n\n this.cellValue = new CellValueState<T, F>(\n this,\n new Map(params.extraCellTypes?.map((ct) => [ct.type, ct])),\n );\n\n this.cellInteraction = new CellInteractionState<T, F>(\n (editingValue, cell) => {\n this.cellValue.commitHandler(editingValue, cell);\n },\n this,\n );\n this.clipboard = new ClipboardState<T, F>(this);\n this.mutation = new MutationState<T, F>(\n this,\n params.mutations,\n params.createOptimisticActions,\n );\n makeObservable(this, {\n addItemDisabled: observable,\n updateItemDisabled: observable,\n removeItemDisabled: observable,\n multiDeleteDisabled: observable,\n isRemoveItemDisabled: observable.ref,\n setPermissions: action,\n _providedColumns: observable.ref,\n editableColumns: computed,\n sourceColumns: computed,\n allColumns: computed,\n _columnMap: computed,\n init: action,\n confirmDeleteItems: action,\n });\n\n this.setPermissions(params.permissions ?? {});\n }\n\n setPermissions(permissions: EditableTablePermissions<T>) {\n this.addItemDisabled = permissions.addItemDisabled ?? false;\n this.updateItemDisabled = permissions.updateItemDisabled ?? false;\n this.removeItemDisabled = permissions.removeItemDisabled ?? false;\n this.multiDeleteDisabled =\n permissions.multiDeleteDisabled ?? this.removeItemDisabled;\n this.isRemoveItemDisabled = permissions.isRemoveItemDisabled;\n }\n\n isRowDeleteDisabled(rowKey: string): boolean {\n if (this.removeItemDisabled) {\n return true;\n }\n if (!this.isRemoveItemDisabled) {\n return false;\n }\n const keyed = this._getKeyedItem(rowKey);\n return keyed ? this.isRemoveItemDisabled(keyed.item).disabled : false;\n }\n\n rowDeleteDisabledReason(rowKey: string): string | undefined {\n if (!this.isRemoveItemDisabled) {\n return undefined;\n }\n const keyed = this._getKeyedItem(rowKey);\n const result = keyed ? this.isRemoveItemDisabled(keyed.item) : undefined;\n return result?.disabled ? result.reason : undefined;\n }\n\n isMultiDeleteDisabled(rowKeys: string[]): boolean {\n if (this.multiDeleteDisabled) {\n return true;\n }\n return rowKeys.some((key) => this.isRowDeleteDisabled(key));\n }\n\n get collection() {\n return this.tableState.collection;\n }\n\n get keyedItems() {\n return this.tableState.keyedItems;\n }\n\n get visibleColumns() {\n return this.tableState.visibleColumns;\n }\n\n get itemsToRenderCount() {\n return this.tableState.itemsToRenderCount;\n }\n\n /** Editable columns built from the wired fields source, once it loads. */\n get sourceColumns(): EditableColumn<T>[] {\n const source = this.toolbar.collectionFieldsSource;\n if (!source || !source.initTask.status.isSuccess) {\n return [];\n }\n return buildEditableFieldColumns(\n source.fieldsSource,\n source.editableCellFor,\n ) as EditableColumn<T>[];\n }\n\n /**\n * Consumer columns plus the columns built from the fields source, merged the\n * same way the toolbar merges its columns (ToolbarCollectionState.columns).\n * Consumer and source columns are expected to be disjoint by id.\n */\n get allColumns(): EditableColumn<T>[] {\n return [...this._providedColumns, ...this.sourceColumns];\n }\n\n get _columnMap(): Map<string, EditableColumn<T>> {\n return new Map(this.allColumns.map((c) => [c.id, c]));\n }\n\n _getKeyedItem(key: string): KeyedItem<T> | undefined | null {\n return this.collection.getKeyedItem(key);\n }\n\n _toIndices(pos: Cell): { row: number; col: number } | null {\n const row = this.keyedItems.findIndex((ki) => ki.key === pos.rowKey);\n const col = this.editableColumns.findIndex((c) => c.id === pos.columnId);\n return row === -1 || col === -1 ? null : { row, col };\n }\n\n _toPosition(row: number, col: number): Cell | null {\n const ki = this.keyedItems[row];\n const c = this.editableColumns[col];\n return ki && c ? { rowKey: ki.key, columnId: c.id } : null;\n }\n\n onAddItemActionComplete = (items: T[]) => {\n return this.tableState.onAddItemActionComplete(items);\n };\n\n onAddItemClick = (origin?: string) => {\n this.toolbar.toolbarBIReporter.onAddItemClick(origin);\n };\n\n get editableColumns(): EditableColumn<T>[] {\n const visibleIds = this.visibleColumns.map((c) => c.id);\n if (!visibleIds.length) {\n return this.allColumns;\n }\n return visibleIds\n .map((id) => this.allColumns.find((c) => c.id === id))\n .filter((c): c is EditableColumn<T> => c !== undefined);\n }\n\n init(columns: EditableColumn<T>[]) {\n this._providedColumns = columns;\n const disposeMutation = this.mutation.init();\n return () => {\n this.cellValue.flushDrafts();\n disposeMutation();\n };\n }\n\n addItem(afterItemKey?: string): string {\n return this.mutation.addItem(afterItemKey);\n }\n\n duplicateItem(rowKey: string) {\n this.mutation.duplicateItem(rowKey);\n }\n\n deleteItems(rowKeys: string[]) {\n this.mutation.deleteItems(rowKeys);\n }\n\n confirmDeleteItems(rowKeys: string[]) {\n // The context menu disables blocked deletes; this filter is the barrier\n // for callers that bypass the UI gate.\n const deletableRowKeys = rowKeys.filter(\n (key) => !this.isRowDeleteDisabled(key),\n );\n if (!deletableRowKeys.length) {\n return;\n }\n const { translate: t } = this.collection;\n this.deleteConfirmModal.open({\n theme: 'destructive',\n title: t('cairo.deleteModal.title'),\n content: t('cairo.deleteModal.body'),\n primaryButtonText: t('cairo.delete.button'),\n secondaryButtonText: t('cairo.cancel.button'),\n primaryButtonOnClick: () => {\n this.deleteItems(deletableRowKeys);\n },\n });\n }\n\n resolveCellTypeByColumnId(columnId: string) {\n return this.cellValue.resolveCellTypeByColumnId(columnId);\n }\n\n getCellDisplayValue(rowKey: string, columnId: string): any {\n return this.cellValue.getCellDisplayValue(rowKey, columnId);\n }\n\n getCellValidation(rowKey: string, columnId: string): ValidationResult {\n return this.cellValue.getCellValidation(rowKey, columnId);\n }\n\n isCellEditable(rowKey: string, columnId: string): boolean {\n return this.cellValue.isCellEditable(rowKey, columnId);\n }\n\n isColumnEditable(rowKey: string, columnId: string): boolean {\n return this.cellValue.isColumnEditable(rowKey, columnId);\n }\n\n clearCells(cells: Cell[]) {\n this.cellValue.clearCells(cells);\n }\n\n handleCellClick(rowKey: string, columnId: string, shiftKey: boolean) {\n if (this.cellInteraction.isEditing) {\n if (this.cellInteraction.isCellEditing(rowKey, columnId)) {\n // Click landed inside the active editor — let the editor handle it.\n return;\n }\n // Shift-click while editing: ignore — extending a range selection during\n // an active edit is not a meaningful action.\n if (shiftKey) {\n return;\n }\n // Plain click on a different cell: commit the edit and move focus.\n this.cellInteraction.commitEdit();\n\n // If the target cell wants edit-on-click, enter edit directly.\n const col = this._columnMap.get(columnId);\n const res = col ? this.resolveCellTypeByColumnId(col.id) : null;\n if (res?.editOnClick) {\n const val = this.getCellDisplayValue(rowKey, columnId);\n if (res.editOnClick(val) && this.isCellEditable(rowKey, columnId)) {\n this.cellInteraction.focusCell(rowKey, columnId);\n this.cellInteraction.startEdit(rowKey, columnId, 'click');\n return;\n }\n }\n\n this.cellInteraction.focusCell(rowKey, columnId);\n return;\n }\n\n const column = this._columnMap.get(columnId);\n const resolved = column ? this.resolveCellTypeByColumnId(column.id) : null;\n if (resolved?.toggleValue || resolved?.showEditWhenFocused) {\n // Toggle/showEditWhenFocused cells: click focuses the cell and shows the\n // EditComponent affordance. Keyboard navigation remains active.\n this.cellInteraction.focusCell(rowKey, columnId);\n return;\n }\n\n if (resolved?.editOnClick) {\n const value = this.getCellDisplayValue(rowKey, columnId);\n if (\n resolved.editOnClick(value) &&\n this.isCellEditable(rowKey, columnId)\n ) {\n this.cellInteraction.focusCell(rowKey, columnId);\n this.cellInteraction.startEdit(rowKey, columnId, 'click');\n return;\n }\n }\n\n if (shiftKey && this.cellInteraction.selectionAnchor) {\n this.cellInteraction.selectRange(this.cellInteraction.selectionAnchor, {\n rowKey,\n columnId,\n });\n } else {\n this.cellInteraction.focusCell(rowKey, columnId);\n }\n }\n\n handleCellDoubleClick(rowKey: string, columnId: string) {\n if (this.updateItemDisabled) {\n return;\n }\n const column = this._columnMap.get(columnId);\n const resolved = column ? this.resolveCellTypeByColumnId(column.id) : null;\n // Toggle-value cells (e.g. boolean) activate on single click, not double-click.\n // Entering edit mode on double-click would apply the editing box-shadow\n // without any EditComponent being shown, causing a visual border glitch.\n if (resolved?.toggleValue || resolved?.showEditWhenFocused) {\n return;\n }\n if (this.isCellEditable(rowKey, columnId)) {\n this.cellInteraction.startEdit(rowKey, columnId, 'doubleClick');\n }\n }\n\n sort = (\n columnId: string,\n {\n forceDirection,\n multiple,\n }: { forceDirection?: SortOrder; multiple?: boolean } = {},\n ) => {\n this.collection.sort(\n { id: columnId },\n { forceDirection, clearResult: true, multiple },\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_bexCore","_ToolbarCollectionState","_TableState","_CellInteractionState","_CellValueState","_ClipboardState","_MutationState","_buildEditableFieldColumns","TableStateWithDraftRows","TableState","constructor","params","mergeDraftRows","_defineProperty2","default","_mergeDraftRows","keyedItems","collection","result","showEmptyState","toolbar","multi","length","EditableTableState","_params$extraCellType","ConditionalModalState","undefined","items","tableState","onAddItemActionComplete","origin","toolbarBIReporter","onAddItemClick","columnId","forceDirection","multiple","sort","id","clearResult","ToolbarCollectionState","container","componentType","mutation","cellValue","CellValueState","Map","extraCellTypes","map","ct","type","cellInteraction","CellInteractionState","editingValue","cell","commitHandler","clipboard","ClipboardState","MutationState","mutations","createOptimisticActions","makeObservable","addItemDisabled","observable","updateItemDisabled","removeItemDisabled","multiDeleteDisabled","isRemoveItemDisabled","ref","setPermissions","action","_providedColumns","editableColumns","computed","sourceColumns","allColumns","_columnMap","init","confirmDeleteItems","permissions","isRowDeleteDisabled","rowKey","keyed","_getKeyedItem","item","disabled","rowDeleteDisabledReason","reason","isMultiDeleteDisabled","rowKeys","some","key","visibleColumns","itemsToRenderCount","source","collectionFieldsSource","initTask","status","isSuccess","buildEditableFieldColumns","fieldsSource","editableCellFor","c","getKeyedItem","find","ki","_toIndices","pos","row","findIndex","col","_toPosition","visibleIds","filter","columns","disposeMutation","flushDrafts","addItem","afterItemKey","duplicateItem","deleteItems","deletableRowKeys","translate","t","deleteConfirmModal","open","theme","title","content","primaryButtonText","secondaryButtonText","primaryButtonOnClick","resolveCellTypeByColumnId","getCellDisplayValue","getCellValidation","isCellEditable","isColumnEditable","clearCells","cells","handleCellClick","shiftKey","isEditing","isCellEditing","commitEdit","get","res","editOnClick","val","focusCell","startEdit","column","resolved","toggleValue","showEditWhenFocused","value","selectionAnchor","selectRange","handleCellDoubleClick","exports"],"sources":["../../../../src/state/EditableTable/EditableTableState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport {\n CollectionOptimisticActions,\n CollectionState,\n ConditionalModalState,\n FiltersMap,\n SortOrder,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport type { MessageModalLayoutProps } from '@wix/design-system';\nimport type { KeyedItem, RemoveItemDisabledResult } from '@wix/bex-core';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { TableState } from '../TableState';\nimport type { TableStateParams } from '../TableState';\nimport { ICollectionComponentState } from '../ICollectionComponentState';\nimport { CellInteractionState } from './CellInteractionState';\nimport { CellValueState } from './CellValueState';\nimport { ClipboardState } from './ClipboardState';\nimport { MutationState } from './MutationState';\nimport type { EditableTableMutationHandlers } from './MutationState';\nimport type { Cell, CellType, EditableColumn, ValidationResult } from './types';\nimport { buildEditableFieldColumns } from '../buildEditableFieldColumns';\n\nexport type { RemoveItemDisabledResult } from '@wix/bex-core';\n\nexport interface EditableTablePermissions<T = unknown> {\n addItemDisabled?: boolean;\n updateItemDisabled?: boolean;\n removeItemDisabled?: boolean;\n /** Deleting several rows in one operation. Absent = follows `removeItemDisabled`. */\n multiDeleteDisabled?: boolean;\n /** Per-item refinement of `removeItemDisabled`: disables deleting an item\n * even though deleting is generally allowed, optionally with a reason.\n * Must be pure and synchronous. Absent = all items deletable. */\n isRemoveItemDisabled?: (item: T) => RemoveItemDisabledResult;\n}\n\nexport interface EditableTableStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T, F>;\n readonly permissions?: EditableTablePermissions<T>;\n readonly mutations: EditableTableMutationHandlers<T>;\n readonly createOptimisticActions: (\n collection: CollectionState<T, F>,\n ) => CollectionOptimisticActions<T, F>;\n /**\n * Additional cell types to register alongside the built-in ones.\n * Augment `CellTypeConfigMap` to use these types on `EditableColumn.cellType`.\n */\n readonly extraCellTypes?: CellType[];\n}\n\nexport interface EditableTableStatePublicAPI<T, F extends FiltersMap> {\n /** Underlying CollectionState instance */\n readonly collection: CollectionState<T, F>;\n /** Underlying ToolbarCollectionState instance */\n readonly toolbar: ToolbarCollectionState<T, F>;\n /** Reset active filters & sorting and adds new items to the collection */\n onAddItemActionComplete(items: T[]): void;\n /** Sort by column */\n sort: (\n columnId: string,\n params?: { forceDirection?: SortOrder; multiple?: boolean },\n ) => void;\n /** Replace all permission flags and the per-item delete predicate */\n setPermissions(permissions: EditableTablePermissions<T>): void;\n /** Whether deleting the given row is disabled (user-level or per-item) */\n isRowDeleteDisabled(rowKey: string): boolean;\n /** The reason the given row cannot be deleted, when the per-item predicate\n * returned one. `undefined` when the row is deletable or no reason was given. */\n rowDeleteDisabledReason(rowKey: string): string | undefined;\n /** Whether deleting the given rows in one operation is disabled */\n isMultiDeleteDisabled(rowKeys: string[]): boolean;\n}\n\n/**\n * Draft rows (added locally, not yet created on the server) are not part of\n * the collection result. This TableState merges them into the rendered list,\n * so everything that renders rows — the WDS table and the virtualizer — sees\n * them, and a table whose only rows are drafts does not show the empty state.\n */\nclass TableStateWithDraftRows<T, F extends FiltersMap> extends TableState<\n T,\n F\n> {\n private readonly _mergeDraftRows: (items: KeyedItem<T>[]) => KeyedItem<T>[];\n\n constructor(\n params: TableStateParams<T, F>,\n mergeDraftRows: (items: KeyedItem<T>[]) => KeyedItem<T>[],\n ) {\n super(params);\n this._mergeDraftRows = mergeDraftRows;\n }\n\n get keyedItems() {\n return this._mergeDraftRows(this.collection.result.keyedItems);\n }\n\n get showEmptyState() {\n return this.toolbar.multi.showEmptyState && this.keyedItems.length === 0;\n }\n}\n\nexport class EditableTableState<T, F extends FiltersMap>\n implements ICollectionComponentState, EditableTableStatePublicAPI<T, F>\n{\n readonly toolbar: ToolbarCollectionState<T, F>;\n readonly tableState: TableState<T, F>;\n\n readonly cellInteraction: CellInteractionState<T, F>;\n readonly cellValue: CellValueState<T, F>;\n readonly clipboard: ClipboardState<T, F>;\n readonly mutation: MutationState<T, F>;\n readonly deleteConfirmModal = new ConditionalModalState<\n Partial<MessageModalLayoutProps>\n >();\n\n addItemDisabled = false;\n updateItemDisabled = false;\n removeItemDisabled = false;\n multiDeleteDisabled = false;\n // Needs an explicit initializer: a declaration-only field is erased at\n // compile time, and makeObservable throws on a property that doesn't exist.\n isRemoveItemDisabled?: (item: T) => RemoveItemDisabledResult = undefined;\n\n _providedColumns: EditableColumn<T>[] = [];\n\n constructor(params: EditableTableStateParams<T, F>) {\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.collection,\n container: params.container,\n componentType: 'EditableTable',\n });\n\n this.tableState = new TableStateWithDraftRows(\n {\n collection: params.collection,\n container: params.container,\n toolbar: this.toolbar,\n },\n (keyedItems) => this.mutation._mergeDraftRows(keyedItems),\n );\n\n this.cellValue = new CellValueState<T, F>(\n this,\n new Map(params.extraCellTypes?.map((ct) => [ct.type, ct])),\n );\n\n this.cellInteraction = new CellInteractionState<T, F>(\n (editingValue, cell) => {\n this.cellValue.commitHandler(editingValue, cell);\n },\n this,\n );\n this.clipboard = new ClipboardState<T, F>(this);\n this.mutation = new MutationState<T, F>(\n this,\n params.mutations,\n params.createOptimisticActions,\n );\n makeObservable(this, {\n addItemDisabled: observable,\n updateItemDisabled: observable,\n removeItemDisabled: observable,\n multiDeleteDisabled: observable,\n isRemoveItemDisabled: observable.ref,\n setPermissions: action,\n _providedColumns: observable.ref,\n editableColumns: computed,\n sourceColumns: computed,\n allColumns: computed,\n _columnMap: computed,\n init: action,\n confirmDeleteItems: action,\n });\n\n this.setPermissions(params.permissions ?? {});\n }\n\n setPermissions(permissions: EditableTablePermissions<T>) {\n this.addItemDisabled = permissions.addItemDisabled ?? false;\n this.updateItemDisabled = permissions.updateItemDisabled ?? false;\n this.removeItemDisabled = permissions.removeItemDisabled ?? false;\n this.multiDeleteDisabled =\n permissions.multiDeleteDisabled ?? this.removeItemDisabled;\n this.isRemoveItemDisabled = permissions.isRemoveItemDisabled;\n }\n\n isRowDeleteDisabled(rowKey: string): boolean {\n if (this.removeItemDisabled) {\n return true;\n }\n if (!this.isRemoveItemDisabled) {\n return false;\n }\n const keyed = this._getKeyedItem(rowKey);\n return keyed ? this.isRemoveItemDisabled(keyed.item).disabled : false;\n }\n\n rowDeleteDisabledReason(rowKey: string): string | undefined {\n if (!this.isRemoveItemDisabled) {\n return undefined;\n }\n const keyed = this._getKeyedItem(rowKey);\n const result = keyed ? this.isRemoveItemDisabled(keyed.item) : undefined;\n return result?.disabled ? result.reason : undefined;\n }\n\n isMultiDeleteDisabled(rowKeys: string[]): boolean {\n if (this.multiDeleteDisabled) {\n return true;\n }\n return rowKeys.some((key) => this.isRowDeleteDisabled(key));\n }\n\n get collection() {\n return this.tableState.collection;\n }\n\n get keyedItems() {\n return this.tableState.keyedItems;\n }\n\n get visibleColumns() {\n return this.tableState.visibleColumns;\n }\n\n get itemsToRenderCount() {\n return this.tableState.itemsToRenderCount;\n }\n\n /** Editable columns built from the wired fields source, once it loads. */\n get sourceColumns(): EditableColumn<T>[] {\n const source = this.toolbar.collectionFieldsSource;\n if (!source || !source.initTask.status.isSuccess) {\n return [];\n }\n return buildEditableFieldColumns(\n source.fieldsSource,\n source.editableCellFor,\n ) as EditableColumn<T>[];\n }\n\n /**\n * Consumer columns plus the columns built from the fields source, merged the\n * same way the toolbar merges its columns (ToolbarCollectionState.columns).\n * Consumer and source columns are expected to be disjoint by id.\n */\n get allColumns(): EditableColumn<T>[] {\n return [...this._providedColumns, ...this.sourceColumns];\n }\n\n get _columnMap(): Map<string, EditableColumn<T>> {\n return new Map(this.allColumns.map((c) => [c.id, c]));\n }\n\n _getKeyedItem(key: string): KeyedItem<T> | undefined | null {\n // Draft rows are not in the collection — fall back to the merged list.\n return (\n this.collection.getKeyedItem(key) ??\n this.keyedItems.find((ki) => ki.key === key)\n );\n }\n\n _toIndices(pos: Cell): { row: number; col: number } | null {\n const row = this.keyedItems.findIndex((ki) => ki.key === pos.rowKey);\n const col = this.editableColumns.findIndex((c) => c.id === pos.columnId);\n return row === -1 || col === -1 ? null : { row, col };\n }\n\n _toPosition(row: number, col: number): Cell | null {\n const ki = this.keyedItems[row];\n const c = this.editableColumns[col];\n return ki && c ? { rowKey: ki.key, columnId: c.id } : null;\n }\n\n onAddItemActionComplete = (items: T[]) => {\n return this.tableState.onAddItemActionComplete(items);\n };\n\n onAddItemClick = (origin?: string) => {\n this.toolbar.toolbarBIReporter.onAddItemClick(origin);\n };\n\n get editableColumns(): EditableColumn<T>[] {\n const visibleIds = this.visibleColumns.map((c) => c.id);\n if (!visibleIds.length) {\n return this.allColumns;\n }\n return visibleIds\n .map((id) => this.allColumns.find((c) => c.id === id))\n .filter((c): c is EditableColumn<T> => c !== undefined);\n }\n\n init(columns: EditableColumn<T>[]) {\n this._providedColumns = columns;\n const disposeMutation = this.mutation.init();\n return () => {\n this.cellValue.flushDrafts();\n disposeMutation();\n };\n }\n\n addItem(afterItemKey?: string): string {\n return this.mutation.addItem(afterItemKey);\n }\n\n duplicateItem(rowKey: string) {\n this.mutation.duplicateItem(rowKey);\n }\n\n deleteItems(rowKeys: string[]) {\n this.mutation.deleteItems(rowKeys);\n }\n\n confirmDeleteItems(rowKeys: string[]) {\n // The context menu disables blocked deletes; this filter is the barrier\n // for callers that bypass the UI gate.\n const deletableRowKeys = rowKeys.filter(\n (key) => !this.isRowDeleteDisabled(key),\n );\n if (!deletableRowKeys.length) {\n return;\n }\n const { translate: t } = this.collection;\n this.deleteConfirmModal.open({\n theme: 'destructive',\n title: t('cairo.deleteModal.title'),\n content: t('cairo.deleteModal.body'),\n primaryButtonText: t('cairo.delete.button'),\n secondaryButtonText: t('cairo.cancel.button'),\n primaryButtonOnClick: () => {\n this.deleteItems(deletableRowKeys);\n },\n });\n }\n\n resolveCellTypeByColumnId(columnId: string) {\n return this.cellValue.resolveCellTypeByColumnId(columnId);\n }\n\n getCellDisplayValue(rowKey: string, columnId: string): any {\n return this.cellValue.getCellDisplayValue(rowKey, columnId);\n }\n\n getCellValidation(rowKey: string, columnId: string): ValidationResult {\n return this.cellValue.getCellValidation(rowKey, columnId);\n }\n\n isCellEditable(rowKey: string, columnId: string): boolean {\n return this.cellValue.isCellEditable(rowKey, columnId);\n }\n\n isColumnEditable(rowKey: string, columnId: string): boolean {\n return this.cellValue.isColumnEditable(rowKey, columnId);\n }\n\n clearCells(cells: Cell[]) {\n this.cellValue.clearCells(cells);\n }\n\n handleCellClick(rowKey: string, columnId: string, shiftKey: boolean) {\n if (this.cellInteraction.isEditing) {\n if (this.cellInteraction.isCellEditing(rowKey, columnId)) {\n // Click landed inside the active editor — let the editor handle it.\n return;\n }\n // Shift-click while editing: ignore — extending a range selection during\n // an active edit is not a meaningful action.\n if (shiftKey) {\n return;\n }\n // Plain click on a different cell: commit the edit and move focus.\n this.cellInteraction.commitEdit();\n\n // If the target cell wants edit-on-click, enter edit directly.\n const col = this._columnMap.get(columnId);\n const res = col ? this.resolveCellTypeByColumnId(col.id) : null;\n if (res?.editOnClick) {\n const val = this.getCellDisplayValue(rowKey, columnId);\n if (res.editOnClick(val) && this.isCellEditable(rowKey, columnId)) {\n this.cellInteraction.focusCell(rowKey, columnId);\n this.cellInteraction.startEdit(rowKey, columnId, 'click');\n return;\n }\n }\n\n this.cellInteraction.focusCell(rowKey, columnId);\n return;\n }\n\n const column = this._columnMap.get(columnId);\n const resolved = column ? this.resolveCellTypeByColumnId(column.id) : null;\n if (resolved?.toggleValue || resolved?.showEditWhenFocused) {\n // Toggle/showEditWhenFocused cells: click focuses the cell and shows the\n // EditComponent affordance. Keyboard navigation remains active.\n this.cellInteraction.focusCell(rowKey, columnId);\n return;\n }\n\n if (resolved?.editOnClick) {\n const value = this.getCellDisplayValue(rowKey, columnId);\n if (\n resolved.editOnClick(value) &&\n this.isCellEditable(rowKey, columnId)\n ) {\n this.cellInteraction.focusCell(rowKey, columnId);\n this.cellInteraction.startEdit(rowKey, columnId, 'click');\n return;\n }\n }\n\n if (shiftKey && this.cellInteraction.selectionAnchor) {\n this.cellInteraction.selectRange(this.cellInteraction.selectionAnchor, {\n rowKey,\n columnId,\n });\n } else {\n this.cellInteraction.focusCell(rowKey, columnId);\n }\n }\n\n handleCellDoubleClick(rowKey: string, columnId: string) {\n if (this.updateItemDisabled) {\n return;\n }\n const column = this._columnMap.get(columnId);\n const resolved = column ? this.resolveCellTypeByColumnId(column.id) : null;\n // Toggle-value cells (e.g. boolean) activate on single click, not double-click.\n // Entering edit mode on double-click would apply the editing box-shadow\n // without any EditComponent being shown, causing a visual border glitch.\n if (resolved?.toggleValue || resolved?.showEditWhenFocused) {\n return;\n }\n if (this.isCellEditable(rowKey, columnId)) {\n this.cellInteraction.startEdit(rowKey, columnId, 'doubleClick');\n }\n }\n\n sort = (\n columnId: string,\n {\n forceDirection,\n multiple,\n }: { forceDirection?: SortOrder; multiple?: boolean } = {},\n ) => {\n this.collection.sort(\n { id: columnId },\n { forceDirection, clearResult: true, multiple },\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
|