UNPKG

moh-common-lib

Version:

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

135 lines 10.1 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Component, Input, Output, EventEmitter, ViewChild, ElementRef, forwardRef } from '@angular/core'; import { ControlContainer, NgForm, NG_VALUE_ACCESSOR } from '@angular/forms'; /** * BUTTONGROUPCOMPONENT IS **DEPRECATED**! **DO NOT USE** UNLESS YOU KNOW WHAT YOU'RE * DOING. * * If you need a Yes/No toggle, \@see RadioComponent * @deprecated * * * * * \@example * <common-button-group [showError]="showError" * [errorMessageRequired]="requiredErrMsg" * label="Please select a value" * [data]="data.value" (dataChange)="setMovedToBCPermanently($event)" > * </common-button-group> * * @export */ export class ButtonGroupComponent { constructor() { this.required = true; this.showError = false; this.disabled = false; this.errorMessageRequired = 'Field is required.'; this.label = 'Default Checkbox'; this.dataChange = new EventEmitter(); this._onChange = (/** * @param {?} _ * @return {?} */ (_) => { }); this._onTouched = (/** * @return {?} */ () => { }); } /** * @param {?} val * @return {?} */ setButtonGrpVal(val) { this.dataChange.emit(val); this._onChange(val); this._onTouched(); } /** * @return {?} */ focus() { this.buttonGroup.nativeElement.focus(); this._onTouched(); } /** * @param {?} fn * @return {?} */ registerOnChange(fn) { this._onChange = fn; } /** * @param {?} fn * @return {?} */ registerOnTouched(fn) { this._onTouched = fn; } /** * @param {?} value * @return {?} */ writeValue(value) { this.data = value; } } ButtonGroupComponent.decorators = [ { type: Component, args: [{ selector: 'common-button-group', template: "<div role=\"dialog\" aria-labelledby=\"btn\">\r\n <p id=\"btn\" class=\"control-label\">{{label}}</p>\r\n <div class=\"btn-group\" role=\"group\">\r\n <button #buttonGroup *ngFor='let answer of [{\"value\": true, \"label\": \"Yes\"}, {\"value\": false, \"label\": \"No\"}]'\r\n [class.btn-radio]=\"data === answer.value\" (click)=\"setButtonGrpVal(answer.value)\" \r\n type=\"button\" class=\"btn btn-default control-label\"> {{answer.label}} \r\n </button>\r\n </div>\r\n <div *ngIf='showError && (data === undefined || data === null)'>\r\n <div class=\"text-danger\">{{errorMessageRequired}}</div>\r\n </div>\r\n</div>\r\n", viewProviders: [ { provide: ControlContainer, useExisting: forwardRef((/** * @return {?} */ () => NgForm)) } ], providers: [ { provide: NG_VALUE_ACCESSOR, multi: true, useExisting: forwardRef((/** * @return {?} */ () => ButtonGroupComponent)) } ], styles: [".btn-radio,.btn-radio:hover,.btn-radio:not(:hover){background:#2962ff;color:#fff}.btn-radio::-moz-selection{background:#2962ff}.btn-radio::selection{background:#2962ff}.btn-radio:active{background:#2962ff}"] }] } ]; /** @nocollapse */ ButtonGroupComponent.ctorParameters = () => []; ButtonGroupComponent.propDecorators = { data: [{ type: Input }], required: [{ type: Input }], showError: [{ type: Input }], disabled: [{ type: Input }], errorMessageRequired: [{ type: Input }], label: [{ type: Input }], dataChange: [{ type: Output }], buttonGroup: [{ type: ViewChild, args: ['buttonGroup',] }] }; if (false) { /** @type {?} */ ButtonGroupComponent.prototype.data; /** @type {?} */ ButtonGroupComponent.prototype.required; /** @type {?} */ ButtonGroupComponent.prototype.showError; /** @type {?} */ ButtonGroupComponent.prototype.disabled; /** @type {?} */ ButtonGroupComponent.prototype.errorMessageRequired; /** @type {?} */ ButtonGroupComponent.prototype.label; /** @type {?} */ ButtonGroupComponent.prototype.dataChange; /** @type {?} */ ButtonGroupComponent.prototype.buttonGroup; /** @type {?} */ ButtonGroupComponent.prototype._onChange; /** @type {?} */ ButtonGroupComponent.prototype._onTouched; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL21vaC1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwL2J1dHRvbi1ncm91cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFFLGdCQUFnQixFQUF3QixNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFrQ25HLE1BQU0sT0FBTyxvQkFBb0I7SUFjL0I7UUFYUyxhQUFRLEdBQVksSUFBSSxDQUFDO1FBQ3pCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsYUFBUSxHQUFZLEtBQUssQ0FBQztRQUMxQix5QkFBb0IsR0FBVyxvQkFBb0IsQ0FBQztRQUNwRCxVQUFLLEdBQVcsa0JBQWtCLENBQUM7UUFDbEMsZUFBVSxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBR25FLGNBQVM7Ozs7UUFBRyxDQUFDLENBQU0sRUFBRSxFQUFFLEdBQUUsQ0FBQyxFQUFDO1FBQzNCLGVBQVU7OztRQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsRUFBQztJQUVkLENBQUM7Ozs7O0lBRWhCLGVBQWUsQ0FBQyxHQUFRO1FBQ3RCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7Ozs7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7Ozs7O0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDOzs7OztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDdkIsQ0FBQzs7Ozs7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztJQUNwQixDQUFDOzs7WUFoREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxxQkFBcUI7Z0JBQy9CLG9wQkFBNEM7Z0JBRTVDLGFBQWEsRUFBRTtvQkFDYixFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsVUFBVTs7O3dCQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sRUFBRSxFQUFFO2lCQUN0RTtnQkFDRCxTQUFTLEVBQUU7b0JBQ1QsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsVUFBVTs7O3dCQUFDLEdBQUcsRUFBRSxDQUFDLG9CQUFvQixFQUFFLEVBQUM7aUJBQ2pHOzthQUNGOzs7OzttQkFHRSxLQUFLO3VCQUNMLEtBQUs7d0JBQ0wsS0FBSzt1QkFDTCxLQUFLO21DQUNMLEtBQUs7b0JBQ0wsS0FBSzt5QkFDTCxNQUFNOzBCQUNOLFNBQVMsU0FBQyxhQUFhOzs7O0lBUHhCLG9DQUF1Qjs7SUFDdkIsd0NBQWtDOztJQUNsQyx5Q0FBb0M7O0lBQ3BDLHdDQUFtQzs7SUFDbkMsb0RBQTZEOztJQUM3RCxxQ0FBNEM7O0lBQzVDLDBDQUEwRTs7SUFDMUUsMkNBQWtEOztJQUVsRCx5Q0FBa0M7O0lBQ2xDLDBDQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nRm9ybSwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG4vKipcclxuICogQlVUVE9OR1JPVVBDT01QT05FTlQgSVMgKipERVBSRUNBVEVEKiohICAqKkRPIE5PVCBVU0UqKiBVTkxFU1MgWU9VIEtOT1cgV0hBVCBZT1UnUkVcclxuICogRE9JTkcuXHJcbiAqXHJcbiAqIElmIHlvdSBuZWVkIGEgWWVzL05vIHRvZ2dsZSwgQHNlZSBSYWRpb0NvbXBvbmVudFxyXG4gKiBAZGVwcmVjYXRlZFxyXG4gKlxyXG4gKlxyXG4gKlxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiAgICAgICA8Y29tbW9uLWJ1dHRvbi1ncm91cCBbc2hvd0Vycm9yXT1cInNob3dFcnJvclwiXHJcbiAqICAgICAgICAgIFtlcnJvck1lc3NhZ2VSZXF1aXJlZF09XCJyZXF1aXJlZEVyck1zZ1wiXHJcbiAqICAgICAgICAgIGxhYmVsPVwiUGxlYXNlIHNlbGVjdCBhIHZhbHVlXCJcclxuICogICAgICAgICAgW2RhdGFdPVwiZGF0YS52YWx1ZVwiIChkYXRhQ2hhbmdlKT1cInNldE1vdmVkVG9CQ1Blcm1hbmVudGx5KCRldmVudClcIiA+XHJcbiAqICAgICAgICAgPC9jb21tb24tYnV0dG9uLWdyb3VwPlxyXG4gKlxyXG4gKiBAZXhwb3J0XHJcbiAqL1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY29tbW9uLWJ1dHRvbi1ncm91cCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLWdyb3VwLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgdmlld1Byb3ZpZGVyczogW1xyXG4gICAgeyBwcm92aWRlOiBDb250cm9sQ29udGFpbmVyLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOZ0Zvcm0gKSB9XHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHsgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIG11bHRpOiB0cnVlLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBCdXR0b25Hcm91cENvbXBvbmVudCApfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIEJ1dHRvbkdyb3VwQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICBASW5wdXQoKSBkYXRhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93RXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGVycm9yTWVzc2FnZVJlcXVpcmVkOiBzdHJpbmcgPSAnRmllbGQgaXMgcmVxdWlyZWQuJztcclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJ0RlZmF1bHQgQ2hlY2tib3gnO1xyXG4gIEBPdXRwdXQoKSBkYXRhQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQFZpZXdDaGlsZCgnYnV0dG9uR3JvdXAnKSBidXR0b25Hcm91cDogRWxlbWVudFJlZjtcclxuXHJcbiAgcHVibGljIF9vbkNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xyXG4gIHB1YmxpYyBfb25Ub3VjaGVkID0gKCkgPT4ge307XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgc2V0QnV0dG9uR3JwVmFsKHZhbDogYW55KSB7XHJcbiAgICB0aGlzLmRhdGFDaGFuZ2UuZW1pdCh2YWwpO1xyXG4gICAgdGhpcy5fb25DaGFuZ2UodmFsKTtcclxuICAgIHRoaXMuX29uVG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgZm9jdXMoKSB7XHJcbiAgICB0aGlzLmJ1dHRvbkdyb3VwLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIHRoaXMuX29uVG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLl9vbkNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5fb25Ub3VjaGVkID0gZm47XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuZGF0YSA9IHZhbHVlO1xyXG4gIH1cclxufVxyXG4iXX0=