You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datalab.apache.org by hs...@apache.org on 2022/07/07 12:55:07 UTC

[incubator-datalab] branch feat/DATALAB-2874/add-notification-pop-up-window-appears created (now be4d0fdeb)

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

hshpak pushed a change to branch feat/DATALAB-2874/add-notification-pop-up-window-appears
in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git


      at be4d0fdeb  fixed logic by share image

This branch includes the following new commits:

     new be4d0fdeb  fixed logic by share image

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



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


[incubator-datalab] 01/01: fixed logic by share image

Posted by hs...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

hshpak pushed a commit to branch feat/DATALAB-2874/add-notification-pop-up-window-appears
in repository https://gitbox.apache.org/repos/asf/incubator-datalab.git

commit be4d0fdeb78ee3c6f58ea8d587f13056a9404229
Author: Hennadii_Shpak <bo...@gmail.com>
AuthorDate: Thu Jul 7 15:54:55 2022 +0300

     fixed logic by share image
---
 .../src/app/resources/images/images.component.ts   | 14 +++++------
 .../src/app/resources/images/images.service.ts     | 28 ++++++++++++++++++++++
 .../share-image/share-image.component.html         |  2 +-
 .../share-image/share-image.component.ts           | 17 +++++++++++++
 4 files changed, 53 insertions(+), 8 deletions(-)

diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/images/images.component.ts b/services/self-service/src/main/resources/webapp/src/app/resources/images/images.component.ts
index 7c1896bd5..1ec8e3f2d 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/images/images.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/images/images.component.ts
@@ -27,8 +27,8 @@ import { ImageModel, ProjectModel, ShareImageAllUsersParams } from './images.mod
 import { Image_Table_Column_Headers, Image_Table_Titles, Localstorage_Key, Shared_Status, Toaster_Message } from './images.config';
 import { MatDialog } from '@angular/material/dialog';
 import { ShareImageComponent } from '../../shared/modal-dialog/share-image/share-image.component';
-import { switchMap, tap } from 'rxjs/operators';
 import { Observable } from 'rxjs';
+import { ImagesService } from './images.service';
 
 @Component({
   selector: 'datalab-images',
@@ -61,6 +61,7 @@ export class ImagesComponent implements OnInit {
     public toastr: ToastrService,
     private userImagesPageService: UserImagesPageService,
     private dialog: MatDialog,
+    private imagesService: ImagesService
   ) { }
 
   ngOnInit(): void {
@@ -109,12 +110,11 @@ export class ImagesComponent implements OnInit {
       },
       panelClass: 'modal-sm'
     }).afterClosed()
-      .pipe(
-        switchMap(() => this.shareImageAllUsers(image)),
-        tap((imageListData: ProjectModel[]) => this.initImageTable(imageListData))
-      ).subscribe(
-      () => this.toastr.success(Toaster_Message.successShare, 'Success!')
-    );
+      .subscribe(() => {
+        if (this.imagesService.projectList) {
+          this.initImageTable(this.imagesService.projectList);
+        }
+      });
   }
 
   private getImageList(): ImageModel[] {
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/images/images.service.ts b/services/self-service/src/main/resources/webapp/src/app/resources/images/images.service.ts
new file mode 100644
index 000000000..3ac70b47c
--- /dev/null
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/images/images.service.ts
@@ -0,0 +1,28 @@
+import { Injectable } from '@angular/core';
+import { ImageModel, ProjectModel, ShareImageAllUsersParams } from './images.model';
+import { Observable } from 'rxjs';
+import { UserImagesPageService } from '../../core/services';
+import { tap } from 'rxjs/operators';
+
+@Injectable({
+  providedIn: 'root'
+})
+export class ImagesService {
+
+  projectList: ProjectModel[];
+
+  constructor(
+    private userImagesPageService: UserImagesPageService
+  ) { }
+
+  shareImageAllUsers(image: ImageModel): Observable<ProjectModel[]> {
+    const shareParams: ShareImageAllUsersParams = {
+      imageName: image.name,
+      projectName: image.project,
+      endpoint: image.endpoint
+    };
+    return this.userImagesPageService.shareImageAllUsers(shareParams).pipe(
+      tap((response: ProjectModel[]) => this.projectList = response)
+    );
+  }
+}
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/share-image/share-image.component.html b/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/share-image/share-image.component.html
index ffda3db02..a6f1d1e2a 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/share-image/share-image.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/share-image/share-image.component.html
@@ -32,7 +32,7 @@
     <div class="text-center m-top-30 m-bott-10">
       <button type="button" class="butt mat-raised-button" (click)="dialogRef.close()">No</button>
       <button type="button" class="butt butt-success mat-raised-button"
-              (click)="dialogRef.close(true)">Yes
+              (click)="onShare()">Yes
       </button>
     </div>
   </section>
diff --git a/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/share-image/share-image.component.ts b/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/share-image/share-image.component.ts
index ce60e32a1..a62f0db3a 100644
--- a/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/share-image/share-image.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/shared/modal-dialog/share-image/share-image.component.ts
@@ -19,6 +19,11 @@
 
 import { Component, Inject } from '@angular/core';
 import { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';
+import { ImagesService } from '../../../resources/images/images.service';
+import { UserImagesPageService } from '../../../core/services';
+import { Toaster_Message } from '../../../resources/images';
+import { ToastrService } from 'ngx-toastr';
+import { tap } from 'rxjs/operators';
 
 @Component({
   selector: 'datalab-share-image',
@@ -31,5 +36,17 @@ export class ShareImageComponent {
   constructor(
     public dialogRef: MatDialogRef<ShareImageComponent>,
     @Inject(MAT_DIALOG_DATA) public data: any,
+    private imagesService: ImagesService,
+    private userImagesPageService: UserImagesPageService,
+    private toastr: ToastrService,
   ) { }
+
+  onShare() {
+    this.dialogRef.close();
+    this.imagesService.shareImageAllUsers(this.data.image).pipe(
+      tap(response => this.imagesService.projectList = response)
+    ).subscribe(
+      () => this.toastr.success(Toaster_Message.successShare, 'Success!')
+    );
+  }
 }


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