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:57:41 UTC
[incubator-dlab] branch develop updated: [DLAB-1840]: Implemented
set tasks concerning download (#768)
This is an automated email from the ASF dual-hosted git repository.
dgnatyshyn pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
The following commit(s) were added to refs/heads/develop by this push:
new f731c4c [DLAB-1840]: Implemented set tasks concerning download (#768)
f731c4c is described below
commit f731c4cd913e4141b71901cd5c63450f1260bb1b
Author: Dmytro Gnatyshyn <42...@users.noreply.github.com>
AuthorDate: Thu May 28 19:57:31 2020 +0300
[DLAB-1840]: Implemented set tasks concerning download (#768)
[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 | 5 ++---
.../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, 36 insertions(+), 44 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..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
@@ -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"
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