Skip to content

Commit 4846fe4

Browse files
authored
Merge pull request #112 from asadarafat/main
TopoViewer/Editor enhancement
2 parents d3e3a7a + da011e2 commit 4846fe4

17 files changed

+2296
-1986
lines changed

CHANGELOG.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,17 @@
11
# Change Log
22

3+
## [0.12.1] - 2025-05-01
4+
* TopoEditor: Now supports link editing
5+
* TopoViewer: Can now be used with undeployed labs
6+
37
## [0.12.0] - 2025-04-26
48
* TopoViewer Editor - A full GUI for authoring ContainerLab topology files webview:
59
* Viewport “+” button for adding nodes.
610
* Shift+Click on the canvas to place a new node at the click position.
7-
* Node context-menu (right-click) on each node:
11+
* Node context-menu (right-click) on each node:
812
* Edit Node — open its properties panel.
913
* Delete Node — remove the node.
10-
* Add Link — begin link creation
14+
* Add Link — begin link creation
1115
* Shortcuts
1216

1317
| Shortcut | Action |
@@ -74,12 +78,12 @@
7478
* Implemented MAC address detection and subinterface discovery system
7579
* Enhanced link operational state detection and WebSocket-based property updates
7680
* Improved UI responsiveness with streamlined node/link panels and action handling
77-
* fixes
81+
* fixes
7882

7983
## [0.7.0] - 2025-02-09
8084
* Save command for labs and nodes
8185
* Packetcapture with Edgeshark supports now multi-interface selection (ctrl/cmd + click)
82-
* Packtflix port is now configurable
86+
* Packtflix port is now configurable
8387
* Fixes
8488

8589
## [0.6.2] - 2025-02-04

package-lock.json

Lines changed: 487 additions & 691 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@
55
"icon": "resources/containerlab.png",
66
"description": "Manages containerlab topologies in VS Code",
77
"author": "SRL Labs",
8-
"version": "0.12.0",
8+
"version": "0.12.1",
99
"homepage": "https://containerlab.dev/manual/vsc-extension/",
1010
"engines": {
11-
"vscode": "^1.70.0"
11+
"vscode": "^1.99.1"
1212
},
1313
"repository": {
1414
"type": "git",
@@ -64,6 +64,10 @@
6464
"title": "Edit topology",
6565
"icon": "$(pencil)"
6666
},
67+
{
68+
"command": "containerlab.editor.topoViewerEditor.open",
69+
"title": "Edit topology (TopoEditor)"
70+
},
6771
{
6872
"command": "containerlab.lab.copyPath",
6973
"title": "Copy file path",
@@ -430,20 +434,26 @@
430434
"when": "viewItem =~ /containerlabLab/",
431435
"group": "labFile@0"
432436
},
437+
{
438+
"command": "containerlab.editor.topoViewerEditor.open",
439+
"when": "viewItem == containerlabLabUndeployed",
440+
"group": "labFile@1",
441+
"title": "Edit Topology (TopoEditor)"
442+
},
433443
{
434444
"command": "containerlab.lab.copyPath",
435445
"when": "viewItem =~ /containerlabLab/",
436-
"group": "labFile@1"
446+
"group": "labFile@2"
437447
},
438448
{
439449
"command": "containerlab.lab.addToWorkspace",
440450
"when": "viewItem == containerlabLabDeployed",
441-
"group": "labFile@2"
451+
"group": "labFile@3"
442452
},
443453
{
444454
"command": "containerlab.lab.openFolderInNewWindow",
445455
"when": "viewItem =~ /containerlabLab/",
446-
"group": "labFile@3"
456+
"group": "labFile@4"
447457
},
448458
{
449459
"command": "containerlab.lab.deploy",
@@ -512,7 +522,7 @@
512522
},
513523
{
514524
"command": "containerlab.lab.graph.topoViewer",
515-
"when": "viewItem == containerlabLabDeployed",
525+
"when": "viewItem =~ /containerlabLab/",
516526
"group": "graph@3"
517527
},
518528
{
@@ -802,20 +812,20 @@
802812
}
803813
}
804814
},
805-
"scripts": {
806-
"compile": "tsc -p .",
807-
"watch": "tsc -w -p .",
808-
"build:webview": "webpack --config webpack.config.js",
809-
"package": "npm run compile && npm run build:webview && vsce package",
810-
"package:dev": "npm run watch & webpack --config webpack.config.js --watch"
815+
"scripts": {
816+
"compile": "tsc -p .",
817+
"watch": "tsc -w -p .",
818+
"build:webview": "webpack --config webpack.config.js",
819+
"package": "npm run compile && npm run build:webview && vsce package",
820+
"package:dev": "npm run watch & webpack --config webpack.config.js --watch"
811821
},
812822
"devDependencies": {
813823
"@types/cytoscape-cxtmenu": "^3.4.4",
814824
"@types/cytoscape-edgehandles": "^4.0.4",
815825
"@types/js-yaml": "^4.0.9",
816-
"@types/node": "^18.0.0",
817-
"@types/vscode": "^1.70.0",
818-
"typescript": "^5.7.3",
826+
"@types/node": "^22.15.3",
827+
"@types/vscode": "^1.99.1",
828+
"typescript": "^5.8.3",
819829
"webpack-cli": "^6.0.1"
820830
},
821831
"dependencies": {
@@ -834,6 +844,6 @@
834844
"cytoscape-grid-guide": "^2.3.3",
835845
"socket.io": "^4.8.1",
836846
"ts-loader": "^9.5.2",
837-
"yaml": "^2.7.0"
847+
"yaml": "^2.7.1"
838848
}
839-
}
849+
}

0 commit comments

Comments
 (0)