var Canvas = function(wlxmlDocument, publisher) {
this.eventBus = _.extend({}, Backbone.Events);
this.wrapper = $('<div>').addClass('canvas-wrapper').attr('contenteditable', true);
+ this.wlxmlListener = wlxmlListener.create(this);
this.loadWlxmlDocument(wlxmlDocument);
this.publisher = publisher ? publisher : function() {};
- this.wlxmlListener = wlxmlListener.create(this);
};
$.extend(Canvas.prototype, {
this.setupEventHandling();
this.wlxmlListener.listenTo(wlxmlDocument);
+ this.wlxmlDocument = wlxmlDocument;
},
generateCanvasDOM: function(wlxmlNode) {
}
observer.observe(canvas.d[0], config);
canvas.publisher('contentChanged');
+
+ var textElement = canvas.getDocumentElement(mutation.target);
+ textElement.data('wlxmlNode').setText(mutation.target.data);
}
});
});
if(params.caretTo || !textElementToLand.sameNode(this.getCursor().getPosition().element))
this._moveCaretToTextElement(textElementToLand, params.caretTo); // as method on element?
if(!(textElementToLand.sameNode(currentTextElement)))
- this.publisher('currentTextElementSet', textElementToLand);
+ this.publisher('currentTextElementSet', textElementToLand.data('wlxmlNode'));
} else {
document.getSelection().removeAllRanges();
}