This commit is contained in:
@@ -149,13 +149,7 @@ todo: filter, can be programmatic or user, user saves, can choose from list
|
|||||||
TODO: LIST VIEW REPLACMENT OUTSTANDING TO DO
|
TODO: LIST VIEW REPLACMENT OUTSTANDING TO DO
|
||||||
Client fixup <---= CURRENTLY HERE
|
Client fixup <---= CURRENTLY HERE
|
||||||
WHERE IT"S AT:
|
WHERE IT"S AT:
|
||||||
listcolumnview form works but has issues:
|
|
||||||
un translated title
|
|
||||||
Items don't stay in their location when set to not include and saved
|
|
||||||
not sure if this is a problem or just necessary but it's jarring as is different than before, maybe better though as all visible are at the top??
|
|
||||||
figure it out!
|
|
||||||
icon is filter need to pick new icon for data-list-column-view
|
|
||||||
"view" related stuff? Something that looks like columns?
|
|
||||||
|
|
||||||
|
|
||||||
Fixup client so existing client works with new filter and sort system *before* porting UI
|
Fixup client so existing client works with new filter and sort system *before* porting UI
|
||||||
|
|||||||
@@ -639,6 +639,24 @@ export default {
|
|||||||
return ret;
|
return ret;
|
||||||
},
|
},
|
||||||
///////////////////////////////////////////////
|
///////////////////////////////////////////////
|
||||||
|
// Simple array equality comparison
|
||||||
|
// (will NOT work on arrays of objects)
|
||||||
|
isEqualArraysOfPrimitives: function(a, b) {
|
||||||
|
if (a === b) return true;
|
||||||
|
if (a == null || b == null) return false;
|
||||||
|
if (a.length !== b.length) return false;
|
||||||
|
|
||||||
|
// If you don't care about the order of the elements inside
|
||||||
|
// the array, you should sort both arrays here.
|
||||||
|
// Please note that calling sort on an array will modify that array.
|
||||||
|
// you might want to clone your array first.
|
||||||
|
|
||||||
|
for (var i = 0; i < a.length; ++i) {
|
||||||
|
if (a[i] !== b[i]) return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
///////////////////////////////////////////////
|
||||||
// Use geolocation api to attempt to get current location
|
// Use geolocation api to attempt to get current location
|
||||||
// try high accuracy first and downgrade if unavailable
|
// try high accuracy first and downgrade if unavailable
|
||||||
//https://www.openstreetmap.org/?mlat=48.3911&mlon=-124.7353#map=12/48.3910/-124.7353
|
//https://www.openstreetmap.org/?mlat=48.3911&mlon=-124.7353#map=12/48.3910/-124.7353
|
||||||
|
|||||||
@@ -436,16 +436,33 @@ export default {
|
|||||||
//{ "page": 1, "itemsPerPage": 10, "sortBy": [], "sortDesc": [], "groupBy": [], "groupDesc": [], "mustSort": false, "multiSort": false }
|
//{ "page": 1, "itemsPerPage": 10, "sortBy": [], "sortDesc": [], "groupBy": [], "groupDesc": [], "mustSort": false, "multiSort": false }
|
||||||
//this code works around some weird bug that causes visible items to be selected in grid (only, not in actual selected array, just a visual thing)
|
//this code works around some weird bug that causes visible items to be selected in grid (only, not in actual selected array, just a visual thing)
|
||||||
// when breakpoint is switched between wide and narrow either way. No idea why it happens but this fixes that issue and also ensures that there are no
|
// when breakpoint is switched between wide and narrow either way. No idea why it happens but this fixes that issue and also ensures that there are no
|
||||||
|
|
||||||
//spurious fetches happening just because the view has changed
|
//spurious fetches happening just because the view has changed
|
||||||
|
//See what has changed and record it for processing
|
||||||
|
let sortHasChanged = !(
|
||||||
|
window.$gz.util.isEqualArraysOfPrimitives(
|
||||||
|
this.dataTablePagingOptions.sortBy,
|
||||||
|
this.lastDataTablePagingOptions.sortBy
|
||||||
|
) &&
|
||||||
|
window.$gz.util.isEqualArraysOfPrimitives(
|
||||||
|
this.dataTablePagingOptions.sortDesc,
|
||||||
|
this.lastDataTablePagingOptions.sortDesc
|
||||||
|
)
|
||||||
|
);
|
||||||
|
|
||||||
if (
|
if (
|
||||||
this.lastDataTablePagingOptions.page ==
|
this.lastDataTablePagingOptions.page ==
|
||||||
this.dataTablePagingOptions.page &&
|
this.dataTablePagingOptions.page &&
|
||||||
this.lastDataTablePagingOptions.itemsPerPage ==
|
this.lastDataTablePagingOptions.itemsPerPage ==
|
||||||
this.dataTablePagingOptions.itemsPerPage
|
this.dataTablePagingOptions.itemsPerPage &&
|
||||||
|
!sortHasChanged
|
||||||
) {
|
) {
|
||||||
//no effective change, return
|
//no effective change, return
|
||||||
|
console.log("NO CHANGE");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
console.log("Has changed");
|
||||||
|
|
||||||
//has changed something important so refetch and put a pin in last paging settings for next time
|
//has changed something important so refetch and put a pin in last paging settings for next time
|
||||||
this.getDataFromApi();
|
this.getDataFromApi();
|
||||||
this.lastDataTablePagingOptions = this.dataTablePagingOptions;
|
this.lastDataTablePagingOptions = this.dataTablePagingOptions;
|
||||||
|
|||||||
Reference in New Issue
Block a user