Issue #2028Opened May 23, 2019by WebEtSolutions0 reactions

[Style manager] Unit don't change on Composite Type

Question

Hi,

I have an error on your demo :(

1- In the style, on the "Build your templates without coding" text, set TOP to 5px 2- In the same element, set Dimension > Margin > Top to 10px 3- In the "Hover me" button, set TOP to 1% and Margin > Top to 2% 4- Select "Build your templates ..."

The TOP value change top 5px -> OK The Margin > Top value change to 10% -> :(

Globaly, the unit change with the interger is out of a composite.

Answers (2)

WebEtSolutionsMay 23, 20190 reactions

For fix this issue, you must change PropertyView.targetUpdated() and change this line let targetValue = this.getTargetValue({ ignoreDefault: 1 }); by this one let targetValue = this.getTargetValue({ ignoreDefault: 1, ignoreCustomValue: 1 });

Other fix, in PropertySelectView, you need to add setValue. When the value is !important, the input.val is set to 'value !important' and the select is empty

/**
   * Update the element input.
   * Usually the value is a result of `model.getFullValue()`
   * @param {String} value The value from the model
   * */
  setValue: function setValue(value) {
    var model = this.model;
    var val = (0, _underscore.isUndefined)(value) ? model.getDefaultValue() : value;
    var input = this.getInputEl();
    if (typeof val === 'string')
      val = val.replace(' !important', '').trim();
    input && (input.value = val);
  },
artfMay 31, 20190 reactions

Thanks @WebEtSolutions I'm not totally sure about the solution but the bug is confirmed

Related Questions and Answers

Continue research with similar issue discussions.

Paid Plugins That Match This Issue

Curated by issue keywords and label relevance to help you ship faster.

View all plugins

Loading paid plugin recommendations...

Browse Plugin Categories

Jump directly to plugin category pages on the marketplace.