@truedat/df 8.5.3 → 8.5.4
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/package.json +4 -4
- package/src/components/FieldViewerValue.js +4 -4
- package/src/components/widgets/FieldByWidget.js +39 -42
- package/src/messages/en.js +0 -1
- package/src/messages/es.js +0 -1
- package/src/templates/components/templateForm/__tests__/__snapshots__/ActiveGroupForm.spec.js.snap +0 -17
- package/src/templates/components/templateForm/__tests__/__snapshots__/FieldDefinition.spec.js.snap +0 -17
- package/src/templates/components/templateForm/__tests__/__snapshots__/FieldForm.spec.js.snap +0 -51
- package/src/templates/components/templateForm/__tests__/__snapshots__/TemplateForm.spec.js.snap +0 -34
- package/src/templates/components/templateForm/valueDefinitions.js +7 -5
- package/src/templates/components/templateForm/widgetDefinitions.js +1 -9
- package/src/templates/utils/applyDefaults.js +21 -19
- package/src/components/widgets/EnrichedTextField.js +0 -13
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@truedat/df",
|
|
3
|
-
"version": "8.5.
|
|
3
|
+
"version": "8.5.4",
|
|
4
4
|
"description": "Truedat Web Data Quality Module",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"module": "src/index.js",
|
|
@@ -51,14 +51,14 @@
|
|
|
51
51
|
"@testing-library/jest-dom": "^6.6.3",
|
|
52
52
|
"@testing-library/react": "^16.3.0",
|
|
53
53
|
"@testing-library/user-event": "^14.6.1",
|
|
54
|
-
"@truedat/test": "8.5.
|
|
54
|
+
"@truedat/test": "8.5.4",
|
|
55
55
|
"identity-obj-proxy": "^3.0.0",
|
|
56
56
|
"jest": "^29.7.0",
|
|
57
57
|
"redux-saga-test-plan": "^4.0.6"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
60
|
"@apollo/client": "^3.13.8",
|
|
61
|
-
"@truedat/core": "8.5.
|
|
61
|
+
"@truedat/core": "8.5.4",
|
|
62
62
|
"axios": "^1.15.0",
|
|
63
63
|
"graphql": "^16.11.0",
|
|
64
64
|
"is-hotkey": "^0.2.0",
|
|
@@ -87,5 +87,5 @@
|
|
|
87
87
|
"semantic-ui-react": "^3.0.0-beta.2",
|
|
88
88
|
"swr": "^2.3.3"
|
|
89
89
|
},
|
|
90
|
-
"gitHead": "
|
|
90
|
+
"gitHead": "75272567eb3ec948a5cdeb8346ef9cacac58267f"
|
|
91
91
|
}
|
|
@@ -2,7 +2,7 @@ import _ from "lodash";
|
|
|
2
2
|
import PropTypes from "prop-types";
|
|
3
3
|
import { useIntl } from "react-intl";
|
|
4
4
|
import { Icon, Label, Table } from "semantic-ui-react";
|
|
5
|
-
import { MarkdownReader, SafeLink
|
|
5
|
+
import { MarkdownReader, SafeLink } from "@truedat/core/components";
|
|
6
6
|
import ImagePreview from "./widgets/ImagePreview";
|
|
7
7
|
import SystemPreview from "./widgets/SystemPreview";
|
|
8
8
|
import "../styles/fieldGroupDetail.less";
|
|
@@ -28,7 +28,9 @@ const DynamicTableField = (field) => {
|
|
|
28
28
|
{_.isNil(value) || _.isEmpty(value) ? null : _.isArray(value) ? (
|
|
29
29
|
value
|
|
30
30
|
.filter((v) => !_.isNil(v) && !_.isEmpty(v))
|
|
31
|
-
.map((v, i) =>
|
|
31
|
+
.map((v, i) => (
|
|
32
|
+
<FieldViewerValue {...field} value={v} key={i} multiple />
|
|
33
|
+
))
|
|
32
34
|
) : (
|
|
33
35
|
<FieldViewerValue {...field} value={value} />
|
|
34
36
|
)}
|
|
@@ -54,8 +56,6 @@ export const FieldViewerValue = ({
|
|
|
54
56
|
) : (
|
|
55
57
|
<Icon name="minus" as="i" color="grey" />
|
|
56
58
|
);
|
|
57
|
-
case "enriched_text":
|
|
58
|
-
return <RichTextEditor readOnly value={value} />;
|
|
59
59
|
case "markdown":
|
|
60
60
|
return <MarkdownReader content={value} />;
|
|
61
61
|
case "table":
|
|
@@ -3,7 +3,6 @@ import DateTimeField from "./DateTimeField";
|
|
|
3
3
|
import CheckboxField from "./CheckboxField";
|
|
4
4
|
import ColorPickerField from "./ColorPickerField";
|
|
5
5
|
import DropdownField from "./DropdownField";
|
|
6
|
-
import EnrichedTextField from "./EnrichedTextField";
|
|
7
6
|
import IdentifierField from "./IdentifierField";
|
|
8
7
|
import ImageField from "./ImageField";
|
|
9
8
|
import MarkdownField from "./MarkdownField";
|
|
@@ -18,49 +17,47 @@ import NumberField from "./NumberField";
|
|
|
18
17
|
import DateField from "./DateField";
|
|
19
18
|
|
|
20
19
|
const FieldByWidget = ({ scope, widget, onChange, field }) => {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
return <StringField field={field} onChange={onChange} />;
|
|
56
|
-
}
|
|
20
|
+
switch (widget) {
|
|
21
|
+
case "identifier":
|
|
22
|
+
return <IdentifierField field={field} />;
|
|
23
|
+
case "dropdown":
|
|
24
|
+
return <DropdownField field={field} scope={scope} onChange={onChange} />;
|
|
25
|
+
case "radio":
|
|
26
|
+
return <RadioField field={field} onChange={onChange} />;
|
|
27
|
+
case "checkbox":
|
|
28
|
+
return <CheckboxField field={field} onChange={onChange} />;
|
|
29
|
+
case "textarea":
|
|
30
|
+
return <TextField field={field} onChange={onChange} />;
|
|
31
|
+
case "color_picker":
|
|
32
|
+
return <ColorPickerField field={field} onChange={onChange} />;
|
|
33
|
+
case "pair_list":
|
|
34
|
+
return <PairListField field={field} onChange={onChange} />;
|
|
35
|
+
case "markdown":
|
|
36
|
+
return <MarkdownField field={field} onChange={onChange} />;
|
|
37
|
+
case "table":
|
|
38
|
+
return <TableField field={field} onChange={onChange} />;
|
|
39
|
+
case "dynamic_table":
|
|
40
|
+
return <DynamicTableField field={field} onChange={onChange} />;
|
|
41
|
+
case "password":
|
|
42
|
+
return <PasswordField field={field} onChange={onChange} />;
|
|
43
|
+
case "image":
|
|
44
|
+
return <ImageField field={field} onChange={onChange} />;
|
|
45
|
+
case "number":
|
|
46
|
+
return <NumberField field={field} onChange={onChange} />;
|
|
47
|
+
case "date":
|
|
48
|
+
return <DateField field={field} onChange={onChange} />;
|
|
49
|
+
case "datetime":
|
|
50
|
+
return <DateTimeField field={field} onChange={onChange} />;
|
|
51
|
+
default:
|
|
52
|
+
return <StringField field={field} onChange={onChange} />;
|
|
53
|
+
}
|
|
57
54
|
};
|
|
58
55
|
|
|
59
56
|
FieldByWidget.propTypes = {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
57
|
+
onChange: PropTypes.func.isRequired,
|
|
58
|
+
field: PropTypes.object.isRequired,
|
|
59
|
+
scope: PropTypes.string,
|
|
60
|
+
widget: PropTypes.string,
|
|
64
61
|
};
|
|
65
62
|
|
|
66
|
-
export default FieldByWidget;
|
|
63
|
+
export default FieldByWidget;
|
package/src/messages/en.js
CHANGED
|
@@ -79,7 +79,6 @@ export default {
|
|
|
79
79
|
"template.field.type.depth":
|
|
80
80
|
"Selectable minimun level (to allow everything, set value: 0)",
|
|
81
81
|
"template.field.type.domain": "Domain",
|
|
82
|
-
"template.field.type.enriched_text": "Enriched text",
|
|
83
82
|
"template.field.type.float": "Float",
|
|
84
83
|
"template.field.type.hierarchy": "Hierarchy",
|
|
85
84
|
"template.field.type.image": "Image",
|
package/src/messages/es.js
CHANGED
|
@@ -79,7 +79,6 @@ export default {
|
|
|
79
79
|
"template.field.type.depth":
|
|
80
80
|
"Nivel mínimo seleccionable (para permitir todo, establecer valor: 0)",
|
|
81
81
|
"template.field.type.domain": "Dominio",
|
|
82
|
-
"template.field.type.enriched_text": "Texto enriquecido",
|
|
83
82
|
"template.field.type.float": "Decimal",
|
|
84
83
|
"template.field.type.hierarchy": "Jerarquía",
|
|
85
84
|
"template.field.type.image": "Imagen",
|
package/src/templates/components/templateForm/__tests__/__snapshots__/ActiveGroupForm.spec.js.snap
CHANGED
|
@@ -417,23 +417,6 @@ exports[`<ActiveGroupForm /> matches the latest snapshot 1`] = `
|
|
|
417
417
|
Colorpicker
|
|
418
418
|
</span>
|
|
419
419
|
</div>
|
|
420
|
-
<div
|
|
421
|
-
aria-checked="false"
|
|
422
|
-
aria-selected="false"
|
|
423
|
-
class="item"
|
|
424
|
-
role="option"
|
|
425
|
-
style="pointer-events: all;"
|
|
426
|
-
>
|
|
427
|
-
<i
|
|
428
|
-
aria-hidden="true"
|
|
429
|
-
class="text cursor icon"
|
|
430
|
-
/>
|
|
431
|
-
<span
|
|
432
|
-
class="text"
|
|
433
|
-
>
|
|
434
|
-
Enrichedtext
|
|
435
|
-
</span>
|
|
436
|
-
</div>
|
|
437
420
|
<div
|
|
438
421
|
aria-checked="false"
|
|
439
422
|
aria-selected="false"
|
package/src/templates/components/templateForm/__tests__/__snapshots__/FieldDefinition.spec.js.snap
CHANGED
|
@@ -170,23 +170,6 @@ exports[`FieldDefinition renders dropdowns with initial values 1`] = `
|
|
|
170
170
|
Colorpicker
|
|
171
171
|
</span>
|
|
172
172
|
</div>
|
|
173
|
-
<div
|
|
174
|
-
aria-checked="false"
|
|
175
|
-
aria-selected="false"
|
|
176
|
-
class="item"
|
|
177
|
-
role="option"
|
|
178
|
-
style="pointer-events: all;"
|
|
179
|
-
>
|
|
180
|
-
<i
|
|
181
|
-
aria-hidden="true"
|
|
182
|
-
class="text cursor icon"
|
|
183
|
-
/>
|
|
184
|
-
<span
|
|
185
|
-
class="text"
|
|
186
|
-
>
|
|
187
|
-
Enrichedtext
|
|
188
|
-
</span>
|
|
189
|
-
</div>
|
|
190
173
|
<div
|
|
191
174
|
aria-checked="false"
|
|
192
175
|
aria-selected="false"
|
package/src/templates/components/templateForm/__tests__/__snapshots__/FieldForm.spec.js.snap
CHANGED
|
@@ -344,23 +344,6 @@ exports[`<FieldForm /> matches the latest snapshot 1`] = `
|
|
|
344
344
|
Colorpicker
|
|
345
345
|
</span>
|
|
346
346
|
</div>
|
|
347
|
-
<div
|
|
348
|
-
aria-checked="false"
|
|
349
|
-
aria-selected="false"
|
|
350
|
-
class="item"
|
|
351
|
-
role="option"
|
|
352
|
-
style="pointer-events: all;"
|
|
353
|
-
>
|
|
354
|
-
<i
|
|
355
|
-
aria-hidden="true"
|
|
356
|
-
class="text cursor icon"
|
|
357
|
-
/>
|
|
358
|
-
<span
|
|
359
|
-
class="text"
|
|
360
|
-
>
|
|
361
|
-
Enrichedtext
|
|
362
|
-
</span>
|
|
363
|
-
</div>
|
|
364
347
|
<div
|
|
365
348
|
aria-checked="false"
|
|
366
349
|
aria-selected="false"
|
|
@@ -1065,23 +1048,6 @@ exports[`<FieldForm /> renders MandatoryConditional 1`] = `
|
|
|
1065
1048
|
Colorpicker
|
|
1066
1049
|
</span>
|
|
1067
1050
|
</div>
|
|
1068
|
-
<div
|
|
1069
|
-
aria-checked="false"
|
|
1070
|
-
aria-selected="false"
|
|
1071
|
-
class="item"
|
|
1072
|
-
role="option"
|
|
1073
|
-
style="pointer-events: all;"
|
|
1074
|
-
>
|
|
1075
|
-
<i
|
|
1076
|
-
aria-hidden="true"
|
|
1077
|
-
class="text cursor icon"
|
|
1078
|
-
/>
|
|
1079
|
-
<span
|
|
1080
|
-
class="text"
|
|
1081
|
-
>
|
|
1082
|
-
Enrichedtext
|
|
1083
|
-
</span>
|
|
1084
|
-
</div>
|
|
1085
1051
|
<div
|
|
1086
1052
|
aria-checked="false"
|
|
1087
1053
|
aria-selected="false"
|
|
@@ -1940,23 +1906,6 @@ exports[`<FieldForm /> renders ValuesField and manages onChange 1`] = `
|
|
|
1940
1906
|
Colorpicker
|
|
1941
1907
|
</span>
|
|
1942
1908
|
</div>
|
|
1943
|
-
<div
|
|
1944
|
-
aria-checked="false"
|
|
1945
|
-
aria-selected="false"
|
|
1946
|
-
class="item"
|
|
1947
|
-
role="option"
|
|
1948
|
-
style="pointer-events: all;"
|
|
1949
|
-
>
|
|
1950
|
-
<i
|
|
1951
|
-
aria-hidden="true"
|
|
1952
|
-
class="text cursor icon"
|
|
1953
|
-
/>
|
|
1954
|
-
<span
|
|
1955
|
-
class="text"
|
|
1956
|
-
>
|
|
1957
|
-
Enrichedtext
|
|
1958
|
-
</span>
|
|
1959
|
-
</div>
|
|
1960
1909
|
<div
|
|
1961
1910
|
aria-checked="false"
|
|
1962
1911
|
aria-selected="false"
|
package/src/templates/components/templateForm/__tests__/__snapshots__/TemplateForm.spec.js.snap
CHANGED
|
@@ -688,23 +688,6 @@ exports[`<TemplateForm /> matches snapshot when scope has no relations 1`] = `
|
|
|
688
688
|
Colorpicker
|
|
689
689
|
</span>
|
|
690
690
|
</div>
|
|
691
|
-
<div
|
|
692
|
-
aria-checked="false"
|
|
693
|
-
aria-selected="false"
|
|
694
|
-
class="item"
|
|
695
|
-
role="option"
|
|
696
|
-
style="pointer-events: all;"
|
|
697
|
-
>
|
|
698
|
-
<i
|
|
699
|
-
aria-hidden="true"
|
|
700
|
-
class="text cursor icon"
|
|
701
|
-
/>
|
|
702
|
-
<span
|
|
703
|
-
class="text"
|
|
704
|
-
>
|
|
705
|
-
Enrichedtext
|
|
706
|
-
</span>
|
|
707
|
-
</div>
|
|
708
691
|
<div
|
|
709
692
|
aria-checked="false"
|
|
710
693
|
aria-selected="false"
|
|
@@ -1808,23 +1791,6 @@ exports[`<TemplateForm /> matches snapshot when scope has relations 1`] = `
|
|
|
1808
1791
|
Colorpicker
|
|
1809
1792
|
</span>
|
|
1810
1793
|
</div>
|
|
1811
|
-
<div
|
|
1812
|
-
aria-checked="false"
|
|
1813
|
-
aria-selected="false"
|
|
1814
|
-
class="item"
|
|
1815
|
-
role="option"
|
|
1816
|
-
style="pointer-events: all;"
|
|
1817
|
-
>
|
|
1818
|
-
<i
|
|
1819
|
-
aria-hidden="true"
|
|
1820
|
-
class="text cursor icon"
|
|
1821
|
-
/>
|
|
1822
|
-
<span
|
|
1823
|
-
class="text"
|
|
1824
|
-
>
|
|
1825
|
-
Enrichedtext
|
|
1826
|
-
</span>
|
|
1827
|
-
</div>
|
|
1828
1794
|
<div
|
|
1829
1795
|
aria-checked="false"
|
|
1830
1796
|
aria-selected="false"
|
|
@@ -27,7 +27,6 @@ const eligibleValues = {
|
|
|
27
27
|
checkbox: selectableValues,
|
|
28
28
|
pair_list: { url: [null] }, // Links
|
|
29
29
|
color_picker: { string: [null] },
|
|
30
|
-
enriched_text: { enriched_text: [null] },
|
|
31
30
|
markdown: { markdown: [null] },
|
|
32
31
|
table: { table: ["table_columns"] },
|
|
33
32
|
dynamic_table: { dynamic_table: ["table_columns"] },
|
|
@@ -40,7 +39,8 @@ export const getValues = (widget, fieldType) => {
|
|
|
40
39
|
return _.filter(({ value }) => available.includes(value))(valueTypes);
|
|
41
40
|
};
|
|
42
41
|
|
|
43
|
-
export const listFormat = (type) =>
|
|
42
|
+
export const listFormat = (type) =>
|
|
43
|
+
["fixed", "fixed_tuple", "table_columns"].includes(type);
|
|
44
44
|
|
|
45
45
|
export const defaultValue = (type, fieldType) =>
|
|
46
46
|
(!type && _.negate(_.includes(fieldType))(["url", "system", "domain"])) ||
|
|
@@ -50,13 +50,14 @@ export const valuesSelector = (type) =>
|
|
|
50
50
|
type &&
|
|
51
51
|
(listFormat(type) ||
|
|
52
52
|
["domain", "switch", "role_users", "role_groups", "hierarchy"].includes(
|
|
53
|
-
type
|
|
53
|
+
type,
|
|
54
54
|
));
|
|
55
55
|
|
|
56
56
|
export const valueSegment = (values, type, fieldType) =>
|
|
57
57
|
_.size(values) > 1 || valuesSelector(type) || defaultValue(type, fieldType);
|
|
58
58
|
|
|
59
|
-
export const hasAiSuggestions = (fieldType, keyType) =>
|
|
59
|
+
export const hasAiSuggestions = (fieldType, keyType) =>
|
|
60
|
+
_.includes(fieldType)(["string", "markdown"]) &&
|
|
60
61
|
_.includes(keyType)(["fixed", "fixed_tuple", undefined]);
|
|
61
62
|
|
|
62
63
|
const typeFromKey = (keys) =>
|
|
@@ -68,4 +69,5 @@ const typeFromKey = (keys) =>
|
|
|
68
69
|
? "hierarchy"
|
|
69
70
|
: _.first(keys);
|
|
70
71
|
|
|
71
|
-
export const getKeyType = (field) =>
|
|
72
|
+
export const getKeyType = (field) =>
|
|
73
|
+
_.flow([_.getOr({}, "values"), _.keys, typeFromKey])(field);
|
|
@@ -100,14 +100,6 @@ export const WIDGETS = [
|
|
|
100
100
|
cardinalities: ["?", "1"],
|
|
101
101
|
types: ["string"],
|
|
102
102
|
},
|
|
103
|
-
{
|
|
104
|
-
key: "enriched_text",
|
|
105
|
-
value: "enriched_text",
|
|
106
|
-
text: "Enrichedtext",
|
|
107
|
-
icon: "text cursor",
|
|
108
|
-
cardinalities: ["?", "1"],
|
|
109
|
-
types: ["enriched_text"],
|
|
110
|
-
},
|
|
111
103
|
{
|
|
112
104
|
key: "markdown",
|
|
113
105
|
value: "markdown",
|
|
@@ -185,4 +177,4 @@ export const defaultFieldDefinition = {
|
|
|
185
177
|
origin: "default",
|
|
186
178
|
},
|
|
187
179
|
values: null,
|
|
188
|
-
};
|
|
180
|
+
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import _ from "lodash/fp";
|
|
2
|
-
import { toEnrichedTextFormat } from "@truedat/core/services/format";
|
|
3
2
|
|
|
4
3
|
const meetsDependency = (defaults, content, on, to_be) => {
|
|
5
4
|
const field_value = getDefaultValue(defaults, content, on);
|
|
@@ -33,13 +32,13 @@ const getDefaultSwitchValue = (defaults, content, onSwitch, value) =>
|
|
|
33
32
|
(_.has(onSwitch)(defaults) || _.has(onSwitch)(content)) &&
|
|
34
33
|
_.flow(
|
|
35
34
|
(d) => getDefaultValue(d, content, onSwitch),
|
|
36
|
-
(v) => _.getOr(null)(v)(value)
|
|
35
|
+
(v) => _.getOr(null)(v)(value),
|
|
37
36
|
)(defaults);
|
|
38
37
|
|
|
39
38
|
const getFieldType = (field, templateContent) =>
|
|
40
39
|
_.flow(
|
|
41
40
|
_.find(({ name }) => field === name),
|
|
42
|
-
_.get("type")
|
|
41
|
+
_.get("type"),
|
|
43
42
|
)(templateContent);
|
|
44
43
|
|
|
45
44
|
export const applyDefaults = (templateContent) => (content, domainId) =>
|
|
@@ -49,19 +48,14 @@ export const applyDefaults = (templateContent) => (content, domainId) =>
|
|
|
49
48
|
_.reduce(
|
|
50
49
|
(
|
|
51
50
|
acc,
|
|
52
|
-
{ name, default: value, depends: { on, to_be: toBe } = {}, values }
|
|
51
|
+
{ name, default: value, depends: { on, to_be: toBe } = {}, values },
|
|
53
52
|
) => {
|
|
54
53
|
const onSwitch = values?.switch?.on;
|
|
55
54
|
const onSwitchValues = values?.switch?.values;
|
|
56
55
|
const onDomain = values?.domain;
|
|
57
56
|
|
|
58
57
|
if (standardDefault(on, toBe, onSwitch, onDomain)) {
|
|
59
|
-
|
|
60
|
-
getFieldType(name, templateContent) === "enriched_text"
|
|
61
|
-
? _.set("value", toEnrichedTextFormat(value.value))(value)
|
|
62
|
-
: value;
|
|
63
|
-
|
|
64
|
-
return _.assoc(name, fieldValue)(acc);
|
|
58
|
+
return _.assoc(name, value)(acc);
|
|
65
59
|
}
|
|
66
60
|
if (meetsDependency(acc, content, on, toBe)) {
|
|
67
61
|
if (meetsSwitchCondition(acc, content, onSwitch, onSwitchValues)) {
|
|
@@ -69,7 +63,7 @@ export const applyDefaults = (templateContent) => (content, domainId) =>
|
|
|
69
63
|
acc,
|
|
70
64
|
content,
|
|
71
65
|
onSwitch,
|
|
72
|
-
value.value
|
|
66
|
+
value.value,
|
|
73
67
|
);
|
|
74
68
|
return _.assoc(name, {
|
|
75
69
|
...value,
|
|
@@ -77,8 +71,12 @@ export const applyDefaults = (templateContent) => (content, domainId) =>
|
|
|
77
71
|
})(acc);
|
|
78
72
|
} else if (meetsDomain(onDomain, domainId)) {
|
|
79
73
|
const domainIdsArray = _.isArray(domainId) ? domainId : [domainId];
|
|
80
|
-
const foundDomainId = domainIdsArray?.find(
|
|
81
|
-
|
|
74
|
+
const foundDomainId = domainIdsArray?.find(
|
|
75
|
+
(id) => id != null && _.prop(id)(value.value),
|
|
76
|
+
);
|
|
77
|
+
const defaultValue = foundDomainId
|
|
78
|
+
? _.prop(foundDomainId, value.value)
|
|
79
|
+
: null;
|
|
82
80
|
return defaultValue
|
|
83
81
|
? _.assoc(name, { ...value, value: defaultValue })(acc)
|
|
84
82
|
: acc;
|
|
@@ -92,7 +90,7 @@ export const applyDefaults = (templateContent) => (content, domainId) =>
|
|
|
92
90
|
acc,
|
|
93
91
|
content,
|
|
94
92
|
onSwitch,
|
|
95
|
-
value.value
|
|
93
|
+
value.value,
|
|
96
94
|
);
|
|
97
95
|
return _.assoc(name, {
|
|
98
96
|
...value,
|
|
@@ -100,22 +98,26 @@ export const applyDefaults = (templateContent) => (content, domainId) =>
|
|
|
100
98
|
})(acc);
|
|
101
99
|
} else if (meetsDomain(onDomain, domainId)) {
|
|
102
100
|
const domainIdsArray = _.isArray(domainId) ? domainId : [domainId];
|
|
103
|
-
const foundDomainId = domainIdsArray?.find(
|
|
104
|
-
|
|
101
|
+
const foundDomainId = domainIdsArray?.find(
|
|
102
|
+
(id) => id != null && _.prop(id)(value.value),
|
|
103
|
+
);
|
|
104
|
+
const defaultValue = foundDomainId
|
|
105
|
+
? _.prop(foundDomainId, value.value)
|
|
106
|
+
: null;
|
|
105
107
|
return defaultValue
|
|
106
108
|
? _.assoc(name, { ...value, value: defaultValue })(acc)
|
|
107
109
|
: acc;
|
|
108
110
|
}
|
|
109
111
|
return acc;
|
|
110
112
|
},
|
|
111
|
-
{}
|
|
113
|
+
{},
|
|
112
114
|
),
|
|
113
|
-
_.merge(content)
|
|
115
|
+
_.merge(content),
|
|
114
116
|
)(templateContent);
|
|
115
117
|
|
|
116
118
|
export const getTemplateDefaults = _.flow(
|
|
117
119
|
_.filter(_.has("default")),
|
|
118
|
-
_.map(_.pick(["name", "default", "depends", "values"]))
|
|
120
|
+
_.map(_.pick(["name", "default", "depends", "values"])),
|
|
119
121
|
);
|
|
120
122
|
|
|
121
123
|
export default applyDefaults;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import PropTypes from "prop-types";
|
|
2
|
-
import { RichTextEditor } from "@truedat/core/components";
|
|
3
|
-
|
|
4
|
-
export const EnrichedTextField = ({ field: { name, value }, onChange }) => (
|
|
5
|
-
<RichTextEditor name={name} value={value} onChange={onChange} />
|
|
6
|
-
);
|
|
7
|
-
|
|
8
|
-
EnrichedTextField.propTypes = {
|
|
9
|
-
field: PropTypes.object,
|
|
10
|
-
onChange: PropTypes.func,
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
export default EnrichedTextField;
|