@wix/patterns 1.442.0 → 1.444.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.js +1 -1
- package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.js.map +1 -1
- package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
- package/dist/cjs/components/CollectionTable/CollectionTableWSRTable.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.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/CollectionToolbarFilters/CollectionToolbarFilters.js +18 -10
- package/dist/cjs/components/CollectionToolbarFilters/CollectionToolbarFilters.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/cjs/components/DragHandle/DragHandle.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/EditableCell.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/HeaderActionsPopover.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/CellViewLayout.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/address/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/array/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/boolean/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/boolean/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/color/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/date/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/date/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js +8 -8
- package/dist/cjs/components/EditableTable/cellTypes/datetime/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js +7 -7
- package/dist/cjs/components/EditableTable/cellTypes/datetime/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/email/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/email/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/number/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/number/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js +3 -3
- package/dist/cjs/components/EditableTable/cellTypes/object/Edit.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/cjs/components/EditableTable/cellTypes/object/View.st.css.js.map +1 -1
- package/dist/cjs/components/EditableTable/cellTypes/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/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/NestedTable/NestedTableWSRTable.js +9 -7
- package/dist/cjs/components/NestedTable/NestedTableWSRTable.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/ReferenceFieldFilter/ReferenceFieldFilter.js +80 -0
- package/dist/cjs/components/ReferenceFieldFilter/ReferenceFieldFilter.js.map +1 -0
- package/dist/cjs/components/ReferenceFieldFilter/index.js +10 -0
- package/dist/cjs/components/ReferenceFieldFilter/index.js.map +1 -0
- package/dist/cjs/components/ReferenceFieldFilter/pr-5715-comments.md +73 -0
- package/dist/cjs/components/SchemaSource/SchemaState.js +5 -1
- package/dist/cjs/components/SchemaSource/SchemaState.js.map +1 -1
- package/dist/cjs/components/SchemaSource/referenceCells.js +38 -2
- package/dist/cjs/components/SchemaSource/referenceCells.js.map +1 -1
- package/dist/cjs/components/SchemaSource/schemaRendering.js +18 -7
- package/dist/cjs/components/SchemaSource/schemaRendering.js.map +1 -1
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js +9 -9
- package/dist/cjs/components/SetupWidget/SetupWidget.st.css.js.map +1 -1
- package/dist/cjs/components/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/TableSections/TableSectionRow.js +10 -8
- package/dist/cjs/components/TableSections/TableSectionRow.js.map +1 -1
- package/dist/cjs/components/TableSkeleton/TableSkeleton.js +11 -9
- package/dist/cjs/components/TableSkeleton/TableSkeleton.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/useEntityPage.js.map +1 -1
- package/dist/cjs/state/CollectionFieldsSourceState.js +2 -2
- package/dist/cjs/state/CollectionFieldsSourceState.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/EntityPage/EntityPageState.js +6 -1
- package/dist/cjs/state/EntityPage/EntityPageState.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/ToolbarCollectionState.js +9 -2
- package/dist/cjs/state/ToolbarCollectionState.js.map +1 -1
- package/dist/cjs/state/buildFieldFilters.js +60 -8
- package/dist/cjs/state/buildFieldFilters.js.map +1 -1
- package/dist/cjs/styles.global.css +2 -2
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/docs/AutoCompleteFilter.md +1 -0
- package/dist/docs/MultiAutoInlineCheckboxFilter.md +2 -2
- package/dist/docs/MultiInlineCheckboxFilter.md +2 -2
- package/dist/docs/MultiSelectCheckboxFilter.md +1 -0
- package/dist/docs/MultiSelectCollectionFilter.md +1 -0
- package/dist/docs/SingleSelectFilter.md +1 -0
- package/dist/docs/TableTopNotification.md +1 -0
- package/dist/docs/ToolbarFilters.md +0 -9
- package/dist/docs/index.json +36 -36
- package/dist/docs/useEntityPage.md +1 -0
- 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.js +1 -1
- package/dist/esm/components/CollectionTable/CollectionTableWSRTable.js.map +1 -1
- package/dist/esm/components/CollectionTable/CollectionTableWSRTable.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbarFilters/CollectionToolbarFilters.js +20 -9
- package/dist/esm/components/CollectionToolbarFilters/CollectionToolbarFilters.js.map +1 -1
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/components/EditableTable/EditableCell.st.css.js +2 -2
- package/dist/esm/components/EditableTable/EditableCell.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/HeaderActionsPopover.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/CellViewLayout.st.css.js +2 -2
- 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/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/datetime/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/datetime/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/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/number/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/number/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/Edit.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/object/View.st.css.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/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/Edit.st.css.js.map +1 -1
- package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js +2 -2
- package/dist/esm/components/EditableTable/cellTypes/url/View.st.css.js.map +1 -1
- package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js +2 -2
- package/dist/esm/components/EmptyState/EmptyStateBase.st.css.js.map +1 -1
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/Fade/Fade.st.css.js.map +1 -1
- package/dist/esm/components/Heading/Heading.st.css.js +2 -2
- package/dist/esm/components/Heading/Heading.st.css.js.map +1 -1
- package/dist/esm/components/ImportButton/ImportStepUpload.st.css.js +2 -2
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
- package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
- package/dist/esm/components/NestedTable/NestedTableWSRTable.js +3 -1
- package/dist/esm/components/NestedTable/NestedTableWSRTable.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/esm/components/ReferenceFieldFilter/ReferenceFieldFilter.js +45 -0
- package/dist/esm/components/ReferenceFieldFilter/ReferenceFieldFilter.js.map +1 -0
- package/dist/esm/components/ReferenceFieldFilter/index.js +2 -0
- package/dist/esm/components/ReferenceFieldFilter/index.js.map +1 -0
- package/dist/esm/components/ReferenceFieldFilter/pr-5715-comments.md +73 -0
- package/dist/esm/components/SchemaSource/SchemaState.js +4 -2
- package/dist/esm/components/SchemaSource/SchemaState.js.map +1 -1
- package/dist/esm/components/SchemaSource/referenceCells.js +31 -0
- package/dist/esm/components/SchemaSource/referenceCells.js.map +1 -1
- package/dist/esm/components/SchemaSource/schemaRendering.js +13 -4
- package/dist/esm/components/SchemaSource/schemaRendering.js.map +1 -1
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/esm/components/SetupWidget/SetupWidget.st.css.js +2 -2
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
- 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/TableSections/TableSectionRow.js +3 -1
- package/dist/esm/components/TableSections/TableSectionRow.js.map +1 -1
- package/dist/esm/components/TableSkeleton/TableSkeleton.js +3 -1
- package/dist/esm/components/TableSkeleton/TableSkeleton.js.map +1 -1
- 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/components/common.st.css.js.map +1 -1
- package/dist/esm/hooks/useEntityPage.js.map +1 -1
- package/dist/esm/state/CollectionFieldsSourceState.js +2 -2
- package/dist/esm/state/CollectionFieldsSourceState.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/EntityPage/EntityPageState.js +4 -0
- package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
- package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/esm/state/ToolbarCollectionState.js +7 -3
- package/dist/esm/state/ToolbarCollectionState.js.map +1 -1
- package/dist/esm/state/buildFieldFilters.js +32 -8
- package/dist/esm/state/buildFieldFilters.js.map +1 -1
- package/dist/esm/styles.global.css +2 -2
- package/dist/esm/version.js +1 -1
- package/dist/types/components/CollectionToolbarFilters/CollectionToolbarFilters.d.ts +10 -0
- package/dist/types/components/CollectionToolbarFilters/CollectionToolbarFilters.d.ts.map +1 -1
- package/dist/types/components/EditableTable/EditableCell.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/email/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/object/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/text/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/url/Edit.st.css.d.ts.map +1 -1
- package/dist/types/components/EditableTable/cellTypes/url/View.st.css.d.ts.map +1 -1
- package/dist/types/components/EmptyState/EmptyStateBase.st.css.d.ts.map +1 -1
- package/dist/types/components/Fade/Fade.st.css.d.ts.map +1 -1
- package/dist/types/components/Heading/Heading.st.css.d.ts.map +1 -1
- package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
- package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTableRow.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTableWSRTable.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.d.ts.map +1 -1
- package/dist/types/components/ReferenceFieldFilter/ReferenceFieldFilter.d.ts +48 -0
- package/dist/types/components/ReferenceFieldFilter/ReferenceFieldFilter.d.ts.map +1 -0
- package/dist/types/components/ReferenceFieldFilter/index.d.ts +2 -0
- package/dist/types/components/ReferenceFieldFilter/index.d.ts.map +1 -0
- package/dist/types/components/SchemaSource/SchemaState.d.ts +3 -0
- package/dist/types/components/SchemaSource/SchemaState.d.ts.map +1 -1
- package/dist/types/components/SchemaSource/referenceCells.d.ts +18 -2
- package/dist/types/components/SchemaSource/referenceCells.d.ts.map +1 -1
- package/dist/types/components/SchemaSource/schemaRendering.d.ts +7 -0
- package/dist/types/components/SchemaSource/schemaRendering.d.ts.map +1 -1
- package/dist/types/components/TableSections/TableSectionRow.d.ts.map +1 -1
- package/dist/types/components/TableSkeleton/TableSkeleton.d.ts.map +1 -1
- package/dist/types/components/ToolbarItemBox/ToolbarItemBox.st.css.d.ts.map +1 -1
- package/dist/types/components/common.st.css.d.ts.map +1 -1
- package/dist/types/hooks/useEntityPage.d.ts +1 -1
- package/dist/types/hooks/useEntityPage.d.ts.map +1 -1
- package/dist/types/state/CollectionFieldsSourceState.d.ts +5 -0
- package/dist/types/state/CollectionFieldsSourceState.d.ts.map +1 -1
- package/dist/types/state/CollectionPage/CollectionPageHeader.st.css.d.ts.map +1 -1
- package/dist/types/state/EntityPage/EntityPageState.d.ts +12 -0
- package/dist/types/state/EntityPage/EntityPageState.d.ts.map +1 -1
- package/dist/types/state/ToolbarCollectionState.d.ts.map +1 -1
- package/dist/types/state/buildFieldFilters.d.ts +20 -4
- package/dist/types/state/buildFieldFilters.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +9 -9
- 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/CollectionTable/CollectionTableWSRTable.tsx +1 -1
- package/src/components/CollectionToolbar/CollectionToolbar.st.css.ts +2 -2
- package/src/components/CollectionToolbar/SearchOrCustomFilter.st.css.ts +2 -2
- package/src/components/CollectionToolbarFilters/CollectionToolbarFilters.tsx +24 -11
- package/src/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.ts +2 -2
- package/src/components/CollectionViewsDropdown/ViewsDropdown.st.css.ts +2 -2
- package/src/components/DragHandle/DragHandle.st.css.ts +2 -2
- package/src/components/EditableTable/EditableCell.st.css.ts +2 -2
- package/src/components/EditableTable/HeaderActionsPopover.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/CellViewLayout.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/address/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/array/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/boolean/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/boolean/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/color/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/date/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/date/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/datetime/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/datetime/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/email/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/email/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/number/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/number/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/object/Edit.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/object/View.st.css.ts +2 -2
- package/src/components/EditableTable/cellTypes/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/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/NestedTable/NestedTableWSRTable.tsx +3 -1
- 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/ReferenceFieldFilter/ReferenceFieldFilter.tsx +77 -0
- package/src/components/ReferenceFieldFilter/index.ts +1 -0
- package/src/components/ReferenceFieldFilter/pr-5715-comments.md +73 -0
- package/src/components/SchemaSource/SchemaState.ts +12 -2
- package/src/components/SchemaSource/referenceCells.ts +42 -0
- package/src/components/SchemaSource/schemaRendering.tsx +15 -4
- package/src/components/ScrollableContent/ScrollableContent.st.css.ts +2 -2
- package/src/components/SetupWidget/SetupWidget.st.css.ts +2 -2
- package/src/components/SkeletonCard/SkeletonCard.st.css.ts +2 -2
- package/src/components/SlidingModal/SlidingModal.st.css.ts +2 -2
- package/src/components/Table/AddFieldColumnHeader.st.css.ts +2 -2
- package/src/components/TableSections/TableSectionRow.tsx +3 -1
- package/src/components/TableSkeleton/TableSkeleton.tsx +3 -1
- 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/useEntityPage.ts +1 -0
- package/src/state/CollectionFieldsSourceState.ts +12 -1
- package/src/state/CollectionPage/CollectionPageHeader.st.css.ts +2 -2
- package/src/state/EntityPage/EntityPageState.ts +17 -0
- package/src/state/FormPage/FormPageHeader.st.css.ts +2 -2
- package/src/state/ToolbarCollectionState.ts +13 -5
- package/src/state/buildFieldFilters.tsx +74 -7
- package/src/styles.global.css +2 -2
- package/src/version.ts +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_bexCore","_model","exports","ViewType","_simplifyColumns","_indexOfCompareFn","_ToolbarBIReporter","_SidePanelsState","_RectState","_BulkActionToolbarState","_util","_ToolbarState","_ColumnSizesState","ToolbarCollectionState","constructor","params","_defineProperty2","default","idArrayFilter","TaskState","moreFiltersButton","ValueBox","appliedFiltersTagList","exportButton","exportModal","importButton","importModal","observable","array","undefined","current","Map","contentPadding","height","top","_this$viewsState","_originQuery$sort","collection","result","originQuery","viewShown","viewsState","views","currentView","id","tabShown","getCurrentTabName","sortOrderApplied","sort","length","JSON","stringify","filtersApplied","filtersKey","filteredListSizeShown","total","column","defaultHidden","hideable","hiddenFromCustomColumnsSelection","isSelected","selectedColumns","customColumnsState","customColumnsProps","customColumnsStateInitialized","initTask","mergedColumns","mergeNewColumns","runInAction","defaultValue","columns","map","col","_toStoredColumn","status","isSuccess","_touched","refresh","setValue","allColumns","sidePanel","close","action","multi","isError","runOnce","retryErrorState","bulk","_selectionStartTime","performance","now","_selectedIds","change","panels","closeSidePanel","type","toggleSelectAll","location","deselectAll","value","selectOne","deselectOne","customOrigin","_this$collectionField","collectionFieldsSource","openFieldModal","_this$tagsCollectionS","tagsCollectionState","openManageTagsModal","items","_resetQueryAndAddItems","toolbarBIReporter","newItemCreationEnd","_collection$_optimist","_collection$scrollabl","query","resetFilters","resetSorting","clearResultAndMoveToStart","force","_optimisticActions","createMany","submit","scrollableContent","scrollTo","behavior","container","componentType","toolbar","ToolbarState","fedopsReporter","FedopsReporter","componentName","internalMonitor","MultiCollectionSupport","collections","itemsContentRect","RectState","toolbarRect","SidePanelsState","panelGroupName","queryName","ToolbarBIReporter","reportBi","ev","_commonDynamicBiParams","BulkActionToolbarState","translate","scrollToTop","_this$collection$scro","left","namespace","environment","componentId","join","dataCapsule","createEssentials","reportBiBase","columnSizesState","ColumnSizesState","fqdn","makeObservable","forceRenderIndexes","ref","_userColumns","_extendedColumns","computed","viewsProps","dragAndDropCategories","filtersProps","shouldDisplayFiltersTags","totalStickyContentHeight","showInitialLoader","showEmptyState","showErrorState","hasSubToolbarComponents","containerRect","setFilterTagsPropsIfChanged","_initDefaultSortableColumn","minimizedHeaderHeight","tabsFilterProps","toolbarFiltersStateInitialized","hasToolbarTabs","itemsContentHeight","setNewColumns","addFeatureColumn","setExtendedColumns","_adjustSortWithNewColumns","setToolbarFiltersStateInitialized","activeFiltersEntries","_searchExpanded","showFieldTypeIcons","internalScroll","rect","bottom","right","width","containerTop","_this$containerRect","scrollElementRect","process","env","NODE_ENV","toolbarOffsetTop","sidePanelComponents","isLoading","isIdle","showRefreshLoader","errorStatus","featuredComponents","reorderModeState","_this$_dnd","_dnd","_featuredComponents$a","state","tags","isReorderModeToolbarVisible","_this$reorderModeStat","isReorderModePending","_this$reorderModeStat2","_featureColumns","extendedById","c","merged","extended","get","mergedIds","Set","filter","has","selectedOrderedColumnsOrAll","baseColumns","selectedOrderedColumns","mergeSizes","_viewsState$views$cur","_viewsState$views","_viewsState$views2","currentTab","isPredefined","isPreset","filters","numFiltersInView","_numberFiltersInView","visibleColumnsOrder","title","name","numColumns","numFiltersActive","activeFiltersCount","view","filterName","Object","keys","Array","isArray","tabs","entries","rawFilters","key","flatMap","itemKey","getPendingFilter","_this$pendingQuery","pendingQuery","getApplicableFilter","init","featuresInitializers","hasMultiLevelSorting","skipFilterListeners","_this$collectionField2","biReporters","CollectionBIReporter","tableFeatures","t","tableFeatInit","disposers","reaction","_this$layoutState","layoutState","viewType","next","prev","_skipNextLayoutCoordinator","_cacheRestoredLayout","_flushColumnsToCache","_tryRestoreColumnsFromCache","_tableInit","_columns","replace","fireImmediately","b","addEventListener","bulkSelect","events","modals","actionModal","modal","open","emitter","broadcast","message","num","startTime","loadStart","forEach","_tagsCollectionState$","_this$collectionField3","Promise","all","promise","catch","_t$initTask","loadEnd","e","d","tableColumns","simplifyColumns","featureColumn","push","simplifyColumn","_adjustSelectedColumns","_this$liveRegionRef$c","liveRegionRef","updateColumnWidth","columnId","_this$columnSizesStat","defaultSortableColumns","sortable","defaultSortOrder","sortQuery","field","direction","setSortQuery","slice","layout","_layoutColumnsCache","_this$customColumnsSt","cached","cachedEntry","find","dragAndDrop","indexOfCompareFn","_clearColumnsCache","tableColumnsIds","s","remove","emit","scheduleSort","clearResult","openFiltersPanel","openSidePanel","_onSelectAllCheckboxClick","from","_","search","reduce","entry","set","values","getPageFeaturedActions","_e$props","props","disableDefaultPageAction","featuredPageActions"],"sources":["../../../src/state/ToolbarCollectionState.ts"],"sourcesContent":["import {\n action,\n computed,\n makeObservable,\n observable,\n reaction,\n runInAction,\n} from 'mobx';\nimport type {\n ModalState,\n QueryPendingState,\n SortOrder,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport {\n CollectionBIReporter,\n CollectionState,\n FedopsReporter,\n Filter,\n FiltersMap,\n idArrayFilter,\n MultiCollectionSupport,\n ReportBI,\n TaskState,\n ValueBox,\n} from '@wix/bex-core';\nimport {\n Column,\n FilterProps,\n PrivateView,\n TableColumn,\n ViewType,\n} from '../model';\n\nexport { ViewType };\nimport { CustomColumnsProps } from '../components/CustomColumns';\nimport type {\n LiveRegionRefType,\n LiveRegionState,\n TableProps,\n} from '@wix/design-system';\nimport type { AppliedFiltersTagListState } from '../components/AppliedFiltersTagList/AppliedFiltersTagListState';\nimport { ToolbarFeatureInitializer } from './toolbarFeatureInitializer';\nimport { simplifyColumn, simplifyColumns } from './simplifyColumns';\nimport { indexOfCompareFn } from './indexOfCompareFn';\nimport type { CollectionViewsState } from './CollectionViewsState';\nimport { ReactElement } from 'react';\nimport { ToolbarBIReporter } from './ToolbarBIReporter';\nimport { DragAndDropState } from '../components/DragAndDrop';\nimport { CollectionViewsDropdownProps } from '../components/CollectionViewsDropdown';\nimport { ActionCellProps } from '../components/ActionCell';\nimport { ActionCellAPI } from './ItemActionsState';\nimport { CustomColumnsState } from './CustomColumnsState';\nimport { SidePanelsState } from './SidePanelsState';\nimport { CollectionToolbarFiltersState } from '../components/CollectionToolbarFilters/CollectionToolbarFiltersState';\nimport { MultiLevelSortingState } from './MultiLevelSortingState';\nimport { RectState } from './RectState';\nimport { BulkActionToolbarState } from './BulkActionToolbarState';\nimport { addEventListener } from '@wix/bex-core/util';\nimport type { AddApplyFiltersButton } from '../components/FiltersPanel/AddApplyFiltersButton';\nimport { TabsFilterState } from '../components/TabsFilter/TabsFilterState';\nimport { CollectionFieldsSourceState } from './CollectionFieldsSourceState';\nimport { TagsCollectionState } from './TagsCollectionState';\nimport {\n AdditionalFeaturesAvailabilityBIParams,\n FeaturesAvailabilityBIParams,\n} from './FeaturesAvailabilityBIParams';\nimport { ExtensionMenuItemsState } from './ExtensionMenuItemsState';\nimport { ToolbarState } from '../components/CollectionToolbars/ToolbarState';\nimport { MoreActionItemFactory } from '../components/MoreActions/MoreActionsBase';\nimport { ColumnSizesState } from './ColumnSizesState';\n\nexport type Component<C> = () => C;\n\nexport interface ToolbarCollectionStateParamsInitParams {\n featuresInitializers: (ToolbarFeatureInitializer | undefined)[];\n hasMultiLevelSorting?: boolean;\n skipFilterListeners?: boolean;\n}\n\nexport interface LayoutState {\n viewType: ViewType;\n}\n\nexport interface ToolbarCollectionStateParams<T, F extends FiltersMap> {\n readonly container: WixPatternsContainer;\n readonly collection: CollectionState<T, F>;\n readonly componentType: string;\n readonly reportBi?: ReportBI;\n}\n\nexport class ToolbarCollectionState<T, F extends FiltersMap = FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly selectedColumns = idArrayFilter<{\n id: string;\n isSelected: boolean;\n }>();\n readonly initTask = new TaskState();\n readonly fedopsReporter;\n readonly dataCapsule;\n readonly toolbar;\n readonly container: WixPatternsContainer;\n readonly namespace;\n readonly reportBi: ReportBI;\n readonly featuredComponents = {\n moreFiltersButton: new ValueBox<Component<{}> | null>(null),\n appliedFiltersTagList: new ValueBox<{\n component: Component<{}>;\n state: AppliedFiltersTagListState<T, F>;\n } | null>(null),\n exportButton: new ValueBox<ReactElement | null>(null),\n exportModal: new ValueBox<ReactElement<{}> | null>(null),\n importButton: new ValueBox<ReactElement | null>(null),\n importModal: new ValueBox<ReactElement<{}> | null>(null),\n };\n readonly toolbarRect;\n readonly itemsContentRect;\n readonly panels;\n readonly bulk;\n readonly multi;\n readonly componentType;\n\n _syncedProps?: {\n useResponsiveLayout?: boolean;\n };\n\n _userColumns: Column[] = []; // columns propagated from user\n _featureColumns: Column[] = observable.array(); // columns propagated from installed features\n _extendedColumns: Column[] = []; // columns propagated from data-extension (can be merged with above?)\n internalScroll = undefined as boolean | undefined;\n customColumnsState: CustomColumnsState<T, F> | null = null;\n customColumnsStateInitialized = false;\n columnSizesState: ColumnSizesState | null = null;\n multiLevelSorting: MultiLevelSortingState<T, F> | null = null;\n liveRegionRef: { current: null | LiveRegionRefType } = {\n current: null,\n };\n collectionFieldsSource: CollectionFieldsSourceState | null = null;\n menuItemExtensions = new Map<string, ExtensionMenuItemsState>();\n tagsCollectionState: TagsCollectionState<T, F> | null = null;\n toolbarFiltersState: CollectionToolbarFiltersState<T, F> | null = null;\n toolbarFiltersStateInitialized = false;\n _dnd: DragAndDropState<T, F> | null = null;\n toolbarBIReporter: ToolbarBIReporter<T, F>;\n filtersProps: FilterProps<any>[] | null = null;\n viewsProps: CollectionViewsDropdownProps<F> | null | undefined = null;\n dragAndDropCategories: (keyof F)[][] | null | undefined = null;\n customColumnsProps: CustomColumnsProps | null | undefined = null;\n selectionProps = new ValueBox<{ showSelection?: boolean }>({});\n featuresAvailability: FeaturesAvailabilityBIParams = {};\n additionalFeaturesAvailability: AdditionalFeaturesAvailabilityBIParams = {};\n actionCell = new ValueBox<\n | undefined\n | ActionCellProps\n | ((item: T, index: number, api: ActionCellAPI<T, F>) => ActionCellProps)\n >(undefined);\n contentPadding = 24;\n contentPaddingPx = `${this.contentPadding}px`;\n\n scrollElementRect = observable<{\n height?: number | null;\n top?: number | null;\n }>({\n height: null,\n top: null,\n });\n scrollTopBeforeUnmount: number | null = null;\n minimizedHeaderHeight = 0;\n tabsFilterProps?: {\n filter: Filter<any>;\n } = undefined;\n viewsState?: CollectionViewsState<T, F>;\n exportState?: ModalState;\n importState?: ModalState;\n pendingQuery?: QueryPendingState;\n AddApplyFiltersButton?: typeof AddApplyFiltersButton;\n tabs?: TabsFilterState<T, F>;\n layoutState?: LayoutState;\n\n // Per-layout in-memory scratchpad of uncommitted column edits.\n _layoutColumnsCache: Partial<\n Record<ViewType, { id: string; isSelected: boolean }[]>\n > = {};\n // Set by the coordinator on cache-hit so per-flow reactions skip the same transition.\n _cacheRestoredLayout?: ViewType;\n // Set by `_onSelectViewAndRefresh` when a view-select changes layout, so the coordinator\n // skips flush/restore — the view-select already loaded the correct columns.\n _skipNextLayoutCoordinator = false;\n\n _searchExpanded = false;\n\n forceRenderIndexes: number[] | undefined = undefined;\n\n constructor(params: ToolbarCollectionStateParams<T, F>) {\n this.collection = params.collection;\n this.container = params.container;\n this.componentType = params.componentType;\n\n this.toolbar = new ToolbarState(this);\n\n this.fedopsReporter = new FedopsReporter({\n componentName: this.componentType,\n collection: this.collection,\n internalMonitor: this.container.internalMonitor,\n });\n\n this.multi = new MultiCollectionSupport<F>({\n collections: [this.collection as CollectionState<unknown, F>],\n });\n\n this.itemsContentRect = new RectState(params);\n this.toolbarRect = new RectState(params);\n\n this.panels = new SidePanelsState({\n container: this.container,\n panelGroupName: this.collection.queryName,\n });\n\n this.toolbarBIReporter = new ToolbarBIReporter<T, F>({\n toolbar: this,\n collection: this.collection,\n reportBi: (ev) => {\n this.reportBi({\n ...ev,\n params: {\n ...this._commonDynamicBiParams(),\n ...ev.params,\n },\n });\n },\n });\n\n this.bulk = new BulkActionToolbarState({\n toolbarBIReporter: this.toolbarBIReporter,\n panels: this.panels,\n multi: this.multi,\n translate: this.container.translate,\n scrollToTop: () => {\n this.collection.scrollableContent?.scrollTo({\n top: 0,\n left: 0,\n });\n },\n });\n\n this.namespace = [\n this.container.environment.componentId,\n this.collection.queryName,\n ].join('.');\n\n const { dataCapsule } = this.container.createEssentials({\n dataCapsule: {\n namespace: this.namespace,\n },\n });\n\n this.dataCapsule = dataCapsule;\n\n const reportBiBase = params.reportBi ?? this.container.reportBi;\n\n this.reportBi = (ev) => {\n reportBiBase({\n ...ev,\n params: {\n ...this._commonDynamicBiParams(),\n ...ev.params,\n },\n });\n };\n\n this.columnSizesState = new ColumnSizesState({\n container: this.container,\n dataCapsule: this.dataCapsule,\n fqdn: this.namespace,\n });\n\n makeObservable(this, {\n forceRenderIndexes: observable.ref,\n _userColumns: observable.ref,\n _extendedColumns: observable.ref,\n columns: computed,\n customColumnsStateInitialized: observable.ref,\n viewsProps: observable.ref,\n dragAndDropCategories: observable.ref,\n customColumnsProps: observable.ref,\n filtersProps: observable.ref,\n shouldDisplayFiltersTags: computed,\n totalStickyContentHeight: computed,\n showInitialLoader: computed,\n showEmptyState: computed,\n showErrorState: computed,\n hasSubToolbarComponents: computed,\n containerRect: computed,\n setFilterTagsPropsIfChanged: action,\n _initDefaultSortableColumn: action,\n minimizedHeaderHeight: observable.ref,\n tabsFilterProps: observable.ref,\n toolbarFiltersStateInitialized: observable.ref,\n hasToolbarTabs: computed,\n itemsContentHeight: computed,\n setNewColumns: action,\n addFeatureColumn: action,\n setExtendedColumns: action,\n _commonDynamicBiParams: action,\n _adjustSortWithNewColumns: action,\n setToolbarFiltersStateInitialized: action,\n activeFiltersEntries: computed,\n _searchExpanded: observable.ref,\n showFieldTypeIcons: observable.ref,\n });\n }\n\n get containerRect() {\n const { itemsContentRect, toolbarRect, internalScroll } = this;\n\n if (internalScroll && itemsContentRect.rect.height) {\n return {\n ...itemsContentRect.rect,\n };\n }\n\n if (itemsContentRect.rect.left && toolbarRect.rect.left) {\n const top = toolbarRect.rect.bottom;\n const bottom = top + itemsContentRect.rect.height;\n const left = toolbarRect.rect.left;\n const right = left + toolbarRect.rect.width;\n return {\n left,\n right,\n top,\n bottom,\n height: bottom - top,\n width: right - left,\n };\n }\n\n return undefined;\n }\n\n get containerTop() {\n return this.containerRect?.top;\n }\n\n /**\n * How much height left for the content inside the viewport\n */\n get itemsContentHeight() {\n const {\n toolbarRect,\n scrollElementRect,\n contentPadding,\n internalScroll,\n itemsContentRect,\n } = this;\n\n if (internalScroll && itemsContentRect.rect.height) {\n return itemsContentRect.rect.height;\n }\n\n if (\n toolbarRect.rect.height == null ||\n toolbarRect.rect.top == null ||\n scrollElementRect.height == null ||\n scrollElementRect.top == null\n ) {\n return 0;\n }\n\n if (process.env.NODE_ENV === 'test') {\n return 796;\n }\n\n const toolbarOffsetTop = toolbarRect.rect.top - scrollElementRect.top;\n\n return (\n scrollElementRect.height -\n toolbarOffsetTop -\n toolbarRect.rect.height -\n contentPadding\n );\n }\n\n get totalStickyContentHeight() {\n const { toolbarRect, minimizedHeaderHeight } = this;\n if (toolbarRect.rect.height == null) {\n return null;\n }\n\n return toolbarRect.rect.height + minimizedHeaderHeight;\n }\n\n get sidePanel() {\n return this.panels.sidePanel;\n }\n\n get sidePanelComponents() {\n return this.panels.sidePanelComponents;\n }\n\n get showInitialLoader() {\n const { multi, initTask } = this;\n\n return (\n multi.showInitialLoader ||\n initTask.status.isLoading ||\n initTask.status.isIdle\n );\n }\n\n get showEmptyState() {\n const {\n showInitialLoader,\n multi: { showRefreshLoader, showEmptyState },\n } = this;\n return showEmptyState && !showInitialLoader && !showRefreshLoader;\n }\n\n get errorStatus() {\n const { initTask, multi } = this;\n return initTask.errorStatus ?? multi.errorStatus;\n }\n\n get showErrorState() {\n const {\n showInitialLoader,\n multi: { showRefreshLoader, showErrorState },\n initTask,\n } = this;\n\n return (\n (showErrorState || initTask.status.isError) &&\n !showInitialLoader &&\n !showRefreshLoader\n );\n }\n\n get hasSubToolbarComponents() {\n const { appliedFiltersTagList } = this.featuredComponents;\n return appliedFiltersTagList.value != null;\n }\n\n get reorderModeState() {\n return this._dnd?.reorderModeState;\n }\n\n get shouldDisplayFiltersTags() {\n const { collectionFieldsSource, featuredComponents } = this;\n\n if (collectionFieldsSource?.initTask.status.isLoading) {\n return false;\n }\n\n return !!featuredComponents.appliedFiltersTagList.value?.state.tags.length;\n }\n\n get hasToolbarTabs() {\n return this.tabsFilterProps != null;\n }\n\n get isReorderModeToolbarVisible() {\n return this.reorderModeState?.isReorderModeToolbarVisible;\n }\n\n get isReorderModePending() {\n return this.reorderModeState?.isReorderModePending;\n }\n\n get columns(): Column[] {\n const { _userColumns, _featureColumns, _extendedColumns } = this;\n // One column per id. When a layout syncs a column a source also provides\n // (e.g. the editable table's cell defs for source fields), the layout's def\n // wins and inherits the source's column metadata; source-only columns fill\n // in the rest.\n const extendedById = new Map(_extendedColumns.map((c) => [c.id, c]));\n const merged = [..._userColumns, ..._featureColumns].map((column) => {\n const extended = extendedById.get(column.id);\n return extended ? { ...extended, ...column } : column;\n });\n const mergedIds = new Set(merged.map((c) => c.id));\n return [...merged, ..._extendedColumns.filter((c) => !mergedIds.has(c.id))];\n }\n\n /**\n * Whether to show field-type prefix icons across the collection UI.\n * Controlled by the `showFieldTypeIcons` prop on the collection component (Table, Grid, etc.).\n * @default false\n */\n showFieldTypeIcons = false;\n\n get selectedOrderedColumnsOrAll() {\n const { columns, customColumnsState, columnSizesState } = this;\n\n const baseColumns = customColumnsState\n ? customColumnsState.selectedOrderedColumns\n : columns;\n\n return columnSizesState?.mergeSizes(baseColumns) ?? baseColumns;\n }\n\n _commonDynamicBiParams(query = this.collection.result.originQuery) {\n const { collection, viewsState } = this;\n\n return {\n componentType: this.componentType,\n ...collection._commonDynamicBiParams(query),\n currentTab: this.getCurrentTabName(),\n ...(viewsState && { currentView: viewsState.views.currentView?.id }),\n ...(viewsState?.views?.currentView && {\n isPredefined: viewsState.views.currentView.isPreset,\n }),\n ...(viewsState?.views?.currentView?.filters && {\n numFiltersInView: this._numberFiltersInView(\n viewsState.views.currentView,\n ),\n }),\n visibleColumnsOrder: this.selectedOrderedColumnsOrAll\n .map((col) => col.id ?? col.title ?? col.name)\n .join(','),\n numColumns: this.selectedOrderedColumnsOrAll.length,\n numFiltersActive: collection.query.activeFiltersCount,\n };\n }\n\n _numberFiltersInView(view: PrivateView<F>) {\n let numFiltersInView = 0;\n\n if (view.filters) {\n for (const filterName of Object.keys(view.filters)) {\n const filter = view.filters[filterName];\n\n if (filter && filter.value) {\n if (Array.isArray(filter.value)) {\n numFiltersInView += filter.value.length;\n } else if (filter.value) {\n numFiltersInView += 1;\n }\n }\n }\n }\n\n return numFiltersInView;\n }\n\n getCurrentTabName() {\n const {\n tabsFilterProps,\n collection: {\n result: { originQuery: query },\n },\n } = this;\n\n const tabs =\n tabsFilterProps &&\n Object.entries(query.rawFilters)\n .filter(([key]) => key === tabsFilterProps.filter.name)\n .flatMap(([, value]) =>\n Array.isArray(value)\n ? value.map(tabsFilterProps.filter.itemKey)\n : value,\n );\n\n return tabs?.[0] as string;\n }\n\n getCollectionSnapshot = (): {\n [key: string]: string | number | undefined;\n } => {\n const {\n collection: {\n result: { originQuery },\n },\n } = this;\n\n return {\n viewShown: this.viewsState?.views.currentView?.id,\n tabShown: this.getCurrentTabName(),\n sortOrderApplied: originQuery.sort?.length\n ? JSON.stringify(originQuery.sort)\n : undefined,\n filtersApplied: JSON.stringify(originQuery.filtersKey),\n filteredListSizeShown: this.collection.result.total,\n };\n };\n\n getPendingFilter<A>(filter: A) {\n return this.pendingQuery?.getApplicableFilter(filter) ?? filter;\n }\n\n init({\n featuresInitializers,\n hasMultiLevelSorting,\n skipFilterListeners,\n }: ToolbarCollectionStateParamsInitParams) {\n const {\n collection,\n multi,\n initTask,\n panels,\n sidePanel,\n tagsCollectionState,\n bulk,\n customColumnsState,\n viewsState,\n columnSizesState,\n } = this;\n\n const biReporters = multi.collections.map(\n (collection) =>\n new CollectionBIReporter({\n collection,\n reportBi: (ev) => {\n this.reportBi({\n ...ev,\n params: {\n ...collection._commonDynamicBiParams(),\n ...ev.params,\n },\n });\n },\n }),\n );\n\n // must call `initOptionalFeatures` before collection init because we want to allow features to customize the collection before collection.init\n const tableFeatures = featuresInitializers\n .filter((t): t is ToolbarFeatureInitializer => t != null)\n .map((tableFeatInit) => tableFeatInit(this));\n\n // should be initialized before collection.init() so the sort query will be updated before the time of the first request.\n this._initDefaultSortableColumn(hasMultiLevelSorting);\n\n const disposers = [\n // Must be registered before the per-flow layout reactions so the\n // `_cacheRestoredLayout` gate they read is set first (mobx fires\n // reactions in creation order).\n reaction(\n () => this.layoutState?.viewType,\n (next, prev) => {\n if (!next || !prev || next === prev) {\n return;\n }\n if (this._skipNextLayoutCoordinator) {\n this._skipNextLayoutCoordinator = false;\n this._cacheRestoredLayout = next;\n return;\n }\n this._flushColumnsToCache(prev);\n this._cacheRestoredLayout = this._tryRestoreColumnsFromCache(next)\n ? next\n : undefined;\n },\n ),\n this.collectionFieldsSource?.init(), // the fields source should be initialized and its beforeInitialFetch promise listener registered before customColumnsState?._tableInit() because custom columns might use data extensions\n customColumnsState?._tableInit(),\n viewsState?.init(),\n columnSizesState?.init(),\n // register table feature first as they might register to the collection `beforeInitialFetch`\n ...tableFeatures.map((t) => t.init()),\n reaction(\n () => this.selectedOrderedColumnsOrAll,\n (columns) => {\n collection.query._columns.replace(columns.map((c) => c.id));\n },\n {\n fireImmediately: true,\n },\n ),\n multi.init({ skipFilterListeners }),\n ...biReporters.map((b) => b.init()),\n panels.init(),\n sidePanel.init(),\n bulk.init(),\n tagsCollectionState?.init(),\n addEventListener(\n collection.bulkSelect.events,\n 'openModal',\n this.bulk.modals.actionModal.modal.open,\n ),\n addEventListener(\n collection.bulkSelect.events,\n 'closeModal',\n this.bulk.modals.actionModal.modal.close,\n ),\n addEventListener(this.collection.emitter, 'resultUpdated', () => {\n this.broadcast({\n message: this.container.translate(\n 'cairo.a11y.liveRegion.resultsFound',\n { num: this.collection.result.total },\n ),\n });\n }),\n ];\n\n const startTime = performance.now();\n\n initTask.runOnce(async () => {\n this.toolbarBIReporter.loadStart();\n\n multi.initTask.runOnce();\n customColumnsState?.initTask.runOnce();\n\n tableFeatures.forEach(({ initTask }) => {\n if (initTask) {\n initTask.runOnce();\n }\n });\n\n try {\n await Promise.all([\n multi.initTask.status.promise,\n tagsCollectionState?.initTask.status.promise?.catch(() => null), // resilience to failed request\n this.collectionFieldsSource?.initTask.status.promise?.catch(\n () => null,\n ), // resilience to failed request\n customColumnsState?.initTask.status.promise,\n columnSizesState?.initTask.status.promise,\n ...tableFeatures.map((t) => t.initTask?.status.promise),\n ]);\n\n this.toolbarBIReporter.loadEnd(startTime);\n } catch (e) {\n throw e;\n }\n });\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n setFilterTagsPropsIfChanged(filtersProps: FilterProps<any>[] | null) {\n if (this.filtersProps !== filtersProps) {\n this.filtersProps = filtersProps;\n }\n }\n\n _toStoredColumn = (column: Column) => {\n const { id, defaultHidden, hideable, hiddenFromCustomColumnsSelection } =\n column;\n\n return {\n id,\n isSelected:\n !hideable || hiddenFromCustomColumnsSelection || !defaultHidden,\n };\n };\n\n setNewColumns(tableColumns: TableColumn<T>[]) {\n this._userColumns = simplifyColumns(tableColumns);\n }\n\n addFeatureColumn(featureColumn: TableColumn<T>) {\n this._featureColumns.push(simplifyColumn(featureColumn));\n\n this._adjustSelectedColumns();\n }\n\n setExtendedColumns(columns: Column[]) {\n this._extendedColumns = columns;\n this._adjustSelectedColumns();\n }\n\n broadcast(params: LiveRegionState) {\n this.liveRegionRef.current?.broadcast(params);\n }\n\n setToolbarFiltersStateInitialized(value: boolean) {\n this.toolbarFiltersStateInitialized = value;\n }\n\n updateColumnWidth(columnId: string, width: number) {\n this.columnSizesState?.updateColumnWidth(columnId, width);\n }\n\n _initDefaultSortableColumn(hasMultiLevelSorting = false) {\n const {\n columns,\n collection: { query },\n } = this;\n\n const defaultSortableColumns = columns.filter(\n (col): col is Column & { defaultSortOrder: SortOrder } =>\n col.sortable === true && col.id != null && col.defaultSortOrder != null,\n );\n\n if (defaultSortableColumns.length && !query.sort.value.length) {\n const sortQuery = defaultSortableColumns.map((column) => ({\n field: column.id,\n direction: column.defaultSortOrder,\n }));\n\n query.sort.setSortQuery(\n hasMultiLevelSorting ? sortQuery : sortQuery.slice(0, 1),\n );\n }\n }\n\n _adjustSelectedColumns = () => {\n const {\n selectedColumns,\n customColumnsState,\n customColumnsProps,\n customColumnsStateInitialized,\n } = this;\n\n // as long as consumer rendered `<CustomColumns/>` at least once, use `mergeNewColumns` strategy when re-rendering new columns prop\n if (customColumnsProps != null || customColumnsStateInitialized) {\n // if `customColumns` is not set yet - do nothing\n if (customColumnsState) {\n const { initTask } = customColumnsState;\n const mergedColumns = customColumnsState.mergeNewColumns();\n runInAction(() => {\n selectedColumns.defaultValue = this.columns.map((col) => {\n const { id, isSelected } = this._toStoredColumn(col);\n return { id, isSelected };\n });\n });\n if (initTask.status.isSuccess && customColumnsState._touched) {\n selectedColumns.refresh(mergedColumns);\n } else {\n selectedColumns.setValue(mergedColumns);\n }\n }\n } else {\n const allColumns = this.columns.map(({ id }) => ({\n id,\n isSelected: true,\n }));\n selectedColumns.defaultValue = allColumns;\n selectedColumns.setValue(allColumns);\n }\n };\n\n _flushColumnsToCache(layout: ViewType) {\n this._layoutColumnsCache[layout] = this.selectedColumns.value.map(\n ({ id, isSelected }) => ({ id, isSelected }),\n );\n }\n\n _tryRestoreColumnsFromCache(layout: ViewType): boolean {\n const cached = this._layoutColumnsCache[layout];\n if (!cached) {\n return false;\n }\n // Merge against current columns — mirrors `_fetchFromStorage`.\n const merged = this.columns.map((column) => {\n const cachedEntry = cached.find((c) => c.id === column.id);\n if (cachedEntry == null) {\n return this._toStoredColumn(column);\n }\n const { id, hideable, hiddenFromCustomColumnsSelection } = column;\n return {\n id,\n isSelected:\n cachedEntry.isSelected ||\n !hideable ||\n hiddenFromCustomColumnsSelection === true,\n };\n });\n this.selectedColumns.setValue(\n this.customColumnsState?.dragAndDrop\n ? merged.sort(indexOfCompareFn(cached, (e) => e?.id))\n : merged,\n );\n return true;\n }\n\n _clearColumnsCache() {\n this._layoutColumnsCache = {};\n }\n\n _adjustSortWithNewColumns(tableColumns: TableColumn<T>[]) {\n const {\n collection: { query },\n } = this;\n const tableColumnsIds = new Set(tableColumns.map((column) => column.id));\n\n query.sort.value\n .filter(({ field }) => !tableColumnsIds.has(field))\n .forEach((s) => {\n query.sort.value.remove(s);\n });\n query.sort.events.emit('change');\n this.collection.scheduleSort({ clearResult: true });\n }\n\n closeSidePanel = () => {\n this.sidePanel.close();\n };\n\n openFiltersPanel() {\n this.panels.openSidePanel('filters');\n }\n\n retryErrorState = action(() => {\n const { initTask, multi } = this;\n\n if (initTask.status.isError) {\n initTask.runOnce();\n } else {\n multi.retryErrorState();\n }\n });\n\n onSelectionStarted = () => {\n this.bulk._selectionStartTime = performance.now();\n };\n\n _onSelectAllCheckboxClick() {}\n\n get activeFiltersEntries() {\n return Array.from(\n this.multi.collections\n .flatMap(({ query }) =>\n query.activeFiltersEntries.filter(\n ([_, filter]) => filter !== query.search,\n ),\n )\n .reduce(\n (map, entry) => map.set(entry[0], entry),\n new Map<string, [string, Filter<unknown>]>(),\n )\n .values(),\n );\n }\n\n onSelectionChanged: Required<TableProps>['onSelectionChanged'] = action(\n (_selectedIds, change) => {\n if (change == null) {\n return;\n }\n\n const { panels, bulk } = this;\n\n panels.closeSidePanel();\n\n switch (change.type) {\n case 'ALL':\n bulk.toggleSelectAll({ location: 'Checkbox' });\n break;\n case 'NONE':\n bulk.deselectAll({ location: 'Checkbox' });\n break;\n case 'SINGLE_TOGGLE':\n if (change.value) {\n bulk.selectOne(change.id);\n } else {\n bulk.deselectOne(change.id);\n }\n break;\n }\n },\n );\n\n openCustomFieldModal = ({ customOrigin }: { customOrigin?: string } = {}) => {\n return this.collectionFieldsSource?.openFieldModal({ customOrigin });\n };\n\n openManageTagsModal = () => {\n return this.tagsCollectionState?.openManageTagsModal();\n };\n\n onAddItemActionComplete = async (items: T[]) => {\n await this._resetQueryAndAddItems(items);\n\n this.toolbarBIReporter.newItemCreationEnd(items);\n };\n\n _resetQueryAndAddItems = async (items: T[]) => {\n const { collection } = this;\n const { query } = collection;\n\n query.resetFilters();\n query.resetSorting();\n\n await collection.clearResultAndMoveToStart({ force: true });\n\n collection._optimisticActions?.createMany(items, {\n submit: async () => items,\n });\n\n collection.scrollableContent?.scrollTo?.({\n top: 0,\n behavior: 'smooth',\n });\n };\n\n getPageFeaturedActions(): MoreActionItemFactory[] {\n const { collectionFieldsSource, tagsCollectionState } = this;\n return [collectionFieldsSource, tagsCollectionState]\n .filter(\n (e): e is CollectionFieldsSourceState | TagsCollectionState<T, F> =>\n e != null,\n )\n .filter((e) => !e.props?.disableDefaultPageAction)\n .flatMap((e) => e.featuredPageActions);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_bexCore","_model","exports","ViewType","_simplifyColumns","_indexOfCompareFn","_ToolbarBIReporter","_SidePanelsState","_RectState","_BulkActionToolbarState","_util","_ToolbarState","_ColumnSizesState","ToolbarCollectionState","constructor","params","_defineProperty2","default","idArrayFilter","TaskState","moreFiltersButton","ValueBox","appliedFiltersTagList","exportButton","exportModal","importButton","importModal","observable","array","undefined","current","Map","contentPadding","height","top","_this$viewsState","_originQuery$sort","collection","result","originQuery","viewShown","viewsState","views","currentView","id","tabShown","getCurrentTabName","sortOrderApplied","sort","length","JSON","stringify","filtersApplied","filtersKey","filteredListSizeShown","total","column","defaultHidden","hideable","hiddenFromCustomColumnsSelection","isSelected","selectedColumns","customColumnsState","customColumnsProps","customColumnsStateInitialized","initTask","mergedColumns","mergeNewColumns","runInAction","defaultValue","columns","map","col","_toStoredColumn","status","isSuccess","_touched","refresh","setValue","allColumns","sidePanel","close","action","multi","isError","runOnce","retryErrorState","bulk","_selectionStartTime","performance","now","_selectedIds","change","panels","closeSidePanel","type","toggleSelectAll","location","deselectAll","value","selectOne","deselectOne","customOrigin","_this$collectionField","collectionFieldsSource","openFieldModal","_this$tagsCollectionS","tagsCollectionState","openManageTagsModal","items","_resetQueryAndAddItems","toolbarBIReporter","newItemCreationEnd","_collection$_optimist","_collection$scrollabl","query","resetFilters","resetSorting","clearResultAndMoveToStart","force","_optimisticActions","createMany","submit","scrollableContent","scrollTo","behavior","container","componentType","toolbar","ToolbarState","fedopsReporter","FedopsReporter","componentName","internalMonitor","MultiCollectionSupport","collections","itemsContentRect","RectState","toolbarRect","SidePanelsState","panelGroupName","queryName","ToolbarBIReporter","reportBi","ev","_commonDynamicBiParams","BulkActionToolbarState","translate","scrollToTop","_this$collection$scro","left","namespace","environment","componentId","join","dataCapsule","createEssentials","reportBiBase","columnSizesState","ColumnSizesState","fqdn","makeObservable","forceRenderIndexes","ref","_userColumns","_extendedColumns","computed","viewsProps","dragAndDropCategories","filtersProps","shouldDisplayFiltersTags","totalStickyContentHeight","showInitialLoader","showEmptyState","showErrorState","hasSubToolbarComponents","containerRect","setFilterTagsPropsIfChanged","_initDefaultSortableColumn","minimizedHeaderHeight","tabsFilterProps","toolbarFiltersStateInitialized","hasToolbarTabs","itemsContentHeight","setNewColumns","addFeatureColumn","setExtendedColumns","_adjustSortWithNewColumns","setToolbarFiltersStateInitialized","activeFiltersEntries","_searchExpanded","showFieldTypeIcons","internalScroll","rect","bottom","right","width","containerTop","_this$containerRect","scrollElementRect","process","env","NODE_ENV","toolbarOffsetTop","sidePanelComponents","isLoading","isIdle","showRefreshLoader","errorStatus","featuredComponents","reorderModeState","_this$_dnd","_dnd","_featuredComponents$a","state","tags","isReorderModeToolbarVisible","_this$reorderModeStat","isReorderModePending","_this$reorderModeStat2","_featureColumns","extendedById","c","merged","extended","get","mergedIds","Set","filter","has","selectedOrderedColumnsOrAll","baseColumns","selectedOrderedColumns","mergeSizes","_viewsState$views$cur","_viewsState$views","_viewsState$views2","currentTab","isPredefined","isPreset","filters","numFiltersInView","_numberFiltersInView","visibleColumnsOrder","title","name","numColumns","numFiltersActive","activeFiltersCount","view","filterName","Object","keys","Array","isArray","tabs","entries","rawFilters","key","flatMap","itemKey","getPendingFilter","_this$pendingQuery","pendingQuery","getApplicableFilter","init","featuresInitializers","hasMultiLevelSorting","skipFilterListeners","_this$collectionField2","biReporters","CollectionBIReporter","tableFeatures","t","tableFeatInit","disposers","reaction","_this$layoutState","layoutState","viewType","next","prev","_skipNextLayoutCoordinator","_cacheRestoredLayout","_flushColumnsToCache","_tryRestoreColumnsFromCache","_tableInit","_columns","replace","fireImmediately","b","addEventListener","bulkSelect","events","modals","actionModal","modal","open","emitter","broadcast","message","num","startTime","loadStart","forEach","_tagsCollectionState$","_this$collectionField3","Promise","all","promise","catch","_t$initTask","loadEnd","e","d","tableColumns","simplifyColumns","featureColumn","push","simplifyColumn","_adjustSelectedColumns","_this$liveRegionRef$c","liveRegionRef","updateColumnWidth","columnId","_this$columnSizesStat","defaultSortableColumns","sortable","defaultSortOrder","sortQuery","field","direction","setSortQuery","slice","layout","_layoutColumnsCache","_this$customColumnsSt","cached","cachedEntry","find","dragAndDrop","indexOfCompareFn","_clearColumnsCache","tableColumnsIds","staleSortEntries","s","remove","emit","scheduleSort","clearResult","openFiltersPanel","openSidePanel","_onSelectAllCheckboxClick","from","_","search","reduce","entry","set","values","getPageFeaturedActions","_e$props","props","disableDefaultPageAction","featuredPageActions"],"sources":["../../../src/state/ToolbarCollectionState.ts"],"sourcesContent":["import {\n action,\n computed,\n makeObservable,\n observable,\n reaction,\n runInAction,\n} from 'mobx';\nimport type {\n ModalState,\n QueryPendingState,\n SortOrder,\n WixPatternsContainer,\n} from '@wix/bex-core';\nimport {\n CollectionBIReporter,\n CollectionState,\n FedopsReporter,\n Filter,\n FiltersMap,\n idArrayFilter,\n MultiCollectionSupport,\n ReportBI,\n TaskState,\n ValueBox,\n} from '@wix/bex-core';\nimport {\n Column,\n FilterProps,\n PrivateView,\n TableColumn,\n ViewType,\n} from '../model';\n\nexport { ViewType };\nimport { CustomColumnsProps } from '../components/CustomColumns';\nimport type {\n LiveRegionRefType,\n LiveRegionState,\n TableProps,\n} from '@wix/design-system';\nimport type { AppliedFiltersTagListState } from '../components/AppliedFiltersTagList/AppliedFiltersTagListState';\nimport { ToolbarFeatureInitializer } from './toolbarFeatureInitializer';\nimport { simplifyColumn, simplifyColumns } from './simplifyColumns';\nimport { indexOfCompareFn } from './indexOfCompareFn';\nimport type { CollectionViewsState } from './CollectionViewsState';\nimport { ReactElement } from 'react';\nimport { ToolbarBIReporter } from './ToolbarBIReporter';\nimport { DragAndDropState } from '../components/DragAndDrop';\nimport { CollectionViewsDropdownProps } from '../components/CollectionViewsDropdown';\nimport { ActionCellProps } from '../components/ActionCell';\nimport { ActionCellAPI } from './ItemActionsState';\nimport { CustomColumnsState } from './CustomColumnsState';\nimport { SidePanelsState } from './SidePanelsState';\nimport { CollectionToolbarFiltersState } from '../components/CollectionToolbarFilters/CollectionToolbarFiltersState';\nimport { MultiLevelSortingState } from './MultiLevelSortingState';\nimport { RectState } from './RectState';\nimport { BulkActionToolbarState } from './BulkActionToolbarState';\nimport { addEventListener } from '@wix/bex-core/util';\nimport type { AddApplyFiltersButton } from '../components/FiltersPanel/AddApplyFiltersButton';\nimport { TabsFilterState } from '../components/TabsFilter/TabsFilterState';\nimport { CollectionFieldsSourceState } from './CollectionFieldsSourceState';\nimport { TagsCollectionState } from './TagsCollectionState';\nimport {\n AdditionalFeaturesAvailabilityBIParams,\n FeaturesAvailabilityBIParams,\n} from './FeaturesAvailabilityBIParams';\nimport { ExtensionMenuItemsState } from './ExtensionMenuItemsState';\nimport { ToolbarState } from '../components/CollectionToolbars/ToolbarState';\nimport { MoreActionItemFactory } from '../components/MoreActions/MoreActionsBase';\nimport { ColumnSizesState } from './ColumnSizesState';\n\nexport type Component<C> = () => C;\n\nexport interface ToolbarCollectionStateParamsInitParams {\n featuresInitializers: (ToolbarFeatureInitializer | undefined)[];\n hasMultiLevelSorting?: boolean;\n skipFilterListeners?: boolean;\n}\n\nexport interface LayoutState {\n viewType: ViewType;\n}\n\nexport interface ToolbarCollectionStateParams<T, F extends FiltersMap> {\n readonly container: WixPatternsContainer;\n readonly collection: CollectionState<T, F>;\n readonly componentType: string;\n readonly reportBi?: ReportBI;\n}\n\nexport class ToolbarCollectionState<T, F extends FiltersMap = FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly selectedColumns = idArrayFilter<{\n id: string;\n isSelected: boolean;\n }>();\n readonly initTask = new TaskState();\n readonly fedopsReporter;\n readonly dataCapsule;\n readonly toolbar;\n readonly container: WixPatternsContainer;\n readonly namespace;\n readonly reportBi: ReportBI;\n readonly featuredComponents = {\n moreFiltersButton: new ValueBox<Component<{}> | null>(null),\n appliedFiltersTagList: new ValueBox<{\n component: Component<{}>;\n state: AppliedFiltersTagListState<T, F>;\n } | null>(null),\n exportButton: new ValueBox<ReactElement | null>(null),\n exportModal: new ValueBox<ReactElement<{}> | null>(null),\n importButton: new ValueBox<ReactElement | null>(null),\n importModal: new ValueBox<ReactElement<{}> | null>(null),\n };\n readonly toolbarRect;\n readonly itemsContentRect;\n readonly panels;\n readonly bulk;\n readonly multi;\n readonly componentType;\n\n _syncedProps?: {\n useResponsiveLayout?: boolean;\n };\n\n _userColumns: Column[] = []; // columns propagated from user\n _featureColumns: Column[] = observable.array(); // columns propagated from installed features\n _extendedColumns: Column[] = []; // columns propagated from data-extension (can be merged with above?)\n internalScroll = undefined as boolean | undefined;\n customColumnsState: CustomColumnsState<T, F> | null = null;\n customColumnsStateInitialized = false;\n columnSizesState: ColumnSizesState | null = null;\n multiLevelSorting: MultiLevelSortingState<T, F> | null = null;\n liveRegionRef: { current: null | LiveRegionRefType } = {\n current: null,\n };\n collectionFieldsSource: CollectionFieldsSourceState | null = null;\n menuItemExtensions = new Map<string, ExtensionMenuItemsState>();\n tagsCollectionState: TagsCollectionState<T, F> | null = null;\n toolbarFiltersState: CollectionToolbarFiltersState<T, F> | null = null;\n toolbarFiltersStateInitialized = false;\n _dnd: DragAndDropState<T, F> | null = null;\n toolbarBIReporter: ToolbarBIReporter<T, F>;\n filtersProps: FilterProps<any>[] | null = null;\n viewsProps: CollectionViewsDropdownProps<F> | null | undefined = null;\n dragAndDropCategories: (keyof F)[][] | null | undefined = null;\n customColumnsProps: CustomColumnsProps | null | undefined = null;\n selectionProps = new ValueBox<{ showSelection?: boolean }>({});\n featuresAvailability: FeaturesAvailabilityBIParams = {};\n additionalFeaturesAvailability: AdditionalFeaturesAvailabilityBIParams = {};\n actionCell = new ValueBox<\n | undefined\n | ActionCellProps\n | ((item: T, index: number, api: ActionCellAPI<T, F>) => ActionCellProps)\n >(undefined);\n contentPadding = 24;\n contentPaddingPx = `${this.contentPadding}px`;\n\n scrollElementRect = observable<{\n height?: number | null;\n top?: number | null;\n }>({\n height: null,\n top: null,\n });\n scrollTopBeforeUnmount: number | null = null;\n minimizedHeaderHeight = 0;\n tabsFilterProps?: {\n filter: Filter<any>;\n } = undefined;\n viewsState?: CollectionViewsState<T, F>;\n exportState?: ModalState;\n importState?: ModalState;\n pendingQuery?: QueryPendingState;\n AddApplyFiltersButton?: typeof AddApplyFiltersButton;\n tabs?: TabsFilterState<T, F>;\n layoutState?: LayoutState;\n\n // Per-layout in-memory scratchpad of uncommitted column edits.\n _layoutColumnsCache: Partial<\n Record<ViewType, { id: string; isSelected: boolean }[]>\n > = {};\n // Set by the coordinator on cache-hit so per-flow reactions skip the same transition.\n _cacheRestoredLayout?: ViewType;\n // Set by `_onSelectViewAndRefresh` when a view-select changes layout, so the coordinator\n // skips flush/restore — the view-select already loaded the correct columns.\n _skipNextLayoutCoordinator = false;\n\n _searchExpanded = false;\n\n forceRenderIndexes: number[] | undefined = undefined;\n\n constructor(params: ToolbarCollectionStateParams<T, F>) {\n this.collection = params.collection;\n this.container = params.container;\n this.componentType = params.componentType;\n\n this.toolbar = new ToolbarState(this);\n\n this.fedopsReporter = new FedopsReporter({\n componentName: this.componentType,\n collection: this.collection,\n internalMonitor: this.container.internalMonitor,\n });\n\n this.multi = new MultiCollectionSupport<F>({\n collections: [this.collection as CollectionState<unknown, F>],\n });\n\n this.itemsContentRect = new RectState(params);\n this.toolbarRect = new RectState(params);\n\n this.panels = new SidePanelsState({\n container: this.container,\n panelGroupName: this.collection.queryName,\n });\n\n this.toolbarBIReporter = new ToolbarBIReporter<T, F>({\n toolbar: this,\n collection: this.collection,\n reportBi: (ev) => {\n this.reportBi({\n ...ev,\n params: {\n ...this._commonDynamicBiParams(),\n ...ev.params,\n },\n });\n },\n });\n\n this.bulk = new BulkActionToolbarState({\n toolbarBIReporter: this.toolbarBIReporter,\n panels: this.panels,\n multi: this.multi,\n translate: this.container.translate,\n scrollToTop: () => {\n this.collection.scrollableContent?.scrollTo({\n top: 0,\n left: 0,\n });\n },\n });\n\n this.namespace = [\n this.container.environment.componentId,\n this.collection.queryName,\n ].join('.');\n\n const { dataCapsule } = this.container.createEssentials({\n dataCapsule: {\n namespace: this.namespace,\n },\n });\n\n this.dataCapsule = dataCapsule;\n\n const reportBiBase = params.reportBi ?? this.container.reportBi;\n\n this.reportBi = (ev) => {\n reportBiBase({\n ...ev,\n params: {\n ...this._commonDynamicBiParams(),\n ...ev.params,\n },\n });\n };\n\n this.columnSizesState = new ColumnSizesState({\n container: this.container,\n dataCapsule: this.dataCapsule,\n fqdn: this.namespace,\n });\n\n makeObservable(this, {\n forceRenderIndexes: observable.ref,\n _userColumns: observable.ref,\n _extendedColumns: observable.ref,\n columns: computed,\n customColumnsStateInitialized: observable.ref,\n viewsProps: observable.ref,\n dragAndDropCategories: observable.ref,\n customColumnsProps: observable.ref,\n filtersProps: observable.ref,\n shouldDisplayFiltersTags: computed,\n totalStickyContentHeight: computed,\n showInitialLoader: computed,\n showEmptyState: computed,\n showErrorState: computed,\n hasSubToolbarComponents: computed,\n containerRect: computed,\n setFilterTagsPropsIfChanged: action,\n _initDefaultSortableColumn: action,\n minimizedHeaderHeight: observable.ref,\n tabsFilterProps: observable.ref,\n toolbarFiltersStateInitialized: observable.ref,\n hasToolbarTabs: computed,\n itemsContentHeight: computed,\n setNewColumns: action,\n addFeatureColumn: action,\n setExtendedColumns: action,\n _commonDynamicBiParams: action,\n _adjustSortWithNewColumns: action,\n setToolbarFiltersStateInitialized: action,\n activeFiltersEntries: computed,\n _searchExpanded: observable.ref,\n showFieldTypeIcons: observable.ref,\n });\n }\n\n get containerRect() {\n const { itemsContentRect, toolbarRect, internalScroll } = this;\n\n if (internalScroll && itemsContentRect.rect.height) {\n return {\n ...itemsContentRect.rect,\n };\n }\n\n if (itemsContentRect.rect.left && toolbarRect.rect.left) {\n const top = toolbarRect.rect.bottom;\n const bottom = top + itemsContentRect.rect.height;\n const left = toolbarRect.rect.left;\n const right = left + toolbarRect.rect.width;\n return {\n left,\n right,\n top,\n bottom,\n height: bottom - top,\n width: right - left,\n };\n }\n\n return undefined;\n }\n\n get containerTop() {\n return this.containerRect?.top;\n }\n\n /**\n * How much height left for the content inside the viewport\n */\n get itemsContentHeight() {\n const {\n toolbarRect,\n scrollElementRect,\n contentPadding,\n internalScroll,\n itemsContentRect,\n } = this;\n\n if (internalScroll && itemsContentRect.rect.height) {\n return itemsContentRect.rect.height;\n }\n\n if (\n toolbarRect.rect.height == null ||\n toolbarRect.rect.top == null ||\n scrollElementRect.height == null ||\n scrollElementRect.top == null\n ) {\n return 0;\n }\n\n if (process.env.NODE_ENV === 'test') {\n return 796;\n }\n\n const toolbarOffsetTop = toolbarRect.rect.top - scrollElementRect.top;\n\n return (\n scrollElementRect.height -\n toolbarOffsetTop -\n toolbarRect.rect.height -\n contentPadding\n );\n }\n\n get totalStickyContentHeight() {\n const { toolbarRect, minimizedHeaderHeight } = this;\n if (toolbarRect.rect.height == null) {\n return null;\n }\n\n return toolbarRect.rect.height + minimizedHeaderHeight;\n }\n\n get sidePanel() {\n return this.panels.sidePanel;\n }\n\n get sidePanelComponents() {\n return this.panels.sidePanelComponents;\n }\n\n get showInitialLoader() {\n const { multi, initTask } = this;\n\n return (\n multi.showInitialLoader ||\n initTask.status.isLoading ||\n initTask.status.isIdle\n );\n }\n\n get showEmptyState() {\n const {\n showInitialLoader,\n multi: { showRefreshLoader, showEmptyState },\n } = this;\n return showEmptyState && !showInitialLoader && !showRefreshLoader;\n }\n\n get errorStatus() {\n const { initTask, multi } = this;\n return initTask.errorStatus ?? multi.errorStatus;\n }\n\n get showErrorState() {\n const {\n showInitialLoader,\n multi: { showRefreshLoader, showErrorState },\n initTask,\n } = this;\n\n return (\n (showErrorState || initTask.status.isError) &&\n !showInitialLoader &&\n !showRefreshLoader\n );\n }\n\n get hasSubToolbarComponents() {\n const { appliedFiltersTagList } = this.featuredComponents;\n return appliedFiltersTagList.value != null;\n }\n\n get reorderModeState() {\n return this._dnd?.reorderModeState;\n }\n\n get shouldDisplayFiltersTags() {\n const { collectionFieldsSource, featuredComponents } = this;\n\n if (collectionFieldsSource?.initTask.status.isLoading) {\n return false;\n }\n\n return !!featuredComponents.appliedFiltersTagList.value?.state.tags.length;\n }\n\n get hasToolbarTabs() {\n return this.tabsFilterProps != null;\n }\n\n get isReorderModeToolbarVisible() {\n return this.reorderModeState?.isReorderModeToolbarVisible;\n }\n\n get isReorderModePending() {\n return this.reorderModeState?.isReorderModePending;\n }\n\n get columns(): Column[] {\n const { _userColumns, _featureColumns, _extendedColumns } = this;\n // One column per id. When a layout syncs a column a source also provides\n // (e.g. the editable table's cell defs for source fields), the layout's def\n // wins and inherits the source's column metadata; source-only columns fill\n // in the rest.\n const extendedById = new Map(_extendedColumns.map((c) => [c.id, c]));\n const merged = [..._userColumns, ..._featureColumns].map((column) => {\n const extended = extendedById.get(column.id);\n return extended ? { ...extended, ...column } : column;\n });\n const mergedIds = new Set(merged.map((c) => c.id));\n return [...merged, ..._extendedColumns.filter((c) => !mergedIds.has(c.id))];\n }\n\n /**\n * Whether to show field-type prefix icons across the collection UI.\n * Controlled by the `showFieldTypeIcons` prop on the collection component (Table, Grid, etc.).\n * @default false\n */\n showFieldTypeIcons = false;\n\n get selectedOrderedColumnsOrAll() {\n const { columns, customColumnsState, columnSizesState } = this;\n\n const baseColumns = customColumnsState\n ? customColumnsState.selectedOrderedColumns\n : columns;\n\n return columnSizesState?.mergeSizes(baseColumns) ?? baseColumns;\n }\n\n _commonDynamicBiParams(query = this.collection.result.originQuery) {\n const { collection, viewsState } = this;\n\n return {\n componentType: this.componentType,\n ...collection._commonDynamicBiParams(query),\n currentTab: this.getCurrentTabName(),\n ...(viewsState && { currentView: viewsState.views.currentView?.id }),\n ...(viewsState?.views?.currentView && {\n isPredefined: viewsState.views.currentView.isPreset,\n }),\n ...(viewsState?.views?.currentView?.filters && {\n numFiltersInView: this._numberFiltersInView(\n viewsState.views.currentView,\n ),\n }),\n visibleColumnsOrder: this.selectedOrderedColumnsOrAll\n .map((col) => col.id ?? col.title ?? col.name)\n .join(','),\n numColumns: this.selectedOrderedColumnsOrAll.length,\n numFiltersActive: collection.query.activeFiltersCount,\n };\n }\n\n _numberFiltersInView(view: PrivateView<F>) {\n let numFiltersInView = 0;\n\n if (view.filters) {\n for (const filterName of Object.keys(view.filters)) {\n const filter = view.filters[filterName];\n\n if (filter && filter.value) {\n if (Array.isArray(filter.value)) {\n numFiltersInView += filter.value.length;\n } else if (filter.value) {\n numFiltersInView += 1;\n }\n }\n }\n }\n\n return numFiltersInView;\n }\n\n getCurrentTabName() {\n const {\n tabsFilterProps,\n collection: {\n result: { originQuery: query },\n },\n } = this;\n\n const tabs =\n tabsFilterProps &&\n Object.entries(query.rawFilters)\n .filter(([key]) => key === tabsFilterProps.filter.name)\n .flatMap(([, value]) =>\n Array.isArray(value)\n ? value.map(tabsFilterProps.filter.itemKey)\n : value,\n );\n\n return tabs?.[0] as string;\n }\n\n getCollectionSnapshot = (): {\n [key: string]: string | number | undefined;\n } => {\n const {\n collection: {\n result: { originQuery },\n },\n } = this;\n\n return {\n viewShown: this.viewsState?.views.currentView?.id,\n tabShown: this.getCurrentTabName(),\n sortOrderApplied: originQuery.sort?.length\n ? JSON.stringify(originQuery.sort)\n : undefined,\n filtersApplied: JSON.stringify(originQuery.filtersKey),\n filteredListSizeShown: this.collection.result.total,\n };\n };\n\n getPendingFilter<A>(filter: A) {\n return this.pendingQuery?.getApplicableFilter(filter) ?? filter;\n }\n\n init({\n featuresInitializers,\n hasMultiLevelSorting,\n skipFilterListeners,\n }: ToolbarCollectionStateParamsInitParams) {\n const {\n collection,\n multi,\n initTask,\n panels,\n sidePanel,\n tagsCollectionState,\n bulk,\n customColumnsState,\n viewsState,\n columnSizesState,\n } = this;\n\n const biReporters = multi.collections.map(\n (collection) =>\n new CollectionBIReporter({\n collection,\n reportBi: (ev) => {\n this.reportBi({\n ...ev,\n params: {\n ...collection._commonDynamicBiParams(),\n ...ev.params,\n },\n });\n },\n }),\n );\n\n // must call `initOptionalFeatures` before collection init because we want to allow features to customize the collection before collection.init\n const tableFeatures = featuresInitializers\n .filter((t): t is ToolbarFeatureInitializer => t != null)\n .map((tableFeatInit) => tableFeatInit(this));\n\n // should be initialized before collection.init() so the sort query will be updated before the time of the first request.\n this._initDefaultSortableColumn(hasMultiLevelSorting);\n\n const disposers = [\n // Must be registered before the per-flow layout reactions so the\n // `_cacheRestoredLayout` gate they read is set first (mobx fires\n // reactions in creation order).\n reaction(\n () => this.layoutState?.viewType,\n (next, prev) => {\n if (!next || !prev || next === prev) {\n return;\n }\n if (this._skipNextLayoutCoordinator) {\n this._skipNextLayoutCoordinator = false;\n this._cacheRestoredLayout = next;\n return;\n }\n this._flushColumnsToCache(prev);\n this._cacheRestoredLayout = this._tryRestoreColumnsFromCache(next)\n ? next\n : undefined;\n },\n ),\n this.collectionFieldsSource?.init(), // the fields source should be initialized and its beforeInitialFetch promise listener registered before customColumnsState?._tableInit() because custom columns might use data extensions\n customColumnsState?._tableInit(),\n viewsState?.init(),\n columnSizesState?.init(),\n // register table feature first as they might register to the collection `beforeInitialFetch`\n ...tableFeatures.map((t) => t.init()),\n reaction(\n () => this.selectedOrderedColumnsOrAll,\n (columns) => {\n collection.query._columns.replace(columns.map((c) => c.id));\n },\n {\n fireImmediately: true,\n },\n ),\n multi.init({ skipFilterListeners }),\n ...biReporters.map((b) => b.init()),\n panels.init(),\n sidePanel.init(),\n bulk.init(),\n tagsCollectionState?.init(),\n addEventListener(\n collection.bulkSelect.events,\n 'openModal',\n this.bulk.modals.actionModal.modal.open,\n ),\n addEventListener(\n collection.bulkSelect.events,\n 'closeModal',\n this.bulk.modals.actionModal.modal.close,\n ),\n addEventListener(this.collection.emitter, 'resultUpdated', () => {\n this.broadcast({\n message: this.container.translate(\n 'cairo.a11y.liveRegion.resultsFound',\n { num: this.collection.result.total },\n ),\n });\n }),\n ];\n\n const startTime = performance.now();\n\n initTask.runOnce(async () => {\n this.toolbarBIReporter.loadStart();\n\n multi.initTask.runOnce();\n customColumnsState?.initTask.runOnce();\n\n tableFeatures.forEach(({ initTask }) => {\n if (initTask) {\n initTask.runOnce();\n }\n });\n\n try {\n await Promise.all([\n multi.initTask.status.promise,\n tagsCollectionState?.initTask.status.promise?.catch(() => null), // resilience to failed request\n this.collectionFieldsSource?.initTask.status.promise?.catch(\n () => null,\n ), // resilience to failed request\n customColumnsState?.initTask.status.promise,\n columnSizesState?.initTask.status.promise,\n ...tableFeatures.map((t) => t.initTask?.status.promise),\n ]);\n\n this.toolbarBIReporter.loadEnd(startTime);\n } catch (e) {\n throw e;\n }\n });\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n setFilterTagsPropsIfChanged(filtersProps: FilterProps<any>[] | null) {\n if (this.filtersProps !== filtersProps) {\n this.filtersProps = filtersProps;\n }\n }\n\n _toStoredColumn = (column: Column) => {\n const { id, defaultHidden, hideable, hiddenFromCustomColumnsSelection } =\n column;\n\n return {\n id,\n isSelected:\n !hideable || hiddenFromCustomColumnsSelection || !defaultHidden,\n };\n };\n\n setNewColumns(tableColumns: TableColumn<T>[]) {\n this._userColumns = simplifyColumns(tableColumns);\n }\n\n addFeatureColumn(featureColumn: TableColumn<T>) {\n this._featureColumns.push(simplifyColumn(featureColumn));\n\n this._adjustSelectedColumns();\n }\n\n setExtendedColumns(columns: Column[]) {\n this._extendedColumns = columns;\n this._adjustSelectedColumns();\n }\n\n broadcast(params: LiveRegionState) {\n this.liveRegionRef.current?.broadcast(params);\n }\n\n setToolbarFiltersStateInitialized(value: boolean) {\n this.toolbarFiltersStateInitialized = value;\n }\n\n updateColumnWidth(columnId: string, width: number) {\n this.columnSizesState?.updateColumnWidth(columnId, width);\n }\n\n _initDefaultSortableColumn(hasMultiLevelSorting = false) {\n const {\n columns,\n collection: { query },\n } = this;\n\n const defaultSortableColumns = columns.filter(\n (col): col is Column & { defaultSortOrder: SortOrder } =>\n col.sortable === true && col.id != null && col.defaultSortOrder != null,\n );\n\n if (defaultSortableColumns.length && !query.sort.value.length) {\n const sortQuery = defaultSortableColumns.map((column) => ({\n field: column.id,\n direction: column.defaultSortOrder,\n }));\n\n query.sort.setSortQuery(\n hasMultiLevelSorting ? sortQuery : sortQuery.slice(0, 1),\n );\n }\n }\n\n _adjustSelectedColumns = () => {\n const {\n selectedColumns,\n customColumnsState,\n customColumnsProps,\n customColumnsStateInitialized,\n } = this;\n\n // as long as consumer rendered `<CustomColumns/>` at least once, use `mergeNewColumns` strategy when re-rendering new columns prop\n if (customColumnsProps != null || customColumnsStateInitialized) {\n // if `customColumns` is not set yet - do nothing\n if (customColumnsState) {\n const { initTask } = customColumnsState;\n const mergedColumns = customColumnsState.mergeNewColumns();\n runInAction(() => {\n selectedColumns.defaultValue = this.columns.map((col) => {\n const { id, isSelected } = this._toStoredColumn(col);\n return { id, isSelected };\n });\n });\n if (initTask.status.isSuccess && customColumnsState._touched) {\n selectedColumns.refresh(mergedColumns);\n } else {\n selectedColumns.setValue(mergedColumns);\n }\n }\n } else {\n const allColumns = this.columns.map(({ id }) => ({\n id,\n isSelected: true,\n }));\n selectedColumns.defaultValue = allColumns;\n selectedColumns.setValue(allColumns);\n }\n };\n\n _flushColumnsToCache(layout: ViewType) {\n this._layoutColumnsCache[layout] = this.selectedColumns.value.map(\n ({ id, isSelected }) => ({ id, isSelected }),\n );\n }\n\n _tryRestoreColumnsFromCache(layout: ViewType): boolean {\n const cached = this._layoutColumnsCache[layout];\n if (!cached) {\n return false;\n }\n // Merge against current columns — mirrors `_fetchFromStorage`.\n const merged = this.columns.map((column) => {\n const cachedEntry = cached.find((c) => c.id === column.id);\n if (cachedEntry == null) {\n return this._toStoredColumn(column);\n }\n const { id, hideable, hiddenFromCustomColumnsSelection } = column;\n return {\n id,\n isSelected:\n cachedEntry.isSelected ||\n !hideable ||\n hiddenFromCustomColumnsSelection === true,\n };\n });\n this.selectedColumns.setValue(\n this.customColumnsState?.dragAndDrop\n ? merged.sort(indexOfCompareFn(cached, (e) => e?.id))\n : merged,\n );\n return true;\n }\n\n _clearColumnsCache() {\n this._layoutColumnsCache = {};\n }\n\n _adjustSortWithNewColumns(tableColumns: TableColumn<T>[]) {\n const {\n collection: { query },\n } = this;\n const tableColumnsIds = new Set(tableColumns.map((column) => column.id));\n\n const staleSortEntries = query.sort.value.filter(\n ({ field }) => !tableColumnsIds.has(field),\n );\n\n // Runs on every column add/duplicate, where the sort is still valid.\n // re-sorting there clears the loaded rows and refetches from page 1.\n if (staleSortEntries.length === 0) {\n return;\n }\n\n staleSortEntries.forEach((s) => {\n query.sort.value.remove(s);\n });\n query.sort.events.emit('change');\n this.collection.scheduleSort({ clearResult: true });\n }\n\n closeSidePanel = () => {\n this.sidePanel.close();\n };\n\n openFiltersPanel() {\n this.panels.openSidePanel('filters');\n }\n\n retryErrorState = action(() => {\n const { initTask, multi } = this;\n\n if (initTask.status.isError) {\n initTask.runOnce();\n } else {\n multi.retryErrorState();\n }\n });\n\n onSelectionStarted = () => {\n this.bulk._selectionStartTime = performance.now();\n };\n\n _onSelectAllCheckboxClick() {}\n\n get activeFiltersEntries() {\n return Array.from(\n this.multi.collections\n .flatMap(({ query }) =>\n query.activeFiltersEntries.filter(\n ([_, filter]) => filter !== query.search,\n ),\n )\n .reduce(\n (map, entry) => map.set(entry[0], entry),\n new Map<string, [string, Filter<unknown>]>(),\n )\n .values(),\n );\n }\n\n onSelectionChanged: Required<TableProps>['onSelectionChanged'] = action(\n (_selectedIds, change) => {\n if (change == null) {\n return;\n }\n\n const { panels, bulk } = this;\n\n panels.closeSidePanel();\n\n switch (change.type) {\n case 'ALL':\n bulk.toggleSelectAll({ location: 'Checkbox' });\n break;\n case 'NONE':\n bulk.deselectAll({ location: 'Checkbox' });\n break;\n case 'SINGLE_TOGGLE':\n if (change.value) {\n bulk.selectOne(change.id);\n } else {\n bulk.deselectOne(change.id);\n }\n break;\n }\n },\n );\n\n openCustomFieldModal = ({ customOrigin }: { customOrigin?: string } = {}) => {\n return this.collectionFieldsSource?.openFieldModal({ customOrigin });\n };\n\n openManageTagsModal = () => {\n return this.tagsCollectionState?.openManageTagsModal();\n };\n\n onAddItemActionComplete = async (items: T[]) => {\n await this._resetQueryAndAddItems(items);\n\n this.toolbarBIReporter.newItemCreationEnd(items);\n };\n\n _resetQueryAndAddItems = async (items: T[]) => {\n const { collection } = this;\n const { query } = collection;\n\n query.resetFilters();\n query.resetSorting();\n\n await collection.clearResultAndMoveToStart({ force: true });\n\n collection._optimisticActions?.createMany(items, {\n submit: async () => items,\n });\n\n collection.scrollableContent?.scrollTo?.({\n top: 0,\n behavior: 'smooth',\n });\n };\n\n getPageFeaturedActions(): MoreActionItemFactory[] {\n const { collectionFieldsSource, tagsCollectionState } = this;\n return [collectionFieldsSource, tagsCollectionState]\n .filter(\n (e): e is CollectionFieldsSourceState | TagsCollectionState<T, F> =>\n e != null,\n )\n .filter((e) => !e.props?.disableDefaultPageAction)\n .flatMap((e) => e.featuredPageActions);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -14,6 +14,12 @@ var _OperatorFilterCustomFieldFilter = require("../components/CustomFieldFilters
|
|
|
14
14
|
var _NumberRangeFilter = require("../components/NumberRangeFilter");
|
|
15
15
|
var _HasValueCustomFieldFilter = require("../components/CustomFieldFilters/HasValueCustomFieldFilter");
|
|
16
16
|
var _jsxFileName = "/home/builduser/work/843658b9f44192f0/packages/cairo/dist/cjs/state/buildFieldFilters.tsx";
|
|
17
|
+
/**
|
|
18
|
+
* The reference filter, supplied by the source rather than imported here. It
|
|
19
|
+
* reaches the referenced item's avatar in `@wix/patterns-fields`, which every
|
|
20
|
+
* source would otherwise pay for — including sources with no reference fields.
|
|
21
|
+
*/
|
|
22
|
+
|
|
17
23
|
/**
|
|
18
24
|
* The filter behavior a source supplies that the shared builder can't derive
|
|
19
25
|
* from the neutral field type. The neutral type collapses distinct source types
|
|
@@ -46,6 +52,9 @@ const FILTER_COMPONENT_BY_TYPE = {
|
|
|
46
52
|
OBJECT: _HasValueCustomFieldFilter.HasValueCustomFieldFilter,
|
|
47
53
|
COLOR: _HasValueCustomFieldFilter.HasValueCustomFieldFilter,
|
|
48
54
|
ARRAY: _HasValueCustomFieldFilter.HasValueCustomFieldFilter
|
|
55
|
+
// REFERENCE / MULTI_REFERENCE are absent on purpose: their filter component
|
|
56
|
+
// is injected by the source (see ReferenceFilterComponent), so this file —
|
|
57
|
+
// which every source's filters go through — never pulls it in.
|
|
49
58
|
};
|
|
50
59
|
|
|
51
60
|
// Field type → the filter state registered on the collection query. Text fields
|
|
@@ -76,7 +85,9 @@ const filterFactoryByType = config => {
|
|
|
76
85
|
RICH_CONTENT: _bexCore.idNameArrayFilter,
|
|
77
86
|
OBJECT: _bexCore.idNameArrayFilter,
|
|
78
87
|
COLOR: _bexCore.idNameArrayFilter,
|
|
79
|
-
ARRAY: _bexCore.idNameArrayFilter
|
|
88
|
+
ARRAY: _bexCore.idNameArrayFilter,
|
|
89
|
+
REFERENCE: _bexCore.idNameArrayFilter,
|
|
90
|
+
MULTI_REFERENCE: _bexCore.idNameArrayFilter
|
|
80
91
|
};
|
|
81
92
|
};
|
|
82
93
|
|
|
@@ -89,10 +100,20 @@ const resolveCustomFilter = (field, source) => {
|
|
|
89
100
|
const customTypeConfig = (0, _bexCore.resolveFieldTypeDefinition)(source, field);
|
|
90
101
|
return customTypeConfig && (0, _bexCore.isFilterTypeConfig)(customTypeConfig.filter) ? customTypeConfig.filter : undefined;
|
|
91
102
|
};
|
|
103
|
+
const isReferenceField = field => field.type === 'REFERENCE' || field.type === 'MULTI_REFERENCE';
|
|
92
104
|
|
|
93
105
|
/** A field gets an auto filter when its type maps to a filter element, or —
|
|
94
|
-
* for a CUSTOM field — when its type definition declares a filter config.
|
|
95
|
-
|
|
106
|
+
* for a CUSTOM field — when its type definition declares a filter config. A
|
|
107
|
+
* reference field also needs the source to reach the referenced collection. */
|
|
108
|
+
const isFilterableField = (field, source, config, ReferenceFilter) => {
|
|
109
|
+
if (field.type === 'CUSTOM') {
|
|
110
|
+
return !!resolveCustomFilter(field, source);
|
|
111
|
+
}
|
|
112
|
+
if (isReferenceField(field)) {
|
|
113
|
+
return !!ReferenceFilter && !!(config != null && config.referenceItems != null && config.referenceItems(field));
|
|
114
|
+
}
|
|
115
|
+
return isFilterableFieldType(field.type);
|
|
116
|
+
};
|
|
96
117
|
|
|
97
118
|
/**
|
|
98
119
|
* Registers a filter state per filterable field on the collection query, so the
|
|
@@ -100,7 +121,7 @@ const isFilterableField = (field, source) => field.type === 'CUSTOM' ? !!resolve
|
|
|
100
121
|
* field that is already registered.
|
|
101
122
|
*/
|
|
102
123
|
exports.isFilterableField = isFilterableField;
|
|
103
|
-
const registerFieldFilters = (toolbar, source, config) => {
|
|
124
|
+
const registerFieldFilters = (toolbar, source, config, ReferenceFilter) => {
|
|
104
125
|
const factoryByType = filterFactoryByType(config);
|
|
105
126
|
source.filterableFields.forEach(field => {
|
|
106
127
|
if (field.type === 'CUSTOM') {
|
|
@@ -116,6 +137,9 @@ const registerFieldFilters = (toolbar, source, config) => {
|
|
|
116
137
|
toolbar.collection.query.addFilterIfNeeded(field.id, filter);
|
|
117
138
|
return;
|
|
118
139
|
}
|
|
140
|
+
if (isReferenceField(field) && !(ReferenceFilter && config.referenceItems != null && config.referenceItems(field))) {
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
119
143
|
const factory = factoryByType[field.type];
|
|
120
144
|
if (!factory) {
|
|
121
145
|
return;
|
|
@@ -129,7 +153,7 @@ const registerFieldFilters = (toolbar, source, config) => {
|
|
|
129
153
|
|
|
130
154
|
/** Builds the toolbar filter element for a field, or null when it has none. */
|
|
131
155
|
exports.registerFieldFilters = registerFieldFilters;
|
|
132
|
-
const buildFieldFilterElement = (toolbar, field, config, source) => {
|
|
156
|
+
const buildFieldFilterElement = (toolbar, field, config, source, ReferenceFilter) => {
|
|
133
157
|
const filter = toolbar.collection.filters[field.id];
|
|
134
158
|
if (!filter) {
|
|
135
159
|
return null;
|
|
@@ -156,7 +180,35 @@ const buildFieldFilterElement = (toolbar, field, config, source) => {
|
|
|
156
180
|
__self: void 0,
|
|
157
181
|
__source: {
|
|
158
182
|
fileName: _jsxFileName,
|
|
159
|
-
lineNumber:
|
|
183
|
+
lineNumber: 234,
|
|
184
|
+
columnNumber: 7
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
if (isReferenceField(field)) {
|
|
189
|
+
const fetchItems = config.referenceItems == null ? void 0 : config.referenceItems(field);
|
|
190
|
+
if (!ReferenceFilter || !fetchItems) {
|
|
191
|
+
return null;
|
|
192
|
+
}
|
|
193
|
+
return /*#__PURE__*/_react.default.createElement(ReferenceFilter, {
|
|
194
|
+
key: field.id,
|
|
195
|
+
filter: filter,
|
|
196
|
+
fetchItems: fetchItems,
|
|
197
|
+
referencedCollectionId: field.referenceMetadata.referencedCollectionId,
|
|
198
|
+
fieldId: field.id,
|
|
199
|
+
accordionItemProps: {
|
|
200
|
+
label
|
|
201
|
+
},
|
|
202
|
+
toolbarItemProps: {
|
|
203
|
+
label
|
|
204
|
+
},
|
|
205
|
+
toolbarTagProps: {
|
|
206
|
+
label
|
|
207
|
+
},
|
|
208
|
+
__self: void 0,
|
|
209
|
+
__source: {
|
|
210
|
+
fileName: _jsxFileName,
|
|
211
|
+
lineNumber: 249,
|
|
160
212
|
columnNumber: 7
|
|
161
213
|
}
|
|
162
214
|
});
|
|
@@ -185,13 +237,13 @@ const buildFieldFilterElement = (toolbar, field, config, source) => {
|
|
|
185
237
|
__self: void 0,
|
|
186
238
|
__source: {
|
|
187
239
|
fileName: _jsxFileName,
|
|
188
|
-
lineNumber:
|
|
240
|
+
lineNumber: 268,
|
|
189
241
|
columnNumber: 5
|
|
190
242
|
}
|
|
191
243
|
}));
|
|
192
244
|
};
|
|
193
245
|
|
|
194
246
|
/** Builds the toolbar filter elements for a source's filterable fields. */
|
|
195
|
-
const buildFieldFilters = (toolbar, source, config) => source.filterableFields.map(field => buildFieldFilterElement(toolbar, field, config, source)).filter(el => el !== null);
|
|
247
|
+
const buildFieldFilters = (toolbar, source, config, ReferenceFilter) => source.filterableFields.map(field => buildFieldFilterElement(toolbar, field, config, source, ReferenceFilter)).filter(el => el !== null);
|
|
196
248
|
exports.buildFieldFilters = buildFieldFilters;
|
|
197
249
|
//# sourceMappingURL=buildFieldFilters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_bexCore","_fieldTypePrefixIcons","_CheckboxCustomFieldFilter","_DateCustomFieldFilter","_DateTimeCustomFieldFilter","_OperatorFilterCustomFieldFilter","_NumberRangeFilter","_HasValueCustomFieldFilter","_jsxFileName","FILTER_COMPONENT_BY_TYPE","SHORT_TEXT","OperatorFilterCustomFieldFilter","LONG_TEXT","URL","EMAIL","RICH_TEXT","ADDRESS","NUMBER","NumberRangeFilter","BOOLEAN","CheckboxCustomFieldFilter","DATE","DateCustomFieldFilter","DATETIME","DateTimeCustomFieldFilter","TIME","HasValueCustomFieldFilter","IMAGE","VIDEO","AUDIO","MEDIA_GALLERY","DOCUMENT","MULTI_DOCUMENT","RICH_CONTENT","OBJECT","COLOR","ARRAY","filterFactoryByType","config","stringFilter","params","stringOperatorFilter","allowedOperators","textOperators","numberRangeFilter","idNameArrayFilter","dateRangeFilter","isFilterableFieldType","type","exports","resolveCustomFilter","field","source","customTypeConfig","resolveFieldTypeDefinition","isFilterTypeConfig","filter","undefined","isFilterableField","registerFieldFilters","toolbar","factoryByType","filterableFields","forEach","customFilter","createFilter","Object","assign","name","id","collection","query","addFilterIfNeeded","factory","isCustomField","buildFieldFilterElement","filters","label","displayName","_resolveCustomFilter","CustomComponent","Component","default","createElement","key","accordionItemProps","toolbarItemProps","toolbarTagProps","__self","__source","fileName","lineNumber","columnNumber","FilterComponent","decimal","numberIsDecimal","_extends2","fieldType","iconType","toFieldType","buildFieldFilters","map","el"],"sources":["../../../src/state/buildFieldFilters.tsx"],"sourcesContent":["import React from 'react';\nimport {\n dateRangeFilter,\n idNameArrayFilter,\n isFilterTypeConfig,\n numberRangeFilter,\n resolveFieldTypeDefinition,\n stringOperatorFilter,\n} from '@wix/bex-core';\nimport type {\n Field,\n FieldsSource,\n Filter,\n FilterStateBaseParams,\n FilterOperator,\n FilterTypeConfig,\n PatternsFieldType,\n} from '@wix/bex-core';\nimport type { ToolbarCollectionState } from './ToolbarCollectionState';\nimport type { FilterElement } from '../components/CollectionToolbarFilters';\nimport { toFieldType } from '../utils/fieldTypePrefixIcons';\nimport { CheckboxCustomFieldFilter } from '../components/CustomFieldFilters/CheckboxCustomFieldFilter';\nimport { DateCustomFieldFilter } from '../components/CustomFieldFilters/DateCustomFieldFilter';\nimport { DateTimeCustomFieldFilter } from '../components/CustomFieldFilters/DateTimeCustomFieldFilter';\nimport { OperatorFilterCustomFieldFilter } from '../components/CustomFieldFilters/OperatorFilterCustomFieldFilter';\nimport { NumberRangeFilter } from '../components/NumberRangeFilter';\nimport { HasValueCustomFieldFilter } from '../components/CustomFieldFilters/HasValueCustomFieldFilter';\n\ntype FilterFactory = (\n params: Partial<FilterStateBaseParams<any>>,\n) => Filter<any>;\n\nexport type { FilterTypeConfig } from '@wix/bex-core';\n\n/**\n * The filter behavior a source supplies that the shared builder can't derive\n * from the neutral field type. The neutral type collapses distinct source types\n * (e.g. a DataExtension dropdown into SHORT_TEXT), so the source fills the gaps.\n */\nexport interface FieldFilterConfig {\n /** Operators the source's backend can run on text fields. */\n textOperators: FilterOperator[];\n /** Whether a NUMBER field's filter accepts decimals. Default: false. */\n numberIsDecimal?: (field: Field) => boolean;\n /** Filter type icon. Default: derived from the neutral field type. */\n iconType?: (field: Field) => ReturnType<typeof toFieldType>;\n}\n\n// Field type → the filter element rendered in the toolbar. Its keys also define\n// which field types get an auto filter (see isFilterableFieldType).\nconst FILTER_COMPONENT_BY_TYPE: Partial<\n Record<PatternsFieldType, React.ComponentType<any>>\n> = {\n SHORT_TEXT: OperatorFilterCustomFieldFilter,\n LONG_TEXT: OperatorFilterCustomFieldFilter,\n URL: OperatorFilterCustomFieldFilter,\n EMAIL: OperatorFilterCustomFieldFilter,\n RICH_TEXT: OperatorFilterCustomFieldFilter,\n // The source matches an address against its formatted text.\n ADDRESS: OperatorFilterCustomFieldFilter,\n NUMBER: NumberRangeFilter,\n BOOLEAN: CheckboxCustomFieldFilter,\n DATE: DateCustomFieldFilter,\n DATETIME: DateTimeCustomFieldFilter,\n // Types with no value to match against — filter them on emptiness alone.\n TIME: HasValueCustomFieldFilter,\n IMAGE: HasValueCustomFieldFilter,\n VIDEO: HasValueCustomFieldFilter,\n AUDIO: HasValueCustomFieldFilter,\n MEDIA_GALLERY: HasValueCustomFieldFilter,\n DOCUMENT: HasValueCustomFieldFilter,\n MULTI_DOCUMENT: HasValueCustomFieldFilter,\n RICH_CONTENT: HasValueCustomFieldFilter,\n OBJECT: HasValueCustomFieldFilter,\n COLOR: HasValueCustomFieldFilter,\n ARRAY: HasValueCustomFieldFilter,\n};\n\n// Field type → the filter state registered on the collection query. Text fields\n// use the source's allowed operators; the rest are fixed.\nconst filterFactoryByType = (\n config: FieldFilterConfig,\n): Partial<Record<PatternsFieldType, FilterFactory>> => {\n const stringFilter: FilterFactory = (params) =>\n stringOperatorFilter({ ...params, allowedOperators: config.textOperators });\n return {\n SHORT_TEXT: stringFilter,\n LONG_TEXT: stringFilter,\n URL: stringFilter,\n EMAIL: stringFilter,\n RICH_TEXT: stringFilter,\n ADDRESS: stringFilter,\n NUMBER: numberRangeFilter,\n BOOLEAN: idNameArrayFilter,\n DATE: dateRangeFilter,\n DATETIME: dateRangeFilter,\n TIME: idNameArrayFilter,\n IMAGE: idNameArrayFilter,\n VIDEO: idNameArrayFilter,\n AUDIO: idNameArrayFilter,\n MEDIA_GALLERY: idNameArrayFilter,\n DOCUMENT: idNameArrayFilter,\n MULTI_DOCUMENT: idNameArrayFilter,\n RICH_CONTENT: idNameArrayFilter,\n OBJECT: idNameArrayFilter,\n COLOR: idNameArrayFilter,\n ARRAY: idNameArrayFilter,\n };\n};\n\n/** A field gets an auto filter when its type maps to a filter element. */\nexport const isFilterableFieldType = (type: PatternsFieldType): boolean =>\n type in FILTER_COMPONENT_BY_TYPE;\n\n/** The active filter config of a CUSTOM field's type definition, if any. */\nconst resolveCustomFilter = (\n field: Field,\n source: Pick<FieldsSource, 'fieldTypes'>,\n): FilterTypeConfig | undefined => {\n const customTypeConfig = resolveFieldTypeDefinition(source, field);\n return customTypeConfig && isFilterTypeConfig(customTypeConfig.filter)\n ? customTypeConfig.filter\n : undefined;\n};\n\n/** A field gets an auto filter when its type maps to a filter element, or —\n * for a CUSTOM field — when its type definition declares a filter config. */\nexport const isFilterableField = (\n field: Field,\n source: Pick<FieldsSource, 'fieldTypes'>,\n): boolean =>\n field.type === 'CUSTOM'\n ? !!resolveCustomFilter(field, source)\n : isFilterableFieldType(field.type);\n\n/**\n * Registers a filter state per filterable field on the collection query, so the\n * built elements have a filter to read. Idempotent — addFilterIfNeeded skips a\n * field that is already registered.\n */\nexport const registerFieldFilters = (\n toolbar: ToolbarCollectionState<any, any>,\n source: Pick<FieldsSource, 'filterableFields' | 'fieldTypes'>,\n config: FieldFilterConfig,\n): void => {\n const factoryByType = filterFactoryByType(config);\n source.filterableFields.forEach((field) => {\n if (field.type === 'CUSTOM') {\n const customFilter = resolveCustomFilter(field, source);\n if (!customFilter) {\n return;\n }\n const filter = customFilter.createFilter(field);\n // The collection registers the filter under the field's id.\n Object.assign(filter, { name: field.id });\n toolbar.collection.query.addFilterIfNeeded(field.id as any, filter);\n return;\n }\n const factory = factoryByType[field.type];\n if (!factory) {\n return;\n }\n toolbar.collection.query.addFilterIfNeeded(\n field.id as any,\n factory({ name: field.id, isCustomField: true }),\n );\n });\n};\n\n/** Builds the toolbar filter element for a field, or null when it has none. */\nconst buildFieldFilterElement = (\n toolbar: ToolbarCollectionState<any, any>,\n field: Field,\n config: FieldFilterConfig,\n source: Pick<FieldsSource, 'fieldTypes'>,\n): FilterElement | null => {\n const filter = toolbar.collection.filters[field.id];\n if (!filter) {\n return null;\n }\n const label = field.displayName || field.id;\n if (field.type === 'CUSTOM') {\n const CustomComponent = resolveCustomFilter(field, source)?.Component;\n if (!CustomComponent) {\n return null;\n }\n return (\n <CustomComponent\n key={field.id}\n filter={filter}\n accordionItemProps={{ label }}\n toolbarItemProps={{ label }}\n toolbarTagProps={{ label }}\n />\n ) as FilterElement;\n }\n const FilterComponent = FILTER_COMPONENT_BY_TYPE[field.type];\n if (!FilterComponent) {\n return null;\n }\n const decimal =\n field.type === 'NUMBER' ? config.numberIsDecimal?.(field) : false;\n return (\n <FilterComponent\n key={field.id}\n filter={filter}\n fieldType={config.iconType?.(field) ?? toFieldType(field.type)}\n accordionItemProps={{ label }}\n toolbarItemProps={{ label }}\n toolbarTagProps={{ label }}\n {...(decimal ? { decimal: true } : {})}\n />\n ) as FilterElement;\n};\n\n/** Builds the toolbar filter elements for a source's filterable fields. */\nexport const buildFieldFilters = (\n toolbar: ToolbarCollectionState<any, any>,\n source: Pick<FieldsSource, 'filterableFields' | 'fieldTypes'>,\n config: FieldFilterConfig,\n): FilterElement[] =>\n source.filterableFields\n .map((field) => buildFieldFilterElement(toolbar, field, config, source))\n .filter((el): el is FilterElement => el !== null);\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAmBA,IAAAE,qBAAA,GAAAF,OAAA;AACA,IAAAG,0BAAA,GAAAH,OAAA;AACA,IAAAI,sBAAA,GAAAJ,OAAA;AACA,IAAAK,0BAAA,GAAAL,OAAA;AACA,IAAAM,gCAAA,GAAAN,OAAA;AACA,IAAAO,kBAAA,GAAAP,OAAA;AACA,IAAAQ,0BAAA,GAAAR,OAAA;AAAuG,IAAAS,YAAA;AAQvG;AACA;AACA;AACA;AACA;;AAUA;AACA;AACA,MAAMC,wBAEL,GAAG;EACFC,UAAU,EAAEC,gEAA+B;EAC3CC,SAAS,EAAED,gEAA+B;EAC1CE,GAAG,EAAEF,gEAA+B;EACpCG,KAAK,EAAEH,gEAA+B;EACtCI,SAAS,EAAEJ,gEAA+B;EAC1C;EACAK,OAAO,EAAEL,gEAA+B;EACxCM,MAAM,EAAEC,oCAAiB;EACzBC,OAAO,EAAEC,oDAAyB;EAClCC,IAAI,EAAEC,4CAAqB;EAC3BC,QAAQ,EAAEC,oDAAyB;EACnC;EACAC,IAAI,EAAEC,oDAAyB;EAC/BC,KAAK,EAAED,oDAAyB;EAChCE,KAAK,EAAEF,oDAAyB;EAChCG,KAAK,EAAEH,oDAAyB;EAChCI,aAAa,EAAEJ,oDAAyB;EACxCK,QAAQ,EAAEL,oDAAyB;EACnCM,cAAc,EAAEN,oDAAyB;EACzCO,YAAY,EAAEP,oDAAyB;EACvCQ,MAAM,EAAER,oDAAyB;EACjCS,KAAK,EAAET,oDAAyB;EAChCU,KAAK,EAAEV;AACT,CAAC;;AAED;AACA;AACA,MAAMW,mBAAmB,GACvBC,MAAyB,IAC6B;EACtD,MAAMC,YAA2B,GAAIC,MAAM,IACzC,IAAAC,6BAAoB,EAAC;IAAE,GAAGD,MAAM;IAAEE,gBAAgB,EAAEJ,MAAM,CAACK;EAAc,CAAC,CAAC;EAC7E,OAAO;IACLjC,UAAU,EAAE6B,YAAY;IACxB3B,SAAS,EAAE2B,YAAY;IACvB1B,GAAG,EAAE0B,YAAY;IACjBzB,KAAK,EAAEyB,YAAY;IACnBxB,SAAS,EAAEwB,YAAY;IACvBvB,OAAO,EAAEuB,YAAY;IACrBtB,MAAM,EAAE2B,0BAAiB;IACzBzB,OAAO,EAAE0B,0BAAiB;IAC1BxB,IAAI,EAAEyB,wBAAe;IACrBvB,QAAQ,EAAEuB,wBAAe;IACzBrB,IAAI,EAAEoB,0BAAiB;IACvBlB,KAAK,EAAEkB,0BAAiB;IACxBjB,KAAK,EAAEiB,0BAAiB;IACxBhB,KAAK,EAAEgB,0BAAiB;IACxBf,aAAa,EAAEe,0BAAiB;IAChCd,QAAQ,EAAEc,0BAAiB;IAC3Bb,cAAc,EAAEa,0BAAiB;IACjCZ,YAAY,EAAEY,0BAAiB;IAC/BX,MAAM,EAAEW,0BAAiB;IACzBV,KAAK,EAAEU,0BAAiB;IACxBT,KAAK,EAAES;EACT,CAAC;AACH,CAAC;;AAED;AACO,MAAME,qBAAqB,GAAIC,IAAuB,IAC3DA,IAAI,IAAIvC,wBAAwB;;AAElC;AAAAwC,OAAA,CAAAF,qBAAA,GAAAA,qBAAA;AACA,MAAMG,mBAAmB,GAAGA,CAC1BC,KAAY,EACZC,MAAwC,KACP;EACjC,MAAMC,gBAAgB,GAAG,IAAAC,mCAA0B,EAACF,MAAM,EAAED,KAAK,CAAC;EAClE,OAAOE,gBAAgB,IAAI,IAAAE,2BAAkB,EAACF,gBAAgB,CAACG,MAAM,CAAC,GAClEH,gBAAgB,CAACG,MAAM,GACvBC,SAAS;AACf,CAAC;;AAED;AACA;AACO,MAAMC,iBAAiB,GAAGA,CAC/BP,KAAY,EACZC,MAAwC,KAExCD,KAAK,CAACH,IAAI,KAAK,QAAQ,GACnB,CAAC,CAACE,mBAAmB,CAACC,KAAK,EAAEC,MAAM,CAAC,GACpCL,qBAAqB,CAACI,KAAK,CAACH,IAAI,CAAC;;AAEvC;AACA;AACA;AACA;AACA;AAJAC,OAAA,CAAAS,iBAAA,GAAAA,iBAAA;AAKO,MAAMC,oBAAoB,GAAGA,CAClCC,OAAyC,EACzCR,MAA6D,EAC7Dd,MAAyB,KAChB;EACT,MAAMuB,aAAa,GAAGxB,mBAAmB,CAACC,MAAM,CAAC;EACjDc,MAAM,CAACU,gBAAgB,CAACC,OAAO,CAAEZ,KAAK,IAAK;IACzC,IAAIA,KAAK,CAACH,IAAI,KAAK,QAAQ,EAAE;MAC3B,MAAMgB,YAAY,GAAGd,mBAAmB,CAACC,KAAK,EAAEC,MAAM,CAAC;MACvD,IAAI,CAACY,YAAY,EAAE;QACjB;MACF;MACA,MAAMR,MAAM,GAAGQ,YAAY,CAACC,YAAY,CAACd,KAAK,CAAC;MAC/C;MACAe,MAAM,CAACC,MAAM,CAACX,MAAM,EAAE;QAAEY,IAAI,EAAEjB,KAAK,CAACkB;MAAG,CAAC,CAAC;MACzCT,OAAO,CAACU,UAAU,CAACC,KAAK,CAACC,iBAAiB,CAACrB,KAAK,CAACkB,EAAE,EAASb,MAAM,CAAC;MACnE;IACF;IACA,MAAMiB,OAAO,GAAGZ,aAAa,CAACV,KAAK,CAACH,IAAI,CAAC;IACzC,IAAI,CAACyB,OAAO,EAAE;MACZ;IACF;IACAb,OAAO,CAACU,UAAU,CAACC,KAAK,CAACC,iBAAiB,CACxCrB,KAAK,CAACkB,EAAE,EACRI,OAAO,CAAC;MAAEL,IAAI,EAAEjB,KAAK,CAACkB,EAAE;MAAEK,aAAa,EAAE;IAAK,CAAC,CACjD,CAAC;EACH,CAAC,CAAC;AACJ,CAAC;;AAED;AAAAzB,OAAA,CAAAU,oBAAA,GAAAA,oBAAA;AACA,MAAMgB,uBAAuB,GAAGA,CAC9Bf,OAAyC,EACzCT,KAAY,EACZb,MAAyB,EACzBc,MAAwC,KACf;EACzB,MAAMI,MAAM,GAAGI,OAAO,CAACU,UAAU,CAACM,OAAO,CAACzB,KAAK,CAACkB,EAAE,CAAC;EACnD,IAAI,CAACb,MAAM,EAAE;IACX,OAAO,IAAI;EACb;EACA,MAAMqB,KAAK,GAAG1B,KAAK,CAAC2B,WAAW,IAAI3B,KAAK,CAACkB,EAAE;EAC3C,IAAIlB,KAAK,CAACH,IAAI,KAAK,QAAQ,EAAE;IAAA,IAAA+B,oBAAA;IAC3B,MAAMC,eAAe,IAAAD,oBAAA,GAAG7B,mBAAmB,CAACC,KAAK,EAAEC,MAAM,CAAC,qBAAlC2B,oBAAA,CAAoCE,SAAS;IACrE,IAAI,CAACD,eAAe,EAAE;MACpB,OAAO,IAAI;IACb;IACA,oBACEnF,MAAA,CAAAqF,OAAA,CAAAC,aAAA,CAACH,eAAe;MACdI,GAAG,EAAEjC,KAAK,CAACkB,EAAG;MACdb,MAAM,EAAEA,MAAO;MACf6B,kBAAkB,EAAE;QAAER;MAAM,CAAE;MAC9BS,gBAAgB,EAAE;QAAET;MAAM,CAAE;MAC5BU,eAAe,EAAE;QAAEV;MAAM,CAAE;MAAAW,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAlF,YAAA;QAAAmF,UAAA;QAAAC,YAAA;MAAA;IAAA,CAC5B,CAAC;EAEN;EACA,MAAMC,eAAe,GAAGpF,wBAAwB,CAAC0C,KAAK,CAACH,IAAI,CAAC;EAC5D,IAAI,CAAC6C,eAAe,EAAE;IACpB,OAAO,IAAI;EACb;EACA,MAAMC,OAAO,GACX3C,KAAK,CAACH,IAAI,KAAK,QAAQ,GAAGV,MAAM,CAACyD,eAAe,oBAAtBzD,MAAM,CAACyD,eAAe,CAAG5C,KAAK,CAAC,GAAG,KAAK;EACnE,oBACEtD,MAAA,CAAAqF,OAAA,CAAAC,aAAA,CAACU,eAAe,MAAAG,SAAA,CAAAd,OAAA;IACdE,GAAG,EAAEjC,KAAK,CAACkB,EAAG;IACdb,MAAM,EAAEA,MAAO;IACfyC,SAAS,EAAE,CAAA3D,MAAM,CAAC4D,QAAQ,oBAAf5D,MAAM,CAAC4D,QAAQ,CAAG/C,KAAK,CAAC,KAAI,IAAAgD,iCAAW,EAAChD,KAAK,CAACH,IAAI,CAAE;IAC/DqC,kBAAkB,EAAE;MAAER;IAAM,CAAE;IAC9BS,gBAAgB,EAAE;MAAET;IAAM,CAAE;IAC5BU,eAAe,EAAE;MAAEV;IAAM;EAAE,GACtBiB,OAAO,GAAG;IAAEA,OAAO,EAAE;EAAK,CAAC,GAAG,CAAC,CAAC;IAAAN,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAlF,YAAA;MAAAmF,UAAA;MAAAC,YAAA;IAAA;EAAA,EACtC,CAAC;AAEN,CAAC;;AAED;AACO,MAAMQ,iBAAiB,GAAGA,CAC/BxC,OAAyC,EACzCR,MAA6D,EAC7Dd,MAAyB,KAEzBc,MAAM,CAACU,gBAAgB,CACpBuC,GAAG,CAAElD,KAAK,IAAKwB,uBAAuB,CAACf,OAAO,EAAET,KAAK,EAAEb,MAAM,EAAEc,MAAM,CAAC,CAAC,CACvEI,MAAM,CAAE8C,EAAE,IAA0BA,EAAE,KAAK,IAAI,CAAC;AAACrD,OAAA,CAAAmD,iBAAA,GAAAA,iBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_bexCore","_fieldTypePrefixIcons","_CheckboxCustomFieldFilter","_DateCustomFieldFilter","_DateTimeCustomFieldFilter","_OperatorFilterCustomFieldFilter","_NumberRangeFilter","_HasValueCustomFieldFilter","_jsxFileName","FILTER_COMPONENT_BY_TYPE","SHORT_TEXT","OperatorFilterCustomFieldFilter","LONG_TEXT","URL","EMAIL","RICH_TEXT","ADDRESS","NUMBER","NumberRangeFilter","BOOLEAN","CheckboxCustomFieldFilter","DATE","DateCustomFieldFilter","DATETIME","DateTimeCustomFieldFilter","TIME","HasValueCustomFieldFilter","IMAGE","VIDEO","AUDIO","MEDIA_GALLERY","DOCUMENT","MULTI_DOCUMENT","RICH_CONTENT","OBJECT","COLOR","ARRAY","filterFactoryByType","config","stringFilter","params","stringOperatorFilter","allowedOperators","textOperators","numberRangeFilter","idNameArrayFilter","dateRangeFilter","REFERENCE","MULTI_REFERENCE","isFilterableFieldType","type","exports","resolveCustomFilter","field","source","customTypeConfig","resolveFieldTypeDefinition","isFilterTypeConfig","filter","undefined","isReferenceField","isFilterableField","ReferenceFilter","referenceItems","registerFieldFilters","toolbar","factoryByType","filterableFields","forEach","customFilter","createFilter","Object","assign","name","id","collection","query","addFilterIfNeeded","factory","isCustomField","buildFieldFilterElement","filters","label","displayName","_resolveCustomFilter","CustomComponent","Component","default","createElement","key","accordionItemProps","toolbarItemProps","toolbarTagProps","__self","__source","fileName","lineNumber","columnNumber","fetchItems","referencedCollectionId","referenceMetadata","fieldId","FilterComponent","decimal","numberIsDecimal","_extends2","fieldType","iconType","toFieldType","buildFieldFilters","map","el"],"sources":["../../../src/state/buildFieldFilters.tsx"],"sourcesContent":["import React, { type ComponentType } from 'react';\nimport {\n dateRangeFilter,\n idNameArrayFilter,\n isFilterTypeConfig,\n numberRangeFilter,\n resolveFieldTypeDefinition,\n stringOperatorFilter,\n} from '@wix/bex-core';\nimport type {\n Field,\n FieldsSource,\n MultiReferenceField,\n ReferenceField,\n Filter,\n FilterStateBaseParams,\n FilterOperator,\n FilterTypeConfig,\n PatternsFieldType,\n} from '@wix/bex-core';\nimport type { ToolbarCollectionState } from './ToolbarCollectionState';\nimport type { FilterElement } from '../components/CollectionToolbarFilters';\nimport { toFieldType } from '../utils/fieldTypePrefixIcons';\nimport { CheckboxCustomFieldFilter } from '../components/CustomFieldFilters/CheckboxCustomFieldFilter';\nimport { DateCustomFieldFilter } from '../components/CustomFieldFilters/DateCustomFieldFilter';\nimport { DateTimeCustomFieldFilter } from '../components/CustomFieldFilters/DateTimeCustomFieldFilter';\nimport { OperatorFilterCustomFieldFilter } from '../components/CustomFieldFilters/OperatorFilterCustomFieldFilter';\nimport { NumberRangeFilter } from '../components/NumberRangeFilter';\nimport { HasValueCustomFieldFilter } from '../components/CustomFieldFilters/HasValueCustomFieldFilter';\nimport type {\n FetchReferenceItems,\n ReferenceFieldFilterProps,\n} from '../components/ReferenceFieldFilter/ReferenceFieldFilter';\n\ntype FilterFactory = (\n params: Partial<FilterStateBaseParams<any>>,\n) => Filter<any>;\n\n/**\n * The reference filter, supplied by the source rather than imported here. It\n * reaches the referenced item's avatar in `@wix/patterns-fields`, which every\n * source would otherwise pay for — including sources with no reference fields.\n */\nexport type ReferenceFilterComponent = ComponentType<ReferenceFieldFilterProps>;\n\nexport type { FilterTypeConfig } from '@wix/bex-core';\n\n/**\n * The filter behavior a source supplies that the shared builder can't derive\n * from the neutral field type. The neutral type collapses distinct source types\n * (e.g. a DataExtension dropdown into SHORT_TEXT), so the source fills the gaps.\n */\nexport interface FieldFilterConfig {\n /** Operators the source's backend can run on text fields. */\n textOperators: FilterOperator[];\n /** Whether a NUMBER field's filter accepts decimals. Default: false. */\n numberIsDecimal?: (field: Field) => boolean;\n /** Filter type icon. Default: derived from the neutral field type. */\n iconType?: (field: Field) => ReturnType<typeof toFieldType>;\n /**\n * Queries a reference field's referenced collection for the options its\n * filter offers. Returning `undefined` for a field — or omitting this —\n * leaves that field without a filter, which is what a source that cannot\n * reach the referenced collection wants.\n */\n referenceItems?: (field: Field) => FetchReferenceItems | undefined;\n}\n\n// Field type → the filter element rendered in the toolbar. Its keys also define\n// which field types get an auto filter (see isFilterableFieldType).\nconst FILTER_COMPONENT_BY_TYPE: Partial<\n Record<PatternsFieldType, React.ComponentType<any>>\n> = {\n SHORT_TEXT: OperatorFilterCustomFieldFilter,\n LONG_TEXT: OperatorFilterCustomFieldFilter,\n URL: OperatorFilterCustomFieldFilter,\n EMAIL: OperatorFilterCustomFieldFilter,\n RICH_TEXT: OperatorFilterCustomFieldFilter,\n // The source matches an address against its formatted text.\n ADDRESS: OperatorFilterCustomFieldFilter,\n NUMBER: NumberRangeFilter,\n BOOLEAN: CheckboxCustomFieldFilter,\n DATE: DateCustomFieldFilter,\n DATETIME: DateTimeCustomFieldFilter,\n // Types with no value to match against — filter them on emptiness alone.\n TIME: HasValueCustomFieldFilter,\n IMAGE: HasValueCustomFieldFilter,\n VIDEO: HasValueCustomFieldFilter,\n AUDIO: HasValueCustomFieldFilter,\n MEDIA_GALLERY: HasValueCustomFieldFilter,\n DOCUMENT: HasValueCustomFieldFilter,\n MULTI_DOCUMENT: HasValueCustomFieldFilter,\n RICH_CONTENT: HasValueCustomFieldFilter,\n OBJECT: HasValueCustomFieldFilter,\n COLOR: HasValueCustomFieldFilter,\n ARRAY: HasValueCustomFieldFilter,\n // REFERENCE / MULTI_REFERENCE are absent on purpose: their filter component\n // is injected by the source (see ReferenceFilterComponent), so this file —\n // which every source's filters go through — never pulls it in.\n};\n\n// Field type → the filter state registered on the collection query. Text fields\n// use the source's allowed operators; the rest are fixed.\nconst filterFactoryByType = (\n config: FieldFilterConfig,\n): Partial<Record<PatternsFieldType, FilterFactory>> => {\n const stringFilter: FilterFactory = (params) =>\n stringOperatorFilter({ ...params, allowedOperators: config.textOperators });\n return {\n SHORT_TEXT: stringFilter,\n LONG_TEXT: stringFilter,\n URL: stringFilter,\n EMAIL: stringFilter,\n RICH_TEXT: stringFilter,\n ADDRESS: stringFilter,\n NUMBER: numberRangeFilter,\n BOOLEAN: idNameArrayFilter,\n DATE: dateRangeFilter,\n DATETIME: dateRangeFilter,\n TIME: idNameArrayFilter,\n IMAGE: idNameArrayFilter,\n VIDEO: idNameArrayFilter,\n AUDIO: idNameArrayFilter,\n MEDIA_GALLERY: idNameArrayFilter,\n DOCUMENT: idNameArrayFilter,\n MULTI_DOCUMENT: idNameArrayFilter,\n RICH_CONTENT: idNameArrayFilter,\n OBJECT: idNameArrayFilter,\n COLOR: idNameArrayFilter,\n ARRAY: idNameArrayFilter,\n REFERENCE: idNameArrayFilter,\n MULTI_REFERENCE: idNameArrayFilter,\n };\n};\n\n/** A field gets an auto filter when its type maps to a filter element. */\nexport const isFilterableFieldType = (type: PatternsFieldType): boolean =>\n type in FILTER_COMPONENT_BY_TYPE;\n\n/** The active filter config of a CUSTOM field's type definition, if any. */\nconst resolveCustomFilter = (\n field: Field,\n source: Pick<FieldsSource, 'fieldTypes'>,\n): FilterTypeConfig | undefined => {\n const customTypeConfig = resolveFieldTypeDefinition(source, field);\n return customTypeConfig && isFilterTypeConfig(customTypeConfig.filter)\n ? customTypeConfig.filter\n : undefined;\n};\n\nconst isReferenceField = (\n field: Field,\n): field is ReferenceField | MultiReferenceField =>\n field.type === 'REFERENCE' || field.type === 'MULTI_REFERENCE';\n\n/** A field gets an auto filter when its type maps to a filter element, or —\n * for a CUSTOM field — when its type definition declares a filter config. A\n * reference field also needs the source to reach the referenced collection. */\nexport const isFilterableField = (\n field: Field,\n source: Pick<FieldsSource, 'fieldTypes'>,\n config?: FieldFilterConfig,\n ReferenceFilter?: ReferenceFilterComponent,\n): boolean => {\n if (field.type === 'CUSTOM') {\n return !!resolveCustomFilter(field, source);\n }\n if (isReferenceField(field)) {\n return !!ReferenceFilter && !!config?.referenceItems?.(field);\n }\n return isFilterableFieldType(field.type);\n};\n\n/**\n * Registers a filter state per filterable field on the collection query, so the\n * built elements have a filter to read. Idempotent — addFilterIfNeeded skips a\n * field that is already registered.\n */\nexport const registerFieldFilters = (\n toolbar: ToolbarCollectionState<any, any>,\n source: Pick<FieldsSource, 'filterableFields' | 'fieldTypes'>,\n config: FieldFilterConfig,\n ReferenceFilter?: ReferenceFilterComponent,\n): void => {\n const factoryByType = filterFactoryByType(config);\n source.filterableFields.forEach((field) => {\n if (field.type === 'CUSTOM') {\n const customFilter = resolveCustomFilter(field, source);\n if (!customFilter) {\n return;\n }\n const filter = customFilter.createFilter(field);\n // The collection registers the filter under the field's id.\n Object.assign(filter, { name: field.id });\n toolbar.collection.query.addFilterIfNeeded(field.id as any, filter);\n return;\n }\n if (\n isReferenceField(field) &&\n !(ReferenceFilter && config.referenceItems?.(field))\n ) {\n return;\n }\n const factory = factoryByType[field.type];\n if (!factory) {\n return;\n }\n toolbar.collection.query.addFilterIfNeeded(\n field.id as any,\n factory({ name: field.id, isCustomField: true }),\n );\n });\n};\n\n/** Builds the toolbar filter element for a field, or null when it has none. */\nconst buildFieldFilterElement = (\n toolbar: ToolbarCollectionState<any, any>,\n field: Field,\n config: FieldFilterConfig,\n source: Pick<FieldsSource, 'fieldTypes'>,\n ReferenceFilter?: ReferenceFilterComponent,\n): FilterElement | null => {\n const filter = toolbar.collection.filters[field.id];\n if (!filter) {\n return null;\n }\n const label = field.displayName || field.id;\n if (field.type === 'CUSTOM') {\n const CustomComponent = resolveCustomFilter(field, source)?.Component;\n if (!CustomComponent) {\n return null;\n }\n return (\n <CustomComponent\n key={field.id}\n filter={filter}\n accordionItemProps={{ label }}\n toolbarItemProps={{ label }}\n toolbarTagProps={{ label }}\n />\n ) as FilterElement;\n }\n if (isReferenceField(field)) {\n const fetchItems = config.referenceItems?.(field);\n if (!ReferenceFilter || !fetchItems) {\n return null;\n }\n return (\n <ReferenceFilter\n key={field.id}\n filter={filter}\n fetchItems={fetchItems}\n referencedCollectionId={field.referenceMetadata.referencedCollectionId}\n fieldId={field.id}\n accordionItemProps={{ label }}\n toolbarItemProps={{ label }}\n toolbarTagProps={{ label }}\n />\n ) as FilterElement;\n }\n const FilterComponent = FILTER_COMPONENT_BY_TYPE[field.type];\n if (!FilterComponent) {\n return null;\n }\n const decimal =\n field.type === 'NUMBER' ? config.numberIsDecimal?.(field) : false;\n return (\n <FilterComponent\n key={field.id}\n filter={filter}\n fieldType={config.iconType?.(field) ?? toFieldType(field.type)}\n accordionItemProps={{ label }}\n toolbarItemProps={{ label }}\n toolbarTagProps={{ label }}\n {...(decimal ? { decimal: true } : {})}\n />\n ) as FilterElement;\n};\n\n/** Builds the toolbar filter elements for a source's filterable fields. */\nexport const buildFieldFilters = (\n toolbar: ToolbarCollectionState<any, any>,\n source: Pick<FieldsSource, 'filterableFields' | 'fieldTypes'>,\n config: FieldFilterConfig,\n ReferenceFilter?: ReferenceFilterComponent,\n): FilterElement[] =>\n source.filterableFields\n .map((field) =>\n buildFieldFilterElement(toolbar, field, config, source, ReferenceFilter),\n )\n .filter((el): el is FilterElement => el !== null);\n"],"mappings":"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","ignoreList":[]}
|