mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-19 00:22:15 +00:00
- added file resource
- frontend refactoring
This commit is contained in:
29
resources/js/store/modules/fileBrowser.js
vendored
29
resources/js/store/modules/fileBrowser.js
vendored
@@ -20,8 +20,11 @@ const actions = {
|
||||
axios
|
||||
.get(`${getters.api}/browse/folders/${id}/${getters.sorting.URI}`)
|
||||
.then(response => {
|
||||
commit('LOADING_STATE', {loading: false, data: response.data.content})
|
||||
commit('SET_CURRENT_FOLDER', response.data.folder)
|
||||
let folders = response.data.folders.data
|
||||
let files = response.data.files.data
|
||||
|
||||
commit('LOADING_STATE', {loading: false, data: folders.concat(files)})
|
||||
commit('SET_CURRENT_FOLDER', response.data.root)
|
||||
|
||||
events.$emit('scrollTop')
|
||||
})
|
||||
@@ -153,28 +156,28 @@ const mutations = {
|
||||
},
|
||||
FLUSH_SHARED(state, id) {
|
||||
state.entries.find(item => {
|
||||
if (item.id === id) item.shared = undefined
|
||||
if (item.data.id === id) item.data.relationships.shared = undefined
|
||||
})
|
||||
},
|
||||
CHANGE_ITEM_NAME(state, updatedFile) {
|
||||
|
||||
// Rename filename in clipboard
|
||||
if (state.clipboard && state.clipboard.id === updatedFile.id) {
|
||||
if (state.clipboard && state.clipboard.data.id === updatedFile.data.id) {
|
||||
state.clipboard = updatedFile
|
||||
}
|
||||
|
||||
// Rename item name in data view
|
||||
state.entries.find(item => {
|
||||
if (item.id === updatedFile.id) {
|
||||
item.name = updatedFile.name
|
||||
item.color = updatedFile.color ? updatedFile.color : null
|
||||
item.emoji = updatedFile.emoji ? updatedFile.emoji : null
|
||||
if (item.data.id === updatedFile.data.id) {
|
||||
item.data.attributes.name = updatedFile.data.attributes.name
|
||||
item.data.attributes.color = updatedFile.data.attributes.color ? updatedFile.data.attributes.color : null
|
||||
item.data.attributes.emoji = updatedFile.data.attributes.emoji ? updatedFile.data.attributes.emoji : null
|
||||
}
|
||||
})
|
||||
},
|
||||
UPDATE_SHARED_ITEM(state, data) {
|
||||
state.entries.find(item => {
|
||||
if (item.id === data.item_id) item.shared = data
|
||||
if (item.data.id === data.item_id) item.shared = data
|
||||
})
|
||||
},
|
||||
ADD_NEW_FOLDER(state, folder) {
|
||||
@@ -184,21 +187,21 @@ const mutations = {
|
||||
state.entries = state.entries.concat(items)
|
||||
},
|
||||
REMOVE_ITEM(state, id) {
|
||||
state.entries = state.entries.filter(el => el.id !== id)
|
||||
state.entries = state.entries.filter(el => el.data.id !== id)
|
||||
},
|
||||
INCREASE_FOLDER_ITEM(state, id) {
|
||||
state.entries.map(el => {
|
||||
if (el.id && el.id === id) el.items++
|
||||
if (el.data.id && el.data.id === id) el.items++
|
||||
})
|
||||
},
|
||||
REMOVE_ITEM_FROM_CLIPBOARD(state, item) {
|
||||
state.clipboard = state.clipboard.filter(element => element.id !== item.id)
|
||||
state.clipboard = state.clipboard.filter(element => element.data.id !== item.data.id)
|
||||
},
|
||||
ADD_ALL_ITEMS_TO_CLIPBOARD(state) {
|
||||
state.clipboard = state.entries
|
||||
},
|
||||
ADD_ITEM_TO_CLIPBOARD(state, item) {
|
||||
let selectedItem = state.entries.find(el => el.id === item.id)
|
||||
let selectedItem = state.entries.find(el => el.data.id === item.data.id)
|
||||
|
||||
if (state.clipboard.includes(selectedItem)) return
|
||||
|
||||
|
||||
41
resources/js/store/modules/fileFunctions.js
vendored
41
resources/js/store/modules/fileFunctions.js
vendored
@@ -1,7 +1,6 @@
|
||||
import i18n from '/resources/js/i18n/index'
|
||||
import router from '/resources/js/router'
|
||||
import {events} from '/resources/js/bus'
|
||||
import {last} from 'lodash'
|
||||
import axios from 'axios'
|
||||
import Vue from 'vue'
|
||||
|
||||
@@ -20,11 +19,11 @@ const actions = {
|
||||
|
||||
// get ids of selected files
|
||||
getters.clipboard.forEach(file => {
|
||||
let type = file.type === 'folder'
|
||||
let type = file.data.type === 'folder'
|
||||
? 'folder'
|
||||
: 'file'
|
||||
|
||||
files.push(file.id + '|' + type)
|
||||
files.push(file.data.id + '|' + type)
|
||||
})
|
||||
|
||||
let items = files.join(',')
|
||||
@@ -46,8 +45,8 @@ const actions = {
|
||||
items = getters.clipboard
|
||||
|
||||
items.forEach(data => itemsToMove.push({
|
||||
'id': data.id,
|
||||
'type': data.type
|
||||
'id': data.data.id,
|
||||
'type': data.data.type
|
||||
}))
|
||||
|
||||
// Remove file preview
|
||||
@@ -61,7 +60,7 @@ const actions = {
|
||||
|
||||
axios
|
||||
.post(route, {
|
||||
to_id: to_item.id ? to_item.id : null,
|
||||
to_id: to_item.data.id ? to_item.data.id : null,
|
||||
items: itemsToMove
|
||||
})
|
||||
.then(() => {
|
||||
@@ -85,7 +84,7 @@ const actions = {
|
||||
: '/api/create-folder'
|
||||
|
||||
let parent_id = getters.currentFolder
|
||||
? getters.currentFolder.id
|
||||
? getters.currentFolder.data.id
|
||||
: undefined
|
||||
|
||||
axios
|
||||
@@ -178,7 +177,7 @@ const actions = {
|
||||
commit('SHIFT_FROM_FILE_QUEUE')
|
||||
|
||||
// Check if user is in uploading folder, if yes, than show new file
|
||||
if (response.data.folder_id === getters.currentFolder.id) {
|
||||
if (response.data.folder_id === getters.currentFolder.data.id) {
|
||||
|
||||
// Add uploaded item into view
|
||||
commit('ADD_NEW_ITEMS', response.data)
|
||||
@@ -253,8 +252,8 @@ const actions = {
|
||||
restoreToHome = true
|
||||
|
||||
items.forEach(data => itemToRestore.push({
|
||||
type: data.type,
|
||||
id: data.id
|
||||
type: data.data.type,
|
||||
id: data.data.id
|
||||
}))
|
||||
|
||||
// Remove file preview
|
||||
@@ -282,28 +281,28 @@ const actions = {
|
||||
|
||||
items.forEach(data => {
|
||||
itemsToDelete.push({
|
||||
force_delete: !!data.deleted_at,
|
||||
type: data.type,
|
||||
id: data.id
|
||||
force_delete: !!data.data.attributes.deleted_at,
|
||||
type: data.data.type,
|
||||
id: data.data.id
|
||||
})
|
||||
|
||||
// Remove file
|
||||
commit('REMOVE_ITEM', data.id)
|
||||
commit('REMOVE_ITEM', data.data.id)
|
||||
|
||||
// Remove item from sidebar
|
||||
if (getters.permission === 'master') {
|
||||
|
||||
if (data.type === 'folder')
|
||||
if (data.data.type === 'folder')
|
||||
commit('REMOVE_ITEM_FROM_FAVOURITES', data)
|
||||
}
|
||||
|
||||
// Remove file
|
||||
commit('REMOVE_ITEM', data.id)
|
||||
commit('REMOVE_ITEM', data.data.id)
|
||||
|
||||
// Remove item from sidebar
|
||||
if (getters.permission === 'master') {
|
||||
|
||||
if (data.type === 'folder')
|
||||
if (data.data.type === 'folder')
|
||||
commit('REMOVE_ITEM_FROM_FAVOURITES', data)
|
||||
}
|
||||
})
|
||||
@@ -324,12 +323,12 @@ const actions = {
|
||||
})
|
||||
.then(() => {
|
||||
|
||||
/*itemsToDelete.forEach(data => {
|
||||
itemsToDelete.forEach(data => {
|
||||
|
||||
// If is folder, update app data
|
||||
if (data.type === 'folder') {
|
||||
if (data.data.type === 'folder') {
|
||||
|
||||
if (data.id === getters.currentFolder.id) {
|
||||
if (data.data.id === getters.currentFolder.data.id) {
|
||||
|
||||
if (getters.currentFolder.location === 'public') {
|
||||
dispatch('browseShared')
|
||||
@@ -338,7 +337,7 @@ const actions = {
|
||||
}
|
||||
}
|
||||
}
|
||||
})*/
|
||||
})
|
||||
|
||||
if (Vue.prototype.$isThisRoute(router.currentRoute, ['Public']))
|
||||
dispatch('getFolderTree')
|
||||
|
||||
6
resources/js/store/modules/userAuth.js
vendored
6
resources/js/store/modules/userAuth.js
vendored
@@ -123,9 +123,9 @@ const mutations = {
|
||||
ADD_TO_FAVOURITES(state, folder) {
|
||||
folder.forEach(item => {
|
||||
state.user.data.relationships.favourites.data.attributes.folders.push({
|
||||
id: item.id,
|
||||
name: item.name,
|
||||
type: item.type,
|
||||
id: item.data.id,
|
||||
name: item.data.attributes.name,
|
||||
type: item.data.type,
|
||||
})
|
||||
})
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user