@dartech/arsenal-ui 1.4.20 → 1.4.21

Sign up to get free protection for your applications and to get access to all the features.
package/index.js CHANGED
@@ -1066,9 +1066,10 @@ const ControlAceEditor = /*#__PURE__*/forwardRef((_a, ref) => {
1066
1066
  fontSize = 16,
1067
1067
  validate = true,
1068
1068
  parseValue,
1069
- requiredErrorText = ''
1069
+ requiredErrorText = '',
1070
+ useCleanValue
1070
1071
  } = _a,
1071
- otherProps = __rest(_a, ["control", "name", "mode", "label", "width", "height", "readOnly", "required", "validateJson", "hideErrorMessage", "fontSize", "validate", "parseValue", "requiredErrorText"]);
1072
+ otherProps = __rest(_a, ["control", "name", "mode", "label", "width", "height", "readOnly", "required", "validateJson", "hideErrorMessage", "fontSize", "validate", "parseValue", "requiredErrorText", "useCleanValue"]);
1072
1073
  const _b = useController({
1073
1074
  control,
1074
1075
  name,
@@ -1106,6 +1107,16 @@ const ControlAceEditor = /*#__PURE__*/forwardRef((_a, ref) => {
1106
1107
  javascript: [langs.javascript()],
1107
1108
  python: [langs.python()]
1108
1109
  }), []);
1110
+ const safeValue = useMemo(() => {
1111
+ if (mode === 'json' && typeof value !== 'string') {
1112
+ if (value === null) return '';
1113
+ return useCleanValue ? JSON.stringify(value, null, 2).replace(/\\"/g, '') : JSON.stringify(value, null, 2);
1114
+ }
1115
+ if (typeof value === 'string') {
1116
+ return useCleanValue ? value.replace(/\\"/g, '') : value;
1117
+ }
1118
+ return value;
1119
+ }, [value, useCleanValue, mode]);
1109
1120
  const handleChange = useCallback(value => {
1110
1121
  if (parseValue) {
1111
1122
  try {
@@ -1157,7 +1168,7 @@ const ControlAceEditor = /*#__PURE__*/forwardRef((_a, ref) => {
1157
1168
  isolation: 'isolate'
1158
1169
  },
1159
1170
  readOnly: readOnly,
1160
- value: mode === 'json' && typeof value !== 'string' ? value === null ? '' : JSON.stringify(value, null, 2) : value,
1171
+ value: safeValue,
1161
1172
  onChange: handleChange,
1162
1173
  extensions: extensions[mode]
1163
1174
  }, otherProps)), error && !hideErrorMessage && jsx(FormHelperText, Object.assign({
@@ -6035,7 +6046,8 @@ const PropertyFiller = ({
6035
6046
  control: control,
6036
6047
  label: valueLabel,
6037
6048
  parseValue: true,
6038
- hideErrorMessage: true
6049
+ hideErrorMessage: true,
6050
+ useCleanValue: true
6039
6051
  }) : jsx(ControlInput, {
6040
6052
  control: control,
6041
6053
  name: name,
@@ -6294,7 +6306,8 @@ const MultiplePropertyFiller = ({
6294
6306
  control: control,
6295
6307
  label: valueLabel,
6296
6308
  parseValue: true,
6297
- hideErrorMessage: true
6309
+ hideErrorMessage: true,
6310
+ useCleanValue: true
6298
6311
  }) : jsx(ControlInput, {
6299
6312
  required: true,
6300
6313
  hideErrorMessage: true,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dartech/arsenal-ui",
3
- "version": "1.4.20",
3
+ "version": "1.4.21",
4
4
  "author": "DAR",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -17,6 +17,7 @@ export interface ControlAceEditorProps {
17
17
  parseValue?: boolean;
18
18
  requiredErrorText?: string;
19
19
  [key: string]: unknown;
20
+ useCleanValue?: boolean;
20
21
  }
21
22
  export declare const ControlAceEditor: import("react").ForwardRefExoticComponent<Omit<ControlAceEditorProps, "ref"> & import("react").RefAttributes<ReactCodeMirrorRef>>;
22
23
  export default ControlAceEditor;