+ if(this.canvas.list.areItemsOfTheSameList({element1: parent1, element2: parent2})) {
+ this.canvas.list.extractItems({element1: parent1, element2: parent2});
+ } else if (selection.isCollapsed) {
+ 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)]
+ });
+ }