From ec27ad7ee2c7d1bf67e6ade1bc4ae7a931b10283 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beatrice=20Dellac=C3=A0?= Date: Mon, 4 Nov 2024 09:31:29 +0100 Subject: [PATCH] RLH-14 - Implement Button component --- .../components/button/button.component.html | 6 +++--- .../components/button/button.component.ts | 19 +++++++++++++------ .../components/button/models/button.model.ts | 6 ++++++ 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/src/app/libraries/components/button/button.component.html b/src/app/libraries/components/button/button.component.html index 9f97a8c..5068b4e 100644 --- a/src/app/libraries/components/button/button.component.html +++ b/src/app/libraries/components/button/button.component.html @@ -1,7 +1,7 @@ diff --git a/src/app/libraries/components/button/button.component.ts b/src/app/libraries/components/button/button.component.ts index de44ddc..a62d6b2 100644 --- a/src/app/libraries/components/button/button.component.ts +++ b/src/app/libraries/components/button/button.component.ts @@ -1,5 +1,5 @@ -import {booleanAttribute, Component, Input, OnInit} from '@angular/core'; -import {ButtonModel} from "./models/button.model"; +import {Component, Input, OnInit} from '@angular/core'; +import {ButtonModel, ButtonType} from "./models/button.model"; @Component({ selector: 'rlh-button', @@ -14,12 +14,12 @@ export class ButtonComponent implements OnInit @Input() button: ButtonModel = { text: 'text', disabled: () => false, - click: () => {} + click: () => {}, + type: ButtonType.PRIMARY }; - buttonDisabled: () => boolean = () => { + isDisabled: () => boolean = () => { return false; - // tslint:disable-next-line: semicolon }; ngOnInit() { @@ -28,12 +28,19 @@ export class ButtonComponent implements OnInit : () => false; // setTimeout(() => { - this.buttonDisabled = () => { + this.isDisabled = () => { return this.button.disabled(); }; }); } + get classes(): string { + let classes = 'btn'; + classes += ' ' + (this.button.type ? this.button.type : ButtonType.PRIMARY); + + return classes; + } + diff --git a/src/app/libraries/components/button/models/button.model.ts b/src/app/libraries/components/button/models/button.model.ts index 1bfa2e3..70396d9 100644 --- a/src/app/libraries/components/button/models/button.model.ts +++ b/src/app/libraries/components/button/models/button.model.ts @@ -1,5 +1,11 @@ export class ButtonModel { text: string = "text"; + type: ButtonType; disabled: () => boolean; click: () => void; } + +export enum ButtonType { + LINK = "btn-link", + PRIMARY = "btn-primary", +}