diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2019-08-19 16:05:57 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2019-08-19 16:05:57 +0900 |
| commit | 311a4f28b066e35ad9b459f476272f74df996d46 (patch) | |
| tree | 5ae048ba307e3736dca1df6dd53033e07b5b32ac /src/client | |
| parent | Refactor (diff) | |
| download | misskey-311a4f28b066e35ad9b459f476272f74df996d46.tar.gz misskey-311a4f28b066e35ad9b459f476272f74df996d46.tar.bz2 misskey-311a4f28b066e35ad9b459f476272f74df996d46.zip | |
Resolve #5298
Diffstat (limited to 'src/client')
| -rw-r--r-- | src/client/app/common/scripts/room/room.ts | 15 | ||||
| -rw-r--r-- | src/client/app/common/views/pages/room/room.vue | 16 |
2 files changed, 29 insertions, 2 deletions
diff --git a/src/client/app/common/scripts/room/room.ts b/src/client/app/common/scripts/room/room.ts index d5df9a54e4..0205b1e1ce 100644 --- a/src/client/app/common/scripts/room/room.ts +++ b/src/client/app/common/scripts/room/room.ts @@ -697,6 +697,21 @@ export class Room { } /** + * 全ての家具を部屋から削除します + */ + @autobind + public removeAllFurnitures() { + this.exitTransformMode(); + for (const obj of this.objects) { + this.scene.remove(obj); + } + this.objects = []; + this.furnitures = []; + this.selectedObject = null; + this.onChangeSelect(null); + } + + /** * 部屋の床の色を変更します * @param color 色 */ diff --git a/src/client/app/common/views/pages/room/room.vue b/src/client/app/common/views/pages/room/room.vue index 7a365fe9ba..0a355f9ad1 100644 --- a/src/client/app/common/views/pages/room/room.vue +++ b/src/client/app/common/views/pages/room/room.vue @@ -43,6 +43,7 @@ </section> <section> <ui-button primary @click="save()"><fa :icon="faSave"/> {{ $t('save') }}</ui-button> + <ui-button primary @click="clear()"><fa :icon="faBroom"/> {{ $t('clear') }}</ui-button> </section> </div> </div> @@ -55,7 +56,7 @@ import { Room } from '../../../scripts/room/room'; import parseAcct from '../../../../../../misc/acct/parse'; import XPreview from './preview.vue'; const storeItems = require('../../../scripts/room/furnitures.json5'); -import { faBoxOpen, faUndo, faArrowsAlt, faBan } from '@fortawesome/free-solid-svg-icons'; +import { faBoxOpen, faUndo, faArrowsAlt, faBan, faBroom } from '@fortawesome/free-solid-svg-icons'; import { faSave, faTrashAlt } from '@fortawesome/free-regular-svg-icons'; import { query as urlQuery } from '../../../../../../prelude/url'; @@ -86,7 +87,7 @@ export default Vue.extend({ isTranslateMode: false, isRotateMode: false, isMyRoom: false, - faBoxOpen, faSave, faTrashAlt, faUndo, faArrowsAlt, faBan, + faBoxOpen, faSave, faTrashAlt, faUndo, faArrowsAlt, faBan, faBroom, }; }, @@ -156,6 +157,17 @@ export default Vue.extend({ }); }, + clear() { + this.$root.dialog({ + type: 'warning', + text: this.$t('clear-confirm'), + showCancelButton: true + }).then(({ canceled }) => { + if (canceled) return; + room.removeAllFurnitures(); + }); + }, + chooseImage(key) { this.$chooseDriveFile({ multiple: false |