client/js/renderer/noderepr.js
changeset 396 b51c25ef4292
parent 331 0628ed75e8d3
child 403 96781c1a8bbe
--- a/client/js/renderer/noderepr.js	Wed Mar 04 09:39:11 2015 +0100
+++ b/client/js/renderer/noderepr.js	Fri Mar 13 10:56:19 2015 +0100
@@ -24,7 +24,7 @@
                 this.h_ratio = 0;
             }
             this.title = $('<div class="Rk-Label">').appendTo(this.renderer.labels_$);
-            
+
             if (this.options.editor_mode) {
                 var Renderer = requtils.getRenderer();
                 this.normal_buttons = [
@@ -38,7 +38,7 @@
                                                new Renderer.NodeRevertButton(this.renderer, null)
                                                ];
                 this.all_buttons = this.normal_buttons.concat(this.pending_delete_buttons);
-                
+
                 for (var i = 0; i < this.all_buttons.length; i++) {
                     this.all_buttons[i].source_representation = this;
                 }
@@ -204,7 +204,7 @@
                 _clip = null,
                 baseRadius = null,
                 centerPoint = null;
-                
+
                 if (hasClipPath) {
                     _clip = new paper.Path();
                     var instructions = clipPath.match(/[a-z][^a-z]+/gi) || [],
@@ -357,12 +357,17 @@
             }
             this._super("select");
         },
+        hideButtons: function() {
+            this.all_buttons.forEach(function(b) {
+                b.hide();
+            });
+            delete(this.buttonTimeout);
+        },
         unselect: function(_newTarget) {
             if (!_newTarget || _newTarget.source_representation !== this) {
                 this.selected = false;
-                this.all_buttons.forEach(function(b) {
-                    b.hide();
-                });
+                var _this = this;
+                this.buttons_timeout = setTimeout(function() { _this.hideButtons(); }, 200);
                 this.circle.strokeWidth = this.options.node_stroke_width;
                 $('.Rk-Bin-Item').removeClass("selected");
                 if (this.renderer.minimap) {