summaryrefslogtreecommitdiff
path: root/src/client
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2019-08-19 16:05:57 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2019-08-19 16:05:57 +0900
commit311a4f28b066e35ad9b459f476272f74df996d46 (patch)
tree5ae048ba307e3736dca1df6dd53033e07b5b32ac /src/client
parentRefactor (diff)
downloadmisskey-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.ts15
-rw-r--r--src/client/app/common/views/pages/room/room.vue16
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