@wix/patterns 1.439.0 → 1.442.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
- package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js +3 -3
- package/dist/cjs/components/CmsFieldManagement/CmsFieldForm.st.css.js.map +1 -1
- package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js +3 -3
- package/dist/cjs/components/CmsFieldManagement/CmsFieldModal.st.css.js.map +1 -1
- package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +3 -3
- package/dist/cjs/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js.map +1 -1
- package/dist/cjs/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +3 -3
- package/dist/cjs/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js.map +1 -1
- package/dist/cjs/components/Collapse/Collapse.st.css.js +3 -3
- package/dist/cjs/components/Collapse/Collapse.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/cjs/components/CollectionPageNew/CollectionPage.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js +3 -3
- package/dist/cjs/components/CollectionSectionHeader/CollectionSectionHeader.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
- package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/cjs/components/CustomColumnsPanel/ColumnListTableListItem.js +14 -13
- package/dist/cjs/components/CustomColumnsPanel/ColumnListTableListItem.js.map +1 -1
- package/dist/cjs/components/CustomFieldFilters/HasValueCustomFieldFilter.js +45 -0
- package/dist/cjs/components/CustomFieldFilters/HasValueCustomFieldFilter.js.map +1 -0
- package/dist/cjs/components/CustomFieldModal/CustomFieldTypeDropdown.js +7 -5
- package/dist/cjs/components/CustomFieldModal/CustomFieldTypeDropdown.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 +22 -28
- package/dist/cjs/components/EditableTable/EditableCell.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableCell.st.css +41 -8
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js +10 -4
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableCell.uni.driver.js +8 -2
- package/dist/cjs/components/EditableTable/EditableCell.uni.driver.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableTable.js +18 -10
- package/dist/cjs/components/EditableTable/EditableTable.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableTable.uni.driver.js +2 -0
- package/dist/cjs/components/EditableTable/EditableTable.uni.driver.js.map +1 -1
- package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js +8 -8
- package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js +7 -7
- package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/multiReference/View.js +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/multiReference/View.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/richContent/index.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/richContent/index.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/select/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js +4 -4
- package/dist/cjs/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js +4 -4
- package/dist/cjs/components/EditableTable/cellTypes/time/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/url/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js +5 -5
- package/dist/cjs/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
- package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js +2 -2
- package/dist/cjs/components/EmptyState/EmptyStateBase.st.css.js.map +1 -1
- package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/cjs/components/EntityPage/EntityPagePlain.st.css.js.map +1 -1
- package/dist/cjs/components/EntityPageFields/EntityPageCustomField.js +61 -0
- package/dist/cjs/components/EntityPageFields/EntityPageCustomField.js.map +1 -0
- package/dist/cjs/components/EntityPageFields/EntityPageField.js +39 -18
- package/dist/cjs/components/EntityPageFields/EntityPageField.js.map +1 -1
- package/dist/cjs/components/EntityPageFields/EntityPageFields.js +26 -19
- package/dist/cjs/components/EntityPageFields/EntityPageFields.js.map +1 -1
- package/dist/cjs/components/Fade/Fade.st.css.js +2 -2
- package/dist/cjs/components/Fade/Fade.st.css.js.map +1 -1
- package/dist/cjs/components/Heading/Heading.st.css.js +2 -2
- package/dist/cjs/components/Heading/Heading.st.css.js.map +1 -1
- package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js +3 -3
- package/dist/cjs/components/ImportButton/ImportStepUpload.st.css.js.map +1 -1
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/cjs/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/cjs/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/cjs/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +5 -5
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
- package/dist/cjs/components/SchemaSource/schemaFieldManagement.js +36 -12
- package/dist/cjs/components/SchemaSource/schemaFieldManagement.js.map +1 -1
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- package/dist/cjs/components/SetupWidget/SetupStepGroup.js +39 -23
- package/dist/cjs/components/SetupWidget/SetupStepGroup.js.map +1 -1
- package/dist/cjs/components/SetupWidget/SetupStepRow.js +91 -68
- package/dist/cjs/components/SetupWidget/SetupStepRow.js.map +1 -1
- package/dist/cjs/components/SetupWidget/SetupStepSecondaryCta.js +69 -0
- package/dist/cjs/components/SetupWidget/SetupStepSecondaryCta.js.map +1 -0
- package/dist/cjs/components/SetupWidget/SetupWidget.js +16 -13
- package/dist/cjs/components/SetupWidget/SetupWidget.js.map +1 -1
- package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js +9 -9
- package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
- package/dist/cjs/components/SetupWidget/SetupWidget.uni.driver.js +9 -0
- package/dist/cjs/components/SetupWidget/SetupWidget.uni.driver.js.map +1 -1
- package/dist/cjs/components/SetupWidget/index.js.map +1 -1
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js +4 -4
- package/dist/cjs/components/Table/AddFieldColumnHeader.st.css.js.map +1 -1
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItem/ToolbarItem.st.css.js.map +1 -1
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/cjs/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/cjs/components/common.st.css.js +4 -4
- package/dist/cjs/components/common.st.css.js.map +1 -1
- package/dist/cjs/hooks/useCreateWSRColumnBase.js +8 -6
- package/dist/cjs/hooks/useCreateWSRColumnBase.js.map +1 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/model/tableColumn.js.map +1 -1
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/cjs/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
- package/dist/cjs/state/EditableTable/CellValueState.js +18 -4
- package/dist/cjs/state/EditableTable/CellValueState.js.map +1 -1
- package/dist/cjs/state/EditableTable/EditableTableState.js +5 -1
- package/dist/cjs/state/EditableTable/EditableTableState.js.map +1 -1
- package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
- package/dist/cjs/state/TagsCollectionState.js.map +1 -1
- package/dist/cjs/state/buildEditableFieldColumns.js +1 -0
- package/dist/cjs/state/buildEditableFieldColumns.js.map +1 -1
- package/dist/cjs/state/buildFieldColumns.js +2 -1
- package/dist/cjs/state/buildFieldColumns.js.map +1 -1
- package/dist/cjs/state/buildFieldFilters.js +35 -4
- package/dist/cjs/state/buildFieldFilters.js.map +1 -1
- package/dist/cjs/styles.global.css +2 -2
- package/dist/cjs/utils/fieldTypePrefixIcons.js +27 -7
- package/dist/cjs/utils/fieldTypePrefixIcons.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/docs/CustomFieldType.md +407 -0
- package/dist/docs/MultiAutoInlineCheckboxFilter.md +1 -1
- package/dist/docs/MultiInlineCheckboxFilter.md +1 -1
- package/dist/docs/TableColumn.md +1 -0
- package/dist/docs/index.json +23 -23
- package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/CmsFieldForm.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/CmsFieldModal.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.js +2 -2
- package/dist/esm/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.js +2 -2
- package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
- package/dist/esm/components/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/CollectionTableWSRTable.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/CustomColumnsPanel/ColumnListTableListItem.js +4 -1
- package/dist/esm/components/CustomColumnsPanel/ColumnListTableListItem.js.map +1 -1
- package/dist/esm/components/CustomFieldFilters/HasValueCustomFieldFilter.js +30 -0
- package/dist/esm/components/CustomFieldFilters/HasValueCustomFieldFilter.js.map +1 -0
- package/dist/esm/components/CustomFieldModal/CustomFieldTypeDropdown.js +2 -0
- package/dist/esm/components/CustomFieldModal/CustomFieldTypeDropdown.js.map +1 -1
- package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/components/EditableTable/EditableCell.js +22 -24
- package/dist/esm/components/EditableTable/EditableCell.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableCell.st.css +41 -8
- package/dist/esm/components/EditableTable/EditableCell.st.css.js +3 -3
- package/dist/esm/components/EditableTable/EditableCell.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableCell.uni.driver.js +8 -2
- package/dist/esm/components/EditableTable/EditableCell.uni.driver.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableTable.js +6 -1
- package/dist/esm/components/EditableTable/EditableTable.js.map +1 -1
- package/dist/esm/components/EditableTable/EditableTable.uni.driver.js +4 -0
- package/dist/esm/components/EditableTable/EditableTable.uni.driver.js.map +1 -1
- package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/address/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/array/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/boolean/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/email/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/multiReference/View.js +1 -1
- package/dist/esm/components/EditableTable/cellTypes/multiReference/View.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/number/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/richContent/index.js +2 -1
- package/dist/esm/components/EditableTable/cellTypes/richContent/index.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/select/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/text/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/text/View.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/time/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
- package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js +2 -2
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/esm/components/EntityPageFields/EntityPageCustomField.js +27 -0
- package/dist/esm/components/EntityPageFields/EntityPageCustomField.js.map +1 -0
- package/dist/esm/components/EntityPageFields/EntityPageField.js +23 -13
- package/dist/esm/components/EntityPageFields/EntityPageField.js.map +1 -1
- package/dist/esm/components/EntityPageFields/EntityPageFields.js +2 -1
- package/dist/esm/components/EntityPageFields/EntityPageFields.js.map +1 -1
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/Fade/Fade.st.css.js.map +1 -1
- package/dist/esm/components/Heading/Heading.st.css.js +2 -2
- package/dist/esm/components/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/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
- package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/esm/components/SchemaSource/schemaFieldManagement.js +52 -28
- package/dist/esm/components/SchemaSource/schemaFieldManagement.js.map +1 -1
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/esm/components/SetupWidget/SetupStepGroup.js +6 -1
- package/dist/esm/components/SetupWidget/SetupStepGroup.js.map +1 -1
- package/dist/esm/components/SetupWidget/SetupStepRow.js +21 -15
- package/dist/esm/components/SetupWidget/SetupStepRow.js.map +1 -1
- package/dist/esm/components/SetupWidget/SetupStepSecondaryCta.js +20 -0
- package/dist/esm/components/SetupWidget/SetupStepSecondaryCta.js.map +1 -0
- package/dist/esm/components/SetupWidget/SetupWidget.js +5 -3
- package/dist/esm/components/SetupWidget/SetupWidget.js.map +1 -1
- package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
- package/dist/esm/components/SetupWidget/SetupWidget.uni.driver.js +10 -1
- package/dist/esm/components/SetupWidget/SetupWidget.uni.driver.js.map +1 -1
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/esm/components/Table/AddFieldColumnHeader.st.css.js +2 -2
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
- package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/esm/components/ToolbarItem/ToolbarItem.st.css.js +2 -2
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js.map +1 -1
- package/dist/esm/components/common.st.css.js +2 -2
- package/dist/esm/hooks/useCreateWSRColumnBase.js +2 -2
- package/dist/esm/hooks/useCreateWSRColumnBase.js.map +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/model/tableColumn.js.map +1 -1
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js.map +1 -1
- package/dist/esm/state/EditableTable/CellValueState.js +14 -0
- package/dist/esm/state/EditableTable/CellValueState.js.map +1 -1
- package/dist/esm/state/EditableTable/EditableTableState.js +7 -1
- 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/TagsCollectionState.js.map +1 -1
- package/dist/esm/state/buildEditableFieldColumns.js +1 -1
- package/dist/esm/state/buildEditableFieldColumns.js.map +1 -1
- package/dist/esm/state/buildFieldColumns.js +1 -0
- package/dist/esm/state/buildFieldColumns.js.map +1 -1
- package/dist/esm/state/buildFieldFilters.js +31 -0
- package/dist/esm/state/buildFieldFilters.js.map +1 -1
- package/dist/esm/styles.global.css +2 -2
- package/dist/esm/utils/fieldTypePrefixIcons.js +6 -1
- package/dist/esm/utils/fieldTypePrefixIcons.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/components/CollectionTable/CollectionTableWSRTable.st.css.d.ts.map +1 -1
- package/dist/types/components/CustomColumnsPanel/ColumnListTableListItem.d.ts.map +1 -1
- package/dist/types/components/CustomFieldFilters/HasValueCustomFieldFilter.d.ts +24 -0
- package/dist/types/components/CustomFieldFilters/HasValueCustomFieldFilter.d.ts.map +1 -0
- package/dist/types/components/CustomFieldModal/CustomFieldTypeDropdown.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableCell.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableCell.st.css.d.ts +8 -2
- package/dist/types/components/EditableTable/EditableCell.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts +7 -6
- package/dist/types/components/EditableTable/EditableCell.uni.driver.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableTable.d.ts +1 -1
- package/dist/types/components/EditableTable/EditableTable.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts +52 -42
- package/dist/types/components/EditableTable/EditableTable.uni.driver.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/CellViewLayout.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/boolean/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/date/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/datetime/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/email/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/number/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/richContent/index.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/text/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/text/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EntityPageFields/EntityPageCustomField.d.ts +14 -0
- package/dist/types/components/EntityPageFields/EntityPageCustomField.d.ts.map +1 -0
- package/dist/types/components/EntityPageFields/EntityPageField.d.ts +4 -2
- package/dist/types/components/EntityPageFields/EntityPageField.d.ts.map +1 -1
- package/dist/types/components/EntityPageFields/EntityPageFields.d.ts.map +1 -1
- package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
- package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
- package/dist/types/components/SchemaSource/schemaFieldManagement.d.ts.map +1 -1
- package/dist/types/components/SetupWidget/SetupStepGroup.d.ts +3 -1
- package/dist/types/components/SetupWidget/SetupStepGroup.d.ts.map +1 -1
- package/dist/types/components/SetupWidget/SetupStepRow.d.ts +3 -1
- package/dist/types/components/SetupWidget/SetupStepRow.d.ts.map +1 -1
- package/dist/types/components/SetupWidget/SetupStepSecondaryCta.d.ts +14 -0
- package/dist/types/components/SetupWidget/SetupStepSecondaryCta.d.ts.map +1 -0
- package/dist/types/components/SetupWidget/SetupWidget.d.ts +7 -1
- package/dist/types/components/SetupWidget/SetupWidget.d.ts.map +1 -1
- package/dist/types/components/SetupWidget/SetupWidget.uni.driver.d.ts +8 -0
- package/dist/types/components/SetupWidget/SetupWidget.uni.driver.d.ts.map +1 -1
- package/dist/types/components/SetupWidget/index.d.ts +1 -1
- package/dist/types/components/SetupWidget/index.d.ts.map +1 -1
- package/dist/types/components/SkeletonCard/SkeletonCard.st.css.d.ts.map +1 -1
- package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
- package/dist/types/hooks/useCreateWSRColumnBase.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/model/tableColumn.d.ts +19 -1
- package/dist/types/model/tableColumn.d.ts.map +1 -1
- package/dist/types/state/CollectionPage/CollectionPageHeader.st.css.d.ts.map +1 -1
- package/dist/types/state/EditableTable/CellValueState.d.ts +4 -0
- package/dist/types/state/EditableTable/CellValueState.d.ts.map +1 -1
- package/dist/types/state/EditableTable/EditableTableState.d.ts.map +1 -1
- package/dist/types/state/buildEditableFieldColumns.d.ts +2 -1
- package/dist/types/state/buildEditableFieldColumns.d.ts.map +1 -1
- package/dist/types/state/buildFieldColumns.d.ts.map +1 -1
- package/dist/types/state/buildFieldFilters.d.ts.map +1 -1
- package/dist/types/testkit/jsdom.d.ts +7 -2
- package/dist/types/testkit/jsdom.d.ts.map +1 -1
- package/dist/types/testkit/playwright.d.ts +3 -2
- package/dist/types/testkit/playwright.d.ts.map +1 -1
- package/dist/types/testkit/puppeteer.d.ts +3 -2
- package/dist/types/testkit/puppeteer.d.ts.map +1 -1
- package/dist/types/utils/fieldTypePrefixIcons.d.ts +8 -2
- package/dist/types/utils/fieldTypePrefixIcons.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +7 -7
- package/src/components/CardContainer/CardContainer.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/CmsFieldForm.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/CmsFieldModal.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/Sections/ValidationAndDefaultsSection.st.css.ts +2 -2
- package/src/components/CmsFieldManagement/formFields/CharactersLimitInput.st.css.ts +2 -2
- package/src/components/Collapse/Collapse.st.css.ts +2 -2
- package/src/components/CollectionPageNew/CollectionPage.st.css.ts +2 -2
- package/src/components/CollectionSectionHeader/CollectionSectionHeader.st.css.ts +2 -2
- package/src/components/CollectionTable/CollectionTable.st.css.ts +2 -2
- package/src/components/CollectionTable/CollectionTableWSRTable.st.css.ts +2 -2
- package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
- package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
- package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
- package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
- package/src/components/CustomColumnsPanel/ColumnListTableListItem.tsx +4 -1
- package/src/components/CustomFieldFilters/HasValueCustomFieldFilter.tsx +48 -0
- package/src/components/CustomFieldModal/CustomFieldTypeDropdown.tsx +2 -0
- package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
- package/src/components/EditableTable/EditableCell.st.css +41 -8
- package/src/components/EditableTable/EditableCell.st.css.ts +3 -3
- package/src/components/EditableTable/EditableCell.tsx +57 -51
- package/src/components/EditableTable/EditableCell.uni.driver.ts +10 -3
- package/src/components/EditableTable/EditableTable.tsx +9 -0
- package/src/components/EditableTable/EditableTable.uni.driver.ts +8 -0
- package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/array/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/color/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/datetime/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/datetime/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/multiReference/View.tsx +1 -1
- package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/richContent/index.tsx +4 -1
- package/src/components/EditableTable/cellTypes/select/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/text/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/text/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/time/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/url/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/url/View.st.css.ts +2 -2
- package/src/components/EmptyState/EmptyStateBase.st.css.ts +2 -2
- package/src/components/EntityPage/EntityPagePlain.st.css.ts +2 -2
- package/src/components/EntityPageFields/EntityPageCustomField.tsx +61 -0
- package/src/components/EntityPageFields/EntityPageField.tsx +45 -17
- package/src/components/EntityPageFields/EntityPageFields.tsx +5 -0
- package/src/components/Fade/Fade.st.css.ts +2 -2
- package/src/components/Heading/Heading.st.css.ts +2 -2
- package/src/components/ImportButton/ImportStepUpload.st.css.ts +2 -2
- package/src/components/InputOverflow/InputOverflow.st.css.ts +2 -2
- package/src/components/LoadingRow/LoadingRow.st.css.ts +3 -3
- package/src/components/MaxHeightText/MaxHeightText.st.css.ts +2 -2
- package/src/components/MaxLines/MaxLines.st.css.ts +2 -2
- package/src/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.ts +2 -2
- package/src/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.ts +2 -2
- package/src/components/NestedTable/NestedTableRow.st.css.ts +2 -2
- package/src/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.ts +2 -2
- package/src/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.ts +2 -2
- package/src/components/PickerContent/PickerContent.st.css.ts +2 -2
- package/src/components/PickerContent/PickerContentAdditionalStep.st.css.ts +2 -2
- package/src/components/PickerTableListItem/PickerTableListItem.st.css.ts +2 -2
- package/src/components/SchemaSource/schemaFieldManagement.ts +59 -31
- package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
- package/src/components/SetupWidget/SetupStepGroup.tsx +16 -0
- package/src/components/SetupWidget/SetupStepRow.tsx +49 -30
- package/src/components/SetupWidget/SetupStepSecondaryCta.tsx +58 -0
- package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
- package/src/components/SetupWidget/SetupWidget.tsx +15 -0
- package/src/components/SetupWidget/SetupWidget.uni.driver.ts +18 -0
- package/src/components/SetupWidget/index.ts +1 -0
- package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
- package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
- package/src/components/Table/AddFieldColumnHeader.st.css.ts +2 -2
- package/src/components/TabsFilter/TabsFilter.st.css.ts +2 -2
- package/src/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.ts +2 -2
- package/src/components/ToolbarItem/ToolbarItem.st.css.ts +2 -2
- package/src/components/ToolbarItemBox/ToolbarItemBox.st.css.ts +2 -2
- package/src/components/common.st.css.ts +2 -2
- package/src/hooks/useCreateWSRColumnBase.tsx +12 -3
- package/src/index.ts +3 -0
- package/src/model/tableColumn.ts +13 -1
- package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
- package/src/state/EditableTable/CellValueState.ts +20 -0
- package/src/state/EditableTable/EditableTableState.ts +13 -1
- package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
- package/src/state/TagsCollectionState.ts +3 -3
- package/src/state/buildEditableFieldColumns.ts +1 -1
- package/src/state/buildFieldColumns.tsx +1 -0
- package/src/state/buildFieldFilters.tsx +31 -0
- package/src/styles.global.css +2 -2
- package/src/utils/fieldTypePrefixIcons.tsx +13 -0
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_tableColumnPublicApiTest","c"],"sources":["../../../src/model/tableColumn.ts"],"sourcesContent":["import type { TableColumn as TableColumnWSR } from '@wix/design-system';\nimport type { Field, KeyedItem, SortMode, SortOrder } from '@wix/bex-core';\nimport { CSSProperties, ReactNode } from 'react';\nimport type { FieldType } from '../utils/fieldTypePrefixIcons';\nimport type { ValidationRule } from '../state/EditableTable/types';\n\ntype TableColumnBase<T = any> = Omit<\n TableColumnWSR<T>,\n 'sortDescending' | 'sortable' | 'infoTooltipProps' | 'style' | 'titleSuffix'\n> & {\n style?:\n | CSSProperties\n | ((\n column: TableColumnWSR,\n rowData: KeyedItem<T>,\n rowNum: number,\n ) => CSSProperties);\n reorderDisabled?: boolean;\n defaultSortOrder?: SortOrder;\n sortMode?: SortMode;\n searchable?: boolean;\n infoTooltipProps?: TableColumnWSR['infoTooltipProps'] & {\n panelContent?: ReactNode;\n };\n mobile?: ColumnMobileConfig;\n /**\n * The field type string used to resolve a prefix icon for the column.\n * Cairo maps this to the appropriate icon internally.\n * @external\n */\n fieldType?: FieldType;\n /**\n * Whether the field contains personally identifiable information.\n * @external\n */\n isPii?: boolean;\n /**\n * only for cms. Whether this is a system-managed field.\n * @external\n */\n isSystem?: boolean;\n /**\n * Whether this is the primary display field.\n * @external\n */\n isPrimary?: boolean;\n /**\n * Column-level validation rules. When a `required` rule is present, a required indicator is shown in the custom columns panel.\n * @external\n */\n validation?: ValidationRule[];\n};\n\n// disallow specifying `hideable` / `defaultHidden` or setting `hiddenFromCustomColumnsSelection` as false when `id` is missing\ninterface TableColumnOptional<T> extends TableColumnBase<T> {\n id?: string;\n name?: string;\n hiddenFromCustomColumnsSelection?: undefined | true;\n hideable?: undefined;\n defaultHidden?: undefined;\n}\n\n// common case for custom column definition\ninterface TableColumnCustom<T> extends TableColumnBase<T> {\n id: string;\n name: string;\n hiddenFromCustomColumnsSelection?: false;\n hideable?: true;\n defaultHidden?: boolean;\n}\n\n// allow `name` to be optional when `title` exists\ninterface TableColumnCustomOptionalName<T> extends TableColumnBase<T> {\n id: string;\n name?: string;\n title: TableColumnBase['title'];\n hiddenFromCustomColumnsSelection?: false;\n hideable?: true;\n defaultHidden?: boolean;\n}\n\n// force `defaultHidden=false|undefined` when `hideable=false`\ninterface TableColumnCustomDefaultHidden<T> extends TableColumnBase<T> {\n id: string;\n name?: string;\n title: TableColumnBase['title'];\n hiddenFromCustomColumnsSelection?: false;\n hideable: false;\n defaultHidden?: undefined | false;\n}\n\nexport type CustomColumnConfig<T> =\n | TableColumnOptional<T>\n | TableColumnCustom<T>\n | TableColumnCustomDefaultHidden<T>\n | TableColumnCustomOptionalName<T>;\n\nexport interface SortableColumnConfig<T> extends TableColumnBase<T> {\n id: string;\n sortable: true;\n}\n\nexport interface NotSortableColumnConfig<T> extends TableColumnBase<T> {\n id?: string;\n sortable?: false;\n}\n\nexport type SortableConfig<T> =\n | SortableColumnConfig<T>\n | NotSortableColumnConfig<T>;\n\nexport type TableColumn<T> = CustomColumnConfig<T> & SortableConfig<T>;\n\nexport type ColumnMobileConfig =\n | {\n /**\n * Which mobile column to display in.\n * - 'first': Stacks vertically with other 'first' columns\n * - 'second': Displays as standalone second column\n * - undefined: Hidden on mobile\n */\n column: 'first';\n /**\n * Sort order within 'first' column (lower appears higher).\n * Only relevant when column is 'first'.\n * @default Infinity\n */\n order?: number;\n }\n | {\n /**\n * Which mobile column to display in.\n * - 'first': Stacks vertically with other 'first' columns\n * - 'second': Displays as standalone second column\n * - undefined: Hidden on mobile\n */\n column?: 'second';\n };\n\nexport interface Column {\n /**\n * A unique identifier for the column. This value is required to enable [custom columns](./?path=/story/features-display-custom-columns--overview) or [sortable columns](./?path=/story/features-sort-sortable-columns-sortable-columns--sortable-columns).\n * @external\n */\n id: string;\n /**\n * A name for the column. This value is shown in the [custom columns](./?path=/story/features-display-custom-columns--overview) dropdown.\n * @external\n */\n name: string;\n /**\n * The text to be shown at the top of the column.\n * @external\n */\n title: TableColumnBase['title'];\n /**\n * Hides the column from the custom column selection panel, making it always visible. Relevant for [custom columns](./?path=/story/features-display-custom-columns--overview).\n * @external\n */\n hiddenFromCustomColumnsSelection?: boolean;\n /**\n * When `false`, the column is always selected and displayed. Relevant for [custom columns](./?path=/story/features-display-custom-columns--overview).\n */\n hideable?: boolean;\n /**\n * When `true`, search matches in the column's values will be highlighted. Mark a column as searchable only if iy's data is relevant for your search.\n */\n searchable?: boolean;\n /**\n * When `true`, disables drag and drop for the column.\n * @external\n */\n reorderDisabled?: boolean;\n /**\n * When `true`, makes the column a [sortable column](./?path=/story/features-sort-sortable-columns-sortable-columns--sortable-columns).\n * @external\n */\n sortable?: boolean;\n sortDescending?: boolean;\n sortMode?: SortMode;\n /**\n * Determines the default sort order for the column, either `asc` or `desc`. The column must be a [sortable column](./?path=/story/features-sort-sortable-columns-sortable-columns--sortable-columns).\n * @external\n */\n defaultSortOrder?: SortOrder;\n /**\n * For [custom columns](./?path=/story/features-display-custom-columns--overview), when `true`, this property causes the column to be unchecked and thus not shown by default. This isn't relevant when `hideable` `=` `false`.\n * @external\n */\n defaultHidden?: boolean;\n dataExtension?: { id: string; editable: boolean; isPii?: boolean };\n /** The source field this column was built from; used to resolve manage actions. */\n field?: Field;\n /**\n * Whether the field contains personally identifiable information.\n * @external\n */\n isPii?: boolean;\n /**\n * only for cms. Whether this is a system-managed field.\n * @external\n */\n isSystem?: boolean;\n /**\n * Whether this is the primary display field.\n * @external\n */\n isPrimary?: boolean;\n /**\n * Column-level validation rules. When a `required` rule is present, a required indicator is shown in the custom columns panel.\n * @external\n */\n validation?: ValidationRule[];\n infoTooltipProps?: {\n content?: ReactNode;\n panelContent?: ReactNode;\n };\n /**\n * A callback that is called for each row in the data to display the value of this row for the specified column.\n * @external\n */\n render: TableColumnWSR['render'];\n width?: TableColumnWSR['width'];\n style?: TableColumnWSR['style'];\n /**\n * Mobile column configuration. Determines how this column is displayed on mobile devices.\n * - column: 'first' - Stacks vertically with other 'first' columns\n * - column: 'second' - Displays as standalone second column\n * - undefined - Hidden on mobile\n * @external\n */\n mobile?: ColumnMobileConfig;\n /**\n * The field type string used to resolve a prefix icon for the column.\n * Cairo maps this to the appropriate icon internally.\n * @external\n */\n fieldType?: FieldType;\n}\n\n// eslint-disable-next-line @typescript-eslint/prefer-ts-expect-error\n// @ts-ignore\nfunction _tableColumnPublicApiTest<T>(\n c: TableColumn<T>,\n): Omit<Column, 'id' | 'name'> & Pick<Partial<Column>, 'id' | 'name'> {\n return c;\n}\n"],"mappings":";;;
|
|
1
|
+
{"version":3,"names":["_tableColumnPublicApiTest","c"],"sources":["../../../src/model/tableColumn.ts"],"sourcesContent":["import type { TableColumn as TableColumnWSR } from '@wix/design-system';\nimport type { Field, KeyedItem, SortMode, SortOrder } from '@wix/bex-core';\nimport { ComponentType, CSSProperties, ReactNode } from 'react';\nimport type { FieldType } from '../utils/fieldTypePrefixIcons';\nimport type { ValidationRule } from '../state/EditableTable/types';\n\ntype TableColumnBase<T = any> = Omit<\n TableColumnWSR<T>,\n 'sortDescending' | 'sortable' | 'infoTooltipProps' | 'style' | 'titleSuffix'\n> & {\n style?:\n | CSSProperties\n | ((\n column: TableColumnWSR,\n rowData: KeyedItem<T>,\n rowNum: number,\n ) => CSSProperties);\n reorderDisabled?: boolean;\n defaultSortOrder?: SortOrder;\n sortMode?: SortMode;\n searchable?: boolean;\n infoTooltipProps?: TableColumnWSR['infoTooltipProps'] & {\n panelContent?: ReactNode;\n };\n mobile?: ColumnMobileConfig;\n /**\n * The field type string used to resolve a prefix icon for the column.\n * Cairo maps this to the appropriate icon internally.\n * @external\n */\n fieldType?: FieldType;\n /**\n * Explicit prefix icons for the column (e.g. a custom field type's\n * `display.icons`). When present, used instead of the `fieldType` mapping.\n * @external\n */\n fieldTypeIcons?: { Small: ComponentType; Medium: ComponentType };\n /**\n * Whether the field contains personally identifiable information.\n * @external\n */\n isPii?: boolean;\n /**\n * only for cms. Whether this is a system-managed field.\n * @external\n */\n isSystem?: boolean;\n /**\n * Whether this is the primary display field.\n * @external\n */\n isPrimary?: boolean;\n /**\n * Column-level validation rules. When a `required` rule is present, a required indicator is shown in the custom columns panel.\n * @external\n */\n validation?: ValidationRule[];\n};\n\n// disallow specifying `hideable` / `defaultHidden` or setting `hiddenFromCustomColumnsSelection` as false when `id` is missing\ninterface TableColumnOptional<T> extends TableColumnBase<T> {\n id?: string;\n name?: string;\n hiddenFromCustomColumnsSelection?: undefined | true;\n hideable?: undefined;\n defaultHidden?: undefined;\n}\n\n// common case for custom column definition\ninterface TableColumnCustom<T> extends TableColumnBase<T> {\n id: string;\n name: string;\n hiddenFromCustomColumnsSelection?: false;\n hideable?: true;\n defaultHidden?: boolean;\n}\n\n// allow `name` to be optional when `title` exists\ninterface TableColumnCustomOptionalName<T> extends TableColumnBase<T> {\n id: string;\n name?: string;\n title: TableColumnBase['title'];\n hiddenFromCustomColumnsSelection?: false;\n hideable?: true;\n defaultHidden?: boolean;\n}\n\n// force `defaultHidden=false|undefined` when `hideable=false`\ninterface TableColumnCustomDefaultHidden<T> extends TableColumnBase<T> {\n id: string;\n name?: string;\n title: TableColumnBase['title'];\n hiddenFromCustomColumnsSelection?: false;\n hideable: false;\n defaultHidden?: undefined | false;\n}\n\nexport type CustomColumnConfig<T> =\n | TableColumnOptional<T>\n | TableColumnCustom<T>\n | TableColumnCustomDefaultHidden<T>\n | TableColumnCustomOptionalName<T>;\n\nexport interface SortableColumnConfig<T> extends TableColumnBase<T> {\n id: string;\n sortable: true;\n}\n\nexport interface NotSortableColumnConfig<T> extends TableColumnBase<T> {\n id?: string;\n sortable?: false;\n}\n\nexport type SortableConfig<T> =\n | SortableColumnConfig<T>\n | NotSortableColumnConfig<T>;\n\nexport type TableColumn<T> = CustomColumnConfig<T> & SortableConfig<T>;\n\nexport type ColumnMobileConfig =\n | {\n /**\n * Which mobile column to display in.\n * - 'first': Stacks vertically with other 'first' columns\n * - 'second': Displays as standalone second column\n * - undefined: Hidden on mobile\n */\n column: 'first';\n /**\n * Sort order within 'first' column (lower appears higher).\n * Only relevant when column is 'first'.\n * @default Infinity\n */\n order?: number;\n }\n | {\n /**\n * Which mobile column to display in.\n * - 'first': Stacks vertically with other 'first' columns\n * - 'second': Displays as standalone second column\n * - undefined: Hidden on mobile\n */\n column?: 'second';\n };\n\nexport interface Column {\n /**\n * A unique identifier for the column. This value is required to enable [custom columns](./?path=/story/features-display-custom-columns--overview) or [sortable columns](./?path=/story/features-sort-sortable-columns-sortable-columns--sortable-columns).\n * @external\n */\n id: string;\n /**\n * A name for the column. This value is shown in the [custom columns](./?path=/story/features-display-custom-columns--overview) dropdown.\n * @external\n */\n name: string;\n /**\n * The text to be shown at the top of the column.\n * @external\n */\n title: TableColumnBase['title'];\n /**\n * Hides the column from the custom column selection panel, making it always visible. Relevant for [custom columns](./?path=/story/features-display-custom-columns--overview).\n * @external\n */\n hiddenFromCustomColumnsSelection?: boolean;\n /**\n * When `false`, the column is always selected and displayed. Relevant for [custom columns](./?path=/story/features-display-custom-columns--overview).\n */\n hideable?: boolean;\n /**\n * When `true`, search matches in the column's values will be highlighted. Mark a column as searchable only if iy's data is relevant for your search.\n */\n searchable?: boolean;\n /**\n * When `true`, disables drag and drop for the column.\n * @external\n */\n reorderDisabled?: boolean;\n /**\n * When `true`, makes the column a [sortable column](./?path=/story/features-sort-sortable-columns-sortable-columns--sortable-columns).\n * @external\n */\n sortable?: boolean;\n sortDescending?: boolean;\n sortMode?: SortMode;\n /**\n * Determines the default sort order for the column, either `asc` or `desc`. The column must be a [sortable column](./?path=/story/features-sort-sortable-columns-sortable-columns--sortable-columns).\n * @external\n */\n defaultSortOrder?: SortOrder;\n /**\n * For [custom columns](./?path=/story/features-display-custom-columns--overview), when `true`, this property causes the column to be unchecked and thus not shown by default. This isn't relevant when `hideable` `=` `false`.\n * @external\n */\n defaultHidden?: boolean;\n dataExtension?: { id: string; editable: boolean; isPii?: boolean };\n /** The source field this column was built from; used to resolve manage actions. */\n field?: Field;\n /**\n * Whether the field contains personally identifiable information.\n * @external\n */\n isPii?: boolean;\n /**\n * only for cms. Whether this is a system-managed field.\n * @external\n */\n isSystem?: boolean;\n /**\n * Whether this is the primary display field.\n * @external\n */\n isPrimary?: boolean;\n /**\n * Column-level validation rules. When a `required` rule is present, a required indicator is shown in the custom columns panel.\n * @external\n */\n validation?: ValidationRule[];\n infoTooltipProps?: {\n content?: ReactNode;\n panelContent?: ReactNode;\n };\n /**\n * A callback that is called for each row in the data to display the value of this row for the specified column.\n * @external\n */\n render: TableColumnWSR['render'];\n width?: TableColumnWSR['width'];\n style?: TableColumnWSR['style'];\n /**\n * Mobile column configuration. Determines how this column is displayed on mobile devices.\n * - column: 'first' - Stacks vertically with other 'first' columns\n * - column: 'second' - Displays as standalone second column\n * - undefined - Hidden on mobile\n * @external\n */\n mobile?: ColumnMobileConfig;\n /**\n * The field type string used to resolve a prefix icon for the column.\n * Cairo maps this to the appropriate icon internally.\n * @external\n */\n fieldType?: FieldType;\n /**\n * Explicit prefix icons for the column (e.g. a custom field type's\n * `display.icons`). When present, used instead of the `fieldType` mapping.\n * @external\n */\n fieldTypeIcons?: { Small: ComponentType; Medium: ComponentType };\n}\n\n// eslint-disable-next-line @typescript-eslint/prefer-ts-expect-error\n// @ts-ignore\nfunction _tableColumnPublicApiTest<T>(\n c: TableColumn<T>,\n): Omit<Column, 'id' | 'name'> & Pick<Partial<Column>, 'id' | 'name'> {\n return c;\n}\n"],"mappings":";;;AA2DA;;AASA;;AASA;;AAUA;;AAqKA;AACA;AACA,SAASA,yBAAyBA,CAChCC,CAAiB,EACmD;EACpE,OAAOA,CAAC;AACV","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_ = "CollectionPageHeader489962603";
|
|
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": "CollectionPageHeader489962603__root"
|
|
16
16
|
};
|
|
17
17
|
var keyframes = exports.keyframes = {};
|
|
18
18
|
var layers = exports.layers = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/CollectionPage/CollectionPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"
|
|
1
|
+
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/CollectionPage/CollectionPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"CollectionPageHeader489962603\";\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\":\"CollectionPageHeader489962603__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,+BAA+B;AACjD,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;AAAqC,CAAC;AAC5D,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":[]}
|
|
@@ -75,6 +75,20 @@ class CellValueState {
|
|
|
75
75
|
}
|
|
76
76
|
return _utils.validResult;
|
|
77
77
|
}
|
|
78
|
+
|
|
79
|
+
/** Validate a value the user is still typing. Normalizes first, like
|
|
80
|
+
* commitHandler does, so a value that commit would accept (`www.wix.com`)
|
|
81
|
+
* is not reported invalid while it's being typed. */
|
|
82
|
+
validateEditingValue(columnId, value) {
|
|
83
|
+
var _this$_parent$collect;
|
|
84
|
+
const column = this._parent._columnMap.get(columnId);
|
|
85
|
+
if (!column) {
|
|
86
|
+
return _utils.validResult;
|
|
87
|
+
}
|
|
88
|
+
const resolved = this.resolveCellTypeByColumnId(column.id);
|
|
89
|
+
const normalized = resolved.normalizeOnCommit ? resolved.normalizeOnCommit(value) : value;
|
|
90
|
+
return (0, _utils.runCellValidation)(normalized, column.validation, resolved.validate, (_this$_parent$collect = this._parent.collection) == null ? void 0 : _this$_parent$collect.translate);
|
|
91
|
+
}
|
|
78
92
|
isCellEditable(rowKey, columnId) {
|
|
79
93
|
const column = this._parent._columnMap.get(columnId);
|
|
80
94
|
if (!column) {
|
|
@@ -264,14 +278,14 @@ class CellValueState {
|
|
|
264
278
|
columnId,
|
|
265
279
|
value
|
|
266
280
|
} of changes) {
|
|
267
|
-
var _this$_parent$
|
|
281
|
+
var _this$_parent$collect2;
|
|
268
282
|
const column = this._parent._columnMap.get(columnId);
|
|
269
283
|
const keyedItem = this._parent._getKeyedItem(rowKey);
|
|
270
284
|
if (!(column != null && column.setValue) || !keyedItem || !this.isColumnEditable(rowKey, columnId)) {
|
|
271
285
|
continue;
|
|
272
286
|
}
|
|
273
287
|
const resolved = this.resolveCellTypeByColumnId(column.id);
|
|
274
|
-
const result = (0, _utils.runCellValidation)(value, column.validation, resolved.validate, (_this$_parent$
|
|
288
|
+
const result = (0, _utils.runCellValidation)(value, column.validation, resolved.validate, (_this$_parent$collect2 = this._parent.collection) == null ? void 0 : _this$_parent$collect2.translate);
|
|
275
289
|
const pendingKey = this._pendingCellKey(rowKey, columnId);
|
|
276
290
|
if (result.valid) {
|
|
277
291
|
if (pendingKey) {
|
|
@@ -302,14 +316,14 @@ class CellValueState {
|
|
|
302
316
|
this._parent.mutation.updateItems(Array.from(rowItems.values()));
|
|
303
317
|
}
|
|
304
318
|
_applyValue(rowKey, columnId, value) {
|
|
305
|
-
var _this$_parent$
|
|
319
|
+
var _this$_parent$collect3;
|
|
306
320
|
const column = this._parent._columnMap.get(columnId);
|
|
307
321
|
const keyedItem = this._parent._getKeyedItem(rowKey);
|
|
308
322
|
if (!(column != null && column.setValue) || !keyedItem) {
|
|
309
323
|
return;
|
|
310
324
|
}
|
|
311
325
|
const resolved = this.resolveCellTypeByColumnId(column.id);
|
|
312
|
-
const result = (0, _utils.runCellValidation)(value, column.validation, resolved.validate, (_this$_parent$
|
|
326
|
+
const result = (0, _utils.runCellValidation)(value, column.validation, resolved.validate, (_this$_parent$collect3 = this._parent.collection) == null ? void 0 : _this$_parent$collect3.translate);
|
|
313
327
|
const pendingKey = this._pendingCellKey(rowKey, columnId);
|
|
314
328
|
if (result.valid && pendingKey) {
|
|
315
329
|
this._pendingCells.delete(pendingKey);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_cellTypes","_utils","builtInCellTypeMap","Map","builtInCellTypes","map","ct","type","CellValueState","constructor","parent","extraCellTypes","_defineProperty2","default","_parent","_extraCellTypes","makeObservable","_pendingCells","observable","_draftCells","_cellTypeMap","computed","clearCells","action","toggleCell","commitHandler","applyBulkRawValues","applyBulkValues","flushDrafts","col","allColumns","cellType","typeConfig","set","id","get","textCellType","resolveCellTypeByColumnId","columnId","getCellDisplayValue","rowKey","pending","_getPendingCell","value","draft","_getDraftCell","column","_columnMap","keyedItem","_getKeyedItem","getValue","item","undefined","getCellValidation","valid","errors","validResult","isCellEditable","resolved","editable","EditComponent","isColumnEditable","setValue","serializeCellValue","serialize","String","cells","changes","cell","clearable","pendingKey","_pendingCellKey","delete","deserialize","push","length","toggleValue","newValue","_applyValue","editingValue","normalized","normalizeOnCommit","key","tryDeserialize","rawValue","error","rawChanges","rowItems","_this$_parent$collect","result","runCellValidation","validation","validate","collection","translate","mutation","isLocalNewRow","currentItem","_consumeRowDrafts","updateItems","Array","from","values","_this$_parent$collect2","exceptRowKey","rowKeys","Set","entry","add","items","_dropRowDrafts","commitNewRow","exports"],"sources":["../../../../src/state/EditableTable/CellValueState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport type { CellType, Cell, ValidationResult } from './types';\nimport type { FiltersMap } from '@wix/bex-core';\nimport type { EditableTableState } from './EditableTableState';\nimport {\n builtInCellTypes,\n textCellType,\n} from '../../components/EditableTable/cellTypes';\nimport { runCellValidation, validResult } from './utils';\n\nconst builtInCellTypeMap = new Map<string, CellType>(\n builtInCellTypes.map((ct) => [ct.type, ct]),\n);\n\nexport class CellValueState<T, F extends FiltersMap> {\n /** Pending invalid cell values, keyed by `${itemId}:${colId}`. */\n readonly _pendingCells = new Map<string, { value: any; errors: string[] }>();\n\n /** Valid committed values not yet saved, keyed by `${itemId}:${colId}`.\n * Each row's drafts are flushed as one update when focus leaves the row. */\n readonly _draftCells = new Map<\n string,\n { rowKey: string; columnId: string; value: any }\n >();\n\n private readonly _parent: EditableTableState<T, F>;\n private readonly _extraCellTypes: Map<string, CellType>;\n\n constructor(\n parent: EditableTableState<T, F>,\n extraCellTypes: Map<string, CellType> = new Map(),\n ) {\n this._parent = parent;\n this._extraCellTypes = extraCellTypes;\n\n makeObservable(this, {\n _pendingCells: observable,\n _draftCells: observable,\n _cellTypeMap: computed,\n clearCells: action,\n toggleCell: action,\n commitHandler: action,\n applyBulkRawValues: action,\n applyBulkValues: action,\n flushDrafts: action,\n });\n }\n\n // Cell-type config per column id, from the merged columns (consumer columns\n // plus the columns the wired source adds). A computed so source columns that\n // load after init still get their cell types registered, without a rebuild.\n get _cellTypeMap(): Map<string, CellType> {\n const map = new Map<string, CellType>();\n for (const col of this._parent.allColumns) {\n if (col.cellType === 'custom' && col.typeConfig) {\n map.set(col.id, { type: 'custom', ...col.typeConfig });\n } else {\n map.set(\n col.id,\n builtInCellTypeMap.get(col.cellType) ??\n this._extraCellTypes.get(col.cellType) ??\n textCellType,\n );\n }\n }\n return map;\n }\n\n resolveCellTypeByColumnId(columnId: string): CellType {\n return this._cellTypeMap.get(columnId) ?? textCellType;\n }\n\n getCellDisplayValue(rowKey: string, columnId: string): any {\n const pending = this._getPendingCell(rowKey, columnId);\n if (pending) {\n return pending.value;\n }\n const draft = this._getDraftCell(rowKey, columnId);\n if (draft) {\n return draft.value;\n }\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n return column && keyedItem ? column.getValue(keyedItem.item) : undefined;\n }\n\n getCellValidation(rowKey: string, columnId: string): ValidationResult {\n const pending = this._getPendingCell(rowKey, columnId);\n if (pending) {\n return { valid: false, errors: pending.errors };\n }\n return validResult;\n }\n\n isCellEditable(rowKey: string, columnId: string): boolean {\n const column = this._parent._columnMap.get(columnId);\n if (!column) {\n return false;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n if (resolved.editable === false || !resolved.EditComponent) {\n return false;\n }\n return this.isColumnEditable(rowKey, columnId);\n }\n\n /**\n * Whether `column.editable` permits writing this cell for this row,\n * independent of whether the cell type has an inline EditComponent. Gates\n * bulk/programmatic writes (clear, cut, paste) — narrower than\n * isCellEditable, which also requires an edit UI to exist.\n */\n isColumnEditable(rowKey: string, columnId: string): boolean {\n const column = this._parent._columnMap.get(columnId);\n if (!column?.setValue) {\n return false;\n }\n\n if (typeof column.editable === 'function') {\n const keyedItem = this._parent._getKeyedItem(rowKey);\n return keyedItem ? column.editable(keyedItem.item) : false;\n }\n return column.editable !== false;\n }\n\n /** Serialize a cell value to a string (for clipboard copy/cut). */\n serializeCellValue(rowKey: string, columnId: string): string {\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (!column || !keyedItem) {\n return '';\n }\n const resolved = this.resolveCellTypeByColumnId(column.id);\n const value = this.getCellDisplayValue(rowKey, columnId);\n return resolved.serialize ? resolved.serialize(value) : String(value ?? '');\n }\n\n /** Clear selected cells (Delete/Backspace). Respects cellType.clearable and column.editable. */\n clearCells(cells: Cell[]) {\n const changes: { rowKey: string; columnId: string; value: any }[] = [];\n\n for (const cell of cells) {\n const column = this._parent._columnMap.get(cell.columnId);\n if (!column?.setValue) {\n continue;\n }\n const resolved = this.resolveCellTypeByColumnId(column.id);\n if (resolved.clearable === false) {\n continue;\n }\n if (!this.isColumnEditable(cell.rowKey, cell.columnId)) {\n continue;\n }\n\n const pendingKey = this._pendingCellKey(cell.rowKey, cell.columnId);\n if (pendingKey) {\n this._pendingCells.delete(pendingKey);\n }\n const value = resolved.deserialize ? resolved.deserialize('') : '';\n changes.push({ rowKey: cell.rowKey, columnId: cell.columnId, value });\n }\n\n if (changes.length > 0) {\n this.applyBulkValues(changes);\n }\n }\n\n toggleCell(rowKey: string, columnId: string) {\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (!column?.setValue || !keyedItem) {\n return;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n if (!resolved.toggleValue) {\n return;\n }\n\n const value = this.getCellDisplayValue(rowKey, columnId);\n const newValue = resolved.toggleValue(value);\n this._applyValue(rowKey, columnId, newValue);\n }\n\n /** Commit handler — used as callback for CellInteractionState. */\n commitHandler(editingValue: any, cell: Cell) {\n if (editingValue !== undefined) {\n const resolved = this.resolveCellTypeByColumnId(cell.columnId);\n const normalized = resolved.normalizeOnCommit\n ? resolved.normalizeOnCommit(editingValue)\n : editingValue;\n this._applyValue(cell.rowKey, cell.columnId, normalized);\n }\n }\n\n private _getPendingCell(\n rowKey: string,\n columnId: string,\n ): { value: any; errors: string[] } | undefined {\n const key = this._pendingCellKey(rowKey, columnId);\n return key ? this._pendingCells.get(key) : undefined;\n }\n\n private _getDraftCell(\n rowKey: string,\n columnId: string,\n ): { value: any } | undefined {\n const key = this._pendingCellKey(rowKey, columnId);\n return key ? this._draftCells.get(key) : undefined;\n }\n\n private _pendingCellKey(\n rowKey: string,\n columnId: string,\n ): string | undefined {\n const keyedItem = this._parent._getKeyedItem(rowKey);\n const column = this._parent._columnMap.get(columnId);\n if (!keyedItem || !column) {\n return undefined;\n }\n return `${keyedItem.key}:${column.id}`;\n }\n\n /**\n * Deserialize a raw string to a typed value. Returns an error message\n * if the conversion fails\n */\n tryDeserialize(\n columnId: string,\n rawValue: string,\n ): { value: any; error?: string } {\n const column = this._parent._columnMap.get(columnId);\n if (!column) {\n return { value: rawValue };\n }\n const resolved = this.resolveCellTypeByColumnId(column.id);\n if (!resolved.deserialize) {\n return { value: rawValue };\n }\n try {\n return { value: resolved.deserialize(rawValue) };\n } catch {\n return { value: rawValue, error: 'Value is not compatible' };\n }\n }\n\n /**\n * Deserialize and apply multiple raw string values in bulk.\n * Handles conversion failures by storing them as pending cells.\n */\n applyBulkRawValues(\n rawChanges: { rowKey: string; columnId: string; rawValue: string }[],\n ) {\n const changes: { rowKey: string; columnId: string; value: any }[] = [];\n for (const { rowKey, columnId, rawValue } of rawChanges) {\n const { value, error } = this.tryDeserialize(columnId, rawValue);\n if (error) {\n const pendingKey = this._pendingCellKey(rowKey, columnId);\n if (pendingKey) {\n this._pendingCells.set(pendingKey, { value, errors: [error] });\n }\n } else {\n changes.push({ rowKey, columnId, value });\n }\n }\n this.applyBulkValues(changes);\n }\n\n /**\n * Apply multiple cell values in bulk. Validates per cell, accumulates\n * changes per row, and submits all modified items in a single update.\n * Every mutation path (clear, paste, cut) funnels through here, so\n * checking isColumnEditable here — not just at the call sites — keeps\n * read-only cells protected regardless of entry point.\n */\n applyBulkValues(changes: { rowKey: string; columnId: string; value: any }[]) {\n const rowItems = new Map<string, T>();\n\n for (const { rowKey, columnId, value } of changes) {\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (\n !column?.setValue ||\n !keyedItem ||\n !this.isColumnEditable(rowKey, columnId)\n ) {\n continue;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n const result = runCellValidation(\n value,\n column.validation,\n resolved.validate,\n this._parent.collection?.translate,\n );\n const pendingKey = this._pendingCellKey(rowKey, columnId);\n\n if (result.valid) {\n if (pendingKey) {\n this._pendingCells.delete(pendingKey);\n }\n if (this._parent.mutation.isLocalNewRow(rowKey)) {\n // A row not created on the server yet can't take an update —\n // buffer the value as a draft; it goes out with the row's\n // create when focus leaves the row.\n if (pendingKey) {\n this._draftCells.set(pendingKey, {\n rowKey: keyedItem.key,\n columnId: column.id,\n value,\n });\n }\n continue;\n }\n const currentItem =\n rowItems.get(rowKey) ??\n this._consumeRowDrafts(rowKey, keyedItem.item);\n rowItems.set(rowKey, column.setValue(currentItem, value));\n } else if (pendingKey) {\n this._pendingCells.set(pendingKey, {\n value,\n errors: result.errors ?? [],\n });\n }\n }\n\n this._parent.mutation.updateItems(Array.from(rowItems.values()));\n }\n\n private _applyValue(rowKey: string, columnId: string, value: any) {\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (!column?.setValue || !keyedItem) {\n return;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n const result = runCellValidation(\n value,\n column.validation,\n resolved.validate,\n this._parent.collection?.translate,\n );\n const pendingKey = this._pendingCellKey(rowKey, columnId);\n\n if (result.valid && pendingKey) {\n this._pendingCells.delete(pendingKey);\n this._draftCells.set(pendingKey, {\n rowKey: keyedItem.key,\n columnId: column.id,\n value,\n });\n } else if (pendingKey) {\n this._pendingCells.set(pendingKey, {\n value,\n errors: result.errors ?? [],\n });\n }\n }\n\n flushDrafts(exceptRowKey?: string) {\n const rowKeys = new Set<string>();\n for (const entry of this._draftCells.values()) {\n if (entry.rowKey !== exceptRowKey) {\n rowKeys.add(entry.rowKey);\n }\n }\n\n const items: T[] = [];\n for (const rowKey of rowKeys) {\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (!keyedItem) {\n this._dropRowDrafts(rowKey);\n } else if (this._parent.mutation.isLocalNewRow(rowKey)) {\n this._parent.mutation.commitNewRow(\n rowKey,\n this._consumeRowDrafts(rowKey, keyedItem.item),\n );\n } else {\n items.push(this._consumeRowDrafts(rowKey, keyedItem.item));\n }\n }\n if (items.length > 0) {\n this._parent.mutation.updateItems(items);\n }\n }\n\n private _consumeRowDrafts(rowKey: string, item: T): T {\n for (const [key, entry] of this._draftCells) {\n if (entry.rowKey !== rowKey) {\n continue;\n }\n const column = this._parent._columnMap.get(entry.columnId);\n if (column?.setValue) {\n item = column.setValue(item, entry.value);\n }\n this._draftCells.delete(key);\n }\n return item;\n }\n\n /** Drop a row's draft entries without saving (the row no longer exists). */\n private _dropRowDrafts(rowKey: string) {\n for (const [key, entry] of this._draftCells) {\n if (entry.rowKey === rowKey) {\n this._draftCells.delete(key);\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_cellTypes","_utils","builtInCellTypeMap","Map","builtInCellTypes","map","ct","type","CellValueState","constructor","parent","extraCellTypes","_defineProperty2","default","_parent","_extraCellTypes","makeObservable","_pendingCells","observable","_draftCells","_cellTypeMap","computed","clearCells","action","toggleCell","commitHandler","applyBulkRawValues","applyBulkValues","flushDrafts","col","allColumns","cellType","typeConfig","set","id","get","textCellType","resolveCellTypeByColumnId","columnId","getCellDisplayValue","rowKey","pending","_getPendingCell","value","draft","_getDraftCell","column","_columnMap","keyedItem","_getKeyedItem","getValue","item","undefined","getCellValidation","valid","errors","validResult","validateEditingValue","_this$_parent$collect","resolved","normalized","normalizeOnCommit","runCellValidation","validation","validate","collection","translate","isCellEditable","editable","EditComponent","isColumnEditable","setValue","serializeCellValue","serialize","String","cells","changes","cell","clearable","pendingKey","_pendingCellKey","delete","deserialize","push","length","toggleValue","newValue","_applyValue","editingValue","key","tryDeserialize","rawValue","error","rawChanges","rowItems","_this$_parent$collect2","result","mutation","isLocalNewRow","currentItem","_consumeRowDrafts","updateItems","Array","from","values","_this$_parent$collect3","exceptRowKey","rowKeys","Set","entry","add","items","_dropRowDrafts","commitNewRow","exports"],"sources":["../../../../src/state/EditableTable/CellValueState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport type { CellType, Cell, ValidationResult } from './types';\nimport type { FiltersMap } from '@wix/bex-core';\nimport type { EditableTableState } from './EditableTableState';\nimport {\n builtInCellTypes,\n textCellType,\n} from '../../components/EditableTable/cellTypes';\nimport { runCellValidation, validResult } from './utils';\n\nconst builtInCellTypeMap = new Map<string, CellType>(\n builtInCellTypes.map((ct) => [ct.type, ct]),\n);\n\nexport class CellValueState<T, F extends FiltersMap> {\n /** Pending invalid cell values, keyed by `${itemId}:${colId}`. */\n readonly _pendingCells = new Map<string, { value: any; errors: string[] }>();\n\n /** Valid committed values not yet saved, keyed by `${itemId}:${colId}`.\n * Each row's drafts are flushed as one update when focus leaves the row. */\n readonly _draftCells = new Map<\n string,\n { rowKey: string; columnId: string; value: any }\n >();\n\n private readonly _parent: EditableTableState<T, F>;\n private readonly _extraCellTypes: Map<string, CellType>;\n\n constructor(\n parent: EditableTableState<T, F>,\n extraCellTypes: Map<string, CellType> = new Map(),\n ) {\n this._parent = parent;\n this._extraCellTypes = extraCellTypes;\n\n makeObservable(this, {\n _pendingCells: observable,\n _draftCells: observable,\n _cellTypeMap: computed,\n clearCells: action,\n toggleCell: action,\n commitHandler: action,\n applyBulkRawValues: action,\n applyBulkValues: action,\n flushDrafts: action,\n });\n }\n\n // Cell-type config per column id, from the merged columns (consumer columns\n // plus the columns the wired source adds). A computed so source columns that\n // load after init still get their cell types registered, without a rebuild.\n get _cellTypeMap(): Map<string, CellType> {\n const map = new Map<string, CellType>();\n for (const col of this._parent.allColumns) {\n if (col.cellType === 'custom' && col.typeConfig) {\n map.set(col.id, { type: 'custom', ...col.typeConfig });\n } else {\n map.set(\n col.id,\n builtInCellTypeMap.get(col.cellType) ??\n this._extraCellTypes.get(col.cellType) ??\n textCellType,\n );\n }\n }\n return map;\n }\n\n resolveCellTypeByColumnId(columnId: string): CellType {\n return this._cellTypeMap.get(columnId) ?? textCellType;\n }\n\n getCellDisplayValue(rowKey: string, columnId: string): any {\n const pending = this._getPendingCell(rowKey, columnId);\n if (pending) {\n return pending.value;\n }\n const draft = this._getDraftCell(rowKey, columnId);\n if (draft) {\n return draft.value;\n }\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n return column && keyedItem ? column.getValue(keyedItem.item) : undefined;\n }\n\n getCellValidation(rowKey: string, columnId: string): ValidationResult {\n const pending = this._getPendingCell(rowKey, columnId);\n if (pending) {\n return { valid: false, errors: pending.errors };\n }\n return validResult;\n }\n\n /** Validate a value the user is still typing. Normalizes first, like\n * commitHandler does, so a value that commit would accept (`www.wix.com`)\n * is not reported invalid while it's being typed. */\n validateEditingValue(columnId: string, value: any): ValidationResult {\n const column = this._parent._columnMap.get(columnId);\n if (!column) {\n return validResult;\n }\n const resolved = this.resolveCellTypeByColumnId(column.id);\n const normalized = resolved.normalizeOnCommit\n ? resolved.normalizeOnCommit(value)\n : value;\n return runCellValidation(\n normalized,\n column.validation,\n resolved.validate,\n this._parent.collection?.translate,\n );\n }\n\n isCellEditable(rowKey: string, columnId: string): boolean {\n const column = this._parent._columnMap.get(columnId);\n if (!column) {\n return false;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n if (resolved.editable === false || !resolved.EditComponent) {\n return false;\n }\n return this.isColumnEditable(rowKey, columnId);\n }\n\n /**\n * Whether `column.editable` permits writing this cell for this row,\n * independent of whether the cell type has an inline EditComponent. Gates\n * bulk/programmatic writes (clear, cut, paste) — narrower than\n * isCellEditable, which also requires an edit UI to exist.\n */\n isColumnEditable(rowKey: string, columnId: string): boolean {\n const column = this._parent._columnMap.get(columnId);\n if (!column?.setValue) {\n return false;\n }\n\n if (typeof column.editable === 'function') {\n const keyedItem = this._parent._getKeyedItem(rowKey);\n return keyedItem ? column.editable(keyedItem.item) : false;\n }\n return column.editable !== false;\n }\n\n /** Serialize a cell value to a string (for clipboard copy/cut). */\n serializeCellValue(rowKey: string, columnId: string): string {\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (!column || !keyedItem) {\n return '';\n }\n const resolved = this.resolveCellTypeByColumnId(column.id);\n const value = this.getCellDisplayValue(rowKey, columnId);\n return resolved.serialize ? resolved.serialize(value) : String(value ?? '');\n }\n\n /** Clear selected cells (Delete/Backspace). Respects cellType.clearable and column.editable. */\n clearCells(cells: Cell[]) {\n const changes: { rowKey: string; columnId: string; value: any }[] = [];\n\n for (const cell of cells) {\n const column = this._parent._columnMap.get(cell.columnId);\n if (!column?.setValue) {\n continue;\n }\n const resolved = this.resolveCellTypeByColumnId(column.id);\n if (resolved.clearable === false) {\n continue;\n }\n if (!this.isColumnEditable(cell.rowKey, cell.columnId)) {\n continue;\n }\n\n const pendingKey = this._pendingCellKey(cell.rowKey, cell.columnId);\n if (pendingKey) {\n this._pendingCells.delete(pendingKey);\n }\n const value = resolved.deserialize ? resolved.deserialize('') : '';\n changes.push({ rowKey: cell.rowKey, columnId: cell.columnId, value });\n }\n\n if (changes.length > 0) {\n this.applyBulkValues(changes);\n }\n }\n\n toggleCell(rowKey: string, columnId: string) {\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (!column?.setValue || !keyedItem) {\n return;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n if (!resolved.toggleValue) {\n return;\n }\n\n const value = this.getCellDisplayValue(rowKey, columnId);\n const newValue = resolved.toggleValue(value);\n this._applyValue(rowKey, columnId, newValue);\n }\n\n /** Commit handler — used as callback for CellInteractionState. */\n commitHandler(editingValue: any, cell: Cell) {\n if (editingValue !== undefined) {\n const resolved = this.resolveCellTypeByColumnId(cell.columnId);\n const normalized = resolved.normalizeOnCommit\n ? resolved.normalizeOnCommit(editingValue)\n : editingValue;\n this._applyValue(cell.rowKey, cell.columnId, normalized);\n }\n }\n\n private _getPendingCell(\n rowKey: string,\n columnId: string,\n ): { value: any; errors: string[] } | undefined {\n const key = this._pendingCellKey(rowKey, columnId);\n return key ? this._pendingCells.get(key) : undefined;\n }\n\n private _getDraftCell(\n rowKey: string,\n columnId: string,\n ): { value: any } | undefined {\n const key = this._pendingCellKey(rowKey, columnId);\n return key ? this._draftCells.get(key) : undefined;\n }\n\n private _pendingCellKey(\n rowKey: string,\n columnId: string,\n ): string | undefined {\n const keyedItem = this._parent._getKeyedItem(rowKey);\n const column = this._parent._columnMap.get(columnId);\n if (!keyedItem || !column) {\n return undefined;\n }\n return `${keyedItem.key}:${column.id}`;\n }\n\n /**\n * Deserialize a raw string to a typed value. Returns an error message\n * if the conversion fails\n */\n tryDeserialize(\n columnId: string,\n rawValue: string,\n ): { value: any; error?: string } {\n const column = this._parent._columnMap.get(columnId);\n if (!column) {\n return { value: rawValue };\n }\n const resolved = this.resolveCellTypeByColumnId(column.id);\n if (!resolved.deserialize) {\n return { value: rawValue };\n }\n try {\n return { value: resolved.deserialize(rawValue) };\n } catch {\n return { value: rawValue, error: 'Value is not compatible' };\n }\n }\n\n /**\n * Deserialize and apply multiple raw string values in bulk.\n * Handles conversion failures by storing them as pending cells.\n */\n applyBulkRawValues(\n rawChanges: { rowKey: string; columnId: string; rawValue: string }[],\n ) {\n const changes: { rowKey: string; columnId: string; value: any }[] = [];\n for (const { rowKey, columnId, rawValue } of rawChanges) {\n const { value, error } = this.tryDeserialize(columnId, rawValue);\n if (error) {\n const pendingKey = this._pendingCellKey(rowKey, columnId);\n if (pendingKey) {\n this._pendingCells.set(pendingKey, { value, errors: [error] });\n }\n } else {\n changes.push({ rowKey, columnId, value });\n }\n }\n this.applyBulkValues(changes);\n }\n\n /**\n * Apply multiple cell values in bulk. Validates per cell, accumulates\n * changes per row, and submits all modified items in a single update.\n * Every mutation path (clear, paste, cut) funnels through here, so\n * checking isColumnEditable here — not just at the call sites — keeps\n * read-only cells protected regardless of entry point.\n */\n applyBulkValues(changes: { rowKey: string; columnId: string; value: any }[]) {\n const rowItems = new Map<string, T>();\n\n for (const { rowKey, columnId, value } of changes) {\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (\n !column?.setValue ||\n !keyedItem ||\n !this.isColumnEditable(rowKey, columnId)\n ) {\n continue;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n const result = runCellValidation(\n value,\n column.validation,\n resolved.validate,\n this._parent.collection?.translate,\n );\n const pendingKey = this._pendingCellKey(rowKey, columnId);\n\n if (result.valid) {\n if (pendingKey) {\n this._pendingCells.delete(pendingKey);\n }\n if (this._parent.mutation.isLocalNewRow(rowKey)) {\n // A row not created on the server yet can't take an update —\n // buffer the value as a draft; it goes out with the row's\n // create when focus leaves the row.\n if (pendingKey) {\n this._draftCells.set(pendingKey, {\n rowKey: keyedItem.key,\n columnId: column.id,\n value,\n });\n }\n continue;\n }\n const currentItem =\n rowItems.get(rowKey) ??\n this._consumeRowDrafts(rowKey, keyedItem.item);\n rowItems.set(rowKey, column.setValue(currentItem, value));\n } else if (pendingKey) {\n this._pendingCells.set(pendingKey, {\n value,\n errors: result.errors ?? [],\n });\n }\n }\n\n this._parent.mutation.updateItems(Array.from(rowItems.values()));\n }\n\n private _applyValue(rowKey: string, columnId: string, value: any) {\n const column = this._parent._columnMap.get(columnId);\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (!column?.setValue || !keyedItem) {\n return;\n }\n\n const resolved = this.resolveCellTypeByColumnId(column.id);\n const result = runCellValidation(\n value,\n column.validation,\n resolved.validate,\n this._parent.collection?.translate,\n );\n const pendingKey = this._pendingCellKey(rowKey, columnId);\n\n if (result.valid && pendingKey) {\n this._pendingCells.delete(pendingKey);\n this._draftCells.set(pendingKey, {\n rowKey: keyedItem.key,\n columnId: column.id,\n value,\n });\n } else if (pendingKey) {\n this._pendingCells.set(pendingKey, {\n value,\n errors: result.errors ?? [],\n });\n }\n }\n\n flushDrafts(exceptRowKey?: string) {\n const rowKeys = new Set<string>();\n for (const entry of this._draftCells.values()) {\n if (entry.rowKey !== exceptRowKey) {\n rowKeys.add(entry.rowKey);\n }\n }\n\n const items: T[] = [];\n for (const rowKey of rowKeys) {\n const keyedItem = this._parent._getKeyedItem(rowKey);\n if (!keyedItem) {\n this._dropRowDrafts(rowKey);\n } else if (this._parent.mutation.isLocalNewRow(rowKey)) {\n this._parent.mutation.commitNewRow(\n rowKey,\n this._consumeRowDrafts(rowKey, keyedItem.item),\n );\n } else {\n items.push(this._consumeRowDrafts(rowKey, keyedItem.item));\n }\n }\n if (items.length > 0) {\n this._parent.mutation.updateItems(items);\n }\n }\n\n private _consumeRowDrafts(rowKey: string, item: T): T {\n for (const [key, entry] of this._draftCells) {\n if (entry.rowKey !== rowKey) {\n continue;\n }\n const column = this._parent._columnMap.get(entry.columnId);\n if (column?.setValue) {\n item = column.setValue(item, entry.value);\n }\n this._draftCells.delete(key);\n }\n return item;\n }\n\n /** Drop a row's draft entries without saving (the row no longer exists). */\n private _dropRowDrafts(rowKey: string) {\n for (const [key, entry] of this._draftCells) {\n if (entry.rowKey === rowKey) {\n this._draftCells.delete(key);\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -237,7 +237,11 @@ class EditableTableState {
|
|
|
237
237
|
return this.cellValue.getCellDisplayValue(rowKey, columnId);
|
|
238
238
|
}
|
|
239
239
|
getCellValidation(rowKey, columnId) {
|
|
240
|
-
|
|
240
|
+
const committed = this.cellValue.getCellValidation(rowKey, columnId);
|
|
241
|
+
if (committed.valid || !this.cellInteraction.isCellEditing(rowKey, columnId) || this.cellInteraction.editingValue === undefined) {
|
|
242
|
+
return committed;
|
|
243
|
+
}
|
|
244
|
+
return this.cellValue.validateEditingValue(columnId, this.cellInteraction.editingValue);
|
|
241
245
|
}
|
|
242
246
|
isCellEditable(rowKey, columnId) {
|
|
243
247
|
return this.cellValue.isCellEditable(rowKey, columnId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_bexCore","_ToolbarCollectionState","_TableState","_CellInteractionState","_CellValueState","_ClipboardState","_MutationState","_buildEditableFieldColumns","TableStateWithDraftRows","TableState","constructor","params","mergeDraftRows","_defineProperty2","default","_mergeDraftRows","keyedItems","collection","result","showEmptyState","toolbar","multi","length","EditableTableState","_params$extraCellType","ConditionalModalState","undefined","items","tableState","onAddItemActionComplete","origin","toolbarBIReporter","onAddItemClick","columnId","forceDirection","multiple","sort","id","clearResult","ToolbarCollectionState","container","componentType","mutation","cellValue","CellValueState","Map","extraCellTypes","map","ct","type","cellInteraction","CellInteractionState","editingValue","cell","commitHandler","clipboard","ClipboardState","MutationState","mutations","createOptimisticActions","makeObservable","addItemDisabled","observable","updateItemDisabled","removeItemDisabled","multiDeleteDisabled","isRemoveItemDisabled","ref","setPermissions","action","_providedColumns","editableColumns","computed","sourceColumns","allColumns","_columnMap","init","confirmDeleteItems","permissions","isRowDeleteDisabled","rowKey","keyed","_getKeyedItem","item","disabled","rowDeleteDisabledReason","reason","isMultiDeleteDisabled","rowKeys","some","key","visibleColumns","itemsToRenderCount","source","collectionFieldsSource","initTask","status","isSuccess","buildEditableFieldColumns","fieldsSource","editableCellFor","c","getKeyedItem","find","ki","_toIndices","pos","row","findIndex","col","_toPosition","visibleIds","filter","columns","disposeMutation","flushDrafts","addItem","afterItemKey","duplicateItem","deleteItems","deletableRowKeys","translate","t","deleteConfirmModal","open","theme","title","content","primaryButtonText","secondaryButtonText","primaryButtonOnClick","resolveCellTypeByColumnId","getCellDisplayValue","getCellValidation","isCellEditable","isColumnEditable","clearCells","cells","handleCellClick","shiftKey","isEditing","isCellEditing","commitEdit","get","res","editOnClick","val","focusCell","startEdit","column","resolved","toggleValue","showEditWhenFocused","value","selectionAnchor","selectRange","handleCellDoubleClick","exports"],"sources":["../../../../src/state/EditableTable/EditableTableState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport {\n CollectionOptimisticActions,\n CollectionState,\n ConditionalModalState,\n FiltersMap,\n SortOrder,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport type { MessageModalLayoutProps } from '@wix/design-system';\nimport type { KeyedItem, RemoveItemDisabledResult } from '@wix/bex-core';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { TableState } from '../TableState';\nimport type { TableStateParams } from '../TableState';\nimport { ICollectionComponentState } from '../ICollectionComponentState';\nimport { CellInteractionState } from './CellInteractionState';\nimport { CellValueState } from './CellValueState';\nimport { ClipboardState } from './ClipboardState';\nimport { MutationState } from './MutationState';\nimport type { EditableTableMutationHandlers } from './MutationState';\nimport type { Cell, CellType, EditableColumn, ValidationResult } from './types';\nimport { buildEditableFieldColumns } from '../buildEditableFieldColumns';\n\nexport type { RemoveItemDisabledResult } from '@wix/bex-core';\n\nexport interface EditableTablePermissions<T = unknown> {\n addItemDisabled?: boolean;\n updateItemDisabled?: boolean;\n removeItemDisabled?: boolean;\n /** Deleting several rows in one operation. Absent = follows `removeItemDisabled`. */\n multiDeleteDisabled?: boolean;\n /** Per-item refinement of `removeItemDisabled`: disables deleting an item\n * even though deleting is generally allowed, optionally with a reason.\n * Must be pure and synchronous. Absent = all items deletable. */\n isRemoveItemDisabled?: (item: T) => RemoveItemDisabledResult;\n}\n\nexport interface EditableTableStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T, F>;\n readonly permissions?: EditableTablePermissions<T>;\n readonly mutations: EditableTableMutationHandlers<T>;\n readonly createOptimisticActions: (\n collection: CollectionState<T, F>,\n ) => CollectionOptimisticActions<T, F>;\n /**\n * Additional cell types to register alongside the built-in ones.\n * Augment `CellTypeConfigMap` to use these types on `EditableColumn.cellType`.\n */\n readonly extraCellTypes?: CellType[];\n}\n\nexport interface EditableTableStatePublicAPI<T, F extends FiltersMap> {\n /** Underlying CollectionState instance */\n readonly collection: CollectionState<T, F>;\n /** Underlying ToolbarCollectionState instance */\n readonly toolbar: ToolbarCollectionState<T, F>;\n /** Reset active filters & sorting and adds new items to the collection */\n onAddItemActionComplete(items: T[]): void;\n /** Sort by column */\n sort: (\n columnId: string,\n params?: { forceDirection?: SortOrder; multiple?: boolean },\n ) => void;\n /** Replace all permission flags and the per-item delete predicate */\n setPermissions(permissions: EditableTablePermissions<T>): void;\n /** Whether deleting the given row is disabled (user-level or per-item) */\n isRowDeleteDisabled(rowKey: string): boolean;\n /** The reason the given row cannot be deleted, when the per-item predicate\n * returned one. `undefined` when the row is deletable or no reason was given. */\n rowDeleteDisabledReason(rowKey: string): string | undefined;\n /** Whether deleting the given rows in one operation is disabled */\n isMultiDeleteDisabled(rowKeys: string[]): boolean;\n}\n\n/**\n * Draft rows (added locally, not yet created on the server) are not part of\n * the collection result. This TableState merges them into the rendered list,\n * so everything that renders rows — the WDS table and the virtualizer — sees\n * them, and a table whose only rows are drafts does not show the empty state.\n */\nclass TableStateWithDraftRows<T, F extends FiltersMap> extends TableState<\n T,\n F\n> {\n private readonly _mergeDraftRows: (items: KeyedItem<T>[]) => KeyedItem<T>[];\n\n constructor(\n params: TableStateParams<T, F>,\n mergeDraftRows: (items: KeyedItem<T>[]) => KeyedItem<T>[],\n ) {\n super(params);\n this._mergeDraftRows = mergeDraftRows;\n }\n\n get keyedItems() {\n return this._mergeDraftRows(this.collection.result.keyedItems);\n }\n\n get showEmptyState() {\n return this.toolbar.multi.showEmptyState && this.keyedItems.length === 0;\n }\n}\n\nexport class EditableTableState<T, F extends FiltersMap>\n implements ICollectionComponentState, EditableTableStatePublicAPI<T, F>\n{\n readonly toolbar: ToolbarCollectionState<T, F>;\n readonly tableState: TableState<T, F>;\n\n readonly cellInteraction: CellInteractionState<T, F>;\n readonly cellValue: CellValueState<T, F>;\n readonly clipboard: ClipboardState<T, F>;\n readonly mutation: MutationState<T, F>;\n readonly deleteConfirmModal = new ConditionalModalState<\n Partial<MessageModalLayoutProps>\n >();\n\n addItemDisabled = false;\n updateItemDisabled = false;\n removeItemDisabled = false;\n multiDeleteDisabled = false;\n // Needs an explicit initializer: a declaration-only field is erased at\n // compile time, and makeObservable throws on a property that doesn't exist.\n isRemoveItemDisabled?: (item: T) => RemoveItemDisabledResult = undefined;\n\n _providedColumns: EditableColumn<T>[] = [];\n\n constructor(params: EditableTableStateParams<T, F>) {\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.collection,\n container: params.container,\n componentType: 'EditableTable',\n });\n\n this.tableState = new TableStateWithDraftRows(\n {\n collection: params.collection,\n container: params.container,\n toolbar: this.toolbar,\n },\n (keyedItems) => this.mutation._mergeDraftRows(keyedItems),\n );\n\n this.cellValue = new CellValueState<T, F>(\n this,\n new Map(params.extraCellTypes?.map((ct) => [ct.type, ct])),\n );\n\n this.cellInteraction = new CellInteractionState<T, F>(\n (editingValue, cell) => {\n this.cellValue.commitHandler(editingValue, cell);\n },\n this,\n );\n this.clipboard = new ClipboardState<T, F>(this);\n this.mutation = new MutationState<T, F>(\n this,\n params.mutations,\n params.createOptimisticActions,\n );\n makeObservable(this, {\n addItemDisabled: observable,\n updateItemDisabled: observable,\n removeItemDisabled: observable,\n multiDeleteDisabled: observable,\n isRemoveItemDisabled: observable.ref,\n setPermissions: action,\n _providedColumns: observable.ref,\n editableColumns: computed,\n sourceColumns: computed,\n allColumns: computed,\n _columnMap: computed,\n init: action,\n confirmDeleteItems: action,\n });\n\n this.setPermissions(params.permissions ?? {});\n }\n\n setPermissions(permissions: EditableTablePermissions<T>) {\n this.addItemDisabled = permissions.addItemDisabled ?? false;\n this.updateItemDisabled = permissions.updateItemDisabled ?? false;\n this.removeItemDisabled = permissions.removeItemDisabled ?? false;\n this.multiDeleteDisabled =\n permissions.multiDeleteDisabled ?? this.removeItemDisabled;\n this.isRemoveItemDisabled = permissions.isRemoveItemDisabled;\n }\n\n isRowDeleteDisabled(rowKey: string): boolean {\n if (this.removeItemDisabled) {\n return true;\n }\n if (!this.isRemoveItemDisabled) {\n return false;\n }\n const keyed = this._getKeyedItem(rowKey);\n return keyed ? this.isRemoveItemDisabled(keyed.item).disabled : false;\n }\n\n rowDeleteDisabledReason(rowKey: string): string | undefined {\n if (!this.isRemoveItemDisabled) {\n return undefined;\n }\n const keyed = this._getKeyedItem(rowKey);\n const result = keyed ? this.isRemoveItemDisabled(keyed.item) : undefined;\n return result?.disabled ? result.reason : undefined;\n }\n\n isMultiDeleteDisabled(rowKeys: string[]): boolean {\n if (this.multiDeleteDisabled) {\n return true;\n }\n return rowKeys.some((key) => this.isRowDeleteDisabled(key));\n }\n\n get collection() {\n return this.tableState.collection;\n }\n\n get keyedItems() {\n return this.tableState.keyedItems;\n }\n\n get visibleColumns() {\n return this.tableState.visibleColumns;\n }\n\n get itemsToRenderCount() {\n return this.tableState.itemsToRenderCount;\n }\n\n /** Editable columns built from the wired fields source, once it loads. */\n get sourceColumns(): EditableColumn<T>[] {\n const source = this.toolbar.collectionFieldsSource;\n if (!source || !source.initTask.status.isSuccess) {\n return [];\n }\n return buildEditableFieldColumns(\n source.fieldsSource,\n source.editableCellFor,\n ) as EditableColumn<T>[];\n }\n\n /**\n * Consumer columns plus the columns built from the fields source, merged the\n * same way the toolbar merges its columns (ToolbarCollectionState.columns).\n * Consumer and source columns are expected to be disjoint by id.\n */\n get allColumns(): EditableColumn<T>[] {\n return [...this._providedColumns, ...this.sourceColumns];\n }\n\n get _columnMap(): Map<string, EditableColumn<T>> {\n return new Map(this.allColumns.map((c) => [c.id, c]));\n }\n\n _getKeyedItem(key: string): KeyedItem<T> | undefined | null {\n // Draft rows are not in the collection — fall back to the merged list.\n return (\n this.collection.getKeyedItem(key) ??\n this.keyedItems.find((ki) => ki.key === key)\n );\n }\n\n _toIndices(pos: Cell): { row: number; col: number } | null {\n const row = this.keyedItems.findIndex((ki) => ki.key === pos.rowKey);\n const col = this.editableColumns.findIndex((c) => c.id === pos.columnId);\n return row === -1 || col === -1 ? null : { row, col };\n }\n\n _toPosition(row: number, col: number): Cell | null {\n const ki = this.keyedItems[row];\n const c = this.editableColumns[col];\n return ki && c ? { rowKey: ki.key, columnId: c.id } : null;\n }\n\n onAddItemActionComplete = (items: T[]) => {\n return this.tableState.onAddItemActionComplete(items);\n };\n\n onAddItemClick = (origin?: string) => {\n this.toolbar.toolbarBIReporter.onAddItemClick(origin);\n };\n\n get editableColumns(): EditableColumn<T>[] {\n const visibleIds = this.visibleColumns.map((c) => c.id);\n if (!visibleIds.length) {\n return this.allColumns;\n }\n return visibleIds\n .map((id) => this.allColumns.find((c) => c.id === id))\n .filter((c): c is EditableColumn<T> => c !== undefined);\n }\n\n init(columns: EditableColumn<T>[]) {\n this._providedColumns = columns;\n const disposeMutation = this.mutation.init();\n return () => {\n this.cellValue.flushDrafts();\n disposeMutation();\n };\n }\n\n addItem(afterItemKey?: string): string {\n return this.mutation.addItem(afterItemKey);\n }\n\n duplicateItem(rowKey: string) {\n this.mutation.duplicateItem(rowKey);\n }\n\n deleteItems(rowKeys: string[]) {\n this.mutation.deleteItems(rowKeys);\n }\n\n confirmDeleteItems(rowKeys: string[]) {\n // The context menu disables blocked deletes; this filter is the barrier\n // for callers that bypass the UI gate.\n const deletableRowKeys = rowKeys.filter(\n (key) => !this.isRowDeleteDisabled(key),\n );\n if (!deletableRowKeys.length) {\n return;\n }\n const { translate: t } = this.collection;\n this.deleteConfirmModal.open({\n theme: 'destructive',\n title: t('cairo.deleteModal.title'),\n content: t('cairo.deleteModal.body'),\n primaryButtonText: t('cairo.delete.button'),\n secondaryButtonText: t('cairo.cancel.button'),\n primaryButtonOnClick: () => {\n this.deleteItems(deletableRowKeys);\n },\n });\n }\n\n resolveCellTypeByColumnId(columnId: string) {\n return this.cellValue.resolveCellTypeByColumnId(columnId);\n }\n\n getCellDisplayValue(rowKey: string, columnId: string): any {\n return this.cellValue.getCellDisplayValue(rowKey, columnId);\n }\n\n getCellValidation(rowKey: string, columnId: string): ValidationResult {\n return this.cellValue.getCellValidation(rowKey, columnId);\n }\n\n isCellEditable(rowKey: string, columnId: string): boolean {\n return this.cellValue.isCellEditable(rowKey, columnId);\n }\n\n isColumnEditable(rowKey: string, columnId: string): boolean {\n return this.cellValue.isColumnEditable(rowKey, columnId);\n }\n\n clearCells(cells: Cell[]) {\n this.cellValue.clearCells(cells);\n }\n\n handleCellClick(rowKey: string, columnId: string, shiftKey: boolean) {\n if (this.cellInteraction.isEditing) {\n if (this.cellInteraction.isCellEditing(rowKey, columnId)) {\n // Click landed inside the active editor — let the editor handle it.\n return;\n }\n // Shift-click while editing: ignore — extending a range selection during\n // an active edit is not a meaningful action.\n if (shiftKey) {\n return;\n }\n // Plain click on a different cell: commit the edit and move focus.\n this.cellInteraction.commitEdit();\n\n // If the target cell wants edit-on-click, enter edit directly.\n const col = this._columnMap.get(columnId);\n const res = col ? this.resolveCellTypeByColumnId(col.id) : null;\n if (res?.editOnClick) {\n const val = this.getCellDisplayValue(rowKey, columnId);\n if (res.editOnClick(val) && this.isCellEditable(rowKey, columnId)) {\n this.cellInteraction.focusCell(rowKey, columnId);\n this.cellInteraction.startEdit(rowKey, columnId, 'click');\n return;\n }\n }\n\n this.cellInteraction.focusCell(rowKey, columnId);\n return;\n }\n\n const column = this._columnMap.get(columnId);\n const resolved = column ? this.resolveCellTypeByColumnId(column.id) : null;\n if (resolved?.toggleValue || resolved?.showEditWhenFocused) {\n // Toggle/showEditWhenFocused cells: click focuses the cell and shows the\n // EditComponent affordance. Keyboard navigation remains active.\n this.cellInteraction.focusCell(rowKey, columnId);\n return;\n }\n\n if (resolved?.editOnClick) {\n const value = this.getCellDisplayValue(rowKey, columnId);\n if (\n resolved.editOnClick(value) &&\n this.isCellEditable(rowKey, columnId)\n ) {\n this.cellInteraction.focusCell(rowKey, columnId);\n this.cellInteraction.startEdit(rowKey, columnId, 'click');\n return;\n }\n }\n\n if (shiftKey && this.cellInteraction.selectionAnchor) {\n this.cellInteraction.selectRange(this.cellInteraction.selectionAnchor, {\n rowKey,\n columnId,\n });\n } else {\n this.cellInteraction.focusCell(rowKey, columnId);\n }\n }\n\n handleCellDoubleClick(rowKey: string, columnId: string) {\n if (this.updateItemDisabled) {\n return;\n }\n const column = this._columnMap.get(columnId);\n const resolved = column ? this.resolveCellTypeByColumnId(column.id) : null;\n // Toggle-value cells (e.g. boolean) activate on single click, not double-click.\n // Entering edit mode on double-click would apply the editing box-shadow\n // without any EditComponent being shown, causing a visual border glitch.\n if (resolved?.toggleValue || resolved?.showEditWhenFocused) {\n return;\n }\n if (this.isCellEditable(rowKey, columnId)) {\n this.cellInteraction.startEdit(rowKey, columnId, 'doubleClick');\n }\n }\n\n sort = (\n columnId: string,\n {\n forceDirection,\n multiple,\n }: { forceDirection?: SortOrder; multiple?: boolean } = {},\n ) => {\n this.collection.sort(\n { id: columnId },\n { forceDirection, clearResult: true, multiple },\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_bexCore","_ToolbarCollectionState","_TableState","_CellInteractionState","_CellValueState","_ClipboardState","_MutationState","_buildEditableFieldColumns","TableStateWithDraftRows","TableState","constructor","params","mergeDraftRows","_defineProperty2","default","_mergeDraftRows","keyedItems","collection","result","showEmptyState","toolbar","multi","length","EditableTableState","_params$extraCellType","ConditionalModalState","undefined","items","tableState","onAddItemActionComplete","origin","toolbarBIReporter","onAddItemClick","columnId","forceDirection","multiple","sort","id","clearResult","ToolbarCollectionState","container","componentType","mutation","cellValue","CellValueState","Map","extraCellTypes","map","ct","type","cellInteraction","CellInteractionState","editingValue","cell","commitHandler","clipboard","ClipboardState","MutationState","mutations","createOptimisticActions","makeObservable","addItemDisabled","observable","updateItemDisabled","removeItemDisabled","multiDeleteDisabled","isRemoveItemDisabled","ref","setPermissions","action","_providedColumns","editableColumns","computed","sourceColumns","allColumns","_columnMap","init","confirmDeleteItems","permissions","isRowDeleteDisabled","rowKey","keyed","_getKeyedItem","item","disabled","rowDeleteDisabledReason","reason","isMultiDeleteDisabled","rowKeys","some","key","visibleColumns","itemsToRenderCount","source","collectionFieldsSource","initTask","status","isSuccess","buildEditableFieldColumns","fieldsSource","editableCellFor","c","getKeyedItem","find","ki","_toIndices","pos","row","findIndex","col","_toPosition","visibleIds","filter","columns","disposeMutation","flushDrafts","addItem","afterItemKey","duplicateItem","deleteItems","deletableRowKeys","translate","t","deleteConfirmModal","open","theme","title","content","primaryButtonText","secondaryButtonText","primaryButtonOnClick","resolveCellTypeByColumnId","getCellDisplayValue","getCellValidation","committed","valid","isCellEditing","validateEditingValue","isCellEditable","isColumnEditable","clearCells","cells","handleCellClick","shiftKey","isEditing","commitEdit","get","res","editOnClick","val","focusCell","startEdit","column","resolved","toggleValue","showEditWhenFocused","value","selectionAnchor","selectRange","handleCellDoubleClick","exports"],"sources":["../../../../src/state/EditableTable/EditableTableState.ts"],"sourcesContent":["import { action, computed, makeObservable, observable } from 'mobx';\nimport {\n CollectionOptimisticActions,\n CollectionState,\n ConditionalModalState,\n FiltersMap,\n SortOrder,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport type { MessageModalLayoutProps } from '@wix/design-system';\nimport type { KeyedItem, RemoveItemDisabledResult } from '@wix/bex-core';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { TableState } from '../TableState';\nimport type { TableStateParams } from '../TableState';\nimport { ICollectionComponentState } from '../ICollectionComponentState';\nimport { CellInteractionState } from './CellInteractionState';\nimport { CellValueState } from './CellValueState';\nimport { ClipboardState } from './ClipboardState';\nimport { MutationState } from './MutationState';\nimport type { EditableTableMutationHandlers } from './MutationState';\nimport type { Cell, CellType, EditableColumn, ValidationResult } from './types';\nimport { buildEditableFieldColumns } from '../buildEditableFieldColumns';\n\nexport type { RemoveItemDisabledResult } from '@wix/bex-core';\n\nexport interface EditableTablePermissions<T = unknown> {\n addItemDisabled?: boolean;\n updateItemDisabled?: boolean;\n removeItemDisabled?: boolean;\n /** Deleting several rows in one operation. Absent = follows `removeItemDisabled`. */\n multiDeleteDisabled?: boolean;\n /** Per-item refinement of `removeItemDisabled`: disables deleting an item\n * even though deleting is generally allowed, optionally with a reason.\n * Must be pure and synchronous. Absent = all items deletable. */\n isRemoveItemDisabled?: (item: T) => RemoveItemDisabledResult;\n}\n\nexport interface EditableTableStateParams<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly container: WixPatternsContainer;\n readonly toolbar?: ToolbarCollectionState<T, F>;\n readonly permissions?: EditableTablePermissions<T>;\n readonly mutations: EditableTableMutationHandlers<T>;\n readonly createOptimisticActions: (\n collection: CollectionState<T, F>,\n ) => CollectionOptimisticActions<T, F>;\n /**\n * Additional cell types to register alongside the built-in ones.\n * Augment `CellTypeConfigMap` to use these types on `EditableColumn.cellType`.\n */\n readonly extraCellTypes?: CellType[];\n}\n\nexport interface EditableTableStatePublicAPI<T, F extends FiltersMap> {\n /** Underlying CollectionState instance */\n readonly collection: CollectionState<T, F>;\n /** Underlying ToolbarCollectionState instance */\n readonly toolbar: ToolbarCollectionState<T, F>;\n /** Reset active filters & sorting and adds new items to the collection */\n onAddItemActionComplete(items: T[]): void;\n /** Sort by column */\n sort: (\n columnId: string,\n params?: { forceDirection?: SortOrder; multiple?: boolean },\n ) => void;\n /** Replace all permission flags and the per-item delete predicate */\n setPermissions(permissions: EditableTablePermissions<T>): void;\n /** Whether deleting the given row is disabled (user-level or per-item) */\n isRowDeleteDisabled(rowKey: string): boolean;\n /** The reason the given row cannot be deleted, when the per-item predicate\n * returned one. `undefined` when the row is deletable or no reason was given. */\n rowDeleteDisabledReason(rowKey: string): string | undefined;\n /** Whether deleting the given rows in one operation is disabled */\n isMultiDeleteDisabled(rowKeys: string[]): boolean;\n}\n\n/**\n * Draft rows (added locally, not yet created on the server) are not part of\n * the collection result. This TableState merges them into the rendered list,\n * so everything that renders rows — the WDS table and the virtualizer — sees\n * them, and a table whose only rows are drafts does not show the empty state.\n */\nclass TableStateWithDraftRows<T, F extends FiltersMap> extends TableState<\n T,\n F\n> {\n private readonly _mergeDraftRows: (items: KeyedItem<T>[]) => KeyedItem<T>[];\n\n constructor(\n params: TableStateParams<T, F>,\n mergeDraftRows: (items: KeyedItem<T>[]) => KeyedItem<T>[],\n ) {\n super(params);\n this._mergeDraftRows = mergeDraftRows;\n }\n\n get keyedItems() {\n return this._mergeDraftRows(this.collection.result.keyedItems);\n }\n\n get showEmptyState() {\n return this.toolbar.multi.showEmptyState && this.keyedItems.length === 0;\n }\n}\n\nexport class EditableTableState<T, F extends FiltersMap>\n implements ICollectionComponentState, EditableTableStatePublicAPI<T, F>\n{\n readonly toolbar: ToolbarCollectionState<T, F>;\n readonly tableState: TableState<T, F>;\n\n readonly cellInteraction: CellInteractionState<T, F>;\n readonly cellValue: CellValueState<T, F>;\n readonly clipboard: ClipboardState<T, F>;\n readonly mutation: MutationState<T, F>;\n readonly deleteConfirmModal = new ConditionalModalState<\n Partial<MessageModalLayoutProps>\n >();\n\n addItemDisabled = false;\n updateItemDisabled = false;\n removeItemDisabled = false;\n multiDeleteDisabled = false;\n // Needs an explicit initializer: a declaration-only field is erased at\n // compile time, and makeObservable throws on a property that doesn't exist.\n isRemoveItemDisabled?: (item: T) => RemoveItemDisabledResult = undefined;\n\n _providedColumns: EditableColumn<T>[] = [];\n\n constructor(params: EditableTableStateParams<T, F>) {\n this.toolbar =\n params.toolbar ??\n new ToolbarCollectionState({\n collection: params.collection,\n container: params.container,\n componentType: 'EditableTable',\n });\n\n this.tableState = new TableStateWithDraftRows(\n {\n collection: params.collection,\n container: params.container,\n toolbar: this.toolbar,\n },\n (keyedItems) => this.mutation._mergeDraftRows(keyedItems),\n );\n\n this.cellValue = new CellValueState<T, F>(\n this,\n new Map(params.extraCellTypes?.map((ct) => [ct.type, ct])),\n );\n\n this.cellInteraction = new CellInteractionState<T, F>(\n (editingValue, cell) => {\n this.cellValue.commitHandler(editingValue, cell);\n },\n this,\n );\n this.clipboard = new ClipboardState<T, F>(this);\n this.mutation = new MutationState<T, F>(\n this,\n params.mutations,\n params.createOptimisticActions,\n );\n makeObservable(this, {\n addItemDisabled: observable,\n updateItemDisabled: observable,\n removeItemDisabled: observable,\n multiDeleteDisabled: observable,\n isRemoveItemDisabled: observable.ref,\n setPermissions: action,\n _providedColumns: observable.ref,\n editableColumns: computed,\n sourceColumns: computed,\n allColumns: computed,\n _columnMap: computed,\n init: action,\n confirmDeleteItems: action,\n });\n\n this.setPermissions(params.permissions ?? {});\n }\n\n setPermissions(permissions: EditableTablePermissions<T>) {\n this.addItemDisabled = permissions.addItemDisabled ?? false;\n this.updateItemDisabled = permissions.updateItemDisabled ?? false;\n this.removeItemDisabled = permissions.removeItemDisabled ?? false;\n this.multiDeleteDisabled =\n permissions.multiDeleteDisabled ?? this.removeItemDisabled;\n this.isRemoveItemDisabled = permissions.isRemoveItemDisabled;\n }\n\n isRowDeleteDisabled(rowKey: string): boolean {\n if (this.removeItemDisabled) {\n return true;\n }\n if (!this.isRemoveItemDisabled) {\n return false;\n }\n const keyed = this._getKeyedItem(rowKey);\n return keyed ? this.isRemoveItemDisabled(keyed.item).disabled : false;\n }\n\n rowDeleteDisabledReason(rowKey: string): string | undefined {\n if (!this.isRemoveItemDisabled) {\n return undefined;\n }\n const keyed = this._getKeyedItem(rowKey);\n const result = keyed ? this.isRemoveItemDisabled(keyed.item) : undefined;\n return result?.disabled ? result.reason : undefined;\n }\n\n isMultiDeleteDisabled(rowKeys: string[]): boolean {\n if (this.multiDeleteDisabled) {\n return true;\n }\n return rowKeys.some((key) => this.isRowDeleteDisabled(key));\n }\n\n get collection() {\n return this.tableState.collection;\n }\n\n get keyedItems() {\n return this.tableState.keyedItems;\n }\n\n get visibleColumns() {\n return this.tableState.visibleColumns;\n }\n\n get itemsToRenderCount() {\n return this.tableState.itemsToRenderCount;\n }\n\n /** Editable columns built from the wired fields source, once it loads. */\n get sourceColumns(): EditableColumn<T>[] {\n const source = this.toolbar.collectionFieldsSource;\n if (!source || !source.initTask.status.isSuccess) {\n return [];\n }\n return buildEditableFieldColumns(\n source.fieldsSource,\n source.editableCellFor,\n ) as EditableColumn<T>[];\n }\n\n /**\n * Consumer columns plus the columns built from the fields source, merged the\n * same way the toolbar merges its columns (ToolbarCollectionState.columns).\n * Consumer and source columns are expected to be disjoint by id.\n */\n get allColumns(): EditableColumn<T>[] {\n return [...this._providedColumns, ...this.sourceColumns];\n }\n\n get _columnMap(): Map<string, EditableColumn<T>> {\n return new Map(this.allColumns.map((c) => [c.id, c]));\n }\n\n _getKeyedItem(key: string): KeyedItem<T> | undefined | null {\n // Draft rows are not in the collection — fall back to the merged list.\n return (\n this.collection.getKeyedItem(key) ??\n this.keyedItems.find((ki) => ki.key === key)\n );\n }\n\n _toIndices(pos: Cell): { row: number; col: number } | null {\n const row = this.keyedItems.findIndex((ki) => ki.key === pos.rowKey);\n const col = this.editableColumns.findIndex((c) => c.id === pos.columnId);\n return row === -1 || col === -1 ? null : { row, col };\n }\n\n _toPosition(row: number, col: number): Cell | null {\n const ki = this.keyedItems[row];\n const c = this.editableColumns[col];\n return ki && c ? { rowKey: ki.key, columnId: c.id } : null;\n }\n\n onAddItemActionComplete = (items: T[]) => {\n return this.tableState.onAddItemActionComplete(items);\n };\n\n onAddItemClick = (origin?: string) => {\n this.toolbar.toolbarBIReporter.onAddItemClick(origin);\n };\n\n get editableColumns(): EditableColumn<T>[] {\n const visibleIds = this.visibleColumns.map((c) => c.id);\n if (!visibleIds.length) {\n return this.allColumns;\n }\n return visibleIds\n .map((id) => this.allColumns.find((c) => c.id === id))\n .filter((c): c is EditableColumn<T> => c !== undefined);\n }\n\n init(columns: EditableColumn<T>[]) {\n this._providedColumns = columns;\n const disposeMutation = this.mutation.init();\n return () => {\n this.cellValue.flushDrafts();\n disposeMutation();\n };\n }\n\n addItem(afterItemKey?: string): string {\n return this.mutation.addItem(afterItemKey);\n }\n\n duplicateItem(rowKey: string) {\n this.mutation.duplicateItem(rowKey);\n }\n\n deleteItems(rowKeys: string[]) {\n this.mutation.deleteItems(rowKeys);\n }\n\n confirmDeleteItems(rowKeys: string[]) {\n // The context menu disables blocked deletes; this filter is the barrier\n // for callers that bypass the UI gate.\n const deletableRowKeys = rowKeys.filter(\n (key) => !this.isRowDeleteDisabled(key),\n );\n if (!deletableRowKeys.length) {\n return;\n }\n const { translate: t } = this.collection;\n this.deleteConfirmModal.open({\n theme: 'destructive',\n title: t('cairo.deleteModal.title'),\n content: t('cairo.deleteModal.body'),\n primaryButtonText: t('cairo.delete.button'),\n secondaryButtonText: t('cairo.cancel.button'),\n primaryButtonOnClick: () => {\n this.deleteItems(deletableRowKeys);\n },\n });\n }\n\n resolveCellTypeByColumnId(columnId: string) {\n return this.cellValue.resolveCellTypeByColumnId(columnId);\n }\n\n getCellDisplayValue(rowKey: string, columnId: string): any {\n return this.cellValue.getCellDisplayValue(rowKey, columnId);\n }\n\n getCellValidation(rowKey: string, columnId: string): ValidationResult {\n const committed = this.cellValue.getCellValidation(rowKey, columnId);\n\n if (\n committed.valid ||\n !this.cellInteraction.isCellEditing(rowKey, columnId) ||\n this.cellInteraction.editingValue === undefined\n ) {\n return committed;\n }\n return this.cellValue.validateEditingValue(\n columnId,\n this.cellInteraction.editingValue,\n );\n }\n\n isCellEditable(rowKey: string, columnId: string): boolean {\n return this.cellValue.isCellEditable(rowKey, columnId);\n }\n\n isColumnEditable(rowKey: string, columnId: string): boolean {\n return this.cellValue.isColumnEditable(rowKey, columnId);\n }\n\n clearCells(cells: Cell[]) {\n this.cellValue.clearCells(cells);\n }\n\n handleCellClick(rowKey: string, columnId: string, shiftKey: boolean) {\n if (this.cellInteraction.isEditing) {\n if (this.cellInteraction.isCellEditing(rowKey, columnId)) {\n // Click landed inside the active editor — let the editor handle it.\n return;\n }\n // Shift-click while editing: ignore — extending a range selection during\n // an active edit is not a meaningful action.\n if (shiftKey) {\n return;\n }\n // Plain click on a different cell: commit the edit and move focus.\n this.cellInteraction.commitEdit();\n\n // If the target cell wants edit-on-click, enter edit directly.\n const col = this._columnMap.get(columnId);\n const res = col ? this.resolveCellTypeByColumnId(col.id) : null;\n if (res?.editOnClick) {\n const val = this.getCellDisplayValue(rowKey, columnId);\n if (res.editOnClick(val) && this.isCellEditable(rowKey, columnId)) {\n this.cellInteraction.focusCell(rowKey, columnId);\n this.cellInteraction.startEdit(rowKey, columnId, 'click');\n return;\n }\n }\n\n this.cellInteraction.focusCell(rowKey, columnId);\n return;\n }\n\n const column = this._columnMap.get(columnId);\n const resolved = column ? this.resolveCellTypeByColumnId(column.id) : null;\n if (resolved?.toggleValue || resolved?.showEditWhenFocused) {\n // Toggle/showEditWhenFocused cells: click focuses the cell and shows the\n // EditComponent affordance. Keyboard navigation remains active.\n this.cellInteraction.focusCell(rowKey, columnId);\n return;\n }\n\n if (resolved?.editOnClick) {\n const value = this.getCellDisplayValue(rowKey, columnId);\n if (\n resolved.editOnClick(value) &&\n this.isCellEditable(rowKey, columnId)\n ) {\n this.cellInteraction.focusCell(rowKey, columnId);\n this.cellInteraction.startEdit(rowKey, columnId, 'click');\n return;\n }\n }\n\n if (shiftKey && this.cellInteraction.selectionAnchor) {\n this.cellInteraction.selectRange(this.cellInteraction.selectionAnchor, {\n rowKey,\n columnId,\n });\n } else {\n this.cellInteraction.focusCell(rowKey, columnId);\n }\n }\n\n handleCellDoubleClick(rowKey: string, columnId: string) {\n if (this.updateItemDisabled) {\n return;\n }\n const column = this._columnMap.get(columnId);\n const resolved = column ? this.resolveCellTypeByColumnId(column.id) : null;\n // Toggle-value cells (e.g. boolean) activate on single click, not double-click.\n // Entering edit mode on double-click would apply the editing box-shadow\n // without any EditComponent being shown, causing a visual border glitch.\n if (resolved?.toggleValue || resolved?.showEditWhenFocused) {\n return;\n }\n if (this.isCellEditable(rowKey, columnId)) {\n this.cellInteraction.startEdit(rowKey, columnId, 'doubleClick');\n }\n }\n\n sort = (\n columnId: string,\n {\n forceDirection,\n multiple,\n }: { forceDirection?: SortOrder; multiple?: boolean } = {},\n ) => {\n this.collection.sort(\n { id: columnId },\n { forceDirection, clearResult: true, multiple },\n );\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -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_ = "FormPageHeader1598265002";
|
|
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": "FormPageHeader1598265002__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_ = \"FormPageHeader1598265002\";\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\":\"FormPageHeader1598265002__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":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_TagsModalState","_bexCore","_TagsAssignButton","_react","_interopRequireDefault","_TagsColumn","_tagsFilterBuilder","_TagsBulkAssignPopoverState","_CollectionToolbarFilters","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TagsCollectionState","featuredPageActions","Tags","manageTagsPageAction","constructor","entityTypeName","bulkUpdateTags","asyncBulkUpdateTags","toolbar","columnConfig","getTags","assignButtonConfig","bulkUpdateTagsShowUndoToast","props","_defineProperty2","TaskState","tagsManagementState","TagsManagementState","fqdn","collection","container","tagsModalState","TagsModalState","tagsBulkAssignPopoverState","TagsBulkAssignPopoverState","collectionState","_columnConfig","_getTags","components","AssignButton","TagsAssignButton","ManageModal","React","lazy","Promise","resolve","then","m","CollectionManageTagsModal","CollectionToolbarFilters","makeObservable","init","action","openManageTagsModal","disposers","query","addFilterIfNeeded","idNameArrayFilter","name","initTask","runOnce","all","status","promise","addTagsColumn","forEach","d","buildTagsFilterWrapper","buildTagsFilterElement","_this$toolbar","tagsColumn","buildTagsColumn","userTagsColumn","_userColumns","find","column","id","addFeatureColumn","origin","exports"],"sources":["../../../src/state/TagsCollectionState.ts"],"sourcesContent":["import { action, makeObservable } from 'mobx';\nimport { TagsModalState } from './TagsModalState';\nimport {\n FiltersMap,\n idNameArrayFilter,\n Tags,\n TagsManagementState,\n TaskState,\n} from '@wix/bex-core';\nimport { TagsAssignButton } from '../components/TagsAssignButton';\nimport React from 'react';\nimport { TagsColumnConfig } from '../components/Tags/types';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { buildTagsColumn } from '../components/TagsColumn/TagsColumn';\nimport { buildTagsFilterElement } from '../components/TagsFilter/tagsFilterBuilder';\nimport { TagsBulkAssignPopoverState } from './TagsBulkAssignPopoverState';\nimport { CollectionToolbarFilters } from '../components/CollectionToolbarFilters';\nimport { Tags as TagsComponent, TagsProps } from '../components/Tags';\nimport { MoreActionItemFactory } from '../components/MoreActions/MoreActionsBase';\n\ninterface TagsCollectionStateParams<T, F extends FiltersMap>\n extends TagsProps<T, F> {\n toolbar: ToolbarCollectionState<T, F>;\n props?: TagsProps<T, F>;\n Tags: typeof TagsComponent;\n}\n\nexport class TagsCollectionState<T, F extends FiltersMap> {\n readonly toolbar: ToolbarCollectionState<T, F>;\n readonly tagsManagementState: TagsManagementState;\n readonly tagsModalState: TagsModalState;\n readonly tagsBulkAssignPopoverState: TagsBulkAssignPopoverState<T, F>;\n readonly initTask = new TaskState();\n readonly props;\n readonly Tags;\n\n readonly components;\n readonly _columnConfig?: TagsColumnConfig<T>;\n readonly _getTags?: (item: T) => Tags;\n\n get featuredPageActions(): MoreActionItemFactory[] {\n return [this.Tags.manageTagsPageAction];\n }\n\n constructor({\n entityTypeName,\n bulkUpdateTags,\n asyncBulkUpdateTags,\n toolbar,\n columnConfig,\n getTags,\n assignButtonConfig,\n bulkUpdateTagsShowUndoToast,\n props,\n Tags,\n }: TagsCollectionStateParams<T, F>) {\n this.toolbar = toolbar;\n this.props = props;\n this.Tags = Tags;\n this.tagsManagementState = new TagsManagementState({\n fqdn: { ...toolbar.collection.fqdn },\n container: toolbar.container,\n });\n\n this.tagsModalState = new TagsModalState({\n tagsManagementState: this.tagsManagementState,\n entityTypeName,\n });\n\n this.tagsBulkAssignPopoverState = new TagsBulkAssignPopoverState({\n tagsManagementState: this.tagsManagementState,\n collectionState: toolbar.collection,\n tagsModalState: this.tagsModalState,\n bulkUpdateTags,\n asyncBulkUpdateTags,\n getTags,\n assignButtonConfig,\n bulkUpdateTagsShowUndoToast,\n });\n\n this._columnConfig = columnConfig;\n this._getTags = getTags;\n\n this.components = {\n AssignButton: TagsAssignButton,\n ManageModal: React.lazy(() =>\n import(
|
|
1
|
+
{"version":3,"names":["_mobx","require","_TagsModalState","_bexCore","_TagsAssignButton","_react","_interopRequireDefault","_TagsColumn","_tagsFilterBuilder","_TagsBulkAssignPopoverState","_CollectionToolbarFilters","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TagsCollectionState","featuredPageActions","Tags","manageTagsPageAction","constructor","entityTypeName","bulkUpdateTags","asyncBulkUpdateTags","toolbar","columnConfig","getTags","assignButtonConfig","bulkUpdateTagsShowUndoToast","props","_defineProperty2","TaskState","tagsManagementState","TagsManagementState","fqdn","collection","container","tagsModalState","TagsModalState","tagsBulkAssignPopoverState","TagsBulkAssignPopoverState","collectionState","_columnConfig","_getTags","components","AssignButton","TagsAssignButton","ManageModal","React","lazy","Promise","resolve","then","m","CollectionManageTagsModal","CollectionToolbarFilters","makeObservable","init","action","openManageTagsModal","disposers","query","addFilterIfNeeded","idNameArrayFilter","name","initTask","runOnce","all","status","promise","addTagsColumn","forEach","d","buildTagsFilterWrapper","buildTagsFilterElement","_this$toolbar","tagsColumn","buildTagsColumn","userTagsColumn","_userColumns","find","column","id","addFeatureColumn","origin","exports"],"sources":["../../../src/state/TagsCollectionState.ts"],"sourcesContent":["import { action, makeObservable } from 'mobx';\nimport { TagsModalState } from './TagsModalState';\nimport {\n FiltersMap,\n idNameArrayFilter,\n Tags,\n TagsManagementState,\n TaskState,\n} from '@wix/bex-core';\nimport { TagsAssignButton } from '../components/TagsAssignButton';\nimport React from 'react';\nimport { TagsColumnConfig } from '../components/Tags/types';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport { buildTagsColumn } from '../components/TagsColumn/TagsColumn';\nimport { buildTagsFilterElement } from '../components/TagsFilter/tagsFilterBuilder';\nimport { TagsBulkAssignPopoverState } from './TagsBulkAssignPopoverState';\nimport { CollectionToolbarFilters } from '../components/CollectionToolbarFilters';\nimport { Tags as TagsComponent, TagsProps } from '../components/Tags';\nimport { MoreActionItemFactory } from '../components/MoreActions/MoreActionsBase';\n\ninterface TagsCollectionStateParams<T, F extends FiltersMap>\n extends TagsProps<T, F> {\n toolbar: ToolbarCollectionState<T, F>;\n props?: TagsProps<T, F>;\n Tags: typeof TagsComponent;\n}\n\nexport class TagsCollectionState<T, F extends FiltersMap> {\n readonly toolbar: ToolbarCollectionState<T, F>;\n readonly tagsManagementState: TagsManagementState;\n readonly tagsModalState: TagsModalState;\n readonly tagsBulkAssignPopoverState: TagsBulkAssignPopoverState<T, F>;\n readonly initTask = new TaskState();\n readonly props;\n readonly Tags;\n\n readonly components;\n readonly _columnConfig?: TagsColumnConfig<T>;\n readonly _getTags?: (item: T) => Tags;\n\n get featuredPageActions(): MoreActionItemFactory[] {\n return [this.Tags.manageTagsPageAction];\n }\n\n constructor({\n entityTypeName,\n bulkUpdateTags,\n asyncBulkUpdateTags,\n toolbar,\n columnConfig,\n getTags,\n assignButtonConfig,\n bulkUpdateTagsShowUndoToast,\n props,\n Tags,\n }: TagsCollectionStateParams<T, F>) {\n this.toolbar = toolbar;\n this.props = props;\n this.Tags = Tags;\n this.tagsManagementState = new TagsManagementState({\n fqdn: { ...toolbar.collection.fqdn },\n container: toolbar.container,\n });\n\n this.tagsModalState = new TagsModalState({\n tagsManagementState: this.tagsManagementState,\n entityTypeName,\n });\n\n this.tagsBulkAssignPopoverState = new TagsBulkAssignPopoverState({\n tagsManagementState: this.tagsManagementState,\n collectionState: toolbar.collection,\n tagsModalState: this.tagsModalState,\n bulkUpdateTags,\n asyncBulkUpdateTags,\n getTags,\n assignButtonConfig,\n bulkUpdateTagsShowUndoToast,\n });\n\n this._columnConfig = columnConfig;\n this._getTags = getTags;\n\n this.components = {\n AssignButton: TagsAssignButton,\n ManageModal: React.lazy(() =>\n import('../components/Tags/ManageTags/CollectionManageTagsModal').then(\n (m) => ({ default: m.CollectionManageTagsModal }),\n ),\n ),\n CollectionToolbarFilters,\n };\n\n makeObservable(this, {\n init: action,\n openManageTagsModal: action,\n });\n }\n\n init() {\n const disposers = [\n this.tagsManagementState.init(),\n this.tagsBulkAssignPopoverState.init(),\n this.tagsModalState.init(),\n this.toolbar.collection.query.addFilterIfNeeded(\n 'tags' as any,\n idNameArrayFilter({\n name: 'tags',\n }),\n ),\n ];\n\n this.initTask.runOnce(async () => {\n await Promise.all([\n this.tagsManagementState.initTask.status.promise,\n this.toolbar.container.initTask.status.promise,\n ]);\n\n this.addTagsColumn();\n });\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n buildTagsFilterWrapper() {\n return buildTagsFilterElement(this.toolbar);\n }\n\n addTagsColumn() {\n const tagsColumn = buildTagsColumn(\n this.toolbar?.container,\n this._columnConfig,\n );\n\n const userTagsColumn = this.toolbar._userColumns.find(\n (column) => column.id === tagsColumn.id,\n );\n\n if (!userTagsColumn) {\n this.toolbar.addFeatureColumn(tagsColumn);\n }\n }\n\n openManageTagsModal() {\n this.tagsModalState.openManageTagsModal({ origin: 'external' });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
exports.buildEditableFieldColumns = buildEditableFieldColumns;
|
|
5
|
+
exports.toValidationRules = toValidationRules;
|
|
5
6
|
var _bexCore = require("@wix/bex-core");
|
|
6
7
|
var _fieldTypeToCellType = require("./EditableTable/fieldTypeToCellType");
|
|
7
8
|
// Types whose editable cell needs typeConfig the projection can't supply yet
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_fieldTypeToCellType","NEEDS_TYPE_CONFIG","Set","hasEditor","field","customCell","EditComponent","type","has","toValidationRules","_v$numberRange","_v$numberRange2","_v$stringLengthRange","_v$stringLengthRange2","_v$specificValues","v","validation","rules","required","push","message","displayName","numberRange","min","value","max","stringLengthRange","minLength","maxLength","specificValues","length","values","synthesizeCellConfig","definition","_definition$value","editableTable","valueValidate","validate","buildEditableFieldColumns","source","editableCellFor","canWrite","setCellValue","fields","map","_definition$capabilit","_field$capabilities","id","columnIdForField","resolveFieldTypeDefinition","undefined","sourceCell","cellType","FIELD_TYPE_TO_CELL_TYPE","editable","isSystem","typeConfig","title","name","isPrimary","hideable","sortable","capabilities","getValue","item","getCellValue","setValue"],"sources":["../../../src/state/buildEditableFieldColumns.ts"],"sourcesContent":["import type {\n Field,\n FieldsSource,\n FieldTypeDefinition,\n PatternsFieldType,\n ValidationRule,\n} from '@wix/bex-core';\nimport { resolveFieldTypeDefinition } from '@wix/bex-core';\nimport type { CellType, EditableColumn } from './EditableTable/types';\nimport { FIELD_TYPE_TO_CELL_TYPE } from './EditableTable/fieldTypeToCellType';\nimport type { EditableCellUpgrade } from './CollectionFieldsSourceState';\n\n// Types whose editable cell needs typeConfig the projection can't supply yet\n// (referenced collection, address shape). Until that lands, they render as a\n// read-only 'object' cell rather than a broken editor.\nconst NEEDS_TYPE_CONFIG = new Set<PatternsFieldType>([\n 'REFERENCE',\n 'MULTI_REFERENCE',\n 'ADDRESS',\n]);\n\n/**\n * Whether this column has a usable inline editor. Read-only cases:\n * `NEEDS_TYPE_CONFIG` types are downgraded to a display cell, `UNKNOWN` has no\n * editor, and a `CUSTOM` field is only editable through a definition that\n * supplies an EditComponent. Everything else keeps its cell type's own editor —\n * including OBJECT / ARRAY, whose cells edit as JSON.\n */\nfunction hasEditor(field: Field, customCell?: Omit<CellType, 'type'>): boolean {\n if (customCell) {\n return !!customCell.EditComponent;\n }\n return (\n field.type !== 'CUSTOM' &&\n field.type !== 'UNKNOWN' &&\n !NEEDS_TYPE_CONFIG.has(field.type)\n );\n}\n\nfunction toValidationRules(field: Field): ValidationRule[] {\n const v = field.validation;\n if (!v) {\n return [];\n }\n const rules: ValidationRule[] = [];\n if (v.required) {\n rules.push({\n type: 'required',\n message: `${field.displayName} is required`,\n });\n }\n if (v.numberRange?.min != null) {\n rules.push({ type: 'min', value: v.numberRange.min, message: '' });\n }\n if (v.numberRange?.max != null) {\n rules.push({ type: 'max', value: v.numberRange.max, message: '' });\n }\n if (v.stringLengthRange?.minLength != null) {\n rules.push({\n type: 'minLength',\n value: v.stringLengthRange.minLength,\n message: '',\n });\n }\n if (v.stringLengthRange?.maxLength != null) {\n rules.push({\n type: 'maxLength',\n value: v.stringLengthRange.maxLength,\n message: '',\n });\n }\n if (v.specificValues?.length) {\n rules.push({\n type: 'specificValues',\n values: v.specificValues,\n message: `${field.displayName} must be one of the allowed values`,\n });\n }\n return rules;\n}\n\n// The inline-custom cell config for a resolved definition: its editableTable\n// slot, with the definition's value-level validation layered in when the slot\n// doesn't validate itself.\nfunction synthesizeCellConfig(\n definition: FieldTypeDefinition,\n): Omit<CellType, 'type'> {\n const editableTable = definition.editableTable!;\n const valueValidate = definition.value?.validate;\n const validate =\n valueValidate &&\n ((value: unknown, rules?: ValidationRule[]) => valueValidate(value, rules));\n return { ...editableTable, validate };\n}\n\n/**\n * Projects a FieldsSource's fields into EditableTable columns: a cell type by\n * field type, value read/write through the source, validation from the field,\n * and the flags the header reads for its disable rules. A cell is editable only\n * when the source can write it back (setCellValue) and the field isn't a system\n * field. A CUSTOM field renders through its definition's editableTable slot as\n * an inline custom cell; without one it falls back to a read-only object cell.\n */\nexport function buildEditableFieldColumns(\n source: FieldsSource,\n editableCellFor?: (field: Field) => EditableCellUpgrade | undefined,\n): EditableColumn<Record<string, unknown>>[] {\n const canWrite = typeof source.setCellValue === 'function';\n return source.fields.map((field) => {\n const id = source.columnIdForField(field);\n const definition = resolveFieldTypeDefinition(source, field);\n const customCell = definition?.editableTable\n ? synthesizeCellConfig(definition)\n : undefined;\n // A source-supplied cell wins over the downgrade: it carries the typeConfig\n // that made the type read-only here in the first place.\n const sourceCell = customCell\n ? undefined\n : NEEDS_TYPE_CONFIG.has(field.type)\n ? editableCellFor?.(field)\n : undefined;\n const cellType = customCell\n ? 'custom'\n : sourceCell?.cellType ??\n (NEEDS_TYPE_CONFIG.has(field.type)\n ? 'object'\n : FIELD_TYPE_TO_CELL_TYPE[field.type] ?? 'object');\n const validation = toValidationRules(field);\n const editable =\n canWrite &&\n !field.isSystem &&\n (!!sourceCell || hasEditor(field, customCell));\n return {\n id,\n cellType,\n ...(customCell && { typeConfig: customCell }),\n ...(sourceCell && { typeConfig: sourceCell.typeConfig }),\n field,\n title: field.displayName,\n name: field.displayName,\n isPrimary: field.isPrimary,\n isSystem: field.isSystem,\n hideable: true,\n sortable:\n definition?.capabilities?.sortable ??\n field.capabilities?.sortable ??\n false,\n editable,\n validation: validation.length ? validation : undefined,\n getValue: (item) => source.getCellValue(item, field),\n setValue: editable\n ? (item, value) =>\n source.setCellValue!(item, field, value) as Record<string, unknown>\n : undefined,\n } as EditableColumn<Record<string, unknown>>;\n });\n}\n"],"mappings":";;;;AAOA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,oBAAA,GAAAD,OAAA;AAGA;AACA;AACA;AACA,MAAME,iBAAiB,GAAG,IAAIC,GAAG,CAAoB,CACnD,WAAW,EACX,iBAAiB,EACjB,SAAS,CACV,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,SAASA,CAACC,KAAY,EAAEC,UAAmC,EAAW;EAC7E,IAAIA,UAAU,EAAE;IACd,OAAO,CAAC,CAACA,UAAU,CAACC,aAAa;EACnC;EACA,OACEF,KAAK,CAACG,IAAI,KAAK,QAAQ,IACvBH,KAAK,CAACG,IAAI,KAAK,SAAS,IACxB,CAACN,iBAAiB,CAACO,GAAG,CAACJ,KAAK,CAACG,IAAI,CAAC;AAEtC;AAEA,SAASE,iBAAiBA,CAACL,KAAY,EAAoB;EAAA,IAAAM,cAAA,EAAAC,eAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,iBAAA;EACzD,MAAMC,CAAC,GAAGX,KAAK,CAACY,UAAU;EAC1B,IAAI,CAACD,CAAC,EAAE;IACN,OAAO,EAAE;EACX;EACA,MAAME,KAAuB,GAAG,EAAE;EAClC,IAAIF,CAAC,CAACG,QAAQ,EAAE;IACdD,KAAK,CAACE,IAAI,CAAC;MACTZ,IAAI,EAAE,UAAU;MAChBa,OAAO,EAAE,GAAGhB,KAAK,CAACiB,WAAW;IAC/B,CAAC,CAAC;EACJ;EACA,IAAI,EAAAX,cAAA,GAAAK,CAAC,CAACO,WAAW,qBAAbZ,cAAA,CAAea,GAAG,KAAI,IAAI,EAAE;IAC9BN,KAAK,CAACE,IAAI,CAAC;MAAEZ,IAAI,EAAE,KAAK;MAAEiB,KAAK,EAAET,CAAC,CAACO,WAAW,CAACC,GAAG;MAAEH,OAAO,EAAE;IAAG,CAAC,CAAC;EACpE;EACA,IAAI,EAAAT,eAAA,GAAAI,CAAC,CAACO,WAAW,qBAAbX,eAAA,CAAec,GAAG,KAAI,IAAI,EAAE;IAC9BR,KAAK,CAACE,IAAI,CAAC;MAAEZ,IAAI,EAAE,KAAK;MAAEiB,KAAK,EAAET,CAAC,CAACO,WAAW,CAACG,GAAG;MAAEL,OAAO,EAAE;IAAG,CAAC,CAAC;EACpE;EACA,IAAI,EAAAR,oBAAA,GAAAG,CAAC,CAACW,iBAAiB,qBAAnBd,oBAAA,CAAqBe,SAAS,KAAI,IAAI,EAAE;IAC1CV,KAAK,CAACE,IAAI,CAAC;MACTZ,IAAI,EAAE,WAAW;MACjBiB,KAAK,EAAET,CAAC,CAACW,iBAAiB,CAACC,SAAS;MACpCP,OAAO,EAAE;IACX,CAAC,CAAC;EACJ;EACA,IAAI,EAAAP,qBAAA,GAAAE,CAAC,CAACW,iBAAiB,qBAAnBb,qBAAA,CAAqBe,SAAS,KAAI,IAAI,EAAE;IAC1CX,KAAK,CAACE,IAAI,CAAC;MACTZ,IAAI,EAAE,WAAW;MACjBiB,KAAK,EAAET,CAAC,CAACW,iBAAiB,CAACE,SAAS;MACpCR,OAAO,EAAE;IACX,CAAC,CAAC;EACJ;EACA,KAAAN,iBAAA,GAAIC,CAAC,CAACc,cAAc,aAAhBf,iBAAA,CAAkBgB,MAAM,EAAE;IAC5Bb,KAAK,CAACE,IAAI,CAAC;MACTZ,IAAI,EAAE,gBAAgB;MACtBwB,MAAM,EAAEhB,CAAC,CAACc,cAAc;MACxBT,OAAO,EAAE,GAAGhB,KAAK,CAACiB,WAAW;IAC/B,CAAC,CAAC;EACJ;EACA,OAAOJ,KAAK;AACd;;AAEA;AACA;AACA;AACA,SAASe,oBAAoBA,CAC3BC,UAA+B,EACP;EAAA,IAAAC,iBAAA;EACxB,MAAMC,aAAa,GAAGF,UAAU,CAACE,aAAc;EAC/C,MAAMC,aAAa,IAAAF,iBAAA,GAAGD,UAAU,CAACT,KAAK,qBAAhBU,iBAAA,CAAkBG,QAAQ;EAChD,MAAMA,QAAQ,GACZD,aAAa,KACZ,CAACZ,KAAc,EAAEP,KAAwB,KAAKmB,aAAa,CAACZ,KAAK,EAAEP,KAAK,CAAC,CAAC;EAC7E,OAAO;IAAE,GAAGkB,aAAa;IAAEE;EAAS,CAAC;AACvC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,yBAAyBA,CACvCC,MAAoB,EACpBC,eAAmE,EACxB;EAC3C,MAAMC,QAAQ,GAAG,OAAOF,MAAM,CAACG,YAAY,KAAK,UAAU;EAC1D,OAAOH,MAAM,CAACI,MAAM,CAACC,GAAG,CAAExC,KAAK,IAAK;IAAA,IAAAyC,qBAAA,EAAAC,mBAAA;IAClC,MAAMC,EAAE,GAAGR,MAAM,CAACS,gBAAgB,CAAC5C,KAAK,CAAC;IACzC,MAAM6B,UAAU,GAAG,IAAAgB,mCAA0B,EAACV,MAAM,EAAEnC,KAAK,CAAC;IAC5D,MAAMC,UAAU,GAAG4B,UAAU,YAAVA,UAAU,CAAEE,aAAa,GACxCH,oBAAoB,CAACC,UAAU,CAAC,GAChCiB,SAAS;IACb;IACA;IACA,MAAMC,UAAU,GAAG9C,UAAU,GACzB6C,SAAS,GACTjD,iBAAiB,CAACO,GAAG,CAACJ,KAAK,CAACG,IAAI,CAAC,GACjCiC,eAAe,oBAAfA,eAAe,CAAGpC,KAAK,CAAC,GACxB8C,SAAS;IACb,MAAME,QAAQ,GAAG/C,UAAU,GACvB,QAAQ,GACR,CAAA8C,UAAU,oBAAVA,UAAU,CAAEC,QAAQ,MACnBnD,iBAAiB,CAACO,GAAG,CAACJ,KAAK,CAACG,IAAI,CAAC,GAC9B,QAAQ,GACR8C,4CAAuB,CAACjD,KAAK,CAACG,IAAI,CAAC,IAAI,QAAQ,CAAC;IACxD,MAAMS,UAAU,GAAGP,iBAAiB,CAACL,KAAK,CAAC;IAC3C,MAAMkD,QAAQ,GACZb,QAAQ,IACR,CAACrC,KAAK,CAACmD,QAAQ,KACd,CAAC,CAACJ,UAAU,IAAIhD,SAAS,CAACC,KAAK,EAAEC,UAAU,CAAC,CAAC;IAChD,OAAO;MACL0C,EAAE;MACFK,QAAQ;MACR,IAAI/C,UAAU,IAAI;QAAEmD,UAAU,EAAEnD;MAAW,CAAC,CAAC;MAC7C,IAAI8C,UAAU,IAAI;QAAEK,UAAU,EAAEL,UAAU,CAACK;MAAW,CAAC,CAAC;MACxDpD,KAAK;MACLqD,KAAK,EAAErD,KAAK,CAACiB,WAAW;MACxBqC,IAAI,EAAEtD,KAAK,CAACiB,WAAW;MACvBsC,SAAS,EAAEvD,KAAK,CAACuD,SAAS;MAC1BJ,QAAQ,EAAEnD,KAAK,CAACmD,QAAQ;MACxBK,QAAQ,EAAE,IAAI;MACdC,QAAQ,EACN,CAAA5B,UAAU,aAAAY,qBAAA,GAAVZ,UAAU,CAAE6B,YAAY,qBAAxBjB,qBAAA,CAA0BgB,QAAQ,OAAAf,mBAAA,GAClC1C,KAAK,CAAC0D,YAAY,qBAAlBhB,mBAAA,CAAoBe,QAAQ,KAC5B,KAAK;MACPP,QAAQ;MACRtC,UAAU,EAAEA,UAAU,CAACc,MAAM,GAAGd,UAAU,GAAGkC,SAAS;MACtDa,QAAQ,EAAGC,IAAI,IAAKzB,MAAM,CAAC0B,YAAY,CAACD,IAAI,EAAE5D,KAAK,CAAC;MACpD8D,QAAQ,EAAEZ,QAAQ,GACd,CAACU,IAAI,EAAExC,KAAK,KACVe,MAAM,CAACG,YAAY,CAAEsB,IAAI,EAAE5D,KAAK,EAAEoB,KAAK,CAA4B,GACrE0B;IACN,CAAC;EACH,CAAC,CAAC;AACJ","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_fieldTypeToCellType","NEEDS_TYPE_CONFIG","Set","hasEditor","field","customCell","EditComponent","type","has","toValidationRules","_v$numberRange","_v$numberRange2","_v$stringLengthRange","_v$stringLengthRange2","_v$specificValues","v","validation","rules","required","push","message","displayName","numberRange","min","value","max","stringLengthRange","minLength","maxLength","specificValues","length","values","synthesizeCellConfig","definition","_definition$value","editableTable","valueValidate","validate","buildEditableFieldColumns","source","editableCellFor","canWrite","setCellValue","fields","map","_definition$capabilit","_field$capabilities","id","columnIdForField","resolveFieldTypeDefinition","undefined","sourceCell","cellType","FIELD_TYPE_TO_CELL_TYPE","editable","isSystem","typeConfig","title","name","isPrimary","hideable","sortable","capabilities","getValue","item","getCellValue","setValue"],"sources":["../../../src/state/buildEditableFieldColumns.ts"],"sourcesContent":["import type {\n Field,\n FieldsSource,\n FieldTypeDefinition,\n PatternsFieldType,\n ValidationRule,\n} from '@wix/bex-core';\nimport { resolveFieldTypeDefinition } from '@wix/bex-core';\nimport type { CellType, EditableColumn } from './EditableTable/types';\nimport { FIELD_TYPE_TO_CELL_TYPE } from './EditableTable/fieldTypeToCellType';\nimport type { EditableCellUpgrade } from './CollectionFieldsSourceState';\n\n// Types whose editable cell needs typeConfig the projection can't supply yet\n// (referenced collection, address shape). Until that lands, they render as a\n// read-only 'object' cell rather than a broken editor.\nconst NEEDS_TYPE_CONFIG = new Set<PatternsFieldType>([\n 'REFERENCE',\n 'MULTI_REFERENCE',\n 'ADDRESS',\n]);\n\n/**\n * Whether this column has a usable inline editor. Read-only cases:\n * `NEEDS_TYPE_CONFIG` types are downgraded to a display cell, `UNKNOWN` has no\n * editor, and a `CUSTOM` field is only editable through a definition that\n * supplies an EditComponent. Everything else keeps its cell type's own editor —\n * including OBJECT / ARRAY, whose cells edit as JSON.\n */\nfunction hasEditor(field: Field, customCell?: Omit<CellType, 'type'>): boolean {\n if (customCell) {\n return !!customCell.EditComponent;\n }\n return (\n field.type !== 'CUSTOM' &&\n field.type !== 'UNKNOWN' &&\n !NEEDS_TYPE_CONFIG.has(field.type)\n );\n}\n\nexport function toValidationRules(field: Field): ValidationRule[] {\n const v = field.validation;\n if (!v) {\n return [];\n }\n const rules: ValidationRule[] = [];\n if (v.required) {\n rules.push({\n type: 'required',\n message: `${field.displayName} is required`,\n });\n }\n if (v.numberRange?.min != null) {\n rules.push({ type: 'min', value: v.numberRange.min, message: '' });\n }\n if (v.numberRange?.max != null) {\n rules.push({ type: 'max', value: v.numberRange.max, message: '' });\n }\n if (v.stringLengthRange?.minLength != null) {\n rules.push({\n type: 'minLength',\n value: v.stringLengthRange.minLength,\n message: '',\n });\n }\n if (v.stringLengthRange?.maxLength != null) {\n rules.push({\n type: 'maxLength',\n value: v.stringLengthRange.maxLength,\n message: '',\n });\n }\n if (v.specificValues?.length) {\n rules.push({\n type: 'specificValues',\n values: v.specificValues,\n message: `${field.displayName} must be one of the allowed values`,\n });\n }\n return rules;\n}\n\n// The inline-custom cell config for a resolved definition: its editableTable\n// slot, with the definition's value-level validation layered in when the slot\n// doesn't validate itself.\nfunction synthesizeCellConfig(\n definition: FieldTypeDefinition,\n): Omit<CellType, 'type'> {\n const editableTable = definition.editableTable!;\n const valueValidate = definition.value?.validate;\n const validate =\n valueValidate &&\n ((value: unknown, rules?: ValidationRule[]) => valueValidate(value, rules));\n return { ...editableTable, validate };\n}\n\n/**\n * Projects a FieldsSource's fields into EditableTable columns: a cell type by\n * field type, value read/write through the source, validation from the field,\n * and the flags the header reads for its disable rules. A cell is editable only\n * when the source can write it back (setCellValue) and the field isn't a system\n * field. A CUSTOM field renders through its definition's editableTable slot as\n * an inline custom cell; without one it falls back to a read-only object cell.\n */\nexport function buildEditableFieldColumns(\n source: FieldsSource,\n editableCellFor?: (field: Field) => EditableCellUpgrade | undefined,\n): EditableColumn<Record<string, unknown>>[] {\n const canWrite = typeof source.setCellValue === 'function';\n return source.fields.map((field) => {\n const id = source.columnIdForField(field);\n const definition = resolveFieldTypeDefinition(source, field);\n const customCell = definition?.editableTable\n ? synthesizeCellConfig(definition)\n : undefined;\n // A source-supplied cell wins over the downgrade: it carries the typeConfig\n // that made the type read-only here in the first place.\n const sourceCell = customCell\n ? undefined\n : NEEDS_TYPE_CONFIG.has(field.type)\n ? editableCellFor?.(field)\n : undefined;\n const cellType = customCell\n ? 'custom'\n : sourceCell?.cellType ??\n (NEEDS_TYPE_CONFIG.has(field.type)\n ? 'object'\n : FIELD_TYPE_TO_CELL_TYPE[field.type] ?? 'object');\n const validation = toValidationRules(field);\n const editable =\n canWrite &&\n !field.isSystem &&\n (!!sourceCell || hasEditor(field, customCell));\n return {\n id,\n cellType,\n ...(customCell && { typeConfig: customCell }),\n ...(sourceCell && { typeConfig: sourceCell.typeConfig }),\n field,\n title: field.displayName,\n name: field.displayName,\n isPrimary: field.isPrimary,\n isSystem: field.isSystem,\n hideable: true,\n sortable:\n definition?.capabilities?.sortable ??\n field.capabilities?.sortable ??\n false,\n editable,\n validation: validation.length ? validation : undefined,\n getValue: (item) => source.getCellValue(item, field),\n setValue: editable\n ? (item, value) =>\n source.setCellValue!(item, field, value) as Record<string, unknown>\n : undefined,\n } as EditableColumn<Record<string, unknown>>;\n });\n}\n"],"mappings":"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","ignoreList":[]}
|