UNPKG

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