UNPKG

moh-common-lib

Version:

A library of Angular components, services, and styles for B.C. Government Ministry of Health (MoH).

102 lines 7.16 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input, Optional, Self } from '@angular/core'; import { NgControl } from '@angular/forms'; import { Base } from '../../models/base'; export class DropdownComponent extends Base { /** * @param {?} controlDir */ constructor(controlDir) { super(); this.controlDir = controlDir; this.items = []; this.label = 'Default label'; this.addTag = false; this.addTagText = 'Add'; this.clearable = true; this._onChange = (/** * @param {?} _ * @return {?} */ (_) => { }); this._onTouched = (/** * @return {?} */ () => { }); if (controlDir) { controlDir.valueAccessor = this; } } /** * @param {?} value * @return {?} */ writeValue(value) { this.model = value; } /** * @param {?} fn * @return {?} */ registerOnChange(fn) { this._onChange = fn; } /** * @param {?} fn * @return {?} */ registerOnTouched(fn) { this._onTouched = fn; } } DropdownComponent.decorators = [ { type: Component, args: [{ selector: 'common-dropdown', template: "\r\n<label for=\"{{label}}_{{objectId}}\" class=\"control-label\">{{label}}</label>\r\n\r\n<ng-select name='{{label}}_{{objectId}}'\r\n labelForId='{{label}}_{{objectId}}'\r\n [ngModel]='model'\r\n (ngModelChange)='model=$event;'\r\n [items]='items'\r\n placeholder='{{ placeholder }}'\r\n autoCorrect='{{ autocorrect }}'\r\n [addTag]='addTag'\r\n addTagText='Add question'\r\n [required]='required'\r\n (change)='_onChange($event)'\r\n (blur)='_onTouched()'\r\n [clearable]='clearable'\r\n (close)='_onTouched()'></ng-select>\r\n\r\n<common-error-container\r\n [displayError]=\"controlDir && (controlDir.touched || controlDir.dirty) && controlDir?.errors\">\r\n <div *ngIf=\"controlDir?.errors?.required\">{{label}} is required.</div>\r\n</common-error-container>\r\n", styles: [""] }] } ]; /** @nocollapse */ DropdownComponent.ctorParameters = () => [ { type: NgControl, decorators: [{ type: Optional }, { type: Self }] } ]; DropdownComponent.propDecorators = { items: [{ type: Input }], label: [{ type: Input }], placeholder: [{ type: Input }], autocorrect: [{ type: Input }], addTag: [{ type: Input }], addTagText: [{ type: Input }], required: [{ type: Input }], clearable: [{ type: Input }] }; if (false) { /** @type {?} */ DropdownComponent.prototype.model; /** @type {?} */ DropdownComponent.prototype.items; /** @type {?} */ DropdownComponent.prototype.label; /** @type {?} */ DropdownComponent.prototype.placeholder; /** @type {?} */ DropdownComponent.prototype.autocorrect; /** @type {?} */ DropdownComponent.prototype.addTag; /** @type {?} */ DropdownComponent.prototype.addTagText; /** @type {?} */ DropdownComponent.prototype.required; /** @type {?} */ DropdownComponent.prototype.clearable; /** @type {?} */ DropdownComponent.prototype._onChange; /** @type {?} */ DropdownComponent.prototype._onTouched; /** @type {?} */ DropdownComponent.prototype.controlDir; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbW9oLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakUsT0FBTyxFQUF3QixTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFPekMsTUFBTSxPQUFPLGlCQUFrQixTQUFRLElBQUk7Ozs7SUFlekMsWUFBd0MsVUFBcUI7UUFDM0QsS0FBSyxFQUFFLENBQUM7UUFEOEIsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQVpwRCxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gsVUFBSyxHQUFXLGVBQWUsQ0FBQztRQUdoQyxXQUFNLEdBQVksS0FBSyxDQUFDO1FBQ3hCLGVBQVUsR0FBVyxLQUFLLENBQUM7UUFFM0IsY0FBUyxHQUFZLElBQUksQ0FBQztRQUU1QixjQUFTOzs7O1FBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxHQUFFLENBQUMsRUFBQztRQUMzQixlQUFVOzs7UUFBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLEVBQUM7UUFJM0IsSUFBSyxVQUFVLEVBQUc7WUFDaEIsVUFBVSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7U0FDakM7SUFDSCxDQUFDOzs7OztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLENBQUM7Ozs7O0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDOzs7OztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7O1lBckNGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2dCQUMzQixpNUJBQXdDOzthQUV6Qzs7OztZQVA4QixTQUFTLHVCQXVCeEIsUUFBUSxZQUFJLElBQUk7OztvQkFaN0IsS0FBSztvQkFDTCxLQUFLOzBCQUNMLEtBQUs7MEJBQ0wsS0FBSztxQkFDTCxLQUFLO3lCQUNMLEtBQUs7dUJBQ0wsS0FBSzt3QkFDTCxLQUFLOzs7O0lBVE4sa0NBQWtCOztJQUVsQixrQ0FBb0I7O0lBQ3BCLGtDQUF5Qzs7SUFDekMsd0NBQTZCOztJQUM3Qix3Q0FBNkI7O0lBQzdCLG1DQUFpQzs7SUFDakMsdUNBQW9DOztJQUNwQyxxQ0FBMkI7O0lBQzNCLHNDQUFtQzs7SUFFbkMsc0NBQWtDOztJQUNsQyx1Q0FBNkI7O0lBRWhCLHVDQUFnRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9wdGlvbmFsLCBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEJhc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvYmFzZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvbW1vbi1kcm9wZG93bicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkNvbXBvbmVudCBleHRlbmRzIEJhc2UgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgcHVibGljIG1vZGVsOiBhbnk7XHJcblxyXG4gIEBJbnB1dCgpIGl0ZW1zID0gW107XHJcbiAgQElucHV0KCkgbGFiZWw6IHN0cmluZyA9ICdEZWZhdWx0IGxhYmVsJztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGF1dG9jb3JyZWN0OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgYWRkVGFnOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYWRkVGFnVGV4dDogc3RyaW5nID0gJ0FkZCc7XHJcbiAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgY2xlYXJhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgcHVibGljIF9vbkNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xyXG4gIHB1YmxpYyBfb25Ub3VjaGVkID0gKCkgPT4ge307XHJcblxyXG4gIGNvbnN0cnVjdG9yKCBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBjb250cm9sRGlyOiBOZ0NvbnRyb2wgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgaWYgKCBjb250cm9sRGlyICkge1xyXG4gICAgICBjb250cm9sRGlyLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm1vZGVsID0gdmFsdWU7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuX29uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl9vblRvdWNoZWQgPSBmbjtcclxuICB9XHJcblxyXG59XHJcbiJdfQ==