X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/5913c54d19b8f6775633176032161d49f9b2f1aa..75394bbfb6d76eb2ac7ee3adf9529528f8f3bf50:/src/redakcja/static/js/wiki/wikiapi.js?ds=sidebyside

diff --git a/src/redakcja/static/js/wiki/wikiapi.js b/src/redakcja/static/js/wiki/wikiapi.js
index 8df3ef5a..b9d36bea 100644
--- a/src/redakcja/static/js/wiki/wikiapi.js
+++ b/src/redakcja/static/js/wiki/wikiapi.js
@@ -69,6 +69,7 @@
 
 		this.galleryLink = $("*[data-key='gallery']", meta).text();
         this.galleryStart = parseInt($("*[data-key='gallery-start']", meta).text());
+            this.fullUri = $("*[data-key='full-uri']", meta).text();
 
         var diff = $("*[data-key='diff']", meta).text();
         if (diff) {
@@ -198,6 +199,10 @@
 	WikiDocument.prototype.refreshGallery = function(params) {
 		params = $.extend({}, noops, params);
 		var self = this;
+		if (!self.galleryLink) {
+			params['failure'](self, 'Brak galerii.');
+			return;
+		}
 		$.ajax({
 			method: "GET",
 			url: reverse("ajax_document_gallery", self.galleryLink),
@@ -218,35 +223,23 @@
                         var msg = "Nie udało się wczytać galerii o nazwie: '" + self.galleryLink + "'.";
                 }
 				self.galleryImages = [];
-				params['failure'](self, "<p>" + msg + "</p>");
+				params['failure'](self, msg);
 			}
 		});
 	};
 
-	/*
-	 * Set document's text
-	 */
-	WikiDocument.prototype.setText = function(text) {
-		return this.setDocumentProperty('text', text);
-	};
+    /*
+     * Set document's text
+     */
+    WikiDocument.prototype.setText = function(text, setter) {
+        if (text == this.text) return;
+        
+        this.text = text;
+        this.has_local_changes = true;
 
-	/*
-	 * Set document's gallery link
-	 */
-	WikiDocument.prototype.setGalleryLink = function(gallery) {
-		return this.setDocumentProperty('galleryLink', gallery);
-	};
-
-	/*
-	 * Set document's property
-	 */
-	WikiDocument.prototype.setDocumentProperty = function(property, value) {
-		if(this[property] !== value) {
-			this[property] = value;
-			this.has_local_changes = true;
-		}
-	};
+    };
 
+    
 	/*
 	 * Save text back to the server
 	 */
@@ -414,6 +407,7 @@
 
 
     WikiDocument.prototype.getLength = function(params) {
+        params = $.extend({}, noops, params);
         var xml = this.text.replace(/\/(\s+)/g, '<br />$1');
         var parser = new DOMParser();
         var doc = parser.parseFromString(xml, 'text/xml');
@@ -423,12 +417,22 @@
             throw "Not an XML document.";
         }
         $.xmlns["rdf"] = "http://www.w3.org/1999/02/22-rdf-syntax-ns#"; 
-        $('rdf|RDF, motyw, pa, pe, pr, pt', doc).remove();
+        $('rdf|RDF', doc).remove();
+        if (params.noFootnotes) {
+            $('pa, pe, pr, pt', doc).remove();
+        }
+	if (params.noThemes) {
+	    $('motyw', doc).remove();
+        }
         var text = $(doc).text();
         text = $.trim(text.replace(/\s{2,}/g, ' '));
         return text.length;
     }
 
+    /* Temporary workaround for relative images. */
+    WikiDocument.prototype.getBase = function() {
+        return '/media/dynamic/images/' + this.galleryLink + '/';
+    };
 
 	$.wikiapi.WikiDocument = WikiDocument;
 })(jQuery);