✌️
This commit is contained in:
parent
0162f68cce
commit
2fbd7ff3c6
5 changed files with 20 additions and 18 deletions
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="mk-drive-file"
|
<div class="root file"
|
||||||
:data-is-selected="isSelected"
|
:data-is-selected="isSelected"
|
||||||
:data-is-contextmenu-showing="isContextmenuShowing"
|
:data-is-contextmenu-showing="isContextmenuShowing"
|
||||||
@click="onClick"
|
@click="onClick"
|
||||||
|
@ -51,7 +51,7 @@ export default Vue.extend({
|
||||||
},
|
},
|
||||||
background(): string {
|
background(): string {
|
||||||
return this.file.properties.average_color
|
return this.file.properties.average_color
|
||||||
? `rgb(${this.file.properties.average_color.join(',')})'`
|
? `rgb(${this.file.properties.average_color.join(',')})`
|
||||||
: 'transparent';
|
: 'transparent';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
@ -188,7 +188,7 @@ export default Vue.extend({
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="stylus" scoped>
|
<style lang="stylus" scoped>
|
||||||
.mk-drive-file
|
.root.file
|
||||||
padding 8px 0 0 0
|
padding 8px 0 0 0
|
||||||
height 180px
|
height 180px
|
||||||
border-radius 4px
|
border-radius 4px
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="mk-drive-folder"
|
<div class="root folder"
|
||||||
:data-is-contextmenu-showing="isContextmenuShowing"
|
:data-is-contextmenu-showing="isContextmenuShowing"
|
||||||
:data-draghover="draghover"
|
:data-draghover="draghover"
|
||||||
@click="onClick"
|
@click="onClick"
|
||||||
|
@ -124,7 +124,7 @@ export default Vue.extend({
|
||||||
this.browser.upload(file, this.folder);
|
this.browser.upload(file, this.folder);
|
||||||
});
|
});
|
||||||
return false;
|
return false;
|
||||||
};
|
}
|
||||||
|
|
||||||
// データ取得
|
// データ取得
|
||||||
const data = e.dataTransfer.getData('text');
|
const data = e.dataTransfer.getData('text');
|
||||||
|
@ -220,7 +220,7 @@ export default Vue.extend({
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="stylus" scoped>
|
<style lang="stylus" scoped>
|
||||||
.mk-drive-folder
|
.root.folder
|
||||||
padding 8px
|
padding 8px
|
||||||
height 64px
|
height 64px
|
||||||
background lighten($theme-color, 95%)
|
background lighten($theme-color, 95%)
|
|
@ -1,5 +1,5 @@
|
||||||
<template>
|
<template>
|
||||||
<div class="mk-drive-nav-folder"
|
<div class="root nav-folder"
|
||||||
:data-draghover="draghover"
|
:data-draghover="draghover"
|
||||||
@click="onClick"
|
@click="onClick"
|
||||||
@dragover.prevent.stop="onDragover"
|
@dragover.prevent.stop="onDragover"
|
||||||
|
@ -101,7 +101,7 @@ export default Vue.extend({
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="stylus" scoped>
|
<style lang="stylus" scoped>
|
||||||
.mk-drive-nav-folder
|
.root.nav-folder
|
||||||
&[data-draghover]
|
&[data-draghover]
|
||||||
background #eee
|
background #eee
|
||||||
|
|
|
@ -2,10 +2,10 @@
|
||||||
<div class="mk-drive">
|
<div class="mk-drive">
|
||||||
<nav>
|
<nav>
|
||||||
<div class="path" @contextmenu.prevent.stop="() => {}">
|
<div class="path" @contextmenu.prevent.stop="() => {}">
|
||||||
<mk-drive-nav-folder :class="{ current: folder == null }"/>
|
<x-nav-folder :class="{ current: folder == null }"/>
|
||||||
<template v-for="folder in hierarchyFolders">
|
<template v-for="folder in hierarchyFolders">
|
||||||
<span class="separator">%fa:angle-right%</span>
|
<span class="separator">%fa:angle-right%</span>
|
||||||
<mk-drive-nav-folder :folder="folder" :key="folder.id"/>
|
<x-nav-folder :folder="folder" :key="folder.id"/>
|
||||||
</template>
|
</template>
|
||||||
<span class="separator" v-if="folder != null">%fa:angle-right%</span>
|
<span class="separator" v-if="folder != null">%fa:angle-right%</span>
|
||||||
<span class="folder current" v-if="folder != null">{{ folder.name }}</span>
|
<span class="folder current" v-if="folder != null">{{ folder.name }}</span>
|
||||||
|
@ -24,13 +24,13 @@
|
||||||
<div class="selection" ref="selection"></div>
|
<div class="selection" ref="selection"></div>
|
||||||
<div class="contents" ref="contents">
|
<div class="contents" ref="contents">
|
||||||
<div class="folders" ref="foldersContainer" v-if="folders.length > 0">
|
<div class="folders" ref="foldersContainer" v-if="folders.length > 0">
|
||||||
<mk-drive-folder v-for="folder in folders" :key="folder.id" class="folder" :folder="folder"/>
|
<x-folder v-for="folder in folders" :key="folder.id" class="folder" :folder="folder"/>
|
||||||
<!-- SEE: https://stackoverflow.com/questions/18744164/flex-box-align-last-row-to-grid -->
|
<!-- SEE: https://stackoverflow.com/questions/18744164/flex-box-align-last-row-to-grid -->
|
||||||
<div class="padding" v-for="n in 16"></div>
|
<div class="padding" v-for="n in 16"></div>
|
||||||
<button v-if="moreFolders">%i18n:desktop.tags.mk-drive-browser.load-more%</button>
|
<button v-if="moreFolders">%i18n:desktop.tags.mk-drive-browser.load-more%</button>
|
||||||
</div>
|
</div>
|
||||||
<div class="files" ref="filesContainer" v-if="files.length > 0">
|
<div class="files" ref="filesContainer" v-if="files.length > 0">
|
||||||
<mk-drive-file v-for="file in files" :key="file.id" class="file" :file="file"/>
|
<x-file v-for="file in files" :key="file.id" class="file" :file="file"/>
|
||||||
<!-- SEE: https://stackoverflow.com/questions/18744164/flex-box-align-last-row-to-grid -->
|
<!-- SEE: https://stackoverflow.com/questions/18744164/flex-box-align-last-row-to-grid -->
|
||||||
<div class="padding" v-for="n in 16"></div>
|
<div class="padding" v-for="n in 16"></div>
|
||||||
<button v-if="moreFiles" @click="fetchMoreFiles">%i18n:desktop.tags.mk-drive-browser.load-more%</button>
|
<button v-if="moreFiles" @click="fetchMoreFiles">%i18n:desktop.tags.mk-drive-browser.load-more%</button>
|
||||||
|
@ -57,10 +57,18 @@
|
||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
import MkDriveWindow from './drive-window.vue';
|
import MkDriveWindow from './drive-window.vue';
|
||||||
|
import XNavFolder from './drive.nav-folder.vue';
|
||||||
|
import XFolder from './drive.folder.vue';
|
||||||
|
import XFile from './drive.file.vue';
|
||||||
import contains from '../../../common/scripts/contains';
|
import contains from '../../../common/scripts/contains';
|
||||||
import contextmenu from '../../api/contextmenu';
|
import contextmenu from '../../api/contextmenu';
|
||||||
|
|
||||||
export default Vue.extend({
|
export default Vue.extend({
|
||||||
|
components: {
|
||||||
|
XNavFolder,
|
||||||
|
XFolder,
|
||||||
|
XFile
|
||||||
|
},
|
||||||
props: {
|
props: {
|
||||||
initFolder: {
|
initFolder: {
|
||||||
type: Object,
|
type: Object,
|
||||||
|
|
|
@ -19,9 +19,6 @@ import repostForm from './repost-form.vue';
|
||||||
import followButton from './follow-button.vue';
|
import followButton from './follow-button.vue';
|
||||||
import postPreview from './post-preview.vue';
|
import postPreview from './post-preview.vue';
|
||||||
import drive from './drive.vue';
|
import drive from './drive.vue';
|
||||||
import driveFile from './drive-file.vue';
|
|
||||||
import driveFolder from './drive-folder.vue';
|
|
||||||
import driveNavFolder from './drive-nav-folder.vue';
|
|
||||||
import postDetail from './post-detail.vue';
|
import postDetail from './post-detail.vue';
|
||||||
import settings from './settings.vue';
|
import settings from './settings.vue';
|
||||||
import calendar from './calendar.vue';
|
import calendar from './calendar.vue';
|
||||||
|
@ -71,9 +68,6 @@ Vue.component('mk-repost-form', repostForm);
|
||||||
Vue.component('mk-follow-button', followButton);
|
Vue.component('mk-follow-button', followButton);
|
||||||
Vue.component('mk-post-preview', postPreview);
|
Vue.component('mk-post-preview', postPreview);
|
||||||
Vue.component('mk-drive', drive);
|
Vue.component('mk-drive', drive);
|
||||||
Vue.component('mk-drive-file', driveFile);
|
|
||||||
Vue.component('mk-drive-folder', driveFolder);
|
|
||||||
Vue.component('mk-drive-nav-folder', driveNavFolder);
|
|
||||||
Vue.component('mk-post-detail', postDetail);
|
Vue.component('mk-post-detail', postDetail);
|
||||||
Vue.component('mk-settings', settings);
|
Vue.component('mk-settings', settings);
|
||||||
Vue.component('mk-calendar', calendar);
|
Vue.component('mk-calendar', calendar);
|
||||||
|
|
Loading…
Reference in a new issue