- {hasEvents && (
- <>
-
-
- {filter.eventsHeader}
-
- {!hideEventsOrder && (
-
-
+ },
+ {
+ label: 'AND',
+ value: 'and',
+ disabled: eventsOrderSupport && !eventsOrderSupport.includes('and'),
+ },
+ {
+ label: 'OR',
+ value: 'or',
+ disabled: eventsOrderSupport && !eventsOrderSupport.includes('or'),
+ },
+ ];
-
- props.onChangeEventsOrder(
- null,
- eventOrderItems.find((i) => i.value === v)
- )
- }
- value={filter.eventsOrder}
- options={eventOrderItems}
- />
-
- )}
-
-
- {filters.map((filter: any, filterIndex: number) =>
- filter.isEvent ? (
-
handleDragOverEv(e, filterIndex)}
- onDrop={(e) => handleDrop(e)}
- key={`${filter.key}-${filterIndex}`}
- >
- {!!props.onFilterMove && eventsNum > 1 ? (
-
- handleDragStart(
- e,
- filterIndex,
- `${filter.key}-${filterIndex}`
- )
- }
- >
-
+ const eventsNum = filters.filter((i: any) => i.isEvent).size
+ return (
+
+ {hasEvents && (
+ <>
+
+
+ {filter.eventsHeader}
+
+ {!hideEventsOrder && (
+
+
+
+
+ props.onChangeEventsOrder(
+ null,
+ eventOrderItems.find((i) => i.value === v)
+ )
+ }
+ value={filter.eventsOrder}
+ options={eventOrderItems}
+ />
+ {actions && actions.map((action, index) => (
+ {action}
+ ))}
+
+ )}
- ) : null}
-
- props.onUpdateFilter(filterIndex, filter)
- }
- onRemoveFilter={() => onRemoveFilter(filterIndex)}
- saveRequestPayloads={saveRequestPayloads}
- disableDelete={cannotDeleteFilter}
- excludeFilterKeys={excludeFilterKeys}
- readonly={props.readonly}
- isConditional={isConditional}
- />
-
- ) : null
+
+ {filters.map((filter: any, filterIndex: number) =>
+ filter.isEvent ? (
+
handleDragOverEv(e, filterIndex)}
+ onDrop={(e) => handleDrop(e)}
+ key={`${filter.key}-${filterIndex}`}
+ >
+ {!!props.onFilterMove && eventsNum > 1 ? (
+
+ handleDragStart(
+ e,
+ filterIndex,
+ `${filter.key}-${filterIndex}`
+ )
+ }
+ >
+
+
+ ) : null}
+
+ props.onUpdateFilter(filterIndex, filter)
+ }
+ onRemoveFilter={() => onRemoveFilter(filterIndex)}
+ saveRequestPayloads={saveRequestPayloads}
+ disableDelete={cannotDeleteFilter}
+ excludeFilterKeys={excludeFilterKeys}
+ readonly={props.readonly}
+ isConditional={isConditional}
+ />
+
+ ) : null
+ )}
+
+
+ >
)}
-
-
- >
- )}
- {hasFilters && (
- <>
- {hasEvents &&
}
-
FILTERS
- {filters.map((filter: any, filterIndex: any) =>
- !filter.isEvent ? (
-
- props.onUpdateFilter(filterIndex, filter)}
- onRemoveFilter={() => onRemoveFilter(filterIndex)}
- excludeFilterKeys={excludeFilterKeys}
- isConditional={isConditional}
- />
-
- ) : null
- )}
- >
- )}
-
- );
+ {hasFilters && (
+ <>
+ {hasEvents &&
}
+
FILTERS
+ {filters.map((filter: any, filterIndex: any) =>
+ !filter.isEvent ? (
+
+ props.onUpdateFilter(filterIndex, filter)}
+ onRemoveFilter={() => onRemoveFilter(filterIndex)}
+ excludeFilterKeys={excludeFilterKeys}
+ isConditional={isConditional}
+ />
+
+ ) : null
+ )}
+ >
+ )}
+
+ );
}
export default observer(FilterList);
+
+
+function EventsOrder(props: {
+ onChange: (e: any, v: any) => void,
+ filter: any,
+ eventsOrderSupport: any
+}) {
+ const {filter, eventsOrderSupport, onChange} = props;
+ const options = [
+ {
+ label: 'THEN',
+ value: 'then',
+ disabled: eventsOrderSupport && !eventsOrderSupport.includes('then'),
+ },
+ {
+ label: 'AND',
+ value: 'and',
+ disabled: eventsOrderSupport && !eventsOrderSupport.includes('and'),
+ },
+ {
+ label: 'OR',
+ value: 'or',
+ disabled: eventsOrderSupport && !eventsOrderSupport.includes('or'),
+ },
+ ];
+
+ return
+
+
+
onChange(null, options.find((i) => i.value === v))}
+ value={filter.eventsOrder}
+ options={options}
+ />
+ ;
+}