add a hidebutton to the nodes buttons
authorrougeronj
Wed, 20 May 2015 10:36:37 +0200
changeset 449 aae670254c49
parent 448 41a5cb13c0b1
child 450 88e8673aaeeb
add a hidebutton to the nodes buttons remove the "hidden" attribute from the node model. It is the view which controls the hidden nodes with a array of Hidden Nodes
client/img/hide.png
client/js/main-renderer.js
client/js/models.js
client/js/renderer/nodehidebutton.js
client/js/renderer/nodelinkbutton.js
client/js/renderer/noderemovebutton.js
Binary file client/img/hide.png has changed
--- a/client/js/main-renderer.js	Wed May 20 10:32:26 2015 +0200
+++ b/client/js/main-renderer.js	Wed May 20 10:36:37 2015 +0200
@@ -24,6 +24,7 @@
          'renderer/nodebutton',
          'renderer/nodeeditbutton',
          'renderer/noderemovebutton',
+         'renderer/nodehidebutton',
          'renderer/noderevertbutton',
          'renderer/nodelinkbutton',
          'renderer/nodeenlargebutton',
@@ -33,7 +34,7 @@
          'renderer/edgerevertbutton',
          'renderer/miniframe',
          'renderer/scene'
-         ], function(BaseRepresentation, BaseButton, NodeRepr, Edge, TempEdge, BaseEditor, NodeEditor, EdgeEditor, NodeButton, NodeEditButton, NodeRemoveButton, NodeRevertButton, NodeLinkButton, NodeEnlargeButton, NodeShrinkButton, EdgeEditButton, EdgeRemoveButton, EdgeRevertButton, MiniFrame, Scene){
+         ], function(BaseRepresentation, BaseButton, NodeRepr, Edge, TempEdge, BaseEditor, NodeEditor, EdgeEditor, NodeButton, NodeEditButton, NodeRemoveButton, NodeHideButton, NodeRevertButton, NodeLinkButton, NodeEnlargeButton, NodeShrinkButton, EdgeEditButton, EdgeRemoveButton, EdgeRevertButton, MiniFrame, Scene){
 
     'use strict';
 
@@ -55,6 +56,7 @@
     Renderer._NodeButton = NodeButton;
     Renderer.NodeEditButton = NodeEditButton;
     Renderer.NodeRemoveButton = NodeRemoveButton;
+    Renderer.NodeHideButton = NodeHideButton;
     Renderer.NodeRevertButton = NodeRevertButton;
     Renderer.NodeLinkButton = NodeLinkButton;
     Renderer.NodeEnlargeButton = NodeEnlargeButton;
--- a/client/js/models.js	Wed May 20 10:32:26 2015 +0200
+++ b/client/js/models.js	Wed May 20 10:36:37 2015 +0200
@@ -100,9 +100,8 @@
                         .get("_id") : null,
                 size : this.get("size"),
                 clip_path : this.get("clip_path"),
-                shape : this.get("shape"),
-                type : this.get("type"),
-                hidden : this.get("hidden")
+                shape : this.get("shape"),  
+                type : this.get("type")
             };
         }
     });
@@ -183,7 +182,8 @@
                 title : this.get("title"),
                 description : this.get("description"),
                 created_by : this.get("created_by") ? this.get("created_by")
-                        .get("_id") : null
+                        .get("_id") : null,
+                hidden_nodes: this.get("hidden_nodes")
             // Don't need project id
             };
         }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/client/js/renderer/nodehidebutton.js	Wed May 20 10:36:37 2015 +0200
@@ -0,0 +1,35 @@
+
+define(['jquery', 'underscore', 'requtils', 'renderer/nodebutton'], function ($, _, requtils, NodeButton) {
+    'use strict';
+
+    var Utils = requtils.getUtils();
+
+    /* NodeRemoveButton Begin */
+
+    //var NodeRemoveButton = Renderer.NodeRemoveButton = Utils.inherit(Renderer._NodeButton);
+    var NodeHideButton = Utils.inherit(NodeButton);
+
+    _(NodeHideButton.prototype).extend({
+        _init: function() {
+            this.type = "Node-hide-button";
+            this.lastSectorInner = 0;
+            this.startAngle = 60;
+            this.endAngle = 120;
+            this.imageName = "hide";
+            this.text = "Hide";
+        },
+        mouseup: function() {
+            this.renderer.click_target = null;
+            this.renderer.is_dragging = false;
+            this.renderer.removeRepresentationsOfType("editor");
+            if (this.renderer.isEditable()) {
+                this.renderer.addHiddenNode(this.source_representation.model);
+            }
+        }
+    }).value();
+
+    /* NodeRemoveButton End */
+
+    return NodeHideButton;
+
+});
--- a/client/js/renderer/nodelinkbutton.js	Wed May 20 10:32:26 2015 +0200
+++ b/client/js/renderer/nodelinkbutton.js	Wed May 20 10:36:37 2015 +0200
@@ -13,7 +13,7 @@
         _init: function() {
             this.type = "Node-link-button";
             this.lastSectorInner = 0;
-            this.startAngle = 90;
+            this.startAngle = 120;
             this.endAngle = 180;
             this.imageName = "link";
             this.text = "Link to another node";
--- a/client/js/renderer/noderemovebutton.js	Wed May 20 10:32:26 2015 +0200
+++ b/client/js/renderer/noderemovebutton.js	Wed May 20 10:36:37 2015 +0200
@@ -14,7 +14,7 @@
             this.type = "Node-remove-button";
             this.lastSectorInner = 0;
             this.startAngle = 0;
-            this.endAngle = 90;
+            this.endAngle = 60;
             this.imageName = "remove";
             this.text = "Remove";
         },