diff -r dc04aa440c11 -r 904effa4b6d7 client/js/renderer/viewrepr.js --- a/client/js/renderer/viewrepr.js Tue Sep 15 17:09:42 2015 +0200 +++ b/client/js/renderer/viewrepr.js Wed Sep 16 17:36:46 2015 +0200 @@ -46,12 +46,7 @@ "x": _this.offset.x, "y": _this.offset.y }; - //TODO: make the if else the same function - if (_this.model && _this.renkan.project.get("views").indexOf(_this.model) > 0){ - _this.model.set( { zoom_level:_this.scale, offset:offset, hidden_nodes: _this.hiddenNodes.concat() } ); - }else{ - _this.model = _this.renkan.project.addView( { zoom_level:_this.scale, offset:offset, hidden_nodes: _this.hiddenNodes.concat() } ); - } + _this.model = _this.renkan.project.addView( { zoom_level:_this.scale, offset:offset, hidden_nodes: _this.hiddenNodes.concat() } ); _this.params = { "zoom_level": _this.model.get("zoom_level"), "offset": _this.model.get("offset"), @@ -61,12 +56,19 @@ }); this.$.find(".Rk-ZoomSetSaved").click( function() { + _this.model = _this.renkan.project.get("views").at(_this.renkan.project.get("views").length -1); + _this.params = { + "zoom_level": _this.model.get("zoom_level"), + "offset": _this.model.get("offset"), + "hidden_nodes": _this.model.get("hidden_nodes") + }; _this.setScale(_this.params.zoom_level, new paper.Point(_this.params.offset)); _this.showNodes(false); if (_this.options.hide_nodes){ _this.hiddenNodes = (_this.params.hidden_nodes || []).concat(); _this.hideNodes(); } + _this.updateUrl(); }); this.$.find(".Rk-ShowHiddenNodes").mouseenter( function() { @@ -89,7 +91,7 @@ init: function(){ var _this = this; _this.setScale(_this.params.zoom_level, new paper.Point(_this.params.offset)); - _this.showNodes(false); + if (_this.options.hide_nodes){ _this.hiddenNodes = (_this.params.hidden_nodes || []).concat(); _this.hideNodes(); @@ -202,6 +204,9 @@ if (this.renkan.project.get("views").indexOf(this.model) > -1){ result.idView = this.renkan.project.get("views").indexOf(this.model); + if (result.idView === this.renkan.project.get("views").length - 1){ + result.idView = -1; + } } else { if (result.idView){ delete result.idView; @@ -210,6 +215,10 @@ this.renkan.router.navigate("?" + decodeURIComponent($.param(result)), {trigger: false, replace: true}); } }, + destroy: function(_event) { + this._super("destroy"); + this.showNodes(false); + } }).value(); return ViewRepr;