fix(ui) - filters meta
This commit is contained in:
parent
83bcf97312
commit
2f54c76d35
3 changed files with 13 additions and 5 deletions
|
|
@ -8,15 +8,16 @@ import { connect } from 'react-redux';
|
|||
interface Props {
|
||||
clearSearch: () => void;
|
||||
appliedFilter: any;
|
||||
optionsReady: boolean;
|
||||
}
|
||||
const MainSearchBar = (props: Props) => {
|
||||
const { appliedFilter } = props;
|
||||
const { appliedFilter, optionsReady } = props;
|
||||
const hasFilters = appliedFilter && appliedFilter.filters && appliedFilter.filters.size > 0;
|
||||
return (
|
||||
<div className="flex items-center">
|
||||
<div style={{ width: "60%", marginRight: "10px"}}><SessionSearchField /></div>
|
||||
<div className="flex items-center" style={{ width: "40%"}}>
|
||||
<SavedSearch />
|
||||
{optionsReady && <SavedSearch /> }
|
||||
<Popup
|
||||
trigger={
|
||||
<Button
|
||||
|
|
@ -39,4 +40,5 @@ const MainSearchBar = (props: Props) => {
|
|||
}
|
||||
export default connect(state => ({
|
||||
appliedFilter: state.getIn(['search', 'instance']),
|
||||
optionsReady: state.getIn(['customFields', 'optionsReady'])
|
||||
}), { clearSearch })(MainSearchBar);
|
||||
|
|
@ -31,6 +31,7 @@ const initialState = Map({
|
|||
list: List(),
|
||||
instance: CustomField(),
|
||||
sources: List(),
|
||||
optionsReady: false
|
||||
});
|
||||
|
||||
const reducer = (state = initialState, action = {}) => {
|
||||
|
|
@ -40,7 +41,8 @@ const reducer = (state = initialState, action = {}) => {
|
|||
addElementToFiltersMap(FilterCategory.METADATA, item.key);
|
||||
addElementToLiveFiltersMap(FilterCategory.METADATA, item.key);
|
||||
});
|
||||
return state.set('list', List(action.data).map(CustomField)) //.concat(defaultMeta))
|
||||
return state.set('list', List(action.data).map(CustomField))
|
||||
.set('optionsReady', true) //.concat(defaultMeta))
|
||||
case FETCH_SOURCES_SUCCESS:
|
||||
return state.set('sources', List(action.data.map(({ value, ...item}) => ({label: value, key: value, ...item}))).map(CustomField))
|
||||
case SAVE_SUCCESS:
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ import { capitalize } from 'App/utils';
|
|||
const countryOptions = Object.keys(countries).map(i => ({ text: countries[i], value: i }));
|
||||
const containsFilters = [{ key: 'contains', text: 'contains', value: 'contains' }]
|
||||
|
||||
export const metaFilter = { key: FilterKey.METADATA, type: FilterType.MULTIPLE, category: FilterCategory.METADATA, label: 'Metadata', operator: 'is', operatorOptions: filterOptions.stringOperators, icon: 'filters/metadata', isEvent: true };
|
||||
export const metaFilter = { key: FilterKey.METADATA, type: FilterType.MULTIPLE, category: FilterCategory.METADATA, label: 'Metadata', operator: 'is', operatorOptions: filterOptions.stringOperators, icon: 'filters/metadata' };
|
||||
export const filtersMap = {
|
||||
// EVENTS
|
||||
[FilterKey.CLICK]: { key: FilterKey.CLICK, type: FilterType.MULTIPLE, category: FilterCategory.INTERACTIONS, label: 'Click', operator: 'on', operatorOptions: filterOptions.targetOperators, icon: 'filters/click', isEvent: true },
|
||||
|
|
@ -133,7 +133,11 @@ export default Record({
|
|||
})
|
||||
_filter = subFilterMap[type]
|
||||
} else {
|
||||
_filter = (type === FilterKey.METADATA) ? metaFilter : filtersMap[type];
|
||||
if (type === FilterKey.METADATA) {
|
||||
_filter = filtersMap[filter.source];
|
||||
} else {
|
||||
_filter = filtersMap[type];
|
||||
}
|
||||
}
|
||||
return {
|
||||
...filter,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue