diff -r 5d15acf5ee2b -r b94a34c139c1 client/js/renderer/scene.js --- a/client/js/renderer/scene.js Mon Sep 14 17:57:13 2015 +0200 +++ b/client/js/renderer/scene.js Mon Sep 14 18:02:00 2015 +0200 @@ -487,12 +487,13 @@ _(Scene.prototype).extend({ fixSize: function() { -// if(typeothis.view) { -// this.view.setScale(view.get("zoom_level"), new paper.Point(view.get("offset"))); -// } -// else{ -// this.view.autoScale(); -// } + if(typeof this.view === 'undefined') { + this.view = this.addRepresentation("View", this.renkan.project.get("views").last()); + this.view.setScale(view.get("zoom_level"), new paper.Point(view.get("offset"))); + } + else{ + this.view.autoScale(); + } }, drawSector: function(_repr, _inR, _outR, _startAngle, _endAngle, _padding, _imgname, _caption) { var _options = this.renkan.options, @@ -1201,37 +1202,35 @@ }, parameters: function(_params){ if ($.isEmptyObject(_params)){ - this.view = this.addRepresentation("View", this.renkan.project.get("views").last()); + this.view = this.addRepresentation("View", this.renkan.project.get("views").first()); + this.view.autoScale(); return; } - if (typeof _params.view !== 'undefined'){ + if (typeof _params.idView !== 'undefined' && typeof this.renkan.project.get("views").at(_params.idView) !== 'undefined'){ + this.view = this.addRepresentation("View", this.renkan.project.get("views").at(_params.idView)); + } + if (typeof _params.view !== 'undefined' && _params.view.split(",").length >= 3){ var viewParams = _params.view.split(","); - if (viewParams.length >= 3){ - var params = { - "project": this.renkan.project, - "offset": { - "x": parseFloat(viewParams[0]), - "y": parseFloat(viewParams[1]) - }, - "zoom_level": parseFloat(viewParams[2]) - }; - for (var i = 3; i < viewParams.length; i++){ - params.hidden_nodes.push(viewParams[i]); - } - //var view = new Rkns.Models.View(params); - - if (this.view){ - this.view.showNodes(false); - this.removeRepresentation(this.view); - } - + var params = { + "project": this.renkan.project, + "offset": { + "x": parseFloat(viewParams[0]), + "y": parseFloat(viewParams[1]) + }, + "zoom_level": parseFloat(viewParams[2]) + }; + if (this.view){ + this.view.setScale(params.zoom_level, new paper.Point(params.offset)); + } else{ this.view = this.addRepresentation("View", null); this.view.params = params; - this.view.init(); - } else { - this.view = this.addRepresentation("View", this.renkan.project.get("views").last()); + this.view.init(); } } + if(!this.view){ + this.view = this.addRepresentation("View", this.renkan.project.get("views").first()); + this.view.autoScale(); + } //other parameters must go after because most of them depends on a view that must be initialize before if (typeof _params.idNode !== 'undefined'){ this.unhighlightAll();