editor: metadata editor - handle node removal
authorAleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Tue, 21 Jan 2014 10:34:03 +0000 (11:34 +0100)
committerAleksander Łukasz <aleksander.lukasz@nowoczesnapolska.org.pl>
Tue, 21 Jan 2014 11:36:13 +0000 (12:36 +0100)
src/editor/modules/metadataEditor/metadataEditor.js

index 64a5c44..ec64455 100644 (file)
@@ -53,7 +53,13 @@ return function(sandbox) {
                 }
             }, 500));
         },
                 }
             }, 500));
         },
+        clear: function() {
+        },
         setMetadata: function(node) {
         setMetadata: function(node) {
+            if(!node) {
+                this.metaTable.html('');
+                return;
+            }
             var view = this,
                 metadata = node.getMetadata();
             this.metaTable.find('tr').remove();
             var view = this,
                 metadata = node.getMetadata();
             this.metaTable.find('tr').remove();
@@ -118,6 +124,9 @@ return function(sandbox) {
                 if(event.type === 'metadataRemoved' && event.meta.node.sameNode(currentNode)) {
                     view.removeMetadataRow(event.meta.row);
                 }
                 if(event.type === 'metadataRemoved' && event.meta.node.sameNode(currentNode)) {
                     view.removeMetadataRow(event.meta.row);
                 }
+                if(event.type === 'nodeDetached' && event.meta.node.sameNode(currentNode)) {
+                    view.setMetadata(null);
+                }
             });
         },
         setNodeElement: function(node) {
             });
         },
         setNodeElement: function(node) {