client/js/renderer/scene.js
changeset 510 a8f02d66bf02
parent 508 dd526b1b283a
child 511 4a48a1a9fd1e
--- a/client/js/renderer/scene.js	Wed Jun 24 17:15:51 2015 +0200
+++ b/client/js/renderer/scene.js	Thu Jun 25 18:09:49 2015 +0200
@@ -337,7 +337,6 @@
                 }, 3000);
             }
             else{
-                _this.view = _this.addRepresentation("View", _this.renkan.project.get("views").last());
                 Backbone.history.start();
                 _thRedraw();
             }
@@ -366,14 +365,6 @@
                 _thRedraw();
             }
         });
-//        this.renkan.project.on("add:views", function(_view) {
-//            if (!_this.view){
-//                _this.view = _this.addRepresentation("View", _view);
-//            }
-//            if (!_this.renkan.project.get("loadingStatus")){
-//                _thRedraw();
-//            }
-//        });
         this.renkan.project.on("change:title", function(_model, _title) {
             var el = _this.$.find(".Rk-PadTitle");
             if (el.is("input")) {
@@ -496,12 +487,12 @@
 
     _(Scene.prototype).extend({
         fixSize: function() {
-            if( this.renkan.options.default_view && this.view) {
-                this.view.setScale(view.get("zoom_level"), new paper.Point(view.get("offset")));
-            }
-            else{
-                this.view.autoScale();
-            }
+//            if(typeothis.view) {
+//                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,
@@ -693,7 +684,7 @@
             var RendererType = requtils.getRenderer()[_type];
             var _repr = new RendererType(this, _model);
             this.representations.push(_repr);
-            return _repr;
+            return _repr;                
         },
         addRepresentations: function(_type, _collection) {
             var _this = this;
@@ -1212,10 +1203,44 @@
 
         },
         parameters: function(_params){
+            if ($.isEmptyObject(_params)){
+                this.view = this.addRepresentation("View", this.renkan.project.get("views").last());
+                return;
+            }
             if (typeof _params.idnode !== 'undefined'){
+                console.log('params idnode');
                 this.unhighlightAll();
                 this.highlightModel(this.renkan.project.get("nodes").get(_params.idnode));                 
             }
+            if (typeof _params.view !== 'undefined'){
+                var viewParams = _params.view.split(",");
+                if (viewParams.length >= 3){
+                    var params = {
+                        "project": this.renkan.project,
+                        "zoom_level": parseFloat(viewParams[0]),
+                        "offset": {
+                            "x": parseFloat(viewParams[1]),
+                            "y": parseFloat(viewParams[2])
+                        },
+                        "hidden_nodes": []
+                    };
+                    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);
+                    }
+                    
+                    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());
+                }
+            }
         },
         foldBins: function() {
             var foldBinsButton = this.$.find(".Rk-Fold-Bins"),