X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/88a280279a6df31138dd0ffa397ef7fe953b051d..e002a72cd05229f4747aec88ca535c683e1da288:/modules/documentCanvas/canvas/documentElement.js diff --git a/modules/documentCanvas/canvas/documentElement.js b/modules/documentCanvas/canvas/documentElement.js index 9fa290f..6fea275 100644 --- a/modules/documentCanvas/canvas/documentElement.js +++ b/modules/documentCanvas/canvas/documentElement.js @@ -69,21 +69,27 @@ 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); - this.$element.append(to_append); - return documentElementFromHTMLElement(to_append); + manipulate(this, params, 'append'); }, before: function(params) { - var to_append = DocumentNodeElement.createDOM(params); - this.$element.before(to_append); - return documentElementFromHTMLElement(to_append); + manipulate(this, params, 'before'); + }, after: function(params) { - var to_append = DocumentNodeElement.createDOM(params); - this.$element.after(to_append); - return documentElementFromHTMLElement(to_append); + manipulate(this, params, 'after'); } }); @@ -105,6 +111,20 @@ $.extend(DocumentTextElement.prototype, { }, getText: function() { return this.$element.text(); + }, + after: function(params) { + if(params.text || params instanceof DocumentTextElement) + return false; + var dom; + if(params instanceof DocumentNodeElement) { + dom = params.dom(); + } else { + dom = DocumentNodeElement.createDOM(params); + } + this.$element.wrap('
'); + this.$element.parent().after(dom[0]); + this.$element.unwrap(); + return documentElementFromHTMLElement(dom[0]); } });