From: Aleksander Ɓukasz Date: Wed, 4 Dec 2013 12:02:04 +0000 (+0100) Subject: Refactoring extension registration - abstract away object method registration X-Git-Url: https://git.mdrn.pl/fnpeditor.git/commitdiff_plain/e51a49d096e5bd228e67d0b6083aaac6a735a10e?ds=sidebyside Refactoring extension registration - abstract away object method registration --- diff --git a/src/wlxml/wlxml.js b/src/wlxml/wlxml.js index d67fe31..8d99cde 100644 --- a/src/wlxml/wlxml.js +++ b/src/wlxml/wlxml.js @@ -172,6 +172,9 @@ var WLXMLDocument = function(xml, options) { this.ElementNodeFactory.prototype.registerTransformation = function(Transformation) { return this.transformations.register(Transformation); }; + this.ElementNodeFactory.prototype.registerMethod = function(methodName, method) { + this[methodName] = method; + }; this.TextNodeFactory = function() { smartxml.TextNode.apply(this, arguments); @@ -181,6 +184,9 @@ var WLXMLDocument = function(xml, options) { this.TextNodeFactory.prototype.registerTransformation = function(Transformation) { return this.transformations.register(Transformation); }; + this.TextNodeFactory.prototype.registerMethod = function(methodName, method) { + this[methodName] = method; + }; this.classMethods = {}; this.classTransformations = {}; @@ -279,6 +285,10 @@ $.extend(WLXMLDocument.prototype, { this.trigger('contentSet'); }, + registerMethod: function(methodName, method) { + this[methodName] = method; + }, + registerTransformation: function(Transformation) { return this.transformations.register(Transformation); }, @@ -328,7 +338,7 @@ $.extend(WLXMLDocument.prototype, { ); } targets.forEach(function(target) { - target[methodName] = method; + target.registerMethod(methodName, method) }); }); }