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) {
this.galleryImages = [];
this.text = null;
this.has_local_changes = false;
+ this.active = true;
this._lock = -1;
this._context_lock = -1;
this._lock_count = 0;
}
});
};
- /*
- * Fetch history of this document.
- *
- * from - First revision to fetch (default = 0) upto - Last revision to
- * fetch (default = tip)
- *
- */
- WikiDocument.prototype.fetchHistory = function(params) {
- /* this doesn't modify anything, so no locks */
- params = $.extend({}, noops, params);
- var self = this;
- $.ajax({
- method: "GET",
- url: reverse("ajax_document_history", self.id),
- dataType: 'json',
- data: {
- "from": params['from'],
- "upto": params['upto']
- },
- success: function(data) {
- params['success'](self, data);
- },
- error: function() {
- params['failure'](self, "Nie udało się wczytać historii dokumentu.");
- }
- });
- };
+ /*
+ * Fetch history of this document.
+ *
+ */
+ WikiDocument.prototype.fetchHistory = function(params) {
+ /* this doesn't modify anything, so no locks */
+ params = $.extend({}, noops, params);
+ var self = this;
+ $.ajax({
+ method: "GET",
+ url: reverse("ajax_document_history", self.id) + "?before=" + params.before,
+ dataType: 'json',
+ success: function(data) {
+ params['success'](self, data);
+ },
+ error: function() {
+ params['failure'](self, "Nie udało się wczytać historii dokumentu.");
+ }
+ });
+ };
WikiDocument.prototype.fetchDiff = function(params) {
/* this doesn't modify anything, so no locks */
var self = this;
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 == '') {
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),
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 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
*/
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');
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);