Added connection status
authorveltr
Mon, 25 Mar 2013 18:54:23 +0100
changeset 111 fbe12f54453a
parent 110 55454c900296
child 112 70c5d6efd68d
child 123 daa99448319d
Added connection status
client/css/renkan.css
client/img/topbarbuttons.png
client/js/i18n.js
client/js/main.js
client/js/paper-renderer.js
crea/buttons.psd
--- a/client/css/renkan.css	Mon Mar 25 17:52:14 2013 +0100
+++ b/client/css/renkan.css	Mon Mar 25 18:54:23 2013 +0100
@@ -175,6 +175,14 @@
     opacity: 1; background-position: -104px 0;
 }
 
+.Rk-Save-Button.Rk-Save-ReadOnly, .Rk-Save-Button.Rk-Save-ReadOnly:hover {
+	background-position: -172px -35px;
+}
+
+.Rk-Save-Button.Rk-Save-Online, .Rk-Save-Button.Rk-Save-Online:hover {
+	background-position: -172px 0;
+}
+
 .Rk-Bookmarklet-Button {
     width: 30px; background-position: -138px 0;
 }
Binary file client/img/topbarbuttons.png has changed
--- a/client/js/i18n.js	Mon Mar 25 17:52:14 2013 +0100
+++ b/client/js/i18n.js	Mon Mar 25 18:54:23 2013 +0100
@@ -14,6 +14,8 @@
         "Add Node": "Ajouter un nœud",
         "Add Edge": "Ajouter un lien",
         "Archive Project": "Archiver le projet",
+        "Auto-save enabled": "Enregistrement automatique activé",
+        "Connection lost": "Connexion perdue",
         "Created by:": "Créé par :",
         "Zoom In": "Agrandir l’échelle",
         "Zoom Out": "Rapetisser l’échelle",
--- a/client/js/main.js	Mon Mar 25 17:52:14 2013 +0100
+++ b/client/js/main.js	Mon Mar 25 18:54:23 2013 +0100
@@ -116,9 +116,6 @@
     if (typeof _opts.show_bins !== "boolean") {
         _opts.show_bins = !!_opts.search.length || !!_opts.bins.length;
     }
-    if (typeof _opts.read_only !== "boolean") {
-        _opts.read_only = false;
-    }
     if (typeof _opts.properties !== "object") {
     	_opts.properties = [];
     }
@@ -136,9 +133,10 @@
     this.language = _opts.language;
     this.static_url = _opts.static_url;
     this.show_bins = _opts.show_bins;
-    this.read_only = _opts.read_only;
     this.properties = _opts.properties;
     this.clip_images = _opts.clip_images;
+    this.read_only = _opts.read_only || false;
+    this.snapshot_mode = _opts.snapshot_mode || false;
     
     this.translate = function(_text) {
     	return (Rkns.i18n[_opts.language] || Rkns.i18n[_opts.language.substr(0,2)] || {})[_text] || _text;
@@ -254,6 +252,10 @@
     + '<ul class="Rk-Bin-List"></ul></div><% } %><div class="Rk-Render Rk-Render-<% if (show_bins) { %>Panel<% } else { %>Full<% } %>"></div>'
 );
 
+Rkns.Renkan.prototype.onStatusChange = function() {
+	this.renderer.onStatusChange();
+}
+
 
 Rkns.Renkan.prototype.setSearchEngine = function(_key) {
     this.search_engine = this.search_engines[_key];
--- a/client/js/paper-renderer.js	Mon Mar 25 17:52:14 2013 +0100
+++ b/client/js/paper-renderer.js	Mon Mar 25 18:54:23 2013 +0100
@@ -1233,6 +1233,7 @@
     this.$ = Rkns.$(".Rk-Render");
     this.representations = [];
     this.$.html(this.template(_renkan));
+    this.onStatusChange();
     this.canvas_$ = this.$.find(".Rk-Canvas");
     this.editor_$ = this.$.find(".Rk-Editor");
     this.notif_$ = this.$.find(".Rk-Notifications");
@@ -1553,7 +1554,7 @@
     + '<% if (!read_only) { %>'
     + '<div class="Rk-TopBar-Separator"></div><div class="Rk-TopBar-Button Rk-AddNode-Button"><div class="Rk-TopBar-Tooltip"><div class="Rk-TopBar-Tooltip-Tip"></div><div class="Rk-TopBar-Tooltip-Contents"><%-translate("Add Node")%></div></div></div>'
     + '<div class="Rk-TopBar-Separator"></div><div class="Rk-TopBar-Button Rk-AddEdge-Button"><div class="Rk-TopBar-Tooltip"><div class="Rk-TopBar-Tooltip-Tip"></div><div class="Rk-TopBar-Tooltip-Contents"><%-translate("Add Edge")%></div></div></div>'
-    + '<div class="Rk-TopBar-Separator"></div><div class="Rk-TopBar-Button Rk-Save-Button"><div class="Rk-TopBar-Tooltip"><div class="Rk-TopBar-Tooltip-Tip"></div><div class="Rk-TopBar-Tooltip-Contents"><%-translate("Archive Project")%></div></div></div>'
+    + '<div class="Rk-TopBar-Separator"></div><div class="Rk-TopBar-Button Rk-Save-Button"><div class="Rk-TopBar-Tooltip"><div class="Rk-TopBar-Tooltip-Tip"></div><div class="Rk-TopBar-Tooltip-Contents"> </div></div></div>'
     + '<div class="Rk-TopBar-Separator"></div><a class="Rk-TopBar-Button Rk-Bookmarklet-Button" href="#"><div class="Rk-TopBar-Tooltip"><div class="Rk-TopBar-Tooltip-Tip"></div><div class="Rk-TopBar-Tooltip-Contents">'
     + '<%-translate("Renkan \'Drag-to-Add\' bookmarklet")%></div></div></a>'
     + '<div class="Rk-TopBar-Separator"></div></div>'
@@ -1588,6 +1589,23 @@
     return _bundle;
 }
 
+Rkns.Renderer.Scene.prototype.onStatusChange = function() {
+	var savebtn = this.$.find(".Rk-Save-Button"),
+		tip = savebtn.find(".Rk-TopBar-Tooltip-Contents");
+	if (this.renkan.read_only) {
+		savebtn.removeClass("disabled Rk-Save-Online").addClass("Rk-Save-ReadOnly");
+		tip.text(this.renkan.translate("Connection lost"));
+	} else {
+		if (this.renkan.snapshot_mode) {
+			savebtn.removeClass("Rk-Save-ReadOnly Rk-Save-Online");
+			tip.text(this.renkan.translate("Archive Project"));
+		} else {
+			savebtn.removeClass("disabled Rk-Save-ReadOnly").addClass("Rk-Save-Online");
+			tip.text(this.renkan.translate("Auto-save enabled"));
+		}
+	}
+}
+
 Rkns.Renderer.Scene.prototype.setScale = function(_newScale) {
     this.scale = _newScale;
     this.redraw();
Binary file crea/buttons.psd has changed