From 191f9f7ea431fad1008faae71f37aa0dbe48ee48 Mon Sep 17 00:00:00 2001 From: Naumov Alexey Date: Thu, 12 May 2022 14:49:50 +0200 Subject: [PATCH] fix(plugin-resource-manager): CB-2019 1925 add createPath --- webapp/packages/core-utils/src/createPath.ts | 11 +++++++++++ webapp/packages/core-utils/src/index.ts | 3 ++- .../src/NavResourceNodeService.ts | 3 ++- .../src/Tree/ResourceManagerTree.tsx | 3 ++- .../src/PluginBootstrap.ts | 3 ++- 5 files changed, 19 insertions(+), 4 deletions(-) create mode 100644 webapp/packages/core-utils/src/createPath.ts diff --git a/webapp/packages/core-utils/src/createPath.ts b/webapp/packages/core-utils/src/createPath.ts new file mode 100644 index 0000000000..eab18cd8a7 --- /dev/null +++ b/webapp/packages/core-utils/src/createPath.ts @@ -0,0 +1,11 @@ +/* + * CloudBeaver - Cloud Database Manager + * Copyright (C) 2020-2022 DBeaver Corp and others + * + * Licensed under the Apache License, Version 2.0. + * you may not use this file except in compliance with the License. + */ + +export function createPath(names: Array): string { + return names.filter(Boolean).join('/'); +} \ No newline at end of file diff --git a/webapp/packages/core-utils/src/index.ts b/webapp/packages/core-utils/src/index.ts index 4189f0001d..2c9662e013 100644 --- a/webapp/packages/core-utils/src/index.ts +++ b/webapp/packages/core-utils/src/index.ts @@ -36,4 +36,5 @@ export * from './getTextFileReadingProcess'; export * from './getTextBetween'; export * from './timestampToDate'; export * from './bytesToSize'; -export * from './isDefined'; \ No newline at end of file +export * from './isDefined'; +export * from './createPath'; \ No newline at end of file diff --git a/webapp/packages/plugin-resource-manager/src/NavResourceNodeService.ts b/webapp/packages/plugin-resource-manager/src/NavResourceNodeService.ts index d80ec631ea..c93c82ac4d 100644 --- a/webapp/packages/plugin-resource-manager/src/NavResourceNodeService.ts +++ b/webapp/packages/plugin-resource-manager/src/NavResourceNodeService.ts @@ -8,6 +8,7 @@ import { NavNodeInfoResource, NavTreeResource } from '@cloudbeaver/core-app'; import { injectable } from '@cloudbeaver/core-di'; +import { createPath } from '@cloudbeaver/core-utils'; import { ResourceManagerResource } from './ResourceManagerResource'; import { RESOURCES_NODE_PATH } from './RESOURCES_NODE_PATH'; @@ -30,7 +31,7 @@ export class NavResourceNodeService { async saveScript(folderNodeId: string, name: string, script: string) { const resourceData = this.getResourceData(folderNodeId); - const resourcePath = [resourceData.resourcePath, name].filter(Boolean).join('/'); + const resourcePath = createPath([resourceData.resourcePath, name]); await this.resourceManagerResource.createResource(resourceData.projectId, resourcePath, false); await this.resourceManagerResource.writeResource(resourceData.projectId, resourcePath, script); await this.navTreeResource.refreshTree(folderNodeId); diff --git a/webapp/packages/plugin-resource-manager/src/Tree/ResourceManagerTree.tsx b/webapp/packages/plugin-resource-manager/src/Tree/ResourceManagerTree.tsx index 52c00eb990..684e1bee24 100644 --- a/webapp/packages/plugin-resource-manager/src/Tree/ResourceManagerTree.tsx +++ b/webapp/packages/plugin-resource-manager/src/Tree/ResourceManagerTree.tsx @@ -13,6 +13,7 @@ import { ElementsTree, NavigationTreeService, NavigationNodeControl } from '@clo import { Loader, useDataResource } from '@cloudbeaver/core-blocks'; import { useService } from '@cloudbeaver/core-di'; import { useTranslate } from '@cloudbeaver/core-localization'; +import { createPath } from '@cloudbeaver/core-utils'; import { CaptureView } from '@cloudbeaver/core-view'; import { ProjectsResource } from '../ProjectsResource'; @@ -50,7 +51,7 @@ export const ResourceManagerTree = observer(function ResourceManagerTree() {