diff --git a/src/assets/svg-icons/arrows-alt-solid.svg b/src/assets/svg-icons/arrows-alt-solid.svg new file mode 100644 index 00000000..501fe39a --- /dev/null +++ b/src/assets/svg-icons/arrows-alt-solid.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/components/LibrarySelect.vue b/src/components/LibrarySelect.vue index 2df0309c..7d6fdf94 100644 --- a/src/components/LibrarySelect.vue +++ b/src/components/LibrarySelect.vue @@ -17,6 +17,9 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND {{item.name}}
+
+ +
@@ -26,12 +29,20 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' AND
+
+ +
@@ -84,6 +107,9 @@ export default { } } } + .buttons { + display: flex; + } } // overflow: auto; // height: calc(100% - 5rem); diff --git a/src/components/Modals/MoveSpaceModal.vue b/src/components/Modals/MoveSpaceModal.vue new file mode 100644 index 00000000..22a589fd --- /dev/null +++ b/src/components/Modals/MoveSpaceModal.vue @@ -0,0 +1,87 @@ + + + + + + + \ No newline at end of file diff --git a/src/store/modules/geometry/actions/actions.js b/src/store/modules/geometry/actions/actions.js index 772969c7..42092f61 100644 --- a/src/store/modules/geometry/actions/actions.js +++ b/src/store/modules/geometry/actions/actions.js @@ -183,6 +183,7 @@ export default { commit('trimGeometry', { geometry_id, vertsReferencedElsewhere: vertsReferencedByDCs }); }, + cloneStoryGeometry(context, payload) { const currentStory = context.rootGetters['application/currentStoryGeometry']; context.commit('updateClonedGeometry', { newGeom: payload, currentStoryId: currentStory.id }); diff --git a/src/store/modules/geometry/actions/createFaceFromPoints.js b/src/store/modules/geometry/actions/createFaceFromPoints.js index 57a8d930..1b7de513 100644 --- a/src/store/modules/geometry/actions/createFaceFromPoints.js +++ b/src/store/modules/geometry/actions/createFaceFromPoints.js @@ -79,7 +79,6 @@ export default function createFaceFromPoints(context, payload) { // split edges where vertices touch them splitEdges(context, newEdges, newVertices); }); - } // ////////////////////// HELPERS //////////////////////////// // @@ -432,11 +431,11 @@ function replacementEdgeRefs(geometry, dyingEdgeId, newEdges) { /** * Returns a list of all the edges that need to be split (i.e. edges that are on top of one another) * - * @param {*} geometry - * @param {*} spacing + * @param {*} geometry + * @param {*} spacing * @param {*} newEdges List of new edges added, optional * @param {*} newVertices List of new vertices added, optional - * @returns + * @returns */ export function edgesToSplit(geometry, spacing, newEdges, newVertices) { const priorIterationEdges = []; diff --git a/test/e2e/specs/geometry.js b/test/e2e/specs/geometry.js index 0f0f9b17..bb7a0547 100644 --- a/test/e2e/specs/geometry.js +++ b/test/e2e/specs/geometry.js @@ -92,4 +92,19 @@ module.exports = { .assert.containsText('.polygons', 'Space 2 - 2'); finish(browser); }, + 'able to move a selected space (issue #376)': (browser) => { + start(browser) + .perform(draw50By50Square) + .click('.move-selected-space') + .clearValue('#move-space-x') + .setValue('#move-space-x', -100) + .clearValue('#move-space-y') + .setValue('#move-space-y', -160) + .click('#save-move-space') + .execute('return window.application.$store.state.geometry[0].vertices', [], ({ value }) => { + browser.assert.equal(value[0].x, -100); + browser.assert.equal(value[0].y, -160); + }); + finish(browser); + }, };