fixes order_by
This commit is contained in:
parent
16ea5ef123
commit
dc9d4e03ff
|
@ -200,4 +200,7 @@ export default {
|
|||
.activeColumn {
|
||||
color: black;
|
||||
}
|
||||
.accordion-title {
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
|
|
|
@ -48,7 +48,6 @@ export default {
|
|||
.then(function (response) {
|
||||
//console.log(response.data)
|
||||
self.setFilteredSites(Object.assign({}, local_search_result, response.data))
|
||||
//self.setFilteredSites(response.data)
|
||||
})
|
||||
.catch(function (error) {
|
||||
console.log(error);
|
||||
|
|
35
src/store.js
35
src/store.js
|
@ -30,13 +30,11 @@ const store = new Vuex.Store({
|
|||
state.page_count = state.page_count +1
|
||||
},
|
||||
setFilteredSites(state, filtered_site_ids) {
|
||||
console.log('filtered_site_ids')
|
||||
console.log(filtered_site_ids)
|
||||
var sites = []
|
||||
for (const [site_id, weight] of Object.entries(filtered_site_ids)) {
|
||||
var site = state.sites.find(x => x.id == site_id)
|
||||
if (site) {
|
||||
console.log('push')
|
||||
sites.push(site)
|
||||
}
|
||||
}
|
||||
|
@ -44,12 +42,16 @@ const store = new Vuex.Store({
|
|||
state.page_count = 1
|
||||
},
|
||||
setColumnOrder(state, payload) {
|
||||
state.sites = _.sortBy(state.sites, payload.column_name)
|
||||
state.filtered_sites = _.sortBy(state.filtered_sites, payload.column_name)
|
||||
//state.sites = _.sortBy(state.sites, payload.column_name)
|
||||
//state.filtered_sites = _.sortBy(state.filtered_sites, payload.column_name)
|
||||
state.sites = order_items(state.sites, payload.column_name, payload.order)
|
||||
state.filtered_sites = order_items(state.filtered_sites, payload.column_name, payload.order)
|
||||
/*
|
||||
if (payload.order == 'desc') {
|
||||
state.sites.reverse()
|
||||
state.filtered_sites.reverse()
|
||||
}
|
||||
*/
|
||||
},
|
||||
},
|
||||
getters: {
|
||||
|
@ -96,5 +98,30 @@ const store = new Vuex.Store({
|
|||
},
|
||||
}
|
||||
})
|
||||
function order_items(items, field_name, ascending) {
|
||||
items.sort(function compareFn(first_el, second_el) {
|
||||
if (field_name == 'artist') {
|
||||
field_name = 'currator'
|
||||
}
|
||||
if (field_name == 'date') {
|
||||
field_name = 'project_date'
|
||||
}
|
||||
console.log("sss: "+ field_name)
|
||||
console.log(first_el)
|
||||
if (first_el[field_name] === undefined || first_el[field_name] === ""){
|
||||
return -1
|
||||
}
|
||||
if (second_el[field_name] === undefined || second_el[field_name] === ""){
|
||||
return 1
|
||||
}
|
||||
first_el = first_el[field_name].toLowerCase()
|
||||
second_el = second_el[field_name].toLowerCase()
|
||||
if (first_el < second_el) {
|
||||
return -1;
|
||||
}
|
||||
return 1;
|
||||
})
|
||||
return ascending == 'asc' ? items : items.reverse()
|
||||
}
|
||||
|
||||
export default store
|
||||
|
|
Loading…
Reference in New Issue