summaryrefslogtreecommitdiffstats
path: root/vid-webpack-master/src/app/shared/components/customButton/custom-button.component.ts
diff options
context:
space:
mode:
authorYoav Schneiderman <yoav.schneiderman@intl.att.com>2020-01-08 14:46:14 +0200
committerIttay Stern <ittay.stern@att.com>2020-01-09 13:29:49 +0000
commit4ef3ee778fc944cdfe28146d4eed360ce096e5ee (patch)
treec641429928518b64f7a39acd1d241043a28978cd /vid-webpack-master/src/app/shared/components/customButton/custom-button.component.ts
parente8414b1fe839291418ead3a7e5a64bf382dc1121 (diff)
Upgrade to Angular 8
Issue-ID: VID-742 Change-Id: Ic4b3aae71d4c946e23d854847a49aa7e020c465d Signed-off-by: Yoav Schneiderman <yoav.schneiderman@intl.att.com>
Diffstat (limited to 'vid-webpack-master/src/app/shared/components/customButton/custom-button.component.ts')
-rw-r--r--vid-webpack-master/src/app/shared/components/customButton/custom-button.component.ts65
1 files changed, 65 insertions, 0 deletions
diff --git a/vid-webpack-master/src/app/shared/components/customButton/custom-button.component.ts b/vid-webpack-master/src/app/shared/components/customButton/custom-button.component.ts
new file mode 100644
index 000000000..61fa02832
--- /dev/null
+++ b/vid-webpack-master/src/app/shared/components/customButton/custom-button.component.ts
@@ -0,0 +1,65 @@
+import {Component, HostBinding, Input, OnInit} from "@angular/core";
+import {IButtonComponent} from "../customModal/models/modal-button.model";
+import {ButtonType} from "../customModal/models/button.type";
+import {Mode} from "./models/mode.model";
+import {Placement} from "../customModal/models/modal.placement";
+
+
+@Component({
+ selector: "sdc-button",
+ templateUrl: './custom-button.component.html',
+ styleUrls: ['./custom-button.component.scss']
+
+})
+
+export class CustomButtonComponent implements OnInit, IButtonComponent {
+ @Input() public text: string;
+ @Input() public disabled: boolean;
+ @Input() public type: ButtonType;
+ @Input() public icon_mode: Mode;
+ @Input() public size: string;
+ @Input() public preventDoubleClick: boolean;
+ @Input() public icon_name: string;
+ @Input() public icon_position: string;
+ @Input() public show_spinner: boolean;
+ @Input() public spinner_position: Placement;
+ @Input() public testId: string;
+
+ public placement = Placement;
+ private lastClick: Date;
+ public iconPositionClass: string;
+
+ @HostBinding('class.sdc-button__wrapper') true;
+
+ constructor() {
+ this.type = ButtonType.primary;
+ this.size = "default";
+ this.disabled = false;
+ }
+
+ public ngOnInit(): void {
+ this.iconPositionClass = this.icon_position ? 'sdc-icon-' + this.icon_position : '';
+ }
+
+ public onClick = (e): void => {
+ const now: Date = new Date();
+ if (this.preventDoubleClick && this.lastClick && (now.getTime() - this.lastClick.getTime()) <= 500) {
+ e.preventDefault();
+ e.stopPropagation();
+ }
+ this.lastClick = now;
+ }
+
+ public disableButton = () => {
+ if (!this.disabled) {
+ this.disabled = true;
+ }
+ }
+
+ public enableButton = () => {
+ if (this.disabled) {
+ this.disabled = false;
+ }
+ }
+
+}