-// var registerTransformationsFromObject = function(object) {
-// _.values(object).filter(function(val) {
-// return typeof val === 'function' && val._isTransformation;
-// })
-// .forEach(function(val) {
-// registerTransformation(val._transformationName, val, object);
-// });
-// };
-// registerTransformationsFromObject(ElementNode.prototype);
-// registerTransformationsFromObject(TextNode.prototype);
-// registerTransformationsFromObject(Document.prototype);
-
-// var Transformation = function() {
-// };
-// $.extend(Transformation.prototype, {
-
-// });
-
-
-// var createDumbTransformation = function(impl, contextObject) {
-// var DumbTransformation = function(args) {
-// this.args = this.args;
-// };
-// DumbTransformation.prototype = Object.create(Transformation.prototype);
-// $.extend(DumbTransformation.prototype, {
-// run: function() {
-// impl.apply(contextObject, this.args);
-// }
-// });
-
-// return DumbTransformation;
-
-
-// };
-
-var transformations = {};
-// var registerTransformation = function(name, impl, contextObject) {
-// if(typeof impl === 'function') {
-// transformations[name] = createDumbTransformation(impl, contextObject);
-// }
-// };
-
-// registerTransformation('detachx', DocumentNode.prototype.detach, )
-
-
-// 1. detach via totalny fallback
-var DetachNodeTransformation = function(args) {
- this.node = args.node;
- this.document = this.node.document;
-};
-$.extend(DetachNodeTransformation.prototype, {
- run: function() {
- this.oldRoot = this.node.document.root.clone();
- this.path = this.node.getPath();
- this.node.detach(); // @TS
-
- },
- undo: function() {
- this.document.root.replaceWith(this.oldRoot); // this.getDocument?
- this.node = this.document.getNodeByPath(this.path);
- }
-});
-transformations['detach'] = DetachNodeTransformation;
-
-//2. detach via wskazanie changeroot
-
-var Detach2NodeTransformation = function(args) {
- this.nodePath = args.node.getPath();
- this.document = args.node.document;
-};
-$.extend(Detach2NodeTransformation.prototype, {
- run: function() {
- var node = this.document.getNodeByPath(this.nodePath),
- root = node.parent() ? node.parent() : this.document.root;
-
- this.rootPath = root.getPath();
- this.oldRoot = (root).clone();
- node.detach();
- },
- undo: function() {
- this.document.getNodeByPath(this.rootPath).replaceWith(this.oldRoot);
- }
-});
-//transformations['detach2'] = Detach2NodeTransformation;
-
-//2a. generyczna transformacja
-
-var createTransformation = function(desc) {
-
- var NodeTransformation = function(args) {
- this.nodePath = args.node.getPath();
- this.document = args.node.document;
- this.args = args;
- };
- $.extend(NodeTransformation.prototype, {
- run: function() {
- var node = this.document.getNodeByPath(this.nodePath),
- root;
-
- if(desc.getRoot) {
- root = desc.getRoot(node);
- } else {
- root = this.document.root;
- }
-
- this.rootPath = root.getPath();
- this.oldRoot = (root).clone();
- desc.impl.call(node, this.args);
- },
- undo: function() {
- this.document.getNodeByPath(this.rootPath).replaceWith(this.oldRoot);
- }
- });
-
- return NodeTransformation;
-}
-
-transformations['detach2'] = createTransformation({
- // impl: function() {
- // //this.setAttr('class', 'cite'); //