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