- added file resource

- frontend refactoring
This commit is contained in:
Peter Papp
2021-08-26 18:01:57 +02:00
parent f5f2179145
commit 5c6a873b02
37 changed files with 339 additions and 773 deletions

View File

@@ -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

View File

@@ -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')

View File

@@ -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,
})
})
},