fnp
/
redakcja.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Dirty hack to fix gallery editing on some browsers
[redakcja.git]
/
platforma
/
static
/
js
/
xslt.js
diff --git
a/platforma/static/js/xslt.js
b/platforma/static/js/xslt.js
index
48543e6
..
c3f13d6
100644
(file)
--- a/
platforma/static/js/xslt.js
+++ b/
platforma/static/js/xslt.js
@@
-34,8
+34,9
@@
var MARGIN = {
MARGIN['rdf:RDF'] = 3;
MARGIN['rdf:Description'] = 2;
MARGIN['rdf:RDF'] = 3;
MARGIN['rdf:Description'] = 2;
+var blockTags = ['akap', 'akap_cd', 'akap_dialog', 'strofa', 'didaskalia', 'wers', 'wers_cd', 'wers_akap', 'wers_wciety', 'autor_utworu', 'nazwa_utworu', 'dzielo_nadrzedne', 'podpis'];
function elementType(element) {
function elementType(element) {
- if (
$.inArray(element.tagName, ['akap', 'akap_cd', 'akap_dialog', 'strofa', 'didaskalia', 'wers', 'wers_cd', 'wers_akap', 'wers_wciety', 'autor_utworu', 'nazwa_utworu', 'dzielo_nadrzedne', 'podpis'])
) {
+ if (
blockTags.indexOf(element.tagName) != -1
) {
return 'inline';
} else {
return 'block';
return 'inline';
} else {
return 'block';
@@
-49,11
+50,7
@@
function serialize(element, mode) {
}
if (element.nodeType == 3) { // tekst
}
if (element.nodeType == 3) { // tekst
- if (mode == 'block') {
- return [$.trim(element.nodeValue)];
- } else {
- return [element.nodeValue];
- }
+ return [element.nodeValue];
} else if (element.nodeType != 1) { // pomijamy węzły nie będące elementami XML ani tekstem
return [];
}
} else if (element.nodeType != 1) { // pomijamy węzły nie będące elementami XML ani tekstem
return [];
}
@@
-61,6
+58,8
@@
function serialize(element, mode) {
var result = [];
var hasContent = false;
var result = [];
var hasContent = false;
+
+
if (MARGIN[element.tagName]) {
for (var i=0; i < MARGIN[element.tagName]; i++) {
result.push('\n');
if (MARGIN[element.tagName]) {
for (var i=0; i < MARGIN[element.tagName]; i++) {
result.push('\n');
@@
-168,8
+167,6
@@
function xml2html(options) {
if (error.length > 0 && options.error) {
options.error(error.text());
} else {
if (error.length > 0 && options.error) {
options.error(error.text());
} else {
- // console.log(options.xml);
- console.log(doc, doc.firstChild);
options.success(doc.firstChild);
}
}, function() { options.error && options.error('Nie udało się załadować XSLT'); });
options.success(doc.firstChild);
}
}, function() { options.error && options.error('Nie udało się załadować XSLT'); });
@@
-183,18
+180,24
@@
function html2xml(options) {
var serializer = new XMLSerializer();
var doc = parser.parseFromString(xml, 'text/xml');
var error = $('parsererror', doc.documentElement);
var serializer = new XMLSerializer();
var doc = parser.parseFromString(xml, 'text/xml');
var error = $('parsererror', doc.documentElement);
-
+
if (error.length == 0) {
if (error.length == 0) {
- doc = html2xmlStylesheet.transformToDocument(doc
, document
);
+ doc = html2xmlStylesheet.transformToDocument(doc);
error = $('parsererror', doc.documentElement);
}
if (error.length > 0 && options.error) {
options.error(error.text());
error = $('parsererror', doc.documentElement);
}
if (error.length > 0 && options.error) {
options.error(error.text());
- console.log(error);
- $('#source-editor').html('<p>Wystąpił błąd:</p>' + error.text());
} else {
} else {
- options.success(serialize(doc.documentElement).join(''));
+ if (options.inner) {
+ var result = [];
+ for (var i = 0; i < doc.documentElement.childNodes.length; i++) {
+ result.push(serialize(doc.documentElement.childNodes[i]).join(''));
+ };
+ options.success(result.join(''));
+ } else {
+ options.success(serialize(doc.documentElement).join(''));
+ }
}
}, function() { options.error && options.error('Nie udało się załadować XSLT'); });
};
}
}, function() { options.error && options.error('Nie udało się załadować XSLT'); });
};