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/20 15:17:34 UTC
[incubator-dlab] branch develop updated: [DLAB-1818]: Adjusted
columns in bucket browser (#761)
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 f4765cb [DLAB-1818]: Adjusted columns in bucket browser (#761)
f4765cb is described below
commit f4765cb80a69650cf50749b5b327c15caa83f3d0
Author: Dmytro Gnatyshyn <42...@users.noreply.github.com>
AuthorDate: Wed May 20 18:17:27 2020 +0300
[DLAB-1818]: Adjusted columns in bucket browser (#761)
[DLAB-1818]: Added uploading limitation, fixed small bugs, fixed date, adjust columns in bucket browser
---
.../bucket-browser/bucket-browser.component.html | 54 ++++++-----
.../bucket-browser/bucket-browser.component.scss | 105 +++++++++++---------
.../bucket-browser/bucket-browser.component.ts | 27 +++++-
.../bucket-confirmation-dialog.component.html | 2 +-
.../folder-tree/folder-tree.component.ts | 1 -
.../detail-dialog/detail-dialog.component.html | 107 +++++++++++----------
.../detail-dialog/detail-dialog.component.scss | 6 +-
.../detail-dialog/detail-dialog.component.ts | 16 +--
.../webapp/src/assets/styles/_dialogs.scss | 6 +-
9 files changed, 193 insertions(+), 131 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 292620b..a64b3df 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
@@ -27,8 +27,8 @@
<div class="dialog-content tabs">
<div class="submit m-bott-10 m-top-10">
<div class="left-side-butts">
- <span [matTooltip]="'You have not permission to upload data'" matTooltipPosition="above" matTooltipDisabled="{{this.bucketStatus.upload}}">
- <button mat-raised-button type="button" class="butt first-btn" [disabled]="!this.bucketStatus.upload || allDisable || isSelectionOpened || !path " (click)="handleFileInput($event)">
+ <span [matTooltip]="isQueueFull ? 'Previous upload is still in progress, please wait.' : 'You have not permission to upload data'" matTooltipPosition="above" matTooltipDisabled="{{this.bucketStatus.upload && !isQueueFull}}">
+ <button mat-raised-button type="button" class="butt first-btn" [disabled]="!this.bucketStatus.upload || allDisable || isSelectionOpened || !path || isQueueFull" (click)="handleFileInput($event)">
<input [ngClass]="{'not-allowed': !this.bucketStatus.upload}" type="file" (change)="handleFileInput($event)" title="" multiple>
Upload files
</button>
@@ -184,7 +184,9 @@
</span>
</div>
<div class="size">{{file.object?.size | convertFileSize}}</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>
@@ -206,15 +208,21 @@
<div class="upload-window" *ngIf="addedFiles.length">
<header class="upload-header">
<h4 class="modal-title">Upload files</h4>
- <button type="button" class="close" (click)="closeUploadWindow()">×</button>
+ <span class="close" matTooltip="Upload is still in progress, please wait." matTooltipPosition="above" [ngClass]="{'not-allow': isFileUploading}" [matTooltipDisabled]="!isFileUploading">
+ <button type="button" class="close" (click)="closeUploadWindow()" [disabled]="isFileUploading" [ngClass]="{'not-allow': isFileUploading}" >×</button>
+ </span>
+
</header>
<ul class="upload-files">
<li class="file upload-table-header" *ngIf="addedFiles.length">
<div class="name ellipsis" >File</div>
- <div class="upload-path ellipsis">Path</div>
- <div class="size">Size</div>
- <div class="state"></div>
- <div class="remove"></div>
+ <div class="second-block">
+ <div class="upload-path ellipsis">Path</div>
+ <div class="size">Size</div>
+ <div class="state"></div>
+ <div class="remove"></div>
+ </div>
+
</li>
<li *ngFor="let file of addedFiles" class="file">
<div class="name">
@@ -227,23 +235,25 @@
{{file.name}}
</span>
</div>
- <div class="upload-path">
- <span class="ellipsis" matTooltip="{{file.path}}" matTooltipPosition="above" [matTooltipClass]="'bucket-item-tooltip'">{{file.path}}</span>
- </div>
- <div class="size">{{file.size | convertFileSize}} </div>
- <div class="state">
-<!-- <button mat-raised-button (click)="uploadNewFile(file)" *ngIf="!file.isUploading && !file.uploaded && !file.errorUploading">Upload</button>-->
- <mat-progress-bar mode="indeterminate" *ngIf="file.isUploading"></mat-progress-bar>
- <span *ngIf="file.status === 'uploaded'" class="running">Uploaded</span>
- <div class="progres" *ngIf="file.status === 'uploading'">
- <span class="progress-bar-text">{{file.progress || 0}}% Uploading...</span>
- <div class="bar" [ngStyle]="{width: file.progress + '%'}">
+ <div class="second-block">
+ <div class="upload-path">
+ <span class="ellipsis" matTooltip="{{file.path}}" matTooltipPosition="above" [matTooltipClass]="'bucket-item-tooltip'">{{file.path}}</span>
+ </div>
+ <div class="size">{{file.size | convertFileSize}} </div>
+ <div class="state">
+ <!-- <button mat-raised-button (click)="uploadNewFile(file)" *ngIf="!file.isUploading && !file.uploaded && !file.errorUploading">Upload</button>-->
+ <!-- <mat-progress-bar mode="indeterminate" *ngIf="file.isUploading"></mat-progress-bar>-->
+ <span *ngIf="file.status === 'uploaded'" class="running">Uploaded</span>
+ <div class="progres" *ngIf="file.status === 'uploading'">
+ <span class="progress-bar-text">{{file.progress || 0}}% Uploading...</span>
+ <div class="bar" [ngStyle]="{width: file.progress + '%'}">
+ </div>
</div>
+ <span *ngIf="file.status === 'failed'" class="error">Failed</span>
+ <span *ngIf="file.status === 'waiting'" class="stopped">Waiting for uploading...</span>
</div>
- <span *ngIf="file.status === 'failed'" class="error">Failed</span>
- <span *ngIf="file.status === 'waiting'" class="stopped">Waiting for uploading...</span>
+ <div class="remove"><i (click)="deleteAddedFile(file)" class="material-icons close">delete</i></div>
</div>
- <div class="remove"><i (click)="deleteAddedFile(file)" class="material-icons close">close</i></div>
</li>
<li id="upload-list"></li>
</ul>
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 aee697d..1042584 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
@@ -294,7 +294,7 @@
max-height: 100%;
.name{
- flex:2;
+ width: 60%;
display: flex;
align-items: center;
overflow: hidden;
@@ -326,7 +326,7 @@
}
.size{
- flex:1;
+ width: 15%;
&-folder{
padding-left: 4px;
@@ -334,7 +334,7 @@
}
.date{
- flex:1;
+ width: 25%;
.th_date{
font-size: 13px;
@@ -579,9 +579,11 @@ input[type='file'] {
}
.upload-files{
- padding: 5px;
+ padding: 5px 0;
height: calc(100% - 30px);
overflow: auto;
+ overflow-y: overlay;
+ width: 100%;
.file{
padding: 2px;
display: flex;
@@ -593,58 +595,71 @@ input[type='file'] {
}
.name{
- width: 38%;
- padding-right: 5px;
- overflow: hidden;
+ width: 33.3%;
+ padding-left: 5px;
+ position: relative;
display: flex;
+ span{
+ position: absolute;
+ width: calc(100% + 30px);
+ }
}
- .upload-path{
- width: 38%;
- padding-right: 5px;
+ .second-block{
+ width: 66.7%;
display: flex;
- }
+ padding: 0 14px 0 17px;
+ .upload-path{
+ width: 60%;
+ padding-left: 24px;
+ padding-right: 1%;
+ display: flex;
+ }
- .size{
- width: 7%;
- }
- .state{
- width: 14%;
- display: flex;
- align-items: center;
- .mat-raised-button{
- width: 60px;
- padding: 5px;
- border-radius: 0;
- font-style: normal;
- font-weight: 600;
- font-size: 11px;
- font-family: "Open Sans", sans-serif;
- color: #577289;
- line-height: 8px;
+ .size{
+ width: 15%;
}
- }
- .remove{
- display: flex;
- align-items: center;
- width: 3%;
- position: relative;
- .close{
- color: #577289;
- font-size: 12px;
- cursor: pointer;
+ .state{
+ width: 22%;
+ display: flex;
+ align-items: center;
+ .mat-raised-button{
+ width: 60px;
+ padding: 5px;
+ border-radius: 0;
+ font-style: normal;
+ font-weight: 600;
+ font-size: 11px;
+ font-family: "Open Sans", sans-serif;
+ color: #577289;
+ line-height: 8px;
+ }
+ }
+ .remove{
+ display: flex;
+ align-items: center;
+ width: 5%;
position: absolute;
- top: 3px;
- right: 0;
- height: 18px;
- width: 14px;
- transition: all 0.45s ease-in-out;
+ right: 20px;
+ .close{
+ color: #577289;
+ font-size: 12px;
+ cursor: pointer;
+ position: absolute;
+ top: 3px;
+ right: 0;
+ height: 18px;
+ width: 14px;
+ transition: all 0.45s ease-in-out;
- &:hover{
- color: #f1696e;
+ &:hover{
+ color: #f1696e;
+ }
}
}
}
+
+
}
}
}
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 846aeea..da40a18 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
@@ -55,11 +55,15 @@ export class BucketBrowserComponent implements OnInit {
public folders: any[];
public selectedItems;
public searchValue: string;
+ public isQueueFull: boolean;
+ date = new Date(2020, 2, 2, 10, 57, 2);
@ViewChild(FolderTreeComponent, {static: true}) folderTreeComponent;
public isSelectionOpened: any;
isFilterVisible: boolean;
public buckets;
+ private isFileUploading: boolean;
+
@@ -83,6 +87,8 @@ export class BucketBrowserComponent implements OnInit {
this.endpoint = this.data.endpoint;
this.bucketStatus = this.data.bucketStatus;
this.buckets = this.data.buckets;
+ const time = [...'2-02-2020 10:57:02'.split(' ')[0].split('-').reverse(), ...'2-02-2020 10:57:02'.split(' ')[1].split(':')].map(v => + v);
+ this.convertDate('2020-05-19T18:47:10');
}
public showItem(item) {
@@ -229,6 +235,7 @@ export class BucketBrowserComponent implements OnInit {
} else {
this.addedFiles.splice(this.addedFiles.indexOf(file), 1);
}
+ this.sendFile();
}
private uploadNewFile(file) {
@@ -244,16 +251,23 @@ export class BucketBrowserComponent implements OnInit {
this.sendFile(file);
}
- public sendFile(file) {
+ public sendFile(file?) {
const waitUploading = this.addedFiles.filter(v => v.status === 'waiting');
const uploading = this.addedFiles.filter(v => v.status === 'uploading');
+ this.isFileUploading = !!uploading.length;
+ this.isQueueFull = this.addedFiles.filter(v => v.status === 'uploading').length >= 9;
+ console.log(this.addedFiles.filter(v => v.status === 'uploading').length);
if (waitUploading.length && uploading.length < 10) {
+ if (!file) {
+ file = waitUploading[0];
+ }
file.status = 'uploading';
-
+ this.isFileUploading = true;
+ this.isQueueFull = this.addedFiles.filter(v => v.status === 'uploading').length === 10;
file.subscr = file.request.subscribe((event: any) => {
if (event.type === HttpEventType.UploadProgress) {
- file.progress = Math.round(99 * event.loaded / event.total);
- } else if (event instanceof HttpResponse) {
+ file.progress = Math.round(95 * event.loaded / event.total);
+ } else if (event['type'] === HttpEventType.Response) {
console.log('upload response');
file.status = 'uploaded';
delete file.request;
@@ -368,6 +382,11 @@ export class BucketBrowserComponent implements OnInit {
this.searchValue = '';
this.filterObjects();
}
+
+ public convertDate(date) {
+ const utcDate = new Date(date);
+ return new Date(utcDate.setTime( utcDate.getTime() - utcDate.getTimezoneOffset() * 60 * 1000 ));
+ }
}
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-confirmation-dialog/bucket-confirmation-dialog.component.html b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-confirmation-dialog/bucket-confirmation-dialog.component.html
index 0e33887..642e1e6 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-confirmation-dialog/bucket-confirmation-dialog.component.html
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/bucket-confirmation-dialog/bucket-confirmation-dialog.component.html
@@ -51,7 +51,7 @@
matTooltipShowDelay="1000"
[matTooltipClass]="'bucket-item-tooltip'">{{object['item']}}</div>
</div>
- <div class="size">{{object['children'] ? '-' : object['object'].size}}</div>
+ <div class="size">{{object['children'] ? '-' : object['object'].size | convertFileSize}}</div>
</mat-list-item>
</div>
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 b1d7530..0dffae3 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
@@ -221,7 +221,6 @@ export class FolderTreeComponent implements OnDestroy {
this.resetForm();
this.folderCreating = false;
this.folderCreationParent = null;
- // this.dataSource._flattenedData.getValue().slice()this.dataSource._flattenedData.getValue().filter(v => v.item === '')[0]
this.dataSource._flattenedData.getValue().splice(this.dataSource._flattenedData.getValue().indexOf(this.dataSource._flattenedData.getValue().filter(v => v.item === '')[0]));
}
}, error => {
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 9f146c0..59cdba2 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
@@ -61,9 +61,7 @@
<p class="m-top-30">{{ DICTIONARY[PROVIDER].personal_storage }}: </p>
<!-- (click)="bucketBrowser(notebook.bucket_name, notebook.endpoint, this.bucketStatus.view)"-->
- <div class="links_block"
- (mouseleave)="isCopyIconVissible.project = false"
- >
+ <div class="links_block" (mouseleave)="hideCopyIcon()">
<span
[matTooltip]="!this.bucketStatus.view
? 'You have not permission to open bucket'
@@ -76,68 +74,79 @@
<span
class="bucket-info bucket-link"
[ngClass]="{'not-allow': !this.bucketStatus.view || !this.isBucketAllowed}"
- (mouseover)="showCopyIcon('project')"
- (click)="bucketBrowser(notebook.account_name, notebook.endpoint, this.bucketStatus.view && this.isBucketAllowed)"
+ (mouseover)="showCopyIcon()"
>
{{ notebook.account_name}}
</span>
- <span *ngIf="isCopyIconVissible.project" class="link-icon" (click)="copyBucketName(notebook.bucket_name)">
- <span class="material-icons" matTooltip="Copy bucket name" matTooltipPosition="above">content_copy</span>
+ <span *ngIf="isCopyIconVissible" class="link-icon" (click)="copyBucketName(notebook.account_name)">
+ <span class="material-icons" [matTooltip]="isCopied" matTooltipPosition="above">content_copy</span>
</span>
</p>
<p *ngIf="notebook.bucket_name">{{ DICTIONARY[PROVIDER].container }}
<span
- class="bucket-info bucket-link" [ngClass]="{'not-allow': !this.bucketStatus.view || !this.isBucketAllowed}"
- (mouseover)="showCopyIcon('project')"
- (click)="bucketBrowser(notebook.bucket_name, notebook.endpoint, this.bucketStatus.view && this.isBucketAllowed)"
+ class="bucket-info"
+ (mouseover)="showCopyIcon()"
>
+<!-- (click)="bucketBrowser('ofuks-1304-pr2-local-bucket', notebook.endpoint, this.bucketStatus.view && this.isBucketAllowed)"-->
{{ notebook.bucket_name }}
</span>
- <span *ngIf="isCopyIconVissible.project" class="link-icon" (click)="copyBucketName(notebook.bucket_name)">
- <span _ngcontent-xpv-c19="" class="material-icons" matTooltip="Copy bucket name" matTooltipPosition="above">content_copy</span>
+
+ <span *ngIf="isCopyIconVissible" [matTooltip]="isCopied ? 'Copy bucket name' : 'Copied'" matTooltipPosition="above">
+ <span class="link-icon" (click)="copyBucketName(notebook.bucket_name);$event.stopPropagation()" >
+ <span _ngcontent-xpv-c19="" class="material-icons" (click)="this.isCopied = false">content_copy</span>
+ </span>
</span>
+
</p>
</span>
</div>
- <p>Shared endpoint bucket: </p>
- <div class="links_block"
- [matTooltip]="'You have not permission to open bucket'"
- matTooltipDisabled="{{this.bucketStatus.view}}"
- matTooltipPosition="above"
- [matTooltipClass]="'bucket-item-tooltip'"
- (mouseleave)="isCopyIconVissible.shared = false"
- >
- <p *ngIf="DICTIONARY[PROVIDER].cloud_provider === 'azure' && notebook.shared_account_name">{{ DICTIONARY[PROVIDER].account }}
- <span class="bucket-info bucket-link" [ngClass]="{'not-allow': !this.bucketStatus.view}" (mouseover)="showCopyIcon('shared')">{{ notebook.shared_account_name}}</span>
- <span *ngIf="isCopyIconVissible.shared" class="link-icon" (click)="copyBucketName(notebook.shared_account_name)">
- <span _ngcontent-xpv-c19="" class="material-icons" matTooltip="Copy bucket name" matTooltipPosition="above">content_copy</span>
- </span>
- </p>
- <p *ngIf="notebook.shared_bucket_name">{{ DICTIONARY[PROVIDER].container }}
- <span
- class="bucket-info bucket-link"
- [ngClass]="{'not-allow': !this.bucketStatus.view}"
- (mouseover)="showCopyIcon('shared')"
- (click)="bucketBrowser(notebook.shared_bucket_name, notebook.endpoint, this.bucketStatus.view)"
- >
- {{ notebook.shared_bucket_name }}
- </span>
- <span *ngIf="isCopyIconVissible.shared" class="link-icon" (click)="copyBucketName(notebook.notebook.shared_bucket_name)">
- <span _ngcontent-xpv-c19="" class="material-icons" matTooltip="Copy bucket name" matTooltipPosition="above">content_copy</span>
- </span>
- </p>
+ <div class="bucket-info bucket-link">
+ <span></span>
+ <span class="description open-bucket"
+ [ngClass]="{'not-allow': !this.bucketStatus.view || !this.isBucketAllowed}"
+ (click)="bucketBrowser(notebook.bucket_name, notebook.endpoint, this.bucketStatus.view && this.isBucketAllowed)"
+ >
+ Open bucket browser
+ </span>
</div>
- <br />
+<!-- <p>Shared endpoint bucket: </p>-->
+<!-- <div class="links_block" (click)="bucketBrowser(notebook.shared_bucket_name, notebook.endpoint, this.bucketStatus.view)"-->
+<!-- [matTooltip]="'You have not permission to open bucket'"-->
+<!-- matTooltipDisabled="{{this.bucketStatus.view}}"-->
+<!-- matTooltipPosition="above"-->
+<!-- [matTooltipClass]="'bucket-item-tooltip'"-->
+<!-- >-->
+<!-- <p *ngIf="DICTIONARY[PROVIDER].cloud_provider === 'azure' && notebook.shared_account_name">{{ DICTIONARY[PROVIDER].account }}-->
+<!-- <span class="bucket-info bucket-link" [ngClass]="{'not-allow': !this.bucketStatus.view}" (mouseover)="showCopyIcon('shared')">{{ notebook.shared_account_name}}</span>-->
+<!-- <span *ngIf="isCopyIconVissible.shared" class="link-icon" (click)="copyBucketName(notebook.shared_account_name)">-->
+<!-- <span _ngcontent-xpv-c19="" class="material-icons" matTooltip="Copy bucket name" matTooltipPosition="above">content_copy</span>-->
+<!-- </span>-->
+<!-- </p>-->
+<!-- <p *ngIf="notebook.shared_bucket_name">{{ DICTIONARY[PROVIDER].container }}-->
+<!-- <span-->
+<!-- class="bucket-info bucket-link"-->
+<!-- [ngClass]="{'not-allow': !this.bucketStatus.view}"-->
+<!-- (mouseover)="showCopyIcon('shared')"-->
+<!-- (click)="bucketBrowser(notebook.shared_bucket_name, notebook.endpoint, this.bucketStatus.view)"-->
+<!-- >-->
+<!-- {{ notebook.shared_bucket_name }}-->
+<!-- </span>-->
+<!-- <span *ngIf="isCopyIconVissible.shared" class="link-icon" (click)="copyBucketName(notebook.shared_bucket_name)">-->
+<!-- <span _ngcontent-xpv-c19="" class="material-icons" matTooltip="Copy bucket name" matTooltipPosition="above">content_copy</span>-->
+<!-- </span>-->
+<!-- </p>-->
+<!-- </div>-->
+<!-- <br />-->
- <div *ngIf="DICTIONARY[PROVIDER].cloud_provider === 'azure' && notebook.datalake_name">
- <p>Data Lake Store: </p>
- <div class="links_block">
- <p>Data Lake Store Account: <span class="bucket-info">{{ notebook.datalake_name }}</span></p>
- <p>Personal folder: <span class="bucket-info">{{ notebook.datalake_directory }}</span></p>
- <p>Collaboration folder: <span class="bucket-info">{{ notebook.datalake_shared_directory }}</span>
- </p>
- </div>
- </div>
+<!-- <div *ngIf="DICTIONARY[PROVIDER].cloud_provider === 'azure' && notebook.datalake_name">-->
+<!-- <p>Data Lake Store: </p>-->
+<!-- <div class="links_block">-->
+<!-- <p>Data Lake Store Account: <span class="bucket-info">{{ notebook.datalake_name }}</span></p>-->
+<!-- <p>Personal folder: <span class="bucket-info">{{ notebook.datalake_directory }}</span></p>-->
+<!-- <p>Collaboration folder: <span class="bucket-info">{{ notebook.datalake_shared_directory }}</span>-->
+<!-- </p>-->
+<!-- </div>-->
+<!-- </div>-->
<!-- <p>
<a href="#/help/accessnotebookguide" target="_blank">
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.scss b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.scss
index 4efbc78..2779633 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.scss
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/detail-dialog/detail-dialog.component.scss
@@ -85,11 +85,15 @@
padding-left: 7px;
font-weight: 600;
color: $blue-grey-color;
- cursor: pointer;
}
.bucket-link{
+ padding: 15px;
+ padding-left: 0;
color: #35afd5;
+ .open-bucket{
+ cursor: pointer;
+ }
&.not-allow{
cursor: not-allowed;
color: $blue-grey-color;
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 1ed64a1..b78ee1e 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
@@ -38,6 +38,7 @@ import {CopyPathUtils} from '../../../core/util/copyPathUtils';
export class DetailDialogComponent implements OnInit {
readonly DICTIONARY = DICTIONARY;
readonly PROVIDER = this.data.notebook.cloud_provider;
+ private isCopied: boolean = true;
notebook: any;
upTimeInHours: number;
upTimeSince: string = '';
@@ -45,15 +46,13 @@ export class DetailDialogComponent implements OnInit {
config: Array<{}> = [];
bucketStatus: object = {};
isBucketAllowed = true;
- isCopyIconVissible = {
- project: false,
- shared: false
- };
+ isCopyIconVissible = false;
public configurationForm: FormGroup;
@ViewChild('configurationNode', { static: false }) configuration;
+
constructor(
@Inject(MAT_DIALOG_DATA) public data: any,
private dataengineConfigurationService: DataengineConfigurationService,
@@ -142,12 +141,15 @@ export class DetailDialogComponent implements OnInit {
.afterClosed().subscribe();
}
- protected showCopyIcon(bucket) {
- this.isCopyIconVissible[bucket] = true;
+ protected showCopyIcon() {
+ this.isCopyIconVissible = true;
+ }
+ protected hideCopyIcon() {
+ this.isCopyIconVissible = false;
+ this.isCopied = true;
}
protected copyBucketName(copyValue) {
CopyPathUtils.copyPath(copyValue);
- this.toastr.success('Bucket name successfully copied!', 'Success!');
}
}
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 c5b0655..3dddb7d 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
@@ -372,7 +372,7 @@ mat-dialog-container {
border: 1px solid rgba(0,0,0,.12);
height: 17px;
position: relative;
- width: 100%;
+ width: 155px;
.bar{
position: absolute;
@@ -395,6 +395,10 @@ mat-dialog-container {
}
}
+.not-allow{
+ cursor: not-allowed !important;
+}
+
@media screen and (max-width: 1280px) {
.modal-fullscreen {
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org