case 'tag':
if (c.name === 'script' || c.name === 'object' || c.name === 'iframe' || c.name === 'link') {
// TODO put placeholders instead
- remove.unshift(i)
+ remove.unshift(i) // add to beginning so they are removed last first
continue
}
- // TODO create in correct namespace
- c.el = parent.ownerDocument.createElement(c.name)
+ if (c.namespace === 'svg') {
+ c.el = parent.ownerDocument.createElementNS('http://www.w3.org/2000/svg', c.name)
+ } else if (c.namespace === 'mathml') {
+ c.el = parent.ownerDocument.createElementNS('http://www.w3.org/1998/Math/MathML', c.name)
+ } else {
+ c.el = parent.ownerDocument.createElement(c.name)
+ }
ref1 = c.attrs
for (k in ref1) {
v = ref1[k]
}
}
}
- results = []
+ // these are in reverse order so we remove highest indexes first
for (i = 0; i < remove.length; i++) {
- // FIXME this deletes the wrong node when siblings are removed
index = remove[i]
- results.push(tree.splice(index, 1))
+ tree.splice(index, 1)
}
- return results
}
function traverse_tree (tree, cb) {
this.kill_cursor()
}
PeachHTML5Editor.prototype.load_html = function(html) {
- this.tree = peach_parser(html, this.parser_opts)
+ this.tree = peach_parser.parse(html, this.parser_opts)
if (this.tree[0] == null ? true : this.tree[0].parent == null) {
- this.tree = peach_parser('<p style="white-space: pre-wrap"> </p>', this.parser_opts)
+ this.tree = peach_parser.parse('<p style="white-space: pre-wrap"> </p>', this.parser_opts)
}
this.tree_parent = this.tree[0].parent
this.tree_parent.el = this.idoc.body