From ebceffba1eb3d762fe164a10ee58fc78547a0a27 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sat, 15 Dec 2018 00:09:04 +0900 Subject: Resolve #2165 --- src/client/app/admin/views/drive.vue | 95 +++++++++++++++++++++++------------- 1 file changed, 62 insertions(+), 33 deletions(-) (limited to 'src/client/app/admin') diff --git a/src/client/app/admin/views/drive.vue b/src/client/app/admin/views/drive.vue index 2888b0be9f..2872155b60 100644 --- a/src/client/app/admin/views/drive.vue +++ b/src/client/app/admin/views/drive.vue @@ -19,22 +19,27 @@
-
-
-
-
-
- {{ file.name }} - @{{ file.user | acct }} -
+
+
+
+
+
+ {{ file.name }} + @{{ file.user | acct }} +
- {{ file.type }} - {{ file.datasize | bytes }} +
+ {{ file.type }} + {{ file.datasize | bytes }} +
+
-
+
+ {{ $t('delete') }} +
{{ $t('@.load-more') }} @@ -46,6 +51,7 @@ import Vue from 'vue'; import i18n from '../../i18n'; import { faCloud } from '@fortawesome/free-solid-svg-icons'; +import { faTrashAlt } from '@fortawesome/free-regular-svg-icons'; export default Vue.extend({ i18n: i18n('admin/views/drive.vue'), @@ -58,7 +64,7 @@ export default Vue.extend({ offset: 0, files: [], existMore: false, - faCloud + faCloud, faTrashAlt }; }, @@ -94,6 +100,9 @@ export default Vue.extend({ } else { this.existMore = false; } + for (const x of files) { + x._open = false; + } this.files = this.files.concat(files); this.offset += this.limit; }); @@ -104,6 +113,23 @@ export default Vue.extend({ 'background-color': file.properties.avgColor && file.properties.avgColor.length == 3 ? `rgb(${file.properties.avgColor.join(',')})` : 'transparent', 'background-image': `url(${file.thumbnailUrl})` }; + }, + + async del(file: any) { + const process = async () => { + await this.$root.api('drive/files/delete', { fileId: file.id }); + this.$root.dialog({ + type: 'success', + text: this.$t('deleted') + }); + }; + + await process().catch(e => { + this.$root.dialog({ + type: 'error', + text: e.toString() + }); + }); } } }); @@ -115,30 +141,33 @@ export default Vue.extend({ padding 16px .kidvdlkg - display flex padding 16px 0 border-top solid 1px var(--faceDivider) > div:first-child - > .thumbnail - display block - width 64px - height 64px - background-size cover - background-position center center - - > div:last-child - flex 1 - padding-left 16px - - @media (max-width 500px) - font-size 14px - - > header - word-break break-word - - > .username - margin-left 8px - opacity 0.7 + display flex + cursor pointer + + > div:nth-child(1) + > .thumbnail + display block + width 64px + height 64px + background-size cover + background-position center center + + > div:nth-child(2) + flex 1 + padding-left 16px + + @media (max-width 500px) + font-size 14px + + > header + word-break break-word + + > .username + margin-left 8px + opacity 0.7 -- cgit v1.2.3-freya