Browse Source

Update getModelToStyle

pull/663/head
Artur Arseniev 8 years ago
parent
commit
90bc6ecfdf
  1. 4
      src/css_composer/index.js
  2. 30
      src/style_manager/index.js
  3. 5
      src/undo_manager/index.js

4
src/css_composer/index.js

@ -100,8 +100,6 @@ module.exports = () => {
postLoad(em) {
const ev = 'add remove';
const rules = this.getAll();
const um = em.get('UndoManager');
um && um.add(rules);
em.stopListening(rules, ev, this.handleChange);
em.listenTo(rules, ev, this.handleChange);
rules.each(rule => this.handleChange(rule));
@ -114,6 +112,8 @@ module.exports = () => {
*/
handleChange(model) {
const ev = 'change:style';
const um = em.get('UndoManager');
um && um.add(model);
const handleUpdates = em.handleUpdates.bind(em);
em.stopListening(model, ev, handleUpdates);
em.listenTo(model, ev, handleUpdates);

30
src/style_manager/index.js

@ -261,19 +261,29 @@ module.exports = () => {
* @return {Model}
*/
getModelToStyle(model) {
const classes = model.get('classes');
const em = c.em;
const classes = model.get('classes');
const id = model.getId();
if (em && classes && classes.length) {
const conf = em.get('Config');
const state = !conf.devicePreviewMode ? model.get('state') : '';
const deviceW = em.getCurrentMedia();
if (em) {
const config = em.getConfig();
const cssC = em.get('CssComposer');
const valid = classes.getStyleable();
const CssRule = cssC.get(valid, state, deviceW);
if(CssRule && valid.length) {
return CssRule;
const avoidInline = config.avoidInlineStyle;
const state = !config.devicePreviewMode ? model.get('state') : '';
const opts = { state };
// If true the model will be always a rule
if (avoidInline) {
const rule = cssC.getIdRule(id, opts);
return rule ? rule : cssC.setIdRule(id, {}, opts);
} else if (classes && classes.length) {
const deviceW = em.getCurrentMedia();
const valid = classes.getStyleable();
const CssRule = cssC.get(valid, state, deviceW);
if (CssRule && valid.length) {
return CssRule;
}
}
}

5
src/undo_manager/index.js

@ -232,6 +232,11 @@ module.exports = () => {
clear() {
um.clear();
return this;
},
getInstance() {
return um;
}
};
};

Loading…
Cancel
Save