@truedat/df 4.48.0 → 4.48.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.
Files changed (33) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/package.json +4 -4
  3. package/src/components/DynamicFieldValue.js +52 -44
  4. package/src/components/DynamicForm.js +19 -14
  5. package/src/components/DynamicFormViewer.js +23 -21
  6. package/src/components/EditableDynamicFieldValue.js +21 -22
  7. package/src/components/FieldGroupSegment.js +2 -2
  8. package/src/components/FieldGroupSubSegment/__tests__/FieldGroupSubSegment.spec.js +22 -22
  9. package/src/components/FieldGroupSubSegment/__tests__/__snapshots__/FieldGroupSubSegment.spec.js.snap +4 -4
  10. package/src/components/FieldGroupSubSegment/handleCopyModule.js +18 -18
  11. package/src/components/__tests__/__snapshots__/DynamicForm.spec.js.snap +74 -80
  12. package/src/components/widgets/CheckboxField.js +8 -8
  13. package/src/components/widgets/DynamicField.js +3 -1
  14. package/src/components/widgets/RadioField.js +7 -7
  15. package/src/components/widgets/StandardDropdown.js +32 -22
  16. package/src/components/widgets/__tests__/CheckboxField.spec.js +4 -7
  17. package/src/components/widgets/__tests__/RadioField.spec.js +3 -3
  18. package/src/components/widgets/__tests__/__snapshots__/RadioField.spec.js.snap +5 -1
  19. package/src/components/widgets/__tests__/__snapshots__/StandardDropdown.spec.js.snap +31 -33
  20. package/src/selectors/__tests__/getOptions.spec.js +2 -2
  21. package/src/selectors/getOptions.js +1 -1
  22. package/src/templates/components/Template.js +7 -2
  23. package/src/templates/components/TemplateCard.js +2 -1
  24. package/src/templates/components/__tests__/Template.spec.js +12 -10
  25. package/src/templates/components/__tests__/__snapshots__/Template.spec.js.snap +278 -27
  26. package/src/templates/components/templateForm/ActiveGroupForm.js +8 -7
  27. package/src/templates/components/templateForm/ConditionalFieldForm.js +12 -4
  28. package/src/templates/components/templateForm/GroupsList.js +2 -2
  29. package/src/templates/components/templateForm/__tests__/__snapshots__/ActiveGroupForm.spec.js.snap +1 -1
  30. package/src/templates/utils/__tests__/parseFieldOptions.spec.js +15 -12
  31. package/src/templates/utils/__tests__/parseGroups.spec.js +20 -11
  32. package/src/templates/utils/parseFieldOptions.js +67 -56
  33. package/src/templates/utils/parseGroups.js +24 -24
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ ## [4.48.4] 2022-07-11
4
+
5
+ ### Changed
6
+
7
+ - [TD-4995] Support localization of template fields and fixed values
8
+
9
+ ## [4.48.2] 2022-07-08
10
+
11
+ ### Changed
12
+
13
+ - [TD-4995] Support localization of template fields and fixed values
14
+
3
15
  ## [4.47.3] 2022-06-28
4
16
 
5
17
  ### Added
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@truedat/df",
3
- "version": "4.48.0",
3
+ "version": "4.48.4",
4
4
  "description": "Truedat Web Data Quality Module",
5
5
  "sideEffects": false,
6
6
  "jsnext:main": "src/index.js",
@@ -87,8 +87,8 @@
87
87
  ]
88
88
  },
89
89
  "dependencies": {
90
- "@truedat/auth": "4.48.0",
91
- "@truedat/core": "4.48.0",
90
+ "@truedat/auth": "4.48.4",
91
+ "@truedat/core": "4.48.4",
92
92
  "axios": "^0.19.2",
93
93
  "path-to-regexp": "^1.7.0",
94
94
  "prop-types": "^15.8.1",
@@ -107,5 +107,5 @@
107
107
  "react-dom": ">= 16.8.6 < 17",
108
108
  "semantic-ui-react": ">= 0.88.2 < 2.1"
109
109
  },
110
- "gitHead": "c4587d045fa6c9028082bdfbcfb35e4383f117ed"
110
+ "gitHead": "5e50a034469bf3ad8e02a64eb875ad2b710b6b03"
111
111
  }
@@ -7,51 +7,58 @@ import SystemPreview from "./widgets/SystemPreview";
7
7
  import FieldViewerValue from "./FieldViewerValue";
8
8
  import "../styles/fieldGroupDetail.less";
9
9
 
10
- export const DynamicFieldValue = (field) => {
11
- const { label, value, type, values, widget, isSecret } = field;
12
- return (
13
- <List.Item>
14
- <List.Header className="dynamic-field-header">{label}</List.Header>
15
-
16
- <List.Description>
17
- {_.isNil(value) || (!_.isNumber(value) && _.isEmpty(value)) ? (
18
- isSecret ? (
19
- <Container className="hidden-secret-value">
20
- <FormattedMessage id="template.field.hidden_secret" />
21
- </Container>
22
- ) : (
23
- <Icon name="minus" color="grey" />
24
- )
25
- ) : _.isArray(value) ? (
26
- type == "table" ? (
27
- <FieldViewerValue value={value} type={type} values={values} />
28
- ) : type == "system" ? (
29
- <SystemPreview value={value} />
30
- ) : (
31
- _.map.convert({ cap: false })((v, i) => (
32
- <FieldViewerValue
33
- key={i}
34
- value={v}
35
- type={type}
36
- multiple
37
- values={values}
38
- />
39
- ))(value)
40
- )
41
- ) : widget === "password" ? (
42
- "*****"
10
+ export const DynamicFieldValue = ({
11
+ label,
12
+ value,
13
+ type,
14
+ values,
15
+ widget,
16
+ isSecret,
17
+ }) => (
18
+ <List.Item>
19
+ <List.Header className="dynamic-field-header">
20
+ {label ? (
21
+ <FormattedMessage id={`fields.${label}`} defaultMessage={label} />
22
+ ) : null}
23
+ </List.Header>
24
+ <List.Description>
25
+ {_.isNil(value) || (!_.isNumber(value) && _.isEmpty(value)) ? (
26
+ isSecret ? (
27
+ <Container className="hidden-secret-value">
28
+ <FormattedMessage id="template.field.hidden_secret" />
29
+ </Container>
43
30
  ) : (
44
- <FieldViewerValue
45
- value={value}
46
- type={type}
47
- values={values}
48
- widget={widget}
49
- />
50
- )}
51
- </List.Description>
52
- </List.Item>
53
- );
54
- };
31
+ <Icon name="minus" color="grey" />
32
+ )
33
+ ) : _.isArray(value) ? (
34
+ type == "table" ? (
35
+ <FieldViewerValue value={value} type={type} values={values} />
36
+ ) : type == "system" ? (
37
+ <SystemPreview value={value} />
38
+ ) : (
39
+ _.map.convert({ cap: false })((v, i) => (
40
+ <FieldViewerValue
41
+ key={i}
42
+ value={v}
43
+ type={type}
44
+ multiple
45
+ values={values}
46
+ />
47
+ ))(value)
48
+ )
49
+ ) : widget === "password" ? (
50
+ "*****"
51
+ ) : (
52
+ <FieldViewerValue
53
+ value={value}
54
+ type={type}
55
+ values={values}
56
+ widget={widget}
57
+ />
58
+ )}
59
+ </List.Description>
60
+ </List.Item>
61
+ );
55
62
 
56
63
  DynamicFieldValue.propTypes = {
57
64
  label: PropTypes.string,
@@ -59,6 +66,7 @@ DynamicFieldValue.propTypes = {
59
66
  type: PropTypes.string,
60
67
  values: PropTypes.any,
61
68
  widget: PropTypes.string,
69
+ isSecret: PropTypes.bool,
62
70
  };
63
71
 
64
72
  export default DynamicFieldValue;
@@ -1,6 +1,7 @@
1
1
  import _ from "lodash/fp";
2
2
  import React, { useEffect } from "react";
3
3
  import PropTypes from "prop-types";
4
+ import { useIntl } from "react-intl";
4
5
  import { connect } from "react-redux";
5
6
  import { makeGetApplyTemplate, makeGetTemplate } from "../selectors";
6
7
  import { parseGroups } from "../utils";
@@ -15,6 +16,7 @@ export const DynamicForm = ({
15
16
  fieldsToOmit,
16
17
  selectedDomain,
17
18
  }) => {
19
+ const { formatMessage } = useIntl();
18
20
  const domainId = selectedDomain?.id;
19
21
  useEffect(() => {
20
22
  if (!_.isNil(domainId) && !_.isEmpty(template)) {
@@ -38,26 +40,29 @@ export const DynamicForm = ({
38
40
  onChange(newContent, {});
39
41
  };
40
42
 
41
- const parsedGroups = parseGroups(
43
+ const parsedGroups = parseGroups(formatMessage)(
42
44
  template,
43
45
  content,
44
46
  fieldsToOmit,
45
47
  selectedDomain
46
48
  );
47
49
 
48
- return (
49
- <>
50
- {parsedGroups.map(({ name, fields }, i) => (
51
- <FieldGroupSegment
52
- key={i}
53
- onFieldChange={handleChange}
54
- name={name}
55
- fields={fields}
56
- scope={_.prop("scope")(template)}
57
- />
58
- ))}
59
- </>
60
- );
50
+ return parsedGroups.map(({ name, fields }, i) => (
51
+ <FieldGroupSegment
52
+ key={i}
53
+ onFieldChange={handleChange}
54
+ name={
55
+ name
56
+ ? formatMessage({
57
+ id: `templates.groups.${name}`,
58
+ defaultMessage: name,
59
+ })
60
+ : null
61
+ }
62
+ fields={fields}
63
+ scope={template?.scope}
64
+ />
65
+ ));
61
66
  };
62
67
 
63
68
  DynamicForm.propTypes = {
@@ -1,7 +1,6 @@
1
- import _ from "lodash/fp";
2
1
  import React from "react";
3
2
  import PropTypes from "prop-types";
4
- import { FormattedMessage } from "react-intl";
3
+ import { useIntl } from "react-intl";
5
4
  import { Message } from "semantic-ui-react";
6
5
  import { parseGroups } from "../utils";
7
6
  import FieldGroupDetail from "./FieldGroupDetail";
@@ -12,30 +11,33 @@ export const DynamicFormViewer = ({
12
11
  boxLayout,
13
12
  editFunctions,
14
13
  }) => {
14
+ const { formatMessage } = useIntl();
15
15
  if (!template)
16
16
  return (
17
- <Message negative>
18
- <Message.Header>
19
- <FormattedMessage id="template.not_found.message" />
20
- </Message.Header>
21
- </Message>
17
+ <Message
18
+ negative
19
+ header={formatMessage({ id: "template.not_found.message" })}
20
+ />
22
21
  );
23
22
 
24
- const parsedGroups = parseGroups(template, content);
23
+ const parsedGroups = parseGroups(formatMessage)(template, content);
25
24
 
26
- return (
27
- <>
28
- {parsedGroups.map(({ name, fields }, i) => (
29
- <FieldGroupDetail
30
- key={i}
31
- name={name}
32
- fields={fields}
33
- boxLayout={boxLayout}
34
- editFunctions={editFunctions}
35
- />
36
- ))}
37
- </>
38
- );
25
+ return parsedGroups.map(({ name, fields }, i) => (
26
+ <FieldGroupDetail
27
+ key={i}
28
+ name={
29
+ name
30
+ ? formatMessage({
31
+ id: `templates.groups.${name}`,
32
+ defaultMessage: name,
33
+ })
34
+ : null
35
+ }
36
+ fields={fields}
37
+ boxLayout={boxLayout}
38
+ editFunctions={editFunctions}
39
+ />
40
+ ));
39
41
  };
40
42
 
41
43
  DynamicFormViewer.propTypes = {
@@ -2,18 +2,16 @@ import _ from "lodash/fp";
2
2
  import React, { useState, useEffect } from "react";
3
3
  import PropTypes from "prop-types";
4
4
  import { FormattedMessage } from "react-intl";
5
- import { useIntl } from "react-intl";
6
5
  import { Icon, List, Button, Container } from "semantic-ui-react";
7
6
  import SystemPreview from "./widgets/SystemPreview";
8
7
  import DynamicField from "./widgets/DynamicField";
9
8
  import FieldViewerValue from "./FieldViewerValue";
10
9
  import "../styles/fieldGroupDetail.less";
11
10
 
12
- export const EditableDynamicFieldValue = (field) => {
13
- const { formatMessage } = useIntl();
11
+ export const EditableDynamicFieldValue = (props) => {
14
12
  const [updatedFailed, setUpdateFailed] = useState(false);
15
13
  const { label, name, value, type, values, widget, isSecret, editFunctions } =
16
- field;
14
+ props;
17
15
  const {
18
16
  onChange,
19
17
  onCancel,
@@ -25,17 +23,10 @@ export const EditableDynamicFieldValue = (field) => {
25
23
 
26
24
  useEffect(() => {
27
25
  if (editingField !== name) return;
28
- switch (updateStatus) {
29
- case "success":
30
- setEditingField(null);
31
- break;
32
- case "fail":
33
- setUpdateFailed(true);
34
- break;
35
- case "updating":
36
- setUpdateFailed(false);
37
- }
38
- }, [editingField, name, updateStatus]);
26
+ else if (updateStatus === "success") setEditingField(null);
27
+ else if (updateStatus === "fail") setUpdateFailed(true);
28
+ else if (updateStatus === "updating") setUpdateFailed(false);
29
+ }, [editingField, name, setEditingField, updateStatus]);
39
30
 
40
31
  const handleCancel = () => {
41
32
  setEditingField(null);
@@ -51,17 +42,23 @@ export const EditableDynamicFieldValue = (field) => {
51
42
  className="editable-dynamic-field-header"
52
43
  onClick={() => setEditingField(name)}
53
44
  >
54
- {label}
45
+ {label ? (
46
+ <FormattedMessage id={`fields.${label}`} defaultMessage={label} />
47
+ ) : null}
55
48
  <Icon name={"pencil alternate"} />
56
49
  </List.Header>
57
50
  ) : (
58
- <List.Header className="dynamic-field-header">{label}</List.Header>
51
+ <List.Header className="dynamic-field-header">
52
+ {label ? (
53
+ <FormattedMessage id={`fields.${label}`} defaultMessage={label} />
54
+ ) : null}
55
+ </List.Header>
59
56
  )}
60
57
 
61
58
  <List.Description>
62
59
  {editingField === name ? (
63
60
  <>
64
- <DynamicField onChange={onChange} field={field} />
61
+ <DynamicField onChange={onChange} field={props} />
65
62
  <Container className="editable-dynamic-field-buttons">
66
63
  <Button
67
64
  className={
@@ -73,7 +70,7 @@ export const EditableDynamicFieldValue = (field) => {
73
70
  size="mini"
74
71
  loading={updateStatus === "updating"}
75
72
  >
76
- {formatMessage({ id: "template.field.action.save" })}
73
+ <FormattedMessage id="template.field.action.save" />
77
74
  </Button>
78
75
  <Button
79
76
  onClick={handleCancel}
@@ -82,7 +79,7 @@ export const EditableDynamicFieldValue = (field) => {
82
79
  size="mini"
83
80
  disabled={updateStatus === "updating"}
84
81
  >
85
- {formatMessage({ id: "template.field.action.cancel" })}
82
+ <FormattedMessage id="template.field.action.cancel" />
86
83
  </Button>
87
84
  </Container>
88
85
  </>
@@ -126,12 +123,14 @@ export const EditableDynamicFieldValue = (field) => {
126
123
  };
127
124
 
128
125
  EditableDynamicFieldValue.propTypes = {
126
+ editFunctions: PropTypes.object,
127
+ isSecret: PropTypes.bool,
129
128
  label: PropTypes.string,
130
- value: PropTypes.any,
129
+ name: PropTypes.string,
131
130
  type: PropTypes.string,
131
+ value: PropTypes.any,
132
132
  values: PropTypes.any,
133
133
  widget: PropTypes.string,
134
- editFunctions: PropTypes.object,
135
134
  };
136
135
 
137
136
  export default EditableDynamicFieldValue;
@@ -6,7 +6,7 @@ import FieldGroupSubSegment from "./FieldGroupSubSegment/FieldGroupSubSegment";
6
6
 
7
7
  export const FieldGroupSegment = ({ onFieldChange, name, fields, scope }) => (
8
8
  <Segment>
9
- {name !== "undefined" && <Header as="h4" content={name} />}
9
+ {name && name !== "undefined" ? <Header as="h4" content={name} /> : null}
10
10
  {fields &&
11
11
  fields.map((field, i) =>
12
12
  field.widget === "copy" ? (
@@ -34,7 +34,7 @@ FieldGroupSegment.propTypes = {
34
34
  onFieldChange: PropTypes.func,
35
35
  name: PropTypes.string,
36
36
  fields: PropTypes.array,
37
- scope: PropTypes.string
37
+ scope: PropTypes.string,
38
38
  };
39
39
 
40
40
  export default FieldGroupSegment;
@@ -5,7 +5,7 @@ import { FieldGroupSubSegment } from "../FieldGroupSubSegment";
5
5
  describe("<FieldGroupSubSegment />", () => {
6
6
  const setState = jest.fn();
7
7
  const useStateSpy = jest.spyOn(React, "useState");
8
- useStateSpy.mockImplementation(init => [init, setState]);
8
+ useStateSpy.mockImplementation((init) => [init, setState]);
9
9
 
10
10
  const onFieldChange = jest.fn();
11
11
  const name = "copy";
@@ -16,10 +16,10 @@ describe("<FieldGroupSubSegment />", () => {
16
16
  cardinality: "1",
17
17
  label: "Entidad",
18
18
  name: "entidad",
19
- parsed_values: undefined,
19
+ parsedValues: undefined,
20
20
  type: "string",
21
21
  value: "a",
22
- widget: "string"
22
+ widget: "string",
23
23
  },
24
24
  {
25
25
  cardinality: "1",
@@ -27,7 +27,7 @@ describe("<FieldGroupSubSegment />", () => {
27
27
  description: "des",
28
28
  label: "copy",
29
29
  name: "copy",
30
- parsed_values: undefined,
30
+ parsedValues: undefined,
31
31
  type: "string",
32
32
  value:
33
33
  '{"fileFormat":"DAT","header":true,"compression":"brotli","fields":[{"name":"New3","type":"decimal","size":11,"scale":2,"precision":10},{"name":"New5","type":"datetime","size":10,"format":"%d-%m-%Y %H:%M:%S"},{"name":"New1","type":"string","size":40},{"name":"New0","type":"datetime","size":10,"format":"%d-%m-%Y %H:%M:%S"},{"name":"New4","type":"string","size":40}]}',
@@ -38,11 +38,11 @@ describe("<FieldGroupSubSegment />", () => {
38
38
  { text: "template.widget.copy.fixed.column", value: "DAT" },
39
39
  { text: "template.widget.copy.fixed.column", value: "TXT" },
40
40
  { text: "template.widget.copy.fixed.column", value: "Sin formato" },
41
- { text: "template.widget.copy.without.fixed.column", value: "hola" }
42
- ]
41
+ { text: "template.widget.copy.without.fixed.column", value: "hola" },
42
+ ],
43
43
  },
44
- widget: "copy"
45
- }
44
+ widget: "copy",
45
+ },
46
46
  ];
47
47
  const props = { onFieldChange, name, fields, prevFields };
48
48
 
@@ -66,12 +66,12 @@ describe("<FieldGroupSubSegment />", () => {
66
66
  .onChange(
67
67
  {
68
68
  preventDefault() {},
69
- target: {}
69
+ target: {},
70
70
  },
71
71
  {
72
72
  name: "copy",
73
73
  value:
74
- '{"fileFormat": "DAT", "compression": "brotli", "fields": [{ "name": "New54", "type": "string", "size": 40 },{ "name": "New53", "type": "string", "size": 40 }]}'
74
+ '{"fileFormat": "DAT", "compression": "brotli", "fields": [{ "name": "New54", "type": "string", "size": 40 },{ "name": "New53", "type": "string", "size": 40 }]}',
75
75
  }
76
76
  );
77
77
  expect(wrapper.find("Segment > div Button").props().disabled).toBe(true);
@@ -86,12 +86,12 @@ describe("<FieldGroupSubSegment />", () => {
86
86
  .onChange(
87
87
  {
88
88
  preventDefault() {},
89
- target: {}
89
+ target: {},
90
90
  },
91
91
  {
92
92
  name: "copy",
93
93
  value:
94
- '{"fileFormat": "DAT", "compression": "brotli", "fields": [{ "name": "New54", "type": "string", "size": 40 },{ "name": "New53", "type": "string", "size": 40 }]}'
94
+ '{"fileFormat": "DAT", "compression": "brotli", "fields": [{ "name": "New54", "type": "string", "size": 40 },{ "name": "New53", "type": "string", "size": 40 }]}',
95
95
  }
96
96
  );
97
97
  expect(wrapper.find(".errorMessage").props().id).toBe(
@@ -108,12 +108,12 @@ describe("<FieldGroupSubSegment />", () => {
108
108
  .onChange(
109
109
  {
110
110
  preventDefault() {},
111
- target: {}
111
+ target: {},
112
112
  },
113
113
  {
114
114
  name: "copy",
115
115
  value:
116
- '{"fileFormat": "DAT", "header": false, "compression": "brotli", "fields": [{ "name": "New54", "type": "string"},{ "name": "New53", "type": "string", "size": 40 }]}'
116
+ '{"fileFormat": "DAT", "header": false, "compression": "brotli", "fields": [{ "name": "New54", "type": "string"},{ "name": "New53", "type": "string", "size": 40 }]}',
117
117
  }
118
118
  );
119
119
  expect(wrapper.find(".errorMessage").props().id).toBe(
@@ -130,12 +130,12 @@ describe("<FieldGroupSubSegment />", () => {
130
130
  .onChange(
131
131
  {
132
132
  preventDefault() {},
133
- target: {}
133
+ target: {},
134
134
  },
135
135
  {
136
136
  name: "copy",
137
137
  value:
138
- '{"fileFormat": "DAT", "header": false, "compression": "brotli", "delimiter": "sss","fields": [{ "name": "New54", "type": "string"},{ "name": "New53", "type": "string", "size": 40 }]}'
138
+ '{"fileFormat": "DAT", "header": false, "compression": "brotli", "delimiter": "sss","fields": [{ "name": "New54", "type": "string"},{ "name": "New53", "type": "string", "size": 40 }]}',
139
139
  }
140
140
  );
141
141
  expect(wrapper.find(".errorMessage").props().id).toBe(
@@ -152,12 +152,12 @@ describe("<FieldGroupSubSegment />", () => {
152
152
  .onChange(
153
153
  {
154
154
  preventDefault() {},
155
- target: {}
155
+ target: {},
156
156
  },
157
157
  {
158
158
  name: "copy",
159
159
  value:
160
- '{"fileFormat": "DAT", "header": false, "compression": "brotli","fields": [{ "name": "New54.", "type": "string", "size": 40},{ "name": "New53", "type": "string", "size": 40 }]}'
160
+ '{"fileFormat": "DAT", "header": false, "compression": "brotli","fields": [{ "name": "New54.", "type": "string", "size": 40},{ "name": "New53", "type": "string", "size": 40 }]}',
161
161
  }
162
162
  );
163
163
  expect(wrapper.find(".errorMessage").props().id).toBe(
@@ -174,12 +174,12 @@ describe("<FieldGroupSubSegment />", () => {
174
174
  .onChange(
175
175
  {
176
176
  preventDefault() {},
177
- target: {}
177
+ target: {},
178
178
  },
179
179
  {
180
180
  name: "copy",
181
181
  value:
182
- '{"header": false, "compression": "brotli","fields": [{ "name": "New54", "type": "string", "size": 40},{ "name": "New53", "type": "string", "size": 40 }]}'
182
+ '{"header": false, "compression": "brotli","fields": [{ "name": "New54", "type": "string", "size": 40},{ "name": "New53", "type": "string", "size": 40 }]}',
183
183
  }
184
184
  );
185
185
  expect(wrapper.find(".errorMessage").props().id).toBe(
@@ -196,12 +196,12 @@ describe("<FieldGroupSubSegment />", () => {
196
196
  .onChange(
197
197
  {
198
198
  preventDefault() {},
199
- target: {}
199
+ target: {},
200
200
  },
201
201
  {
202
202
  name: "copy",
203
203
  value:
204
- '{"fileFormat": "DAT","header": false, "compression": "brotli","fields": [{ "name": "New54", "type": "test", "size": 40},{ "name": "New53", "type": "string", "size": 40 }]}'
204
+ '{"fileFormat": "DAT","header": false, "compression": "brotli","fields": [{ "name": "New54", "type": "test", "size": 40},{ "name": "New53", "type": "string", "size": 40 }]}',
205
205
  }
206
206
  );
207
207
  expect(wrapper.find(".errorMessage").props().id).toBe(
@@ -77,7 +77,7 @@ exports[`<FieldGroupSubSegment /> matches the latest snapshot 1`] = `
77
77
  "description": "",
78
78
  "label": "fileFormat",
79
79
  "name": "fileFormat",
80
- "parsed_values": Array [
80
+ "parsedValues": Array [
81
81
  Object {
82
82
  "text": "CSV",
83
83
  "value": "CSV",
@@ -119,7 +119,7 @@ exports[`<FieldGroupSubSegment /> matches the latest snapshot 1`] = `
119
119
  "description": "",
120
120
  "label": "header",
121
121
  "name": "header",
122
- "parsed_values": Array [
122
+ "parsedValues": Array [
123
123
  Object {
124
124
  "text": "true",
125
125
  "value": "true",
@@ -152,7 +152,7 @@ exports[`<FieldGroupSubSegment /> matches the latest snapshot 1`] = `
152
152
  "description": "",
153
153
  "label": "compression",
154
154
  "name": "compression",
155
- "parsed_values": Array [
155
+ "parsedValues": Array [
156
156
  Object {
157
157
  "text": "none",
158
158
  "value": "none",
@@ -186,7 +186,7 @@ exports[`<FieldGroupSubSegment /> matches the latest snapshot 1`] = `
186
186
  "description": "",
187
187
  "label": "fields",
188
188
  "name": "fields",
189
- "parsed_values": Array [],
189
+ "parsedValues": Array [],
190
190
  "type": "string",
191
191
  "value": Array [
192
192
  Object {