@wix/bex-core 2.366.0 → 2.367.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/state/CustomFieldModalState.js +62 -12
- package/dist/cjs/state/CustomFieldModalState.js.map +1 -1
- package/dist/cjs/types/FieldsSource.js.map +1 -1
- package/dist/esm/state/CustomFieldModalState.js +50 -7
- package/dist/esm/state/CustomFieldModalState.js.map +1 -1
- package/dist/types/state/CustomFieldModalState.d.ts +13 -6
- package/dist/types/state/CustomFieldModalState.d.ts.map +1 -1
- package/dist/types/types/FieldsSource.d.ts +17 -1
- package/dist/types/types/FieldsSource.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -31,6 +31,11 @@ class CustomFieldModalState {
|
|
|
31
31
|
(0, _defineProperty2.default)(this, "reportBi", void 0);
|
|
32
32
|
(0, _defineProperty2.default)(this, "onSubmit", void 0);
|
|
33
33
|
(0, _defineProperty2.default)(this, "collectionOptionsState", new _CustomFieldCollectionOptionsState.CustomFieldCollectionOptionsState());
|
|
34
|
+
/** The `required` value requested by `applyInitialField`, reapplied whenever
|
|
35
|
+
* the picked type changes — a type picked after the fact (or an unlocked
|
|
36
|
+
* type the user later changes) would otherwise start the settings section
|
|
37
|
+
* fresh and silently drop it. */
|
|
38
|
+
(0, _defineProperty2.default)(this, "pendingRequired", void 0);
|
|
34
39
|
(0, _defineProperty2.default)(this, "modalState", new _ConditionalModalState.ConditionalModalState({
|
|
35
40
|
onConfirm: async () => {
|
|
36
41
|
if (this.mode === 'new' && this.fieldManagement.maxReached) {
|
|
@@ -194,6 +199,34 @@ class CustomFieldModalState {
|
|
|
194
199
|
setKeyFieldIfNotDirty: _mobx.action.bound,
|
|
195
200
|
setDefaultPermissions: _mobx.action
|
|
196
201
|
});
|
|
202
|
+
|
|
203
|
+
// Reapplies a pending `required` prefill whenever the picked type changes
|
|
204
|
+
// — covers both picking a type after `applyInitialField` requested it,
|
|
205
|
+
// and the settings section resetting when the user later changes an
|
|
206
|
+
// unlocked type. Lives for this state's lifetime; never disposed, like
|
|
207
|
+
// the object itself.
|
|
208
|
+
(0, _mobx.reaction)(() => this.form.$.type.value, () => this.reapplyPendingRequired());
|
|
209
|
+
}
|
|
210
|
+
reapplyPendingRequired() {
|
|
211
|
+
var _this$settingsSection;
|
|
212
|
+
if (this.pendingRequired === undefined) {
|
|
213
|
+
return;
|
|
214
|
+
}
|
|
215
|
+
if ((_this$settingsSection = this.settingsSection) != null && _this$settingsSection.setInitialValues) {
|
|
216
|
+
this.settingsSection.setInitialValues({
|
|
217
|
+
required: this.pendingRequired
|
|
218
|
+
});
|
|
219
|
+
return;
|
|
220
|
+
}
|
|
221
|
+
if (this.settingsSection) {
|
|
222
|
+
// The picked type's section has no way to apply the prefill, so
|
|
223
|
+
// locking 'required' would only disable the checkbox at its unset
|
|
224
|
+
// default with no way to ever satisfy the requested value — drop the
|
|
225
|
+
// lock rather than present it as enforced.
|
|
226
|
+
(0, _mobx.runInAction)(() => {
|
|
227
|
+
this.lockedProperties = this.lockedProperties.filter(property => property !== 'required');
|
|
228
|
+
});
|
|
229
|
+
}
|
|
197
230
|
}
|
|
198
231
|
onConfirmError(e) {
|
|
199
232
|
var _this$errorToastConfi;
|
|
@@ -245,6 +278,9 @@ class CustomFieldModalState {
|
|
|
245
278
|
this.resetCollectionInput();
|
|
246
279
|
this.errorToastConfig = undefined;
|
|
247
280
|
this.disableAutoValidation();
|
|
281
|
+
// `applyInitialField` runs only for a new-field open; clear it here too
|
|
282
|
+
// so a stale value can't leak from a previous open into an edit-mode one.
|
|
283
|
+
this.pendingRequired = undefined;
|
|
248
284
|
permissions.read.apps = false;
|
|
249
285
|
permissions.read.users = false;
|
|
250
286
|
permissions.write.apps = false;
|
|
@@ -291,7 +327,7 @@ class CustomFieldModalState {
|
|
|
291
327
|
this.form.$.referencedCollectionId.disableAutoValidation();
|
|
292
328
|
}
|
|
293
329
|
getFormValues() {
|
|
294
|
-
var _this$
|
|
330
|
+
var _this$settingsSection2, _this$collectionInput;
|
|
295
331
|
const {
|
|
296
332
|
form: {
|
|
297
333
|
$: {
|
|
@@ -307,7 +343,7 @@ class CustomFieldModalState {
|
|
|
307
343
|
}
|
|
308
344
|
}
|
|
309
345
|
} = this;
|
|
310
|
-
const sectionSettings = (_this$
|
|
346
|
+
const sectionSettings = (_this$settingsSection2 = this.settingsSection) == null ? void 0 : _this$settingsSection2.getValues(type.value);
|
|
311
347
|
const collectionSettings = referencedCollectionId.value && (_this$collectionInput = this.collectionInput) != null && _this$collectionInput.getSettings ? this.collectionInput.getSettings(referencedCollectionId.value) : undefined;
|
|
312
348
|
return {
|
|
313
349
|
type: type.value,
|
|
@@ -323,7 +359,7 @@ class CustomFieldModalState {
|
|
|
323
359
|
};
|
|
324
360
|
}
|
|
325
361
|
setFormValues(form, params) {
|
|
326
|
-
var _this$collectionInput2, _this$
|
|
362
|
+
var _this$collectionInput2, _this$settingsSection3;
|
|
327
363
|
const {
|
|
328
364
|
form: {
|
|
329
365
|
$
|
|
@@ -339,7 +375,7 @@ class CustomFieldModalState {
|
|
|
339
375
|
$.containsPii.value = form.containsPii;
|
|
340
376
|
$.referencedCollectionId.value = form.referencedCollectionId ?? (form.field ? (_this$collectionInput2 = this.collectionInput) == null || _this$collectionInput2.getValue == null ? void 0 : _this$collectionInput2.getValue(form.field) : undefined) ?? ((0, _util.isReferenceField)(form.field) ? form.field.referenceMetadata.referencedCollectionId : undefined);
|
|
341
377
|
// After `$.type.value` above, so it lands on the picked type's section.
|
|
342
|
-
(_this$
|
|
378
|
+
(_this$settingsSection3 = this.settingsSection) == null || _this$settingsSection3.setValues(form.field);
|
|
343
379
|
if (params != null && params.disablePermissionCheckboxes) {
|
|
344
380
|
if (form.readUsers) {
|
|
345
381
|
this.disabledFields.permissions.read.users = true;
|
|
@@ -356,15 +392,16 @@ class CustomFieldModalState {
|
|
|
356
392
|
}
|
|
357
393
|
}
|
|
358
394
|
|
|
359
|
-
/** Prefills a new field from the caller's requested type/name. Sets
|
|
360
|
-
* directly (like `setFormValues`) rather than through `onChange`, so
|
|
361
|
-
* name field isn't marked dirty by the prefill — a later user edit
|
|
362
|
-
* regenerates the key. Also trims `lockedProperties` down to
|
|
363
|
-
* actually prefilled here — locking a property with nothing to
|
|
364
|
-
* would leave it stuck on its empty default. */
|
|
395
|
+
/** Prefills a new field from the caller's requested type/name/required. Sets
|
|
396
|
+
* values directly (like `setFormValues`) rather than through `onChange`, so
|
|
397
|
+
* the name field isn't marked dirty by the prefill — a later user edit
|
|
398
|
+
* still regenerates the key. Also trims `lockedProperties` down to
|
|
399
|
+
* properties actually prefilled here — locking a property with nothing to
|
|
400
|
+
* lock it to would leave it stuck on its empty default. */
|
|
365
401
|
applyInitialField(initialField) {
|
|
366
402
|
if (!initialField) {
|
|
367
403
|
this.lockedProperties = [];
|
|
404
|
+
this.pendingRequired = undefined;
|
|
368
405
|
return;
|
|
369
406
|
}
|
|
370
407
|
const {
|
|
@@ -374,11 +411,24 @@ class CustomFieldModalState {
|
|
|
374
411
|
} = this;
|
|
375
412
|
const provided = [];
|
|
376
413
|
|
|
414
|
+
// Set before `type` below: reassigning `type.value` reapplies it via the
|
|
415
|
+
// type-change reaction once the action this method runs in completes, so
|
|
416
|
+
// it's already in place whether or not a type is picked here.
|
|
417
|
+
if (initialField.required !== undefined) {
|
|
418
|
+
this.pendingRequired = initialField.required;
|
|
419
|
+
provided.push('required');
|
|
420
|
+
}
|
|
421
|
+
|
|
377
422
|
// Ignores a type the source doesn't offer, rather than locking the picker
|
|
378
423
|
// on a value it can never show as selected.
|
|
379
424
|
if (initialField.type !== undefined && this.fieldManagement.fieldModal.types.some(type => type.id === initialField.type)) {
|
|
380
425
|
$.type.value = initialField.type;
|
|
381
426
|
provided.push('type');
|
|
427
|
+
} else {
|
|
428
|
+
// No type picked here (or it wasn't valid), so the type-change
|
|
429
|
+
// reaction won't fire — apply directly in case a type is already set
|
|
430
|
+
// from an earlier open, or a settings section doesn't need one.
|
|
431
|
+
this.reapplyPendingRequired();
|
|
382
432
|
}
|
|
383
433
|
if (initialField.name !== undefined) {
|
|
384
434
|
// Independent of `type` — a caller may want to suggest a name without
|
|
@@ -524,8 +574,8 @@ class CustomFieldModalState {
|
|
|
524
574
|
return Boolean(this.fieldManagement.fieldModal.permissions) || Boolean(this.settingsSection);
|
|
525
575
|
}
|
|
526
576
|
get settingsHasError() {
|
|
527
|
-
var _this$
|
|
528
|
-
return Boolean((_this$
|
|
577
|
+
var _this$settingsSection4;
|
|
578
|
+
return Boolean((_this$settingsSection4 = this.settingsSection) == null ? void 0 : _this$settingsSection4.hasError(this.form.$.type.value));
|
|
529
579
|
}
|
|
530
580
|
}
|
|
531
581
|
exports.CustomFieldModalState = CustomFieldModalState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_mobx","require","_ConditionalModalState","_CustomFieldCollectionOptionsState","_CustomFieldModalBiReporter","_formstate","_ToggleState","_util","_isHttpError","CUSTOM_FIELD_NAME_MAX_LENGTH","exports","CustomFieldModalState","constructor","params","_defineProperty2","default","ToggleState","undefined","CustomFieldCollectionOptionsState","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","referencedCollectionId","collectionInput","required","_this$selectedFieldTy","errorMessage","label","selectedFieldType","permissions","read","apps","users","write","$","dirty","fieldCount","reportBi","CustomFieldModalBiReporter","customFieldModalState","makeObservable","computed","namePlaceholder","typeSupportsPii","collectionOptionsLoader","collectionInputLabel","collectionInputPlaceholder","collectionInputEmptyStateMessage","collectionOptions","collectionOptionsLoading","collectionOptionsError","showSettings","isSubmitting","disabledFields","observable","ref","errorToastConfig","lockedProperties","applyInitialField","action","reset","resetSettingsValues","resetCollectionInput","setReferencedCollectionId","bound","loadCollectionOptions","setFormValues","generateUniqueKey","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","_this$collectionInput","sectionSettings","getValues","collectionSettings","getSettings","combineFieldSettings","_this$collectionInput2","_this$settingsSection2","field","getValue","isReferenceField","referenceMetadata","disablePermissionCheckboxes","initialField","provided","id","push","slice","filter","property","includes","_permissions$installe","_permissions$siteVisi","installedApps","hide","_permissions$installe2","_permissions$installe3","defaultRead","defaultWrite","siteVisitors","_permissions$siteVisi2","_permissions$siteVisi3","collectionOptionsState","clearError","collectionId","onChange","load","existingFieldKeys","slug","slugify","length","index","translate","modalState","modal","confirming","isLoading","find","option","explicitInput","autoWired","isReferenceFieldType","patternsType","loadReferenceableCollectionOptions","loadOptions","_this$collectionInput3","_this$selectedFieldTy2","_this$collectionInput4","placeholder","_this$collectionInput5","emptyStateMessage","options","loading","error","_this$selectedFieldTy3","_this$selectedFieldTy4","_this$selectedFieldTy5","supportsPii","_this$selectedFieldTy6","_this$fieldManagement","piiWarning","_this$selectedFieldTy7","_this$fieldManagement2","warning","Boolean","_this$settingsSection3","isRecord","Array","isArray"],"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 { CustomFieldCollectionOptionsState } from './CustomFieldCollectionOptionsState';\nimport { CustomFieldModalBiReporter } from './CustomFieldModalBiReporter';\nimport { FieldState, FormState } from 'formstate';\nimport { ToggleState } from './ToggleState';\nimport { CustomFieldOrigin, CustomFieldType, ReportBI } from '../services';\nimport {\n FieldDraft,\n FieldManagement,\n FieldModalCollectionInput,\n FieldModalCollectionOption,\n FieldModalCollectionOptionsLoader,\n LockableFieldProperty,\n ResolvedFieldTypeOption,\n} from '../types/FieldsSource';\nimport type { FieldSettings } from '../types/Schema';\nimport { WixPatternsContainer } from './WixPatternsContainer';\nimport {\n isHttpError,\n isReferenceField,\n isReferenceFieldType,\n slugify,\n} from '../util';\nimport { isDetailsResponse, isErrorDetails } from '../util/isHttpError';\nimport { ToastConfig } from '../model';\n\n/** The modal's name input caps entry at this length; `applyInitialField`\n * applies the same cap so a prefilled name can't exceed what a user could\n * have typed. */\nexport const CUSTOM_FIELD_NAME_MAX_LENGTH = 64;\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 referencedCollectionId?: string;\n readApps: boolean;\n readUsers: boolean;\n writeApps: boolean;\n writeUsers: boolean;\n containsPii: boolean;\n}\n\nexport interface CustomFieldFormFields {\n [key: string]: FieldState<any>;\n type: FieldState<string | undefined>;\n key: FieldState<string>;\n name: FieldState<string>;\n readApps: FieldState<boolean>;\n readUsers: FieldState<boolean>;\n writeApps: FieldState<boolean>;\n writeUsers: FieldState<boolean>;\n containsPii: FieldState<boolean>;\n referencedCollectionId: FieldState<string | undefined>;\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 lockedProperties: readonly LockableFieldProperty[] = [];\n reportBi: ReportBI;\n private readonly onSubmit?: (draft: FieldDraft) => void;\n private readonly collectionOptionsState =\n new CustomFieldCollectionOptionsState();\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: FormState<CustomFieldFormFields> = 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 referencedCollectionId: new FieldState<string | undefined>(\n undefined,\n ).validators((value) => {\n const collectionInput = this.collectionInput;\n\n if (\n this.mode === 'new' &&\n collectionInput &&\n (collectionInput.required ?? true) &&\n !value\n ) {\n return (\n collectionInput.errorMessage ??\n collectionInput.label ??\n this.selectedFieldType?.label\n );\n }\n\n return undefined;\n }),\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 collectionInput: computed,\n collectionOptionsLoader: computed,\n collectionInputLabel: computed,\n collectionInputPlaceholder: computed,\n collectionInputEmptyStateMessage: computed,\n collectionOptions: computed,\n collectionOptionsLoading: computed,\n collectionOptionsError: computed,\n showSettings: computed,\n settingsHasError: computed,\n isSubmitting: computed,\n disabledFields: observable.ref,\n errorToastConfig: observable.ref,\n mode: observable.ref,\n lockedProperties: observable.ref,\n applyInitialField: action,\n reset: action,\n resetSettingsValues: action,\n resetCollectionInput: action,\n setReferencedCollectionId: action.bound,\n loadCollectionOptions: action.bound,\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.resetCollectionInput();\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 this.form.$.referencedCollectionId.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 this.form.$.referencedCollectionId.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 referencedCollectionId,\n },\n },\n } = this;\n const sectionSettings = this.settingsSection?.getValues(type.value);\n const collectionSettings =\n referencedCollectionId.value && this.collectionInput?.getSettings\n ? this.collectionInput.getSettings(referencedCollectionId.value)\n : undefined;\n\n return {\n type: type.value,\n key: key.value,\n name: name.value,\n referencedCollectionId: referencedCollectionId.value,\n readApps: readApps.value,\n readUsers: readUsers.value,\n writeApps: writeApps.value,\n writeUsers: writeUsers.value,\n containsPii: containsPii.value,\n settings: combineFieldSettings(sectionSettings, collectionSettings),\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 $.referencedCollectionId.value =\n form.referencedCollectionId ??\n (form.field ? this.collectionInput?.getValue?.(form.field) : undefined) ??\n (isReferenceField(form.field)\n ? form.field.referenceMetadata.referencedCollectionId\n : undefined);\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 /** Prefills a new field from the caller's requested type/name. Sets values\n * directly (like `setFormValues`) rather than through `onChange`, so the\n * name field isn't marked dirty by the prefill — a later user edit still\n * regenerates the key. Also trims `lockedProperties` down to properties\n * actually prefilled here — locking a property with nothing to lock it to\n * would leave it stuck on its empty default. */\n applyInitialField(initialField?: { type?: string; name?: string }) {\n if (!initialField) {\n this.lockedProperties = [];\n return;\n }\n const {\n form: { $ },\n } = this;\n const provided: LockableFieldProperty[] = [];\n\n // Ignores a type the source doesn't offer, rather than locking the picker\n // on a value it can never show as selected.\n if (\n initialField.type !== undefined &&\n this.fieldManagement.fieldModal.types.some(\n (type) => type.id === initialField.type,\n )\n ) {\n $.type.value = initialField.type;\n provided.push('type');\n }\n if (initialField.name !== undefined) {\n // Independent of `type` — a caller may want to suggest a name without\n // constraining which type the user picks.\n $.name.value = initialField.name.slice(0, CUSTOM_FIELD_NAME_MAX_LENGTH);\n provided.push('name');\n this.setKeyFieldIfNotDirty(this.generateUniqueKey($.name.value));\n }\n\n this.lockedProperties = this.lockedProperties.filter((property) =>\n provided.includes(property),\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 resetCollectionInput() {\n this.form.$.referencedCollectionId.value = undefined;\n this.form.$.referencedCollectionId.disableAutoValidation();\n this.collectionOptionsState.clearError();\n }\n\n setReferencedCollectionId(collectionId: string | undefined) {\n this.form.$.referencedCollectionId.onChange(collectionId);\n }\n\n async loadCollectionOptions() {\n await this.collectionOptionsState.load(this.collectionOptionsLoader);\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(): ResolvedFieldTypeOption | undefined {\n return this.fieldManagement.fieldModal.types.find(\n (option) => option.id === this.form.$.type.value,\n );\n }\n\n get collectionInput(): FieldModalCollectionInput | undefined {\n if (!this.selectedFieldType) {\n return undefined;\n }\n\n const explicitInput = this.selectedFieldType.collectionInput;\n const autoWired =\n isReferenceFieldType(this.selectedFieldType.patternsType) &&\n this.fieldManagement.fieldModal.loadReferenceableCollectionOptions;\n\n if (!explicitInput && !autoWired) {\n return undefined;\n }\n\n return explicitInput ?? {};\n }\n\n get collectionOptionsLoader(): FieldModalCollectionOptionsLoader | undefined {\n const collectionInput = this.collectionInput;\n\n if (!collectionInput || !this.selectedFieldType) {\n return undefined;\n }\n\n return (\n collectionInput.loadOptions ??\n (isReferenceFieldType(this.selectedFieldType.patternsType)\n ? this.fieldManagement.fieldModal.loadReferenceableCollectionOptions\n : undefined)\n );\n }\n\n get collectionInputLabel() {\n return this.collectionInput?.label ?? this.selectedFieldType?.label ?? '';\n }\n\n get collectionInputPlaceholder() {\n return this.collectionInput?.placeholder ?? this.collectionInputLabel;\n }\n\n get collectionInputEmptyStateMessage() {\n return (\n this.collectionInput?.emptyStateMessage ??\n this.t('cairo.emptyState.subtitle.nothingMatchesCriteria')\n );\n }\n\n get collectionOptions(): FieldModalCollectionOption[] {\n return this.collectionOptionsState.options;\n }\n\n get collectionOptionsLoading() {\n return this.collectionOptionsState.loading;\n }\n\n get collectionOptionsError() {\n return this.collectionOptionsState.error;\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\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nconst combineFieldSettings = (\n sectionSettings: FieldSettings | undefined,\n collectionSettings: FieldSettings | undefined,\n): FieldSettings | undefined => {\n if (sectionSettings === undefined) {\n return collectionSettings;\n }\n\n if (collectionSettings === undefined) {\n return sectionSettings;\n }\n\n if (isRecord(sectionSettings) && isRecord(collectionSettings)) {\n return { ...sectionSettings, ...collectionSettings };\n }\n\n return collectionSettings;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_mobx","require","_ConditionalModalState","_CustomFieldCollectionOptionsState","_CustomFieldModalBiReporter","_formstate","_ToggleState","_util","_isHttpError","CUSTOM_FIELD_NAME_MAX_LENGTH","exports","CustomFieldModalState","constructor","params","_defineProperty2","default","ToggleState","undefined","CustomFieldCollectionOptionsState","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","referencedCollectionId","collectionInput","required","_this$selectedFieldTy","errorMessage","label","selectedFieldType","permissions","read","apps","users","write","$","dirty","fieldCount","reportBi","CustomFieldModalBiReporter","customFieldModalState","makeObservable","computed","namePlaceholder","typeSupportsPii","collectionOptionsLoader","collectionInputLabel","collectionInputPlaceholder","collectionInputEmptyStateMessage","collectionOptions","collectionOptionsLoading","collectionOptionsError","showSettings","isSubmitting","disabledFields","observable","ref","errorToastConfig","lockedProperties","applyInitialField","action","reset","resetSettingsValues","resetCollectionInput","setReferencedCollectionId","bound","loadCollectionOptions","setFormValues","generateUniqueKey","setKeyFieldIfNotDirty","setDefaultPermissions","reaction","reapplyPendingRequired","_this$settingsSection","pendingRequired","settingsSection","setInitialValues","runInAction","filter","property","_this$errorToastConfi","getResolvedError","errorHandler","_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","setValues","_this$settingsSection2","_this$collectionInput","sectionSettings","getValues","collectionSettings","getSettings","combineFieldSettings","_this$collectionInput2","_this$settingsSection3","field","getValue","isReferenceField","referenceMetadata","disablePermissionCheckboxes","initialField","provided","push","id","slice","includes","_permissions$installe","_permissions$siteVisi","installedApps","hide","_permissions$installe2","_permissions$installe3","defaultRead","defaultWrite","siteVisitors","_permissions$siteVisi2","_permissions$siteVisi3","collectionOptionsState","clearError","collectionId","onChange","load","existingFieldKeys","slug","slugify","length","index","translate","modalState","modal","confirming","isLoading","find","option","explicitInput","autoWired","isReferenceFieldType","patternsType","loadReferenceableCollectionOptions","loadOptions","_this$collectionInput3","_this$selectedFieldTy2","_this$collectionInput4","placeholder","_this$collectionInput5","emptyStateMessage","options","loading","error","_this$selectedFieldTy3","_this$selectedFieldTy4","_this$selectedFieldTy5","supportsPii","_this$selectedFieldTy6","_this$fieldManagement","piiWarning","_this$selectedFieldTy7","_this$fieldManagement2","warning","Boolean","_this$settingsSection4","isRecord","Array","isArray"],"sources":["../../../src/state/CustomFieldModalState.ts"],"sourcesContent":["import {\n action,\n computed,\n makeObservable,\n observable,\n reaction,\n runInAction,\n} from 'mobx';\nimport { ConditionalModalState } from './ConditionalModalState';\nimport { CustomFieldCollectionOptionsState } from './CustomFieldCollectionOptionsState';\nimport { CustomFieldModalBiReporter } from './CustomFieldModalBiReporter';\nimport { FieldState, FormState } from 'formstate';\nimport { ToggleState } from './ToggleState';\nimport { CustomFieldOrigin, CustomFieldType, ReportBI } from '../services';\nimport {\n FieldDraft,\n FieldManagement,\n FieldModalCollectionInput,\n FieldModalCollectionOption,\n FieldModalCollectionOptionsLoader,\n LockableFieldProperty,\n ResolvedFieldTypeOption,\n} from '../types/FieldsSource';\nimport type { FieldSettings } from '../types/Schema';\nimport { WixPatternsContainer } from './WixPatternsContainer';\nimport {\n isHttpError,\n isReferenceField,\n isReferenceFieldType,\n slugify,\n} from '../util';\nimport { isDetailsResponse, isErrorDetails } from '../util/isHttpError';\nimport { ToastConfig } from '../model';\n\n/** The modal's name input caps entry at this length; `applyInitialField`\n * applies the same cap so a prefilled name can't exceed what a user could\n * have typed. */\nexport const CUSTOM_FIELD_NAME_MAX_LENGTH = 64;\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 referencedCollectionId?: string;\n readApps: boolean;\n readUsers: boolean;\n writeApps: boolean;\n writeUsers: boolean;\n containsPii: boolean;\n}\n\nexport interface CustomFieldFormFields {\n [key: string]: FieldState<any>;\n type: FieldState<string | undefined>;\n key: FieldState<string>;\n name: FieldState<string>;\n readApps: FieldState<boolean>;\n readUsers: FieldState<boolean>;\n writeApps: FieldState<boolean>;\n writeUsers: FieldState<boolean>;\n containsPii: FieldState<boolean>;\n referencedCollectionId: FieldState<string | undefined>;\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 lockedProperties: readonly LockableFieldProperty[] = [];\n reportBi: ReportBI;\n private readonly onSubmit?: (draft: FieldDraft) => void;\n private readonly collectionOptionsState =\n new CustomFieldCollectionOptionsState();\n /** The `required` value requested by `applyInitialField`, reapplied whenever\n * the picked type changes — a type picked after the fact (or an unlocked\n * type the user later changes) would otherwise start the settings section\n * fresh and silently drop it. */\n private pendingRequired?: boolean;\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: FormState<CustomFieldFormFields> = 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 referencedCollectionId: new FieldState<string | undefined>(\n undefined,\n ).validators((value) => {\n const collectionInput = this.collectionInput;\n\n if (\n this.mode === 'new' &&\n collectionInput &&\n (collectionInput.required ?? true) &&\n !value\n ) {\n return (\n collectionInput.errorMessage ??\n collectionInput.label ??\n this.selectedFieldType?.label\n );\n }\n\n return undefined;\n }),\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 collectionInput: computed,\n collectionOptionsLoader: computed,\n collectionInputLabel: computed,\n collectionInputPlaceholder: computed,\n collectionInputEmptyStateMessage: computed,\n collectionOptions: computed,\n collectionOptionsLoading: computed,\n collectionOptionsError: computed,\n showSettings: computed,\n settingsHasError: computed,\n isSubmitting: computed,\n disabledFields: observable.ref,\n errorToastConfig: observable.ref,\n mode: observable.ref,\n lockedProperties: observable.ref,\n applyInitialField: action,\n reset: action,\n resetSettingsValues: action,\n resetCollectionInput: action,\n setReferencedCollectionId: action.bound,\n loadCollectionOptions: action.bound,\n setFormValues: action,\n generateUniqueKey: action.bound,\n setKeyFieldIfNotDirty: action.bound,\n setDefaultPermissions: action,\n });\n\n // Reapplies a pending `required` prefill whenever the picked type changes\n // — covers both picking a type after `applyInitialField` requested it,\n // and the settings section resetting when the user later changes an\n // unlocked type. Lives for this state's lifetime; never disposed, like\n // the object itself.\n reaction(\n () => this.form.$.type.value,\n () => this.reapplyPendingRequired(),\n );\n }\n\n private reapplyPendingRequired() {\n if (this.pendingRequired === undefined) {\n return;\n }\n if (this.settingsSection?.setInitialValues) {\n this.settingsSection.setInitialValues({\n required: this.pendingRequired,\n });\n return;\n }\n if (this.settingsSection) {\n // The picked type's section has no way to apply the prefill, so\n // locking 'required' would only disable the checkbox at its unset\n // default with no way to ever satisfy the requested value — drop the\n // lock rather than present it as enforced.\n runInAction(() => {\n this.lockedProperties = this.lockedProperties.filter(\n (property) => property !== 'required',\n );\n });\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.resetCollectionInput();\n this.errorToastConfig = undefined;\n this.disableAutoValidation();\n // `applyInitialField` runs only for a new-field open; clear it here too\n // so a stale value can't leak from a previous open into an edit-mode one.\n this.pendingRequired = undefined;\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 this.form.$.referencedCollectionId.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 this.form.$.referencedCollectionId.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 referencedCollectionId,\n },\n },\n } = this;\n const sectionSettings = this.settingsSection?.getValues(type.value);\n const collectionSettings =\n referencedCollectionId.value && this.collectionInput?.getSettings\n ? this.collectionInput.getSettings(referencedCollectionId.value)\n : undefined;\n\n return {\n type: type.value,\n key: key.value,\n name: name.value,\n referencedCollectionId: referencedCollectionId.value,\n readApps: readApps.value,\n readUsers: readUsers.value,\n writeApps: writeApps.value,\n writeUsers: writeUsers.value,\n containsPii: containsPii.value,\n settings: combineFieldSettings(sectionSettings, collectionSettings),\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 $.referencedCollectionId.value =\n form.referencedCollectionId ??\n (form.field ? this.collectionInput?.getValue?.(form.field) : undefined) ??\n (isReferenceField(form.field)\n ? form.field.referenceMetadata.referencedCollectionId\n : undefined);\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 /** Prefills a new field from the caller's requested type/name/required. Sets\n * values directly (like `setFormValues`) rather than through `onChange`, so\n * the name field isn't marked dirty by the prefill — a later user edit\n * still regenerates the key. Also trims `lockedProperties` down to\n * properties actually prefilled here — locking a property with nothing to\n * lock it to would leave it stuck on its empty default. */\n applyInitialField(initialField?: {\n type?: string;\n name?: string;\n required?: boolean;\n }) {\n if (!initialField) {\n this.lockedProperties = [];\n this.pendingRequired = undefined;\n return;\n }\n const {\n form: { $ },\n } = this;\n const provided: LockableFieldProperty[] = [];\n\n // Set before `type` below: reassigning `type.value` reapplies it via the\n // type-change reaction once the action this method runs in completes, so\n // it's already in place whether or not a type is picked here.\n if (initialField.required !== undefined) {\n this.pendingRequired = initialField.required;\n provided.push('required');\n }\n\n // Ignores a type the source doesn't offer, rather than locking the picker\n // on a value it can never show as selected.\n if (\n initialField.type !== undefined &&\n this.fieldManagement.fieldModal.types.some(\n (type) => type.id === initialField.type,\n )\n ) {\n $.type.value = initialField.type;\n provided.push('type');\n } else {\n // No type picked here (or it wasn't valid), so the type-change\n // reaction won't fire — apply directly in case a type is already set\n // from an earlier open, or a settings section doesn't need one.\n this.reapplyPendingRequired();\n }\n if (initialField.name !== undefined) {\n // Independent of `type` — a caller may want to suggest a name without\n // constraining which type the user picks.\n $.name.value = initialField.name.slice(0, CUSTOM_FIELD_NAME_MAX_LENGTH);\n provided.push('name');\n this.setKeyFieldIfNotDirty(this.generateUniqueKey($.name.value));\n }\n\n this.lockedProperties = this.lockedProperties.filter((property) =>\n provided.includes(property),\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 resetCollectionInput() {\n this.form.$.referencedCollectionId.value = undefined;\n this.form.$.referencedCollectionId.disableAutoValidation();\n this.collectionOptionsState.clearError();\n }\n\n setReferencedCollectionId(collectionId: string | undefined) {\n this.form.$.referencedCollectionId.onChange(collectionId);\n }\n\n async loadCollectionOptions() {\n await this.collectionOptionsState.load(this.collectionOptionsLoader);\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(): ResolvedFieldTypeOption | undefined {\n return this.fieldManagement.fieldModal.types.find(\n (option) => option.id === this.form.$.type.value,\n );\n }\n\n get collectionInput(): FieldModalCollectionInput | undefined {\n if (!this.selectedFieldType) {\n return undefined;\n }\n\n const explicitInput = this.selectedFieldType.collectionInput;\n const autoWired =\n isReferenceFieldType(this.selectedFieldType.patternsType) &&\n this.fieldManagement.fieldModal.loadReferenceableCollectionOptions;\n\n if (!explicitInput && !autoWired) {\n return undefined;\n }\n\n return explicitInput ?? {};\n }\n\n get collectionOptionsLoader(): FieldModalCollectionOptionsLoader | undefined {\n const collectionInput = this.collectionInput;\n\n if (!collectionInput || !this.selectedFieldType) {\n return undefined;\n }\n\n return (\n collectionInput.loadOptions ??\n (isReferenceFieldType(this.selectedFieldType.patternsType)\n ? this.fieldManagement.fieldModal.loadReferenceableCollectionOptions\n : undefined)\n );\n }\n\n get collectionInputLabel() {\n return this.collectionInput?.label ?? this.selectedFieldType?.label ?? '';\n }\n\n get collectionInputPlaceholder() {\n return this.collectionInput?.placeholder ?? this.collectionInputLabel;\n }\n\n get collectionInputEmptyStateMessage() {\n return (\n this.collectionInput?.emptyStateMessage ??\n this.t('cairo.emptyState.subtitle.nothingMatchesCriteria')\n );\n }\n\n get collectionOptions(): FieldModalCollectionOption[] {\n return this.collectionOptionsState.options;\n }\n\n get collectionOptionsLoading() {\n return this.collectionOptionsState.loading;\n }\n\n get collectionOptionsError() {\n return this.collectionOptionsState.error;\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\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\nconst combineFieldSettings = (\n sectionSettings: FieldSettings | undefined,\n collectionSettings: FieldSettings | undefined,\n): FieldSettings | undefined => {\n if (sectionSettings === undefined) {\n return collectionSettings;\n }\n\n if (collectionSettings === undefined) {\n return sectionSettings;\n }\n\n if (isRecord(sectionSettings) && isRecord(collectionSettings)) {\n return { ...sectionSettings, ...collectionSettings };\n }\n\n return collectionSettings;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../src/types/FieldsSource.ts"],"sourcesContent":["import type { ComponentType } from 'react';\nimport type { Field, PatternsFieldType } from './Field';\nimport type { FieldActions, FieldSettings, Schema } from './Schema';\nimport type { FieldTypeDefinition } from './FieldTypeDefinition';\nimport type { CustomFieldOrigin } from '../services';\n\n/** A field the source has archived. Sources without archiving omit `archive`. */\nexport interface ArchivedFieldItem {\n id: string;\n label: string;\n isPii?: boolean;\n}\n\n/** A `FieldTypeOption` the modal can render: the id and label a source left to\n * the defaults are filled in. */\nexport interface ResolvedFieldTypeOption {\n /** Stored on the draft; the source maps it back to its native type. */\n id: string;\n label: string;\n namePlaceholder?: string;\n subtitle?: string;\n /** Group heading in the type list; types sharing a heading form one group. */\n group?: string;\n /** Whether a field of this type can be marked PII. Absent ⇒ follows the\n * source-wide `supportsPii`. */\n supportsPii?: boolean;\n /** Warning to show while the PII toggle is on. Called on every render.\n * Absent ⇒ none. */\n piiWarning?: () => FieldPiiWarning | undefined;\n /** This type's own part of the collapsible section below the main fields.\n * Absent ⇒ the section holds only what the modal itself puts there. */\n settingsSection?: FieldSettingsSection;\n /** Collection picker shown below the type picker. For built-in reference\n * types, absent copy can use the source's referenceable collection loader. */\n collectionInput?: FieldModalCollectionInput;\n /** Drives the type icon in the modal. */\n patternsType: PatternsFieldType;\n /** Type icons for the picker. Absent ⇒ the icon derives from `patternsType`. */\n icons?: { Small: ComponentType; Medium: ComponentType };\n}\n\n/** Read/write permission defaults a source supports, per audience. */\nexport interface FieldPermissions {\n installedApps?: {\n hide?: boolean;\n defaultRead?: boolean;\n defaultWrite?: boolean;\n };\n siteVisitors?: {\n hide?: boolean;\n defaultRead?: boolean;\n defaultWrite?: boolean;\n };\n}\n\n/** The values the add/edit field modal collects, source-neutral. */\nexport interface FieldDraft {\n type?: string;\n key: string;\n name: string;\n readApps: boolean;\n readUsers: boolean;\n writeApps: boolean;\n writeUsers: boolean;\n containsPii: boolean;\n /** Collection selected by the modal's collection picker, when a type has one. */\n referencedCollectionId?: string;\n /** The field this draft was built from, for the source's settings section to\n * read its own values off. Absent for a new field. */\n field?: Field;\n /** What the source's settings section collected, on its way to that source's\n * `addField`/`editField`. */\n settings?: FieldSettings;\n}\n\n/** The add-modal subtitle: a line of text, an optional second note line, and an\n * optional \"learn more\" link. */\nexport interface FieldModalSubtitle {\n text: string;\n note?: string;\n learnMore?: { label: string; href: string };\n}\n\n/** The text a source supplies for the add/edit field modal. */\nexport interface FieldModalText {\n addTitle: string;\n editTitle: string;\n /** Subtitle for the add modal; omit for none. */\n addSubtitle?: FieldModalSubtitle;\n /** Label of the collapsible section below the main fields. */\n settingsLabel?: string;\n}\n\n/** A warning shown under the PII toggle, with an optional action button. */\nexport interface FieldPiiWarning {\n text: string;\n action?: { label: string; onClick: () => void };\n}\n\nexport interface FieldModalCollectionOption {\n id: string;\n label: string;\n}\n\nexport type FieldModalCollectionOptionsLoader = () => Promise<\n FieldModalCollectionOption[]\n>;\n\n/** Extra collection picker a field type can add to the main modal body. */\nexport interface FieldModalCollectionInput {\n label?: string;\n placeholder?: string;\n emptyStateMessage?: string;\n errorMessage?: string;\n required?: boolean;\n loadOptions?: FieldModalCollectionOptionsLoader;\n /** Restores the picker value from an existing field. */\n getValue?: (field: Field) => string | undefined;\n /** Adds picker-derived values to the source-owned settings payload. */\n getSettings?: (collectionId: string) => FieldSettings;\n}\n\nexport interface FieldSettingsProps {\n /** The picked field type, or absent before one is picked. */\n fieldType?: string;\n}\n\n/**\n * The collapsible section below the main add/edit field inputs, supplied by the\n * source. The modal renders it, blocks confirm while it has an error, and hands\n * its values to the source's own `addField`/`editField` — it never looks inside.\n */\nexport interface FieldSettingsSection {\n Component: ComponentType<FieldSettingsProps>;\n /** True keeps the modal open on confirm. The section shows the error itself. */\n hasError(fieldType?: string): boolean;\n /** Passed to `FieldActions.addField`/`editField` as-is. */\n getValues(fieldType?: string): FieldSettings;\n /**\n * Fills the inputs when the modal opens: the field being edited, or nothing\n * for a new field. Pushed in rather than read from a prop, so the values are\n * there whether or not the section has been rendered yet.\n */\n setValues(field?: Field): void;\n}\n\n/** Add/edit/delete capability a source exposes. Present ⇒ field management UI shows. */\nexport interface FieldManagement {\n /** False ⇒ the add-field CTA is hidden entirely. */\n canAddFields: boolean;\n /** True ⇒ the add-field CTA renders but is disabled. */\n addFieldDisabled: boolean;\n /** Hint text shown beneath the add-field CTA while it is disabled. */\n addFieldDisabledHint?: string;\n canEditField(field: Field): boolean;\n /** `origin` is the UI surface the delete was triggered from; used for BI. */\n deleteField(fieldId: string, origin: string): Promise<void>;\n\n /** Everything the add/edit field modal shows: its titles, and the field types\n * it offers with what each one brings to it. */\n fieldModal: {\n text: FieldModalText;\n /** Default option loader for built-in reference and multi-reference types. */\n loadReferenceableCollectionOptions?: FieldModalCollectionOptionsLoader;\n types: ResolvedFieldTypeOption[];\n /** Defaults for the read/write permissions per audience. Absent ⇒ the modal\n * shows no permissions section. */\n permissions?: FieldPermissions;\n /** Whether a field can be marked PII. A field type option overrides it with\n * its own `supportsPii`. */\n supportsPii?: boolean;\n };\n /** Existing field keys, used by the add modal to reject duplicates. */\n existingFieldKeys: string[];\n /** True when no more fields can be added because a limit is reached. */\n maxReached?: boolean;\n addField(draft: FieldDraft): Promise<void>;\n editField(fieldId: string, draft: FieldDraft): Promise<void>;\n /** Current values for an existing field, to prefill the edit modal. */\n getFieldDraft(fieldId: string): FieldDraft | undefined;\n}\n\n/** A new-field property `OpenFieldModalOptions` can lock from editing. */\nexport type LockableFieldProperty = 'type' | 'name';\n\n/** Options for opening the add/edit field modal. */\nexport interface OpenFieldModalOptions {\n fieldId?: string;\n origin?: CustomFieldOrigin;\n customOrigin?: string;\n /** Prefills a new field. Ignored when `fieldId` is set — edit mode prefills\n * from the existing field instead. */\n initialField?: {\n /** Prefilled; locked when included in `lockedProperties`. */\n type?: string;\n /** Prefilled; locked when included in `lockedProperties`. */\n name?: string;\n };\n /** Properties the user can't change, on top of being prefilled. A property\n * with no matching `initialField` value is never locked — there is nothing\n * to lock it to. */\n lockedProperties?: readonly LockableFieldProperty[];\n}\n\n/** Archiving capability a source exposes. Present ⇒ archive/restore UI shows. */\nexport interface FieldArchive {\n items: ArchivedFieldItem[];\n shouldDisplay: boolean;\n /** Whether the archived-items panel is currently open. */\n isOpen: boolean;\n openPanel(): void;\n closePanel(): void;\n /** `origin` is the UI surface the action was triggered from; used for BI. */\n archiveField(fieldId: string, origin: string): Promise<void>;\n restoreField(fieldId: string, origin: string): Promise<void>;\n /** Display name for a field, for the confirm-dialog copy. */\n fieldName(fieldId: string): string;\n}\n\n/**\n * The source-neutral fields data a collection reads, implemented by each source\n * adapter. Rendering — field modals, filter elements — is not here; it lives in\n * the collection-page layer.\n */\nexport interface FieldsSource {\n /** Loads the fields (schema/data). The collection runs this once, tracks its\n * status, and shows a retry toast on failure. */\n load(): Promise<void>;\n\n fields: Field[];\n filterableFields: Field[];\n /** The fields the manage-fields panel lists — the source's editable fields. */\n manageableFields: Field[];\n /** Column id for a field. Sources that group fields prefix the group; flat sources use the field key. */\n columnIdForField(field: Field): string;\n /** WQL field path for a filter. Sources that group fields prefix the group; flat sources use the field key. */\n queryFieldId(field: Field): string;\n /** The value to display for a field on a row. */\n getCellValue(row: unknown, field: Field): unknown;\n /** Writes a new value for a field on a row, returning the updated row. Present when cells can be edited in place. */\n setCellValue?(row: unknown, field: Field, value: unknown): unknown;\n\n /** Replaces the source's fields with a freshly-returned map, updating the\n * columns with no refetch. Present when the source holds its fields in a\n * mergeable state (e.g. a loaded schema); used after an import creates fields. */\n mergeFields?(fields: Schema['fields']): void;\n\n /** Field-type definitions the source supports: how a field of that type\n * renders, filters and validates. Built-in types are keyed by their\n * `PatternsFieldType`; consumer-defined types are keyed by the string a field\n * references via `customType`. The add/edit field modal never reads this —\n * see `FieldManagement.fieldModal`. */\n fieldTypes?: FieldTypeDefinition[];\n\n /** Present when fields can be added/edited/deleted. */\n fieldManagement?: FieldManagement;\n\n /** The collection's field-mutation actions (delete/makePrimary/duplicate/…),\n * driving the shared FieldActions menu. Absent ⇒ no per-field action menu. */\n fieldActions?: FieldActions;\n\n /** Present when the source supports archiving fields. */\n archive?: FieldArchive;\n\n /** Present when fields are grouped. Absent ⇒ flat list. */\n groups?: {\n all: string[];\n fieldsForGroup(group: string): Field[];\n };\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../src/types/FieldsSource.ts"],"sourcesContent":["import type { ComponentType } from 'react';\nimport type { Field, PatternsFieldType } from './Field';\nimport type { FieldActions, FieldSettings, Schema } from './Schema';\nimport type { FieldTypeDefinition } from './FieldTypeDefinition';\nimport type { CustomFieldOrigin } from '../services';\n\n/** A field the source has archived. Sources without archiving omit `archive`. */\nexport interface ArchivedFieldItem {\n id: string;\n label: string;\n isPii?: boolean;\n}\n\n/** A `FieldTypeOption` the modal can render: the id and label a source left to\n * the defaults are filled in. */\nexport interface ResolvedFieldTypeOption {\n /** Stored on the draft; the source maps it back to its native type. */\n id: string;\n label: string;\n namePlaceholder?: string;\n subtitle?: string;\n /** Group heading in the type list; types sharing a heading form one group. */\n group?: string;\n /** Whether a field of this type can be marked PII. Absent ⇒ follows the\n * source-wide `supportsPii`. */\n supportsPii?: boolean;\n /** Warning to show while the PII toggle is on. Called on every render.\n * Absent ⇒ none. */\n piiWarning?: () => FieldPiiWarning | undefined;\n /** This type's own part of the collapsible section below the main fields.\n * Absent ⇒ the section holds only what the modal itself puts there. */\n settingsSection?: FieldSettingsSection;\n /** Collection picker shown below the type picker. For built-in reference\n * types, absent copy can use the source's referenceable collection loader. */\n collectionInput?: FieldModalCollectionInput;\n /** Drives the type icon in the modal. */\n patternsType: PatternsFieldType;\n /** Type icons for the picker. Absent ⇒ the icon derives from `patternsType`. */\n icons?: { Small: ComponentType; Medium: ComponentType };\n}\n\n/** Read/write permission defaults a source supports, per audience. */\nexport interface FieldPermissions {\n installedApps?: {\n hide?: boolean;\n defaultRead?: boolean;\n defaultWrite?: boolean;\n };\n siteVisitors?: {\n hide?: boolean;\n defaultRead?: boolean;\n defaultWrite?: boolean;\n };\n}\n\n/** The values the add/edit field modal collects, source-neutral. */\nexport interface FieldDraft {\n type?: string;\n key: string;\n name: string;\n readApps: boolean;\n readUsers: boolean;\n writeApps: boolean;\n writeUsers: boolean;\n containsPii: boolean;\n /** Collection selected by the modal's collection picker, when a type has one. */\n referencedCollectionId?: string;\n /** The field this draft was built from, for the source's settings section to\n * read its own values off. Absent for a new field. */\n field?: Field;\n /** What the source's settings section collected, on its way to that source's\n * `addField`/`editField`. */\n settings?: FieldSettings;\n}\n\n/** The add-modal subtitle: a line of text, an optional second note line, and an\n * optional \"learn more\" link. */\nexport interface FieldModalSubtitle {\n text: string;\n note?: string;\n learnMore?: { label: string; href: string };\n}\n\n/** The text a source supplies for the add/edit field modal. */\nexport interface FieldModalText {\n addTitle: string;\n editTitle: string;\n /** Subtitle for the add modal; omit for none. */\n addSubtitle?: FieldModalSubtitle;\n /** Label of the collapsible section below the main fields. */\n settingsLabel?: string;\n}\n\n/** A warning shown under the PII toggle, with an optional action button. */\nexport interface FieldPiiWarning {\n text: string;\n action?: { label: string; onClick: () => void };\n}\n\nexport interface FieldModalCollectionOption {\n id: string;\n label: string;\n}\n\nexport type FieldModalCollectionOptionsLoader = () => Promise<\n FieldModalCollectionOption[]\n>;\n\n/** Extra collection picker a field type can add to the main modal body. */\nexport interface FieldModalCollectionInput {\n label?: string;\n placeholder?: string;\n emptyStateMessage?: string;\n errorMessage?: string;\n required?: boolean;\n loadOptions?: FieldModalCollectionOptionsLoader;\n /** Restores the picker value from an existing field. */\n getValue?: (field: Field) => string | undefined;\n /** Adds picker-derived values to the source-owned settings payload. */\n getSettings?: (collectionId: string) => FieldSettings;\n}\n\nexport interface FieldSettingsProps {\n /** The picked field type, or absent before one is picked. */\n fieldType?: string;\n /** Validation rules the section should render as fixed, not user-editable.\n * A section ignores any entry it doesn't recognize. */\n lockedRules?: readonly string[];\n}\n\n/**\n * The collapsible section below the main add/edit field inputs, supplied by the\n * source. The modal renders it, blocks confirm while it has an error, and hands\n * its values to the source's own `addField`/`editField` — it never looks inside.\n */\nexport interface FieldSettingsSection {\n Component: ComponentType<FieldSettingsProps>;\n /** True keeps the modal open on confirm. The section shows the error itself. */\n hasError(fieldType?: string): boolean;\n /** Passed to `FieldActions.addField`/`editField` as-is. */\n getValues(fieldType?: string): FieldSettings;\n /**\n * Fills the inputs when the modal opens: the field being edited, or nothing\n * for a new field. Pushed in rather than read from a prop, so the values are\n * there whether or not the section has been rendered yet.\n */\n setValues(field?: Field): void;\n /**\n * Prefills a new field's rules from the caller's requested initial values —\n * there is no backing `Field` yet, so this is separate from `setValues`.\n * Absent ⇒ the section doesn't support prefilling any rule this way, and\n * the modal drops that rule from `lockedProperties` rather than locking a\n * control at a value it could never actually apply.\n */\n setInitialValues?(initial: { required?: boolean }): void;\n}\n\n/** Add/edit/delete capability a source exposes. Present ⇒ field management UI shows. */\nexport interface FieldManagement {\n /** False ⇒ the add-field CTA is hidden entirely. */\n canAddFields: boolean;\n /** True ⇒ the add-field CTA renders but is disabled. */\n addFieldDisabled: boolean;\n /** Hint text shown beneath the add-field CTA while it is disabled. */\n addFieldDisabledHint?: string;\n canEditField(field: Field): boolean;\n /** `origin` is the UI surface the delete was triggered from; used for BI. */\n deleteField(fieldId: string, origin: string): Promise<void>;\n\n /** Everything the add/edit field modal shows: its titles, and the field types\n * it offers with what each one brings to it. */\n fieldModal: {\n text: FieldModalText;\n /** Default option loader for built-in reference and multi-reference types. */\n loadReferenceableCollectionOptions?: FieldModalCollectionOptionsLoader;\n types: ResolvedFieldTypeOption[];\n /** Defaults for the read/write permissions per audience. Absent ⇒ the modal\n * shows no permissions section. */\n permissions?: FieldPermissions;\n /** Whether a field can be marked PII. A field type option overrides it with\n * its own `supportsPii`. */\n supportsPii?: boolean;\n };\n /** Existing field keys, used by the add modal to reject duplicates. */\n existingFieldKeys: string[];\n /** True when no more fields can be added because a limit is reached. */\n maxReached?: boolean;\n addField(draft: FieldDraft): Promise<void>;\n editField(fieldId: string, draft: FieldDraft): Promise<void>;\n /** Current values for an existing field, to prefill the edit modal. */\n getFieldDraft(fieldId: string): FieldDraft | undefined;\n}\n\n/** A new-field property `OpenFieldModalOptions` can lock from editing. */\nexport type LockableFieldProperty = 'type' | 'name' | 'required';\n\n/** Options for opening the add/edit field modal. */\nexport interface OpenFieldModalOptions {\n fieldId?: string;\n origin?: CustomFieldOrigin;\n customOrigin?: string;\n /** Prefills a new field. Ignored when `fieldId` is set — edit mode prefills\n * from the existing field instead. */\n initialField?: {\n /** Prefilled; locked when included in `lockedProperties`. */\n type?: string;\n /** Prefilled; locked when included in `lockedProperties`. */\n name?: string;\n /** Prefilled; locked when included in `lockedProperties`. Support depends\n * on the picked type's settings section — see `FieldSettingsSection.setInitialValues`. */\n required?: boolean;\n };\n /** Properties the user can't change, on top of being prefilled. A property\n * with no matching `initialField` value is never locked — there is nothing\n * to lock it to. */\n lockedProperties?: readonly LockableFieldProperty[];\n}\n\n/** Archiving capability a source exposes. Present ⇒ archive/restore UI shows. */\nexport interface FieldArchive {\n items: ArchivedFieldItem[];\n shouldDisplay: boolean;\n /** Whether the archived-items panel is currently open. */\n isOpen: boolean;\n openPanel(): void;\n closePanel(): void;\n /** `origin` is the UI surface the action was triggered from; used for BI. */\n archiveField(fieldId: string, origin: string): Promise<void>;\n restoreField(fieldId: string, origin: string): Promise<void>;\n /** Display name for a field, for the confirm-dialog copy. */\n fieldName(fieldId: string): string;\n}\n\n/**\n * The source-neutral fields data a collection reads, implemented by each source\n * adapter. Rendering — field modals, filter elements — is not here; it lives in\n * the collection-page layer.\n */\nexport interface FieldsSource {\n /** Loads the fields (schema/data). The collection runs this once, tracks its\n * status, and shows a retry toast on failure. */\n load(): Promise<void>;\n\n fields: Field[];\n filterableFields: Field[];\n /** The fields the manage-fields panel lists — the source's editable fields. */\n manageableFields: Field[];\n /** Column id for a field. Sources that group fields prefix the group; flat sources use the field key. */\n columnIdForField(field: Field): string;\n /** WQL field path for a filter. Sources that group fields prefix the group; flat sources use the field key. */\n queryFieldId(field: Field): string;\n /** The value to display for a field on a row. */\n getCellValue(row: unknown, field: Field): unknown;\n /** Writes a new value for a field on a row, returning the updated row. Present when cells can be edited in place. */\n setCellValue?(row: unknown, field: Field, value: unknown): unknown;\n\n /** Replaces the source's fields with a freshly-returned map, updating the\n * columns with no refetch. Present when the source holds its fields in a\n * mergeable state (e.g. a loaded schema); used after an import creates fields. */\n mergeFields?(fields: Schema['fields']): void;\n\n /** Field-type definitions the source supports: how a field of that type\n * renders, filters and validates. Built-in types are keyed by their\n * `PatternsFieldType`; consumer-defined types are keyed by the string a field\n * references via `customType`. The add/edit field modal never reads this —\n * see `FieldManagement.fieldModal`. */\n fieldTypes?: FieldTypeDefinition[];\n\n /** Present when fields can be added/edited/deleted. */\n fieldManagement?: FieldManagement;\n\n /** The collection's field-mutation actions (delete/makePrimary/duplicate/…),\n * driving the shared FieldActions menu. Absent ⇒ no per-field action menu. */\n fieldActions?: FieldActions;\n\n /** Present when the source supports archiving fields. */\n archive?: FieldArchive;\n\n /** Present when fields are grouped. Absent ⇒ flat list. */\n groups?: {\n all: string[];\n fieldsForGroup(group: string): Field[];\n };\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { action, computed, makeObservable, observable, runInAction, } from 'mobx';
|
|
1
|
+
import { action, computed, makeObservable, observable, reaction, runInAction, } from 'mobx';
|
|
2
2
|
import { ConditionalModalState } from './ConditionalModalState';
|
|
3
3
|
import { CustomFieldCollectionOptionsState } from './CustomFieldCollectionOptionsState';
|
|
4
4
|
import { CustomFieldModalBiReporter } from './CustomFieldModalBiReporter';
|
|
@@ -160,6 +160,32 @@ export class CustomFieldModalState {
|
|
|
160
160
|
setKeyFieldIfNotDirty: action.bound,
|
|
161
161
|
setDefaultPermissions: action,
|
|
162
162
|
});
|
|
163
|
+
// Reapplies a pending `required` prefill whenever the picked type changes
|
|
164
|
+
// — covers both picking a type after `applyInitialField` requested it,
|
|
165
|
+
// and the settings section resetting when the user later changes an
|
|
166
|
+
// unlocked type. Lives for this state's lifetime; never disposed, like
|
|
167
|
+
// the object itself.
|
|
168
|
+
reaction(() => this.form.$.type.value, () => this.reapplyPendingRequired());
|
|
169
|
+
}
|
|
170
|
+
reapplyPendingRequired() {
|
|
171
|
+
if (this.pendingRequired === undefined) {
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
if (this.settingsSection?.setInitialValues) {
|
|
175
|
+
this.settingsSection.setInitialValues({
|
|
176
|
+
required: this.pendingRequired,
|
|
177
|
+
});
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
if (this.settingsSection) {
|
|
181
|
+
// The picked type's section has no way to apply the prefill, so
|
|
182
|
+
// locking 'required' would only disable the checkbox at its unset
|
|
183
|
+
// default with no way to ever satisfy the requested value — drop the
|
|
184
|
+
// lock rather than present it as enforced.
|
|
185
|
+
runInAction(() => {
|
|
186
|
+
this.lockedProperties = this.lockedProperties.filter((property) => property !== 'required');
|
|
187
|
+
});
|
|
188
|
+
}
|
|
163
189
|
}
|
|
164
190
|
onConfirmError(e) {
|
|
165
191
|
const { getResolvedError } = this.container.errorHandler;
|
|
@@ -205,6 +231,9 @@ export class CustomFieldModalState {
|
|
|
205
231
|
this.resetCollectionInput();
|
|
206
232
|
this.errorToastConfig = undefined;
|
|
207
233
|
this.disableAutoValidation();
|
|
234
|
+
// `applyInitialField` runs only for a new-field open; clear it here too
|
|
235
|
+
// so a stale value can't leak from a previous open into an edit-mode one.
|
|
236
|
+
this.pendingRequired = undefined;
|
|
208
237
|
permissions.read.apps = false;
|
|
209
238
|
permissions.read.users = false;
|
|
210
239
|
permissions.write.apps = false;
|
|
@@ -282,19 +311,27 @@ export class CustomFieldModalState {
|
|
|
282
311
|
}
|
|
283
312
|
}
|
|
284
313
|
}
|
|
285
|
-
/** Prefills a new field from the caller's requested type/name. Sets
|
|
286
|
-
* directly (like `setFormValues`) rather than through `onChange`, so
|
|
287
|
-
* name field isn't marked dirty by the prefill — a later user edit
|
|
288
|
-
* regenerates the key. Also trims `lockedProperties` down to
|
|
289
|
-
* actually prefilled here — locking a property with nothing to
|
|
290
|
-
* would leave it stuck on its empty default. */
|
|
314
|
+
/** Prefills a new field from the caller's requested type/name/required. Sets
|
|
315
|
+
* values directly (like `setFormValues`) rather than through `onChange`, so
|
|
316
|
+
* the name field isn't marked dirty by the prefill — a later user edit
|
|
317
|
+
* still regenerates the key. Also trims `lockedProperties` down to
|
|
318
|
+
* properties actually prefilled here — locking a property with nothing to
|
|
319
|
+
* lock it to would leave it stuck on its empty default. */
|
|
291
320
|
applyInitialField(initialField) {
|
|
292
321
|
if (!initialField) {
|
|
293
322
|
this.lockedProperties = [];
|
|
323
|
+
this.pendingRequired = undefined;
|
|
294
324
|
return;
|
|
295
325
|
}
|
|
296
326
|
const { form: { $ }, } = this;
|
|
297
327
|
const provided = [];
|
|
328
|
+
// Set before `type` below: reassigning `type.value` reapplies it via the
|
|
329
|
+
// type-change reaction once the action this method runs in completes, so
|
|
330
|
+
// it's already in place whether or not a type is picked here.
|
|
331
|
+
if (initialField.required !== undefined) {
|
|
332
|
+
this.pendingRequired = initialField.required;
|
|
333
|
+
provided.push('required');
|
|
334
|
+
}
|
|
298
335
|
// Ignores a type the source doesn't offer, rather than locking the picker
|
|
299
336
|
// on a value it can never show as selected.
|
|
300
337
|
if (initialField.type !== undefined &&
|
|
@@ -302,6 +339,12 @@ export class CustomFieldModalState {
|
|
|
302
339
|
$.type.value = initialField.type;
|
|
303
340
|
provided.push('type');
|
|
304
341
|
}
|
|
342
|
+
else {
|
|
343
|
+
// No type picked here (or it wasn't valid), so the type-change
|
|
344
|
+
// reaction won't fire — apply directly in case a type is already set
|
|
345
|
+
// from an earlier open, or a settings section doesn't need one.
|
|
346
|
+
this.reapplyPendingRequired();
|
|
347
|
+
}
|
|
305
348
|
if (initialField.name !== undefined) {
|
|
306
349
|
// Independent of `type` — a caller may want to suggest a name without
|
|
307
350
|
// constraining which type the user picks.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomFieldModalState.js","sourceRoot":"","sources":["../../../src/state/CustomFieldModalState.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CustomFieldModalState.js","sourceRoot":"","sources":["../../../src/state/CustomFieldModalState.ts"],"names":[],"mappings":"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"}
|
|
@@ -62,6 +62,11 @@ export declare class CustomFieldModalState {
|
|
|
62
62
|
reportBi: ReportBI;
|
|
63
63
|
private readonly onSubmit?;
|
|
64
64
|
private readonly collectionOptionsState;
|
|
65
|
+
/** The `required` value requested by `applyInitialField`, reapplied whenever
|
|
66
|
+
* the picked type changes — a type picked after the fact (or an unlocked
|
|
67
|
+
* type the user later changes) would otherwise start the settings section
|
|
68
|
+
* fresh and silently drop it. */
|
|
69
|
+
private pendingRequired?;
|
|
65
70
|
modalState: ConditionalModalState<unknown>;
|
|
66
71
|
form: FormState<CustomFieldFormFields>;
|
|
67
72
|
disabledFields: {
|
|
@@ -77,6 +82,7 @@ export declare class CustomFieldModalState {
|
|
|
77
82
|
};
|
|
78
83
|
};
|
|
79
84
|
constructor(params: CustomFieldStateParams);
|
|
85
|
+
private reapplyPendingRequired;
|
|
80
86
|
onConfirmError(e: unknown): void;
|
|
81
87
|
reset(): void;
|
|
82
88
|
/** Clears the settings sections back to their defaults. Goes over every type
|
|
@@ -89,15 +95,16 @@ export declare class CustomFieldModalState {
|
|
|
89
95
|
setFormValues(form: FieldDraft, params?: {
|
|
90
96
|
disablePermissionCheckboxes: boolean;
|
|
91
97
|
}): void;
|
|
92
|
-
/** Prefills a new field from the caller's requested type/name. Sets
|
|
93
|
-
* directly (like `setFormValues`) rather than through `onChange`, so
|
|
94
|
-
* name field isn't marked dirty by the prefill — a later user edit
|
|
95
|
-
* regenerates the key. Also trims `lockedProperties` down to
|
|
96
|
-
* actually prefilled here — locking a property with nothing to
|
|
97
|
-
* would leave it stuck on its empty default. */
|
|
98
|
+
/** Prefills a new field from the caller's requested type/name/required. Sets
|
|
99
|
+
* values directly (like `setFormValues`) rather than through `onChange`, so
|
|
100
|
+
* the name field isn't marked dirty by the prefill — a later user edit
|
|
101
|
+
* still regenerates the key. Also trims `lockedProperties` down to
|
|
102
|
+
* properties actually prefilled here — locking a property with nothing to
|
|
103
|
+
* lock it to would leave it stuck on its empty default. */
|
|
98
104
|
applyInitialField(initialField?: {
|
|
99
105
|
type?: string;
|
|
100
106
|
name?: string;
|
|
107
|
+
required?: boolean;
|
|
101
108
|
}): void;
|
|
102
109
|
setDefaultPermissions(): void;
|
|
103
110
|
setKeyFieldIfNotDirty: (value: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomFieldModalState.d.ts","sourceRoot":"","sources":["../../../src/state/CustomFieldModalState.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CustomFieldModalState.d.ts","sourceRoot":"","sources":["../../../src/state/CustomFieldModalState.ts"],"names":[],"mappings":"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"}
|
|
@@ -119,6 +119,9 @@ export interface FieldModalCollectionInput {
|
|
|
119
119
|
export interface FieldSettingsProps {
|
|
120
120
|
/** The picked field type, or absent before one is picked. */
|
|
121
121
|
fieldType?: string;
|
|
122
|
+
/** Validation rules the section should render as fixed, not user-editable.
|
|
123
|
+
* A section ignores any entry it doesn't recognize. */
|
|
124
|
+
lockedRules?: readonly string[];
|
|
122
125
|
}
|
|
123
126
|
/**
|
|
124
127
|
* The collapsible section below the main add/edit field inputs, supplied by the
|
|
@@ -137,6 +140,16 @@ export interface FieldSettingsSection {
|
|
|
137
140
|
* there whether or not the section has been rendered yet.
|
|
138
141
|
*/
|
|
139
142
|
setValues(field?: Field): void;
|
|
143
|
+
/**
|
|
144
|
+
* Prefills a new field's rules from the caller's requested initial values —
|
|
145
|
+
* there is no backing `Field` yet, so this is separate from `setValues`.
|
|
146
|
+
* Absent ⇒ the section doesn't support prefilling any rule this way, and
|
|
147
|
+
* the modal drops that rule from `lockedProperties` rather than locking a
|
|
148
|
+
* control at a value it could never actually apply.
|
|
149
|
+
*/
|
|
150
|
+
setInitialValues?(initial: {
|
|
151
|
+
required?: boolean;
|
|
152
|
+
}): void;
|
|
140
153
|
}
|
|
141
154
|
/** Add/edit/delete capability a source exposes. Present ⇒ field management UI shows. */
|
|
142
155
|
export interface FieldManagement {
|
|
@@ -173,7 +186,7 @@ export interface FieldManagement {
|
|
|
173
186
|
getFieldDraft(fieldId: string): FieldDraft | undefined;
|
|
174
187
|
}
|
|
175
188
|
/** A new-field property `OpenFieldModalOptions` can lock from editing. */
|
|
176
|
-
export type LockableFieldProperty = 'type' | 'name';
|
|
189
|
+
export type LockableFieldProperty = 'type' | 'name' | 'required';
|
|
177
190
|
/** Options for opening the add/edit field modal. */
|
|
178
191
|
export interface OpenFieldModalOptions {
|
|
179
192
|
fieldId?: string;
|
|
@@ -186,6 +199,9 @@ export interface OpenFieldModalOptions {
|
|
|
186
199
|
type?: string;
|
|
187
200
|
/** Prefilled; locked when included in `lockedProperties`. */
|
|
188
201
|
name?: string;
|
|
202
|
+
/** Prefilled; locked when included in `lockedProperties`. Support depends
|
|
203
|
+
* on the picked type's settings section — see `FieldSettingsSection.setInitialValues`. */
|
|
204
|
+
required?: boolean;
|
|
189
205
|
};
|
|
190
206
|
/** Properties the user can't change, on top of being prefilled. A property
|
|
191
207
|
* with no matching `initialField` value is never locked — there is nothing
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldsSource.d.ts","sourceRoot":"","sources":["../../../src/types/FieldsSource.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"FieldsSource.d.ts","sourceRoot":"","sources":["../../../src/types/FieldsSource.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/bex-core",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.367.0",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Kobi",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"exports"
|
|
42
42
|
],
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@wix/bex-utils": "2.
|
|
44
|
+
"@wix/bex-utils": "2.154.0",
|
|
45
45
|
"chance": "^1.0.0",
|
|
46
46
|
"events": "^3.0.0",
|
|
47
47
|
"formstate": "^2.1.0",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"@types/react": "^16.0.0",
|
|
64
64
|
"@wix/auto-crud": "^1.0.108",
|
|
65
65
|
"@wix/babel-cli": "^1.11.0",
|
|
66
|
-
"@wix/cairo-integration-utils": "1.
|
|
66
|
+
"@wix/cairo-integration-utils": "1.129.0",
|
|
67
67
|
"@wix/eslint-config-yoshi": "^6.74.0",
|
|
68
68
|
"@wix/fe-essentials": "^1.233.0",
|
|
69
69
|
"@wix/fe-essentials-standalone": "^1.374.0",
|
|
@@ -169,5 +169,5 @@
|
|
|
169
169
|
"wallaby": {
|
|
170
170
|
"autoDetect": true
|
|
171
171
|
},
|
|
172
|
-
"falconPackageHash": "
|
|
172
|
+
"falconPackageHash": "72b59b43024ad6b235a602ed11c4fc46ea32fee2db4b9843a55068c2"
|
|
173
173
|
}
|