mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-18 16:22:14 +00:00
add sorting for every getData and navigator, Favourites need to be fixed
This commit is contained in:
@@ -28,7 +28,7 @@
|
||||
|
||||
</ul>
|
||||
<ul class="menu-option-group">
|
||||
<li class="menu-option" @click="sort('date')">
|
||||
<li class="menu-option" @click="sort('created_at')">
|
||||
<div class="icon">
|
||||
<calendar-icon size="17"/>
|
||||
</div>
|
||||
@@ -36,7 +36,7 @@
|
||||
{{$t('preview_sorting.sort_date')}}
|
||||
</div>
|
||||
<div class="show-icon" >
|
||||
<arrow-up-icon size="17" v-if="filter.field === 'date'" :class="{ 'arrow-down': filter.sort === 'ASC' }"/>
|
||||
<arrow-up-icon size="17" v-if="filter.field === 'created_at'" :class="{ 'arrow-down': filter.sort === 'ASC' }"/>
|
||||
</div>
|
||||
</li>
|
||||
<li class="menu-option" @click="sort('name')" >
|
||||
@@ -114,8 +114,8 @@
|
||||
|
||||
let sorting = JSON.parse(localStorage.getItem('sorting'))
|
||||
|
||||
this.filter.sort = sorting ? sorting.sort : undefined
|
||||
this.filter.field = sorting ? sorting.field : undefined
|
||||
this.filter.sort = sorting ? sorting.sort : 'DESC'
|
||||
this.filter.field = sorting ? sorting.field : 'created_at'
|
||||
|
||||
events.$on('sortingAndPreview-open', () => {
|
||||
this.isVisible = true
|
||||
|
||||
24
resources/js/helpers.js
vendored
24
resources/js/helpers.js
vendored
@@ -308,11 +308,29 @@ const Helpers = {
|
||||
return validated
|
||||
}
|
||||
Vue.prototype.$getDataByLocation = function() {
|
||||
let previousFolder = store.getters.currentFolder
|
||||
let folder = store.getters.currentFolder
|
||||
|
||||
if(this.$isThisLocation('base')){
|
||||
this.$store.dispatch('getFolder', [{folder: previousFolder, back: false, init: false}])
|
||||
if(this.$isThisLocation('base') || this.$isThisLocation('public')){
|
||||
this.$store.dispatch('getFolder', [{ folder: folder, back: true, init: false, sorting:true}])
|
||||
}
|
||||
|
||||
if(this.$isThisLocation('latest')) {
|
||||
this.$store.dispatch('getLatest')
|
||||
}
|
||||
|
||||
if(this.$isThisLocation('shared')) {
|
||||
this.$store.dispatch('getShared')
|
||||
}
|
||||
|
||||
if(this.$isThisLocation('participant_uploads')) {
|
||||
this.$store.dispatch('getParticipantUploads')
|
||||
}
|
||||
|
||||
if(this.$isThisLocation('trash-root')) {
|
||||
this.$store.dispatch('getTrash')
|
||||
}
|
||||
|
||||
this.$store.dispatch('getAppData')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
41
resources/js/store/modules/fileBrowser.js
vendored
41
resources/js/store/modules/fileBrowser.js
vendored
@@ -20,6 +20,10 @@ const actions = {
|
||||
getFolder: ({commit, getters}, [payload]) => {
|
||||
commit('LOADING_STATE', {loading: true, data: []})
|
||||
|
||||
let getSort = JSON.parse(localStorage.getItem('sorting'))
|
||||
let sorting = {sort : getSort ? getSort.sort : 'DESC' , field:getSort ? getSort.field : 'created_at'}
|
||||
let sortingUrl = '?sort=' + sorting.field + '&direction=' + sorting.sort
|
||||
|
||||
if (payload.init)
|
||||
commit('FLUSH_FOLDER_HISTORY')
|
||||
|
||||
@@ -32,7 +36,7 @@ const actions = {
|
||||
// Set folder location
|
||||
payload.folder.location = payload.folder.deleted_at || payload.folder.location === 'trash' ? 'trash' : 'base'
|
||||
|
||||
if (! payload.back)
|
||||
if (! payload.back && !payload.sorting)
|
||||
commit('STORE_PREVIOUS_FOLDER', getters.currentFolder)
|
||||
|
||||
let url = payload.folder.location === 'trash'
|
||||
@@ -40,12 +44,12 @@ const actions = {
|
||||
: '/folders/' + payload.folder.unique_id
|
||||
|
||||
axios
|
||||
.get(getters.api + url)
|
||||
.get(getters.api + url + sortingUrl)
|
||||
.then(response => {
|
||||
commit('LOADING_STATE', {loading: false, data: response.data})
|
||||
commit('STORE_CURRENT_FOLDER', payload.folder)
|
||||
|
||||
if (payload.back)
|
||||
if (payload.back && !payload.sorting)
|
||||
commit('REMOVE_BROWSER_HISTORY')
|
||||
|
||||
events.$emit('scrollTop')
|
||||
@@ -71,6 +75,10 @@ const actions = {
|
||||
getLatest: ({commit, getters}) => {
|
||||
commit('LOADING_STATE', {loading: true, data: []})
|
||||
|
||||
let getSort = JSON.parse(localStorage.getItem('sorting'))
|
||||
let sorting = {sort : getSort ? getSort.sort : 'DESC' , field:getSort ? getSort.field : 'created_at'}
|
||||
let sortingUrl = '?sort=' + sorting.field + '&direction=' + sorting.sort
|
||||
|
||||
commit('STORE_PREVIOUS_FOLDER', getters.currentFolder)
|
||||
commit('STORE_CURRENT_FOLDER', {
|
||||
name: i18n.t('sidebar.latest'),
|
||||
@@ -79,7 +87,7 @@ const actions = {
|
||||
})
|
||||
|
||||
axios
|
||||
.get(getters.api + '/latest')
|
||||
.get(getters.api + '/latest' + sortingUrl)
|
||||
.then(response => {
|
||||
commit('LOADING_STATE', {loading: false, data: response.data})
|
||||
events.$emit('scrollTop')
|
||||
@@ -90,6 +98,10 @@ const actions = {
|
||||
commit('LOADING_STATE', {loading: true, data: []})
|
||||
commit('FLUSH_FOLDER_HISTORY')
|
||||
|
||||
let getSort = JSON.parse(localStorage.getItem('sorting'))
|
||||
let sorting = {sort : getSort ? getSort.sort : 'DESC' , field:getSort ? getSort.field : 'created_at'}
|
||||
let sortingUrl = '?sort=' + sorting.field + '&direction=' + sorting.sort
|
||||
|
||||
let currentFolder = {
|
||||
name: i18n.t('sidebar.my_shared'),
|
||||
location: 'shared',
|
||||
@@ -99,7 +111,7 @@ const actions = {
|
||||
commit('STORE_CURRENT_FOLDER', currentFolder)
|
||||
|
||||
axios
|
||||
.get(getters.api + '/shared-all')
|
||||
.get(getters.api + '/shared-all' + sortingUrl)
|
||||
.then(response => {
|
||||
commit('LOADING_STATE', {loading: false, data: response.data})
|
||||
commit('STORE_PREVIOUS_FOLDER', currentFolder)
|
||||
@@ -111,6 +123,10 @@ const actions = {
|
||||
getParticipantUploads: ({commit, getters}) => {
|
||||
commit('LOADING_STATE', {loading: true, data: []})
|
||||
|
||||
let getSort = JSON.parse(localStorage.getItem('sorting'))
|
||||
let sorting = {sort : getSort ? getSort.sort : 'DESC' , field:getSort ? getSort.field : 'created_at'}
|
||||
let sortingUrl = '?sort=' + sorting.field + '&direction=' + sorting.sort
|
||||
|
||||
commit('STORE_PREVIOUS_FOLDER', getters.currentFolder)
|
||||
commit('STORE_CURRENT_FOLDER', {
|
||||
name: i18n.t('sidebar.participant_uploads'),
|
||||
@@ -119,7 +135,7 @@ const actions = {
|
||||
})
|
||||
|
||||
axios
|
||||
.get(getters.api + '/participant-uploads')
|
||||
.get(getters.api + '/participant-uploads' + sortingUrl)
|
||||
.then(response => {
|
||||
commit('LOADING_STATE', {loading: false, data: response.data})
|
||||
|
||||
@@ -131,6 +147,11 @@ const actions = {
|
||||
commit('LOADING_STATE', {loading: true, data: []})
|
||||
commit('FLUSH_FOLDER_HISTORY')
|
||||
|
||||
let getSort = JSON.parse(localStorage.getItem('sorting'))
|
||||
let sorting = {sort : getSort ? getSort.sort : 'DESC' , field:getSort ? getSort.field : 'created_at'}
|
||||
let sortingUrl = '?sort=' + sorting.field + '&direction=' + sorting.sort
|
||||
|
||||
|
||||
let trash = {
|
||||
name: i18n.t('locations.trash'),
|
||||
unique_id: undefined,
|
||||
@@ -140,7 +161,7 @@ const actions = {
|
||||
commit('STORE_CURRENT_FOLDER', trash)
|
||||
|
||||
axios
|
||||
.get(getters.api + '/trash')
|
||||
.get(getters.api + '/trash' + sortingUrl)
|
||||
.then(response => {
|
||||
commit('LOADING_STATE', {loading: false, data: response.data})
|
||||
commit('STORE_PREVIOUS_FOLDER', trash)
|
||||
@@ -174,6 +195,10 @@ const actions = {
|
||||
},
|
||||
getFolderTree: ({commit, getters}) => {
|
||||
|
||||
let getSort = JSON.parse(localStorage.getItem('sorting'))
|
||||
let sorting = {sort : getSort ? getSort.sort : 'DESC' , field:getSort ? getSort.field : 'created_at'}
|
||||
let sortingUrl = '?sort=' + sorting.field + '&direction=' + sorting.sort
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
// Get route
|
||||
@@ -187,7 +212,7 @@ const actions = {
|
||||
route = '/api/navigation'
|
||||
|
||||
axios
|
||||
.get(route)
|
||||
.get(route + sortingUrl)
|
||||
.then(response => {
|
||||
resolve(response)
|
||||
|
||||
|
||||
6
resources/js/store/modules/userAuth.js
vendored
6
resources/js/store/modules/userAuth.js
vendored
@@ -11,9 +11,13 @@ const defaultState = {
|
||||
|
||||
const actions = {
|
||||
getAppData: ({commit, getters}) => {
|
||||
let getSort = JSON.parse(localStorage.getItem('sorting'))
|
||||
let sorting = {sort : getSort ? getSort.sort : 'DESC' , field:getSort ? getSort.field : 'created_at'}
|
||||
let sortingUrl = '?sort=' + sorting.field + '&direction=' + sorting.sort
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
axios
|
||||
.get(getters.api + '/user')
|
||||
.get(getters.api + '/user' + sortingUrl)
|
||||
.then((response) => {
|
||||
resolve(response)
|
||||
|
||||
|
||||
@@ -101,6 +101,9 @@
|
||||
|
||||
<!--File browser-->
|
||||
<FileBrowser/>
|
||||
|
||||
<!-- Selecting preview list and sorting -->
|
||||
<SortingAndPreview/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -109,6 +112,7 @@
|
||||
<script>
|
||||
import {ValidationProvider, ValidationObserver} from 'vee-validate/dist/vee-validate.full'
|
||||
import MobileMultiSelectMenu from '@/components/FilesView/MobileMultiSelectMenu'
|
||||
import SortingAndPreview from '@/components/FilesView/SortingAndPreview'
|
||||
import TreeMenuNavigator from '@/components/Others/TreeMenuNavigator'
|
||||
import FileFullPreview from '@/components/FilesView/FileFullPreview'
|
||||
import DesktopToolbar from '@/components/FilesView/DesktopToolbar'
|
||||
@@ -140,6 +144,7 @@
|
||||
components: {
|
||||
MobileMultiSelectMenu,
|
||||
ValidationProvider,
|
||||
SortingAndPreview,
|
||||
ValidationObserver,
|
||||
TreeMenuNavigator,
|
||||
FileFullPreview,
|
||||
|
||||
Reference in New Issue
Block a user