angular2-query-builder
Version:
A modernized Angular 2+ query builder based on jquery QueryBuilder
127 lines (126 loc) • 5.91 kB
TypeScript
import { AbstractControl, ControlValueAccessor, ValidationErrors, Validator } from '@angular/forms';
import { QueryOperatorDirective } from './query-operator.directive';
import { QueryFieldDirective } from './query-field.directive';
import { QueryEntityDirective } from './query-entity.directive';
import { QuerySwitchGroupDirective } from './query-switch-group.directive';
import { QueryButtonGroupDirective } from './query-button-group.directive';
import { QueryInputDirective } from './query-input.directive';
import { QueryRemoveButtonDirective } from './query-remove-button.directive';
import { QueryEmptyWarningDirective } from './query-empty-warning.directive';
import { QueryArrowIconDirective } from './query-arrow-icon.directive';
import { ButtonGroupContext, Entity, Field, SwitchGroupContext, EntityContext, FieldContext, InputContext, LocalRuleMeta, OperatorContext, Option, QueryBuilderClassNames, QueryBuilderConfig, RemoveButtonContext, ArrowIconContext, Rule, RuleSet, EmptyWarningContext } from './query-builder.interfaces';
import { ChangeDetectorRef, OnChanges, OnInit, QueryList, SimpleChanges, TemplateRef, ElementRef } from '@angular/core';
export declare const CONTROL_VALUE_ACCESSOR: any;
export declare const VALIDATOR: any;
export declare class QueryBuilderComponent implements OnInit, OnChanges, ControlValueAccessor, Validator {
private changeDetectorRef;
fields: Field[];
filterFields: Field[];
entities: Entity[];
defaultClassNames: QueryBuilderClassNames;
defaultOperatorMap: {
[key: string]: string[];
};
disabled: boolean;
data: RuleSet;
onChangeCallback: () => void;
onTouchedCallback: () => any;
allowRuleset: boolean;
allowCollapse: boolean;
emptyMessage: string;
classNames: QueryBuilderClassNames;
operatorMap: {
[key: string]: string[];
};
parentValue: RuleSet;
config: QueryBuilderConfig;
parentArrowIconTemplate: QueryArrowIconDirective;
parentInputTemplates: QueryList<QueryInputDirective>;
parentOperatorTemplate: QueryOperatorDirective;
parentFieldTemplate: QueryFieldDirective;
parentEntityTemplate: QueryEntityDirective;
parentSwitchGroupTemplate: QuerySwitchGroupDirective;
parentButtonGroupTemplate: QueryButtonGroupDirective;
parentRemoveButtonTemplate: QueryRemoveButtonDirective;
parentEmptyWarningTemplate: QueryEmptyWarningDirective;
parentChangeCallback: () => void;
parentTouchedCallback: () => void;
persistValueOnFieldChange: boolean;
treeContainer: ElementRef;
buttonGroupTemplate: QueryButtonGroupDirective;
switchGroupTemplate: QuerySwitchGroupDirective;
fieldTemplate: QueryFieldDirective;
entityTemplate: QueryEntityDirective;
operatorTemplate: QueryOperatorDirective;
removeButtonTemplate: QueryRemoveButtonDirective;
emptyWarningTemplate: QueryEmptyWarningDirective;
inputTemplates: QueryList<QueryInputDirective>;
arrowIconTemplate: QueryArrowIconDirective;
private defaultTemplateTypes;
private defaultPersistValueTypes;
private defaultEmptyList;
private operatorsCache;
private inputContextCache;
private operatorContextCache;
private fieldContextCache;
private entityContextCache;
private removeButtonContextCache;
private buttonGroupContext;
constructor(changeDetectorRef: ChangeDetectorRef);
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
validate(control: AbstractControl): ValidationErrors | null;
get value(): RuleSet;
set value(value: RuleSet);
writeValue(obj: any): void;
registerOnChange(fn: any): void;
registerOnTouched(fn: any): void;
setDisabledState(isDisabled: boolean): void;
getDisabledState: () => boolean;
findTemplateForRule(rule: Rule): TemplateRef<any>;
findQueryInput(type: string): QueryInputDirective;
getOperators(field: string): string[];
getFields(entity: string): Field[];
getInputType(field: string, operator: string): string;
getOptions(field: string): Option[];
getClassNames(...args: any[]): string;
getDefaultField(entity: Entity): Field;
getDefaultOperator(field: Field): string;
addRule(parent?: RuleSet): void;
removeRule(rule: Rule, parent?: RuleSet): void;
addRuleSet(parent?: RuleSet): void;
removeRuleSet(ruleset?: RuleSet, parent?: RuleSet): void;
transitionEnd(e: Event): void;
toggleCollapse(): void;
computedTreeContainerHeight(): void;
changeCondition(value: string): void;
changeOperator(rule: Rule): void;
coerceValueForOperator(operator: string, value: any, rule: Rule): any;
changeInput(): void;
changeField(fieldValue: string, rule: Rule): void;
changeEntity(entityValue: string, rule: Rule, index: number, data: RuleSet): void;
getDefaultValue(defaultValue: any): any;
getOperatorTemplate(): TemplateRef<any>;
getFieldTemplate(): TemplateRef<any>;
getEntityTemplate(): TemplateRef<any>;
getArrowIconTemplate(): TemplateRef<any>;
getButtonGroupTemplate(): TemplateRef<any>;
getSwitchGroupTemplate(): TemplateRef<any>;
getRemoveButtonTemplate(): TemplateRef<any>;
getEmptyWarningTemplate(): TemplateRef<any>;
getQueryItemClassName(local: LocalRuleMeta): string;
getButtonGroupContext(): ButtonGroupContext;
getRemoveButtonContext(rule: Rule): RemoveButtonContext;
getFieldContext(rule: Rule): FieldContext;
getEntityContext(rule: Rule): EntityContext;
getSwitchGroupContext(): SwitchGroupContext;
getArrowIconContext(): ArrowIconContext;
getEmptyWarningContext(): EmptyWarningContext;
getOperatorContext(rule: Rule): OperatorContext;
getInputContext(rule: Rule): InputContext;
private calculateFieldChangeValue;
private checkEmptyRuleInRuleset;
private validateRulesInRuleset;
private handleDataChange;
private handleTouched;
}