diff --git a/src/components/document-canvas/document-canvas.vue b/src/components/document-canvas/document-canvas.vue index eb54ea2..73f1c51 100644 --- a/src/components/document-canvas/document-canvas.vue +++ b/src/components/document-canvas/document-canvas.vue @@ -131,6 +131,9 @@ export default { flushBitmapCache(); layerPool.clear(); this.calcIdealDimensions(); + this.$nextTick(() => { + this.setActiveTool({ tool: this.activeTool || ToolTypes.MOVE, layer: this.activeLayer }); + }); } } }, @@ -204,6 +207,7 @@ export default { ...mapMutations([ "setZCanvasBaseDimensions", "setPanMode", + "setActiveTool", ]), ...mapActions([ "requestDocumentClose", diff --git a/src/store/modules/document-module.js b/src/store/modules/document-module.js index 05ec6ca..ca764eb 100644 --- a/src/store/modules/document-module.js +++ b/src/store/modules/document-module.js @@ -61,7 +61,8 @@ export default { addNewDocument( state, nameOrDocument ) { const document = typeof nameOrDocument === "object" ? nameOrDocument : DocumentFactory.create({ name: nameOrDocument }); state.documents.push( document ); - state.activeIndex = state.documents.length - 1; + state.activeIndex = state.documents.length - 1; + state.activeLayerIndex = document.layers.length - 1; }, closeActiveDocument( state ) { const document = state.documents[ state.activeIndex ]; diff --git a/tests/unit/store/modules/document-module.spec.js b/tests/unit/store/modules/document-module.spec.js index 374490d..c691d85 100644 --- a/tests/unit/store/modules/document-module.spec.js +++ b/tests/unit/store/modules/document-module.spec.js @@ -151,10 +151,14 @@ describe( "Vuex document module", () => { it( "should be able to add a new Document to the list", () => { const state = { documents: [ { name: "foo" } ], + activeIndex: 0, + activeLayerIndex: 2, }; mutations.addNewDocument( state, "bar" ); expect( state.documents ).toHaveLength( 2 ); expect( state.documents[ 1 ].name ).toEqual( "bar" ); + expect( state.activeIndex ).toEqual( 1 ); + expect( state.activeLayerIndex ).toEqual( 0 ); }); it( "should be able to close the active Document", () => {