- $.ajax({
- url: '/static/xsl/html2wl_client.xsl',
- dataType: 'xml',
- success: function(data) {
- var doc = null;
- var parser = new DOMParser();
- var serializer = new XMLSerializer();
- var xsl = createXSLT(data);
-
- doc = serializer.serializeToString($('#html-view div').get(0))
- doc = parser.parseFromString(doc, 'text/xml');
- console.log('xml',doc, doc.documentElement);
- // TODO: Sprawdzenie błędów
- doc = xsl.transformToDocument(doc);
- console.log('after transform', doc, doc.documentElement);
- doc = serialize(doc.documentElement).join('');
- // doc = serializer.serializeToString(doc.documentElement)
- editor.setCode(doc);
- },
- error: function() {alert('Error loading XSL!')}
- });
+ $('#source-editor').block({message: 'Ładowanie...'});
+ setTimeout(function() {
+ $.ajax({
+ url: '/static/xsl/html2wl_client.xsl',
+ dataType: 'xml',
+ success: function(data) {
+ var doc = null;
+ var parser = new DOMParser();
+ var serializer = new XMLSerializer();
+ var xsl = createXSLT(data);
+
+ if ($('#html-view .error').length > 0) {
+ $('#source-editor').unblock();
+ return;
+ }
+ doc = serializer.serializeToString($('#html-view div').get(0))
+ doc = parser.parseFromString(doc, 'text/xml');
+ console.log('xml',doc, doc.documentElement);
+ // TODO: Sprawdzenie błędów
+ var error = $('parsererror', doc.documentElement);
+ console.log(error);
+ if (error.length == 0) {
+ doc = xsl.transformToDocument(doc, document);
+ error = $('parsererror', doc.documentElement);
+ }
+
+ if (error.length > 0) {
+ console.log(error);
+ $('#source-editor').html('<p>Wystąpił błąd:</p>' + error.text());
+ } else {
+ doc = serialize(doc.documentElement).join('');
+ editor.setCode(doc);
+ }
+
+ console.log('after transform', doc, doc.documentElement);
+ $('#source-editor').unblock();
+ },
+ error: function() {alert('Error loading XSL!')}
+ });
+ }, 200);