@adaptabletools/adaptable-cjs
Version:
Powerful data-agnostic HTML5 AG Grid extension which provides advanced, cutting-edge functionality to meet all DataGrid requirements
38 lines (37 loc) • 2.36 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.NamedQueryExpressionWizardSection = exports.renderNamedQueryExpressionSummary = exports.isValidNamedQueryExpression = void 0;
const tslib_1 = require("tslib");
const React = tslib_1.__importStar(require("react"));
const react_1 = require("react");
const rebass_1 = require("rebass");
const ExpressionEditor_1 = require("../../../components/ExpressionEditor");
const Tag_1 = require("../../../components/Tag");
const ModuleConstants_1 = require("../../../Utilities/Constants/ModuleConstants");
const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
const isValidNamedQueryExpression = (data, api) => {
if (!data.BooleanExpression) {
return 'Expression is empty';
}
const valid = api.expressionApi.isValidBooleanExpression(data.BooleanExpression, ModuleConstants_1.NamedQueryModuleId);
if (!valid) {
return 'Query is not a valid Boolean Query';
}
return valid;
};
exports.isValidNamedQueryExpression = isValidNamedQueryExpression;
const renderNamedQueryExpressionSummary = (data) => {
const { api } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
return (React.createElement(rebass_1.Text, { fontSize: 2 },
"Expression: ",
React.createElement(Tag_1.Tag, null, api.internalApi.getAdaptableQueryExpressionText(data))));
};
exports.renderNamedQueryExpressionSummary = renderNamedQueryExpressionSummary;
const NamedQueryExpressionWizardSection = (props) => {
const { data, moduleInfo, api } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
const initialData = (0, react_1.useMemo)(() => api.internalApi.getQueryPreviewData(), []);
return (React.createElement(ExpressionEditor_1.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 }));
};
exports.NamedQueryExpressionWizardSection = NamedQueryExpressionWizardSection;