[{"__symbolic":"module","version":3,"metadata":{"DEFAULT_INPUTS_O_COMBO":[{"__symbolic":"spread","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"../o-form-service-component.class","name":"OFormServiceComponent"},"member":"DEFAULT_INPUTS_O_FORM_SERVICE_COMPONENT"}},"translate","nullSelection: null-selection"],"DEFAULT_OUTPUTS_O_COMBO":["onChange"],"OComboComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../o-form-service-component.class","name":"OFormServiceComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"o-combo","providers":[{"provide":{"__symbolic":"reference","module":"../../services","name":"OntimizeService"},"useFactory":{"__symbolic":"reference","module":"../../services/data-service.provider","name":"dataServiceFactory"},"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector"}]}],"inputs":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"DEFAULT_INPUTS_O_COMBO"}}],"outputs":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"DEFAULT_OUTPUTS_O_COMBO"}}],"template":"\n    <div [formGroup]=\"getFormGroup()\" class=\"mat-combo-container custom-error\" [mdTooltip]=\"tooltip\" [mdTooltipPosition]=\"tooltipPosition\"\n        [mdTooltipShowDelay]=\"tooltipShowDelay\">\n        <md-select #selectModel [class.visible]=\"!isReadOnly\" [class.hidden]=\"isReadOnly\" class=\"mat-combo\" [attr.id]=\"getAttribute()\"\n            [id]=\"getAttribute()\" fxFill [formControlName]=\"getAttribute()\" [placeholder]=\"placeHolder\" [ngModel]=\"getValue()\" (ngModelChange)=\"innerOnChange($event)\">\n            <md-option *ngIf=\"hasNullSelection()\" value selected></md-option>\n            <md-option *ngFor=\"let item of getDataArray(); let rowIndex = index\" [value]=\"getValueColumn(item)\">\n                {{ getOptionDescriptionValue(item) }}\n            </md-option>\n        </md-select>\n        <md-hint *ngIf=\"hasError('required')\">\n            <span>{{ 'FORM_VALIDATION.REQUIRED' | oTranslate }}</span>\n        </md-hint>\n\n        <md-form-field #innerInputContainer [class.visible]=\"isReadOnly\" [class.hidden]=\"!isReadOnly\" fxFlex fxFill>\n            <input mdInput class=\"mat-input\" type=\"text\" [attr.id]=\"'fake_' + getAttribute()\" [id]=\"'fake_' + getAttribute()\" fxFill\n                [class.ng-untouched]=\"getFormControl() && getFormControl().untouched\" [class.ng-touched]=\"getFormControl() && getFormControl().touched\"\n                [class.ng-dirty]=\"getFormControl() && getFormControl().dirty\" [class.ng-pristine]=\"getFormControl() && getFormControl().pristine\"\n                [class.ng-invalid]=\"getFormControl() && !getFormControl().valid\" [class.ng-valid]=\"getFormControl() && getFormControl().valid\"\n                [placeholder]=\"placeHolder\" [value]=\"getDescriptionValue()\" [readonly]=\"isReadOnly\" [disabled]=\"isDisabled\">\n            <md-hint *ngIf=\"hasError('required')\">\n                <span>{{ 'FORM_VALIDATION.REQUIRED' | oTranslate }}</span>\n            </md-hint>\n        </md-form-field>\n\n    </div>\n  ","styles":["\n    .hidden{display:none !important}.visible{display:inline-block}.mat-combo-container{position:relative}.mat-combo-container .mat-hint{display:block;position:absolute;font-size:75%;bottom:-1.5em}.mat-combo-container md-select.mat-combo{padding-top:0px}.mat-combo-container md-select.mat-combo .mat-select-trigger{margin:22px 0 0px 0px;height:24px}.mat-combo-container md-select.mat-combo .mat-select-trigger .mat-select-placeholder.mat-floating-placeholder{left:0px;top:-20px}.mat-combo-container md-select.mat-combo .mat-select-trigger .mat-select-value{top:0px;left:0px}.mat-combo-container md-select:focus:not(.mat-select-disabled) .mat-select-trigger{border-bottom-width:2px}.mat-tooltip{margin:0px !important}\n  "],"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation"},"member":"None"}}]}],"members":{"translate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"../../decorators","name":"InputConverter"}}]}],"nullSelection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"../../decorators","name":"InputConverter"}}]}],"inputModel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild"},"arguments":["inputModel"]}]}],"selectModel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild"},"arguments":["selectModel"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","module":"../form/o-form.component","name":"OFormComponent"}]}],null,null],"parameters":[{"__symbolic":"reference","module":"../form/o-form.component","name":"OFormComponent"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"},{"__symbolic":"reference","module":"@angular/core","name":"Injector"}]}],"ngOnInit":[{"__symbolic":"method"}],"ensureOFormValue":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"hasNullSelection":[{"__symbolic":"method"}],"syncDataIndex":[{"__symbolic":"method"}],"getDescriptionValue":[{"__symbolic":"method"}],"getValue":[{"__symbolic":"method"}],"innerOnChange":[{"__symbolic":"method"}],"setValueOnChange":[{"__symbolic":"method"}],"getOptionDescriptionValue":[{"__symbolic":"method"}],"getValueColumn":[{"__symbolic":"method"}],"isSelected":[{"__symbolic":"method"}]},"statics":{"DEFAULT_INPUTS_O_COMBO":{"__symbolic":"reference","name":"DEFAULT_INPUTS_O_COMBO"},"DEFAULT_OUTPUTS_O_COMBO":{"__symbolic":"reference","name":"DEFAULT_OUTPUTS_O_COMBO"}}},"OComboModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"declarations":[{"__symbolic":"reference","name":"OComboComponent"}],"imports":[{"__symbolic":"reference","module":"../../shared","name":"OSharedModule"},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule"}],"exports":[{"__symbolic":"reference","name":"OComboComponent"}]}]}]}}},{"__symbolic":"module","version":1,"metadata":{"DEFAULT_INPUTS_O_COMBO":[{"__symbolic":"spread","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"../o-form-service-component.class","name":"OFormServiceComponent"},"member":"DEFAULT_INPUTS_O_FORM_SERVICE_COMPONENT"}},"translate","nullSelection: null-selection"],"DEFAULT_OUTPUTS_O_COMBO":["onChange"],"OComboComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"../o-form-service-component.class","name":"OFormServiceComponent"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component"},"arguments":[{"selector":"o-combo","providers":[{"provide":{"__symbolic":"reference","module":"../../services","name":"OntimizeService"},"useFactory":{"__symbolic":"reference","module":"../../services/data-service.provider","name":"dataServiceFactory"},"deps":[{"__symbolic":"reference","module":"@angular/core","name":"Injector"}]}],"inputs":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"DEFAULT_INPUTS_O_COMBO"}}],"outputs":[{"__symbolic":"spread","expression":{"__symbolic":"reference","name":"DEFAULT_OUTPUTS_O_COMBO"}}],"template":"\n    <div [formGroup]=\"getFormGroup()\" class=\"mat-combo-container custom-error\" [mdTooltip]=\"tooltip\" [mdTooltipPosition]=\"tooltipPosition\"\n        [mdTooltipShowDelay]=\"tooltipShowDelay\">\n        <md-select #selectModel [class.visible]=\"!isReadOnly\" [class.hidden]=\"isReadOnly\" class=\"mat-combo\" [attr.id]=\"getAttribute()\"\n            [id]=\"getAttribute()\" fxFill [formControlName]=\"getAttribute()\" [placeholder]=\"placeHolder\" [ngModel]=\"getValue()\" (ngModelChange)=\"innerOnChange($event)\">\n            <md-option *ngIf=\"hasNullSelection()\" value selected></md-option>\n            <md-option *ngFor=\"let item of getDataArray(); let rowIndex = index\" [value]=\"getValueColumn(item)\">\n                {{ getOptionDescriptionValue(item) }}\n            </md-option>\n        </md-select>\n        <md-hint *ngIf=\"hasError('required')\">\n            <span>{{ 'FORM_VALIDATION.REQUIRED' | oTranslate }}</span>\n        </md-hint>\n\n        <md-form-field #innerInputContainer [class.visible]=\"isReadOnly\" [class.hidden]=\"!isReadOnly\" fxFlex fxFill>\n            <input mdInput class=\"mat-input\" type=\"text\" [attr.id]=\"'fake_' + getAttribute()\" [id]=\"'fake_' + getAttribute()\" fxFill\n                [class.ng-untouched]=\"getFormControl() && getFormControl().untouched\" [class.ng-touched]=\"getFormControl() && getFormControl().touched\"\n                [class.ng-dirty]=\"getFormControl() && getFormControl().dirty\" [class.ng-pristine]=\"getFormControl() && getFormControl().pristine\"\n                [class.ng-invalid]=\"getFormControl() && !getFormControl().valid\" [class.ng-valid]=\"getFormControl() && getFormControl().valid\"\n                [placeholder]=\"placeHolder\" [value]=\"getDescriptionValue()\" [readonly]=\"isReadOnly\" [disabled]=\"isDisabled\">\n            <md-hint *ngIf=\"hasError('required')\">\n                <span>{{ 'FORM_VALIDATION.REQUIRED' | oTranslate }}</span>\n            </md-hint>\n        </md-form-field>\n\n    </div>\n  ","styles":["\n    .hidden{display:none !important}.visible{display:inline-block}.mat-combo-container{position:relative}.mat-combo-container .mat-hint{display:block;position:absolute;font-size:75%;bottom:-1.5em}.mat-combo-container md-select.mat-combo{padding-top:0px}.mat-combo-container md-select.mat-combo .mat-select-trigger{margin:22px 0 0px 0px;height:24px}.mat-combo-container md-select.mat-combo .mat-select-trigger .mat-select-placeholder.mat-floating-placeholder{left:0px;top:-20px}.mat-combo-container md-select.mat-combo .mat-select-trigger .mat-select-value{top:0px;left:0px}.mat-combo-container md-select:focus:not(.mat-select-disabled) .mat-select-trigger{border-bottom-width:2px}.mat-tooltip{margin:0px !important}\n  "],"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation"},"member":"None"}}]}],"members":{"translate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"../../decorators","name":"InputConverter"}}]}],"nullSelection":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"../../decorators","name":"InputConverter"}}]}],"inputModel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild"},"arguments":["inputModel"]}]}],"selectModel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild"},"arguments":["selectModel"]}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional"}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject"},"arguments":[{"__symbolic":"reference","module":"../form/o-form.component","name":"OFormComponent"}]}],null,null],"parameters":[{"__symbolic":"reference","module":"../form/o-form.component","name":"OFormComponent"},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef"},{"__symbolic":"reference","module":"@angular/core","name":"Injector"}]}],"ngOnInit":[{"__symbolic":"method"}],"ensureOFormValue":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"hasNullSelection":[{"__symbolic":"method"}],"syncDataIndex":[{"__symbolic":"method"}],"getDescriptionValue":[{"__symbolic":"method"}],"getValue":[{"__symbolic":"method"}],"innerOnChange":[{"__symbolic":"method"}],"setValueOnChange":[{"__symbolic":"method"}],"getOptionDescriptionValue":[{"__symbolic":"method"}],"getValueColumn":[{"__symbolic":"method"}],"isSelected":[{"__symbolic":"method"}]},"statics":{"DEFAULT_INPUTS_O_COMBO":{"__symbolic":"reference","name":"DEFAULT_INPUTS_O_COMBO"},"DEFAULT_OUTPUTS_O_COMBO":{"__symbolic":"reference","name":"DEFAULT_OUTPUTS_O_COMBO"}}},"OComboModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule"},"arguments":[{"declarations":[{"__symbolic":"reference","name":"OComboComponent"}],"imports":[{"__symbolic":"reference","module":"../../shared","name":"OSharedModule"},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule"}],"exports":[{"__symbolic":"reference","name":"OComboComponent"}]}]}]}}}]