Browse Source

Fix undo in composite types

up-style-manager
Artur Arseniev 5 years ago
parent
commit
4ba723c3de
  1. 5
      src/style_manager/index.js
  2. 2
      src/style_manager/model/PropertyComposite.js

5
src/style_manager/index.js

@ -585,6 +585,7 @@ export default () => {
const hasVal = propDef(value);
const isStack = prop.getType() === 'stack';
const isComposite = prop.getType() === 'composite';
const opt = { ...opts, __up: true };
let newLayers = isStack ? prop.__getLayersFromStyle(style) : [];
let newProps = isComposite ? prop.__getPropsFromStyle(style) : {};
let newValue = hasVal ? value : null;
@ -615,10 +616,10 @@ export default () => {
}
prop.__setParentTarget(parentTarget);
prop.__getFullValue() !== newValue && prop.upValue(newValue, { ...opts, __up: true });
prop.__getFullValue() !== newValue && prop.upValue(newValue, opt);
isStack && prop.__setLayers(newLayers || []);
if (isComposite) {
prop.__setProperties(newProps || {});
prop.__setProperties(newProps || {}, opt);
prop.getProperties().map(pr => pr.__setParentTarget(parentTarget));
}
},

2
src/style_manager/model/PropertyComposite.js

@ -164,7 +164,7 @@ export default Property.extend({
__setProperties(values = {}, opts = {}) {
this.getProperties().forEach(prop => {
const value = values[prop.getId()];
!isUndefined(value) && prop.upValue(value, { ...opts, __up: true });
!isUndefined(value) && prop.__getFullValue() !== value && prop.upValue(value, opts);
});
},

Loading…
Cancel
Save