UNPKG

@adaptabletools/adaptable

Version:

Powerful AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements

28 lines (27 loc) 1.74 kB
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; import { useMemo } from 'react'; import { ExpressionEditor } from '../../../components/ExpressionEditor'; import { Tag } from '../../../components/Tag'; import { NamedQueryModuleId } from '../../../Utilities/Constants/ModuleConstants'; import { useOnePageAdaptableWizardContext } from '../../Wizard/OnePageAdaptableWizard'; import { Box } from '../../../components/Flex'; export const isValidNamedQueryExpression = (data, api) => { if (!data.BooleanExpression) { return 'An expression is required'; } const valid = api.expressionApi.isValidBooleanExpression(data.BooleanExpression, NamedQueryModuleId); if (!valid) { return 'The query is not a valid Boolean expression.'; } return valid; }; export const renderNamedQueryExpressionSummary = (data, api) => { return (_jsxs(Box, { className: "twa:text-2", children: ["Expression: ", _jsx(Tag, { children: api.internalApi.getAdaptableQueryExpressionText(data) })] })); }; export const NamedQueryExpressionWizardSection = (props) => { const { data, moduleInfo, api } = useOnePageAdaptableWizardContext(); const initialData = useMemo(() => api.internalApi.getQueryPreviewData(), []); return (_jsx(ExpressionEditor, { allowSaveNamedQuery: false, showQueryBuilder: true, type: 'boolean', module: moduleInfo.ModuleName, value: data.BooleanExpression, onChange: (BooleanExpression) => { props.onChange({ ...data, BooleanExpression }); }, initialData: initialData, columns: api.columnApi.internalApi.getQueryableColumnsForUIEditor(), fields: api.expressionApi.internalApi.getAvailableFields(), namedQueries: api.namedQueryApi.getNamedQueries(), api: api })); };