This is an automated email from the ASF dual-hosted git repository. dgnatyshyn pushed a commit to branch DLAB-1784 in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git
commit c3a6176e9993b07122f1e1eb6eab8eba71ca8cfc Author: Dmytro Gnatyshyn <di1...@ukr.net> AuthorDate: Tue May 19 12:52:04 2020 +0300 [DLAB-1784]: Fixed bug with uploading --- .../bucket-browser/bucket-browser.component.html | 2 +- .../bucket-browser/bucket-browser.component.scss | 2 +- .../bucket-browser/bucket-browser.component.ts | 12 +++-- .../buckets-tree/bucket-tree.component.html | 2 +- .../buckets-tree/bucket-tree.component.ts | 5 ++ .../folder-tree/folder-tree.component.ts | 56 +++++++++++++--------- .../detail-dialog/detail-dialog.component.html | 2 +- 7 files changed, 50 insertions(+), 31 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 9093eba..292620b 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 @@ -108,7 +108,7 @@ <div class="bucket-wrapper" [ngClass]="{'added-upload': addedFiles.length}" id="scrolling"> <div class="backet-selection" [ngClass]="{'opened': isSelectionOpened}"> <div class="button-wrapper"> - <i (click)="toggleBucketSelection()" class="material-icons close">{{isSelectionOpened ? 'chevron_left' : 'chevron_right'}}</i> + <i (click)="toggleBucketSelection()" class="material-icons close" *ngIf="!isSelectionOpened">chevron_right</i> </div> <dlab-bucket-tree [hidden] = "!isSelectionOpened" 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 fcaea993..aee697d 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 @@ -376,7 +376,7 @@ } .folder-tree { - padding: 0px 30px; + padding: 0px 15px; padding-top: 6px; } 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 2b12dec..07a1fd8 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 @@ -165,6 +165,9 @@ export class BucketBrowserComponent implements OnInit { this.searchValue = ''; this.clearSelection(); this.selectedFolder = event.flatNode; + if (this.isSelectionOpened){ + this.isSelectionOpened = false; + } 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); @@ -191,16 +194,15 @@ export class BucketBrowserComponent implements OnInit { } public deleteAddedFile(file) { - if ( file.subscr ) { + if ( file.subscr && file.request) { this.dialog.open(BucketConfirmationDialogComponent, {data: {items: file, type: 'cancel-uploading'} , width: '550px'}) .afterClosed().subscribe((res) => { res && file.subscr.unsubscribe(); - if (!res) { - return; - } + res && this.addedFiles.splice(this.addedFiles.indexOf(file), 1); }); + } else { + this.addedFiles.splice(this.addedFiles.indexOf(file), 1); } - this.addedFiles.splice(this.addedFiles.indexOf(file), 1); } private uploadNewFile(file) { diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/buckets-tree/bucket-tree.component.html b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/buckets-tree/bucket-tree.component.html index 8d5e04b..8d294a5 100644 --- a/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/buckets-tree/bucket-tree.component.html +++ b/services/self-service/src/main/resources/webapp/src/app/resources/bucket-browser/buckets-tree/bucket-tree.component.html @@ -20,6 +20,6 @@ {{treeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}} </mat-icon> </button> - {{node.name}} + <span (click)="toggleProject(node, treeControl.isExpanded(node))">{{node.name}}</span> </mat-tree-node> </mat-tree> 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 2b3006b..3a21dce 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,6 +53,7 @@ export class BucketTreeComponent implements OnInit { this.activeBucketName = this.openedBucket || ''; this.dataSource.data = this.buckets; this.setActiveBucket(); + console.log(this.treeControl); } public openBucketData(bucket) { @@ -66,6 +67,10 @@ export class BucketTreeComponent implements OnInit { this.expandAllParents(this.activeBacket); } + public toggleProject(el, isExpanded){ + isExpanded ? this.treeControl.collapse(el) : this.treeControl.expand(el); + } + private expandAllParents(el) { if (el) { this.treeControl.expand(el); 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 f207661..b1d7530 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 @@ -1,4 +1,4 @@ -import {Component, Output, EventEmitter, OnDestroy, Input} from '@angular/core'; +import {Component, Output, EventEmitter, OnDestroy, Input, OnInit} from '@angular/core'; import {FlatTreeControl} from '@angular/cdk/tree'; import {MatTreeFlatDataSource, MatTreeFlattener} from '@angular/material/tree'; import {BucketBrowserService, TodoItemFlatNode, TodoItemNode} from '../../../core/services/bucket-browser.service'; @@ -17,6 +17,8 @@ export class MyErrorStateMatcher implements ErrorStateMatcher { } } + + @Component({ selector: 'dlab-folder-tree', templateUrl: './folder-tree.component.html', @@ -47,29 +49,36 @@ export class FolderTreeComponent implements OnDestroy { public toastr: ToastrService, private bucketBrowserService: BucketBrowserService, private bucketDataService: BucketDataService, - ) { + ) { this.treeFlattener = new MatTreeFlattener(this.transformer, this.getLevel, this.isExpandable, this.getChildren); this.treeControl = new FlatTreeControl<TodoItemFlatNode>(this.getLevel, this.isExpandable); this.dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener); - - this.subscriptions.add(bucketDataService._bucketData.subscribe(data => { - if (data) { - this.dataSource.data = data; + this.subscriptions.add(this.bucketDataService._bucketData.subscribe(data => { + // const emptyFolder = this.dataSource._flattenedData.getValue().filter(v => v.item === '')[0]; + // console.log(emptyFolder); + if (data) { + this.dataSource.data = data; const subject = this.dataSource._flattenedData; - this.folderTreeSubs = subject.subscribe((subjectData) => { + const subjectData = subject.getValue(); if (this.selectedFolder) { this.selectedFolder = subjectData.filter(v => v.item === this.selectedFolder.item && v.level === this.selectedFolder.level)[0]; } this.expandAllParents(this.selectedFolder || subjectData[0]); this.showItem(this.selectedFolder || subjectData[0]); - if (this.folderCreationParent && subject.getValue().filter(v => v.item === '').length === 0) { - this.folderCreationRefresh(this.folderCreationParent, '', false); - } else { - this.disableAll.emit(false); - } - }); + // if (emptyFolder || this.folderFormControl.value) { + // const folderName = this.folderFormControl.value; + // this.folderFormControl.setValue(''); + // this.folderFormControl.updateValueAndValidity(); + // this.folderFormControl.markAsPristine(); + // console.log(this.folderCreationParent); + // this.addNewItem(this.folderCreationParent, folderName, false); + // } else { + // console.log('false'); + // this.disableAll.emit(false); + // } } })); + this.dataSource._flattenedData.subscribe(); } getLevel = (node: TodoItemFlatNode) => node.level; @@ -93,7 +102,7 @@ export class FolderTreeComponent implements OnDestroy { this.flatNodeMap.set(flatNode, node); this.nestedNodeMap.set(node, flatNode); return flatNode; - } + }; ngOnDestroy() { this.bucketDataService._bucketData.next([]); @@ -171,12 +180,13 @@ export class FolderTreeComponent implements OnDestroy { return null; } - private addNewItem(node: TodoItemFlatNode, file, isFile, path) { + private addNewItem(node: TodoItemFlatNode, file, isFile) { this.folderCreationParent = node; this.folderCreationRefresh(node, file, isFile); } public folderCreationRefresh(node: TodoItemFlatNode, file, isFile) { + this.folderFormControl.setValue(file); const currNode = this.flatNodeMap.get(node); this.bucketDataService.insertItem(currNode!, file, isFile); this.treeControl.expand(node); @@ -205,13 +215,15 @@ export class FolderTreeComponent implements OnDestroy { formData.append('endpoint', this.endpoint); this.bucketBrowserService.uploadFile(formData) .subscribe((event) => { - if (event instanceof HttpResponse) { - this.bucketDataService.refreshBucketdata(bucket, this.endpoint); - this.toastr.success('Folder successfully created!', 'Success!'); - this.resetForm(); - this.folderCreating = false; - this.folderCreationParent = null; - } + if (event instanceof HttpResponse) { + this.bucketDataService.refreshBucketdata(bucket, this.endpoint); + this.toastr.success('Folder successfully created!', 'Success!'); + 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 => { this.toastr.error(error.message || 'Folder creation error!', 'Oops!'); this.folderCreating = false; 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 0b5a821..9f146c0 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 @@ -77,7 +77,7 @@ class="bucket-info bucket-link" [ngClass]="{'not-allow': !this.bucketStatus.view || !this.isBucketAllowed}" (mouseover)="showCopyIcon('project')" - (click)="bucketBrowser('ofuks-1304-pr2-local-bucket', notebook.endpoint, this.bucketStatus.view && this.isBucketAllowed)" + (click)="bucketBrowser(notebook.account_name, notebook.endpoint, this.bucketStatus.view && this.isBucketAllowed)" > {{ notebook.account_name}} </span> --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@dlab.apache.org For additional commands, e-mail: commits-h...@dlab.apache.org