UNPKG

moh-common-lib

Version:

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

133 lines 10.5 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import * as tslib_1 from "tslib"; import { Component, Input, Output, EventEmitter, ViewChild, ElementRef, Optional, Self } from '@angular/core'; import { NgControl } from '@angular/forms'; import { AbstractFormControl } from '../../models/abstract-form-control'; import { LabelReplacementTag } from '../../models/error-message.interface'; /** * Checkbox component is a input checkbox * * \@example * <common-checkbox #addressChangeChkBx * label='Do you want to opt in?' * errorMessageRequired = 'Opt in should be selected' * (dataChange)="dataChange($event)" * [(data)]='person.hasOpted' [disabled]="isDisabled" * [required]="isrequired"> * </common-checkbox> * * @export */ var CheckboxComponent = /** @class */ (function (_super) { tslib_1.__extends(CheckboxComponent, _super); function CheckboxComponent(controlDir) { var _this = _super.call(this) || this; _this.controlDir = controlDir; _this.defaultErrorMessage = ''; /** * You can bind to [(data)] OR you can use [(ngModel)] but don't use both. */ _this.data = false; _this.label = 'Default Checkbox'; _this.required = false; // TOBE removed duing MSP stablization - then update MSP to use form control version // TOBE removed duing MSP stablization - then update MSP to use form control version _this.dataChange = new EventEmitter(); _this._defaultErrMsg = { required: LabelReplacementTag + " is required.", }; if (controlDir) { controlDir.valueAccessor = _this; } return _this; } /** * @return {?} */ CheckboxComponent.prototype.ngOnInit = /** * @return {?} */ function () { _super.prototype.ngOnInit.call(this); }; /** * @param {?} event * @return {?} */ CheckboxComponent.prototype.setCheckboxVal = /** * @param {?} event * @return {?} */ function (event) { this.data = event; this.dataChange.emit(this.data); this._onChange(event); this._onTouched(); }; /** * @return {?} */ CheckboxComponent.prototype.focus = /** * @return {?} */ function () { this.checkbox.nativeElement.focus(); }; /** * @param {?} value * @return {?} */ CheckboxComponent.prototype.writeValue = /** * @param {?} value * @return {?} */ function (value) { if (value !== undefined || value === null) { this.data = value; } }; CheckboxComponent.decorators = [ { type: Component, args: [{ selector: 'common-checkbox', template: "\r\n<input #checkbox\r\n type=\"checkbox\"\r\n class=\"input-lg form-check-input\"\r\n name=\"checkbox_{{objectId}}\"\r\n id=\"checkbox_{{objectId}}\"\r\n [ngModel]=\"data\"\r\n (ngModelChange)=\"setCheckboxVal($event);\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\">\r\n<label for=\"checkbox_{{objectId}}\" class=\"mb-2 pl-3 form-check-label\">{{label}}</label>\r\n\r\n<common-error-container\r\n [displayError]=\"controlDir && !disabled && (controlDir.touched || controlDir.dirty) && controlDir?.errors\">\r\n <div *ngIf=\"controlDir?.errors?.required\">{{_defaultErrMsg.required}}</div>\r\n</common-error-container>\r\n", styles: ["input[type=checkbox]{-webkit-transform:scale(1.5);transform:scale(1.5)}label{display:inline-block;height:auto;margin-bottom:0;padding-bottom:0;padding-left:10px;padding-top:2px;cursor:pointer;vertical-align:bottom}"] }] } ]; /** @nocollapse */ CheckboxComponent.ctorParameters = function () { return [ { type: NgControl, decorators: [{ type: Optional }, { type: Self }] } ]; }; CheckboxComponent.propDecorators = { data: [{ type: Input }], label: [{ type: Input }], required: [{ type: Input }], dataChange: [{ type: Output }], checkbox: [{ type: ViewChild, args: ['checkbox',] }] }; return CheckboxComponent; }(AbstractFormControl)); export { CheckboxComponent }; if (false) { /** @type {?} */ CheckboxComponent.prototype.defaultErrorMessage; /** * You can bind to [(data)] OR you can use [(ngModel)] but don't use both. * @type {?} */ CheckboxComponent.prototype.data; /** @type {?} */ CheckboxComponent.prototype.label; /** @type {?} */ CheckboxComponent.prototype.required; /** @type {?} */ CheckboxComponent.prototype.dataChange; /** @type {?} */ CheckboxComponent.prototype.checkbox; /** @type {?} */ CheckboxComponent.prototype._defaultErrMsg; /** @type {?} */ CheckboxComponent.prototype.controlDir; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3guY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vbW9oLWNvbW1vbi1saWIvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQXdCLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBZ0IsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0FBaUJ6RjtJQUt1Qyw2Q0FBbUI7SUFnQnhELDJCQUF3QyxVQUFxQjtRQUE3RCxZQUNFLGlCQUFPLFNBSVI7UUFMdUMsZ0JBQVUsR0FBVixVQUFVLENBQVc7UUFmN0QseUJBQW1CLEdBQVcsRUFBRSxDQUFDOzs7O1FBS3hCLFVBQUksR0FBWSxLQUFLLENBQUM7UUFDdEIsV0FBSyxHQUFXLGtCQUFrQixDQUFDO1FBQ25DLGNBQVEsR0FBWSxLQUFLLENBQUMsQ0FBRSxvRkFBb0Y7O1FBQy9HLGdCQUFVLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7UUFHMUUsb0JBQWMsR0FBaUI7WUFDN0IsUUFBUSxFQUFLLG1CQUFtQixrQkFBZTtTQUNoRCxDQUFDO1FBSUEsSUFBSyxVQUFVLEVBQUc7WUFDaEIsVUFBVSxDQUFDLGFBQWEsR0FBRyxLQUFJLENBQUM7U0FDakM7O0lBQ0gsQ0FBQzs7OztJQUVELG9DQUFROzs7SUFBUjtRQUNFLGlCQUFNLFFBQVEsV0FBRSxDQUFDO0lBQ25CLENBQUM7Ozs7O0lBRUQsMENBQWM7Ozs7SUFBZCxVQUFlLEtBQWM7UUFDM0IsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7Ozs7SUFFRCxpQ0FBSzs7O0lBQUw7UUFDRSxJQUFJLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN0QyxDQUFDOzs7OztJQUVELHNDQUFVOzs7O0lBQVYsVUFBVyxLQUFVO1FBQ25CLElBQUssS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFHO1lBQzNDLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1NBQ25CO0lBQ0gsQ0FBQzs7Z0JBL0NGLFNBQVMsU0FBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQiwrcUJBQXdDOztpQkFFekM7Ozs7Z0JBdkI4QixTQUFTLHVCQXdDeEIsUUFBUSxZQUFJLElBQUk7Ozt1QkFWN0IsS0FBSzt3QkFDTCxLQUFLOzJCQUNMLEtBQUs7NkJBQ0wsTUFBTTsyQkFDTixTQUFTLFNBQUMsVUFBVTs7SUFpQ3ZCLHdCQUFDO0NBQUEsQUFoREQsQ0FLdUMsbUJBQW1CLEdBMkN6RDtTQTNDWSxpQkFBaUI7OztJQUM1QixnREFBaUM7Ozs7O0lBS2pDLGlDQUErQjs7SUFDL0Isa0NBQTRDOztJQUM1QyxxQ0FBbUM7O0lBQ25DLHVDQUEwRTs7SUFDMUUscUNBQTRDOztJQUU1QywyQ0FFRTs7SUFFVyx1Q0FBZ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIE9wdGlvbmFsLCBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEFic3RyYWN0Rm9ybUNvbnRyb2wgfSBmcm9tICcuLi8uLi9tb2RlbHMvYWJzdHJhY3QtZm9ybS1jb250cm9sJztcclxuaW1wb3J0IHsgRXJyb3JNZXNzYWdlLCBMYWJlbFJlcGxhY2VtZW50VGFnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Vycm9yLW1lc3NhZ2UuaW50ZXJmYWNlJztcclxuLyoqXHJcbiAqIENoZWNrYm94IGNvbXBvbmVudCBpcyBhIGlucHV0IGNoZWNrYm94XHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqICAgICAgIDxjb21tb24tY2hlY2tib3ggI2FkZHJlc3NDaGFuZ2VDaGtCeFxyXG4gKiAgICAgICAgICBsYWJlbD0nRG8geW91IHdhbnQgdG8gb3B0IGluPydcclxuICogICAgICAgICAgZXJyb3JNZXNzYWdlUmVxdWlyZWQgPSAnT3B0IGluIHNob3VsZCBiZSBzZWxlY3RlZCdcclxuICogICAgICAgICAgKGRhdGFDaGFuZ2UpPVwiZGF0YUNoYW5nZSgkZXZlbnQpXCJcclxuICogICAgICAgICAgIFsoZGF0YSldPSdwZXJzb24uaGFzT3B0ZWQnIFtkaXNhYmxlZF09XCJpc0Rpc2FibGVkXCJcclxuICogICAgICAgICAgW3JlcXVpcmVkXT1cImlzcmVxdWlyZWRcIj5cclxuICogICAgICAgPC9jb21tb24tY2hlY2tib3g+XHJcbiAqXHJcbiAqIEBleHBvcnRcclxuICovXHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjb21tb24tY2hlY2tib3gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaGVja2JveC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2hlY2tib3guY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hlY2tib3hDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZvcm1Db250cm9sIGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcbiAgZGVmYXVsdEVycm9yTWVzc2FnZTogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIFlvdSBjYW4gYmluZCB0byBbKGRhdGEpXSBPUiB5b3UgY2FuIHVzZSBbKG5nTW9kZWwpXSBidXQgZG9uJ3QgdXNlIGJvdGguXHJcbiAgICovXHJcbiAgQElucHV0KCkgZGF0YTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnRGVmYXVsdCBDaGVja2JveCc7XHJcbiAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTsgIC8vIFRPQkUgcmVtb3ZlZCBkdWluZyBNU1Agc3RhYmxpemF0aW9uIC0gdGhlbiB1cGRhdGUgTVNQIHRvIHVzZSBmb3JtIGNvbnRyb2wgdmVyc2lvblxyXG4gIEBPdXRwdXQoKSBkYXRhQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQFZpZXdDaGlsZCgnY2hlY2tib3gnKSBjaGVja2JveDogRWxlbWVudFJlZjtcclxuXHJcbiAgX2RlZmF1bHRFcnJNc2c6IEVycm9yTWVzc2FnZSA9IHtcclxuICAgIHJlcXVpcmVkOiBgJHtMYWJlbFJlcGxhY2VtZW50VGFnfSBpcyByZXF1aXJlZC5gLFxyXG4gIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKCBAT3B0aW9uYWwoKSBAU2VsZigpIHB1YmxpYyBjb250cm9sRGlyOiBOZ0NvbnRyb2wgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgaWYgKCBjb250cm9sRGlyICkge1xyXG4gICAgICBjb250cm9sRGlyLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2hlY2tib3hWYWwoZXZlbnQ6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuZGF0YSA9IGV2ZW50O1xyXG4gICAgdGhpcy5kYXRhQ2hhbmdlLmVtaXQodGhpcy5kYXRhKTtcclxuICAgIHRoaXMuX29uQ2hhbmdlKGV2ZW50KTtcclxuICAgIHRoaXMuX29uVG91Y2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgZm9jdXMoKSB7XHJcbiAgICB0aGlzLmNoZWNrYm94Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKCB2YWx1ZSAhPT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsICkge1xyXG4gICAgICB0aGlzLmRhdGEgPSB2YWx1ZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19