1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-08-02 07:47:32 +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) {
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} />);
}
if (column_key === PRIVATE_COLUMN_KEY.TAGS) {

View File

@ -83,13 +83,9 @@ export const VIEW_TYPE_DEFAULT_BASIC_FILTER = {
],
[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,
filter_predicate: FILTER_PREDICATE_TYPE.IS_ANY_OF,
filter_term: ['_picture']
filter_predicate: FILTER_PREDICATE_TYPE.IS,
filter_term: 'picture'
}, {
column_key: PRIVATE_COLUMN_KEY.TAGS,
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];
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)];
} 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