diff -r 53260578072d -r a8f02d66bf02 client/js/renderer/viewrepr.js --- a/client/js/renderer/viewrepr.js Wed Jun 24 17:15:51 2015 +0200 +++ b/client/js/renderer/viewrepr.js Thu Jun 25 18:09:49 2015 +0200 @@ -18,6 +18,17 @@ this.scale = 1; this.initialScale = 1; this.offset = paper.view.center; + this.params = {}; + + if (this.model){ + this.params = { + "zoom_level": _this.model.get("zoom_level"), + "offset": _this.model.get("offset"), + "hidden_nodes": _this.model.get("hidden_nodes") + }; + } + + this.init(); var bindClick = function(selector, fname) { _this.$.find(selector).click(function(evt) { @@ -31,20 +42,29 @@ bindClick(".Rk-ZoomFit", "autoScale"); this.$.find(".Rk-ZoomSave").click( function() { - var offset = {}; - offset.x = _this.offset.x; - offset.y = _this.offset.y; - _this.model.set( { zoom_level:_this.scale, offset:offset, hidden_nodes: _this.hiddenNodes.concat() } ); + var offset = { + "x": _this.offset.x, + "y": _this.offset.y + }; + //TODO: make the if else the same function + if (_this.model){ + _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.params = { + "zoom_level": _this.model.get("zoom_level"), + "offset": _this.model.get("offset"), + "hidden_nodes": _this.model.get("hidden_nodes") + }; }); this.$.find(".Rk-ZoomSetSaved").click( function() { - if(_this.model){ - _this.setScale(_this.model.get("zoom_level"), new paper.Point(_this.model.get("offset"))); - _this.showNodes(false); - if (_this.options.hide_nodes){ - _this.hiddenNodes = (_this.model.get("hidden_nodes") || []).concat(); - _this.hideNodes(); - } + _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(); } }); @@ -63,7 +83,16 @@ } }, redraw: function(options) { - //console.log("redraw view repr"); + //console.log("view : ", this.model.toJSON()); + }, + 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(); + } }, addHiddenNode: function(_model){ this.hideNode(_model); @@ -99,10 +128,8 @@ setScale: function(_newScale, _offset) { if ((_newScale/this.initialScale) > Utils._MIN_SCALE && (_newScale/this.initialScale) < Utils._MAX_SCALE) { this.scale = _newScale; - this.renderer.scale = _newScale; if (_offset) { this.offset = _offset; - this.renderer.offset = _offset; } this.renderer.redraw(); }