in src/components/filters/filter-panels/time-range-filter-panel.js [33:92]
function TimeRangeFilterPanelFactory(FieldPanelWithFieldSelect, TimeRangeFilter) {
const TimeRangeFilterPanel = React.memo(
({
idx,
datasets,
allAvailableFields,
filter,
isAnyFilterAnimating,
enlargeFilter,
setFilter,
removeFilter,
toggleAnimation
}) => {
const onSetFilter = useCallback(value => setFilter(idx, 'value', value), [idx, setFilter]);
const panelActions = useMemo(
() => [
{
id: filter.id,
onClick: enlargeFilter,
tooltip: 'tooltip.timePlayback',
iconComponent: Clock,
active: filter.enlarged
}
],
[filter.id, filter.enlarged, enlargeFilter]
);
return (
<>
<FieldPanelWithFieldSelect
allAvailableFields={allAvailableFields}
datasets={datasets}
filter={filter}
idx={idx}
removeFilter={removeFilter}
setFilter={setFilter}
panelActions={panelActions}
>
{filter.type && !filter.enlarged && (
<div className="filter-panel__filter">
<TimeRangeFilter
filter={filter}
idx={idx}
isAnyFilterAnimating={isAnyFilterAnimating}
toggleAnimation={toggleAnimation}
setFilter={onSetFilter}
/>
</div>
)}
</FieldPanelWithFieldSelect>
</>
);
}
);
TimeRangeFilterPanel.displayName = 'TimeRangeFilterPanel';
return TimeRangeFilterPanel;
}