UNPKG

@adaptabletools/adaptable

Version:

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

62 lines (61 loc) 2.44 kB
import ObjectFactory from '../../Utilities/ObjectFactory'; import { ApiBase } from '../Implementation/ApiBase'; export class NamedQueryInternalApi extends ApiBase { getReferencedNamedQueryNames(expression = '') { try { return this.getAdaptableInternalApi() .getQueryLanguageService() .getNamedQueryNamesFromExpression(expression); } catch (error) { this.logWarn(`QueryApi.getReferencedNamedQueryNames received an invalid expression: ${expression} Error: ${error}`); return []; } } getNamedQueryModuleReferences(namedQueryName) { const references = []; this.getAdaptableInternalApi() .getModules() .forEach((module) => { if (module .getModuleNamedQueryReferences() .some((moduleReference) => moduleReference === namedQueryName)) { references.push(module.moduleInfo.FriendlyName); } }); return references; } validateDeletedNamedQuery(namedQuery) { const namedQueryReferences = this.getNamedQueryModuleReferences(namedQuery); if (namedQueryReferences.length) { const alert = { alertType: 'generic', header: 'Named Query', message: `This Named Query cannot be deleted. It is still referenced by: ${namedQueryReferences.join(', ')}.`, alertDefinition: ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'), }; this.getAlertApi().displayAdaptableAlertNotification(alert); return false; } else { return true; } } validateRenamedNamedQuery(namedQuery) { const namedQueryReferences = this.getNamedQueryModuleReferences(namedQuery); if (namedQueryReferences.length) { const alert = { alertType: 'generic', header: 'Named Query', message: `This Named Query cannot be renamed. It is currently referenced by: ${namedQueryReferences.join(', ')}.`, alertDefinition: ObjectFactory.CreateInternalAlertDefinitionForMessages('Error'), }; this.getAlertApi().displayAdaptableAlertNotification(alert); return false; } else { return true; } } }