@asyncapi/react-component 3.0.1 → 3.0.2
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/browser/index.js +1 -1
- package/browser/standalone/index.js +3 -3
- package/browser/standalone/without-parser.js +1 -1
- package/browser/without-parser.js +1 -1
- package/lib/cjs/containers/Operations/Operation.js +7 -10
- package/lib/cjs/containers/Operations/Operation.js.map +1 -1
- package/lib/cjs/containers/Operations/ServersList.js +21 -0
- package/lib/cjs/containers/Operations/ServersList.js.map +1 -0
- package/lib/esm/containers/Operations/Operation.js +7 -10
- package/lib/esm/containers/Operations/Operation.js.map +1 -1
- package/lib/esm/containers/Operations/ServersList.js +14 -0
- package/lib/esm/containers/Operations/ServersList.js.map +1 -0
- package/lib/types/containers/Operations/Operation.d.ts.map +1 -1
- package/lib/types/containers/Operations/ServersList.d.ts +11 -0
- package/lib/types/containers/Operations/ServersList.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -45,8 +45,13 @@ var helpers_1 = require("../../helpers");
|
|
|
45
45
|
var constants_1 = require("../../constants");
|
|
46
46
|
var types_1 = require("../../types");
|
|
47
47
|
var pluginManager_1 = require("../../helpers/pluginManager");
|
|
48
|
+
var ServersList_1 = require("./ServersList");
|
|
48
49
|
var PluginSlotRenderer_1 = require("../../components/PluginSlotRenderer");
|
|
49
50
|
var usePlugin_1 = require("../../contexts/usePlugin");
|
|
51
|
+
var location = globalThis.location;
|
|
52
|
+
var relativePathname = location
|
|
53
|
+
? "".concat(location.pathname).concat(location.search)
|
|
54
|
+
: '';
|
|
50
55
|
var Operation = function (props) {
|
|
51
56
|
var _a = props.type, type = _a === void 0 ? types_1.PayloadType.SEND : _a, operation = props.operation, channelName = props.channelName, channel = props.channel;
|
|
52
57
|
var config = (0, contexts_1.useConfig)();
|
|
@@ -61,11 +66,7 @@ var Operation = function (props) {
|
|
|
61
66
|
return (react_1.default.createElement("div", null,
|
|
62
67
|
react_1.default.createElement("div", { className: "panel-item--center px-8" },
|
|
63
68
|
react_1.default.createElement(exports.OperationInfo, __assign({}, props)),
|
|
64
|
-
|
|
65
|
-
react_1.default.createElement("p", null, "Available only on servers:"),
|
|
66
|
-
react_1.default.createElement("ul", { className: "flex flex-wrap leading-normal" }, servers.map(function (server) { return (react_1.default.createElement("li", { className: "inline-block mt-2 mr-2", key: server.id() },
|
|
67
|
-
react_1.default.createElement("a", { href: "".concat(window.location.pathname, "#").concat(helpers_1.CommonHelpers.getIdentifier('server-' + server.id(), config)), className: "border border-solid border-blue-300 hover:bg-blue-300 hover:text-blue-600 text-blue-500 font-bold no-underline text-xs rounded px-3 py-1 cursor-pointer" },
|
|
68
|
-
react_1.default.createElement("span", { className: "underline" }, server.id())))); })))) : null,
|
|
69
|
+
react_1.default.createElement(ServersList_1.ServersList, { servers: servers || [], config: config, relativePathname: relativePathname }),
|
|
69
70
|
parameters && (react_1.default.createElement("div", { className: "mt-2", id: helpers_1.CommonHelpers.getIdentifier("operation-".concat(type, "-").concat(channelName, "-parameters"), config) },
|
|
70
71
|
react_1.default.createElement(components_1.Schema, { schemaName: "Parameters", schema: parameters, expanded: true }))),
|
|
71
72
|
security && (react_1.default.createElement("div", { className: "mt-2", id: helpers_1.CommonHelpers.getIdentifier("operation-".concat(type, "-").concat(channelName, "-security"), config) },
|
|
@@ -211,11 +212,7 @@ var OperationReplyChannelInfo = function (_a) {
|
|
|
211
212
|
react_1.default.createElement("span", { className: "border text-orange-600 rounded text-xs py-0 px-2" }, channel.address()))),
|
|
212
213
|
channel.hasDescription() && (react_1.default.createElement("div", { className: "mt-2" },
|
|
213
214
|
react_1.default.createElement(components_1.Markdown, null, channel.description()))),
|
|
214
|
-
|
|
215
|
-
react_1.default.createElement("p", null, "Available only on servers:"),
|
|
216
|
-
react_1.default.createElement("ul", { className: "flex flex-wrap leading-normal" }, servers.map(function (server) { return (react_1.default.createElement("li", { className: "inline-block mt-2 mr-2", key: server.id() },
|
|
217
|
-
react_1.default.createElement("a", { href: "".concat(window.location.pathname, "#").concat(helpers_1.CommonHelpers.getIdentifier('server-' + server.id(), config)), className: "border border-solid border-blue-300 hover:bg-blue-300 hover:text-blue-600 text-blue-500 font-bold no-underline text-xs rounded px-3 py-1 cursor-pointer" },
|
|
218
|
-
react_1.default.createElement("span", { className: "underline" }, server.id())))); })))) : null,
|
|
215
|
+
react_1.default.createElement(ServersList_1.ServersList, { servers: servers || [], config: config, relativePathname: relativePathname }),
|
|
219
216
|
channel.messages().all().length > 1 ? (react_1.default.createElement("div", { className: "mt-2" },
|
|
220
217
|
react_1.default.createElement("span", { className: "text-xs text-gray-700" }, "Messages:"),
|
|
221
218
|
react_1.default.createElement("ul", null, channel
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Operation.js","sourceRoot":"","sources":["../../../../src/containers/Operations/Operation.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport { ChannelInterface, OperationInterface } from '@asyncapi/parser';\nimport { Message } from '../Messages/Message';\nimport { Security } from '../Servers/Security';\nimport {\n Markdown,\n Schema,\n Bindings,\n Tags,\n Extensions,\n CollapseButton,\n} from '../../components';\nimport { Href } from '../../components/Href';\nimport { useConfig, useSpec } from '../../contexts';\nimport { CommonHelpers, SchemaHelpers } from '../../helpers';\nimport { EXTERAL_DOCUMENTATION_TEXT } from '../../constants';\nimport { PayloadType, PluginSlot } from '../../types';\nimport { PluginManager } from '../../helpers/pluginManager';\nimport { SlotRenderer } from '../../components/PluginSlotRenderer';\nimport { usePlugin } from '../../contexts/usePlugin';\n\ninterface Props {\n type: PayloadType;\n operation: OperationInterface;\n channelName: string;\n channel: ChannelInterface;\n}\n\nexport const Operation: React.FunctionComponent<Props> = (props) => {\n const { type = PayloadType.SEND, operation, channelName, channel } = props;\n const config = useConfig();\n if (!operation || !channel) {\n return null;\n }\n\n // check typeof as fallback for older version than `2.2.0`\n const servers =\n typeof channel.servers === 'function' && channel.servers().all();\n // check typeof as fallback for older version than `2.4.0`\n const security =\n typeof operation.security === 'function' && operation.security();\n const parameters =\n channel.parameters() !== undefined\n ? SchemaHelpers.parametersToSchema(channel.parameters())\n : undefined;\n\n return (\n <div>\n <div className=\"panel-item--center px-8\">\n <OperationInfo {...props} />\n {servers && servers.length > 0 ? (\n <div className=\"mt-2 text-sm\">\n <p>Available only on servers:</p>\n <ul className=\"flex flex-wrap leading-normal\">\n {servers.map((server) => (\n <li className=\"inline-block mt-2 mr-2\" key={server.id()}>\n <a\n href={`${window.location.pathname}#${CommonHelpers.getIdentifier(\n 'server-' + server.id(),\n config,\n )}`}\n className=\"border border-solid border-blue-300 hover:bg-blue-300 hover:text-blue-600 text-blue-500 font-bold no-underline text-xs rounded px-3 py-1 cursor-pointer\"\n >\n <span className=\"underline\">{server.id()}</span>\n </a>\n </li>\n ))}\n </ul>\n </div>\n ) : null}\n\n {parameters && (\n <div\n className=\"mt-2\"\n id={CommonHelpers.getIdentifier(\n `operation-${type}-${channelName}-parameters`,\n config,\n )}\n >\n <Schema schemaName=\"Parameters\" schema={parameters} expanded />\n </div>\n )}\n\n {security && (\n <div\n className=\"mt-2\"\n id={CommonHelpers.getIdentifier(\n `operation-${type}-${channelName}-security`,\n config,\n )}\n >\n <Security\n security={security}\n header=\"Additional security requirements\"\n />\n </div>\n )}\n\n {channel.bindings() && (\n <div className=\"mt-2\">\n <Bindings\n name=\"Channel specific information\"\n bindings={channel.bindings()}\n />\n </div>\n )}\n\n <Extensions name=\"Channel Extensions\" item={channel} />\n\n {operation.bindings() && (\n <div className=\"mt-2\">\n <Bindings\n name=\"Operation specific information\"\n bindings={operation.bindings()}\n />\n </div>\n )}\n\n <Extensions name=\"Operation Extensions\" item={operation} />\n\n {operation.tags() && (\n <div className=\"mt-2\">\n <Tags tags={operation.tags()} />\n </div>\n )}\n </div>\n\n <div\n className=\"w-full mt-4\"\n id={CommonHelpers.getIdentifier(\n `operation-${type}-${channelName}-message`,\n config,\n )}\n >\n {operation.messages().length > 1 ? (\n <div className=\"mt-2\">\n <p className=\"px-8\">\n Accepts <strong>one of</strong> the following messages:\n </p>\n <ul>\n {operation\n .messages()\n .all()\n .map((msg, idx) => (\n <li className=\"mt-4\" key={msg.id()}>\n <Message message={msg} index={idx} showExamples />\n </li>\n ))}\n </ul>\n </div>\n ) : (\n <div className=\"mt-2\">\n <p className=\"px-8\">Accepts the following message:</p>\n <div className=\"mt-2\">\n <Message message={operation.messages().all()[0]} showExamples />\n </div>\n </div>\n )}\n </div>\n\n <OperationReplyInfo {...props} />\n </div>\n );\n};\n\nexport const OperationInfo: React.FunctionComponent<Props> = (props) => {\n const { type = PayloadType.SEND, operation, channelName, channel } = props;\n const config = useConfig();\n const pluginManager = usePlugin();\n const operationSummary = operation.summary();\n const externalDocs = operation.externalDocs();\n const operationId = operation.id();\n const specV = useSpec().version();\n const version = specV.localeCompare('2.6.0', undefined, { numeric: true });\n const isAsyncAPIv2 = version === 0;\n const { backgroundColor, typeLabel } =\n CommonHelpers.getOperationDesignInformation({\n type,\n config,\n isAsyncAPIv2,\n });\n return (\n <>\n <div className=\"mb-4\">\n <h3>\n <span\n className={`font-mono text-white uppercase p-1 rounded mr-2 ${backgroundColor}`}\n title={type}\n >\n {typeLabel}\n </span>{' '}\n <span className=\"font-mono text-base\">{channelName}</span>\n </h3>\n </div>\n\n {channel.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{channel.description()}</Markdown>\n </div>\n )}\n {operationSummary && (\n <p className=\"text-gray-600 text-sm mt-2\">{operationSummary}</p>\n )}\n {operation.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{operation.description()}</Markdown>\n </div>\n )}\n\n {externalDocs && (\n <ul className=\"leading-normal mt-2 mb-4 space-x-2 space-y-2\">\n {externalDocs && (\n <li className=\"inline-block\">\n <Href\n className=\"border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1\"\n href={externalDocs.url()}\n >\n <span>{EXTERAL_DOCUMENTATION_TEXT}</span>\n </Href>\n </li>\n )}\n </ul>\n )}\n\n {operationId && (\n <div className=\"border bg-gray-100 rounded px-4 py-2 mt-2\">\n <div className=\"text-sm text-gray-700\">\n Operation ID\n <span className=\"bg-orange-600 text-white rounded text-xs ml-2 py-0 px-2\">\n {operationId}\n </span>\n </div>\n </div>\n )}\n {PluginManager && (\n <SlotRenderer\n slot={PluginSlot.OPERATION}\n context={{\n schema: props,\n }}\n pluginManager={pluginManager}\n />\n )}\n </>\n );\n};\n\nexport const OperationReplyInfo: React.FunctionComponent<Props> = (props) => {\n const { type = PayloadType.SEND, operation } = props;\n const [showMessages, setShowMessages] = useState(false);\n const [showChannel, setShowChannel] = useState(false);\n if (type !== PayloadType.REPLY && type !== PayloadType.REQUEST) {\n return <></>;\n }\n const reply = operation.reply();\n if (reply === undefined) {\n return <></>;\n }\n\n const replyMessages = reply.messages();\n const explicitChannel = reply.channel();\n\n const replyAddress = reply.address()?.location();\n\n return (\n <div className=\"panel-item\">\n <div className=\"panel-item--center\">\n <div className=\"font-mono px-8 py-4\">\n <div className=\"border rounded\">\n <div\n className={`w-full ${\n type === PayloadType.REPLY\n ? 'bg-green-600 border-green-600'\n : 'bg-blue-600 border-blue-600'\n } text-sm rounded-t h-8 px-4 border text-white flex items-center`}\n >\n <strong>REPLY INFORMATION</strong>\n </div>\n <div className=\"flex\">\n <div\n className={`w-1 h-11 ${\n type === PayloadType.REPLY ? 'bg-green-600' : 'bg-blue-600'\n } mt-4`}\n />\n <div className=\"p-4\">\n <h3 className=\"text-xs\">\n <span className=\"mr-2\" title={type}>\n REPLY CHANNEL INFORMATION\n </span>\n </h3>\n {explicitChannel?.address() ? (\n <div className=\"text-xs text-gray-700\">\n Reply will be provided via this designated address:{' '}\n <span className=\"border text-orange-600 rounded text-xs ml-2 py-0 px-2\">\n {explicitChannel.address()}{' '}\n </span>\n </div>\n ) : (\n replyAddress != null && (\n <div className=\"text-xs text-gray-700\">\n Reply will be directed to the address specified at this\n location:{' '}\n <span className=\"border text-orange-600 rounded text-xs ml-2 py-0 px-2\">\n {replyAddress}\n </span>\n </div>\n )\n )}\n <div className=\"mt-2\">\n {explicitChannel && (\n <CollapseButton\n onClick={() => setShowChannel((prev) => !prev)}\n expanded={showChannel}\n >\n <span className=\"inline-block py-0.5 mr-1 text-gray-500 text-xs text-center rounded focus:outline-none\">\n View channel details\n </span>\n </CollapseButton>\n )}\n {explicitChannel && (\n <div\n className={`w-full mt-4 ${\n showChannel ? 'block' : 'hidden'\n }`}\n >\n <OperationReplyChannelInfo {...props} />{' '}\n </div>\n )}\n </div>\n </div>\n </div>\n <OperationReplyAddressInfo {...props} />\n {replyMessages.isEmpty() === false && (\n <div className=\"p-4\">\n <CollapseButton\n onClick={() => setShowMessages((prev) => !prev)}\n expanded={showMessages}\n >\n <span className=\"inline-block py-0.5 mr-1 text-gray-500 text-xs text-center rounded focus:outline-none\">\n Expected Reply{' '}\n {replyMessages.length > 1 ? 'Messages' : 'Message'}\n </span>\n </CollapseButton>\n <div\n className={`w-full mt-4 ${showMessages ? 'block' : 'hidden'}`}\n >\n {replyMessages.length > 1 ? (\n <div className=\"mt-2\">\n <ul>\n {replyMessages.all().map((msg, idx) => (\n <li className=\"mt-4\" key={msg.id()}>\n <Message message={msg} index={idx} showExamples />\n </li>\n ))}\n </ul>\n </div>\n ) : (\n <div className=\"mt-2\">\n <div className=\"mt-2\">\n <Message\n message={replyMessages.all()[0]}\n showExamples\n />\n </div>\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n </div>\n\n <Extensions name=\"Operation Reply Extensions\" item={reply} />\n </div>\n </div>\n );\n};\n\nexport const OperationReplyChannelInfo: React.FunctionComponent<Props> = ({\n type = PayloadType.SEND,\n operation,\n}) => {\n const reply = operation.reply();\n const channel = reply?.channel();\n const channelName = channel?.address() ?? '';\n\n const config = useConfig();\n const servers =\n typeof channel?.servers === 'function' && channel.servers().all();\n const parameters =\n channel?.parameters() !== undefined\n ? SchemaHelpers.parametersToSchema(channel.parameters())\n : undefined;\n\n if (!channel) {\n return <></>;\n }\n\n return (\n <div>\n {channel.address() && (\n <div className=\"mt-2 text-xs text-gray-700\">\n Address:{' '}\n <span className=\"border text-orange-600 rounded text-xs py-0 px-2\">\n {channel.address()}\n </span>\n </div>\n )}\n {channel.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{channel.description()}</Markdown>\n </div>\n )}\n {servers && servers.length > 0 ? (\n <div className=\"mt-2 text-sm\">\n <p>Available only on servers:</p>\n <ul className=\"flex flex-wrap leading-normal\">\n {servers.map((server) => (\n <li className=\"inline-block mt-2 mr-2\" key={server.id()}>\n <a\n href={`${window.location.pathname}#${CommonHelpers.getIdentifier(\n 'server-' + server.id(),\n config,\n )}`}\n className=\"border border-solid border-blue-300 hover:bg-blue-300 hover:text-blue-600 text-blue-500 font-bold no-underline text-xs rounded px-3 py-1 cursor-pointer\"\n >\n <span className=\"underline\">{server.id()}</span>\n </a>\n </li>\n ))}\n </ul>\n </div>\n ) : null}\n {channel.messages().all().length > 1 ? (\n <div className=\"mt-2\">\n <span className=\"text-xs text-gray-700\">Messages:</span>\n <ul>\n {channel\n .messages()\n .all()\n .map((msg, idx) => (\n <li className=\"mt-4\" key={msg.id()}>\n <Message message={msg} index={idx} showExamples />\n </li>\n ))}\n </ul>\n </div>\n ) : (\n <div className=\"mt-2\">\n <span className=\"text-xs text-gray-700\">Message:</span>\n <div className=\"mt-2\">\n <Message message={channel.messages().all()[0]} showExamples />\n </div>\n </div>\n )}\n {parameters && (\n <div\n className=\"mt-2\"\n id={CommonHelpers.getIdentifier(\n `operation-${type}-${channelName}-parameters`,\n config,\n )}\n >\n <Schema schemaName=\"Parameters\" schema={parameters} expanded />\n </div>\n )}\n {channel.bindings() && (\n <div className=\"mt-2\">\n <Bindings name=\"Bindings\" bindings={channel.bindings()} />\n </div>\n )}\n </div>\n );\n};\n\nexport const OperationReplyAddressInfo: React.FunctionComponent<Props> = ({\n type = PayloadType.SEND,\n operation,\n}) => {\n if (type !== PayloadType.REPLY && type !== PayloadType.REQUEST) {\n return <></>;\n }\n const reply = operation.reply();\n if (!reply?.address) {\n return <></>;\n }\n const replyAddress = reply.address();\n\n if (!replyAddress) {\n return <></>;\n }\n\n const replyAddressLocation = replyAddress.location();\n\n return (\n <div className=\"flex\">\n <div\n className={`w-1 h-11 ${\n type === PayloadType.REPLY ? 'bg-green-600' : 'bg-blue-600'\n } mt-4`}\n />\n <div className=\"p-4\">\n <h3 className=\"text-xs\">\n <span className=\"mr-2 uppercase\" title={type}>\n REPLY address information\n </span>\n </h3>\n {replyAddressLocation && (\n <div className=\"text-xs text-gray-700\">\n REPLY will be sent to the address provided in:\n <span className=\"border text-orange-600 rounded text-xs ml-2 py-0 px-2\">\n {replyAddressLocation}\n </span>\n </div>\n )}\n {replyAddress.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{replyAddress.description()}</Markdown>\n </div>\n )}\n <Extensions name=\"Operation Reply Address Extensions\" item={reply} />\n </div>\n </div>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"Operation.js","sourceRoot":"","sources":["../../../../src/containers/Operations/Operation.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport { ChannelInterface, OperationInterface } from '@asyncapi/parser';\nimport { Message } from '../Messages/Message';\nimport { Security } from '../Servers/Security';\nimport {\n Markdown,\n Schema,\n Bindings,\n Tags,\n Extensions,\n CollapseButton,\n} from '../../components';\nimport { Href } from '../../components/Href';\nimport { useConfig, useSpec } from '../../contexts';\nimport { CommonHelpers, SchemaHelpers } from '../../helpers';\nimport { EXTERAL_DOCUMENTATION_TEXT } from '../../constants';\nimport { PayloadType, PluginSlot } from '../../types';\nimport { PluginManager } from '../../helpers/pluginManager';\nimport { ServersList } from './ServersList';\nimport { SlotRenderer } from '../../components/PluginSlotRenderer';\nimport { usePlugin } from '../../contexts/usePlugin';\n\ninterface Props {\n type: PayloadType;\n operation: OperationInterface;\n channelName: string;\n channel: ChannelInterface;\n}\n\n// Construct the full relative URL, including path, query parameters to avoid path overwrite when\n// location.hash is included\nconst location = globalThis.location;\nconst relativePathname = location\n ? `${location.pathname}${location.search}`\n : '';\n\nexport const Operation: React.FunctionComponent<Props> = (props) => {\n const { type = PayloadType.SEND, operation, channelName, channel } = props;\n const config = useConfig();\n if (!operation || !channel) {\n return null;\n }\n\n // check typeof as fallback for older version than `2.2.0`\n const servers =\n typeof channel.servers === 'function' && channel.servers().all();\n // check typeof as fallback for older version than `2.4.0`\n const security =\n typeof operation.security === 'function' && operation.security();\n const parameters =\n channel.parameters() !== undefined\n ? SchemaHelpers.parametersToSchema(channel.parameters())\n : undefined;\n return (\n <div>\n <div className=\"panel-item--center px-8\">\n <OperationInfo {...props} />\n\n <ServersList\n servers={servers || []}\n config={config}\n relativePathname={relativePathname}\n />\n\n {parameters && (\n <div\n className=\"mt-2\"\n id={CommonHelpers.getIdentifier(\n `operation-${type}-${channelName}-parameters`,\n config,\n )}\n >\n <Schema schemaName=\"Parameters\" schema={parameters} expanded />\n </div>\n )}\n\n {security && (\n <div\n className=\"mt-2\"\n id={CommonHelpers.getIdentifier(\n `operation-${type}-${channelName}-security`,\n config,\n )}\n >\n <Security\n security={security}\n header=\"Additional security requirements\"\n />\n </div>\n )}\n\n {channel.bindings() && (\n <div className=\"mt-2\">\n <Bindings\n name=\"Channel specific information\"\n bindings={channel.bindings()}\n />\n </div>\n )}\n\n <Extensions name=\"Channel Extensions\" item={channel} />\n\n {operation.bindings() && (\n <div className=\"mt-2\">\n <Bindings\n name=\"Operation specific information\"\n bindings={operation.bindings()}\n />\n </div>\n )}\n\n <Extensions name=\"Operation Extensions\" item={operation} />\n\n {operation.tags() && (\n <div className=\"mt-2\">\n <Tags tags={operation.tags()} />\n </div>\n )}\n </div>\n\n <div\n className=\"w-full mt-4\"\n id={CommonHelpers.getIdentifier(\n `operation-${type}-${channelName}-message`,\n config,\n )}\n >\n {operation.messages().length > 1 ? (\n <div className=\"mt-2\">\n <p className=\"px-8\">\n Accepts <strong>one of</strong> the following messages:\n </p>\n <ul>\n {operation\n .messages()\n .all()\n .map((msg, idx) => (\n <li className=\"mt-4\" key={msg.id()}>\n <Message message={msg} index={idx} showExamples />\n </li>\n ))}\n </ul>\n </div>\n ) : (\n <div className=\"mt-2\">\n <p className=\"px-8\">Accepts the following message:</p>\n <div className=\"mt-2\">\n <Message message={operation.messages().all()[0]} showExamples />\n </div>\n </div>\n )}\n </div>\n\n <OperationReplyInfo {...props} />\n </div>\n );\n};\n\nexport const OperationInfo: React.FunctionComponent<Props> = (props) => {\n const { type = PayloadType.SEND, operation, channelName, channel } = props;\n const config = useConfig();\n const pluginManager = usePlugin();\n const operationSummary = operation.summary();\n const externalDocs = operation.externalDocs();\n const operationId = operation.id();\n const specV = useSpec().version();\n const version = specV.localeCompare('2.6.0', undefined, { numeric: true });\n const isAsyncAPIv2 = version === 0;\n const { backgroundColor, typeLabel } =\n CommonHelpers.getOperationDesignInformation({\n type,\n config,\n isAsyncAPIv2,\n });\n return (\n <>\n <div className=\"mb-4\">\n <h3>\n <span\n className={`font-mono text-white uppercase p-1 rounded mr-2 ${backgroundColor}`}\n title={type}\n >\n {typeLabel}\n </span>{' '}\n <span className=\"font-mono text-base\">{channelName}</span>\n </h3>\n </div>\n\n {channel.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{channel.description()}</Markdown>\n </div>\n )}\n {operationSummary && (\n <p className=\"text-gray-600 text-sm mt-2\">{operationSummary}</p>\n )}\n {operation.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{operation.description()}</Markdown>\n </div>\n )}\n\n {externalDocs && (\n <ul className=\"leading-normal mt-2 mb-4 space-x-2 space-y-2\">\n {externalDocs && (\n <li className=\"inline-block\">\n <Href\n className=\"border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1\"\n href={externalDocs.url()}\n >\n <span>{EXTERAL_DOCUMENTATION_TEXT}</span>\n </Href>\n </li>\n )}\n </ul>\n )}\n\n {operationId && (\n <div className=\"border bg-gray-100 rounded px-4 py-2 mt-2\">\n <div className=\"text-sm text-gray-700\">\n Operation ID\n <span className=\"bg-orange-600 text-white rounded text-xs ml-2 py-0 px-2\">\n {operationId}\n </span>\n </div>\n </div>\n )}\n {PluginManager && (\n <SlotRenderer\n slot={PluginSlot.OPERATION}\n context={{\n schema: props,\n }}\n pluginManager={pluginManager}\n />\n )}\n </>\n );\n};\n\nexport const OperationReplyInfo: React.FunctionComponent<Props> = (props) => {\n const { type = PayloadType.SEND, operation } = props;\n const [showMessages, setShowMessages] = useState(false);\n const [showChannel, setShowChannel] = useState(false);\n if (type !== PayloadType.REPLY && type !== PayloadType.REQUEST) {\n return <></>;\n }\n const reply = operation.reply();\n if (reply === undefined) {\n return <></>;\n }\n\n const replyMessages = reply.messages();\n const explicitChannel = reply.channel();\n\n const replyAddress = reply.address()?.location();\n\n return (\n <div className=\"panel-item\">\n <div className=\"panel-item--center\">\n <div className=\"font-mono px-8 py-4\">\n <div className=\"border rounded\">\n <div\n className={`w-full ${\n type === PayloadType.REPLY\n ? 'bg-green-600 border-green-600'\n : 'bg-blue-600 border-blue-600'\n } text-sm rounded-t h-8 px-4 border text-white flex items-center`}\n >\n <strong>REPLY INFORMATION</strong>\n </div>\n <div className=\"flex\">\n <div\n className={`w-1 h-11 ${\n type === PayloadType.REPLY ? 'bg-green-600' : 'bg-blue-600'\n } mt-4`}\n />\n <div className=\"p-4\">\n <h3 className=\"text-xs\">\n <span className=\"mr-2\" title={type}>\n REPLY CHANNEL INFORMATION\n </span>\n </h3>\n {explicitChannel?.address() ? (\n <div className=\"text-xs text-gray-700\">\n Reply will be provided via this designated address:{' '}\n <span className=\"border text-orange-600 rounded text-xs ml-2 py-0 px-2\">\n {explicitChannel.address()}{' '}\n </span>\n </div>\n ) : (\n replyAddress != null && (\n <div className=\"text-xs text-gray-700\">\n Reply will be directed to the address specified at this\n location:{' '}\n <span className=\"border text-orange-600 rounded text-xs ml-2 py-0 px-2\">\n {replyAddress}\n </span>\n </div>\n )\n )}\n <div className=\"mt-2\">\n {explicitChannel && (\n <CollapseButton\n onClick={() => setShowChannel((prev) => !prev)}\n expanded={showChannel}\n >\n <span className=\"inline-block py-0.5 mr-1 text-gray-500 text-xs text-center rounded focus:outline-none\">\n View channel details\n </span>\n </CollapseButton>\n )}\n {explicitChannel && (\n <div\n className={`w-full mt-4 ${\n showChannel ? 'block' : 'hidden'\n }`}\n >\n <OperationReplyChannelInfo {...props} />{' '}\n </div>\n )}\n </div>\n </div>\n </div>\n <OperationReplyAddressInfo {...props} />\n {replyMessages.isEmpty() === false && (\n <div className=\"p-4\">\n <CollapseButton\n onClick={() => setShowMessages((prev) => !prev)}\n expanded={showMessages}\n >\n <span className=\"inline-block py-0.5 mr-1 text-gray-500 text-xs text-center rounded focus:outline-none\">\n Expected Reply{' '}\n {replyMessages.length > 1 ? 'Messages' : 'Message'}\n </span>\n </CollapseButton>\n <div\n className={`w-full mt-4 ${showMessages ? 'block' : 'hidden'}`}\n >\n {replyMessages.length > 1 ? (\n <div className=\"mt-2\">\n <ul>\n {replyMessages.all().map((msg, idx) => (\n <li className=\"mt-4\" key={msg.id()}>\n <Message message={msg} index={idx} showExamples />\n </li>\n ))}\n </ul>\n </div>\n ) : (\n <div className=\"mt-2\">\n <div className=\"mt-2\">\n <Message\n message={replyMessages.all()[0]}\n showExamples\n />\n </div>\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n </div>\n\n <Extensions name=\"Operation Reply Extensions\" item={reply} />\n </div>\n </div>\n );\n};\n\nexport const OperationReplyChannelInfo: React.FunctionComponent<Props> = ({\n type = PayloadType.SEND,\n operation,\n}) => {\n const reply = operation.reply();\n const channel = reply?.channel();\n const channelName = channel?.address() ?? '';\n\n const config = useConfig();\n const servers =\n typeof channel?.servers === 'function' && channel.servers().all();\n const parameters =\n channel?.parameters() !== undefined\n ? SchemaHelpers.parametersToSchema(channel.parameters())\n : undefined;\n\n if (!channel) {\n return <></>;\n }\n\n return (\n <div>\n {channel.address() && (\n <div className=\"mt-2 text-xs text-gray-700\">\n Address:{' '}\n <span className=\"border text-orange-600 rounded text-xs py-0 px-2\">\n {channel.address()}\n </span>\n </div>\n )}\n {channel.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{channel.description()}</Markdown>\n </div>\n )}\n <ServersList\n servers={servers || []}\n config={config}\n relativePathname={relativePathname}\n />\n {channel.messages().all().length > 1 ? (\n <div className=\"mt-2\">\n <span className=\"text-xs text-gray-700\">Messages:</span>\n <ul>\n {channel\n .messages()\n .all()\n .map((msg, idx) => (\n <li className=\"mt-4\" key={msg.id()}>\n <Message message={msg} index={idx} showExamples />\n </li>\n ))}\n </ul>\n </div>\n ) : (\n <div className=\"mt-2\">\n <span className=\"text-xs text-gray-700\">Message:</span>\n <div className=\"mt-2\">\n <Message message={channel.messages().all()[0]} showExamples />\n </div>\n </div>\n )}\n {parameters && (\n <div\n className=\"mt-2\"\n id={CommonHelpers.getIdentifier(\n `operation-${type}-${channelName}-parameters`,\n config,\n )}\n >\n <Schema schemaName=\"Parameters\" schema={parameters} expanded />\n </div>\n )}\n {channel.bindings() && (\n <div className=\"mt-2\">\n <Bindings name=\"Bindings\" bindings={channel.bindings()} />\n </div>\n )}\n </div>\n );\n};\n\nexport const OperationReplyAddressInfo: React.FunctionComponent<Props> = ({\n type = PayloadType.SEND,\n operation,\n}) => {\n if (type !== PayloadType.REPLY && type !== PayloadType.REQUEST) {\n return <></>;\n }\n const reply = operation.reply();\n if (!reply?.address) {\n return <></>;\n }\n const replyAddress = reply.address();\n\n if (!replyAddress) {\n return <></>;\n }\n\n const replyAddressLocation = replyAddress.location();\n\n return (\n <div className=\"flex\">\n <div\n className={`w-1 h-11 ${\n type === PayloadType.REPLY ? 'bg-green-600' : 'bg-blue-600'\n } mt-4`}\n />\n <div className=\"p-4\">\n <h3 className=\"text-xs\">\n <span className=\"mr-2 uppercase\" title={type}>\n REPLY address information\n </span>\n </h3>\n {replyAddressLocation && (\n <div className=\"text-xs text-gray-700\">\n REPLY will be sent to the address provided in:\n <span className=\"border text-orange-600 rounded text-xs ml-2 py-0 px-2\">\n {replyAddressLocation}\n </span>\n </div>\n )}\n {replyAddress.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{replyAddress.description()}</Markdown>\n </div>\n )}\n <Extensions name=\"Operation Reply Address Extensions\" item={reply} />\n </div>\n </div>\n );\n};\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ServersList = void 0;
|
|
7
|
+
var react_1 = __importDefault(require("react"));
|
|
8
|
+
var helpers_1 = require("../../helpers");
|
|
9
|
+
var ServersList = function (_a) {
|
|
10
|
+
var servers = _a.servers, config = _a.config, relativePathname = _a.relativePathname;
|
|
11
|
+
if (!servers || servers.length === 0) {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
return (react_1.default.createElement("div", { className: "mt-2 text-sm" },
|
|
15
|
+
react_1.default.createElement("p", null, "Available only on servers:"),
|
|
16
|
+
react_1.default.createElement("ul", { className: "flex flex-wrap leading-normal" }, servers.map(function (server) { return (react_1.default.createElement("li", { className: "inline-block mt-2 mr-2", key: server.id() },
|
|
17
|
+
react_1.default.createElement("a", { href: "".concat(relativePathname, "#").concat(helpers_1.CommonHelpers.getIdentifier('server-' + server.id(), config)), className: "border border-solid border-blue-300 hover:bg-blue-300 hover:text-blue-600 text-blue-500 font-bold no-underline text-xs rounded px-3 py-1 cursor-pointer" },
|
|
18
|
+
react_1.default.createElement("span", { className: "underline" }, server.id())))); }))));
|
|
19
|
+
};
|
|
20
|
+
exports.ServersList = ServersList;
|
|
21
|
+
//# sourceMappingURL=ServersList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServersList.js","sourceRoot":"","sources":["../../../../src/containers/Operations/ServersList.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,yCAA8C;AASvC,IAAM,WAAW,GAA+B,UAAC,EAIvD;QAHC,OAAO,aAAA,EACP,MAAM,YAAA,EACN,gBAAgB,sBAAA;IAEhB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACpC,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,uCAAK,SAAS,EAAC,cAAc;QAC3B,sEAAiC;QACjC,sCAAI,SAAS,EAAC,+BAA+B,IAC1C,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,CACvB,sCAAI,SAAS,EAAC,wBAAwB,EAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE;YACrD,qCACE,IAAI,EAAE,UAAG,gBAAgB,cAAI,uBAAa,CAAC,aAAa,CACtD,SAAS,GAAG,MAAM,CAAC,EAAE,EAAE,EACvB,MAAM,CACP,CAAE,EACH,SAAS,EAAC,yJAAyJ;gBAEnK,wCAAM,SAAS,EAAC,WAAW,IAAE,MAAM,CAAC,EAAE,EAAE,CAAQ,CAC9C,CACD,CACN,EAZwB,CAYxB,CAAC,CACC,CACD,CACP,CAAC;AACJ,CAAC,CAAC;AA7BW,QAAA,WAAW,eA6BtB","sourcesContent":["import React from 'react';\nimport { ServerInterface } from '@asyncapi/parser';\nimport { CommonHelpers } from '../../helpers';\nimport { ConfigInterface } from '../../config';\n\ninterface ServersListProps {\n servers: ServerInterface[];\n config: ConfigInterface;\n relativePathname: string;\n}\n\nexport const ServersList: React.FC<ServersListProps> = ({\n servers,\n config,\n relativePathname,\n}) => {\n if (!servers || servers.length === 0) {\n return null;\n }\n\n return (\n <div className=\"mt-2 text-sm\">\n <p>Available only on servers:</p>\n <ul className=\"flex flex-wrap leading-normal\">\n {servers.map((server) => (\n <li className=\"inline-block mt-2 mr-2\" key={server.id()}>\n <a\n href={`${relativePathname}#${CommonHelpers.getIdentifier(\n 'server-' + server.id(),\n config,\n )}`}\n className=\"border border-solid border-blue-300 hover:bg-blue-300 hover:text-blue-600 text-blue-500 font-bold no-underline text-xs rounded px-3 py-1 cursor-pointer\"\n >\n <span className=\"underline\">{server.id()}</span>\n </a>\n </li>\n ))}\n </ul>\n </div>\n );\n};\n"]}
|
|
@@ -19,8 +19,13 @@ import { CommonHelpers, SchemaHelpers } from '../../helpers';
|
|
|
19
19
|
import { EXTERAL_DOCUMENTATION_TEXT } from '../../constants';
|
|
20
20
|
import { PayloadType, PluginSlot } from '../../types';
|
|
21
21
|
import { PluginManager } from '../../helpers/pluginManager';
|
|
22
|
+
import { ServersList } from './ServersList';
|
|
22
23
|
import { SlotRenderer } from '../../components/PluginSlotRenderer';
|
|
23
24
|
import { usePlugin } from '../../contexts/usePlugin';
|
|
25
|
+
var location = globalThis.location;
|
|
26
|
+
var relativePathname = location
|
|
27
|
+
? "".concat(location.pathname).concat(location.search)
|
|
28
|
+
: '';
|
|
24
29
|
export var Operation = function (props) {
|
|
25
30
|
var _a = props.type, type = _a === void 0 ? PayloadType.SEND : _a, operation = props.operation, channelName = props.channelName, channel = props.channel;
|
|
26
31
|
var config = useConfig();
|
|
@@ -35,11 +40,7 @@ export var Operation = function (props) {
|
|
|
35
40
|
return (React.createElement("div", null,
|
|
36
41
|
React.createElement("div", { className: "panel-item--center px-8" },
|
|
37
42
|
React.createElement(OperationInfo, __assign({}, props)),
|
|
38
|
-
|
|
39
|
-
React.createElement("p", null, "Available only on servers:"),
|
|
40
|
-
React.createElement("ul", { className: "flex flex-wrap leading-normal" }, servers.map(function (server) { return (React.createElement("li", { className: "inline-block mt-2 mr-2", key: server.id() },
|
|
41
|
-
React.createElement("a", { href: "".concat(window.location.pathname, "#").concat(CommonHelpers.getIdentifier('server-' + server.id(), config)), className: "border border-solid border-blue-300 hover:bg-blue-300 hover:text-blue-600 text-blue-500 font-bold no-underline text-xs rounded px-3 py-1 cursor-pointer" },
|
|
42
|
-
React.createElement("span", { className: "underline" }, server.id())))); })))) : null,
|
|
43
|
+
React.createElement(ServersList, { servers: servers || [], config: config, relativePathname: relativePathname }),
|
|
43
44
|
parameters && (React.createElement("div", { className: "mt-2", id: CommonHelpers.getIdentifier("operation-".concat(type, "-").concat(channelName, "-parameters"), config) },
|
|
44
45
|
React.createElement(Schema, { schemaName: "Parameters", schema: parameters, expanded: true }))),
|
|
45
46
|
security && (React.createElement("div", { className: "mt-2", id: CommonHelpers.getIdentifier("operation-".concat(type, "-").concat(channelName, "-security"), config) },
|
|
@@ -182,11 +183,7 @@ export var OperationReplyChannelInfo = function (_a) {
|
|
|
182
183
|
React.createElement("span", { className: "border text-orange-600 rounded text-xs py-0 px-2" }, channel.address()))),
|
|
183
184
|
channel.hasDescription() && (React.createElement("div", { className: "mt-2" },
|
|
184
185
|
React.createElement(Markdown, null, channel.description()))),
|
|
185
|
-
|
|
186
|
-
React.createElement("p", null, "Available only on servers:"),
|
|
187
|
-
React.createElement("ul", { className: "flex flex-wrap leading-normal" }, servers.map(function (server) { return (React.createElement("li", { className: "inline-block mt-2 mr-2", key: server.id() },
|
|
188
|
-
React.createElement("a", { href: "".concat(window.location.pathname, "#").concat(CommonHelpers.getIdentifier('server-' + server.id(), config)), className: "border border-solid border-blue-300 hover:bg-blue-300 hover:text-blue-600 text-blue-500 font-bold no-underline text-xs rounded px-3 py-1 cursor-pointer" },
|
|
189
|
-
React.createElement("span", { className: "underline" }, server.id())))); })))) : null,
|
|
186
|
+
React.createElement(ServersList, { servers: servers || [], config: config, relativePathname: relativePathname }),
|
|
190
187
|
channel.messages().all().length > 1 ? (React.createElement("div", { className: "mt-2" },
|
|
191
188
|
React.createElement("span", { className: "text-xs text-gray-700" }, "Messages:"),
|
|
192
189
|
React.createElement("ul", null, channel
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Operation.js","sourceRoot":"","sources":["../../../../src/containers/Operations/Operation.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport { ChannelInterface, OperationInterface } from '@asyncapi/parser';\nimport { Message } from '../Messages/Message';\nimport { Security } from '../Servers/Security';\nimport {\n Markdown,\n Schema,\n Bindings,\n Tags,\n Extensions,\n CollapseButton,\n} from '../../components';\nimport { Href } from '../../components/Href';\nimport { useConfig, useSpec } from '../../contexts';\nimport { CommonHelpers, SchemaHelpers } from '../../helpers';\nimport { EXTERAL_DOCUMENTATION_TEXT } from '../../constants';\nimport { PayloadType, PluginSlot } from '../../types';\nimport { PluginManager } from '../../helpers/pluginManager';\nimport { SlotRenderer } from '../../components/PluginSlotRenderer';\nimport { usePlugin } from '../../contexts/usePlugin';\n\ninterface Props {\n type: PayloadType;\n operation: OperationInterface;\n channelName: string;\n channel: ChannelInterface;\n}\n\nexport const Operation: React.FunctionComponent<Props> = (props) => {\n const { type = PayloadType.SEND, operation, channelName, channel } = props;\n const config = useConfig();\n if (!operation || !channel) {\n return null;\n }\n\n // check typeof as fallback for older version than `2.2.0`\n const servers =\n typeof channel.servers === 'function' && channel.servers().all();\n // check typeof as fallback for older version than `2.4.0`\n const security =\n typeof operation.security === 'function' && operation.security();\n const parameters =\n channel.parameters() !== undefined\n ? SchemaHelpers.parametersToSchema(channel.parameters())\n : undefined;\n\n return (\n <div>\n <div className=\"panel-item--center px-8\">\n <OperationInfo {...props} />\n {servers && servers.length > 0 ? (\n <div className=\"mt-2 text-sm\">\n <p>Available only on servers:</p>\n <ul className=\"flex flex-wrap leading-normal\">\n {servers.map((server) => (\n <li className=\"inline-block mt-2 mr-2\" key={server.id()}>\n <a\n href={`${window.location.pathname}#${CommonHelpers.getIdentifier(\n 'server-' + server.id(),\n config,\n )}`}\n className=\"border border-solid border-blue-300 hover:bg-blue-300 hover:text-blue-600 text-blue-500 font-bold no-underline text-xs rounded px-3 py-1 cursor-pointer\"\n >\n <span className=\"underline\">{server.id()}</span>\n </a>\n </li>\n ))}\n </ul>\n </div>\n ) : null}\n\n {parameters && (\n <div\n className=\"mt-2\"\n id={CommonHelpers.getIdentifier(\n `operation-${type}-${channelName}-parameters`,\n config,\n )}\n >\n <Schema schemaName=\"Parameters\" schema={parameters} expanded />\n </div>\n )}\n\n {security && (\n <div\n className=\"mt-2\"\n id={CommonHelpers.getIdentifier(\n `operation-${type}-${channelName}-security`,\n config,\n )}\n >\n <Security\n security={security}\n header=\"Additional security requirements\"\n />\n </div>\n )}\n\n {channel.bindings() && (\n <div className=\"mt-2\">\n <Bindings\n name=\"Channel specific information\"\n bindings={channel.bindings()}\n />\n </div>\n )}\n\n <Extensions name=\"Channel Extensions\" item={channel} />\n\n {operation.bindings() && (\n <div className=\"mt-2\">\n <Bindings\n name=\"Operation specific information\"\n bindings={operation.bindings()}\n />\n </div>\n )}\n\n <Extensions name=\"Operation Extensions\" item={operation} />\n\n {operation.tags() && (\n <div className=\"mt-2\">\n <Tags tags={operation.tags()} />\n </div>\n )}\n </div>\n\n <div\n className=\"w-full mt-4\"\n id={CommonHelpers.getIdentifier(\n `operation-${type}-${channelName}-message`,\n config,\n )}\n >\n {operation.messages().length > 1 ? (\n <div className=\"mt-2\">\n <p className=\"px-8\">\n Accepts <strong>one of</strong> the following messages:\n </p>\n <ul>\n {operation\n .messages()\n .all()\n .map((msg, idx) => (\n <li className=\"mt-4\" key={msg.id()}>\n <Message message={msg} index={idx} showExamples />\n </li>\n ))}\n </ul>\n </div>\n ) : (\n <div className=\"mt-2\">\n <p className=\"px-8\">Accepts the following message:</p>\n <div className=\"mt-2\">\n <Message message={operation.messages().all()[0]} showExamples />\n </div>\n </div>\n )}\n </div>\n\n <OperationReplyInfo {...props} />\n </div>\n );\n};\n\nexport const OperationInfo: React.FunctionComponent<Props> = (props) => {\n const { type = PayloadType.SEND, operation, channelName, channel } = props;\n const config = useConfig();\n const pluginManager = usePlugin();\n const operationSummary = operation.summary();\n const externalDocs = operation.externalDocs();\n const operationId = operation.id();\n const specV = useSpec().version();\n const version = specV.localeCompare('2.6.0', undefined, { numeric: true });\n const isAsyncAPIv2 = version === 0;\n const { backgroundColor, typeLabel } =\n CommonHelpers.getOperationDesignInformation({\n type,\n config,\n isAsyncAPIv2,\n });\n return (\n <>\n <div className=\"mb-4\">\n <h3>\n <span\n className={`font-mono text-white uppercase p-1 rounded mr-2 ${backgroundColor}`}\n title={type}\n >\n {typeLabel}\n </span>{' '}\n <span className=\"font-mono text-base\">{channelName}</span>\n </h3>\n </div>\n\n {channel.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{channel.description()}</Markdown>\n </div>\n )}\n {operationSummary && (\n <p className=\"text-gray-600 text-sm mt-2\">{operationSummary}</p>\n )}\n {operation.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{operation.description()}</Markdown>\n </div>\n )}\n\n {externalDocs && (\n <ul className=\"leading-normal mt-2 mb-4 space-x-2 space-y-2\">\n {externalDocs && (\n <li className=\"inline-block\">\n <Href\n className=\"border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1\"\n href={externalDocs.url()}\n >\n <span>{EXTERAL_DOCUMENTATION_TEXT}</span>\n </Href>\n </li>\n )}\n </ul>\n )}\n\n {operationId && (\n <div className=\"border bg-gray-100 rounded px-4 py-2 mt-2\">\n <div className=\"text-sm text-gray-700\">\n Operation ID\n <span className=\"bg-orange-600 text-white rounded text-xs ml-2 py-0 px-2\">\n {operationId}\n </span>\n </div>\n </div>\n )}\n {PluginManager && (\n <SlotRenderer\n slot={PluginSlot.OPERATION}\n context={{\n schema: props,\n }}\n pluginManager={pluginManager}\n />\n )}\n </>\n );\n};\n\nexport const OperationReplyInfo: React.FunctionComponent<Props> = (props) => {\n const { type = PayloadType.SEND, operation } = props;\n const [showMessages, setShowMessages] = useState(false);\n const [showChannel, setShowChannel] = useState(false);\n if (type !== PayloadType.REPLY && type !== PayloadType.REQUEST) {\n return <></>;\n }\n const reply = operation.reply();\n if (reply === undefined) {\n return <></>;\n }\n\n const replyMessages = reply.messages();\n const explicitChannel = reply.channel();\n\n const replyAddress = reply.address()?.location();\n\n return (\n <div className=\"panel-item\">\n <div className=\"panel-item--center\">\n <div className=\"font-mono px-8 py-4\">\n <div className=\"border rounded\">\n <div\n className={`w-full ${\n type === PayloadType.REPLY\n ? 'bg-green-600 border-green-600'\n : 'bg-blue-600 border-blue-600'\n } text-sm rounded-t h-8 px-4 border text-white flex items-center`}\n >\n <strong>REPLY INFORMATION</strong>\n </div>\n <div className=\"flex\">\n <div\n className={`w-1 h-11 ${\n type === PayloadType.REPLY ? 'bg-green-600' : 'bg-blue-600'\n } mt-4`}\n />\n <div className=\"p-4\">\n <h3 className=\"text-xs\">\n <span className=\"mr-2\" title={type}>\n REPLY CHANNEL INFORMATION\n </span>\n </h3>\n {explicitChannel?.address() ? (\n <div className=\"text-xs text-gray-700\">\n Reply will be provided via this designated address:{' '}\n <span className=\"border text-orange-600 rounded text-xs ml-2 py-0 px-2\">\n {explicitChannel.address()}{' '}\n </span>\n </div>\n ) : (\n replyAddress != null && (\n <div className=\"text-xs text-gray-700\">\n Reply will be directed to the address specified at this\n location:{' '}\n <span className=\"border text-orange-600 rounded text-xs ml-2 py-0 px-2\">\n {replyAddress}\n </span>\n </div>\n )\n )}\n <div className=\"mt-2\">\n {explicitChannel && (\n <CollapseButton\n onClick={() => setShowChannel((prev) => !prev)}\n expanded={showChannel}\n >\n <span className=\"inline-block py-0.5 mr-1 text-gray-500 text-xs text-center rounded focus:outline-none\">\n View channel details\n </span>\n </CollapseButton>\n )}\n {explicitChannel && (\n <div\n className={`w-full mt-4 ${\n showChannel ? 'block' : 'hidden'\n }`}\n >\n <OperationReplyChannelInfo {...props} />{' '}\n </div>\n )}\n </div>\n </div>\n </div>\n <OperationReplyAddressInfo {...props} />\n {replyMessages.isEmpty() === false && (\n <div className=\"p-4\">\n <CollapseButton\n onClick={() => setShowMessages((prev) => !prev)}\n expanded={showMessages}\n >\n <span className=\"inline-block py-0.5 mr-1 text-gray-500 text-xs text-center rounded focus:outline-none\">\n Expected Reply{' '}\n {replyMessages.length > 1 ? 'Messages' : 'Message'}\n </span>\n </CollapseButton>\n <div\n className={`w-full mt-4 ${showMessages ? 'block' : 'hidden'}`}\n >\n {replyMessages.length > 1 ? (\n <div className=\"mt-2\">\n <ul>\n {replyMessages.all().map((msg, idx) => (\n <li className=\"mt-4\" key={msg.id()}>\n <Message message={msg} index={idx} showExamples />\n </li>\n ))}\n </ul>\n </div>\n ) : (\n <div className=\"mt-2\">\n <div className=\"mt-2\">\n <Message\n message={replyMessages.all()[0]}\n showExamples\n />\n </div>\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n </div>\n\n <Extensions name=\"Operation Reply Extensions\" item={reply} />\n </div>\n </div>\n );\n};\n\nexport const OperationReplyChannelInfo: React.FunctionComponent<Props> = ({\n type = PayloadType.SEND,\n operation,\n}) => {\n const reply = operation.reply();\n const channel = reply?.channel();\n const channelName = channel?.address() ?? '';\n\n const config = useConfig();\n const servers =\n typeof channel?.servers === 'function' && channel.servers().all();\n const parameters =\n channel?.parameters() !== undefined\n ? SchemaHelpers.parametersToSchema(channel.parameters())\n : undefined;\n\n if (!channel) {\n return <></>;\n }\n\n return (\n <div>\n {channel.address() && (\n <div className=\"mt-2 text-xs text-gray-700\">\n Address:{' '}\n <span className=\"border text-orange-600 rounded text-xs py-0 px-2\">\n {channel.address()}\n </span>\n </div>\n )}\n {channel.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{channel.description()}</Markdown>\n </div>\n )}\n {servers && servers.length > 0 ? (\n <div className=\"mt-2 text-sm\">\n <p>Available only on servers:</p>\n <ul className=\"flex flex-wrap leading-normal\">\n {servers.map((server) => (\n <li className=\"inline-block mt-2 mr-2\" key={server.id()}>\n <a\n href={`${window.location.pathname}#${CommonHelpers.getIdentifier(\n 'server-' + server.id(),\n config,\n )}`}\n className=\"border border-solid border-blue-300 hover:bg-blue-300 hover:text-blue-600 text-blue-500 font-bold no-underline text-xs rounded px-3 py-1 cursor-pointer\"\n >\n <span className=\"underline\">{server.id()}</span>\n </a>\n </li>\n ))}\n </ul>\n </div>\n ) : null}\n {channel.messages().all().length > 1 ? (\n <div className=\"mt-2\">\n <span className=\"text-xs text-gray-700\">Messages:</span>\n <ul>\n {channel\n .messages()\n .all()\n .map((msg, idx) => (\n <li className=\"mt-4\" key={msg.id()}>\n <Message message={msg} index={idx} showExamples />\n </li>\n ))}\n </ul>\n </div>\n ) : (\n <div className=\"mt-2\">\n <span className=\"text-xs text-gray-700\">Message:</span>\n <div className=\"mt-2\">\n <Message message={channel.messages().all()[0]} showExamples />\n </div>\n </div>\n )}\n {parameters && (\n <div\n className=\"mt-2\"\n id={CommonHelpers.getIdentifier(\n `operation-${type}-${channelName}-parameters`,\n config,\n )}\n >\n <Schema schemaName=\"Parameters\" schema={parameters} expanded />\n </div>\n )}\n {channel.bindings() && (\n <div className=\"mt-2\">\n <Bindings name=\"Bindings\" bindings={channel.bindings()} />\n </div>\n )}\n </div>\n );\n};\n\nexport const OperationReplyAddressInfo: React.FunctionComponent<Props> = ({\n type = PayloadType.SEND,\n operation,\n}) => {\n if (type !== PayloadType.REPLY && type !== PayloadType.REQUEST) {\n return <></>;\n }\n const reply = operation.reply();\n if (!reply?.address) {\n return <></>;\n }\n const replyAddress = reply.address();\n\n if (!replyAddress) {\n return <></>;\n }\n\n const replyAddressLocation = replyAddress.location();\n\n return (\n <div className=\"flex\">\n <div\n className={`w-1 h-11 ${\n type === PayloadType.REPLY ? 'bg-green-600' : 'bg-blue-600'\n } mt-4`}\n />\n <div className=\"p-4\">\n <h3 className=\"text-xs\">\n <span className=\"mr-2 uppercase\" title={type}>\n REPLY address information\n </span>\n </h3>\n {replyAddressLocation && (\n <div className=\"text-xs text-gray-700\">\n REPLY will be sent to the address provided in:\n <span className=\"border text-orange-600 rounded text-xs ml-2 py-0 px-2\">\n {replyAddressLocation}\n </span>\n </div>\n )}\n {replyAddress.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{replyAddress.description()}</Markdown>\n </div>\n )}\n <Extensions name=\"Operation Reply Address Extensions\" item={reply} />\n </div>\n </div>\n );\n};\n"]}
|
|
1
|
+
{"version":3,"file":"Operation.js","sourceRoot":"","sources":["../../../../src/containers/Operations/Operation.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useState } from 'react';\nimport { ChannelInterface, OperationInterface } from '@asyncapi/parser';\nimport { Message } from '../Messages/Message';\nimport { Security } from '../Servers/Security';\nimport {\n Markdown,\n Schema,\n Bindings,\n Tags,\n Extensions,\n CollapseButton,\n} from '../../components';\nimport { Href } from '../../components/Href';\nimport { useConfig, useSpec } from '../../contexts';\nimport { CommonHelpers, SchemaHelpers } from '../../helpers';\nimport { EXTERAL_DOCUMENTATION_TEXT } from '../../constants';\nimport { PayloadType, PluginSlot } from '../../types';\nimport { PluginManager } from '../../helpers/pluginManager';\nimport { ServersList } from './ServersList';\nimport { SlotRenderer } from '../../components/PluginSlotRenderer';\nimport { usePlugin } from '../../contexts/usePlugin';\n\ninterface Props {\n type: PayloadType;\n operation: OperationInterface;\n channelName: string;\n channel: ChannelInterface;\n}\n\n// Construct the full relative URL, including path, query parameters to avoid path overwrite when\n// location.hash is included\nconst location = globalThis.location;\nconst relativePathname = location\n ? `${location.pathname}${location.search}`\n : '';\n\nexport const Operation: React.FunctionComponent<Props> = (props) => {\n const { type = PayloadType.SEND, operation, channelName, channel } = props;\n const config = useConfig();\n if (!operation || !channel) {\n return null;\n }\n\n // check typeof as fallback for older version than `2.2.0`\n const servers =\n typeof channel.servers === 'function' && channel.servers().all();\n // check typeof as fallback for older version than `2.4.0`\n const security =\n typeof operation.security === 'function' && operation.security();\n const parameters =\n channel.parameters() !== undefined\n ? SchemaHelpers.parametersToSchema(channel.parameters())\n : undefined;\n return (\n <div>\n <div className=\"panel-item--center px-8\">\n <OperationInfo {...props} />\n\n <ServersList\n servers={servers || []}\n config={config}\n relativePathname={relativePathname}\n />\n\n {parameters && (\n <div\n className=\"mt-2\"\n id={CommonHelpers.getIdentifier(\n `operation-${type}-${channelName}-parameters`,\n config,\n )}\n >\n <Schema schemaName=\"Parameters\" schema={parameters} expanded />\n </div>\n )}\n\n {security && (\n <div\n className=\"mt-2\"\n id={CommonHelpers.getIdentifier(\n `operation-${type}-${channelName}-security`,\n config,\n )}\n >\n <Security\n security={security}\n header=\"Additional security requirements\"\n />\n </div>\n )}\n\n {channel.bindings() && (\n <div className=\"mt-2\">\n <Bindings\n name=\"Channel specific information\"\n bindings={channel.bindings()}\n />\n </div>\n )}\n\n <Extensions name=\"Channel Extensions\" item={channel} />\n\n {operation.bindings() && (\n <div className=\"mt-2\">\n <Bindings\n name=\"Operation specific information\"\n bindings={operation.bindings()}\n />\n </div>\n )}\n\n <Extensions name=\"Operation Extensions\" item={operation} />\n\n {operation.tags() && (\n <div className=\"mt-2\">\n <Tags tags={operation.tags()} />\n </div>\n )}\n </div>\n\n <div\n className=\"w-full mt-4\"\n id={CommonHelpers.getIdentifier(\n `operation-${type}-${channelName}-message`,\n config,\n )}\n >\n {operation.messages().length > 1 ? (\n <div className=\"mt-2\">\n <p className=\"px-8\">\n Accepts <strong>one of</strong> the following messages:\n </p>\n <ul>\n {operation\n .messages()\n .all()\n .map((msg, idx) => (\n <li className=\"mt-4\" key={msg.id()}>\n <Message message={msg} index={idx} showExamples />\n </li>\n ))}\n </ul>\n </div>\n ) : (\n <div className=\"mt-2\">\n <p className=\"px-8\">Accepts the following message:</p>\n <div className=\"mt-2\">\n <Message message={operation.messages().all()[0]} showExamples />\n </div>\n </div>\n )}\n </div>\n\n <OperationReplyInfo {...props} />\n </div>\n );\n};\n\nexport const OperationInfo: React.FunctionComponent<Props> = (props) => {\n const { type = PayloadType.SEND, operation, channelName, channel } = props;\n const config = useConfig();\n const pluginManager = usePlugin();\n const operationSummary = operation.summary();\n const externalDocs = operation.externalDocs();\n const operationId = operation.id();\n const specV = useSpec().version();\n const version = specV.localeCompare('2.6.0', undefined, { numeric: true });\n const isAsyncAPIv2 = version === 0;\n const { backgroundColor, typeLabel } =\n CommonHelpers.getOperationDesignInformation({\n type,\n config,\n isAsyncAPIv2,\n });\n return (\n <>\n <div className=\"mb-4\">\n <h3>\n <span\n className={`font-mono text-white uppercase p-1 rounded mr-2 ${backgroundColor}`}\n title={type}\n >\n {typeLabel}\n </span>{' '}\n <span className=\"font-mono text-base\">{channelName}</span>\n </h3>\n </div>\n\n {channel.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{channel.description()}</Markdown>\n </div>\n )}\n {operationSummary && (\n <p className=\"text-gray-600 text-sm mt-2\">{operationSummary}</p>\n )}\n {operation.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{operation.description()}</Markdown>\n </div>\n )}\n\n {externalDocs && (\n <ul className=\"leading-normal mt-2 mb-4 space-x-2 space-y-2\">\n {externalDocs && (\n <li className=\"inline-block\">\n <Href\n className=\"border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 font-bold no-underline text-xs uppercase rounded px-3 py-1\"\n href={externalDocs.url()}\n >\n <span>{EXTERAL_DOCUMENTATION_TEXT}</span>\n </Href>\n </li>\n )}\n </ul>\n )}\n\n {operationId && (\n <div className=\"border bg-gray-100 rounded px-4 py-2 mt-2\">\n <div className=\"text-sm text-gray-700\">\n Operation ID\n <span className=\"bg-orange-600 text-white rounded text-xs ml-2 py-0 px-2\">\n {operationId}\n </span>\n </div>\n </div>\n )}\n {PluginManager && (\n <SlotRenderer\n slot={PluginSlot.OPERATION}\n context={{\n schema: props,\n }}\n pluginManager={pluginManager}\n />\n )}\n </>\n );\n};\n\nexport const OperationReplyInfo: React.FunctionComponent<Props> = (props) => {\n const { type = PayloadType.SEND, operation } = props;\n const [showMessages, setShowMessages] = useState(false);\n const [showChannel, setShowChannel] = useState(false);\n if (type !== PayloadType.REPLY && type !== PayloadType.REQUEST) {\n return <></>;\n }\n const reply = operation.reply();\n if (reply === undefined) {\n return <></>;\n }\n\n const replyMessages = reply.messages();\n const explicitChannel = reply.channel();\n\n const replyAddress = reply.address()?.location();\n\n return (\n <div className=\"panel-item\">\n <div className=\"panel-item--center\">\n <div className=\"font-mono px-8 py-4\">\n <div className=\"border rounded\">\n <div\n className={`w-full ${\n type === PayloadType.REPLY\n ? 'bg-green-600 border-green-600'\n : 'bg-blue-600 border-blue-600'\n } text-sm rounded-t h-8 px-4 border text-white flex items-center`}\n >\n <strong>REPLY INFORMATION</strong>\n </div>\n <div className=\"flex\">\n <div\n className={`w-1 h-11 ${\n type === PayloadType.REPLY ? 'bg-green-600' : 'bg-blue-600'\n } mt-4`}\n />\n <div className=\"p-4\">\n <h3 className=\"text-xs\">\n <span className=\"mr-2\" title={type}>\n REPLY CHANNEL INFORMATION\n </span>\n </h3>\n {explicitChannel?.address() ? (\n <div className=\"text-xs text-gray-700\">\n Reply will be provided via this designated address:{' '}\n <span className=\"border text-orange-600 rounded text-xs ml-2 py-0 px-2\">\n {explicitChannel.address()}{' '}\n </span>\n </div>\n ) : (\n replyAddress != null && (\n <div className=\"text-xs text-gray-700\">\n Reply will be directed to the address specified at this\n location:{' '}\n <span className=\"border text-orange-600 rounded text-xs ml-2 py-0 px-2\">\n {replyAddress}\n </span>\n </div>\n )\n )}\n <div className=\"mt-2\">\n {explicitChannel && (\n <CollapseButton\n onClick={() => setShowChannel((prev) => !prev)}\n expanded={showChannel}\n >\n <span className=\"inline-block py-0.5 mr-1 text-gray-500 text-xs text-center rounded focus:outline-none\">\n View channel details\n </span>\n </CollapseButton>\n )}\n {explicitChannel && (\n <div\n className={`w-full mt-4 ${\n showChannel ? 'block' : 'hidden'\n }`}\n >\n <OperationReplyChannelInfo {...props} />{' '}\n </div>\n )}\n </div>\n </div>\n </div>\n <OperationReplyAddressInfo {...props} />\n {replyMessages.isEmpty() === false && (\n <div className=\"p-4\">\n <CollapseButton\n onClick={() => setShowMessages((prev) => !prev)}\n expanded={showMessages}\n >\n <span className=\"inline-block py-0.5 mr-1 text-gray-500 text-xs text-center rounded focus:outline-none\">\n Expected Reply{' '}\n {replyMessages.length > 1 ? 'Messages' : 'Message'}\n </span>\n </CollapseButton>\n <div\n className={`w-full mt-4 ${showMessages ? 'block' : 'hidden'}`}\n >\n {replyMessages.length > 1 ? (\n <div className=\"mt-2\">\n <ul>\n {replyMessages.all().map((msg, idx) => (\n <li className=\"mt-4\" key={msg.id()}>\n <Message message={msg} index={idx} showExamples />\n </li>\n ))}\n </ul>\n </div>\n ) : (\n <div className=\"mt-2\">\n <div className=\"mt-2\">\n <Message\n message={replyMessages.all()[0]}\n showExamples\n />\n </div>\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n </div>\n\n <Extensions name=\"Operation Reply Extensions\" item={reply} />\n </div>\n </div>\n );\n};\n\nexport const OperationReplyChannelInfo: React.FunctionComponent<Props> = ({\n type = PayloadType.SEND,\n operation,\n}) => {\n const reply = operation.reply();\n const channel = reply?.channel();\n const channelName = channel?.address() ?? '';\n\n const config = useConfig();\n const servers =\n typeof channel?.servers === 'function' && channel.servers().all();\n const parameters =\n channel?.parameters() !== undefined\n ? SchemaHelpers.parametersToSchema(channel.parameters())\n : undefined;\n\n if (!channel) {\n return <></>;\n }\n\n return (\n <div>\n {channel.address() && (\n <div className=\"mt-2 text-xs text-gray-700\">\n Address:{' '}\n <span className=\"border text-orange-600 rounded text-xs py-0 px-2\">\n {channel.address()}\n </span>\n </div>\n )}\n {channel.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{channel.description()}</Markdown>\n </div>\n )}\n <ServersList\n servers={servers || []}\n config={config}\n relativePathname={relativePathname}\n />\n {channel.messages().all().length > 1 ? (\n <div className=\"mt-2\">\n <span className=\"text-xs text-gray-700\">Messages:</span>\n <ul>\n {channel\n .messages()\n .all()\n .map((msg, idx) => (\n <li className=\"mt-4\" key={msg.id()}>\n <Message message={msg} index={idx} showExamples />\n </li>\n ))}\n </ul>\n </div>\n ) : (\n <div className=\"mt-2\">\n <span className=\"text-xs text-gray-700\">Message:</span>\n <div className=\"mt-2\">\n <Message message={channel.messages().all()[0]} showExamples />\n </div>\n </div>\n )}\n {parameters && (\n <div\n className=\"mt-2\"\n id={CommonHelpers.getIdentifier(\n `operation-${type}-${channelName}-parameters`,\n config,\n )}\n >\n <Schema schemaName=\"Parameters\" schema={parameters} expanded />\n </div>\n )}\n {channel.bindings() && (\n <div className=\"mt-2\">\n <Bindings name=\"Bindings\" bindings={channel.bindings()} />\n </div>\n )}\n </div>\n );\n};\n\nexport const OperationReplyAddressInfo: React.FunctionComponent<Props> = ({\n type = PayloadType.SEND,\n operation,\n}) => {\n if (type !== PayloadType.REPLY && type !== PayloadType.REQUEST) {\n return <></>;\n }\n const reply = operation.reply();\n if (!reply?.address) {\n return <></>;\n }\n const replyAddress = reply.address();\n\n if (!replyAddress) {\n return <></>;\n }\n\n const replyAddressLocation = replyAddress.location();\n\n return (\n <div className=\"flex\">\n <div\n className={`w-1 h-11 ${\n type === PayloadType.REPLY ? 'bg-green-600' : 'bg-blue-600'\n } mt-4`}\n />\n <div className=\"p-4\">\n <h3 className=\"text-xs\">\n <span className=\"mr-2 uppercase\" title={type}>\n REPLY address information\n </span>\n </h3>\n {replyAddressLocation && (\n <div className=\"text-xs text-gray-700\">\n REPLY will be sent to the address provided in:\n <span className=\"border text-orange-600 rounded text-xs ml-2 py-0 px-2\">\n {replyAddressLocation}\n </span>\n </div>\n )}\n {replyAddress.hasDescription() && (\n <div className=\"mt-2\">\n <Markdown>{replyAddress.description()}</Markdown>\n </div>\n )}\n <Extensions name=\"Operation Reply Address Extensions\" item={reply} />\n </div>\n </div>\n );\n};\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { CommonHelpers } from '../../helpers';
|
|
3
|
+
export var ServersList = function (_a) {
|
|
4
|
+
var servers = _a.servers, config = _a.config, relativePathname = _a.relativePathname;
|
|
5
|
+
if (!servers || servers.length === 0) {
|
|
6
|
+
return null;
|
|
7
|
+
}
|
|
8
|
+
return (React.createElement("div", { className: "mt-2 text-sm" },
|
|
9
|
+
React.createElement("p", null, "Available only on servers:"),
|
|
10
|
+
React.createElement("ul", { className: "flex flex-wrap leading-normal" }, servers.map(function (server) { return (React.createElement("li", { className: "inline-block mt-2 mr-2", key: server.id() },
|
|
11
|
+
React.createElement("a", { href: "".concat(relativePathname, "#").concat(CommonHelpers.getIdentifier('server-' + server.id(), config)), className: "border border-solid border-blue-300 hover:bg-blue-300 hover:text-blue-600 text-blue-500 font-bold no-underline text-xs rounded px-3 py-1 cursor-pointer" },
|
|
12
|
+
React.createElement("span", { className: "underline" }, server.id())))); }))));
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=ServersList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServersList.js","sourceRoot":"","sources":["../../../../src/containers/Operations/ServersList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAS9C,MAAM,CAAC,IAAM,WAAW,GAA+B,UAAC,EAIvD;QAHC,OAAO,aAAA,EACP,MAAM,YAAA,EACN,gBAAgB,sBAAA;IAEhB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;QACpC,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,6BAAK,SAAS,EAAC,cAAc;QAC3B,4DAAiC;QACjC,4BAAI,SAAS,EAAC,+BAA+B,IAC1C,OAAO,CAAC,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,CACvB,4BAAI,SAAS,EAAC,wBAAwB,EAAC,GAAG,EAAE,MAAM,CAAC,EAAE,EAAE;YACrD,2BACE,IAAI,EAAE,UAAG,gBAAgB,cAAI,aAAa,CAAC,aAAa,CACtD,SAAS,GAAG,MAAM,CAAC,EAAE,EAAE,EACvB,MAAM,CACP,CAAE,EACH,SAAS,EAAC,yJAAyJ;gBAEnK,8BAAM,SAAS,EAAC,WAAW,IAAE,MAAM,CAAC,EAAE,EAAE,CAAQ,CAC9C,CACD,CACN,EAZwB,CAYxB,CAAC,CACC,CACD,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import React from 'react';\nimport { ServerInterface } from '@asyncapi/parser';\nimport { CommonHelpers } from '../../helpers';\nimport { ConfigInterface } from '../../config';\n\ninterface ServersListProps {\n servers: ServerInterface[];\n config: ConfigInterface;\n relativePathname: string;\n}\n\nexport const ServersList: React.FC<ServersListProps> = ({\n servers,\n config,\n relativePathname,\n}) => {\n if (!servers || servers.length === 0) {\n return null;\n }\n\n return (\n <div className=\"mt-2 text-sm\">\n <p>Available only on servers:</p>\n <ul className=\"flex flex-wrap leading-normal\">\n {servers.map((server) => (\n <li className=\"inline-block mt-2 mr-2\" key={server.id()}>\n <a\n href={`${relativePathname}#${CommonHelpers.getIdentifier(\n 'server-' + server.id(),\n config,\n )}`}\n className=\"border border-solid border-blue-300 hover:bg-blue-300 hover:text-blue-600 text-blue-500 font-bold no-underline text-xs rounded px-3 py-1 cursor-pointer\"\n >\n <span className=\"underline\">{server.id()}</span>\n </a>\n </li>\n ))}\n </ul>\n </div>\n );\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Operation.d.ts","sourceRoot":"","sources":["../../../../src/containers/Operations/Operation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAexE,OAAO,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Operation.d.ts","sourceRoot":"","sources":["../../../../src/containers/Operations/Operation.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAexE,OAAO,EAAE,WAAW,EAAc,MAAM,aAAa,CAAC;AAMtD,UAAU,KAAK;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,kBAAkB,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,gBAAgB,CAAC;CAC3B;AASD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAwHpD,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAgFxD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAiI7D,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAgFpE,CAAC;AAEF,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAiDpE,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { ServerInterface } from '@asyncapi/parser';
|
|
3
|
+
import { ConfigInterface } from '../../config';
|
|
4
|
+
interface ServersListProps {
|
|
5
|
+
servers: ServerInterface[];
|
|
6
|
+
config: ConfigInterface;
|
|
7
|
+
relativePathname: string;
|
|
8
|
+
}
|
|
9
|
+
export declare const ServersList: React.FC<ServersListProps>;
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=ServersList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ServersList.d.ts","sourceRoot":"","sources":["../../../../src/containers/Operations/ServersList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,UAAU,gBAAgB;IACxB,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,MAAM,EAAE,eAAe,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA6BlD,CAAC"}
|