Add a router to handle fragment identifier
Set up a listener of the router in the scene to update it
Start Backbone.history (eventlistener of the router) when all the project is loaded
Include router.js to all the test file
--- a/client/js/dataloader.js Tue Jun 02 16:43:45 2015 +0200
+++ b/client/js/dataloader.js Wed Jun 03 17:27:46 2015 +0200
@@ -34,10 +34,10 @@
};
DataLoader.Loader.prototype.load = function(data) {
- console.log(data);
this.project.set(this.convert(data), {
validate: true
});
+ Backbone.history.start();
};
})(window);
--- a/client/js/main.js Tue Jun 02 16:43:45 2015 +0200
+++ b/client/js/main.js Wed Jun 03 17:27:46 2015 +0200
@@ -96,7 +96,7 @@
var _this = this;
Rkns.__renkans.push(this);
-
+
this.options = _.defaults(_opts, Rkns.defaults, {
templates: renkanJST
});
@@ -109,7 +109,9 @@
});
this.read_only = this.options.read_only || !this.options.editor_mode;
-
+
+ this.router = new Rkns.Router();
+
this.project = new Rkns.Models.Project();
this.dataloader = new Rkns.DataLoader.Loader(this.project, this.options);
@@ -297,7 +299,6 @@
this.$.find(".Rk-Bins-Search-Form").submit(function() {
return false;
});
-
};
Renkan.prototype.translate = function(_text) {
--- a/client/js/renderer/scene.js Tue Jun 02 16:43:45 2015 +0200
+++ b/client/js/renderer/scene.js Wed Jun 03 17:27:46 2015 +0200
@@ -400,6 +400,13 @@
el.text(_title);
}
});
+
+ //register router events
+ this.renkan.router.on("idnode", function(_id){
+ _this.unhighlightAll();
+ _this.highlightModel(_this.renkan.project.get("nodes").get(_id));
+
+ });
if (_renkan.options.size_bug_fix) {
var _delay = (
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/client/js/router.js Wed Jun 03 17:27:46 2015 +0200
@@ -0,0 +1,27 @@
+(function(root) {
+ "use strict";
+
+ var Backbone = root.Backbone;
+
+ var Router = root.Rkns.Router = Backbone.Router.extend({
+ routes: {
+ '': 'index',
+ '*params': 'setParams'
+ },
+
+ index: function(){
+ this.params = {};
+ },
+ setParams: function (parameters) {
+ var _this = this;
+ this.params = {};
+
+ parameters.split('&').forEach(function(param){
+ _this.params[param.split('=')[0]] = param.split('=')[1] || null;
+ _this.trigger(param.split('=')[0], param.split('=')[1]);
+ });
+
+ }
+ });
+
+})(window);
\ No newline at end of file
--- a/client/test/publish-test-min.html Tue Jun 02 16:43:45 2015 +0200
+++ b/client/test/publish-test-min.html Wed Jun 03 17:27:46 2015 +0200
@@ -14,6 +14,7 @@
<script src="../lib/paper/paper-full.js"></script>
<script src="../js/main.js"></script>
<script src="../js/dataloader.js"></script>
+ <script src="../js/router.js"></script>
<script src="../js/models.js"></script>
<script src="../js/defaults.js"></script>
<script src="../js/i18n.js"></script>
--- a/client/test/publish-test.html Tue Jun 02 16:43:45 2015 +0200
+++ b/client/test/publish-test.html Wed Jun 03 17:27:46 2015 +0200
@@ -14,6 +14,7 @@
<script src="../lib/paper/paper-full.js"></script>
<script src="../js/main.js"></script>
<script src="../js/dataloader.js"></script>
+ <script src="../js/router.js"></script>
<script src="../js/defaults.js"></script>
<script src="../js/i18n.js"></script>
<script src="../dist/js/templates.js"></script>
--- a/client/test/render-test.html Tue Jun 02 16:43:45 2015 +0200
+++ b/client/test/render-test.html Wed Jun 03 17:27:46 2015 +0200
@@ -14,6 +14,7 @@
<script src="../lib/paper/paper-full.js"></script>
<script src="../js/main.js"></script>
<script src="../js/dataloader.js"></script>
+ <script src="../js/router.js"></script>
<script src="../js/defaults.js"></script>
<script src="../js/i18n.js"></script>
<script src="../dist/js/templates.js"></script>
--- a/client/test/space-editor.html Tue Jun 02 16:43:45 2015 +0200
+++ b/client/test/space-editor.html Wed Jun 03 17:27:46 2015 +0200
@@ -15,6 +15,7 @@
<script src="../lib/paper/paper-full.js"></script>
<script src="../js/main.js"></script>
<script src="../js/dataloader.js"></script>
+ <script src="../js/router.js"></script>
<script src="../js/defaults.js"></script>
<script src="../js/i18n.js"></script>
<script src="../dist/js/templates.js"></script>
--- a/client/test/test-readonly-body-no-zoom.html Tue Jun 02 16:43:45 2015 +0200
+++ b/client/test/test-readonly-body-no-zoom.html Wed Jun 03 17:27:46 2015 +0200
@@ -14,6 +14,7 @@
<script src="../lib/paper/paper-full.js"></script>
<script src="../js/main.js"></script>
<script src="../js/dataloader.js"></script>
+ <script src="../js/router.js"></script>
<script src="../js/models.js"></script>
<script src="../js/defaults.js"></script>
<script src="../js/i18n.js"></script>
--- a/client/test/test-readonly-body-zoom-save.html Tue Jun 02 16:43:45 2015 +0200
+++ b/client/test/test-readonly-body-zoom-save.html Wed Jun 03 17:27:46 2015 +0200
@@ -14,6 +14,7 @@
<script src="../lib/paper/paper-full.js"></script>
<script src="../js/main.js"></script>
<script src="../js/dataloader.js"></script>
+ <script src="../js/router.js"></script>
<script src="../js/models.js"></script>
<script src="../js/defaults.js"></script>
<script src="../js/i18n.js"></script>
--- a/client/test/test-readonly-body.html Tue Jun 02 16:43:45 2015 +0200
+++ b/client/test/test-readonly-body.html Wed Jun 03 17:27:46 2015 +0200
@@ -14,6 +14,7 @@
<script src="../lib/paper/paper-full.js"></script>
<script src="../js/main.js"></script>
<script src="../js/dataloader.js"></script>
+ <script src="../js/router.js"></script>
<script src="../js/models.js"></script>
<script src="../js/defaults.js"></script>
<script src="../js/i18n.js"></script>
--- a/client/test/test-readonly-div-editor-panel.html Tue Jun 02 16:43:45 2015 +0200
+++ b/client/test/test-readonly-div-editor-panel.html Wed Jun 03 17:27:46 2015 +0200
@@ -14,6 +14,7 @@
<script src="../lib/paper/paper-full.js"></script>
<script src="../js/main.js"></script>
<script src="../js/dataloader.js"></script>
+ <script src="../js/router.js"></script>
<script src="../js/defaults.js"></script>
<script src="../js/i18n.js"></script>
<script src="../dist/js/templates.js"></script>
--- a/client/test/test-readonly-div-resize.html Tue Jun 02 16:43:45 2015 +0200
+++ b/client/test/test-readonly-div-resize.html Wed Jun 03 17:27:46 2015 +0200
@@ -14,6 +14,7 @@
<script src="../lib/paper/paper-full.js"></script>
<script src="../js/main.js"></script>
<script src="../js/dataloader.js"></script>
+ <script src="../js/router.js"></script>
<script src="../js/models.js"></script>
<script src="../js/defaults.js"></script>
<script src="../js/i18n.js"></script>
--- a/client/test/test-readonly-div.html Tue Jun 02 16:43:45 2015 +0200
+++ b/client/test/test-readonly-div.html Wed Jun 03 17:27:46 2015 +0200
@@ -14,6 +14,7 @@
<script src="../lib/paper/paper-full.js"></script>
<script src="../js/main.js"></script>
<script src="../js/dataloader.js"></script>
+ <script src="../js/router.js"></script>
<script src="../js/defaults.js"></script>
<script src="../js/i18n.js"></script>
<script src="../dist/js/templates.js"></script>
--- a/client/test/test-writable-bins-div-100.html Tue Jun 02 16:43:45 2015 +0200
+++ b/client/test/test-writable-bins-div-100.html Wed Jun 03 17:27:46 2015 +0200
@@ -14,6 +14,7 @@
<script src="../lib/paper/paper-full.js"></script>
<script src="../js/main.js"></script>
<script src="../js/dataloader.js"></script>
+ <script src="../js/router.js"></script>
<script src="../js/defaults.js"></script>
<script src="../js/i18n.js"></script>
<script src="../dist/js/templates.js"></script>
--- a/client/test/test-writable-bins-div.html Tue Jun 02 16:43:45 2015 +0200
+++ b/client/test/test-writable-bins-div.html Wed Jun 03 17:27:46 2015 +0200
@@ -14,6 +14,7 @@
<script src="../lib/paper/paper-full.js"></script>
<script src="../js/main.js"></script>
<script src="../js/dataloader.js"></script>
+ <script src="../js/router.js"></script>
<script src="../js/models.js"></script>
<script src="../js/defaults.js"></script>
<script src="../js/i18n.js"></script>
--- a/client/test/test-writable-bins-save-on-click.html Tue Jun 02 16:43:45 2015 +0200
+++ b/client/test/test-writable-bins-save-on-click.html Wed Jun 03 17:27:46 2015 +0200
@@ -14,6 +14,7 @@
<script src="../lib/paper/paper-full.js"></script>
<script src="../js/main.js"></script>
<script src="../js/dataloader.js"></script>
+ <script src="../js/router.js"></script>
<script src="../js/models.js"></script>
<script src="../js/defaults.js"></script>
<script src="../js/i18n.js"></script>
--- a/client/test/test-writable-bins.html Tue Jun 02 16:43:45 2015 +0200
+++ b/client/test/test-writable-bins.html Wed Jun 03 17:27:46 2015 +0200
@@ -14,6 +14,7 @@
<script src="../lib/paper/paper-full.js"></script>
<script src="../js/main.js"></script>
<script src="../js/dataloader.js"></script>
+ <script src="../js/router.js"></script>
<script src="../js/models.js"></script>
<script src="../js/defaults.js"></script>
<script src="../js/i18n.js"></script>
--- a/client/test/test-writable-simple-div-editor-panel.html Tue Jun 02 16:43:45 2015 +0200
+++ b/client/test/test-writable-simple-div-editor-panel.html Wed Jun 03 17:27:46 2015 +0200
@@ -14,6 +14,7 @@
<script src="../lib/paper/paper-full.js"></script>
<script src="../js/main.js"></script>
<script src="../js/dataloader.js"></script>
+ <script src="../js/router.js"></script>
<script src="../js/models.js"></script>
<script src="../js/defaults.js"></script>
<script src="../js/i18n.js"></script>
--- a/client/test/test-writable-simple-div-user.html Tue Jun 02 16:43:45 2015 +0200
+++ b/client/test/test-writable-simple-div-user.html Wed Jun 03 17:27:46 2015 +0200
@@ -14,6 +14,7 @@
<script src="../lib/paper/paper-full.js"></script>
<script src="../js/main.js"></script>
<script src="../js/dataloader.js"></script>
+ <script src="../js/router.js"></script>
<script src="../js/models.js"></script>
<script src="../js/defaults.js"></script>
<script src="../js/i18n.js"></script>
--- a/client/test/test-writable-simple-div.html Tue Jun 02 16:43:45 2015 +0200
+++ b/client/test/test-writable-simple-div.html Wed Jun 03 17:27:46 2015 +0200
@@ -14,6 +14,7 @@
<script src="../lib/paper/paper-full.js"></script>
<script src="../js/main.js"></script>
<script src="../js/dataloader.js"></script>
+ <script src="../js/router.js"></script>
<script src="../js/models.js"></script>
<script src="../js/defaults.js"></script>
<script src="../js/i18n.js"></script>
--- a/client/test/test-writable-simple-empty.html Tue Jun 02 16:43:45 2015 +0200
+++ b/client/test/test-writable-simple-empty.html Wed Jun 03 17:27:46 2015 +0200
@@ -14,6 +14,7 @@
<script src="../lib/paper/paper-full.js"></script>
<script src="../js/main.js"></script>
<script src="../js/dataloader.js"></script>
+ <script src="../js/router.js"></script>
<script src="../js/models.js"></script>
<script src="../js/defaults.js"></script>
<script src="../js/i18n.js"></script>
--- a/client/test/test-writable-simple-no-img-upload.html Tue Jun 02 16:43:45 2015 +0200
+++ b/client/test/test-writable-simple-no-img-upload.html Wed Jun 03 17:27:46 2015 +0200
@@ -15,6 +15,7 @@
<script src="../js/main.js"></script>
<script src="../js/models.js"></script>
<script src="../js/dataloader.js"></script>
+ <script src="../js/router.js"></script>
<script src="../js/defaults.js"></script>
<script src="../js/i18n.js"></script>
<script src="../dist/js/templates.js"></script>
--- a/client/test/test-writable-simple-zoom-save.html Tue Jun 02 16:43:45 2015 +0200
+++ b/client/test/test-writable-simple-zoom-save.html Wed Jun 03 17:27:46 2015 +0200
@@ -14,6 +14,7 @@
<script src="../lib/paper/paper-full.js"></script>
<script src="../js/main.js"></script>
<script src="../js/dataloader.js"></script>
+ <script src="../js/router.js"></script>
<script src="../js/models.js"></script>
<script src="../js/defaults.js"></script>
<script src="../js/i18n.js"></script>
--- a/client/test/test-writable-simple.html Tue Jun 02 16:43:45 2015 +0200
+++ b/client/test/test-writable-simple.html Wed Jun 03 17:27:46 2015 +0200
@@ -14,6 +14,7 @@
<script src="../lib/paper/paper-full.js"></script>
<script src="../js/main.js"></script>
<script src="../js/dataloader.js"></script>
+ <script src="../js/router.js"></script>
<script src="../js/models.js"></script>
<script src="../js/defaults.js"></script>
<script src="../js/i18n.js"></script>