2023-07-26 15:06:07 +05:30
|
|
|
import { PANEL_TYPES } from 'constants/queryBuilder';
|
2023-06-16 13:38:39 +03:00
|
|
|
import { ReactNode } from 'react';
|
2023-07-06 14:22:44 +03:00
|
|
|
import { IBuilderQuery } from 'types/api/queryBuilder/queryBuilderData';
|
2023-04-01 08:59:35 +03:00
|
|
|
import { DataSource } from 'types/common/queryBuilder';
|
|
|
|
|
|
2023-07-19 08:47:21 +03:00
|
|
|
import { OrderByFilterProps } from './filters/OrderByFilter/OrderByFilter.interfaces';
|
|
|
|
|
|
2023-04-01 08:59:35 +03:00
|
|
|
export type QueryBuilderConfig =
|
|
|
|
|
| {
|
|
|
|
|
queryVariant: 'static';
|
|
|
|
|
initialDataSource: DataSource;
|
|
|
|
|
}
|
|
|
|
|
| { queryVariant: 'dropdown' };
|
2023-03-27 11:34:06 +03:00
|
|
|
|
|
|
|
|
export type QueryBuilderProps = {
|
2023-04-01 08:59:35 +03:00
|
|
|
config?: QueryBuilderConfig;
|
2023-07-26 15:06:07 +05:30
|
|
|
panelType: PANEL_TYPES;
|
2023-06-16 13:38:39 +03:00
|
|
|
actions?: ReactNode;
|
2023-07-07 15:49:35 +03:00
|
|
|
filterConfigs?: Partial<
|
|
|
|
|
Record<keyof IBuilderQuery, { isHidden: boolean; isDisabled: boolean }>
|
|
|
|
|
>;
|
2023-07-19 08:47:21 +03:00
|
|
|
queryComponents?: { renderOrderBy?: (props: OrderByFilterProps) => ReactNode };
|
2023-03-27 11:34:06 +03:00
|
|
|
};
|