bug fixes

This commit is contained in:
MakingCG
2020-03-16 18:23:22 +01:00
parent 850f910b96
commit 7cdf463e4e
13 changed files with 66 additions and 59 deletions

BIN
.rnd Normal file

Binary file not shown.

2
public/js/main.js vendored

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,11 @@
{ {
"/js/main.js": "/js/main.js?id=cef949b486ef02300d3b", "/js/main.js": "/js/main.js",
"/css/app.css": "/css/app.css?id=1864eb943a745d7d07e2" "/css/app.css": "/css/app.css",
"/js/main.13986d3f560ee6e4f9be.hot-update.js": "/js/main.13986d3f560ee6e4f9be.hot-update.js",
"/js/main.5bf5febe1817e111d815.hot-update.js": "/js/main.5bf5febe1817e111d815.hot-update.js",
"/js/main.42ce8bd9d5c758ba3b6d.hot-update.js": "/js/main.42ce8bd9d5c758ba3b6d.hot-update.js",
"/js/main.a4b1a6dcdbdacf8ff852.hot-update.js": "/js/main.a4b1a6dcdbdacf8ff852.hot-update.js",
"/js/main.94684e97131252680279.hot-update.js": "/js/main.94684e97131252680279.hot-update.js",
"/js/main.9820a9d654c6560c1aba.hot-update.js": "/js/main.9820a9d654c6560c1aba.hot-update.js",
"/js/main.94ee16b8b5debedf165c.hot-update.js": "/js/main.94ee16b8b5debedf165c.hot-update.js"
} }

View File

@@ -117,7 +117,7 @@
right: 0; right: 0;
left: 0; left: 0;
bottom: 0; bottom: 0;
background: rgba(0, 0, 0, 0.25); background: rgba(255, 255, 255, 0.5);
} }
} }

View File

@@ -86,6 +86,9 @@
}, },
preview() { preview() {
return this.preview_type === 'list' ? 'th' : 'th-list' return this.preview_type === 'list' ? 'th' : 'th-list'
},
isTrash() {
return this.currentFolder.location === 'trash' || this.currentFolder.location === 'trash-root'
} }
}, },
data() { data() {
@@ -112,7 +115,7 @@
events.$emit('items:delete') events.$emit('items:delete')
}, },
createFolder() { createFolder() {
this.$createFolder() if (! this.isTrash) this.$createFolder()
} }
}, },
created() { created() {

View File

@@ -40,7 +40,7 @@
return this.data.length == 0 return this.data.length == 0
}, },
isTrash() { isTrash() {
return typeof this.currentFolder.unique_id === 'undefined' return this.currentFolder.location === 'trash' || this.currentFolder.location === 'trash-root'
} }
}, },
data() { data() {

View File

@@ -48,7 +48,7 @@
@input="changeItemName" @input="changeItemName"
:contenteditable="!$isMobile()" :contenteditable="!$isMobile()"
class="name" class="name"
>{{ item.name }}</span >{{ itemName }}</span
> >
<!--Other attributes--> <!--Other attributes-->
@@ -106,7 +106,7 @@
return { return {
isClicked: false, isClicked: false,
area: false, area: false,
item: undefined itemName: undefined
} }
}, },
methods: { methods: {
@@ -126,6 +126,10 @@
}, },
clickedItem(e) { clickedItem(e) {
events.$emit('contextMenu:hide') events.$emit('contextMenu:hide')
events.$emit('fileItem:deselect')
// Set clicked item
this.isClicked = true
// Open in mobile version on first click // Open in mobile version on first click
if (this.$isMobile() && this.isFolder) { if (this.$isMobile() && this.isFolder) {
@@ -165,6 +169,7 @@
} }
}, },
changeItemName: debounce(function (e) { changeItemName: debounce(function (e) {
// Prevent submit empty string // Prevent submit empty string
if (e.target.innerText === '') return if (e.target.innerText === '') return
@@ -176,20 +181,17 @@
}, 300) }, 300)
}, },
created() { created() {
this.item = this.data this.itemName = this.data.name
events.$on('fileItem:clicked', unique_id => {
if (this.data.unique_id == unique_id) {
this.isClicked = true
} else {
this.isClicked = false
}
})
events.$on('fileItem:deselect', () => { events.$on('fileItem:deselect', () => {
// Deselect file // Deselect file
this.isClicked = false this.isClicked = false
}) })
// Change item name
events.$on('change:name', (item) => {
if (this.data.unique_id == item.unique_id) this.itemName = item.name
})
} }
} }
</script> </script>

View File

@@ -47,8 +47,7 @@
@input="changeItemName" @input="changeItemName"
:contenteditable="!$isMobile() && !$isTrashLocation()" :contenteditable="!$isMobile() && !$isTrashLocation()"
class="name" class="name"
>{{ item.name }}</span >{{ itemName }}</span>
>
<!--Other attributes--> <!--Other attributes-->
<span v-if="isFile || isImage" class="item-size">{{ data.filesize }}, {{ timeStamp }}</span> <span v-if="isFile || isImage" class="item-size">{{ data.filesize }}, {{ timeStamp }}</span>
@@ -115,7 +114,7 @@
return { return {
isClicked: false, isClicked: false,
area: false, area: false,
item: undefined, itemName: undefined,
} }
}, },
methods: { methods: {
@@ -137,6 +136,10 @@
}, },
clickedItem(e) { clickedItem(e) {
events.$emit('contextMenu:hide') events.$emit('contextMenu:hide')
events.$emit('fileItem:deselect')
// Set clicked item
this.isClicked = true
// Open in mobile version on first click // Open in mobile version on first click
if (this.$isMobile() && this.isFolder) { if (this.$isMobile() && this.isFolder) {
@@ -176,6 +179,7 @@
} }
}, },
changeItemName: debounce(function (e) { changeItemName: debounce(function (e) {
// Prevent submit empty string // Prevent submit empty string
if (e.target.innerText === '') return if (e.target.innerText === '') return
@@ -187,20 +191,17 @@
}, 300) }, 300)
}, },
created() { created() {
this.item = this.data this.itemName = this.data.name
events.$on('fileItem:clicked', unique_id => {
if (this.data.unique_id == unique_id) {
this.isClicked = true
} else {
this.isClicked = false
}
})
events.$on('fileItem:deselect', () => { events.$on('fileItem:deselect', () => {
// Deselect file // Deselect file
this.isClicked = false this.isClicked = false
}) })
// Change item name
events.$on('change:name', (item) => {
if (this.data.unique_id == item.unique_id) this.itemName = item.name
})
}, },
} }
</script> </script>

View File

@@ -28,7 +28,6 @@
<FileItemList <FileItemList
@dragstart="dragStart(item)" @dragstart="dragStart(item)"
@drop="dragFinish(item)" @drop="dragFinish(item)"
@click.native="clickedFileItem(item.unique_id)"
@contextmenu.native.prevent="contextMenu($event, item)" @contextmenu.native.prevent="contextMenu($event, item)"
:data="item" :data="item"
v-for="item in data" v-for="item in data"
@@ -49,7 +48,6 @@
<FileItemGrid <FileItemGrid
@dragstart="dragStart(item)" @dragstart="dragStart(item)"
@drop="dragFinish(item)" @drop="dragFinish(item)"
@click.native="clickedFileItem(item.unique_id)"
@contextmenu.native.prevent="contextMenu($event, item)" @contextmenu.native.prevent="contextMenu($event, item)"
:data="item" :data="item"
v-for="item in data" v-for="item in data"
@@ -156,16 +154,15 @@
moveTo(from_item, to_item) { moveTo(from_item, to_item) {
this.$store.dispatch('moveItem', [from_item, to_item]) this.$store.dispatch('moveItem', [from_item, to_item])
}, },
clickedFileItem(unique_id) {
events.$emit('fileItem:clicked', unique_id)
},
contextMenu(event, item) { contextMenu(event, item) {
events.$emit('contextMenu:show', event, item) events.$emit('contextMenu:show', event, item)
}, },
filesContainerClick(e) { filesContainerClick() {
if (e.target.className === 'file-list grid') {
events.$emit('fileItem:deselect') // Deselect clicked item
} events.$emit('fileItem:deselect')
// Hide context menu if is opened
events.$emit('contextMenu:hide') events.$emit('contextMenu:hide')
} }
}, },

View File

@@ -115,11 +115,19 @@
) )
if (itemName && itemName !== '') { if (itemName && itemName !== '') {
this.$store.dispatch('changeItemName', {
let item = {
unique_id: this.fileInfoDetail.unique_id, unique_id: this.fileInfoDetail.unique_id,
type: this.fileInfoDetail.type, type: this.fileInfoDetail.type,
name: itemName name: itemName
}) }
this.$store.dispatch('changeItemName', item)
// Change item name if is mobile device or prompted
if ( this.$isMobile() ) {
events.$emit('change:name', item)
}
} }
}, },
closeAndResetContextMenu() { closeAndResetContextMenu() {

View File

@@ -395,25 +395,16 @@ const mutations = {
state.browseHistory.pop() state.browseHistory.pop()
}, },
CHANGE_ITEM_NAME(state, updatedFile) { CHANGE_ITEM_NAME(state, updatedFile) {
// Rename filename in file info detail // Rename filename in file info detail
if ( if (state.fileInfoDetail && state.fileInfoDetail.unique_id == updatedFile.unique_id) {
state.fileInfoDetail &&
state.fileInfoDetail.unique_id == updatedFile.unique_id
) {
state.fileInfoDetail = updatedFile state.fileInfoDetail = updatedFile
} }
// Get file // Rename item name in data view
const file = state.data.find( state.data.find(item => {
el => el.unique_id == updatedFile.unique_id if (item.unique_id == updatedFile.unique_id) item.name = updatedFile.name
) })
file.file_url = updatedFile.file_url
file.thumbnail = updatedFile.thumbnail
if (this._vm.$isMobile()) {
file.name = updatedFile.name
}
}, },
CLEAR_FILEINFO_DETAIL(state) { CLEAR_FILEINFO_DETAIL(state) {
state.fileInfoDetail = undefined state.fileInfoDetail = undefined

View File

@@ -1,2 +0,0 @@
*
!.gitignore

4
webpack.mix.js vendored
View File

@@ -15,7 +15,6 @@ mix.js('resources/js/main.js', 'public/js')
.sass('resources/sass/app.scss', 'public/css', { .sass('resources/sass/app.scss', 'public/css', {
implementation: require('node-sass') implementation: require('node-sass')
}) })
.version()
.webpackConfig({ .webpackConfig({
resolve: { resolve: {
alias: { alias: {
@@ -23,4 +22,5 @@ mix.js('resources/js/main.js', 'public/js')
"@": path.resolve(__dirname, "resources/js"), "@": path.resolve(__dirname, "resources/js"),
} }
}, },
}).disableNotifications(); })
.disableNotifications();