Create NodeElements via canvas instance, to ensure they always
gets reference to canvas; fixes couple of places where instance
wasn't passed.
others[attr.name] = attr.value;
}
others[attr.name] = attr.value;
}
- var element = documentElement.DocumentNodeElement.create({
+ var element = canvas.createNodeElement({
tag: currentTag.prop('tagName').toLowerCase(),
klass: currentTag.attr('class'),
meta: meta,
others: others,
rawChildren: currentTag.contents(),
prepopulateOnEmpty: true
tag: currentTag.prop('tagName').toLowerCase(),
klass: currentTag.attr('class'),
meta: meta,
others: others,
rawChildren: currentTag.contents(),
prepopulateOnEmpty: true
['orig-before', 'orig-after', 'orig-begin', 'orig-end'].forEach(function(attr) {
element.data(attr, '');
['orig-before', 'orig-after', 'orig-begin', 'orig-end'].forEach(function(attr) {
element.data(attr, '');
return documentElement.DocumentNodeElement.fromHTMLElement(this.d.get(0), this); //{wlxmlTag: this.d.prop('tagName')};
},
return documentElement.DocumentNodeElement.fromHTMLElement(this.d.get(0), this); //{wlxmlTag: this.d.prop('tagName')};
},
+ createNodeElement: function(params) {
+ return documentElement.DocumentNodeElement.create(params, this);
+ },
+
wrapText: function(params) {
params = _.extend({textNodeIdx: 0}, params);
if(typeof params.textNodeIdx === 'number')
wrapText: function(params) {
params = _.extend({textNodeIdx: 0}, params);
if(typeof params.textNodeIdx === 'number')
suffixOutside = textNode2.getText().substr(params.offsetEnd)
;
suffixOutside = textNode2.getText().substr(params.offsetEnd)
;
- var wrapperElement = documentElement.DocumentNodeElement.create({tag: params._with.tag, klass: params._with.klass}, this);
+ var wrapperElement = this.createNodeElement({tag: params._with.tag, klass: params._with.klass});
textNode1.after(wrapperElement);
textNode1.detach();
textNode1.after(wrapperElement);
textNode1.detach();
var parent = params.element1.parent(),
parentChildren = parent.children(),
var parent = params.element1.parent(),
parentChildren = parent.children(),
- wrapper = documentElement.DocumentNodeElement.create({
+ wrapper = this.createNodeElement({
tag: params._with.tag,
klass: params._with.klass}),
idx1 = parent.childIndex(params.element1),
tag: params._with.tag,
klass: params._with.klass}),
idx1 = parent.childIndex(params.element1),
if(!(params.element1.parent().sameNode(params.element2.parent())))
return false;
if(!(params.element1.parent().sameNode(params.element2.parent())))
return false;
- var parent = params.element1.parent();
+ var parent = params.element1.parent(),
+ canvas = params.element1.canvas;
if(parent.childIndex(params.element1) > parent.childIndex(params.element2)) {
var tmp = params.element1;
if(parent.childIndex(params.element1) > parent.childIndex(params.element2)) {
var tmp = params.element1;
var elementsToWrap = [];
var place = 'before';
var elementsToWrap = [];
var place = 'before';
parent.children().some(function(element) {
var _e = element;
if(element.sameNode(params.element1))
parent.children().some(function(element) {
var _e = element;
if(element.sameNode(params.element1))
- var listElement = documentElement.DocumentNodeElement.create({tag: 'div', klass: 'list-items' + (params.type === 'enum' ? '-enum' : '')});
-
+ var listElement = canvas.createNodeElement({tag: 'div', klass: 'list-items' + (params.type === 'enum' ? '-enum' : '')});
var toret;
if(parent.is('list')) {
var item = listElement.wrapWithNodeElement({tag: 'div', klass: 'item'});
var toret;
if(parent.is('list')) {
var item = listElement.wrapWithNodeElement({tag: 'div', klass: 'item'});
succeedingItems = [],
items = list.children(),
listIsNested = list.parent().getWlxmlClass() === 'item',
succeedingItems = [],
items = list.children(),
listIsNested = list.parent().getWlxmlClass() === 'item',
+ canvas = params.element1.canvas,
item.setWlxmlClass(null);
reference = item;
});
item.setWlxmlClass(null);
reference = item;
});
- var secondList = documentElement.DocumentNodeElement.create({tag: 'div', klass:'list-items'}, this),
+ var secondList = canvas.createNodeElement({tag: 'div', klass:'list-items'}),
toAdd = secondList;
if(listIsNested) {
toAdd = secondList;
if(listIsNested) {