@dartech/arsenal-ui 1.3.69 → 1.3.70
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/index.js +45 -19
- package/package.json +1 -1
- package/src/lib/Property/UpsertProperty/PropertyValueField/BooleanValueField.d.ts +1 -0
- package/src/lib/Property/UpsertProperty/PropertyValueField/DateTimeValueField.d.ts +1 -0
- package/src/lib/Property/UpsertProperty/PropertyValueField/DateValueField.d.ts +1 -0
- package/src/lib/Property/UpsertProperty/PropertyValueField/JsonValueField.d.ts +1 -0
- package/src/lib/Property/UpsertProperty/PropertyValueField/TimeValueField.d.ts +1 -0
- package/src/lib/Property/ViewProperty/PropertyItem.d.ts +1 -0
package/index.js
CHANGED
@@ -4043,12 +4043,11 @@ const PropertyFiller = ({
|
|
4043
4043
|
const {
|
4044
4044
|
control,
|
4045
4045
|
clearErrors,
|
4046
|
-
setValue
|
4046
|
+
setValue,
|
4047
|
+
watch
|
4047
4048
|
} = useFormContext();
|
4048
4049
|
const {
|
4049
|
-
field: {
|
4050
|
-
value
|
4051
|
-
},
|
4050
|
+
// field: { value },
|
4052
4051
|
fieldState: {
|
4053
4052
|
error,
|
4054
4053
|
isDirty
|
@@ -4059,11 +4058,13 @@ const PropertyFiller = ({
|
|
4059
4058
|
defaultValue: property.defaultValue,
|
4060
4059
|
rules: {
|
4061
4060
|
validate: val => {
|
4062
|
-
if (required && val === null) return 'Please, fill this
|
4061
|
+
if (required && val === null) return 'Please, fill this field';
|
4063
4062
|
return true;
|
4064
4063
|
}
|
4065
4064
|
}
|
4066
4065
|
});
|
4066
|
+
const value = watch(name);
|
4067
|
+
const prevValueRef = useRef({});
|
4067
4068
|
const {
|
4068
4069
|
propertyType,
|
4069
4070
|
valueLabel,
|
@@ -4082,24 +4083,32 @@ const PropertyFiller = ({
|
|
4082
4083
|
});
|
4083
4084
|
const handleFillOptionChange = useCallback(event => {
|
4084
4085
|
const selectedType = event.target.value;
|
4086
|
+
prevValueRef.current = Object.assign(Object.assign({}, prevValueRef.current), {
|
4087
|
+
[fillOption]: value
|
4088
|
+
});
|
4085
4089
|
setFillOption(selectedType);
|
4090
|
+
const prevValue = prevValueRef.current[selectedType];
|
4086
4091
|
if (selectedType === 'null') {
|
4087
|
-
setValue(name, null
|
4092
|
+
setValue(name, null, {
|
4093
|
+
shouldDirty: true
|
4094
|
+
});
|
4088
4095
|
} else if (selectedType === 'widget') {
|
4089
4096
|
if (propertyType === PropertyType.JSON && value && typeof value !== 'string' && fillOption === 'dem_builder' && 'properties' in value) {
|
4090
4097
|
const definitionValue = Object.assign(Object.assign({}, value), {
|
4091
4098
|
properties: propertiesArrayToObject(value.property || [])
|
4092
4099
|
});
|
4093
4100
|
try {
|
4094
|
-
setValue(name, JSON.stringify(definitionValue, null, '\t'));
|
4101
|
+
setValue(name, prevValue !== null && prevValue !== void 0 ? prevValue : JSON.stringify(definitionValue, null, '\t'));
|
4095
4102
|
} catch (error) {
|
4096
4103
|
console.log('Stringify failed', error);
|
4097
4104
|
}
|
4098
4105
|
} else {
|
4099
|
-
setValue(name, property.defaultValue || defaultProperyValue);
|
4106
|
+
setValue(name, prevValue !== null && prevValue !== void 0 ? prevValue : property.defaultValue || defaultProperyValue);
|
4100
4107
|
}
|
4101
4108
|
} else if (selectedType === 'expression' || selectedType === 'string') {
|
4102
|
-
setValue(name, ''
|
4109
|
+
setValue(name, prevValue !== null && prevValue !== void 0 ? prevValue : '', {
|
4110
|
+
shouldDirty: true
|
4111
|
+
});
|
4103
4112
|
} else if (selectedType === 'dem_builder') {
|
4104
4113
|
const defaultArrayValue = {
|
4105
4114
|
code: '',
|
@@ -4111,12 +4120,18 @@ const PropertyFiller = ({
|
|
4111
4120
|
try {
|
4112
4121
|
const definitionValue = JSON.parse(value);
|
4113
4122
|
definitionValue['properties'] = propertiesObjectToArray(definitionValue['properties'] || {});
|
4114
|
-
setValue(name, definitionValue
|
4123
|
+
setValue(name, prevValue !== null && prevValue !== void 0 ? prevValue : definitionValue, {
|
4124
|
+
shouldDirty: true
|
4125
|
+
});
|
4115
4126
|
} catch (error) {
|
4116
|
-
setValue(name, defaultArrayValue
|
4127
|
+
setValue(name, prevValue !== null && prevValue !== void 0 ? prevValue : defaultArrayValue, {
|
4128
|
+
shouldDirty: true
|
4129
|
+
});
|
4117
4130
|
}
|
4118
4131
|
} else {
|
4119
|
-
setValue(name, defaultArrayValue
|
4132
|
+
setValue(name, prevValue !== null && prevValue !== void 0 ? prevValue : defaultArrayValue, {
|
4133
|
+
shouldDirty: true
|
4134
|
+
});
|
4120
4135
|
}
|
4121
4136
|
}
|
4122
4137
|
clearErrors();
|
@@ -4127,10 +4142,11 @@ const PropertyFiller = ({
|
|
4127
4142
|
}
|
4128
4143
|
}, [isDirty, property, name, setValue]);
|
4129
4144
|
useEffect(() => {
|
4145
|
+
var _a;
|
4130
4146
|
if (value === undefined || property.isRequired && value === null && !property.defaultValue) {
|
4131
|
-
setValue(name, defaultProperyValue);
|
4147
|
+
setValue(name, (_a = prevValueRef.current[fillOption]) !== null && _a !== void 0 ? _a : defaultProperyValue);
|
4132
4148
|
}
|
4133
|
-
}, [value, setValue, defaultProperyValue, property, name]);
|
4149
|
+
}, [value, setValue, defaultProperyValue, property, name, fillOption]);
|
4134
4150
|
return jsxs(Grid, Object.assign({
|
4135
4151
|
xs: 12
|
4136
4152
|
}, {
|
@@ -4354,13 +4370,13 @@ const MultiplePropertyFiller = ({
|
|
4354
4370
|
const {
|
4355
4371
|
control,
|
4356
4372
|
clearErrors,
|
4357
|
-
setValue
|
4373
|
+
setValue,
|
4374
|
+
watch
|
4358
4375
|
} = useFormContext();
|
4359
4376
|
const {
|
4360
4377
|
field: {
|
4361
4378
|
ref,
|
4362
|
-
onChange
|
4363
|
-
value
|
4379
|
+
onChange
|
4364
4380
|
},
|
4365
4381
|
fieldState: {
|
4366
4382
|
error,
|
@@ -4377,6 +4393,8 @@ const MultiplePropertyFiller = ({
|
|
4377
4393
|
}
|
4378
4394
|
}
|
4379
4395
|
});
|
4396
|
+
const value = watch(name);
|
4397
|
+
const prevValueRef = useRef({});
|
4380
4398
|
const {
|
4381
4399
|
propertyType,
|
4382
4400
|
valueLabel,
|
@@ -4396,13 +4414,21 @@ const MultiplePropertyFiller = ({
|
|
4396
4414
|
});
|
4397
4415
|
const handleFillOptionChange = event => {
|
4398
4416
|
setSelectTouched(true);
|
4417
|
+
prevValueRef.current = Object.assign(Object.assign({}, prevValueRef.current), {
|
4418
|
+
[fillOption]: value
|
4419
|
+
});
|
4399
4420
|
const selectedType = event.target.value;
|
4421
|
+
const prevValue = prevValueRef.current[selectedType];
|
4400
4422
|
if (selectedType === 'null') {
|
4401
4423
|
setValue(name, null);
|
4402
4424
|
} else if (selectedType === 'expression' || selectedType === 'json_valid' || selectedType === 'json_notvalid') {
|
4403
|
-
|
4425
|
+
setValue(name, prevValue !== null && prevValue !== void 0 ? prevValue : '', {
|
4426
|
+
shouldDirty: true
|
4427
|
+
});
|
4404
4428
|
} else if (selectedType === 'widget') {
|
4405
|
-
|
4429
|
+
setValue(name, prevValue !== null && prevValue !== void 0 ? prevValue : [], {
|
4430
|
+
shouldDirty: true
|
4431
|
+
});
|
4406
4432
|
}
|
4407
4433
|
setFillOption(selectedType);
|
4408
4434
|
clearErrors(name);
|
package/package.json
CHANGED