-Manager.prototype.toggleList = function(toggle) {
- var selection = window.getSelection(),
- node1 = $(selection.anchorNode).parent()[0],
- node2 = $(selection.focusNode).parent()[0],
- element1 = this.canvas.getDocumentElement(node1),
- element2 = this.canvas.getDocumentElement(node2);
-
-};
-
-Manager.prototype.command = function(command, params) {
- var selection = window.getSelection(),
- element1 = this.canvas.getDocumentElement(selection.anchorNode),
- element2 = this.canvas.getDocumentElement(selection.focusNode),
- parent1 = element1 ? element1.parent() : undefined,
- parent2 = element2 ? element2.parent() : undefined;
-
- if(command === 'unwrap-node') {
- // this.canvas.nodeUnwrap({node: canvasNode.create(pos.parentNode)});
- // this.sandbox.publish('contentChanged');
- if(this.canvas.list.areItemsOfTheSameList({element1: parent1, element2: parent2})) {
- this.canvas.list.extractItems({element1: parent1, element2: parent2});
- } else if (!selection.collapsed) {
- element1.unwrap();
- }
- } else if(command === 'wrap-node') {
- if(this.canvas.list.areItemsOfTheSameList({element1: parent1, element2: parent2})) {
- this.canvas.list.create({element1: parent1, element2: parent2});
- }
- } else if(command === 'toggle-list') {
- if(params.toggle) {
- this.canvas.list.create({element1: parent1, element2: parent2});
- } else {
- if(this.canvas.list.areItemsOfTheSameList({element1: parent1, element2: parent2})) {
- this.canvas.list.extractItems({element1: parent1, element2: parent2, merge: false});
- }
- }
- } else if(command == 'toggle-grid') {
- this.canvas.doc().dom().find('[wlxml-tag]').toggleClass('rng-common-hoveredNode', params.toggle);
- this.gridToggled = params.toggle;
- } else if(command == 'newNodeRequested') {
- if(!selection.isCollapsed && element1.parent().sameNode(element2.parent())) {
- var parent = element1.parent(),
- offsetStart = selection.anchorOffset,
- offsetEnd = selection.focusOffset;
-
- if(element1.sameNode(element2)) {
- element1.wrapWithNodeElement({tag: params.wlxmlTag, klass: params.wlxmlClass, start: offsetStart, end: offsetEnd});
- }
- else {
- if(parent.childIndex(element1) > parent.childIndex(element2)) {
- var tmp = offsetStart;
- offsetStart = offsetEnd;
- offsetEnd = tmp;
- }
- this.canvas.wrapText({
- inside: parent,
- _with: {tag: params.wlxmlTag, klass: params.wlxmlClass},
- offsetStart: offsetStart,
- offsetEnd: offsetEnd,
- textNodeIdx: [parent.childIndex(element1), parent.childIndex(element2)]
- });
- }
- }
- }
-};
-