Browse Source

Add Comment component

pull/2031/head
Artur Arseniev 7 years ago
parent
commit
c75ac416f3
  1. 5
      src/dom_components/index.js
  2. 24
      src/dom_components/model/ComponentComment.js
  3. 1
      src/dom_components/model/ComponentTextNode.js
  4. 7
      src/dom_components/view/ComponentCommentView.js

5
src/dom_components/index.js

@ -107,6 +107,11 @@ module.exports = () => {
model: require('./model/ComponentSvg'),
view: require('./view/ComponentSvgView')
},
{
id: 'comment',
model: require('./model/ComponentComment'),
view: require('./view/ComponentCommentView')
},
{
id: 'textnode',
model: require('./model/ComponentTextNode'),

24
src/dom_components/model/ComponentComment.js

@ -0,0 +1,24 @@
const Component = require('./ComponentTextNode');
module.exports = Component.extend(
{
defaults: {
...Component.prototype.defaults
},
toHTML() {
return `<!--${this.get('content')}-->`;
}
},
{
isComponent(el) {
if (el.nodeType == 8) {
return {
tagName: 'NULL',
type: 'comment',
content: el.textContent
};
}
}
}
);

1
src/dom_components/model/ComponentTextNode.js

@ -5,6 +5,7 @@ module.exports = Component.extend(
defaults: {
...Component.prototype.defaults,
droppable: false,
layerable: false,
editable: true
},

7
src/dom_components/view/ComponentCommentView.js

@ -0,0 +1,7 @@
const ComponentView = require('./ComponentTextNodeView');
module.exports = ComponentView.extend({
_createElement() {
return document.createComment(this.model.get('content'));
}
});
Loading…
Cancel
Save