@wix/patterns 1.245.0 → 1.247.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/ActionControl/ActionSubItemProps.js.map +1 -1
- package/dist/cjs/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/cjs/components/CardContainer/CardContainer.st.css.js.map +1 -1
- package/dist/cjs/components/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/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/cjs/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionTable/CollectionTable.uni.driver.js +2 -0
- package/dist/cjs/components/CollectionTable/CollectionTable.uni.driver.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js +5 -5
- package/dist/cjs/components/CollectionToolbar/CollectionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +4 -4
- package/dist/cjs/components/CollectionToolbar/SearchOrCustomFilter.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js.map +1 -1
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/cjs/components/CollectionViewsDropdown/ViewsDropdown.st.css.js.map +1 -1
- package/dist/cjs/components/DataExtension/CollectionDataExtensionState.js +5 -0
- package/dist/cjs/components/DataExtension/CollectionDataExtensionState.js.map +1 -1
- package/dist/cjs/components/DataExtension/DataExtension.js +3 -0
- package/dist/cjs/components/DataExtension/DataExtension.js.map +1 -1
- package/dist/cjs/components/DataExtension/manageCustomFieldsPageAction.js +34 -0
- package/dist/cjs/components/DataExtension/manageCustomFieldsPageAction.js.map +1 -0
- 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/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/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/cjs/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
- package/dist/cjs/components/Kanban/useCardActions.js +56 -32
- package/dist/cjs/components/Kanban/useCardActions.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/MoreActions/MoreActionsBase.js +18 -9
- package/dist/cjs/components/MoreActions/MoreActionsBase.js.map +1 -1
- package/dist/cjs/components/MoreActions/MoreActionsElement.js +4 -0
- package/dist/cjs/components/MoreActions/MoreActionsElement.js.map +1 -0
- package/dist/cjs/components/MoreActions/MoreActionsIcon.js +5 -5
- package/dist/cjs/components/MoreActions/MoreActionsIcon.js.map +1 -1
- package/dist/cjs/components/MoreActions/MoreActionsItem.js +4 -0
- package/dist/cjs/components/MoreActions/MoreActionsItem.js.map +1 -0
- package/dist/cjs/components/MoreActions/MoreActionsProps.js +4 -0
- package/dist/cjs/components/MoreActions/MoreActionsProps.js.map +1 -0
- package/dist/cjs/components/MoreActions/MoreActionsText.js +3 -3
- package/dist/cjs/components/MoreActions/MoreActionsText.js.map +1 -1
- package/dist/cjs/components/MoreActions/index.js +6 -4
- package/dist/cjs/components/MoreActions/index.js.map +1 -1
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js +5 -5
- package/dist/cjs/components/NestedTable/NestedTableRow.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js.map +1 -1
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/cjs/components/PickerContent/PickerContent.st.css.js.map +1 -1
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js +4 -4
- package/dist/cjs/components/PickerContent/PickerContentAdditionalStep.st.css.js.map +1 -1
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/cjs/components/PickerTableListItem/PickerTableListItem.st.css.js.map +1 -1
- package/dist/cjs/components/PrimaryActions/PrimaryActions.js +7 -4
- package/dist/cjs/components/PrimaryActions/PrimaryActions.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/SecondaryActions/SecondaryActions.js +6 -3
- package/dist/cjs/components/SecondaryActions/SecondaryActions.js.map +1 -1
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js +3 -3
- package/dist/cjs/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/cjs/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js.map +1 -1
- package/dist/cjs/components/Tags/Tags.js +4 -0
- package/dist/cjs/components/Tags/Tags.js.map +1 -1
- package/dist/cjs/components/Tags/manageTagsPageAction.js +34 -0
- package/dist/cjs/components/Tags/manageTagsPageAction.js.map +1 -0
- package/dist/cjs/components/ToolbarCollection/useToolbarCollectionSyncProps.js +8 -0
- package/dist/cjs/components/ToolbarCollection/useToolbarCollectionSyncProps.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/dashboard/WixPatternsDashboardBaseProvider.js +9 -3
- package/dist/cjs/dashboard/WixPatternsDashboardBaseProvider.js.map +1 -1
- package/dist/cjs/dashboard/WixPatternsDashboardTestProvider.js +7 -2
- package/dist/cjs/dashboard/WixPatternsDashboardTestProvider.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/CollectionPage/pushFactoryIfNotExistsOrAddToTopOfGroup.js +35 -0
- package/dist/cjs/state/CollectionPage/pushFactoryIfNotExistsOrAddToTopOfGroup.js.map +1 -0
- package/dist/cjs/state/CollectionPage/useCollectionPageHeader.js +61 -16
- package/dist/cjs/state/CollectionPage/useCollectionPageHeader.js.map +1 -1
- package/dist/cjs/state/EntityPage/EntityPageState.js +14 -8
- package/dist/cjs/state/EntityPage/EntityPageState.js.map +1 -1
- package/dist/cjs/state/EntityPage/EntityPageStateBIReporter.js +4 -2
- package/dist/cjs/state/EntityPage/EntityPageStateBIReporter.js.map +1 -1
- package/dist/cjs/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/cjs/state/FormPage/FormPageHeader.st.css.js.map +1 -1
- package/dist/cjs/state/KanbanState/KanbanStateBIReporter.js +4 -2
- package/dist/cjs/state/KanbanState/KanbanStateBIReporter.js.map +1 -1
- package/dist/cjs/state/TagsCollectionState.js +10 -1
- package/dist/cjs/state/TagsCollectionState.js.map +1 -1
- package/dist/cjs/state/ToolbarCollectionState.js +10 -0
- package/dist/cjs/state/ToolbarCollectionState.js.map +1 -1
- package/dist/cjs/styles.global.css +1 -1
- package/dist/cjs/test-utils/CairoTestApp.js +28 -24
- package/dist/cjs/test-utils/CairoTestApp.js.map +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/components/CardContainer/CardContainer.st.css.js +2 -2
- package/dist/esm/components/Collapse/Collapse.st.css.js +2 -2
- package/dist/esm/components/Collapse/Collapse.st.css.js.map +1 -1
- package/dist/esm/components/CollectionPageNew/CollectionPage.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTable.st.css.js +2 -2
- package/dist/esm/components/CollectionTable/CollectionTable.st.css.js.map +1 -1
- package/dist/esm/components/CollectionTable/CollectionTable.uni.driver.js +2 -0
- package/dist/esm/components/CollectionTable/CollectionTable.uni.driver.js.map +1 -1
- package/dist/esm/components/CollectionToolbar/CollectionToolbar.st.css.js +2 -2
- package/dist/esm/components/CollectionToolbar/SearchOrCustomFilter.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/DataExtension/CollectionDataExtensionState.js +4 -0
- package/dist/esm/components/DataExtension/CollectionDataExtensionState.js.map +1 -1
- package/dist/esm/components/DataExtension/DataExtension.js +3 -0
- package/dist/esm/components/DataExtension/DataExtension.js.map +1 -1
- package/dist/esm/components/DataExtension/manageCustomFieldsPageAction.js +15 -0
- package/dist/esm/components/DataExtension/manageCustomFieldsPageAction.js.map +1 -0
- package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/components/EntityPage/EntityPagePlain.st.css.js +2 -2
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/Heading/Heading.st.css.js +2 -2
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js.map +1 -1
- package/dist/esm/components/Kanban/useCardActions.js +36 -11
- package/dist/esm/components/Kanban/useCardActions.js.map +1 -1
- package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/esm/components/LoadingRow/LoadingRow.st.css.js.map +1 -1
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/esm/components/MoreActions/MoreActionsBase.js +12 -5
- package/dist/esm/components/MoreActions/MoreActionsBase.js.map +1 -1
- package/dist/esm/components/MoreActions/MoreActionsElement.js +2 -0
- package/dist/esm/components/MoreActions/MoreActionsElement.js.map +1 -0
- package/dist/esm/components/MoreActions/MoreActionsIcon.js.map +1 -1
- package/dist/esm/components/MoreActions/MoreActionsItem.js +2 -0
- package/dist/esm/components/MoreActions/MoreActionsItem.js.map +1 -0
- package/dist/esm/components/MoreActions/MoreActionsProps.js +2 -0
- package/dist/esm/components/MoreActions/MoreActionsProps.js.map +1 -0
- package/dist/esm/components/MoreActions/MoreActionsText.js.map +1 -1
- package/dist/esm/components/MoreActions/index.js.map +1 -1
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTablePlaceholderStatesRow.st.css.js +2 -2
- package/dist/esm/components/NestedTable/NestedTableRow.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/MultipleDragOverlayEffect.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js +2 -2
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.js.map +1 -1
- package/dist/esm/components/PickerContent/PickerContent.st.css.js +2 -2
- package/dist/esm/components/PickerContent/PickerContentAdditionalStep.st.css.js +2 -2
- package/dist/esm/components/PickerTableListItem/PickerTableListItem.st.css.js +2 -2
- package/dist/esm/components/PrimaryActions/PrimaryActions.js +3 -0
- package/dist/esm/components/PrimaryActions/PrimaryActions.js.map +1 -1
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/esm/components/SecondaryActions/SecondaryActions.js +3 -0
- package/dist/esm/components/SecondaryActions/SecondaryActions.js.map +1 -1
- package/dist/esm/components/SkeletonCard/SkeletonCard.st.css.js +2 -2
- package/dist/esm/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
- package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/esm/components/Tags/Tags.js +4 -0
- package/dist/esm/components/Tags/Tags.js.map +1 -1
- package/dist/esm/components/Tags/manageTagsPageAction.js +15 -0
- package/dist/esm/components/Tags/manageTagsPageAction.js.map +1 -0
- package/dist/esm/components/ToolbarCollection/useToolbarCollectionSyncProps.js +8 -0
- package/dist/esm/components/ToolbarCollection/useToolbarCollectionSyncProps.js.map +1 -1
- 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/dashboard/WixPatternsDashboardBaseProvider.js +10 -2
- package/dist/esm/dashboard/WixPatternsDashboardBaseProvider.js.map +1 -1
- package/dist/esm/dashboard/WixPatternsDashboardTestProvider.js +5 -0
- package/dist/esm/dashboard/WixPatternsDashboardTestProvider.js.map +1 -1
- package/dist/esm/state/CollectionPage/CollectionPageHeader.st.css.js +2 -2
- package/dist/esm/state/CollectionPage/pushFactoryIfNotExistsOrAddToTopOfGroup.js +29 -0
- package/dist/esm/state/CollectionPage/pushFactoryIfNotExistsOrAddToTopOfGroup.js.map +1 -0
- package/dist/esm/state/CollectionPage/useCollectionPageHeader.js +21 -7
- package/dist/esm/state/CollectionPage/useCollectionPageHeader.js.map +1 -1
- package/dist/esm/state/EntityPage/EntityPageState.js +6 -6
- package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
- package/dist/esm/state/EntityPage/EntityPageStateBIReporter.js +2 -1
- package/dist/esm/state/EntityPage/EntityPageStateBIReporter.js.map +1 -1
- package/dist/esm/state/FormPage/FormPageHeader.st.css.js +2 -2
- package/dist/esm/state/FormPage/FormPageHeader.st.css.js.map +1 -1
- package/dist/esm/state/KanbanState/KanbanStateBIReporter.js +2 -0
- package/dist/esm/state/KanbanState/KanbanStateBIReporter.js.map +1 -1
- package/dist/esm/state/TagsCollectionState.js +7 -2
- package/dist/esm/state/TagsCollectionState.js.map +1 -1
- package/dist/esm/state/ToolbarCollectionState.js +7 -0
- package/dist/esm/state/ToolbarCollectionState.js.map +1 -1
- package/dist/esm/styles.global.css +1 -1
- package/dist/esm/test-utils/CairoTestApp.js +2 -2
- package/dist/esm/test-utils/CairoTestApp.js.map +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/components/ActionControl/ActionSubItemProps.d.ts +5 -1
- package/dist/types/components/ActionControl/ActionSubItemProps.d.ts.map +1 -1
- package/dist/types/components/Collapse/Collapse.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTable.st.css.d.ts.map +1 -1
- package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts +68 -44
- package/dist/types/components/CollectionTable/CollectionTable.uni.driver.d.ts.map +1 -1
- package/dist/types/components/DataExtension/CollectionDataExtensionState.d.ts +5 -1
- package/dist/types/components/DataExtension/CollectionDataExtensionState.d.ts.map +1 -1
- package/dist/types/components/DataExtension/DataExtension.d.ts +6 -1
- package/dist/types/components/DataExtension/DataExtension.d.ts.map +1 -1
- package/dist/types/components/DataExtension/manageCustomFieldsPageAction.d.ts +7 -0
- package/dist/types/components/DataExtension/manageCustomFieldsPageAction.d.ts.map +1 -0
- package/dist/types/components/InputOverflow/InputOverflow.st.css.d.ts.map +1 -1
- package/dist/types/components/Kanban/useCardActions.d.ts.map +1 -1
- package/dist/types/components/LoadingRow/LoadingRow.st.css.d.ts.map +1 -1
- package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
- package/dist/types/components/MoreActions/MoreActionsBase.d.ts +9 -62
- package/dist/types/components/MoreActions/MoreActionsBase.d.ts.map +1 -1
- package/dist/types/components/MoreActions/MoreActionsElement.d.ts +5 -0
- package/dist/types/components/MoreActions/MoreActionsElement.d.ts.map +1 -0
- package/dist/types/components/MoreActions/MoreActionsIcon.d.ts +5 -4
- package/dist/types/components/MoreActions/MoreActionsIcon.d.ts.map +1 -1
- package/dist/types/components/MoreActions/MoreActionsItem.d.ts +53 -0
- package/dist/types/components/MoreActions/MoreActionsItem.d.ts.map +1 -0
- package/dist/types/components/MoreActions/MoreActionsProps.d.ts +24 -0
- package/dist/types/components/MoreActions/MoreActionsProps.d.ts.map +1 -0
- package/dist/types/components/MoreActions/MoreActionsText.d.ts +4 -2
- package/dist/types/components/MoreActions/MoreActionsText.d.ts.map +1 -1
- package/dist/types/components/MoreActions/index.d.ts +4 -2
- package/dist/types/components/MoreActions/index.d.ts.map +1 -1
- package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts +30 -0
- package/dist/types/components/NestedTable/NestedTable.uni.driver.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropRow.st.css.d.ts.map +1 -1
- package/dist/types/components/PrimaryActions/PrimaryActions.d.ts.map +1 -1
- package/dist/types/components/SecondaryActions/SecondaryActions.d.ts.map +1 -1
- package/dist/types/components/Table/Table.uni.driver.d.ts +37 -13
- package/dist/types/components/Table/Table.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts +30 -0
- package/dist/types/components/TableFolders/TableFolders.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts +32 -0
- package/dist/types/components/TableGridSwitch/TableGridSwitch.uni.driver.d.ts.map +1 -1
- package/dist/types/components/TableGridSwitchFolders/TableGridSwitchFolders.uni.driver.d.ts +30 -0
- package/dist/types/components/TableGridSwitchFolders/TableGridSwitchFolders.uni.driver.d.ts.map +1 -1
- package/dist/types/components/Tags/Tags.d.ts +9 -1
- package/dist/types/components/Tags/Tags.d.ts.map +1 -1
- package/dist/types/components/Tags/manageTagsPageAction.d.ts +7 -0
- package/dist/types/components/Tags/manageTagsPageAction.d.ts.map +1 -0
- package/dist/types/components/ToolbarCollection/useToolbarCollectionSyncProps.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/dashboard/WixPatternsDashboardBaseProvider.d.ts +1 -1
- package/dist/types/dashboard/WixPatternsDashboardBaseProvider.d.ts.map +1 -1
- package/dist/types/dashboard/WixPatternsDashboardTestProvider.d.ts.map +1 -1
- package/dist/types/state/CollectionPage/pushFactoryIfNotExistsOrAddToTopOfGroup.d.ts +8 -0
- package/dist/types/state/CollectionPage/pushFactoryIfNotExistsOrAddToTopOfGroup.d.ts.map +1 -0
- package/dist/types/state/CollectionPage/useCollectionPageHeader.d.ts.map +1 -1
- package/dist/types/state/EntityPage/EntityPageStateBIReporter.d.ts +2 -1
- package/dist/types/state/EntityPage/EntityPageStateBIReporter.d.ts.map +1 -1
- package/dist/types/state/FormPage/FormPageHeader.st.css.d.ts.map +1 -1
- package/dist/types/state/KanbanState/KanbanStateBIReporter.d.ts.map +1 -1
- package/dist/types/state/TagsCollectionState.d.ts +11 -2
- package/dist/types/state/TagsCollectionState.d.ts.map +1 -1
- package/dist/types/state/ToolbarCollectionState.d.ts +4 -2
- package/dist/types/state/ToolbarCollectionState.d.ts.map +1 -1
- package/dist/types/test-utils/CairoTestApp.d.ts +3 -1
- package/dist/types/test-utils/CairoTestApp.d.ts.map +1 -1
- package/dist/types/testkit/enzyme.d.ts +150 -0
- package/dist/types/testkit/enzyme.d.ts.map +1 -1
- package/dist/types/testkit/jsdom.d.ts +150 -0
- package/dist/types/testkit/jsdom.d.ts.map +1 -1
- package/dist/types/testkit/playwright.d.ts +150 -0
- package/dist/types/testkit/playwright.d.ts.map +1 -1
- package/dist/types/testkit/puppeteer.d.ts +150 -0
- package/dist/types/testkit/puppeteer.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_WixPatternsDashboardBaseProvider","_testkit","_client","_client2","_dataExtensionServiceMocks","_tagsServiceMocks","_AsyncJobMocks","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","WixPatternsDashboardTestProvider","props","dashboard","useState","showToast","remove","navigate","environment","language","locale","pageLocation","pageId","pathname","search","hash","essentials","testkit","getTestContext","experiments","bag","httpClient","scenarios","appSettingsMocks","whenRequest","exportServiceMocks","mocks","dataExtensionServiceMocks","asyncJobMocks","tagsServiceMocks","useEffect","state","mounted","afterAll","beforeAll","then","createElement","WixPatternsDashboardBaseProvider","_extends2","__self","__source","fileName","lineNumber","columnNumber"],"sources":["../../../src/dashboard/WixPatternsDashboardTestProvider.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport {\n WixPatternsDashboardBaseProvider,\n WixPatternsProviderProps,\n} from './WixPatternsDashboardBaseProvider';\nimport { testkit } from '@wix/bex-utils/@wix/bex-bundled-mini-essentials/testkit';\nimport { whenRequest } from '@wix/bex-utils/@wix/bex-bundled-mini-essentials/http-client/testkit/client';\nimport {\n exportServiceMocks,\n appSettingsMocks,\n} from '@wix/bex-core/testkit/client';\nimport { dataExtensionServiceMocks } from '../test-utils/dataExtensionServiceMocks';\nimport { tagsServiceMocks } from '../test-utils/tagsServiceMocks';\nimport { asyncJobMocks } from '../test-utils/AsyncJobMocks';\n\nexport function WixPatternsDashboardTestProvider(\n props: WixPatternsProviderProps,\n) {\n const [dashboard] = useState(() => ({\n showToast: () => {\n return {\n remove: () => {},\n };\n },\n navigate: () => {},\n }));\n\n const [environment] = useState(() => ({\n language: 'en',\n locale: 'en',\n pageLocation: {\n pageId: '',\n pathname: '',\n search: '',\n hash: '',\n },\n }));\n\n const [essentials] = useState(() =>\n testkit.getTestContext({\n experiments: {\n bag: {},\n },\n httpClient: {\n scenarios: [\n ...appSettingsMocks(whenRequest),\n ...exportServiceMocks(whenRequest).mocks,\n ...dataExtensionServiceMocks(whenRequest).mocks,\n ...asyncJobMocks(whenRequest).mocks,\n ...tagsServiceMocks(whenRequest).mocks,\n ],\n },\n }),\n );\n\n useEffect(() => {\n const state = {\n mounted: true,\n afterAll: null as (() => void) | null,\n };\n testkit.beforeAll().then(({ afterAll }) => {\n state.afterAll = afterAll;\n if (!state.mounted) {\n afterAll();\n }\n });\n\n return () => {\n state.mounted = false;\n state.afterAll?.();\n };\n }, []);\n\n return (\n <WixPatternsDashboardBaseProvider\n {...props}\n dashboard={dashboard}\n environment={environment}\n essentials={essentials}\n />\n );\n}\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,iCAAA,GAAAD,OAAA;AAIA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAIA,IAAAK,0BAAA,GAAAL,OAAA;AACA,IAAAM,iBAAA,GAAAN,OAAA;AACA,IAAAO,cAAA,GAAAP,OAAA;AAA4D,IAAAQ,YAAA;AAAA,SAAAT,wBAAAU,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAZ,uBAAA,YAAAA,CAAAU,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAErD,SAASkB,gCAAgCA,CAC9CC,KAA+B,EAC/B;EACA,MAAM,CAACC,SAAS,CAAC,GAAG,IAAAC,eAAQ,EAAC,OAAO;IAClCC,SAAS,EAAEA,CAAA,KAAM;MACf,OAAO;QACLC,MAAM,EAAEA,CAAA,KAAM,CAAC;MACjB,CAAC;IACH,CAAC;IACDC,QAAQ,EAAEA,CAAA,KAAM,CAAC;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_WixPatternsDashboardBaseProvider","_testkit","_client","_client2","_dataExtensionServiceMocks","_tagsServiceMocks","_AsyncJobMocks","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","WixPatternsDashboardTestProvider","props","dashboard","useState","showToast","remove","navigate","onBeforeUnload","environment","language","locale","pageLocation","pageId","pathname","search","hash","essentials","testkit","getTestContext","experiments","bag","httpClient","scenarios","appSettingsMocks","whenRequest","exportServiceMocks","mocks","dataExtensionServiceMocks","asyncJobMocks","tagsServiceMocks","useEffect","state","mounted","afterAll","beforeAll","then","createElement","WixPatternsDashboardBaseProvider","_extends2","__self","__source","fileName","lineNumber","columnNumber"],"sources":["../../../src/dashboard/WixPatternsDashboardTestProvider.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react';\nimport {\n WixPatternsDashboardBaseProvider,\n WixPatternsProviderProps,\n} from './WixPatternsDashboardBaseProvider';\nimport { testkit } from '@wix/bex-utils/@wix/bex-bundled-mini-essentials/testkit';\nimport { whenRequest } from '@wix/bex-utils/@wix/bex-bundled-mini-essentials/http-client/testkit/client';\nimport {\n exportServiceMocks,\n appSettingsMocks,\n} from '@wix/bex-core/testkit/client';\nimport { dataExtensionServiceMocks } from '../test-utils/dataExtensionServiceMocks';\nimport { tagsServiceMocks } from '../test-utils/tagsServiceMocks';\nimport { asyncJobMocks } from '../test-utils/AsyncJobMocks';\n\nexport function WixPatternsDashboardTestProvider(\n props: WixPatternsProviderProps,\n) {\n const [dashboard] = useState(() => ({\n showToast: () => {\n return {\n remove: () => {},\n };\n },\n navigate: () => {},\n onBeforeUnload: () => {\n return {\n remove: () => {},\n };\n },\n }));\n\n const [environment] = useState(() => ({\n language: 'en',\n locale: 'en',\n pageLocation: {\n pageId: '',\n pathname: '',\n search: '',\n hash: '',\n },\n }));\n\n const [essentials] = useState(() =>\n testkit.getTestContext({\n experiments: {\n bag: {},\n },\n httpClient: {\n scenarios: [\n ...appSettingsMocks(whenRequest),\n ...exportServiceMocks(whenRequest).mocks,\n ...dataExtensionServiceMocks(whenRequest).mocks,\n ...asyncJobMocks(whenRequest).mocks,\n ...tagsServiceMocks(whenRequest).mocks,\n ],\n },\n }),\n );\n\n useEffect(() => {\n const state = {\n mounted: true,\n afterAll: null as (() => void) | null,\n };\n testkit.beforeAll().then(({ afterAll }) => {\n state.afterAll = afterAll;\n if (!state.mounted) {\n afterAll();\n }\n });\n\n return () => {\n state.mounted = false;\n state.afterAll?.();\n };\n }, []);\n\n return (\n <WixPatternsDashboardBaseProvider\n {...props}\n dashboard={dashboard}\n environment={environment}\n essentials={essentials}\n />\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,14 +5,14 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
|
|
|
5
5
|
var _stylableEsmRuntime = require("../../stylable-esm-runtime.js");
|
|
6
6
|
// @ts-nocheck
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "CollectionPageHeader3204920807";
|
|
9
9
|
var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
|
|
10
10
|
var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
|
|
11
11
|
var style = exports.style = _style_;
|
|
12
12
|
var st = exports.st = _style_;
|
|
13
13
|
var namespace = exports.namespace = _namespace_;
|
|
14
14
|
var classes = exports.classes = {
|
|
15
|
-
"root": "
|
|
15
|
+
"root": "CollectionPageHeader3204920807__root"
|
|
16
16
|
};
|
|
17
17
|
var keyframes = exports.keyframes = {};
|
|
18
18
|
var layers = exports.layers = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/CollectionPage/CollectionPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"
|
|
1
|
+
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/CollectionPage/CollectionPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"CollectionPageHeader3204920807\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"CollectionPageHeader3204920807__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,gCAAgC;AAClD,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAAsC,CAAC;AAC7D,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.pushFactoryIfNotExists = pushFactoryIfNotExists;
|
|
5
|
+
exports.pushFactoryIfNotExistsOrAddToTopOfGroup = pushFactoryIfNotExistsOrAddToTopOfGroup;
|
|
6
|
+
const isGroups = items => items != null && Array.isArray(items[0]);
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Pushes factory in the list of more actions with the condition that it does not already exist.
|
|
10
|
+
* Does not modify the original items array.
|
|
11
|
+
*/
|
|
12
|
+
function pushFactoryIfNotExists(items, factory) {
|
|
13
|
+
if (!items) {
|
|
14
|
+
return [factory];
|
|
15
|
+
}
|
|
16
|
+
const idx = items.findIndex(item => item === factory);
|
|
17
|
+
if (idx !== -1) {
|
|
18
|
+
return items;
|
|
19
|
+
}
|
|
20
|
+
return [factory, ...items];
|
|
21
|
+
}
|
|
22
|
+
function pushFactoryIfNotExistsOrAddToTopOfGroup(items, factory) {
|
|
23
|
+
if (!factory) {
|
|
24
|
+
return items;
|
|
25
|
+
}
|
|
26
|
+
if (!isGroups(items)) {
|
|
27
|
+
return pushFactoryIfNotExists(items, factory);
|
|
28
|
+
}
|
|
29
|
+
const existsInSome = items.some(group => group.some(item => item === factory));
|
|
30
|
+
if (existsInSome) {
|
|
31
|
+
return items;
|
|
32
|
+
}
|
|
33
|
+
return [[factory, ...(items[0] || [])], ...items.slice(1)];
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=pushFactoryIfNotExistsOrAddToTopOfGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["isGroups","items","Array","isArray","pushFactoryIfNotExists","factory","idx","findIndex","item","pushFactoryIfNotExistsOrAddToTopOfGroup","existsInSome","some","group","slice"],"sources":["../../../../src/state/CollectionPage/pushFactoryIfNotExistsOrAddToTopOfGroup.ts"],"sourcesContent":["import {\n MoreActionItemFactory,\n MoreActionsPropItem,\n} from '../../components/MoreActions/MoreActionsBase';\n\nconst isGroups = (\n items: MoreActionsPropItem[] | MoreActionsPropItem[][] | undefined,\n): items is MoreActionsPropItem[][] => items != null && Array.isArray(items[0]);\n\n/**\n * Pushes factory in the list of more actions with the condition that it does not already exist.\n * Does not modify the original items array.\n */\nexport function pushFactoryIfNotExists(\n items: MoreActionsPropItem[] | undefined,\n factory: MoreActionItemFactory,\n): MoreActionsPropItem[] | undefined {\n if (!items) {\n return [factory];\n }\n\n const idx = items.findIndex((item) => item === factory);\n\n if (idx !== -1) {\n return items;\n }\n\n return [factory, ...items];\n}\n\nexport function pushFactoryIfNotExistsOrAddToTopOfGroup(\n items: MoreActionsPropItem[] | MoreActionsPropItem[][] | undefined,\n factory: MoreActionItemFactory | undefined,\n): MoreActionsPropItem[] | MoreActionsPropItem[][] | undefined {\n if (!factory) {\n return items;\n }\n\n if (!isGroups(items)) {\n return pushFactoryIfNotExists(items, factory);\n }\n\n const existsInSome = items.some((group) =>\n group.some((item) => item === factory),\n );\n\n if (existsInSome) {\n return items;\n }\n\n return [[factory, ...(items[0] || [])], ...items.slice(1)];\n}\n"],"mappings":";;;;;AAKA,MAAMA,QAAQ,GACZC,KAAkE,IAC7BA,KAAK,IAAI,IAAI,IAAIC,KAAK,CAACC,OAAO,CAACF,KAAK,CAAC,CAAC,CAAC,CAAC;;AAE/E;AACA;AACA;AACA;AACO,SAASG,sBAAsBA,CACpCH,KAAwC,EACxCI,OAA8B,EACK;EACnC,IAAI,CAACJ,KAAK,EAAE;IACV,OAAO,CAACI,OAAO,CAAC;EAClB;EAEA,MAAMC,GAAG,GAAGL,KAAK,CAACM,SAAS,CAAEC,IAAI,IAAKA,IAAI,KAAKH,OAAO,CAAC;EAEvD,IAAIC,GAAG,KAAK,CAAC,CAAC,EAAE;IACd,OAAOL,KAAK;EACd;EAEA,OAAO,CAACI,OAAO,EAAE,GAAGJ,KAAK,CAAC;AAC5B;AAEO,SAASQ,uCAAuCA,CACrDR,KAAkE,EAClEI,OAA0C,EACmB;EAC7D,IAAI,CAACA,OAAO,EAAE;IACZ,OAAOJ,KAAK;EACd;EAEA,IAAI,CAACD,QAAQ,CAACC,KAAK,CAAC,EAAE;IACpB,OAAOG,sBAAsB,CAACH,KAAK,EAAEI,OAAO,CAAC;EAC/C;EAEA,MAAMK,YAAY,GAAGT,KAAK,CAACU,IAAI,CAAEC,KAAK,IACpCA,KAAK,CAACD,IAAI,CAAEH,IAAI,IAAKA,IAAI,KAAKH,OAAO,CACvC,CAAC;EAED,IAAIK,YAAY,EAAE;IAChB,OAAOT,KAAK;EACd;EAEA,OAAO,CAAC,CAACI,OAAO,EAAE,IAAIJ,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,GAAGA,KAAK,CAACY,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5D","ignoreList":[]}
|
|
@@ -12,23 +12,60 @@ var _PageSubTitle = require("../../components/PageSubTitle");
|
|
|
12
12
|
var _MoreActionsText = require("../../components/MoreActions/MoreActionsText");
|
|
13
13
|
var _useIsMobile = require("../../hooks/useIsMobile");
|
|
14
14
|
var _CollectionPageHeaderStCss = require("./CollectionPageHeader.st.css.js");
|
|
15
|
+
var _pushFactoryIfNotExistsOrAddToTopOfGroup = require("./pushFactoryIfNotExistsOrAddToTopOfGroup");
|
|
16
|
+
var _MoreActions = require("../../components/MoreActions");
|
|
15
17
|
var _jsxFileName = "/home/builduser/work/db7ea24852bc3350/packages/cairo/dist/cjs/state/CollectionPage/useCollectionPageHeader.tsx";
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
+
const MoreActionsBySecondaryAction = (0, _mobxReactLite.observer)(({
|
|
19
|
+
child
|
|
20
|
+
}) => {
|
|
21
|
+
const pageState = (0, _providers.useCollectionPageContext)();
|
|
22
|
+
const {
|
|
23
|
+
primaryToolbar
|
|
24
|
+
} = pageState;
|
|
25
|
+
const featuredActions = primaryToolbar == null ? void 0 : primaryToolbar.getPageFeaturedActions();
|
|
26
|
+
const forceMoreActions = featuredActions != null && featuredActions.length ? /*#__PURE__*/_react.default.createElement(_MoreActions.MoreActions, {
|
|
27
|
+
__self: void 0,
|
|
28
|
+
__source: {
|
|
29
|
+
fileName: _jsxFileName,
|
|
30
|
+
lineNumber: 21,
|
|
31
|
+
columnNumber: 7
|
|
32
|
+
}
|
|
33
|
+
}) : undefined;
|
|
34
|
+
const moreActions = child.props.moreActions ?? forceMoreActions;
|
|
35
|
+
if (!moreActions) {
|
|
18
36
|
return null;
|
|
19
37
|
}
|
|
38
|
+
const {
|
|
39
|
+
type: MoreActionsElementType,
|
|
40
|
+
props: moreActionsProps
|
|
41
|
+
} = moreActions;
|
|
42
|
+
let items = moreActionsProps.items;
|
|
43
|
+
if (featuredActions) {
|
|
44
|
+
for (const factory of featuredActions) {
|
|
45
|
+
items = (0, _pushFactoryIfNotExistsOrAddToTopOfGroup.pushFactoryIfNotExistsOrAddToTopOfGroup)(items, factory);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
20
48
|
if (child.props.secondaryActions) {
|
|
21
|
-
return
|
|
49
|
+
return /*#__PURE__*/_react.default.createElement(MoreActionsElementType, (0, _extends2.default)({}, moreActionsProps, {
|
|
50
|
+
items: items,
|
|
51
|
+
__self: void 0,
|
|
52
|
+
__source: {
|
|
53
|
+
fileName: _jsxFileName,
|
|
54
|
+
lineNumber: 42,
|
|
55
|
+
columnNumber: 14
|
|
56
|
+
}
|
|
57
|
+
}));
|
|
22
58
|
}
|
|
23
|
-
return /*#__PURE__*/_react.default.createElement(_MoreActionsText.MoreActionsText, (0, _extends2.default)({},
|
|
59
|
+
return /*#__PURE__*/_react.default.createElement(_MoreActionsText.MoreActionsText, (0, _extends2.default)({}, moreActionsProps, {
|
|
60
|
+
items: items,
|
|
24
61
|
__self: void 0,
|
|
25
62
|
__source: {
|
|
26
63
|
fileName: _jsxFileName,
|
|
27
|
-
lineNumber:
|
|
28
|
-
columnNumber:
|
|
64
|
+
lineNumber: 45,
|
|
65
|
+
columnNumber: 12
|
|
29
66
|
}
|
|
30
67
|
}));
|
|
31
|
-
};
|
|
68
|
+
});
|
|
32
69
|
function useCollectionPageHeader(child) {
|
|
33
70
|
const isMobile = (0, _useIsMobile.useIsMobile)();
|
|
34
71
|
return /*#__PURE__*/_react.default.createElement(_designSystem.Page.Header, {
|
|
@@ -42,7 +79,7 @@ function useCollectionPageHeader(child) {
|
|
|
42
79
|
__self: this,
|
|
43
80
|
__source: {
|
|
44
81
|
fileName: _jsxFileName,
|
|
45
|
-
lineNumber:
|
|
82
|
+
lineNumber: 56,
|
|
46
83
|
columnNumber: 29
|
|
47
84
|
}
|
|
48
85
|
}),
|
|
@@ -50,7 +87,7 @@ function useCollectionPageHeader(child) {
|
|
|
50
87
|
__self: this,
|
|
51
88
|
__source: {
|
|
52
89
|
fileName: _jsxFileName,
|
|
53
|
-
lineNumber:
|
|
90
|
+
lineNumber: 59,
|
|
54
91
|
columnNumber: 11
|
|
55
92
|
}
|
|
56
93
|
})) : undefined,
|
|
@@ -59,16 +96,24 @@ function useCollectionPageHeader(child) {
|
|
|
59
96
|
__self: this,
|
|
60
97
|
__source: {
|
|
61
98
|
fileName: _jsxFileName,
|
|
62
|
-
lineNumber:
|
|
99
|
+
lineNumber: 63,
|
|
63
100
|
columnNumber: 9
|
|
64
101
|
}
|
|
65
|
-
}, !isMobile &&
|
|
102
|
+
}, !isMobile && /*#__PURE__*/_react.default.createElement(MoreActionsBySecondaryAction, {
|
|
103
|
+
child: child,
|
|
104
|
+
__self: this,
|
|
105
|
+
__source: {
|
|
106
|
+
fileName: _jsxFileName,
|
|
107
|
+
lineNumber: 64,
|
|
108
|
+
columnNumber: 25
|
|
109
|
+
}
|
|
110
|
+
}), !isMobile && child.props.secondaryActions, child.props.primaryAction),
|
|
66
111
|
breadcrumbs: isMobile ? () => {
|
|
67
112
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
68
113
|
__self: this,
|
|
69
114
|
__source: {
|
|
70
115
|
fileName: _jsxFileName,
|
|
71
|
-
lineNumber:
|
|
116
|
+
lineNumber: 72,
|
|
72
117
|
columnNumber: 22
|
|
73
118
|
}
|
|
74
119
|
});
|
|
@@ -76,7 +121,7 @@ function useCollectionPageHeader(child) {
|
|
|
76
121
|
__self: this,
|
|
77
122
|
__source: {
|
|
78
123
|
fileName: _jsxFileName,
|
|
79
|
-
lineNumber:
|
|
124
|
+
lineNumber: 52,
|
|
80
125
|
columnNumber: 5
|
|
81
126
|
}
|
|
82
127
|
});
|
|
@@ -92,7 +137,7 @@ const CollectionPageHeaderTitle = (0, _mobxReactLite.observer)(({
|
|
|
92
137
|
__self: void 0,
|
|
93
138
|
__source: {
|
|
94
139
|
fileName: _jsxFileName,
|
|
95
|
-
lineNumber:
|
|
140
|
+
lineNumber: 86,
|
|
96
141
|
columnNumber: 9
|
|
97
142
|
}
|
|
98
143
|
}, state.pageTitle), state.total !== false && !state.hideHeaderTotal && /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
|
|
@@ -102,7 +147,7 @@ const CollectionPageHeaderTitle = (0, _mobxReactLite.observer)(({
|
|
|
102
147
|
__self: void 0,
|
|
103
148
|
__source: {
|
|
104
149
|
fileName: _jsxFileName,
|
|
105
|
-
lineNumber:
|
|
150
|
+
lineNumber: 90,
|
|
106
151
|
columnNumber: 11
|
|
107
152
|
}
|
|
108
153
|
}, state.total));
|
|
@@ -114,7 +159,7 @@ const CollectionPageHeaderTitle = (0, _mobxReactLite.observer)(({
|
|
|
114
159
|
__self: void 0,
|
|
115
160
|
__source: {
|
|
116
161
|
fileName: _jsxFileName,
|
|
117
|
-
lineNumber:
|
|
162
|
+
lineNumber: 102,
|
|
118
163
|
columnNumber: 7
|
|
119
164
|
}
|
|
120
165
|
}, titleContent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_designSystem","_providers","_mobxReactLite","_PageSubTitle","_MoreActionsText","_useIsMobile","_CollectionPageHeaderStCss","_jsxFileName","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_designSystem","_providers","_mobxReactLite","_PageSubTitle","_MoreActionsText","_useIsMobile","_CollectionPageHeaderStCss","_pushFactoryIfNotExistsOrAddToTopOfGroup","_MoreActions","_jsxFileName","MoreActionsBySecondaryAction","observer","child","pageState","useCollectionPageContext","primaryToolbar","featuredActions","getPageFeaturedActions","forceMoreActions","length","default","createElement","MoreActions","__self","__source","fileName","lineNumber","columnNumber","undefined","moreActions","props","type","MoreActionsElementType","moreActionsProps","items","factory","pushFactoryIfNotExistsOrAddToTopOfGroup","secondaryActions","_extends2","MoreActionsText","useCollectionPageHeader","isMobile","useIsMobile","Page","Header","key","className","st","classes","root","mobile","dataHook","title","minimized","CollectionPageHeaderTitle","subtitle","PageSubTitle","actionsBar","Box","gap","primaryAction","breadcrumbs","state","titleContent","Fragment","inline","paddingRight","pageTitle","total","hideHeaderTotal","color","Heading","size"],"sources":["../../../../src/state/CollectionPage/useCollectionPageHeader.tsx"],"sourcesContent":["import React from 'react';\nimport { Box, Heading, Page } from '@wix/design-system';\nimport { CollectionPageHeaderElement } from '../../components/CollectionPageHeaderNew';\nimport { useCollectionPageContext } from '../../providers';\nimport { observer } from 'mobx-react-lite';\nimport { PageSubTitle } from '../../components/PageSubTitle';\nimport { MoreActionsText } from '../../components/MoreActions/MoreActionsText';\nimport { useIsMobile } from '../../hooks/useIsMobile';\nimport { classes, st } from './CollectionPageHeader.st.css.js';\nimport { pushFactoryIfNotExistsOrAddToTopOfGroup } from './pushFactoryIfNotExistsOrAddToTopOfGroup';\nimport { MoreActions } from '../../components/MoreActions';\n\nconst MoreActionsBySecondaryAction = observer(\n ({ child }: { child: CollectionPageHeaderElement }) => {\n const pageState = useCollectionPageContext();\n const { primaryToolbar } = pageState;\n\n const featuredActions = primaryToolbar?.getPageFeaturedActions();\n\n const forceMoreActions = featuredActions?.length ? (\n <MoreActions />\n ) : undefined;\n\n const moreActions = child.props.moreActions ?? forceMoreActions;\n\n if (!moreActions) {\n return null;\n }\n\n const { type: MoreActionsElementType, props: moreActionsProps } =\n moreActions;\n\n let items = moreActionsProps.items;\n\n if (featuredActions) {\n for (const factory of featuredActions) {\n items = pushFactoryIfNotExistsOrAddToTopOfGroup(items, factory);\n }\n }\n\n if (child.props.secondaryActions) {\n return <MoreActionsElementType {...moreActionsProps} items={items} />;\n }\n\n return <MoreActionsText {...moreActionsProps} items={items} />;\n },\n);\n\nexport function useCollectionPageHeader(child: CollectionPageHeaderElement) {\n const isMobile = useIsMobile();\n return (\n <Page.Header\n key={child.key}\n className={st(classes.root, { mobile: isMobile })}\n dataHook=\"collection-page-header\"\n title={(minimized) => <CollectionPageHeaderTitle minimized={minimized} />}\n subtitle={\n child.props.subtitle ? (\n <PageSubTitle {...child.props.subtitle} />\n ) : undefined\n }\n actionsBar={\n <Box gap=\"SP2\">\n {!isMobile && <MoreActionsBySecondaryAction child={child} />}\n {!isMobile && child.props.secondaryActions}\n {child.props.primaryAction}\n </Box>\n }\n breadcrumbs={\n isMobile\n ? () => {\n return <div></div>;\n }\n : child.props.breadcrumbs\n }\n />\n );\n}\n\nconst CollectionPageHeaderTitle = observer(\n ({ minimized }: { minimized: boolean }) => {\n const state = useCollectionPageContext();\n const isMobile = useIsMobile();\n const titleContent = (\n <>\n <Box inline paddingRight=\"9px\">\n {state.pageTitle}\n </Box>\n {state.total !== false && !state.hideHeaderTotal && (\n <Box inline color=\"D40\" dataHook=\"page-header-total-count\">\n {state.total}\n </Box>\n )}\n </>\n );\n\n if (minimized) {\n return titleContent;\n }\n\n return (\n <Heading size={isMobile ? 'large' : 'extraLarge'}>{titleContent}</Heading>\n );\n },\n);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -124,8 +124,10 @@ class EntityPageState {
|
|
|
124
124
|
return !!this._routerState;
|
|
125
125
|
}
|
|
126
126
|
onCancel() {
|
|
127
|
+
var _this$actionsBarConfi;
|
|
127
128
|
this.bi.reportButtonClick({
|
|
128
|
-
ctaName: 'Cancel'
|
|
129
|
+
ctaName: 'Cancel',
|
|
130
|
+
extraFields: (_this$actionsBarConfi = this.actionsBarConfig) == null || (_this$actionsBarConfi = _this$actionsBarConfi.cancelCta) == null ? void 0 : _this$actionsBarConfi.biExtraFields
|
|
129
131
|
});
|
|
130
132
|
this.navigateToParent();
|
|
131
133
|
}
|
|
@@ -187,12 +189,14 @@ class EntityPageState {
|
|
|
187
189
|
this.events.emit('save');
|
|
188
190
|
const {
|
|
189
191
|
isValid,
|
|
190
|
-
data:
|
|
192
|
+
data: widgetsFormData
|
|
191
193
|
} = await this.formPage.validate();
|
|
192
194
|
if (!isValid) {
|
|
195
|
+
var _this$actionsBarConfi2;
|
|
193
196
|
this.bi.reportButtonClick({
|
|
194
197
|
ctaName: 'Save',
|
|
195
|
-
isValid: false
|
|
198
|
+
isValid: false,
|
|
199
|
+
extraFields: (_this$actionsBarConfi2 = this.actionsBarConfig) == null || (_this$actionsBarConfi2 = _this$actionsBarConfi2.saveCta) == null ? void 0 : _this$actionsBarConfi2.biExtraFields
|
|
196
200
|
});
|
|
197
201
|
return;
|
|
198
202
|
}
|
|
@@ -207,16 +211,16 @@ class EntityPageState {
|
|
|
207
211
|
let savedEntity;
|
|
208
212
|
let submitSuccessful = false;
|
|
209
213
|
await form.handleSubmit(async () => {
|
|
214
|
+
var _this$actionsBarConfi3;
|
|
210
215
|
bi.reportButtonClick({
|
|
211
216
|
ctaName: 'Save',
|
|
212
|
-
isValid: true
|
|
217
|
+
isValid: true,
|
|
218
|
+
extraFields: (_this$actionsBarConfi3 = this.actionsBarConfig) == null || (_this$actionsBarConfi3 = _this$actionsBarConfi3.saveCta) == null ? void 0 : _this$actionsBarConfi3.biExtraFields
|
|
213
219
|
});
|
|
214
220
|
try {
|
|
215
221
|
if (!this.isFetching) {
|
|
216
222
|
const onSaveResult = await this.onSave({
|
|
217
|
-
widgetsFormData
|
|
218
|
-
...extraFields
|
|
219
|
-
}
|
|
223
|
+
widgetsFormData
|
|
220
224
|
});
|
|
221
225
|
savedEntity = onSaveResult == null ? void 0 : onSaveResult.updatedEntity;
|
|
222
226
|
}
|
|
@@ -229,9 +233,11 @@ class EntityPageState {
|
|
|
229
233
|
form.setError('root.serverError', {}); // https://react-hook-form.com/docs/useform/seterror
|
|
230
234
|
}
|
|
231
235
|
}, () => {
|
|
236
|
+
var _this$actionsBarConfi4;
|
|
232
237
|
bi.reportButtonClick({
|
|
233
238
|
ctaName: 'Save',
|
|
234
|
-
isValid: false
|
|
239
|
+
isValid: false,
|
|
240
|
+
extraFields: (_this$actionsBarConfi4 = this.actionsBarConfig) == null || (_this$actionsBarConfi4 = _this$actionsBarConfi4.saveCta) == null ? void 0 : _this$actionsBarConfi4.biExtraFields
|
|
235
241
|
});
|
|
236
242
|
} // can be used to report validation errors
|
|
237
243
|
)(e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_mobx","_EntityPageStateBIReporter","_events","EntityPageState","constructor","params","_defineProperty2","default","EventEmitter","fetch","onSave","saveSuccessToast","saveErrorToast","formPage","FormPageState","form","_parentPageId","parentPageId","transformEntityToCollectionItem","anEntity","_parentPath","parentPath","container","_routerState","routerState","_this$_routerState$cu","_entity","currentState","_chosenEntity","entity","reportBI","createBILogger","componentType","pageType","route","window","location","pathname","bi","EntityPageStateBIReporter","entityPageState","init","makeObservable","handleSubmit","action","observable","ref","setEntity","isFormDirty","computed","_withinRouter","_checkPageParams","initTask","onBeforeUnload","onBeforeUnloadSubscription","event","isMobile","matchMedia","MOBILE_BREAKPOINT","matches","formState","isSubmitSuccessful","preventDefault","reportOnBeforeUnload","runOnce","_this$bi$appLoaded","_this$bi","data","Promise","all","status","promise","appLoaded","call","remove","retryFetch","newEntity","isFetching","flag","isDirty","_isFormDirty","val","onCancel","reportButtonClick","ctaName","navigateToParent","updatedEntity","entityStringKey","entityObject","navigate","state","navigateTo","pageId","_showErrorToast","err","e","_this$saveErrorToast","_this$container$showT","_this$container","errorToast","retry","message","showTryAgain","tryAgain","undefined","showToast","type","biName","translate","code","uiType","text","onClick","reportSaveTryAgain","removeToastOnClick","_showSuccessToast","_this$saveSuccessToas","_this$container$showT2","_this$container2","submitTask","isLoading","events","emit","isValid","extraFields","validate","run","savedEntity","submitSuccessful","onSaveResult","widgetsFormData","errorMonitor","captureException","setError","transformedItem","Error","exports"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n WixPatternsContainer,\n ActionsBarConfig,\n MOBILE_BREAKPOINT,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { FieldValues, UseFormReturn } from 'react-hook-form';\nimport { EntityPageStateBIReporter } from './EntityPageStateBIReporter';\nimport { EventEmitter, TypedEmitter } from '@wix/bex-core/events';\nimport { WixPatternsRouterState } from '../WixPatternsRouterState';\n\ntype OnSaveParams = {\n widgetsFormData: { [key: string]: any };\n};\n\nexport interface EntityPageStateParams<T, V extends FieldValues = FieldValues> {\n /**\n * A function that fetches the entity data.\n * @returns a promise that resolves to an object containing the entity.\n */\n fetch: () => Promise<{ entity: T | undefined }>;\n\n /**\n * A function to handle the save action.\n * @returns promise that resolves to an object that contains a 'updatedEntity' object.\n */\n onSave: (params: OnSaveParams) => Promise<{ updatedEntity: T }>;\n\n /**\n * An optional object with an optional message, or it can directly get a string message.\n */\n saveSuccessToast?: { message?: string } | string;\n\n /**\n * An optional function to display an error toast message when a save operation fails.\n * @returns An object with a `message` and an `action` object. Alternatively, it can return an object with an optional `message` and a `tryAgain` flag, or a string message.\n * The previous return types are still supported but are now deprecated.\n */\n saveErrorToast?: (\n err: unknown,\n params: { retry: () => void },\n ) =>\n | {\n message?: string;\n /**\n * @deprecated use `action` instead\n */\n tryAgain?: boolean;\n action?: { text: string; onClick: () => void };\n }\n | string;\n\n /**\n * An optional function to transform the updated entity data before it is passed to the collection page.\n * @param entity the updated entity.\n * @returns an object representing the entity in the collection page.\n */\n transformEntityToCollectionItem?: (entity: T) => any;\n\n form: UseFormReturn<V>;\n /**\n * An object representing the container, possibly for dependency injection or component management.\n */\n container: WixPatternsContainer;\n\n /**\n * A string representing the ID of the parent page.\n * Must be passed if not using Patterns Router\n */\n parentPageId?: string;\n\n /**\n * A string representing the path of the parent page.\n * Must be passed if using Patterns Router\n */\n parentPath?: string;\n\n /**\n * An object representing the router state\n */\n routerState?: WixPatternsRouterState | null;\n\n /**\n * An optional object to override the actions bar.\n */\n actionsBarConfig?: ActionsBarConfig;\n\n /**\n * Entity fqdn.\n */\n fqdn?: string;\n}\n\nexport interface EntityPageStateInterface {}\n\nexport interface EntityPageWidgetState {\n validate: () => Promise<{ isValid: boolean; values?: any }>;\n isDirty: boolean;\n}\n\nexport class EntityPageState<T, V extends FieldValues = FieldValues>\n implements EntityPageStateInterface\n{\n readonly fetch: EntityPageStateParams<T>['fetch'];\n readonly onSave: EntityPageStateParams<T, V>['onSave'];\n readonly saveSuccessToast?: EntityPageStateParams<T>['saveSuccessToast'];\n readonly saveErrorToast?: EntityPageStateParams<T>['saveErrorToast'];\n readonly transformEntityToCollectionItem: (entity: T) => any;\n\n _entity: T | null = null;\n private readonly _parentPageId?: string;\n private readonly _parentPath?: string;\n\n actionsBarConfig?: EntityPageStateParams<T>['actionsBarConfig'];\n\n readonly container: WixPatternsContainer;\n readonly reportBI: ReportBI;\n readonly bi: EntityPageStateBIReporter<T, V>;\n\n _routerState: WixPatternsRouterState | null = null;\n\n readonly formPage: FormPageState<V>;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n save: () => void;\n saveError: (err: unknown) => void;\n }>;\n\n constructor(params: EntityPageStateParams<T, V>) {\n this.fetch = params.fetch;\n this.onSave = params.onSave;\n this.saveSuccessToast = params.saveSuccessToast;\n this.saveErrorToast = params.saveErrorToast;\n this.formPage = new FormPageState<V>({ form: params.form });\n this._parentPageId = params.parentPageId;\n this.transformEntityToCollectionItem =\n params.transformEntityToCollectionItem || ((anEntity: T) => anEntity);\n this._parentPath = params.parentPath;\n\n this.container = params.container;\n\n this._routerState = params.routerState ?? null;\n\n if (this._routerState) {\n this._entity = this._routerState.currentState?._chosenEntity?.entity;\n }\n\n this.reportBI = this.container.createBILogger({\n componentType: 'Entity page',\n pageType: 'Entity',\n route: window.location.pathname,\n });\n\n this.bi = new EntityPageStateBIReporter({\n reportBI: this.reportBI,\n entityPageState: this,\n });\n this.bi.init();\n\n makeObservable(this, {\n handleSubmit: action,\n _entity: observable.ref,\n setEntity: action,\n isFormDirty: computed,\n _withinRouter: computed,\n });\n }\n\n init() {\n this._checkPageParams();\n const {\n formPage: { initTask },\n container,\n } = this;\n const { onBeforeUnload } = container;\n\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event: Event) => {\n const isMobile =\n this.container.window.matchMedia &&\n this.container.window.matchMedia(\n `(max-width: ${MOBILE_BREAKPOINT}px)`,\n ).matches;\n if (isMobile) {\n return;\n }\n\n const { form } = this;\n if (form.formState.isSubmitSuccessful || !this.isFormDirty) {\n return;\n }\n event.preventDefault();\n this.bi.reportOnBeforeUnload();\n }),\n );\n\n initTask.runOnce(async () => {\n const [data] = await Promise.all([\n this.fetch(),\n container.initTask.status.promise,\n ]);\n\n this.setEntity(data.entity ?? null);\n this.bi.appLoaded?.();\n });\n\n return () => {\n onBeforeUnloadSubscription?.remove();\n };\n }\n\n retryFetch() {\n this.formPage.retryFetch();\n }\n\n setEntity(newEntity: T | null) {\n this._entity = newEntity;\n }\n\n get entity(): T | null {\n return this._entity;\n }\n\n get isFetching() {\n return this.formPage.isFetching;\n }\n\n get form() {\n return this.formPage.form;\n }\n\n set isSubmitSuccessful(flag: boolean) {\n this.formPage.isSubmitSuccessful = flag;\n }\n\n get isFormDirty() {\n return this.formPage.isDirty;\n }\n\n // backwards compatibility\n set _isFormDirty(val: boolean) {\n this.formPage._isFormDirty = val;\n }\n\n get _withinRouter() {\n return !!this._routerState;\n }\n\n onCancel() {\n this.bi.reportButtonClick({ ctaName: 'Cancel' });\n this.navigateToParent();\n }\n\n navigateToParent(updatedEntity?: any) {\n const entityStringKey = this._entity ? '_updatedEntity' : '_createdEntity';\n const entityObject = { [entityStringKey]: updatedEntity };\n\n if (this._withinRouter) {\n this._routerState!.navigate(this._parentPath!, { state: entityObject });\n } else {\n this.container.navigateTo!({\n pageId: this._parentPageId!,\n });\n }\n }\n\n _showErrorToast(err: any, e?: React.BaseSyntheticEvent) {\n const errorToast = this.saveErrorToast?.(err, {\n retry: () => this.handleSubmit(e),\n });\n const message =\n typeof errorToast === 'string' ? errorToast : errorToast?.message;\n const showTryAgain =\n typeof errorToast === 'string' ? true : errorToast?.tryAgain !== false;\n const action =\n typeof errorToast === 'string' ? undefined : errorToast?.action;\n\n this.container.showToast?.({\n type: 'ERROR',\n biName: 'cairo-entity-page-save-error-toast',\n message:\n message ??\n this.container.translate(\n err?.code === 'ERR_NETWORK'\n ? 'cairo.entityPage.saveError-offline.toast.description'\n : 'cairo.entityPage.saveError-technical.toast.description',\n ),\n action:\n action || showTryAgain\n ? {\n uiType: 'LINK',\n text:\n action?.text ?? this.container.translate('cairo.toast.retry'),\n onClick: () => {\n if (action?.onClick) {\n action.onClick();\n } else {\n this.bi.reportSaveTryAgain();\n this.handleSubmit(e);\n }\n },\n removeToastOnClick: true,\n }\n : undefined,\n });\n }\n\n _showSuccessToast() {\n const message =\n typeof this.saveSuccessToast === 'string'\n ? this.saveSuccessToast\n : this.saveSuccessToast?.message;\n\n this.container.showToast?.({\n type: 'SUCCESS',\n biName: 'cairo-entity-page-save-success-toast',\n message:\n message ?? this.container.translate('cairo.entityPage.success.toast'),\n });\n }\n\n async handleSubmit(e?: React.BaseSyntheticEvent) {\n if (this.formPage.submitTask.status.isLoading) {\n return;\n }\n\n this.events.emit('save');\n\n const { isValid, data: extraFields } = await this.formPage.validate();\n\n if (!isValid) {\n this.bi.reportButtonClick({ ctaName: 'Save', isValid: false });\n return;\n }\n\n const {\n form,\n formPage: { submitTask },\n bi,\n } = this;\n\n submitTask.run(async () => {\n let savedEntity: T | undefined;\n let submitSuccessful = false;\n\n await form.handleSubmit(\n async () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: true });\n try {\n if (!this.isFetching) {\n const onSaveResult = await this.onSave({\n widgetsFormData: { ...extraFields },\n });\n savedEntity = onSaveResult?.updatedEntity;\n }\n this._showSuccessToast();\n submitSuccessful = true; // Mark as successful locally\n } catch (err) {\n this._showErrorToast(err, e);\n this.container.errorMonitor.captureException(err);\n this.events.emit('saveError', err);\n form.setError('root.serverError', {}); // https://react-hook-form.com/docs/useform/seterror\n }\n },\n () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: false });\n }, // can be used to report validation errors\n )(e);\n\n if (!submitSuccessful) {\n return;\n }\n const transformedItem =\n savedEntity && this.transformEntityToCollectionItem\n ? this.transformEntityToCollectionItem(savedEntity)\n : savedEntity;\n this.navigateToParent(transformedItem);\n });\n await this.formPage.submitTask.status.promise;\n }\n\n get initTask() {\n return this.formPage.initTask;\n }\n\n get submitTask() {\n return this.formPage.submitTask;\n }\n\n private _checkPageParams() {\n if (this._withinRouter) {\n if (this._parentPath === undefined) {\n throw new Error('parentPath was not defined in useEntityPage');\n }\n } else {\n if (this._parentPageId === undefined) {\n throw new Error('parentPageId was not defined in useEntityPage');\n }\n\n if (!this.container.navigateTo) {\n throw new Error('navigateTo was not defined in Patterns Provider');\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_mobx","_EntityPageStateBIReporter","_events","EntityPageState","constructor","params","_defineProperty2","default","EventEmitter","fetch","onSave","saveSuccessToast","saveErrorToast","formPage","FormPageState","form","_parentPageId","parentPageId","transformEntityToCollectionItem","anEntity","_parentPath","parentPath","container","_routerState","routerState","_this$_routerState$cu","_entity","currentState","_chosenEntity","entity","reportBI","createBILogger","componentType","pageType","route","window","location","pathname","bi","EntityPageStateBIReporter","entityPageState","init","makeObservable","handleSubmit","action","observable","ref","setEntity","isFormDirty","computed","_withinRouter","_checkPageParams","initTask","onBeforeUnload","onBeforeUnloadSubscription","event","isMobile","matchMedia","MOBILE_BREAKPOINT","matches","formState","isSubmitSuccessful","preventDefault","reportOnBeforeUnload","runOnce","_this$bi$appLoaded","_this$bi","data","Promise","all","status","promise","appLoaded","call","remove","retryFetch","newEntity","isFetching","flag","isDirty","_isFormDirty","val","onCancel","_this$actionsBarConfi","reportButtonClick","ctaName","extraFields","actionsBarConfig","cancelCta","biExtraFields","navigateToParent","updatedEntity","entityStringKey","entityObject","navigate","state","navigateTo","pageId","_showErrorToast","err","e","_this$saveErrorToast","_this$container$showT","_this$container","errorToast","retry","message","showTryAgain","tryAgain","undefined","showToast","type","biName","translate","code","uiType","text","onClick","reportSaveTryAgain","removeToastOnClick","_showSuccessToast","_this$saveSuccessToas","_this$container$showT2","_this$container2","submitTask","isLoading","events","emit","isValid","widgetsFormData","validate","_this$actionsBarConfi2","saveCta","run","savedEntity","submitSuccessful","_this$actionsBarConfi3","onSaveResult","errorMonitor","captureException","setError","_this$actionsBarConfi4","transformedItem","Error","exports"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n WixPatternsContainer,\n ActionsBarConfig,\n MOBILE_BREAKPOINT,\n} from '@wix/bex-core';\nimport { action, computed, makeObservable, observable } from 'mobx';\nimport { FieldValues, UseFormReturn } from 'react-hook-form';\nimport { EntityPageStateBIReporter } from './EntityPageStateBIReporter';\nimport { EventEmitter, TypedEmitter } from '@wix/bex-core/events';\nimport { WixPatternsRouterState } from '../WixPatternsRouterState';\n\ntype OnSaveParams = {\n widgetsFormData: { [key: string]: any };\n};\n\nexport interface EntityPageStateParams<T, V extends FieldValues = FieldValues> {\n /**\n * A function that fetches the entity data.\n * @returns a promise that resolves to an object containing the entity.\n */\n fetch: () => Promise<{ entity: T | undefined }>;\n\n /**\n * A function to handle the save action.\n * @returns promise that resolves to an object that contains a 'updatedEntity' object.\n */\n onSave: (params: OnSaveParams) => Promise<{ updatedEntity: T }>;\n\n /**\n * An optional object with an optional message, or it can directly get a string message.\n */\n saveSuccessToast?: { message?: string } | string;\n\n /**\n * An optional function to display an error toast message when a save operation fails.\n * @returns An object with a `message` and an `action` object. Alternatively, it can return an object with an optional `message` and a `tryAgain` flag, or a string message.\n * The previous return types are still supported but are now deprecated.\n */\n saveErrorToast?: (\n err: unknown,\n params: { retry: () => void },\n ) =>\n | {\n message?: string;\n /**\n * @deprecated use `action` instead\n */\n tryAgain?: boolean;\n action?: { text: string; onClick: () => void };\n }\n | string;\n\n /**\n * An optional function to transform the updated entity data before it is passed to the collection page.\n * @param entity the updated entity.\n * @returns an object representing the entity in the collection page.\n */\n transformEntityToCollectionItem?: (entity: T) => any;\n\n form: UseFormReturn<V>;\n /**\n * An object representing the container, possibly for dependency injection or component management.\n */\n container: WixPatternsContainer;\n\n /**\n * A string representing the ID of the parent page.\n * Must be passed if not using Patterns Router\n */\n parentPageId?: string;\n\n /**\n * A string representing the path of the parent page.\n * Must be passed if using Patterns Router\n */\n parentPath?: string;\n\n /**\n * An object representing the router state\n */\n routerState?: WixPatternsRouterState | null;\n\n /**\n * An optional object to override the actions bar.\n */\n actionsBarConfig?: ActionsBarConfig;\n\n /**\n * Entity fqdn.\n */\n fqdn?: string;\n}\n\nexport interface EntityPageStateInterface {}\n\nexport interface EntityPageWidgetState {\n validate: () => Promise<{ isValid: boolean; values?: any }>;\n isDirty: boolean;\n}\n\nexport class EntityPageState<T, V extends FieldValues = FieldValues>\n implements EntityPageStateInterface\n{\n readonly fetch: EntityPageStateParams<T>['fetch'];\n readonly onSave: EntityPageStateParams<T, V>['onSave'];\n readonly saveSuccessToast?: EntityPageStateParams<T>['saveSuccessToast'];\n readonly saveErrorToast?: EntityPageStateParams<T>['saveErrorToast'];\n readonly transformEntityToCollectionItem: (entity: T) => any;\n\n _entity: T | null = null;\n private readonly _parentPageId?: string;\n private readonly _parentPath?: string;\n\n actionsBarConfig?: EntityPageStateParams<T>['actionsBarConfig'];\n\n readonly container: WixPatternsContainer;\n readonly reportBI: ReportBI;\n readonly bi: EntityPageStateBIReporter<T, V>;\n\n _routerState: WixPatternsRouterState | null = null;\n\n readonly formPage: FormPageState<V>;\n\n readonly events = new EventEmitter() as TypedEmitter<{\n save: () => void;\n saveError: (err: unknown) => void;\n }>;\n\n constructor(params: EntityPageStateParams<T, V>) {\n this.fetch = params.fetch;\n this.onSave = params.onSave;\n this.saveSuccessToast = params.saveSuccessToast;\n this.saveErrorToast = params.saveErrorToast;\n this.formPage = new FormPageState<V>({ form: params.form });\n this._parentPageId = params.parentPageId;\n this.transformEntityToCollectionItem =\n params.transformEntityToCollectionItem || ((anEntity: T) => anEntity);\n this._parentPath = params.parentPath;\n\n this.container = params.container;\n\n this._routerState = params.routerState ?? null;\n\n if (this._routerState) {\n this._entity = this._routerState.currentState?._chosenEntity?.entity;\n }\n\n this.reportBI = this.container.createBILogger({\n componentType: 'Entity page',\n pageType: 'Entity',\n route: window.location.pathname,\n });\n\n this.bi = new EntityPageStateBIReporter({\n reportBI: this.reportBI,\n entityPageState: this,\n });\n this.bi.init();\n\n makeObservable(this, {\n handleSubmit: action,\n _entity: observable.ref,\n setEntity: action,\n isFormDirty: computed,\n _withinRouter: computed,\n });\n }\n\n init() {\n this._checkPageParams();\n const {\n formPage: { initTask },\n container,\n } = this;\n const { onBeforeUnload } = container;\n\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event: Event) => {\n const isMobile =\n this.container.window.matchMedia &&\n this.container.window.matchMedia(\n `(max-width: ${MOBILE_BREAKPOINT}px)`,\n ).matches;\n if (isMobile) {\n return;\n }\n\n const { form } = this;\n if (form.formState.isSubmitSuccessful || !this.isFormDirty) {\n return;\n }\n event.preventDefault();\n this.bi.reportOnBeforeUnload();\n }),\n );\n\n initTask.runOnce(async () => {\n const [data] = await Promise.all([\n this.fetch(),\n container.initTask.status.promise,\n ]);\n\n this.setEntity(data.entity ?? null);\n this.bi.appLoaded?.();\n });\n\n return () => {\n onBeforeUnloadSubscription?.remove();\n };\n }\n\n retryFetch() {\n this.formPage.retryFetch();\n }\n\n setEntity(newEntity: T | null) {\n this._entity = newEntity;\n }\n\n get entity(): T | null {\n return this._entity;\n }\n\n get isFetching() {\n return this.formPage.isFetching;\n }\n\n get form() {\n return this.formPage.form;\n }\n\n set isSubmitSuccessful(flag: boolean) {\n this.formPage.isSubmitSuccessful = flag;\n }\n\n get isFormDirty() {\n return this.formPage.isDirty;\n }\n\n // backwards compatibility\n set _isFormDirty(val: boolean) {\n this.formPage._isFormDirty = val;\n }\n\n get _withinRouter() {\n return !!this._routerState;\n }\n\n onCancel() {\n this.bi.reportButtonClick({ ctaName: 'Cancel', extraFields: this.actionsBarConfig?.cancelCta?.biExtraFields });\n this.navigateToParent();\n }\n\n navigateToParent(updatedEntity?: any) {\n const entityStringKey = this._entity ? '_updatedEntity' : '_createdEntity';\n const entityObject = { [entityStringKey]: updatedEntity };\n\n if (this._withinRouter) {\n this._routerState!.navigate(this._parentPath!, { state: entityObject });\n } else {\n this.container.navigateTo!({\n pageId: this._parentPageId!,\n });\n }\n }\n\n _showErrorToast(err: any, e?: React.BaseSyntheticEvent) {\n const errorToast = this.saveErrorToast?.(err, {\n retry: () => this.handleSubmit(e),\n });\n const message =\n typeof errorToast === 'string' ? errorToast : errorToast?.message;\n const showTryAgain =\n typeof errorToast === 'string' ? true : errorToast?.tryAgain !== false;\n const action =\n typeof errorToast === 'string' ? undefined : errorToast?.action;\n\n this.container.showToast?.({\n type: 'ERROR',\n biName: 'cairo-entity-page-save-error-toast',\n message:\n message ??\n this.container.translate(\n err?.code === 'ERR_NETWORK'\n ? 'cairo.entityPage.saveError-offline.toast.description'\n : 'cairo.entityPage.saveError-technical.toast.description',\n ),\n action:\n action || showTryAgain\n ? {\n uiType: 'LINK',\n text:\n action?.text ?? this.container.translate('cairo.toast.retry'),\n onClick: () => {\n if (action?.onClick) {\n action.onClick();\n } else {\n this.bi.reportSaveTryAgain();\n this.handleSubmit(e);\n }\n },\n removeToastOnClick: true,\n }\n : undefined,\n });\n }\n\n _showSuccessToast() {\n const message =\n typeof this.saveSuccessToast === 'string'\n ? this.saveSuccessToast\n : this.saveSuccessToast?.message;\n\n this.container.showToast?.({\n type: 'SUCCESS',\n biName: 'cairo-entity-page-save-success-toast',\n message:\n message ?? this.container.translate('cairo.entityPage.success.toast'),\n });\n }\n\n async handleSubmit(e?: React.BaseSyntheticEvent) {\n if (this.formPage.submitTask.status.isLoading) {\n return;\n }\n\n this.events.emit('save');\n\n const { isValid, data: widgetsFormData } = await this.formPage.validate();\n\n if (!isValid) {\n this.bi.reportButtonClick({ ctaName: 'Save', isValid: false, extraFields: this.actionsBarConfig?.saveCta?.biExtraFields });\n return;\n }\n\n const {\n form,\n formPage: { submitTask },\n bi,\n } = this;\n\n submitTask.run(async () => {\n let savedEntity: T | undefined;\n let submitSuccessful = false;\n\n await form.handleSubmit(\n async () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: true, extraFields: this.actionsBarConfig?.saveCta?.biExtraFields });\n try {\n if (!this.isFetching) {\n const onSaveResult = await this.onSave({\n widgetsFormData,\n });\n savedEntity = onSaveResult?.updatedEntity;\n }\n this._showSuccessToast();\n submitSuccessful = true; // Mark as successful locally\n } catch (err) {\n this._showErrorToast(err, e);\n this.container.errorMonitor.captureException(err);\n this.events.emit('saveError', err);\n form.setError('root.serverError', {}); // https://react-hook-form.com/docs/useform/seterror\n }\n },\n () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: false, extraFields: this.actionsBarConfig?.saveCta?.biExtraFields });\n }, // can be used to report validation errors\n )(e);\n\n if (!submitSuccessful) {\n return;\n }\n const transformedItem =\n savedEntity && this.transformEntityToCollectionItem\n ? this.transformEntityToCollectionItem(savedEntity)\n : savedEntity;\n this.navigateToParent(transformedItem);\n });\n await this.formPage.submitTask.status.promise;\n }\n\n get initTask() {\n return this.formPage.initTask;\n }\n\n get submitTask() {\n return this.formPage.submitTask;\n }\n\n private _checkPageParams() {\n if (this._withinRouter) {\n if (this._parentPath === undefined) {\n throw new Error('parentPath was not defined in useEntityPage');\n }\n } else {\n if (this._parentPageId === undefined) {\n throw new Error('parentPageId was not defined in useEntityPage');\n }\n\n if (!this.container.navigateTo) {\n throw new Error('navigateTo was not defined in Patterns Provider');\n }\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -37,13 +37,15 @@ class EntityPageStateBIReporter {
|
|
|
37
37
|
}
|
|
38
38
|
reportButtonClick({
|
|
39
39
|
ctaName,
|
|
40
|
-
isValid
|
|
40
|
+
isValid,
|
|
41
|
+
extraFields
|
|
41
42
|
}) {
|
|
42
43
|
this.reportBI((0, _bexCore.withoutDefaults)(_bi.cairoPageCtaClicked)({
|
|
43
44
|
ctaName,
|
|
44
45
|
ctaType: 'Main',
|
|
45
46
|
location: 'Entity page header',
|
|
46
|
-
isValid
|
|
47
|
+
isValid,
|
|
48
|
+
extraFields
|
|
47
49
|
}));
|
|
48
50
|
}
|
|
49
51
|
reportSaveTryAgain() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_mobx","_bi","EntityPageStateBIReporter","constructor","params","_defineProperty2","default","performance","now","entityPageState","reportBI","_getErrorType","e","isNetworkError","code","init","events","disposers","addEventListener","action","once","err","reportSaveError","startTime","appLoaded","reportOnLoadStart","forEach","disposer","reportButtonClick","ctaName","isValid","withoutDefaults","cairoPageCtaClicked","ctaType","location","reportSaveTryAgain","cairoTryAgainClicked","actionName","loaction","cairoApiRequestDataLoadEnd","errorType","duration","reportOnBeforeUnload","values","form","getValues","fields","Object","keys","cairoPageDiscardChangesBeforeSave","numOfFields","length","numOfActions","reduce","prev","key","_this$entityPageState","getFieldState","isDirty","loadStart","_commonDynamicBiParams","reportOnLoadEnd","Math","round","endTime","loadEnd","loadingTime","url","window","href","route","pathname","routerUsage","_withinRouter","exports"],"sources":["../../../../src/state/EntityPage/EntityPageStateBIReporter.ts"],"sourcesContent":["import { addEventListener, ReportBI, withoutDefaults } from '@wix/bex-core'; // withoutDefaults\nimport { EntityPageState } from './EntityPageState';\nimport { FieldValues } from 'react-hook-form';\nimport { action } from 'mobx';\nimport {\n cairoTryAgainClicked,\n cairoApiRequestDataLoadEnd,\n cairoPageCtaClicked,\n cairoPageDiscardChangesBeforeSave,\n loadStart,\n loadEnd,\n} from '@wix/bex-core/bi';\n\nexport interface EntityPageStateBIReporterParams<\n T,\n V extends FieldValues = FieldValues,\n> {\n reportBI: ReportBI;\n entityPageState: EntityPageState<T, V>;\n}\n\nexport class EntityPageStateBIReporter<T, V extends FieldValues> {\n readonly entityPageState: EntityPageState<T, V>;\n readonly reportBI: ReportBI;\n readonly startTime: number = performance.now();\n appLoaded?: () => void;\n\n constructor(params: EntityPageStateBIReporterParams<T, V>) {\n this.entityPageState = params.entityPageState;\n this.reportBI = params.reportBI;\n }\n\n _getErrorType(e: any) {\n const isNetworkError = e?.code === 'ERR_NETWORK';\n return isNetworkError ? 'Network error' : 'Technical issue';\n }\n\n init() {\n const { events } = this.entityPageState;\n const disposers = [\n addEventListener(\n events,\n 'save',\n action(() => {\n events.once('saveError', (err) => {\n this.reportSaveError(err, this.startTime);\n });\n }),\n ),\n (this.appLoaded = this.reportOnLoadStart(this.startTime)),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n reportButtonClick({\n ctaName,\n isValid,\n }: {\n ctaName: string;\n isValid?: boolean;\n }) {\n this.reportBI(\n withoutDefaults(cairoPageCtaClicked)({\n ctaName,\n ctaType: 'Main',\n location: 'Entity page header',\n isValid,\n }),\n );\n }\n\n reportSaveTryAgain() {\n this.reportBI(\n withoutDefaults(cairoTryAgainClicked)({\n actionName: 'Saving Entity',\n loaction: 'toast',\n }),\n );\n }\n\n reportSaveError(e: any, startTime: number) {\n this.reportBI(\n withoutDefaults(cairoApiRequestDataLoadEnd)({\n errorType: this._getErrorType(e),\n duration: performance.now() - startTime,\n }),\n );\n }\n\n reportOnBeforeUnload() {\n const values = this.entityPageState.form.getValues();\n const fields = Object.keys(values);\n this.reportBI(\n withoutDefaults(cairoPageDiscardChangesBeforeSave)({\n numOfFields: fields.length,\n numOfActions: fields.reduce(\n (prev, key: any) =>\n prev + +this.entityPageState.form.getFieldState(key)?.isDirty,\n 0,\n ),\n }),\n );\n }\n\n reportOnLoadStart(startTime: number) {\n this.reportBI(\n withoutDefaults(loadStart)({\n ...this._commonDynamicBiParams(),\n }),\n );\n return () => {\n this.reportOnLoadEnd(Math.round(performance.now() - startTime));\n };\n }\n\n reportOnLoadEnd(endTime: number) {\n this.reportBI(\n withoutDefaults(loadEnd)({\n ...this._commonDynamicBiParams(),\n loadingTime: endTime,\n }),\n );\n }\n\n _commonDynamicBiParams() {\n return {\n url: window.location.href,\n route: window.location.pathname,\n routerUsage: this.entityPageState._withinRouter,\n };\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAGA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AAJ6E;;AAqBtE,MAAMG,yBAAyB,CAA2B;EAM/DC,WAAWA,CAACC,MAA6C,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA,qBAH9BC,WAAW,CAACC,GAAG,CAAC,CAAC;IAAA,IAAAH,gBAAA,CAAAC,OAAA;IAI5C,IAAI,CAACG,eAAe,GAAGL,MAAM,CAACK,eAAe;IAC7C,IAAI,CAACC,QAAQ,GAAGN,MAAM,CAACM,QAAQ;EACjC;EAEAC,aAAaA,CAACC,CAAM,EAAE;IACpB,MAAMC,cAAc,GAAG,CAAAD,CAAC,oBAADA,CAAC,CAAEE,IAAI,MAAK,aAAa;IAChD,OAAOD,cAAc,GAAG,eAAe,GAAG,iBAAiB;EAC7D;EAEAE,IAAIA,CAAA,EAAG;IACL,MAAM;MAAEC;IAAO,CAAC,GAAG,IAAI,CAACP,eAAe;IACvC,MAAMQ,SAAS,GAAG,CAChB,IAAAC,yBAAgB,EACdF,MAAM,EACN,MAAM,EACN,IAAAG,YAAM,EAAC,MAAM;MACXH,MAAM,CAACI,IAAI,CAAC,WAAW,EAAGC,GAAG,IAAK;QAChC,IAAI,CAACC,eAAe,CAACD,GAAG,EAAE,IAAI,CAACE,SAAS,CAAC;MAC3C,CAAC,CAAC;IACJ,CAAC,CACH,CAAC,EACA,IAAI,CAACC,SAAS,GAAG,IAAI,CAACC,iBAAiB,CAAC,IAAI,CAACF,SAAS,CAAC,CACzD;IAED,OAAO,MAAM;MACXN,SAAS,CAACS,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;IAC7C,CAAC;EACH;EAEAC,iBAAiBA,CAAC;IAChBC,OAAO;IACPC;
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_mobx","_bi","EntityPageStateBIReporter","constructor","params","_defineProperty2","default","performance","now","entityPageState","reportBI","_getErrorType","e","isNetworkError","code","init","events","disposers","addEventListener","action","once","err","reportSaveError","startTime","appLoaded","reportOnLoadStart","forEach","disposer","reportButtonClick","ctaName","isValid","extraFields","withoutDefaults","cairoPageCtaClicked","ctaType","location","reportSaveTryAgain","cairoTryAgainClicked","actionName","loaction","cairoApiRequestDataLoadEnd","errorType","duration","reportOnBeforeUnload","values","form","getValues","fields","Object","keys","cairoPageDiscardChangesBeforeSave","numOfFields","length","numOfActions","reduce","prev","key","_this$entityPageState","getFieldState","isDirty","loadStart","_commonDynamicBiParams","reportOnLoadEnd","Math","round","endTime","loadEnd","loadingTime","url","window","href","route","pathname","routerUsage","_withinRouter","exports"],"sources":["../../../../src/state/EntityPage/EntityPageStateBIReporter.ts"],"sourcesContent":["import { addEventListener, ReportBI, withoutDefaults } from '@wix/bex-core'; // withoutDefaults\nimport { EntityPageState } from './EntityPageState';\nimport { FieldValues } from 'react-hook-form';\nimport { action } from 'mobx';\nimport {\n cairoTryAgainClicked,\n cairoApiRequestDataLoadEnd,\n cairoPageCtaClicked,\n cairoPageDiscardChangesBeforeSave,\n loadStart,\n loadEnd,\n} from '@wix/bex-core/bi';\n\nexport interface EntityPageStateBIReporterParams<\n T,\n V extends FieldValues = FieldValues,\n> {\n reportBI: ReportBI;\n entityPageState: EntityPageState<T, V>;\n}\n\nexport class EntityPageStateBIReporter<T, V extends FieldValues> {\n readonly entityPageState: EntityPageState<T, V>;\n readonly reportBI: ReportBI;\n readonly startTime: number = performance.now();\n appLoaded?: () => void;\n\n constructor(params: EntityPageStateBIReporterParams<T, V>) {\n this.entityPageState = params.entityPageState;\n this.reportBI = params.reportBI;\n }\n\n _getErrorType(e: any) {\n const isNetworkError = e?.code === 'ERR_NETWORK';\n return isNetworkError ? 'Network error' : 'Technical issue';\n }\n\n init() {\n const { events } = this.entityPageState;\n const disposers = [\n addEventListener(\n events,\n 'save',\n action(() => {\n events.once('saveError', (err) => {\n this.reportSaveError(err, this.startTime);\n });\n }),\n ),\n (this.appLoaded = this.reportOnLoadStart(this.startTime)),\n ];\n\n return () => {\n disposers.forEach((disposer) => disposer());\n };\n }\n\n reportButtonClick({\n ctaName,\n isValid,\n extraFields,\n }: {\n ctaName: string;\n isValid?: boolean;\n extraFields?: string;\n }) {\n this.reportBI(\n withoutDefaults(cairoPageCtaClicked)({\n ctaName,\n ctaType: 'Main',\n location: 'Entity page header',\n isValid,\n extraFields,\n }),\n );\n }\n\n reportSaveTryAgain() {\n this.reportBI(\n withoutDefaults(cairoTryAgainClicked)({\n actionName: 'Saving Entity',\n loaction: 'toast',\n }),\n );\n }\n\n reportSaveError(e: any, startTime: number) {\n this.reportBI(\n withoutDefaults(cairoApiRequestDataLoadEnd)({\n errorType: this._getErrorType(e),\n duration: performance.now() - startTime,\n }),\n );\n }\n\n reportOnBeforeUnload() {\n const values = this.entityPageState.form.getValues();\n const fields = Object.keys(values);\n this.reportBI(\n withoutDefaults(cairoPageDiscardChangesBeforeSave)({\n numOfFields: fields.length,\n numOfActions: fields.reduce(\n (prev, key: any) =>\n prev + +this.entityPageState.form.getFieldState(key)?.isDirty,\n 0,\n ),\n }),\n );\n }\n\n reportOnLoadStart(startTime: number) {\n this.reportBI(\n withoutDefaults(loadStart)({\n ...this._commonDynamicBiParams(),\n }),\n );\n return () => {\n this.reportOnLoadEnd(Math.round(performance.now() - startTime));\n };\n }\n\n reportOnLoadEnd(endTime: number) {\n this.reportBI(\n withoutDefaults(loadEnd)({\n ...this._commonDynamicBiParams(),\n loadingTime: endTime,\n }),\n );\n }\n\n _commonDynamicBiParams() {\n return {\n url: window.location.href,\n route: window.location.pathname,\n routerUsage: this.entityPageState._withinRouter,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,14 +5,14 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
|
|
|
5
5
|
var _stylableEsmRuntime = require("../../stylable-esm-runtime.js");
|
|
6
6
|
// @ts-nocheck
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "FormPageHeader191003167";
|
|
9
9
|
var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
|
|
10
10
|
var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
|
|
11
11
|
var style = exports.style = _style_;
|
|
12
12
|
var st = exports.st = _style_;
|
|
13
13
|
var namespace = exports.namespace = _namespace_;
|
|
14
14
|
var classes = exports.classes = {
|
|
15
|
-
"root": "
|
|
15
|
+
"root": "FormPageHeader191003167__root"
|
|
16
16
|
};
|
|
17
17
|
var keyframes = exports.keyframes = {};
|
|
18
18
|
var layers = exports.layers = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/FormPage/FormPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"
|
|
1
|
+
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/state/FormPage/FormPageHeader.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"FormPageHeader191003167\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"FormPageHeader191003167__root\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,yBAAyB;AAC3C,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAAK,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AACnB,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC;AAA+B,CAAC;AACtD,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
|
|
@@ -53,7 +53,8 @@ class KanbanStateBIReporter {
|
|
|
53
53
|
origin: 'toolbar',
|
|
54
54
|
filteredListSize: this.getTotalCardsCount(),
|
|
55
55
|
numFiltersActive: this.kanbanState.query.activeFiltersCount,
|
|
56
|
-
actionType: 'add'
|
|
56
|
+
actionType: 'add',
|
|
57
|
+
kanbanId: this.kanbanState.kanbanId
|
|
57
58
|
}
|
|
58
59
|
});
|
|
59
60
|
return () => {
|
|
@@ -70,7 +71,8 @@ class KanbanStateBIReporter {
|
|
|
70
71
|
searchResultsCnt: searchResultsCount,
|
|
71
72
|
stageCardCnt: this.getStageCardCounts(),
|
|
72
73
|
searchTerm,
|
|
73
|
-
loadingTime: Math.round(performance.now() - startTime)
|
|
74
|
+
loadingTime: Math.round(performance.now() - startTime),
|
|
75
|
+
kanbanId: this.kanbanState.kanbanId
|
|
74
76
|
}
|
|
75
77
|
});
|
|
76
78
|
};
|