@wix/bex-core 2.336.0 → 2.338.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/hooks/useImport.js.map +1 -1
- package/dist/cjs/index.js +7 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/state/CollectionPageState/CollectionPageState.js +21 -4
- package/dist/cjs/state/CollectionPageState/CollectionPageState.js.map +1 -1
- package/dist/cjs/state/CustomFieldModalState.js +19 -2
- package/dist/cjs/state/CustomFieldModalState.js.map +1 -1
- package/dist/cjs/state/ImportState/ImportState.js +6 -5
- package/dist/cjs/state/ImportState/ImportState.js.map +1 -1
- package/dist/cjs/state/ImportState/__tests__/ImportState.engine.spec.js +28 -0
- package/dist/cjs/state/ImportState/__tests__/ImportState.engine.spec.js.map +1 -1
- package/dist/cjs/testkit/createInMemorySchemaSource.js +2 -0
- package/dist/cjs/testkit/createInMemorySchemaSource.js.map +1 -1
- package/dist/cjs/testkit/hubJobImportMocks.js +14 -4
- package/dist/cjs/testkit/hubJobImportMocks.js.map +1 -1
- package/dist/cjs/types/Field.js.map +1 -1
- package/dist/cjs/types/FieldTypeDefinition.js +79 -0
- package/dist/cjs/types/FieldTypeDefinition.js.map +1 -0
- package/dist/cjs/types/FieldsSource.js.map +1 -1
- package/dist/cjs/types/SchemaSource.js +16 -2
- package/dist/cjs/types/SchemaSource.js.map +1 -1
- package/dist/cjs/types/__tests__/defineSchemaSource.fieldTypes.spec.js +78 -0
- package/dist/cjs/types/__tests__/defineSchemaSource.fieldTypes.spec.js.map +1 -0
- package/dist/esm/hooks/useImport.js +1 -1
- package/dist/esm/hooks/useImport.js.map +1 -1
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/state/CollectionPageState/CollectionPageState.js +19 -3
- package/dist/esm/state/CollectionPageState/CollectionPageState.js.map +1 -1
- package/dist/esm/state/CustomFieldModalState.js +19 -2
- package/dist/esm/state/CustomFieldModalState.js.map +1 -1
- package/dist/esm/state/ImportState/ImportState.js +6 -4
- package/dist/esm/state/ImportState/ImportState.js.map +1 -1
- package/dist/esm/state/ImportState/__tests__/ImportState.engine.spec.js +28 -1
- package/dist/esm/state/ImportState/__tests__/ImportState.engine.spec.js.map +1 -1
- package/dist/esm/testkit/createInMemorySchemaSource.js +2 -1
- package/dist/esm/testkit/createInMemorySchemaSource.js.map +1 -1
- package/dist/esm/testkit/hubJobImportMocks.js +14 -4
- package/dist/esm/testkit/hubJobImportMocks.js.map +1 -1
- package/dist/esm/types/FieldTypeDefinition.js +16 -0
- package/dist/esm/types/FieldTypeDefinition.js.map +1 -0
- package/dist/esm/types/SchemaSource.js +16 -3
- package/dist/esm/types/SchemaSource.js.map +1 -1
- package/dist/esm/types/__tests__/defineSchemaSource.fieldTypes.spec.js +51 -0
- package/dist/esm/types/__tests__/defineSchemaSource.fieldTypes.spec.js.map +1 -0
- package/dist/types/hooks/useImport.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/state/CollectionPageState/CollectionPageState.d.ts +1 -0
- package/dist/types/state/CollectionPageState/CollectionPageState.d.ts.map +1 -1
- package/dist/types/state/CustomFieldModalState.d.ts +6 -0
- package/dist/types/state/CustomFieldModalState.d.ts.map +1 -1
- package/dist/types/state/ImportState/ImportState.d.ts.map +1 -1
- package/dist/types/testkit/WixPatternsContainer.driver.d.ts +2 -0
- package/dist/types/testkit/WixPatternsContainer.driver.d.ts.map +1 -1
- package/dist/types/testkit/createInMemorySchemaSource.d.ts +3 -0
- package/dist/types/testkit/createInMemorySchemaSource.d.ts.map +1 -1
- package/dist/types/testkit/hubJobImportMocks.d.ts +8 -0
- package/dist/types/testkit/hubJobImportMocks.d.ts.map +1 -1
- package/dist/types/types/Field.d.ts +3 -1
- package/dist/types/types/Field.d.ts.map +1 -1
- package/dist/types/types/FieldTypeDefinition.d.ts +253 -0
- package/dist/types/types/FieldTypeDefinition.d.ts.map +1 -0
- package/dist/types/types/FieldsSource.d.ts +47 -2
- package/dist/types/types/FieldsSource.d.ts.map +1 -1
- package/dist/types/types/SchemaSource.d.ts +28 -2
- package/dist/types/types/SchemaSource.d.ts.map +1 -1
- package/dist/types/types/__tests__/defineSchemaSource.fieldTypes.spec.d.ts +2 -0
- package/dist/types/types/__tests__/defineSchemaSource.fieldTypes.spec.d.ts.map +1 -0
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_providers","_state","useCreateImport","params","config","importInputs","fieldsSource","detectColumnType","importModalState","showToast","translate","errorHandler","window","httpClient","useWixPatternsContainer","collection","useCollectionContext","useCallback","ImportState","downloadCsv","content","fileName","download","encodeURIComponent"],"sources":["../../../src/hooks/useImport.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { useWixPatternsContainer, useCollectionContext } from '../providers';\nimport {\n ModalState,\n ImportState,\n ResolvedImportConfig,\n ImportConfig,\n DetectColumnType,\n} from '../state';\nimport type { FieldsSource } from '../types/FieldsSource';\nimport { FiltersMap } from '../model';\n\nexport interface UseImportParams {\n /** Consumer inputs (destination, extra fields, backup, …). The collection,\n * fields, and create-new-field are read from `fieldsSource`. */\n importInputs?: ImportConfig;\n /** The table's live fields source; `ImportState` builds the config from it. */\n fieldsSource?: FieldsSource;\n /** A fully pre-built config, used instead of building from the inputs/source. */\n config?: ResolvedImportConfig;\n detectColumnType?: DetectColumnType;\n importModalState: ModalState;\n}\n\nexport function useCreateImport<T = unknown, F extends FiltersMap = FiltersMap>(\n params: UseImportParams,\n) {\n const {
|
|
1
|
+
{"version":3,"names":["_react","require","_providers","_state","useCreateImport","params","config","importInputs","fieldsSource","detectColumnType","importModalState","showToast","translate","errorHandler","window","httpClient","useWixPatternsContainer","collection","useCollectionContext","useCallback","ImportState","downloadCsv","content","fileName","download","encodeURIComponent"],"sources":["../../../src/hooks/useImport.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { useWixPatternsContainer, useCollectionContext } from '../providers';\nimport {\n ModalState,\n ImportState,\n ResolvedImportConfig,\n ImportConfig,\n DetectColumnType,\n} from '../state';\nimport type { FieldsSource } from '../types/FieldsSource';\nimport { FiltersMap } from '../model';\n\nexport interface UseImportParams {\n /** Consumer inputs (destination, extra fields, backup, …). The collection,\n * fields, and create-new-field are read from `fieldsSource`. */\n importInputs?: ImportConfig;\n /** The table's live fields source; `ImportState` builds the config from it. */\n fieldsSource?: FieldsSource;\n /** A fully pre-built config, used instead of building from the inputs/source. */\n config?: ResolvedImportConfig;\n detectColumnType?: DetectColumnType;\n importModalState: ModalState;\n}\n\nexport function useCreateImport<T = unknown, F extends FiltersMap = FiltersMap>(\n params: UseImportParams,\n) {\n const {\n config,\n importInputs,\n fieldsSource,\n detectColumnType,\n importModalState,\n } = params;\n const { showToast, translate, errorHandler, window, httpClient } =\n useWixPatternsContainer();\n const collection = useCollectionContext<T, F>();\n\n return useCallback(() => {\n return new ImportState({\n config,\n importInputs,\n fieldsSource,\n httpClient,\n detectColumnType,\n collection,\n importModalState,\n showToast,\n translate,\n errorHandler,\n downloadCsv: (content, fileName) => {\n window.download(\n `data:text/csv;charset=utf-8,${encodeURIComponent(content)}`,\n fileName,\n );\n },\n });\n }, []);\n}\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AAsBO,SAASG,eAAeA,CAC7BC,MAAuB,EACvB;EACA,MAAM;IACJC,MAAM;IACNC,YAAY;IACZC,YAAY;IACZC,gBAAgB;IAChBC;EACF,CAAC,GAAGL,MAAM;EACV,MAAM;IAAEM,SAAS;IAAEC,SAAS;IAAEC,YAAY;IAAEC,MAAM;IAAEC;EAAW,CAAC,GAC9D,IAAAC,kCAAuB,EAAC,CAAC;EAC3B,MAAMC,UAAU,GAAG,IAAAC,+BAAoB,EAAO,CAAC;EAE/C,OAAO,IAAAC,kBAAW,EAAC,MAAM;IACvB,OAAO,IAAIC,kBAAW,CAAC;MACrBd,MAAM;MACNC,YAAY;MACZC,YAAY;MACZO,UAAU;MACVN,gBAAgB;MAChBQ,UAAU;MACVP,gBAAgB;MAChBC,SAAS;MACTC,SAAS;MACTC,YAAY;MACZQ,WAAW,EAAEA,CAACC,OAAO,EAAEC,QAAQ,KAAK;QAClCT,MAAM,CAACU,QAAQ,CACb,+BAA+BC,kBAAkB,CAACH,OAAO,CAAC,EAAE,EAC5DC,QACF,CAAC;MACH;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;AACR","ignoreList":[]}
|
package/dist/cjs/index.js
CHANGED
|
@@ -80,4 +80,11 @@ exports.DeepPartial = _DeepPartial.DeepPartial;
|
|
|
80
80
|
var _SchemaSource = require("./types/SchemaSource");
|
|
81
81
|
exports.defineSchemaSource = _SchemaSource.defineSchemaSource;
|
|
82
82
|
exports.sourceFetchData = _SchemaSource.sourceFetchData;
|
|
83
|
+
var _FieldTypeDefinition = require("./types/FieldTypeDefinition");
|
|
84
|
+
Object.keys(_FieldTypeDefinition).forEach(function (key) {
|
|
85
|
+
if (key === "default" || key === "__esModule") return;
|
|
86
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
87
|
+
if (key in exports && exports[key] === _FieldTypeDefinition[key]) return;
|
|
88
|
+
exports[key] = _FieldTypeDefinition[key];
|
|
89
|
+
});
|
|
83
90
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_model","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","_state","_services","_util","_useExport","_useImport","_createCollection","_useCollectionDatasetSync","_hooks","CollectionConfigWithConditionals","CollectionFactory","useSyncProps","useSelector","_core","QueryCache","_DeepPartial","DeepPartial","_SchemaSource","defineSchemaSource","sourceFetchData"],"sources":["../../src/index.ts"],"sourcesContent":["export * from './model';\nexport * from './state';\nexport * from './services';\nexport * from './util';\nexport * from './hooks/useExport';\nexport * from './hooks/useImport';\nexport * from './hooks/createCollection';\nexport * from './hooks/useCollectionDatasetSync';\nexport {\n CollectionConfigWithConditionals,\n CollectionFactory,\n useSyncProps,\n useSelector,\n} from './hooks';\nexport { QueryCache } from 'react-query/core';\nexport { DeepPartial } from './types/DeepPartial';\nexport type {\n PatternsFieldType,\n QueryOperator,\n NumberRange,\n StringLengthRange,\n BaseReferenceField,\n ReferenceField,\n MultiReferenceField,\n NonReferenceField,\n Field,\n FieldSpec,\n} from './types/Field';\nexport type {\n Schema,\n SchemaPermissions,\n ItemPermissions,\n CollectionBackendBase,\n CollectionBackend,\n FieldActions,\n BackupConfig,\n BulkInsertResult,\n BulkInsertError,\n LoadedSchema,\n SchemaLoader,\n FindOptions,\n} from './types/Schema';\nexport type {\n FieldsSource,\n FieldManagement,\n FieldArchive,\n ArchivedFieldItem,\n FieldTypeOption,\n FieldPermissions,\n FieldDraft,\n} from './types/FieldsSource';\nexport { defineSchemaSource, sourceFetchData } from './types/SchemaSource';\nexport type {\n SchemaSource,\n SchemaSourceInput,\n CreatableFieldType,\n} from './types/SchemaSource';\nexport type {\n CursorQuery,\n OffsetQuery,\n CursorQueryResult,\n OffsetQueryResult,\n CursorFetchDataFn,\n OffsetFetchDataFn,\n FetchTotalFn,\n} from './hooks/paginationModeConfig';\n"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["_model","require","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","_state","_services","_util","_useExport","_useImport","_createCollection","_useCollectionDatasetSync","_hooks","CollectionConfigWithConditionals","CollectionFactory","useSyncProps","useSelector","_core","QueryCache","_DeepPartial","DeepPartial","_SchemaSource","defineSchemaSource","sourceFetchData","_FieldTypeDefinition"],"sources":["../../src/index.ts"],"sourcesContent":["export * from './model';\nexport * from './state';\nexport * from './services';\nexport * from './util';\nexport * from './hooks/useExport';\nexport * from './hooks/useImport';\nexport * from './hooks/createCollection';\nexport * from './hooks/useCollectionDatasetSync';\nexport {\n CollectionConfigWithConditionals,\n CollectionFactory,\n useSyncProps,\n useSelector,\n} from './hooks';\nexport { QueryCache } from 'react-query/core';\nexport { DeepPartial } from './types/DeepPartial';\nexport type {\n PatternsFieldType,\n QueryOperator,\n NumberRange,\n StringLengthRange,\n BaseReferenceField,\n ReferenceField,\n MultiReferenceField,\n NonReferenceField,\n Field,\n FieldSpec,\n} from './types/Field';\nexport type {\n Schema,\n SchemaPermissions,\n ItemPermissions,\n CollectionBackendBase,\n CollectionBackend,\n FieldActions,\n BackupConfig,\n BulkInsertResult,\n BulkInsertError,\n LoadedSchema,\n SchemaLoader,\n FindOptions,\n} from './types/Schema';\nexport type {\n FieldsSource,\n FieldManagement,\n FieldArchive,\n ArchivedFieldItem,\n FieldTypeOption,\n FieldPermissions,\n FieldDraft,\n FieldModalText,\n FieldModalSubtitle,\n FieldPiiWarning,\n} from './types/FieldsSource';\nexport { defineSchemaSource, sourceFetchData } from './types/SchemaSource';\nexport type {\n SchemaSource,\n SchemaSourceInput,\n CreatableFieldType,\n} from './types/SchemaSource';\nexport * from './types/FieldTypeDefinition';\nexport type {\n CursorQuery,\n OffsetQuery,\n CursorQueryResult,\n OffsetQueryResult,\n CursorFetchDataFn,\n OffsetFetchDataFn,\n FetchTotalFn,\n} from './hooks/paginationModeConfig';\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
exports.__esModule = true;
|
|
5
|
-
exports.NARROW_PAGE_BREAKPOINT = exports.CollectionPageState = void 0;
|
|
5
|
+
exports.SCROLL_RESTORE_WINDOW_MS = exports.NARROW_PAGE_BREAKPOINT = exports.CollectionPageState = void 0;
|
|
6
6
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
7
7
|
var _mobx = require("mobx");
|
|
8
8
|
var _PageState = require("../PageState");
|
|
@@ -10,6 +10,7 @@ var _resizeObserverCompat = require("../resizeObserverCompat");
|
|
|
10
10
|
var _CollectionPageStateBIReporter = require("./CollectionPageStateBIReporter");
|
|
11
11
|
var _throttle = _interopRequireDefault(require("lodash/throttle"));
|
|
12
12
|
const NARROW_PAGE_BREAKPOINT = exports.NARROW_PAGE_BREAKPOINT = 960;
|
|
13
|
+
const SCROLL_RESTORE_WINDOW_MS = exports.SCROLL_RESTORE_WINDOW_MS = 3000;
|
|
13
14
|
class CollectionPageState {
|
|
14
15
|
constructor(params) {
|
|
15
16
|
(0, _defineProperty2.default)(this, "pageTitle", void 0);
|
|
@@ -54,22 +55,38 @@ class CollectionPageState {
|
|
|
54
55
|
if (!scrollableContent) {
|
|
55
56
|
return () => {};
|
|
56
57
|
}
|
|
57
|
-
const
|
|
58
|
+
const restoreDeadline = performance.now() + SCROLL_RESTORE_WINDOW_MS;
|
|
59
|
+
const restoreScrollTop = () => {
|
|
58
60
|
if (this.scrollTopBeforeUnmount === null) {
|
|
59
61
|
return;
|
|
60
62
|
}
|
|
61
|
-
|
|
63
|
+
// The offset belongs to one trip back. Leaving it armed longer could let
|
|
64
|
+
// unrelated content growth trigger a surprise jump.
|
|
65
|
+
if (performance.now() > restoreDeadline) {
|
|
66
|
+
this.scrollTopBeforeUnmount = null;
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
const maxScrollTop = scrollableContent.scrollHeight - scrollableContent.clientHeight;
|
|
70
|
+
if (maxScrollTop >= this.scrollTopBeforeUnmount) {
|
|
62
71
|
scrollableContent.scrollTo({
|
|
63
72
|
top: this.scrollTopBeforeUnmount
|
|
64
73
|
});
|
|
65
74
|
this.scrollTopBeforeUnmount = null;
|
|
66
75
|
}
|
|
67
|
-
}
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
// The scrollable viewport keeps a fixed height, so it never resizes as rows
|
|
79
|
+
// load — only its content does. Observe both.
|
|
80
|
+
const scrollDisposer = (0, _resizeObserverCompat.addResizeObserver)(scrollableContent, restoreScrollTop);
|
|
81
|
+
// This is design-system Page content; a dedicated ref would be preferable,
|
|
82
|
+
// but none is exposed. A missing element or DOM change degrades silently.
|
|
83
|
+
const contentDisposer = (0, _resizeObserverCompat.addResizeObserver)(scrollableContent.firstElementChild, restoreScrollTop);
|
|
68
84
|
this._updateIsNarrow();
|
|
69
85
|
const narrowDisposer = (0, _resizeObserverCompat.addResizeObserver)(this.pageState.stackingRootRef.current, (0, _throttle.default)(this._updateIsNarrow, 100));
|
|
70
86
|
(_this$bi2 = this.bi) == null || _this$bi2.appLoaded == null || _this$bi2.appLoaded();
|
|
71
87
|
return () => {
|
|
72
88
|
scrollDisposer == null || scrollDisposer();
|
|
89
|
+
contentDisposer == null || contentDisposer();
|
|
73
90
|
narrowDisposer == null || narrowDisposer();
|
|
74
91
|
};
|
|
75
92
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_PageState","_resizeObserverCompat","_CollectionPageStateBIReporter","_throttle","_interopRequireDefault","NARROW_PAGE_BREAKPOINT","exports","CollectionPageState","constructor","params","_defineProperty2","default","performance","now","PageState","pageTitle","hasHeader","hideHeaderTotal","withinRouter","reportBI","bi","CollectionPageStateBIReporter","collectionPageState","makeObservable","observable","ref","total","primaryToolbar","isNarrow","_updateIsNarrow","action","bound","el","pageState","stackingRootRef","current","clientWidth","init","_this$bi","_this$bi2","scrollableContent","scrollableContentRef","
|
|
1
|
+
{"version":3,"names":["_mobx","require","_PageState","_resizeObserverCompat","_CollectionPageStateBIReporter","_throttle","_interopRequireDefault","NARROW_PAGE_BREAKPOINT","exports","SCROLL_RESTORE_WINDOW_MS","CollectionPageState","constructor","params","_defineProperty2","default","performance","now","PageState","pageTitle","hasHeader","hideHeaderTotal","withinRouter","reportBI","bi","CollectionPageStateBIReporter","collectionPageState","makeObservable","observable","ref","total","primaryToolbar","isNarrow","_updateIsNarrow","action","bound","el","pageState","stackingRootRef","current","clientWidth","init","_this$bi","_this$bi2","scrollableContent","scrollableContentRef","restoreDeadline","restoreScrollTop","scrollTopBeforeUnmount","maxScrollTop","scrollHeight","clientHeight","scrollTo","top","scrollDisposer","addResizeObserver","contentDisposer","firstElementChild","narrowDisposer","throttle","appLoaded"],"sources":["../../../../src/state/CollectionPageState/CollectionPageState.ts"],"sourcesContent":["import { action, makeObservable, observable } from 'mobx';\nimport { PageState } from '../PageState';\nimport { addResizeObserver } from '../resizeObserverCompat';\nimport { CollectionPageStateBIReporter } from './CollectionPageStateBIReporter';\nimport { ReportBI } from '../../services';\nimport { ToolbarCollectionState } from './ToolbarCollectionState';\nimport throttle from 'lodash/throttle';\n\nexport const NARROW_PAGE_BREAKPOINT = 960;\nexport const SCROLL_RESTORE_WINDOW_MS = 3000;\n\nexport interface CollectionPageStateParams {\n pageTitle?: string;\n hasHeader?: boolean;\n hideHeaderTotal?: boolean;\n reportBI?: ReportBI;\n withinRouter?: boolean;\n}\n\nexport class CollectionPageState {\n pageTitle?: string;\n hasHeader?: boolean = false;\n total?: number | boolean = false;\n hideHeaderTotal?: boolean = false;\n scrollTopBeforeUnmount: number | null = null;\n withinRouter?: boolean;\n isNarrow = false;\n readonly startTime = performance.now();\n readonly bi?: CollectionPageStateBIReporter;\n\n readonly pageState = new PageState();\n\n primaryToolbar: ToolbarCollectionState | null = null;\n\n constructor(params: CollectionPageStateParams) {\n this.pageTitle = params.pageTitle;\n this.hasHeader = params.hasHeader;\n this.hideHeaderTotal = params.hideHeaderTotal;\n this.withinRouter = params.withinRouter;\n if (params.reportBI) {\n this.bi = new CollectionPageStateBIReporter({\n reportBI: params.reportBI,\n collectionPageState: this,\n });\n }\n makeObservable(this, {\n pageTitle: observable.ref,\n hasHeader: observable.ref,\n hideHeaderTotal: observable.ref,\n total: observable.ref,\n primaryToolbar: observable.ref,\n isNarrow: observable.ref,\n _updateIsNarrow: action.bound,\n });\n }\n\n _updateIsNarrow() {\n const el = this.pageState.stackingRootRef.current;\n this.isNarrow = el ? el.clientWidth < NARROW_PAGE_BREAKPOINT : false;\n }\n\n init() {\n this.bi?.init();\n\n const scrollableContent = this.pageState.scrollableContentRef.current;\n if (!scrollableContent) {\n return () => {};\n }\n\n const restoreDeadline = performance.now() + SCROLL_RESTORE_WINDOW_MS;\n const restoreScrollTop = () => {\n if (this.scrollTopBeforeUnmount === null) {\n return;\n }\n // The offset belongs to one trip back. Leaving it armed longer could let\n // unrelated content growth trigger a surprise jump.\n if (performance.now() > restoreDeadline) {\n this.scrollTopBeforeUnmount = null;\n return;\n }\n const maxScrollTop =\n scrollableContent.scrollHeight - scrollableContent.clientHeight;\n if (maxScrollTop >= this.scrollTopBeforeUnmount) {\n scrollableContent.scrollTo({\n top: this.scrollTopBeforeUnmount,\n });\n this.scrollTopBeforeUnmount = null;\n }\n };\n\n // The scrollable viewport keeps a fixed height, so it never resizes as rows\n // load — only its content does. Observe both.\n const scrollDisposer = addResizeObserver(\n scrollableContent,\n restoreScrollTop,\n );\n // This is design-system Page content; a dedicated ref would be preferable,\n // but none is exposed. A missing element or DOM change degrades silently.\n const contentDisposer = addResizeObserver(\n scrollableContent.firstElementChild,\n restoreScrollTop,\n );\n\n this._updateIsNarrow();\n const narrowDisposer = addResizeObserver(\n this.pageState.stackingRootRef.current,\n throttle(this._updateIsNarrow, 100),\n );\n\n this.bi?.appLoaded?.();\n\n return () => {\n scrollDisposer?.();\n contentDisposer?.();\n narrowDisposer?.();\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -146,7 +146,9 @@ class CustomFieldModalState {
|
|
|
146
146
|
customFieldModalState: this
|
|
147
147
|
});
|
|
148
148
|
(0, _mobx.makeObservable)(this, {
|
|
149
|
+
selectedFieldType: _mobx.computed,
|
|
149
150
|
namePlaceholder: _mobx.computed,
|
|
151
|
+
typeSupportsPii: _mobx.computed,
|
|
150
152
|
isSubmitting: _mobx.computed,
|
|
151
153
|
disabledFields: _mobx.observable.ref,
|
|
152
154
|
errorToastConfig: _mobx.observable.ref,
|
|
@@ -337,9 +339,24 @@ class CustomFieldModalState {
|
|
|
337
339
|
get isSubmitting() {
|
|
338
340
|
return this.modalState.modal.confirming.isLoading;
|
|
339
341
|
}
|
|
342
|
+
get selectedFieldType() {
|
|
343
|
+
return this.fieldManagement.creatableFieldTypes.find(option => option.id === this.form.$.type.value);
|
|
344
|
+
}
|
|
340
345
|
get namePlaceholder() {
|
|
341
|
-
|
|
342
|
-
return (
|
|
346
|
+
var _this$selectedFieldTy, _this$selectedFieldTy2;
|
|
347
|
+
return ((_this$selectedFieldTy = this.selectedFieldType) == null ? void 0 : _this$selectedFieldTy.namePlaceholder) ?? ((_this$selectedFieldTy2 = this.selectedFieldType) == null ? void 0 : _this$selectedFieldTy2.label) ?? this.t('cairo.customFields.addCustomField.modal.fieldName.placeholder');
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
/** Whether the PII toggle shows: the picked type decides, and a type with no
|
|
351
|
+
* opinion follows the source. Checked on the raw value, not on
|
|
352
|
+
* `selectedFieldType` — editing a field whose type the source can't create
|
|
353
|
+
* finds no option, and the toggle still belongs there. */
|
|
354
|
+
get typeSupportsPii() {
|
|
355
|
+
var _this$selectedFieldTy3;
|
|
356
|
+
if (this.form.$.type.value == null) {
|
|
357
|
+
return false;
|
|
358
|
+
}
|
|
359
|
+
return ((_this$selectedFieldTy3 = this.selectedFieldType) == null ? void 0 : _this$selectedFieldTy3.supportsPii) ?? this.fieldManagement.supportsPii ?? false;
|
|
343
360
|
}
|
|
344
361
|
}
|
|
345
362
|
exports.CustomFieldModalState = CustomFieldModalState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_ConditionalModalState","_CustomFieldModalBiReporter","_formstate","_ToggleState","_util","_isHttpError","CustomFieldModalState","constructor","params","_defineProperty2","default","ToggleState","undefined","ConditionalModalState","onConfirm","mode","fieldManagement","maxReached","form","customFieldModalBiReporter","reportModalEndProcess","t","validation","validate","hasError","enableAutoValidation","Error","_this$container$showT","_this$container","draft","getFormValues","onSubmit","endType","addField","editField","key","container","showToast","call","message","type","biName","e","onConfirmError","FormState","FieldState","validators","value","name","containsKey","test","readUsers","readApps","writeUsers","writeApps","containsPii","permissions","read","apps","users","write","$","dirty","fieldCount","reportBi","CustomFieldModalBiReporter","customFieldModalState","makeObservable","namePlaceholder","computed","isSubmitting","disabledFields","observable","ref","errorToastConfig","reset","action","setFormValues","generateUniqueKey","bound","setKeyFieldIfNotDirty","setDefaultPermissions","_this$errorToastConfi","getResolvedError","errorHandler","runInAction","_httpError$response","_httpError$response2","_httpError$response3","resolvedError","httpError","isHttpError","isDetailsResponse","response","data","isErrorDetails","details","validationError","fieldViolations","some","v","ruleName","text","onClick","window","open","requestId","reportSubmitFailure","errorType","settings","setOff","disableAutoValidation","disablePermissionCheckboxes","_permissions$installe","_permissions$siteVisi","installedApps","hide","_permissions$installe2","_permissions$installe3","defaultRead","defaultWrite","siteVisitors","_permissions$siteVisi2","_permissions$siteVisi3","existingFieldKeys","includes","slug","slugify","length","index","translate","modalState","modal","confirming","isLoading","selected","creatableFieldTypes","find","option","id","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 { FieldDraft, FieldManagement } from '../types/FieldsSource';\nimport { WixPatternsContainer } from './WixPatternsContainer';\nimport { isHttpError, slugify } from '../util';\nimport { isDetailsResponse, isErrorDetails } from '../util/isHttpError';\nimport { ToastConfig } from '../model';\n\nexport interface CustomFieldStateParams {\n fieldManagement: FieldManagement;\n container: WixPatternsContainer;\n reportBi: ReportBI;\n /** Field count for the \"numAdded\" BI param. */\n fieldCount: () => number;\n /**\n * Pure mode: when provided, confirm validates and hands the collected draft to\n * `onSubmit` instead of creating/editing the field through `fieldManagement`\n * (no server side effect, no success toast). Used by the CSV import flow, which\n * defers field creation to a single batch step before upload. `fieldManagement`\n * is still required — the form reads its creatable types/permissions/keys.\n */\n onSubmit?: (draft: FieldDraft) => void;\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 fieldManagement: FieldManagement;\n container: WixPatternsContainer;\n fieldCount: () => number;\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 private readonly onSubmit?: (draft: FieldDraft) => void;\n\n modalState = new ConditionalModalState({\n onConfirm: async () => {\n if (this.mode === 'new' && this.fieldManagement.maxReached) {\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 try {\n const draft = this.getFormValues();\n\n // Pure mode (CSV import): hand the draft back; no server mutation, no\n // success toast (the field isn't created here — it's batched pre-upload).\n if (this.onSubmit) {\n this.onSubmit(draft);\n reportModalEndProcess({ endType: 'Add Field' });\n return;\n }\n\n if (mode === 'new') {\n await this.fieldManagement.addField(draft);\n } else {\n await this.fieldManagement.editField(draft.key, draft);\n }\n\n this.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<string | undefined>(undefined).validators((value) => {\n if (!value) {\n return this.t(\n 'cairo.customFields.addCustomField.modal.emptyFieldType.error',\n );\n }\n\n return undefined;\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 { t, mode } = this;\n\n if (!value) {\n return this.t(\n 'cairo.customFields.addCustomField.modal.emptyFieldName.error',\n );\n }\n\n if (mode === 'new' && this.containsKey(value)) {\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.fieldManagement = params.fieldManagement;\n this.container = params.container;\n this.fieldCount = params.fieldCount;\n this.reportBi = params.reportBi;\n this.onSubmit = params.onSubmit;\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.container.errorHandler;\n\n runInAction(() => {\n const resolvedError = getResolvedError?.(e);\n const httpError = isHttpError(e) ? e : undefined;\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(): FieldDraft {\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: FieldDraft,\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 } = this;\n const permissions = this.fieldManagement.permissions;\n if (!permissions?.installedApps?.hide) {\n $.readApps.value = !!permissions?.installedApps?.defaultRead;\n $.writeApps.value = !!permissions?.installedApps?.defaultWrite;\n }\n\n if (!permissions?.siteVisitors?.hide) {\n $.readUsers.value = !!permissions?.siteVisitors?.defaultRead;\n $.writeUsers.value = !!permissions?.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.fieldManagement.existingFieldKeys.includes(key);\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.container.translate;\n }\n\n get isSubmitting() {\n return this.modalState.modal.confirming.isLoading;\n }\n\n get namePlaceholder() {\n const selected = this.fieldManagement.creatableFieldTypes.find(\n (option) => option.id === this.form.$.type.value,\n );\n\n return (\n selected?.namePlaceholder ??\n this.t('cairo.customFields.addCustomField.modal.fieldName.placeholder')\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","fieldManagement","maxReached","form","customFieldModalBiReporter","reportModalEndProcess","t","validation","validate","hasError","enableAutoValidation","Error","_this$container$showT","_this$container","draft","getFormValues","onSubmit","endType","addField","editField","key","container","showToast","call","message","type","biName","e","onConfirmError","FormState","FieldState","validators","value","name","containsKey","test","readUsers","readApps","writeUsers","writeApps","containsPii","permissions","read","apps","users","write","$","dirty","fieldCount","reportBi","CustomFieldModalBiReporter","customFieldModalState","makeObservable","selectedFieldType","computed","namePlaceholder","typeSupportsPii","isSubmitting","disabledFields","observable","ref","errorToastConfig","reset","action","setFormValues","generateUniqueKey","bound","setKeyFieldIfNotDirty","setDefaultPermissions","_this$errorToastConfi","getResolvedError","errorHandler","runInAction","_httpError$response","_httpError$response2","_httpError$response3","resolvedError","httpError","isHttpError","isDetailsResponse","response","data","isErrorDetails","details","validationError","fieldViolations","some","v","ruleName","text","onClick","window","open","requestId","reportSubmitFailure","errorType","settings","setOff","disableAutoValidation","disablePermissionCheckboxes","_permissions$installe","_permissions$siteVisi","installedApps","hide","_permissions$installe2","_permissions$installe3","defaultRead","defaultWrite","siteVisitors","_permissions$siteVisi2","_permissions$siteVisi3","existingFieldKeys","includes","slug","slugify","length","index","translate","modalState","modal","confirming","isLoading","creatableFieldTypes","find","option","id","_this$selectedFieldTy","_this$selectedFieldTy2","label","_this$selectedFieldTy3","supportsPii","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 { FieldDraft, FieldManagement } from '../types/FieldsSource';\nimport { WixPatternsContainer } from './WixPatternsContainer';\nimport { isHttpError, slugify } from '../util';\nimport { isDetailsResponse, isErrorDetails } from '../util/isHttpError';\nimport { ToastConfig } from '../model';\n\nexport interface CustomFieldStateParams {\n fieldManagement: FieldManagement;\n container: WixPatternsContainer;\n reportBi: ReportBI;\n /** Field count for the \"numAdded\" BI param. */\n fieldCount: () => number;\n /**\n * Pure mode: when provided, confirm validates and hands the collected draft to\n * `onSubmit` instead of creating/editing the field through `fieldManagement`\n * (no server side effect, no success toast). Used by the CSV import flow, which\n * defers field creation to a single batch step before upload. `fieldManagement`\n * is still required — the form reads its creatable types/permissions/keys.\n */\n onSubmit?: (draft: FieldDraft) => void;\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 fieldManagement: FieldManagement;\n container: WixPatternsContainer;\n fieldCount: () => number;\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 private readonly onSubmit?: (draft: FieldDraft) => void;\n\n modalState = new ConditionalModalState({\n onConfirm: async () => {\n if (this.mode === 'new' && this.fieldManagement.maxReached) {\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 try {\n const draft = this.getFormValues();\n\n // Pure mode (CSV import): hand the draft back; no server mutation, no\n // success toast (the field isn't created here — it's batched pre-upload).\n if (this.onSubmit) {\n this.onSubmit(draft);\n reportModalEndProcess({ endType: 'Add Field' });\n return;\n }\n\n if (mode === 'new') {\n await this.fieldManagement.addField(draft);\n } else {\n await this.fieldManagement.editField(draft.key, draft);\n }\n\n this.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<string | undefined>(undefined).validators((value) => {\n if (!value) {\n return this.t(\n 'cairo.customFields.addCustomField.modal.emptyFieldType.error',\n );\n }\n\n return undefined;\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 { t, mode } = this;\n\n if (!value) {\n return this.t(\n 'cairo.customFields.addCustomField.modal.emptyFieldName.error',\n );\n }\n\n if (mode === 'new' && this.containsKey(value)) {\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.fieldManagement = params.fieldManagement;\n this.container = params.container;\n this.fieldCount = params.fieldCount;\n this.reportBi = params.reportBi;\n this.onSubmit = params.onSubmit;\n this.customFieldModalBiReporter = new CustomFieldModalBiReporter({\n customFieldModalState: this,\n });\n\n makeObservable(this, {\n selectedFieldType: computed,\n namePlaceholder: computed,\n typeSupportsPii: 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.container.errorHandler;\n\n runInAction(() => {\n const resolvedError = getResolvedError?.(e);\n const httpError = isHttpError(e) ? e : undefined;\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(): FieldDraft {\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: FieldDraft,\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 } = this;\n const permissions = this.fieldManagement.permissions;\n if (!permissions?.installedApps?.hide) {\n $.readApps.value = !!permissions?.installedApps?.defaultRead;\n $.writeApps.value = !!permissions?.installedApps?.defaultWrite;\n }\n\n if (!permissions?.siteVisitors?.hide) {\n $.readUsers.value = !!permissions?.siteVisitors?.defaultRead;\n $.writeUsers.value = !!permissions?.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.fieldManagement.existingFieldKeys.includes(key);\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.container.translate;\n }\n\n get isSubmitting() {\n return this.modalState.modal.confirming.isLoading;\n }\n\n get selectedFieldType() {\n return this.fieldManagement.creatableFieldTypes.find(\n (option) => option.id === this.form.$.type.value,\n );\n }\n\n get namePlaceholder() {\n return (\n this.selectedFieldType?.namePlaceholder ??\n this.selectedFieldType?.label ??\n this.t('cairo.customFields.addCustomField.modal.fieldName.placeholder')\n );\n }\n\n /** Whether the PII toggle shows: the picked type decides, and a type with no\n * opinion follows the source. Checked on the raw value, not on\n * `selectedFieldType` — editing a field whose type the source can't create\n * finds no option, and the toggle still belongs there. */\n get typeSupportsPii() {\n if (this.form.$.type.value == null) {\n return false;\n }\n return (\n this.selectedFieldType?.supportsPii ??\n this.fieldManagement.supportsPii ??\n false\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1045,16 +1045,17 @@ class ImportState {
|
|
|
1045
1045
|
};
|
|
1046
1046
|
}
|
|
1047
1047
|
_applyJobProgress(job) {
|
|
1048
|
-
var _progress$itemsSucces, _progress$itemsSucces2;
|
|
1049
1048
|
const progress = job.progress;
|
|
1050
1049
|
const succeeded = (progress == null ? void 0 : progress.itemsSuccessful) ?? 0;
|
|
1051
1050
|
const failed = (progress == null ? void 0 : progress.itemsRejected) ?? 0;
|
|
1052
1051
|
const current = (progress == null ? void 0 : progress.current) ?? succeeded + failed;
|
|
1053
1052
|
// The server splits successful items into created (new) and updated
|
|
1054
|
-
// (existing) — the summary step reports each.
|
|
1055
|
-
//
|
|
1056
|
-
|
|
1057
|
-
const
|
|
1053
|
+
// (existing) — the summary step reports each. Some jobs omit this split
|
|
1054
|
+
// entirely (`itemsSuccessfulInfo` absent); in that case treat every success
|
|
1055
|
+
// as created so the summary still shows a count instead of a blank step.
|
|
1056
|
+
const successInfo = progress == null ? void 0 : progress.itemsSuccessfulInfo;
|
|
1057
|
+
const created = successInfo ? successInfo.itemsCreated ?? 0 : succeeded;
|
|
1058
|
+
const updated = (successInfo == null ? void 0 : successInfo.itemsUpdated) ?? 0;
|
|
1058
1059
|
|
|
1059
1060
|
// `totalCount` is fixed up front in `startImport` from the CSV row count
|
|
1060
1061
|
// (one uploaded row per CSV row); polling only advances `processedCount`.
|