Browse Source

Add component:content for reset in Text components

pull/4141/head
Artur Arseniev 4 years ago
parent
commit
84c597aa54
  1. 20
      src/dom_components/model/ComponentText.js
  2. 1
      src/dom_components/model/Components.js
  3. 2
      src/dom_components/view/ComponentTextView.js

20
src/dom_components/model/ComponentText.js

@ -1,24 +1,6 @@
import Component from './Component';
export default class ComponentText extends Component {
/**
* This method is called once the content of the text is reset.
*/
onContentReset(components, opts) {
const cmps = components || this.components();
cmps.forEach(model => {
const textable = !!model.get('textable');
model.set(
{
...(!textable && { toolbar: '' }),
},
opts
);
this.onContentReset(model.components(), opts);
});
}
}
export default class ComponentText extends Component {}
ComponentText.prototype.defaults = {
...Component.getDefaults(),

1
src/dom_components/model/Components.js

@ -69,6 +69,7 @@ export default Backbone.Collection.extend({
const cmps = isArray(parsed) ? parsed : [parsed];
const newCmps = getComponentsFromDefs(cmps, allByID);
this.reset(newCmps, opts);
this.em?.trigger('component:content', this.parent, opts, input);
},
removeChildren(removed, coll, opts = {}) {

2
src/dom_components/view/ComponentTextView.js

@ -141,8 +141,6 @@ export default ComponentView.extend({
model.set('content', content, contentOpt);
} else {
comps.resetFromString(content, opts);
model.onContentReset(comps, opts);
comps.trigger('resetNavigator');
}
},

Loading…
Cancel
Save