diff --git a/src/editor/components/seList.js b/src/editor/components/seList.js index a68e77fe..9a6f9405 100644 --- a/src/editor/components/seList.js +++ b/src/editor/components/seList.js @@ -130,7 +130,6 @@ export class SeList extends HTMLElement { const value = this.$dropdown.selectedItem.getAttribute('value'); const closeEvent = new CustomEvent('change', {detail: {value}}); currentObj.dispatchEvent(closeEvent); - currentObj.value = value; } }); } diff --git a/src/editor/panels/TopPanelHandlers.js b/src/editor/panels/TopPanelHandlers.js index 97a29804..813d03f9 100644 --- a/src/editor/panels/TopPanelHandlers.js +++ b/src/editor/panels/TopPanelHandlers.js @@ -398,11 +398,7 @@ class TopPanelHandlers { * @returns {void} */ clickAlign (pos) { - let value = $('#tool_align_relative').val(); - if(value === ''){ - value = 'selected'; - } - this.svgCanvas.alignSelectedElements(pos, value); + this.svgCanvas.alignSelectedElements(pos, $('#align_relative_to').val()); } /** * diff --git a/src/svgcanvas/selected-elem.js b/src/svgcanvas/selected-elem.js index 36eb643c..1face6f3 100644 --- a/src/svgcanvas/selected-elem.js +++ b/src/svgcanvas/selected-elem.js @@ -288,9 +288,9 @@ export const alignSelectedElements = function (type, relativeTo) { // now bbox is axis-aligned and handles rotation switch (relativeTo) { case 'smallest': - if (((type === 'l' || type === 'c' || type === 'r' || type === 'left' || type === 'center' || type === 'right') && + if (((type === 'l' || type === 'c' || type === 'r') && (curwidth === Number.MIN_VALUE || curwidth > bboxes[i].width)) || - ((type === 't' || type === 'm' || type === 'b' || type === 'top' || type === 'middle' || type === 'bottom') && + ((type === 't' || type === 'm' || type === 'b') && (curheight === Number.MIN_VALUE || curheight > bboxes[i].height)) ) { minx = bboxes[i].x; @@ -302,9 +302,9 @@ export const alignSelectedElements = function (type, relativeTo) { } break; case 'largest': - if (((type === 'l' || type === 'c' || type === 'r' || type === 'left' || type === 'center' || type === 'right') && + if (((type === 'l' || type === 'c' || type === 'r') && (curwidth === Number.MIN_VALUE || curwidth < bboxes[i].width)) || - ((type === 't' || type === 'm' || type === 'b' || type === 'top' || type === 'middle' || type === 'bottom') && + ((type === 't' || type === 'm' || type === 'b') && (curheight === Number.MIN_VALUE || curheight < bboxes[i].height)) ) { minx = bboxes[i].x; @@ -341,27 +341,21 @@ export const alignSelectedElements = function (type, relativeTo) { dy[i] = 0; switch (type) { case 'l': // left (horizontal) - case 'left': // left (horizontal) dx[i] = minx - bbox.x; break; case 'c': // center (horizontal) - case 'center': // center (horizontal) dx[i] = (minx + maxx) / 2 - (bbox.x + bbox.width / 2); break; case 'r': // right (horizontal) - case 'right': // right (horizontal) dx[i] = maxx - (bbox.x + bbox.width); break; case 't': // top (vertical) - case 'top': // top (vertical) dy[i] = miny - bbox.y; break; case 'm': // middle (vertical) - case 'middle': // middle (vertical) dy[i] = (miny + maxy) / 2 - (bbox.y + bbox.height / 2); break; case 'b': // bottom (vertical) - case 'bottom': // bottom (vertical) dy[i] = maxy - (bbox.y + bbox.height); break; }