X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/c16a4ce964e291edc7fd10dcd12a489a17b9f8d6..77296ed5c989a89dfbf9b06bcb6097d07edf76c2:/redakcja/static/js/wiki/wikiapi.js

diff --git a/redakcja/static/js/wiki/wikiapi.js b/redakcja/static/js/wiki/wikiapi.js
index 26732bd5..b6388f11 100644
--- a/redakcja/static/js/wiki/wikiapi.js
+++ b/redakcja/static/js/wiki/wikiapi.js
@@ -7,8 +7,8 @@
 		failure: noop
 	};
 	/*
-	 * Return absolute reverse path of given named view.
-	 * (at least he have it hard-coded in one place)
+	 * Return absolute reverse path of given named view. (at least he have it
+	 * hard-coded in one place)
 	 *
 	 * TODO: think of a way, not to hard-code it here ;)
 	 *
@@ -33,7 +33,7 @@
 
 		if (vname == "ajax_document_gallery") {
 
-			return base_path + "/gallery/" + arguments[1];
+			return base_path + "/" + arguments[1] + "/gallery";
 		}
 
 		if (vname == "ajax_document_diff")
@@ -104,8 +104,8 @@
 	/*
 	 * Fetch history of this document.
 	 *
-	 * from - First revision to fetch (default = 0)
-	 * upto - Last revision to fetch (default = tip)
+	 * from - First revision to fetch (default = 0) upto - Last revision to
+	 * fetch (default = tip)
 	 *
 	 */
 	WikiDocument.prototype.fetchHistory = function(params) {
@@ -219,10 +219,11 @@
 			type: "POST",
 			dataType: "json",
 			data: data,
-			timeout: 5000,
 			success: function(data) {
 				var changed = false;
 
+                $('#header').removeClass('saving');
+
 				if (data.text) {
 					self.text = data.text;
 					self.revision = data.revision;
@@ -233,24 +234,32 @@
 
 				params['success'](self, changed, ((changed && "Udało się zapisać :)") || "Twoja wersja i serwera jest identyczna"));
 			},
-			error: function(xhr, msg) {
-				if (msg == 'timeout') {
-					params['failure'](self, {
-                        "__message": "Przekroczony czas połączenia. Zmiany nie zostały zapisane."
-                    });
-				}
-				else {
+			error: function(xhr) {
+                if ($('#header').hasClass('saving')) {
+                    $('#header').removeClass('saving');
+                    $.blockUI({
+                        message: "<p>Nie udało się zapisać zmian. <br/><button onclick='$.unblockUI()'>OK</button></p>"
+                    })
+                }
+                else {
                     try {
                         params['failure'](self, $.parseJSON(xhr.responseText));
                     }
                     catch (e) {
                         params['failure'](self, {
-                            "__message": "Nie udało się zapisać - błąd serwera."
+                            "__message": "<p>Nie udało się zapisać - błąd serwera.</p>"
                         });
                     };
-				}
+                }
+
 			}
 		});
+
+        $('#save-hide').click(function(){
+            $('#header').addClass('saving');
+            $.unblockUI();
+            $.wiki.blocking.unblock();
+        });
 	}; /* end of save() */
 
 	WikiDocument.prototype.publish = function(params) {