mirror of https://github.com/artf/grapesjs.git
5 changed files with 120 additions and 38 deletions
@ -1,15 +1,38 @@ |
|||||
import Component from './Component'; |
import Component from './Component'; |
||||
|
|
||||
export default Component.extend({ |
export default class ComponentText extends Component { |
||||
defaults: { |
/** |
||||
...Component.prototype.defaults, |
* This method is called once the content of the text is reset. |
||||
type: 'text', |
*/ |
||||
droppable: false, |
onContentReset(components, opts) { |
||||
editable: true, |
const cmps = components || this.components(); |
||||
__text: true, |
|
||||
}, |
|
||||
|
|
||||
toHTML() { |
cmps.forEach(model => { |
||||
return Component.prototype.toHTML.apply(this, arguments); |
const textable = !!model.get('textable'); |
||||
}, |
const isBaseType = ['text', 'default', ''].some(type => model.is(type)); |
||||
}); |
const selectable = !isBaseType || textable; |
||||
|
model.set( |
||||
|
{ |
||||
|
_innertext: model.get('_innertext') ? true : !selectable, |
||||
|
// editable: selectable && model.get('editable'),
|
||||
|
// selectable: selectable,
|
||||
|
// hoverable: selectable,
|
||||
|
// draggable: textable,
|
||||
|
// highlightable: 0,
|
||||
|
// copyable: textable,
|
||||
|
...(!textable && { toolbar: '' }), |
||||
|
}, |
||||
|
opts |
||||
|
); |
||||
|
this.onContentReset(model.components(), opts); |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
ComponentText.prototype.defaults = { |
||||
|
...Component.getDefaults(), |
||||
|
type: 'text', |
||||
|
droppable: false, |
||||
|
editable: true, |
||||
|
__text: true, |
||||
|
}; |
||||
|
|||||
Loading…
Reference in new issue