You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datalab.apache.org by dg...@apache.org on 2021/01/14 14:13:37 UTC

[incubator-datalab] 01/01: [DATALAB-2231]: Fixed bugs on Edge node action dialog

This is an automated email from the ASF dual-hosted git repository.

dgnatyshyn pushed a commit to branch DATALAB-2231
in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git

commit 8eb0da727caf5920cc15a9356c58f2d635343aa4
Author: Dmytro_Gnatyshyn <di...@ukr.net>
AuthorDate: Thu Jan 14 16:12:05 2021 +0200

    [DATALAB-2231]: Fixed bugs on Edge node action dialog
---
 .../management-grid/management-grid.component.scss   |  2 ++
 .../project/project-list/project-list.component.ts   | 18 +++++++++++-------
 .../edge-action-dialog.component.ts                  | 20 ++++++++++++++------
 .../notification-dialog.component.ts                 |  4 ++--
 4 files changed, 29 insertions(+), 15 deletions(-)

diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/management/management-grid/management-grid.component.scss b/services/self-service/src/main/resources/webapp/src/app/administration/management/management-grid/management-grid.component.scss
index 841a193..4cec7f8 100644
--- a/services/self-service/src/main/resources/webapp/src/app/administration/management/management-grid/management-grid.component.scss
+++ b/services/self-service/src/main/resources/webapp/src/app/administration/management/management-grid/management-grid.component.scss
@@ -215,6 +215,8 @@
 
     .buttons-wrap{
       padding: 0;
+      border-top: 1px solid rgba(0,0,0,.12);
+      transform: translateY(-1px);
     }
 
     .buttons{
diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/project/project-list/project-list.component.ts b/services/self-service/src/main/resources/webapp/src/app/administration/project/project-list/project-list.component.ts
index 4900fd8..b977e4f 100644
--- a/services/self-service/src/main/resources/webapp/src/app/administration/project/project-list/project-list.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/administration/project/project-list/project-list.component.ts
@@ -128,13 +128,17 @@ export class ProjectListComponent implements OnInit, OnDestroy {
           return endpoint.status === 'TERMINATED' || endpoint.status === 'FAILED';
         }
       });
-      this.dialog.open(EdgeActionDialogComponent, {data: {type: action, item: endpoints}, panelClass: 'modal-sm'})
-        .afterClosed().subscribe(endpoint => {
-        if (endpoint && endpoint.length) {
-        this.toggleStatus.emit({project, endpoint, action});
-        }
-      }, error => this.toastr.error(error.message || `Endpoint ${action} failed!`, 'Oops!')
-      );
+      if (action === 'terminate' && endpoints.length === 1) {
+        this.toggleStatus.emit({project, endpoint: endpoints, action});
+      } else {
+        this.dialog.open(EdgeActionDialogComponent, {data: {type: action, item: endpoints}, panelClass: 'modal-sm'})
+          .afterClosed().subscribe(endpoint => {
+            if (endpoint && endpoint.length) {
+              this.toggleStatus.emit({project, endpoint, action});
+            }
+          }, error => this.toastr.error(error.message || `Endpoint ${action} failed!`, 'Oops!')
+        );
+      }
     }
 
   public areStartedEndpoints(project) {
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/edge-action-dialog/edge-action-dialog.component.ts b/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/edge-action-dialog/edge-action-dialog.component.ts
index 06b7be9..1fe8e66 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/edge-action-dialog/edge-action-dialog.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/edge-action-dialog/edge-action-dialog.component.ts
@@ -29,12 +29,12 @@ import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
       <h4 class="modal-title"><span class="action">{{data.type | titlecase}}</span> edge node</h4>
       <button type="button" class="close" (click)="this.dialogRef.close()">&times;</button>
     </header>
-      <div mat-dialog-content class="content message mat-dialog-content">
+      <div mat-dialog-content class="content message mat-dialog-content" >
+        <div *ngIf="data.item.length > 1; else oneNode">
           <h3 class="strong">Select the edge nodes you want to {{data.type}}</h3>
           <ul class="endpoint-list scrolling-content">
             <li *ngIf="data.item.length>1" class="endpoint-list-item header-item">
               <span class="strong all item-wrapper" (click)="chooseAll()">
-<!--                <input type="checkbox" [(ngModel)]="isAllChecked" (change)="chooseAll()">-->
                 <div class="empty-checkbox" [ngClass]="{'checked': isAllChecked || isSomeSelected}">
                   <span class="checked-checkbox" *ngIf="isAllChecked"></span>
                   <span class="line-checkbox" *ngIf="isSomeSelected"></span>
@@ -43,17 +43,21 @@ import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
               </span>
             </li>
             <div class="scrolling-content" id="scrolling">
-            <li *ngFor="let endpoint of data.item" class="endpoint-list-item">
+              <li *ngFor="let endpoint of data.item" class="endpoint-list-item">
                 <span class="strong item-wrapper" (click)="endpointAction(endpoint)">
                   <div class="empty-checkbox" [ngClass]="{'checked': endpoint.checked}">
                     <span class="checked-checkbox" *ngIf="endpoint.checked"></span>
                   </div>
-<!--                    <input type="checkbox" [(ngModel)]="endpoint.checked" (change)="endpointAction()">      -->
+                  <!--                    <input type="checkbox" [(ngModel)]="endpoint.checked" (change)="endpointAction()">      -->
                   <span class="pl-5">{{endpoint.name}}</span>
                 </span>
-            </li>
+              </li>
             </div>
           </ul>
+        </div>
+        <ng-template #oneNode>
+          Edge node <span class="strong">{{data.item[0].name}}</span> wil be {{data.type === 'stop' ? 'stopped' : 'recreated'}}
+        </ng-template>
 
       <p class="m-top-20 action-text"><span class="strong">Do you want to proceed?</span></p>
 
@@ -70,7 +74,8 @@ import { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';
     header h4 i { vertical-align: bottom; }
     header a i { font-size: 20px; }
     header a:hover i { color: #35afd5; cursor: pointer; }
-    .endpoint-list{text-align: left; margin-top: 30px}
+    h3.strong{ margin-top: 10px;}
+    .endpoint-list{text-align: left; margin-top: 15px}
     .endpoint-list-item{padding: 5px 20px}
     .action{text-transform: capitalize}
     .action-text { text-align: center; }
@@ -89,6 +94,9 @@ export class EdgeActionDialogComponent implements OnDestroy {
   constructor(
     public dialogRef: MatDialogRef<EdgeActionDialogComponent>,
     @Inject(MAT_DIALOG_DATA) public data: any) {
+    if (this.data.item.length === 1) {
+      this.endpointsNewStatus = this.data.item;
+    }
   }
 
   public endpointAction(target?) {
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/notification-dialog/notification-dialog.component.ts b/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/notification-dialog/notification-dialog.component.ts
index 35419c2..05d32bb 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/notification-dialog/notification-dialog.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/notification-dialog/notification-dialog.component.ts
@@ -125,7 +125,7 @@ import {Endpoint} from '../../../administration/project/project.component';
                        <div class="endpoint">Resources</div>
                        <div class="status">Further status</div>
                      </mat-list-item>
-                     <div class="scrolling-content">
+                     <div class="scrolling-content scrolling">
                        <mat-list-item *ngFor="let resource of data.item.resources" class="sans node">
                          <div class="endpoint ellipsis">{{resource}}</div>
                          <div class="status terminated">Terminated</div>
@@ -170,7 +170,7 @@ import {Endpoint} from '../../../administration/project/project.component';
     .confirm-message{color: #ef5c4b;font-size: 13px;min-height: 18px; text-align: center; padding-top: 20px}
     .checkbox{margin-right: 5px;vertical-align: middle; margin-bottom: 3px;}
     label{cursor: pointer}
-    .bottom-message{padding-top: 15px;}
+    .bottom-message{padding-top: 15px; overflow: hidden}
     .table-header{padding-bottom: 10px;}
     .alert{text-align: left; line-height: 22px; padding-bottom: 25px;padding-top: 15px;}
     .quota-message{padding-top: 10px}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datalab.apache.org
For additional commands, e-mail: commits-help@datalab.apache.org