{"__symbolic":"module","version":4,"metadata":{"RuleSet":{"__symbolic":"interface"},"Rule":{"__symbolic":"interface"},"Option":{"__symbolic":"interface"},"FieldMap":{"__symbolic":"interface"},"Field":{"__symbolic":"interface"},"LocalRuleMeta":{"__symbolic":"interface"},"EntityMap":{"__symbolic":"interface"},"Entity":{"__symbolic":"interface"},"QueryBuilderClassNames":{"__symbolic":"interface"},"QueryBuilderConfig":{"__symbolic":"interface"},"SwitchGroupContext":{"__symbolic":"interface"},"EmptyWarningContext":{"__symbolic":"interface"},"ArrowIconContext":{"__symbolic":"interface"},"EntityContext":{"__symbolic":"interface"},"FieldContext":{"__symbolic":"interface"},"OperatorContext":{"__symbolic":"interface"},"InputContext":{"__symbolic":"interface"},"ButtonGroupContext":{"__symbolic":"interface"},"RemoveButtonContext":{"__symbolic":"interface"},"CONTROL_VALUE_ACCESSOR":{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":53,"character":11},"useExisting":{"__symbolic":"reference","name":"QueryBuilderComponent"},"multi":true},"VALIDATOR":{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALIDATORS","line":59,"character":11},"useExisting":{"__symbolic":"reference","name":"QueryBuilderComponent"},"multi":true},"QueryBuilderComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":64,"character":1},"arguments":[{"selector":"query-builder","providers":[{"__symbolic":"reference","name":"CONTROL_VALUE_ACCESSOR"},{"__symbolic":"reference","name":"VALIDATOR"}],"template":"<div [ngClass]=\"getClassNames('switchRow')\">\r\n  <ng-template #defaultArrowIcon>\r\n    <i [ngClass]=\"getClassNames('arrowIcon')\"></i>\r\n  </ng-template>\r\n\r\n  <a *ngIf=\"allowCollapse\" (click)=\"toggleCollapse()\" [ngClass]=\"getClassNames('arrowIconButton', data.collapsed ? 'collapsed' : null)\">\r\n    <ng-container *ngIf=\"getArrowIconTemplate() as template; else defaultArrowIcon\">\r\n      <ng-container *ngTemplateOutlet=\"template; context: getArrowIconContext()\"></ng-container>\r\n    </ng-container>\r\n  </a>\r\n\r\n  <ng-container *ngIf=\"getButtonGroupTemplate() as template; else defaultButtonGroup\">\r\n    <div [ngClass]=\"getClassNames('buttonGroup', 'rightAlign')\">\r\n      <ng-container *ngTemplateOutlet=\"template; context: getButtonGroupContext()\"></ng-container>\r\n    </div>\r\n  </ng-container>\r\n\r\n  <ng-template #defaultButtonGroup>\r\n    <div [ngClass]=\"getClassNames('buttonGroup', 'rightAlign')\">\r\n      <button type=\"button\" (click)=\"addRule()\" [ngClass]=\"getClassNames('button')\" [disabled]=disabled>\r\n        <i [ngClass]=\"getClassNames('addIcon')\"></i> Rule\r\n      </button>\r\n      <button type=\"button\" (click)=\"addRuleSet()\" [ngClass]=\"getClassNames('button')\" *ngIf=\"allowRuleset\" [disabled]=disabled>\r\n        <i [ngClass]=\"getClassNames('addIcon')\"></i> Ruleset\r\n      </button>\r\n      <ng-container *ngIf=\"!!parentValue && allowRuleset\">\r\n        <button type=\"button\" (click)=\"removeRuleSet()\" [ngClass]=\"getClassNames('button', 'removeButton')\" [disabled]=disabled>\r\n          <i [ngClass]=\"getClassNames('removeIcon')\"></i>\r\n        </button>\r\n      </ng-container>\r\n    </div>\r\n  </ng-template>\r\n\r\n  <ng-container *ngIf=\"getSwitchGroupTemplate() as template; else defaultSwitchGroup\">\r\n    <ng-container *ngTemplateOutlet=\"template; context: getSwitchGroupContext()\"></ng-container>\r\n  </ng-container>\r\n\r\n  <ng-template #defaultSwitchGroup>\r\n    <div [ngClass]=\"getClassNames('switchGroup', 'transition')\" *ngIf=\"data\">\r\n      <div [ngClass]=\"getClassNames('switchControl')\">\r\n        <input type=\"radio\" [ngClass]=\"getClassNames('switchRadio')\" [(ngModel)]=\"data.condition\" [disabled]=disabled\r\n          value=\"and\" #andOption />\r\n        <label (click)=\"changeCondition(andOption.value)\" [ngClass]=\"getClassNames('switchLabel')\">AND</label>\r\n      </div>\r\n      <div [ngClass]=\"getClassNames('switchControl')\">\r\n        <input type=\"radio\" [ngClass]=\"getClassNames('switchRadio')\" [(ngModel)]=\"data.condition\" [disabled]=disabled\r\n          value=\"or\" #orOption />\r\n        <label (click)=\"changeCondition(orOption.value)\" [ngClass]=\"getClassNames('switchLabel')\">OR</label>\r\n      </div>\r\n    </div>\r\n  </ng-template>\r\n</div>\r\n\r\n<div #treeContainer (transitionend)=\"transitionEnd($event)\" [ngClass]=\"getClassNames('treeContainer', data.collapsed ? 'collapsed' : null)\">\r\n  <ul [ngClass]=\"getClassNames('tree')\" *ngIf=\"data && data.rules\">\r\n    <ng-container *ngFor=\"let rule of data.rules;let i=index\">\r\n\r\n      <ng-container *ngIf=\"{ruleset: !!rule.rules, invalid: !config.allowEmptyRulesets && rule.rules && rule.rules.length === 0} as local\">\r\n        <li [ngClass]=\"getQueryItemClassName(local)\">\r\n          <ng-container *ngIf=\"!local.ruleset\">\r\n\r\n            <ng-container *ngIf=\"getRemoveButtonTemplate() as template; else defaultRemoveButton\">\r\n              <div [ngClass]=\"getClassNames('buttonGroup', 'rightAlign')\">\r\n                <ng-container *ngTemplateOutlet=\"template; context: getRemoveButtonContext(rule)\"></ng-container>\r\n              </div>\r\n            </ng-container>\r\n\r\n            <ng-template #defaultRemoveButton>\r\n              <div [ngClass]=\"getClassNames('removeButtonSize', 'rightAlign')\">\r\n                <button type=\"button\" [ngClass]=\"getClassNames('button', 'removeButton')\" (click)=\"removeRule(rule, data)\" [disabled]=disabled>\r\n                  <i [ngClass]=\"getClassNames('removeIcon')\"></i>\r\n                </button>\r\n              </div>\r\n            </ng-template>\r\n\r\n            <div *ngIf=\"entities?.length > 0\" class=\"q-inline-block-display\">\r\n              <ng-container *ngIf=\"getEntityTemplate() as template; else defaultEntity\">\r\n                <ng-container *ngTemplateOutlet=\"template; context: getEntityContext(rule)\"></ng-container>\r\n              </ng-container>\r\n            </div>\r\n\r\n            <ng-template #defaultEntity>\r\n              <div [ngClass]=\"getClassNames('entityControlSize')\">\r\n                <select [ngClass]=\"getClassNames('entityControl')\" [(ngModel)]=\"rule.entity\" (ngModelChange)=\"changeEntity($event, rule,i,data)\"\r\n                  [disabled]=\"disabled\">\r\n                  <option *ngFor=\"let entity of entities\" [ngValue]=\"entity.value\">\r\n                    {{entity.name}}\r\n                  </option>\r\n                </select>\r\n              </div>\r\n            </ng-template>\r\n\r\n            <ng-container *ngIf=\"getFieldTemplate() as template; else defaultField\">\r\n              <ng-container *ngTemplateOutlet=\"template; context: getFieldContext(rule)\"></ng-container>\r\n            </ng-container>\r\n\r\n            <ng-template #defaultField>\r\n              <div [ngClass]=\"getClassNames('fieldControlSize')\">\r\n                <select [ngClass]=\"getClassNames('fieldControl')\" [(ngModel)]=\"rule.field\" (ngModelChange)=\"changeField($event, rule)\"\r\n                  [disabled]=\"disabled\">\r\n                  <option *ngFor=\"let field of getFields(rule.entity)\" [ngValue]=\"field.value\">\r\n                    {{field.name}}\r\n                  </option>\r\n                </select>\r\n              </div>\r\n            </ng-template>\r\n\r\n            <ng-container *ngIf=\"getOperatorTemplate() as template; else defaultOperator\">\r\n              <ng-container *ngTemplateOutlet=\"template; context: getOperatorContext(rule)\"></ng-container>\r\n            </ng-container>\r\n\r\n            <ng-template #defaultOperator>\r\n              <div [ngClass]=\"getClassNames('operatorControlSize')\">\r\n                <select [ngClass]=\"getClassNames('operatorControl')\" [(ngModel)]=\"rule.operator\" (ngModelChange)=\"changeOperator(rule)\"\r\n                  [disabled]=\"disabled\">\r\n                  <option *ngFor=\"let operator of getOperators(rule.field)\" [ngValue]=\"operator.value\">\r\n                    {{operator.name}}\r\n                  </option>\r\n                </select>\r\n              </div>\r\n            </ng-template>\r\n\r\n            <ng-container *ngIf=\"findTemplateForRule(rule) as template; else defaultInput\">\r\n              <ng-container *ngTemplateOutlet=\"template; context: getInputContext(rule)\"></ng-container>\r\n            </ng-container>\r\n\r\n            <ng-template #defaultInput>\r\n              <div [ngClass]=\"getClassNames('inputControlSize')\" [ngSwitch]=\"getInputType(rule.field, rule.operator)\">\r\n                <input [ngClass]=\"getClassNames('inputControl')\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"changeInput()\"\r\n                  [disabled]=\"disabled\" *ngSwitchCase=\"'string'\" type=\"text\">\r\n                <input [ngClass]=\"getClassNames('inputControl')\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"changeInput()\"\r\n                  [disabled]=\"disabled\" *ngSwitchCase=\"'number'\" type=\"number\">\r\n                <input [ngClass]=\"getClassNames('inputControl')\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"changeInput()\"\r\n                  [disabled]=\"disabled\" *ngSwitchCase=\"'date'\" type=\"date\">\r\n                <input [ngClass]=\"getClassNames('inputControl')\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"changeInput()\"\r\n                  [disabled]=\"disabled\" *ngSwitchCase=\"'time'\" type=\"time\">\r\n                <select [ngClass]=\"getClassNames('inputControl')\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"changeInput()\"\r\n                  [disabled]=\"disabled\" *ngSwitchCase=\"'category'\">\r\n                  <option *ngFor=\"let opt of getOptions(rule.field)\" [ngValue]=\"opt.value\">\r\n                    {{opt.name}}\r\n                  </option>\r\n                </select>\r\n                <ng-container *ngSwitchCase=\"'multiselect'\">\r\n                  <select [ngClass]=\"getClassNames('inputControl')\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"changeInput()\"\r\n                    [disabled]=\"disabled\" multiple>\r\n                    <option *ngFor=\"let opt of getOptions(rule.field)\" [ngValue]=\"opt.value\">\r\n                      {{opt.name}}\r\n                    </option>\r\n                  </select>\r\n                </ng-container>\r\n                <input [ngClass]=\"getClassNames('inputControl')\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"changeInput()\"\r\n                  [disabled]=\"disabled\" *ngSwitchCase=\"'boolean'\" type=\"checkbox\">\r\n              </div>\r\n            </ng-template>\r\n\r\n          </ng-container>\r\n          <query-builder *ngIf=\"local.ruleset\" [data]=\"rule\" [disabled]=\"disabled\" [parentTouchedCallback]=\"parentTouchedCallback || onTouchedCallback\"\r\n            [parentChangeCallback]=\"parentChangeCallback || onChangeCallback\" [parentInputTemplates]=\"parentInputTemplates || inputTemplates\"\r\n            [parentOperatorTemplate]=\"parentOperatorTemplate || operatorTemplate\" [parentFieldTemplate]=\"parentFieldTemplate || fieldTemplate\"\r\n            [parentEntityTemplate]=\"parentEntityTemplate || entityTemplate\" [parentSwitchGroupTemplate]=\"parentSwitchGroupTemplate || switchGroupTemplate\"\r\n            [parentButtonGroupTemplate]=\"parentButtonGroupTemplate || buttonGroupTemplate\" [parentRemoveButtonTemplate]=\"parentRemoveButtonTemplate || removeButtonTemplate\"\r\n            [parentEmptyWarningTemplate]=\"parentEmptyWarningTemplate || emptyWarningTemplate\" [parentArrowIconTemplate]=\"parentArrowIconTemplate || arrowIconTemplate\"\r\n            [parentValue]=\"data\" [classNames]=\"classNames\" [config]=\"config\" [allowRuleset]=\"allowRuleset\"\r\n            [allowCollapse]=\"allowCollapse\" [emptyMessage]=\"emptyMessage\" [operatorMap]=\"operatorMap\">\r\n          </query-builder>\r\n\r\n          <ng-container *ngIf=\"getEmptyWarningTemplate() as template; else defaultEmptyWarning\">\r\n            <ng-container *ngIf=\"local.invalid\">\r\n              <ng-container *ngTemplateOutlet=\"template; context: getEmptyWarningContext()\"></ng-container>\r\n            </ng-container>\r\n          </ng-container>\r\n\r\n          <ng-template #defaultEmptyWarning>\r\n            <p [ngClass]=\"getClassNames('emptyWarning')\" *ngIf=\"local.invalid\">\r\n              {{emptyMessage}}\r\n            </p>\r\n          </ng-template>\r\n        </li>\r\n      </ng-container>\r\n    </ng-container>\r\n  </ul>\r\n</div>","styles":["@charset \"UTF-8\";:host{display:block;width:100%}:host .q-icon{font-style:normal;font-size:12px}:host .q-remove-icon::before{content:'❌'}:host .q-arrow-icon-button{float:left;margin:4px 6px 4px 0;transform:rotate(90deg);transition:transform .25s linear;cursor:pointer}:host .q-arrow-icon-button.q-collapsed{transform:rotate(0)}:host .q-arrow-icon::before{content:'▶'}:host .q-add-icon{color:#555}:host .q-add-icon::before{content:'➕'}:host .q-remove-button{color:#b3415d;width:31px}:host .q-button-group,:host .q-switch-group{font-family:\"Lucida Grande\",Tahoma,Verdana,sans-serif;overflow:hidden}:host .q-right-align{float:right}:host .q-button{margin-left:8px;padding:0 8px;background-color:#fff}:host .q-button:disabled{display:none}:host .q-control-size{display:inline-block;vertical-align:top;padding-right:10px}:host .q-entity-control,:host .q-field-control,:host .q-input-control,:host .q-operator-control{display:inline-block;padding:5px 8px;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;box-sizing:border-box;width:auto}:host .q-entity-control:disabled,:host .q-field-control:disabled,:host .q-input-control:disabled,:host .q-operator-control:disabled{border-color:transparent}:host .q-entity-control,:host .q-field-control,:host .q-input-control:not([type=checkbox]),:host .q-operator-control{min-height:32px;-webkit-appearance:none}:host .q-button,:host .q-switch-label{float:left;margin-bottom:0;font-size:14px;line-height:30px;font-weight:400;text-align:center;text-shadow:none;border:1px solid rgba(0,0,0,.2);box-sizing:border-box}:host .q-button:hover,:host .q-switch-label:hover{cursor:pointer;background-color:#f0f0f0}:host .q-switch-label{background-color:#e4e4e4;padding:0 8px}:host .q-switch-radio{position:absolute;clip:rect(0,0,0,0);height:1px;width:1px;border:0;overflow:hidden}:host .q-switch-radio:checked+.q-switch-label{border:1px solid #619ed7;background:#fff;color:#3176b3}:host .q-switch-radio:disabled+.q-switch-label{display:none}:host .q-switch-radio:checked:disabled+.q-switch-label{display:initial;color:initial;cursor:default;border-color:transparent}:host .q-invalid-ruleset{border:1px solid rgba(179,65,93,.5)!important;background:rgba(179,65,93,.1)!important}:host .q-empty-warning{color:#8d252e;text-align:center}:host .q-ruleset{border:1px solid #ccc}:host .q-rule{border:1px solid #ccc;background:#fff}:host .q-transition{transition:.1s ease-in-out}:host .q-tree-container{width:100%;overflow:hidden;transition:max-height .25s ease-in}:host .q-tree-container.q-collapsed{max-height:0!important}:host .q-tree{list-style:none;margin:4px 0 2px}:host .q-row{padding:6px 8px;margin-top:6px}:host .q-connector{position:relative}:host .q-connector::before{top:-5px;border-width:0 0 2px 2px}:host .q-connector::after{border-width:0 0 0 2px;top:50%}:host .q-connector::after,:host .q-connector::before{content:'';left:-12px;border-color:#ccc;border-style:solid;width:9px;height:calc(50% + 6px);position:absolute}:host .q-connector:last-child::after{content:none}:host .q-inline-block-display{display:inline-block;vertical-align:top}"]}]}],"members":{"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":144,"character":3}}]}],"data":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":145,"character":3}}]}],"allowRuleset":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":151,"character":3}}]}],"allowCollapse":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":152,"character":3}}]}],"emptyMessage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":153,"character":3}}]}],"classNames":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":154,"character":3}}]}],"operatorMap":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":155,"character":3}}]}],"parentValue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":156,"character":3}}]}],"config":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":157,"character":3}}]}],"parentArrowIconTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":158,"character":3}}]}],"parentInputTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":159,"character":3}}]}],"parentOperatorTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":160,"character":3}}]}],"parentFieldTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":161,"character":3}}]}],"parentEntityTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":162,"character":3}}]}],"parentSwitchGroupTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":163,"character":3}}]}],"parentButtonGroupTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":164,"character":3}}]}],"parentRemoveButtonTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":165,"character":3}}]}],"parentEmptyWarningTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":166,"character":3}}]}],"parentChangeCallback":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":167,"character":3}}]}],"parentTouchedCallback":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":168,"character":3}}]}],"persistValueOnFieldChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":169,"character":3}}]}],"treeContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":171,"character":3},"arguments":["treeContainer",{"static":true}]}]}],"buttonGroupTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":173,"character":3},"arguments":[{"__symbolic":"reference","name":"QueryButtonGroupDirective"}]}]}],"switchGroupTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":174,"character":3},"arguments":[{"__symbolic":"reference","name":"QuerySwitchGroupDirective"}]}]}],"fieldTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":175,"character":3},"arguments":[{"__symbolic":"reference","name":"QueryFieldDirective"}]}]}],"entityTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":176,"character":3},"arguments":[{"__symbolic":"reference","name":"QueryEntityDirective"}]}]}],"operatorTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":177,"character":3},"arguments":[{"__symbolic":"reference","name":"QueryOperatorDirective"}]}]}],"removeButtonTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":178,"character":3},"arguments":[{"__symbolic":"reference","name":"QueryRemoveButtonDirective"}]}]}],"emptyWarningTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":179,"character":3},"arguments":[{"__symbolic":"reference","name":"QueryEmptyWarningDirective"}]}]}],"inputTemplates":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":180,"character":3},"arguments":[{"__symbolic":"reference","name":"QueryInputDirective"}]}]}],"arrowIconTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":181,"character":3},"arguments":[{"__symbolic":"reference","name":"QueryArrowIconDirective"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":196,"character":41}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"validate":[{"__symbolic":"method"}],"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":265,"character":3}}]}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"findTemplateForRule":[{"__symbolic":"method"}],"findQueryInput":[{"__symbolic":"method"}],"getOperators":[{"__symbolic":"method"}],"getFields":[{"__symbolic":"method"}],"getInputType":[{"__symbolic":"method"}],"getOptions":[{"__symbolic":"method"}],"getClassNames":[{"__symbolic":"method"}],"getDefaultField":[{"__symbolic":"method"}],"getDefaultOperator":[{"__symbolic":"method"}],"addRule":[{"__symbolic":"method"}],"removeRule":[{"__symbolic":"method"}],"addRuleSet":[{"__symbolic":"method"}],"removeRuleSet":[{"__symbolic":"method"}],"transitionEnd":[{"__symbolic":"method"}],"toggleCollapse":[{"__symbolic":"method"}],"computedTreeContainerHeight":[{"__symbolic":"method"}],"changeCondition":[{"__symbolic":"method"}],"changeOperator":[{"__symbolic":"method"}],"coerceValueForOperator":[{"__symbolic":"method"}],"changeInput":[{"__symbolic":"method"}],"changeField":[{"__symbolic":"method"}],"changeEntity":[{"__symbolic":"method"}],"getDefaultValue":[{"__symbolic":"method"}],"getOperatorTemplate":[{"__symbolic":"method"}],"getFieldTemplate":[{"__symbolic":"method"}],"getEntityTemplate":[{"__symbolic":"method"}],"getArrowIconTemplate":[{"__symbolic":"method"}],"getButtonGroupTemplate":[{"__symbolic":"method"}],"getSwitchGroupTemplate":[{"__symbolic":"method"}],"getRemoveButtonTemplate":[{"__symbolic":"method"}],"getEmptyWarningTemplate":[{"__symbolic":"method"}],"getQueryItemClassName":[{"__symbolic":"method"}],"getButtonGroupContext":[{"__symbolic":"method"}],"getRemoveButtonContext":[{"__symbolic":"method"}],"getFieldContext":[{"__symbolic":"method"}],"getEntityContext":[{"__symbolic":"method"}],"getSwitchGroupContext":[{"__symbolic":"method"}],"getArrowIconContext":[{"__symbolic":"method"}],"getEmptyWarningContext":[{"__symbolic":"method"}],"getOperatorContext":[{"__symbolic":"method"}],"getInputContext":[{"__symbolic":"method"}],"calculateFieldChangeValue":[{"__symbolic":"method"}],"checkEmptyRuleInRuleset":[{"__symbolic":"method"}],"validateRulesInRuleset":[{"__symbolic":"method"}],"handleDataChange":[{"__symbolic":"method"}],"handleTouched":[{"__symbolic":"method"}]}},"QueryButtonGroupDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[queryButtonGroup]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"QueryEntityDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[queryEntity]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"QueryFieldDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[queryField]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"QueryInputDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[queryInput]"}]}],"members":{"queryInputType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":5,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"QueryOperatorDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[queryOperator]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"QuerySwitchGroupDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[querySwitchGroup]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"QueryRemoveButtonDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[queryRemoveButton]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"QueryEmptyWarningDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[queryEmptyWarning]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"QueryArrowIconDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":2,"character":1},"arguments":[{"selector":"[queryArrowIcon]"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}},"QueryBuilderModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":16,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":18,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":19,"character":4}],"declarations":[{"__symbolic":"reference","name":"QueryBuilderComponent"},{"__symbolic":"reference","name":"QueryInputDirective"},{"__symbolic":"reference","name":"QueryOperatorDirective"},{"__symbolic":"reference","name":"QueryFieldDirective"},{"__symbolic":"reference","name":"QueryEntityDirective"},{"__symbolic":"reference","name":"QueryButtonGroupDirective"},{"__symbolic":"reference","name":"QuerySwitchGroupDirective"},{"__symbolic":"reference","name":"QueryRemoveButtonDirective"},{"__symbolic":"reference","name":"QueryEmptyWarningDirective"},{"__symbolic":"reference","name":"QueryArrowIconDirective"}],"exports":[{"__symbolic":"reference","name":"QueryBuilderComponent"},{"__symbolic":"reference","name":"QueryInputDirective"},{"__symbolic":"reference","name":"QueryOperatorDirective"},{"__symbolic":"reference","name":"QueryFieldDirective"},{"__symbolic":"reference","name":"QueryEntityDirective"},{"__symbolic":"reference","name":"QueryButtonGroupDirective"},{"__symbolic":"reference","name":"QuerySwitchGroupDirective"},{"__symbolic":"reference","name":"QueryRemoveButtonDirective"},{"__symbolic":"reference","name":"QueryEmptyWarningDirective"},{"__symbolic":"reference","name":"QueryArrowIconDirective"}]}]}],"members":{}}},"origins":{"RuleSet":"./lib/query-builder/query-builder.interfaces","Rule":"./lib/query-builder/query-builder.interfaces","Option":"./lib/query-builder/query-builder.interfaces","FieldMap":"./lib/query-builder/query-builder.interfaces","Field":"./lib/query-builder/query-builder.interfaces","LocalRuleMeta":"./lib/query-builder/query-builder.interfaces","EntityMap":"./lib/query-builder/query-builder.interfaces","Entity":"./lib/query-builder/query-builder.interfaces","QueryBuilderClassNames":"./lib/query-builder/query-builder.interfaces","QueryBuilderConfig":"./lib/query-builder/query-builder.interfaces","SwitchGroupContext":"./lib/query-builder/query-builder.interfaces","EmptyWarningContext":"./lib/query-builder/query-builder.interfaces","ArrowIconContext":"./lib/query-builder/query-builder.interfaces","EntityContext":"./lib/query-builder/query-builder.interfaces","FieldContext":"./lib/query-builder/query-builder.interfaces","OperatorContext":"./lib/query-builder/query-builder.interfaces","InputContext":"./lib/query-builder/query-builder.interfaces","ButtonGroupContext":"./lib/query-builder/query-builder.interfaces","RemoveButtonContext":"./lib/query-builder/query-builder.interfaces","CONTROL_VALUE_ACCESSOR":"./lib/query-builder/query-builder.component","VALIDATOR":"./lib/query-builder/query-builder.component","QueryBuilderComponent":"./lib/query-builder/query-builder.component","QueryButtonGroupDirective":"./lib/query-builder/query-button-group.directive","QueryEntityDirective":"./lib/query-builder/query-entity.directive","QueryFieldDirective":"./lib/query-builder/query-field.directive","QueryInputDirective":"./lib/query-builder/query-input.directive","QueryOperatorDirective":"./lib/query-builder/query-operator.directive","QuerySwitchGroupDirective":"./lib/query-builder/query-switch-group.directive","QueryRemoveButtonDirective":"./lib/query-builder/query-remove-button.directive","QueryEmptyWarningDirective":"./lib/query-builder/query-empty-warning.directive","QueryArrowIconDirective":"./lib/query-builder/query-arrow-icon.directive","QueryBuilderModule":"./lib/angular2-query-builder.module"},"importAs":"angular2-query-builder"}