diff --git a/cypress/integration/ui/__snapshots__/scenario.js.snap b/cypress/integration/ui/__snapshots__/scenario.js.snap index 9b94fa4d..3466568a 100644 --- a/cypress/integration/ui/__snapshots__/scenario.js.snap +++ b/cypress/integration/ui/__snapshots__/scenario.js.snap @@ -1,932 +1,199 @@ exports[`use various parts of svg-edit > check tool_source #0`] = ` - - Layer 1 + + + Layer 1 + `; exports[`use various parts of svg-edit > check tool_fhpath #0`] = ` - - Layer 1 + + + Layer 1 + `; exports[`use various parts of svg-edit > check tool_text #0`] = ` - - - Layer 1 - - AB - - + + + Layer 1 + AB + `; exports[`use various parts of svg-edit > check tool_clone #0`] = ` - - - Layer 1 - - AB - - - AB - - + + + Layer 1 + AB + AB + `; exports[`use various parts of svg-edit > check tool_italic #0`] = ` - - - Layer 1 - - AB - - - AB - - + + + Layer 1 + AB + AB + `; exports[`use various parts of svg-edit > check tool_bold #0`] = ` - - - Layer 1 - - AB - - - AB - - + + + Layer 1 + AB + AB + `; exports[`use various parts of svg-edit > check tool_text_change_x_y_coordinate #0`] = ` - - - Layer 1 - - AB - - - AB - - + + + Layer 1 + AB + AB + `; exports[`use various parts of svg-edit > check tool_text_change_font_size #0`] = ` - - - Layer 1 - - AB - - - AB - - + + + Layer 1 + AB + AB + `; exports[`use various parts of svg-edit > check tool_text_change_stroke_width #0`] = ` - - - Layer 1 - - AB - - - AB - - + + + Layer 1 + AB + AB + `; exports[`use various parts of svg-edit > check tool_text_change_stoke_fill_color #0`] = ` - - - Layer 1 - - AB - - - AB - - + + + Layer 1 + AB + AB + `; exports[`use various parts of svg-edit > check tool_text_anchor_start #0`] = ` - - - Layer 1 - - AB - - - AB - - + + + Layer 1 + AB + AB + `; exports[`use various parts of svg-edit > check tool_text_anchor_middle #0`] = ` - - - Layer 1 - - AB - - - AB - - + + + Layer 1 + AB + AB + `; exports[`use various parts of svg-edit > check tool_text_anchor_end #0`] = ` - - - Layer 1 - - AB - - - AB - - + + + Layer 1 + AB + AB + `; exports[`use various parts of svg-edit > check tool_text_change_rotation #0`] = ` - - - Layer 1 - - AB - - - AB - - + + + Layer 1 + AB + AB + `; exports[`use various parts of svg-edit > check tool_text_change_blur #0`] = ` - - - Layer 1 - - AB - - - AB - - - - - - - + + + Layer 1 + AB + AB + + + + + + `; exports[`use various parts of svg-edit > check tool_text_change_opacity #0`] = ` - - - Layer 1 - - AB - - - AB - - - - - - - + + + Layer 1 + AB + AB + + + + + + `; exports[`use various parts of svg-edit > check tool_text_align_to_page #0`] = ` - - - Layer 1 - - AB - - - AB - - - - - - - + + + Layer 1 + AB + AB + + + + + + `; exports[`use various parts of svg-edit > check tool_text_delete #0`] = ` - - - Layer 1 - - AB - - - - - - - + + + Layer 1 + AB + + `; exports[`use various parts of svg-edit > check tool_text_change_font_family #0`] = ` - - - Layer 1 - - AB - - - - - - - + + + Layer 1 + AB + + `; diff --git a/cypress/integration/ui/__snapshots__/scenario1.js.snap b/cypress/integration/ui/__snapshots__/scenario1.js.snap index 5a8ea21f..bfe8d67f 100644 --- a/cypress/integration/ui/__snapshots__/scenario1.js.snap +++ b/cypress/integration/ui/__snapshots__/scenario1.js.snap @@ -1,91 +1,28 @@ exports[`use all parts of svg-edit > check tool_source_set #0`] = ` - - Layer 1 + + + Layer 1 + `; exports[`use all parts of svg-edit > check tool_shape #0`] = ` - - - Layer 1 - - + + + Layer 1 + + `; exports[`use all parts of svg-edit > check tool_image #0`] = ` - - - Layer 1 - - - - - + + + Layer 1 + + + + + `; diff --git a/cypress/integration/ui/__snapshots__/scenario2.js.snap b/cypress/integration/ui/__snapshots__/scenario2.js.snap index a918f5e7..a2dc6c1d 100644 --- a/cypress/integration/ui/__snapshots__/scenario2.js.snap +++ b/cypress/integration/ui/__snapshots__/scenario2.js.snap @@ -1,710 +1,173 @@ exports[`use all parts of svg-edit > check tool_source_set #0`] = ` - - Layer 1 + + + Layer 1 + `; exports[`use all parts of svg-edit > check tool_circle #0`] = ` - - - Layer 1 - - - - + + + Layer 1 + + + + `; exports[`use all parts of svg-edit > check tool_fhellipse #0`] = ` - - - Layer 1 - - - - - + + + Layer 1 + + + + + `; exports[`use all parts of svg-edit > check tool_ellipse #0`] = ` - - - Layer 1 - - - - - - + + + Layer 1 + + + + + + `; exports[`use all parts of svg-edit > check tool_circle_change_fill_color #0`] = ` - - - Layer 1 - - - - + + + Layer 1 + + + + `; exports[`use all parts of svg-edit > check tool_circle_change_opacity #0`] = ` - - - Layer 1 - - - - + + + Layer 1 + + + + `; exports[`use all parts of svg-edit > check tool_ellipse_change_rotation #0`] = ` - - - Layer 1 - - - - + + + Layer 1 + + + + `; exports[`use all parts of svg-edit > check tool_ellipse_change_blur #0`] = ` - - - Layer 1 - - - - - - - - - + + + Layer 1 + + + + + + + + + `; exports[`use all parts of svg-edit > check tool_ellipse_change_cx_cy_coordinate #0`] = ` - - - Layer 1 - - - - - - - - - + + + Layer 1 + + + + + + + + + `; exports[`use all parts of svg-edit > check tool_ellipse_change_rx_ry_radius #0`] = ` - - - Layer 1 - - - - - - - - - + + + Layer 1 + + + + + + + + + `; exports[`use all parts of svg-edit > check tool_ellipse_bring_to_back #0`] = ` - - - Layer 1 - - - - - - - - - + + + Layer 1 + + + + + + + + + `; exports[`use all parts of svg-edit > check tool_ellipse_bring_to_front #0`] = ` - - - Layer 1 - - - - - - - - - + + + Layer 1 + + + + + + + + + `; exports[`use all parts of svg-edit > check tool_ellipse_clone #0`] = ` - - - Layer 1 - - - - - - - - - - + + + Layer 1 + + + + + + + + + + `; diff --git a/cypress/integration/ui/__snapshots__/scenario3.js.snap b/cypress/integration/ui/__snapshots__/scenario3.js.snap index e092e9d9..7816e847 100644 --- a/cypress/integration/ui/__snapshots__/scenario3.js.snap +++ b/cypress/integration/ui/__snapshots__/scenario3.js.snap @@ -1,157 +1,36 @@ exports[`use all parts of svg-edit > check tool_source_set #0`] = ` - - Layer 1 + + + Layer 1 + `; exports[`use all parts of svg-edit > check tool_path #0`] = ` - - - Layer 1 - - - - + + + Layer 1 + + + + `; exports[`use all parts of svg-edit > check tool_path_change_node_xy #0`] = ` - - - Layer 1 - - - -`; - -exports[`use all parts of svg-edit > check tool_path_change_seg_type #0`] = ` - - - Layer 1 - - - -`; - -exports[`use all parts of svg-edit > check tool_path_change_clone_node #0`] = ` - - - Layer 1 - - + + + Layer 1 + + `; exports[`use all parts of svg-edit > check tool_path_openclose #0`] = ` - - - Layer 1 - - + + + Layer 1 + + `; diff --git a/cypress/integration/ui/__snapshots__/scenario4.js.snap b/cypress/integration/ui/__snapshots__/scenario4.js.snap index e707fc10..89f75f08 100644 --- a/cypress/integration/ui/__snapshots__/scenario4.js.snap +++ b/cypress/integration/ui/__snapshots__/scenario4.js.snap @@ -1,947 +1,197 @@ exports[`use all parts of svg-edit > check tool_source_set #0`] = ` - - Layer 1 + + + Layer 1 + `; exports[`use all parts of svg-edit > check tool_rect #0`] = ` - - - Layer 1 - - - - + + + Layer 1 + + + + `; exports[`use all parts of svg-edit > check tool_fhrect #0`] = ` - - - Layer 1 - - - - - + + + Layer 1 + + + + + `; exports[`use all parts of svg-edit > check tool_square #0`] = ` - - - Layer 1 - - - - - - + + + Layer 1 + + + + + + `; exports[`use all parts of svg-edit > check tool_rect_change_fill_color #0`] = ` - - - Layer 1 - - - - + + + Layer 1 + + + + `; exports[`use all parts of svg-edit > check tool_rect_change_rotation #0`] = ` - - - Layer 1 - - - - + + + Layer 1 + + + + `; exports[`use all parts of svg-edit > check tool_rect_change_blur #0`] = ` - - - Layer 1 - - - - - - - - - + + + Layer 1 + + + + + + + + + `; exports[`use all parts of svg-edit > check tool_rect_change_opacity #0`] = ` - - - Layer 1 - - - - - - - - - + + + Layer 1 + + + + + + + + + `; exports[`use all parts of svg-edit > check tool_fhrect_change_x_y_coordinate #0`] = ` - - - Layer 1 - - - - - - - - - + + + Layer 1 + + + + + + + + + `; exports[`use all parts of svg-edit > check tool_fhrect_change_width_height #0`] = ` - - - Layer 1 - - - - - - - - - + + + Layer 1 + + + + + + + + + `; exports[`use all parts of svg-edit > check tool_square_clone #0`] = ` - - - Layer 1 - - - - - - - - - - + + + Layer 1 + + + + + + + + + + `; exports[`use all parts of svg-edit > check tool_square_bring_to_back #0`] = ` - - - Layer 1 - - - - - - - - - - + + + Layer 1 + + + + + + + + + + `; exports[`use all parts of svg-edit > check tool_square_bring_to_front #0`] = ` - - - Layer 1 - - - - - - - - - - + + + Layer 1 + + + + + + + + + + `; exports[`use all parts of svg-edit > check tool_square_change_corner_radius #0`] = ` - - - Layer 1 - - - - - - - - - - - -`; - -exports[`use all parts of svg-edit > check tool_rect_change_to_path #0`] = ` - - - Layer 1 - - - - - - - - - - - -`; - -exports[`use all parts of svg-edit > check tool_rect_delete #0`] = ` - - - Layer 1 - - - - - - - - + + + Layer 1 + + + + + + + + + + `; diff --git a/cypress/integration/ui/__snapshots__/scenario5.js.snap b/cypress/integration/ui/__snapshots__/scenario5.js.snap index 11da7857..626f7ffd 100644 --- a/cypress/integration/ui/__snapshots__/scenario5.js.snap +++ b/cypress/integration/ui/__snapshots__/scenario5.js.snap @@ -1,604 +1,157 @@ exports[`use all parts of svg-edit > check tool_source_set #0`] = ` - - Layer 1 + + + Layer 1 + `; exports[`use all parts of svg-edit > check tool_line #0`] = ` - - - Layer 1 - - - - + + + Layer 1 + + + + `; exports[`use all parts of svg-edit > check tool_line_change_rotation #0`] = ` - - - Layer 1 - - + + + Layer 1 + + `; exports[`use all parts of svg-edit > check tool_line_change_blur #0`] = ` - - - Layer 1 - - - - - - - + + + Layer 1 + + + + + + + `; exports[`use all parts of svg-edit > check tool_line_change_opacity #0`] = ` - - - Layer 1 - - - - - - - + + + Layer 1 + + + + + + + `; exports[`use all parts of svg-edit > check tool_line_delete #0`] = ` - - - Layer 1 - - - - - - + + + Layer 1 + + `; exports[`use all parts of svg-edit > check tool_line_clone #0`] = ` - - - Layer 1 - - - - - - - - - - - - + + + Layer 1 + + + + + + + + `; exports[`use all parts of svg-edit > check tool_line_bring_to_back #0`] = ` - - - Layer 1 - - - - - - - - - - + + + Layer 1 + + + + + + `; exports[`use all parts of svg-edit > check tool_line_bring_to_front #0`] = ` - - - Layer 1 - - - - - - - - - - + + + Layer 1 + + + + + + `; exports[`use all parts of svg-edit > check tool_line_change_x_y_coordinate #0`] = ` - - - Layer 1 - - - - - - - - - - + + + Layer 1 + + + + + + `; exports[`use all parts of svg-edit > check tool_line_change_stroke_width #0`] = ` - - - Layer 1 - - - - - - - - - - + + + Layer 1 + + + + + + `; exports[`use all parts of svg-edit > check tool_line_change_stoke_color #0`] = ` - - - Layer 1 - - - - - - - - - - + + + Layer 1 + + + + + + `; exports[`use all parts of svg-edit > check tool_line_align_to_page #0`] = ` - - - Layer 1 - - - - - - - - - - + + + Layer 1 + + + + + + `; diff --git a/cypress/integration/ui/__snapshots__/scenario6.js.snap b/cypress/integration/ui/__snapshots__/scenario6.js.snap index 5a724374..56b82de6 100644 --- a/cypress/integration/ui/__snapshots__/scenario6.js.snap +++ b/cypress/integration/ui/__snapshots__/scenario6.js.snap @@ -1,605 +1,148 @@ exports[`use all parts of svg-edit > check tool_source_set #0`] = ` - - Layer 1 + + + Layer 1 + `; exports[`use all parts of svg-edit > check tool_polygon #0`] = ` - - - Layer 1 - - - - + + + Layer 1 + + + + `; exports[`use all parts of svg-edit > check tool_polygon_clone #0`] = ` - - - Layer 1 - - - + + + Layer 1 + + + `; exports[`use all parts of svg-edit > check tool_polygon_change_rotation #0`] = ` - - - Layer 1 - - - + + + Layer 1 + + + `; exports[`use all parts of svg-edit > check tool_polygon_change_blur #0`] = ` - - - Layer 1 - - - - - - - - + + + Layer 1 + + + + + + + + `; exports[`use all parts of svg-edit > check tool_polygon_change_opacity #0`] = ` - - - Layer 1 - - - - - - - - + + + Layer 1 + + + + + + + + `; exports[`use all parts of svg-edit > check tool_polygon_bring_to_back #0`] = ` - - - Layer 1 - - - - - - - - + + + Layer 1 + + + + + + + + `; exports[`use all parts of svg-edit > check tool_polygon_bring_to_front #0`] = ` - - - Layer 1 - - - - - - - - + + + Layer 1 + + + + + + + + `; exports[`use all parts of svg-edit > check tool_polygon_delete #0`] = ` - - - Layer 1 - - - - - - - + + + Layer 1 + + + `; exports[`use all parts of svg-edit > check tool_polygon_align_to_page #0`] = ` - - - Layer 1 - - - - - - - + + + Layer 1 + + + `; exports[`use all parts of svg-edit > check tool_polygon_change_stroke_width #0`] = ` - - - Layer 1 - - - - - - - + + + Layer 1 + + + `; exports[`use all parts of svg-edit > check tool_polygon_change_stoke_fill_color #0`] = ` - - - Layer 1 - - - - - - - + + + Layer 1 + + + `; exports[`use all parts of svg-edit > check tool_polygon_change_sides #0`] = ` - - - Layer 1 - - - - - - - + + + Layer 1 + + + `; diff --git a/cypress/integration/ui/__snapshots__/scenario7.js.snap b/cypress/integration/ui/__snapshots__/scenario7.js.snap index e61b2f37..d59bd5ee 100644 --- a/cypress/integration/ui/__snapshots__/scenario7.js.snap +++ b/cypress/integration/ui/__snapshots__/scenario7.js.snap @@ -1,659 +1,148 @@ exports[`use all parts of svg-edit > check tool_source_set #0`] = ` - - Layer 1 + + + Layer 1 + `; exports[`use all parts of svg-edit > check tool_star #0`] = ` - - - Layer 1 - - - - + + + Layer 1 + + + + `; exports[`use all parts of svg-edit > check tool_star_clone #0`] = ` - - - Layer 1 - - - + + + Layer 1 + + + `; exports[`use all parts of svg-edit > check tool_star_change_rotation #0`] = ` - - - Layer 1 - - - + + + Layer 1 + + + `; exports[`use all parts of svg-edit > check tool_star_change_blur #0`] = ` - - - Layer 1 - - - - - - - - + + + Layer 1 + + + + + + + + `; exports[`use all parts of svg-edit > check tool_star_change_opacity #0`] = ` - - - Layer 1 - - - - - - - - + + + Layer 1 + + + + + + + + `; exports[`use all parts of svg-edit > check tool_star_bring_to_back #0`] = ` - - - Layer 1 - - - - - - - - + + + Layer 1 + + + + + + + + `; exports[`use all parts of svg-edit > check tool_star_bring_to_front #0`] = ` - - - Layer 1 - - - - - - - - + + + Layer 1 + + + + + + + + `; exports[`use all parts of svg-edit > check tool_star_delete #0`] = ` - - - Layer 1 - - - - - - - + + + Layer 1 + + + `; exports[`use all parts of svg-edit > check tool_star_align_to_page #0`] = ` - - - Layer 1 - - - - - - - + + + Layer 1 + + + `; exports[`use all parts of svg-edit > check tool_star_change_stroke_width #0`] = ` - - - Layer 1 - - - - - - - + + + Layer 1 + + + `; exports[`use all parts of svg-edit > check tool_star_change_stoke_fill_color #0`] = ` - - - Layer 1 - - - - - - - + + + Layer 1 + + + `; exports[`use all parts of svg-edit > check tool_star_change_sides #0`] = ` - - - Layer 1 - - - - - - - + + + Layer 1 + + + `; diff --git a/cypress/integration/ui/key-commands.js b/cypress/integration/ui/key-commands.js index 9ae6ff7c..f758af70 100644 --- a/cypress/integration/ui/key-commands.js +++ b/cypress/integration/ui/key-commands.js @@ -8,7 +8,7 @@ describe('Key commands', function () { visitAndApproveStorage() }) - it.skip('cmd-A on empty canvas should not cause an error', function () { + it('cmd-A on empty canvas should not cause an error', function () { cy.get('body').type('{cmd}a') }) }) diff --git a/cypress/integration/ui/scenario.js b/cypress/integration/ui/scenario.js index a768e44b..8015a2f0 100644 --- a/cypress/integration/ui/scenario.js +++ b/cypress/integration/ui/scenario.js @@ -1,11 +1,7 @@ import { - visitAndApproveStorage + visitAndApproveStorage, testSnapshot } from '../../support/ui-test-helper.js' -const testSnapshot = () => { - cy.get('#svgcontent').cleanSnapshot() -} - describe('use various parts of svg-edit', function () { before(() => { visitAndApproveStorage() diff --git a/cypress/integration/ui/scenario1.js b/cypress/integration/ui/scenario1.js index 5dff79ba..1ba959fb 100644 --- a/cypress/integration/ui/scenario1.js +++ b/cypress/integration/ui/scenario1.js @@ -1,11 +1,7 @@ import { - visitAndApproveStorage + visitAndApproveStorage, testSnapshot } from '../../support/ui-test-helper.js' -const testSnapshot = () => { - cy.get('#svgcontent').cleanSnapshot() -} - describe('use all parts of svg-edit', function () { before(() => { visitAndApproveStorage() diff --git a/cypress/integration/ui/scenario2.js b/cypress/integration/ui/scenario2.js index c0051639..26d88ddf 100644 --- a/cypress/integration/ui/scenario2.js +++ b/cypress/integration/ui/scenario2.js @@ -1,11 +1,7 @@ import { - visitAndApproveStorage + visitAndApproveStorage, testSnapshot } from '../../support/ui-test-helper.js' -const testSnapshot = () => { - cy.get('#svgcontent').cleanSnapshot() -} - describe('use all parts of svg-edit', function () { before(() => { visitAndApproveStorage() diff --git a/cypress/integration/ui/scenario3.js b/cypress/integration/ui/scenario3.js index 0150466c..81c4e758 100644 --- a/cypress/integration/ui/scenario3.js +++ b/cypress/integration/ui/scenario3.js @@ -1,11 +1,7 @@ import { - visitAndApproveStorage + visitAndApproveStorage, testSnapshot } from '../../support/ui-test-helper.js' -const testSnapshot = () => { - cy.get('#svgcontent').cleanSnapshot() -} - describe('use all parts of svg-edit', function () { before(() => { visitAndApproveStorage() @@ -56,7 +52,7 @@ describe('use all parts of svg-edit', function () { it('check tool_path_change_seg_type', function () { cy.get('#svg_1').click({ force: true }) cy.get('#svg_1').dblclick({ force: true }) - cy.get('#seg_type').shadow().find('select').select('6').should('have.value', '6') + cy.get('#seg_type').shadow().find('select').select('6', { force: true }).should('have.value', '6') cy.get('#ctrlpointgrip_3c1') .trigger('mousedown', { force: true }) .trigger('mousemove', 130, 175, { force: true }) diff --git a/cypress/integration/ui/scenario4.js b/cypress/integration/ui/scenario4.js index db3b91d8..c6ad9706 100644 --- a/cypress/integration/ui/scenario4.js +++ b/cypress/integration/ui/scenario4.js @@ -1,11 +1,7 @@ import { - visitAndApproveStorage + visitAndApproveStorage, testSnapshot } from '../../support/ui-test-helper.js' -const testSnapshot = () => { - cy.get('#svgcontent').cleanSnapshot() -} - describe('use all parts of svg-edit', function () { before(() => { visitAndApproveStorage() diff --git a/cypress/integration/ui/scenario5.js b/cypress/integration/ui/scenario5.js index 8bee0396..3ec70183 100644 --- a/cypress/integration/ui/scenario5.js +++ b/cypress/integration/ui/scenario5.js @@ -1,11 +1,7 @@ import { - visitAndApproveStorage + visitAndApproveStorage, testSnapshot } from '../../support/ui-test-helper.js' -const testSnapshot = () => { - cy.get('#svgcontent').cleanSnapshot() -} - describe('use all parts of svg-edit', function () { before(() => { visitAndApproveStorage() diff --git a/cypress/integration/ui/scenario6.js b/cypress/integration/ui/scenario6.js index 240931b5..53e4c1d9 100644 --- a/cypress/integration/ui/scenario6.js +++ b/cypress/integration/ui/scenario6.js @@ -1,11 +1,7 @@ import { - visitAndApproveStorage + visitAndApproveStorage, testSnapshot } from '../../support/ui-test-helper.js' -const testSnapshot = () => { - cy.get('#svgcontent').cleanSnapshot() -} - describe('use all parts of svg-edit', function () { before(() => { visitAndApproveStorage() diff --git a/cypress/integration/ui/scenario7.js b/cypress/integration/ui/scenario7.js index 30886f6f..e5f273eb 100644 --- a/cypress/integration/ui/scenario7.js +++ b/cypress/integration/ui/scenario7.js @@ -1,11 +1,7 @@ import { - visitAndApproveStorage + visitAndApproveStorage, testSnapshot } from '../../support/ui-test-helper.js' -const testSnapshot = () => { - cy.get('#svgcontent').cleanSnapshot() -} - describe('use all parts of svg-edit', function () { before(() => { visitAndApproveStorage() diff --git a/cypress/support/commands.js b/cypress/support/commands.js index 33de4769..ca4d256f 100644 --- a/cypress/support/commands.js +++ b/cypress/support/commands.js @@ -23,26 +23,3 @@ // // -- This will overwrite an existing command -- // Cypress.Commands.overwrite("visit", (originalFn, url, options) => { ... }) -/* globals Cypress */ -// remove the style attributes that is causing differences in snapshots -const ngAttributes = ['style'] - -Cypress.Commands.add( - 'cleanSnapshot', - { - prevSubject: true - }, - (subject, _snapshotOptions) => { - let html = subject[0].outerHTML - - for (const attribute of ngAttributes) { - const expression = new RegExp(`${attribute}[^= ]*="[^"]*"`, 'g') - html = html.replace(expression, '') - } - html = html.replace(//g, '') - - const sanitisedBody = new DOMParser().parseFromString(html, 'text/html').querySelector('body') - - return cy.wrap(sanitisedBody.firstChild).toMatchSnapshot() - } -) diff --git a/cypress/support/ui-test-helper.js b/cypress/support/ui-test-helper.js index 1276cebd..c1550e94 100644 --- a/cypress/support/ui-test-helper.js +++ b/cypress/support/ui-test-helper.js @@ -1,5 +1,4 @@ export const approveStorage = () => { - // JFH will need to be chnaged when dialog is changed... cy.get('#storage_ok').click() } @@ -22,3 +21,10 @@ export const selectEnglish = () => { cy.get('#lang_select').select('en') cy.get('#tool_prefs_save').click() } + +export const testSnapshot = () => { + cy.window().then((win) => { // access to the remote Window so we can get the svgEditor variable + const svgContent = win.svgEditor.svgCanvas.getSvgString() + cy.wrap(unescape(svgContent)).toMatchSnapshot() + }) +} diff --git a/src/common/units.js b/src/common/units.js index a9adbd7e..7c33da82 100644 --- a/src/common/units.js +++ b/src/common/units.js @@ -259,7 +259,7 @@ export const convertToNum = function (attr, val) { * @param {Element} selectedElement * @returns {boolean} Whether the unit is valid */ -export const isValidUnit = function (attr, val, selectedElement) { +export const isValidUnit = (attr, val, selectedElement) => { if (unitAttrs.includes(attr)) { // True if it's just a number if (!isNaN(val)) { @@ -277,14 +277,14 @@ export const isValidUnit = function (attr, val, selectedElement) { // and the id value is valid. let result = false - // because getElem() can throw an exception in the case of an invalid id + // because getElement() can throw an exception in the case of an invalid id // (according to https://www.w3.org/TR/xml-id/ IDs must be a NCName) // we wrap it in an exception and only return true if the ID was valid and // not already present try { const elem = elementContainer_.getElement(val) result = (!elem || elem === selectedElement) - } catch (e) { /* empty fn */ } + } catch (e) { console.error(e) } return result } return true diff --git a/src/editor/Editor.js b/src/editor/Editor.js index a897d3b8..47daccd1 100644 --- a/src/editor/Editor.js +++ b/src/editor/Editor.js @@ -116,8 +116,9 @@ class Editor extends EditorStartup { this.topPanel = new TopPanel(this) this.layersPanel = new LayersPanel(this) this.mainMenu = new MainMenu(this) + // makes svgEditor accessible as a global variable window.svgEditor = this - } + } // end Constructor /** * diff --git a/src/editor/components/jgraduate/jQuery.jPicker.js b/src/editor/components/jgraduate/jQuery.jPicker.js index ff293757..f672f9f5 100755 --- a/src/editor/components/jgraduate/jQuery.jPicker.js +++ b/src/editor/components/jgraduate/jQuery.jPicker.js @@ -15,7 +15,6 @@ * Color Picker page: {@link http://johndyer.name/photoshop-like-javascript-color-picker/} */ /* eslint-disable max-len */ -/* gl#bals svgEditor */ import ColorValuePicker from './ColorValuePicker.js' import Slider from './Slider.js' import { findPos, mergeDeep } from './Util.js' diff --git a/src/editor/extensions/ext-markers/ext-markers.js b/src/editor/extensions/ext-markers/ext-markers.js index b7e936b6..7659c576 100644 --- a/src/editor/extensions/ext-markers/ext-markers.js +++ b/src/editor/extensions/ext-markers/ext-markers.js @@ -72,7 +72,7 @@ export default { if (!m || m.length !== 2) { return null } - return svgCanvas.getElem(m[1]) + return svgCanvas.getElement(m[1]) } /** @@ -101,7 +101,7 @@ export default { */ const addMarker = (id, seType) => { const selElems = svgCanvas.getSelectedElements() - let marker = svgCanvas.getElem(id) + let marker = svgCanvas.getElement(id) if (marker) { return undefined } if (seType === '' || seType === 'nomarker') { return undefined } const el = selElems[0] diff --git a/src/svgcanvas/blur-event.js b/src/svgcanvas/blur-event.js index 039a875d..e2cdd3ad 100644 --- a/src/svgcanvas/blur-event.js +++ b/src/svgcanvas/blur-event.js @@ -31,19 +31,15 @@ export const setBlurNoUndo = function (val) { if (val === 0) { // Don't change the StdDev, as that will hide the element. // Instead, just remove the value for "filter" - svgCanvas.changeSelectedAttributeNoUndoMethod('filter', '') + svgCanvas.changeSelectedAttributeNoUndo('filter', '') svgCanvas.setFilterHidden(true) } else { const elem = selectedElements[0] if (svgCanvas.getFilterHidden()) { - svgCanvas.changeSelectedAttributeNoUndoMethod('filter', 'url(#' + elem.id + '_blur)') - } - if (svgCanvas.isWebkit()) { - elem.removeAttribute('filter') - elem.setAttribute('filter', 'url(#' + elem.id + '_blur)') + svgCanvas.changeSelectedAttributeNoUndo('filter', 'url(#' + elem.id + '_blur)') } const filter = svgCanvas.getFilter() - svgCanvas.changeSelectedAttributeNoUndoMethod('stdDeviation', val, [filter.firstChild]) + svgCanvas.changeSelectedAttributeNoUndo('stdDeviation', val, [filter.firstChild]) svgCanvas.setBlurOffsets(filter, val) } } @@ -77,8 +73,7 @@ export const setBlurOffsets = function (filterElem, stdDev) { width: '200%', height: '200%' }, 100) - // Removing these attributes hides text in Chrome (see Issue 579) - } else if (!svgCanvas.isWebkit()) { + } else { filterElem.removeAttribute('x') filterElem.removeAttribute('y') filterElem.removeAttribute('width') @@ -107,7 +102,7 @@ export const setBlur = function (val, complete) { // Looks for associated blur, creates one if not found const elem = selectedElements[0] const elemId = elem.id - svgCanvas.setFilter(svgCanvas.getElem(elemId + '_blur')) + svgCanvas.setFilter(svgCanvas.getElement(elemId + '_blur')) val -= 0 diff --git a/src/svgcanvas/draw.js b/src/svgcanvas/draw.js index 4e8ac203..0e23ea14 100644 --- a/src/svgcanvas/draw.js +++ b/src/svgcanvas/draw.js @@ -10,7 +10,7 @@ import HistoryRecordingService from './historyrecording.js' import { NS } from './namespaces.js' import { - toXml, getElem + toXml, getElement } from './utilities.js' import { copyElem as utilCopyElem @@ -1013,7 +1013,7 @@ export const setContext = function (elem) { const dataStorage = svgCanvas.getDataStorage() leaveContext() if (typeof elem === 'string') { - elem = getElem(elem) + elem = getElement(elem) } // Edit inside this group diff --git a/src/svgcanvas/elem-get-set.js b/src/svgcanvas/elem-get-set.js index 54fed45f..5dd14fcb 100644 --- a/src/svgcanvas/elem-get-set.js +++ b/src/svgcanvas/elem-get-set.js @@ -8,7 +8,7 @@ import { jGraduate } from '../editor/components/jgraduate/jQuery.jGraduate.js' import { NS } from './namespaces.js' import { getVisibleElements, getStrokedBBoxDefaultVisible, findDefs, - walkTree, isNullish, getHref, setHref, getElem + walkTree, isNullish, getHref, setHref, getElement } from './utilities.js' import { convertToNum @@ -356,7 +356,7 @@ export const setColorMethod = function (type, val, preventUndo) { svgCanvas.changeSelectedAttribute(type, val, elems) svgCanvas.call('changed', elems) } else { - svgCanvas.changeSelectedAttributeNoUndoMethod(type, val, elems) + svgCanvas.changeSelectedAttributeNoUndo(type, val, elems) } } } @@ -883,10 +883,10 @@ export const setSegTypeMethod = function (newType) { * @returns {void} */ export const setBackgroundMethod = function (color, url) { - const bg = getElem('canvasBackground') + const bg = getElement('canvasBackground') const border = bg.querySelector('rect') - let bgImg = getElem('background_image') - let bgPattern = getElem('background_pattern') + let bgImg = getElement('background_image') + let bgPattern = getElement('background_pattern') border.setAttribute('fill', color === 'chessboard' ? '#fff' : color) if (color === 'chessboard') { if (!bgPattern) { diff --git a/src/svgcanvas/event.js b/src/svgcanvas/event.js index 0407d964..47d3bab2 100644 --- a/src/svgcanvas/event.js +++ b/src/svgcanvas/event.js @@ -5,7 +5,7 @@ * @copyright 2011 Jeff Schiller */ import { - assignAttributes, cleanupElement, getElem, getRotationAngle, snapToGrid, walkTree, + assignAttributes, cleanupElement, getElement, getRotationAngle, snapToGrid, walkTree, isNullish, preventClickDefault, setHref, getBBox } from './utilities.js' import { @@ -98,7 +98,7 @@ export const mouseMoveEvent = (evt) => { const pt = transformPoint(evt.clientX, evt.clientY, svgCanvas.getrootSctm()) const mouseX = pt.x * zoom const mouseY = pt.y * zoom - const shape = getElem(svgCanvas.getId()) + const shape = getElement(svgCanvas.getId()) let realX = mouseX / zoom let x = realX @@ -555,7 +555,7 @@ export const mouseUpEvent = (evt) => { const x = mouseX / zoom const y = mouseY / zoom - let element = getElem(svgCanvas.getId()) + let element = getElement(svgCanvas.getId()) let keep = false const realX = x diff --git a/src/svgcanvas/json.js b/src/svgcanvas/json.js index 1ee92c67..d7022268 100644 --- a/src/svgcanvas/json.js +++ b/src/svgcanvas/json.js @@ -5,7 +5,7 @@ * * @copyright 2010 Alexis Deveria, 2010 Jeff Schiller */ -import { getElem, assignAttributes, cleanupElement } from './utilities.js' +import { getElement, assignAttributes, cleanupElement } from './utilities.js' import { NS } from './namespaces.js' let svgCanvas = null @@ -67,7 +67,7 @@ export const getJsonFromSvgElements = (data) => { export const addSVGElementsFromJson = function (data) { if (typeof data === 'string') return svgdoc_.createTextNode(data) - let shape = getElem(data.attr.id) + let shape = getElement(data.attr.id) // if shape is a path but we need to create a rect/ellipse, then remove the path const currentLayer = svgCanvas.getDrawing().getCurrentLayer() if (shape && data.element !== shape.tagName) { diff --git a/src/svgcanvas/path-actions.js b/src/svgcanvas/path-actions.js index 882f13af..9d729dde 100644 --- a/src/svgcanvas/path-actions.js +++ b/src/svgcanvas/path-actions.js @@ -14,7 +14,7 @@ import { transformListToTransform } from './math.js' import { - assignAttributes, getElem, getRotationAngle, snapToGrid, isNullish, + assignAttributes, getElement, getRotationAngle, snapToGrid, isNullish, getBBox } from './utilities.js' @@ -338,7 +338,7 @@ export const pathActionsMethod = (function () { const zoom = svgCanvas.getZoom() let x = mouseX / zoom let y = mouseY / zoom - let stretchy = getElem('path_stretch_line') + let stretchy = getElement('path_stretch_line') newPoint = [x, y] if (svgCanvas.getGridSnapping()) { @@ -356,7 +356,7 @@ export const pathActionsMethod = (function () { 'stroke-width': '0.5', fill: 'none' }) - getElem('selectorParentGroup').append(stretchy) + getElement('selectorParentGroup').append(stretchy) } stretchy.setAttribute('display', 'inline') @@ -404,7 +404,7 @@ export const pathActionsMethod = (function () { // Remove previous path object if previously created svgCanvas.removePath_(id) - const newpath = getElem(id) + const newpath = getElement(id) let newseg let sSeg const len = seglist.numberOfItems @@ -624,7 +624,7 @@ export const pathActionsMethod = (function () { svgCanvas.replacePathSeg(6, index, [ptX, ptY, lastX, lastY, altX, altY], drawnPath) } } else { - const stretchy = getElem('path_stretch_line') + const stretchy = getElement('path_stretch_line') if (stretchy) { const prev = seglist.getItem(index) if (prev.pathSegType === 6) { @@ -709,7 +709,7 @@ export const pathActionsMethod = (function () { if (svgCanvas.getCurrentMode() === 'path') { newPoint = null if (!drawnPath) { - element = getElem(svgCanvas.getId()) + element = getElement(svgCanvas.getId()) svgCanvas.setStarted(false) firstCtrl = null } @@ -853,11 +853,11 @@ export const pathActionsMethod = (function () { const drawnPath = svgCanvas.getDrawnPath() currentPath = null if (drawnPath) { - const elem = getElem(svgCanvas.getId()) - const psl = getElem('path_stretch_line') + const elem = getElement(svgCanvas.getId()) + const psl = getElement('path_stretch_line') psl.parentNode.removeChild(psl) elem.parentNode.removeChild(elem) - const pathpointgripContainer = getElem('pathpointgrip_container') + const pathpointgripContainer = getElement('pathpointgrip_container') const elements = pathpointgripContainer.querySelectorAll('*') Array.prototype.forEach.call(elements, function (el) { el.setAttribute('display', 'none') diff --git a/src/svgcanvas/path-method.js b/src/svgcanvas/path-method.js index 45a3ec1d..6672441a 100644 --- a/src/svgcanvas/path-method.js +++ b/src/svgcanvas/path-method.js @@ -13,7 +13,7 @@ import { } from './math.js' import { assignAttributes, getRotationAngle, isNullish, - getElem + getElement } from './utilities.js' let svgCanvas = null @@ -95,9 +95,9 @@ export const getPointFromGripMethod = function (pt, pth) { * @returns {Element} */ export const getGripContainerMethod = function () { - let c = getElem('pathpointgrip_container') + let c = getElement('pathpointgrip_container') if (!c) { - const parentElement = getElem('selectorParentGroup') + const parentElement = getElement('selectorParentGroup') c = document.createElementNS(NS.SVG, 'g') parentElement.append(c) c.id = 'pathpointgrip_container' @@ -117,7 +117,7 @@ export const addPointGripMethod = function (index, x, y) { // create the container of all the point grips const pointGripContainer = getGripContainerMethod() - let pointGrip = getElem('pathpointgrip_' + index) + let pointGrip = getElement('pathpointgrip_' + index) // create it if (!pointGrip) { pointGrip = document.createElementNS(NS.SVG, 'circle') @@ -164,7 +164,7 @@ export const addPointGripMethod = function (index, x, y) { * @returns {SVGCircleElement} */ export const addCtrlGripMethod = function (id) { - let pointGrip = getElem('ctrlpointgrip_' + id) + let pointGrip = getElement('ctrlpointgrip_' + id) if (pointGrip) { return pointGrip } pointGrip = document.createElementNS(NS.SVG, 'circle') @@ -192,7 +192,7 @@ export const addCtrlGripMethod = function (id) { * @returns {SVGLineElement} */ export const getCtrlLineMethod = function (id) { - let ctrlLine = getElem('ctrlLine_' + id) + let ctrlLine = getElement('ctrlLine_' + id) if (ctrlLine) { return ctrlLine } ctrlLine = document.createElementNS(NS.SVG, 'line') @@ -299,7 +299,7 @@ export const replacePathSegMethod = function (type, index, pts, elem) { */ export const getSegSelectorMethod = function (seg, update) { const { index } = seg - let segLine = getElem('segline_' + index) + let segLine = getElement('segline_' + index) if (!segLine) { const pointGripContainer = getGripContainerMethod() // create segline diff --git a/src/svgcanvas/recalculate.js b/src/svgcanvas/recalculate.js index 93cac384..cc5ab1e6 100644 --- a/src/svgcanvas/recalculate.js +++ b/src/svgcanvas/recalculate.js @@ -6,7 +6,6 @@ import { NS } from './namespaces.js' import { convertToNum } from '../common/units.js' -import { isWebkit } from '../common/browser.js' import { getRotationAngle, getHref, getBBox, getRefElem, isNullish } from './utilities.js' import { BatchCommand, ChangeElementCommand } from './history.js' import { remapElement } from './coords.js' @@ -155,7 +154,7 @@ export const recalculateDimensions = function (selected) { // If it still has a single [M] or [R][M], return null too (prevents BatchCommand from being returned). switch (selected.tagName) { - // Ignore these elements, as they can absorb the [M] + // Ignore these elements, as they can absorb the [M] case 'line': case 'polyline': case 'polygon': @@ -609,24 +608,22 @@ export const recalculateDimensions = function (selected) { // Check if it has a gradient with userSpaceOnUse, in which case // adjust it by recalculating the matrix transform. - // TODO: Make this work in Webkit using transformlist.SVGTransformList - if (!isWebkit()) { - const fill = selected.getAttribute('fill') - if (fill && fill.startsWith('url(')) { - const paint = getRefElem(fill) - if (paint) { - let type = 'pattern' - if (paint?.tagName !== type) type = 'gradient' - const attrVal = paint.getAttribute(type + 'Units') - if (attrVal === 'userSpaceOnUse') { - // Update the userSpaceOnUse element - m = transformListToTransform(tlist).matrix - const gtlist = paint.transform.baseVal - const gmatrix = transformListToTransform(gtlist).matrix - m = matrixMultiply(m, gmatrix) - const mStr = 'matrix(' + [m.a, m.b, m.c, m.d, m.e, m.f].join(',') + ')' - paint.setAttribute(type + 'Transform', mStr) - } + + const fill = selected.getAttribute('fill') + if (fill && fill.startsWith('url(')) { + const paint = getRefElem(fill) + if (paint) { + let type = 'pattern' + if (paint?.tagName !== type) type = 'gradient' + const attrVal = paint.getAttribute(type + 'Units') + if (attrVal === 'userSpaceOnUse') { + // Update the userSpaceOnUse element + m = transformListToTransform(tlist).matrix + const gtlist = paint.transform.baseVal + const gmatrix = transformListToTransform(gtlist).matrix + m = matrixMultiply(m, gmatrix) + const mStr = 'matrix(' + [m.a, m.b, m.c, m.d, m.e, m.f].join(',') + ')' + paint.setAttribute(type + 'Transform', mStr) } } } diff --git a/src/svgcanvas/selected-elem.js b/src/svgcanvas/selected-elem.js index 7854ecc8..35fb97ba 100644 --- a/src/svgcanvas/selected-elem.js +++ b/src/svgcanvas/selected-elem.js @@ -10,7 +10,7 @@ import { NS } from './namespaces.js' import * as hstry from './history.js' import * as pathModule from './path.js' import { - isNullish, getStrokedBBoxDefaultVisible, setHref, getElem, getHref, getVisibleElements, + isNullish, getStrokedBBoxDefaultVisible, setHref, getElement, getHref, getVisibleElements, findDefs, getRotationAngle, getRefElem, getBBox as utilsGetBBox, walkTreePost, assignAttributes, getFeGaussianBlur } from './utilities.js' import { @@ -854,7 +854,7 @@ export const ungroupSelectedElement = function () { } if (g.tagName === 'use') { // Somehow doesn't have data set, so retrieve - const symbol = getElem(getHref(g).substr(1)) + const symbol = getElement(getHref(g).substr(1)) dataStorage.put(g, 'symbol', symbol) dataStorage.put(g, 'ref', symbol) convertToGroup(g) @@ -940,7 +940,7 @@ export const updateCanvas = function (w, h) { y }) - const bgImg = getElem('background_image') + const bgImg = getElement('background_image') if (bgImg) { assignAttributes(bgImg, { width: '100%', diff --git a/src/svgcanvas/selection.js b/src/svgcanvas/selection.js index 73d5c930..a16c5f29 100644 --- a/src/svgcanvas/selection.js +++ b/src/svgcanvas/selection.js @@ -423,7 +423,7 @@ export const setRotationAngle = function (val, preventUndo) { ) svgCanvas.call('changed', selectedElements) } - // const pointGripContainer = getElem('pathpointgrip_container'); + // const pointGripContainer = getElement('pathpointgrip_container'); // if (elem.nodeName === 'path' && pointGripContainer) { // pathActions.setPointContainerTransform(elem.getAttribute('transform')); // } diff --git a/src/svgcanvas/svg-exec.js b/src/svgcanvas/svg-exec.js index f63bf2e5..6d2a6846 100644 --- a/src/svgcanvas/svg-exec.js +++ b/src/svgcanvas/svg-exec.js @@ -977,7 +977,7 @@ export const setUseDataMethod = function (parent) { Array.prototype.forEach.call(elems, function (el, _) { const dataStorage = svgCanvas.getDataStorage() const id = svgCanvas.getHref(el).substr(1) - const refElem = svgCanvas.getElem(id) + const refElem = svgCanvas.getElement(id) if (!refElem) { return } dataStorage.put(el, 'ref', refElem) if (refElem.tagName === 'symbol' || refElem.tagName === 'svg') { diff --git a/src/svgcanvas/svgcanvas.js b/src/svgcanvas/svgcanvas.js index 926cd153..98f53f99 100644 --- a/src/svgcanvas/svgcanvas.js +++ b/src/svgcanvas/svgcanvas.js @@ -48,7 +48,7 @@ import { import { sanitizeSvg } from './sanitize.js' import { getReverseNS, NS } from './namespaces.js' import { - assignAttributes, cleanupElement, getElem, getUrlFromAttr, + assignAttributes, cleanupElement, getElement, getUrlFromAttr, findDefs, getHref, setHref, getRefElem, getRotationAngle, getBBoxOfElementAsPath, convertToPath, encode64, decode64, getVisibleElements, init as utilsInit, @@ -147,6 +147,7 @@ class SvgCanvas { this.bSpline = { x: 0, y: 0 } this.nextPos = { x: 0, y: 0 } this.idprefix = 'svg_' // Prefix string for element IDs + this.encodableImages = {} this.curConfig = { // Default configuration options show_outside_canvas: true, @@ -521,7 +522,7 @@ class SvgCanvas { Object.values(attrs).forEach((val) => { if (val && val.startsWith('url(')) { const id = getUrlFromAttr(val).substr(1) - const ref = getElem(id) + const ref = getElement(id) if (!ref) { findDefs().append(this.removedElements[id]) delete this.removedElements[id] @@ -744,7 +745,7 @@ class SvgCanvas { if (elem) { const filterUrl = elem.getAttribute('filter') if (filterUrl) { - const blur = getElem(elem.id + '_blur') + const blur = getElement(elem.id + '_blur') if (blur) { val = blur.firstChild.getAttribute('stdDeviation') } else { @@ -876,7 +877,7 @@ class SvgCanvas { this.setHref = setHref this.getBBox = utilsGetBBox this.getRotationAngle = getRotationAngle - this.getElem = getElem + this.getElement = getElement this.getRefElem = getRefElem this.assignAttributes = assignAttributes this.cleanupElement = cleanupElement diff --git a/src/svgcanvas/text-actions.js b/src/svgcanvas/text-actions.js index 9a201fbc..0a42517f 100644 --- a/src/svgcanvas/text-actions.js +++ b/src/svgcanvas/text-actions.js @@ -10,7 +10,7 @@ import { transformPoint, getMatrix } from './math.js' import { - assignAttributes, getElem, getBBox as utilsGetBBox + assignAttributes, getElement, getBBox as utilsGetBBox } from './utilities.js' import { supportsGoodTextCharPos @@ -67,7 +67,7 @@ export const textActionsMethod = (function () { if (!empty) { textinput.setSelectionRange(index, index) } - cursor = getElem('text_cursor') + cursor = getElement('text_cursor') if (!cursor) { cursor = document.createElementNS(NS.SVG, 'line') assignAttributes(cursor, { @@ -75,7 +75,7 @@ export const textActionsMethod = (function () { stroke: '#333', 'stroke-width': 1 }) - getElem('selectorParentGroup').append(cursor) + getElement('selectorParentGroup').append(cursor) } if (!blinker) { @@ -117,7 +117,7 @@ export const textActionsMethod = (function () { textinput.setSelectionRange(start, end) } - selblock = getElem('text_selectblock') + selblock = getElement('text_selectblock') if (!selblock) { selblock = document.createElementNS(NS.SVG, 'path') assignAttributes(selblock, { @@ -126,7 +126,7 @@ export const textActionsMethod = (function () { opacity: 0.5, style: 'pointer-events:none' }) - getElem('selectorParentGroup').append(selblock) + getElement('selectorParentGroup').append(selblock) } const startbb = chardata[start] diff --git a/src/svgcanvas/undo.js b/src/svgcanvas/undo.js index b7399914..d7529d34 100644 --- a/src/svgcanvas/undo.js +++ b/src/svgcanvas/undo.js @@ -27,7 +27,7 @@ let svgCanvas = null * @param {module:undo.undoContext} undoContext * @returns {void} */ -export const init = function (canvas) { +export const init = (canvas) => { svgCanvas = canvas canvas.undoMgr = getUndoManager() } diff --git a/src/svgcanvas/utilities.js b/src/svgcanvas/utilities.js index fbc78ae8..513b8da7 100644 --- a/src/svgcanvas/utilities.js +++ b/src/svgcanvas/utilities.js @@ -1016,7 +1016,7 @@ export let getRotationAngle = function (elem, toRad) { * @returns {Element} Reference element */ export const getRefElem = function (attrVal) { - return getElem(getUrlFromAttr(attrVal).substr(1)) + return getElement(getUrlFromAttr(attrVal).substr(1)) } /** * Get the reference element associated with the given attribute value. @@ -1041,11 +1041,11 @@ export const getFeGaussianBlur = function (ele) { /** * Get a DOM element by ID within the SVG root element. -* @function module:utilities.getElem +* @function module:utilities.getElement * @param {string} id - String with the element's new ID * @returns {?Element} */ -export const getElem = (id) => { +export const getElement = (id) => { // querySelector lookup return svgroot_.querySelector('#' + id) }