- Fix(ungrouping): Ensure there is always an anchor (fixes #393 ); also fixes a bug with the ungrouped elements not being properly selectable after the ungrouping

This commit is contained in:
Brett Zamir
2020-03-03 19:37:27 +08:00
parent f8ed5018f5
commit ced0d2d778
12 changed files with 53 additions and 23 deletions

11
dist/index-es.js vendored
View File

@@ -21325,14 +21325,19 @@ function SvgCanvas(container, config) {
var oldParent = elem.parentNode; // Remove child title elements
if (elem.tagName === 'title') {
var _elem2 = elem,
nextSibling = _elem2.nextSibling;
var nextSibling = elem.nextSibling;
batchCmd.addSubCommand(new RemoveElementCommand$1(elem, nextSibling, oldParent));
elem.remove();
continue;
}
children[i++] = elem = anchor.before(elem);
if (anchor) {
anchor.before(elem);
} else {
g.after(elem);
}
children[i++] = elem;
batchCmd.addSubCommand(new MoveElementCommand$1(elem, oldNextSibling, oldParent));
} // remove the group from the selection

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

11
dist/index-umd.js vendored
View File

@@ -21331,14 +21331,19 @@
var oldParent = elem.parentNode; // Remove child title elements
if (elem.tagName === 'title') {
var _elem2 = elem,
nextSibling = _elem2.nextSibling;
var nextSibling = elem.nextSibling;
batchCmd.addSubCommand(new RemoveElementCommand$1(elem, nextSibling, oldParent));
elem.remove();
continue;
}
children[i++] = elem = anchor.before(elem);
if (anchor) {
anchor.before(elem);
} else {
g.after(elem);
}
children[i++] = elem;
batchCmd.addSubCommand(new MoveElementCommand$1(elem, oldNextSibling, oldParent));
} // remove the group from the selection

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -21015,14 +21015,19 @@ var SvgCanvas = (function () {
var oldParent = elem.parentNode; // Remove child title elements
if (elem.tagName === 'title') {
var _elem2 = elem,
nextSibling = _elem2.nextSibling;
var nextSibling = elem.nextSibling;
batchCmd.addSubCommand(new RemoveElementCommand$1(elem, nextSibling, oldParent));
elem.remove();
continue;
}
children[i++] = elem = anchor.before(elem);
if (anchor) {
anchor.before(elem);
} else {
g.after(elem);
}
children[i++] = elem;
batchCmd.addSubCommand(new MoveElementCommand$1(elem, oldNextSibling, oldParent));
} // remove the group from the selection

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -6799,7 +6799,7 @@ this.ungroupSelectedElement = function () {
let i = 0;
while (g.firstChild) {
let elem = g.firstChild;
const elem = g.firstChild;
const oldNextSibling = elem.nextSibling;
const oldParent = elem.parentNode;
@@ -6811,7 +6811,12 @@ this.ungroupSelectedElement = function () {
continue;
}
children[i++] = elem = anchor.before(elem);
if (anchor) {
anchor.before(elem);
} else {
g.after(elem);
}
children[i++] = elem;
batchCmd.addSubCommand(new MoveElementCommand(elem, oldNextSibling, oldParent));
}

View File

@@ -21328,14 +21328,19 @@
var oldParent = elem.parentNode; // Remove child title elements
if (elem.tagName === 'title') {
var _elem2 = elem,
nextSibling = _elem2.nextSibling;
var nextSibling = elem.nextSibling;
batchCmd.addSubCommand(new RemoveElementCommand$1(elem, nextSibling, oldParent));
elem.remove();
continue;
}
children[i++] = elem = anchor.before(elem);
if (anchor) {
anchor.before(elem);
} else {
g.after(elem);
}
children[i++] = elem;
batchCmd.addSubCommand(new MoveElementCommand$1(elem, oldNextSibling, oldParent));
} // remove the group from the selection

View File

@@ -21328,14 +21328,19 @@
var oldParent = elem.parentNode; // Remove child title elements
if (elem.tagName === 'title') {
var _elem2 = elem,
nextSibling = _elem2.nextSibling;
var nextSibling = elem.nextSibling;
batchCmd.addSubCommand(new RemoveElementCommand$1(elem, nextSibling, oldParent));
elem.remove();
continue;
}
children[i++] = elem = anchor.before(elem);
if (anchor) {
anchor.before(elem);
} else {
g.after(elem);
}
children[i++] = elem;
batchCmd.addSubCommand(new MoveElementCommand$1(elem, oldNextSibling, oldParent));
} // remove the group from the selection