fromHTMLElement: function(htmlElement, canvas) {
var $element = $(htmlElement);
fromHTMLElement: function(htmlElement, canvas) {
var $element = $(htmlElement);
return DocumentNodeElement.fromHTMLElement(htmlElement, canvas);
if($element.attr('wlxml-text') !== undefined || (htmlElement.nodeType === Node.TEXT_NODE && $element.parent().attr('wlxml-text') !== undefined))
return DocumentTextElement.fromHTMLElement(htmlElement, canvas);
return DocumentNodeElement.fromHTMLElement(htmlElement, canvas);
if($element.attr('wlxml-text') !== undefined || (htmlElement.nodeType === Node.TEXT_NODE && $element.parent().attr('wlxml-text') !== undefined))
return DocumentTextElement.fromHTMLElement(htmlElement, canvas);
$.extend(DocumentNodeElement, {
createDOM: function(params) {
$.extend(DocumentNodeElement, {
createDOM: function(params) {
- var dom = $('<div>')
- .attr('wlxml-tag', params.tag);
+ var dom = $('<div document-node-element>'),
+ container = $('<div document-element-content>');
+
+ container.attr('wlxml-tag', params.tag);
if(params.meta) {
_.keys(params.meta).forEach(function(key) {
dom.attr('wlxml-meta-'+key, params.meta[key]);
if(params.meta) {
_.keys(params.meta).forEach(function(key) {
dom.attr('wlxml-meta-'+key, params.meta[key]);
// Make sure widgets aren't navigable with arrow keys
widgets.find('*').add(widgets).attr('tabindex', -1);
// Make sure widgets aren't navigable with arrow keys
widgets.find('*').add(widgets).attr('tabindex', -1);
var element = this;
elementContent.each(function(idx) {
var childElement = DocumentElement.fromHTMLElement(this, element.canvas);
if(childElement === undefined)
return true;
var element = this;
elementContent.each(function(idx) {
var childElement = DocumentElement.fromHTMLElement(this, element.canvas);
if(childElement === undefined)
return true;
return true;
if(idx > 0 && childElement instanceof DocumentTextElement) {
if(toret[toret.length-1] instanceof DocumentNodeElement && $.trim($(this).text()) === '')
return true;
if(idx > 0 && childElement instanceof DocumentTextElement) {
if(toret[toret.length-1] instanceof DocumentNodeElement && $.trim($(this).text()) === '')