Skip to content

Commit

Permalink
Merge pull request #7541 from GuoLiBin6/feat/glb-master/src
Browse files Browse the repository at this point in the history
feat: 列表pin功能保留原列表过滤功能
  • Loading branch information
GuoLiBin6 authored Jan 25, 2025
2 parents aa8e5b1 + 13e0eb2 commit 36a4114
Showing 1 changed file with 10 additions and 21 deletions.
31 changes: 10 additions & 21 deletions src/utils/list.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,15 @@ const TAG_FILGER_KEYS = [
'instance_tags',
]

const mergeFilter = (params1, params2) => {
const filter1 = params1.filter ? (R.is(Array, params1.filter) ? params1.filter : [params1.filter]) : []
const filter2 = params2.filter ? (R.is(Array, params2.filter) ? params2.filter : [params2.filter]) : []
return {
...params1,
filter: [...filter1, filter2],
}
}

const FULL_TAG_FILTER_KEYS = []
TAG_FILGER_KEYS.map(key => FULL_TAG_FILTER_KEYS.push(`with_${key}`, `without_${key}`))

Expand Down Expand Up @@ -654,10 +663,7 @@ class CreateList {
const p = this.genParamsCb(params)
if (R.is(Object, p)) params = p
}
params = {
...params,
...this.pinFilter,
}
params = mergeFilter({ ...params }, { ...this.pinFilter })
return params
}

Expand Down Expand Up @@ -923,18 +929,6 @@ class CreateList {
*
*/
savePinFilter () {
this.pinSavedFilters = {
filter: R.clone(this.filter),
tagFilter: R.clone(this.tagFilter),
tagFilter2: R.clone(this.tagFilter2),
tagFilter3: R.clone(this.tagFilter3),
projectTagFilter: R.clone(this.projectTagFilter),
}
this.filter = {}
this.tagFilter = {}
this.tagFilter2 = {}
this.tagFilter3 = {}
this.projectTagFilter = {}
this.pinFilter = {
filter: `${this.idKey}.in(${this.selected.map(id => `"${id}"`)})`,
}
Expand All @@ -946,11 +940,6 @@ class CreateList {
*
*/
restorePinFilter () {
this.filter = this.pinSavedFilters.filter || {}
this.tagFilter = this.pinSavedFilters.tagFilter || {}
this.tagFilter2 = this.pinSavedFilters.tagFilter2 || {}
this.tagFilter3 = this.pinSavedFilters.tagFilter3 || {}
this.projectTagFilter = this.pinSavedFilters.projectTagFilter || {}
this.pinFilter = {}
this.reset(false)
this.fetchData(0, 0)
Expand Down

0 comments on commit 36a4114

Please sign in to comment.