X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/5913c54d19b8f6775633176032161d49f9b2f1aa..bc53500052b8793cb7ac46c1da7f05ace7e8c371:/src/redakcja/static/js/wiki/xslt.js diff --git a/src/redakcja/static/js/wiki/xslt.js b/src/redakcja/static/js/wiki/xslt.js index ab90e0c1..19804462 100644 --- a/src/redakcja/static/js/wiki/xslt.js +++ b/src/redakcja/static/js/wiki/xslt.js @@ -17,43 +17,19 @@ function withStylesheets(code_block, onError) if (!xml2htmlStylesheet) { $.blockUI({message: 'Ładowanie arkuszy stylów...'}); $.ajax({ - url: STATIC_URL + 'xsl/wl2html_client.xsl?20171106', - dataType: 'xml', - timeout: 10000, - success: function(data) { + url: '/wlxml/wl2html.xsl', + dataType: 'xml', + timeout: 10000, + success: function(data) { xml2htmlStylesheet = createXSLT(data); $.unblockUI(); - code_block(); - - }, - error: onError - }) - } - else { code_block(); - } -} - - -// 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); - } + error: onError }) } else { - code_block(withThemes.canon); + code_block(); } } @@ -69,7 +45,6 @@ function xml2html(options) { if (error.length == 0) { doc = xml2htmlStylesheet.transformToFragment(doc, document); - console.log(doc.firstChild); if(doc.firstChild === null) { options.error("Błąd w przetwarzaniu XML."); @@ -85,9 +60,23 @@ function xml2html(options) { source.text(''); options.error(error.text(), source_text); } else { + let galleryUrl = new URL( + options.base, + window.location.href + ); + $("img", $(doc.childNodes)).each(function() { + $(this).attr( + 'src', + new URL( + $(this).attr('src'), + galleryUrl + ) + ); + }) + options.success(doc.childNodes); - withThemes(function(canonThemes) { + $.themes.withCanon(function(canonThemes) { if (canonThemes != null) { $('.theme-text-list').addClass('canon').each(function(){ var themes = $(this).html().split(','); @@ -181,7 +170,7 @@ HTMLSerializer.prototype._verseBefore = function(node) { } HTMLSerializer.prototype._nodeIgnored = function(node) { - return node.getAttribute('x-node') == 'wers'; + return node.getAttribute('x-auto-node') == 'true'; } HTMLSerializer.prototype._ignoredWithWhitespace = function(node) { @@ -363,7 +352,7 @@ HTMLSerializer.prototype._serializeElement = function(node) { }; self.result += ' ' + self._join(nsData.prefix, node.getAttribute('x-attr-name-'+this)); - self.result += '="'+node.getAttribute('x-attr-value-'+this) +'"'; + self.result += '="' + node.getAttribute('x-attr-value-'+this).replace(/&/g, '&').replace(/"/g, '"') + '"'; }); /* print new namespace declarations */