@wix/patterns 1.47.0 → 1.48.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/Collapse/Collapse.st.css.js +3 -3
- package/dist/cjs/components/Collapse/Collapse.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 +3 -3
- 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/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js +3 -3
- package/dist/cjs/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.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/EntityPage/EntityPage.js +5 -9
- package/dist/cjs/components/EntityPage/EntityPage.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/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 +2 -2
- package/dist/cjs/components/MultiBulkActionToolbar/MultiBulkActionToolbar.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/NestedTableDragAndDropState.js +1 -2
- package/dist/cjs/components/NestedTableDragAndDrop/NestedTableDragAndDropState.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/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/cjs/components/ScrollableContent/ScrollableContent.st.css.js.map +1 -1
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js +3 -3
- package/dist/cjs/components/SkeletonCard/SkeletonCard.st.css.js.map +1 -1
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js +2 -2
- package/dist/cjs/components/SlidingModal/SlidingModal.st.css.js.map +1 -1
- package/dist/cjs/components/Table/TableVirtualHeader.st.css.js +2 -2
- package/dist/cjs/components/Table/TableVirtualHeader.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/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/docs-types.js.map +1 -1
- package/dist/cjs/hooks/useEntityPage.js +9 -4
- package/dist/cjs/hooks/useEntityPage.js.map +1 -1
- package/dist/cjs/state/EntityPage/EntityPageState.js +2 -4
- package/dist/cjs/state/EntityPage/EntityPageState.js.map +1 -1
- package/dist/cjs/state/EntityPage/EntityPageStateBIReporter.js +2 -1
- package/dist/cjs/state/EntityPage/EntityPageStateBIReporter.js.map +1 -1
- package/dist/cjs/state/NestedTableState/NestedTableNestedModeState.js +9 -2
- package/dist/cjs/state/NestedTableState/NestedTableNestedModeState.js.map +1 -1
- package/dist/cjs/state/NestedTableState/NestedTableNodeState.js +19 -1
- package/dist/cjs/state/NestedTableState/NestedTableNodeState.js.map +1 -1
- package/dist/cjs/state/NestedTableState/NestedTableState.js.map +1 -1
- package/dist/cjs/styles.global.css +1 -1
- package/dist/cjs/version.js +1 -1
- package/dist/cjs/version.js.map +1 -1
- package/dist/esm/components/Collapse/Collapse.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/CollectionViewsDropdown/AutoCompleteReadonly.st.css.js +2 -2
- package/dist/esm/components/CollectionViewsDropdown/ViewsDropdown.st.css.js +2 -2
- package/dist/esm/components/CustomFieldsWidget/CustomFieldsViewWidgetSection.st.css.js +2 -2
- package/dist/esm/components/DragHandle/DragHandle.st.css.js +2 -2
- package/dist/esm/components/EntityPage/EntityPage.js +1 -3
- package/dist/esm/components/EntityPage/EntityPage.js.map +1 -1
- package/dist/esm/components/Fade/Fade.st.css.js +2 -2
- package/dist/esm/components/Heading/Heading.st.css.js +2 -2
- package/dist/esm/components/Heading/Heading.st.css.js.map +1 -1
- package/dist/esm/components/InputOverflow/InputOverflow.st.css.js +2 -2
- package/dist/esm/components/LoadingRow/LoadingRow.st.css.js +3 -3
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js +2 -2
- package/dist/esm/components/MaxHeightText/MaxHeightText.st.css.js.map +1 -1
- package/dist/esm/components/MaxLines/MaxLines.st.css.js +2 -2
- package/dist/esm/components/MaxLines/MaxLines.st.css.js.map +1 -1
- package/dist/esm/components/MultiBulkActionToolbar/MultiBulkActionToolbar.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/NestedTableDragAndDropState.js +1 -3
- package/dist/esm/components/NestedTableDragAndDrop/NestedTableDragAndDropState.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/ScrollableContent/ScrollableContent.st.css.js +2 -2
- package/dist/esm/components/ScrollableContent/ScrollableContent.st.css.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/Table/TableVirtualHeader.st.css.js +2 -2
- package/dist/esm/components/Table/TableVirtualHeader.st.css.js.map +1 -1
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js +2 -2
- package/dist/esm/components/TabsFilter/TabsFilter.st.css.js.map +1 -1
- package/dist/esm/components/Tags/ManageTags/ManageTagsModal/ManageTagsModal.st.css.js +2 -2
- package/dist/esm/components/ToolbarItemBox/ToolbarItemBox.st.css.js +2 -2
- package/dist/esm/components/common.st.css.js +2 -2
- package/dist/esm/hooks/useEntityPage.js +5 -1
- package/dist/esm/hooks/useEntityPage.js.map +1 -1
- package/dist/esm/state/EntityPage/EntityPageState.js +2 -2
- package/dist/esm/state/EntityPage/EntityPageState.js.map +1 -1
- package/dist/esm/state/EntityPage/EntityPageStateBIReporter.js +1 -0
- package/dist/esm/state/EntityPage/EntityPageStateBIReporter.js.map +1 -1
- package/dist/esm/state/NestedTableState/NestedTableNestedModeState.js +9 -2
- package/dist/esm/state/NestedTableState/NestedTableNestedModeState.js.map +1 -1
- package/dist/esm/state/NestedTableState/NestedTableNodeState.js +17 -1
- package/dist/esm/state/NestedTableState/NestedTableNodeState.js.map +1 -1
- package/dist/esm/state/NestedTableState/NestedTableState.js.map +1 -1
- package/dist/esm/styles.global.css +1 -1
- package/dist/esm/version.js +1 -1
- package/dist/types/components/EntityPage/EntityPage.d.ts.map +1 -1
- package/dist/types/components/Heading/Heading.st.css.d.ts.map +1 -1
- package/dist/types/components/MaxHeightText/MaxHeightText.st.css.d.ts.map +1 -1
- package/dist/types/components/MaxLines/MaxLines.st.css.d.ts.map +1 -1
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropState.d.ts +1 -1
- package/dist/types/components/NestedTableDragAndDrop/NestedTableDragAndDropState.d.ts.map +1 -1
- package/dist/types/components/ScrollableContent/ScrollableContent.st.css.d.ts.map +1 -1
- package/dist/types/components/Table/TableVirtualHeader.st.css.d.ts.map +1 -1
- package/dist/types/components/TabsFilter/TabsFilter.st.css.d.ts.map +1 -1
- package/dist/types/docs-types.d.ts +1 -0
- package/dist/types/docs-types.d.ts.map +1 -1
- package/dist/types/hooks/useEntityPage.d.ts.map +1 -1
- package/dist/types/state/EntityPage/EntityPageState.d.ts +5 -3
- package/dist/types/state/EntityPage/EntityPageState.d.ts.map +1 -1
- package/dist/types/state/EntityPage/EntityPageStateBIReporter.d.ts +1 -0
- package/dist/types/state/EntityPage/EntityPageStateBIReporter.d.ts.map +1 -1
- package/dist/types/state/NestedTableState/NestedTableNestedModeState.d.ts +13 -4
- package/dist/types/state/NestedTableState/NestedTableNestedModeState.d.ts.map +1 -1
- package/dist/types/state/NestedTableState/NestedTableNodeState.d.ts +24 -3
- package/dist/types/state/NestedTableState/NestedTableNodeState.d.ts.map +1 -1
- package/dist/types/state/NestedTableState/NestedTableState.d.ts +7 -0
- package/dist/types/state/NestedTableState/NestedTableState.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +3 -3
|
@@ -38,6 +38,7 @@ class EntityPageState {
|
|
|
38
38
|
this.transformEntityToCollectionItem = params.transformEntityToCollectionItem || (anEntity => anEntity);
|
|
39
39
|
this._parentPath = params.parentPath;
|
|
40
40
|
this.container = params.container;
|
|
41
|
+
this._routerState = params.routerState ?? null;
|
|
41
42
|
this.reportBI = this.container.createBILogger({
|
|
42
43
|
componentType: 'Entity page',
|
|
43
44
|
pageType: 'Entity',
|
|
@@ -58,10 +59,7 @@ class EntityPageState {
|
|
|
58
59
|
_withinRouter: _mobx.computed
|
|
59
60
|
});
|
|
60
61
|
}
|
|
61
|
-
init({
|
|
62
|
-
routerState
|
|
63
|
-
}) {
|
|
64
|
-
this._routerState = routerState;
|
|
62
|
+
init() {
|
|
65
63
|
this._checkPageParams();
|
|
66
64
|
const {
|
|
67
65
|
initTask,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_mobx","_EntityPageStateBIReporter","_events","EntityPageState","constructor","params","_defineProperty2","default","TaskState","undefined","FormPageState","EventEmitter","fetch","onSave","saveSuccessToast","saveErrorToast","_form","form","_parentPageId","parentPageId","transformEntityToCollectionItem","anEntity","_parentPath","parentPath","container","reportBI","createBILogger","componentType","pageType","route","window","location","pathname","bi","EntityPageStateBIReporter","entityPageState","init","makeObservable","handleSubmit","action","isFetching","computed","_entity","observable","ref","setEntity","_isFormDirty","isFormDirty","_withinRouter","routerState","_routerState","_checkPageParams","initTask","onBeforeUnload","onBeforeUnloadSubscription","event","formState","isSubmitSuccessful","preventDefault","reportOnBeforeUnload","runOnce","_this$bi$appLoaded","_this$bi","data","Promise","all","status","promise","entity","appLoaded","call","remove","retryFetch","newEntity","isLoading","isIdle","flag","_isSubmitSuccessful","formPage","isDirty","onCancel","reportButtonClick","ctaName","navigateToParent","updatedEntity","entityStringKey","entityObject","navigate","state","navigateTo","pageId","_showErrorToast","err","e","_this$saveErrorToast","_this$container$showT","_this$container","errorToast","message","showTryAgain","tryAgain","showToast","type","biName","translate","code","uiType","text","onClick","reportSaveTryAgain","removeToastOnClick","_showSuccessToast","_this$saveSuccessToas","_this$container$showT2","_this$container2","submitTask","events","emit","isValid","extraFields","validate","run","savedEntity","onSaveResult","widgetsFormData","errorMonitor","captureException","setError","transformedItem","Error","exports"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n TaskState,\n WixPatternsContainer,\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 an optional message and a `tryAgain` flag, or it can directly return a string message.\n */\n saveErrorToast?: (\n err: unknown,\n ) => { message?: string; tryAgain?: boolean } | 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 /**\n * An object representing the form state and methods, typically returned by a useForm hook.\n */\n form: UseFormReturn<V>;\n\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\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 initTask = new TaskState();\n readonly submitTask = new TaskState();\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 _form: UseFormReturn<V>;\n private readonly _parentPageId?: string;\n private readonly _parentPath?: string;\n\n readonly container: WixPatternsContainer;\n readonly reportBI: ReportBI;\n readonly bi: EntityPageStateBIReporter<T, V>;\n\n _isSubmitSuccessful?: boolean = undefined;\n _isFormDirty = false;\n\n _routerState: WixPatternsRouterState | null = null;\n\n readonly formPage = new FormPageState();\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._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.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 isFetching: computed,\n _entity: observable.ref,\n setEntity: action,\n _isFormDirty: observable.ref,\n isFormDirty: computed,\n _withinRouter: computed,\n });\n }\n\n init({ routerState }: { routerState: WixPatternsRouterState | null }) {\n this._routerState = routerState;\n this._checkPageParams();\n const { initTask, container } = this;\n const { onBeforeUnload } = container;\n\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event) => {\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.initTask.runOnce();\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.initTask.status.isLoading || this.initTask.status.isIdle;\n }\n\n get form() {\n return this._form;\n }\n\n set isSubmitSuccessful(flag: boolean) {\n this._isSubmitSuccessful = flag;\n }\n\n set isFormDirty(flag: boolean) {\n this._isFormDirty = flag;\n }\n\n get isFormDirty() {\n return this._isFormDirty || this.formPage.isDirty;\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 const message =\n typeof errorToast === 'string' ? errorToast : errorToast?.message;\n const showTryAgain =\n typeof errorToast === 'string' ? true : errorToast?.tryAgain !== false;\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: showTryAgain\n ? {\n uiType: 'LINK',\n text: this.container.translate('cairo.toast.retry'),\n onClick: () => {\n this.bi.reportSaveTryAgain();\n this.handleSubmit(e);\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 async handleSubmit(e?: React.BaseSyntheticEvent) {\n if (this.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 { form, submitTask, bi } = this;\n\n submitTask.run(async () => {\n let savedEntity: T | undefined;\n await form.handleSubmit(\n async () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: true });\n try {\n const onSaveResult = await this.onSave({\n widgetsFormData: { ...extraFields },\n });\n savedEntity = onSaveResult?.updatedEntity;\n this._showSuccessToast();\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 (!form.formState.isSubmitSuccessful) {\n return;\n }\n\n const transformedItem =\n savedEntity && this.transformEntityToCollectionItem\n ? this.transformEntityToCollectionItem(savedEntity)\n : savedEntity;\n this.navigateToParent(transformedItem);\n });\n await this.submitTask.status.promise;\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\n if (!this.container.navigate) {\n throw new Error('navigate was not defined in Patterns Provider');\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","TaskState","undefined","FormPageState","EventEmitter","fetch","onSave","saveSuccessToast","saveErrorToast","_form","form","_parentPageId","parentPageId","transformEntityToCollectionItem","anEntity","_parentPath","parentPath","container","_routerState","routerState","reportBI","createBILogger","componentType","pageType","route","window","location","pathname","bi","EntityPageStateBIReporter","entityPageState","init","makeObservable","handleSubmit","action","isFetching","computed","_entity","observable","ref","setEntity","_isFormDirty","isFormDirty","_withinRouter","_checkPageParams","initTask","onBeforeUnload","onBeforeUnloadSubscription","event","formState","isSubmitSuccessful","preventDefault","reportOnBeforeUnload","runOnce","_this$bi$appLoaded","_this$bi","data","Promise","all","status","promise","entity","appLoaded","call","remove","retryFetch","newEntity","isLoading","isIdle","flag","_isSubmitSuccessful","formPage","isDirty","onCancel","reportButtonClick","ctaName","navigateToParent","updatedEntity","entityStringKey","entityObject","navigate","state","navigateTo","pageId","_showErrorToast","err","e","_this$saveErrorToast","_this$container$showT","_this$container","errorToast","message","showTryAgain","tryAgain","showToast","type","biName","translate","code","uiType","text","onClick","reportSaveTryAgain","removeToastOnClick","_showSuccessToast","_this$saveSuccessToas","_this$container$showT2","_this$container2","submitTask","events","emit","isValid","extraFields","validate","run","savedEntity","onSaveResult","widgetsFormData","errorMonitor","captureException","setError","transformedItem","Error","exports"],"sources":["../../../../src/state/EntityPage/EntityPageState.ts"],"sourcesContent":["import {\n FormPageState,\n ReportBI,\n TaskState,\n WixPatternsContainer,\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 an optional message and a `tryAgain` flag, or it can directly return a string message.\n */\n saveErrorToast?: (\n err: unknown,\n ) => { message?: string; tryAgain?: boolean } | 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 /**\n * An object representing the form state and methods, typically returned by a useForm hook.\n */\n form: UseFormReturn<V>;\n\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\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 initTask = new TaskState();\n readonly submitTask = new TaskState();\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 _form: UseFormReturn<V>;\n private readonly _parentPageId?: string;\n private readonly _parentPath?: string;\n\n readonly container: WixPatternsContainer;\n readonly reportBI: ReportBI;\n readonly bi: EntityPageStateBIReporter<T, V>;\n\n _isSubmitSuccessful?: boolean = undefined;\n _isFormDirty = false;\n\n _routerState: WixPatternsRouterState | null = null;\n\n readonly formPage = new FormPageState();\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._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 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 isFetching: computed,\n _entity: observable.ref,\n setEntity: action,\n _isFormDirty: observable.ref,\n isFormDirty: computed,\n _withinRouter: computed,\n });\n }\n\n init() {\n this._checkPageParams();\n const { initTask, container } = this;\n const { onBeforeUnload } = container;\n\n const onBeforeUnloadSubscription = onBeforeUnload?.(\n action((event) => {\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.initTask.runOnce();\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.initTask.status.isLoading || this.initTask.status.isIdle;\n }\n\n get form() {\n return this._form;\n }\n\n set isSubmitSuccessful(flag: boolean) {\n this._isSubmitSuccessful = flag;\n }\n\n set isFormDirty(flag: boolean) {\n this._isFormDirty = flag;\n }\n\n get isFormDirty() {\n return this._isFormDirty || this.formPage.isDirty;\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 const message =\n typeof errorToast === 'string' ? errorToast : errorToast?.message;\n const showTryAgain =\n typeof errorToast === 'string' ? true : errorToast?.tryAgain !== false;\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: showTryAgain\n ? {\n uiType: 'LINK',\n text: this.container.translate('cairo.toast.retry'),\n onClick: () => {\n this.bi.reportSaveTryAgain();\n this.handleSubmit(e);\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 async handleSubmit(e?: React.BaseSyntheticEvent) {\n if (this.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 { form, submitTask, bi } = this;\n\n submitTask.run(async () => {\n let savedEntity: T | undefined;\n await form.handleSubmit(\n async () => {\n bi.reportButtonClick({ ctaName: 'Save', isValid: true });\n try {\n const onSaveResult = await this.onSave({\n widgetsFormData: { ...extraFields },\n });\n savedEntity = onSaveResult?.updatedEntity;\n this._showSuccessToast();\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 (!form.formState.isSubmitSuccessful) {\n return;\n }\n\n const transformedItem =\n savedEntity && this.transformEntityToCollectionItem\n ? this.transformEntityToCollectionItem(savedEntity)\n : savedEntity;\n this.navigateToParent(transformedItem);\n });\n await this.submitTask.status.promise;\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\n if (!this.container.navigate) {\n throw new Error('navigate was not defined in Patterns Provider');\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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_mobx","_bi","EntityPageStateBIReporter","constructor","params","_defineProperty2","default","entityPageState","reportBI","_getErrorType","e","isNetworkError","code","init","events","startTime","performance","now","disposers","addEventListener","action","once","err","reportSaveError","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","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 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 startTime = performance.now();\n const disposers = [\n addEventListener(\n events,\n 'save',\n action(() => {\n events.once('saveError', (err) => {\n this.reportSaveError(err, startTime);\n });\n }),\n ),\n (this.appLoaded = this.reportOnLoadStart(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 };\n }\n}\n"],"mappings":";;;;;;AAAA,IAAAA,QAAA,GAAAC,OAAA;AAGA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,GAAA,GAAAF,OAAA;AAJ6E;;AAqBtE,MAAMG,yBAAyB,CAA2B;EAK/DC,WAAWA,CAACC,MAA6C,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IAAA,IAAAD,gBAAA,CAAAC,OAAA;IACzD,IAAI,CAACC,eAAe,GAAGH,MAAM,CAACG,eAAe;IAC7C,IAAI,CAACC,QAAQ,GAAGJ,MAAM,CAACI,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,GAAGC,WAAW,CAACC,GAAG,CAAC,CAAC;IACnC,MAAMC,SAAS,GAAG,CAChB,IAAAC,yBAAgB,EACdL,MAAM,EACN,MAAM,EACN,IAAAM,YAAM,EAAC,MAAM;MACXN,MAAM,CAACO,IAAI,CAAC,WAAW,EAAGC,GAAG,IAAK;QAChC,IAAI,CAACC,eAAe,CAACD,GAAG,EAAEP,SAAS,CAAC;MACtC,CAAC,CAAC;IACJ,CAAC,CACH,CAAC,EACA,IAAI,CAACS,SAAS,GAAG,IAAI,CAACC,iBAAiB,CAACV,SAAS,CAAC,CACpD;IAED,OAAO,MAAM;MACXG,SAAS,CAACQ,OAAO,CAAEC,QAAQ,IAAKA,QAAQ,CAAC,CAAC,CAAC;IAC7C,CAAC;EACH;EAEAC,iBAAiBA,CAAC;IAChBC,OAAO;IACPC;EAIF,CAAC,EAAE;IACD,IAAI,CAACtB,QAAQ,CACX,IAAAuB,wBAAe,EAACC,uBAAmB,CAAC,CAAC;MACnCH,OAAO;MACPI,OAAO,EAAE,MAAM;MACfC,QAAQ,EAAE,oBAAoB;MAC9BJ;IACF,CAAC,CACH,CAAC;EACH;EAEAK,kBAAkBA,CAAA,EAAG;IACnB,IAAI,CAAC3B,QAAQ,CACX,IAAAuB,wBAAe,EAACK,wBAAoB,CAAC,CAAC;MACpCC,UAAU,EAAE,eAAe;MAC3BC,QAAQ,EAAE;IACZ,CAAC,CACH,CAAC;EACH;EAEAf,eAAeA,CAACb,CAAM,EAAEK,SAAiB,EAAE;IACzC,IAAI,CAACP,QAAQ,CACX,IAAAuB,wBAAe,EAACQ,8BAA0B,CAAC,CAAC;MAC1CC,SAAS,EAAE,IAAI,CAAC/B,aAAa,CAACC,CAAC,CAAC;MAChC+B,QAAQ,EAAEzB,WAAW,CAACC,GAAG,CAAC,CAAC,GAAGF;IAChC,CAAC,CACH,CAAC;EACH;EAEA2B,oBAAoBA,CAAA,EAAG;IACrB,MAAMC,MAAM,GAAG,IAAI,CAACpC,eAAe,CAACqC,IAAI,CAACC,SAAS,CAAC,CAAC;IACpD,MAAMC,MAAM,GAAGC,MAAM,CAACC,IAAI,CAACL,MAAM,CAAC;IAClC,IAAI,CAACnC,QAAQ,CACX,IAAAuB,wBAAe,EAACkB,qCAAiC,CAAC,CAAC;MACjDC,WAAW,EAAEJ,MAAM,CAACK,MAAM;MAC1BC,YAAY,EAAEN,MAAM,CAACO,MAAM,CACzB,CAACC,IAAI,EAAEC,GAAQ;QAAA,IAAAC,qBAAA;QAAA,OACbF,IAAI,GAAG,GAAAE,qBAAA,GAAC,IAAI,CAACjD,eAAe,CAACqC,IAAI,CAACa,aAAa,CAACF,GAAG,CAAC,qBAA5CC,qBAAA,CAA8CE,OAAO;MAAA,GAC/D,CACF;IACF,CAAC,CACH,CAAC;EACH;EAEAjC,iBAAiBA,CAACV,SAAiB,EAAE;IACnC,IAAI,CAACP,QAAQ,CACX,IAAAuB,wBAAe,EAAC4B,aAAS,CAAC,CAAC;MACzB,GAAG,IAAI,CAACC,sBAAsB,CAAC;IACjC,CAAC,CACH,CAAC;IACD,OAAO,MAAM;MACX,IAAI,CAACC,eAAe,CAACC,IAAI,CAACC,KAAK,CAAC/C,WAAW,CAACC,GAAG,CAAC,CAAC,GAAGF,SAAS,CAAC,CAAC;IACjE,CAAC;EACH;EAEA8C,eAAeA,CAACG,OAAe,EAAE;IAC/B,IAAI,CAACxD,QAAQ,CACX,IAAAuB,wBAAe,EAACkC,WAAO,CAAC,CAAC;MACvB,GAAG,IAAI,CAACL,sBAAsB,CAAC,CAAC;MAChCM,WAAW,EAAEF;IACf,CAAC,CACH,CAAC;EACH;EAEAJ,sBAAsBA,CAAA,EAAG;IACvB,OAAO;MACLO,GAAG,EAAEC,MAAM,CAAClC,QAAQ,CAACmC;
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_mobx","_bi","EntityPageStateBIReporter","constructor","params","_defineProperty2","default","entityPageState","reportBI","_getErrorType","e","isNetworkError","code","init","events","startTime","performance","now","disposers","addEventListener","action","once","err","reportSaveError","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","router_usage","_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 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 startTime = performance.now();\n const disposers = [\n addEventListener(\n events,\n 'save',\n action(() => {\n events.once('saveError', (err) => {\n this.reportSaveError(err, startTime);\n });\n }),\n ),\n (this.appLoaded = this.reportOnLoadStart(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 router_usage: this.entityPageState._withinRouter,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -21,8 +21,6 @@ class NestedTableNestedModeState {
|
|
|
21
21
|
(0, _defineProperty2.default)(this, "nestedTableDragAndDrop", null);
|
|
22
22
|
(0, _defineProperty2.default)(this, "_indentationWidth", 28);
|
|
23
23
|
(0, _defineProperty2.default)(this, "_parentCellPaddingStart", 24);
|
|
24
|
-
(0, _defineProperty2.default)(this, "getKeyedItem", key => this.root.getKeyedItem(key));
|
|
25
|
-
(0, _defineProperty2.default)(this, "getKeyedItemByIndex", ind => this.root.getKeyedItemByIndex(ind));
|
|
26
24
|
(0, _defineProperty2.default)(this, "retryErrorState", (0, _mobx.action)(() => {
|
|
27
25
|
const {
|
|
28
26
|
initTask
|
|
@@ -106,6 +104,15 @@ class NestedTableNestedModeState {
|
|
|
106
104
|
get _keyedItemsMap() {
|
|
107
105
|
return this.root._keyedItemsMap;
|
|
108
106
|
}
|
|
107
|
+
getKeyedItem(key) {
|
|
108
|
+
return this.root.getKeyedItem(key);
|
|
109
|
+
}
|
|
110
|
+
getKeyedItemByIndex(ind) {
|
|
111
|
+
return this.root.getKeyedItemByIndex(ind);
|
|
112
|
+
}
|
|
113
|
+
getNode(key) {
|
|
114
|
+
return this.root._getNode(key);
|
|
115
|
+
}
|
|
109
116
|
get expandAll() {
|
|
110
117
|
return this.nestedCollection.expandAll;
|
|
111
118
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_NestedCollectionState","_TableVirtualState","_NestedTableNodeState","_mobx","NestedTableNestedModeState","constructor","params","_defineProperty2","default","TaskState","key","root","getKeyedItem","ind","getKeyedItemByIndex","action","initTask","status","isError","runOnce","wrapper","container","rootLevelDescriptor","levels","Error","nestedCollection","NestedCollectionState","query","nodeCollection","rootNodeCollection","sequences","NestedTableNodeState","nestedTable","node","levelDescriptor","parentNode","parent","preRegister","reportBi","virtual","TableVirtualState","table","getVirtualItemKey","item","_item$item$state$pare","id","state","filter","Boolean","join","getCollectionSnapshot","_toolbar$viewsState","_originQuery$sort","toolbar","collection","result","originQuery","total","viewShown","viewsState","views","currentView","tabShown","getCurrentTabName","sortOrderApplied","sort","length","JSON","stringify","undefined","filtersApplied","filtersKey","filteredListSizeShown","multi","tableState","keyedItems","_keyedItemsMap","expandAll","isFetchAllAborted","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","showLoadingState","isLoading","errorStatus","init","disposers","skipCollectionInit","promise","forEach","d","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableNestedModeState.ts"],"sourcesContent":["import { ReportBI, TaskState } from '@wix/bex-core';\n\nimport { NestedCollectionState } from './NestedCollectionState';\nimport { TableVirtualState } from '../TableVirtualState';\nimport { NestedTableNodeState } from './NestedTableNodeState';\nimport { action } from 'mobx';\nimport { NestedTableState } from './NestedTableState';\nimport { NestedTableDragAndDropState } from '../../components/NestedTableDragAndDrop/NestedTableDragAndDropState';\n\nexport interface NestedTableNestedModeStateBaseParams {}\n\nexport interface NestedTableNestedModeStateParams<C extends string>\n extends NestedTableNestedModeStateBaseParams {\n wrapper: NestedTableState<C>;\n reportBi: ReportBI;\n}\n\nexport class NestedTableNestedModeState<C extends string = string> {\n readonly wrapper;\n readonly container;\n readonly reportBi: ReportBI;\n readonly nestedCollection: NestedCollectionState;\n readonly virtual;\n\n readonly initTask = new TaskState();\n\n readonly root: NestedTableNodeState<C, any, any>;\n\n nestedTableDragAndDrop: NestedTableDragAndDropState<C> | null = null;\n\n constructor(params: NestedTableNestedModeStateParams<C>) {\n const { wrapper } = params;\n this.wrapper = wrapper;\n this.container = wrapper.container;\n\n const rootLevelDescriptor = this.wrapper.levels[0];\n\n if (rootLevelDescriptor == null) {\n throw new Error('NestedTableState must have at least one level');\n }\n\n this.nestedCollection = new NestedCollectionState({\n container: this.container,\n levels: wrapper.levels,\n query: wrapper.query,\n nodeCollection: wrapper.rootNodeCollection,\n sequences: wrapper.sequences,\n });\n\n this.root = new NestedTableNodeState({\n nestedTable: this,\n node: this.nestedCollection.root,\n levelDescriptor: rootLevelDescriptor,\n parentNode: null,\n parent: null,\n preRegister: true,\n });\n\n this.reportBi = params.reportBi;\n\n this.virtual = new TableVirtualState({\n table: this,\n getVirtualItemKey: (item) =>\n [item.id, item.item.state.parent?.id].filter(Boolean).join('_'),\n });\n }\n\n getCollectionSnapshot() {\n const { toolbar } = this;\n\n const {\n collection: {\n result: { originQuery, total },\n },\n } = toolbar;\n\n return {\n viewShown: toolbar.viewsState?.views.currentView?.id,\n tabShown: toolbar.getCurrentTabName(),\n sortOrderApplied: originQuery.sort?.length\n ? JSON.stringify(originQuery.sort)\n : undefined,\n filtersApplied: JSON.stringify(originQuery.filtersKey),\n filteredListSizeShown: total,\n };\n }\n\n get multi() {\n return this.toolbar.multi;\n }\n\n get tableState() {\n return this.wrapper.tableState;\n }\n\n get toolbar() {\n return this.wrapper.toolbar;\n }\n\n get total() {\n return this.nestedCollection.total;\n }\n\n get originQuery() {\n return this.toolbar.collection.originQuery;\n }\n\n get keyedItems() {\n return this.root.keyedItems;\n }\n\n get _keyedItemsMap() {\n return this.root._keyedItemsMap;\n }\n\n _indentationWidth = 28;\n _parentCellPaddingStart = 24;\n\n getKeyedItem = (key: string) => this.root.getKeyedItem(key);\n\n getKeyedItemByIndex = (ind: number) => this.root.getKeyedItemByIndex(ind);\n\n get expandAll() {\n return this.nestedCollection.expandAll;\n }\n\n get isFetchAllAborted() {\n return this.nestedCollection.isFetchAllAborted;\n }\n\n get showEmptyState() {\n return this.toolbar.multi.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.toolbar.multi.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.toolbar.multi.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.toolbar.multi.hasNonPersistentActiveFilters;\n }\n\n get showErrorState() {\n const { initTask } = this;\n return initTask.status.isError;\n }\n\n get showLoadingState() {\n return this.initTask.status.isLoading;\n }\n\n retryErrorState = action(() => {\n const { initTask } = this;\n\n if (initTask.status.isError) {\n initTask.runOnce();\n }\n });\n\n get errorStatus() {\n const { initTask } = this;\n return initTask.errorStatus;\n }\n\n get query() {\n return this.wrapper.query;\n }\n\n get levels() {\n return this.wrapper.levels;\n }\n\n init() {\n const { initTask, wrapper, root, nestedCollection } = this;\n\n const disposers = [\n wrapper.init(),\n root.init({ skipCollectionInit: true }), // collection is initialized by toolbar state\n nestedCollection.init(),\n ];\n\n initTask.runOnce(async () => {\n wrapper.initTask.runOnce();\n root.initTask.runOnce();\n\n await root.initTask.status.promise;\n await wrapper.initTask.status.promise;\n });\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_NestedCollectionState","_TableVirtualState","_NestedTableNodeState","_mobx","NestedTableNestedModeState","constructor","params","_defineProperty2","default","TaskState","action","initTask","status","isError","runOnce","wrapper","container","rootLevelDescriptor","levels","Error","nestedCollection","NestedCollectionState","query","nodeCollection","rootNodeCollection","sequences","root","NestedTableNodeState","nestedTable","node","levelDescriptor","parentNode","parent","preRegister","reportBi","virtual","TableVirtualState","table","getVirtualItemKey","item","_item$item$state$pare","id","state","filter","Boolean","join","getCollectionSnapshot","_toolbar$viewsState","_originQuery$sort","toolbar","collection","result","originQuery","total","viewShown","viewsState","views","currentView","tabShown","getCurrentTabName","sortOrderApplied","sort","length","JSON","stringify","undefined","filtersApplied","filtersKey","filteredListSizeShown","multi","tableState","keyedItems","_keyedItemsMap","getKeyedItem","key","getKeyedItemByIndex","ind","getNode","_getNode","expandAll","isFetchAllAborted","showEmptyState","hasAvailableItems","resultOriginQuerySearch","hasNonPersistentActiveFilters","showErrorState","showLoadingState","isLoading","errorStatus","init","disposers","skipCollectionInit","promise","forEach","d","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableNestedModeState.ts"],"sourcesContent":["import { FiltersMap, ReportBI, TaskState } from '@wix/bex-core';\n\nimport { NestedCollectionState } from './NestedCollectionState';\nimport { TableVirtualState } from '../TableVirtualState';\nimport { NestedTableNodeState } from './NestedTableNodeState';\nimport { action } from 'mobx';\nimport { NestedTableState } from './NestedTableState';\nimport { NestedTableDragAndDropState } from '../../components/NestedTableDragAndDrop/NestedTableDragAndDropState';\n\nexport interface NestedTableNestedModeStateBaseParams {}\n\nexport interface NestedTableNestedModeStateParams<C extends string>\n extends NestedTableNestedModeStateBaseParams {\n wrapper: NestedTableState<C>;\n reportBi: ReportBI;\n}\n\nexport interface NestedTableNestedModeStatePublicAPI<C extends string> {\n /**\n * Get the node this item is the parent of. i.e. this node's collection items' parent id is the `key`\n * @param key\n * @overrideType (key: string):[NestedTableNodeState](./?path=/story/base-components-collections-nestedtable--nestedtablenodestate) | undefined\n */\n getNode<TD, FD extends FiltersMap>(\n key: string,\n ): NestedTableNodeState<C, TD, FD> | undefined;\n}\n\nexport class NestedTableNestedModeState<C extends string = string>\n implements NestedTableNestedModeStatePublicAPI<C>\n{\n readonly wrapper;\n readonly container;\n readonly reportBi: ReportBI;\n readonly nestedCollection: NestedCollectionState;\n readonly virtual;\n\n readonly initTask = new TaskState();\n\n readonly root: NestedTableNodeState<C, any, any>;\n\n nestedTableDragAndDrop: NestedTableDragAndDropState<C> | null = null;\n\n constructor(params: NestedTableNestedModeStateParams<C>) {\n const { wrapper } = params;\n this.wrapper = wrapper;\n this.container = wrapper.container;\n\n const rootLevelDescriptor = this.wrapper.levels[0];\n\n if (rootLevelDescriptor == null) {\n throw new Error('NestedTableState must have at least one level');\n }\n\n this.nestedCollection = new NestedCollectionState({\n container: this.container,\n levels: wrapper.levels,\n query: wrapper.query,\n nodeCollection: wrapper.rootNodeCollection,\n sequences: wrapper.sequences,\n });\n\n this.root = new NestedTableNodeState({\n nestedTable: this,\n node: this.nestedCollection.root,\n levelDescriptor: rootLevelDescriptor,\n parentNode: null,\n parent: null,\n preRegister: true,\n });\n\n this.reportBi = params.reportBi;\n\n this.virtual = new TableVirtualState({\n table: this,\n getVirtualItemKey: (item) =>\n [item.id, item.item.state.parent?.id].filter(Boolean).join('_'),\n });\n }\n\n getCollectionSnapshot() {\n const { toolbar } = this;\n\n const {\n collection: {\n result: { originQuery, total },\n },\n } = toolbar;\n\n return {\n viewShown: toolbar.viewsState?.views.currentView?.id,\n tabShown: toolbar.getCurrentTabName(),\n sortOrderApplied: originQuery.sort?.length\n ? JSON.stringify(originQuery.sort)\n : undefined,\n filtersApplied: JSON.stringify(originQuery.filtersKey),\n filteredListSizeShown: total,\n };\n }\n\n get multi() {\n return this.toolbar.multi;\n }\n\n get tableState() {\n return this.wrapper.tableState;\n }\n\n get toolbar() {\n return this.wrapper.toolbar;\n }\n\n get total() {\n return this.nestedCollection.total;\n }\n\n get originQuery() {\n return this.toolbar.collection.originQuery;\n }\n\n get keyedItems() {\n return this.root.keyedItems;\n }\n\n get _keyedItemsMap() {\n return this.root._keyedItemsMap;\n }\n\n _indentationWidth = 28;\n _parentCellPaddingStart = 24;\n\n getKeyedItem(key: string) {\n return this.root.getKeyedItem(key);\n }\n\n getKeyedItemByIndex(ind: number) {\n return this.root.getKeyedItemByIndex(ind);\n }\n\n getNode<TD, FD extends FiltersMap>(key: string) {\n return this.root._getNode<TD, FD>(key);\n }\n\n get expandAll() {\n return this.nestedCollection.expandAll;\n }\n\n get isFetchAllAborted() {\n return this.nestedCollection.isFetchAllAborted;\n }\n\n get showEmptyState() {\n return this.toolbar.multi.showEmptyState;\n }\n\n get hasAvailableItems() {\n return this.toolbar.multi.hasAvailableItems;\n }\n\n get resultOriginQuerySearch() {\n return this.toolbar.multi.resultOriginQuerySearch;\n }\n\n get hasNonPersistentActiveFilters() {\n return this.toolbar.multi.hasNonPersistentActiveFilters;\n }\n\n get showErrorState() {\n const { initTask } = this;\n return initTask.status.isError;\n }\n\n get showLoadingState() {\n return this.initTask.status.isLoading;\n }\n\n retryErrorState = action(() => {\n const { initTask } = this;\n\n if (initTask.status.isError) {\n initTask.runOnce();\n }\n });\n\n get errorStatus() {\n const { initTask } = this;\n return initTask.errorStatus;\n }\n\n get query() {\n return this.wrapper.query;\n }\n\n get levels() {\n return this.wrapper.levels;\n }\n\n init() {\n const { initTask, wrapper, root, nestedCollection } = this;\n\n const disposers = [\n wrapper.init(),\n root.init({ skipCollectionInit: true }), // collection is initialized by toolbar state\n nestedCollection.init(),\n ];\n\n initTask.runOnce(async () => {\n wrapper.initTask.runOnce();\n root.initTask.runOnce();\n\n await root.initTask.status.promise;\n await wrapper.initTask.status.promise;\n });\n\n return () => {\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -32,6 +32,7 @@ class NestedTableNodeState {
|
|
|
32
32
|
});
|
|
33
33
|
(0, _mobx.makeObservable)(this, {
|
|
34
34
|
keyedItems: _mobx.computed,
|
|
35
|
+
_keyedItemsMap: _mobx.computed,
|
|
35
36
|
_keyedItemsIfExpanded: _mobx.computed,
|
|
36
37
|
_isNotExpandableWhenEmpty: _mobx.computed,
|
|
37
38
|
init: _mobx.action,
|
|
@@ -40,7 +41,6 @@ class NestedTableNodeState {
|
|
|
40
41
|
_toggleExpand: _mobx.action,
|
|
41
42
|
_notify: _mobx.action,
|
|
42
43
|
_notifyAll: _mobx.action,
|
|
43
|
-
_keyedItemsMap: _mobx.computed,
|
|
44
44
|
deepestBranchDepth: _mobx.computed,
|
|
45
45
|
getKeyedItem: _mobx.action
|
|
46
46
|
});
|
|
@@ -49,6 +49,9 @@ class NestedTableNodeState {
|
|
|
49
49
|
get collection() {
|
|
50
50
|
return this.node.collection;
|
|
51
51
|
}
|
|
52
|
+
get children() {
|
|
53
|
+
return this.collection;
|
|
54
|
+
}
|
|
52
55
|
get depth() {
|
|
53
56
|
return this.levelDescriptor.depth;
|
|
54
57
|
}
|
|
@@ -175,6 +178,21 @@ class NestedTableNodeState {
|
|
|
175
178
|
getKeyedItem(key) {
|
|
176
179
|
return this._keyedItemsMap.get(key);
|
|
177
180
|
}
|
|
181
|
+
getDescendants() {
|
|
182
|
+
const {
|
|
183
|
+
parentKeyToChildrenMap
|
|
184
|
+
} = this;
|
|
185
|
+
return Array.from(parentKeyToChildrenMap.values()).flatMap(state => {
|
|
186
|
+
return [state, ...state.getDescendants()];
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
_getNode(key) {
|
|
190
|
+
const node = this._keyedItemsMap.get(key);
|
|
191
|
+
return node == null ? void 0 : node.item.state.parentKeyToChildrenMap.get(key);
|
|
192
|
+
}
|
|
193
|
+
getParent() {
|
|
194
|
+
return this.parentNode;
|
|
195
|
+
}
|
|
178
196
|
getKeyedItemByIndex(ind) {
|
|
179
197
|
return this.keyedItems[ind];
|
|
180
198
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_mobx","_NestedTableNodeStateBIReporter","NestedTableNodeState","constructor","params","_defineProperty2","default","TaskState","Map","createAtom","node","collection","retryErrorState","nestedTable","parentNode","parent","levelDescriptor","bi","NestedTableNodeStateBIReporter","multi","MultiCollectionSupport","collections","makeObservable","keyedItems","computed","_keyedItemsIfExpanded","_isNotExpandableWhenEmpty","init","action","createNode","_preRegisterAll","_toggleExpand","_notify","_notifyAll","_keyedItemsMap","deepestBranchDepth","getKeyedItem","_register","depth","parentKeyToChildrenMap","parentKeyToChildrenMapAtom","result","reportObserved","reduce","acc","keyedItem","_parentKeyToChildrenM","Math","max","get","id","length","_expanded","columns","renderMainColumn","showHoverHighlight","hoveredOrParentHovered","_changeHover","hovered","showEmptyState","showLoadingState","showInitialLoader","showRefreshLoader","showErrorState","errorStatus","isFetchAllAborted","Array","fill","map","_","index","key","pageIndex","indexWithinPage","item","state","originalKeyedItem","undefined","flatMap","_parentKeyToChildrenM2","getKeyedItemByIndex","ind","set","delete","_this$parentNode","promise","reportExpandCollapse","reportChanged","runInAction","_this$parentNode2","Promise","all","preRegister","dispose","initTask","status","forEach","skipCollectionInit","nestedTableDragAndDrop","disposers","initCollection","runOnce","expandAll","d","existing","nextLevelDescriptor","levels","nextLevelNode","_createNode","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableNodeState.ts"],"sourcesContent":["import {\n FiltersMap,\n KeyedItem,\n MultiCollectionSupport,\n TaskState,\n} from '@wix/bex-core';\nimport { NestedCollectionNodeState } from './NestedCollectionNodeState';\nimport {\n action,\n computed,\n createAtom,\n makeObservable,\n runInAction,\n} from 'mobx';\nimport { TableColumn } from '../../model';\nimport { NestedTableNestedModeState } from './NestedTableNestedModeState';\nimport { ReactNode } from 'react';\nimport { NestedTableNodeStateBIReporter } from './NestedTableNodeStateBIReporter';\nimport { NestedTableLevelDescriptor } from './NestedTableLevelDescriptor';\n\nexport interface NestedTableDataItem<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n state: NestedTableNodeState<C, T, F>;\n originalKeyedItem: KeyedItem<T>;\n}\n\ninterface NestedTableSkeletonItem<C extends string, T, F extends FiltersMap> {\n state: NestedTableNodeState<C, T, F>;\n originalKeyedItem: undefined;\n}\n\nexport type NestedTableItem<C extends string, T, F extends FiltersMap> =\n | NestedTableDataItem<C, T, F>\n | NestedTableSkeletonItem<C, T, F>;\n\nexport type NestedTableKeyedItem<\n C extends string,\n T,\n F extends FiltersMap,\n> = KeyedItem<NestedTableItem<C, T, F>>;\n\nexport type RenderMainColumn<T> = (item: T) => {\n title?: string;\n subtitle?: string;\n image?: ReactNode;\n};\n\nexport type NestedTableNestColumns<C extends string, T> = Partial<\n Record<C, TableColumn<T>['render']>\n>;\n\nexport interface NestedTableNodeStateParams<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n readonly nestedTable: NestedTableNestedModeState<C>;\n readonly node: NestedCollectionNodeState<T, F>;\n readonly levelDescriptor: NestedTableLevelDescriptor<C, T, F>;\n readonly parentNode: NestedTableNodeState<C, any, any> | null;\n readonly parent: KeyedItem<unknown> | null;\n readonly preRegister?: boolean;\n}\n\nexport class NestedTableNodeState<C extends string, T, F extends FiltersMap> {\n readonly nestedTable;\n readonly node;\n\n readonly levelDescriptor;\n readonly parentNode;\n readonly parent;\n readonly bi: NestedTableNodeStateBIReporter<C, T, F>;\n\n readonly multi;\n\n _rowNum?: number;\n\n readonly initTask = new TaskState();\n\n readonly parentKeyToChildrenMap = new Map<\n string,\n NestedTableNodeState<C, any, any>\n >();\n\n readonly parentKeyToChildrenMapAtom = createAtom(\n 'parentKeyToChildrenMapAtom',\n );\n\n constructor(params: NestedTableNodeStateParams<C, T, F>) {\n this.nestedTable = params.nestedTable;\n this.node = params.node;\n this.parentNode = params.parentNode;\n this.parent = params.parent;\n this.levelDescriptor = params.levelDescriptor;\n this.bi = new NestedTableNodeStateBIReporter(this);\n\n this.multi = new MultiCollectionSupport({\n collections: [this.node.collection],\n });\n\n makeObservable(this, {\n keyedItems: computed,\n _keyedItemsIfExpanded: computed,\n _isNotExpandableWhenEmpty: computed,\n init: action,\n createNode: action,\n _preRegisterAll: action,\n _toggleExpand: action,\n _notify: action,\n _notifyAll: action,\n _keyedItemsMap: computed,\n deepestBranchDepth: computed,\n getKeyedItem: action,\n });\n\n this._register();\n }\n\n get collection() {\n return this.node.collection;\n }\n\n get depth() {\n return this.levelDescriptor.depth;\n }\n\n get deepestBranchDepth(): number {\n const { node, parentKeyToChildrenMap, parentKeyToChildrenMapAtom } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n parentKeyToChildrenMapAtom.reportObserved();\n\n return (\n keyedItems.reduce((acc, keyedItem) => {\n return Math.max(\n acc,\n parentKeyToChildrenMap.get(keyedItem.id)?.deepestBranchDepth ?? 0,\n );\n }, 0) + (keyedItems.length ? 1 : 0)\n );\n }\n\n get _expanded() {\n return this.node._expanded;\n }\n\n get columns() {\n return this.levelDescriptor.columns;\n }\n\n get renderMainColumn() {\n return this.levelDescriptor.renderMainColumn;\n }\n\n get showHoverHighlight() {\n return this.node.hoveredOrParentHovered;\n }\n\n _changeHover(hovered: boolean) {\n this.node._changeHover(hovered);\n }\n\n get showEmptyState() {\n return this.node.collection.showEmptyState;\n }\n\n get showLoadingState() {\n return (\n this.node.collection.showInitialLoader ||\n this.node.collection.showRefreshLoader\n );\n }\n\n get showErrorState() {\n return this.node.collection.showErrorState;\n }\n\n get errorStatus() {\n return this.node.collection.result.errorStatus;\n }\n\n retryErrorState = () => this.node.collection.retryErrorState();\n\n get _isNotExpandableWhenEmpty() {\n const {\n nestedTable: { isFetchAllAborted },\n node: {\n collection: { showEmptyState },\n },\n } = this;\n return !isFetchAllAborted && showEmptyState;\n }\n\n get _keyedItemsIfExpanded(): NestedTableKeyedItem<C, any, any>[] {\n const {\n parent,\n nestedTable: { isFetchAllAborted },\n _expanded,\n node: {\n collection: { showRefreshLoader, showEmptyState, showErrorState },\n },\n } = this;\n\n if (!_expanded) {\n return [];\n }\n\n return [\n ...this.keyedItems,\n ...(parent &&\n isFetchAllAborted &&\n (showRefreshLoader || showEmptyState || showErrorState)\n ? new Array(1).fill(null).map((_, index) => ({\n id: `placeholder-states-${parent.key}`,\n key: `placeholder-states-${parent.key}`,\n index,\n pageIndex: 0,\n indexWithinPage: index,\n item: {\n state: this,\n originalKeyedItem: undefined,\n },\n }))\n : []),\n ];\n }\n\n get _keyedItemsMap(): Map<string, NestedTableKeyedItem<C, any, any>> {\n return new Map(\n this.keyedItems.map((keyedItem) => [keyedItem.key, keyedItem]),\n );\n }\n\n get keyedItems(): NestedTableKeyedItem<C, any, any>[] {\n const { node, parentKeyToChildrenMap, parentKeyToChildrenMapAtom } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n parentKeyToChildrenMapAtom.reportObserved();\n\n return keyedItems\n .flatMap((keyedItem) => [\n {\n ...keyedItem,\n item: {\n state: this,\n originalKeyedItem: keyedItem,\n },\n },\n ...(parentKeyToChildrenMap.get(keyedItem.key)?._keyedItemsIfExpanded ??\n []),\n ])\n .map((keyedItem, index) => ({ ...keyedItem, index }));\n }\n\n getKeyedItem(key: string) {\n return this._keyedItemsMap.get(key);\n }\n\n getKeyedItemByIndex(ind: number) {\n return this.keyedItems[ind];\n }\n\n _register() {\n const { parent, parentNode } = this;\n\n if (parent == null || parentNode == null) {\n return;\n }\n\n parentNode.parentKeyToChildrenMap.set(parent.key, this);\n\n return () => {\n parentNode.parentKeyToChildrenMap.delete(parent.key);\n };\n }\n\n async _toggleExpand() {\n const promise = this.node._toggleExpand();\n this.bi.reportExpandCollapse();\n this.parentNode?.parentKeyToChildrenMapAtom.reportChanged();\n await promise;\n runInAction(() => {\n this.parentNode?.parentKeyToChildrenMapAtom.reportChanged();\n });\n }\n\n async _preRegisterAll() {\n const { node } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n await Promise.all(\n keyedItems.map(async (keyedItem) => {\n const state = this.createNode({ parent: keyedItem, preRegister: true });\n if (state == null) {\n return;\n }\n const dispose = state.init();\n await state.initTask.status.promise;\n dispose();\n }),\n );\n }\n\n _notify() {\n const { parentKeyToChildrenMapAtom } = this;\n parentKeyToChildrenMapAtom.reportChanged();\n }\n\n _notifyAll() {\n const { parentKeyToChildrenMap } = this;\n this._notify();\n parentKeyToChildrenMap.forEach((state) => {\n state._notifyAll();\n });\n }\n\n init({ skipCollectionInit }: { skipCollectionInit?: boolean } = {}) {\n const { node, initTask, nestedTable, collection } = this;\n\n const { nestedTableDragAndDrop } = nestedTable;\n\n const disposers = [\n node.init({ skipCollectionInit }),\n nestedTableDragAndDrop?.initCollection(collection),\n ];\n\n initTask.runOnce(async () => {\n node.initTask.runOnce();\n await node.initTask.status.promise;\n\n await runInAction(async () => {\n if (!nestedTable.isFetchAllAborted && nestedTable.expandAll) {\n await this._preRegisterAll();\n if (this.depth === 0) {\n this._notifyAll();\n }\n }\n return;\n });\n });\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n createNode({\n parent,\n preRegister,\n }: {\n parent: KeyedItem<any>;\n preRegister?: boolean;\n }): NestedTableNodeState<C, any, any> | null {\n const { nestedTable, node, depth, parentKeyToChildrenMap } = this;\n\n const existing = parentKeyToChildrenMap.get(parent.key);\n\n if (existing != null) {\n return existing;\n }\n\n const nextLevelDescriptor = nestedTable.levels[depth + 1];\n\n if (nextLevelDescriptor == null) {\n return null;\n }\n\n const nextLevelNode = node._createNode(parent, {\n levelDescriptor: nextLevelDescriptor,\n preRegister,\n });\n\n if (nextLevelNode == null) {\n return null;\n }\n\n return new NestedTableNodeState({\n parent,\n parentNode: this,\n nestedTable,\n node: nextLevelNode,\n levelDescriptor: nextLevelDescriptor,\n preRegister,\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_mobx","_NestedTableNodeStateBIReporter","NestedTableNodeState","constructor","params","_defineProperty2","default","TaskState","Map","createAtom","node","collection","retryErrorState","nestedTable","parentNode","parent","levelDescriptor","bi","NestedTableNodeStateBIReporter","multi","MultiCollectionSupport","collections","makeObservable","keyedItems","computed","_keyedItemsMap","_keyedItemsIfExpanded","_isNotExpandableWhenEmpty","init","action","createNode","_preRegisterAll","_toggleExpand","_notify","_notifyAll","deepestBranchDepth","getKeyedItem","_register","children","depth","parentKeyToChildrenMap","parentKeyToChildrenMapAtom","result","reportObserved","reduce","acc","keyedItem","_parentKeyToChildrenM","Math","max","get","id","length","_expanded","columns","renderMainColumn","showHoverHighlight","hoveredOrParentHovered","_changeHover","hovered","showEmptyState","showLoadingState","showInitialLoader","showRefreshLoader","showErrorState","errorStatus","isFetchAllAborted","Array","fill","map","_","index","key","pageIndex","indexWithinPage","item","state","originalKeyedItem","undefined","flatMap","_parentKeyToChildrenM2","getDescendants","from","values","_getNode","getParent","getKeyedItemByIndex","ind","set","delete","_this$parentNode","promise","reportExpandCollapse","reportChanged","runInAction","_this$parentNode2","Promise","all","preRegister","dispose","initTask","status","forEach","skipCollectionInit","nestedTableDragAndDrop","disposers","initCollection","runOnce","expandAll","d","existing","nextLevelDescriptor","levels","nextLevelNode","_createNode","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableNodeState.ts"],"sourcesContent":["import {\n CollectionState,\n FiltersMap,\n KeyedItem,\n MultiCollectionSupport,\n TaskState,\n} from '@wix/bex-core';\nimport { NestedCollectionNodeState } from './NestedCollectionNodeState';\nimport {\n action,\n computed,\n createAtom,\n makeObservable,\n runInAction,\n} from 'mobx';\nimport { TableColumn } from '../../model';\nimport { NestedTableNestedModeState } from './NestedTableNestedModeState';\nimport { ReactNode } from 'react';\nimport { NestedTableNodeStateBIReporter } from './NestedTableNodeStateBIReporter';\nimport { NestedTableLevelDescriptor } from './NestedTableLevelDescriptor';\n\nexport interface NestedTableDataItem<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n state: NestedTableNodeState<C, T, F>;\n originalKeyedItem: KeyedItem<T>;\n}\n\ninterface NestedTableSkeletonItem<C extends string, T, F extends FiltersMap> {\n state: NestedTableNodeState<C, T, F>;\n originalKeyedItem: undefined;\n}\n\nexport type NestedTableItem<C extends string, T, F extends FiltersMap> =\n | NestedTableDataItem<C, T, F>\n | NestedTableSkeletonItem<C, T, F>;\n\nexport type NestedTableKeyedItem<\n C extends string,\n T,\n F extends FiltersMap,\n> = KeyedItem<NestedTableItem<C, T, F>>;\n\nexport type RenderMainColumn<T> = (item: T) => {\n title?: string;\n subtitle?: string;\n image?: ReactNode;\n};\n\nexport interface NestedTableNodeStatePublicAPI<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n /**\n * Get the node this node is a child of\n * @overrideType ():[NestedTableNodeState](./?path=/story/base-components-collections-nestedtable--nestedtablenodestate) | `undefined`\n */\n getParent<TD, FD extends FiltersMap>():\n | NestedTableNodeState<C, TD, FD>\n | undefined;\n /**\n * The collection of the node\n * @overrideType [CollectionState](./?path=/story/common-state--collectionstate)\n */\n readonly children: CollectionState<T, F>;\n\n /**\n * Get all the nodes that are descendants of this node from all levels\n * @overrideType ():[NestedTableNodeState](./?path=/story/base-components-collections-nestedtable--nestedtablenodestate)[]\n */\n getDescendants<TD, FD extends FiltersMap>(): NestedTableNodeState<\n C,\n TD,\n FD\n >[];\n}\n\nexport type NestedTableNestColumns<C extends string, T> = Partial<\n Record<C, TableColumn<T>['render']>\n>;\n\nexport interface NestedTableNodeStateParams<\n C extends string,\n T,\n F extends FiltersMap,\n> {\n readonly nestedTable: NestedTableNestedModeState<C>;\n readonly node: NestedCollectionNodeState<T, F>;\n readonly levelDescriptor: NestedTableLevelDescriptor<C, T, F>;\n readonly parentNode: NestedTableNodeState<C, any, any> | null;\n readonly parent: KeyedItem<unknown> | null;\n readonly preRegister?: boolean;\n}\n\nexport class NestedTableNodeState<C extends string, T, F extends FiltersMap>\n implements NestedTableNodeStatePublicAPI<C, T, F>\n{\n readonly nestedTable;\n readonly node;\n\n readonly levelDescriptor;\n readonly parentNode;\n readonly parent;\n readonly bi: NestedTableNodeStateBIReporter<C, T, F>;\n\n readonly multi;\n\n _rowNum?: number;\n\n readonly initTask = new TaskState();\n\n readonly parentKeyToChildrenMap = new Map<\n string,\n NestedTableNodeState<C, any, any>\n >();\n\n readonly parentKeyToChildrenMapAtom = createAtom(\n 'parentKeyToChildrenMapAtom',\n );\n\n constructor(params: NestedTableNodeStateParams<C, T, F>) {\n this.nestedTable = params.nestedTable;\n this.node = params.node;\n this.parentNode = params.parentNode;\n this.parent = params.parent;\n this.levelDescriptor = params.levelDescriptor;\n this.bi = new NestedTableNodeStateBIReporter(this);\n\n this.multi = new MultiCollectionSupport({\n collections: [this.node.collection],\n });\n\n makeObservable(this, {\n keyedItems: computed,\n _keyedItemsMap: computed,\n _keyedItemsIfExpanded: computed,\n _isNotExpandableWhenEmpty: computed,\n init: action,\n createNode: action,\n _preRegisterAll: action,\n _toggleExpand: action,\n _notify: action,\n _notifyAll: action,\n deepestBranchDepth: computed,\n getKeyedItem: action,\n });\n\n this._register();\n }\n\n get collection() {\n return this.node.collection;\n }\n\n get children() {\n return this.collection;\n }\n\n get depth() {\n return this.levelDescriptor.depth;\n }\n\n get deepestBranchDepth(): number {\n const { node, parentKeyToChildrenMap, parentKeyToChildrenMapAtom } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n parentKeyToChildrenMapAtom.reportObserved();\n\n return (\n keyedItems.reduce((acc, keyedItem) => {\n return Math.max(\n acc,\n parentKeyToChildrenMap.get(keyedItem.id)?.deepestBranchDepth ?? 0,\n );\n }, 0) + (keyedItems.length ? 1 : 0)\n );\n }\n\n get _expanded() {\n return this.node._expanded;\n }\n\n get columns() {\n return this.levelDescriptor.columns;\n }\n\n get renderMainColumn() {\n return this.levelDescriptor.renderMainColumn;\n }\n\n get showHoverHighlight() {\n return this.node.hoveredOrParentHovered;\n }\n\n _changeHover(hovered: boolean) {\n this.node._changeHover(hovered);\n }\n\n get showEmptyState() {\n return this.node.collection.showEmptyState;\n }\n\n get showLoadingState() {\n return (\n this.node.collection.showInitialLoader ||\n this.node.collection.showRefreshLoader\n );\n }\n\n get showErrorState() {\n return this.node.collection.showErrorState;\n }\n\n get errorStatus() {\n return this.node.collection.result.errorStatus;\n }\n\n retryErrorState = () => this.node.collection.retryErrorState();\n\n get _isNotExpandableWhenEmpty() {\n const {\n nestedTable: { isFetchAllAborted },\n node: {\n collection: { showEmptyState },\n },\n } = this;\n return !isFetchAllAborted && showEmptyState;\n }\n\n get _keyedItemsIfExpanded(): NestedTableKeyedItem<C, any, any>[] {\n const {\n parent,\n nestedTable: { isFetchAllAborted },\n _expanded,\n node: {\n collection: { showRefreshLoader, showEmptyState, showErrorState },\n },\n } = this;\n\n if (!_expanded) {\n return [];\n }\n\n return [\n ...this.keyedItems,\n ...(parent &&\n isFetchAllAborted &&\n (showRefreshLoader || showEmptyState || showErrorState)\n ? new Array(1).fill(null).map((_, index) => ({\n id: `placeholder-states-${parent.key}`,\n key: `placeholder-states-${parent.key}`,\n index,\n pageIndex: 0,\n indexWithinPage: index,\n item: {\n state: this,\n originalKeyedItem: undefined,\n },\n }))\n : []),\n ];\n }\n\n get _keyedItemsMap(): Map<string, NestedTableKeyedItem<C, any, any>> {\n return new Map(\n this.keyedItems.map((keyedItem) => [keyedItem.key, keyedItem]),\n );\n }\n\n get keyedItems(): NestedTableKeyedItem<C, any, any>[] {\n const { node, parentKeyToChildrenMap, parentKeyToChildrenMapAtom } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n parentKeyToChildrenMapAtom.reportObserved();\n\n return keyedItems\n .flatMap((keyedItem) => [\n {\n ...keyedItem,\n item: {\n state: this,\n originalKeyedItem: keyedItem,\n },\n },\n ...(parentKeyToChildrenMap.get(keyedItem.key)?._keyedItemsIfExpanded ??\n []),\n ])\n .map((keyedItem, index) => ({ ...keyedItem, index }));\n }\n\n getKeyedItem(key: string) {\n return this._keyedItemsMap.get(key);\n }\n\n getDescendants<TD, FD extends FiltersMap>(): NestedTableNodeState<\n C,\n TD,\n FD\n >[] {\n const { parentKeyToChildrenMap } = this;\n\n return Array.from(parentKeyToChildrenMap.values()).flatMap((state) => {\n return [state, ...state.getDescendants<TD, FD>()];\n });\n }\n\n _getNode<TD, FD extends FiltersMap>(key: string) {\n const node = this._keyedItemsMap.get(key);\n return node?.item.state.parentKeyToChildrenMap.get(key) as\n | NestedTableNodeState<C, TD, FD>\n | undefined;\n }\n\n getParent<TD, FD extends FiltersMap>() {\n return this.parentNode as NestedTableNodeState<C, TD, FD>;\n }\n\n getKeyedItemByIndex(ind: number) {\n return this.keyedItems[ind];\n }\n\n _register() {\n const { parent, parentNode } = this;\n\n if (parent == null || parentNode == null) {\n return;\n }\n\n parentNode.parentKeyToChildrenMap.set(parent.key, this);\n\n return () => {\n parentNode.parentKeyToChildrenMap.delete(parent.key);\n };\n }\n\n async _toggleExpand() {\n const promise = this.node._toggleExpand();\n this.bi.reportExpandCollapse();\n this.parentNode?.parentKeyToChildrenMapAtom.reportChanged();\n await promise;\n runInAction(() => {\n this.parentNode?.parentKeyToChildrenMapAtom.reportChanged();\n });\n }\n\n async _preRegisterAll() {\n const { node } = this;\n const {\n collection: {\n result: { keyedItems },\n },\n } = node;\n\n await Promise.all(\n keyedItems.map(async (keyedItem) => {\n const state = this.createNode({ parent: keyedItem, preRegister: true });\n if (state == null) {\n return;\n }\n const dispose = state.init();\n await state.initTask.status.promise;\n dispose();\n }),\n );\n }\n\n _notify() {\n const { parentKeyToChildrenMapAtom } = this;\n parentKeyToChildrenMapAtom.reportChanged();\n }\n\n _notifyAll() {\n const { parentKeyToChildrenMap } = this;\n this._notify();\n parentKeyToChildrenMap.forEach((state) => {\n state._notifyAll();\n });\n }\n\n init({ skipCollectionInit }: { skipCollectionInit?: boolean } = {}) {\n const { node, initTask, nestedTable, collection } = this;\n\n const { nestedTableDragAndDrop } = nestedTable;\n\n const disposers = [\n node.init({ skipCollectionInit }),\n nestedTableDragAndDrop?.initCollection(collection),\n ];\n\n initTask.runOnce(async () => {\n node.initTask.runOnce();\n await node.initTask.status.promise;\n\n await runInAction(async () => {\n if (!nestedTable.isFetchAllAborted && nestedTable.expandAll) {\n await this._preRegisterAll();\n if (this.depth === 0) {\n this._notifyAll();\n }\n }\n return;\n });\n });\n\n return () => {\n disposers.forEach((d) => d?.());\n };\n }\n\n createNode({\n parent,\n preRegister,\n }: {\n parent: KeyedItem<any>;\n preRegister?: boolean;\n }): NestedTableNodeState<C, any, any> | null {\n const { nestedTable, node, depth, parentKeyToChildrenMap } = this;\n\n const existing = parentKeyToChildrenMap.get(parent.key);\n\n if (existing != null) {\n return existing;\n }\n\n const nextLevelDescriptor = nestedTable.levels[depth + 1];\n\n if (nextLevelDescriptor == null) {\n return null;\n }\n\n const nextLevelNode = node._createNode(parent, {\n levelDescriptor: nextLevelDescriptor,\n preRegister,\n });\n\n if (nextLevelNode == null) {\n return null;\n }\n\n return new NestedTableNodeState({\n parent,\n parentNode: this,\n nestedTable,\n node: nextLevelNode,\n levelDescriptor: nextLevelDescriptor,\n preRegister,\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_bexCore","require","_ToolbarCollectionState","_TableState","_NestedTableNestedModeState","_NestedTableFlatModeState","_NestedCollectionFetchAllState","_util","_mobx","NestedTableState","constructor","params","_defineProperty2","default","TaskState","Map","container","query","QueryState","filters","levels","map","level","i","depth","options","fetchAllThreshold","expandAllThreshold","mainColumn","rootLevelDescriptor","Error","rootNodeCollection","createCollection","parent","sequences","collection","syncWithSharedQuery","reportBi","reportProps","isFetchAllAborted","componentStatus","toolbar","ToolbarCollectionState","componentType","setNewColumns","columns","column","render","tableState","TableState","nested","NestedTableNestedModeState","wrapper","flat","NestedTableFlatModeState","expandAll","nestedCollection","_attemptFetchAllAndPopulateCache","initTask","init","runOnce","fetchAllState","NestedCollectionFetchAllState","nestedCollectionState","disposers","status","promise","forEach","d","isFlatMode","hasActiveFilters","attemptFetchAllState","reaction","_fields","add","delete","fireImmediately","addEventListener","emitter","sections","featuresInitializers","reset","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n QueryState,\n ReportBI,\n syncWithSharedQuery,\n TaskState,\n CollectionOptimisticSequenceExecutor,\n} from '@wix/bex-core';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { TableState } from '../TableState';\nimport { TableColumn } from '../../model';\nimport { NestedTableColumn } from './NestedTableColumn';\nimport { NestedTableNestedModeState } from './NestedTableNestedModeState';\nimport { NestedTableFlatModeState } from './NestedTableFlatModeState';\nimport { NestedCollectionFetchAllState } from './NestedCollectionFetchAllState';\nimport { NestedTableLevelDescriptor } from './NestedTableLevelDescriptor';\nimport { EagerLazyModeOptions } from './types';\nimport { addEventListener } from '@wix/bex-core/util';\nimport { reaction } from 'mobx';\nimport { ICollectionComponentState } from '../ICollectionComponentState';\n\nexport interface NestedTableStateBaseParams<C extends string> {\n /**\n * If the total items in the server are less or equal to this threshold, all items will be fetched and rendered at once, in expanded state (referred to as \"Eager\" mode).\n * @default 1000\n */\n fetchAllThreshold?: number;\n /**\n * In \"Eager\" mode, items will be in expanded state. This threshold allows to use collapsed state if the total items in the server are greater than this threshold.\n * @default 0\n */\n expandAllThreshold?: number;\n /**\n * Columns to be rendered in the nested table. Same as [regular table columns](./?path=/story/base-components-collections-table-table--table) - without rendering logic of cells (defined for each level individually in the `levels` prop).\n */\n columns: NestedTableColumn<C>[];\n /**\n * Main column of the nested table.\n * An object with the following properties:\n * - `title`: The title of the column. @default ''\n * - `width`: The width of the column. Can be a number (in pixels) or a string (percentage). @default '326px'\n */\n mainColumn?: {\n title?: string;\n width?: number | string;\n };\n /**\n * Defines the collection for each level in the nested table.\n * Each level needs to specify:\n * - `createCollection`: A function that creates a collection for the current level (using `useCreateCollection` hook), and returns the collection state and a reference to a filter object within this collection that filters the collection by the parent key.\n * - `parentKey`: A function that accepts the item of the current level and returns the key of the parent item, for example: `(item) => item.parentId`.\n * - `breadcrumbs`: A function that accepts the item of the current level and returns an array of breadcrumbs to be displayed in the toolbar. Each breadcrumb is an object with `id` and `name` properties. `fetchData` will be called with `query.fields` that contains the value `breadcrumbs` to signal that the breadcrumbs should be fetched.\n * - `columns` (optional): Render logic of the cells for this level. By default all cells will be empty.\n * - `renderMainColumn` (optional): Render logic of the main column for this level.\n * - `actionCell` (optional): A table's last column. Use this column to add an action at the end of each row. For example, a delete button to delete an item. Pass an [`ActionCellProps`](https://www.docs.wixdesignsystem.com/?path=/story/components-lists-table--tableactioncell) object, or a function that returns an `ActionCellProps` object.\n<\n */\n levels: Omit<NestedTableLevelDescriptor<C, any, any>, 'depth'>[];\n}\n\nexport interface NestedTableStateParams<C extends string>\n extends NestedTableStateBaseParams<C> {\n container: WixPatternsContainer;\n}\n\nexport interface NestedTableStatePublicAPI {\n /**\n * Underlying [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate) instance\n */\n readonly toolbar: ToolbarCollectionState<unknown, {}>;\n /**\n * Underlying [TableState](./?path=/story/base-components-collections-table-tablestate--tablestate) instance\n */\n readonly tableState: TableState<unknown, {}>;\n}\n\nexport class NestedTableState<C extends string = string>\n implements ICollectionComponentState, NestedTableStatePublicAPI\n{\n readonly container;\n readonly reportBi: ReportBI;\n readonly toolbar;\n readonly tableState;\n readonly mainColumn;\n readonly options: EagerLazyModeOptions;\n\n readonly initTask = new TaskState();\n\n readonly levels: NestedTableLevelDescriptor<C, any, any>[];\n\n readonly rootNodeCollection;\n readonly query;\n\n readonly nested: NestedTableNestedModeState<C>;\n readonly flat: NestedTableFlatModeState<C>;\n\n readonly sequences = new Map<string, CollectionOptimisticSequenceExecutor>();\n\n constructor(params: NestedTableStateParams<C>) {\n this.container = params.container;\n\n this.query = new QueryState({\n filters: {},\n });\n\n this.levels = params.levels.map((level, i) => ({\n ...level,\n depth: i,\n }));\n\n this.options = {\n fetchAllThreshold: params.fetchAllThreshold ?? 1000,\n expandAllThreshold: params.expandAllThreshold ?? 0,\n };\n\n this.mainColumn = params.mainColumn;\n const rootLevelDescriptor = this.levels[0];\n\n if (rootLevelDescriptor == null) {\n throw new Error('NestedTableState must have at least one level');\n }\n\n this.rootNodeCollection = rootLevelDescriptor.createCollection({\n parent: null,\n sequences: this.sequences,\n query: this.query,\n });\n\n const { collection } = this.rootNodeCollection;\n\n syncWithSharedQuery(collection.query, this.query);\n\n this.reportBi = (reportProps) => {\n const { isFetchAllAborted } = this;\n this.container.reportBi({\n ...reportProps,\n params: {\n ...reportProps.params,\n ...(isFetchAllAborted != null && {\n componentStatus: isFetchAllAborted\n ? 'All items collapsed'\n : 'All items expanded',\n }),\n },\n });\n };\n\n this.toolbar = new ToolbarCollectionState({\n collection: this.rootNodeCollection.collection,\n container: params.container,\n componentType: 'NestedTable',\n reportBi: this.reportBi,\n });\n\n this.toolbar.setNewColumns(\n params.columns.map((column) => ({\n ...column,\n render: () => null,\n })) as TableColumn<unknown>[],\n );\n\n this.tableState = new TableState({\n collection: this.rootNodeCollection.collection,\n container: params.container,\n toolbar: this.toolbar,\n });\n\n this.nested = new NestedTableNestedModeState({\n wrapper: this,\n reportBi: this.reportBi,\n });\n\n this.flat = new NestedTableFlatModeState({\n wrapper: this,\n });\n }\n\n get isFetchAllAborted() {\n return this.nested.isFetchAllAborted;\n }\n\n get expandAll() {\n return this.nested.expandAll;\n }\n\n get nestedCollection() {\n return this.nested.nestedCollection;\n }\n\n _attemptFetchAllAndPopulateCache() {\n const initTask = new TaskState();\n return {\n initTask,\n init: () => {\n initTask.runOnce(async () => {\n const fetchAllState = new NestedCollectionFetchAllState({\n options: this.options,\n query: this.nested.query,\n nestedCollectionState: this.nested.nestedCollection,\n });\n\n const disposers = [fetchAllState.init()];\n\n try {\n await fetchAllState.initTask.status.promise;\n } finally {\n disposers.forEach((d) => d());\n }\n });\n\n return () => {};\n },\n };\n }\n\n get isFlatMode() {\n return this.query.hasActiveFilters;\n }\n\n init() {\n const { initTask, tableState, query, rootNodeCollection, flat } = this;\n\n const attemptFetchAllState = this._attemptFetchAllAndPopulateCache();\n\n const disposers = [\n query.init(),\n reaction(\n () => this.isFlatMode,\n (isFlatMode) => {\n const {\n query: { _fields },\n } = this;\n if (isFlatMode) {\n _fields.add('breadcrumbs');\n } else {\n _fields.delete('breadcrumbs');\n }\n },\n { fireImmediately: true },\n ),\n addEventListener(\n rootNodeCollection.collection.emitter,\n 'beforeInitialFetch',\n () => attemptFetchAllState.initTask.status.promise,\n ),\n ...flat.sections.map(({ collection }) =>\n addEventListener(\n collection.emitter,\n 'beforeInitialFetch',\n () => attemptFetchAllState.initTask.status.promise,\n ),\n ),\n attemptFetchAllState.init(),\n tableState.init({\n featuresInitializers: [],\n }),\n ];\n\n initTask.runOnce(async () => {\n tableState.initTask.runOnce();\n attemptFetchAllState.initTask.runOnce();\n await attemptFetchAllState.initTask.status.promise;\n await tableState.initTask.status.promise;\n });\n\n return () => {\n initTask.reset();\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_bexCore","require","_ToolbarCollectionState","_TableState","_NestedTableNestedModeState","_NestedTableFlatModeState","_NestedCollectionFetchAllState","_util","_mobx","NestedTableState","constructor","params","_defineProperty2","default","TaskState","Map","container","query","QueryState","filters","levels","map","level","i","depth","options","fetchAllThreshold","expandAllThreshold","mainColumn","rootLevelDescriptor","Error","rootNodeCollection","createCollection","parent","sequences","collection","syncWithSharedQuery","reportBi","reportProps","isFetchAllAborted","componentStatus","toolbar","ToolbarCollectionState","componentType","setNewColumns","columns","column","render","tableState","TableState","nested","NestedTableNestedModeState","wrapper","flat","NestedTableFlatModeState","expandAll","nestedCollection","_attemptFetchAllAndPopulateCache","initTask","init","runOnce","fetchAllState","NestedCollectionFetchAllState","nestedCollectionState","disposers","status","promise","forEach","d","isFlatMode","hasActiveFilters","attemptFetchAllState","reaction","_fields","add","delete","fireImmediately","addEventListener","emitter","sections","featuresInitializers","reset","exports"],"sources":["../../../../src/state/NestedTableState/NestedTableState.ts"],"sourcesContent":["import {\n WixPatternsContainer,\n QueryState,\n ReportBI,\n syncWithSharedQuery,\n TaskState,\n CollectionOptimisticSequenceExecutor,\n} from '@wix/bex-core';\nimport { ToolbarCollectionState } from '../ToolbarCollectionState';\nimport { TableState } from '../TableState';\nimport { TableColumn } from '../../model';\nimport { NestedTableColumn } from './NestedTableColumn';\nimport { NestedTableNestedModeState } from './NestedTableNestedModeState';\nimport { NestedTableFlatModeState } from './NestedTableFlatModeState';\nimport { NestedCollectionFetchAllState } from './NestedCollectionFetchAllState';\nimport { NestedTableLevelDescriptor } from './NestedTableLevelDescriptor';\nimport { EagerLazyModeOptions } from './types';\nimport { addEventListener } from '@wix/bex-core/util';\nimport { reaction } from 'mobx';\nimport { ICollectionComponentState } from '../ICollectionComponentState';\n\nexport interface NestedTableStateBaseParams<C extends string> {\n /**\n * If the total items in the server are less or equal to this threshold, all items will be fetched and rendered at once, in expanded state (referred to as \"Eager\" mode).\n * @default 1000\n */\n fetchAllThreshold?: number;\n /**\n * In \"Eager\" mode, items will be in expanded state. This threshold allows to use collapsed state if the total items in the server are greater than this threshold.\n * @default 0\n */\n expandAllThreshold?: number;\n /**\n * Columns to be rendered in the nested table. Same as [regular table columns](./?path=/story/base-components-collections-table-table--table) - without rendering logic of cells (defined for each level individually in the `levels` prop).\n */\n columns: NestedTableColumn<C>[];\n /**\n * Main column of the nested table.\n * An object with the following properties:\n * - `title`: The title of the column. @default ''\n * - `width`: The width of the column. Can be a number (in pixels) or a string (percentage). @default '326px'\n */\n mainColumn?: {\n title?: string;\n width?: number | string;\n };\n /**\n * Defines the collection for each level in the nested table.\n * Each level needs to specify:\n * - `createCollection`: A function that creates a collection for the current level (using `useCreateCollection` hook), and returns the collection state and a reference to a filter object within this collection that filters the collection by the parent key.\n * - `parentKey`: A function that accepts the item of the current level and returns the key of the parent item, for example: `(item) => item.parentId`.\n * - `breadcrumbs`: A function that accepts the item of the current level and returns an array of breadcrumbs to be displayed in the toolbar. Each breadcrumb is an object with `id` and `name` properties. `fetchData` will be called with `query.fields` that contains the value `breadcrumbs` to signal that the breadcrumbs should be fetched.\n * - `columns` (optional): Render logic of the cells for this level. By default all cells will be empty.\n * - `renderMainColumn` (optional): Render logic of the main column for this level.\n * - `actionCell` (optional): A table's last column. Use this column to add an action at the end of each row. For example, a delete button to delete an item. Pass an [`ActionCellProps`](https://www.docs.wixdesignsystem.com/?path=/story/components-lists-table--tableactioncell) object, or a function that returns an `ActionCellProps` object.\n<\n */\n levels: Omit<NestedTableLevelDescriptor<C, any, any>, 'depth'>[];\n}\n\nexport interface NestedTableStateParams<C extends string>\n extends NestedTableStateBaseParams<C> {\n container: WixPatternsContainer;\n}\n\nexport interface NestedTableStatePublicAPI {\n /**\n * Underlying [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate) instance\n * @overrideType [ToolbarCollectionState](./?path=/story/common-state--toolbarcollectionstate)\n */\n readonly toolbar: ToolbarCollectionState<unknown, {}>;\n /**\n * Underlying [TableState](./?path=/story/base-components-collections-table-tablestate--tablestate) instance\n * @overrideType [TableState](./?path=/story/base-components-collections-table-tablestate--tablestate)\n */\n readonly tableState: TableState<unknown, {}>;\n\n /**\n * Underlying [NestedTableNestedModeState](./?path=/story/base-components-collections-nestedtable--nestedtablenestedmodestate) instance\n * @overrideType [NestedTableNestedModeState](./?path=/story/base-components-collections-nestedtable--nestedtablenestedmodestate)\n */\n readonly nested: NestedTableNestedModeState;\n}\n\nexport class NestedTableState<C extends string = string>\n implements ICollectionComponentState, NestedTableStatePublicAPI\n{\n readonly container;\n readonly reportBi: ReportBI;\n readonly toolbar;\n readonly tableState;\n readonly mainColumn;\n readonly options: EagerLazyModeOptions;\n\n readonly initTask = new TaskState();\n\n readonly levels: NestedTableLevelDescriptor<C, any, any>[];\n\n readonly rootNodeCollection;\n readonly query;\n\n readonly nested: NestedTableNestedModeState<C>;\n readonly flat: NestedTableFlatModeState<C>;\n\n readonly sequences = new Map<string, CollectionOptimisticSequenceExecutor>();\n\n constructor(params: NestedTableStateParams<C>) {\n this.container = params.container;\n\n this.query = new QueryState({\n filters: {},\n });\n\n this.levels = params.levels.map((level, i) => ({\n ...level,\n depth: i,\n }));\n\n this.options = {\n fetchAllThreshold: params.fetchAllThreshold ?? 1000,\n expandAllThreshold: params.expandAllThreshold ?? 0,\n };\n\n this.mainColumn = params.mainColumn;\n const rootLevelDescriptor = this.levels[0];\n\n if (rootLevelDescriptor == null) {\n throw new Error('NestedTableState must have at least one level');\n }\n\n this.rootNodeCollection = rootLevelDescriptor.createCollection({\n parent: null,\n sequences: this.sequences,\n query: this.query,\n });\n\n const { collection } = this.rootNodeCollection;\n\n syncWithSharedQuery(collection.query, this.query);\n\n this.reportBi = (reportProps) => {\n const { isFetchAllAborted } = this;\n this.container.reportBi({\n ...reportProps,\n params: {\n ...reportProps.params,\n ...(isFetchAllAborted != null && {\n componentStatus: isFetchAllAborted\n ? 'All items collapsed'\n : 'All items expanded',\n }),\n },\n });\n };\n\n this.toolbar = new ToolbarCollectionState({\n collection: this.rootNodeCollection.collection,\n container: params.container,\n componentType: 'NestedTable',\n reportBi: this.reportBi,\n });\n\n this.toolbar.setNewColumns(\n params.columns.map((column) => ({\n ...column,\n render: () => null,\n })) as TableColumn<unknown>[],\n );\n\n this.tableState = new TableState({\n collection: this.rootNodeCollection.collection,\n container: params.container,\n toolbar: this.toolbar,\n });\n\n this.nested = new NestedTableNestedModeState({\n wrapper: this,\n reportBi: this.reportBi,\n });\n\n this.flat = new NestedTableFlatModeState({\n wrapper: this,\n });\n }\n\n get isFetchAllAborted() {\n return this.nested.isFetchAllAborted;\n }\n\n get expandAll() {\n return this.nested.expandAll;\n }\n\n get nestedCollection() {\n return this.nested.nestedCollection;\n }\n\n _attemptFetchAllAndPopulateCache() {\n const initTask = new TaskState();\n return {\n initTask,\n init: () => {\n initTask.runOnce(async () => {\n const fetchAllState = new NestedCollectionFetchAllState({\n options: this.options,\n query: this.nested.query,\n nestedCollectionState: this.nested.nestedCollection,\n });\n\n const disposers = [fetchAllState.init()];\n\n try {\n await fetchAllState.initTask.status.promise;\n } finally {\n disposers.forEach((d) => d());\n }\n });\n\n return () => {};\n },\n };\n }\n\n get isFlatMode() {\n return this.query.hasActiveFilters;\n }\n\n init() {\n const { initTask, tableState, query, rootNodeCollection, flat } = this;\n\n const attemptFetchAllState = this._attemptFetchAllAndPopulateCache();\n\n const disposers = [\n query.init(),\n reaction(\n () => this.isFlatMode,\n (isFlatMode) => {\n const {\n query: { _fields },\n } = this;\n if (isFlatMode) {\n _fields.add('breadcrumbs');\n } else {\n _fields.delete('breadcrumbs');\n }\n },\n { fireImmediately: true },\n ),\n addEventListener(\n rootNodeCollection.collection.emitter,\n 'beforeInitialFetch',\n () => attemptFetchAllState.initTask.status.promise,\n ),\n ...flat.sections.map(({ collection }) =>\n addEventListener(\n collection.emitter,\n 'beforeInitialFetch',\n () => attemptFetchAllState.initTask.status.promise,\n ),\n ),\n attemptFetchAllState.init(),\n tableState.init({\n featuresInitializers: [],\n }),\n ];\n\n initTask.runOnce(async () => {\n tableState.initTask.runOnce();\n attemptFetchAllState.initTask.runOnce();\n await attemptFetchAllState.initTask.status.promise;\n await tableState.initTask.status.promise;\n });\n\n return () => {\n initTask.reset();\n disposers.forEach((d) => d());\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.
|
|
1
|
+
.Collapse1409968576__root{transition-property:height;transition-timing-function:cubic-bezier(.4,0,.2,1)}.Collapse1409968576__exit{height:0}.CollectionToolbar1159719802__left{min-width:0}.CollectionToolbar1159719802__left.CollectionToolbar1159719802--expandable{flex:auto}.CollectionToolbar1159719802__root .CollectionToolbar1159719802__right{justify-content:flex-end!important;flex:auto}.CollectionToolbar1159719802__root .CollectionToolbar1159719802__right.CollectionToolbar1159719802__fullWidth{margin-inline-start:0!important}.SearchOrCustomFilter2923954022__search{min-width:140px;max-width:240px;flex:1 0}.AutoCompleteReadonly1921684279__root.AutoCompleteReadonly1921684279--disableEditing{cursor:pointer}.AutoCompleteReadonly1921684279__root.AutoCompleteReadonly1921684279--disableEditing input{cursor:pointer}.ViewsDropdown1225129640__root{width:200px}.CustomFieldsViewWidgetSection1548344634__breakWord{overflow-wrap:break-word}.DragHandle4029374969__root{display:flex;align-items:center}.DragHandle4029374969__root:not(.DragHandle4029374969--disabled){cursor:grab;color:#a8caff}.DragHandle4029374969__root.DragHandle4029374969--disabled{color:#acafc4}.DragHandle4029374969__root:focus-visible:not(.DragHandle4029374969--disabled){outline:0;box-shadow:0 0 0 3px #a6d0ff}.DragHandle4029374969__root.DragHandle4029374969--disabled{pointer-events:none}.DragHandle4029374969__root.DragHandle4029374969--dragging:not(.DragHandle4029374969--disabled){cursor:grabbing}.Fade329268213__root{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);opacity:1}.Fade329268213__root.Fade329268213--exit{opacity:0}.Heading531295156__root{visibility:visible}.Heading531295156__root.Heading531295156--appearanceH2{font-size:28px!important;line-height:36px!important}.InputOverflow3937520116__root.InputOverflow3937520116--selected:not(.InputOverflow3937520116--focused) input::placeholder{color:#000624}@keyframes LoadingRow2638675653__gradientSwoosh{0%{background-position:50% 50%;background-size:150% 125%}15%{background-position:75% 40%;background-size:130% 115%}30%{background-position:50% 50%;background-size:120% 135%}60%{background-position:30% 50%;background-size:120% 135%}80%{background-position:10% 30%;background-size:130% 155%}to{background-position:40% 45%;background-size:125% 135%}}.LoadingRow2638675653__root{background-image:linear-gradient(60deg,rgba(255,255,255,.15)0,rgba(255,255,255,.15) 50%,rgba(95,242,174,.15) 100%),linear-gradient(284.81deg,#fff 67.18%,#91bbff 158.87%),linear-gradient(29deg,rgba(145,187,255,.6)0,#fff 40%,rgba(95,242,174,.6) 100%);height:100%;background-size:150% 125%;background-repeat:no-repeat;animation:LoadingRow2638675653__gradientSwoosh 2s ease-out infinite alternate}.MaxHeightText665038571__root{opacity:1}.MaxHeightText665038571__root.MaxHeightText665038571--height24{line-height:24px}.MaxLines634150486__root{overflow:hidden}.MaxLines634150486__root.MaxLines634150486--clamp{-webkit-box-orient:vertical;display:-webkit-box}.MultiBulkActionToolbar3671918232__root{min-width:0}.NestedTableRow1590069578__firstLevel td{padding-top:18px!important;padding-bottom:18px!important}.NestedTableRow1590069578__root:hover{background-color:#e7f0ff}.NestedTableRow1590069578__root.NestedTableRow1590069578--expandable{cursor:pointer}.NestedTableRow1590069578__placeholder td{padding:0!important;width:100%}.NestedTableRow1590069578__root:hover td:first-of-type::before,.NestedTableRow1590069578__parentHovered td:first-of-type::before{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;background-color:#5999ff}.MultipleDragOverlayEffect4184380017__root{position:absolute;transform:translate(6px,6px);background-color:#fff;box-shadow:0 2px 4px 0 rgba(0,6,36,.12),0 0 6px 0 rgba(0,6,36,.12)}.PickerContent1758623136__root{display:flex}.PickerContentAdditionalStep3247091436__titles{display:flex;justify-content:center;flex:1 1 auto;overflow:hidden;flex-direction:column}.PickerContentAdditionalStep3247091436__suffix{display:flex;align-items:center;flex:0 0 auto;overflow:hidden}.PickerTableListItem2561511508__root{box-sizing:border-box}.ScrollableContent416708371__root.ScrollableContent416708371--overflowY{overflow-y:auto}.ScrollableContent416708371__root.ScrollableContent416708371--overflowX{overflow-x:auto}.ScrollableContent416708371__root.ScrollableContent416708371--smooth{scroll-behavior:smooth}.SkeletonCard3472792417__headerLoading{display:block!important}.SlidingModal3032918883__root{transition:transform .4s ease 0s;position:fixed;z-index:1}.SlidingModal3032918883__root:not(.SlidingModal3032918883--exited){box-shadow:0 3px 24px 0 rgba(22,45,61,.18),0 8px 8px 0 rgba(22,45,61,.12)}.TableVirtualHeader909781826__root{display:flex}.TabsFilter2785437520__root .TabsFilter2785437520__title{color:inherit!important}.ManageTagsModal2668220011__root{display:flex}.ToolbarItemBox4112147116__root{min-width:0}.ToolbarItemBox4112147116__root.ToolbarItemBox4112147116--removeStartPadding{margin-left:-24px}.ToolbarItemBox4112147116__root.ToolbarItemBox4112147116--expandable{flex:1 0}.common3540683975__column{display:flex;flex-direction:column}.common3540683975__fullHeight{height:100%;min-height:0}
|
package/dist/cjs/version.js
CHANGED
package/dist/cjs/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["version","exports"],"sources":["../../src/version.ts"],"sourcesContent":["export const version = 'patterns@1.
|
|
1
|
+
{"version":3,"names":["version","exports"],"sources":["../../src/version.ts"],"sourcesContent":["export const version = 'patterns@1.48.0';\n"],"mappings":";;;;AAAO,MAAMA,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG,iBAAiB","ignoreList":[]}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
3
|
-
var _namespace_ = "
|
|
3
|
+
var _namespace_ = "Collapse1409968576";
|
|
4
4
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
5
5
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
6
6
|
export var style = _style_;
|
|
7
7
|
export var st = _style_;
|
|
8
8
|
export var namespace = _namespace_;
|
|
9
|
-
export var classes = { "root": "
|
|
9
|
+
export var classes = { "root": "Collapse1409968576__root", "exit": "Collapse1409968576__exit" };
|
|
10
10
|
export var keyframes = {};
|
|
11
11
|
export var layers = {};
|
|
12
12
|
export var containers = {};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
3
|
-
var _namespace_ = "
|
|
3
|
+
var _namespace_ = "CollectionToolbar1159719802";
|
|
4
4
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
5
5
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
6
6
|
export var style = _style_;
|
|
7
7
|
export var st = _style_;
|
|
8
8
|
export var namespace = _namespace_;
|
|
9
|
-
export var classes = { "root": "
|
|
9
|
+
export var classes = { "root": "CollectionToolbar1159719802__root", "left": "CollectionToolbar1159719802__left", "right": "CollectionToolbar1159719802__right", "fullWidth": "CollectionToolbar1159719802__fullWidth" };
|
|
10
10
|
export var keyframes = {};
|
|
11
11
|
export var layers = {};
|
|
12
12
|
export var containers = {};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
3
|
-
var _namespace_ = "
|
|
3
|
+
var _namespace_ = "SearchOrCustomFilter2923954022";
|
|
4
4
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
5
5
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
6
6
|
export var style = _style_;
|
|
7
7
|
export var st = _style_;
|
|
8
8
|
export var namespace = _namespace_;
|
|
9
|
-
export var classes = { "root": "
|
|
9
|
+
export var classes = { "root": "SearchOrCustomFilter2923954022__root", "search": "SearchOrCustomFilter2923954022__search" };
|
|
10
10
|
export var keyframes = {};
|
|
11
11
|
export var layers = {};
|
|
12
12
|
export var containers = {};
|