@wix/patterns 1.374.0 → 1.377.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
- package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
- package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +3 -3
- package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/cjs/components/CustomColumnsPanel/ColumnListTableListItem.js +15 -11
- package/dist/cjs/components/CustomColumnsPanel/ColumnListTableListItem.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.js +14 -11
- package/dist/cjs/components/EditableTable/EditableCell.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableCell.st.css +16 -5
- 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/EditableCell.uni.driver.js +5 -5
- package/dist/cjs/components/EditableTable/EditableCell.uni.driver.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableColumnHeader.uni.driver.js +28 -0
- package/dist/cjs/components/EditableTable/EditableColumnHeader.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/EditableTable.js +29 -7
- package/dist/cjs/components/EditableTable/EditableTable.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableTable.uni.driver.js +8 -2
- package/dist/cjs/components/EditableTable/EditableTable.uni.driver.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableTableContextMenu.js +3 -3
- package/dist/cjs/components/EditableTable/EditableTableContextMenu.js.map +1 -1
- package/dist/cjs/components/EditableTable/HeaderActionsPopover.js +107 -0
- package/dist/cjs/components/EditableTable/HeaderActionsPopover.js.map +1 -0
- package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css +12 -0
- package/dist/cjs/components/EditableTable/{cellTypes/select/View.st.css.js → HeaderActionsPopover.st.css.js} +4 -4
- package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -0
- 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/boolean/Edit.js +4 -2
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.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/date/Edit.js +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.js +5 -1
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/index.js +1 -3
- package/dist/cjs/components/EditableTable/cellTypes/index.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.js +5 -1
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.js +123 -42
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css +9 -0
- 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/SpecificValuesEdit.uni.driver.js +25 -0
- package/dist/cjs/components/EditableTable/cellTypes/text/SpecificValuesEdit.uni.driver.js.map +1 -0
- package/dist/cjs/components/EditableTable/cellTypes/text/View.js +16 -8
- package/dist/cjs/components/EditableTable/cellTypes/text/View.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/text/index.js +11 -4
- package/dist/cjs/components/EditableTable/cellTypes/text/index.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/url/Edit.js +9 -11
- package/dist/cjs/components/EditableTable/cellTypes/url/Edit.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.js +5 -35
- package/dist/cjs/components/EditableTable/cellTypes/url/View.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/cellTypes/url/View.uni.driver.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/url/View.uni.driver.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/url/index.js +19 -1
- package/dist/cjs/components/EditableTable/cellTypes/url/index.js.map +1 -1
- package/dist/cjs/components/EditableTable/headerActionTypes.js +4 -0
- package/dist/cjs/components/EditableTable/headerActionTypes.js.map +1 -0
- package/dist/cjs/components/EditableTable/index.js.map +1 -1
- package/dist/cjs/components/EditableTable/types.js.map +1 -1
- package/dist/cjs/components/EditableTable/useBuiltInHeaderActions.js +109 -0
- package/dist/cjs/components/EditableTable/useBuiltInHeaderActions.js.map +1 -0
- package/dist/cjs/components/EditableTable/useCellFocusAndEditing.js +52 -11
- package/dist/cjs/components/EditableTable/useCellFocusAndEditing.js.map +1 -1
- package/dist/cjs/components/EditableTable/useKeyboardNavigation.js +9 -6
- package/dist/cjs/components/EditableTable/useKeyboardNavigation.js.map +1 -1
- package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
- package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
- package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
- package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
- package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
- package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
- package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- package/dist/cjs/components/OperatorFilterPicker/OperatorFilterPicker.js +5 -6
- package/dist/cjs/components/OperatorFilterPicker/OperatorFilterPicker.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/RequestId/assets/locale/messages_cs.json +1 -1
- package/dist/cjs/components/RequestId/assets/locale/messages_da.json +2 -2
- package/dist/cjs/components/RequestId/assets/locale/messages_de.json +2 -2
- package/dist/cjs/components/RequestId/assets/locale/messages_en.json +2 -2
- package/dist/cjs/components/RequestId/assets/locale/messages_es.json +2 -2
- package/dist/cjs/components/RequestId/assets/locale/messages_hi.json +2 -2
- package/dist/cjs/components/RequestId/assets/locale/messages_id.json +2 -2
- package/dist/cjs/components/RequestId/assets/locale/messages_it.json +1 -1
- package/dist/cjs/components/RequestId/assets/locale/messages_ja.json +1 -1
- package/dist/cjs/components/RequestId/assets/locale/messages_nl.json +2 -2
- package/dist/cjs/components/RequestId/assets/locale/messages_pl.json +1 -1
- package/dist/cjs/components/RequestId/assets/locale/messages_pt.json +1 -1
- package/dist/cjs/components/RequestId/assets/locale/messages_ru.json +2 -2
- package/dist/cjs/components/RequestId/assets/locale/messages_sv.json +1 -1
- package/dist/cjs/components/RequestId/assets/locale/messages_th.json +1 -1
- package/dist/cjs/components/RequestId/assets/locale/messages_tr.json +2 -2
- package/dist/cjs/components/RequestId/assets/locale/messages_uk.json +1 -1
- package/dist/cjs/components/RequestId/assets/locale/messages_zh.json +2 -2
- package/dist/cjs/components/RequestId/assets/locale/version_file +1 -0
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsNotification.js.map +1 -1
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/cjs/components/common.st.css.js +4 -4
- package/dist/cjs/components/common.st.css.js.map +1 -1
- package/dist/cjs/exports/testkit/unidriver.js +5 -1
- package/dist/cjs/exports/testkit/unidriver.js.map +1 -1
- package/dist/cjs/model/tableColumn.js.map +1 -1
- package/dist/cjs/providers/PatternsFieldsProvider.js +37 -0
- package/dist/cjs/providers/PatternsFieldsProvider.js.map +1 -0
- package/dist/cjs/providers/SchemaProvider.js +39 -0
- package/dist/cjs/providers/SchemaProvider.js.map +1 -0
- package/dist/cjs/providers/index.js +12 -0
- package/dist/cjs/providers/index.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/CustomFields/CustomFieldsAllNamespacesFormState.js +2 -2
- package/dist/cjs/state/CustomFields/CustomFieldsAllNamespacesFormState.js.map +1 -1
- package/dist/cjs/state/EditableTable/CellInteractionState.js +19 -7
- package/dist/cjs/state/EditableTable/CellInteractionState.js.map +1 -1
- package/dist/cjs/state/EditableTable/CellValueState.js +28 -11
- package/dist/cjs/state/EditableTable/CellValueState.js.map +1 -1
- package/dist/cjs/state/EditableTable/EditableTableState.js +48 -6
- package/dist/cjs/state/EditableTable/EditableTableState.js.map +1 -1
- package/dist/cjs/state/EditableTable/index.js.map +1 -1
- package/dist/cjs/state/EditableTable/types.js.map +1 -1
- package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
- package/dist/cjs/state/KanbanState/KanbanState.js +6 -2
- package/dist/cjs/state/KanbanState/KanbanState.js.map +1 -1
- package/dist/cjs/styles.global.css +1 -1
- package/dist/cjs/test-utils/CairoTestApp.js +29 -21
- package/dist/cjs/test-utils/CairoTestApp.js.map +1 -1
- package/dist/cjs/types/SchemaConfig.js +4 -0
- package/dist/cjs/types/SchemaConfig.js.map +1 -0
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/docs/AutoCompleteFilter.md +19 -3
- package/dist/docs/CollectionEmptyState.md +2 -2
- package/dist/docs/CollectionNoResultsState.md +2 -2
- package/dist/docs/CollectionPremiumEmptyState.md +2 -2
- package/dist/docs/DateRangeFilter.md +54 -0
- package/dist/docs/MultiSelectCheckboxFilter.md +23 -3
- package/dist/docs/MultiSelectCollectionFilter.md +33 -7
- package/dist/docs/PickerContent.md +24 -0
- package/dist/docs/PickerModal.md +24 -0
- package/dist/docs/SingleSelectFilter.md +19 -4
- package/dist/docs/Table.md +11 -0
- package/dist/docs/TableFolders.md +11 -0
- package/dist/docs/TableGridSwitch.md +10 -0
- package/dist/docs/TableGridSwitchFolders.md +10 -0
- package/dist/docs/index.json +34 -34
- package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
- package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/esm/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/esm/components/CustomColumnsPanel/ColumnListTableListItem.js +4 -4
- package/dist/esm/components/CustomColumnsPanel/ColumnListTableListItem.js.map +1 -1
- package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/components/EditableTable/EditableCell.js +7 -5
- package/dist/esm/components/EditableTable/EditableCell.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableCell.st.css +16 -5
- package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
- package/dist/esm/components/EditableTable/EditableCell.uni.driver.js +3 -3
- package/dist/esm/components/EditableTable/EditableCell.uni.driver.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableColumnHeader.uni.driver.js +24 -0
- package/dist/esm/components/EditableTable/EditableColumnHeader.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/EditableTable.js +9 -3
- package/dist/esm/components/EditableTable/EditableTable.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableTable.uni.driver.js +6 -0
- package/dist/esm/components/EditableTable/EditableTable.uni.driver.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableTableContextMenu.js +1 -1
- package/dist/esm/components/EditableTable/EditableTableContextMenu.js.map +1 -1
- package/dist/esm/components/EditableTable/HeaderActionsPopover.js +33 -0
- package/dist/esm/components/EditableTable/HeaderActionsPopover.js.map +1 -0
- package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css +12 -0
- package/dist/esm/components/EditableTable/{cellTypes/select/View.st.css.js → HeaderActionsPopover.st.css.js} +4 -4
- package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.js +2 -1
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/date/Edit.js +1 -1
- package/dist/esm/components/EditableTable/cellTypes/date/Edit.js.map +1 -1
- 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/email/Edit.js +5 -1
- package/dist/esm/components/EditableTable/cellTypes/email/Edit.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/index.js +1 -3
- package/dist/esm/components/EditableTable/cellTypes/index.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.js +5 -1
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.js +59 -30
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css +9 -0
- 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/SpecificValuesEdit.uni.driver.js +18 -0
- package/dist/esm/components/EditableTable/cellTypes/text/SpecificValuesEdit.uni.driver.js.map +1 -0
- package/dist/esm/components/EditableTable/cellTypes/text/View.js +10 -3
- package/dist/esm/components/EditableTable/cellTypes/text/View.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/text/index.js +7 -1
- package/dist/esm/components/EditableTable/cellTypes/text/index.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/url/Edit.js +3 -3
- package/dist/esm/components/EditableTable/cellTypes/url/Edit.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/View.js +2 -5
- package/dist/esm/components/EditableTable/cellTypes/url/View.js.map +1 -1
- 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/cellTypes/url/View.uni.driver.js +5 -3
- package/dist/esm/components/EditableTable/cellTypes/url/View.uni.driver.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/url/index.js +19 -0
- package/dist/esm/components/EditableTable/cellTypes/url/index.js.map +1 -1
- package/dist/esm/components/EditableTable/headerActionTypes.js +2 -0
- package/dist/esm/components/EditableTable/headerActionTypes.js.map +1 -0
- package/dist/esm/components/EditableTable/types.js.map +1 -1
- package/dist/esm/components/EditableTable/useBuiltInHeaderActions.js +69 -0
- package/dist/esm/components/EditableTable/useBuiltInHeaderActions.js.map +1 -0
- package/dist/esm/components/EditableTable/useCellFocusAndEditing.js +44 -11
- package/dist/esm/components/EditableTable/useCellFocusAndEditing.js.map +1 -1
- package/dist/esm/components/EditableTable/useKeyboardNavigation.js +4 -2
- package/dist/esm/components/EditableTable/useKeyboardNavigation.js.map +1 -1
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/Heading/Heading.st.css.js +2 -2
- package/dist/esm/components/Heading/Heading.st.css.js.map +1 -1
- package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/esm/components/OperatorFilterPicker/OperatorFilterPicker.js +2 -2
- package/dist/esm/components/OperatorFilterPicker/OperatorFilterPicker.js.map +1 -1
- package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/esm/components/RequestId/assets/locale/messages_cs.json +1 -1
- package/dist/esm/components/RequestId/assets/locale/messages_da.json +2 -2
- package/dist/esm/components/RequestId/assets/locale/messages_de.json +2 -2
- package/dist/esm/components/RequestId/assets/locale/messages_en.json +2 -2
- package/dist/esm/components/RequestId/assets/locale/messages_es.json +2 -2
- package/dist/esm/components/RequestId/assets/locale/messages_hi.json +2 -2
- package/dist/esm/components/RequestId/assets/locale/messages_id.json +2 -2
- package/dist/esm/components/RequestId/assets/locale/messages_it.json +1 -1
- package/dist/esm/components/RequestId/assets/locale/messages_ja.json +1 -1
- package/dist/esm/components/RequestId/assets/locale/messages_nl.json +2 -2
- package/dist/esm/components/RequestId/assets/locale/messages_pl.json +1 -1
- package/dist/esm/components/RequestId/assets/locale/messages_pt.json +1 -1
- package/dist/esm/components/RequestId/assets/locale/messages_ru.json +2 -2
- package/dist/esm/components/RequestId/assets/locale/messages_sv.json +1 -1
- package/dist/esm/components/RequestId/assets/locale/messages_th.json +1 -1
- package/dist/esm/components/RequestId/assets/locale/messages_tr.json +2 -2
- package/dist/esm/components/RequestId/assets/locale/messages_uk.json +1 -1
- package/dist/esm/components/RequestId/assets/locale/messages_zh.json +2 -2
- package/dist/esm/components/RequestId/assets/locale/version_file +1 -0
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
- package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsNotification.js.map +1 -1
- package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/esm/components/common.st.css.js +2 -2
- package/dist/esm/exports/testkit/unidriver.js +2 -0
- package/dist/esm/exports/testkit/unidriver.js.map +1 -1
- package/dist/esm/providers/PatternsFieldsProvider.js +18 -0
- package/dist/esm/providers/PatternsFieldsProvider.js.map +1 -0
- package/dist/esm/providers/SchemaProvider.js +13 -0
- package/dist/esm/providers/SchemaProvider.js.map +1 -0
- package/dist/esm/providers/index.js +2 -0
- package/dist/esm/providers/index.js.map +1 -1
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/esm/state/CustomFields/CustomFieldsAllNamespacesFormState.js +2 -1
- package/dist/esm/state/CustomFields/CustomFieldsAllNamespacesFormState.js.map +1 -1
- package/dist/esm/state/EditableTable/CellInteractionState.js +19 -7
- package/dist/esm/state/EditableTable/CellInteractionState.js.map +1 -1
- package/dist/esm/state/EditableTable/CellValueState.js +34 -11
- package/dist/esm/state/EditableTable/CellValueState.js.map +1 -1
- package/dist/esm/state/EditableTable/EditableTableState.js +45 -5
- package/dist/esm/state/EditableTable/EditableTableState.js.map +1 -1
- package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/esm/state/KanbanState/KanbanState.js +6 -2
- package/dist/esm/state/KanbanState/KanbanState.js.map +1 -1
- package/dist/esm/styles.global.css +1 -1
- package/dist/esm/test-utils/CairoTestApp.js +3 -1
- package/dist/esm/test-utils/CairoTestApp.js.map +1 -1
- package/dist/esm/types/SchemaConfig.js +2 -0
- package/dist/esm/types/SchemaConfig.js.map +1 -0
- package/dist/esm/version.js +1 -1
- package/dist/types/components/ActionCell/useActionCellColumn.d.ts +1 -0
- package/dist/types/components/ActionCell/useActionCellColumn.d.ts.map +1 -1
- package/dist/types/components/ActionCell/useActionCellColumnBase.d.ts +1 -0
- package/dist/types/components/ActionCell/useActionCellColumnBase.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTable.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +409 -28
- package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbar.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionToolbar/CollectionToolbar.uni.driver.d.ts +11 -11
- package/dist/types/components/CollectionViewsDropdown/ViewsDropdown.st.css.d.ts.map +1 -1
- package/dist/types/components/CustomColumnsPanel/ColumnListTableListItem.d.ts.map +1 -1
- package/dist/types/components/CustomFieldModal/CustomFieldModal.uni.driver.d.ts +2 -2
- package/dist/types/components/CustomFieldsWidget/CustomFieldsWidget.uni.driver.d.ts +3 -3
- package/dist/types/components/DropdownFilter/CollectionDropdownFilter.uni.driver.d.ts +1 -1
- package/dist/types/components/EditableTable/EditableCell.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts +6 -3
- package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableColumnHeader.uni.driver.d.ts +17 -0
- package/dist/types/components/EditableTable/EditableColumnHeader.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/EditableTable.d.ts +2 -0
- package/dist/types/components/EditableTable/EditableTable.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts +116 -4
- package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableTableContextMenu.d.ts.map +1 -1
- package/dist/types/components/EditableTable/HeaderActionsPopover.d.ts +8 -0
- package/dist/types/components/EditableTable/HeaderActionsPopover.d.ts.map +1 -0
- package/dist/types/components/EditableTable/{cellTypes/select/View.st.css.d.ts → HeaderActionsPopover.st.css.d.ts} +1 -1
- package/dist/types/components/EditableTable/HeaderActionsPopover.st.css.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/boolean/Edit.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/boolean/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/boolean/View.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/email/Edit.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/index.d.ts +1 -2
- package/dist/types/components/EditableTable/cellTypes/index.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/number/Edit.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/text/Edit.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/{select/Edit.uni.driver.d.ts → text/SpecificValuesEdit.uni.driver.d.ts} +5 -2
- package/dist/types/components/EditableTable/cellTypes/text/SpecificValuesEdit.uni.driver.d.ts.map +1 -0
- package/dist/types/components/EditableTable/cellTypes/text/View.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/text/index.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/url/Edit.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/url/View.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/cellTypes/url/View.uni.driver.d.ts +1 -1
- package/dist/types/components/EditableTable/cellTypes/url/View.uni.driver.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/url/index.d.ts.map +1 -1
- package/dist/types/components/EditableTable/headerActionTypes.d.ts +16 -0
- package/dist/types/components/EditableTable/headerActionTypes.d.ts.map +1 -0
- package/dist/types/components/EditableTable/index.d.ts +1 -0
- package/dist/types/components/EditableTable/index.d.ts.map +1 -1
- package/dist/types/components/EditableTable/types.d.ts +13 -2
- package/dist/types/components/EditableTable/types.d.ts.map +1 -1
- package/dist/types/components/EditableTable/useBuiltInHeaderActions.d.ts +6 -0
- package/dist/types/components/EditableTable/useBuiltInHeaderActions.d.ts.map +1 -0
- package/dist/types/components/EditableTable/useCellFocusAndEditing.d.ts +3 -2
- package/dist/types/components/EditableTable/useCellFocusAndEditing.d.ts.map +1 -1
- package/dist/types/components/EditableTable/useKeyboardNavigation.d.ts.map +1 -1
- package/dist/types/components/ExportButton/ExportButton.uni.driver.d.ts +94 -1
- package/dist/types/components/ExportButton/ExportButton.uni.driver.d.ts.map +1 -1
- package/dist/types/components/ExportButton/ExportModal.uni.driver.d.ts +94 -1
- package/dist/types/components/ExportButton/ExportModal.uni.driver.d.ts.map +1 -1
- package/dist/types/components/FiltersPanel/FiltersPanel.uni.driver.d.ts +4 -4
- package/dist/types/components/Grid/Grid.uni.driver.d.ts +201 -15
- package/dist/types/components/Grid/Grid.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Grid/GridFolders.uni.driver.d.ts +414 -42
- package/dist/types/components/Grid/GridFolders.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts +201 -15
- package/dist/types/components/Grid/GridFoldersSection.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Heading/Heading.st.css.d.ts.map +1 -1
- package/dist/types/components/ImportButton/ImportButton.uni.driver.d.ts +94 -1
- package/dist/types/components/ImportButton/ImportButton.uni.driver.d.ts.map +1 -1
- package/dist/types/components/ImportButton/ImportModal.uni.driver.d.ts +94 -1
- package/dist/types/components/ImportButton/ImportModal.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Kanban/Kanban.uni.driver.d.ts +11 -11
- package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
- package/dist/types/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +425 -42
- package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTableRowPlaceholderStates.uni.driver.d.ts +2 -0
- package/dist/types/components/NestedTable/NestedTableRowPlaceholderStates.uni.driver.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts.map +1 -1
- package/dist/types/components/OperatorFilterPicker/OperatorFilterPicker.d.ts.map +1 -1
- package/dist/types/components/PickerContent/PickerContentAdditionalStep.st.css.d.ts.map +1 -1
- package/dist/types/components/SummaryBar/SummaryBar.uni.driver.d.ts +1 -1
- package/dist/types/components/Table/Table.uni.driver.d.ts +412 -31
- package/dist/types/components/Table/Table.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +424 -43
- package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +665 -98
- package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TabsFilter/TabsFilter.uni.driver.d.ts +1 -1
- package/dist/types/components/Tags/BulkAssignTagsPopover/AsyncJobProgressModal.uni.driver.d.ts +1 -1
- package/dist/types/components/Tags/BulkAssignTagsPopover/BulkAssignTagsPopover.uni.driver.d.ts +1 -1
- package/dist/types/components/Tags/ManageTags/ManageTagsModal/ManageTagsNotification.d.ts.map +1 -1
- package/dist/types/components/TagsAssignButton/TagsAssignButton.uni.driver.d.ts +1 -1
- package/dist/types/components/ToolbarItem/ToolbarItem.st.css.d.ts.map +1 -1
- package/dist/types/exports/testkit/unidriver.d.ts +2 -0
- package/dist/types/exports/testkit/unidriver.d.ts.map +1 -1
- package/dist/types/model/tableColumn.d.ts +1 -1
- package/dist/types/model/tableColumn.d.ts.map +1 -1
- package/dist/types/providers/PatternsFieldsProvider.d.ts +11 -0
- package/dist/types/providers/PatternsFieldsProvider.d.ts.map +1 -0
- package/dist/types/providers/SchemaProvider.d.ts +16 -0
- package/dist/types/providers/SchemaProvider.d.ts.map +1 -0
- package/dist/types/providers/index.d.ts +2 -0
- package/dist/types/providers/index.d.ts.map +1 -1
- package/dist/types/state/CustomFields/CustomFieldsAllNamespacesFormState.d.ts.map +1 -1
- package/dist/types/state/EditableTable/CellInteractionState.d.ts +5 -2
- package/dist/types/state/EditableTable/CellInteractionState.d.ts.map +1 -1
- package/dist/types/state/EditableTable/CellValueState.d.ts +3 -1
- package/dist/types/state/EditableTable/CellValueState.d.ts.map +1 -1
- package/dist/types/state/EditableTable/EditableTableState.d.ts +5 -2
- package/dist/types/state/EditableTable/EditableTableState.d.ts.map +1 -1
- package/dist/types/state/EditableTable/index.d.ts +1 -1
- package/dist/types/state/EditableTable/index.d.ts.map +1 -1
- package/dist/types/state/EditableTable/types.d.ts +15 -10
- package/dist/types/state/EditableTable/types.d.ts.map +1 -1
- package/dist/types/state/KanbanState/KanbanState.d.ts.map +1 -1
- package/dist/types/test-utils/CairoTestApp.d.ts.map +1 -1
- package/dist/types/testkit/enzyme.d.ts +2577 -307
- package/dist/types/testkit/enzyme.d.ts.map +1 -1
- package/dist/types/testkit/jsdom.d.ts +2700 -322
- package/dist/types/testkit/jsdom.d.ts.map +1 -1
- package/dist/types/testkit/playwright.d.ts +2687 -309
- package/dist/types/testkit/playwright.d.ts.map +1 -1
- package/dist/types/testkit/puppeteer.d.ts +2698 -320
- package/dist/types/testkit/puppeteer.d.ts.map +1 -1
- package/dist/types/types/SchemaConfig.d.ts +112 -0
- package/dist/types/types/SchemaConfig.d.ts.map +1 -0
- package/dist/types/version.d.ts +1 -1
- package/package.json +17 -11
- package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
- package/src/components/Collapse/Collapse.st.css.ts +2 -2
- package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
- package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
- package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
- package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
- package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
- package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
- package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
- package/src/components/CustomColumnsPanel/ColumnListTableListItem.tsx +9 -3
- package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
- package/src/components/EditableTable/EditableCell.st.css +16 -5
- package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
- package/src/components/EditableTable/EditableCell.tsx +12 -7
- package/src/components/EditableTable/EditableCell.uni.driver.ts +3 -3
- package/src/components/EditableTable/EditableColumnHeader.uni.driver.ts +42 -0
- package/src/components/EditableTable/EditableTable.tsx +23 -3
- package/src/components/EditableTable/EditableTable.uni.driver.ts +16 -0
- package/src/components/EditableTable/EditableTableContextMenu.tsx +3 -1
- package/src/components/EditableTable/HeaderActionsPopover.st.css +12 -0
- package/src/components/EditableTable/{cellTypes/select/View.st.css.ts → HeaderActionsPopover.st.css.ts} +3 -3
- package/src/components/EditableTable/HeaderActionsPopover.tsx +85 -0
- package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/boolean/Edit.tsx +10 -1
- package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/date/Edit.tsx +1 -1
- package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/email/Edit.tsx +5 -1
- package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/index.ts +0 -3
- package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/number/Edit.tsx +5 -1
- package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/text/Edit.st.css +9 -0
- package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/text/Edit.tsx +119 -43
- package/src/components/EditableTable/cellTypes/text/SpecificValuesEdit.uni.driver.ts +27 -0
- package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/text/View.tsx +15 -5
- package/src/components/EditableTable/cellTypes/text/index.ts +7 -1
- package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/url/Edit.tsx +7 -8
- package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/url/View.tsx +2 -23
- package/src/components/EditableTable/cellTypes/url/View.uni.driver.ts +6 -3
- package/src/components/EditableTable/cellTypes/url/index.ts +18 -0
- package/src/components/EditableTable/headerActionTypes.ts +16 -0
- package/src/components/EditableTable/index.ts +1 -0
- package/src/components/EditableTable/types.ts +12 -3
- package/src/components/EditableTable/useBuiltInHeaderActions.tsx +96 -0
- package/src/components/EditableTable/useCellFocusAndEditing.ts +57 -14
- package/src/components/EditableTable/useKeyboardNavigation.ts +4 -2
- package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
- package/src/components/Fade/Fade.st.css.ts +2 -2
- package/src/components/Heading/Heading.st.css.ts +2 -2
- package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
- package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
- package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
- package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
- package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
- package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
- package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
- package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
- package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
- package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
- package/src/components/OperatorFilterPicker/OperatorFilterPicker.tsx +1 -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/RequestId/assets/locale/messages_cs.json +1 -1
- package/src/components/RequestId/assets/locale/messages_da.json +2 -2
- package/src/components/RequestId/assets/locale/messages_de.json +2 -2
- package/src/components/RequestId/assets/locale/messages_en.json +2 -2
- package/src/components/RequestId/assets/locale/messages_es.json +2 -2
- package/src/components/RequestId/assets/locale/messages_hi.json +2 -2
- package/src/components/RequestId/assets/locale/messages_id.json +2 -2
- package/src/components/RequestId/assets/locale/messages_it.json +1 -1
- package/src/components/RequestId/assets/locale/messages_ja.json +1 -1
- package/src/components/RequestId/assets/locale/messages_nl.json +2 -2
- package/src/components/RequestId/assets/locale/messages_pl.json +1 -1
- package/src/components/RequestId/assets/locale/messages_pt.json +1 -1
- package/src/components/RequestId/assets/locale/messages_ru.json +2 -2
- package/src/components/RequestId/assets/locale/messages_sv.json +1 -1
- package/src/components/RequestId/assets/locale/messages_th.json +1 -1
- package/src/components/RequestId/assets/locale/messages_tr.json +2 -2
- package/src/components/RequestId/assets/locale/messages_uk.json +1 -1
- package/src/components/RequestId/assets/locale/messages_zh.json +2 -2
- package/src/components/RequestId/assets/locale/version_file +1 -0
- package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
- package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
- package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
- package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
- package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
- package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsNotification.tsx +3 -1
- package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
- package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
- package/src/components/common.st.css.ts +2 -2
- package/src/exports/testkit/unidriver.ts +2 -0
- package/src/model/tableColumn.ts +1 -1
- package/src/providers/PatternsFieldsProvider.tsx +32 -0
- package/src/providers/SchemaProvider.tsx +51 -0
- package/src/providers/index.ts +2 -0
- package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
- package/src/state/CustomFields/CustomFieldsAllNamespacesFormState.ts +4 -2
- package/src/state/EditableTable/CellInteractionState.ts +24 -9
- package/src/state/EditableTable/CellValueState.ts +36 -11
- package/src/state/EditableTable/EditableTableState.ts +49 -5
- package/src/state/EditableTable/index.ts +0 -1
- package/src/state/EditableTable/types.ts +13 -9
- package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
- package/src/state/KanbanState/KanbanState.ts +6 -1
- package/src/styles.global.css +1 -1
- package/src/test-utils/CairoTestApp.tsx +2 -1
- package/src/types/SchemaConfig.ts +151 -0
- package/src/version.ts +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.js +0 -101
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.js.map +0 -1
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.uni.driver.js +0 -22
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.uni.driver.js.map +0 -1
- package/dist/cjs/components/EditableTable/cellTypes/select/View.js +0 -36
- package/dist/cjs/components/EditableTable/cellTypes/select/View.js.map +0 -1
- package/dist/cjs/components/EditableTable/cellTypes/select/View.st.css +0 -1
- package/dist/cjs/components/EditableTable/cellTypes/select/View.st.css.js.map +0 -1
- package/dist/cjs/components/EditableTable/cellTypes/select/View.uni.driver.js +0 -12
- package/dist/cjs/components/EditableTable/cellTypes/select/View.uni.driver.js.map +0 -1
- package/dist/cjs/components/EditableTable/cellTypes/select/index.js +0 -20
- package/dist/cjs/components/EditableTable/cellTypes/select/index.js.map +0 -1
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.js +0 -48
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.js.map +0 -1
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.uni.driver.js +0 -15
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.uni.driver.js.map +0 -1
- package/dist/esm/components/EditableTable/cellTypes/select/View.js +0 -11
- package/dist/esm/components/EditableTable/cellTypes/select/View.js.map +0 -1
- package/dist/esm/components/EditableTable/cellTypes/select/View.st.css +0 -1
- package/dist/esm/components/EditableTable/cellTypes/select/View.st.css.js.map +0 -1
- package/dist/esm/components/EditableTable/cellTypes/select/View.uni.driver.js +0 -8
- package/dist/esm/components/EditableTable/cellTypes/select/View.uni.driver.js.map +0 -1
- package/dist/esm/components/EditableTable/cellTypes/select/index.js +0 -15
- package/dist/esm/components/EditableTable/cellTypes/select/index.js.map +0 -1
- package/dist/types/components/EditableTable/cellTypes/select/Edit.d.ts +0 -4
- package/dist/types/components/EditableTable/cellTypes/select/Edit.d.ts.map +0 -1
- package/dist/types/components/EditableTable/cellTypes/select/Edit.uni.driver.d.ts.map +0 -1
- package/dist/types/components/EditableTable/cellTypes/select/View.d.ts +0 -4
- package/dist/types/components/EditableTable/cellTypes/select/View.d.ts.map +0 -1
- package/dist/types/components/EditableTable/cellTypes/select/View.st.css.d.ts.map +0 -1
- package/dist/types/components/EditableTable/cellTypes/select/View.uni.driver.d.ts +0 -15
- package/dist/types/components/EditableTable/cellTypes/select/View.uni.driver.d.ts.map +0 -1
- package/dist/types/components/EditableTable/cellTypes/select/index.d.ts +0 -5
- package/dist/types/components/EditableTable/cellTypes/select/index.d.ts.map +0 -1
- package/src/components/EditableTable/cellTypes/select/Edit.tsx +0 -98
- package/src/components/EditableTable/cellTypes/select/Edit.uni.driver.ts +0 -24
- package/src/components/EditableTable/cellTypes/select/View.st.css +0 -1
- package/src/components/EditableTable/cellTypes/select/View.tsx +0 -21
- package/src/components/EditableTable/cellTypes/select/View.uni.driver.ts +0 -9
- package/src/components/EditableTable/cellTypes/select/index.ts +0 -16
|
@@ -7,12 +7,13 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
7
7
|
var _mobx = require("mobx");
|
|
8
8
|
var _cellTypes = require("../../components/EditableTable/cellTypes");
|
|
9
9
|
var _utils = require("./utils");
|
|
10
|
-
const
|
|
10
|
+
const builtInCellTypeMap = new Map(_cellTypes.builtInCellTypes.map(ct => [ct.type, ct]));
|
|
11
11
|
class CellValueState {
|
|
12
12
|
constructor(parent) {
|
|
13
13
|
/** Pending invalid cell values, keyed by `${itemId}:${colId}`. */
|
|
14
14
|
(0, _defineProperty2.default)(this, "_pendingCells", new Map());
|
|
15
15
|
(0, _defineProperty2.default)(this, "_parent", void 0);
|
|
16
|
+
(0, _defineProperty2.default)(this, "_cellTypeMap", builtInCellTypeMap);
|
|
16
17
|
this._parent = parent;
|
|
17
18
|
(0, _mobx.makeObservable)(this, {
|
|
18
19
|
_pendingCells: _mobx.observable,
|
|
@@ -23,8 +24,22 @@ class CellValueState {
|
|
|
23
24
|
applyBulkValues: _mobx.action
|
|
24
25
|
});
|
|
25
26
|
}
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
_buildCellTypeMap() {
|
|
28
|
+
const map = new Map();
|
|
29
|
+
for (const col of this._parent._allColumns) {
|
|
30
|
+
if (col.cellType === 'custom' && col.typeConfig && typeof col.typeConfig === 'object' && 'ViewComponent' in col.typeConfig) {
|
|
31
|
+
map.set(col.id, {
|
|
32
|
+
type: 'custom',
|
|
33
|
+
...col.typeConfig
|
|
34
|
+
});
|
|
35
|
+
} else {
|
|
36
|
+
map.set(col.id, builtInCellTypeMap.get(col.cellType) ?? _cellTypes.textCellType);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
this._cellTypeMap = map;
|
|
40
|
+
}
|
|
41
|
+
resolveCellTypeByColumnId(columnId) {
|
|
42
|
+
return this._cellTypeMap.get(columnId) ?? _cellTypes.textCellType;
|
|
28
43
|
}
|
|
29
44
|
getCellDisplayValue(rowKey, columnId) {
|
|
30
45
|
const pending = this._getPendingCell(rowKey, columnId);
|
|
@@ -50,7 +65,7 @@ class CellValueState {
|
|
|
50
65
|
if (!column) {
|
|
51
66
|
return false;
|
|
52
67
|
}
|
|
53
|
-
const resolved = this.
|
|
68
|
+
const resolved = this.resolveCellTypeByColumnId(column.id);
|
|
54
69
|
if (resolved.editable === false || !resolved.EditComponent) {
|
|
55
70
|
return false;
|
|
56
71
|
}
|
|
@@ -71,7 +86,7 @@ class CellValueState {
|
|
|
71
86
|
if (!column || !keyedItem) {
|
|
72
87
|
return '';
|
|
73
88
|
}
|
|
74
|
-
const resolved = this.
|
|
89
|
+
const resolved = this.resolveCellTypeByColumnId(column.id);
|
|
75
90
|
const pending = this._getPendingCell(rowKey, columnId);
|
|
76
91
|
const value = pending ? pending.value : column.getValue(keyedItem.item);
|
|
77
92
|
return resolved.serialize ? resolved.serialize(value) : String(value ?? '');
|
|
@@ -85,7 +100,7 @@ class CellValueState {
|
|
|
85
100
|
if (!(column != null && column.setValue)) {
|
|
86
101
|
continue;
|
|
87
102
|
}
|
|
88
|
-
const resolved = this.
|
|
103
|
+
const resolved = this.resolveCellTypeByColumnId(column.id);
|
|
89
104
|
if (resolved.clearable === false) {
|
|
90
105
|
continue;
|
|
91
106
|
}
|
|
@@ -110,7 +125,7 @@ class CellValueState {
|
|
|
110
125
|
if (!(column != null && column.setValue) || !keyedItem) {
|
|
111
126
|
return;
|
|
112
127
|
}
|
|
113
|
-
const resolved = this.
|
|
128
|
+
const resolved = this.resolveCellTypeByColumnId(column.id);
|
|
114
129
|
if (!resolved.toggleValue) {
|
|
115
130
|
return;
|
|
116
131
|
}
|
|
@@ -123,7 +138,9 @@ class CellValueState {
|
|
|
123
138
|
/** Commit handler — used as callback for CellInteractionState. */
|
|
124
139
|
commitHandler(editingValue, cell) {
|
|
125
140
|
if (editingValue !== undefined) {
|
|
126
|
-
this.
|
|
141
|
+
const resolved = this.resolveCellTypeByColumnId(cell.columnId);
|
|
142
|
+
const normalized = resolved.normalizeOnCommit ? resolved.normalizeOnCommit(editingValue) : editingValue;
|
|
143
|
+
this._applyValue(cell.rowKey, cell.columnId, normalized);
|
|
127
144
|
}
|
|
128
145
|
}
|
|
129
146
|
_getPendingCell(rowKey, columnId) {
|
|
@@ -150,7 +167,7 @@ class CellValueState {
|
|
|
150
167
|
value: rawValue
|
|
151
168
|
};
|
|
152
169
|
}
|
|
153
|
-
const resolved = this.
|
|
170
|
+
const resolved = this.resolveCellTypeByColumnId(column.id);
|
|
154
171
|
if (!resolved.deserialize) {
|
|
155
172
|
return {
|
|
156
173
|
value: rawValue
|
|
@@ -218,7 +235,7 @@ class CellValueState {
|
|
|
218
235
|
if (!(column != null && column.setValue) || !keyedItem) {
|
|
219
236
|
continue;
|
|
220
237
|
}
|
|
221
|
-
const resolved = this.
|
|
238
|
+
const resolved = this.resolveCellTypeByColumnId(column.id);
|
|
222
239
|
const result = (0, _utils.runCellValidation)(value, column.validation, resolved.validate);
|
|
223
240
|
const pendingKey = this._pendingCellKey(rowKey, columnId);
|
|
224
241
|
if (result.valid) {
|
|
@@ -242,7 +259,7 @@ class CellValueState {
|
|
|
242
259
|
if (!(column != null && column.setValue) || !keyedItem) {
|
|
243
260
|
return;
|
|
244
261
|
}
|
|
245
|
-
const resolved = this.
|
|
262
|
+
const resolved = this.resolveCellTypeByColumnId(column.id);
|
|
246
263
|
const result = (0, _utils.runCellValidation)(value, column.validation, resolved.validate);
|
|
247
264
|
const pendingKey = this._pendingCellKey(rowKey, columnId);
|
|
248
265
|
if (result.valid) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_cellTypes","_utils","cellTypeMap","Map","builtInCellTypes","map","ct","type","CellValueState","constructor","parent","_defineProperty2","default","_parent","makeObservable","_pendingCells","observable","clearCells","action","toggleCell","commitHandler","applyBulkRawValues","applyBulkValues","resolveCellType","get","textCellType","getCellDisplayValue","rowKey","columnId","pending","_getPendingCell","value","column","_columnMap","keyedItem","_getKeyedItem","getValue","item","undefined","getCellValidation","valid","errors","validResult","isCellEditable","resolved","cellType","editable","EditComponent","setValue","serializeCellValue","serialize","String","cells","changes","cell","clearable","pendingKey","_pendingCellKey","delete","deserialize","push","length","toggleValue","newValue","updatedItem","mutation","updateItems","editingValue","_applyValue","key","id","tryDeserialize","rawValue","error","rawChanges","set","rowItems","result","runCellValidation","validation","validate","currentItem","Array","from","values","exports"],"sources":["../../../../src/state/EditableTable/CellValueState.ts"],"sourcesContent":["import { action, 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 cellTypeMap = 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 private readonly _parent: EditableTableState<T, F>;\n\n constructor(parent: EditableTableState<T, F>) {\n this._parent = parent;\n\n makeObservable(this, {\n _pendingCells: observable,\n clearCells: action,\n toggleCell: action,\n commitHandler: action,\n applyBulkRawValues: action,\n applyBulkValues: action,\n });\n }\n\n resolveCellType(type: string): CellType {\n return cellTypeMap.get(type) ?? 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 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.resolveCellType(column.cellType);\n if (resolved.editable === false || !resolved.EditComponent) {\n return false;\n }\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.resolveCellType(column.cellType);\n const pending = this._getPendingCell(rowKey, columnId);\n const value = pending ? pending.value : column.getValue(keyedItem.item);\n return resolved.serialize ? resolved.serialize(value) : String(value ?? '');\n }\n\n /** Clear selected cells (Delete/Backspace). Respects cellType.clearable. */\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.resolveCellType(column.cellType);\n if (resolved.clearable === false) {\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.resolveCellType(column.cellType);\n if (!resolved.toggleValue) {\n return;\n }\n\n const value = column.getValue(keyedItem.item);\n const newValue = resolved.toggleValue(value);\n const updatedItem = column.setValue(keyedItem.item, newValue);\n this._parent.mutation.updateItems([updatedItem]);\n }\n\n /** Commit handler — used as callback for CellInteractionState. */\n commitHandler(editingValue: any, cell: Cell) {\n if (editingValue !== undefined) {\n this._applyValue(cell.rowKey, cell.columnId, editingValue);\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 _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.resolveCellType(column.cellType);\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 */\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 (!column?.setValue || !keyedItem) {\n continue;\n }\n\n const resolved = this.resolveCellType(column.cellType);\n const result = runCellValidation(\n value,\n column.validation,\n resolved.validate,\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 = rowItems.get(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.resolveCellType(column.cellType);\n const result = runCellValidation(\n value,\n column.validation,\n resolved.validate,\n );\n const pendingKey = this._pendingCellKey(rowKey, columnId);\n\n if (result.valid) {\n if (pendingKey) {\n this._pendingCells.delete(pendingKey);\n }\n const updatedItem = column.setValue(keyedItem.item, value);\n this._parent.mutation.updateItems([updatedItem]);\n } else if (pendingKey) {\n this._pendingCells.set(pendingKey, {\n value,\n errors: result.errors ?? [],\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","_defineProperty2","default","_parent","makeObservable","_pendingCells","observable","clearCells","action","toggleCell","commitHandler","applyBulkRawValues","applyBulkValues","_buildCellTypeMap","col","_allColumns","cellType","typeConfig","set","id","get","textCellType","_cellTypeMap","resolveCellTypeByColumnId","columnId","getCellDisplayValue","rowKey","pending","_getPendingCell","value","column","_columnMap","keyedItem","_getKeyedItem","getValue","item","undefined","getCellValidation","valid","errors","validResult","isCellEditable","resolved","editable","EditComponent","setValue","serializeCellValue","serialize","String","cells","changes","cell","clearable","pendingKey","_pendingCellKey","delete","deserialize","push","length","toggleValue","newValue","updatedItem","mutation","updateItems","editingValue","normalized","normalizeOnCommit","_applyValue","key","tryDeserialize","rawValue","error","rawChanges","rowItems","result","runCellValidation","validation","validate","currentItem","Array","from","values","exports"],"sources":["../../../../src/state/EditableTable/CellValueState.ts"],"sourcesContent":["import { action, 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 private readonly _parent: EditableTableState<T, F>;\n private _cellTypeMap: Map<string, CellType> = builtInCellTypeMap;\n\n constructor(parent: EditableTableState<T, F>) {\n this._parent = parent;\n\n makeObservable(this, {\n _pendingCells: observable,\n clearCells: action,\n toggleCell: action,\n commitHandler: action,\n applyBulkRawValues: action,\n applyBulkValues: action,\n });\n }\n\n _buildCellTypeMap() {\n const map = new Map<string, CellType>();\n for (const col of this._parent._allColumns) {\n if (\n col.cellType === 'custom' &&\n col.typeConfig &&\n typeof col.typeConfig === 'object' &&\n 'ViewComponent' in col.typeConfig\n ) {\n map.set(col.id, {\n type: 'custom',\n ...(col.typeConfig as Omit<CellType, 'type'>),\n });\n } else {\n map.set(col.id, builtInCellTypeMap.get(col.cellType) ?? textCellType);\n }\n }\n this._cellTypeMap = 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 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 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 pending = this._getPendingCell(rowKey, columnId);\n const value = pending ? pending.value : column.getValue(keyedItem.item);\n return resolved.serialize ? resolved.serialize(value) : String(value ?? '');\n }\n\n /** Clear selected cells (Delete/Backspace). Respects cellType.clearable. */\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\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 = column.getValue(keyedItem.item);\n const newValue = resolved.toggleValue(value);\n const updatedItem = column.setValue(keyedItem.item, newValue);\n this._parent.mutation.updateItems([updatedItem]);\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 _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 */\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 (!column?.setValue || !keyedItem) {\n continue;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n const result = runCellValidation(\n value,\n column.validation,\n resolved.validate,\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 = rowItems.get(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 );\n const pendingKey = this._pendingCellKey(rowKey, columnId);\n\n if (result.valid) {\n if (pendingKey) {\n this._pendingCells.delete(pendingKey);\n }\n const updatedItem = column.setValue(keyedItem.item, value);\n this._parent.mutation.updateItems([updatedItem]);\n } else if (pendingKey) {\n this._pendingCells.set(pendingKey, {\n value,\n errors: result.errors ?? [],\n });\n }\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AAIA,IAAAC,UAAA,GAAAD,OAAA;AAIA,IAAAE,MAAA,GAAAF,OAAA;AAEA,MAAMG,kBAAkB,GAAG,IAAIC,GAAG,CAChCC,2BAAgB,CAACC,GAAG,CAAEC,EAAE,IAAK,CAACA,EAAE,CAACC,IAAI,EAAED,EAAE,CAAC,CAC5C,CAAC;AAEM,MAAME,cAAc,CAA0B;EAOnDC,WAAWA,CAACC,MAAgC,EAAE;IAN9C;IAAA,IAAAC,gBAAA,CAAAC,OAAA,yBACyB,IAAIT,GAAG,CAA2C,CAAC;IAAA,IAAAQ,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,wBAG9BV,kBAAkB;IAG9D,IAAI,CAACW,OAAO,GAAGH,MAAM;IAErB,IAAAI,oBAAc,EAAC,IAAI,EAAE;MACnBC,aAAa,EAAEC,gBAAU;MACzBC,UAAU,EAAEC,YAAM;MAClBC,UAAU,EAAED,YAAM;MAClBE,aAAa,EAAEF,YAAM;MACrBG,kBAAkB,EAAEH,YAAM;MAC1BI,eAAe,EAAEJ;IACnB,CAAC,CAAC;EACJ;EAEAK,iBAAiBA,CAAA,EAAG;IAClB,MAAMlB,GAAG,GAAG,IAAIF,GAAG,CAAmB,CAAC;IACvC,KAAK,MAAMqB,GAAG,IAAI,IAAI,CAACX,OAAO,CAACY,WAAW,EAAE;MAC1C,IACED,GAAG,CAACE,QAAQ,KAAK,QAAQ,IACzBF,GAAG,CAACG,UAAU,IACd,OAAOH,GAAG,CAACG,UAAU,KAAK,QAAQ,IAClC,eAAe,IAAIH,GAAG,CAACG,UAAU,EACjC;QACAtB,GAAG,CAACuB,GAAG,CAACJ,GAAG,CAACK,EAAE,EAAE;UACdtB,IAAI,EAAE,QAAQ;UACd,GAAIiB,GAAG,CAACG;QACV,CAAC,CAAC;MACJ,CAAC,MAAM;QACLtB,GAAG,CAACuB,GAAG,CAACJ,GAAG,CAACK,EAAE,EAAE3B,kBAAkB,CAAC4B,GAAG,CAACN,GAAG,CAACE,QAAQ,CAAC,IAAIK,uBAAY,CAAC;MACvE;IACF;IACA,IAAI,CAACC,YAAY,GAAG3B,GAAG;EACzB;EAEA4B,yBAAyBA,CAACC,QAAgB,EAAY;IACpD,OAAO,IAAI,CAACF,YAAY,CAACF,GAAG,CAACI,QAAQ,CAAC,IAAIH,uBAAY;EACxD;EAEAI,mBAAmBA,CAACC,MAAc,EAAEF,QAAgB,EAAO;IACzD,MAAMG,OAAO,GAAG,IAAI,CAACC,eAAe,CAACF,MAAM,EAAEF,QAAQ,CAAC;IACtD,IAAIG,OAAO,EAAE;MACX,OAAOA,OAAO,CAACE,KAAK;IACtB;IACA,MAAMC,MAAM,GAAG,IAAI,CAAC3B,OAAO,CAAC4B,UAAU,CAACX,GAAG,CAACI,QAAQ,CAAC;IACpD,MAAMQ,SAAS,GAAG,IAAI,CAAC7B,OAAO,CAAC8B,aAAa,CAACP,MAAM,CAAC;IACpD,OAAOI,MAAM,IAAIE,SAAS,GAAGF,MAAM,CAACI,QAAQ,CAACF,SAAS,CAACG,IAAI,CAAC,GAAGC,SAAS;EAC1E;EAEAC,iBAAiBA,CAACX,MAAc,EAAEF,QAAgB,EAAoB;IACpE,MAAMG,OAAO,GAAG,IAAI,CAACC,eAAe,CAACF,MAAM,EAAEF,QAAQ,CAAC;IACtD,IAAIG,OAAO,EAAE;MACX,OAAO;QAAEW,KAAK,EAAE,KAAK;QAAEC,MAAM,EAAEZ,OAAO,CAACY;MAAO,CAAC;IACjD;IACA,OAAOC,kBAAW;EACpB;EAEAC,cAAcA,CAACf,MAAc,EAAEF,QAAgB,EAAW;IACxD,MAAMM,MAAM,GAAG,IAAI,CAAC3B,OAAO,CAAC4B,UAAU,CAACX,GAAG,CAACI,QAAQ,CAAC;IACpD,IAAI,CAACM,MAAM,EAAE;MACX,OAAO,KAAK;IACd;IAEA,MAAMY,QAAQ,GAAG,IAAI,CAACnB,yBAAyB,CAACO,MAAM,CAACX,EAAE,CAAC;IAC1D,IAAIuB,QAAQ,CAACC,QAAQ,KAAK,KAAK,IAAI,CAACD,QAAQ,CAACE,aAAa,EAAE;MAC1D,OAAO,KAAK;IACd;IACA,IAAI,CAACd,MAAM,CAACe,QAAQ,EAAE;MACpB,OAAO,KAAK;IACd;IAEA,IAAI,OAAOf,MAAM,CAACa,QAAQ,KAAK,UAAU,EAAE;MACzC,MAAMX,SAAS,GAAG,IAAI,CAAC7B,OAAO,CAAC8B,aAAa,CAACP,MAAM,CAAC;MACpD,OAAOM,SAAS,GAAGF,MAAM,CAACa,QAAQ,CAACX,SAAS,CAACG,IAAI,CAAC,GAAG,KAAK;IAC5D;IACA,OAAOL,MAAM,CAACa,QAAQ,KAAK,KAAK;EAClC;;EAEA;EACAG,kBAAkBA,CAACpB,MAAc,EAAEF,QAAgB,EAAU;IAC3D,MAAMM,MAAM,GAAG,IAAI,CAAC3B,OAAO,CAAC4B,UAAU,CAACX,GAAG,CAACI,QAAQ,CAAC;IACpD,MAAMQ,SAAS,GAAG,IAAI,CAAC7B,OAAO,CAAC8B,aAAa,CAACP,MAAM,CAAC;IACpD,IAAI,CAACI,MAAM,IAAI,CAACE,SAAS,EAAE;MACzB,OAAO,EAAE;IACX;IACA,MAAMU,QAAQ,GAAG,IAAI,CAACnB,yBAAyB,CAACO,MAAM,CAACX,EAAE,CAAC;IAC1D,MAAMQ,OAAO,GAAG,IAAI,CAACC,eAAe,CAACF,MAAM,EAAEF,QAAQ,CAAC;IACtD,MAAMK,KAAK,GAAGF,OAAO,GAAGA,OAAO,CAACE,KAAK,GAAGC,MAAM,CAACI,QAAQ,CAACF,SAAS,CAACG,IAAI,CAAC;IACvE,OAAOO,QAAQ,CAACK,SAAS,GAAGL,QAAQ,CAACK,SAAS,CAAClB,KAAK,CAAC,GAAGmB,MAAM,CAACnB,KAAK,IAAI,EAAE,CAAC;EAC7E;;EAEA;EACAtB,UAAUA,CAAC0C,KAAa,EAAE;IACxB,MAAMC,OAA2D,GAAG,EAAE;IAEtE,KAAK,MAAMC,IAAI,IAAIF,KAAK,EAAE;MACxB,MAAMnB,MAAM,GAAG,IAAI,CAAC3B,OAAO,CAAC4B,UAAU,CAACX,GAAG,CAAC+B,IAAI,CAAC3B,QAAQ,CAAC;MACzD,IAAI,EAACM,MAAM,YAANA,MAAM,CAAEe,QAAQ,GAAE;QACrB;MACF;MACA,MAAMH,QAAQ,GAAG,IAAI,CAACnB,yBAAyB,CAACO,MAAM,CAACX,EAAE,CAAC;MAC1D,IAAIuB,QAAQ,CAACU,SAAS,KAAK,KAAK,EAAE;QAChC;MACF;MAEA,MAAMC,UAAU,GAAG,IAAI,CAACC,eAAe,CAACH,IAAI,CAACzB,MAAM,EAAEyB,IAAI,CAAC3B,QAAQ,CAAC;MACnE,IAAI6B,UAAU,EAAE;QACd,IAAI,CAAChD,aAAa,CAACkD,MAAM,CAACF,UAAU,CAAC;MACvC;MACA,MAAMxB,KAAK,GAAGa,QAAQ,CAACc,WAAW,GAAGd,QAAQ,CAACc,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE;MAClEN,OAAO,CAACO,IAAI,CAAC;QAAE/B,MAAM,EAAEyB,IAAI,CAACzB,MAAM;QAAEF,QAAQ,EAAE2B,IAAI,CAAC3B,QAAQ;QAAEK;MAAM,CAAC,CAAC;IACvE;IAEA,IAAIqB,OAAO,CAACQ,MAAM,GAAG,CAAC,EAAE;MACtB,IAAI,CAAC9C,eAAe,CAACsC,OAAO,CAAC;IAC/B;EACF;EAEAzC,UAAUA,CAACiB,MAAc,EAAEF,QAAgB,EAAE;IAC3C,MAAMM,MAAM,GAAG,IAAI,CAAC3B,OAAO,CAAC4B,UAAU,CAACX,GAAG,CAACI,QAAQ,CAAC;IACpD,MAAMQ,SAAS,GAAG,IAAI,CAAC7B,OAAO,CAAC8B,aAAa,CAACP,MAAM,CAAC;IACpD,IAAI,EAACI,MAAM,YAANA,MAAM,CAAEe,QAAQ,KAAI,CAACb,SAAS,EAAE;MACnC;IACF;IAEA,MAAMU,QAAQ,GAAG,IAAI,CAACnB,yBAAyB,CAACO,MAAM,CAACX,EAAE,CAAC;IAC1D,IAAI,CAACuB,QAAQ,CAACiB,WAAW,EAAE;MACzB;IACF;IAEA,MAAM9B,KAAK,GAAGC,MAAM,CAACI,QAAQ,CAACF,SAAS,CAACG,IAAI,CAAC;IAC7C,MAAMyB,QAAQ,GAAGlB,QAAQ,CAACiB,WAAW,CAAC9B,KAAK,CAAC;IAC5C,MAAMgC,WAAW,GAAG/B,MAAM,CAACe,QAAQ,CAACb,SAAS,CAACG,IAAI,EAAEyB,QAAQ,CAAC;IAC7D,IAAI,CAACzD,OAAO,CAAC2D,QAAQ,CAACC,WAAW,CAAC,CAACF,WAAW,CAAC,CAAC;EAClD;;EAEA;EACAnD,aAAaA,CAACsD,YAAiB,EAAEb,IAAU,EAAE;IAC3C,IAAIa,YAAY,KAAK5B,SAAS,EAAE;MAC9B,MAAMM,QAAQ,GAAG,IAAI,CAACnB,yBAAyB,CAAC4B,IAAI,CAAC3B,QAAQ,CAAC;MAC9D,MAAMyC,UAAU,GAAGvB,QAAQ,CAACwB,iBAAiB,GACzCxB,QAAQ,CAACwB,iBAAiB,CAACF,YAAY,CAAC,GACxCA,YAAY;MAChB,IAAI,CAACG,WAAW,CAAChB,IAAI,CAACzB,MAAM,EAAEyB,IAAI,CAAC3B,QAAQ,EAAEyC,UAAU,CAAC;IAC1D;EACF;EAEQrC,eAAeA,CACrBF,MAAc,EACdF,QAAgB,EAC8B;IAC9C,MAAM4C,GAAG,GAAG,IAAI,CAACd,eAAe,CAAC5B,MAAM,EAAEF,QAAQ,CAAC;IAClD,OAAO4C,GAAG,GAAG,IAAI,CAAC/D,aAAa,CAACe,GAAG,CAACgD,GAAG,CAAC,GAAGhC,SAAS;EACtD;EAEQkB,eAAeA,CACrB5B,MAAc,EACdF,QAAgB,EACI;IACpB,MAAMQ,SAAS,GAAG,IAAI,CAAC7B,OAAO,CAAC8B,aAAa,CAACP,MAAM,CAAC;IACpD,MAAMI,MAAM,GAAG,IAAI,CAAC3B,OAAO,CAAC4B,UAAU,CAACX,GAAG,CAACI,QAAQ,CAAC;IACpD,IAAI,CAACQ,SAAS,IAAI,CAACF,MAAM,EAAE;MACzB,OAAOM,SAAS;IAClB;IACA,OAAO,GAAGJ,SAAS,CAACoC,GAAG,IAAItC,MAAM,CAACX,EAAE,EAAE;EACxC;;EAEA;AACF;AACA;AACA;EACEkD,cAAcA,CACZ7C,QAAgB,EAChB8C,QAAgB,EACgB;IAChC,MAAMxC,MAAM,GAAG,IAAI,CAAC3B,OAAO,CAAC4B,UAAU,CAACX,GAAG,CAACI,QAAQ,CAAC;IACpD,IAAI,CAACM,MAAM,EAAE;MACX,OAAO;QAAED,KAAK,EAAEyC;MAAS,CAAC;IAC5B;IACA,MAAM5B,QAAQ,GAAG,IAAI,CAACnB,yBAAyB,CAACO,MAAM,CAACX,EAAE,CAAC;IAC1D,IAAI,CAACuB,QAAQ,CAACc,WAAW,EAAE;MACzB,OAAO;QAAE3B,KAAK,EAAEyC;MAAS,CAAC;IAC5B;IACA,IAAI;MACF,OAAO;QAAEzC,KAAK,EAAEa,QAAQ,CAACc,WAAW,CAACc,QAAQ;MAAE,CAAC;IAClD,CAAC,CAAC,MAAM;MACN,OAAO;QAAEzC,KAAK,EAAEyC,QAAQ;QAAEC,KAAK,EAAE;MAA0B,CAAC;IAC9D;EACF;;EAEA;AACF;AACA;AACA;EACE5D,kBAAkBA,CAChB6D,UAAoE,EACpE;IACA,MAAMtB,OAA2D,GAAG,EAAE;IACtE,KAAK,MAAM;MAAExB,MAAM;MAAEF,QAAQ;MAAE8C;IAAS,CAAC,IAAIE,UAAU,EAAE;MACvD,MAAM;QAAE3C,KAAK;QAAE0C;MAAM,CAAC,GAAG,IAAI,CAACF,cAAc,CAAC7C,QAAQ,EAAE8C,QAAQ,CAAC;MAChE,IAAIC,KAAK,EAAE;QACT,MAAMlB,UAAU,GAAG,IAAI,CAACC,eAAe,CAAC5B,MAAM,EAAEF,QAAQ,CAAC;QACzD,IAAI6B,UAAU,EAAE;UACd,IAAI,CAAChD,aAAa,CAACa,GAAG,CAACmC,UAAU,EAAE;YAAExB,KAAK;YAAEU,MAAM,EAAE,CAACgC,KAAK;UAAE,CAAC,CAAC;QAChE;MACF,CAAC,MAAM;QACLrB,OAAO,CAACO,IAAI,CAAC;UAAE/B,MAAM;UAAEF,QAAQ;UAAEK;QAAM,CAAC,CAAC;MAC3C;IACF;IACA,IAAI,CAACjB,eAAe,CAACsC,OAAO,CAAC;EAC/B;;EAEA;AACF;AACA;AACA;EACEtC,eAAeA,CAACsC,OAA2D,EAAE;IAC3E,MAAMuB,QAAQ,GAAG,IAAIhF,GAAG,CAAY,CAAC;IAErC,KAAK,MAAM;MAAEiC,MAAM;MAAEF,QAAQ;MAAEK;IAAM,CAAC,IAAIqB,OAAO,EAAE;MACjD,MAAMpB,MAAM,GAAG,IAAI,CAAC3B,OAAO,CAAC4B,UAAU,CAACX,GAAG,CAACI,QAAQ,CAAC;MACpD,MAAMQ,SAAS,GAAG,IAAI,CAAC7B,OAAO,CAAC8B,aAAa,CAACP,MAAM,CAAC;MACpD,IAAI,EAACI,MAAM,YAANA,MAAM,CAAEe,QAAQ,KAAI,CAACb,SAAS,EAAE;QACnC;MACF;MAEA,MAAMU,QAAQ,GAAG,IAAI,CAACnB,yBAAyB,CAACO,MAAM,CAACX,EAAE,CAAC;MAC1D,MAAMuD,MAAM,GAAG,IAAAC,wBAAiB,EAC9B9C,KAAK,EACLC,MAAM,CAAC8C,UAAU,EACjBlC,QAAQ,CAACmC,QACX,CAAC;MACD,MAAMxB,UAAU,GAAG,IAAI,CAACC,eAAe,CAAC5B,MAAM,EAAEF,QAAQ,CAAC;MAEzD,IAAIkD,MAAM,CAACpC,KAAK,EAAE;QAChB,IAAIe,UAAU,EAAE;UACd,IAAI,CAAChD,aAAa,CAACkD,MAAM,CAACF,UAAU,CAAC;QACvC;QACA,MAAMyB,WAAW,GAAGL,QAAQ,CAACrD,GAAG,CAACM,MAAM,CAAC,IAAIM,SAAS,CAACG,IAAI;QAC1DsC,QAAQ,CAACvD,GAAG,CAACQ,MAAM,EAAEI,MAAM,CAACe,QAAQ,CAACiC,WAAW,EAAEjD,KAAK,CAAC,CAAC;MAC3D,CAAC,MAAM,IAAIwB,UAAU,EAAE;QACrB,IAAI,CAAChD,aAAa,CAACa,GAAG,CAACmC,UAAU,EAAE;UACjCxB,KAAK;UACLU,MAAM,EAAEmC,MAAM,CAACnC,MAAM,IAAI;QAC3B,CAAC,CAAC;MACJ;IACF;IAEA,IAAI,CAACpC,OAAO,CAAC2D,QAAQ,CAACC,WAAW,CAACgB,KAAK,CAACC,IAAI,CAACP,QAAQ,CAACQ,MAAM,CAAC,CAAC,CAAC,CAAC;EAClE;EAEQd,WAAWA,CAACzC,MAAc,EAAEF,QAAgB,EAAEK,KAAU,EAAE;IAChE,MAAMC,MAAM,GAAG,IAAI,CAAC3B,OAAO,CAAC4B,UAAU,CAACX,GAAG,CAACI,QAAQ,CAAC;IACpD,MAAMQ,SAAS,GAAG,IAAI,CAAC7B,OAAO,CAAC8B,aAAa,CAACP,MAAM,CAAC;IACpD,IAAI,EAACI,MAAM,YAANA,MAAM,CAAEe,QAAQ,KAAI,CAACb,SAAS,EAAE;MACnC;IACF;IAEA,MAAMU,QAAQ,GAAG,IAAI,CAACnB,yBAAyB,CAACO,MAAM,CAACX,EAAE,CAAC;IAC1D,MAAMuD,MAAM,GAAG,IAAAC,wBAAiB,EAC9B9C,KAAK,EACLC,MAAM,CAAC8C,UAAU,EACjBlC,QAAQ,CAACmC,QACX,CAAC;IACD,MAAMxB,UAAU,GAAG,IAAI,CAACC,eAAe,CAAC5B,MAAM,EAAEF,QAAQ,CAAC;IAEzD,IAAIkD,MAAM,CAACpC,KAAK,EAAE;MAChB,IAAIe,UAAU,EAAE;QACd,IAAI,CAAChD,aAAa,CAACkD,MAAM,CAACF,UAAU,CAAC;MACvC;MACA,MAAMQ,WAAW,GAAG/B,MAAM,CAACe,QAAQ,CAACb,SAAS,CAACG,IAAI,EAAEN,KAAK,CAAC;MAC1D,IAAI,CAAC1B,OAAO,CAAC2D,QAAQ,CAACC,WAAW,CAAC,CAACF,WAAW,CAAC,CAAC;IAClD,CAAC,MAAM,IAAIR,UAAU,EAAE;MACrB,IAAI,CAAChD,aAAa,CAACa,GAAG,CAACmC,UAAU,EAAE;QACjCxB,KAAK;QACLU,MAAM,EAAEmC,MAAM,CAACnC,MAAM,IAAI;MAC3B,CAAC,CAAC;IACJ;EACF;AACF;AAAC2C,OAAA,CAAApF,cAAA,GAAAA,cAAA","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ exports.__esModule = true;
|
|
|
5
5
|
exports.EditableTableState = void 0;
|
|
6
6
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
7
|
var _mobx = require("mobx");
|
|
8
|
+
var _bexCore = require("@wix/bex-core");
|
|
8
9
|
var _ToolbarCollectionState = require("../ToolbarCollectionState");
|
|
9
10
|
var _TableState = require("../TableState");
|
|
10
11
|
var _CellInteractionState = require("./CellInteractionState");
|
|
@@ -19,6 +20,7 @@ class EditableTableState {
|
|
|
19
20
|
(0, _defineProperty2.default)(this, "cellValue", void 0);
|
|
20
21
|
(0, _defineProperty2.default)(this, "clipboard", void 0);
|
|
21
22
|
(0, _defineProperty2.default)(this, "mutation", void 0);
|
|
23
|
+
(0, _defineProperty2.default)(this, "deleteConfirmModal", new _bexCore.ConditionalModalState());
|
|
22
24
|
(0, _defineProperty2.default)(this, "addItemDisabled", false);
|
|
23
25
|
(0, _defineProperty2.default)(this, "updateItemDisabled", false);
|
|
24
26
|
(0, _defineProperty2.default)(this, "removeItemDisabled", false);
|
|
@@ -61,7 +63,8 @@ class EditableTableState {
|
|
|
61
63
|
_allColumns: _mobx.observable.ref,
|
|
62
64
|
editableColumns: _mobx.computed,
|
|
63
65
|
_columnMap: _mobx.computed,
|
|
64
|
-
init: _mobx.action
|
|
66
|
+
init: _mobx.action,
|
|
67
|
+
confirmDeleteItems: _mobx.action
|
|
65
68
|
});
|
|
66
69
|
if (params.permissions) {
|
|
67
70
|
this.addItemDisabled = params.permissions.addItemDisabled ?? false;
|
|
@@ -112,6 +115,7 @@ class EditableTableState {
|
|
|
112
115
|
}
|
|
113
116
|
init(columns) {
|
|
114
117
|
this._allColumns = columns;
|
|
118
|
+
this.cellValue._buildCellTypeMap();
|
|
115
119
|
return this.mutation.init();
|
|
116
120
|
}
|
|
117
121
|
addItem(afterItemKey) {
|
|
@@ -123,8 +127,23 @@ class EditableTableState {
|
|
|
123
127
|
deleteItems(rowKeys) {
|
|
124
128
|
this.mutation.deleteItems(rowKeys);
|
|
125
129
|
}
|
|
126
|
-
|
|
127
|
-
|
|
130
|
+
confirmDeleteItems(rowKeys) {
|
|
131
|
+
const {
|
|
132
|
+
translate: t
|
|
133
|
+
} = this.collection;
|
|
134
|
+
this.deleteConfirmModal.open({
|
|
135
|
+
theme: 'destructive',
|
|
136
|
+
title: t('cairo.deleteModal.title'),
|
|
137
|
+
content: t('cairo.deleteModal.body'),
|
|
138
|
+
primaryButtonText: t('cairo.delete.button'),
|
|
139
|
+
secondaryButtonText: t('cairo.cancel.button'),
|
|
140
|
+
primaryButtonOnClick: () => {
|
|
141
|
+
this.deleteItems(rowKeys);
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
resolveCellTypeByColumnId(columnId) {
|
|
146
|
+
return this.cellValue.resolveCellTypeByColumnId(columnId);
|
|
128
147
|
}
|
|
129
148
|
getCellDisplayValue(rowKey, columnId) {
|
|
130
149
|
return this.cellValue.getCellDisplayValue(rowKey, columnId);
|
|
@@ -140,12 +159,27 @@ class EditableTableState {
|
|
|
140
159
|
}
|
|
141
160
|
handleCellClick(rowKey, columnId, shiftKey) {
|
|
142
161
|
if (this.cellInteraction.isEditing) {
|
|
162
|
+
if (this.cellInteraction.isCellEditing(rowKey, columnId)) {
|
|
163
|
+
// Click landed inside the active editor — let the editor handle it.
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
// Shift-click while editing: ignore — extending a range selection during
|
|
167
|
+
// an active edit is not a meaningful action.
|
|
168
|
+
if (shiftKey) {
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
// Plain click on a different cell: commit the edit and move focus.
|
|
172
|
+
this.cellInteraction.commitEdit();
|
|
173
|
+
this.cellInteraction.focusCell(rowKey, columnId);
|
|
143
174
|
return;
|
|
144
175
|
}
|
|
145
176
|
const column = this._columnMap.get(columnId);
|
|
146
|
-
const resolved = column ? this.
|
|
147
|
-
if (resolved != null && resolved.toggleValue
|
|
148
|
-
|
|
177
|
+
const resolved = column ? this.resolveCellTypeByColumnId(column.id) : null;
|
|
178
|
+
if (resolved != null && resolved.toggleValue) {
|
|
179
|
+
// Toggle cells (e.g. boolean): click focuses the cell and shows the
|
|
180
|
+
// checkbox affordance. The toggle itself is committed when the user
|
|
181
|
+
// interacts with the checkbox or presses Enter — not on the bare cell
|
|
182
|
+
// click — so that clicking to focus doesn't inadvertently change the value.
|
|
149
183
|
this.cellInteraction.focusCell(rowKey, columnId);
|
|
150
184
|
return;
|
|
151
185
|
}
|
|
@@ -162,6 +196,14 @@ class EditableTableState {
|
|
|
162
196
|
if (this.updateItemDisabled) {
|
|
163
197
|
return;
|
|
164
198
|
}
|
|
199
|
+
const column = this._columnMap.get(columnId);
|
|
200
|
+
const resolved = column ? this.resolveCellTypeByColumnId(column.id) : null;
|
|
201
|
+
// Toggle-value cells (e.g. boolean) activate on single click, not double-click.
|
|
202
|
+
// Entering edit mode on double-click would apply the editing box-shadow
|
|
203
|
+
// without any EditComponent being shown, causing a visual border glitch.
|
|
204
|
+
if (resolved != null && resolved.toggleValue) {
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
165
207
|
if (this.isCellEditable(rowKey, columnId)) {
|
|
166
208
|
this.cellInteraction.startEdit(rowKey, columnId, 'doubleClick');
|
|
167
209
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_ToolbarCollectionState","_TableState","_CellInteractionState","_CellValueState","_ClipboardState","_MutationState","EditableTableState","constructor","params","_defineProperty2","default","items","tableState","onAddItemActionComplete","columnId","forceDirection","multiple","collection","sort","id","clearResult","toolbar","ToolbarCollectionState","container","componentType","TableState","cellValue","CellValueState","cellInteraction","CellInteractionState","editingValue","cell","commitHandler","clipboard","ClipboardState","mutation","MutationState","mutations","createOptimisticActions","makeObservable","addItemDisabled","observable","updateItemDisabled","removeItemDisabled","_allColumns","ref","editableColumns","computed","_columnMap","init","action","permissions","keyedItems","visibleColumns","itemsToRenderCount","Map","map","c","_getKeyedItem","key","getKeyedItem","_toIndices","pos","row","findIndex","ki","rowKey","col","_toPosition","visibleIds","length","find","filter","undefined","columns","addItem","afterItemKey","duplicateItem","deleteItems","rowKeys","resolveCellType","type","getCellDisplayValue","getCellValidation","isCellEditable","clearCells","cells","handleCellClick","shiftKey","isEditing","column","get","resolved","cellType","toggleValue","toggleCell","focusCell","selectionAnchor","selectRange","handleCellDoubleClick","startEdit","exports"],"sources":["../../../../src/state/EditableTable/EditableTableState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport {\n CollectionOptimisticActions,\n CollectionState,\n FiltersMap,\n SortOrder,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport type { KeyedItem } 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, EditableColumn, ValidationResult } from './types';\n\nexport interface EditableTablePermissions {\n addItemDisabled?: boolean;\n updateItemDisabled?: boolean;\n removeItemDisabled?: boolean;\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;\n readonly mutations: EditableTableMutationHandlers<T>;\n readonly createOptimisticActions: (\n collection: CollectionState<T, F>,\n ) => CollectionOptimisticActions<T, F>;\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}\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\n addItemDisabled = false;\n updateItemDisabled = false;\n removeItemDisabled = false;\n\n _allColumns: 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>(this);\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\n makeObservable(this, {\n addItemDisabled: observable,\n updateItemDisabled: observable,\n removeItemDisabled: observable,\n _allColumns: observable.ref,\n editableColumns: computed,\n _columnMap: computed,\n init: action,\n });\n\n if (params.permissions) {\n this.addItemDisabled = params.permissions.addItemDisabled ?? false;\n this.updateItemDisabled = params.permissions.updateItemDisabled ?? false;\n this.removeItemDisabled = params.permissions.removeItemDisabled ?? false;\n }\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 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 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._allColumns = columns;\n return this.mutation.init();\n }\n\n addItem(afterItemKey?: string) {\n 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 resolveCellType(type: string) {\n return this.cellValue.resolveCellType(type);\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 clearCells(cells: Cell[]) {\n this.cellValue.clearCells(cells);\n }\n\n handleCellClick(rowKey: string, columnId: string, shiftKey: boolean) {\n if (this.cellInteraction.isEditing) {\n return;\n }\n\n const column = this._columnMap.get(columnId);\n const resolved = column ? this.resolveCellType(column.cellType) : null;\n if (resolved?.toggleValue && !this.updateItemDisabled) {\n this.cellValue.toggleCell(rowKey, columnId);\n this.cellInteraction.focusCell(rowKey, columnId);\n return;\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 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":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AASA,IAAAC,uBAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAEA,IAAAG,qBAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AAmCO,MAAMO,kBAAkB,CAE/B;EAeEC,WAAWA,CAACC,MAAsC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,2BANlC,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,8BACF,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,8BACL,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,uBAES,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA,mCAqFVC,KAAU,IAAK;MACxC,OAAO,IAAI,CAACC,UAAU,CAACC,uBAAuB,CAACF,KAAK,CAAC;IACvD,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA,gBAiFM,CACLI,QAAgB,EAChB;MACEC,cAAc;MACdC;IACkD,CAAC,GAAG,CAAC,CAAC,KACvD;MACH,IAAI,CAACC,UAAU,CAACC,IAAI,CAClB;QAAEC,EAAE,EAAEL;MAAS,CAAC,EAChB;QAAEC,cAAc;QAAEK,WAAW,EAAE,IAAI;QAAEJ;MAAS,CAChD,CAAC;IACH,CAAC;IAhLC,IAAI,CAACK,OAAO,GACVb,MAAM,CAACa,OAAO,IACd,IAAIC,8CAAsB,CAAC;MACzBL,UAAU,EAAET,MAAM,CAACS,UAAU;MAC7BM,SAAS,EAAEf,MAAM,CAACe,SAAS;MAC3BC,aAAa,EAAE;IACjB,CAAC,CAAC;IAEJ,IAAI,CAACZ,UAAU,GAAG,IAAIa,sBAAU,CAAC;MAC/BR,UAAU,EAAET,MAAM,CAACS,UAAU;MAC7BM,SAAS,EAAEf,MAAM,CAACe,SAAS;MAC3BF,OAAO,EAAE,IAAI,CAACA;IAChB,CAAC,CAAC;IAEF,IAAI,CAACK,SAAS,GAAG,IAAIC,8BAAc,CAAO,IAAI,CAAC;IAE/C,IAAI,CAACC,eAAe,GAAG,IAAIC,0CAAoB,CAC7C,CAACC,YAAY,EAAEC,IAAI,KAAK;MACtB,IAAI,CAACL,SAAS,CAACM,aAAa,CAACF,YAAY,EAAEC,IAAI,CAAC;IAClD,CAAC,EACD,IACF,CAAC;IACD,IAAI,CAACE,SAAS,GAAG,IAAIC,8BAAc,CAAO,IAAI,CAAC;IAC/C,IAAI,CAACC,QAAQ,GAAG,IAAIC,4BAAa,CAC/B,IAAI,EACJ5B,MAAM,CAAC6B,SAAS,EAChB7B,MAAM,CAAC8B,uBACT,CAAC;IAED,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,eAAe,EAAEC,gBAAU;MAC3BC,kBAAkB,EAAED,gBAAU;MAC9BE,kBAAkB,EAAEF,gBAAU;MAC9BG,WAAW,EAAEH,gBAAU,CAACI,GAAG;MAC3BC,eAAe,EAAEC,cAAQ;MACzBC,UAAU,EAAED,cAAQ;MACpBE,IAAI,EAAEC;IACR,CAAC,CAAC;IAEF,IAAI1C,MAAM,CAAC2C,WAAW,EAAE;MACtB,IAAI,CAACX,eAAe,GAAGhC,MAAM,CAAC2C,WAAW,CAACX,eAAe,IAAI,KAAK;MAClE,IAAI,CAACE,kBAAkB,GAAGlC,MAAM,CAAC2C,WAAW,CAACT,kBAAkB,IAAI,KAAK;MACxE,IAAI,CAACC,kBAAkB,GAAGnC,MAAM,CAAC2C,WAAW,CAACR,kBAAkB,IAAI,KAAK;IAC1E;EACF;EAEA,IAAI1B,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACL,UAAU,CAACK,UAAU;EACnC;EAEA,IAAImC,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACxC,UAAU,CAACwC,UAAU;EACnC;EAEA,IAAIC,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAACzC,UAAU,CAACyC,cAAc;EACvC;EAEA,IAAIC,kBAAkBA,CAAA,EAAG;IACvB,OAAO,IAAI,CAAC1C,UAAU,CAAC0C,kBAAkB;EAC3C;EAEA,IAAIN,UAAUA,CAAA,EAAmC;IAC/C,OAAO,IAAIO,GAAG,CAAC,IAAI,CAACX,WAAW,CAACY,GAAG,CAAEC,CAAC,IAAK,CAACA,CAAC,CAACtC,EAAE,EAAEsC,CAAC,CAAC,CAAC,CAAC;EACxD;EAEAC,aAAaA,CAACC,GAAW,EAAmC;IAC1D,OAAO,IAAI,CAAC1C,UAAU,CAAC2C,YAAY,CAACD,GAAG,CAAC;EAC1C;EAEAE,UAAUA,CAACC,GAAS,EAAuC;IACzD,MAAMC,GAAG,GAAG,IAAI,CAACX,UAAU,CAACY,SAAS,CAAEC,EAAE,IAAKA,EAAE,CAACN,GAAG,KAAKG,GAAG,CAACI,MAAM,CAAC;IACpE,MAAMC,GAAG,GAAG,IAAI,CAACrB,eAAe,CAACkB,SAAS,CAAEP,CAAC,IAAKA,CAAC,CAACtC,EAAE,KAAK2C,GAAG,CAAChD,QAAQ,CAAC;IACxE,OAAOiD,GAAG,KAAK,CAAC,CAAC,IAAII,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG;MAAEJ,GAAG;MAAEI;IAAI,CAAC;EACvD;EAEAC,WAAWA,CAACL,GAAW,EAAEI,GAAW,EAAe;IACjD,MAAMF,EAAE,GAAG,IAAI,CAACb,UAAU,CAACW,GAAG,CAAC;IAC/B,MAAMN,CAAC,GAAG,IAAI,CAACX,eAAe,CAACqB,GAAG,CAAC;IACnC,OAAOF,EAAE,IAAIR,CAAC,GAAG;MAAES,MAAM,EAAED,EAAE,CAACN,GAAG;MAAE7C,QAAQ,EAAE2C,CAAC,CAACtC;IAAG,CAAC,GAAG,IAAI;EAC5D;EAMA,IAAI2B,eAAeA,CAAA,EAAwB;IACzC,MAAMuB,UAAU,GAAG,IAAI,CAAChB,cAAc,CAACG,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACtC,EAAE,CAAC;IACvD,IAAI,CAACkD,UAAU,CAACC,MAAM,EAAE;MACtB,OAAO,IAAI,CAAC1B,WAAW;IACzB;IACA,OAAOyB,UAAU,CACdb,GAAG,CAAErC,EAAE,IAAK,IAAI,CAACyB,WAAW,CAAC2B,IAAI,CAAEd,CAAC,IAAKA,CAAC,CAACtC,EAAE,KAAKA,EAAE,CAAC,CAAC,CACtDqD,MAAM,CAAEf,CAAC,IAA6BA,CAAC,KAAKgB,SAAS,CAAC;EAC3D;EAEAxB,IAAIA,CAACyB,OAA4B,EAAE;IACjC,IAAI,CAAC9B,WAAW,GAAG8B,OAAO;IAC1B,OAAO,IAAI,CAACvC,QAAQ,CAACc,IAAI,CAAC,CAAC;EAC7B;EAEA0B,OAAOA,CAACC,YAAqB,EAAE;IAC7B,IAAI,CAACzC,QAAQ,CAACwC,OAAO,CAACC,YAAY,CAAC;EACrC;EAEAC,aAAaA,CAACX,MAAc,EAAE;IAC5B,IAAI,CAAC/B,QAAQ,CAAC0C,aAAa,CAACX,MAAM,CAAC;EACrC;EAEAY,WAAWA,CAACC,OAAiB,EAAE;IAC7B,IAAI,CAAC5C,QAAQ,CAAC2C,WAAW,CAACC,OAAO,CAAC;EACpC;EAEAC,eAAeA,CAACC,IAAY,EAAE;IAC5B,OAAO,IAAI,CAACvD,SAAS,CAACsD,eAAe,CAACC,IAAI,CAAC;EAC7C;EAEAC,mBAAmBA,CAAChB,MAAc,EAAEpD,QAAgB,EAAO;IACzD,OAAO,IAAI,CAACY,SAAS,CAACwD,mBAAmB,CAAChB,MAAM,EAAEpD,QAAQ,CAAC;EAC7D;EAEAqE,iBAAiBA,CAACjB,MAAc,EAAEpD,QAAgB,EAAoB;IACpE,OAAO,IAAI,CAACY,SAAS,CAACyD,iBAAiB,CAACjB,MAAM,EAAEpD,QAAQ,CAAC;EAC3D;EAEAsE,cAAcA,CAAClB,MAAc,EAAEpD,QAAgB,EAAW;IACxD,OAAO,IAAI,CAACY,SAAS,CAAC0D,cAAc,CAAClB,MAAM,EAAEpD,QAAQ,CAAC;EACxD;EAEAuE,UAAUA,CAACC,KAAa,EAAE;IACxB,IAAI,CAAC5D,SAAS,CAAC2D,UAAU,CAACC,KAAK,CAAC;EAClC;EAEAC,eAAeA,CAACrB,MAAc,EAAEpD,QAAgB,EAAE0E,QAAiB,EAAE;IACnE,IAAI,IAAI,CAAC5D,eAAe,CAAC6D,SAAS,EAAE;MAClC;IACF;IAEA,MAAMC,MAAM,GAAG,IAAI,CAAC1C,UAAU,CAAC2C,GAAG,CAAC7E,QAAQ,CAAC;IAC5C,MAAM8E,QAAQ,GAAGF,MAAM,GAAG,IAAI,CAACV,eAAe,CAACU,MAAM,CAACG,QAAQ,CAAC,GAAG,IAAI;IACtE,IAAID,QAAQ,YAARA,QAAQ,CAAEE,WAAW,IAAI,CAAC,IAAI,CAACpD,kBAAkB,EAAE;MACrD,IAAI,CAAChB,SAAS,CAACqE,UAAU,CAAC7B,MAAM,EAAEpD,QAAQ,CAAC;MAC3C,IAAI,CAACc,eAAe,CAACoE,SAAS,CAAC9B,MAAM,EAAEpD,QAAQ,CAAC;MAChD;IACF;IAEA,IAAI0E,QAAQ,IAAI,IAAI,CAAC5D,eAAe,CAACqE,eAAe,EAAE;MACpD,IAAI,CAACrE,eAAe,CAACsE,WAAW,CAAC,IAAI,CAACtE,eAAe,CAACqE,eAAe,EAAE;QACrE/B,MAAM;QACNpD;MACF,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,IAAI,CAACc,eAAe,CAACoE,SAAS,CAAC9B,MAAM,EAAEpD,QAAQ,CAAC;IAClD;EACF;EAEAqF,qBAAqBA,CAACjC,MAAc,EAAEpD,QAAgB,EAAE;IACtD,IAAI,IAAI,CAAC4B,kBAAkB,EAAE;MAC3B;IACF;IACA,IAAI,IAAI,CAAC0C,cAAc,CAAClB,MAAM,EAAEpD,QAAQ,CAAC,EAAE;MACzC,IAAI,CAACc,eAAe,CAACwE,SAAS,CAAClC,MAAM,EAAEpD,QAAQ,EAAE,aAAa,CAAC;IACjE;EACF;AAcF;AAACuF,OAAA,CAAA/F,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_bexCore","_ToolbarCollectionState","_TableState","_CellInteractionState","_CellValueState","_ClipboardState","_MutationState","EditableTableState","constructor","params","_defineProperty2","default","ConditionalModalState","items","tableState","onAddItemActionComplete","columnId","forceDirection","multiple","collection","sort","id","clearResult","toolbar","ToolbarCollectionState","container","componentType","TableState","cellValue","CellValueState","cellInteraction","CellInteractionState","editingValue","cell","commitHandler","clipboard","ClipboardState","mutation","MutationState","mutations","createOptimisticActions","makeObservable","addItemDisabled","observable","updateItemDisabled","removeItemDisabled","_allColumns","ref","editableColumns","computed","_columnMap","init","action","confirmDeleteItems","permissions","keyedItems","visibleColumns","itemsToRenderCount","Map","map","c","_getKeyedItem","key","getKeyedItem","_toIndices","pos","row","findIndex","ki","rowKey","col","_toPosition","visibleIds","length","find","filter","undefined","columns","_buildCellTypeMap","addItem","afterItemKey","duplicateItem","deleteItems","rowKeys","translate","t","deleteConfirmModal","open","theme","title","content","primaryButtonText","secondaryButtonText","primaryButtonOnClick","resolveCellTypeByColumnId","getCellDisplayValue","getCellValidation","isCellEditable","clearCells","cells","handleCellClick","shiftKey","isEditing","isCellEditing","commitEdit","focusCell","column","get","resolved","toggleValue","selectionAnchor","selectRange","handleCellDoubleClick","startEdit","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 } 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, EditableColumn, ValidationResult } from './types';\n\nexport interface EditableTablePermissions {\n addItemDisabled?: boolean;\n updateItemDisabled?: boolean;\n removeItemDisabled?: boolean;\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;\n readonly mutations: EditableTableMutationHandlers<T>;\n readonly createOptimisticActions: (\n collection: CollectionState<T, F>,\n ) => CollectionOptimisticActions<T, F>;\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}\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\n _allColumns: 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>(this);\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\n makeObservable(this, {\n addItemDisabled: observable,\n updateItemDisabled: observable,\n removeItemDisabled: observable,\n _allColumns: observable.ref,\n editableColumns: computed,\n _columnMap: computed,\n init: action,\n confirmDeleteItems: action,\n });\n\n if (params.permissions) {\n this.addItemDisabled = params.permissions.addItemDisabled ?? false;\n this.updateItemDisabled = params.permissions.updateItemDisabled ?? false;\n this.removeItemDisabled = params.permissions.removeItemDisabled ?? false;\n }\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 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 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._allColumns = columns;\n this.cellValue._buildCellTypeMap();\n return this.mutation.init();\n }\n\n addItem(afterItemKey?: string) {\n 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 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(rowKeys);\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 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 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) {\n // Toggle cells (e.g. boolean): click focuses the cell and shows the\n // checkbox affordance. The toggle itself is committed when the user\n // interacts with the checkbox or presses Enter — not on the bare cell\n // click — so that clicking to focus doesn't inadvertently change the value.\n this.cellInteraction.focusCell(rowKey, columnId);\n return;\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) {\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":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAUA,IAAAE,uBAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AAEA,IAAAI,qBAAA,GAAAJ,OAAA;AACA,IAAAK,eAAA,GAAAL,OAAA;AACA,IAAAM,eAAA,GAAAN,OAAA;AACA,IAAAO,cAAA,GAAAP,OAAA;AAmCO,MAAMQ,kBAAkB,CAE/B;EAkBEC,WAAWA,CAACC,MAAsC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,8BAVtB,IAAIC,8BAAqB,CAErD,CAAC;IAAA,IAAAF,gBAAA,CAAAC,OAAA,2BAEe,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,8BACF,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,8BACL,KAAK;IAAA,IAAAD,gBAAA,CAAAC,OAAA,uBAES,EAAE;IAAA,IAAAD,gBAAA,CAAAC,OAAA,mCAsFVE,KAAU,IAAK;MACxC,OAAO,IAAI,CAACC,UAAU,CAACC,uBAAuB,CAACF,KAAK,CAAC;IACvD,CAAC;IAAA,IAAAH,gBAAA,CAAAC,OAAA,gBAuHM,CACLK,QAAgB,EAChB;MACEC,cAAc;MACdC;IACkD,CAAC,GAAG,CAAC,CAAC,KACvD;MACH,IAAI,CAACC,UAAU,CAACC,IAAI,CAClB;QAAEC,EAAE,EAAEL;MAAS,CAAC,EAChB;QAAEC,cAAc;QAAEK,WAAW,EAAE,IAAI;QAAEJ;MAAS,CAChD,CAAC;IACH,CAAC;IAvNC,IAAI,CAACK,OAAO,GACVd,MAAM,CAACc,OAAO,IACd,IAAIC,8CAAsB,CAAC;MACzBL,UAAU,EAAEV,MAAM,CAACU,UAAU;MAC7BM,SAAS,EAAEhB,MAAM,CAACgB,SAAS;MAC3BC,aAAa,EAAE;IACjB,CAAC,CAAC;IAEJ,IAAI,CAACZ,UAAU,GAAG,IAAIa,sBAAU,CAAC;MAC/BR,UAAU,EAAEV,MAAM,CAACU,UAAU;MAC7BM,SAAS,EAAEhB,MAAM,CAACgB,SAAS;MAC3BF,OAAO,EAAE,IAAI,CAACA;IAChB,CAAC,CAAC;IAEF,IAAI,CAACK,SAAS,GAAG,IAAIC,8BAAc,CAAO,IAAI,CAAC;IAE/C,IAAI,CAACC,eAAe,GAAG,IAAIC,0CAAoB,CAC7C,CAACC,YAAY,EAAEC,IAAI,KAAK;MACtB,IAAI,CAACL,SAAS,CAACM,aAAa,CAACF,YAAY,EAAEC,IAAI,CAAC;IAClD,CAAC,EACD,IACF,CAAC;IACD,IAAI,CAACE,SAAS,GAAG,IAAIC,8BAAc,CAAO,IAAI,CAAC;IAC/C,IAAI,CAACC,QAAQ,GAAG,IAAIC,4BAAa,CAC/B,IAAI,EACJ7B,MAAM,CAAC8B,SAAS,EAChB9B,MAAM,CAAC+B,uBACT,CAAC;IAED,IAAAC,oBAAc,EAAC,IAAI,EAAE;MACnBC,eAAe,EAAEC,gBAAU;MAC3BC,kBAAkB,EAAED,gBAAU;MAC9BE,kBAAkB,EAAEF,gBAAU;MAC9BG,WAAW,EAAEH,gBAAU,CAACI,GAAG;MAC3BC,eAAe,EAAEC,cAAQ;MACzBC,UAAU,EAAED,cAAQ;MACpBE,IAAI,EAAEC,YAAM;MACZC,kBAAkB,EAAED;IACtB,CAAC,CAAC;IAEF,IAAI3C,MAAM,CAAC6C,WAAW,EAAE;MACtB,IAAI,CAACZ,eAAe,GAAGjC,MAAM,CAAC6C,WAAW,CAACZ,eAAe,IAAI,KAAK;MAClE,IAAI,CAACE,kBAAkB,GAAGnC,MAAM,CAAC6C,WAAW,CAACV,kBAAkB,IAAI,KAAK;MACxE,IAAI,CAACC,kBAAkB,GAAGpC,MAAM,CAAC6C,WAAW,CAACT,kBAAkB,IAAI,KAAK;IAC1E;EACF;EAEA,IAAI1B,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACL,UAAU,CAACK,UAAU;EACnC;EAEA,IAAIoC,UAAUA,CAAA,EAAG;IACf,OAAO,IAAI,CAACzC,UAAU,CAACyC,UAAU;EACnC;EAEA,IAAIC,cAAcA,CAAA,EAAG;IACnB,OAAO,IAAI,CAAC1C,UAAU,CAAC0C,cAAc;EACvC;EAEA,IAAIC,kBAAkBA,CAAA,EAAG;IACvB,OAAO,IAAI,CAAC3C,UAAU,CAAC2C,kBAAkB;EAC3C;EAEA,IAAIP,UAAUA,CAAA,EAAmC;IAC/C,OAAO,IAAIQ,GAAG,CAAC,IAAI,CAACZ,WAAW,CAACa,GAAG,CAAEC,CAAC,IAAK,CAACA,CAAC,CAACvC,EAAE,EAAEuC,CAAC,CAAC,CAAC,CAAC;EACxD;EAEAC,aAAaA,CAACC,GAAW,EAAmC;IAC1D,OAAO,IAAI,CAAC3C,UAAU,CAAC4C,YAAY,CAACD,GAAG,CAAC;EAC1C;EAEAE,UAAUA,CAACC,GAAS,EAAuC;IACzD,MAAMC,GAAG,GAAG,IAAI,CAACX,UAAU,CAACY,SAAS,CAAEC,EAAE,IAAKA,EAAE,CAACN,GAAG,KAAKG,GAAG,CAACI,MAAM,CAAC;IACpE,MAAMC,GAAG,GAAG,IAAI,CAACtB,eAAe,CAACmB,SAAS,CAAEP,CAAC,IAAKA,CAAC,CAACvC,EAAE,KAAK4C,GAAG,CAACjD,QAAQ,CAAC;IACxE,OAAOkD,GAAG,KAAK,CAAC,CAAC,IAAII,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG;MAAEJ,GAAG;MAAEI;IAAI,CAAC;EACvD;EAEAC,WAAWA,CAACL,GAAW,EAAEI,GAAW,EAAe;IACjD,MAAMF,EAAE,GAAG,IAAI,CAACb,UAAU,CAACW,GAAG,CAAC;IAC/B,MAAMN,CAAC,GAAG,IAAI,CAACZ,eAAe,CAACsB,GAAG,CAAC;IACnC,OAAOF,EAAE,IAAIR,CAAC,GAAG;MAAES,MAAM,EAAED,EAAE,CAACN,GAAG;MAAE9C,QAAQ,EAAE4C,CAAC,CAACvC;IAAG,CAAC,GAAG,IAAI;EAC5D;EAMA,IAAI2B,eAAeA,CAAA,EAAwB;IACzC,MAAMwB,UAAU,GAAG,IAAI,CAAChB,cAAc,CAACG,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACvC,EAAE,CAAC;IACvD,IAAI,CAACmD,UAAU,CAACC,MAAM,EAAE;MACtB,OAAO,IAAI,CAAC3B,WAAW;IACzB;IACA,OAAO0B,UAAU,CACdb,GAAG,CAAEtC,EAAE,IAAK,IAAI,CAACyB,WAAW,CAAC4B,IAAI,CAAEd,CAAC,IAAKA,CAAC,CAACvC,EAAE,KAAKA,EAAE,CAAC,CAAC,CACtDsD,MAAM,CAAEf,CAAC,IAA6BA,CAAC,KAAKgB,SAAS,CAAC;EAC3D;EAEAzB,IAAIA,CAAC0B,OAA4B,EAAE;IACjC,IAAI,CAAC/B,WAAW,GAAG+B,OAAO;IAC1B,IAAI,CAACjD,SAAS,CAACkD,iBAAiB,CAAC,CAAC;IAClC,OAAO,IAAI,CAACzC,QAAQ,CAACc,IAAI,CAAC,CAAC;EAC7B;EAEA4B,OAAOA,CAACC,YAAqB,EAAE;IAC7B,IAAI,CAAC3C,QAAQ,CAAC0C,OAAO,CAACC,YAAY,CAAC;EACrC;EAEAC,aAAaA,CAACZ,MAAc,EAAE;IAC5B,IAAI,CAAChC,QAAQ,CAAC4C,aAAa,CAACZ,MAAM,CAAC;EACrC;EAEAa,WAAWA,CAACC,OAAiB,EAAE;IAC7B,IAAI,CAAC9C,QAAQ,CAAC6C,WAAW,CAACC,OAAO,CAAC;EACpC;EAEA9B,kBAAkBA,CAAC8B,OAAiB,EAAE;IACpC,MAAM;MAAEC,SAAS,EAAEC;IAAE,CAAC,GAAG,IAAI,CAAClE,UAAU;IACxC,IAAI,CAACmE,kBAAkB,CAACC,IAAI,CAAC;MAC3BC,KAAK,EAAE,aAAa;MACpBC,KAAK,EAAEJ,CAAC,CAAC,yBAAyB,CAAC;MACnCK,OAAO,EAAEL,CAAC,CAAC,wBAAwB,CAAC;MACpCM,iBAAiB,EAAEN,CAAC,CAAC,qBAAqB,CAAC;MAC3CO,mBAAmB,EAAEP,CAAC,CAAC,qBAAqB,CAAC;MAC7CQ,oBAAoB,EAAEA,CAAA,KAAM;QAC1B,IAAI,CAACX,WAAW,CAACC,OAAO,CAAC;MAC3B;IACF,CAAC,CAAC;EACJ;EAEAW,yBAAyBA,CAAC9E,QAAgB,EAAE;IAC1C,OAAO,IAAI,CAACY,SAAS,CAACkE,yBAAyB,CAAC9E,QAAQ,CAAC;EAC3D;EAEA+E,mBAAmBA,CAAC1B,MAAc,EAAErD,QAAgB,EAAO;IACzD,OAAO,IAAI,CAACY,SAAS,CAACmE,mBAAmB,CAAC1B,MAAM,EAAErD,QAAQ,CAAC;EAC7D;EAEAgF,iBAAiBA,CAAC3B,MAAc,EAAErD,QAAgB,EAAoB;IACpE,OAAO,IAAI,CAACY,SAAS,CAACoE,iBAAiB,CAAC3B,MAAM,EAAErD,QAAQ,CAAC;EAC3D;EAEAiF,cAAcA,CAAC5B,MAAc,EAAErD,QAAgB,EAAW;IACxD,OAAO,IAAI,CAACY,SAAS,CAACqE,cAAc,CAAC5B,MAAM,EAAErD,QAAQ,CAAC;EACxD;EAEAkF,UAAUA,CAACC,KAAa,EAAE;IACxB,IAAI,CAACvE,SAAS,CAACsE,UAAU,CAACC,KAAK,CAAC;EAClC;EAEAC,eAAeA,CAAC/B,MAAc,EAAErD,QAAgB,EAAEqF,QAAiB,EAAE;IACnE,IAAI,IAAI,CAACvE,eAAe,CAACwE,SAAS,EAAE;MAClC,IAAI,IAAI,CAACxE,eAAe,CAACyE,aAAa,CAAClC,MAAM,EAAErD,QAAQ,CAAC,EAAE;QACxD;QACA;MACF;MACA;MACA;MACA,IAAIqF,QAAQ,EAAE;QACZ;MACF;MACA;MACA,IAAI,CAACvE,eAAe,CAAC0E,UAAU,CAAC,CAAC;MACjC,IAAI,CAAC1E,eAAe,CAAC2E,SAAS,CAACpC,MAAM,EAAErD,QAAQ,CAAC;MAChD;IACF;IAEA,MAAM0F,MAAM,GAAG,IAAI,CAACxD,UAAU,CAACyD,GAAG,CAAC3F,QAAQ,CAAC;IAC5C,MAAM4F,QAAQ,GAAGF,MAAM,GAAG,IAAI,CAACZ,yBAAyB,CAACY,MAAM,CAACrF,EAAE,CAAC,GAAG,IAAI;IAC1E,IAAIuF,QAAQ,YAARA,QAAQ,CAAEC,WAAW,EAAE;MACzB;MACA;MACA;MACA;MACA,IAAI,CAAC/E,eAAe,CAAC2E,SAAS,CAACpC,MAAM,EAAErD,QAAQ,CAAC;MAChD;IACF;IAEA,IAAIqF,QAAQ,IAAI,IAAI,CAACvE,eAAe,CAACgF,eAAe,EAAE;MACpD,IAAI,CAAChF,eAAe,CAACiF,WAAW,CAAC,IAAI,CAACjF,eAAe,CAACgF,eAAe,EAAE;QACrEzC,MAAM;QACNrD;MACF,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,IAAI,CAACc,eAAe,CAAC2E,SAAS,CAACpC,MAAM,EAAErD,QAAQ,CAAC;IAClD;EACF;EAEAgG,qBAAqBA,CAAC3C,MAAc,EAAErD,QAAgB,EAAE;IACtD,IAAI,IAAI,CAAC4B,kBAAkB,EAAE;MAC3B;IACF;IACA,MAAM8D,MAAM,GAAG,IAAI,CAACxD,UAAU,CAACyD,GAAG,CAAC3F,QAAQ,CAAC;IAC5C,MAAM4F,QAAQ,GAAGF,MAAM,GAAG,IAAI,CAACZ,yBAAyB,CAACY,MAAM,CAACrF,EAAE,CAAC,GAAG,IAAI;IAC1E;IACA;IACA;IACA,IAAIuF,QAAQ,YAARA,QAAQ,CAAEC,WAAW,EAAE;MACzB;IACF;IACA,IAAI,IAAI,CAACZ,cAAc,CAAC5B,MAAM,EAAErD,QAAQ,CAAC,EAAE;MACzC,IAAI,CAACc,eAAe,CAACmF,SAAS,CAAC5C,MAAM,EAAErD,QAAQ,EAAE,aAAa,CAAC;IACjE;EACF;AAcF;AAACkG,OAAA,CAAA3G,kBAAA,GAAAA,kBAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_EditableTableState","require","exports","EditableTableState"],"sources":["../../../../src/state/EditableTable/index.ts"],"sourcesContent":["export { EditableTableState } from './EditableTableState';\nexport type {\n EditableTableStateParams,\n EditableTableStatePublicAPI,\n EditableTablePermissions,\n} from './EditableTableState';\n\nexport type { EditableTableMutationHandlers } from './MutationState';\n\nexport type {\n Cell,\n ValidationResult,\n CellType,\n EditableColumn,\n
|
|
1
|
+
{"version":3,"names":["_EditableTableState","require","exports","EditableTableState"],"sources":["../../../../src/state/EditableTable/index.ts"],"sourcesContent":["export { EditableTableState } from './EditableTableState';\nexport type {\n EditableTableStateParams,\n EditableTableStatePublicAPI,\n EditableTablePermissions,\n} from './EditableTableState';\n\nexport type { EditableTableMutationHandlers } from './MutationState';\n\nexport type {\n Cell,\n ValidationResult,\n CellType,\n EditableColumn,\n} from './types';\n"],"mappings":";;;;AAAA,IAAAA,mBAAA,GAAAC,OAAA;AAA0DC,OAAA,CAAAC,kBAAA,GAAAH,mBAAA,CAAAG,kBAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../../src/state/EditableTable/types.ts"],"sourcesContent":["import type { ComponentType } from 'react';\nimport type { TableColumn } from '../../model/tableColumn';\nimport type {\n CellViewProps,\n CellEditProps,\n} from '../../components/EditableTable/types';\n\nexport interface Cell {\n rowKey: string;\n columnId: string;\n}\n\nexport interface CellBorder {\n top: boolean;\n bottom: boolean;\n left: boolean;\n right: boolean;\n}\n\nexport type ValidationRule =\n | { type: 'required'; message: string }\n | { type: 'min' | 'max'; value: number; message: string }\n | { type: 'minLength' | 'maxLength'; value: number; message: string }\n | { type: 'pattern'; value: RegExp; message: string }\n | { type: 'custom'; validate: (value: unknown) => boolean; message: string };\n\nexport interface ValidationResult {\n valid: boolean;\n errors?: string[];\n}\n\nexport interface CellType {\n type: keyof CellTypeConfigMap;\n\n /** Render cell in view mode (read-only display) */\n ViewComponent: ComponentType<CellViewProps<any>>;\n\n /** Render cell in edit mode (inline editor). Optional — omit for view-only cells. */\n EditComponent?: ComponentType<CellEditProps<any>>;\n\n /** Serialize value to clipboard string */\n serialize?: (value: any) => string;\n\n /** Deserialize clipboard string to value */\n deserialize?: (raw: string) => any;\n\n /** Validate a cell value. Return null if valid, or error message string. */\n validate?: (value: any, rules?: ValidationRule[]) => string | null;\n\n /** Can this cell type be edited? (default: true) */\n editable?: boolean;\n\n /** Can this cell type be cleared with Delete key? (default: true) */\n clearable?: boolean;\n\n /** Toggle value on single click (e.g., boolean checkbox). Skips focus→edit flow. */\n toggleValue?: (value: any) => any;\n\n /** Called on type-to-edit. Return object with cleared value and/or prevent flag.\n * CMS-web pattern: text clears to '', number clears only for digits, date blocks non-digits. */\n onTypeToEdit?: (params: {\n key: string;\n }) => { value?: any
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../../src/state/EditableTable/types.ts"],"sourcesContent":["import type { ComponentType } from 'react';\nimport type { TableColumn } from '../../model/tableColumn';\nimport type {\n CellViewProps,\n CellEditProps,\n} from '../../components/EditableTable/types';\n\nexport interface Cell {\n rowKey: string;\n columnId: string;\n}\n\nexport interface CellBorder {\n top: boolean;\n bottom: boolean;\n left: boolean;\n right: boolean;\n}\n\nexport type ValidationRule =\n | { type: 'required'; message: string }\n | { type: 'min' | 'max'; value: number; message: string }\n | { type: 'minLength' | 'maxLength'; value: number; message: string }\n | { type: 'pattern'; value: RegExp; message: string }\n | { type: 'custom'; validate: (value: unknown) => boolean; message: string }\n | { type: 'specificValues'; values: { id: string; value: string }[]; message: string };\n\nexport interface ValidationResult {\n valid: boolean;\n errors?: string[];\n}\n\nexport interface CellType {\n type: keyof CellTypeConfigMap;\n\n /** Render cell in view mode (read-only display) */\n ViewComponent: ComponentType<CellViewProps<any>>;\n\n /** Render cell in edit mode (inline editor). Optional — omit for view-only cells. */\n EditComponent?: ComponentType<CellEditProps<any>>;\n\n /** Serialize value to clipboard string */\n serialize?: (value: any) => string;\n\n /** Deserialize clipboard string to value */\n deserialize?: (raw: string) => any;\n\n /** Validate a cell value. Return null if valid, or error message string. */\n validate?: (value: any, rules?: ValidationRule[]) => string | null;\n\n /** Can this cell type be edited? (default: true) */\n editable?: boolean;\n\n /** Can this cell type be cleared with Delete key? (default: true) */\n clearable?: boolean;\n\n /** Toggle value on single click (e.g., boolean checkbox). Skips focus→edit flow. */\n toggleValue?: (value: any) => any;\n\n /** Called on type-to-edit. Return object with cleared value and/or prevent flag.\n * CMS-web pattern: text clears to '', number clears only for digits, date blocks non-digits.\n * Return undefined to block the key. Return {} to enter edit mode without changing the value. */\n onTypeToEdit?: (params: {\n key: string;\n validation?: ValidationRule[];\n }) => { value?: any } | undefined;\n\n /** Optional hook to normalize the committed value (e.g. auto-prepend https://).\n * Called before commitEdit() from EditableCell (blur/Enter) and useKeyboardNavigation (Tab).\n * The value is written back to editingValue via runInAction before committing. */\n normalizeOnCommit?: (value: any) => any;\n\n}\n\nexport interface CellTypeConfigMap {\n text: never;\n number: never;\n boolean: never;\n url: never;\n email: never;\n date: never;\n object: never;\n custom: Omit<CellType, 'type'>;\n}\n\ninterface EditableColumnBase<T> extends Omit<TableColumn<T>, 'render'> {\n id: string;\n /** Column type — maps to a CellType in the registry */\n cellType: keyof CellTypeConfigMap;\n\n /** Extract the cell value from the row data */\n getValue: (item: T) => any;\n\n /** Return updated item with new cell value (immutable) */\n setValue?: (item: T, value: any) => T;\n\n /** Column-level validation rules */\n validation?: ValidationRule[];\n\n /** Is this column editable? (default: true if setValue exists) */\n editable?: boolean | ((item: T) => boolean);\n}\n\nexport type EditableColumn<\n T,\n C extends keyof CellTypeConfigMap = keyof CellTypeConfigMap,\n> = C extends C\n ? EditableColumnBase<T> & {\n cellType: C;\n typeConfig?: CellTypeConfigMap[C] extends never\n ? never\n : CellTypeConfigMap[C];\n }\n : never;\n"],"mappings":"","ignoreList":[]}
|
|
@@ -5,14 +5,14 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
|
|
|
5
5
|
var _stylableEsmRuntime = require("../../stylable-esm-runtime.js");
|
|
6
6
|
// @ts-nocheck
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "FormPageHeader2036921673";
|
|
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": "FormPageHeader2036921673__root"
|
|
16
16
|
};
|
|
17
17
|
var keyframes = exports.keyframes = {};
|
|
18
18
|
var layers = exports.layers = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/FormPage/FormPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"
|
|
1
|
+
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/FormPage/FormPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"FormPageHeader2036921673\";\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\":\"FormPageHeader2036921673__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,0BAA0B;AAC5C,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAAgC,CAAC;AACvD,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
|
|
@@ -101,10 +101,14 @@ class KanbanState {
|
|
|
101
101
|
var _this$kanbanStateBIRe, _this$kanbanStateBIRe2;
|
|
102
102
|
const disposers = [this.stagesCollectionState.init(), this.stagesOptimisticActions.init(), this.kanbanStateBIReporter.initAdditionalFeaturesAvailability(), this.toolbar.init({
|
|
103
103
|
featuresInitializers: []
|
|
104
|
-
}), this.dragAndDropState.init(), (0, _mobx.reaction)(() =>
|
|
104
|
+
}), this.dragAndDropState.init(), (0, _mobx.reaction)(() => ({
|
|
105
|
+
filters: this.queryComputed.filters,
|
|
106
|
+
search: this.queryComputed.search
|
|
107
|
+
}), () => {
|
|
105
108
|
this.triggerDebouncedStagesRefresh();
|
|
106
109
|
}, {
|
|
107
|
-
fireImmediately: false
|
|
110
|
+
fireImmediately: false,
|
|
111
|
+
equals: _mobx.comparer.structural
|
|
108
112
|
})];
|
|
109
113
|
this.kanbanStateBIReporter.init();
|
|
110
114
|
await this.loadStages();
|