1 // Module that implements main WYSIWIG edit area
9 'libs/text!./template.html'], function(_, transformations, Canvas, CanvasManager, canvas3, template) {
13 return function(sandbox) {
15 var canvas = canvas3.fromXML('', sandbox.publish); //canvasCanvas.create();
17 var canvasWrapper = $(template);
18 var shownAlready = false;
19 var scrollbarPosition = 0,
22 canvasWrapper.onShow = function() {
26 canvas.setCursorPosition(cursorPosition);
27 this.find('#rng-module-documentCanvas-contentWrapper').scrollTop(scrollbarPosition);
31 canvasWrapper.onHide = function() {
32 scrollbarPosition = this.find('#rng-module-documentCanvas-contentWrapper').scrollTop();
33 cursorPosition = canvas.getCursor().getPosition();
38 start: function() { sandbox.publish('ready'); },
42 setDocument: function(xml) {
43 canvas.loadWlxml(xml); //canvas.setHTML(transformations.fromXML.getHTMLTree(xml));
44 canvasWrapper.find('#rng-module-documentCanvas-content').empty().append(canvas.view());
45 manager = new CanvasManager(canvas, sandbox);
46 sandbox.publish('documentSet');
48 getDocument: function() {
49 return transformations.toXML.getXML(canvas.getContent());
51 modifyCurrentNodeElement: function(attr, value) {
52 if(attr === 'class' || attr === 'tag') {
53 canvas.getCurrentNodeElement()['setWlxml'+(attr[0].toUpperCase() + attr.substring(1))](value);
56 highlightElement: function(element) {
57 canvas.highlightElement(element);
59 dimElement: function(element) {
60 canvas.dimElement(element);
62 jumpToElement: function(element) {
63 canvas.setCurrentElement(element);
65 command: function(command, params) {
66 manager.command(command, params);