import {
AnyObject,
BasicConfig,
Config,
JsonTree,
Operator,
Settings,
SimpleField,
SqlFormatOperator,
Utils,
ValueSource,
Widgets,
} from '@react-awesome-query-builder/ui';
import { List } from 'immutable';
import { isString } from 'lodash';
import React from 'react';
import { dateTime, toOption } from '@grafana/data';
import { Button, DateTimePicker, Input, Select } from '@grafana/ui';
const buttonLabels = {
add: 'Add',
remove: 'Remove',
};
export const emptyInitTree: JsonTree = {
id: Utils.uuid(),
type: 'group',
};
const TIME_FILTER = 'timeFilter';
const macros = [TIME_FILTER];
export const widgets: Widgets = {
...BasicConfig.widgets,
text: {
...BasicConfig.widgets.text,
factory: function TextInput(props) {
return (
props?.setValue(e.currentTarget.value)}
/>
);
},
},
number: {
...BasicConfig.widgets.number,
factory: function NumberInput(props) {
return (
props?.setValue(Number.parseInt(e.currentTarget.value, 10))}
/>
);
},
},
datetime: {
...BasicConfig.widgets.datetime,
factory: function DateTimeInput(props) {
if (props?.operator === Op.MACROS) {
return (