X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/5913c54d19b8f6775633176032161d49f9b2f1aa..01e3154575d718ae51e55e7ea8d064718e7d0037:/src/redakcja/static/js/wiki/wikiapi.js diff --git a/src/redakcja/static/js/wiki/wikiapi.js b/src/redakcja/static/js/wiki/wikiapi.js index 8df3ef5a..b53bf06d 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) { @@ -85,6 +86,7 @@ this.galleryImages = []; this.text = null; this.has_local_changes = false; + this.active = true; this._lock = -1; this._context_lock = -1; this._lock_count = 0; @@ -177,9 +179,14 @@ WikiDocument.prototype.checkRevision = function(params) { /* this doesn't modify anything, so no locks */ var self = this; + let active = self.active; + self.active = false; $.ajax({ method: "GET", url: reverse("ajax_document_rev", self.id), + data: { + 'a': active, + }, dataType: 'text', success: function(data) { if (data == '') { @@ -198,6 +205,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 +229,23 @@ var msg = "Nie udało się wczytać galerii o nazwie: '" + self.galleryLink + "'."; } self.galleryImages = []; - params['failure'](self, "

" + msg + "

"); + params['failure'](self, msg); } }); }; - /* - * Set document's text - */ - WikiDocument.prototype.setText = function(text) { - return this.setDocumentProperty('text', text); - }; - - /* - * Set document's gallery link - */ - WikiDocument.prototype.setGalleryLink = function(gallery) { - return this.setDocumentProperty('galleryLink', gallery); - }; + /* + * 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 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 +413,7 @@ WikiDocument.prototype.getLength = function(params) { + params = $.extend({}, noops, params); var xml = this.text.replace(/\/(\s+)/g, '
$1'); var parser = new DOMParser(); var doc = parser.parseFromString(xml, 'text/xml'); @@ -423,12 +423,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);