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

dgnatyshyn pushed a commit to branch bucket-browser-azure
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git

commit 4965fef7506f70766bd7d771ad93ebbcde8e2e23
Author: Dmytro_Gnatyshyn <di1...@ukr.net>
AuthorDate: Thu Jul 16 17:42:58 2020 +0300

    [DLAB-1786]: Added changes for bucket browser on azure(UI)
---
 .../bucket-browser/bucket-browser.component.html   |  1 +
 .../bucket-browser/bucket-browser.component.ts     | 11 +++++++++
 .../folder-tree/folder-tree.component.html         |  1 +
 .../folder-tree/folder-tree.component.ts           | 27 ++++++++++++----------
 .../detail-dialog/detail-dialog.component.html     |  2 +-
 .../detail-dialog/detail-dialog.component.ts       |  2 +-
 .../resources-grid/resources-grid.component.ts     | 10 +++++---
 .../webapp/src/assets/styles/_dialogs.scss         |  4 ++++
 8 files changed, 41 insertions(+), 17 deletions(-)

diff --git 
a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.html
 
b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.html
index 449445f..bb769aa 100644
--- 
a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.html
+++ 
b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.html
@@ -127,6 +127,7 @@
           (disableAll)=dissableAll($event)
           [folders]=folders
           [endpoint]=endpoint
+          [cloud]="cloud"
         > </dlab-folder-tree>
       </div>
       <div class="directory" [ngClass]="{'selection-opened': 
isSelectionOpened}" [hidden]="!path">
diff --git 
a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.ts
 
b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.ts
index fc8ed49..3ffcada 100644
--- 
a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.ts
+++ 
b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.ts
@@ -64,6 +64,7 @@ export class BucketBrowserComponent implements OnInit {
   public isFileUploading: boolean;
   public uploadingQueueLength: number = 4;
   public maxFileSize: number = 4294967296;
+  public cloud: string;
 
   @ViewChild(FolderTreeComponent, {static: true}) folderTreeComponent;
 
@@ -88,6 +89,7 @@ export class BucketBrowserComponent implements OnInit {
     this.bucketDataService.refreshBucketdata(this.bucketName, this.endpoint);
     this.bucketStatus = this.data.bucketStatus;
     this.buckets = this.data.buckets;
+    this.cloud = this.getCloud();
   }
 
   public getTokenValidTime() {
@@ -343,6 +345,15 @@ export class BucketBrowserComponent implements OnInit {
     this.path = '';
     this.bucketDataService.refreshBucketdata(this.bucketName, this.endpoint);
     this.isSelectionOpened = false;
+    this.cloud = this.getCloud();
+  }
+
+  private getCloud() {
+    return this.buckets.filter(v => v.children.some(bucket => {
+      console.log(bucket.name);
+      console.log(this.bucketName);
+      return bucket.name === this.bucketName;
+    }))[0].cloud.toLowerCase();
   }
 
   public createFolder(folder) {
diff --git 
a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/folder-tree/folder-tree.component.html
 
b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/folder-tree/folder-tree.component.html
index 6f67609..2e8115f 100644
--- 
a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/folder-tree/folder-tree.component.html
+++ 
b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/folder-tree/folder-tree.component.html
@@ -24,6 +24,7 @@
         <mat-error *ngIf="folderFormControl.hasError('isDuplicate')">
           Folder with this name already exists
         </mat-error>
+        <mat-hint *ngIf="cloud === 'azure'">If you do not upload any object to 
the folder, this folder will be removed on MS Azure</mat-hint>
       </mat-form-field>
       <button (click)="createFolder(node, itemValue.value)"
               [ngClass]="{'check': folderFormControl.valid && 
folderFormControl.dirty && !folderCreating}"
diff --git 
a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/folder-tree/folder-tree.component.ts
 
b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/folder-tree/folder-tree.component.ts
index 9400637..1684b26 100644
--- 
a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/folder-tree/folder-tree.component.ts
+++ 
b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/folder-tree/folder-tree.component.ts
@@ -29,7 +29,8 @@ export class FolderTreeComponent implements OnDestroy {
   @Output() showFolderContent: EventEmitter<any> = new EventEmitter();
   @Output() disableAll: EventEmitter<any> = new EventEmitter();
   @Input() folders;
-  @Input() endpoint;
+  @Input() endpoint: string;
+  @Input() cloud: string;
 
   private folderTreeSubs;
   private path = [];
@@ -213,19 +214,15 @@ private addNewItem(node: TodoItemFlatNode, file, isFile) {
     }
     const path = `${ flatParent.object && flatObject !== '/' ? flatObject : 
''}${itemValue}/`;
     const bucket = flatParent.object ? flatParent.object.bucket : 
flatParent.item;
-    // const formData = new FormData();
-    // formData.append('file', '');
-    // formData.append('object', path);
-    // formData.append('bucket', bucket);
-    // formData.append('endpoint', this.endpoint);
 
     this.bucketDataService.emptyFolder = null;
-    this.bucketBrowserService.createFolder({
-      'bucket': bucket,
-      'folder': path.replace(/ا/g, ''),
-      'endpoint': this.endpoint
-    })
-      .subscribe(_ => {
+    if (this.cloud !== 'azure') {
+      this.bucketBrowserService.createFolder({
+        'bucket': bucket,
+        'folder': path.replace(/ا/g, ''),
+        'endpoint': this.endpoint
+      })
+        .subscribe(_ => {
           this.bucketDataService.insertItem(flatParent, itemValue, false);
           this.toastr.success('Folder successfully created!', 'Success!');
           this.folderCreating = false;
@@ -234,6 +231,12 @@ private addNewItem(node: TodoItemFlatNode, file, isFile) {
           this.folderCreating = false;
           this.toastr.error(error.message || 'Folder creation error!', 
'Oops!');
         });
+    } else {
+      this.bucketDataService.insertItem(flatParent, itemValue, false);
+      this.toastr.success('Folder successfully created!', 'Success!');
+      this.folderCreating = false;
+      this.removeItem(node);
+    }
   }
 
   private resetForm() {
diff --git 
a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.html
 
b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.html
index b408d98..409e3ae 100644
--- 
a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.html
+++ 
b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.html
@@ -139,7 +139,7 @@
                       matTooltipPosition="above"
                       [matTooltipClass]="'bucket-item-tooltip'"
                       [ngClass]="{'not-allow': !this.bucketStatus.view || 
!this.data.buckets.length}"
-                      (click)="bucketBrowser(notebook.bucket_name, 
notebook.endpoint, this.bucketStatus.view && this.data.buckets.length)"
+                      (click)="bucketBrowser(notebook.cloud_provider !== 
'azure' ? notebook.bucket_name : notebook.account_name + '.' + 
notebook.bucket_name, notebook.endpoint, this.bucketStatus.view && 
this.data.buckets.length)"
                 >
                   Open bucket browser
                 </span>
diff --git 
a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.ts
 
b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.ts
index bf55dc6..a3f55ff 100644
--- 
a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.ts
+++ 
b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.ts
@@ -140,7 +140,7 @@ export class DetailDialogComponent implements OnInit {
     if (!permition) {
       return;
     }
-    bucketName = this.isBucketAllowed ? this.notebook.bucket_name : 
this.data.buckets[0].children[0].name;
+    bucketName = this.isBucketAllowed ? bucketName : 
this.data.buckets[0].children[0].name;
     // bucketName = 'ofuks-1304-pr2-local-bucket';
     this.dialog.open(BucketBrowserComponent, { data:
         {bucket: bucketName, endpoint: endpoint, bucketStatus: 
this.bucketStatus, buckets: this.data.buckets},
diff --git 
a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.ts
 
b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.ts
index e299d04..810304b 100644
--- 
a/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.ts
+++ 
b/services/self-service/src/main/resources/webapp/src/app/resources/resources-grid/resources-grid.component.ts
@@ -49,6 +49,8 @@ export interface SharedEndpoint {
   user_own_bucket_name?: string | null;
   user_container_name?: string | null;
   user_own_bicket_name?: string | null;
+  shared_storage_account_name?: string | null;
+  user_storage_account_name?: string | null;
 }
 
 export interface ProjectEndpoint {
@@ -64,6 +66,7 @@ export interface BucketList {
   name: string;
   children: Bucket[];
   length?: number;
+  cloud: string;
 }
 
 export interface Bucket {
@@ -256,11 +259,12 @@ export class ResourcesGridComponent implements OnInit {
         project.endpoints.forEach((endpoint: ProjectEndpoint) => {
           if (endpoint.status === 'ACTIVE') {
             const currEndpoint: SharedEndpoint = 
project.projectEndpoints[endpoint.name];
-            const edgeItem: BucketList = {name: `${project.project} 
(${endpoint.name})`, children: []};
+            const edgeItem: BucketList = {name: `${project.project} 
(${endpoint.name})`, children: [], cloud: endpoint.cloudProvider};
             const projectBucket: string = currEndpoint.user_own_bicket_name
               || currEndpoint.user_own_bucket_name
-              || currEndpoint.user_container_name;
-            const sharedBucket: string = currEndpoint.shared_bucket_name || 
currEndpoint.shared_container_name;
+              || currEndpoint.user_container_name ? 
currEndpoint.user_storage_account_name + '.' + currEndpoint.user_container_name 
: null;
+            const sharedBucket: string = currEndpoint.shared_bucket_name ||
+            currEndpoint.shared_container_name ? 
currEndpoint.shared_storage_account_name + '.' + 
currEndpoint.shared_container_name : null;
             if (projectBucket && currEndpoint.status !== 'terminated'
               && currEndpoint.status !== 'terminating' && currEndpoint.status 
!== 'failed') {
               edgeItem.children.push({name: projectBucket, endpoint: 
endpoint.name});
diff --git 
a/services/self-service/src/main/resources/webapp/src/assets/styles/_dialogs.scss
 
b/services/self-service/src/main/resources/webapp/src/assets/styles/_dialogs.scss
index 91881da..c00dd14 100644
--- 
a/services/self-service/src/main/resources/webapp/src/assets/styles/_dialogs.scss
+++ 
b/services/self-service/src/main/resources/webapp/src/assets/styles/_dialogs.scss
@@ -422,6 +422,10 @@ mat-dialog-container {
   }
 }
 
+.add-folder-form .mat-hint{
+  color: #00bcd4;
+}
+
 
 @media screen and (max-width: 1280px) {
   .modal-fullscreen {


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@dlab.apache.org
For additional commands, e-mail: commits-h...@dlab.apache.org

Reply via email to