X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/0bea7025f60aa5cc2ed89eed72da0d616f3574ef..7263e5132059abc0e93deac2175db475f90e7617:/src/editor/plugins/core/canvasElements.js diff --git a/src/editor/plugins/core/canvasElements.js b/src/editor/plugins/core/canvasElements.js index 37eefb8..ba72c03 100644 --- a/src/editor/plugins/core/canvasElements.js +++ b/src/editor/plugins/core/canvasElements.js @@ -2,6 +2,12 @@ define(function(require) { 'use strict'; +var $ = require('libs/jquery'), + genericElement = require('modules/documentCanvas/canvas/genericElement'), // TODO: This should be accessible via plugin infrastructure + linkElement = require('./links/linkElement'), + imgElement = require('./img/imgElement'), + videoElement = require('./video/videoElement') + ; var widgets = { footnoteHandler: function(clickHandler) { @@ -49,12 +55,13 @@ var widgets = { }); return mydom; } -} +}; -var comment = { +var comment = Object.create(genericElement); +$.extend(comment, { init: function() { - this.super.init.call(this); + genericElement.init.call(this); this.commentAdnotation = widgets.commentAdnotation(this.wlxmlNode); this.addWidget(this.commentAdnotation, 'show'); this.commentAdnotation.DOM.show(); @@ -69,11 +76,12 @@ var comment = { onMetadataRemoved: function(event) { return this.onMetadataChanged(event); } -}; +}); -var footnote = { +var footnote = Object.create(genericElement); +$.extend(footnote, { init: function() { - this.super.init.call(this); + genericElement.init.call(this); var clickHandler = function() { this.toggle(true); }.bind(this); @@ -99,15 +107,18 @@ var footnote = { } this._container().toggle(toggle); if(!options.silent) { - this.trigger('elementToggled', toggle, this.documentElement); + this.trigger('elementToggled', toggle, this); } } -} +}); return [ - {klass: 'comment', element: comment}, - {klass: 'footnote', element: footnote} + {tag: 'aside', klass: 'comment', prototype: null}, + {tag: 'aside', klass: 'footnote', prototype: footnote}, + {tag: 'span', klass: 'link', prototype: linkElement}, + {tag: 'div', klass: 'img', prototype: imgElement}, + {tag: 'div', klass: 'video', prototype: videoElement} ];