@wix/bex-core 2.161.0 → 2.163.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/assets/locale/messages_sv.json +1 -1
- package/dist/cjs/model/wixPatternsEssentials.js.map +1 -1
- package/dist/cjs/providers/DashboardContext.js +32 -0
- package/dist/cjs/providers/DashboardContext.js.map +1 -0
- package/dist/cjs/providers/index.js +18 -0
- package/dist/cjs/providers/index.js.map +1 -1
- package/dist/cjs/providers/usePageLocation.js +14 -0
- package/dist/cjs/providers/usePageLocation.js.map +1 -0
- package/dist/cjs/providers/withDashboard.js +29 -0
- package/dist/cjs/providers/withDashboard.js.map +1 -0
- package/dist/cjs/state/CollectionOptimisticProcessor.js +6 -16
- package/dist/cjs/state/CollectionOptimisticProcessor.js.map +1 -1
- package/dist/cjs/state/CustomFieldModalBiReporter.js +9 -3
- package/dist/cjs/state/CustomFieldModalBiReporter.js.map +1 -1
- package/dist/cjs/state/CustomFieldModalState.js +1 -0
- package/dist/cjs/state/CustomFieldModalState.js.map +1 -1
- package/dist/cjs/state/optimistic-simulation/filterPageByPatches.js +19 -13
- package/dist/cjs/state/optimistic-simulation/filterPageByPatches.js.map +1 -1
- package/dist/esm/assets/locale/messages_sv.json +1 -1
- package/dist/esm/providers/DashboardContext.js +10 -0
- package/dist/esm/providers/DashboardContext.js.map +1 -0
- package/dist/esm/providers/index.js +3 -0
- package/dist/esm/providers/index.js.map +1 -1
- package/dist/esm/providers/usePageLocation.js +9 -0
- package/dist/esm/providers/usePageLocation.js.map +1 -0
- package/dist/esm/providers/withDashboard.js +7 -0
- package/dist/esm/providers/withDashboard.js.map +1 -0
- package/dist/esm/state/CollectionOptimisticProcessor.js +32 -47
- package/dist/esm/state/CollectionOptimisticProcessor.js.map +1 -1
- package/dist/esm/state/CustomFieldModalBiReporter.js +4 -2
- package/dist/esm/state/CustomFieldModalBiReporter.js.map +1 -1
- package/dist/esm/state/CustomFieldModalState.js.map +1 -1
- package/dist/esm/state/optimistic-simulation/filterPageByPatches.js +19 -13
- package/dist/esm/state/optimistic-simulation/filterPageByPatches.js.map +1 -1
- package/dist/types/model/wixPatternsEssentials.d.ts +3 -0
- package/dist/types/model/wixPatternsEssentials.d.ts.map +1 -1
- package/dist/types/providers/DashboardContext.d.ts +13 -0
- package/dist/types/providers/DashboardContext.d.ts.map +1 -0
- package/dist/types/providers/index.d.ts +3 -0
- package/dist/types/providers/index.d.ts.map +1 -1
- package/dist/types/providers/usePageLocation.d.ts +2 -0
- package/dist/types/providers/usePageLocation.d.ts.map +1 -0
- package/dist/types/providers/withDashboard.d.ts +4 -0
- package/dist/types/providers/withDashboard.d.ts.map +1 -0
- package/dist/types/services/fetchTranslationsPreBundled.d.ts +1 -1
- package/dist/types/services/fetchTranslationsPreBundled.d.ts.map +1 -1
- package/dist/types/state/CollectionOptimisticProcessor.d.ts.map +1 -1
- package/dist/types/state/CustomFieldModalBiReporter.d.ts +4 -1
- package/dist/types/state/CustomFieldModalBiReporter.d.ts.map +1 -1
- package/dist/types/state/CustomFieldModalState.d.ts +1 -0
- package/dist/types/state/CustomFieldModalState.d.ts.map +1 -1
- package/dist/types/state/WixPatternsContainer.d.ts +3 -3
- package/dist/types/state/WixPatternsContainer.d.ts.map +1 -1
- package/dist/types/state/optimistic-simulation/filterPageByPatches.d.ts.map +1 -1
- package/package.json +3 -3
- package/dist/cjs/state/optimistic-simulation/filterByApplyAllPatches.js +0 -22
- package/dist/cjs/state/optimistic-simulation/filterByApplyAllPatches.js.map +0 -1
- package/dist/esm/state/optimistic-simulation/filterByApplyAllPatches.js +0 -15
- package/dist/esm/state/optimistic-simulation/filterByApplyAllPatches.js.map +0 -1
- package/dist/types/state/optimistic-simulation/filterByApplyAllPatches.d.ts +0 -5
- package/dist/types/state/optimistic-simulation/filterByApplyAllPatches.d.ts.map +0 -1
|
@@ -173,7 +173,7 @@
|
|
|
173
173
|
"cairo.customFields.fieldType.longText": "Lång text",
|
|
174
174
|
"cairo.export.tryAgain": "Försök igen",
|
|
175
175
|
"cairo.sortableColumns.modal.title": "Sortera listan efter {columnTitle}?",
|
|
176
|
-
"cairo.customFields.addCustomField.modal.PII-setting.toggle.name": "Personuppgifter
|
|
176
|
+
"cairo.customFields.addCustomField.modal.PII-setting.toggle.name": "Personuppgifter",
|
|
177
177
|
"cairo.dragAndDrop.leaveSite.modal.description": "Ändringar av objektens ordning kanske inte sparas.",
|
|
178
178
|
"cairo.table.deleteViewModal.deleteBody": "När du har raderat \"{viewName}\" går den inte att återställa.",
|
|
179
179
|
"cairo.export.allItems": "Alla",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../src/model/wixPatternsEssentials.ts"],"sourcesContent":["import type { Essentials, EssentialsOptions } from '@wix/fe-essentials/core';\nimport type { LogParams, ReportProps } from '@wix/fe-essentials/bi';\nimport type { ErrorHandler } from '@wix/fe-essentials/error-handler';\nimport type { Trans, useTranslation } from '@wix/fe-essentials/react';\nimport type { ShowToast } from './toast';\nimport type {\n Environment,\n EnvironmentBi,\n ErrorMonitor,\n Experiments,\n MonitorLogger,\n OnlineManager,\n} from '../services';\nimport type { History } from 'history';\nimport type { QueryCache } from 'react-query/core';\nimport type { FunctionComponent } from 'react';\nimport type { DataCapsule } from './dataCapsule';\nimport { HttpClient } from './httpClient';\n\nexport type OnSidePanelOpen = (listener: () => void) => {\n remove(): void;\n};\n\nexport type CloseSidePanel = () => unknown;\n\nexport interface BiLogger {\n report(reportProps: ReportProps): Promise<any>;\n}\n\nexport interface CairoBILoggerFactory {\n updateDefaults(params: LogParams): this;\n logger(): BiLogger;\n}\n\nexport type PageLocation = {\n pageId: string;\n pathname: string;\n search?: string;\n hash?: string;\n};\n\nexport type OnNavigationPause = () => { resume(): void };\nexport type OnNavigationCallback = (pause: OnNavigationPause) => void;\nexport type OnNavigation = (callback: OnNavigationCallback) => {\n remove(): void;\n};\n\nexport type NavigateToObject = {\n pageId: string;\n relativeUrl?: string;\n appState?: string;\n referrer?: string;\n};\nexport type NavigateOptions = { state?: any };\nexport type NavigateToFunc = (to: NavigateToObject) => void;\n\nexport type BeforeUnloadResponse = {\n remove: () => void;\n};\nexport type OnBeforeUnload = (\n callback: (event: Event) => void,\n) => BeforeUnloadResponse;\n\nexport interface HostContainerExtension {\n appId?: string;\n componentId: string;\n title?: string;\n menuItem?: {\n IconComponent?: FunctionComponent;\n structuredAction: (params?: Record<string, any>) => unknown;\n };\n Extension?: React.ComponentType;\n}\nexport type GetExtensions = () =>\n | HostContainerExtension[]\n | Promise<HostContainerExtension[]>;\ninterface HostContainer {\n getExtensions: GetExtensions;\n}\n\nexport type GetHostContainer = (hostContainerId: string) => HostContainer;\n\ntype CreateEssentials = (options: EssentialsOptions) => {\n i18n: Essentials['i18n'];\n dataCapsule: Essentials['dataCapsule'];\n biLoggerFactory?: () => CairoBILoggerFactory;\n errorMonitor: ErrorMonitor;\n fedopsLogger?: MonitorLogger;\n experiments?: Experiments;\n};\nexport type CreateComponentSettings = (container: {\n httpClient: HttpClient;\n queryCache: QueryCache;\n environment: Environment;\n createEssentials: CreateEssentials;\n}) => (options: { namespace: string }) => DataCapsule;\n\nexport interface PatternsErrorHandler {\n withErrorHandler: ErrorHandler['withErrorHandler'];\n getResolvedError?: ErrorHandler['getResolvedError'];\n showError?: ErrorHandler['showError'];\n reportRetryAttempt?: ErrorHandler['reportRetryAttempt'];\n}\n\nexport interface WixPatternsEssentials {\n httpClient: HttpClient;\n /** A `ErrorMonitor` instance `@wix/fe-essentials/error-monitor` */\n errorMonitor: ErrorMonitor;\n /** A `Experiments` instance `@wix/fe-essentials/experiments` */\n experiments: Experiments;\n errorHandler?: PatternsErrorHandler;\n biLogger?: BiLogger | null;\n /**\n * A function that returns the shape `{ i18n }` - should be compatible with `{createEssentials} from '@wix/fe-essentials'` */\n createEssentials: CreateEssentials;\n /** A `DataCapsule` to store component-level settings such as `Views` */\n createComponentSettings?: CreateComponentSettings;\n /** The user's environment\n * - `language` - preferable language for the user\n * - `artifactId` - App level identifier, usually the artifact ID\n * - `componentId` - Component/page level identifier (Optional)\n * - `componentName` - Readable component/page name (Optional)\n */\n environment: Pick<Environment, 'language'> &\n Partial<Omit<Environment, 'language'>> & { uiLibVersion?: string };\n environmentBI: EnvironmentBi;\n /** `useTranslation` hook from `react-i18next` or `@wix/fe-essentials/react` */\n useTranslation: typeof useTranslation;\n /** `Trans` component from `react-i18next` or `@wix/fe-essentials/react */\n Trans: typeof Trans;\n user: {\n permissions: string[];\n };\n /** `useExperiments` hook from `@wix/yoshi-flow-bm` or `@wix/fe-essentials/react` */\n useExperiments: () => {\n ready: boolean;\n experiments: {\n enabled: (key: string) => boolean;\n };\n };\n usePageLocation?: () => PageLocation;\n /** A function that shows a global toast. For BM usage, it should be `showToast` from `business-manager-api` */\n showToast?: ShowToast;\n /** A function to perform a navigation to a given pageId */\n navigateTo?: NavigateToFunc;\n useAppLoaded?: () => void;\n onSidePanelOpen?: OnSidePanelOpen;\n closeSidePanel?: CloseSidePanel;\n /** Custom [history](https://github.com/remix-run/history/tree/v5.3.0/packages/history) instance to sync custom consumer navigations with Cairo navigations */\n history?: History;\n /** An optional query cache instance for controlling the cache from other modules */\n queryCache?: QueryCache;\n /** A function that interrupts a navigation to another app inside wix platforms */\n onNavigation?: OnNavigation;\n getHostContainer?: GetHostContainer;\n onlineManager?: OnlineManager;\n /**\n * Deals with dirty state by setting up a listener that triggers a confirmation dialog when a user attempts to leave a page. The event listener is removed upon component unmount.\n * @param callback - called on navigation with an event object. Use event.preventDefault() within the callback to display the dialog.\n * @returns { remove: () => void } - object that includes a remove method. You can use this method to remove the listener whenever necessary.\n */\n onBeforeUnload?: OnBeforeUnload;\n}\n\nexport interface WixPatternsEssentialsOverrides\n extends Omit<Partial<WixPatternsEssentials>, 'environment'> {\n environment: Partial<WixPatternsEssentials['environment']>;\n}\n\nexport type ContextType = 'ACCOUNT' | 'SITE';\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/model/wixPatternsEssentials.ts"],"sourcesContent":["import type { Essentials, EssentialsOptions } from '@wix/fe-essentials/core';\nimport type { LogParams, ReportProps } from '@wix/fe-essentials/bi';\nimport type { ErrorHandler } from '@wix/fe-essentials/error-handler';\nimport type { Trans, useTranslation } from '@wix/fe-essentials/react';\nimport type { ShowToast } from './toast';\nimport type {\n Environment,\n EnvironmentBi,\n ErrorMonitor,\n Experiments,\n MonitorLogger,\n OnlineManager,\n} from '../services';\nimport type { History } from 'history';\nimport type { QueryCache } from 'react-query/core';\nimport type { FunctionComponent } from 'react';\nimport type { DataCapsule } from './dataCapsule';\nimport { HttpClient } from './httpClient';\n\nexport type OnSidePanelOpen = (listener: () => void) => {\n remove(): void;\n};\n\nexport type CloseSidePanel = () => unknown;\n\nexport interface BiLogger {\n report(reportProps: ReportProps): Promise<any>;\n}\n\nexport interface CairoBILoggerFactory {\n updateDefaults(params: LogParams): this;\n logger(): BiLogger;\n}\n\nexport type PageLocation = {\n pageId: string;\n pathname: string;\n search?: string;\n hash?: string;\n};\n\nexport interface PageProps {\n location: PageLocation;\n}\n\nexport type OnNavigationPause = () => { resume(): void };\nexport type OnNavigationCallback = (pause: OnNavigationPause) => void;\nexport type OnNavigation = (callback: OnNavigationCallback) => {\n remove(): void;\n};\n\nexport type NavigateToObject = {\n pageId: string;\n relativeUrl?: string;\n appState?: string;\n referrer?: string;\n};\nexport type NavigateOptions = { state?: any };\nexport type NavigateToFunc = (to: NavigateToObject) => void;\n\nexport type BeforeUnloadResponse = {\n remove: () => void;\n};\nexport type OnBeforeUnload = (\n callback: (event: Event) => void,\n) => BeforeUnloadResponse;\n\nexport interface HostContainerExtension {\n appId?: string;\n componentId: string;\n title?: string;\n menuItem?: {\n IconComponent?: FunctionComponent;\n structuredAction: (params?: Record<string, any>) => unknown;\n };\n Extension?: React.ComponentType;\n}\nexport type GetExtensions = () =>\n | HostContainerExtension[]\n | Promise<HostContainerExtension[]>;\ninterface HostContainer {\n getExtensions: GetExtensions;\n}\n\nexport type GetHostContainer = (hostContainerId: string) => HostContainer;\n\ntype CreateEssentials = (options: EssentialsOptions) => {\n i18n: Essentials['i18n'];\n dataCapsule: Essentials['dataCapsule'];\n biLoggerFactory?: () => CairoBILoggerFactory;\n errorMonitor: ErrorMonitor;\n fedopsLogger?: MonitorLogger;\n experiments?: Experiments;\n};\nexport type CreateComponentSettings = (container: {\n httpClient: HttpClient;\n queryCache: QueryCache;\n environment: Environment;\n createEssentials: CreateEssentials;\n}) => (options: { namespace: string }) => DataCapsule;\n\nexport interface PatternsErrorHandler {\n withErrorHandler: ErrorHandler['withErrorHandler'];\n getResolvedError?: ErrorHandler['getResolvedError'];\n showError?: ErrorHandler['showError'];\n reportRetryAttempt?: ErrorHandler['reportRetryAttempt'];\n}\n\nexport interface WixPatternsEssentials {\n httpClient: HttpClient;\n /** A `ErrorMonitor` instance `@wix/fe-essentials/error-monitor` */\n errorMonitor: ErrorMonitor;\n /** A `Experiments` instance `@wix/fe-essentials/experiments` */\n experiments: Experiments;\n errorHandler?: PatternsErrorHandler;\n biLogger?: BiLogger | null;\n /**\n * A function that returns the shape `{ i18n }` - should be compatible with `{createEssentials} from '@wix/fe-essentials'` */\n createEssentials: CreateEssentials;\n /** A `DataCapsule` to store component-level settings such as `Views` */\n createComponentSettings?: CreateComponentSettings;\n /** The user's environment\n * - `language` - preferable language for the user\n * - `artifactId` - App level identifier, usually the artifact ID\n * - `componentId` - Component/page level identifier (Optional)\n * - `componentName` - Readable component/page name (Optional)\n */\n environment: Pick<Environment, 'language'> &\n Partial<Omit<Environment, 'language'>> & { uiLibVersion?: string };\n environmentBI: EnvironmentBi;\n /** `useTranslation` hook from `react-i18next` or `@wix/fe-essentials/react` */\n useTranslation: typeof useTranslation;\n /** `Trans` component from `react-i18next` or `@wix/fe-essentials/react */\n Trans: typeof Trans;\n user: {\n permissions: string[];\n };\n /** `useExperiments` hook from `@wix/yoshi-flow-bm` or `@wix/fe-essentials/react` */\n useExperiments: () => {\n ready: boolean;\n experiments: {\n enabled: (key: string) => boolean;\n };\n };\n usePageLocation?: () => PageLocation;\n /** A function that shows a global toast. For BM usage, it should be `showToast` from `business-manager-api` */\n showToast?: ShowToast;\n /** A function to perform a navigation to a given pageId */\n navigateTo?: NavigateToFunc;\n useAppLoaded?: () => void;\n onSidePanelOpen?: OnSidePanelOpen;\n closeSidePanel?: CloseSidePanel;\n /** Custom [history](https://github.com/remix-run/history/tree/v5.3.0/packages/history) instance to sync custom consumer navigations with Cairo navigations */\n history?: History;\n /** An optional query cache instance for controlling the cache from other modules */\n queryCache?: QueryCache;\n /** A function that interrupts a navigation to another app inside wix platforms */\n onNavigation?: OnNavigation;\n getHostContainer?: GetHostContainer;\n onlineManager?: OnlineManager;\n /**\n * Deals with dirty state by setting up a listener that triggers a confirmation dialog when a user attempts to leave a page. The event listener is removed upon component unmount.\n * @param callback - called on navigation with an event object. Use event.preventDefault() within the callback to display the dialog.\n * @returns { remove: () => void } - object that includes a remove method. You can use this method to remove the listener whenever necessary.\n */\n onBeforeUnload?: OnBeforeUnload;\n}\n\nexport interface WixPatternsEssentialsOverrides\n extends Omit<Partial<WixPatternsEssentials>, 'environment'> {\n environment: Partial<WixPatternsEssentials['environment']>;\n}\n\nexport type ContextType = 'ACCOUNT' | 'SITE';\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.useDashboardContext = exports.DashboardProvider = void 0;
|
|
5
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
6
|
+
var _jsxFileName = "/home/builduser/work/db7ea24852bc3350/packages/core/dist/cjs/providers/DashboardContext.tsx";
|
|
7
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
8
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
9
|
+
const DashboardContext = /*#__PURE__*/(0, _react.createContext)(undefined);
|
|
10
|
+
const useDashboardContext = () => {
|
|
11
|
+
const context = (0, _react.useContext)(DashboardContext);
|
|
12
|
+
return context;
|
|
13
|
+
};
|
|
14
|
+
exports.useDashboardContext = useDashboardContext;
|
|
15
|
+
const DashboardProvider = ({
|
|
16
|
+
children,
|
|
17
|
+
location
|
|
18
|
+
}) => {
|
|
19
|
+
return /*#__PURE__*/_react.default.createElement(DashboardContext.Provider, {
|
|
20
|
+
value: {
|
|
21
|
+
location
|
|
22
|
+
},
|
|
23
|
+
__self: void 0,
|
|
24
|
+
__source: {
|
|
25
|
+
fileName: _jsxFileName,
|
|
26
|
+
lineNumber: 27,
|
|
27
|
+
columnNumber: 5
|
|
28
|
+
}
|
|
29
|
+
}, children);
|
|
30
|
+
};
|
|
31
|
+
exports.DashboardProvider = DashboardProvider;
|
|
32
|
+
//# sourceMappingURL=DashboardContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","DashboardContext","createContext","undefined","useDashboardContext","context","useContext","exports","DashboardProvider","children","location","createElement","Provider","value","__self","__source","fileName","lineNumber","columnNumber"],"sources":["../../../src/providers/DashboardContext.tsx"],"sourcesContent":["import React, { createContext, useContext } from 'react';\nimport { PageLocation } from '../model';\n\ninterface DashboardContextType {\n location: PageLocation;\n}\n\nconst DashboardContext = createContext<DashboardContextType | undefined>(\n undefined,\n);\n\nexport const useDashboardContext = () => {\n const context = useContext(DashboardContext);\n return context;\n};\n\ninterface DashboardProviderProps {\n children: React.ReactNode;\n location: PageLocation;\n}\n\nexport const DashboardProvider: React.FC<DashboardProviderProps> = ({\n children,\n location,\n}) => {\n return (\n <DashboardContext.Provider value={{ location }}>\n {children}\n </DashboardContext.Provider>\n );\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAyD,IAAAC,YAAA;AAAA,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAJ,wBAAAI,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAOzD,MAAMW,gBAAgB,gBAAG,IAAAC,oBAAa,EACpCC,SACF,CAAC;AAEM,MAAMC,mBAAmB,GAAGA,CAAA,KAAM;EACvC,MAAMC,OAAO,GAAG,IAAAC,iBAAU,EAACL,gBAAgB,CAAC;EAC5C,OAAOI,OAAO;AAChB,CAAC;AAACE,OAAA,CAAAH,mBAAA,GAAAA,mBAAA;AAOK,MAAMI,iBAAmD,GAAGA,CAAC;EAClEC,QAAQ;EACRC;AACF,CAAC,KAAK;EACJ,oBACEjC,MAAA,CAAAU,OAAA,CAAAwB,aAAA,CAACV,gBAAgB,CAACW,QAAQ;IAACC,KAAK,EAAE;MAAEH;IAAS,CAAE;IAAAI,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAApC,YAAA;MAAAqC,UAAA;MAAAC,YAAA;IAAA;EAAA,GAC5CT,QACwB,CAAC;AAEhC,CAAC;AAACF,OAAA,CAAAC,iBAAA,GAAAA,iBAAA","ignoreList":[]}
|
|
@@ -61,4 +61,22 @@ Object.keys(_WidgetsFormContext).forEach(function (key) {
|
|
|
61
61
|
if (key in exports && exports[key] === _WidgetsFormContext[key]) return;
|
|
62
62
|
exports[key] = _WidgetsFormContext[key];
|
|
63
63
|
});
|
|
64
|
+
var _usePageLocation = require("./usePageLocation");
|
|
65
|
+
Object.keys(_usePageLocation).forEach(function (key) {
|
|
66
|
+
if (key === "default" || key === "__esModule") return;
|
|
67
|
+
if (key in exports && exports[key] === _usePageLocation[key]) return;
|
|
68
|
+
exports[key] = _usePageLocation[key];
|
|
69
|
+
});
|
|
70
|
+
var _DashboardContext = require("./DashboardContext");
|
|
71
|
+
Object.keys(_DashboardContext).forEach(function (key) {
|
|
72
|
+
if (key === "default" || key === "__esModule") return;
|
|
73
|
+
if (key in exports && exports[key] === _DashboardContext[key]) return;
|
|
74
|
+
exports[key] = _DashboardContext[key];
|
|
75
|
+
});
|
|
76
|
+
var _withDashboard = require("./withDashboard");
|
|
77
|
+
Object.keys(_withDashboard).forEach(function (key) {
|
|
78
|
+
if (key === "default" || key === "__esModule") return;
|
|
79
|
+
if (key in exports && exports[key] === _withDashboard[key]) return;
|
|
80
|
+
exports[key] = _withDashboard[key];
|
|
81
|
+
});
|
|
64
82
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_WixPatternsInitialPropsProvider","require","Object","keys","forEach","key","exports","_WixPatternsContainerProvider","_CairoProvider","_WixPatternsContainerOverridesContext","_createContext","_CollectionContext","_CollectionPageContext","_PageContext","_FormPageContext","_WidgetsFormContext"],"sources":["../../../src/providers/index.ts"],"sourcesContent":["export * from './WixPatternsInitialPropsProvider';\nexport * from './WixPatternsContainerProvider';\nexport * from './CairoProvider';\nexport * from './WixPatternsContainerOverridesContext';\nexport * from './createContext';\nexport * from './CollectionContext';\nexport * from './CollectionPageContext';\nexport * from './PageContext';\nexport * from './FormPageContext';\nexport * from './WidgetsFormContext';\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_WixPatternsInitialPropsProvider","require","Object","keys","forEach","key","exports","_WixPatternsContainerProvider","_CairoProvider","_WixPatternsContainerOverridesContext","_createContext","_CollectionContext","_CollectionPageContext","_PageContext","_FormPageContext","_WidgetsFormContext","_usePageLocation","_DashboardContext","_withDashboard"],"sources":["../../../src/providers/index.ts"],"sourcesContent":["export * from './WixPatternsInitialPropsProvider';\nexport * from './WixPatternsContainerProvider';\nexport * from './CairoProvider';\nexport * from './WixPatternsContainerOverridesContext';\nexport * from './createContext';\nexport * from './CollectionContext';\nexport * from './CollectionPageContext';\nexport * from './PageContext';\nexport * from './FormPageContext';\nexport * from './WidgetsFormContext';\nexport * from './usePageLocation';\nexport * from './DashboardContext';\nexport * from './withDashboard';\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.usePageLocation = void 0;
|
|
5
|
+
var _DashboardContext = require("./DashboardContext");
|
|
6
|
+
const usePageLocation = () => {
|
|
7
|
+
const dashboardContext = (0, _DashboardContext.useDashboardContext)();
|
|
8
|
+
if (!dashboardContext) {
|
|
9
|
+
throw new Error('Cannot get dashboard context for usePageLocation. Please wrap your Page component with `withDashboard` HOC');
|
|
10
|
+
}
|
|
11
|
+
return dashboardContext.location;
|
|
12
|
+
};
|
|
13
|
+
exports.usePageLocation = usePageLocation;
|
|
14
|
+
//# sourceMappingURL=usePageLocation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_DashboardContext","require","usePageLocation","dashboardContext","useDashboardContext","Error","location","exports"],"sources":["../../../src/providers/usePageLocation.ts"],"sourcesContent":["import { useDashboardContext } from './DashboardContext';\n\nexport const usePageLocation = () => {\n const dashboardContext = useDashboardContext();\n\n if (!dashboardContext) {\n throw new Error(\n 'Cannot get dashboard context for usePageLocation. Please wrap your Page component with `withDashboard` HOC',\n );\n }\n return dashboardContext.location;\n};\n"],"mappings":";;;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAEO,MAAMC,eAAe,GAAGA,CAAA,KAAM;EACnC,MAAMC,gBAAgB,GAAG,IAAAC,qCAAmB,EAAC,CAAC;EAE9C,IAAI,CAACD,gBAAgB,EAAE;IACrB,MAAM,IAAIE,KAAK,CACb,4GACF,CAAC;EACH;EACA,OAAOF,gBAAgB,CAACG,QAAQ;AAClC,CAAC;AAACC,OAAA,CAAAL,eAAA,GAAAA,eAAA","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.withDashboard = void 0;
|
|
6
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _DashboardContext = require("./DashboardContext");
|
|
9
|
+
var _jsxFileName = "/home/builduser/work/db7ea24852bc3350/packages/core/dist/cjs/providers/withDashboard.tsx";
|
|
10
|
+
const withDashboard = PageComponent => {
|
|
11
|
+
return props => /*#__PURE__*/_react.default.createElement(_DashboardContext.DashboardProvider, {
|
|
12
|
+
location: props.location,
|
|
13
|
+
__self: void 0,
|
|
14
|
+
__source: {
|
|
15
|
+
fileName: _jsxFileName,
|
|
16
|
+
lineNumber: 9,
|
|
17
|
+
columnNumber: 5
|
|
18
|
+
}
|
|
19
|
+
}, /*#__PURE__*/_react.default.createElement(PageComponent, (0, _extends2.default)({}, props, {
|
|
20
|
+
__self: void 0,
|
|
21
|
+
__source: {
|
|
22
|
+
fileName: _jsxFileName,
|
|
23
|
+
lineNumber: 10,
|
|
24
|
+
columnNumber: 7
|
|
25
|
+
}
|
|
26
|
+
})));
|
|
27
|
+
};
|
|
28
|
+
exports.withDashboard = withDashboard;
|
|
29
|
+
//# sourceMappingURL=withDashboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_DashboardContext","_jsxFileName","withDashboard","PageComponent","props","default","createElement","DashboardProvider","location","__self","__source","fileName","lineNumber","columnNumber","_extends2","exports"],"sources":["../../../src/providers/withDashboard.tsx"],"sourcesContent":["import React from 'react';\nimport { DashboardProvider } from './DashboardContext';\nimport { PageProps } from '../model';\n\nexport const withDashboard = (\n PageComponent: React.ComponentType<PageProps>,\n) => {\n return (props: PageProps) => (\n <DashboardProvider location={props.location}>\n <PageComponent {...props} />\n </DashboardProvider>\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,iBAAA,GAAAD,OAAA;AAAuD,IAAAE,YAAA;AAGhD,MAAMC,aAAa,GACxBC,aAA6C,IAC1C;EACH,OAAQC,KAAgB,iBACtBP,MAAA,CAAAQ,OAAA,CAAAC,aAAA,CAACN,iBAAA,CAAAO,iBAAiB;IAACC,QAAQ,EAAEJ,KAAK,CAACI,QAAS;IAAAC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAV,YAAA;MAAAW,UAAA;MAAAC,YAAA;IAAA;EAAA,gBAC1ChB,MAAA,CAAAQ,OAAA,CAAAC,aAAA,CAACH,aAAa,MAAAW,SAAA,CAAAT,OAAA,MAAKD,KAAK;IAAAK,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAV,YAAA;MAAAW,UAAA;MAAAC,YAAA;IAAA;EAAA,EAAG,CACV,CACpB;AACH,CAAC;AAACE,OAAA,CAAAb,aAAA,GAAAA,aAAA","ignoreList":[]}
|
|
@@ -10,7 +10,6 @@ var _CollectionOptimisticHelpers = require("./CollectionOptimisticHelpers");
|
|
|
10
10
|
var _optimisticSimulation = require("./optimistic-simulation");
|
|
11
11
|
var _orderByOrders = require("./optimistic-simulation/orderByOrders");
|
|
12
12
|
var _orderByMoves = require("./optimistic-simulation/orderByMoves");
|
|
13
|
-
var _filterByApplyAllPatches = require("./optimistic-simulation/filterByApplyAllPatches");
|
|
14
13
|
class CollectionOptimisticProcessor {
|
|
15
14
|
constructor(params) {
|
|
16
15
|
(0, _defineProperty2.default)(this, "collection", void 0);
|
|
@@ -98,20 +97,11 @@ class CollectionOptimisticProcessor {
|
|
|
98
97
|
const itemPredicate = predicate(originQuery);
|
|
99
98
|
const orders = _orderByMode === 'orders' ? orderByIteratee(originQuery) : [];
|
|
100
99
|
let finalPages = pages;
|
|
101
|
-
finalPages = _orderByMode !== 'moves' ? finalPages.map(page => {
|
|
102
|
-
return page.filter((0, _optimisticSimulation.filterPageByPatches)(patches, {
|
|
103
|
-
itemPredicate,
|
|
104
|
-
itemKey
|
|
105
|
-
})).map((0, _optimisticSimulation.transformItemByUpdateAllPatches)(patches));
|
|
106
|
-
}) : finalPages;
|
|
107
100
|
const itemToMerge = (0, _optimisticSimulation.prepareItemsToMergeIntoPage)(patches, {
|
|
108
101
|
itemPredicate,
|
|
109
102
|
currentItemsMap
|
|
110
103
|
});
|
|
111
|
-
|
|
112
|
-
return finalPages;
|
|
113
|
-
}
|
|
114
|
-
finalPages = finalPages.map((page, index) => {
|
|
104
|
+
finalPages = !itemToMerge.all.size && _orderByMode === 'orders' ? finalPages : finalPages.map((page, index) => {
|
|
115
105
|
const pageWithPatchedItems = itemToMerge.all.size ? (0, _optimisticSimulation.mergePatchedItems)(itemToMerge, {
|
|
116
106
|
page,
|
|
117
107
|
limit,
|
|
@@ -136,12 +126,12 @@ class CollectionOptimisticProcessor {
|
|
|
136
126
|
limit
|
|
137
127
|
});
|
|
138
128
|
});
|
|
139
|
-
|
|
140
|
-
|
|
129
|
+
finalPages = finalPages.map(page => {
|
|
130
|
+
return page.filter((0, _optimisticSimulation.filterPageByPatches)(patches, {
|
|
131
|
+
itemPredicate,
|
|
132
|
+
itemKey
|
|
133
|
+
}));
|
|
141
134
|
});
|
|
142
|
-
finalPages = _orderByMode === 'moves' ? finalPages.map(page => {
|
|
143
|
-
return page.filter(patchedItemPredicate);
|
|
144
|
-
}) : finalPages;
|
|
145
135
|
return finalPages;
|
|
146
136
|
}
|
|
147
137
|
beforeSetTotal({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_QueryResultSimulationDefault","_CollectionOptimisticHelpers","_optimisticSimulation","_orderByOrders","_orderByMoves","_filterByApplyAllPatches","CollectionOptimisticProcessor","constructor","params","_defineProperty2","default","collection","processorHelpers","CollectionOptimisticProcessorHelpers","optimistic","resultSimulationDefault","QueryResultSimulationDefault","predicate","orderBy","makeObservable","reprocess","action","bound","beforeAddNewPages","beforeSetTotal","_register","emitter","on","events","removeSelectionIfExists","itemKey","bulkSelect","result","originQuery","state","patches","itemPredicate","filterItem","filterPageByPatches","select","filter","item","pages","currentItemsMap","query","_orderByMode","orderByIteratee","limit","length","orders","finalPages","map","page","transformItemByUpdateAllPatches","itemToMerge","prepareItemsToMergeIntoPage","all","size","index","pageWithPatchedItems","mergePatchedItems","orderByMoves","pageIndex","currentFiltersKeyHash","filtersKeyHash","toMerge","orderByOrders","patchedItemPredicate","filterByApplyAllPatches","total","processedTotal","reduce","prev","actionType","patchedItemsEntries","originalItems","originalTotal","key","originalItem","get","patchedItemsTotal","acc","value","Math","max","exports"],"sources":["../../../src/state/CollectionOptimisticProcessor.ts"],"sourcesContent":["import {\n ComputedQuery,\n ComputedQueryFull,\n FiltersMap,\n KeyedItem,\n} from '../model';\nimport { CollectionState } from './CollectionState';\nimport { action, makeObservable } from 'mobx';\nimport { Order, QueryResultSimulation } from './QueryResultSimulation';\nimport { QueryResultSimulationDefault } from './QueryResultSimulationDefault';\nimport { TypedEmitter } from '../util';\nimport { CollectionOptimisticProcessorHelpers } from './CollectionOptimisticHelpers';\nimport { CollectionOptimisticActionsState } from './CollectionOptimisticActionsState';\nimport {\n filterPageByPatches,\n mergePatchedItems,\n prepareItemsToMergeIntoPage,\n transformItemByUpdateAllPatches,\n} from './optimistic-simulation';\nimport { orderByOrders } from './optimistic-simulation/orderByOrders';\nimport { orderByMoves } from './optimistic-simulation/orderByMoves';\nimport { QueryState } from './QueryState';\nimport { filterByApplyAllPatches } from './optimistic-simulation/filterByApplyAllPatches';\n\ninterface Optimistic<T, F extends FiltersMap> {\n _orderByMode: 'orders' | 'moves';\n readonly state: CollectionOptimisticActionsState<T>;\n readonly events: TypedEmitter<{\n reprocess: () => void;\n updated: () => void;\n }>;\n readonly query: QueryState<F>;\n}\n\nexport interface CollectionOptimisticProcessorParams<T, F extends FiltersMap>\n extends Partial<QueryResultSimulation<T, F>> {\n readonly collection: CollectionState<T, F>;\n readonly optimistic: Optimistic<T, F>;\n}\n\nexport class CollectionOptimisticProcessor<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly processorHelpers: CollectionOptimisticProcessorHelpers<T, F>;\n readonly optimistic: Optimistic<T, F>;\n\n readonly resultSimulationDefault: QueryResultSimulation<T, F>;\n readonly predicate: (computedQuery: ComputedQuery<F>) => (item: T) => boolean;\n readonly orderBy: (computedQuery: ComputedQuery<F>) => Order<T>[];\n\n constructor(params: CollectionOptimisticProcessorParams<T, F>) {\n this.collection = params.collection;\n this.processorHelpers = new CollectionOptimisticProcessorHelpers(\n this.collection,\n );\n this.optimistic = params.optimistic;\n\n this.resultSimulationDefault = new QueryResultSimulationDefault({\n collection: this.collection,\n });\n this.predicate = params.predicate ?? this.resultSimulationDefault.predicate;\n this.orderBy = params.orderBy ?? this.resultSimulationDefault.orderBy;\n\n makeObservable(this, {\n reprocess: action.bound,\n beforeAddNewPages: action.bound,\n beforeSetTotal: action.bound,\n });\n\n this._register();\n }\n\n _register() {\n this.collection.emitter.on('beforeAddNewPages', this.beforeAddNewPages);\n this.collection.emitter.on('beforeSetTotal', this.beforeSetTotal);\n this.optimistic.events.on('reprocess', this.reprocess);\n }\n\n reprocess() {\n this.removeSelectionIfExists();\n this.processorHelpers.reprocess();\n }\n\n removeSelectionIfExists() {\n const {\n collection: {\n itemKey,\n bulkSelect,\n result: { originQuery },\n },\n optimistic: {\n state: { patches },\n },\n predicate,\n } = this;\n\n const itemPredicate = predicate(originQuery);\n\n const filterItem = filterPageByPatches(patches, { itemPredicate, itemKey });\n bulkSelect.select.filter(({ item }) => filterItem(item));\n }\n\n beforeAddNewPages({\n pages,\n currentItemsMap,\n originQuery,\n }: {\n pages: T[][];\n currentItemsMap: Map<string, KeyedItem<T>>;\n originQuery: ComputedQueryFull<F>;\n }) {\n const {\n optimistic: { state, query, _orderByMode },\n collection,\n predicate,\n orderBy: orderByIteratee,\n } = this;\n\n const { itemKey } = collection;\n\n const { patches } = state;\n\n const { limit } = originQuery;\n\n if (!patches.length) {\n return pages;\n }\n\n const itemPredicate = predicate(originQuery);\n const orders =\n _orderByMode === 'orders' ? orderByIteratee(originQuery) : [];\n\n let finalPages = pages;\n\n finalPages =\n _orderByMode !== 'moves'\n ? finalPages.map((page) => {\n return page\n .filter(filterPageByPatches(patches, { itemPredicate, itemKey }))\n .map(transformItemByUpdateAllPatches(patches));\n })\n : finalPages;\n\n const itemToMerge = prepareItemsToMergeIntoPage(patches, {\n itemPredicate,\n currentItemsMap,\n });\n\n if (!itemToMerge.all.size && _orderByMode === 'orders') {\n return finalPages;\n }\n\n finalPages = finalPages.map((page, index) => {\n const pageWithPatchedItems = itemToMerge.all.size\n ? mergePatchedItems(itemToMerge, {\n page,\n limit,\n itemKey,\n orders,\n itemPredicate,\n })\n : page.map((item) => ({ item }));\n\n return _orderByMode === 'moves'\n ? orderByMoves({\n pageWithPatchedItems,\n pageIndex: index,\n patches,\n currentFiltersKeyHash: query.filtersKeyHash,\n itemKey,\n toMerge: itemToMerge,\n itemPredicate,\n limit,\n })\n : orderByOrders(pageWithPatchedItems, itemToMerge, {\n orders,\n itemKey,\n limit,\n });\n });\n\n const patchedItemPredicate = filterByApplyAllPatches(patches, {\n itemPredicate,\n });\n\n finalPages =\n _orderByMode === 'moves'\n ? finalPages.map((page) => {\n return page.filter(patchedItemPredicate);\n })\n : finalPages;\n\n return finalPages;\n }\n\n beforeSetTotal({\n total,\n originQuery,\n }: {\n total: number;\n originQuery: ComputedQuery<F>;\n }) {\n const {\n optimistic: { state },\n predicate,\n } = this;\n\n const { patches } = state;\n\n if (!patches.length) {\n return total;\n }\n\n const itemPredicate = predicate(originQuery);\n\n const processedTotal = patches.reduce(\n (\n prev,\n { actionType, patchedItemsEntries, originalItems, originalTotal },\n ) => {\n if (actionType === 'updateAllConst' || actionType === 'deleteAll') {\n const [[key, item] = []] = patchedItemsEntries;\n\n if (key == null || item == null) {\n return prev;\n }\n\n const originalItem = originalItems.get(key);\n\n if (\n itemPredicate(item) &&\n (originalItem == null || !itemPredicate(originalItem))\n ) {\n return prev + originalTotal;\n }\n\n if (\n // if action=deleteAll treat the item as filtered out, no need to check predicate\n (actionType === 'deleteAll' || !itemPredicate(item)) &&\n originalItem != null &&\n itemPredicate(originalItem)\n ) {\n return prev - originalTotal;\n }\n\n return prev;\n }\n\n const patchedItemsTotal = patchedItemsEntries.reduce(\n (acc, [key, item]) => {\n const originalItem = originalItems.get(key);\n const value = (() => {\n switch (actionType) {\n case 'deleteMany':\n if (originalItem != null && itemPredicate(originalItem)) {\n return -1;\n }\n\n return 0;\n case 'updateMany':\n case 'updateAll':\n case 'createMany':\n if (\n itemPredicate(item) &&\n (originalItem == null || !itemPredicate(originalItem))\n ) {\n return 1;\n }\n\n if (\n !itemPredicate(item) &&\n originalItem != null &&\n itemPredicate(originalItem)\n ) {\n return -1;\n }\n return 0;\n }\n\n return 0;\n })();\n return acc + value;\n },\n 0,\n );\n\n return prev + patchedItemsTotal;\n },\n total,\n );\n\n return Math.max(processedTotal, 0);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_QueryResultSimulationDefault","_CollectionOptimisticHelpers","_optimisticSimulation","_orderByOrders","_orderByMoves","CollectionOptimisticProcessor","constructor","params","_defineProperty2","default","collection","processorHelpers","CollectionOptimisticProcessorHelpers","optimistic","resultSimulationDefault","QueryResultSimulationDefault","predicate","orderBy","makeObservable","reprocess","action","bound","beforeAddNewPages","beforeSetTotal","_register","emitter","on","events","removeSelectionIfExists","itemKey","bulkSelect","result","originQuery","state","patches","itemPredicate","filterItem","filterPageByPatches","select","filter","item","pages","currentItemsMap","query","_orderByMode","orderByIteratee","limit","length","orders","finalPages","itemToMerge","prepareItemsToMergeIntoPage","all","size","map","page","index","pageWithPatchedItems","mergePatchedItems","orderByMoves","pageIndex","currentFiltersKeyHash","filtersKeyHash","toMerge","orderByOrders","total","processedTotal","reduce","prev","actionType","patchedItemsEntries","originalItems","originalTotal","key","originalItem","get","patchedItemsTotal","acc","value","Math","max","exports"],"sources":["../../../src/state/CollectionOptimisticProcessor.ts"],"sourcesContent":["import {\n ComputedQuery,\n ComputedQueryFull,\n FiltersMap,\n KeyedItem,\n} from '../model';\nimport { CollectionState } from './CollectionState';\nimport { action, makeObservable } from 'mobx';\nimport { Order, QueryResultSimulation } from './QueryResultSimulation';\nimport { QueryResultSimulationDefault } from './QueryResultSimulationDefault';\nimport { TypedEmitter } from '../util';\nimport { CollectionOptimisticProcessorHelpers } from './CollectionOptimisticHelpers';\nimport { CollectionOptimisticActionsState } from './CollectionOptimisticActionsState';\nimport {\n filterPageByPatches,\n mergePatchedItems,\n prepareItemsToMergeIntoPage,\n} from './optimistic-simulation';\nimport { orderByOrders } from './optimistic-simulation/orderByOrders';\nimport { orderByMoves } from './optimistic-simulation/orderByMoves';\nimport { QueryState } from './QueryState';\n\ninterface Optimistic<T, F extends FiltersMap> {\n _orderByMode: 'orders' | 'moves';\n readonly state: CollectionOptimisticActionsState<T>;\n readonly events: TypedEmitter<{\n reprocess: () => void;\n updated: () => void;\n }>;\n readonly query: QueryState<F>;\n}\n\nexport interface CollectionOptimisticProcessorParams<T, F extends FiltersMap>\n extends Partial<QueryResultSimulation<T, F>> {\n readonly collection: CollectionState<T, F>;\n readonly optimistic: Optimistic<T, F>;\n}\n\nexport class CollectionOptimisticProcessor<T, F extends FiltersMap> {\n readonly collection: CollectionState<T, F>;\n readonly processorHelpers: CollectionOptimisticProcessorHelpers<T, F>;\n readonly optimistic: Optimistic<T, F>;\n\n readonly resultSimulationDefault: QueryResultSimulation<T, F>;\n readonly predicate: (computedQuery: ComputedQuery<F>) => (item: T) => boolean;\n readonly orderBy: (computedQuery: ComputedQuery<F>) => Order<T>[];\n\n constructor(params: CollectionOptimisticProcessorParams<T, F>) {\n this.collection = params.collection;\n this.processorHelpers = new CollectionOptimisticProcessorHelpers(\n this.collection,\n );\n this.optimistic = params.optimistic;\n\n this.resultSimulationDefault = new QueryResultSimulationDefault({\n collection: this.collection,\n });\n this.predicate = params.predicate ?? this.resultSimulationDefault.predicate;\n this.orderBy = params.orderBy ?? this.resultSimulationDefault.orderBy;\n\n makeObservable(this, {\n reprocess: action.bound,\n beforeAddNewPages: action.bound,\n beforeSetTotal: action.bound,\n });\n\n this._register();\n }\n\n _register() {\n this.collection.emitter.on('beforeAddNewPages', this.beforeAddNewPages);\n this.collection.emitter.on('beforeSetTotal', this.beforeSetTotal);\n this.optimistic.events.on('reprocess', this.reprocess);\n }\n\n reprocess() {\n this.removeSelectionIfExists();\n this.processorHelpers.reprocess();\n }\n\n removeSelectionIfExists() {\n const {\n collection: {\n itemKey,\n bulkSelect,\n result: { originQuery },\n },\n optimistic: {\n state: { patches },\n },\n predicate,\n } = this;\n\n const itemPredicate = predicate(originQuery);\n\n const filterItem = filterPageByPatches(patches, { itemPredicate, itemKey });\n bulkSelect.select.filter(({ item }) => filterItem(item));\n }\n\n beforeAddNewPages({\n pages,\n currentItemsMap,\n originQuery,\n }: {\n pages: T[][];\n currentItemsMap: Map<string, KeyedItem<T>>;\n originQuery: ComputedQueryFull<F>;\n }) {\n const {\n optimistic: { state, query, _orderByMode },\n collection,\n predicate,\n orderBy: orderByIteratee,\n } = this;\n\n const { itemKey } = collection;\n\n const { patches } = state;\n\n const { limit } = originQuery;\n\n if (!patches.length) {\n return pages;\n }\n\n const itemPredicate = predicate(originQuery);\n const orders =\n _orderByMode === 'orders' ? orderByIteratee(originQuery) : [];\n\n let finalPages = pages;\n\n const itemToMerge = prepareItemsToMergeIntoPage(patches, {\n itemPredicate,\n currentItemsMap,\n });\n\n finalPages =\n !itemToMerge.all.size && _orderByMode === 'orders'\n ? finalPages\n : finalPages.map((page, index) => {\n const pageWithPatchedItems = itemToMerge.all.size\n ? mergePatchedItems(itemToMerge, {\n page,\n limit,\n itemKey,\n orders,\n itemPredicate,\n })\n : page.map((item) => ({ item }));\n\n return _orderByMode === 'moves'\n ? orderByMoves({\n pageWithPatchedItems,\n pageIndex: index,\n patches,\n currentFiltersKeyHash: query.filtersKeyHash,\n itemKey,\n toMerge: itemToMerge,\n itemPredicate,\n limit,\n })\n : orderByOrders(pageWithPatchedItems, itemToMerge, {\n orders,\n itemKey,\n limit,\n });\n });\n\n finalPages = finalPages.map((page) => {\n return page.filter(\n filterPageByPatches(patches, { itemPredicate, itemKey }),\n );\n });\n\n return finalPages;\n }\n\n beforeSetTotal({\n total,\n originQuery,\n }: {\n total: number;\n originQuery: ComputedQuery<F>;\n }) {\n const {\n optimistic: { state },\n predicate,\n } = this;\n\n const { patches } = state;\n\n if (!patches.length) {\n return total;\n }\n\n const itemPredicate = predicate(originQuery);\n\n const processedTotal = patches.reduce(\n (\n prev,\n { actionType, patchedItemsEntries, originalItems, originalTotal },\n ) => {\n if (actionType === 'updateAllConst' || actionType === 'deleteAll') {\n const [[key, item] = []] = patchedItemsEntries;\n\n if (key == null || item == null) {\n return prev;\n }\n\n const originalItem = originalItems.get(key);\n\n if (\n itemPredicate(item) &&\n (originalItem == null || !itemPredicate(originalItem))\n ) {\n return prev + originalTotal;\n }\n\n if (\n // if action=deleteAll treat the item as filtered out, no need to check predicate\n (actionType === 'deleteAll' || !itemPredicate(item)) &&\n originalItem != null &&\n itemPredicate(originalItem)\n ) {\n return prev - originalTotal;\n }\n\n return prev;\n }\n\n const patchedItemsTotal = patchedItemsEntries.reduce(\n (acc, [key, item]) => {\n const originalItem = originalItems.get(key);\n const value = (() => {\n switch (actionType) {\n case 'deleteMany':\n if (originalItem != null && itemPredicate(originalItem)) {\n return -1;\n }\n\n return 0;\n case 'updateMany':\n case 'updateAll':\n case 'createMany':\n if (\n itemPredicate(item) &&\n (originalItem == null || !itemPredicate(originalItem))\n ) {\n return 1;\n }\n\n if (\n !itemPredicate(item) &&\n originalItem != null &&\n itemPredicate(originalItem)\n ) {\n return -1;\n }\n return 0;\n }\n\n return 0;\n })();\n return acc + value;\n },\n 0,\n );\n\n return prev + patchedItemsTotal;\n },\n total,\n );\n\n return Math.max(processedTotal, 0);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -16,9 +16,13 @@ class CustomFieldModalBiReporter {
|
|
|
16
16
|
(0, _defineProperty2.default)(this, "reportNameFormFieldChange", void 0);
|
|
17
17
|
(0, _defineProperty2.default)(this, "reportKeyFormFieldChange", void 0);
|
|
18
18
|
(0, _defineProperty2.default)(this, "reportPermissionFormFieldChange", void 0);
|
|
19
|
-
(0, _defineProperty2.default)(this, "reportAddCustomField",
|
|
19
|
+
(0, _defineProperty2.default)(this, "reportAddCustomField", ({
|
|
20
|
+
origin,
|
|
21
|
+
customOrigin
|
|
22
|
+
}) => {
|
|
20
23
|
this.reportBi((0, _util.withoutDefaults)(_v.cairoDataExAddCustomField)({
|
|
21
|
-
origin
|
|
24
|
+
origin,
|
|
25
|
+
customOrigin
|
|
22
26
|
}));
|
|
23
27
|
});
|
|
24
28
|
(0, _defineProperty2.default)(this, "reportAdvancedSettingsClick", actionName => {
|
|
@@ -46,6 +50,7 @@ class CustomFieldModalBiReporter {
|
|
|
46
50
|
const {
|
|
47
51
|
customFieldModalState: {
|
|
48
52
|
origin,
|
|
53
|
+
customOrigin,
|
|
49
54
|
dataExtensionState
|
|
50
55
|
}
|
|
51
56
|
} = this;
|
|
@@ -58,7 +63,8 @@ class CustomFieldModalBiReporter {
|
|
|
58
63
|
numAdded: dataExtensionState.availableUserCustomFields.length,
|
|
59
64
|
changedFields: this.getBiChangedFields(),
|
|
60
65
|
permissions: this.getBiPermissions(),
|
|
61
|
-
origin
|
|
66
|
+
origin,
|
|
67
|
+
customOrigin
|
|
62
68
|
}));
|
|
63
69
|
});
|
|
64
70
|
(0, _defineProperty2.default)(this, "reportSubmitFailure", params => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_util","require","_v","_mobx","_DataExtensionStateBIReporter","CustomFieldModalBiReporter","constructor","params","_defineProperty2","default","origin","reportBi","withoutDefaults","cairoDataExAddCustomField","actionName","cairoDataExCustomFieldAdvancesSettings","cairoLearnMore","endType","$","name","type","key","form","customFieldModalState","dataExtensionState","cairoDataExCustomFieldEndProcess","mode","fieldName","value","fieldType","numAdded","availableUserCustomFields","length","changedFields","getBiChangedFields","permissions","getBiPermissions","getFormValues","cairoDataExtensionUnsuccessfulUpdateInServer","errorType","reportTypeFormFieldChange","createReportFormFieldChange","fieldValue","reportNameFormFieldChange","reportKeyFormFieldChange","reportPermissionFormFieldChange","lodash","debounce","container","cairoChangesBeforeApply","feature","isClearButton","leading","trailing","prevValues","formSnapshot","undefined","nextValues","changes","push","readApps","readUsers","writeApps","writeUsers","join","biReporter","DataExtensionStateBIReporter","init","disposes","reaction","forEach","disposer","exports"],"sources":["../../../src/state/CustomFieldModalBiReporter.ts"],"sourcesContent":["import {\n CustomFieldForm,\n CustomFieldModalState,\n} from './CustomFieldModalState';\nimport { withoutDefaults } from '../util';\nimport {\n cairoChangesBeforeApply,\n cairoDataExAddCustomField,\n cairoDataExCustomFieldAdvancesSettings,\n cairoDataExCustomFieldEndProcess,\n cairoDataExtensionUnsuccessfulUpdateInServer,\n cairoLearnMore,\n} from '@wix/bex-utils/@wix/bi-logger-os-data/v2';\nimport { reaction } from 'mobx';\nimport { DataExtensionStateBIReporter } from './DataExtensionStateBIReporter';\nimport { CustomFieldOrigin } from '../services';\n\nexport interface CustomFieldModalBiReporterParams {\n customFieldModalState: CustomFieldModalState;\n}\n\nexport class CustomFieldModalBiReporter {\n customFieldModalState: CustomFieldModalState;\n formSnapshot: CustomFieldForm | null = null;\n\n reportTypeFormFieldChange;\n reportNameFormFieldChange;\n reportKeyFormFieldChange;\n reportPermissionFormFieldChange;\n\n constructor(params: CustomFieldModalBiReporterParams) {\n this.customFieldModalState = params.customFieldModalState;\n\n this.reportTypeFormFieldChange = this.createReportFormFieldChange({\n fieldName: 'Type',\n fieldValue: () => this.form.$.type.value,\n });\n\n this.reportNameFormFieldChange = this.createReportFormFieldChange({\n fieldName: 'Name',\n fieldValue: () => this.form.$.name.value,\n });\n\n this.reportKeyFormFieldChange = this.createReportFormFieldChange({\n fieldName: 'Key',\n fieldValue: () => this.form.$.key.value,\n });\n\n this.reportPermissionFormFieldChange = this.createReportFormFieldChange({\n fieldName: 'Permission',\n fieldValue: () => this.getBiPermissions(),\n });\n }\n\n private get reportBi() {\n return this.customFieldModalState.reportBi;\n }\n\n get form() {\n return this.customFieldModalState.form;\n }\n\n get mode() {\n return this.customFieldModalState.mode;\n }\n\n get origin() {\n return this.mode === 'new'\n ? 'Add Custom Field Modal'\n : 'Edit Custom Field Modal';\n }\n\n private createReportFormFieldChange({\n fieldName,\n fieldValue,\n }: {\n fieldName: string;\n fieldValue: () => string | undefined;\n }) {\n const {\n lodash: { debounce },\n } = this.customFieldModalState.dataExtensionState.container;\n\n return debounce(\n () =>\n this.reportBi(\n withoutDefaults(cairoChangesBeforeApply)({\n feature:\n this.mode === 'new' ? 'Add Custom Field' : 'Edit Custom Field',\n fieldName,\n fieldValue: fieldValue(),\n isClearButton: false,\n }),\n ),\n 1500,\n { leading: false, trailing: true },\n );\n }\n\n reportAddCustomField = (origin: CustomFieldOrigin) => {\n this.reportBi(\n withoutDefaults(cairoDataExAddCustomField)({\n origin,\n }),\n );\n };\n\n reportAdvancedSettingsClick = (actionName: 'Open' | 'Close') => {\n this.reportBi(\n withoutDefaults(cairoDataExCustomFieldAdvancesSettings)({\n origin: this.origin,\n actionName,\n }),\n );\n };\n\n reportLearnMoreClick = () => {\n this.reportBi(\n withoutDefaults(cairoLearnMore)({\n origin: this.origin,\n }),\n );\n };\n\n reportModalEndProcess = (params: { endType: 'Cancel' | 'Add Field' }) => {\n const { endType } = params;\n const {\n $: { name, type, key },\n } = this.form;\n const {\n customFieldModalState: { origin, dataExtensionState },\n } = this;\n\n this.reportBi(\n withoutDefaults(cairoDataExCustomFieldEndProcess)({\n actionName: this.mode === 'new' ? 'Add' : 'Edit',\n endType,\n fieldName: name.value,\n fieldType: type.value,\n key: key.value,\n numAdded: dataExtensionState.availableUserCustomFields.length,\n changedFields: this.getBiChangedFields(),\n permissions: this.getBiPermissions(),\n origin,\n }),\n );\n };\n\n reportSubmitFailure = (params: { errorType: string | undefined }) => {\n const { customFieldModalState } = this;\n\n const { type, name, key } = customFieldModalState.getFormValues();\n\n this.reportBi(\n withoutDefaults(cairoDataExtensionUnsuccessfulUpdateInServer)({\n actionName: this.mode === 'new' ? 'Add' : 'Edit',\n errorType: params.errorType,\n origin: customFieldModalState.origin,\n permissions: this.getBiPermissions(),\n fieldType: type,\n fieldName: name,\n key,\n }),\n );\n };\n\n getBiChangedFields() {\n const prevValues = this.formSnapshot;\n\n if (this.mode === 'new' || !prevValues) {\n return undefined;\n }\n\n const nextValues = this.customFieldModalState.getFormValues();\n const changes = [];\n\n if (prevValues.name !== nextValues.name) {\n changes.push('Name');\n }\n\n if (\n prevValues.readApps !== nextValues.readApps ||\n prevValues.readUsers !== nextValues.readUsers ||\n prevValues.writeApps !== nextValues.writeApps ||\n prevValues.writeUsers !== nextValues.writeUsers\n ) {\n changes.push('Permission');\n }\n\n if (changes.length !== 0) {\n return changes.join(',');\n }\n\n return 'No changes';\n }\n\n getBiPermissions() {\n const biReporter = new DataExtensionStateBIReporter({\n reportBi: this.reportBi,\n });\n return biReporter.getBiPermissions(\n this.customFieldModalState.getFormValues(),\n );\n }\n\n init() {\n const {\n customFieldModalState: { form },\n } = this;\n\n const disposes = [\n reaction(\n () => form.$.name.value,\n () => {\n this.reportNameFormFieldChange();\n },\n ),\n reaction(\n () => form.$.type.value,\n () => {\n this.reportTypeFormFieldChange();\n },\n ),\n reaction(\n () => ({\n readUsers: form.$.readUsers.value,\n readApps: form.$.readApps.value,\n writeUsers: form.$.writeUsers.value,\n writeApps: form.$.writeApps.value,\n }),\n () => {\n this.reportPermissionFormFieldChange();\n },\n ),\n ];\n\n return () => {\n disposes.forEach((disposer) => {\n disposer?.();\n });\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_util","require","_v","_mobx","_DataExtensionStateBIReporter","CustomFieldModalBiReporter","constructor","params","_defineProperty2","default","origin","customOrigin","reportBi","withoutDefaults","cairoDataExAddCustomField","actionName","cairoDataExCustomFieldAdvancesSettings","cairoLearnMore","endType","$","name","type","key","form","customFieldModalState","dataExtensionState","cairoDataExCustomFieldEndProcess","mode","fieldName","value","fieldType","numAdded","availableUserCustomFields","length","changedFields","getBiChangedFields","permissions","getBiPermissions","getFormValues","cairoDataExtensionUnsuccessfulUpdateInServer","errorType","reportTypeFormFieldChange","createReportFormFieldChange","fieldValue","reportNameFormFieldChange","reportKeyFormFieldChange","reportPermissionFormFieldChange","lodash","debounce","container","cairoChangesBeforeApply","feature","isClearButton","leading","trailing","prevValues","formSnapshot","undefined","nextValues","changes","push","readApps","readUsers","writeApps","writeUsers","join","biReporter","DataExtensionStateBIReporter","init","disposes","reaction","forEach","disposer","exports"],"sources":["../../../src/state/CustomFieldModalBiReporter.ts"],"sourcesContent":["import {\n CustomFieldForm,\n CustomFieldModalState,\n} from './CustomFieldModalState';\nimport { withoutDefaults } from '../util';\nimport {\n cairoChangesBeforeApply,\n cairoDataExAddCustomField,\n cairoDataExCustomFieldAdvancesSettings,\n cairoDataExCustomFieldEndProcess,\n cairoDataExtensionUnsuccessfulUpdateInServer,\n cairoLearnMore,\n} from '@wix/bex-utils/@wix/bi-logger-os-data/v2';\nimport { reaction } from 'mobx';\nimport { DataExtensionStateBIReporter } from './DataExtensionStateBIReporter';\nimport { CustomFieldOrigin } from '../services';\n\nexport interface CustomFieldModalBiReporterParams {\n customFieldModalState: CustomFieldModalState;\n}\n\nexport class CustomFieldModalBiReporter {\n customFieldModalState: CustomFieldModalState;\n formSnapshot: CustomFieldForm | null = null;\n\n reportTypeFormFieldChange;\n reportNameFormFieldChange;\n reportKeyFormFieldChange;\n reportPermissionFormFieldChange;\n\n constructor(params: CustomFieldModalBiReporterParams) {\n this.customFieldModalState = params.customFieldModalState;\n\n this.reportTypeFormFieldChange = this.createReportFormFieldChange({\n fieldName: 'Type',\n fieldValue: () => this.form.$.type.value,\n });\n\n this.reportNameFormFieldChange = this.createReportFormFieldChange({\n fieldName: 'Name',\n fieldValue: () => this.form.$.name.value,\n });\n\n this.reportKeyFormFieldChange = this.createReportFormFieldChange({\n fieldName: 'Key',\n fieldValue: () => this.form.$.key.value,\n });\n\n this.reportPermissionFormFieldChange = this.createReportFormFieldChange({\n fieldName: 'Permission',\n fieldValue: () => this.getBiPermissions(),\n });\n }\n\n private get reportBi() {\n return this.customFieldModalState.reportBi;\n }\n\n get form() {\n return this.customFieldModalState.form;\n }\n\n get mode() {\n return this.customFieldModalState.mode;\n }\n\n get origin() {\n return this.mode === 'new'\n ? 'Add Custom Field Modal'\n : 'Edit Custom Field Modal';\n }\n\n private createReportFormFieldChange({\n fieldName,\n fieldValue,\n }: {\n fieldName: string;\n fieldValue: () => string | undefined;\n }) {\n const {\n lodash: { debounce },\n } = this.customFieldModalState.dataExtensionState.container;\n\n return debounce(\n () =>\n this.reportBi(\n withoutDefaults(cairoChangesBeforeApply)({\n feature:\n this.mode === 'new' ? 'Add Custom Field' : 'Edit Custom Field',\n fieldName,\n fieldValue: fieldValue(),\n isClearButton: false,\n }),\n ),\n 1500,\n { leading: false, trailing: true },\n );\n }\n\n reportAddCustomField = ({\n origin,\n customOrigin,\n }: {\n origin: CustomFieldOrigin;\n customOrigin?: string;\n }) => {\n this.reportBi(\n withoutDefaults(cairoDataExAddCustomField)({\n origin,\n customOrigin,\n }),\n );\n };\n\n reportAdvancedSettingsClick = (actionName: 'Open' | 'Close') => {\n this.reportBi(\n withoutDefaults(cairoDataExCustomFieldAdvancesSettings)({\n origin: this.origin,\n actionName,\n }),\n );\n };\n\n reportLearnMoreClick = () => {\n this.reportBi(\n withoutDefaults(cairoLearnMore)({\n origin: this.origin,\n }),\n );\n };\n\n reportModalEndProcess = (params: { endType: 'Cancel' | 'Add Field' }) => {\n const { endType } = params;\n const {\n $: { name, type, key },\n } = this.form;\n const {\n customFieldModalState: { origin, customOrigin, dataExtensionState },\n } = this;\n\n this.reportBi(\n withoutDefaults(cairoDataExCustomFieldEndProcess)({\n actionName: this.mode === 'new' ? 'Add' : 'Edit',\n endType,\n fieldName: name.value,\n fieldType: type.value,\n key: key.value,\n numAdded: dataExtensionState.availableUserCustomFields.length,\n changedFields: this.getBiChangedFields(),\n permissions: this.getBiPermissions(),\n origin,\n customOrigin,\n }),\n );\n };\n\n reportSubmitFailure = (params: { errorType: string | undefined }) => {\n const { customFieldModalState } = this;\n\n const { type, name, key } = customFieldModalState.getFormValues();\n\n this.reportBi(\n withoutDefaults(cairoDataExtensionUnsuccessfulUpdateInServer)({\n actionName: this.mode === 'new' ? 'Add' : 'Edit',\n errorType: params.errorType,\n origin: customFieldModalState.origin,\n permissions: this.getBiPermissions(),\n fieldType: type,\n fieldName: name,\n key,\n }),\n );\n };\n\n getBiChangedFields() {\n const prevValues = this.formSnapshot;\n\n if (this.mode === 'new' || !prevValues) {\n return undefined;\n }\n\n const nextValues = this.customFieldModalState.getFormValues();\n const changes = [];\n\n if (prevValues.name !== nextValues.name) {\n changes.push('Name');\n }\n\n if (\n prevValues.readApps !== nextValues.readApps ||\n prevValues.readUsers !== nextValues.readUsers ||\n prevValues.writeApps !== nextValues.writeApps ||\n prevValues.writeUsers !== nextValues.writeUsers\n ) {\n changes.push('Permission');\n }\n\n if (changes.length !== 0) {\n return changes.join(',');\n }\n\n return 'No changes';\n }\n\n getBiPermissions() {\n const biReporter = new DataExtensionStateBIReporter({\n reportBi: this.reportBi,\n });\n return biReporter.getBiPermissions(\n this.customFieldModalState.getFormValues(),\n );\n }\n\n init() {\n const {\n customFieldModalState: { form },\n } = this;\n\n const disposes = [\n reaction(\n () => form.$.name.value,\n () => {\n this.reportNameFormFieldChange();\n },\n ),\n reaction(\n () => form.$.type.value,\n () => {\n this.reportTypeFormFieldChange();\n },\n ),\n reaction(\n () => ({\n readUsers: form.$.readUsers.value,\n readApps: form.$.readApps.value,\n writeUsers: form.$.writeUsers.value,\n writeApps: form.$.writeApps.value,\n }),\n () => {\n this.reportPermissionFormFieldChange();\n },\n ),\n ];\n\n return () => {\n disposes.forEach((disposer) => {\n disposer?.();\n });\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,6 +19,7 @@ class CustomFieldModalState {
|
|
|
19
19
|
(0, _defineProperty2.default)(this, "errorToastConfig", undefined);
|
|
20
20
|
(0, _defineProperty2.default)(this, "mode", 'new');
|
|
21
21
|
(0, _defineProperty2.default)(this, "origin", 'Custom columns panel');
|
|
22
|
+
(0, _defineProperty2.default)(this, "customOrigin", void 0);
|
|
22
23
|
(0, _defineProperty2.default)(this, "reportBi", void 0);
|
|
23
24
|
(0, _defineProperty2.default)(this, "modalState", new _ConditionalModalState.ConditionalModalState({
|
|
24
25
|
onConfirm: async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_ConditionalModalState","_CustomFieldModalBiReporter","_formstate","_ToggleState","_util","_isHttpError","CustomFieldModalState","constructor","params","_defineProperty2","default","ToggleState","undefined","ConditionalModalState","onConfirm","mode","dataExtensionState","isReachedMaxCustomFields","form","customFieldModalBiReporter","reportModalEndProcess","t","validation","validate","hasError","enableAutoValidation","Error","_this$dataExtensionSt","_this$dataExtensionSt2","dataExtensionSchema","dataExtensionService","addCustomField","getFormValues","schema","userSchema","fqdn","fqdnString","filterable","runInAction","_upsertSchema","container","showToast","call","message","type","biName","endType","e","onConfirmError","FormState","FieldState","validators","value","name","key","allUserCustomFields","some","field","id","test","readUsers","readApps","writeUsers","writeApps","containsPii","permissions","read","apps","users","write","$","dirty","reportBi","CustomFieldModalBiReporter","customFieldModalState","makeObservable","namePlaceholder","computed","isSubmitting","disabledFields","observable","ref","errorToastConfig","reset","action","setFormValues","generateUniqueKey","bound","setKeyFieldIfNotDirty","setDefaultPermissions","_this$errorToastConfi","getResolvedError","errorHandler","_httpError$response","_httpError$response2","_httpError$response3","resolvedError","httpError","isDetailsResponse","response","data","isErrorDetails","details","validationError","fieldViolations","v","ruleName","text","onClick","window","open","requestId","reportSubmitFailure","errorType","settings","setOff","disableAutoValidation","disablePermissionCheckboxes","_defaultPermissions$i","_defaultPermissions$s","defaultPermissions","installedApps","hide","_defaultPermissions$i2","_defaultPermissions$i3","defaultRead","defaultWrite","siteVisitors","_defaultPermissions$s2","_defaultPermissions$s3","containsKey","slug","slugify","length","index","translate","modalState","modal","confirming","isLoading","exports"],"sources":["../../../src/state/CustomFieldModalState.ts"],"sourcesContent":["import {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { ConditionalModalState } from './ConditionalModalState';\nimport { CustomFieldModalBiReporter } from './CustomFieldModalBiReporter';\nimport { FieldState, FormState } from 'formstate';\nimport { ToggleState } from './ToggleState';\nimport { CustomFieldOrigin, CustomFieldType, ReportBI } from '../services';\nimport { DataExtensionState } from './DataExtensionState';\nimport { slugify } from '../util';\nimport { isDetailsResponse, isErrorDetails } from '../util/isHttpError';\nimport { ToastConfig } from '../model';\n\nexport interface CustomFieldStateParams {\n dataExtensionState: DataExtensionState;\n reportBi: ReportBI;\n}\n\nexport interface CustomFieldForm {\n type?: CustomFieldType;\n key: string;\n name: string;\n readApps: boolean;\n readUsers: boolean;\n writeApps: boolean;\n writeUsers: boolean;\n containsPii: boolean;\n}\n\nexport class CustomFieldModalState {\n dataExtensionState: DataExtensionState;\n customFieldModalBiReporter: CustomFieldModalBiReporter;\n settings = new ToggleState();\n errorToastConfig: ToastConfig | undefined = undefined;\n mode: 'new' | 'edit' = 'new';\n origin: CustomFieldOrigin = 'Custom columns panel';\n reportBi: ReportBI;\n\n modalState = new ConditionalModalState({\n onConfirm: async () => {\n if (\n this.mode === 'new' &&\n this.dataExtensionState.isReachedMaxCustomFields\n ) {\n return;\n }\n const {\n form,\n mode,\n customFieldModalBiReporter: { reportModalEndProcess },\n t,\n } = this;\n\n const validation = await form.validate();\n\n if (validation.hasError) {\n this.enableAutoValidation();\n throw new Error('validation');\n }\n\n const { dataExtensionState } = this;\n try {\n const { dataExtensionSchema } =\n await dataExtensionState.dataExtensionService.addCustomField({\n form: this.getFormValues(),\n schema: this.dataExtensionState.userSchema,\n fqdn: this.dataExtensionState.fqdnString,\n filterable: this.dataExtensionState.filterable,\n });\n\n runInAction(() => {\n if (dataExtensionSchema) {\n dataExtensionState._upsertSchema(dataExtensionSchema);\n }\n });\n\n this.dataExtensionState.container.showToast?.({\n message:\n mode === 'new'\n ? t('cairo.customFields.successToast')\n : t('cairo.customFields.editCustomField.success.toast'),\n type: 'SUCCESS',\n biName: 'cairo-custom-field-success-toast',\n });\n\n reportModalEndProcess({ endType: 'Add Field' });\n } catch (e: unknown) {\n this.onConfirmError(e);\n }\n },\n });\n\n form = new FormState({\n type: new FieldState<CustomFieldType | undefined>(undefined).validators(\n (value) => {\n if (!value) {\n return this.t(\n 'cairo.customFields.addCustomField.modal.emptyFieldType.error',\n );\n }\n\n return undefined;\n },\n ),\n name: new FieldState('').validators((value) => {\n if (!value) {\n return this.t(\n 'cairo.customFields.addCustomField.modal.emptyFieldName.error',\n );\n }\n\n return undefined;\n }),\n key: new FieldState('').validators((value) => {\n const {\n t,\n mode,\n dataExtensionState: { allUserCustomFields },\n } = this;\n\n if (!value) {\n return this.t(\n 'cairo.customFields.addCustomField.modal.emptyFieldName.error',\n );\n }\n\n if (\n mode === 'new' &&\n allUserCustomFields.some((field) => field.id === value)\n ) {\n return t('cairo.customFields.addCustomField.modal.sameKey.error');\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_]*$/g.test(value)) {\n return t('cairo.customFields.addCustomField.modal.keyFormat.error');\n }\n\n return undefined;\n }),\n readUsers: new FieldState(false),\n readApps: new FieldState(false),\n writeUsers: new FieldState(false),\n writeApps: new FieldState(false),\n containsPii: new FieldState(false),\n });\n\n disabledFields = {\n permissions: {\n read: { apps: true, users: true },\n write: { apps: true, users: true },\n },\n };\n\n constructor(params: CustomFieldStateParams) {\n this.dataExtensionState = params.dataExtensionState;\n this.reportBi = params.reportBi;\n this.customFieldModalBiReporter = new CustomFieldModalBiReporter({\n customFieldModalState: this,\n });\n\n makeObservable(this, {\n namePlaceholder: computed,\n isSubmitting: computed,\n disabledFields: observable.ref,\n errorToastConfig: observable.ref,\n mode: observable.ref,\n reset: action,\n setFormValues: action,\n generateUniqueKey: action.bound,\n setKeyFieldIfNotDirty: action.bound,\n setDefaultPermissions: action,\n });\n }\n\n onConfirmError(e: unknown) {\n const { getResolvedError } = this.dataExtensionState.container.errorHandler;\n\n runInAction(() => {\n const resolvedError = getResolvedError?.(e);\n const httpError = resolvedError?.httpError;\n\n if (\n isDetailsResponse(httpError?.response?.data) &&\n isErrorDetails(httpError?.response?.data.details) &&\n httpError?.response?.data?.details?.validationError?.fieldViolations?.some(\n (v) => v.ruleName === 'EXCEEDED_STORED_DATA_SIZE',\n )\n ) {\n this.errorToastConfig = {\n message: this.t('cairo.customFields.modal.maxFieldsError'),\n action: {\n text: this.t('cairo.error.contactSupport.cta'),\n onClick: () => {\n window.open('https://www.wix.com/contact', '_blank');\n },\n },\n };\n } else {\n this.errorToastConfig = {\n message: resolvedError?.message!,\n action: resolvedError?.action,\n details: resolvedError?.requestId\n ? {\n requestId: resolvedError.requestId,\n }\n : undefined,\n };\n }\n });\n\n this.customFieldModalBiReporter.reportSubmitFailure({\n errorType: this.errorToastConfig?.message,\n });\n\n // Prevents modal closing\n throw e;\n }\n reset() {\n const {\n form,\n settings,\n disabledFields: { permissions },\n } = this;\n\n form.reset();\n settings.setOff();\n this.errorToastConfig = undefined;\n this.disableAutoValidation();\n\n permissions.read.apps = false;\n permissions.read.users = false;\n permissions.write.apps = false;\n permissions.write.users = false;\n }\n\n enableAutoValidation() {\n const {\n form: {\n $: { key, name, type },\n },\n } = this;\n\n key.enableAutoValidation();\n name.enableAutoValidation();\n type.enableAutoValidation();\n }\n\n disableAutoValidation() {\n const {\n form: {\n $: { key, name, type },\n },\n } = this;\n\n key.disableAutoValidation();\n name.disableAutoValidation();\n type.disableAutoValidation();\n }\n\n getFormValues(): CustomFieldForm {\n const {\n form: {\n $: {\n type,\n key,\n name,\n readApps,\n readUsers,\n writeApps,\n writeUsers,\n containsPii,\n },\n },\n } = this;\n\n return {\n type: type.value,\n key: key.value,\n name: name.value,\n readApps: readApps.value,\n readUsers: readUsers.value,\n writeApps: writeApps.value,\n writeUsers: writeUsers.value,\n containsPii: containsPii.value,\n };\n }\n\n setFormValues(\n form: CustomFieldForm,\n params?: { disablePermissionCheckboxes: boolean },\n ) {\n const {\n form: { $ },\n } = this;\n\n $.key.value = form.key;\n $.name.value = form.name;\n $.type.value = form.type;\n $.readApps.value = form.readApps;\n $.readUsers.value = form.readUsers;\n $.writeApps.value = form.writeApps;\n $.writeUsers.value = form.writeUsers;\n $.containsPii.value = form.containsPii;\n if (params?.disablePermissionCheckboxes) {\n if (form.readUsers) {\n this.disabledFields.permissions.read.users = true;\n }\n\n if (form.readApps) {\n this.disabledFields.permissions.read.apps = true;\n }\n\n if (form.writeUsers) {\n this.disabledFields.permissions.write.users = true;\n }\n\n if (form.writeApps) {\n this.disabledFields.permissions.write.apps = true;\n }\n }\n }\n\n setDefaultPermissions() {\n const {\n form: { $ },\n dataExtensionState: { defaultPermissions },\n } = this;\n if (!defaultPermissions?.installedApps?.hide) {\n $.readApps.value = !!defaultPermissions?.installedApps?.defaultRead;\n $.writeApps.value = !!defaultPermissions?.installedApps?.defaultWrite;\n }\n\n if (!defaultPermissions?.siteVisitors?.hide) {\n $.readUsers.value = !!defaultPermissions?.siteVisitors?.defaultRead;\n $.writeUsers.value = !!defaultPermissions?.siteVisitors?.defaultWrite;\n }\n }\n\n setKeyFieldIfNotDirty = (value: string) => {\n const {\n form: {\n $: { key },\n },\n mode,\n } = this;\n\n if (mode === 'new' && !key.dirty) {\n // In the formstate library setting a field value using\n // the onChange API sets the dirty state of the field to true.\n // However, since here it's not a manual user input\n // we avoid changing the dirty state by setting a value directly.\n key.value = value;\n }\n };\n\n private containsKey(key: string) {\n return this.dataExtensionState.allUserCustomFields.some(\n (field) => field.id === key,\n );\n }\n\n generateUniqueKey(name: string) {\n const slug = slugify(name);\n const type = this.form.$.type.value;\n\n if (slug && slug.length >= 4 && !this.containsKey(slug)) {\n return slug;\n }\n\n if (!type) {\n return '';\n }\n\n let index = 1;\n\n while (this.containsKey(`${type}_${index}`)) {\n index += 1;\n }\n\n return `${type}_${index}`;\n }\n\n get t() {\n return this.dataExtensionState.container.translate;\n }\n\n get isSubmitting() {\n return this.modalState.modal.confirming.isLoading;\n }\n\n get namePlaceholder() {\n const {\n t,\n form: {\n $: { type },\n },\n } = this;\n\n switch (type.value) {\n case 'dropdown':\n return t('cairo.customFields.fieldType.dropdownList.Name.placeholder');\n case 'checkbox':\n return t('cairo.customFields.fieldType.checkbox.Name.placeholder');\n case 'shortText':\n return t('cairo.customFields.fieldType.shortText.Name.placeholder');\n case 'longText':\n return t('cairo.customFields.fieldType.longText.Name.placeholder');\n case 'url':\n return t('cairo.customFields.placeholder.url');\n case 'date':\n return t('cairo.customFields.fieldType.date.Name.placeholder');\n case 'dateTime':\n return t('cairo.customFields.fieldType.dateAndTime.Name.placeholder');\n case 'integer':\n return t('cairo.customFields.fieldType.numberInteger.Name.placeholder');\n case 'decimal':\n return t('cairo.customFields.fieldType.numberDecimal.Name.placeholder');\n default:\n return t(\n 'cairo.customFields.addCustomField.modal.fieldName.placeholder',\n );\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_ConditionalModalState","_CustomFieldModalBiReporter","_formstate","_ToggleState","_util","_isHttpError","CustomFieldModalState","constructor","params","_defineProperty2","default","ToggleState","undefined","ConditionalModalState","onConfirm","mode","dataExtensionState","isReachedMaxCustomFields","form","customFieldModalBiReporter","reportModalEndProcess","t","validation","validate","hasError","enableAutoValidation","Error","_this$dataExtensionSt","_this$dataExtensionSt2","dataExtensionSchema","dataExtensionService","addCustomField","getFormValues","schema","userSchema","fqdn","fqdnString","filterable","runInAction","_upsertSchema","container","showToast","call","message","type","biName","endType","e","onConfirmError","FormState","FieldState","validators","value","name","key","allUserCustomFields","some","field","id","test","readUsers","readApps","writeUsers","writeApps","containsPii","permissions","read","apps","users","write","$","dirty","reportBi","CustomFieldModalBiReporter","customFieldModalState","makeObservable","namePlaceholder","computed","isSubmitting","disabledFields","observable","ref","errorToastConfig","reset","action","setFormValues","generateUniqueKey","bound","setKeyFieldIfNotDirty","setDefaultPermissions","_this$errorToastConfi","getResolvedError","errorHandler","_httpError$response","_httpError$response2","_httpError$response3","resolvedError","httpError","isDetailsResponse","response","data","isErrorDetails","details","validationError","fieldViolations","v","ruleName","text","onClick","window","open","requestId","reportSubmitFailure","errorType","settings","setOff","disableAutoValidation","disablePermissionCheckboxes","_defaultPermissions$i","_defaultPermissions$s","defaultPermissions","installedApps","hide","_defaultPermissions$i2","_defaultPermissions$i3","defaultRead","defaultWrite","siteVisitors","_defaultPermissions$s2","_defaultPermissions$s3","containsKey","slug","slugify","length","index","translate","modalState","modal","confirming","isLoading","exports"],"sources":["../../../src/state/CustomFieldModalState.ts"],"sourcesContent":["import {\n action,\n computed,\n makeObservable,\n observable,\n runInAction,\n} from 'mobx';\nimport { ConditionalModalState } from './ConditionalModalState';\nimport { CustomFieldModalBiReporter } from './CustomFieldModalBiReporter';\nimport { FieldState, FormState } from 'formstate';\nimport { ToggleState } from './ToggleState';\nimport { CustomFieldOrigin, CustomFieldType, ReportBI } from '../services';\nimport { DataExtensionState } from './DataExtensionState';\nimport { slugify } from '../util';\nimport { isDetailsResponse, isErrorDetails } from '../util/isHttpError';\nimport { ToastConfig } from '../model';\n\nexport interface CustomFieldStateParams {\n dataExtensionState: DataExtensionState;\n reportBi: ReportBI;\n}\n\nexport interface CustomFieldForm {\n type?: CustomFieldType;\n key: string;\n name: string;\n readApps: boolean;\n readUsers: boolean;\n writeApps: boolean;\n writeUsers: boolean;\n containsPii: boolean;\n}\n\nexport class CustomFieldModalState {\n dataExtensionState: DataExtensionState;\n customFieldModalBiReporter: CustomFieldModalBiReporter;\n settings = new ToggleState();\n errorToastConfig: ToastConfig | undefined = undefined;\n mode: 'new' | 'edit' = 'new';\n origin: CustomFieldOrigin = 'Custom columns panel';\n customOrigin?: string;\n reportBi: ReportBI;\n\n modalState = new ConditionalModalState({\n onConfirm: async () => {\n if (\n this.mode === 'new' &&\n this.dataExtensionState.isReachedMaxCustomFields\n ) {\n return;\n }\n const {\n form,\n mode,\n customFieldModalBiReporter: { reportModalEndProcess },\n t,\n } = this;\n\n const validation = await form.validate();\n\n if (validation.hasError) {\n this.enableAutoValidation();\n throw new Error('validation');\n }\n\n const { dataExtensionState } = this;\n try {\n const { dataExtensionSchema } =\n await dataExtensionState.dataExtensionService.addCustomField({\n form: this.getFormValues(),\n schema: this.dataExtensionState.userSchema,\n fqdn: this.dataExtensionState.fqdnString,\n filterable: this.dataExtensionState.filterable,\n });\n\n runInAction(() => {\n if (dataExtensionSchema) {\n dataExtensionState._upsertSchema(dataExtensionSchema);\n }\n });\n\n this.dataExtensionState.container.showToast?.({\n message:\n mode === 'new'\n ? t('cairo.customFields.successToast')\n : t('cairo.customFields.editCustomField.success.toast'),\n type: 'SUCCESS',\n biName: 'cairo-custom-field-success-toast',\n });\n\n reportModalEndProcess({ endType: 'Add Field' });\n } catch (e: unknown) {\n this.onConfirmError(e);\n }\n },\n });\n\n form = new FormState({\n type: new FieldState<CustomFieldType | undefined>(undefined).validators(\n (value) => {\n if (!value) {\n return this.t(\n 'cairo.customFields.addCustomField.modal.emptyFieldType.error',\n );\n }\n\n return undefined;\n },\n ),\n name: new FieldState('').validators((value) => {\n if (!value) {\n return this.t(\n 'cairo.customFields.addCustomField.modal.emptyFieldName.error',\n );\n }\n\n return undefined;\n }),\n key: new FieldState('').validators((value) => {\n const {\n t,\n mode,\n dataExtensionState: { allUserCustomFields },\n } = this;\n\n if (!value) {\n return this.t(\n 'cairo.customFields.addCustomField.modal.emptyFieldName.error',\n );\n }\n\n if (\n mode === 'new' &&\n allUserCustomFields.some((field) => field.id === value)\n ) {\n return t('cairo.customFields.addCustomField.modal.sameKey.error');\n }\n\n if (!/^[a-zA-Z][a-zA-Z0-9_]*$/g.test(value)) {\n return t('cairo.customFields.addCustomField.modal.keyFormat.error');\n }\n\n return undefined;\n }),\n readUsers: new FieldState(false),\n readApps: new FieldState(false),\n writeUsers: new FieldState(false),\n writeApps: new FieldState(false),\n containsPii: new FieldState(false),\n });\n\n disabledFields = {\n permissions: {\n read: { apps: true, users: true },\n write: { apps: true, users: true },\n },\n };\n\n constructor(params: CustomFieldStateParams) {\n this.dataExtensionState = params.dataExtensionState;\n this.reportBi = params.reportBi;\n this.customFieldModalBiReporter = new CustomFieldModalBiReporter({\n customFieldModalState: this,\n });\n\n makeObservable(this, {\n namePlaceholder: computed,\n isSubmitting: computed,\n disabledFields: observable.ref,\n errorToastConfig: observable.ref,\n mode: observable.ref,\n reset: action,\n setFormValues: action,\n generateUniqueKey: action.bound,\n setKeyFieldIfNotDirty: action.bound,\n setDefaultPermissions: action,\n });\n }\n\n onConfirmError(e: unknown) {\n const { getResolvedError } = this.dataExtensionState.container.errorHandler;\n\n runInAction(() => {\n const resolvedError = getResolvedError?.(e);\n const httpError = resolvedError?.httpError;\n\n if (\n isDetailsResponse(httpError?.response?.data) &&\n isErrorDetails(httpError?.response?.data.details) &&\n httpError?.response?.data?.details?.validationError?.fieldViolations?.some(\n (v) => v.ruleName === 'EXCEEDED_STORED_DATA_SIZE',\n )\n ) {\n this.errorToastConfig = {\n message: this.t('cairo.customFields.modal.maxFieldsError'),\n action: {\n text: this.t('cairo.error.contactSupport.cta'),\n onClick: () => {\n window.open('https://www.wix.com/contact', '_blank');\n },\n },\n };\n } else {\n this.errorToastConfig = {\n message: resolvedError?.message!,\n action: resolvedError?.action,\n details: resolvedError?.requestId\n ? {\n requestId: resolvedError.requestId,\n }\n : undefined,\n };\n }\n });\n\n this.customFieldModalBiReporter.reportSubmitFailure({\n errorType: this.errorToastConfig?.message,\n });\n\n // Prevents modal closing\n throw e;\n }\n reset() {\n const {\n form,\n settings,\n disabledFields: { permissions },\n } = this;\n\n form.reset();\n settings.setOff();\n this.errorToastConfig = undefined;\n this.disableAutoValidation();\n\n permissions.read.apps = false;\n permissions.read.users = false;\n permissions.write.apps = false;\n permissions.write.users = false;\n }\n\n enableAutoValidation() {\n const {\n form: {\n $: { key, name, type },\n },\n } = this;\n\n key.enableAutoValidation();\n name.enableAutoValidation();\n type.enableAutoValidation();\n }\n\n disableAutoValidation() {\n const {\n form: {\n $: { key, name, type },\n },\n } = this;\n\n key.disableAutoValidation();\n name.disableAutoValidation();\n type.disableAutoValidation();\n }\n\n getFormValues(): CustomFieldForm {\n const {\n form: {\n $: {\n type,\n key,\n name,\n readApps,\n readUsers,\n writeApps,\n writeUsers,\n containsPii,\n },\n },\n } = this;\n\n return {\n type: type.value,\n key: key.value,\n name: name.value,\n readApps: readApps.value,\n readUsers: readUsers.value,\n writeApps: writeApps.value,\n writeUsers: writeUsers.value,\n containsPii: containsPii.value,\n };\n }\n\n setFormValues(\n form: CustomFieldForm,\n params?: { disablePermissionCheckboxes: boolean },\n ) {\n const {\n form: { $ },\n } = this;\n\n $.key.value = form.key;\n $.name.value = form.name;\n $.type.value = form.type;\n $.readApps.value = form.readApps;\n $.readUsers.value = form.readUsers;\n $.writeApps.value = form.writeApps;\n $.writeUsers.value = form.writeUsers;\n $.containsPii.value = form.containsPii;\n if (params?.disablePermissionCheckboxes) {\n if (form.readUsers) {\n this.disabledFields.permissions.read.users = true;\n }\n\n if (form.readApps) {\n this.disabledFields.permissions.read.apps = true;\n }\n\n if (form.writeUsers) {\n this.disabledFields.permissions.write.users = true;\n }\n\n if (form.writeApps) {\n this.disabledFields.permissions.write.apps = true;\n }\n }\n }\n\n setDefaultPermissions() {\n const {\n form: { $ },\n dataExtensionState: { defaultPermissions },\n } = this;\n if (!defaultPermissions?.installedApps?.hide) {\n $.readApps.value = !!defaultPermissions?.installedApps?.defaultRead;\n $.writeApps.value = !!defaultPermissions?.installedApps?.defaultWrite;\n }\n\n if (!defaultPermissions?.siteVisitors?.hide) {\n $.readUsers.value = !!defaultPermissions?.siteVisitors?.defaultRead;\n $.writeUsers.value = !!defaultPermissions?.siteVisitors?.defaultWrite;\n }\n }\n\n setKeyFieldIfNotDirty = (value: string) => {\n const {\n form: {\n $: { key },\n },\n mode,\n } = this;\n\n if (mode === 'new' && !key.dirty) {\n // In the formstate library setting a field value using\n // the onChange API sets the dirty state of the field to true.\n // However, since here it's not a manual user input\n // we avoid changing the dirty state by setting a value directly.\n key.value = value;\n }\n };\n\n private containsKey(key: string) {\n return this.dataExtensionState.allUserCustomFields.some(\n (field) => field.id === key,\n );\n }\n\n generateUniqueKey(name: string) {\n const slug = slugify(name);\n const type = this.form.$.type.value;\n\n if (slug && slug.length >= 4 && !this.containsKey(slug)) {\n return slug;\n }\n\n if (!type) {\n return '';\n }\n\n let index = 1;\n\n while (this.containsKey(`${type}_${index}`)) {\n index += 1;\n }\n\n return `${type}_${index}`;\n }\n\n get t() {\n return this.dataExtensionState.container.translate;\n }\n\n get isSubmitting() {\n return this.modalState.modal.confirming.isLoading;\n }\n\n get namePlaceholder() {\n const {\n t,\n form: {\n $: { type },\n },\n } = this;\n\n switch (type.value) {\n case 'dropdown':\n return t('cairo.customFields.fieldType.dropdownList.Name.placeholder');\n case 'checkbox':\n return t('cairo.customFields.fieldType.checkbox.Name.placeholder');\n case 'shortText':\n return t('cairo.customFields.fieldType.shortText.Name.placeholder');\n case 'longText':\n return t('cairo.customFields.fieldType.longText.Name.placeholder');\n case 'url':\n return t('cairo.customFields.placeholder.url');\n case 'date':\n return t('cairo.customFields.fieldType.date.Name.placeholder');\n case 'dateTime':\n return t('cairo.customFields.fieldType.dateAndTime.Name.placeholder');\n case 'integer':\n return t('cairo.customFields.fieldType.numberInteger.Name.placeholder');\n case 'decimal':\n return t('cairo.customFields.fieldType.numberDecimal.Name.placeholder');\n default:\n return t(\n 'cairo.customFields.addCustomField.modal.fieldName.placeholder',\n );\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,35 +6,41 @@ const filterPageByPatches = (patches, {
|
|
|
6
6
|
itemKey,
|
|
7
7
|
itemPredicate
|
|
8
8
|
}) => item => {
|
|
9
|
-
|
|
9
|
+
const itemAfterAllPatches = patches.reduce((acc, {
|
|
10
10
|
selector,
|
|
11
11
|
patch,
|
|
12
12
|
patchedItems,
|
|
13
13
|
actionType
|
|
14
14
|
}) => {
|
|
15
15
|
if (!selector(item)) {
|
|
16
|
-
return
|
|
16
|
+
return acc;
|
|
17
|
+
}
|
|
18
|
+
if (actionType === 'createMany') {
|
|
19
|
+
return {
|
|
20
|
+
...acc,
|
|
21
|
+
...patch(item)
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
if (actionType === 'deleteMany' || actionType === 'deleteAll') {
|
|
25
|
+
return null;
|
|
17
26
|
}
|
|
18
27
|
const actionIsMatch = (() => {
|
|
19
28
|
switch (actionType) {
|
|
20
29
|
case 'updateMany':
|
|
21
|
-
|
|
22
|
-
return patchedItem ? itemPredicate(patchedItem) : true;
|
|
30
|
+
return patchedItems.get(itemKey(item));
|
|
23
31
|
case 'updateAll':
|
|
24
32
|
case 'updateAllConst':
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
...item,
|
|
33
|
+
return {
|
|
34
|
+
...acc,
|
|
28
35
|
...patch(item)
|
|
29
|
-
}
|
|
30
|
-
case 'deleteMany':
|
|
31
|
-
case 'deleteAll':
|
|
36
|
+
};
|
|
32
37
|
default:
|
|
33
|
-
return
|
|
38
|
+
return null;
|
|
34
39
|
}
|
|
35
40
|
})();
|
|
36
|
-
return
|
|
37
|
-
},
|
|
41
|
+
return acc ? actionIsMatch : acc;
|
|
42
|
+
}, item);
|
|
43
|
+
return itemAfterAllPatches ? itemPredicate(itemAfterAllPatches) : false;
|
|
38
44
|
};
|
|
39
45
|
exports.filterPageByPatches = filterPageByPatches;
|
|
40
46
|
//# sourceMappingURL=filterPageByPatches.js.map
|