Skip to content

Commit 2c5e869

Browse files
committed
Topology
1 parent 62b690d commit 2c5e869

File tree

7 files changed

+21
-44
lines changed

7 files changed

+21
-44
lines changed

karavan-vscode/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -724,9 +724,9 @@
724724
"copy-karavan": "npm run copy-core && npm run replace-import",
725725
"vscode:prepublish": "npm run copy-karavan && npm run package",
726726
"compile": "npm run copy-karavan && cross-env NODE_ENV=development node --max-old-space-size=8192 ./node_modules/webpack/bin/webpack.js --progress --stats-error-details",
727-
"watch": "npm run copy-karavan && cross-env NODE_ENV=development webpack --progress --watch",
728-
"package": "npm run copy-karavan && cross-env NODE_ENV=production webpack --progress",
729-
"webpack": "cross-env NODE_ENV=development webpack --progress",
727+
"watch": "npm run copy-karavan && cross-env NODE_ENV=development node --max-old-space-size=8192 ./node_modules/webpack/bin/webpack.js --progress --watch",
728+
"package": "npm run copy-karavan && cross-env NODE_ENV=production node --max-old-space-size=8192 ./node_modules/webpack/bin/webpack.js --progress",
729+
"webpack": "cross-env NODE_ENV=development node --max-old-space-size=8192 ./node_modules/webpack/bin/webpack.js --progress",
730730
"test-compile": "tsc -p ./",
731731
"test-watch": "tsc -watch -p ./",
732732
"pretest": "npm run copy-karavan && npm run test-compile && npm run lint",

karavan-vscode/webpack.config.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,10 @@ const baseConfig = (webpackEnv) => {
6262
test: /\.tsx?$/,
6363
exclude: /node_modules\/(?!@patternfly\/react-topology).*/,
6464
loader: require.resolve("ts-loader"),
65+
options: {
66+
allowTsInNodeModules: true,
67+
transpileOnly: true,
68+
},
6569
},
6670
{
6771
test: /\.css$/,

karavan-vscode/webview/App.tsx

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
*/
1717
import * as React from "react";
1818
import {
19+
Bullseye,
1920
Content,
2021
Page, PageSection, Spinner
2122
} from "@patternfly/react-core";
@@ -207,7 +208,6 @@ class App extends React.Component<Props, State> {
207208
saveIntegrationFiles(files: any) {
208209
const f = Object.keys(files).map(key => new IntegrationFile(key, files[key]));
209210
this.setState({ files: f });
210-
211211
}
212212

213213
onchangeBlockedList(type: string, name: string, checked: boolean) {
@@ -226,9 +226,11 @@ class App extends React.Component<Props, State> {
226226
<div className="karavan">
227227
{!loaded &&
228228
<PageSection className="loading-page">
229-
<Spinner className="progress-stepper" diameter="80px" aria-label="Loading..." />
230-
{/* {loadingMessages.map(message => <Text component={TextVariants.h5}>{message}</Text>)} */}
231-
<Content component={'h5'}>Loading...</Content>
229+
<Bullseye>
230+
<Spinner className="progress-stepper" diameter="80px" aria-label="Loading..." />
231+
{/* {loadingMessages.map(message => <Text component={TextVariants.h5}>{message}</Text>)} */}
232+
<Content component={'h5'}>Loading...</Content>
233+
</Bullseye>
232234
</PageSection>
233235
}
234236
{loaded && page === "designer" &&
@@ -263,7 +265,7 @@ class App extends React.Component<Props, State> {
263265
<TopologyTab openApiJson={undefined}
264266
asyncApiJson={undefined}
265267
hideToolbar={true}
266-
files={[]}
268+
files={this.state.files}
267269
/>
268270
}
269271
</div>

karavan-vscode/webview/index.css

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@
1818
html,
1919
body,
2020
#root,
21-
.App {
21+
.App,
22+
.karavan {
2223
height: 100%;
2324
overflow: hidden;
2425
}

karavan-vscode/webview/integration-topology/GetCustomMenu.tsx

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -28,33 +28,7 @@ export function getCustomMenu(element: GraphElement, groupNames: string[]) {
2828
</ContextMenuItem>
2929
);
3030
if (data?.type === 'route') {
31-
result.push(
32-
<ContextMenuItem key={element.getId()}
33-
onClick={() => data?.setDisabled?.(data?.fileName, data?.routeId, !(data?.autoStartup))}>
34-
{data?.autoStartup === false ? 'Enable' : 'Disable'}
35-
</ContextMenuItem>
36-
);
37-
result.push(
38-
<ContextMenuItem key={element.getId() + '-delete'} onClick={() => {
39-
data?.deleteRoute?.(data?.fileName, data?.step.id);
40-
}}>
41-
{'Delete'}
42-
</ContextMenuItem>
43-
);
44-
if (groupNames.length > 0) {
45-
result.push(
46-
<ContextSubMenuItem label='Groups' key={element.getId() + '-groups'} children={
47-
groupNames.filter(g => !g.startsWith("karavan-")).map(groupName => {
48-
return (
49-
<ContextMenuItem key={`${element.getId()}-groups-${groupName}`} isSelected={data.routeGroup === groupName} onClick={() => data?.setRouteGroup?.(data?.fileName, data?.routeId, groupName)}
50-
>
51-
{groupName}
52-
</ContextMenuItem>
53-
)
54-
})
55-
}/>
56-
)
57-
}
31+
5832
} else if (data?.type === 'step' && data?.outgoing) {
5933
result.push(
6034
<ContextMenuItem key={element.getId() + '-step'}

karavan-vscode/webview/integration-topology/TopologyTab.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ import {TopologyLegend} from "./TopologyLegend";
4545
import {ModalConfirmation, ModalConfirmationProps} from "@/components/ModalConfirmation";
4646
import {EyeIcon, EyeSlashIcon} from '@patternfly/react-icons';
4747
import {ArrowDown, GroupObjects, JumpLink, UngroupObjects} from '@carbon/icons-react';
48-
import {useFilesStore} from "@/api/ProjectStore";
4948
import {NODE_POSITIONED_EVENT} from "@patternfly/react-topology/src/types";
5049
import {TopologyDagreLayout} from "@/integration-topology/graph/TopologyDagreLayout";
5150
import {ASYNCAPI_FILE_NAME_JSON, OPENAPI_FILE_NAME_JSON} from "@/core/contants";
@@ -59,13 +58,12 @@ interface Props {
5958

6059
export function TopologyTab(props: Props) {
6160

62-
// const { files, hideToolbar, openApiJson, asyncApiJson } = props;
61+
const { files, hideToolbar } = props;
6362
const [modelMap, setModelMap, setFileName, layout, showGroups, setShowGroups,
6463
showBeans, setShowBeans, showLegend, setShowLegend, straightEdges, setStraightEdges] = useTopologyStore((s) =>
6564
[s.modelMap, s.setModelMap, s.setFileName, s.layout, s.showGroups, s.setShowGroups,
6665
s.showBeans, s.setShowBeans, s.showLegend, s.setShowLegend, s.straightEdges, s.setStraightEdges]);
6766
const [setSelectedStep] = useDesignerStore((s) => [s.setSelectedStep], shallow)
68-
const [files] = useFilesStore((s) => [s.files], shallow);
6967
const [confirmationProps, setConfirmationProps] = useState<ModalConfirmationProps>();
7068
const {selectFile, setDisabled, deleteRoute, setRouteGroup} = useTopologyHook(setConfirmationProps);
7169

karavan-vscode/webview/integration-topology/useTopologyHook.tsx

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import {CamelDefinitionYaml} from "@/core/api/CamelDefinitionYaml";
2222
import {CamelDefinitionApiExt} from "@/core/api/CamelDefinitionApiExt";
2323
import {RouteDefinition} from "@/core/model/CamelDefinition";
2424
import {ModalConfirmationProps} from "@/components/ModalConfirmation";
25+
import vscode from "../vscode";
2526

2627
export function useTopologyHook(setConfirmationProps?: React.Dispatch<React.SetStateAction<ModalConfirmationProps | undefined>>) {
2728

@@ -30,11 +31,8 @@ export function useTopologyHook(setConfirmationProps?: React.Dispatch<React.SetS
3031
const [setTabIndex] = useProjectStore((s) => [s.setTabIndex], shallow);
3132

3233
function selectFile(fileName: string) {
33-
const file = files.filter(f => f.name === fileName)?.at(0);
34-
if (file) {
35-
setFile('select', file);
36-
setTabIndex(0);
37-
}
34+
console.log(fileName)
35+
vscode.postMessage({ command: 'openFile', fileName: fileName })
3836
}
3937

4038
function setDisabled(fileName: string, elementId: string, enable: boolean) {

0 commit comments

Comments
 (0)