moh-common-lib
Version:
A library of Angular components, services, and styles for B.C. Government Ministry of Health (MoH).
81 lines • 6.15 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { forwardRef, Component, ViewChild, EventEmitter, Input, Output, ElementRef } from '@angular/core';
import { ControlContainer, NgForm } from '@angular/forms';
/**
* Button Component is a button which can be used across the application to have
* same button style.
*
* You're free to create custom (bootstrap) buttons as your application
* requires. The main advantages to this component are:
*
* - consistency
* - simplicity (less markup)
* - making future changes easier, such as automatically updating any changes
* to button colour stylings.
*
*
* \@example
* <common-button label='Remove Spouse'
* [buttonType]="buttonClass"
* (btnClick)='removeSpouse()'>
* </common-button>
* @export
*/
export class ButtonComponent {
constructor() {
// Can pass the Style class of a button e.g. For primary, btn btn-primary. Default, btn btn-default. Error, btn btn-danger
this.buttonType = 'default';
this.disabled = false;
this.label = 'Button';
this.btnClick = new EventEmitter();
}
/**
* @return {?}
*/
ngOnInit() {
}
/**
* @param {?} $event
* @return {?}
*/
onClick($event) {
this.btnClick.emit($event);
}
}
ButtonComponent.decorators = [
{ type: Component, args: [{
selector: 'common-button',
template: "<button #button type=\"button\" class=\"btn btn-{{buttonType}}\" (click)=\"onClick($event)\"\r\n [disabled]=\"disabled\" >\r\n\t\t\t<span>{{label}}</span>\r\n</button>",
viewProviders: [
{ provide: ControlContainer, useExisting: forwardRef((/**
* @return {?}
*/
() => NgForm)) }
]
}] }
];
/** @nocollapse */
ButtonComponent.ctorParameters = () => [];
ButtonComponent.propDecorators = {
buttonType: [{ type: Input }],
disabled: [{ type: Input }],
label: [{ type: Input }],
btnClick: [{ type: Output }],
button: [{ type: ViewChild, args: ['button',] }]
};
if (false) {
/** @type {?} */
ButtonComponent.prototype.buttonType;
/** @type {?} */
ButtonComponent.prototype.disabled;
/** @type {?} */
ButtonComponent.prototype.label;
/** @type {?} */
ButtonComponent.prototype.btnClick;
/** @type {?} */
ButtonComponent.prototype.button;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL21vaC1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsU0FBUyxFQUFVLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEgsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUE4QjFELE1BQU0sT0FBTyxlQUFlO0lBUzFCOztRQU5TLGVBQVUsR0FBd0MsU0FBUyxDQUFDO1FBQzVELGFBQVEsR0FBWSxLQUFLLENBQUM7UUFDMUIsVUFBSyxHQUFXLFFBQVEsQ0FBQztRQUN4QixhQUFRLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7SUFHaEQsQ0FBQzs7OztJQUVqQixRQUFRO0lBQ1IsQ0FBQzs7Ozs7SUFFRCxPQUFPLENBQUMsTUFBTTtRQUNaLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdCLENBQUM7OztZQXhCRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGVBQWU7Z0JBQ3pCLDRMQUFzQztnQkFDdEMsYUFBYSxFQUFFO29CQUNiLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBRSxVQUFVOzs7d0JBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7aUJBQ3RFO2FBQ0Y7Ozs7O3lCQUtFLEtBQUs7dUJBQ0wsS0FBSztvQkFDTCxLQUFLO3VCQUNMLE1BQU07cUJBQ04sU0FBUyxTQUFDLFFBQVE7Ozs7SUFKbkIscUNBQXFFOztJQUNyRSxtQ0FBbUM7O0lBQ25DLGdDQUFrQzs7SUFDbEMsbUNBQWdFOztJQUNoRSxpQ0FBd0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmb3J3YXJkUmVmLCBDb21wb25lbnQsIE9uSW5pdCwgVmlld0NoaWxkLCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbENvbnRhaW5lciwgTmdGb3JtIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuLyoqXHJcbiAqIEJ1dHRvbiBDb21wb25lbnQgaXMgYSBidXR0b24gd2hpY2ggY2FuIGJlIHVzZWQgYWNyb3NzIHRoZSBhcHBsaWNhdGlvbiB0byBoYXZlXHJcbiAqIHNhbWUgYnV0dG9uIHN0eWxlLlxyXG4gKlxyXG4gKiBZb3UncmUgZnJlZSB0byBjcmVhdGUgY3VzdG9tIChib290c3RyYXApIGJ1dHRvbnMgYXMgeW91ciBhcHBsaWNhdGlvblxyXG4gKiByZXF1aXJlcy4gVGhlIG1haW4gYWR2YW50YWdlcyB0byB0aGlzIGNvbXBvbmVudCBhcmU6XHJcbiAqXHJcbiAqICAtIGNvbnNpc3RlbmN5XHJcbiAqICAtIHNpbXBsaWNpdHkgKGxlc3MgbWFya3VwKVxyXG4gKiAgLSBtYWtpbmcgZnV0dXJlIGNoYW5nZXMgZWFzaWVyLCBzdWNoIGFzIGF1dG9tYXRpY2FsbHkgdXBkYXRpbmcgYW55IGNoYW5nZXNcclxuICogdG8gYnV0dG9uIGNvbG91ciBzdHlsaW5ncy5cclxuICpcclxuICpcclxuICogQGV4YW1wbGVcclxuICogICAgICAgIDxjb21tb24tYnV0dG9uIGxhYmVsPSdSZW1vdmUgU3BvdXNlJ1xyXG4gKiAgICAgICAgICAgIFtidXR0b25UeXBlXT1cImJ1dHRvbkNsYXNzXCJcclxuICogICAgICAgICAgICAoYnRuQ2xpY2spPSdyZW1vdmVTcG91c2UoKSc+XHJcbiAqICAgICAgICA8L2NvbW1vbi1idXR0b24+XHJcbiAqIEBleHBvcnRcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY29tbW9uLWJ1dHRvbicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgdmlld1Byb3ZpZGVyczogW1xyXG4gICAgeyBwcm92aWRlOiBDb250cm9sQ29udGFpbmVyLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBOZ0Zvcm0gKSB9XHJcbiAgXVxyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIC8vIENhbiBwYXNzIHRoZSBTdHlsZSBjbGFzcyBvZiBhIGJ1dHRvbiBlLmcuIEZvciBwcmltYXJ5LCBidG4gYnRuLXByaW1hcnkuIERlZmF1bHQsIGJ0biBidG4tZGVmYXVsdC4gRXJyb3IsIGJ0biBidG4tZGFuZ2VyXHJcbiAgQElucHV0KCkgYnV0dG9uVHlwZTogJ2RlZmF1bHQnIHwgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgPSAnZGVmYXVsdCc7XHJcbiAgQElucHV0KCkgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJ0J1dHRvbic7XHJcbiAgQE91dHB1dCgpIGJ0bkNsaWNrOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBWaWV3Q2hpbGQoJ2J1dHRvbicpIGJ1dHRvbjogRWxlbWVudFJlZjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrKCRldmVudCkge1xyXG4gICAgdGhpcy5idG5DbGljay5lbWl0KCRldmVudCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==