parent
2ca10823c4
commit
f9107dd04f
@ -1,60 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div class="file-item-title" @click.stop="titleclick">
|
|
||||||
<input v-if="item.editable" @click.stop="" @dblclick.stop="" type="text" v-model="item.name"/>
|
|
||||||
<div v-else >
|
|
||||||
{{ item.name }}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: 'FileTitle',
|
|
||||||
props:{
|
|
||||||
item:{
|
|
||||||
type:Object,
|
|
||||||
required:true,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
setup(props,context){
|
|
||||||
const titleclick = () => {
|
|
||||||
if (props.item.is_selected) {
|
|
||||||
context.emit("changetitlestate");
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
context.emit("leftclick");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
titleclick,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
|
|
||||||
.file-item-title{
|
|
||||||
width: 6vw;
|
|
||||||
height: 4vw;
|
|
||||||
text-align: center;
|
|
||||||
overflow: hidden;
|
|
||||||
font-size: 1.2vw;
|
|
||||||
word-break: break-all;
|
|
||||||
}
|
|
||||||
|
|
||||||
.file-item-selected {
|
|
||||||
border: 0.1vh solid #99d1ff;
|
|
||||||
background: #cce8ff;
|
|
||||||
}
|
|
||||||
|
|
||||||
input {
|
|
||||||
width: 6vw;
|
|
||||||
height: 1.8vw;
|
|
||||||
overflow: hidden;
|
|
||||||
font-size: 1.2vw;
|
|
||||||
}
|
|
||||||
</style>
|
|
@ -1,98 +0,0 @@
|
|||||||
<template>
|
|
||||||
<div @click.stop="leftclick()" @dblclick="doubleclick()" @contextmenu.stop.prevent="rightclick($event)"
|
|
||||||
:class="{ 'file-item-selected' : item.is_selected }"
|
|
||||||
>
|
|
||||||
<div class="file-item-icon" >
|
|
||||||
<img src="@/assets/folder_icon.png" alt="">
|
|
||||||
</div>
|
|
||||||
<FileTitle @leftclick="leftclick" @changetitlestate="changetitlestate" @changetitle="changetitle" :item="item" />
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
|
||||||
import FileTitle from './FileTitle.vue';
|
|
||||||
import { useStore } from 'vuex';
|
|
||||||
|
|
||||||
export default {
|
|
||||||
name: 'FolderFiled',
|
|
||||||
components:{
|
|
||||||
FileTitle,
|
|
||||||
},
|
|
||||||
props:{
|
|
||||||
item:{
|
|
||||||
type:Object,
|
|
||||||
required:true,
|
|
||||||
}
|
|
||||||
},
|
|
||||||
setup(props,context){
|
|
||||||
let store = useStore();
|
|
||||||
|
|
||||||
const leftclick = () => {
|
|
||||||
context.emit('fileleftclick',props.item);
|
|
||||||
}
|
|
||||||
|
|
||||||
const rightclick = (event) => {
|
|
||||||
context.emit('filerightclick',{
|
|
||||||
item:props.item,
|
|
||||||
menuposition:{
|
|
||||||
top: event.clientY + 'px',
|
|
||||||
left: event.clientX + 'px',
|
|
||||||
},
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
const doubleclick = () => {
|
|
||||||
store.commit('forwardPath',props.item.name + '/');
|
|
||||||
context.emit('ls');
|
|
||||||
}
|
|
||||||
|
|
||||||
const changetitlestate = () => {
|
|
||||||
context.emit('changetitlestate',props.item);
|
|
||||||
}
|
|
||||||
|
|
||||||
const changetitle = () => {
|
|
||||||
context.emit('changetitle',props.item);
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
leftclick,
|
|
||||||
rightclick,
|
|
||||||
doubleclick,
|
|
||||||
changetitle,
|
|
||||||
changetitlestate,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<style scoped>
|
|
||||||
.file-item {
|
|
||||||
width: 8vw;
|
|
||||||
height: 8vw;
|
|
||||||
overflow: hidden;
|
|
||||||
display: inline-block;
|
|
||||||
margin: 0 0.1vw 1vw 0.1vw;
|
|
||||||
border: 0.1vh solid white;
|
|
||||||
}
|
|
||||||
|
|
||||||
.file-item-icon > img {
|
|
||||||
width: 6vw;
|
|
||||||
height: 6vw;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
.file-item-title{
|
|
||||||
width: 6vw;
|
|
||||||
height: 4vw;
|
|
||||||
text-align: center;
|
|
||||||
overflow: hidden;
|
|
||||||
font-size: 1.2vw;
|
|
||||||
word-break: break-all;
|
|
||||||
}
|
|
||||||
|
|
||||||
.file-item-selected {
|
|
||||||
border: 0.1vh solid #99d1ff;
|
|
||||||
background: #cce8ff;
|
|
||||||
}
|
|
||||||
</style>
|
|
Loading…
Reference in new issue