moh-common-lib
Version:
A library of Angular components, services, and styles for B.C. Government Ministry of Health (MoH).
116 lines • 7.85 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Component, Input, Optional, Self } from '@angular/core';
import { NgControl } from '@angular/forms';
import { Base } from '../../models/base';
var DropdownComponent = /** @class */ (function (_super) {
tslib_1.__extends(DropdownComponent, _super);
function DropdownComponent(controlDir) {
var _this = _super.call(this) || this;
_this.controlDir = controlDir;
_this.items = [];
_this.label = 'Default label';
_this.addTag = false;
_this.addTagText = 'Add';
_this.clearable = true;
_this._onChange = (/**
* @param {?} _
* @return {?}
*/
function (_) { });
_this._onTouched = (/**
* @return {?}
*/
function () { });
if (controlDir) {
controlDir.valueAccessor = _this;
}
return _this;
}
/**
* @param {?} value
* @return {?}
*/
DropdownComponent.prototype.writeValue = /**
* @param {?} value
* @return {?}
*/
function (value) {
this.model = value;
};
/**
* @param {?} fn
* @return {?}
*/
DropdownComponent.prototype.registerOnChange = /**
* @param {?} fn
* @return {?}
*/
function (fn) {
this._onChange = fn;
};
/**
* @param {?} fn
* @return {?}
*/
DropdownComponent.prototype.registerOnTouched = /**
* @param {?} fn
* @return {?}
*/
function (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 = function () { return [
{ 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 }]
};
return DropdownComponent;
}(Base));
export { DropdownComponent };
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbW9oLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pFLE9BQU8sRUFBd0IsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXpDO0lBS3VDLDZDQUFJO0lBZXpDLDJCQUF3QyxVQUFxQjtRQUE3RCxZQUNFLGlCQUFPLFNBSVI7UUFMdUMsZ0JBQVUsR0FBVixVQUFVLENBQVc7UUFacEQsV0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLFdBQUssR0FBVyxlQUFlLENBQUM7UUFHaEMsWUFBTSxHQUFZLEtBQUssQ0FBQztRQUN4QixnQkFBVSxHQUFXLEtBQUssQ0FBQztRQUUzQixlQUFTLEdBQVksSUFBSSxDQUFDO1FBRTVCLGVBQVM7Ozs7UUFBRyxVQUFDLENBQU0sSUFBTSxDQUFDLEVBQUM7UUFDM0IsZ0JBQVU7OztRQUFHLGNBQU8sQ0FBQyxFQUFDO1FBSTNCLElBQUssVUFBVSxFQUFHO1lBQ2hCLFVBQVUsQ0FBQyxhQUFhLEdBQUcsS0FBSSxDQUFDO1NBQ2pDOztJQUNILENBQUM7Ozs7O0lBRUQsc0NBQVU7Ozs7SUFBVixVQUFXLEtBQVU7UUFDbkIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7SUFDckIsQ0FBQzs7Ozs7SUFFRCw0Q0FBZ0I7Ozs7SUFBaEIsVUFBaUIsRUFBTztRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDOzs7OztJQUVELDZDQUFpQjs7OztJQUFqQixVQUFrQixFQUFPO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3ZCLENBQUM7O2dCQXJDRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsaTVCQUF3Qzs7aUJBRXpDOzs7O2dCQVA4QixTQUFTLHVCQXVCeEIsUUFBUSxZQUFJLElBQUk7Ozt3QkFaN0IsS0FBSzt3QkFDTCxLQUFLOzhCQUNMLEtBQUs7OEJBQ0wsS0FBSzt5QkFDTCxLQUFLOzZCQUNMLEtBQUs7MkJBQ0wsS0FBSzs0QkFDTCxLQUFLOztJQXdCUix3QkFBQztDQUFBLEFBdkNELENBS3VDLElBQUksR0FrQzFDO1NBbENZLGlCQUFpQjs7O0lBQzVCLGtDQUFrQjs7SUFFbEIsa0NBQW9COztJQUNwQixrQ0FBeUM7O0lBQ3pDLHdDQUE2Qjs7SUFDN0Isd0NBQTZCOztJQUM3QixtQ0FBaUM7O0lBQ2pDLHVDQUFvQzs7SUFDcEMscUNBQTJCOztJQUMzQixzQ0FBbUM7O0lBRW5DLHNDQUFrQzs7SUFDbEMsdUNBQTZCOztJQUVoQix1Q0FBZ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPcHRpb25hbCwgU2VsZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTmdDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBCYXNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Jhc2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjb21tb24tZHJvcGRvd24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJvcGRvd25Db21wb25lbnQgZXh0ZW5kcyBCYXNlIGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIHB1YmxpYyBtb2RlbDogYW55O1xyXG5cclxuICBASW5wdXQoKSBpdGVtcyA9IFtdO1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnRGVmYXVsdCBsYWJlbCc7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZztcclxuICBASW5wdXQoKSBhdXRvY29ycmVjdDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGFkZFRhZzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGFkZFRhZ1RleHQ6IHN0cmluZyA9ICdBZGQnO1xyXG4gIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGNsZWFyYWJsZTogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIHB1YmxpYyBfb25DaGFuZ2UgPSAoXzogYW55KSA9PiB7fTtcclxuICBwdWJsaWMgX29uVG91Y2hlZCA9ICgpID0+IHt9O1xyXG5cclxuICBjb25zdHJ1Y3RvciggQE9wdGlvbmFsKCkgQFNlbGYoKSBwdWJsaWMgY29udHJvbERpcjogTmdDb250cm9sICkge1xyXG4gICAgc3VwZXIoKTtcclxuICAgIGlmICggY29udHJvbERpciApIHtcclxuICAgICAgY29udHJvbERpci52YWx1ZUFjY2Vzc29yID0gdGhpcztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5tb2RlbCA9IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fb25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxufVxyXG4iXX0=