--- a/client/js/models.js Sat Apr 26 21:28:54 2014 +0200
+++ b/client/js/models.js Mon Apr 28 16:11:21 2014 +0200
@@ -1,7 +1,7 @@
(function() {
"use strict";
var root = this;
-
+
var Backbone = root.Backbone;
var Models = root.Rkns.Models = {};
@@ -136,6 +136,18 @@
};
}
});
+
+ // View
+ var View = Models.View = RenkanModel.extend({
+ type: "view",
+ relations: [
+ {
+ type: Backbone.HasOne,
+ key: "created_by",
+ relatedModel: User
+ }
+ ],
+ });
// PROJECT
var Project = Models.Project = RenkanModel.extend({
@@ -167,6 +179,15 @@
key: 'project',
includeInJSON: '_id'
}
+ },
+ {
+ type: Backbone.HasMany,
+ key: "views",
+ relatedModel: View,
+ reverseRelation: {
+ key: 'project',
+ includeInJSON: '_id'
+ }
}
],
addUser: function(_props, _options) {
@@ -187,6 +208,14 @@
this.get("edges").push(_edge, _options);
return _edge;
},
+ addView: function(_props, _options) {
+ _props.project = this;
+ // TODO: check if need to replace with create only
+ var _view = View.findOrCreate(_props);
+ // TODO: Should we remember only one view?
+ this.get("views").push(_view, _options);
+ return _view;
+ },
removeNode: function(_model) {
this.get("nodes").remove(_model);
},
--- a/client/js/paper-renderer.js Sat Apr 26 21:28:54 2014 +0200
+++ b/client/js/paper-renderer.js Mon Apr 28 16:11:21 2014 +0200
@@ -2,7 +2,7 @@
"use strict";
(function(root) {
-
+
var Rkns = root.Rkns,
_ = Rkns._,
$ = Rkns.$;
@@ -1796,12 +1796,15 @@
bindClick(".Rk-ZoomIn", "zoomIn");
bindClick(".Rk-ZoomFit", "autoScale");
this.$.find(".Rk-ZoomSave").click( function() {
- _this.renkan.project.set("views", [{id:Rkns.Utils.getUID('view'), zoom_level:_this.scale, offset_x:_this.offset.x, offset_y:_this.offset.y}]); // Save scale
+ // Save scale and offset point
+ _this.renkan.project.addView( { id:Rkns.Utils.getUID('view'), zoom_level:_this.scale, offset_x:_this.offset.x, offset_y:_this.offset.y } );
_this.$.find(".Rk-ZoomSetSaved").show();
});
this.$.find(".Rk-ZoomSetSaved").click( function() {
- var view = _this.renkan.project.get("views")[0];
- _this.setScale(view.zoom_level, new paper.Point(view.offset_x, view.offset_y));
+ var view = _this.renkan.project.get("views").last();
+ if(view){
+ _this.setScale(view.get("zoom_level"), new paper.Point(view.get("offset_x"), view.get("offset_y")));
+ }
});
if(this.renkan.read_only && !isNaN(parseInt(this.renkan.options.default_view))){
this.$.find(".Rk-ZoomSetSaved").show();
--- a/client/test/publish-test-min.html Sat Apr 26 21:28:54 2014 +0200
+++ b/client/test/publish-test-min.html Mon Apr 28 16:11:21 2014 +0200
@@ -14,9 +14,8 @@
<script src="../lib/paper.js"></script>
<script src="../../build/renkan.js"></script>
<script type="text/javascript">
- var _renkan;
$(function() {
- _renkan = new Rkns.Renkan({
+ var _renkan = new Rkns.Renkan({
editor_mode: false,
show_bins: false,
static_url: "../"
--- a/client/test/publish-test.html Sat Apr 26 21:28:54 2014 +0200
+++ b/client/test/publish-test.html Mon Apr 28 16:11:21 2014 +0200
@@ -19,9 +19,8 @@
<script src="../js/full-json.js"></script>
<script src="../js/paper-renderer.js"></script>
<script type="text/javascript">
- var _renkan;
$(function() {
- _renkan = new Rkns.Renkan({
+ var _renkan = new Rkns.Renkan({
editor_mode: false,
show_bins: false,
zoom_on_scroll: false,
--- a/client/test/render-test.html Sat Apr 26 21:28:54 2014 +0200
+++ b/client/test/render-test.html Mon Apr 28 16:11:21 2014 +0200
@@ -22,9 +22,8 @@
<script src="../js/wikipedia-bin.js"></script>
<script src="../js/paper-renderer.js"></script>
<script type="text/javascript">
- var _renkan;
$(function() {
- _renkan = new Rkns.Renkan({
+ var _renkan = new Rkns.Renkan({
bins: [
{
title: "Projet Lignes de Temps",
--- a/client/test/test-readonly-body.html Sat Apr 26 21:28:54 2014 +0200
+++ b/client/test/test-readonly-body.html Mon Apr 28 16:11:21 2014 +0200
@@ -14,9 +14,8 @@
<script src="../lib/paper.js"></script>
<script src="../../build/renkan.js"></script>
<script type="text/javascript">
- var _renkan;
$(function() {
- _renkan = new Rkns.Renkan({
+ var _renkan = new Rkns.Renkan({
editor_mode: false,
show_bins: false,
static_url: "../"
--- a/client/test/test-readonly-div-resize.html Sat Apr 26 21:28:54 2014 +0200
+++ b/client/test/test-readonly-div-resize.html Mon Apr 28 16:11:21 2014 +0200
@@ -14,9 +14,8 @@
<script src="../lib/paper.js"></script>
<script src="../../build/renkan.js"></script>
<script type="text/javascript">
- var _renkan;
$(function() {
- _renkan = new Rkns.Renkan({
+ var _renkan = new Rkns.Renkan({
editor_mode: false,
show_bins: false,
static_url: "../"
--- a/client/test/test-readonly-div.html Sat Apr 26 21:28:54 2014 +0200
+++ b/client/test/test-readonly-div.html Mon Apr 28 16:11:21 2014 +0200
@@ -22,9 +22,8 @@
<script src="../js/wikipedia-bin.js"></script>
<script src="../js/paper-renderer.js"></script>
<script type="text/javascript">
- var _renkan;
$(function() {
- _renkan = new Rkns.Renkan({
+ var _renkan = new Rkns.Renkan({
editor_mode: false,
show_bins: false,
static_url: "../",
--- a/client/test/test-writable-bins-div-100.html Sat Apr 26 21:28:54 2014 +0200
+++ b/client/test/test-writable-bins-div-100.html Mon Apr 28 16:11:21 2014 +0200
@@ -23,9 +23,8 @@
<script src="../js/wikipedia-bin.js"></script>
<script src="../js/paper-renderer.js"></script>
<script type="text/javascript">
- var _renkan;
$(function() {
- _renkan = new Rkns.Renkan({
+ var _renkan = new Rkns.Renkan({
search: [
{
type: "Ldt"
--- a/client/test/test-writable-bins-div.html Sat Apr 26 21:28:54 2014 +0200
+++ b/client/test/test-writable-bins-div.html Mon Apr 28 16:11:21 2014 +0200
@@ -14,9 +14,8 @@
<script src="../lib/paper.js"></script>
<script src="../../build/renkan.js"></script>
<script type="text/javascript">
- var _renkan;
$(function() {
- _renkan = new Rkns.Renkan({
+ var _renkan = new Rkns.Renkan({
search: [
{
type: "Ldt"
--- a/client/test/test-writable-bins.html Sat Apr 26 21:28:54 2014 +0200
+++ b/client/test/test-writable-bins.html Mon Apr 28 16:11:21 2014 +0200
@@ -14,9 +14,8 @@
<script src="../lib/paper.js"></script>
<script src="../../build/renkan.js"></script>
<script type="text/javascript">
- var _renkan;
$(function() {
- _renkan = new Rkns.Renkan({
+ var _renkan = new Rkns.Renkan({
search: [
{
type: "Ldt"
--- a/client/test/test-writable-simple-div.html Sat Apr 26 21:28:54 2014 +0200
+++ b/client/test/test-writable-simple-div.html Mon Apr 28 16:11:21 2014 +0200
@@ -14,9 +14,8 @@
<script src="../lib/paper.js"></script>
<script src="../../build/renkan.js"></script>
<script type="text/javascript">
- var _renkan;
$(function() {
- _renkan = new Rkns.Renkan({
+ var _renkan = new Rkns.Renkan({
/*property_files: [ "data/properties.json" ],
user_id: "u-iri",
language: "fr",
--- a/client/test/test-writable-simple.html Sat Apr 26 21:28:54 2014 +0200
+++ b/client/test/test-writable-simple.html Mon Apr 28 16:11:21 2014 +0200
@@ -14,9 +14,8 @@
<script src="../lib/paper.js"></script>
<script src="../../build/renkan.js"></script>
<script type="text/javascript">
- var _renkan;
$(function() {
- _renkan = new Rkns.Renkan({
+ var _renkan = new Rkns.Renkan({
/*property_files: [ "data/properties.json" ],
user_id: "u-iri",
language: "fr",