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

ankovalyshyn pushed a commit to branch feature/projects
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git

commit 7557f4958c1837de5574a3c8db3c65e4f62000dd
Author: Andriana Kovalyshyn <[email protected]>
AuthorDate: Mon May 27 16:52:08 2019 +0300

    [DLAB-631]: projects removing implementation added
---
 .../app/administration/project/project-data.service.ts   |  5 +----
 .../project/project-form/project-form.component.ts       |  1 -
 .../app/administration/project/project.component.html    |  6 +++++-
 .../src/app/administration/project/project.component.ts  | 16 +++++++++++-----
 .../core/services/applicationServiceFacade.service.ts    |  7 +++++++
 .../webapp/src/app/core/services/project.service.ts      |  9 +++++++++
 6 files changed, 33 insertions(+), 11 deletions(-)

diff --git 
a/services/self-service/src/main/resources/webapp/src/app/administration/project/project-data.service.ts
 
b/services/self-service/src/main/resources/webapp/src/app/administration/project/project-data.service.ts
index dcc44cd..1df5a18 100644
--- 
a/services/self-service/src/main/resources/webapp/src/app/administration/project/project-data.service.ts
+++ 
b/services/self-service/src/main/resources/webapp/src/app/administration/project/project-data.service.ts
@@ -42,9 +42,6 @@ export class ProjectDataService {
 
   private getProjectsList() {
     this.projectService.getProjectsList().subscribe(
-      (response: Project[]) => {
-        debugger;
-        this._projects.next(response)
-      });
+      (response: Project[]) => this._projects.next(response));
   }
 }
\ No newline at end of file
diff --git 
a/services/self-service/src/main/resources/webapp/src/app/administration/project/project-form/project-form.component.ts
 
b/services/self-service/src/main/resources/webapp/src/app/administration/project/project-form/project-form.component.ts
index 75d9fc7..a16292d 100644
--- 
a/services/self-service/src/main/resources/webapp/src/app/administration/project/project-form/project-form.component.ts
+++ 
b/services/self-service/src/main/resources/webapp/src/app/administration/project/project-form/project-form.component.ts
@@ -75,7 +75,6 @@ export class ProjectFormComponent implements OnInit {
   }
 
   public selectOptions(list, key, select?) {
-    debugger;
     this.projectForm.controls[key].setValue(select ? list : []);
   }
 
diff --git 
a/services/self-service/src/main/resources/webapp/src/app/administration/project/project.component.html
 
b/services/self-service/src/main/resources/webapp/src/app/administration/project/project.component.html
index cf686e0..9e46186 100644
--- 
a/services/self-service/src/main/resources/webapp/src/app/administration/project/project.component.html
+++ 
b/services/self-service/src/main/resources/webapp/src/app/administration/project/project.component.html
@@ -24,7 +24,11 @@
       <i class="material-icons">add</i>Create new
     </button>
   </div>
-  <div></div>
+  <div>
+    <button mat-raised-button class="butt" (click)="refreshGrid()" 
*ngIf="projects?.lenght > 1">
+      <i class="material-icons">autorenew</i>Refresh
+    </button>
+  </div>
 </div>
 
 <mat-card class="base-retreat project-form" *ngIf="projects?.lenght < 1">
diff --git 
a/services/self-service/src/main/resources/webapp/src/app/administration/project/project.component.ts
 
b/services/self-service/src/main/resources/webapp/src/app/administration/project/project.component.ts
index 5b05af3..5abeabc 100644
--- 
a/services/self-service/src/main/resources/webapp/src/app/administration/project/project.component.ts
+++ 
b/services/self-service/src/main/resources/webapp/src/app/administration/project/project.component.ts
@@ -22,7 +22,7 @@ import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from 
'@angular/material';
 import { Subscription } from 'rxjs';
 
 import { ProjectDataService } from './project-data.service';
-import { HealthStatusService, UserAccessKeyService } from 
'../../core/services';
+import { HealthStatusService, ProjectService } from '../../core/services';
 import { NotificationDialogComponent } from 
'../../shared/modal-dialog/notification-dialog';
 
 export interface Project {
@@ -45,6 +45,7 @@ export class ProjectComponent implements OnInit, OnDestroy {
 
   constructor(
     public dialog: MatDialog,
+    private projectService: ProjectService,
     private projectDataService: ProjectDataService,
     private healthStatusService: HealthStatusService,
     private ref: ChangeDetectorRef,
@@ -65,6 +66,10 @@ export class ProjectComponent implements OnInit, OnDestroy {
     this.subscriptions.unsubscribe();
   }
 
+  refreshGrid() {
+    this.projectDataService.updateProjects();
+  }
+
   createProject() {
     console.log('create');
 
@@ -83,10 +88,11 @@ export class ProjectComponent implements OnInit, OnDestroy {
   }
 
   public deleteProject($event) {
-    $event.name = $event.project_name;
     this.dialog.open(NotificationDialogComponent, { data: { type: 
'confirmation', item: $event }, panelClass: 'modal-sm' })
-      .afterClosed().subscribe(() => {
-        console.log('Delete project');
+      .afterClosed().subscribe(result => {
+        this.projectService.deleteProject($event.name).subscribe(() => {
+          this.refreshGrid();
+        });
       });
   }
 
@@ -103,7 +109,7 @@ export class ProjectComponent implements OnInit, OnDestroy {
       <div class="dialog-header">
         <h4 class="modal-title">
           <span *ngIf="data?.action === 'create'">Create new project</span>
-          <span *ngIf="data?.action === 'edit'">Edit {{ data.item.project_name 
}}</span>
+          <span *ngIf="data?.action === 'edit'">Edit {{ data.item.name 
}}</span>
         </h4>
         <button type="button" class="close" 
(click)="dialogRef.close()">&times;</button>
       </div>
diff --git 
a/services/self-service/src/main/resources/webapp/src/app/core/services/applicationServiceFacade.service.ts
 
b/services/self-service/src/main/resources/webapp/src/app/core/services/applicationServiceFacade.service.ts
index c9b176c..9a93bb1 100644
--- 
a/services/self-service/src/main/resources/webapp/src/app/core/services/applicationServiceFacade.service.ts
+++ 
b/services/self-service/src/main/resources/webapp/src/app/core/services/applicationServiceFacade.service.ts
@@ -533,6 +533,13 @@ export class ApplicationServiceFacade {
       this.requestRegistry.Item(ApplicationServiceFacade.PROJECT),
       null);
   }
+
+  public buildDeleteProject(param): Observable<any> {
+    return this.buildRequest(RequestMethod.Delete,
+      this.requestRegistry.Item(ApplicationServiceFacade.PROJECT) + param,
+      null);
+  }
+
   public buildGetEndpointsData(): Observable<any> {
     return this.buildRequest(RequestMethod.Get,
       this.requestRegistry.Item(ApplicationServiceFacade.ENDPOINT),
diff --git 
a/services/self-service/src/main/resources/webapp/src/app/core/services/project.service.ts
 
b/services/self-service/src/main/resources/webapp/src/app/core/services/project.service.ts
index 2f33dcc..f9d72b7 100644
--- 
a/services/self-service/src/main/resources/webapp/src/app/core/services/project.service.ts
+++ 
b/services/self-service/src/main/resources/webapp/src/app/core/services/project.service.ts
@@ -43,4 +43,13 @@ export class ProjectService {
         map(response => response),
         catchError(ErrorUtils.handleServiceError));
   }
+
+  public deleteProject(data): Observable<{}> {
+    const url = `/${data}`;
+    return this.applicationServiceFacade
+      .buildDeleteProject(url)
+      .pipe(
+        map(response => response),
+        catchError(ErrorUtils.handleServiceError));
+  }
 }
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to