X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/e0aad96df245c7148966887cbcc77417a4b7675b..a49547b7a4bef633bb92bee9cf97fdcfe67c76aa:/src/editor/plugins/core/canvasElements.js diff --git a/src/editor/plugins/core/canvasElements.js b/src/editor/plugins/core/canvasElements.js index b0f51b6..ba72c03 100644 --- a/src/editor/plugins/core/canvasElements.js +++ b/src/editor/plugins/core/canvasElements.js @@ -1,8 +1,13 @@ define(function(require) { 'use strict'; -var $ = require('libs/jquery'); +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) { @@ -53,9 +58,10 @@ var widgets = { }; -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(); @@ -70,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); @@ -100,15 +107,18 @@ var footnote = { } this._container().toggle(toggle); if(!options.silent) { - this.trigger('elementToggled', toggle, this.documentElement); + this.trigger('elementToggled', toggle, this); } } -}; +}); return [ - {tag: 'aside', klass: 'comment', prototype: comment, extending: {tag: 'div'}}, - {tag: 'aside', klass: 'footnote', prototype: footnote, extending: {tag: 'aside'}} + {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} ];