1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-08-18 15:08:22 +00:00

fix: metadata map basic filters (#7347)

Co-authored-by: 杨国璇 <ygx@Hello-word.local>
This commit is contained in:
杨国璇 2025-01-10 17:03:36 +08:00 committed by GitHub
parent c45889b854
commit a27e9a49c0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 10 additions and 8 deletions

View File

@ -49,7 +49,7 @@ const BasicFilters = ({ readOnly, filters = [], onChange, viewType }) => {
); );
} }
if (column_key === PRIVATE_COLUMN_KEY.FILE_TYPE) { if (column_key === PRIVATE_COLUMN_KEY.FILE_TYPE) {
const FileTypeFilter = viewType === VIEW_TYPE.GALLERY ? GalleryFileTypeFilter : TableFileTypeFilter; const FileTypeFilter = [VIEW_TYPE.GALLERY, VIEW_TYPE.MAP].includes(viewType) ? GalleryFileTypeFilter : TableFileTypeFilter;
return (<FileTypeFilter key={column_key} readOnly={readOnly} value={filter_term} onChange={onChangeFileTypeFilter} />); return (<FileTypeFilter key={column_key} readOnly={readOnly} value={filter_term} onChange={onChangeFileTypeFilter} />);
} }
if (column_key === PRIVATE_COLUMN_KEY.TAGS) { if (column_key === PRIVATE_COLUMN_KEY.TAGS) {

View File

@ -83,13 +83,9 @@ export const VIEW_TYPE_DEFAULT_BASIC_FILTER = {
], ],
[VIEW_TYPE.MAP]: [ [VIEW_TYPE.MAP]: [
{ {
column_key: PRIVATE_COLUMN_KEY.IS_DIR,
filter_predicate: FILTER_PREDICATE_TYPE.IS,
filter_term: 'file'
}, {
column_key: PRIVATE_COLUMN_KEY.FILE_TYPE, column_key: PRIVATE_COLUMN_KEY.FILE_TYPE,
filter_predicate: FILTER_PREDICATE_TYPE.IS_ANY_OF, filter_predicate: FILTER_PREDICATE_TYPE.IS,
filter_term: ['_picture'] filter_term: 'picture'
}, { }, {
column_key: PRIVATE_COLUMN_KEY.TAGS, column_key: PRIVATE_COLUMN_KEY.TAGS,
filter_predicate: FILTER_PREDICATE_TYPE.HAS_ALL_OF, filter_predicate: FILTER_PREDICATE_TYPE.HAS_ALL_OF,

View File

@ -17,8 +17,14 @@ class View {
const defaultBasicFilters = VIEW_TYPE_DEFAULT_BASIC_FILTER[this.type]; const defaultBasicFilters = VIEW_TYPE_DEFAULT_BASIC_FILTER[this.type];
this.basic_filters = object.basic_filters && object.basic_filters.length > 0 ? object.basic_filters : defaultBasicFilters; this.basic_filters = object.basic_filters && object.basic_filters.length > 0 ? object.basic_filters : defaultBasicFilters;
if (this.basic_filters.length !== defaultBasicFilters.length) { if (this.basic_filters.length < defaultBasicFilters.length) {
this.basic_filters = [...this.basic_filters, ...defaultBasicFilters.slice(this.basic_filters.length)]; this.basic_filters = [...this.basic_filters, ...defaultBasicFilters.slice(this.basic_filters.length)];
} else if (this.basic_filters.length > defaultBasicFilters.length) {
this.basic_filters = defaultBasicFilters.map(defaultFilter => {
const filter = this.basic_filters.find(item => item.column_key === defaultFilter.column_key);
if (filter) return filter;
return defaultFilter;
});
} }
// sort // sort