Browse Source

Add `styleManager:update:target` event to track target change in Style Manager

pull/1518/head
Artur Arseniev 7 years ago
parent
commit
1364e8db4e
  1. 1
      src/editor/index.js
  2. 9
      src/style_manager/view/PropertyView.js

1
src/editor/index.js

@ -47,6 +47,7 @@
* * `keymap:emit` - Some keymap emitted, in arguments you get keymapId, shortcutUsed, Event
* * `keymap:emit:{keymapId}` - `keymapId` emitted, in arguments you get keymapId, shortcutUsed, Event
* ### Style Manager
* * `styleManager:update:target` - The target (Component or CSSRule) is changed
* * `styleManager:change` - Triggered on style property change from new selected component, the view of the property is passed as an argument to the callback
* * `styleManager:change:{propertyName}` - As above but for a specific style property
* ### Storages

9
src/style_manager/view/PropertyView.js

@ -1,5 +1,5 @@
import Backbone from 'backbone';
import { bindAll, isArray, isUndefined } from 'underscore';
import { bindAll, isArray, isUndefined, debounce } from 'underscore';
import { camelCase } from 'utils/mixins';
const clearProp = 'data-clear-style';
@ -182,10 +182,17 @@ module.exports = Backbone.View.extend({
parent && parent.set('status', value);
},
emitUpdateTarget: debounce(function() {
const em = this.config.em;
em && em.trigger('styleManager:update:target', this.getTarget());
}),
/**
* Fired when the target is changed
* */
targetUpdated() {
this.emitUpdateTarget();
if (!this.checkVisibility()) {
return;
}

Loading…
Cancel
Save