some ideas
authorAleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Mon, 2 Dec 2013 13:22:40 +0000 (14:22 +0100)
committerAleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Sun, 15 Dec 2013 21:32:46 +0000 (22:32 +0100)
src/editor/plugins/core.js
src/smartxml/smartxml.js

index d8b01c8..c4991f8 100644 (file)
@@ -23,7 +23,7 @@ var breakContentTransformation = {
 };
 
 
 };
 
 
-var breakContentAction = function(document, context) {
+var breakContentAction = function(document, context) { //@ editor.getDocument(); editor.getContext('...')
     var textNode = context.cursor.currentNode;
     if(textNode) {
         var result, goto;
     var textNode = context.cursor.currentNode;
     if(textNode) {
         var result, goto;
index aa9a7c5..6cc3e33 100644 (file)
@@ -395,6 +395,17 @@ ElementNode.prototype.transformations.register(transformations.createContextTran
     }
 }));
 
     }
 }));
 
+ElementNode.prototype.transformations.register(transformations.createContextTransformation({
+    name: 'smartxml.setAttr2',
+    impl: function(args) {
+        this.prevAttr = this.getAttr(args.name);
+        this.setAttr(args.name, args.value);
+    },
+    undo: function(args) {
+        this.setAttr(args.name, this.prevAttr);
+    }
+}));
+
 DocumentNode.prototype.transformations.register(transformations.createContextTransformation({
     name: 'smartxml.wrapWith',
     getChangeRoot: function() {
 DocumentNode.prototype.transformations.register(transformations.createContextTransformation({
     name: 'smartxml.wrapWith',
     getChangeRoot: function() {
@@ -542,6 +553,10 @@ TextNode.prototype.transformations.register(transformations.createContextTransfo
     },
     getChangeRoot: function() {
         return this.context.parent().parent();
     },
     getChangeRoot: function() {
         return this.context.parent().parent();
+    },
+    isAllowed: function(args) {
+        var parent = this.parent();
+        return !!(parent && parent.parent());
     }
 }));
 
     }
 }));