From 79cde5c905d38ec411d197a8ceaaac71272d3dca Mon Sep 17 00:00:00 2001 From: Surya Paolo Date: Wed, 22 Mar 2023 16:55:57 +0100 Subject: [PATCH] - fixed ordinamento tabelle --- src/components/CGridTableRec/CGridTableRec.ts | 25 ++++++++++++++++--- src/store/UserStore.ts | 2 +- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/components/CGridTableRec/CGridTableRec.ts b/src/components/CGridTableRec/CGridTableRec.ts index 50d6a882..ecc6d485 100755 --- a/src/components/CGridTableRec/CGridTableRec.ts +++ b/src/components/CGridTableRec/CGridTableRec.ts @@ -619,7 +619,10 @@ export default defineComponent({ function getObjSort(sortBy: any, descending: any) { let myobj: any = {} - if (sortBy) { + console.log('INI SORT:', sortBy) + if (tools.isObject(sortBy)) { + return sortBy + } else if (sortBy) { sortBy = sortBy + '' descending = descending + '' let arrsort = (sortBy && sortBy.indexOf(',') > 0) ? sortBy.split(',') : []; @@ -643,8 +646,21 @@ export default defineComponent({ // SELECT * FROM ... WHERE...LIMIT... async function fetchFromServer(startRow: any, endRow: any, param_myfilter: any, param_myfilterand: any, sortBy: any, descending: any) { // console.log('fetchFromServer') - let myobj = getObjSort(sortBy, descending) + // console.log('sortBy', sortBy) + let myobj: any = {} + if (tools.isObject(sortBy)) { + myobj = sortBy + } else if (tools.isArray(sortBy)) { + myobj = getObjSort(sortBy, descending) + } else if (sortBy) { + myobj = {} + if (descending) { + myobj[sortBy] = -1 + } else { + myobj[sortBy] = 1 + } + } const filtersearch: any[] = [] const filtersearch2: any[] = [] @@ -991,7 +1007,8 @@ export default defineComponent({ // don't forfunction to update local pagination object pagination.value.page = page pagination.value.rowsPerPage = rowsPerPage - pagination.value.sortBy = getObjSort(sortBy, descending) + //pagination.value.sortBy = getObjSort(sortBy, descending) + pagination.value.sortBy = sortBy ordinam.value = sortBy ordinam_desc.value = descending pagination.value.descending = descending @@ -1016,6 +1033,8 @@ export default defineComponent({ descending = ordinam_desc.value } + sortBy = getObjSort(sortBy, descending) + savefilter() if (!mytable.value) { diff --git a/src/store/UserStore.ts b/src/store/UserStore.ts index 678a1457..b4a1dab7 100755 --- a/src/store/UserStore.ts +++ b/src/store/UserStore.ts @@ -236,7 +236,7 @@ export const useUserStore = defineStore('UserStore', { return { sortBy: 'name,username', descending: '1,1', page: 1, rowsNumber: 0, rowsPerPage: 10 } }, getSortFieldsAvailable(): any[] { - return [{ label: 'Username', value: 'username,name' }, { label: 'Nome', value: 'name,username' }, { label: 'Ultimi reg.', value: 'date_reg,username' }] + return [{ label: 'Username', value: {'username': 1, 'name': 1} }, { label: 'Nome', value: {'name': 1, 'username': 1} }, { label: 'Ultimi reg.', value: {'date_reg': -1, 'username': 1} }] }, IsMyFriendByUsername(username: string): boolean {