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}}
+
+ {showMoveSelectedSpaceModal = false;}"
+ />
+
@@ -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 @@
+
+
+
+
+
+
{{this.currentSpace.name}}
+
Adjust from the upperleft X/Y
+
+ X:
+
+ Y:
+
+ Save
+
+
+
+
+
+
+
+
\ 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);
+ },
};