mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-20 17:02:16 +00:00
added prettier
This commit is contained in:
68
resources/js/store/modules/app.js
vendored
68
resources/js/store/modules/app.js
vendored
@@ -1,6 +1,6 @@
|
||||
import i18n from "../../i18n"
|
||||
import axios from "axios"
|
||||
import Vue from "vue"
|
||||
import i18n from '../../i18n'
|
||||
import axios from 'axios'
|
||||
import Vue from 'vue'
|
||||
|
||||
const defaultState = {
|
||||
isVisibleNavigationBars: localStorage.getItem('is_navigation_bars') !== 'false',
|
||||
@@ -17,10 +17,10 @@ const defaultState = {
|
||||
},
|
||||
}
|
||||
const actions = {
|
||||
toggleThemeMode: ({commit}, mode = undefined) => {
|
||||
const app = document.getElementsByTagName("html")[0];
|
||||
toggleThemeMode: ({ commit }, mode = undefined) => {
|
||||
const app = document.getElementsByTagName('html')[0]
|
||||
|
||||
if (! mode) {
|
||||
if (!mode) {
|
||||
mode = app.classList.contains('dark') ? 'light' : 'dark'
|
||||
}
|
||||
|
||||
@@ -32,17 +32,16 @@ const actions = {
|
||||
// Update user settings
|
||||
Vue.prototype.$updateText('/user/settings', 'theme_mode', mode)
|
||||
},
|
||||
toggleNavigationBars: ({commit, state}) => {
|
||||
|
||||
toggleNavigationBars: ({ commit, state }) => {
|
||||
// Store dark mode into localStorage
|
||||
localStorage.setItem('is_navigation_bars', ! state.isVisibleNavigationBars)
|
||||
localStorage.setItem('is_navigation_bars', !state.isVisibleNavigationBars)
|
||||
|
||||
// Change preview
|
||||
commit('TOGGLE_NAVIGATION_BARS')
|
||||
},
|
||||
togglePreviewType: ({commit, state}, preview) => {
|
||||
togglePreviewType: ({ commit, state }, preview) => {
|
||||
// Get preview type
|
||||
let previewType = preview ? preview : state.itemViewType === 'list' ? 'grid' : 'list';
|
||||
let previewType = preview ? preview : state.itemViewType === 'list' ? 'grid' : 'list'
|
||||
|
||||
// Store preview type to localStorage
|
||||
localStorage.setItem('preview_type', previewType)
|
||||
@@ -50,8 +49,7 @@ const actions = {
|
||||
// Change preview
|
||||
commit('CHANGE_PREVIEW', previewType)
|
||||
},
|
||||
toggleEmojiType: ({commit, getters}, type = undefined) => {
|
||||
|
||||
toggleEmojiType: ({ commit, getters }, type = undefined) => {
|
||||
let newType = type ? type : getters.config.defaultEmoji === 'twemoji' ? 'applemoji' : 'twemoji'
|
||||
|
||||
// Update config
|
||||
@@ -74,17 +72,14 @@ const actions = {
|
||||
context.commit('FILE_INFO_TOGGLE', visibility)
|
||||
}
|
||||
},
|
||||
getLanguageTranslations: ({commit, state}, lang) => {
|
||||
getLanguageTranslations: ({ commit, state }, lang) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
axios.get(`/translations/${lang}`).then((response) => {
|
||||
i18n.setLocaleMessage(lang, response.data)
|
||||
i18n.locale = lang
|
||||
|
||||
axios.get(`/translations/${lang}`)
|
||||
.then(response => {
|
||||
|
||||
i18n.setLocaleMessage(lang, response.data)
|
||||
i18n.locale = lang
|
||||
|
||||
resolve(response)
|
||||
})
|
||||
resolve(response)
|
||||
})
|
||||
})
|
||||
},
|
||||
}
|
||||
@@ -118,12 +113,12 @@ const mutations = {
|
||||
state.itemViewType = type
|
||||
},
|
||||
TOGGLE_NAVIGATION_BARS(state) {
|
||||
state.isVisibleNavigationBars = ! state.isVisibleNavigationBars
|
||||
state.isVisibleNavigationBars = !state.isVisibleNavigationBars
|
||||
},
|
||||
STORE_REQUESTED_PLAN(state, plan) {
|
||||
state.requestedPlan = plan
|
||||
},
|
||||
REPLACE_CONFIG_VALUE(state, {key, value}) {
|
||||
REPLACE_CONFIG_VALUE(state, { key, value }) {
|
||||
state.config[key] = value
|
||||
},
|
||||
SET_SOCIAL_LOGIN_CONFIGURED(state, service) {
|
||||
@@ -165,17 +160,20 @@ const mutations = {
|
||||
}
|
||||
|
||||
const getters = {
|
||||
isVisibleNavigationBars: state => state.isVisibleNavigationBars,
|
||||
isVisibleSidebar: state => state.isVisibleSidebar,
|
||||
itemViewType: state => state.itemViewType,
|
||||
requestedPlan: state => state.requestedPlan,
|
||||
api: state => state.config.api,
|
||||
config: state => state.config,
|
||||
emojis: state => state.emojis,
|
||||
index: state => state.index,
|
||||
isDarkMode: state => state.isDarkMode,
|
||||
isVisibleNavigationBars: (state) => state.isVisibleNavigationBars,
|
||||
isVisibleSidebar: (state) => state.isVisibleSidebar,
|
||||
itemViewType: (state) => state.itemViewType,
|
||||
requestedPlan: (state) => state.requestedPlan,
|
||||
api: (state) => state.config.api,
|
||||
config: (state) => state.config,
|
||||
emojis: (state) => state.emojis,
|
||||
index: (state) => state.index,
|
||||
isDarkMode: (state) => state.isDarkMode,
|
||||
sorting: (state) => {
|
||||
return {sorting: state.sorting, URI: '?sort=' + state.sorting.field + '&direction=' + state.sorting.sort}
|
||||
return {
|
||||
sorting: state.sorting,
|
||||
URI: '?sort=' + state.sorting.field + '&direction=' + state.sorting.sort,
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
@@ -183,5 +181,5 @@ export default {
|
||||
state: defaultState,
|
||||
getters,
|
||||
actions,
|
||||
mutations
|
||||
mutations,
|
||||
}
|
||||
|
||||
99
resources/js/store/modules/fileBrowser.js
vendored
99
resources/js/store/modules/fileBrowser.js
vendored
@@ -1,8 +1,8 @@
|
||||
import Vue from "vue"
|
||||
import Vue from 'vue'
|
||||
import axios from 'axios'
|
||||
import {events} from "../../bus"
|
||||
import { events } from '../../bus'
|
||||
import router from '../../router'
|
||||
import i18n from "../../i18n";
|
||||
import i18n from '../../i18n'
|
||||
|
||||
const defaultState = {
|
||||
currentFolder: undefined,
|
||||
@@ -15,30 +15,29 @@ const defaultState = {
|
||||
}
|
||||
|
||||
const actions = {
|
||||
getFolder: ({commit, getters}, id) => {
|
||||
commit('LOADING_STATE', {loading: true, data: []})
|
||||
getFolder: ({ commit, getters }, id) => {
|
||||
commit('LOADING_STATE', { loading: true, data: [] })
|
||||
|
||||
axios
|
||||
.get(`${getters.api}/browse/folders/${id}/${getters.sorting.URI}`)
|
||||
.then(response => {
|
||||
.then((response) => {
|
||||
let folders = response.data.folders.data
|
||||
let files = response.data.files.data
|
||||
|
||||
commit('LOADING_STATE', {loading: false, data: folders.concat(files)})
|
||||
commit('LOADING_STATE', {
|
||||
loading: false,
|
||||
data: folders.concat(files),
|
||||
})
|
||||
commit('SET_CURRENT_FOLDER', response.data.root)
|
||||
|
||||
events.$emit('scrollTop')
|
||||
})
|
||||
.catch(error => {
|
||||
|
||||
.catch((error) => {
|
||||
// Redirect if unauthenticated
|
||||
if ([401, 403].includes(error.response.status)) {
|
||||
|
||||
commit('SET_AUTHORIZED', false)
|
||||
router.push({name: 'SignIn'})
|
||||
|
||||
router.push({ name: 'SignIn' })
|
||||
} else {
|
||||
|
||||
// Show error message
|
||||
events.$emit('alert:open', {
|
||||
title: i18n.t('popup_error.title'),
|
||||
@@ -47,56 +46,62 @@ const actions = {
|
||||
}
|
||||
})
|
||||
},
|
||||
getRecentUploads: ({commit, getters}) => {
|
||||
commit('LOADING_STATE', {loading: true, data: []})
|
||||
getRecentUploads: ({ commit, getters }) => {
|
||||
commit('LOADING_STATE', { loading: true, data: [] })
|
||||
|
||||
axios
|
||||
.get(getters.api + '/browse/latest')
|
||||
.then(response => {
|
||||
commit('LOADING_STATE', {loading: false, data: response.data.files.data})
|
||||
.then((response) => {
|
||||
commit('LOADING_STATE', {
|
||||
loading: false,
|
||||
data: response.data.files.data,
|
||||
})
|
||||
commit('SET_CURRENT_FOLDER', undefined)
|
||||
|
||||
events.$emit('scrollTop')
|
||||
})
|
||||
.catch(() => Vue.prototype.$isSomethingWrong())
|
||||
},
|
||||
getMySharedItems: ({commit, getters}) => {
|
||||
commit('LOADING_STATE', {loading: true, data: []})
|
||||
getMySharedItems: ({ commit, getters }) => {
|
||||
commit('LOADING_STATE', { loading: true, data: [] })
|
||||
|
||||
axios
|
||||
.get(getters.api + '/browse/share' + getters.sorting.URI)
|
||||
.then(response => {
|
||||
|
||||
.then((response) => {
|
||||
let folders = response.data.folders.data
|
||||
let files = response.data.files.data
|
||||
|
||||
commit('LOADING_STATE', {loading: false, data: folders.concat(files)})
|
||||
commit('LOADING_STATE', {
|
||||
loading: false,
|
||||
data: folders.concat(files),
|
||||
})
|
||||
commit('SET_CURRENT_FOLDER', undefined)
|
||||
|
||||
events.$emit('scrollTop')
|
||||
})
|
||||
.catch(() => Vue.prototype.$isSomethingWrong())
|
||||
},
|
||||
getTrash: ({commit, getters}, id) => {
|
||||
commit('LOADING_STATE', {loading: true, data: []})
|
||||
getTrash: ({ commit, getters }, id) => {
|
||||
commit('LOADING_STATE', { loading: true, data: [] })
|
||||
|
||||
axios
|
||||
.get(`${getters.api}/browse/trash/${id}/${getters.sorting.URI}`)
|
||||
.then(response => {
|
||||
|
||||
.then((response) => {
|
||||
let folders = response.data.folders.data
|
||||
let files = response.data.files.data
|
||||
|
||||
commit('LOADING_STATE', {loading: false, data: folders.concat(files)})
|
||||
commit('LOADING_STATE', {
|
||||
loading: false,
|
||||
data: folders.concat(files),
|
||||
})
|
||||
commit('SET_CURRENT_FOLDER', response.data.root)
|
||||
|
||||
events.$emit('scrollTop')
|
||||
})
|
||||
.catch(() => Vue.prototype.$isSomethingWrong())
|
||||
},
|
||||
getFolderTree: ({commit, getters}) => {
|
||||
getFolderTree: ({ commit, getters }) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
// Get route
|
||||
let route = undefined
|
||||
|
||||
@@ -108,7 +113,7 @@ const actions = {
|
||||
|
||||
axios
|
||||
.get(route + getters.sorting.URI)
|
||||
.then(response => {
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
|
||||
commit('UPDATE_FOLDER_TREE', response.data)
|
||||
@@ -134,12 +139,12 @@ const mutations = {
|
||||
state.navigation = tree
|
||||
},
|
||||
FLUSH_SHARED(state, id) {
|
||||
state.entries.find(item => {
|
||||
state.entries.find((item) => {
|
||||
if (item.data.id === id) item.data.relationships.shared = undefined
|
||||
})
|
||||
},
|
||||
CHANGE_ITEM_NAME(state, updatedFile) {
|
||||
state.entries.find(item => {
|
||||
state.entries.find((item) => {
|
||||
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
|
||||
@@ -148,14 +153,14 @@ const mutations = {
|
||||
})
|
||||
},
|
||||
UPDATE_SHARED_ITEM(state, data) {
|
||||
state.entries.find(item => {
|
||||
state.entries.find((item) => {
|
||||
if (item.data.id === data.data.attributes.item_id) {
|
||||
item.data.relationships.shared = data
|
||||
}
|
||||
})
|
||||
},
|
||||
UPDATE_ITEM(state, data) {
|
||||
state.entries.find(item => {
|
||||
state.entries.find((item) => {
|
||||
if (item.data.id === data.data.id) item.data = data.data
|
||||
})
|
||||
},
|
||||
@@ -166,21 +171,21 @@ const mutations = {
|
||||
state.entries = state.entries.concat(items)
|
||||
},
|
||||
REMOVE_ITEM(state, id) {
|
||||
state.entries = state.entries.filter(el => el.data.id !== id)
|
||||
state.entries = state.entries.filter((el) => el.data.id !== id)
|
||||
},
|
||||
INCREASE_FOLDER_ITEM(state, id) {
|
||||
state.entries.map(el => {
|
||||
state.entries.map((el) => {
|
||||
if (el.data.id && el.data.id === id) el.data.attributes.items++
|
||||
})
|
||||
},
|
||||
REMOVE_ITEM_FROM_CLIPBOARD(state, item) {
|
||||
state.clipboard = state.clipboard.filter(element => element.data.id !== item.data.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.data.id === item.data.id)
|
||||
let selectedItem = state.entries.find((el) => el.data.id === item.data.id)
|
||||
|
||||
if (state.clipboard.includes(selectedItem)) return
|
||||
|
||||
@@ -197,7 +202,7 @@ const mutations = {
|
||||
},
|
||||
TOGGLE_MULTISELECT_MODE(state) {
|
||||
state.clipboard = []
|
||||
state.isMultiSelectMode = ! state.isMultiSelectMode
|
||||
state.isMultiSelectMode = !state.isMultiSelectMode
|
||||
},
|
||||
DISABLE_MULTISELECT_MODE(state) {
|
||||
state.clipboard = []
|
||||
@@ -206,18 +211,18 @@ const mutations = {
|
||||
}
|
||||
|
||||
const getters = {
|
||||
isMultiSelectMode: state => state.isMultiSelectMode,
|
||||
currentFolder: state => state.currentFolder,
|
||||
fastPreview: state => state.fastPreview,
|
||||
navigation: state => state.navigation,
|
||||
clipboard: state => state.clipboard,
|
||||
isLoading: state => state.isLoading,
|
||||
entries: state => state.entries,
|
||||
isMultiSelectMode: (state) => state.isMultiSelectMode,
|
||||
currentFolder: (state) => state.currentFolder,
|
||||
fastPreview: (state) => state.fastPreview,
|
||||
navigation: (state) => state.navigation,
|
||||
clipboard: (state) => state.clipboard,
|
||||
isLoading: (state) => state.isLoading,
|
||||
entries: (state) => state.entries,
|
||||
}
|
||||
|
||||
export default {
|
||||
state: defaultState,
|
||||
getters,
|
||||
actions,
|
||||
mutations
|
||||
mutations,
|
||||
}
|
||||
|
||||
241
resources/js/store/modules/fileFunctions.js
vendored
241
resources/js/store/modules/fileFunctions.js
vendored
@@ -1,6 +1,6 @@
|
||||
import i18n from "../../i18n";
|
||||
import router from "../../router"
|
||||
import {events} from "../../bus";
|
||||
import i18n from '../../i18n'
|
||||
import router from '../../router'
|
||||
import { events } from '../../bus'
|
||||
import axios from 'axios'
|
||||
import Vue from 'vue'
|
||||
|
||||
@@ -14,7 +14,7 @@ const defaultState = {
|
||||
}
|
||||
|
||||
const actions = {
|
||||
downloadZip: ({getters}, item = undefined) => {
|
||||
downloadZip: ({ getters }, item = undefined) => {
|
||||
let files = []
|
||||
|
||||
// Get if from retrieved item
|
||||
@@ -23,11 +23,9 @@ const actions = {
|
||||
}
|
||||
|
||||
// Get ids of selected files
|
||||
if (! item) {
|
||||
getters.clipboard.forEach(file => {
|
||||
let type = file.data.type === 'folder'
|
||||
? 'folder'
|
||||
: 'file'
|
||||
if (!item) {
|
||||
getters.clipboard.forEach((file) => {
|
||||
let type = file.data.type === 'folder' ? 'folder' : 'file'
|
||||
|
||||
files.push(file.data.id + '|' + type)
|
||||
})
|
||||
@@ -41,102 +39,87 @@ const actions = {
|
||||
// Download zip
|
||||
Vue.prototype.$downloadFile(route, 'files.zip')
|
||||
},
|
||||
moveItem: ({commit, getters, dispatch}, {to_item, noSelectedItem}) => {
|
||||
|
||||
moveItem: ({ commit, getters, dispatch }, { to_item, noSelectedItem }) => {
|
||||
let itemsToMove = []
|
||||
let items = [noSelectedItem]
|
||||
|
||||
// If coming no selected item dont get items to move from clipboard
|
||||
if (!noSelectedItem)
|
||||
items = getters.clipboard
|
||||
if (!noSelectedItem) items = getters.clipboard
|
||||
|
||||
items.forEach(data => itemsToMove.push({
|
||||
'id': data.data.id,
|
||||
'type': data.data.type
|
||||
}))
|
||||
items.forEach((data) =>
|
||||
itemsToMove.push({
|
||||
id: data.data.id,
|
||||
type: data.data.type,
|
||||
})
|
||||
)
|
||||
|
||||
// Remove file preview
|
||||
if (!noSelectedItem)
|
||||
commit('CLIPBOARD_CLEAR')
|
||||
if (!noSelectedItem) commit('CLIPBOARD_CLEAR')
|
||||
|
||||
// Get route
|
||||
let route = getters.sharedDetail
|
||||
? `/api/editor/move/${router.currentRoute.params.token}`
|
||||
: '/api/move'
|
||||
let route = getters.sharedDetail ? `/api/editor/move/${router.currentRoute.params.token}` : '/api/move'
|
||||
|
||||
let moveToId = null
|
||||
|
||||
if (to_item.data)
|
||||
moveToId = to_item.data.id
|
||||
else if (to_item.id)
|
||||
moveToId = to_item.id
|
||||
if (to_item.data) moveToId = to_item.data.id
|
||||
else if (to_item.id) moveToId = to_item.id
|
||||
|
||||
axios
|
||||
.post(route, {
|
||||
to_id: moveToId,
|
||||
items: itemsToMove
|
||||
items: itemsToMove,
|
||||
})
|
||||
.then(() => {
|
||||
itemsToMove.forEach(item => {
|
||||
itemsToMove.forEach((item) => {
|
||||
commit('REMOVE_ITEM', item.id)
|
||||
commit('INCREASE_FOLDER_ITEM', moveToId)
|
||||
|
||||
if (item.type === 'folder')
|
||||
dispatch('getAppData')
|
||||
if (item.type === 'folder') dispatch('getAppData')
|
||||
|
||||
if (Vue.prototype.$isThisRoute(router.currentRoute, ['Public']))
|
||||
dispatch('getFolderTree')
|
||||
if (Vue.prototype.$isThisRoute(router.currentRoute, ['Public'])) dispatch('getFolderTree')
|
||||
})
|
||||
})
|
||||
.catch(() => Vue.prototype.$isSomethingWrong())
|
||||
},
|
||||
createFolder: ({commit, getters, dispatch}, folder) => {
|
||||
|
||||
createFolder: ({ commit, getters, dispatch }, folder) => {
|
||||
// Get route
|
||||
let route = getters.sharedDetail
|
||||
? `/api/editor/create-folder/${router.currentRoute.params.token}`
|
||||
: '/api/create-folder'
|
||||
|
||||
let parent_id = getters.currentFolder
|
||||
? getters.currentFolder.data.id
|
||||
: undefined
|
||||
let parent_id = getters.currentFolder ? getters.currentFolder.data.id : undefined
|
||||
|
||||
axios
|
||||
.post(route, {
|
||||
parent_id: parent_id,
|
||||
name: folder.name,
|
||||
emoji: folder.emoji
|
||||
emoji: folder.emoji,
|
||||
})
|
||||
.then(response => {
|
||||
.then((response) => {
|
||||
commit('ADD_NEW_FOLDER', response.data)
|
||||
|
||||
events.$emit('scrollTop')
|
||||
|
||||
// Set focus on new folder name
|
||||
setTimeout(() => {
|
||||
if (! Vue.prototype.$isMobile()) {
|
||||
if (!Vue.prototype.$isMobile()) {
|
||||
events.$emit('newFolder:focus', response.data.data.id)
|
||||
}
|
||||
}, 10)
|
||||
|
||||
if (Vue.prototype.$isThisRoute(router.currentRoute, ['Public']))
|
||||
dispatch('getFolderTree')
|
||||
else
|
||||
dispatch('getAppData')
|
||||
|
||||
if (Vue.prototype.$isThisRoute(router.currentRoute, ['Public'])) dispatch('getFolderTree')
|
||||
else dispatch('getAppData')
|
||||
})
|
||||
.catch(error => {
|
||||
.catch((error) => {
|
||||
events.$emit('alert:open', {
|
||||
title: error.response.data.message,
|
||||
message: i18n.t('popup_error.message')
|
||||
message: i18n.t('popup_error.message'),
|
||||
})
|
||||
})
|
||||
},
|
||||
renameItem: ({commit, getters, dispatch}, data) => {
|
||||
|
||||
renameItem: ({ commit, getters, dispatch }, data) => {
|
||||
// Updated name in favourites panel
|
||||
if (getters.permission === 'master' && data.type === 'folder')
|
||||
commit('UPDATE_NAME_IN_FAVOURITES', data)
|
||||
if (getters.permission === 'master' && data.type === 'folder') commit('UPDATE_NAME_IN_FAVOURITES', data)
|
||||
|
||||
// Get route
|
||||
let route = getters.sharedDetail
|
||||
@@ -146,25 +129,22 @@ const actions = {
|
||||
axios
|
||||
.post(route, {
|
||||
...data,
|
||||
_method: 'patch'
|
||||
_method: 'patch',
|
||||
})
|
||||
.then(response => {
|
||||
.then((response) => {
|
||||
commit('CHANGE_ITEM_NAME', response.data)
|
||||
|
||||
if (data.type === 'folder' && ! Vue.prototype.$isThisRoute(router.currentRoute, ['Public']))
|
||||
if (data.type === 'folder' && !Vue.prototype.$isThisRoute(router.currentRoute, ['Public']))
|
||||
dispatch('getAppData')
|
||||
if (data.type === 'folder' && Vue.prototype.$isThisRoute(router.currentRoute, ['Public']))
|
||||
dispatch('getFolderTree')
|
||||
})
|
||||
.catch(() => Vue.prototype.$isSomethingWrong())
|
||||
},
|
||||
uploadFiles: ({commit, getters, dispatch}, {form, fileSize, totalUploadedSize}) => {
|
||||
uploadFiles: ({ commit, getters, dispatch }, { form, fileSize, totalUploadedSize }) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
// Get route
|
||||
let route = getters.sharedDetail
|
||||
? `/api/editor/upload/${router.currentRoute.params.token}`
|
||||
: '/api/upload'
|
||||
let route = getters.sharedDetail ? `/api/editor/upload/${router.currentRoute.params.token}` : '/api/upload'
|
||||
|
||||
// Create cancel token for axios cancellation
|
||||
const CancelToken = axios.CancelToken,
|
||||
@@ -174,32 +154,33 @@ const actions = {
|
||||
.post(route, form, {
|
||||
cancelToken: source.token,
|
||||
headers: {
|
||||
'Content-Type': 'application/octet-stream'
|
||||
'Content-Type': 'application/octet-stream',
|
||||
},
|
||||
onUploadProgress: event => {
|
||||
let percentCompleted = Math.floor(((totalUploadedSize + event.loaded) / fileSize) * 100);
|
||||
onUploadProgress: (event) => {
|
||||
let percentCompleted = Math.floor(((totalUploadedSize + event.loaded) / fileSize) * 100)
|
||||
|
||||
commit('UPLOADING_FILE_PROGRESS', percentCompleted >= 100 ? 100 : percentCompleted)
|
||||
|
||||
// Set processing file
|
||||
if (percentCompleted >= 100)
|
||||
commit('PROCESSING_FILE', true)
|
||||
}
|
||||
if (percentCompleted >= 100) commit('PROCESSING_FILE', true)
|
||||
},
|
||||
})
|
||||
.then(response => {
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
|
||||
// Proceed if was returned database record
|
||||
if (response.data.data.id) {
|
||||
|
||||
commit('PROCESSING_FILE', false)
|
||||
|
||||
// Remove first file from file queue
|
||||
commit('SHIFT_FROM_FILE_QUEUE')
|
||||
|
||||
// Check if user is in uploading folder, if yes, than show new file
|
||||
if ((! getters.currentFolder && !response.data.data.attributes.parent_id) || (getters.currentFolder && response.data.data.attributes.parent_id === getters.currentFolder.data.id)) {
|
||||
|
||||
if (
|
||||
(!getters.currentFolder && !response.data.data.attributes.parent_id) ||
|
||||
(getters.currentFolder &&
|
||||
response.data.data.attributes.parent_id === getters.currentFolder.data.id)
|
||||
) {
|
||||
// Add uploaded item into view
|
||||
commit('ADD_NEW_ITEMS', response.data)
|
||||
}
|
||||
@@ -227,25 +208,25 @@ const actions = {
|
||||
}
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
.catch((error) => {
|
||||
reject(error)
|
||||
|
||||
console.log(error);
|
||||
console.log(error)
|
||||
|
||||
let messages = {
|
||||
'423': {
|
||||
423: {
|
||||
title: i18n.t('popup_exceed_limit.title'),
|
||||
message: i18n.t('popup_exceed_limit.message')
|
||||
message: i18n.t('popup_exceed_limit.message'),
|
||||
},
|
||||
'422': {
|
||||
422: {
|
||||
title: i18n.t('popup_mimetypes_blacklist.title'),
|
||||
message: i18n.t('popup_mimetypes_blacklist.message')
|
||||
message: i18n.t('popup_mimetypes_blacklist.message'),
|
||||
},
|
||||
'413': {
|
||||
413: {
|
||||
title: i18n.t('popup_paylod_error.title'),
|
||||
message: i18n.t('popup_paylod_error.message')
|
||||
message: i18n.t('popup_paylod_error.message'),
|
||||
},
|
||||
'401': {
|
||||
401: {
|
||||
//title: error.response.data.message,
|
||||
},
|
||||
}
|
||||
@@ -253,7 +234,7 @@ const actions = {
|
||||
events.$emit('alert:open', {
|
||||
emoji: '😬😬😬',
|
||||
title: messages[error.response.status]['title'],
|
||||
message: messages[error.response.status]['message'] || null
|
||||
message: messages[error.response.status]['message'] || null,
|
||||
})
|
||||
|
||||
commit('PROCESSING_FILE', false)
|
||||
@@ -270,20 +251,20 @@ const actions = {
|
||||
})
|
||||
})
|
||||
},
|
||||
restoreItem: ({commit, getters}, item) => {
|
||||
|
||||
restoreItem: ({ commit, getters }, item) => {
|
||||
let itemToRestore = []
|
||||
let items = [item]
|
||||
let restoreToHome = Vue.prototype.$isThisRoute(router.currentRoute, ['Trash'])
|
||||
|
||||
// If coming no selected item dont get items to restore from clipboard
|
||||
if (!item)
|
||||
items = getters.clipboard
|
||||
if (!item) items = getters.clipboard
|
||||
|
||||
items.forEach(data => itemToRestore.push({
|
||||
type: data.data.type,
|
||||
id: data.data.id
|
||||
}))
|
||||
items.forEach((data) =>
|
||||
itemToRestore.push({
|
||||
type: data.data.type,
|
||||
id: data.data.id,
|
||||
})
|
||||
)
|
||||
|
||||
// Remove file preview
|
||||
commit('CLIPBOARD_CLEAR')
|
||||
@@ -291,37 +272,31 @@ const actions = {
|
||||
axios
|
||||
.post(getters.api + '/trash/restore', {
|
||||
to_home: restoreToHome,
|
||||
items: itemToRestore
|
||||
items: itemToRestore,
|
||||
})
|
||||
.then(
|
||||
items.forEach(item => commit('REMOVE_ITEM', item.data.id))
|
||||
)
|
||||
.then(items.forEach((item) => commit('REMOVE_ITEM', item.data.id)))
|
||||
.catch(() => Vue.prototype.$isSomethingWrong())
|
||||
},
|
||||
deleteItem: ({commit, getters, dispatch}, noSelectedItem) => {
|
||||
|
||||
deleteItem: ({ commit, getters, dispatch }, noSelectedItem) => {
|
||||
let itemsToDelete = []
|
||||
let items = [noSelectedItem]
|
||||
|
||||
// If coming no selected item dont get items to move from clipboard
|
||||
if (!noSelectedItem)
|
||||
items = getters.clipboard
|
||||
if (!noSelectedItem) items = getters.clipboard
|
||||
|
||||
items.forEach(data => {
|
||||
itemsToDelete.push({
|
||||
force_delete: !!data.data.attributes.deleted_at,
|
||||
type: data.data.type,
|
||||
id: data.data.id
|
||||
})
|
||||
items.forEach((data) => {
|
||||
itemsToDelete.push({
|
||||
force_delete: !!data.data.attributes.deleted_at,
|
||||
type: data.data.type,
|
||||
id: data.data.id,
|
||||
})
|
||||
|
||||
// Remove file
|
||||
commit('REMOVE_ITEM', data.data.id)
|
||||
|
||||
// Remove item from sidebar
|
||||
if (getters.permission === 'master') {
|
||||
|
||||
if (data.data.type === 'folder')
|
||||
commit('REMOVE_ITEM_FROM_FAVOURITES', data)
|
||||
if (data.data.type === 'folder') commit('REMOVE_ITEM_FROM_FAVOURITES', data)
|
||||
}
|
||||
|
||||
// Remove file
|
||||
@@ -329,9 +304,7 @@ const actions = {
|
||||
|
||||
// Remove item from sidebar
|
||||
if (getters.permission === 'master') {
|
||||
|
||||
if (data.data.type === 'folder')
|
||||
commit('REMOVE_ITEM_FROM_FAVOURITES', data)
|
||||
if (data.data.type === 'folder') commit('REMOVE_ITEM_FROM_FAVOURITES', data)
|
||||
}
|
||||
})
|
||||
|
||||
@@ -341,22 +314,17 @@ const actions = {
|
||||
}
|
||||
|
||||
// Get route
|
||||
let route = getters.sharedDetail
|
||||
? `/api/editor/remove/${router.currentRoute.params.token}`
|
||||
: '/api/remove'
|
||||
let route = getters.sharedDetail ? `/api/editor/remove/${router.currentRoute.params.token}` : '/api/remove'
|
||||
|
||||
axios
|
||||
.post(route, {
|
||||
items: itemsToDelete
|
||||
items: itemsToDelete,
|
||||
})
|
||||
.then(() => {
|
||||
itemsToDelete.forEach(data => {
|
||||
|
||||
itemsToDelete.forEach((data) => {
|
||||
// If is folder, update app data
|
||||
if (data.type === 'folder') {
|
||||
|
||||
if (data.id === getters.currentFolder.data.id) {
|
||||
|
||||
if (Vue.prototype.$isThisRoute(router.currentRoute, ['Public'])) {
|
||||
dispatch('browseShared')
|
||||
} else {
|
||||
@@ -366,40 +334,35 @@ const actions = {
|
||||
}
|
||||
})
|
||||
|
||||
if (Vue.prototype.$isThisRoute(router.currentRoute, ['Public']))
|
||||
dispatch('getFolderTree')
|
||||
else
|
||||
dispatch('getAppData')
|
||||
|
||||
if (Vue.prototype.$isThisRoute(router.currentRoute, ['Public'])) dispatch('getFolderTree')
|
||||
else dispatch('getAppData')
|
||||
})
|
||||
//.catch(() => Vue.prototype.$isSomethingWrong())
|
||||
//.catch(() => Vue.prototype.$isSomethingWrong())
|
||||
},
|
||||
emptyTrash: ({commit, getters}) => {
|
||||
|
||||
emptyTrash: ({ commit, getters }) => {
|
||||
// Clear file browser
|
||||
commit('LOADING_STATE', {loading: true, data: []})
|
||||
commit('LOADING_STATE', { loading: true, data: [] })
|
||||
|
||||
axios
|
||||
.post(getters.api + '/trash/dump', {
|
||||
_method: 'delete'
|
||||
_method: 'delete',
|
||||
})
|
||||
.then(() => {
|
||||
commit('LOADING_STATE', {loading: false, data: []})
|
||||
commit('LOADING_STATE', { loading: false, data: [] })
|
||||
events.$emit('scrollTop')
|
||||
|
||||
commit('CLIPBOARD_CLEAR')
|
||||
})
|
||||
.catch(() => Vue.prototype.$isSomethingWrong())
|
||||
},
|
||||
emptyTrashQuietly: ({commit, getters}) => {
|
||||
emptyTrashQuietly: ({ commit, getters }) => {
|
||||
axios
|
||||
.post(getters.api + '/trash/dump', {
|
||||
_method: 'delete'
|
||||
_method: 'delete',
|
||||
})
|
||||
.then(() => {
|
||||
|
||||
if (router.currentRoute.name === 'Trash') {
|
||||
commit('LOADING_STATE', {loading: false, data: []})
|
||||
commit('LOADING_STATE', { loading: false, data: [] })
|
||||
}
|
||||
|
||||
events.$emit('toaster', {
|
||||
@@ -408,7 +371,7 @@ const actions = {
|
||||
})
|
||||
})
|
||||
.catch(() => Vue.prototype.$isSomethingWrong())
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
const mutations = {
|
||||
@@ -437,21 +400,21 @@ const mutations = {
|
||||
state.filesInQueueUploaded = 0
|
||||
state.filesInQueueTotal = 0
|
||||
state.fileQueue = []
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
const getters = {
|
||||
filesInQueueUploaded: state => state.filesInQueueUploaded,
|
||||
filesInQueueTotal: state => state.filesInQueueTotal,
|
||||
uploadingProgress: state => state.uploadingProgress,
|
||||
isProcessingFile: state => state.isProcessingFile,
|
||||
processingPopup: state => state.processingPopup,
|
||||
fileQueue: state => state.fileQueue
|
||||
filesInQueueUploaded: (state) => state.filesInQueueUploaded,
|
||||
filesInQueueTotal: (state) => state.filesInQueueTotal,
|
||||
uploadingProgress: (state) => state.uploadingProgress,
|
||||
isProcessingFile: (state) => state.isProcessingFile,
|
||||
processingPopup: (state) => state.processingPopup,
|
||||
fileQueue: (state) => state.fileQueue,
|
||||
}
|
||||
|
||||
export default {
|
||||
state: defaultState,
|
||||
mutations,
|
||||
actions,
|
||||
getters
|
||||
getters,
|
||||
}
|
||||
|
||||
2062
resources/js/store/modules/lists.js
vendored
2062
resources/js/store/modules/lists.js
vendored
File diff suppressed because it is too large
Load Diff
35
resources/js/store/modules/payments.js
vendored
35
resources/js/store/modules/payments.js
vendored
@@ -1,33 +1,32 @@
|
||||
import {events} from "../../bus";
|
||||
import { events } from '../../bus'
|
||||
|
||||
const defaultState = {
|
||||
singleChargeAmount: undefined,
|
||||
singleChargeAmount: undefined,
|
||||
}
|
||||
|
||||
const actions = {
|
||||
callSingleChargeProcess: ({commit}, amount) => {
|
||||
callSingleChargeProcess: ({ commit }, amount) => {
|
||||
// Open popup with payment methods
|
||||
events.$emit('popup:open', { name: 'select-payment-method' })
|
||||
|
||||
// Open popup with payment methods
|
||||
events.$emit('popup:open', {name: 'select-payment-method'})
|
||||
|
||||
// Store charge amount
|
||||
commit('SET_SINGLE_CHARGE_AMOUNT', amount)
|
||||
},
|
||||
// Store charge amount
|
||||
commit('SET_SINGLE_CHARGE_AMOUNT', amount)
|
||||
},
|
||||
}
|
||||
|
||||
const mutations = {
|
||||
SET_SINGLE_CHARGE_AMOUNT(state, amount) {
|
||||
state.singleChargeAmount = amount
|
||||
},
|
||||
SET_SINGLE_CHARGE_AMOUNT(state, amount) {
|
||||
state.singleChargeAmount = amount
|
||||
},
|
||||
}
|
||||
|
||||
const getters = {
|
||||
singleChargeAmount: state => state.singleChargeAmount,
|
||||
singleChargeAmount: (state) => state.singleChargeAmount,
|
||||
}
|
||||
|
||||
export default {
|
||||
state: defaultState,
|
||||
getters,
|
||||
actions,
|
||||
mutations
|
||||
}
|
||||
state: defaultState,
|
||||
getters,
|
||||
actions,
|
||||
mutations,
|
||||
}
|
||||
|
||||
60
resources/js/store/modules/sharing.js
vendored
60
resources/js/store/modules/sharing.js
vendored
@@ -1,7 +1,7 @@
|
||||
import {events} from "../../bus";
|
||||
import router from "../../router"
|
||||
import { events } from '../../bus'
|
||||
import router from '../../router'
|
||||
import axios from 'axios'
|
||||
import Vue from "vue";
|
||||
import Vue from 'vue'
|
||||
|
||||
const defaultState = {
|
||||
permissionOptions: [
|
||||
@@ -20,17 +20,20 @@ const defaultState = {
|
||||
sharedFile: undefined,
|
||||
}
|
||||
const actions = {
|
||||
getSharedFolder: ({commit, getters}, id) => {
|
||||
commit('LOADING_STATE', {loading: true, data: []})
|
||||
getSharedFolder: ({ commit, getters }, id) => {
|
||||
commit('LOADING_STATE', { loading: true, data: [] })
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
axios
|
||||
.get(`/api/browse/folders/${id}/${router.currentRoute.params.token}${getters.sorting.URI}`)
|
||||
.then(response => {
|
||||
.then((response) => {
|
||||
let folders = response.data.folders.data
|
||||
let files = response.data.files.data
|
||||
|
||||
commit('LOADING_STATE', {loading: false, data: folders.concat(files)})
|
||||
commit('LOADING_STATE', {
|
||||
loading: false,
|
||||
data: folders.concat(files),
|
||||
})
|
||||
commit('SET_CURRENT_FOLDER', response.data.root)
|
||||
|
||||
events.$emit('scrollTop')
|
||||
@@ -44,57 +47,53 @@ const actions = {
|
||||
})
|
||||
})
|
||||
},
|
||||
getSingleFile: ({commit}) => {
|
||||
axios.get(`/api/browse/file/${router.currentRoute.params.token}`)
|
||||
.then(response => {
|
||||
commit('STORE_SHARED_FILE', response.data)
|
||||
})
|
||||
getSingleFile: ({ commit }) => {
|
||||
axios.get(`/api/browse/file/${router.currentRoute.params.token}`).then((response) => {
|
||||
commit('STORE_SHARED_FILE', response.data)
|
||||
})
|
||||
},
|
||||
getShareDetail: ({commit, state}, token) => {
|
||||
getShareDetail: ({ commit, state }, token) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
axios
|
||||
.get(`/api/browse/share/${token}`)
|
||||
.then(response => {
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
|
||||
// Commit shared item options
|
||||
commit('SET_SHARED_DETAIL', response.data)
|
||||
commit('SET_PERMISSION', response.data.data.attributes.permission)
|
||||
})
|
||||
.catch(error => {
|
||||
.catch((error) => {
|
||||
reject(error)
|
||||
|
||||
if (error.response.status === 404) {
|
||||
router.push({name: 'NotFound'})
|
||||
router.push({ name: 'NotFound' })
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
shareCancel: ({commit, getters}, singleItem) => {
|
||||
shareCancel: ({ commit, getters }, singleItem) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
let tokens = []
|
||||
let items = [singleItem]
|
||||
|
||||
if(!singleItem) {
|
||||
if (!singleItem) {
|
||||
items = getters.clipboard
|
||||
}
|
||||
|
||||
items.forEach(item => {
|
||||
items.forEach((item) => {
|
||||
tokens.push(item.data.relationships.shared.data.attributes.token)
|
||||
})
|
||||
|
||||
axios
|
||||
.post('/api/share/revoke', {
|
||||
_method: 'delete',
|
||||
tokens: tokens
|
||||
tokens: tokens,
|
||||
})
|
||||
.then(() => {
|
||||
|
||||
items.forEach(item => {
|
||||
|
||||
items.forEach((item) => {
|
||||
// Remove item from file browser
|
||||
if ( getters.currentFolder && Vue.prototype.$isThisRoute(router.currentRoute, ['MySharedItems']) ) {
|
||||
if (getters.currentFolder && Vue.prototype.$isThisRoute(router.currentRoute, ['MySharedItems'])) {
|
||||
commit('REMOVE_ITEM', item.data.id)
|
||||
}
|
||||
|
||||
@@ -103,7 +102,6 @@ const actions = {
|
||||
commit('CLIPBOARD_CLEAR')
|
||||
})
|
||||
resolve(true)
|
||||
|
||||
})
|
||||
.catch((error) => {
|
||||
Vue.prototype.$isSomethingWrong()
|
||||
@@ -119,17 +117,17 @@ const mutations = {
|
||||
},
|
||||
STORE_SHARED_FILE(state, data) {
|
||||
state.sharedFile = data
|
||||
}
|
||||
},
|
||||
}
|
||||
const getters = {
|
||||
permissionOptions: state => state.permissionOptions,
|
||||
sharedDetail: state => state.sharedDetail,
|
||||
sharedFile: state => state.sharedFile,
|
||||
permissionOptions: (state) => state.permissionOptions,
|
||||
sharedDetail: (state) => state.sharedDetail,
|
||||
sharedFile: (state) => state.sharedFile,
|
||||
}
|
||||
|
||||
export default {
|
||||
state: defaultState,
|
||||
getters,
|
||||
actions,
|
||||
mutations
|
||||
mutations,
|
||||
}
|
||||
|
||||
196
resources/js/store/modules/teams.js
vendored
196
resources/js/store/modules/teams.js
vendored
@@ -1,125 +1,123 @@
|
||||
import router from "../../router";
|
||||
import {events} from "../../bus";
|
||||
import i18n from "../../i18n";
|
||||
import axios from "axios";
|
||||
import Vue from "vue";
|
||||
import router from '../../router'
|
||||
import { events } from '../../bus'
|
||||
import i18n from '../../i18n'
|
||||
import axios from 'axios'
|
||||
import Vue from 'vue'
|
||||
|
||||
const defaultState = {
|
||||
currentTeamFolder: undefined,
|
||||
currentTeamFolder: undefined,
|
||||
}
|
||||
|
||||
const actions = {
|
||||
getTeamFolder: ({commit, getters}, id) => {
|
||||
commit('LOADING_STATE', {loading: true, data: []})
|
||||
getTeamFolder: ({ commit, getters }, id) => {
|
||||
commit('LOADING_STATE', { loading: true, data: [] })
|
||||
|
||||
if (typeof id === 'undefined') {
|
||||
commit('SET_CURRENT_TEAM_FOLDER', null)
|
||||
}
|
||||
if (typeof id === 'undefined') {
|
||||
commit('SET_CURRENT_TEAM_FOLDER', null)
|
||||
}
|
||||
|
||||
axios
|
||||
.get(`${getters.api}/teams/folders/${id}/${getters.sorting.URI}`)
|
||||
.then(response => {
|
||||
let folders = response.data.folders.data
|
||||
let files = response.data.files.data
|
||||
axios
|
||||
.get(`${getters.api}/teams/folders/${id}/${getters.sorting.URI}`)
|
||||
.then((response) => {
|
||||
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)
|
||||
commit('LOADING_STATE', {
|
||||
loading: false,
|
||||
data: folders.concat(files),
|
||||
})
|
||||
commit('SET_CURRENT_FOLDER', response.data.root)
|
||||
|
||||
if (! getters.currentTeamFolder || getters.currentTeamFolder.data.id !== response.data.teamFolder.data.id) {
|
||||
commit('SET_CURRENT_TEAM_FOLDER', response.data.teamFolder)
|
||||
}
|
||||
if (!getters.currentTeamFolder || getters.currentTeamFolder.data.id !== response.data.teamFolder.data.id) {
|
||||
commit('SET_CURRENT_TEAM_FOLDER', response.data.teamFolder)
|
||||
}
|
||||
|
||||
events.$emit('scrollTop')
|
||||
})
|
||||
.catch(error => {
|
||||
events.$emit('scrollTop')
|
||||
})
|
||||
.catch((error) => {
|
||||
// Redirect if unauthenticated
|
||||
if ([401, 403].includes(error.response.status)) {
|
||||
commit('SET_AUTHORIZED', false)
|
||||
router.push({ name: 'SignIn' })
|
||||
} else {
|
||||
// Show error message
|
||||
events.$emit('alert:open', {
|
||||
title: i18n.t('popup_error.title'),
|
||||
message: i18n.t('popup_error.message'),
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
getSharedWithMeFolder: ({ commit, getters }, id) => {
|
||||
commit('LOADING_STATE', { loading: true, data: [] })
|
||||
|
||||
// Redirect if unauthenticated
|
||||
if ([401, 403].includes(error.response.status)) {
|
||||
if (typeof id === 'undefined') {
|
||||
commit('SET_CURRENT_TEAM_FOLDER', null)
|
||||
}
|
||||
|
||||
commit('SET_AUTHORIZED', false)
|
||||
router.push({name: 'SignIn'})
|
||||
axios
|
||||
.get(`${getters.api}/teams/shared-with-me/${id}/${getters.sorting.URI}`)
|
||||
.then((response) => {
|
||||
let folders = response.data.folders.data
|
||||
let files = response.data.files.data
|
||||
|
||||
} else {
|
||||
commit('LOADING_STATE', {
|
||||
loading: false,
|
||||
data: folders.concat(files),
|
||||
})
|
||||
commit('SET_CURRENT_FOLDER', response.data.root)
|
||||
|
||||
// Show error message
|
||||
events.$emit('alert:open', {
|
||||
title: i18n.t('popup_error.title'),
|
||||
message: i18n.t('popup_error.message'),
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
getSharedWithMeFolder: ({commit, getters}, id) => {
|
||||
commit('LOADING_STATE', {loading: true, data: []})
|
||||
if (!getters.currentTeamFolder || getters.currentTeamFolder.data.id !== response.data.teamFolder.data.id) {
|
||||
commit('SET_CURRENT_TEAM_FOLDER', response.data.teamFolder)
|
||||
}
|
||||
|
||||
if (typeof id === 'undefined') {
|
||||
commit('SET_CURRENT_TEAM_FOLDER', null)
|
||||
}
|
||||
events.$emit('scrollTop')
|
||||
})
|
||||
.catch((error) => {
|
||||
// Redirect if unauthenticated
|
||||
if ([401, 403].includes(error.response.status)) {
|
||||
commit('SET_AUTHORIZED', false)
|
||||
router.push({ name: 'SignIn' })
|
||||
} else {
|
||||
// Show error message
|
||||
events.$emit('alert:open', {
|
||||
title: i18n.t('popup_error.title'),
|
||||
message: i18n.t('popup_error.message'),
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
getTeamFolderTree: ({ commit, getters }) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
axios
|
||||
.get(`/api/teams/folders/${getters.currentTeamFolder.data.id}/tree${getters.sorting.URI}`)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
|
||||
axios
|
||||
.get(`${getters.api}/teams/shared-with-me/${id}/${getters.sorting.URI}`)
|
||||
.then(response => {
|
||||
let folders = response.data.folders.data
|
||||
let files = response.data.files.data
|
||||
commit('UPDATE_FOLDER_TREE', response.data)
|
||||
})
|
||||
.catch((error) => {
|
||||
reject(error)
|
||||
|
||||
commit('LOADING_STATE', {loading: false, data: folders.concat(files)})
|
||||
commit('SET_CURRENT_FOLDER', response.data.root)
|
||||
|
||||
if (! getters.currentTeamFolder || getters.currentTeamFolder.data.id !== response.data.teamFolder.data.id) {
|
||||
commit('SET_CURRENT_TEAM_FOLDER', response.data.teamFolder)
|
||||
}
|
||||
|
||||
events.$emit('scrollTop')
|
||||
})
|
||||
.catch(error => {
|
||||
|
||||
// Redirect if unauthenticated
|
||||
if ([401, 403].includes(error.response.status)) {
|
||||
|
||||
commit('SET_AUTHORIZED', false)
|
||||
router.push({name: 'SignIn'})
|
||||
|
||||
} else {
|
||||
|
||||
// Show error message
|
||||
events.$emit('alert:open', {
|
||||
title: i18n.t('popup_error.title'),
|
||||
message: i18n.t('popup_error.message'),
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
getTeamFolderTree: ({commit, getters}) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
axios
|
||||
.get(`/api/teams/folders/${getters.currentTeamFolder.data.id}/tree${getters.sorting.URI}`)
|
||||
.then(response => {
|
||||
resolve(response)
|
||||
|
||||
commit('UPDATE_FOLDER_TREE', response.data)
|
||||
})
|
||||
.catch((error) => {
|
||||
reject(error)
|
||||
|
||||
Vue.prototype.$isSomethingWrong()
|
||||
})
|
||||
})
|
||||
},
|
||||
Vue.prototype.$isSomethingWrong()
|
||||
})
|
||||
})
|
||||
},
|
||||
}
|
||||
|
||||
const mutations = {
|
||||
SET_CURRENT_TEAM_FOLDER(state, payload) {
|
||||
state.currentTeamFolder = payload
|
||||
}
|
||||
SET_CURRENT_TEAM_FOLDER(state, payload) {
|
||||
state.currentTeamFolder = payload
|
||||
},
|
||||
}
|
||||
|
||||
const getters = {
|
||||
currentTeamFolder: state => state.currentTeamFolder,
|
||||
currentTeamFolder: (state) => state.currentTeamFolder,
|
||||
}
|
||||
|
||||
export default {
|
||||
state: defaultState,
|
||||
getters,
|
||||
actions,
|
||||
mutations
|
||||
}
|
||||
state: defaultState,
|
||||
getters,
|
||||
actions,
|
||||
mutations,
|
||||
}
|
||||
|
||||
76
resources/js/store/modules/userAuth.js
vendored
76
resources/js/store/modules/userAuth.js
vendored
@@ -1,8 +1,8 @@
|
||||
import axios from 'axios'
|
||||
import router from "../../router";
|
||||
import router from '../../router'
|
||||
import Vue from 'vue'
|
||||
import {events} from "../../bus";
|
||||
import i18n from "../../i18n";
|
||||
import { events } from '../../bus'
|
||||
import i18n from '../../i18n'
|
||||
|
||||
const defaultState = {
|
||||
permission: 'master', // master | editor | visitor
|
||||
@@ -10,8 +10,7 @@ const defaultState = {
|
||||
}
|
||||
|
||||
const actions = {
|
||||
getAppData: ({commit, getters}) => {
|
||||
|
||||
getAppData: ({ commit, getters }) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
axios
|
||||
.get(getters.api + '/user' + getters.sorting.URI)
|
||||
@@ -19,21 +18,18 @@ const actions = {
|
||||
resolve(response)
|
||||
|
||||
commit('RETRIEVE_USER', response.data)
|
||||
|
||||
}).catch((error) => {
|
||||
})
|
||||
.catch((error) => {
|
||||
reject(error)
|
||||
|
||||
// Redirect if unauthenticated
|
||||
if ([401, 403].includes(error.response.status)) {
|
||||
|
||||
commit('SET_AUTHORIZED', false)
|
||||
}
|
||||
}
|
||||
)
|
||||
})
|
||||
})
|
||||
},
|
||||
logOut: ({commit}) => {
|
||||
|
||||
logOut: ({ commit }) => {
|
||||
let popup = setTimeout(() => {
|
||||
commit('PROCESSING_POPUP', {
|
||||
title: 'Logging Out',
|
||||
@@ -41,20 +37,18 @@ const actions = {
|
||||
})
|
||||
}, 300)
|
||||
|
||||
axios
|
||||
.post('/logout')
|
||||
.then(() => {
|
||||
clearTimeout(popup)
|
||||
commit('DESTROY_DATA')
|
||||
commit('SET_AUTHORIZED', false)
|
||||
axios.post('/logout').then(() => {
|
||||
clearTimeout(popup)
|
||||
commit('DESTROY_DATA')
|
||||
commit('SET_AUTHORIZED', false)
|
||||
|
||||
router.push({name: 'Homepage'})
|
||||
})
|
||||
router.push({ name: 'Homepage' })
|
||||
})
|
||||
},
|
||||
socialiteRedirect: ({commit}, provider) => {
|
||||
socialiteRedirect: ({ commit }, provider) => {
|
||||
axios
|
||||
.get(`/api/socialite/${provider}/redirect`)
|
||||
.then(response => {
|
||||
.then((response) => {
|
||||
if (response.data.url) {
|
||||
window.location.href = response.data.url
|
||||
}
|
||||
@@ -66,16 +60,13 @@ const actions = {
|
||||
let items = [folder]
|
||||
|
||||
// If dont coming single folder get folders to add to favourites from clipboard
|
||||
if (!folder)
|
||||
items = context.getters.clipboard
|
||||
|
||||
items.forEach(item => {
|
||||
if (!folder) items = context.getters.clipboard
|
||||
|
||||
items.forEach((item) => {
|
||||
if (item.data.type === 'folder') {
|
||||
if (context.getters.user.data.relationships.favourites.data.find((folder) => folder.id === item.data.id)) return
|
||||
|
||||
if (context.getters.user.data.relationships.favourites.data.find(folder => folder.id === item.data.id)) return
|
||||
|
||||
addFavourites.push({id: item.data.id})
|
||||
addFavourites.push({ id: item.data.id })
|
||||
}
|
||||
})
|
||||
|
||||
@@ -87,8 +78,8 @@ const actions = {
|
||||
let pushToFavorites = []
|
||||
|
||||
// Check is favorites already don't include some of pushed folders
|
||||
items.map(item => {
|
||||
if (!context.getters.user.data.relationships.favourites.data.find(folder => folder.data.id === item.id)) {
|
||||
items.map((item) => {
|
||||
if (!context.getters.user.data.relationships.favourites.data.find((folder) => folder.data.id === item.id)) {
|
||||
pushToFavorites.push(item)
|
||||
}
|
||||
})
|
||||
@@ -98,20 +89,19 @@ const actions = {
|
||||
|
||||
axios
|
||||
.post(context.getters.api + '/folders/favourites', {
|
||||
folders: addFavourites
|
||||
folders: addFavourites,
|
||||
})
|
||||
.catch(() => {
|
||||
Vue.prototype.$isSomethingWrong()
|
||||
})
|
||||
},
|
||||
removeFromFavourites: ({commit, getters, dispatch}, folder) => {
|
||||
|
||||
removeFromFavourites: ({ commit, getters, dispatch }, folder) => {
|
||||
// Remove from storage
|
||||
commit('REMOVE_ITEM_FROM_FAVOURITES', folder)
|
||||
|
||||
axios
|
||||
.post(getters.api + '/folders/favourites/' + folder.data.id, {
|
||||
_method: 'delete'
|
||||
_method: 'delete',
|
||||
})
|
||||
.catch(() => {
|
||||
Vue.prototype.$isSomethingWrong()
|
||||
@@ -133,7 +123,7 @@ const mutations = {
|
||||
state.app = undefined
|
||||
},
|
||||
ADD_TO_FAVOURITES(state, folder) {
|
||||
folder.forEach(item => {
|
||||
folder.forEach((item) => {
|
||||
state.user.data.relationships.favourites.data.push(item)
|
||||
})
|
||||
},
|
||||
@@ -147,26 +137,26 @@ const mutations = {
|
||||
state.user.data.relationships.settings.data.attributes.avatar.sm = avatar
|
||||
},
|
||||
REMOVE_ITEM_FROM_FAVOURITES(state, item) {
|
||||
state.user.data.relationships.favourites.data = state.user.data.relationships.favourites.data.filter(folder => folder.data.id !== item.data.id)
|
||||
state.user.data.relationships.favourites.data = state.user.data.relationships.favourites.data.filter((folder) => folder.data.id !== item.data.id)
|
||||
},
|
||||
UPDATE_NAME_IN_FAVOURITES(state, data) {
|
||||
state.user.data.relationships.favourites.data.find(folder => {
|
||||
state.user.data.relationships.favourites.data.find((folder) => {
|
||||
if (folder.id === data.id) {
|
||||
folder.name = data.name
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
const getters = {
|
||||
isLimitedUser: state => state.user && state.user.data.relationships.failedPayments && state.user.data.relationships.failedPayments.data.length === 3,
|
||||
permission: state => state.permission,
|
||||
user: state => state.user,
|
||||
isLimitedUser: (state) => state.user && state.user.data.relationships.failedPayments && state.user.data.relationships.failedPayments.data.length === 3,
|
||||
permission: (state) => state.permission,
|
||||
user: (state) => state.user,
|
||||
}
|
||||
|
||||
export default {
|
||||
state: defaultState,
|
||||
getters,
|
||||
actions,
|
||||
mutations
|
||||
mutations,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user