/** Core */ import { CoreComponent } from "cmf.core/src/core"; import Cmf from "cmf.lbos"; /** Nested modules */ import { PropertiesEditorProperty } from "../propertiesEditor/propertiesEditor"; import { DialogButton, ConfirmDialogResult } from "cmf.core/src/domain/extensions/dialog"; import { ValidatorModel } from "cmf.core.controls/src/directives/validator/validator"; /** Angular */ import * as ng from "@angular/core"; /** * @whatItDoes * * This component allows a user to set the parameters for a given query * * @howToUse * * This component is used by simply supplying the query * * ### Inputs * `QueryObject` : **query** - The query to show parameters from * * ### Outputs * `QueryObject` : **queryChange** - Triggered when the parameters are set and confirmed * * ### Example * To use the component, assume this HTML Template as an example: * * ```HTML * * ``` * * @description * * ## QueryParameters Component * * ### Dependencies * * #### Components * * PropertiesEditor : `cmf.core.business.controls` (Ex: `cmf.core.controls`) * */ export declare class QueryParameters extends CoreComponent implements ng.OnChanges { private _validatorModel; /** * Properties to to show on the properties editor */ _parameterProperties: { [key: string]: PropertiesEditorProperty; }; /** * Instance that holds the parameter values */ _parameterInstance: any; /** * Query to output with the injected parameters */ private _query; /** * Dialog component */ private _dialogComponent; /** * Close Event */ close: ng.EventEmitter; /** * Dialog buttons */ _buttons: DialogButton[]; /** * Query object that is going to be configured (input) */ query: Cmf.Foundation.BusinessObjects.QueryObject.QueryObject; /** * Query change event fired on valid execute */ queryChange: ng.EventEmitter; /** * Constructor * * @param viewContainerRef the reference to the component view container */ constructor(viewContainerRef: ng.ViewContainerRef, _validatorModel: ValidatorModel); /** * On changes method check what parameters are available and display them * @param changes the changes made to the component properties */ ngOnChanges(changes: ng.SimpleChanges): void; /** * On dialog confirm set the parameters * @param args DialogButtonCallbackArgs * @returns Promise to be run on execute */ private onExecute; /** * On dialog cancel * @param args DialogButtonCallbackArgs * @returns Promise to close */ private onCancel; /** * Get parameter filter * @param query Query to change * @param parameter Parameter to remove * @returns filter where the parameter is present */ private getParameterFilter; /** * Run throught the filter and inner filter and try to find the filter that matches this parameter * @param filter Filter to run through * @param parameter Parameter to find */ private getParameterFromFilter; } export declare class QueryParametersModule { }