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
JavaScript
/**
* @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==