diff --git a/cypress/integration/ui/__snapshots__/scenario.js.snap b/cypress/integration/ui/__snapshots__/scenario.js.snap index d4e83eee..0eb0afbd 100644 --- a/cypress/integration/ui/__snapshots__/scenario.js.snap +++ b/cypress/integration/ui/__snapshots__/scenario.js.snap @@ -373,141 +373,6 @@ exports[`use various parts of svg-edit > check tool_text_change_stoke_fill_color `; -exports[`use various parts of svg-edit > check tool_text_anchor_start #0`] = ` - - - - Layer 1 - - AB - - - AB - - - - -`; - -exports[`use various parts of svg-edit > check tool_text_anchor_middle #0`] = ` - - - - Layer 1 - - AB - - - AB - - - - -`; - -exports[`use various parts of svg-edit > check tool_text_anchor_end #0`] = ` - - - - Layer 1 - - AB - - - AB - - - - -`; - exports[`use various parts of svg-edit > check tool_text_change_rotation #0`] = ` check tool_text_change_rotation #0`] = font-weight="bold" id="svg_1" stroke="#0000bf" - text-anchor="end" + text-anchor="middle" transform="matrix(1 0 0 1 0 0)" x="46" xml:space="preserve" @@ -572,7 +437,7 @@ exports[`use various parts of svg-edit > check tool_text_change_blur #0`] = ` font-weight="bold" id="svg_1" stroke="#0000bf" - text-anchor="end" + text-anchor="middle" transform="matrix(1 0 0 1 0 0)" x="46" xml:space="preserve" @@ -624,7 +489,7 @@ exports[`use various parts of svg-edit > check tool_text_change_opacity #0`] = ` font-weight="bold" id="svg_1" stroke="#0000bf" - text-anchor="end" + text-anchor="middle" transform="matrix(1 0 0 1 0 0)" x="46" xml:space="preserve" @@ -677,7 +542,7 @@ exports[`use various parts of svg-edit > check tool_text_align_to_page #0`] = ` font-weight="bold" id="svg_1" stroke="#0000bf" - text-anchor="end" + text-anchor="middle" transform="matrix(1 0 0 1 0 0)" x="46" xml:space="preserve" @@ -730,7 +595,7 @@ exports[`use various parts of svg-edit > check tool_text_delete #0`] = ` font-weight="bold" id="svg_1" stroke="#0000bf" - text-anchor="end" + text-anchor="middle" transform="matrix(1 0 0 1 0 0)" x="46" xml:space="preserve" @@ -761,7 +626,7 @@ exports[`use various parts of svg-edit > check tool_text_change_font_family #0`] font-weight="bold" id="svg_1" stroke="#0000bf" - text-anchor="end" + text-anchor="middle" x="46" xml:space="preserve" y="35" diff --git a/cypress/integration/ui/scenario.js b/cypress/integration/ui/scenario.js index 8015a2f0..ec90a08a 100644 --- a/cypress/integration/ui/scenario.js +++ b/cypress/integration/ui/scenario.js @@ -102,24 +102,6 @@ describe('use various parts of svg-edit', function () { .find('#Ok').eq(0).click({ force: true }) testSnapshot() }) - it('check tool_text_anchor_start', function () { - cy.get('#svg_1').click({ force: true }) - cy.get('#tool_text_anchor_start') - .click({ force: true }) - testSnapshot() - }) - it('check tool_text_anchor_middle', function () { - cy.get('#svg_1').click({ force: true }) - cy.get('#tool_text_anchor_middle') - .click({ force: true }) - testSnapshot() - }) - it('check tool_text_anchor_end', function () { - cy.get('#svg_1').click({ force: true }) - cy.get('#tool_text_anchor_end') - .click({ force: true }) - testSnapshot() - }) it('check tool_text_change_rotation', function () { cy.get('#svg_2').click({ force: true }) for (let n = 0; n < 5; n++) { diff --git a/src/editor/panels/TopPanel.html b/src/editor/panels/TopPanel.html index 3f010ac6..f9e0b531 100644 --- a/src/editor/panels/TopPanel.html +++ b/src/editor/panels/TopPanel.html @@ -1,181 +1,183 @@
-
-
- - -
-
-
- - -
- -
-
- - -
-
-
- - - -
-
- - - -
-
-
- -
-
- - - - - - - - - - - - - - - -
-
- - - - -
- -
-
- - -
-
-
- - - - - - - - - - - - -
-
- - - -
-
- - -
-
- -
-
- - -
-
- -
-
- - -
-
- - -
-
- - - - - - - - -
-
- - - - -
-
- - - - -
- - -
-
- -
-
- -
-
- -
- -
- -
-
-
- -
- - - - - - - - - -
-
-
\ No newline at end of file +
+
+ + +
+
+
+ + +
+ +
+
+ + +
+
+
+ + + +
+
+ + + +
+
+
+ +
+
+ + + + + + + + + + + + + + + +
+
+ + + + +
+ +
+
+ + +
+
+
+ + + + + + + + + + + + +
+
+ + + +
+
+ + +
+
+ +
+
+ + +
+
+ +
+
+ + +
+
+ + +
+
+ + + + + + + + +
+
+ + + + + + + + + + + + +
+ + +
+
+ +
+
+ +
+
+ +
+ +
+ +
+
+
+ +
+ + + + + + + + + +
+
+ diff --git a/src/editor/panels/TopPanel.js b/src/editor/panels/TopPanel.js index 1cb48d9d..bacf5a3b 100644 --- a/src/editor/panels/TopPanel.js +++ b/src/editor/panels/TopPanel.js @@ -353,28 +353,9 @@ class TopPanel { $id('tool_italic').pressed = this.editor.svgCanvas.getItalic() $id('tool_bold').pressed = this.editor.svgCanvas.getBold() $id('tool_font_family').setAttribute('value', elem.getAttribute('font-family')) + $id('tool_text_anchor').setAttribute('value', elem.getAttribute('text-anchor')) $id('font_size').value = elem.getAttribute('font-size') $id('text').value = elem.textContent - const textAnchorStart = $id('tool_text_anchor_start') - const textAnchorMiddle = $id('tool_text_anchor_middle') - const textAnchorEnd = $id('tool_text_anchor_end') - switch (elem.getAttribute('text-anchor')) { - case 'start': - textAnchorStart.pressed = true - textAnchorMiddle.pressed = false - textAnchorEnd.pressed = false - break - case 'middle': - textAnchorStart.pressed = false - textAnchorMiddle.pressed = true - textAnchorEnd.pressed = false - break - case 'end': - textAnchorStart.pressed = false - textAnchorMiddle.pressed = false - textAnchorEnd.pressed = true - break - } if (this.editor.svgCanvas.addedNew) { // Timeout needed for IE9 setTimeout(() => { @@ -764,13 +745,12 @@ class TopPanel { } /** + * Sets the text anchor value * - * @param {string} value "start","end" or "middle" * @returns {false} */ - clickTextAnchor (value) { - this.editor.svgCanvas.setTextAnchor(value) - this.updateContextPanel() + clickTextAnchor (evt) { + this.editor.svgCanvas.setTextAnchor(evt.detail.value) return false } @@ -889,9 +869,7 @@ class TopPanel { $id('tool_ungroup').addEventListener('click', this.clickGroup.bind(this)) $id('tool_bold').addEventListener('click', this.clickBold.bind(this)) $id('tool_italic').addEventListener('click', this.clickItalic.bind(this)) - $id('tool_text_anchor_start').addEventListener('click', () => this.clickTextAnchor.bind(this)('start')) - $id('tool_text_anchor_middle').addEventListener('click', () => this.clickTextAnchor.bind(this)('middle')) - $id('tool_text_anchor_end').addEventListener('click', () => this.clickTextAnchor.bind(this)('end')) + $id('tool_text_anchor').addEventListener('change', (evt) => this.clickTextAnchor.bind(this)(evt)) $id('tool_unlink_use').addEventListener('click', this.clickGroup.bind(this)) $id('image_url').addEventListener('change', (evt) => { this.setImageURL(evt.currentTarget.value) }); diff --git a/src/svgcanvas/elem-get-set.js b/src/svgcanvas/elem-get-set.js index 854c78bf..121b18a9 100644 --- a/src/svgcanvas/elem-get-set.js +++ b/src/svgcanvas/elem-get-set.js @@ -638,7 +638,7 @@ export const setTextAnchorMethod = function (value) { isNullish(selectedElements[1])) { svgCanvas.changeSelectedAttribute('text-anchor', value) } - if (!selectedElements[0].textContent) { + if (selectedElements.length > 0 && !selectedElements[0].textContent) { svgCanvas.textActions.setCursor() } }