You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@datalab.apache.org by dg...@apache.org on 2021/01/22 15:45:41 UTC
[incubator-datalab] branch develop updated: [DATALAB-2254]: Fixed
delete/upload action on bucket browser on Azure (#1047)
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-datalab.git
The following commit(s) were added to refs/heads/develop by this push:
new 5b836bd [DATALAB-2254]: Fixed delete/upload action on bucket browser on Azure (#1047)
5b836bd is described below
commit 5b836bdadd5f191ef7f3cb77260585f19a297b29
Author: Dmytro Gnatyshyn <42...@users.noreply.github.com>
AuthorDate: Fri Jan 22 17:45:33 2021 +0200
[DATALAB-2254]: Fixed delete/upload action on bucket browser on Azure (#1047)
[DATALAB-2254]: Fixed relocation after actions on bucket browser on Azure
---
.../bucket-browser/bucket-data.service.ts | 51 +++++++++++-----------
.../folder-tree/folder-tree.component.ts | 28 ++++++++----
.../install-libraries.component.ts | 2 +-
3 files changed, 47 insertions(+), 34 deletions(-)
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 8573105..bf168ca 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
@@ -146,8 +146,9 @@ export class BucketDataService {
parent.children.unshift(name as TodoItemNode);
} else {
if (name) {
+ console.log('parentObject', parent.object);
const child = {item: name, children: [], object: JSON.parse(JSON.stringify(parent.object))};
- child.object.object = child.object.object.slice(0, -1) + child.item + '/';
+ child.object.object = child.object.object.replace(/ا/g, '') + child.item + '/';
parent.children.unshift(child as TodoItemNode);
} else {
parent.children.unshift({item: '', children: [], object: {}} as TodoItemNode);
@@ -166,35 +167,35 @@ export class BucketDataService {
public removeItem(parent, child) {
parent.children.splice( parent.children.indexOf(child), 1);
this._bucketData.next(this.data);
- }
+ }
- public processFiles = (files, target, object) => {
- let pointer = target;
- files.forEach((file) => {
- if (!pointer[file]) {
- pointer[file] = {};
- }
- pointer = pointer[file];
- if (!pointer.obj) {
- pointer.obj = object;
- }
+ public processFiles = (files, target, object) => {
+ let pointer = target;
+ files.forEach((file) => {
+ if (!pointer[file]) {
+ pointer[file] = {};
+ }
+ pointer = pointer[file];
+ if (!pointer.obj) {
+ pointer.obj = object;
+ }
- });
- }
+ });
+ }
- public processFolderArray = (acc, curr) => {
- const files = curr.object.split('/');
- this.processFiles(files, acc, curr);
+ public processFolderArray = (acc, curr) => {
+ const files = curr.object.split('/');
+ this.processFiles(files, acc, curr);
- return acc;
- }
+ return acc;
+ }
- public convertToFolderTree = (data) => {
- const finalData = data.reduce(this.processFolderArray, {});
- if (Object.keys(finalData).length === 0) {
- return '';
- }
- return finalData;
+ public convertToFolderTree = (data) => {
+ const finalData = data.reduce(this.processFolderArray, {});
+ if (Object.keys(finalData).length === 0) {
+ return '';
}
+ return finalData;
+ }
}
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 698491d..1721bbc 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
@@ -73,19 +73,26 @@ export class FolderTreeComponent implements OnDestroy {
this.dataSource = new MatTreeFlatDataSource(this.treeControl, this.treeFlattener);
this.subscriptions.add(this.bucketDataService._bucketData.subscribe(data => {
if (data) {
- console.log('BeforeDATA', this.dataSource.data);
this.dataSource.data = data;
- console.log('AfterDATA', data);
const subject = this.dataSource._flattenedData;
const subjectData = subject.getValue();
- console.log('selectedFolderBefore', this.selectedFolder);
- console.log('subjectData', subjectData);
+ console.log('selected', this.selectedFolder);
+ console.log('data', subjectData);
if (this.selectedFolder) {
- console.log(this.cloud);
- this.selectedFolder = subjectData.find(v => v.item === this.selectedFolder.item &&
- v.level === this.selectedFolder.level && v.obj === this.selectedFolder.obj);
+ if (this.cloud !== 'azure') {
+ this.selectedFolder = subjectData.find(v => v.item === this.selectedFolder.item &&
+ v.level === this.selectedFolder.level && v.obj === this.selectedFolder.obj);
+ } else {
+ const selectedFolderPath = this.selectedFolder.obj.slice(0, this.selectedFolder.obj.lastIndexOf('/') + 1);
+ this.selectedFolder = subjectData.find(v => {
+ const objectPath = v.obj.slice(0, v.obj.lastIndexOf('/') + 1);
+ console.log('objectPath', selectedFolderPath);
+ console.log('selectedFolderPath', selectedFolderPath);
+ return v.item === this.selectedFolder.item &&
+ v.level === this.selectedFolder.level && objectPath === selectedFolderPath;
+ });
+ }
}
- console.log('selectedFolderAfter', this.selectedFolder);
this.expandAllParents(this.selectedFolder || subjectData[0]);
this.showItem(this.selectedFolder || subjectData[0]);
if (this.selectedFolder && !this.bucketDataService.emptyFolder) {
@@ -231,6 +238,9 @@ private addNewItem(node: TodoItemFlatNode, file, isFile) {
public removeItem(node: TodoItemFlatNode) {
const parentNode = this.flatNodeMap.get(this.getParentNode(node));
const childNode = this.flatNodeMap.get(node);
+ if (this.cloud === 'azure') {
+ parentNode.object.object = parentNode.object.object.replace(/ا/g, '');
+ }
this.bucketDataService.emptyFolder = null;
this.bucketDataService.removeItem(parentNode!, childNode);
this.resetForm();
@@ -264,6 +274,8 @@ private addNewItem(node: TodoItemFlatNode, file, isFile) {
this.toastr.error(error.message || 'Folder creation error!', 'Oops!');
});
} else {
+ flatParent.object.object = flatParent.object.object.replace(/ا/g, '');
+ parent.obj = parent.obj.replace(/ا/g, '');
this.bucketDataService.insertItem(flatParent, itemValue, false);
this.toastr.success('Folder successfully created!', 'Success!');
this.folderCreating = false;
diff --git a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/install-libraries/install-libraries.component.ts b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/install-libraries/install-libraries.component.ts
index acf060c..12154a9 100644
--- a/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/install-libraries/install-libraries.component.ts
+++ b/services/self-service/src/main/resources/webapp/src/app/resources/exploratory/install-libraries/install-libraries.component.ts
@@ -231,7 +231,7 @@ export class InstallLibrariesComponent implements OnInit, OnDestroy {
}
public addLibrary(item): void {
- if ((this.autoComplete === 'ENABLED' && !this.isLibSelected && !this.validity_format)
+ if ((this.autoComplete === 'ENABLED' && !this.isLibSelected && this.filteredList?.length)
|| (this.selectedLib && this.selectedLib.isInSelectedList) || this.isVersionInvalid || this.autoComplete === 'UPDATING') {
return;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@datalab.apache.org
For additional commands, e-mail: commits-help@datalab.apache.org