moh-common-lib
Version:
A library of Angular components, services, and styles for B.C. Government Ministry of Health (MoH).
145 lines • 11 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, Optional, Self } from '@angular/core';
import { NgControl } from '@angular/forms';
import { AbstractFormControl } from '../../models/abstract-form-control';
import { LabelReplacementTag } from '../../models/error-message.interface';
var CityComponent = /** @class */ (function (_super) {
tslib_1.__extends(CityComponent, _super);
function CityComponent(controlDir) {
var _this = _super.call(this) || this;
_this.controlDir = controlDir;
_this.label = 'City';
_this.maxlength = '100';
_this.labelforId = 'city_' + _this.objectId;
_this.placeholder = 'City name';
_this.required = false;
_this.valueChange = new EventEmitter();
_this.blur = new EventEmitter();
_this.city = '';
_this._defaultErrMsg = {
required: LabelReplacementTag + ' is required.',
invalidChar: LabelReplacementTag + ' must contain letters and may include numbers and special characters ' +
'such as hyphens, periods, apostrophes and blank characters.',
maxlength: LabelReplacementTag + ' exceeds the maximum number of allowable characters.'
};
if (controlDir) {
controlDir.valueAccessor = _this;
}
return _this;
}
Object.defineProperty(CityComponent.prototype, "value", {
get: /**
* @return {?}
*/
function () {
return this.city;
},
set: /**
* @param {?} val
* @return {?}
*/
function (val) {
if (val) {
this.city = val;
}
},
enumerable: true,
configurable: true
});
/**
* @return {?}
*/
CityComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () {
_super.prototype.ngOnInit.call(this);
};
/**
* @param {?} value
* @return {?}
*/
CityComponent.prototype.onValueChange = /**
* @param {?} value
* @return {?}
*/
function (value) {
this.city = value;
this._onChange(value);
this.valueChange.emit(value);
};
/**
* @param {?} event
* @return {?}
*/
CityComponent.prototype.onBlur = /**
* @param {?} event
* @return {?}
*/
function (event) {
this._onTouched(event);
this.blur.emit(event);
};
/**
* @param {?} value
* @return {?}
*/
CityComponent.prototype.writeValue = /**
* @param {?} value
* @return {?}
*/
function (value) {
if (value !== undefined) {
this.city = value;
}
};
CityComponent.decorators = [
{ type: Component, args: [{
selector: 'common-city',
template: "<label for=\"{{labelforId}}\">{{label}}</label>\r\n<input class=\"form-control\"\r\n spellcheck=\"false\"\r\n type=\"text\"\r\n id=\"{{labelforId}}\"\r\n [value]=\"city\"\r\n (change)=\"onValueChange($event.target.value)\"\r\n (blur)=\"onBlur($event)\"\r\n [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n [attr.maxlength]=\"maxlength\"\r\n [placeholder]=\"placeholder\"\r\n autocomplete=\"off\"/>\r\n\r\n <!-- Error messages for input -->\r\n<common-error-container\r\n [displayError]=\"controlDir && !disabled && (controlDir.touched || controlDir.dirty) && controlDir.errors\">\r\n <div *ngIf=\"controlDir.errors?.required\">\r\n {{_defaultErrMsg.required}}\r\n </div>\r\n <div *ngIf=\"controlDir.errors?.invalidChar\">\r\n {{_defaultErrMsg.invalidChar}}\r\n </div>\r\n <div *ngIf=\"controlDir.errors?.maxlength\">\r\n {{_defaultErrMsg.maxlength}}\r\n </div>\r\n</common-error-container>\r\n"
}] }
];
/** @nocollapse */
CityComponent.ctorParameters = function () { return [
{ type: NgControl, decorators: [{ type: Optional }, { type: Self }] }
]; };
CityComponent.propDecorators = {
label: [{ type: Input }],
maxlength: [{ type: Input }],
labelforId: [{ type: Input }],
placeholder: [{ type: Input }],
required: [{ type: Input }],
value: [{ type: Input }],
valueChange: [{ type: Output }],
blur: [{ type: Output }]
};
return CityComponent;
}(AbstractFormControl));
export { CityComponent };
if (false) {
/** @type {?} */
CityComponent.prototype.label;
/** @type {?} */
CityComponent.prototype.maxlength;
/** @type {?} */
CityComponent.prototype.labelforId;
/** @type {?} */
CityComponent.prototype.placeholder;
/** @type {?} */
CityComponent.prototype.required;
/** @type {?} */
CityComponent.prototype.valueChange;
/** @type {?} */
CityComponent.prototype.blur;
/** @type {?} */
CityComponent.prototype.city;
/** @type {?} */
CityComponent.prototype._defaultErrMsg;
/** @type {?} */
CityComponent.prototype.controlDir;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2l0eS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9tb2gtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2NpdHkvY2l0eS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0YsT0FBTyxFQUF3QixTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQWdCLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFFekY7SUFJbUMseUNBQW1CO0lBOEJwRCx1QkFBd0MsVUFBcUI7UUFBN0QsWUFDRSxpQkFBTyxTQUlSO1FBTHVDLGdCQUFVLEdBQVYsVUFBVSxDQUFXO1FBNUJwRCxXQUFLLEdBQVcsTUFBTSxDQUFDO1FBQ3ZCLGVBQVMsR0FBVyxLQUFLLENBQUM7UUFDMUIsZ0JBQVUsR0FBVyxPQUFPLEdBQUcsS0FBSSxDQUFDLFFBQVEsQ0FBQztRQUM3QyxpQkFBVyxHQUFXLFdBQVcsQ0FBQztRQUNsQyxjQUFRLEdBQVksS0FBSyxDQUFDO1FBWXpCLGlCQUFXLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDL0QsVUFBSSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRTVELFVBQUksR0FBVyxFQUFFLENBQUM7UUFFbEIsb0JBQWMsR0FBaUI7WUFDN0IsUUFBUSxFQUFFLG1CQUFtQixHQUFHLGVBQWU7WUFDL0MsV0FBVyxFQUFFLG1CQUFtQixHQUFHLHVFQUF1RTtnQkFDN0YsNkRBQTZEO1lBQzFFLFNBQVMsRUFBRSxtQkFBbUIsR0FBRyxzREFBc0Q7U0FDeEYsQ0FBQztRQUlBLElBQUssVUFBVSxFQUFHO1lBQ2hCLFVBQVUsQ0FBQyxhQUFhLEdBQUcsS0FBSSxDQUFDO1NBQ2pDOztJQUNILENBQUM7SUEzQkQsc0JBQ0ksZ0NBQUs7Ozs7UUFLVDtZQUNFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztRQUNuQixDQUFDOzs7OztRQVJELFVBQ1csR0FBVztZQUNwQixJQUFLLEdBQUcsRUFBRztnQkFDVCxJQUFJLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQzthQUNqQjtRQUNILENBQUM7OztPQUFBOzs7O0lBd0JELGdDQUFROzs7SUFBUjtRQUNFLGlCQUFNLFFBQVEsV0FBRSxDQUFDO0lBQ25CLENBQUM7Ozs7O0lBRUQscUNBQWE7Ozs7SUFBYixVQUFlLEtBQWE7UUFDMUIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7UUFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBRSxLQUFLLENBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBRSxLQUFLLENBQUUsQ0FBQztJQUNqQyxDQUFDOzs7OztJQUVELDhCQUFNOzs7O0lBQU4sVUFBUSxLQUFVO1FBQ2hCLElBQUksQ0FBQyxVQUFVLENBQUUsS0FBSyxDQUFFLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUUsS0FBSyxDQUFFLENBQUM7SUFDMUIsQ0FBQzs7Ozs7SUFFRCxrQ0FBVTs7OztJQUFWLFVBQVksS0FBYTtRQUN2QixJQUFLLEtBQUssS0FBSyxTQUFTLEVBQUc7WUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7U0FDbkI7SUFDSCxDQUFDOztnQkE1REYsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixvK0JBQW9DO2lCQUNyQzs7OztnQkFQOEIsU0FBUyx1QkFzQ3hCLFFBQVEsWUFBSSxJQUFJOzs7d0JBNUI3QixLQUFLOzRCQUNMLEtBQUs7NkJBQ0wsS0FBSzs4QkFDTCxLQUFLOzJCQUNMLEtBQUs7d0JBRUwsS0FBSzs4QkFVTCxNQUFNO3VCQUNOLE1BQU07O0lBc0NULG9CQUFDO0NBQUEsQUE3REQsQ0FJbUMsbUJBQW1CLEdBeURyRDtTQXpEWSxhQUFhOzs7SUFFeEIsOEJBQWdDOztJQUNoQyxrQ0FBbUM7O0lBQ25DLG1DQUFzRDs7SUFDdEQsb0NBQTJDOztJQUMzQyxpQ0FBbUM7O0lBWW5DLG9DQUF5RTs7SUFDekUsNkJBQTREOztJQUU1RCw2QkFBa0I7O0lBRWxCLHVDQUtFOztJQUVXLG1DQUFnRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIE9wdGlvbmFsLCBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEFic3RyYWN0Rm9ybUNvbnRyb2wgfSBmcm9tICcuLi8uLi9tb2RlbHMvYWJzdHJhY3QtZm9ybS1jb250cm9sJztcclxuaW1wb3J0IHsgRXJyb3JNZXNzYWdlLCBMYWJlbFJlcGxhY2VtZW50VGFnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Vycm9yLW1lc3NhZ2UuaW50ZXJmYWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY29tbW9uLWNpdHknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaXR5LmNvbXBvbmVudC5odG1sJyxcclxufSlcclxuZXhwb3J0IGNsYXNzIENpdHlDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZvcm1Db250cm9sIGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciAge1xyXG5cclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJ0NpdHknO1xyXG4gIEBJbnB1dCgpIG1heGxlbmd0aDogc3RyaW5nID0gJzEwMCc7XHJcbiAgQElucHV0KCkgbGFiZWxmb3JJZDogc3RyaW5nID0gJ2NpdHlfJyArIHRoaXMub2JqZWN0SWQ7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICdDaXR5IG5hbWUnO1xyXG4gIEBJbnB1dCgpIHJlcXVpcmVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IHZhbHVlKCB2YWw6IHN0cmluZyApIHtcclxuICAgIGlmICggdmFsICkge1xyXG4gICAgICB0aGlzLmNpdHkgPSB2YWw7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldCB2YWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmNpdHk7XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIGJsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIGNpdHk6IHN0cmluZyA9ICcnO1xyXG5cclxuICBfZGVmYXVsdEVyck1zZzogRXJyb3JNZXNzYWdlID0ge1xyXG4gICAgcmVxdWlyZWQ6IExhYmVsUmVwbGFjZW1lbnRUYWcgKyAnIGlzIHJlcXVpcmVkLicsXHJcbiAgICBpbnZhbGlkQ2hhcjogTGFiZWxSZXBsYWNlbWVudFRhZyArICcgbXVzdCBjb250YWluIGxldHRlcnMgYW5kIG1heSBpbmNsdWRlIG51bWJlcnMgYW5kIHNwZWNpYWwgY2hhcmFjdGVycyAnICtcclxuICAgICAgICAgICAgICAgICAnc3VjaCBhcyBoeXBoZW5zLCBwZXJpb2RzLCBhcG9zdHJvcGhlcyBhbmQgYmxhbmsgY2hhcmFjdGVycy4nLFxyXG4gICAgbWF4bGVuZ3RoOiBMYWJlbFJlcGxhY2VtZW50VGFnICsgJyBleGNlZWRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBhbGxvd2FibGUgY2hhcmFjdGVycy4nXHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IoIEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIGNvbnRyb2xEaXI6IE5nQ29udHJvbCApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgICBpZiAoIGNvbnRyb2xEaXIgKSB7XHJcbiAgICAgIGNvbnRyb2xEaXIudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHN1cGVyLm5nT25Jbml0KCk7XHJcbiAgfVxyXG5cclxuICBvblZhbHVlQ2hhbmdlKCB2YWx1ZTogc3RyaW5nICkge1xyXG4gICAgdGhpcy5jaXR5ID0gdmFsdWU7XHJcbiAgICB0aGlzLl9vbkNoYW5nZSggdmFsdWUgKTtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCggdmFsdWUgKTtcclxuICB9XHJcblxyXG4gIG9uQmx1ciggZXZlbnQ6IGFueSApIHtcclxuICAgIHRoaXMuX29uVG91Y2hlZCggZXZlbnQgKTtcclxuICAgIHRoaXMuYmx1ci5lbWl0KCBldmVudCApO1xyXG4gIH1cclxuXHJcbiAgd3JpdGVWYWx1ZSggdmFsdWU6IHN0cmluZyApOiB2b2lkIHtcclxuICAgIGlmICggdmFsdWUgIT09IHVuZGVmaW5lZCApIHtcclxuICAgICAgdGhpcy5jaXR5ID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==