@fdot/angular-dotcodes
Version:
`npm install @fdot/angular-dotcodes --save`
134 lines (133 loc) • 10.3 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { Config } from './../models/config';
import { AngularDotcodesService } from './../angular-dotcodes.service';
import { Component, Input, EventEmitter, Output, Inject } from '@angular/core';
export class DotcodesSelectComponent {
/**
* @param {?} dotCodeService
* @param {?} config
*/
constructor(dotCodeService, config) {
this.dotCodeService = dotCodeService;
this.config = config;
this.selectedDotcode = new EventEmitter();
}
/**
* @param {?} value
* @return {?}
*/
set value(value) {
this._value = value;
this.setSelectedCode();
}
/**
* @return {?}
*/
get value() {
return this._value;
}
/**
* @return {?}
*/
ngOnInit() {
// tslint:disable-next-line:triple-equals
if (!(this.useDefaultSelect === false || /** @type {?} */ (this.useDefaultSelect) === 'false')
&& this.config != null && this.config.useDefaultSelect) {
this.useDefaultSelect = true;
}
else {
this.useDefaultSelect = false;
}
if (!this.defaultSelectText && this.config != null && this.config.defaultSelectText) {
this.defaultSelectText = this.config.defaultSelectText;
}
this.dotCodeService.GetCodes(this.column).subscribe(codes => {
this.codes = codes;
this.setSelectedCode();
});
}
/**
* @return {?}
*/
setSelectedCode() {
if (!this.codes) {
return;
}
if (this.value) {
const /** @type {?} */ code = this.codes.find(c => c.value === this.value);
if (code) {
this.selectedCode = code;
this.codeChanged();
}
}
}
/**
* @return {?}
*/
codeChanged() {
this.selectedDotcode.emit(this.selectedCode);
}
}
DotcodesSelectComponent.decorators = [
{ type: Component, args: [{
selector: 'fdot-dotcodes-select',
template: `<select [(ngModel)]="selectedCode" (change)="codeChanged()" class="form-control" [disabled]="disabled">
<option *ngIf="useDefaultSelect" value="">
{{defaultSelectText}}
</option>
<option *ngFor="let code of codes" [ngValue]="code">
{{code.description}}
</option>
</select>
`,
styles: [``]
},] },
];
/** @nocollapse */
DotcodesSelectComponent.ctorParameters = () => [
{ type: AngularDotcodesService, },
{ type: Config, decorators: [{ type: Inject, args: ['config',] },] },
];
DotcodesSelectComponent.propDecorators = {
"column": [{ type: Input },],
"value": [{ type: Input },],
"disabled": [{ type: Input },],
"selectedDotcode": [{ type: Output },],
"useDefaultSelect": [{ type: Input },],
"defaultSelectText": [{ type: Input },],
};
function DotcodesSelectComponent_tsickle_Closure_declarations() {
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
DotcodesSelectComponent.decorators;
/**
* @nocollapse
* @type {function(): !Array<(null|{type: ?, decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>)})>}
*/
DotcodesSelectComponent.ctorParameters;
/** @type {!Object<string,!Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
DotcodesSelectComponent.propDecorators;
/** @type {?} */
DotcodesSelectComponent.prototype._value;
/** @type {?} */
DotcodesSelectComponent.prototype.codes;
/** @type {?} */
DotcodesSelectComponent.prototype.column;
/** @type {?} */
DotcodesSelectComponent.prototype.disabled;
/** @type {?} */
DotcodesSelectComponent.prototype.selectedDotcode;
/** @type {?} */
DotcodesSelectComponent.prototype.selectedCode;
/** @type {?} */
DotcodesSelectComponent.prototype.useDefaultSelect;
/** @type {?} */
DotcodesSelectComponent.prototype.defaultSelectText;
/** @type {?} */
DotcodesSelectComponent.prototype.dotCodeService;
/** @type {?} */
DotcodesSelectComponent.prototype.config;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG90Y29kZXMtc2VsZWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BmZG90L2FuZ3VsYXItZG90Y29kZXMvIiwic291cmNlcyI6WyJsaWIvZG90Y29kZXMtc2VsZWN0L2RvdGNvZGVzLXNlbGVjdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUV2RSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFZLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQWVqRyxNQUFNOzs7OztJQThCSixZQUFvQixjQUFzQyxFQUE0QjtRQUFsRSxtQkFBYyxHQUFkLGNBQWMsQ0FBd0I7UUFBNEIsV0FBTSxHQUFOLE1BQU07K0JBUjFFLElBQUksWUFBWSxFQUFXO0tBUzVDOzs7OztRQXRCRyxLQUFLLENBQUMsS0FBSztRQUNiLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQzs7Ozs7SUFHekIsSUFBSSxLQUFLO1FBQ1AsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7S0FDcEI7Ozs7SUFpQkQsUUFBUTs7UUFHTixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixLQUFLLEtBQUssc0JBQVMsSUFBSSxDQUFDLGdCQUFnQixNQUFLLE9BQU8sQ0FBQztlQUMzRSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1NBQzlCO1FBQUMsSUFBSSxDQUFDLENBQUM7WUFDTixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFDO1NBQy9CO1FBQ0QsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7WUFDcEYsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUM7U0FDeEQ7UUFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzFELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1lBRW5CLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztTQUN4QixDQUFDLENBQUM7S0FDSjs7OztJQUVPLGVBQWU7UUFDckIsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNoQixNQUFNLENBQUM7U0FDUjtRQUNELEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ2YsdUJBQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFMUQsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztnQkFDVCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztnQkFDekIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ3BCO1NBQ0Y7Ozs7O0lBR0ksV0FBVztRQUNoQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7Ozs7WUFoRmhELFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxRQUFRLEVBQUU7Ozs7Ozs7O0NBUVg7Z0JBQ0MsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO2FBQ2I7Ozs7WUFoQlEsc0JBQXNCO1lBRHRCLE1BQU0sdUJBZ0RnRCxNQUFNLFNBQUMsUUFBUTs7O3VCQXpCM0UsS0FBSztzQkFHTCxLQUFLO3lCQVVMLEtBQUs7Z0NBR0wsTUFBTTtpQ0FJTixLQUFLO2tDQUVMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb25maWcgfSBmcm9tICcuLy4uL21vZGVscy9jb25maWcnO1xyXG5pbXBvcnQgeyBBbmd1bGFyRG90Y29kZXNTZXJ2aWNlIH0gZnJvbSAnLi8uLi9hbmd1bGFyLWRvdGNvZGVzLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBEb3RDb2RlIH0gZnJvbSAnLi8uLi9tb2RlbHMvZG90Y29kZS5tb2RlbCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgRXZlbnRFbWl0dGVyLCBPdXRwdXQsIE9wdGlvbmFsLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZmRvdC1kb3Rjb2Rlcy1zZWxlY3QnLFxyXG4gIHRlbXBsYXRlOiBgPHNlbGVjdCBbKG5nTW9kZWwpXT1cInNlbGVjdGVkQ29kZVwiIChjaGFuZ2UpPVwiY29kZUNoYW5nZWQoKVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XHJcbiAgPG9wdGlvbiAqbmdJZj1cInVzZURlZmF1bHRTZWxlY3RcIiB2YWx1ZT1cIlwiPlxyXG4gICAge3tkZWZhdWx0U2VsZWN0VGV4dH19XHJcbiAgPC9vcHRpb24+XHJcbiAgPG9wdGlvbiAqbmdGb3I9XCJsZXQgY29kZSBvZiBjb2Rlc1wiIFtuZ1ZhbHVlXT1cImNvZGVcIj5cclxuICAgIHt7Y29kZS5kZXNjcmlwdGlvbn19XHJcbiAgPC9vcHRpb24+XHJcbjwvc2VsZWN0PlxyXG5gLFxyXG4gIHN0eWxlczogW2BgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRG90Y29kZXNTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBwcml2YXRlIF92YWx1ZTogc3RyaW5nO1xyXG4gIGNvZGVzOiBEb3RDb2RlW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgY29sdW1uOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZhbHVlKHZhbHVlKSB7XHJcbiAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5zZXRTZWxlY3RlZENvZGUoKTtcclxuICB9XHJcblxyXG4gIGdldCB2YWx1ZSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBkaXNhYmxlZD86IGJvb2xlYW47XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHNlbGVjdGVkRG90Y29kZSA9IG5ldyBFdmVudEVtaXR0ZXI8RG90Q29kZT4oKTtcclxuICBzZWxlY3RlZENvZGU6IERvdENvZGU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgdXNlRGVmYXVsdFNlbGVjdD86IGJvb2xlYW47XHJcbiAgQElucHV0KClcclxuICBkZWZhdWx0U2VsZWN0VGV4dD86IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBkb3RDb2RlU2VydmljZTogQW5ndWxhckRvdGNvZGVzU2VydmljZSwgQEluamVjdCgnY29uZmlnJykgcHJpdmF0ZSBjb25maWc6IENvbmZpZykge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcblxyXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOnRyaXBsZS1lcXVhbHNcclxuICAgIGlmICghKHRoaXMudXNlRGVmYXVsdFNlbGVjdCA9PT0gZmFsc2UgfHwgPGFueT50aGlzLnVzZURlZmF1bHRTZWxlY3QgPT09ICdmYWxzZScpXHJcbiAgICAgICYmIHRoaXMuY29uZmlnICE9IG51bGwgJiYgdGhpcy5jb25maWcudXNlRGVmYXVsdFNlbGVjdCkge1xyXG4gICAgICB0aGlzLnVzZURlZmF1bHRTZWxlY3QgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy51c2VEZWZhdWx0U2VsZWN0ID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuZGVmYXVsdFNlbGVjdFRleHQgJiYgdGhpcy5jb25maWcgIT0gbnVsbCAmJiB0aGlzLmNvbmZpZy5kZWZhdWx0U2VsZWN0VGV4dCkge1xyXG4gICAgICB0aGlzLmRlZmF1bHRTZWxlY3RUZXh0ID0gdGhpcy5jb25maWcuZGVmYXVsdFNlbGVjdFRleHQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRvdENvZGVTZXJ2aWNlLkdldENvZGVzKHRoaXMuY29sdW1uKS5zdWJzY3JpYmUoY29kZXMgPT4ge1xyXG4gICAgICB0aGlzLmNvZGVzID0gY29kZXM7XHJcblxyXG4gICAgICB0aGlzLnNldFNlbGVjdGVkQ29kZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFNlbGVjdGVkQ29kZSgpIHtcclxuICAgIGlmICghdGhpcy5jb2Rlcykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy52YWx1ZSkge1xyXG4gICAgICBjb25zdCBjb2RlID0gdGhpcy5jb2Rlcy5maW5kKGMgPT4gYy52YWx1ZSA9PT0gdGhpcy52YWx1ZSk7XHJcblxyXG4gICAgICBpZiAoY29kZSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRDb2RlID0gY29kZTtcclxuICAgICAgICB0aGlzLmNvZGVDaGFuZ2VkKCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjb2RlQ2hhbmdlZCgpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWREb3Rjb2RlLmVtaXQodGhpcy5zZWxlY3RlZENvZGUpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19