(e.preventDefault(), onClose())} />
-
-
- {menu.name}
-
-
- {items.map((it) => {
- const Icon = it.icon
- return (
-
- )
- })}
-
- >
- )
-}
-
function Legend() {
const items = [
{ c: PROTO_COLOR.http, label: "consumes — http" },
@@ -1363,6 +1322,7 @@ function Legend() {
// (with protocol/external chips) and consumed-by, each removable/navigable.
function InspectPanel({
info,
+ actions,
onClose,
onOpen,
onUnlink,
@@ -1372,11 +1332,13 @@ function InspectPanel({
kind: string
remote: boolean
node: string | null
+ launchUrl?: string
provides: string[]
capsConsumes: string[]
consumes: Consume[]
consumedBy: Dependent[]
}
+ actions: MenuItem[]
onClose: () => void
onOpen: (name: string, kind: string, node: string | null) => void
onUnlink: (ref: string) => void
@@ -1395,14 +1357,48 @@ function InspectPanel({
{info.kind}
-
+ {actions.length > 0 && (
+
+
+ {actions.map((a) => {
+ const Icon = a.icon
+ return (
+
+
+ {a.label}
+
+ )
+ })}
+
+
+ )}
{(info.provides.length > 0 || info.capsConsumes.length > 0) && (
{info.provides.map((t) => (