@wix/bex-core 2.338.0 → 2.340.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.
Files changed (66) hide show
  1. package/dist/cjs/assets/locale/messages_ar.json +2 -2
  2. package/dist/cjs/assets/locale/messages_bg.json +2 -2
  3. package/dist/cjs/assets/locale/messages_ca.json +2 -2
  4. package/dist/cjs/assets/locale/messages_el.json +2 -2
  5. package/dist/cjs/assets/locale/messages_en.json +2 -2
  6. package/dist/cjs/assets/locale/messages_fi.json +2 -2
  7. package/dist/cjs/assets/locale/messages_he.json +2 -2
  8. package/dist/cjs/assets/locale/messages_hu.json +2 -2
  9. package/dist/cjs/assets/locale/messages_lt.json +2 -2
  10. package/dist/cjs/assets/locale/messages_ms.json +2 -2
  11. package/dist/cjs/assets/locale/messages_ro.json +2 -2
  12. package/dist/cjs/assets/locale/messages_sk.json +2 -2
  13. package/dist/cjs/assets/locale/messages_sl.json +2 -2
  14. package/dist/cjs/assets/locale/messages_tl.json +2 -2
  15. package/dist/cjs/assets/locale/version_file +1 -1
  16. package/dist/cjs/assets/visual-e2e-locale/messages_visuale2e.json +2 -2
  17. package/dist/cjs/index.js.map +1 -1
  18. package/dist/cjs/services/translations.js.map +1 -1
  19. package/dist/cjs/state/CustomFieldModalState.js +53 -4
  20. package/dist/cjs/state/CustomFieldModalState.js.map +1 -1
  21. package/dist/cjs/state/ImportState/ImportState.js.map +1 -1
  22. package/dist/cjs/testkit/createInMemorySchemaSource.js +6 -3
  23. package/dist/cjs/testkit/createInMemorySchemaSource.js.map +1 -1
  24. package/dist/cjs/types/FieldsSource.js.map +1 -1
  25. package/dist/cjs/types/Schema.js.map +1 -1
  26. package/dist/cjs/types/SchemaSource.js +11 -8
  27. package/dist/cjs/types/SchemaSource.js.map +1 -1
  28. package/dist/esm/assets/locale/messages_ar.json +2 -2
  29. package/dist/esm/assets/locale/messages_bg.json +2 -2
  30. package/dist/esm/assets/locale/messages_ca.json +2 -2
  31. package/dist/esm/assets/locale/messages_el.json +2 -2
  32. package/dist/esm/assets/locale/messages_en.json +2 -2
  33. package/dist/esm/assets/locale/messages_fi.json +2 -2
  34. package/dist/esm/assets/locale/messages_he.json +2 -2
  35. package/dist/esm/assets/locale/messages_hu.json +2 -2
  36. package/dist/esm/assets/locale/messages_lt.json +2 -2
  37. package/dist/esm/assets/locale/messages_ms.json +2 -2
  38. package/dist/esm/assets/locale/messages_ro.json +2 -2
  39. package/dist/esm/assets/locale/messages_sk.json +2 -2
  40. package/dist/esm/assets/locale/messages_sl.json +2 -2
  41. package/dist/esm/assets/locale/messages_tl.json +2 -2
  42. package/dist/esm/assets/locale/version_file +1 -1
  43. package/dist/esm/assets/visual-e2e-locale/messages_visuale2e.json +2 -2
  44. package/dist/esm/index.js.map +1 -1
  45. package/dist/esm/state/CustomFieldModalState.js +46 -3
  46. package/dist/esm/state/CustomFieldModalState.js.map +1 -1
  47. package/dist/esm/testkit/createInMemorySchemaSource.js +6 -3
  48. package/dist/esm/testkit/createInMemorySchemaSource.js.map +1 -1
  49. package/dist/esm/types/SchemaSource.js +2 -4
  50. package/dist/esm/types/SchemaSource.js.map +1 -1
  51. package/dist/types/index.d.ts +3 -3
  52. package/dist/types/index.d.ts.map +1 -1
  53. package/dist/types/services/translations.d.ts +1 -9
  54. package/dist/types/services/translations.d.ts.map +1 -1
  55. package/dist/types/state/CustomFieldModalState.d.ts +15 -2
  56. package/dist/types/state/CustomFieldModalState.d.ts.map +1 -1
  57. package/dist/types/state/ImportState/ImportState.d.ts +1 -1
  58. package/dist/types/testkit/createInMemorySchemaSource.d.ts +4 -3
  59. package/dist/types/testkit/createInMemorySchemaSource.d.ts.map +1 -1
  60. package/dist/types/types/FieldsSource.d.ts +56 -19
  61. package/dist/types/types/FieldsSource.d.ts.map +1 -1
  62. package/dist/types/types/Schema.d.ts +22 -3
  63. package/dist/types/types/Schema.d.ts.map +1 -1
  64. package/dist/types/types/SchemaSource.d.ts +29 -16
  65. package/dist/types/types/SchemaSource.d.ts.map +1 -1
  66. package/package.json +4 -4
@@ -42,6 +42,10 @@ class CustomFieldModalState {
42
42
  this.enableAutoValidation();
43
43
  throw new Error('validation');
44
44
  }
45
+ if (this.settingsHasError) {
46
+ this.settings.setOn();
47
+ throw new Error('validation');
48
+ }
45
49
  try {
46
50
  var _this$container$showT, _this$container;
47
51
  const draft = this.getFormValues();
@@ -149,11 +153,14 @@ class CustomFieldModalState {
149
153
  selectedFieldType: _mobx.computed,
150
154
  namePlaceholder: _mobx.computed,
151
155
  typeSupportsPii: _mobx.computed,
156
+ showSettings: _mobx.computed,
157
+ settingsHasError: _mobx.computed,
152
158
  isSubmitting: _mobx.computed,
153
159
  disabledFields: _mobx.observable.ref,
154
160
  errorToastConfig: _mobx.observable.ref,
155
161
  mode: _mobx.observable.ref,
156
162
  reset: _mobx.action,
163
+ resetSettingsValues: _mobx.action,
157
164
  setFormValues: _mobx.action,
158
165
  generateUniqueKey: _mobx.action.bound,
159
166
  setKeyFieldIfNotDirty: _mobx.action.bound,
@@ -206,6 +213,7 @@ class CustomFieldModalState {
206
213
  } = this;
207
214
  form.reset();
208
215
  settings.setOff();
216
+ this.resetSettingsValues();
209
217
  this.errorToastConfig = undefined;
210
218
  this.disableAutoValidation();
211
219
  permissions.read.apps = false;
@@ -213,6 +221,16 @@ class CustomFieldModalState {
213
221
  permissions.write.apps = false;
214
222
  permissions.write.users = false;
215
223
  }
224
+
225
+ /** Clears the settings sections back to their defaults. Goes over every type
226
+ * option rather than the picked one: `reset()` runs after the form is
227
+ * cleared, when no type is picked. */
228
+ resetSettingsValues() {
229
+ this.fieldManagement.fieldModal.types.forEach(type => {
230
+ var _type$settingsSection;
231
+ return (_type$settingsSection = type.settingsSection) == null ? void 0 : _type$settingsSection.setValues();
232
+ });
233
+ }
216
234
  enableAutoValidation() {
217
235
  const {
218
236
  form: {
@@ -242,6 +260,7 @@ class CustomFieldModalState {
242
260
  type.disableAutoValidation();
243
261
  }
244
262
  getFormValues() {
263
+ var _this$settingsSection;
245
264
  const {
246
265
  form: {
247
266
  $: {
@@ -264,10 +283,12 @@ class CustomFieldModalState {
264
283
  readUsers: readUsers.value,
265
284
  writeApps: writeApps.value,
266
285
  writeUsers: writeUsers.value,
267
- containsPii: containsPii.value
286
+ containsPii: containsPii.value,
287
+ settings: (_this$settingsSection = this.settingsSection) == null ? void 0 : _this$settingsSection.getValues(type.value)
268
288
  };
269
289
  }
270
290
  setFormValues(form, params) {
291
+ var _this$settingsSection2;
271
292
  const {
272
293
  form: {
273
294
  $
@@ -281,6 +302,8 @@ class CustomFieldModalState {
281
302
  $.writeApps.value = form.writeApps;
282
303
  $.writeUsers.value = form.writeUsers;
283
304
  $.containsPii.value = form.containsPii;
305
+ // After `$.type.value` above, so it lands on the picked type's section.
306
+ (_this$settingsSection2 = this.settingsSection) == null || _this$settingsSection2.setValues(form.field);
284
307
  if (params != null && params.disablePermissionCheckboxes) {
285
308
  if (form.readUsers) {
286
309
  this.disabledFields.permissions.read.users = true;
@@ -303,7 +326,7 @@ class CustomFieldModalState {
303
326
  $
304
327
  }
305
328
  } = this;
306
- const permissions = this.fieldManagement.permissions;
329
+ const permissions = this.fieldManagement.fieldModal.permissions;
307
330
  if (!(permissions != null && (_permissions$installe = permissions.installedApps) != null && _permissions$installe.hide)) {
308
331
  var _permissions$installe2, _permissions$installe3;
309
332
  $.readApps.value = !!(permissions != null && (_permissions$installe2 = permissions.installedApps) != null && _permissions$installe2.defaultRead);
@@ -340,7 +363,7 @@ class CustomFieldModalState {
340
363
  return this.modalState.modal.confirming.isLoading;
341
364
  }
342
365
  get selectedFieldType() {
343
- return this.fieldManagement.creatableFieldTypes.find(option => option.id === this.form.$.type.value);
366
+ return this.fieldManagement.fieldModal.types.find(option => option.id === this.form.$.type.value);
344
367
  }
345
368
  get namePlaceholder() {
346
369
  var _this$selectedFieldTy, _this$selectedFieldTy2;
@@ -356,7 +379,33 @@ class CustomFieldModalState {
356
379
  if (this.form.$.type.value == null) {
357
380
  return false;
358
381
  }
359
- return ((_this$selectedFieldTy3 = this.selectedFieldType) == null ? void 0 : _this$selectedFieldTy3.supportsPii) ?? this.fieldManagement.supportsPii ?? false;
382
+ return ((_this$selectedFieldTy3 = this.selectedFieldType) == null ? void 0 : _this$selectedFieldTy3.supportsPii) ?? this.fieldManagement.fieldModal.supportsPii ?? false;
383
+ }
384
+
385
+ /** The picked type's settings section. Editing a field of a type the source
386
+ * can't create finds no entry for it, so it falls back to the first section
387
+ * the source declares — that field still has settings to show. */
388
+ get settingsSection() {
389
+ var _this$selectedFieldTy4, _this$fieldManagement;
390
+ if (!this.form.$.type.value) {
391
+ return undefined;
392
+ }
393
+ return ((_this$selectedFieldTy4 = this.selectedFieldType) == null ? void 0 : _this$selectedFieldTy4.settingsSection) ?? ((_this$fieldManagement = this.fieldManagement.fieldModal.types.find(t => t.settingsSection)) == null ? void 0 : _this$fieldManagement.settingsSection);
394
+ }
395
+
396
+ /** Not a computed: the warning may read data the source loaded outside MobX,
397
+ * so it's called afresh on every render. Same fallback as `settingsSection`. */
398
+ get piiWarning() {
399
+ var _this$selectedFieldTy5, _this$fieldManagement2;
400
+ const warning = ((_this$selectedFieldTy5 = this.selectedFieldType) == null ? void 0 : _this$selectedFieldTy5.piiWarning) ?? ((_this$fieldManagement2 = this.fieldManagement.fieldModal.types.find(t => t.piiWarning)) == null ? void 0 : _this$fieldManagement2.piiWarning);
401
+ return warning == null ? void 0 : warning();
402
+ }
403
+ get showSettings() {
404
+ return Boolean(this.fieldManagement.fieldModal.permissions) || Boolean(this.settingsSection);
405
+ }
406
+ get settingsHasError() {
407
+ var _this$settingsSection3;
408
+ return Boolean((_this$settingsSection3 = this.settingsSection) == null ? void 0 : _this$settingsSection3.hasError(this.form.$.type.value));
360
409
  }
361
410
  }
362
411
  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","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":[]}
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","settingsHasError","settings","setOn","_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","showSettings","isSubmitting","disabledFields","observable","ref","errorToastConfig","reset","action","resetSettingsValues","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","setOff","disableAutoValidation","fieldModal","types","forEach","_type$settingsSection","settingsSection","setValues","_this$settingsSection","getValues","_this$settingsSection2","field","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","find","option","id","_this$selectedFieldTy","_this$selectedFieldTy2","label","_this$selectedFieldTy3","supportsPii","_this$selectedFieldTy4","_this$fieldManagement","piiWarning","_this$selectedFieldTy5","_this$fieldManagement2","warning","Boolean","_this$settingsSection3","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 type options/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 if (this.settingsHasError) {\n this.settings.setOn();\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 showSettings: computed,\n settingsHasError: computed,\n isSubmitting: computed,\n disabledFields: observable.ref,\n errorToastConfig: observable.ref,\n mode: observable.ref,\n reset: action,\n resetSettingsValues: 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.resetSettingsValues();\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 /** Clears the settings sections back to their defaults. Goes over every type\n * option rather than the picked one: `reset()` runs after the form is\n * cleared, when no type is picked. */\n resetSettingsValues() {\n this.fieldManagement.fieldModal.types.forEach((type) =>\n type.settingsSection?.setValues(),\n );\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 settings: this.settingsSection?.getValues(type.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 // After `$.type.value` above, so it lands on the picked type's section.\n this.settingsSection?.setValues(form.field);\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.fieldModal.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.fieldModal.types.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.fieldModal.supportsPii ??\n false\n );\n }\n\n /** The picked type's settings section. Editing a field of a type the source\n * can't create finds no entry for it, so it falls back to the first section\n * the source declares — that field still has settings to show. */\n get settingsSection() {\n if (!this.form.$.type.value) {\n return undefined;\n }\n return (\n this.selectedFieldType?.settingsSection ??\n this.fieldManagement.fieldModal.types.find((t) => t.settingsSection)\n ?.settingsSection\n );\n }\n\n /** Not a computed: the warning may read data the source loaded outside MobX,\n * so it's called afresh on every render. Same fallback as `settingsSection`. */\n get piiWarning() {\n const warning =\n this.selectedFieldType?.piiWarning ??\n this.fieldManagement.fieldModal.types.find((t) => t.piiWarning)\n ?.piiWarning;\n return warning?.();\n }\n\n get showSettings() {\n return (\n Boolean(this.fieldManagement.fieldModal.permissions) ||\n Boolean(this.settingsSection)\n );\n }\n\n get settingsHasError() {\n return Boolean(this.settingsSection?.hasError(this.form.$.type.value));\n }\n}\n"],"mappings":"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","ignoreList":[]}