ui: fix metadata in filters

This commit is contained in:
nick-delirium 2024-10-30 10:08:18 +01:00
parent 38bae5d2c9
commit c0077b7fa7
No known key found for this signature in database
GPG key ID: 93ABD695DF5FDBA0
6 changed files with 42 additions and 41 deletions

View file

@ -28,12 +28,10 @@ function Overview({ match: { params } }: IProps) {
const { siteId, fflagId } = params;
const location = useLocation();
const tab = location.pathname.split('/')[2];
searchStore.setActiveTab(tab);
// useEffect(() => {
// // const tab = location.pathname.split('/')[2];
// searchStore.setActiveTab(tab);
// }, [tab]);
React.useEffect(() => {
searchStore.setActiveTab(tab);
}, [tab]);
return (
<Switch>

View file

@ -54,6 +54,7 @@ class CustomFieldStore {
addElementToConditionalFiltersMap(FilterCategory.METADATA, '_' + item.key);
addElementToMobileConditionalFiltersMap(FilterCategory.METADATA, '_' + item.key);
});
console.log('here')
this.list = response.map((item_1: any) => new CustomField(item_1));
this.fetchedMetadata = true;
} finally {

View file

@ -8,10 +8,10 @@ import {
mobileConditionalFiltersMap
} from 'Types/filter/newFilter';
import { List } from 'immutable';
import { makeAutoObservable, action, observable } from 'mobx';
import { makeAutoObservable, runInAction } from 'mobx';
import { searchService } from 'App/services';
import Search from 'App/mstore/types/search';
import Filter, { checkFilterValue, IFilter } from 'App/mstore/types/filter';
import { checkFilterValue } from 'App/mstore/types/filter';
import FilterItem from 'App/mstore/types/filterItem';
import { sessionStore } from 'App/mstore';
import SavedSearch, { ISavedSearch } from 'App/mstore/types/savedSearch';
@ -59,10 +59,6 @@ export const TAB_MAP: any = {
};
class SearchStore {
filterList = generateFilterOptions(filtersMap);
filterListLive = generateFilterOptions(liveFiltersMap);
filterListConditional = generateFilterOptions(conditionalFiltersMap);
filterListMobileConditional = generateFilterOptions(mobileConditionalFiltersMap);
list = List();
latestRequestTime: number | null = null;
latestList = List();
@ -84,14 +80,22 @@ class SearchStore {
makeAutoObservable(this);
}
get filterList() {
return generateFilterOptions(filtersMap);
}
get filterListLive() {
return generateFilterOptions(liveFiltersMap);
}
get filterListConditional() {
return generateFilterOptions(conditionalFiltersMap);
}
get filterListMobileConditional() {
return generateFilterOptions(mobileConditionalFiltersMap);
}
applySavedSearch(savedSearch: ISavedSearch) {
this.savedSearch = savedSearch;
// this.instance = new Search({
// filters: savedSearch.filter.filters
// });
console.log('savedSearch.filter.filters', savedSearch.filter.filters);
this.edit({ filters: savedSearch.filter ? savedSearch.filter.filters.map((i: FilterItem) => new FilterItem().fromJson(i)) : [] });
// this.edit({ filters: savedSearch.filter ? savedSearch.filter.filters : [] });
this.currentPage = 1;
}
@ -143,10 +147,10 @@ class SearchStore {
}
setActiveTab(tab: string) {
this.activeTab = TAB_MAP[tab];
// this.activeTab = tab;
this.currentPage = 1;
// this.fetchSessions();
runInAction(() => {
this.activeTab = TAB_MAP[tab];
this.currentPage = 1;
})
}
toggleTag(tag?: iTag) {

View file

@ -1,10 +1,8 @@
import { FilterCategory, FilterKey } from 'Types/filter/filterType';
import {
conditionalFiltersMap,
filtersMap,
generateFilterOptions,
liveFiltersMap,
mobileConditionalFiltersMap
} from 'Types/filter/newFilter';
import { List } from 'immutable';
import { makeAutoObservable } from 'mobx';
@ -47,10 +45,6 @@ export const filterMap = ({
});
class SearchStoreLive {
filterList = generateFilterOptions(filtersMap);
filterListLive = generateFilterOptions(liveFiltersMap);
filterListConditional = generateFilterOptions(conditionalFiltersMap);
filterListMobileConditional = generateFilterOptions(mobileConditionalFiltersMap);
list = List();
latestRequestTime: number | null = null;
latestList = List();
@ -71,6 +65,13 @@ class SearchStoreLive {
makeAutoObservable(this);
}
get filterList() {
return generateFilterOptions(filtersMap);
}
get filterListLive() {
return generateFilterOptions(liveFiltersMap);
}
fetchFilterSearch(params: any) {
this.loadingFilterSearch = true;
searchService.fetchFilterSearch(params).then((response: any) => {

View file

@ -225,11 +225,12 @@ export default class SessionStore {
setSessionFilter(cleanSessionFilters(params));
const data = await sessionService.getSessions(params);
const list = data.sessions.map((s) => new Session(s));
this.list = list;
this.total = data.total;
this.sessionIds = data.sessions.map((s) => s.sessionId);
this.favoriteList = list.filter((s) => s.favorite);
runInAction(() => {
this.list = list;
this.total = data.total;
this.sessionIds = data.sessions.map((s) => s.sessionId);
this.favoriteList = list.filter((s) => s.favorite);
})
} catch (e) {
console.error(e);
} finally {

View file

@ -1,14 +1,10 @@
import {
clickSelectorOperators,
stringConditional,
tagElementOperators,
targetConditional
} from 'App/constants/filterOptions';
import { KEYS } from 'Types/filter/customFilter';
import Record from 'Types/Record';
import { FilterType, FilterKey, FilterCategory } from './filterType';
import filterOptions, { countries, platformOptions } from 'App/constants';
import { capitalize } from 'App/utils';
import { observable } from 'mobx';
const countryOptions = Object.keys(countries).map(i => ({ label: countries[i], value: i }));
const containsFilters = [{ key: 'contains', label: 'contains', text: 'contains', value: 'contains' }];
@ -985,11 +981,11 @@ export const filterLabelMap = filters.reduce((acc, filter) => {
return acc;
}, {});
export let filtersMap = mapFilters(filters);
export let liveFiltersMap = mapLiveFilters(filters);
export let fflagsConditionsMap = mapFilters(flagConditionFilters);
export let conditionalFiltersMap = mapFilters(conditionalFilters);
export let mobileConditionalFiltersMap = mapFilters(mobileConditionalFilters);
export let filtersMap = observable(mapFilters(filters))
export let liveFiltersMap = observable(mapLiveFilters(filters))
export let fflagsConditionsMap = observable(mapFilters(flagConditionFilters))
export let conditionalFiltersMap = observable(mapFilters(conditionalFilters));
export let mobileConditionalFiltersMap = observable(mapFilters(mobileConditionalFilters));
export const clearMetaFilters = () => {
filtersMap = mapFilters(filters);