You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by dg...@apache.org on 2020/05/28 16:55:37 UTC

[incubator-dlab] branch DLAB-1840 created (now f271f2a)

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

dgnatyshyn pushed a change to branch DLAB-1840
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git.


      at f271f2a  small fix

This branch includes the following new commits:

     new d7b9474  [DLAB-1840]: Implemented set tasks concerning download
     new f271f2a  small fix

The 2 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@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org


[incubator-dlab] 02/02: small fix

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

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

commit f271f2a49a0770befa64eeb4231bcab637db30c3
Author: Dmytro Gnatyshyn <di...@ukr.net>
AuthorDate: Thu May 28 19:55:14 2020 +0300

    small fix
---
 .../src/app/resources/bucket-browser/bucket-browser.component.html    | 4 ++--
 1 file changed, 2 insertions(+), 2 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 3b92644..7628c09 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
@@ -189,8 +189,8 @@
                 </span>
               </div>
               <div class="size">{{file.object?.size | convertFileSize}}</div>
-<!--              <div class="date" *ngIf="!file.isDownloading">{{convertDate(file.object?.lastModifiedDate) | date: 'dd/MM/yyyy hh:mm:ss aa'  }}</div>-->
-              <div class="date" *ngIf="!file.isDownloading">{{file.object?.lastModifiedDate }}</div>
+              <div class="date" *ngIf="!file.isDownloading">{{convertDate(file.object?.lastModifiedDate) | date: 'dd/MM/yyyy hh:mm:ss aa'  }}</div>
+<!--              <div class="date" *ngIf="!file.isDownloading">{{file.object?.lastModifiedDate }}</div>-->
               <div class="progress-wrapper" *ngIf="file.isDownloading">
                 <div class="progres">
                   <span class="progress-bar-text">{{file.progress || 0}}% Downloading...</span>


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


[incubator-dlab] 01/02: [DLAB-1840]: Implemented set tasks concerning download

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

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

commit d7b947424d15d228690b4a00789574a5b959ad63
Author: Dmytro Gnatyshyn <di...@ukr.net>
AuthorDate: Thu May 28 19:54:03 2020 +0300

    [DLAB-1840]: Implemented set tasks concerning download
---
 .../manage-environment-dilog.component.ts              |  1 -
 .../reporting-grid/reporting-grid.component.html       |  2 +-
 .../bucket-browser/bucket-browser.component.html       |  9 ++++-----
 .../bucket-browser/bucket-browser.component.scss       |  4 ++++
 .../bucket-browser/bucket-browser.component.ts         | 18 ++++++++++--------
 .../resources/bucket-browser/bucket-data.service.ts    | 18 ++++++++++++------
 .../buckets-tree/bucket-tree.component.ts              |  1 -
 .../folder-tree/folder-tree.component.ts               | 15 +++++----------
 .../cluster-details/cluster-details.component.ts       |  2 --
 .../detail-dialog/detail-dialog.component.ts           |  2 --
 .../resources-grid/resources-grid.component.ts         |  8 --------
 .../webapp/src/app/resources/resources.component.html  |  4 ++--
 12 files changed, 38 insertions(+), 46 deletions(-)

diff --git a/services/self-service/src/main/resources/webapp/src/app/administration/management/manage-environment/manage-environment-dilog.component.ts b/services/self-service/src/main/resources/webapp/src/app/administration/management/manage-environment/manage-environment-dilog.component.ts
index 5187fa0..0b405be 100644
--- a/services/self-service/src/main/resources/webapp/src/app/administration/management/manage-environment/manage-environment-dilog.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/administration/management/manage-environment/manage-environment-dilog.component.ts
@@ -90,7 +90,6 @@ export class ManageEnvironmentComponent implements OnInit {
   }
 
   public setProjectsControl() {
-    console.log(this.data.projectsList);
     this.manageUsersForm.setControl('projects',
       this._fb.array((this.data.projectsList || []).map((x: any) => this._fb.group({
         project: x.name,
diff --git a/services/self-service/src/main/resources/webapp/src/app/reporting/reporting-grid/reporting-grid.component.html b/services/self-service/src/main/resources/webapp/src/app/reporting/reporting-grid/reporting-grid.component.html
index 537cbb5..577e2d4 100644
--- a/services/self-service/src/main/resources/webapp/src/app/reporting/reporting-grid/reporting-grid.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/reporting/reporting-grid/reporting-grid.component.html
@@ -22,7 +22,7 @@
 
     <ng-container matColumnDef="name">
       <th mat-header-cell *matHeaderCellDef class="env_name label-header">
-        <div class="label"><span class="text"> Environment name</span></div>
+        <div class="label"><span class="text"> Resource name</span></div>
         <button mat-icon-button aria-label="More" class="ar" (click)="toggleFilterRow()">
           <i class="material-icons">
             <span *ngIf="filteredReportData.dlab_id.length > 0; else dlab_id_filtered">filter_list</span>
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 8dcf4bd..3b92644 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
@@ -150,7 +150,7 @@
           </div>
         </div>
         <ul class="folder-tree">
-          <li *ngFor="let file of folderItems" class="folder-item" >
+          <li *ngFor="let file of folderItems" class="folder-item" [ngClass]="{'events-none': file.isDownloading }">
             <div class="folder-item-wrapper" *ngIf="file.children && file.item" (click)="showItem(file)">
               <div class="name name-folder">
 <!--                <span *ngIf="this.bucketStatus.delete" class="empty-checkbox" [ngClass]="{'checked': file.isFolderSelected}" (click)="toggleSelectedFile(file, 'folder');$event.stopPropagation()" >-->
@@ -173,14 +173,13 @@
             <div class="folder-item-wrapper"  (click)="toggleSelectedFile(file, 'file')" *ngIf="!file.children && file.item !== 'ا'">
               <div class="name name-file">
 
-                 <span class="empty-checkbox" [ngClass]="{'checked': file.isSelected}" (click)="toggleSelectedFile(file, 'file');$event.stopPropagation()" >
+                 <span class="empty-checkbox" [ngClass]="{'checked': file.isSelected, 'not-allowed': file.isDownloading}" (click)="toggleSelectedFile(file, 'file');$event.stopPropagation()" >
                     <span class="checked-checkbox" *ngIf="file.isSelected"></span>
                   </span>
                 <i class="material-icons folder-icon" >description</i>
 
                 <span
                   class="item-name name-wrap"
-
                   matTooltip="{{file.item}}"
                   matTooltipPosition="above"
                   matTooltipShowDelay="1000"
@@ -190,8 +189,8 @@
                 </span>
               </div>
               <div class="size">{{file.object?.size | convertFileSize}}</div>
-              <div class="date" *ngIf="!file.isDownloading">{{convertDate(file.object?.lastModifiedDate) | date: 'dd/MM/yyyy hh:mm:ss aa'  }}</div>
-<!--              <div class="date" *ngIf="!file.isDownloading">{{file.object?.lastModifiedDate }}</div>-->
+<!--              <div class="date" *ngIf="!file.isDownloading">{{convertDate(file.object?.lastModifiedDate) | date: 'dd/MM/yyyy hh:mm:ss aa'  }}</div>-->
+              <div class="date" *ngIf="!file.isDownloading">{{file.object?.lastModifiedDate }}</div>
               <div class="progress-wrapper" *ngIf="file.isDownloading">
                 <div class="progres">
                   <span class="progress-bar-text">{{file.progress || 0}}% Downloading...</span>
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.scss b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.scss
index 1787011..fbdf05b 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.scss
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-browser.component.scss
@@ -661,6 +661,10 @@ input[type='file'] {
   }
 }
 
+.events-none{
+  pointer-events: none;
+}
+
 @media only screen and (max-height: 920px) {
   .bucket-wrapper {
     height: 55vh;
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 3172850..d08bdad 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
@@ -56,7 +56,8 @@ export class BucketBrowserComponent implements OnInit {
   public selectedItems;
   public searchValue: string;
   public isQueueFull: boolean;
-  public refreshTokenLimit = 300000;
+  // public refreshTokenLimit = 900000;
+  public refreshTokenLimit = 3580000;
   private isTokenRefreshing = false;
 
 
@@ -100,7 +101,8 @@ export class BucketBrowserComponent implements OnInit {
 
   private refreshToken() {
     this.isTokenRefreshing = true;
-    this.auth.refreshToken().subscribe(v => {
+    this.auth.refreshToken().subscribe(tokens => {
+      this.storage.storeTokens(tokens);
       this.isTokenRefreshing = false;
     });
     this.sendFile();
@@ -231,7 +233,7 @@ export class BucketBrowserComponent implements OnInit {
     }
     this.folderItems = event.element ? event.element.children : event.children;
     if (this.folderItems) {
-      this.folders = this.folderItems.filter(v => v.children).sort((a, b) => a.item > b.item ? 1 : -1);
+      this.folders = this.folderItems.filter(v => v.children);
       const files = this.folderItems.filter(v => !v.children).sort((a, b) => a.item > b.item ? 1 : -1);
       this.folderItems = [...this.folders, ...files];
       this.objectPath = event.pathObject;
@@ -293,6 +295,7 @@ export class BucketBrowserComponent implements OnInit {
     const uploading = this.addedFiles.filter(v => v.status === 'uploading');
     this.isQueueFull = !!waitUploading.length;
     this.isFileUploading = !!this.addedFiles.filter(v => v.status === 'uploading').length;
+    console.log((this.getTokenValidTime() / 1000 / 60 ).toFixed(0) + ' minutes');
     if ((this.refreshTokenLimit > this.getTokenValidTime()) && !this.isTokenRefreshing) {
       this.refreshToken();
     }
@@ -352,8 +355,11 @@ export class BucketBrowserComponent implements OnInit {
     const selected = this.folderItems.filter(item => item.isSelected);
     const folderSelected = this.folderItems.filter(item => item.isFolderSelected);
     if (action === 'download') {
-      const path = encodeURIComponent(`${this.pathInsideBucket}${this.selected[0].item}`);
+      this.clearSelection();
+      this.isActionsOpen = false;
+      const path = encodeURIComponent(`${this.pathInsideBucket}${selected[0].item}`);
       selected[0]['isDownloading'] = true;
+      this.folderItems.forEach(item => item.isSelected = false);
       this.bucketBrowserService.downloadFile(`/${this.bucketName}/object/${path}/endpoint/${this.endpoint}/download`)
         .subscribe(event =>  {
             if (event['type'] === HttpEventType.DownloadProgress) {
@@ -365,10 +371,7 @@ export class BucketBrowserComponent implements OnInit {
                 selected[0]['isDownloading'] = false;
                 selected[0].progress = 0;
               }, 1000);
-
-              this.folderItems.forEach(item => item.isSelected = false);
             }
-
         }, error => {
             this.toastr.error(error.message || 'File downloading error!', 'Oops!');
             selected[0]['isDownloading'] = false;
@@ -399,7 +402,6 @@ export class BucketBrowserComponent implements OnInit {
         });
       });
 
-
     }
   }
 
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-data.service.ts b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-data.service.ts
index 003e615..e6640a8 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-data.service.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-data.service.ts
@@ -44,7 +44,7 @@ export class BucketDataService {
 
      this.serverData = v;
      if (this.emptyFolder) {
-       copiedData.push(this.emptyFolder);
+       copiedData.unshift(this.emptyFolder);
      }
      backetData = this.convertToFolderTree(copiedData);
      const data = this.buildFileTree({[bucket]: backetData}, 0);
@@ -84,13 +84,19 @@ export class BucketDataService {
     }
 
   public insertItem(parent: TodoItemNode, name, isFile, emptyFolderObj?) {
-      if (parent.children) {
+    if (parent.children) {
         if (isFile) {
-          parent.children.push(name as TodoItemNode);
+          parent.children.unshift(name as TodoItemNode);
         } else {
-          parent.children.push({item: '', children: [], object: {}} as TodoItemNode);
-          this.emptyFolder = emptyFolderObj;
-          this._bucketData.next(this.data);
+          if (name) {
+            const child = {item: name, children: [], object: JSON.parse(JSON.stringify(parent.object))};
+            child.object.object = child.object.object.slice(0, -1) + child.item + '/';
+            parent.children.unshift(child as TodoItemNode);
+          } else {
+            parent.children.unshift({item: '', children: [], object: {}} as TodoItemNode);
+            this.emptyFolder = emptyFolderObj;
+            this._bucketData.next(this.data);
+          }
         }
       }
     }
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/buckets-tree/bucket-tree.component.ts b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/buckets-tree/bucket-tree.component.ts
index 3a21dce..ed222f6 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/buckets-tree/bucket-tree.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/buckets-tree/bucket-tree.component.ts
@@ -53,7 +53,6 @@ export class BucketTreeComponent implements OnInit {
     this.activeBucketName = this.openedBucket || '';
     this.dataSource.data = this.buckets;
     this.setActiveBucket();
-    console.log(this.treeControl);
   }
 
   public openBucketData(bucket) {
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 93dabb7..7d69682 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
@@ -53,7 +53,6 @@ export class FolderTreeComponent implements OnDestroy {
     this.treeControl = new FlatTreeControl<TodoItemFlatNode>(this.getLevel, this.isExpandable);
     this.dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);
     this.subscriptions.add(this.bucketDataService._bucketData.subscribe(data => {
-
       if (data) {
         this.dataSource.data = data;
         const subject = this.dataSource._flattenedData;
@@ -212,7 +211,7 @@ private addNewItem(node: TodoItemFlatNode, file, isFile) {
     if (flatObject.indexOf('ا') === flatObject.length - 1) {
       flatObject = flatObject.substring(0, flatParent.object.object.length - 1);
     }
-    const path = `${ flatParent.object ? flatObject : ''}${itemValue}/`;
+    const path = `${ flatParent.object && flatObject !== '/' ? flatObject : ''}${itemValue}/`;
     const bucket = flatParent.object ? flatParent.object.bucket : flatParent.item;
     const formData = new FormData();
     formData.append('file', '');
@@ -223,20 +222,16 @@ private addNewItem(node: TodoItemFlatNode, file, isFile) {
     this.bucketBrowserService.uploadFile(formData)
       .subscribe((event) => {
           if (event instanceof HttpResponse) {
-            this.bucketDataService.refreshBucketdata(bucket, this.endpoint);
+            this.bucketDataService.insertItem(flatParent, itemValue, false);
+            // this.bucketDataService.refreshBucketdata(bucket, this.endpoint);
             this.toastr.success('Folder successfully created!', 'Success!');
-            this.resetForm();
             this.folderCreating = false;
-            this.dataSource._flattenedData.getValue()
-              .splice(this.dataSource._flattenedData.getValue()
-                .indexOf(this.dataSource._flattenedData
-                  .getValue().filter(v => v.item === '')[0]));
+            this.removeItem(node);
           }
         }, error => {
           this.folderCreating = false;
           this.toastr.error(error.message || 'Folder creation error!', 'Oops!');
-        }
-      );
+        });
   }
 
   private resetForm() {
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/cluster-details.component.ts b/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/cluster-details.component.ts
index 11002e1..6180f96 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/cluster-details.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/computational/cluster-details/cluster-details.component.ts
@@ -57,8 +57,6 @@ export class DetailComputationalResourcesComponent implements OnInit {
 
   ngOnInit() {
     this.open(this.data.environment, this.data.resource);
-
-    console.log(this.PROVIDER);
   }
 
   public open(environment, resource): void {
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 9468157..211ab56 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
@@ -65,7 +65,6 @@ export class DetailDialogComponent implements OnInit {
   }
 
   ngOnInit() {
-    console.log(this.data.notebook);
     this.bucketStatus = this.data.bucketStatus;
     this.notebook = this.data.notebook;
     if (this.notebook) {
@@ -136,7 +135,6 @@ export class DetailDialogComponent implements OnInit {
   }
 
   public bucketBrowser(bucketName, endpoint, permition): void {
-    // bucketName = 'ofuks-1304-pr2-local-bucket';
     bucketName = this.isBucketAllowed ? this.notebook.bucket_name : this.data.buckets[0].children[0].name;
     permition && 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 9003974..83babee 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
@@ -110,13 +110,6 @@ export class ResourcesGridComponent implements OnInit {
   public getUserProjects() {
     this.projectService.getUserProjectsList(true).subscribe((projects: any) => {
       this.activeProjectsList = projects;
-      console.log(projects);
-      // console.log(projects);
-      // const activeProject = projects.find(item => item.name === this.resourceGrid.activeProject);
-      // if (this.resourceGrid.activeProject && activeProject) {
-      //   this.setEndpoints(activeProject);
-      //   this.createExploratoryForm.controls['project'].setValue(activeProject.name);
-      // }
     });
   }
 
@@ -271,7 +264,6 @@ export class ResourcesGridComponent implements OnInit {
 
     if (filteredData.length) this.filtering = true;
     if (config) {
-      console.log(config);
       this.activeProject = config.project;
       filteredData = filteredData
         .filter(project => config.project ? project.project === config.project : project)
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/resources.component.html b/services/self-service/src/main/resources/webapp/src/app/resources/resources.component.html
index 50c91c2..d028240 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/resources.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/resources.component.html
@@ -23,12 +23,12 @@
       <span
         matTooltip="{{!healthStatus?.projectAssigned ? 'You are not assigned to any project' : 'You have not any active project'}}"
         matTooltipPosition="above"
-        matTooltipDisabled="{{healthStatus?.projectAssigned && resourcesGrid.activeProjectsList.length}}"
+        matTooltipDisabled="{{healthStatus?.projectAssigned && resourcesGrid.activeProjectsList?.length}}"
         [matTooltipClass]="'bucket-item-tooltip'"
       >
         <span>{{resourcesGrid.activeProject}}</span>
       <button mat-raised-button class="butt butt-create" (click)="createEnvironment()"
-        [disabled]="!healthStatus?.projectAssigned || !resourcesGrid.activeProjectsList.length">
+        [disabled]="!healthStatus?.projectAssigned || !resourcesGrid.activeProjectsList?.length">
         <i class="material-icons">add</i>Create new
       </button>
       </span>


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