summaryrefslogtreecommitdiffstats
path: root/public/src/app/sdc-notify-dialog
diff options
context:
space:
mode:
Diffstat (limited to 'public/src/app/sdc-notify-dialog')
-rw-r--r--public/src/app/sdc-notify-dialog/sdc-notify-dialog.component.html39
-rw-r--r--public/src/app/sdc-notify-dialog/sdc-notify-dialog.component.scss17
-rw-r--r--public/src/app/sdc-notify-dialog/sdc-notify-dialog.component.ts72
3 files changed, 128 insertions, 0 deletions
diff --git a/public/src/app/sdc-notify-dialog/sdc-notify-dialog.component.html b/public/src/app/sdc-notify-dialog/sdc-notify-dialog.component.html
new file mode 100644
index 0000000..f8d51fe
--- /dev/null
+++ b/public/src/app/sdc-notify-dialog/sdc-notify-dialog.component.html
@@ -0,0 +1,39 @@
+<p-dialog [style]="{'border-top-color':'#ffb81c'}" [closable]="false" [(visible)]="store.displaySDCDialog" modal="modal" styleClass="dcae-notify"
+ width="500" [responsive]="true" data-tests-id="sdc-dialog">
+ <p-header>
+ <div style="display: flex;">
+ <span style="color: #ffb81c;
+ padding-right: 15px;
+ height: 100%;
+ display: flex;
+ justify-content: center;
+ align-items: center;" [innerHTML]="'alert-triangle' | feather:28"></span>
+ <span style="font-family: 'Open Sans', sans-serif;
+ font-size: 24px; width: 100%;">
+ Exit from DCAE
+ </span>
+ <span style="
+ height: 100%;
+ display: flex;
+ justify-content: center;
+ color:rgb(90, 90, 90);
+ align-items: center;" [innerHTML]="'x' | feather:20
+ " (click)="closeforChange()"></span>
+ </div>
+ </p-header>
+
+ <div style="padding: 0 0 20px 43px; font-family: 'Open Sans', sans-serif;
+ font-size: 14px;">
+ Do you want to save?
+ </div>
+
+ <p-footer>
+ <button mat-raised-button color="primary" style="background-color: #FFB81C; margin-right: 10px; font-size: 14px; font-family: 'Open Sans', sans-serif; height: 36px;" (click)="closeDialog()" data-tests-id="error-cancel">
+ SAVE
+ </button>
+ <button mat-raised-button class="btn-secondry" style="border-color: #FFB81C !important; color:#FFB81C !important; font-size: 14px; font-family: 'Open Sans', sans-serif;text-align: center; height: 36px;" (click)="closeforChange()"
+ data-tests-id="error-cancel">
+ DISCARD
+ </button>
+ </p-footer>
+</p-dialog>
diff --git a/public/src/app/sdc-notify-dialog/sdc-notify-dialog.component.scss b/public/src/app/sdc-notify-dialog/sdc-notify-dialog.component.scss
new file mode 100644
index 0000000..a775398
--- /dev/null
+++ b/public/src/app/sdc-notify-dialog/sdc-notify-dialog.component.scss
@@ -0,0 +1,17 @@
+:host /deep/ .dcae-notify {
+ border-top: solid 6px #ffb81c;
+}
+:host /deep/ .ui-dialog .ui-dialog-titlebar {
+ padding-top: 15px;
+ padding-left: 20px;
+ padding-right: 12px;
+ padding-bottom: 0;
+}
+
+:host /deep/ .ui-dialog-footer {
+ padding: 10px;
+}
+
+:host /deep/ .ui-dialog.ui-widget .ui-dialog-content {
+ padding-top: 10px;
+}
diff --git a/public/src/app/sdc-notify-dialog/sdc-notify-dialog.component.ts b/public/src/app/sdc-notify-dialog/sdc-notify-dialog.component.ts
new file mode 100644
index 0000000..7572012
--- /dev/null
+++ b/public/src/app/sdc-notify-dialog/sdc-notify-dialog.component.ts
@@ -0,0 +1,72 @@
+import { Component, ElementRef, ViewChild } from '@angular/core';
+import { Router } from '@angular/router';
+import { RestApiService } from '../api/rest-api.service';
+import { MainComponent } from '../main/main.component';
+import { Store } from '../store/store';
+
+@Component({
+ selector: 'app-sdc-notify-dialog',
+ templateUrl: './sdc-notify-dialog.component.html',
+ styleUrls: ['./sdc-notify-dialog.component.scss']
+})
+export class SdcNotifyDialogComponent {
+ @ViewChild(MainComponent) mainComponent: ElementRef;
+
+ constructor(
+ public store: Store,
+ private router: Router,
+ private _restApi: RestApiService
+ ) {}
+
+ closeDialog() {
+ const currentUrl = this.router.url;
+ if (currentUrl.includes('main')) {
+ if (this.store.cdumpIsDirty) {
+ this.saveCDUMP();
+ } else {
+ this.completeAndClose();
+ }
+ } else {
+ this.completeAndClose();
+ }
+ }
+
+ saveCDUMP() {
+ this.store.loader = true;
+ this._restApi
+ .saveMonitoringComponent({
+ contextType: this.store.sdcParmas.contextType,
+ serviceUuid: this.store.sdcParmas.uuid,
+ vfiName: this.store.vfiName,
+ vfcmtUuid: this.store.mcUuid,
+ flowType: this.store.flowType,
+ cdump: this.store.cdump
+ })
+ .subscribe(
+ success => {
+ this.store.loader = false;
+ this.store.mcUuid = success.uuid;
+ this.store.ifrmaeMessenger.notify('ACTION_COMPLETED');
+ },
+ error => {
+ this.store.loader = false;
+ console.log(error.notes);
+ this.store.ifrmaeMessenger.notify('ACTION_COMPLETED');
+ this.store.ErrorContent = Object.values(error.requestError);
+ this.store.displayErrorDialog = true;
+ },
+ () => {
+ this.store.ifrmaeMessenger.notify('ACTION_COMPLETED');
+ }
+ );
+ }
+
+ private completeAndClose() {
+ this.store.ifrmaeMessenger.notify('ACTION_COMPLETED');
+ this.store.displaySDCDialog = false;
+ }
+
+ closeforChange() {
+ this.completeAndClose();
+ }
+}