--- 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();
}