X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/8132fc186eb0c5fd02c86828c3a4735754296d02..5913c54d19b8f6775633176032161d49f9b2f1aa:/redakcja/static/js/wiki_img/wikiapi.js?ds=sidebyside
diff --git a/redakcja/static/js/wiki_img/wikiapi.js b/redakcja/static/js/wiki_img/wikiapi.js
deleted file mode 100644
index 377e4f94..00000000
--- a/redakcja/static/js/wiki_img/wikiapi.js
+++ /dev/null
@@ -1,418 +0,0 @@
-(function($) {
- $.wikiapi = {};
- var noop = function() {
- };
- var noops = {
- success: noop,
- failure: noop
- };
- /*
- * 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 ;)
- *
- */
- function reverse() {
- var vname = arguments[0];
- var base_path = "/images";
-
- if (vname == "ajax_document_text")
- return base_path + "/text/" + arguments[1] + "/";
-
-
- if (vname == "ajax_document_revert") {
- return base_path + "/revert/" + arguments[1] + '/';
- }
-
- if (vname == "ajax_document_history") {
- return base_path + "/history/" + arguments[1] + '/';
- }
-
- if (vname == "ajax_document_diff")
- return base_path + "/diff/" + arguments[1] + '/';
-
- if (vname == "ajax_document_pubmark")
- return base_path + "/pubmark/" + arguments[1] + '/';
-
- console.log("Couldn't reverse match:", vname);
- return "/404.html";
- };
-
- /*
- * Document Abstraction
- */
- function WikiDocument(element_id) {
- var meta = $('#' + element_id);
- this.id = meta.attr('data-object-id');
-
- this.revision = $("*[data-key='revision']", meta).text();
- this.readonly = !!$("*[data-key='readonly']", meta).text();
-
- var diff = $("*[data-key='diff']", meta).text();
- if (diff) {
- diff = diff.split(',');
- if (diff.length == 2 && diff[0] < diff[1])
- this.diff = diff;
- else if (diff.length == 1) {
- diff = parseInt(diff);
- if (diff != NaN)
- this.diff = [diff - 1, diff];
- }
- }
-
- this.text = null;
- this.has_local_changes = false;
- this._lock = -1;
- this._context_lock = -1;
- this._lock_count = 0;
- };
-
- WikiDocument.prototype.triggerDocumentChanged = function() {
- $(document).trigger('wlapi_document_changed', this);
- };
- /*
- * Fetch text of this document.
- */
- WikiDocument.prototype.fetch = function(params) {
- params = $.extend({}, noops, params);
- var self = this;
- $.ajax({
- method: "GET",
- url: reverse("ajax_document_text", self.id),
- data: {"revision": self.revision},
- dataType: 'json',
- success: function(data) {
- var changed = false;
-
- if (self.text === null || self.revision !== data.revision) {
- self.text = data.text;
- if (self.text === '') {
- self.text = '
Nie udaÅo siÄ zapisaÄ zmian.
Nie udaÅo siÄ zapisaÄ - bÅÄ d serwera.
" - }); - }; - } - - } - }); - - $('#save-hide').click(function(){ - $('#header').addClass('saving'); - $.unblockUI(); - $.wiki.blocking.unblock(); - }); - }; /* end of save() */ - - WikiDocument.prototype.revertToVersion = function(params) { - var self = this; - params = $.extend({}, noops, params); - - if (params.revision >= this.revision) { - params.failure(self, 'ProszÄ wybraÄ rewizjÄ starszÄ niż aktualna.'); - return; - } - - // Serialize form to dictionary - var data = {}; - $.each(params['form'].serializeArray(), function() { - data[this.name] = this.value; - }); - - $.ajax({ - url: reverse("ajax_document_revert", self.id), - type: "POST", - dataType: "json", - data: data, - success: function(data) { - if (data.text) { - self.text = data.text; - self.revision = data.revision; - self.gallery = data.gallery; - self.triggerDocumentChanged(); - - params.success(self, "UdaÅo siÄ przywróciÄ wersjÄ :)"); - } - else { - params.failure(self, "Przywracana wersja identyczna z aktualnÄ . Anulowano przywracanie."); - } - }, - error: function(xhr) { - params.failure(self, "Nie udaÅo siÄ przywróciÄ wersji - bÅÄ d serwera."); - } - }); - }; - - WikiDocument.prototype.pubmark = function(params) { - params = $.extend({}, noops, params); - var self = this; - var data = { - "pubmark-id": self.id, - }; - - /* unpack form */ - $.each(params.form.serializeArray(), function() { - data[this.name] = this.value; - }); - - $.ajax({ - url: reverse("ajax_document_pubmark", self.id), - type: "POST", - dataType: "json", - data: data, - success: function(data) { - params.success(self, data.message); - }, - error: function(xhr) { - if (xhr.status == 403 || xhr.status == 401) { - params.failure(self, { - "__all__": ["Nie masz uprawnieÅ lub nie jesteÅ zalogowany."] - }); - } - else { - try { - params.failure(self, $.parseJSON(xhr.responseText)); - } - catch (e) { - params.failure(self, { - "__all__": ["Nie udaÅo siÄ - bÅÄ d serwera."] - }); - }; - }; - } - }); - }; - - - - WikiDocument.prototype.getImageItems = function(tag) { - var self = this; - - var parser = new DOMParser(); - var doc = parser.parseFromString(self.text, 'text/xml'); - var error = $('parsererror', doc); - - if (error.length != 0) { - return null; - } - - var a = []; - $('sem[type="'+tag+'"]', doc).each(function(i, e) { - var $e = $(e); - var $div = $e.children().first() - var value = $e.attr(tag); - $e.find('div').each(function(i, div) { - var $div = $(div); - switch ($div.attr('type')) { - case 'rect': - a.push([ - value, - $div.attr('x1'), - $div.attr('y1'), - $div.attr('x2'), - $div.attr('y2') - ]); - break; - case 'whole': - a.push([ - value, - null, null, null, null - ]); - break - } - }); - }); - - return a; - } - - WikiDocument.prototype.setImageItems = function(tag, items) { - var self = this; - - var parser = new DOMParser(); - var doc = parser.parseFromString(self.text, 'text/xml'); - var serializer = new XMLSerializer(); - var error = $('parsererror', doc); - - if (error.length != 0) { - return null; - } - - $('sem[type="'+tag+'"]', doc).remove(); - $root = $(doc.firstChild); - $.each(items, function(i, e) { - var $sem = $(doc.createElement("sem")); - $sem.attr('type', tag); - $sem.attr(tag, e[0]); - $div = $(doc.createElement("div")); - if (e[1]) { - $div.attr('type', 'rect'); - $div.attr('x1', e[1]); - $div.attr('y1', e[2]); - $div.attr('x2', e[3]); - $div.attr('y2', e[4]); - } - else { - $div.attr('type', 'whole'); - } - $sem.append($div); - $root.append($sem); - }); - self.setText(serializer.serializeToString(doc)); - } - - - $.wikiapi.WikiDocument = WikiDocument; -})(jQuery); - - - -// Wykonuje block z zaÅadowanymi kanonicznymi motywami -function withThemes(code_block, onError) -{ - if (typeof withThemes.canon == 'undefined') { - $.ajax({ - url: '/editor/themes', - dataType: 'text', - success: function(data) { - withThemes.canon = data.split('\n'); - code_block(withThemes.canon); - }, - error: function() { - withThemes.canon = null; - code_block(withThemes.canon); - } - }) - } - else { - code_block(withThemes.canon); - } -} -