- var newElement = selectionStart.element.wrapWithNodeElement({tag: params.wlxmlTag, klass: params.wlxmlClass, start: selectionStart.offset, end: selectionEnd.offset}),
- caretTo = selectionStart.offset < selectionEnd.offset ? 'start' : 'end';
- canvas.setCurrentElement(newElement.children()[0], {caretTo: caretTo});
+ var wlxmlNode = selectionStart.element.data('wlxmlNode'),
+ caretTo = selectionStart.offset < selectionEnd.offset ? 'start' : 'end',
+ //wrapper = wlxmlNode.wrapWith({tagName: params.wlxmlTag, attrs: {'class': params.wlxmlClass}, start: selectionStart.offset, end: selectionEnd.offset}),
+ wrapper = wlxmlNode.transform('smartxml.wrapWith', {tagName: params.wlxmlTag, attrs: {'class': params.wlxmlClass}, start: selectionStart.offset, end: selectionEnd.offset})
+ ;
+ var wrapperCanvasElement = utils.findCanvasElement(wrapper);
+ canvas.setCurrentElement(wrapperCanvasElement.children()[0], {caretTo: caretTo});