@wix/patterns-cms 1.17.0 → 1.18.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/adapter/__tests__/cmsFieldActions.spec.js +59 -27
- package/dist/cjs/adapter/__tests__/cmsFieldActions.spec.js.map +1 -1
- package/dist/cjs/adapter/__tests__/useCmsSchemaSource.spec.js +34 -2
- package/dist/cjs/adapter/__tests__/useCmsSchemaSource.spec.js.map +1 -1
- package/dist/cjs/adapter/createCmsFieldActions.js +35 -3
- package/dist/cjs/adapter/createCmsFieldActions.js.map +1 -1
- package/dist/cjs/adapter/fieldSettings/CmsFieldSettings.js +359 -0
- package/dist/cjs/adapter/fieldSettings/CmsFieldSettings.js.map +1 -0
- package/dist/cjs/adapter/fieldSettings/CmsFieldSettingsState.js +144 -0
- package/dist/cjs/adapter/fieldSettings/CmsFieldSettingsState.js.map +1 -0
- package/dist/cjs/adapter/fieldSettings/createCmsFieldSettings.js +29 -0
- package/dist/cjs/adapter/fieldSettings/createCmsFieldSettings.js.map +1 -0
- package/dist/cjs/adapter/useCmsSchemaSource.js +70 -56
- package/dist/cjs/adapter/useCmsSchemaSource.js.map +1 -1
- package/dist/esm/adapter/__tests__/cmsFieldActions.spec.js +50 -23
- package/dist/esm/adapter/__tests__/cmsFieldActions.spec.js.map +1 -1
- package/dist/esm/adapter/__tests__/useCmsSchemaSource.spec.js +24 -2
- package/dist/esm/adapter/__tests__/useCmsSchemaSource.spec.js.map +1 -1
- package/dist/esm/adapter/createCmsFieldActions.js +28 -3
- package/dist/esm/adapter/createCmsFieldActions.js.map +1 -1
- package/dist/esm/adapter/fieldSettings/CmsFieldSettings.js +45 -0
- package/dist/esm/adapter/fieldSettings/CmsFieldSettings.js.map +1 -0
- package/dist/esm/adapter/fieldSettings/CmsFieldSettingsState.js +136 -0
- package/dist/esm/adapter/fieldSettings/CmsFieldSettingsState.js.map +1 -0
- package/dist/esm/adapter/fieldSettings/createCmsFieldSettings.js +13 -0
- package/dist/esm/adapter/fieldSettings/createCmsFieldSettings.js.map +1 -0
- package/dist/esm/adapter/useCmsSchemaSource.js +71 -59
- package/dist/esm/adapter/useCmsSchemaSource.js.map +1 -1
- package/dist/types/adapter/createCmsFieldActions.d.ts.map +1 -1
- package/dist/types/adapter/fieldSettings/CmsFieldSettings.d.ts +12 -0
- package/dist/types/adapter/fieldSettings/CmsFieldSettings.d.ts.map +1 -0
- package/dist/types/adapter/fieldSettings/CmsFieldSettingsState.d.ts +53 -0
- package/dist/types/adapter/fieldSettings/CmsFieldSettingsState.d.ts.map +1 -0
- package/dist/types/adapter/fieldSettings/createCmsFieldSettings.d.ts +3 -0
- package/dist/types/adapter/fieldSettings/createCmsFieldSettings.d.ts.map +1 -0
- package/dist/types/adapter/useCmsSchemaSource.d.ts.map +1 -1
- package/package.json +9 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCmsFieldActions.js","sourceRoot":"","sources":["../../../src/adapter/createCmsFieldActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAG/C,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"createCmsFieldActions.js","sourceRoot":"","sources":["../../../src/adapter/createCmsFieldActions.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { observer } from 'mobx-react-lite';
|
|
3
|
+
import { Box, FormField, InfoIcon, Input, NumberInput, Text, ToggleSwitch, } from '@wix/design-system';
|
|
4
|
+
import { CHARACTERS_CEILING, MAX_CHARACTERS_FLOOR, showsCharactersLimit, showsRequired, showsValueRange, } from './CmsFieldSettingsState';
|
|
5
|
+
/** Plain strings until this package gets its own translations. */
|
|
6
|
+
export const _CmsFieldSettings = (props) => {
|
|
7
|
+
const { state, fieldType } = props;
|
|
8
|
+
const { rangeError, valueRangeError } = state;
|
|
9
|
+
return (React.createElement(Box, { direction: "vertical", gap: "SP4" },
|
|
10
|
+
React.createElement(FormField, { dataHook: "cms-field-settings-help-text", label: "Help text", infoContent: "Shown under the field when someone adds content to this collection." },
|
|
11
|
+
React.createElement(Input, { dataHook: "cms-field-settings-help-text-input", value: state.helpText, maxLength: 200, placeholder: "Add a short explanation", onChange: (e) => state.setHelpText(e.target.value) })),
|
|
12
|
+
React.createElement(Box, { direction: "vertical", gap: "SP2" },
|
|
13
|
+
React.createElement(Text, { size: "small", secondary: true }, "Validation"),
|
|
14
|
+
showsRequired(fieldType) && (React.createElement(Box, { dataHook: "cms-field-settings-required", verticalAlign: "middle", gap: "9px" },
|
|
15
|
+
React.createElement(ToggleSwitch, { dataHook: "cms-field-settings-required-toggle", size: "medium", checked: state.required, onChange: (e) => state.setRequired(e.target.checked) }),
|
|
16
|
+
React.createElement(Box, { verticalAlign: "middle", gap: "3px" },
|
|
17
|
+
React.createElement(Text, { size: "small" }, "Make this a required field"),
|
|
18
|
+
React.createElement(InfoIcon, { size: "small", content: "Make this a required field when adding content to this collection." })))),
|
|
19
|
+
showsCharactersLimit(fieldType) && (React.createElement(Box, { direction: "vertical", gap: "SP2" },
|
|
20
|
+
React.createElement(Box, { dataHook: "cms-field-settings-characters-limit", verticalAlign: "middle", gap: "9px" },
|
|
21
|
+
React.createElement(ToggleSwitch, { dataHook: "cms-field-settings-characters-limit-toggle", size: "medium", checked: state.charactersLimit, onChange: (e) => state.setCharactersLimit(e.target.checked) }),
|
|
22
|
+
React.createElement(Box, { verticalAlign: "middle", gap: "3px" },
|
|
23
|
+
React.createElement(Text, { size: "small" }, "Limit character count"),
|
|
24
|
+
React.createElement(InfoIcon, { size: "small", content: "Limit the number of characters in this field for any newly added items." }))),
|
|
25
|
+
state.charactersLimit && (React.createElement(Box, { verticalAlign: "middle", gap: "SP2" },
|
|
26
|
+
React.createElement(Box, { width: "112px" },
|
|
27
|
+
React.createElement(NumberInput, { dataHook: "cms-field-settings-min-characters", size: "small", placeholder: "min", min: state.minCharactersFloor, max: CHARACTERS_CEILING, value: state.minCharacters, onChange: (value) => state.setMinCharacters(value ?? undefined), onBlur: state.normalizeMinCharacters })),
|
|
28
|
+
React.createElement(Text, { size: "small", secondary: true }, "and"),
|
|
29
|
+
React.createElement(Box, { width: "112px" },
|
|
30
|
+
React.createElement(NumberInput, { dataHook: "cms-field-settings-max-characters", size: "small", placeholder: "max", min: MAX_CHARACTERS_FLOOR, max: CHARACTERS_CEILING, value: state.maxCharacters, status: rangeError ? 'error' : undefined, statusMessage: rangeError, onChange: (value) => state.setMaxCharacters(value ?? undefined), onBlur: state.normalizeMaxCharacters })))))),
|
|
31
|
+
showsValueRange(fieldType) && (React.createElement(Box, { direction: "vertical", gap: "SP2" },
|
|
32
|
+
React.createElement(Box, { dataHook: "cms-field-settings-value-range", verticalAlign: "middle", gap: "9px" },
|
|
33
|
+
React.createElement(ToggleSwitch, { dataHook: "cms-field-settings-value-range-toggle", size: "medium", checked: state.valueRange, onChange: (e) => state.setValueRange(e.target.checked) }),
|
|
34
|
+
React.createElement(Box, { verticalAlign: "middle", gap: "3px" },
|
|
35
|
+
React.createElement(Text, { size: "small" }, "Limit value range"),
|
|
36
|
+
React.createElement(InfoIcon, { size: "small", content: "Limit the values this field accepts for any newly added items." }))),
|
|
37
|
+
state.valueRange && (React.createElement(Box, { verticalAlign: "middle", gap: "SP2" },
|
|
38
|
+
React.createElement(Box, { width: "112px" },
|
|
39
|
+
React.createElement(NumberInput, { dataHook: "cms-field-settings-min-value", size: "small", placeholder: "min", value: state.minValue, onChange: (value) => state.setMinValue(value ?? undefined) })),
|
|
40
|
+
React.createElement(Text, { size: "small", secondary: true }, "and"),
|
|
41
|
+
React.createElement(Box, { width: "112px" },
|
|
42
|
+
React.createElement(NumberInput, { dataHook: "cms-field-settings-max-value", size: "small", placeholder: "max", value: state.maxValue, status: valueRangeError ? 'error' : undefined, statusMessage: valueRangeError, onChange: (value) => state.setMaxValue(value ?? undefined) })))))))));
|
|
43
|
+
};
|
|
44
|
+
export const CmsFieldSettings = observer(_CmsFieldSettings);
|
|
45
|
+
//# sourceMappingURL=CmsFieldSettings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmsFieldSettings.js","sourceRoot":"","sources":["../../../../src/adapter/fieldSettings/CmsFieldSettings.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { action, computed, makeObservable, observable } from 'mobx';
|
|
2
|
+
/** @wix/data rejects a character limit above this. */
|
|
3
|
+
export const CHARACTERS_CEILING = 256000;
|
|
4
|
+
export const MAX_CHARACTERS_FLOOR = 1;
|
|
5
|
+
const MIN_CHARACTERS_FLOOR = 0;
|
|
6
|
+
/** A required field has to hold at least one character. */
|
|
7
|
+
const MIN_CHARACTERS_FLOOR_WHEN_REQUIRED = 1;
|
|
8
|
+
/** Only text fields carry a character limit — the only type `@wix/data` stores a
|
|
9
|
+
* `stringLengthRange` for. */
|
|
10
|
+
const CHARACTERS_LIMIT_TYPES = ['SHORT_TEXT'];
|
|
11
|
+
/** Only number fields carry a value range — `@wix/data`'s `numberRange`. */
|
|
12
|
+
const VALUE_RANGE_TYPES = ['NUMBER'];
|
|
13
|
+
export const showsRequired = (fieldType) => Boolean(fieldType);
|
|
14
|
+
export const showsCharactersLimit = (fieldType) => CHARACTERS_LIMIT_TYPES.some((type) => type === fieldType);
|
|
15
|
+
export const showsValueRange = (fieldType) => VALUE_RANGE_TYPES.some((type) => type === fieldType);
|
|
16
|
+
const clamp = (value, min, max) => value == null ? undefined : Math.min(Math.max(value, min), max);
|
|
17
|
+
const maxBelowMin = (min, max) => min == null || max == null || min <= max
|
|
18
|
+
? undefined
|
|
19
|
+
: 'Max has to be higher than min.';
|
|
20
|
+
export class CmsFieldSettingsState {
|
|
21
|
+
constructor() {
|
|
22
|
+
this.required = false;
|
|
23
|
+
this.charactersLimit = false;
|
|
24
|
+
this.minCharacters = undefined;
|
|
25
|
+
this.maxCharacters = undefined;
|
|
26
|
+
this.valueRange = false;
|
|
27
|
+
this.minValue = undefined;
|
|
28
|
+
this.maxValue = undefined;
|
|
29
|
+
this.helpText = '';
|
|
30
|
+
makeObservable(this, {
|
|
31
|
+
required: observable.ref,
|
|
32
|
+
charactersLimit: observable.ref,
|
|
33
|
+
minCharacters: observable.ref,
|
|
34
|
+
maxCharacters: observable.ref,
|
|
35
|
+
valueRange: observable.ref,
|
|
36
|
+
minValue: observable.ref,
|
|
37
|
+
maxValue: observable.ref,
|
|
38
|
+
helpText: observable.ref,
|
|
39
|
+
minCharactersFloor: computed,
|
|
40
|
+
rangeError: computed,
|
|
41
|
+
valueRangeError: computed,
|
|
42
|
+
setRequired: action.bound,
|
|
43
|
+
setCharactersLimit: action.bound,
|
|
44
|
+
setMinCharacters: action.bound,
|
|
45
|
+
setMaxCharacters: action.bound,
|
|
46
|
+
setValueRange: action.bound,
|
|
47
|
+
setMinValue: action.bound,
|
|
48
|
+
setMaxValue: action.bound,
|
|
49
|
+
setHelpText: action.bound,
|
|
50
|
+
normalizeMinCharacters: action.bound,
|
|
51
|
+
normalizeMaxCharacters: action.bound,
|
|
52
|
+
setValues: action.bound,
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
get minCharactersFloor() {
|
|
56
|
+
return this.required
|
|
57
|
+
? MIN_CHARACTERS_FLOOR_WHEN_REQUIRED
|
|
58
|
+
: MIN_CHARACTERS_FLOOR;
|
|
59
|
+
}
|
|
60
|
+
get rangeError() {
|
|
61
|
+
return maxBelowMin(this.minCharacters, this.maxCharacters);
|
|
62
|
+
}
|
|
63
|
+
get valueRangeError() {
|
|
64
|
+
return maxBelowMin(this.minValue, this.maxValue);
|
|
65
|
+
}
|
|
66
|
+
setRequired(value) {
|
|
67
|
+
this.required = value;
|
|
68
|
+
this.normalizeMinCharacters();
|
|
69
|
+
}
|
|
70
|
+
setCharactersLimit(value) {
|
|
71
|
+
this.charactersLimit = value;
|
|
72
|
+
}
|
|
73
|
+
setMinCharacters(value) {
|
|
74
|
+
this.minCharacters = value;
|
|
75
|
+
}
|
|
76
|
+
setMaxCharacters(value) {
|
|
77
|
+
this.maxCharacters = value;
|
|
78
|
+
}
|
|
79
|
+
setValueRange(value) {
|
|
80
|
+
this.valueRange = value;
|
|
81
|
+
}
|
|
82
|
+
setMinValue(value) {
|
|
83
|
+
this.minValue = value;
|
|
84
|
+
}
|
|
85
|
+
setMaxValue(value) {
|
|
86
|
+
this.maxValue = value;
|
|
87
|
+
}
|
|
88
|
+
setHelpText(value) {
|
|
89
|
+
this.helpText = value;
|
|
90
|
+
}
|
|
91
|
+
normalizeMinCharacters() {
|
|
92
|
+
this.minCharacters = clamp(this.minCharacters, this.minCharactersFloor, CHARACTERS_CEILING);
|
|
93
|
+
}
|
|
94
|
+
normalizeMaxCharacters() {
|
|
95
|
+
this.maxCharacters = clamp(this.maxCharacters, MAX_CHARACTERS_FLOOR, CHARACTERS_CEILING);
|
|
96
|
+
}
|
|
97
|
+
hasError(fieldType) {
|
|
98
|
+
return ((showsCharactersLimit(fieldType) &&
|
|
99
|
+
this.charactersLimit &&
|
|
100
|
+
Boolean(this.rangeError)) ||
|
|
101
|
+
(showsValueRange(fieldType) &&
|
|
102
|
+
this.valueRange &&
|
|
103
|
+
Boolean(this.valueRangeError)));
|
|
104
|
+
}
|
|
105
|
+
getValues(fieldType) {
|
|
106
|
+
// A toggle can be on with both inputs empty — that's still no limit.
|
|
107
|
+
const limit = showsCharactersLimit(fieldType) &&
|
|
108
|
+
this.charactersLimit &&
|
|
109
|
+
(this.minCharacters !== undefined || this.maxCharacters !== undefined);
|
|
110
|
+
const range = showsValueRange(fieldType) &&
|
|
111
|
+
this.valueRange &&
|
|
112
|
+
(this.minValue !== undefined || this.maxValue !== undefined);
|
|
113
|
+
return {
|
|
114
|
+
helpText: this.helpText,
|
|
115
|
+
required: showsRequired(fieldType) ? this.required : false,
|
|
116
|
+
characters: limit
|
|
117
|
+
? { minLength: this.minCharacters, maxLength: this.maxCharacters }
|
|
118
|
+
: undefined,
|
|
119
|
+
values: range ? { min: this.minValue, max: this.maxValue } : undefined,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
setValues(field) {
|
|
123
|
+
const characters = field?.validation?.stringLengthRange;
|
|
124
|
+
const values = field?.validation?.numberRange;
|
|
125
|
+
this.helpText = field?.helpText ?? '';
|
|
126
|
+
this.required = field?.validation?.required ?? false;
|
|
127
|
+
this.minCharacters = characters?.minLength;
|
|
128
|
+
this.maxCharacters = characters?.maxLength;
|
|
129
|
+
this.charactersLimit =
|
|
130
|
+
characters?.minLength != null || characters?.maxLength != null;
|
|
131
|
+
this.minValue = values?.min;
|
|
132
|
+
this.maxValue = values?.max;
|
|
133
|
+
this.valueRange = values?.min != null || values?.max != null;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=CmsFieldSettingsState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmsFieldSettingsState.js","sourceRoot":"","sources":["../../../../src/adapter/fieldSettings/CmsFieldSettingsState.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { CmsFieldSettings } from './CmsFieldSettings';
|
|
3
|
+
import { CmsFieldSettingsState } from './CmsFieldSettingsState';
|
|
4
|
+
export const createCmsFieldSettings = () => {
|
|
5
|
+
const state = new CmsFieldSettingsState();
|
|
6
|
+
return {
|
|
7
|
+
Component: (props) => React.createElement(CmsFieldSettings, { ...props, state: state }),
|
|
8
|
+
hasError: (fieldType) => state.hasError(fieldType),
|
|
9
|
+
getValues: (fieldType) => state.getValues(fieldType),
|
|
10
|
+
setValues: state.setValues,
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
//# sourceMappingURL=createCmsFieldSettings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createCmsFieldSettings.js","sourceRoot":"","sources":["../../../../src/adapter/fieldSettings/createCmsFieldSettings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAyB,EAAE;IAC/D,MAAM,KAAK,GAAG,IAAI,qBAAqB,EAAE,CAAC;IAE1C,OAAO;QACL,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,oBAAC,gBAAgB,OAAK,KAAK,EAAE,KAAK,EAAE,KAAK,GAAI;QACnE,QAAQ,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;QAClD,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC;QACpD,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1,43 +1,9 @@
|
|
|
1
1
|
import { useWixPatternsContainer } from '@wix/patterns';
|
|
2
2
|
import { defineSchemaSource, useSchemaSource } from '@wix/patterns/schema';
|
|
3
3
|
import { createCmsSchemaLoader, } from './loadCmsSchema';
|
|
4
|
-
|
|
5
|
-
// only types @wix/data can create (see PatternsFieldTypeToCmsFieldType). The
|
|
6
|
-
// subtitles and group labels are plain strings until this package gets its own
|
|
7
|
-
// translations.
|
|
8
|
-
//
|
|
9
|
-
// Only text-like types can be encrypted, so the rest turn the PII toggle off.
|
|
4
|
+
import { createCmsFieldSettings } from './fieldSettings/createCmsFieldSettings';
|
|
10
5
|
const ESSENTIALS = 'Essentials';
|
|
11
6
|
const TIME_AND_LOCATION = 'Time and location';
|
|
12
|
-
const CMS_CREATABLE_TYPES = [
|
|
13
|
-
{
|
|
14
|
-
patternsType: 'SHORT_TEXT',
|
|
15
|
-
label: 'Text',
|
|
16
|
-
subtitle: 'Titles, paragraph',
|
|
17
|
-
group: ESSENTIALS,
|
|
18
|
-
},
|
|
19
|
-
{
|
|
20
|
-
patternsType: 'NUMBER',
|
|
21
|
-
label: 'Number',
|
|
22
|
-
subtitle: 'ID, rating, order number',
|
|
23
|
-
group: ESSENTIALS,
|
|
24
|
-
supportsPii: false,
|
|
25
|
-
},
|
|
26
|
-
{
|
|
27
|
-
patternsType: 'BOOLEAN',
|
|
28
|
-
label: 'Boolean',
|
|
29
|
-
subtitle: 'Yes or no, true or false',
|
|
30
|
-
group: ESSENTIALS,
|
|
31
|
-
supportsPii: false,
|
|
32
|
-
},
|
|
33
|
-
{
|
|
34
|
-
patternsType: 'DATE',
|
|
35
|
-
label: 'Date',
|
|
36
|
-
subtitle: 'Date of event, date added',
|
|
37
|
-
group: TIME_AND_LOCATION,
|
|
38
|
-
supportsPii: false,
|
|
39
|
-
},
|
|
40
|
-
];
|
|
41
7
|
export function cmsSchemaSourceInput(deps) {
|
|
42
8
|
const { collectionId, references: seedReferences, fieldTypes, onEditCollectionPermissions, ...loaderDeps } = deps;
|
|
43
9
|
// Who can read the collection isn't part of the source-neutral schema, so the
|
|
@@ -71,36 +37,82 @@ export function cmsSchemaSourceInput(deps) {
|
|
|
71
37
|
});
|
|
72
38
|
return loaded;
|
|
73
39
|
};
|
|
40
|
+
// `read: 'ANYONE'` means any site visitor can read the collection's items, so
|
|
41
|
+
// encrypting the field alone doesn't keep it private.
|
|
42
|
+
const piiWarning = () => {
|
|
43
|
+
if (collection?.permissions?.read !== 'ANYONE') {
|
|
44
|
+
return undefined;
|
|
45
|
+
}
|
|
46
|
+
const name = collection.displayName || collectionId;
|
|
47
|
+
return {
|
|
48
|
+
text: `"${name}" collection is viewable by everyone. Update permissions so this field isn't exposed.`,
|
|
49
|
+
action: onEditCollectionPermissions && {
|
|
50
|
+
label: 'Update collection permissions',
|
|
51
|
+
onClick: onEditCollectionPermissions,
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
// One section for all the types: it holds the values the modal collects, and
|
|
56
|
+
// the modal shows whichever one the picked type carries.
|
|
57
|
+
const settingsSection = createCmsFieldSettings();
|
|
58
|
+
// The field types the add/edit modal offers, in display order. These are the
|
|
59
|
+
// only types @wix/data can create (see PatternsFieldTypeToCmsFieldType). The
|
|
60
|
+
// subtitles and group labels are plain strings until this package gets its own
|
|
61
|
+
// translations.
|
|
62
|
+
//
|
|
63
|
+
// Only text-like types can be encrypted, so the rest turn the PII toggle off —
|
|
64
|
+
// and with it the warning, which is why only Text carries one.
|
|
65
|
+
const types = [
|
|
66
|
+
{
|
|
67
|
+
patternsType: 'SHORT_TEXT',
|
|
68
|
+
label: 'Text',
|
|
69
|
+
subtitle: 'Titles, paragraph',
|
|
70
|
+
group: ESSENTIALS,
|
|
71
|
+
piiWarning,
|
|
72
|
+
settingsSection,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
patternsType: 'NUMBER',
|
|
76
|
+
label: 'Number',
|
|
77
|
+
subtitle: 'ID, rating, order number',
|
|
78
|
+
group: ESSENTIALS,
|
|
79
|
+
supportsPii: false,
|
|
80
|
+
settingsSection,
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
patternsType: 'BOOLEAN',
|
|
84
|
+
label: 'Boolean',
|
|
85
|
+
subtitle: 'Yes or no, true or false',
|
|
86
|
+
group: ESSENTIALS,
|
|
87
|
+
supportsPii: false,
|
|
88
|
+
settingsSection,
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
patternsType: 'DATE',
|
|
92
|
+
label: 'Date',
|
|
93
|
+
subtitle: 'Date of event, date added',
|
|
94
|
+
group: TIME_AND_LOCATION,
|
|
95
|
+
supportsPii: false,
|
|
96
|
+
settingsSection,
|
|
97
|
+
},
|
|
98
|
+
];
|
|
74
99
|
return {
|
|
75
100
|
collectionId,
|
|
76
101
|
loadSchema,
|
|
77
|
-
creatableFieldTypes: CMS_CREATABLE_TYPES,
|
|
78
102
|
references,
|
|
79
103
|
fieldTypes,
|
|
80
|
-
// A CMS field marked PII is stored encrypted. Per-type opt-outs live
|
|
81
|
-
//
|
|
104
|
+
// A CMS field marked PII is stored encrypted. Per-type opt-outs live on the
|
|
105
|
+
// type entries below.
|
|
82
106
|
supportsPii: true,
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
action: onEditCollectionPermissions && {
|
|
93
|
-
label: 'Update collection permissions',
|
|
94
|
-
onClick: onEditCollectionPermissions,
|
|
95
|
-
},
|
|
96
|
-
};
|
|
97
|
-
},
|
|
98
|
-
// Plain strings until this package gets its own translations. CMS names it
|
|
99
|
-
// "field" (not "custom field") and shows no subtitle.
|
|
100
|
-
fieldModalText: {
|
|
101
|
-
addTitle: 'Add a field',
|
|
102
|
-
editTitle: 'Edit field',
|
|
103
|
-
settingsLabel: 'Additional settings',
|
|
107
|
+
fieldModal: {
|
|
108
|
+
// Plain strings until this package gets its own translations. CMS names it
|
|
109
|
+
// "field" (not "custom field") and shows no subtitle.
|
|
110
|
+
text: {
|
|
111
|
+
addTitle: 'Add a field',
|
|
112
|
+
editTitle: 'Edit field',
|
|
113
|
+
settingsLabel: 'Additional settings',
|
|
114
|
+
},
|
|
115
|
+
types,
|
|
104
116
|
},
|
|
105
117
|
};
|
|
106
118
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCmsSchemaSource.js","sourceRoot":"","sources":["../../../src/adapter/useCmsSchemaSource.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC;AAExD,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAM3E,OAAO,EACL,qBAAqB,GAEtB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"useCmsSchemaSource.js","sourceRoot":"","sources":["../../../src/adapter/useCmsSchemaSource.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createCmsFieldActions.d.ts","sourceRoot":"","sources":["../../../src/adapter/createCmsFieldActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAS,MAAM,WAAW,CAAC;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAU,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"createCmsFieldActions.d.ts","sourceRoot":"","sources":["../../../src/adapter/createCmsFieldActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAS,MAAM,WAAW,CAAC;AAE/C,OAAO,KAAK,EAAE,YAAY,EAAU,MAAM,sBAAsB,CAAC;AAmDjE;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,WAAW,CAAC,cAAc,GAAG,IAAI,GACrD,YAAY,CA4Nd"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { FieldSettingsProps } from '@wix/patterns/schema';
|
|
3
|
+
import { CmsFieldSettingsState } from './CmsFieldSettingsState';
|
|
4
|
+
export interface CmsFieldSettingsProps extends FieldSettingsProps {
|
|
5
|
+
state: CmsFieldSettingsState;
|
|
6
|
+
}
|
|
7
|
+
/** Plain strings until this package gets its own translations. */
|
|
8
|
+
export declare const _CmsFieldSettings: (props: CmsFieldSettingsProps) => React.JSX.Element;
|
|
9
|
+
export declare const CmsFieldSettings: ((props: CmsFieldSettingsProps) => React.JSX.Element) & {
|
|
10
|
+
displayName: string;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=CmsFieldSettings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmsFieldSettings.d.ts","sourceRoot":"","sources":["../../../../src/adapter/fieldSettings/CmsFieldSettings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAEL,qBAAqB,EAKtB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,qBAAsB,SAAQ,kBAAkB;IAC/D,KAAK,EAAE,qBAAqB,CAAC;CAC9B;AAED,kEAAkE;AAClE,eAAO,MAAM,iBAAiB,UAAW,qBAAqB,sBA6J7D,CAAC;AAEF,eAAO,MAAM,gBAAgB,WA/JY,qBAAqB;;CA+JH,CAAC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { Field } from '@wix/patterns';
|
|
2
|
+
/**
|
|
3
|
+
* What the CMS settings section hands back to `createCmsFieldActions`. Cairo
|
|
4
|
+
* carries it as an opaque value, so this shape is ours alone.
|
|
5
|
+
*/
|
|
6
|
+
export interface CmsFieldSettings {
|
|
7
|
+
helpText: string;
|
|
8
|
+
required: boolean;
|
|
9
|
+
/** Absent ⇒ no character limit, or a type that can't have one. */
|
|
10
|
+
characters?: {
|
|
11
|
+
minLength?: number;
|
|
12
|
+
maxLength?: number;
|
|
13
|
+
};
|
|
14
|
+
/** Absent ⇒ no value range, or a type that can't have one. */
|
|
15
|
+
values?: {
|
|
16
|
+
min?: number;
|
|
17
|
+
max?: number;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/** @wix/data rejects a character limit above this. */
|
|
21
|
+
export declare const CHARACTERS_CEILING = 256000;
|
|
22
|
+
export declare const MAX_CHARACTERS_FLOOR = 1;
|
|
23
|
+
export declare const showsRequired: (fieldType?: string) => boolean;
|
|
24
|
+
export declare const showsCharactersLimit: (fieldType?: string) => boolean;
|
|
25
|
+
export declare const showsValueRange: (fieldType?: string) => boolean;
|
|
26
|
+
export declare class CmsFieldSettingsState {
|
|
27
|
+
required: boolean;
|
|
28
|
+
charactersLimit: boolean;
|
|
29
|
+
minCharacters: number | undefined;
|
|
30
|
+
maxCharacters: number | undefined;
|
|
31
|
+
valueRange: boolean;
|
|
32
|
+
minValue: number | undefined;
|
|
33
|
+
maxValue: number | undefined;
|
|
34
|
+
helpText: string;
|
|
35
|
+
constructor();
|
|
36
|
+
get minCharactersFloor(): 1 | 0;
|
|
37
|
+
get rangeError(): "Max has to be higher than min." | undefined;
|
|
38
|
+
get valueRangeError(): "Max has to be higher than min." | undefined;
|
|
39
|
+
setRequired(value: boolean): void;
|
|
40
|
+
setCharactersLimit(value: boolean): void;
|
|
41
|
+
setMinCharacters(value: number | undefined): void;
|
|
42
|
+
setMaxCharacters(value: number | undefined): void;
|
|
43
|
+
setValueRange(value: boolean): void;
|
|
44
|
+
setMinValue(value: number | undefined): void;
|
|
45
|
+
setMaxValue(value: number | undefined): void;
|
|
46
|
+
setHelpText(value: string): void;
|
|
47
|
+
normalizeMinCharacters(): void;
|
|
48
|
+
normalizeMaxCharacters(): void;
|
|
49
|
+
hasError(fieldType?: string): boolean;
|
|
50
|
+
getValues(fieldType?: string): CmsFieldSettings;
|
|
51
|
+
setValues(field?: Field): void;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=CmsFieldSettingsState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CmsFieldSettingsState.d.ts","sourceRoot":"","sources":["../../../../src/adapter/fieldSettings/CmsFieldSettingsState.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAqB,MAAM,eAAe,CAAC;AAE9D;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,UAAU,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxD,8DAA8D;IAC9D,MAAM,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC;AAED,sDAAsD;AACtD,eAAO,MAAM,kBAAkB,SAAU,CAAC;AAC1C,eAAO,MAAM,oBAAoB,IAAI,CAAC;AAYtC,eAAO,MAAM,aAAa,eAAgB,MAAM,YAAuB,CAAC;AAExE,eAAO,MAAM,oBAAoB,eAAgB,MAAM,YACI,CAAC;AAE5D,eAAO,MAAM,eAAe,eAAgB,MAAM,YACI,CAAC;AAUvD,qBAAa,qBAAqB;IAChC,QAAQ,UAAS;IACjB,eAAe,UAAS;IACxB,aAAa,EAAE,MAAM,GAAG,SAAS,CAAa;IAC9C,aAAa,EAAE,MAAM,GAAG,SAAS,CAAa;IAC9C,UAAU,UAAS;IACnB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAa;IACzC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAa;IACzC,QAAQ,SAAM;;IA6Bd,IAAI,kBAAkB,UAIrB;IAED,IAAI,UAAU,iDAEb;IAED,IAAI,eAAe,iDAElB;IAED,WAAW,CAAC,KAAK,EAAE,OAAO;IAK1B,kBAAkB,CAAC,KAAK,EAAE,OAAO;IAIjC,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;IAI1C,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;IAI1C,aAAa,CAAC,KAAK,EAAE,OAAO;IAI5B,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;IAIrC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;IAIrC,WAAW,CAAC,KAAK,EAAE,MAAM;IAIzB,sBAAsB;IAQtB,sBAAsB;IAQtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM;IAW3B,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,gBAAgB;IAoB/C,SAAS,CAAC,KAAK,CAAC,EAAE,KAAK;CAaxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createCmsFieldSettings.d.ts","sourceRoot":"","sources":["../../../../src/adapter/fieldSettings/createCmsFieldSettings.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAIjE,eAAO,MAAM,sBAAsB,QAAO,oBASzC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useCmsSchemaSource.d.ts","sourceRoot":"","sources":["../../../src/adapter/useCmsSchemaSource.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEzD,OAAO,KAAK,EAEV,YAAY,EACZ,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"useCmsSchemaSource.d.ts","sourceRoot":"","sources":["../../../src/adapter/useCmsSchemaSource.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAEzD,OAAO,KAAK,EAEV,YAAY,EACZ,iBAAiB,EAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,KAAK,yBAAyB,EAC/B,MAAM,iBAAiB,CAAC;AAMzB,MAAM,WAAW,sBACf,SAAQ,IAAI,CAAC,yBAAyB,EAAE,YAAY,GAAG,oBAAoB,CAAC;IAC5E,YAAY,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,UAAU,CAAC,EAAE,yBAAyB,CAAC,YAAY,CAAC,CAAC;IACrD;;mFAE+E;IAC/E,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,8EAA8E;IAC9E,UAAU,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACnC;wCACoC;IACpC,2BAA2B,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1C;AAED,wBAAgB,oBAAoB,CAClC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAE3D,IAAI,EAAE,sBAAsB,GAAG,IAAI,CAAC,yBAAyB,EAAE,YAAY,CAAC,GAC3E,iBAAiB,CAAC,CAAC,CAAC,CA+HtB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC3D,IAAI,EAAE,sBAAsB,GAAG,YAAY,CAAC,CAAC,CAAC,CAQ/C"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wix/patterns-cms",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.18.0",
|
|
4
4
|
"license": "UNLICENSED",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Cairo",
|
|
@@ -28,14 +28,17 @@
|
|
|
28
28
|
],
|
|
29
29
|
"dependencies": {
|
|
30
30
|
"@babel/runtime": "^7.0.0",
|
|
31
|
-
"@wix/bex-utils": "2.
|
|
31
|
+
"@wix/bex-utils": "2.127.0",
|
|
32
32
|
"@wix/data": "^1.0.323",
|
|
33
|
-
"@wix/patterns": "1.
|
|
33
|
+
"@wix/patterns": "1.434.0",
|
|
34
34
|
"@wix/wix-data-items-sdk": "^1.0.504",
|
|
35
35
|
"lodash": "^4.17.20",
|
|
36
|
+
"mobx": "^6.1.8",
|
|
37
|
+
"mobx-react-lite": "^3.4.3",
|
|
36
38
|
"tslib": "^2.0.0"
|
|
37
39
|
},
|
|
38
40
|
"peerDependencies": {
|
|
41
|
+
"@wix/design-system": "^1.271.0",
|
|
39
42
|
"@wix/essentials": ">=0.1.26",
|
|
40
43
|
"@wix/sdk-testkit": ">=0.1.6",
|
|
41
44
|
"fetch-mock": ">=12.5.2",
|
|
@@ -51,6 +54,8 @@
|
|
|
51
54
|
},
|
|
52
55
|
"devDependencies": {
|
|
53
56
|
"@types/lodash": "^4.14.168",
|
|
57
|
+
"@types/react": "^16.7.20",
|
|
58
|
+
"@wix/design-system": "^1.307.0",
|
|
54
59
|
"@wix/eslint-config-yoshi": "^6.74.0",
|
|
55
60
|
"@wix/essentials": "^0.1.26",
|
|
56
61
|
"@wix/jest-yoshi-preset-base": "^6.74.0",
|
|
@@ -134,5 +139,5 @@
|
|
|
134
139
|
"wallaby": {
|
|
135
140
|
"autoDetect": true
|
|
136
141
|
},
|
|
137
|
-
"falconPackageHash": "
|
|
142
|
+
"falconPackageHash": "6cf399c2e3ab72c30d8c9f116513b8fa1a477037a52d6fc2752dc98c"
|
|
138
143
|
}
|