@eventcatalog/core 2.37.2 → 2.37.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analytics/analytics.cjs +1 -1
- package/dist/analytics/analytics.js +2 -2
- package/dist/analytics/log-build.cjs +1 -1
- package/dist/analytics/log-build.js +3 -3
- package/dist/{chunk-7J7J25A5.js → chunk-3K3YK3GK.js} +1 -1
- package/dist/{chunk-ARZJXJW7.js → chunk-GJX7CKPB.js} +1 -1
- package/dist/{chunk-BXWTM2JX.js → chunk-NRW4AZMT.js} +1 -1
- package/dist/constants.cjs +1 -1
- package/dist/constants.js +1 -1
- package/dist/eventcatalog.cjs +1 -1
- package/dist/eventcatalog.js +3 -3
- package/eventcatalog/src/components/Lists/ProtocolList.tsx +1 -15
- package/eventcatalog/src/components/MDX/ChannelInformation/ChannelInformation.tsx +2 -16
- package/eventcatalog/src/components/MDX/NodeGraph/Nodes/Channel.tsx +2 -17
- package/eventcatalog/src/icons/protocols/azure-eventgrid.svg +1 -0
- package/eventcatalog/src/icons/protocols/azure-eventhubs.svg +1 -0
- package/eventcatalog/src/icons/protocols/azure-servicebus.svg +1 -0
- package/eventcatalog/src/icons/protocols/index.ts +3 -0
- package/eventcatalog/src/pages/docs/[type]/[id]/[version]/index.astro +35 -11
- package/eventcatalog/src/utils/collections/util.ts +12 -0
- package/eventcatalog/src/utils/protocols.tsx +15 -0
- package/eventcatalog/tailwind.config.mjs +2 -0
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
log_build_default
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
5
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-GJX7CKPB.js";
|
|
4
|
+
import "../chunk-3K3YK3GK.js";
|
|
5
|
+
import "../chunk-NRW4AZMT.js";
|
|
6
6
|
import "../chunk-E7TXTI7G.js";
|
|
7
7
|
export {
|
|
8
8
|
log_build_default as default
|
package/dist/constants.cjs
CHANGED
package/dist/constants.js
CHANGED
package/dist/eventcatalog.cjs
CHANGED
package/dist/eventcatalog.js
CHANGED
|
@@ -6,15 +6,15 @@ import {
|
|
|
6
6
|
} from "./chunk-DCLTVJDP.js";
|
|
7
7
|
import {
|
|
8
8
|
log_build_default
|
|
9
|
-
} from "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
} from "./chunk-GJX7CKPB.js";
|
|
10
|
+
import "./chunk-3K3YK3GK.js";
|
|
11
11
|
import {
|
|
12
12
|
catalogToAstro,
|
|
13
13
|
checkAndConvertMdToMdx
|
|
14
14
|
} from "./chunk-SLEMYHTU.js";
|
|
15
15
|
import {
|
|
16
16
|
VERSION
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-NRW4AZMT.js";
|
|
18
18
|
import {
|
|
19
19
|
isBackstagePluginEnabled,
|
|
20
20
|
isEventCatalogScaleEnabled,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Disclosure, DisclosureButton, DisclosurePanel } from '@headlessui/react';
|
|
2
2
|
import { ChevronDownIcon } from '@heroicons/react/20/solid';
|
|
3
|
-
import
|
|
3
|
+
import { getIconForProtocol } from '@utils/protocols';
|
|
4
4
|
|
|
5
5
|
import './PillListFlat.styles.css';
|
|
6
6
|
|
|
@@ -21,20 +21,6 @@ interface Props {
|
|
|
21
21
|
emptyMessage?: string;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
const protocolIcons = Object.keys(ProtocolIcons).reduce(
|
|
25
|
-
(icons, key) => {
|
|
26
|
-
const iconKey = key as keyof typeof ProtocolIcons;
|
|
27
|
-
icons[key.toLowerCase()] = ProtocolIcons[iconKey];
|
|
28
|
-
return icons;
|
|
29
|
-
},
|
|
30
|
-
{} as { [key: string]: string }
|
|
31
|
-
);
|
|
32
|
-
|
|
33
|
-
const getIconForProtocol = (icon: keyof typeof protocolIcons) => {
|
|
34
|
-
const Icon = protocolIcons[icon];
|
|
35
|
-
return Icon ? (props: any) => <span {...props} dangerouslySetInnerHTML={{ __html: Icon }} /> : null;
|
|
36
|
-
};
|
|
37
|
-
|
|
38
24
|
const ProtocolList = ({ title, pills, emptyMessage, color = 'gray', ...props }: Props) => {
|
|
39
25
|
return (
|
|
40
26
|
<div>
|
|
@@ -1,19 +1,5 @@
|
|
|
1
1
|
import type { CollectionEntry } from 'astro:content';
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
const protocolIcons = Object.keys(ProtocolIcons).reduce(
|
|
5
|
-
(icons, key) => {
|
|
6
|
-
const iconKey = key as keyof typeof ProtocolIcons;
|
|
7
|
-
icons[key.toLowerCase()] = ProtocolIcons[iconKey];
|
|
8
|
-
return icons;
|
|
9
|
-
},
|
|
10
|
-
{} as { [key: string]: string }
|
|
11
|
-
);
|
|
12
|
-
|
|
13
|
-
const getIconForProtocol = (icon: keyof typeof protocolIcons) => {
|
|
14
|
-
const Icon = protocolIcons[icon];
|
|
15
|
-
return Icon ? (props: any) => <span {...props} dangerouslySetInnerHTML={{ __html: Icon }} /> : null;
|
|
16
|
-
};
|
|
2
|
+
import { getIconForProtocol } from '@utils/protocols';
|
|
17
3
|
|
|
18
4
|
const ChannelParameters = (data: CollectionEntry<'channels'>['data']) => {
|
|
19
5
|
return (
|
|
@@ -34,7 +20,7 @@ const ChannelParameters = (data: CollectionEntry<'channels'>['data']) => {
|
|
|
34
20
|
<span className="font-semibold">{data.protocols.length > 1 ? 'Protocols:' : 'Protocol:'}</span>
|
|
35
21
|
<ul className="space-x-2 flex">
|
|
36
22
|
{data.protocols.map((protocol) => {
|
|
37
|
-
const IconComponent = getIconForProtocol(protocol.toLowerCase()
|
|
23
|
+
const IconComponent = getIconForProtocol(protocol.toLowerCase());
|
|
38
24
|
return (
|
|
39
25
|
<li key={protocol} className=" text-sm flex items-center space-x-1 bg-gray-100 rounded-md px-1">
|
|
40
26
|
{IconComponent && <IconComponent className="w-4 h-4" />}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ArrowsRightLeftIcon } from '@heroicons/react/20/solid';
|
|
2
1
|
import type { CollectionMessageTypes } from '@types';
|
|
3
2
|
import type { CollectionEntry } from 'astro:content';
|
|
4
3
|
import { Handle } from '@xyflow/react';
|
|
@@ -22,22 +21,8 @@ function classNames(...classes: any) {
|
|
|
22
21
|
return classes.filter(Boolean).join(' ');
|
|
23
22
|
}
|
|
24
23
|
|
|
25
|
-
import * as ProtocolIcons from '@icons/protocols';
|
|
26
24
|
import { LinkIcon } from '@heroicons/react/24/outline';
|
|
27
|
-
|
|
28
|
-
const protocolIcons = Object.keys(ProtocolIcons).reduce(
|
|
29
|
-
(icons, key) => {
|
|
30
|
-
const iconKey = key as keyof typeof ProtocolIcons;
|
|
31
|
-
icons[key.toLowerCase()] = ProtocolIcons[iconKey];
|
|
32
|
-
return icons;
|
|
33
|
-
},
|
|
34
|
-
{} as { [key: string]: string }
|
|
35
|
-
);
|
|
36
|
-
|
|
37
|
-
const getIconForProtocol = (icon: keyof typeof protocolIcons) => {
|
|
38
|
-
const Icon = protocolIcons[icon];
|
|
39
|
-
return Icon ? (props: any) => <span {...props} dangerouslySetInnerHTML={{ __html: Icon }} /> : null;
|
|
40
|
-
};
|
|
25
|
+
import { getIconForProtocol } from '@utils/protocols';
|
|
41
26
|
|
|
42
27
|
export default function ChannelNode({ data, sourcePosition, targetPosition }: any) {
|
|
43
28
|
const { mode, channel, source, target } = data as Data;
|
|
@@ -50,7 +35,7 @@ export default function ChannelNode({ data, sourcePosition, targetPosition }: an
|
|
|
50
35
|
|
|
51
36
|
const SideBarIcon = getIcon(icon);
|
|
52
37
|
const nodeLabel = label || channel?.data?.sidebar?.badge || 'Channel';
|
|
53
|
-
const fontSize = nodeLabel.length > 10 ? '
|
|
38
|
+
const fontSize = nodeLabel.length > 10 ? '5px' : '9px';
|
|
54
39
|
|
|
55
40
|
const getAddress = () => {
|
|
56
41
|
const sourceChannel = source.data.channels?.find((channel) => channel.id === id);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><defs><linearGradient id="a20547e5-d6af-456b-afbc-05d22ff8cb9d" x1="4589.72" y1="-5180.02" x2="4589.72" y2="-5184.21" gradientTransform="matrix(0.5, 0, 0, -0.5, -2275.31, -2589.32)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#c69aeb" /><stop offset="1" stop-color="#6f4bb2" /></linearGradient><linearGradient id="a4745f51-5e75-4126-812d-6bb8a5130e16" x1="4587.99" y1="-5188.47" x2="4587.99" y2="-5192.65" href="#a20547e5-d6af-456b-afbc-05d22ff8cb9d" /></defs><title>Icon-integration-215</title><g><g id="b30b0bd5-e4d2-456b-8d49-c2df20200912"><path id="b51878b5-8d50-4b8b-bc48-74f5f7315a99" d="M12.7,8.15v-.6H8.18L6.06,9.66H4.5L8.12,6h2.47V5.43H7.87L3.65,9.66h-.6v.6H4.86L7,12.37H12.1v-.6H7.22L5.71,10.26H9.38v-.6H6.92l1.5-1.51Z" fill="#32bedd" /><circle id="ad0ed4eb-cd5f-4cc0-bd19-2830d27ec806" cx="9.98" cy="9.96" r="0.87" fill="#fff" /><circle id="a2746b4a-0ae4-4308-876e-5b82657e1872" cx="10.89" cy="5.74" r="0.87" fill="#fff" /><circle id="fc3316e0-7094-4ce0-99ed-43f1e6e4350c" cx="13" cy="7.85" r="0.87" fill="#fff" /><circle id="b5d18443-d50e-4590-8e8f-80b6a7f6d348" cx="12.1" cy="12.07" r="0.87" fill="#fff" /><circle cx="10.86" cy="5.74" r="1.05" fill="#50e6ff" /><circle cx="12.97" cy="7.85" r="1.05" fill="url(#a20547e5-d6af-456b-afbc-05d22ff8cb9d)" /><circle cx="12.1" cy="12.07" r="1.05" fill="url(#a4745f51-5e75-4126-812d-6bb8a5130e16)" /><circle cx="9.98" cy="9.96" r="1.05" fill="#50e6ff" /><g><path d="M1.07,1.43H2.36a0,0,0,0,1,0,0V5a.29.29,0,0,1-.29.29H.79A.29.29,0,0,1,.5,5V2A.57.57,0,0,1,1.07,1.43Z" fill="#999" /><path d="M1.07,1.43H2.36a0,0,0,0,1,0,0V5a.29.29,0,0,1-.29.29H.79A.29.29,0,0,1,.5,5V2A.57.57,0,0,1,1.07,1.43Z" fill="#999" opacity="0.5" /></g><g><path d="M15.64,1.43h1.29A.57.57,0,0,1,17.5,2V5a.29.29,0,0,1-.29.29H15.92A.29.29,0,0,1,15.64,5V1.43A0,0,0,0,1,15.64,1.43Z" fill="#999" /><path d="M15.64,1.43h1.29A.57.57,0,0,1,17.5,2V5a.29.29,0,0,1-.29.29H15.92A.29.29,0,0,1,15.64,5V1.43A0,0,0,0,1,15.64,1.43Z" fill="#999" opacity="0.5" /></g><path d="M8.66-6.16H9.91a0,0,0,0,1,0,0v17a0,0,0,0,1,0,0H8.66a.57.57,0,0,1-.57-.57V-5.6A.57.57,0,0,1,8.66-6.16Z" transform="translate(11.34 -6.66) rotate(90)" fill="#949494" /><g><path d="M.79,12.68H2.08a.29.29,0,0,1,.29.29v3.6a0,0,0,0,1,0,0H1.07A.57.57,0,0,1,.5,16V13A.29.29,0,0,1,.79,12.68Z" fill="#999" /><path d="M.79,12.68H2.08a.29.29,0,0,1,.29.29v3.6a0,0,0,0,1,0,0H1.07A.57.57,0,0,1,.5,16V13A.29.29,0,0,1,.79,12.68Z" fill="#999" opacity="0.5" /></g><g><path d="M15.92,12.68h1.29a.29.29,0,0,1,.29.29v3a.57.57,0,0,1-.57.57H15.64a0,0,0,0,1,0,0V13A.29.29,0,0,1,15.92,12.68Z" fill="#999" /><path d="M15.92,12.68h1.29a.29.29,0,0,1,.29.29v3a.57.57,0,0,1-.57.57H15.64a0,0,0,0,1,0,0V13A.29.29,0,0,1,15.92,12.68Z" fill="#999" opacity="0.5" /></g><path d="M8.66,7.16H9.91a0,0,0,0,1,0,0v17a0,0,0,0,1,0,0H8.66a.57.57,0,0,1-.57-.57V7.73A.57.57,0,0,1,8.66,7.16Z" transform="translate(-6.66 24.66) rotate(-90)" fill="#949494" /></g></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><title>Icon-analytics-144</title><g><g id="a53a4de8-371c-49da-a662-c4631299fc03"><path d="M10.83,8.42a.26.26,0,0,1-.24.27H8.5a.26.26,0,0,1-.27-.24V6.89a.26.26,0,0,1,.24-.27h2.09a.26.26,0,0,1,.27.24V8.42Z" fill="#76bc2d" /><path d="M14.54,10a.26.26,0,0,1-.24.27H12.21a.26.26,0,0,1-.27-.24V8.48a.26.26,0,0,1,.24-.27h2.09a.26.26,0,0,1,.27.24V10Z" fill="#76bc2d" /><path d="M10.83,11.6a.26.26,0,0,1-.24.27H8.5a.26.26,0,0,1-.27-.24V10.07a.26.26,0,0,1,.24-.27h2.09a.26.26,0,0,1,.27.24V11.6Z" fill="#76bc2d" /><path d="M7.12,6.84a.25.25,0,0,1-.23.26H4.74a.26.26,0,0,1-.27-.23V5.25A.26.26,0,0,1,4.71,5H6.8c.22,0,.32.11.32.27Z" fill="#86d633" /><path d="M7.12,10a.25.25,0,0,1-.23.27H4.74A.26.26,0,0,1,4.47,10V8.42a.26.26,0,0,1,.24-.26H6.8c.22,0,.32.11.32.26Z" fill="#76bc2d" /><path d="M7.12,13.19a.25.25,0,0,1-.23.27H4.74a.26.26,0,0,1-.27-.24V11.6a.25.25,0,0,1,.24-.26H6.8c.22,0,.32.1.32.26Z" fill="#76bc2d" /><g><path d="M1.07,1.51H2.36a0,0,0,0,1,0,0v3.6a.29.29,0,0,1-.29.29H.79A.29.29,0,0,1,.5,5.11v-3A.57.57,0,0,1,1.07,1.51Z" fill="#999" /><path d="M1.07,1.51H2.36a0,0,0,0,1,0,0v3.6a.29.29,0,0,1-.29.29H.79A.29.29,0,0,1,.5,5.11v-3A.57.57,0,0,1,1.07,1.51Z" fill="#999" opacity="0.5" /></g><g><path d="M15.64,1.51h1.29a.57.57,0,0,1,.57.57v3a.29.29,0,0,1-.29.29H15.92a.29.29,0,0,1-.29-.29V1.51A0,0,0,0,1,15.64,1.51Z" fill="#999" /><path d="M15.64,1.51h1.29a.57.57,0,0,1,.57.57v3a.29.29,0,0,1-.29.29H15.92a.29.29,0,0,1-.29-.29V1.51A0,0,0,0,1,15.64,1.51Z" fill="#999" opacity="0.5" /></g><path d="M8.66-6.08H9.91a0,0,0,0,1,0,0v17a0,0,0,0,1,0,0H8.66a.57.57,0,0,1-.57-.57V-5.52A.57.57,0,0,1,8.66-6.08Z" transform="translate(11.42 -6.58) rotate(90)" fill="#949494" /><g><path d="M.79,12.76H2.08a.29.29,0,0,1,.29.29v3.6a0,0,0,0,1,0,0H1.07a.57.57,0,0,1-.57-.57V13A.29.29,0,0,1,.79,12.76Z" fill="#999" /><path d="M.79,12.76H2.08a.29.29,0,0,1,.29.29v3.6a0,0,0,0,1,0,0H1.07a.57.57,0,0,1-.57-.57V13A.29.29,0,0,1,.79,12.76Z" fill="#999" opacity="0.5" /></g><g><path d="M15.92,12.76h1.29a.29.29,0,0,1,.29.29v3a.57.57,0,0,1-.57.57H15.64a0,0,0,0,1,0,0V13A.29.29,0,0,1,15.92,12.76Z" fill="#999" /><path d="M15.92,12.76h1.29a.29.29,0,0,1,.29.29v3a.57.57,0,0,1-.57.57H15.64a0,0,0,0,1,0,0V13A.29.29,0,0,1,15.92,12.76Z" fill="#999" opacity="0.5" /></g><path d="M8.66,7.24H9.91a0,0,0,0,1,0,0v17a0,0,0,0,1,0,0H8.66a.57.57,0,0,1-.57-.57V7.81A.57.57,0,0,1,8.66,7.24Z" transform="translate(-6.74 24.74) rotate(-90)" fill="#949494" /></g></g></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 18 18"><defs><linearGradient id="bbd02878-309a-4490-8196-946338d0f593" x1="8.995" y1="10.299" x2="8.995" y2="13.199" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#005ba1" /><stop offset="0.258" stop-color="#00589d" /><stop offset="0.525" stop-color="#004f90" /><stop offset="0.796" stop-color="#003f7c" /><stop offset="1" stop-color="#003067" /></linearGradient></defs><g><g id="b532e600-3623-4be6-9fa6-30d05fff56b1"><polygon points="13.387 7.4 13.382 7.396 13.382 7.384 13.363 7.384 8.997 4.405 4.631 7.384 4.612 7.384 4.612 7.396 4.606 7.4 4.612 7.4 4.612 13.201 13.382 13.201 13.382 7.4 13.387 7.4" fill="#50e6ff" /><path d="M4.606,7.4c0-.1.008,5.681.008,5.8L8.995,10.3Z" fill="#32bedd" /><path d="M13.384,7.4,8.995,10.3,13.376,13.2C13.376,13.083,13.384,7.3,13.384,7.4Z" fill="#198ab3" /><polygon points="8.995 10.299 4.614 13.194 4.614 13.199 13.376 13.199 13.376 13.194 8.995 10.299" fill="url(#bbd02878-309a-4490-8196-946338d0f593)" /><g><path d="M1.072,1.43h1.29a0,0,0,0,1,0,0v3.6a.286.286,0,0,1-.286.286H.786A.286.286,0,0,1,.5,5.035V2A.572.572,0,0,1,1.072,1.43Z" fill="#999" /><path d="M1.072,1.43h1.29a0,0,0,0,1,0,0v3.6a.286.286,0,0,1-.286.286H.786A.286.286,0,0,1,.5,5.035V2A.572.572,0,0,1,1.072,1.43Z" fill="#999" opacity="0.5" /></g><g><path d="M15.638,1.43h1.29A.572.572,0,0,1,17.5,2V5.035a.286.286,0,0,1-.286.286h-1.29a.286.286,0,0,1-.286-.286V1.43A0,0,0,0,1,15.638,1.43Z" fill="#999" /><path d="M15.638,1.43h1.29A.572.572,0,0,1,17.5,2V5.035a.286.286,0,0,1-.286.286h-1.29a.286.286,0,0,1-.286-.286V1.43A0,0,0,0,1,15.638,1.43Z" fill="#999" opacity="0.5" /></g><path d="M8.66-6.163H9.907a0,0,0,0,1,0,0v17a0,0,0,0,1,0,0H8.66a.567.567,0,0,1-.567-.567V-5.6A.567.567,0,0,1,8.66-6.163Z" transform="translate(11.337 -6.663) rotate(90)" fill="#949494" /><g><path d="M.786,12.679h1.29a.286.286,0,0,1,.286.286v3.6a0,0,0,0,1,0,0H1.072A.572.572,0,0,1,.5,16V12.965A.286.286,0,0,1,.786,12.679Z" fill="#999" /><path d="M.786,12.679h1.29a.286.286,0,0,1,.286.286v3.6a0,0,0,0,1,0,0H1.072A.572.572,0,0,1,.5,16V12.965A.286.286,0,0,1,.786,12.679Z" fill="#999" opacity="0.5" /></g><g><path d="M15.924,12.679h1.29a.286.286,0,0,1,.286.286V16a.572.572,0,0,1-.572.572h-1.29a0,0,0,0,1,0,0v-3.6A.286.286,0,0,1,15.924,12.679Z" fill="#999" /><path d="M15.924,12.679h1.29a.286.286,0,0,1,.286.286V16a.572.572,0,0,1-.572.572h-1.29a0,0,0,0,1,0,0v-3.6A.286.286,0,0,1,15.924,12.679Z" fill="#999" opacity="0.5" /></g><path d="M8.66,7.163H9.907a0,0,0,0,1,0,0v17a0,0,0,0,1,0,0H8.66a.567.567,0,0,1-.567-.567V7.73A.567.567,0,0,1,8.66,7.163Z" transform="translate(-6.663 24.663) rotate(-90)" fill="#949494" /></g></g></svg>
|
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
export { default as AzureEventGrid } from '@icons/protocols/azure-eventgrid.svg?raw';
|
|
2
|
+
export { default as AzureEventHubs } from '@icons/protocols/azure-eventhubs.svg?raw';
|
|
3
|
+
export { default as AzureServiceBus } from '@icons/protocols/azure-servicebus.svg?raw';
|
|
1
4
|
export { default as Kafka } from '@icons/protocols/kafka.svg?raw';
|
|
2
5
|
export { default as Http } from '@icons/protocols/http.svg?raw';
|
|
3
6
|
export { default as JMS } from '@icons/protocols/jms.svg?raw';
|
|
@@ -8,6 +8,8 @@ import NodeGraph from '@components/MDX/NodeGraph/NodeGraph.astro';
|
|
|
8
8
|
import SchemaViewer from '@components/MDX/SchemaViewer/SchemaViewerRoot.astro';
|
|
9
9
|
import Admonition from '@components/MDX/Admonition';
|
|
10
10
|
|
|
11
|
+
import { resourceToCollectionMap, collectionToResourceMap } from '@utils/collections/util';
|
|
12
|
+
|
|
11
13
|
// SideBars
|
|
12
14
|
import ServiceSideBar from '@components/SideBars/ServiceSideBar.astro';
|
|
13
15
|
import MessageSideBar from '@components/SideBars/MessageSideBar.astro';
|
|
@@ -41,6 +43,8 @@ import { buildUrl } from '@utils/url-builder';
|
|
|
41
43
|
import { getSchemasFromResource } from '@utils/collections/schemas';
|
|
42
44
|
import { isEventCatalogChatEnabled, isMarkdownDownloadEnabled } from '@utils/feature';
|
|
43
45
|
|
|
46
|
+
import { getMDXComponentsByName } from '@utils/markdown';
|
|
47
|
+
|
|
44
48
|
import config from '@config';
|
|
45
49
|
|
|
46
50
|
export async function getStaticPaths() {
|
|
@@ -65,6 +69,7 @@ export async function getStaticPaths() {
|
|
|
65
69
|
const props = Astro.props;
|
|
66
70
|
|
|
67
71
|
const { Content } = await render(props);
|
|
72
|
+
|
|
68
73
|
// const { Content } = await props.render();
|
|
69
74
|
|
|
70
75
|
// Capitalize the first letter of a string
|
|
@@ -189,6 +194,15 @@ const generatePromptForResource = (props: any) => {
|
|
|
189
194
|
Please tell me more about the ${props.collection.slice(0, props.collection.length - 1)} - ${props.data.name} v${props.data.version} in this catalog.
|
|
190
195
|
`;
|
|
191
196
|
};
|
|
197
|
+
|
|
198
|
+
// Handle node graphs in the markdown
|
|
199
|
+
let nodeGraphs = getMDXComponentsByName(props.body || '', 'NodeGraph') || [];
|
|
200
|
+
|
|
201
|
+
nodeGraphs.push({
|
|
202
|
+
id: props.data.id,
|
|
203
|
+
version: props.data.version,
|
|
204
|
+
type: collectionToResourceMap[props.collection as keyof typeof collectionToResourceMap],
|
|
205
|
+
});
|
|
192
206
|
---
|
|
193
207
|
|
|
194
208
|
<VerticalSideBarLayout title={pageTitle} description={props.data.summary}>
|
|
@@ -319,17 +333,27 @@ const generatePromptForResource = (props: any) => {
|
|
|
319
333
|
<!-- @ts-ignore -->
|
|
320
334
|
<!-- <SchemaViewer id={props.data.id} catalog={props.catalog} filePath={props.filePath} /> -->
|
|
321
335
|
<SchemaViewer id={props.data.id} filePath={props.filePath} />
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
336
|
+
|
|
337
|
+
{
|
|
338
|
+
nodeGraphs.length > 0 &&
|
|
339
|
+
nodeGraphs.map((nodeGraph: any) => {
|
|
340
|
+
const collection = resourceToCollectionMap[nodeGraph.type as keyof typeof resourceToCollectionMap];
|
|
341
|
+
return (
|
|
342
|
+
<NodeGraph
|
|
343
|
+
id={nodeGraph.id}
|
|
344
|
+
version={nodeGraph.version}
|
|
345
|
+
collection={collection}
|
|
346
|
+
title={nodeGraph.title}
|
|
347
|
+
mode="simple"
|
|
348
|
+
linksToVisualiser={true}
|
|
349
|
+
href={{
|
|
350
|
+
label: 'Open in Visualiser',
|
|
351
|
+
url: buildUrl(`/visualiser/${collection}/${nodeGraph.id}/${nodeGraph.version}`),
|
|
352
|
+
}}
|
|
353
|
+
/>
|
|
354
|
+
);
|
|
355
|
+
})
|
|
356
|
+
}
|
|
333
357
|
</div>
|
|
334
358
|
<Footer />
|
|
335
359
|
</div>
|
|
@@ -110,6 +110,18 @@ export const resourceToCollectionMap = {
|
|
|
110
110
|
team: 'teams',
|
|
111
111
|
} as const;
|
|
112
112
|
|
|
113
|
+
export const collectionToResourceMap = {
|
|
114
|
+
services: 'service',
|
|
115
|
+
events: 'event',
|
|
116
|
+
commands: 'command',
|
|
117
|
+
queries: 'query',
|
|
118
|
+
domains: 'domain',
|
|
119
|
+
flows: 'flow',
|
|
120
|
+
channels: 'channel',
|
|
121
|
+
users: 'user',
|
|
122
|
+
teams: 'team',
|
|
123
|
+
} as const;
|
|
124
|
+
|
|
113
125
|
export const getDeprecatedDetails = (item: CollectionEntry<CollectionTypes>) => {
|
|
114
126
|
let options = {
|
|
115
127
|
isMarkedAsDeprecated: false,
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as ProtocolIcons from '@icons/protocols';
|
|
2
|
+
|
|
3
|
+
const protocolIcons = Object.keys(ProtocolIcons).reduce(
|
|
4
|
+
(icons, key) => {
|
|
5
|
+
const iconKey = key as keyof typeof ProtocolIcons;
|
|
6
|
+
icons[key.toLowerCase()] = ProtocolIcons[iconKey];
|
|
7
|
+
return icons;
|
|
8
|
+
},
|
|
9
|
+
{} as { [key: string]: string }
|
|
10
|
+
);
|
|
11
|
+
|
|
12
|
+
export const getIconForProtocol = (icon: string) => {
|
|
13
|
+
const Icon = protocolIcons[icon.replace('-', '').toLowerCase()];
|
|
14
|
+
return Icon ? (props: any) => <span {...props} dangerouslySetInnerHTML={{ __html: Icon }} /> : null;
|
|
15
|
+
};
|