X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/86ecf0f60182c63eecb45c7cc836fe5a050d8d8a..428f22c06a5a72b9f036429f84eec9e1deea1c57:/modules/documentCanvas/canvas/documentElement.js diff --git a/modules/documentCanvas/canvas/documentElement.js b/modules/documentCanvas/canvas/documentElement.js index d1973b8..aca727a 100644 --- a/modules/documentCanvas/canvas/documentElement.js +++ b/modules/documentCanvas/canvas/documentElement.js @@ -69,26 +69,51 @@ var DocumentTextElement = function(htmlElement) { DocumentNodeElement.prototype = new DocumentElement(); DocumentTextElement.prototype = new DocumentElement(); +var manipulate = function(e, params, action) { + var dom; + if(params instanceof DocumentElement) { + dom = params.dom() + } else { + dom = DocumentNodeElement.createDOM(params); + } + e.$element[action](dom); + return documentElementFromHTMLElement(dom); +}; + $.extend(DocumentNodeElement.prototype, { append: function(params) { - var to_append = DocumentNodeElement.createDOM(params.tag, params.klass); - this.$element.append(to_append); - return documentElementFromHTMLElement(to_append); + manipulate(this, params, 'append'); + }, + before: function(params) { + manipulate(this, params, 'before'); + }, after: function(params) { - var to_append = DocumentNodeElement.createDOM(params.tag, params.klass); - this.$element.after(to_append); - return documentElementFromHTMLElement(to_append); + manipulate(this, params, 'after'); } }); -DocumentNodeElement.createDOM = function(tag, klass) { - var dom = $('<' + tag + '>'); - if(klass) - dom.attr('class', klass); +DocumentNodeElement.createDOM = function(params) { + var dom; + if(params.text) { + dom = $(document.createTextNode(params.text)); + } else { + dom = $('<' + params.tag + '>'); + if(params.klass) + dom.attr('class', params.klass); + } return dom; }; +$.extend(DocumentTextElement.prototype, { + setText: function(text) { + this.$element[0].data = text; + }, + getText: function() { + return this.$element.text(); + } +}); + var documentElementFromHTMLElement = function(htmlElement) { if(htmlElement.nodeType === Node.ELEMENT_NODE) return new DocumentNodeElement(htmlElement);