Merge branch 'release/1.0.30' of gitlab.alibaba-inc.com:ali-lowcode/ali-lowcode-engine into release/1.0.30

This commit is contained in:
力皓 2021-01-14 15:51:58 +08:00
commit 6d8179c0b1
2 changed files with 11 additions and 13 deletions

View File

@ -154,20 +154,18 @@ export class SettingField extends SettingPropEntry implements SettingEntry {
setHotValue(data: any, options?: any) {
this.hotValue = data;
const v = this.transducer.toNative(data);
const value = this.transducer.toNative(data);
if (this.isUseVariable()) {
const ov = this.getValue();
const oldValue = this.getValue();
this.setValue({
type: 'JSExpression',
value: ov.value,
mock: v,
value: oldValue.value,
mock: value,
}, false, false, options);
} else {
this.setValue(v, false, false, options);
this.setValue(value, false, false, options);
}
this.notifyValueChange();
// dirty fix list setter
if (Array.isArray(data) && data[0] && data[0].__sid__) {
return;

View File

@ -163,14 +163,13 @@ export class SettingPropEntry implements SettingEntry {
*
*/
setValue(val: any, isHotValue?: boolean, force?: boolean, extraOptions?: any) {
const oldValue = this.getValue();
if (this.type === 'field') {
this.parent.setPropValue(this.name, val);
}
if (!extraOptions) {
extraOptions = {};
}
const { setValue } = this.extraProps;
if (setValue && !extraOptions.disableMutator) {
if (setValue && !extraOptions?.disableMutator) {
try {
setValue(this, val);
} catch (e) {
@ -178,6 +177,7 @@ export class SettingPropEntry implements SettingEntry {
console.warn(e);
}
}
this.notifyValueChange(oldValue, val);
}
/**
@ -276,8 +276,8 @@ export class SettingPropEntry implements SettingEntry {
this.emitter.emit('valuechange');
}
notifyValueChange() {
this.editor.emit('node.prop.change', { node: this.getNode(), prop: this });
notifyValueChange(oldValue: any, newValue:any) {
this.editor.emit('node.prop.change', { node: this.getNode(), prop: this, oldValue, newValue });
}
getDefaultValue() {