@asyncapi/react-component 2.6.5 → 3.0.0
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 +1 -1
- package/browser/standalone/without-parser.js +1 -1
- package/browser/without-parser.js +1 -1
- package/lib/cjs/components/PluginSlotRenderer.js +21 -0
- package/lib/cjs/components/PluginSlotRenderer.js.map +1 -0
- package/lib/cjs/constants.js +2 -1
- package/lib/cjs/constants.js.map +1 -1
- package/lib/cjs/containers/AsyncApi/AsyncApi.js +2 -2
- package/lib/cjs/containers/AsyncApi/AsyncApi.js.map +1 -1
- package/lib/cjs/containers/AsyncApi/Layout.js +15 -13
- package/lib/cjs/containers/AsyncApi/Layout.js.map +1 -1
- package/lib/cjs/containers/AsyncApi/Standalone.js +99 -3
- package/lib/cjs/containers/AsyncApi/Standalone.js.map +1 -1
- package/lib/cjs/containers/Info/Info.js +9 -1
- package/lib/cjs/containers/Info/Info.js.map +1 -1
- package/lib/cjs/containers/Operations/Operation.js +8 -1
- package/lib/cjs/containers/Operations/Operation.js.map +1 -1
- package/lib/cjs/contexts/usePlugin.js +10 -0
- package/lib/cjs/contexts/usePlugin.js.map +1 -0
- package/lib/cjs/helpers/pluginManager.js +116 -0
- package/lib/cjs/helpers/pluginManager.js.map +1 -0
- package/lib/cjs/index.js +3 -1
- package/lib/cjs/index.js.map +1 -1
- package/lib/cjs/types.js +6 -1
- package/lib/cjs/types.js.map +1 -1
- package/lib/esm/components/PluginSlotRenderer.js +15 -0
- package/lib/esm/components/PluginSlotRenderer.js.map +1 -0
- package/lib/esm/constants.js +1 -0
- package/lib/esm/constants.js.map +1 -1
- package/lib/esm/containers/AsyncApi/AsyncApi.js +2 -2
- package/lib/esm/containers/AsyncApi/AsyncApi.js.map +1 -1
- package/lib/esm/containers/AsyncApi/Layout.js +15 -13
- package/lib/esm/containers/AsyncApi/Layout.js.map +1 -1
- package/lib/esm/containers/AsyncApi/Standalone.js +99 -3
- package/lib/esm/containers/AsyncApi/Standalone.js.map +1 -1
- package/lib/esm/containers/Info/Info.js +9 -1
- package/lib/esm/containers/Info/Info.js.map +1 -1
- package/lib/esm/containers/Operations/Operation.js +9 -2
- package/lib/esm/containers/Operations/Operation.js.map +1 -1
- package/lib/esm/contexts/usePlugin.js +6 -0
- package/lib/esm/contexts/usePlugin.js.map +1 -0
- package/lib/esm/helpers/pluginManager.js +113 -0
- package/lib/esm/helpers/pluginManager.js.map +1 -0
- package/lib/esm/index.js +1 -0
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/types.js +5 -0
- package/lib/esm/types.js.map +1 -1
- package/lib/types/components/PluginSlotRenderer.d.ts +11 -0
- package/lib/types/components/PluginSlotRenderer.d.ts.map +1 -0
- package/lib/types/constants.d.ts +1 -0
- package/lib/types/constants.d.ts.map +1 -1
- package/lib/types/containers/AsyncApi/AsyncApi.d.ts +5 -1
- package/lib/types/containers/AsyncApi/AsyncApi.d.ts.map +1 -1
- package/lib/types/containers/AsyncApi/Layout.d.ts +2 -0
- package/lib/types/containers/AsyncApi/Layout.d.ts.map +1 -1
- package/lib/types/containers/AsyncApi/Standalone.d.ts +13 -1
- package/lib/types/containers/AsyncApi/Standalone.d.ts.map +1 -1
- package/lib/types/containers/Info/Info.d.ts.map +1 -1
- package/lib/types/containers/Operations/Operation.d.ts.map +1 -1
- package/lib/types/contexts/usePlugin.d.ts +5 -0
- package/lib/types/contexts/usePlugin.d.ts.map +1 -0
- package/lib/types/helpers/pluginManager.d.ts +26 -0
- package/lib/types/helpers/pluginManager.d.ts.map +1 -0
- package/lib/types/index.d.ts +1 -1
- package/lib/types/index.d.ts.map +1 -1
- package/lib/types/types.d.ts +38 -0
- package/lib/types/types.d.ts.map +1 -1
- package/package.json +5 -4
|
@@ -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.SlotRenderer = void 0;
|
|
7
|
+
var react_1 = __importDefault(require("react"));
|
|
8
|
+
var SlotRenderer = function (_a) {
|
|
9
|
+
var slot = _a.slot, context = _a.context, pluginManager = _a.pluginManager;
|
|
10
|
+
if (!pluginManager) {
|
|
11
|
+
return null;
|
|
12
|
+
}
|
|
13
|
+
var components = pluginManager.getComponentsForSlot(slot);
|
|
14
|
+
if (!components || components.length === 0) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
return (react_1.default.createElement("div", { className: "asyncapi-react-plugin-slot-".concat(slot), "data-slot": slot }, components.map(function (Component, index) { return (react_1.default.createElement(react_1.default.Suspense, { key: "".concat(slot, "-").concat(index), fallback: react_1.default.createElement("div", null, "Loading plugin...") },
|
|
18
|
+
react_1.default.createElement(Component, { context: context }))); })));
|
|
19
|
+
};
|
|
20
|
+
exports.SlotRenderer = SlotRenderer;
|
|
21
|
+
//# sourceMappingURL=PluginSlotRenderer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PluginSlotRenderer.js","sourceRoot":"","sources":["../../../src/components/PluginSlotRenderer.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAU1B,IAAM,YAAY,GAAgC,UAAC,EAIlD;QAHC,IAAI,UAAA,EACJ,OAAO,aAAA,EACP,aAAa,mBAAA;IAEb,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,IAAI,CAAC;KACb;IAED,IAAM,UAAU,GAAG,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAE5D,IAAI,CAAC,UAAU,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1C,OAAO,IAAI,CAAC;KACb;IAED,OAAO,CACL,uCAAK,SAAS,EAAE,qCAA8B,IAAI,CAAE,eAAa,IAAI,IAClE,UAAU,CAAC,GAAG,CAAC,UAAC,SAAS,EAAE,KAAK,IAAK,OAAA,CACpC,8BAAC,eAAK,CAAC,QAAQ,IACb,GAAG,EAAE,UAAG,IAAI,cAAI,KAAK,CAAE,EACvB,QAAQ,EAAE,+DAA4B;QAEtC,8BAAC,SAAS,IAAC,OAAO,EAAE,OAAO,GAAI,CAChB,CAClB,EAPqC,CAOrC,CAAC,CACE,CACP,CAAC;AACJ,CAAC,CAAC;AAEO,oCAAY","sourcesContent":["import React from 'react';\nimport { PluginManager } from '../helpers/pluginManager';\nimport { PluginContext, PluginSlot } from '../types';\n\ninterface SlotRendererProps {\n slot: PluginSlot;\n context: PluginContext;\n pluginManager?: PluginManager;\n}\n\nconst SlotRenderer: React.FC<SlotRendererProps> = ({\n slot,\n context,\n pluginManager,\n}) => {\n if (!pluginManager) {\n return null;\n }\n\n const components = pluginManager.getComponentsForSlot(slot);\n\n if (!components || components.length === 0) {\n return null;\n }\n\n return (\n <div className={`asyncapi-react-plugin-slot-${slot}`} data-slot={slot}>\n {components.map((Component, index) => (\n <React.Suspense\n key={`${slot}-${index}`}\n fallback={<div>Loading plugin...</div>}\n >\n <Component context={context} />\n </React.Suspense>\n ))}\n </div>\n );\n};\n\nexport { SlotRenderer };\n"]}
|
package/lib/cjs/constants.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MESSAGE_HEADERS_TEXT = exports.HEADERS_TEXT = exports.PARAMETERS_TEXT = exports.CHANNELS_TEXT = exports.SCHEMAS_TEXT = exports.MESSAGES_TEXT = exports.OPERATIONS_TEXT = exports.SERVERS_TEXT = exports.GENERATED_TEXT = exports.REQUIRED_TEXT = exports.REPLIER_LABEL_DEFAULT_TEXT = exports.REPLIER_TEXT = exports.REQUEST_LABEL_DEFAULT_TEXT = exports.REQUEST_TEXT = exports.RECEIVE_TEXT_LABEL_DEFAULT_TEXT = exports.RECEIVE_TEXT = exports.SUBSCRIBE_LABEL_DEFAULT_TEXT = exports.SUBSCRIBE_TEXT = exports.SEND_LABEL_DEFAULT_TEXT = exports.SEND_TEXT = exports.PUBLISH_LABEL_DEFAULT_TEXT = exports.PUBLISH_TEXT = exports.DEPRECATED_TEXT = exports.SPECIFICATION_TEXT = exports.TYPE_TEXT = exports.LOCATION_TEXT = exports.EXTERAL_DOCUMENTATION_TEXT = exports.EMAIL_SUPPORT_TEXT = exports.URL_SUPPORT_TEXT = exports.TERMS_OF_SERVICE_TEXT = exports.LICENSE_TEXT = exports.EMAIL_TEXT = exports.URL_TEXT = exports.NAM_TEXTE = exports.CONTACT_TEXT = exports.RAW_MESSAGE_PUBLISH_TEXT = exports.RAW_MESSAGE_SUBSCRIBE_TEXT = exports.ONE_OF_FOLLOWING_MESSAGES_SUBSCRIBE_SINGLE_TEXT = exports.ONE_OF_FOLLOWING_MESSAGES_SUBSCRIBE_TEXT = exports.ONE_OF_FOLLOWING_MESSAGES_PUBLISH_SINGLE_TEXT = exports.ONE_OF_FOLLOWING_MESSAGES_PUBLISH_TEXT = exports.GENERATED_BADGE_TEXT = exports.ANY_OF_PAYLOADS_TEXT = exports.ONE_OF_PAYLOADS_TEXT = exports.SERVERS = exports.VALIDATION_ERRORS_TYPE = exports.EXPAND_ALL_TEXT = exports.COLLAPSE_ALL_TEXT = exports.CONTENT_TYPES_SITE = exports.CSS_PREFIX = void 0;
|
|
4
|
-
exports.URL_VARIABLES_TEXT = exports.SECURITY_TEXT = exports.COLLAPSE_ERROR_BUTTON_TEXT = exports.EXPAND_ERROR_BUTTON_TEXT = exports.ERROR_TEXT = exports.ANY_TEXT = exports.NONE_TEXT = exports.BINDINGS_SCHEMA_OBJECT_TEXT = exports.MESSAGE_BINDINGS_TEXT = exports.OPERATION_BINDINGS_TEXT = exports.CHANNEL_BINDINGS_TEXT = exports.SERVER_BINDINGS_TEXT = exports.SCHEMA_EXAMPLE_TEXT = exports.PAYLOAD_EXAMPLE_TEXT = exports.MESSAGE_PAYLOAD_TEXT = exports.PAYLOAD_TEXT = exports.TAGS_TEXT = exports.HEADERS_EXAMPLE_TEXT = void 0;
|
|
4
|
+
exports.PLUGINEVENTS = exports.URL_VARIABLES_TEXT = exports.SECURITY_TEXT = exports.COLLAPSE_ERROR_BUTTON_TEXT = exports.EXPAND_ERROR_BUTTON_TEXT = exports.ERROR_TEXT = exports.ANY_TEXT = exports.NONE_TEXT = exports.BINDINGS_SCHEMA_OBJECT_TEXT = exports.MESSAGE_BINDINGS_TEXT = exports.OPERATION_BINDINGS_TEXT = exports.CHANNEL_BINDINGS_TEXT = exports.SERVER_BINDINGS_TEXT = exports.SCHEMA_EXAMPLE_TEXT = exports.PAYLOAD_EXAMPLE_TEXT = exports.MESSAGE_PAYLOAD_TEXT = exports.PAYLOAD_TEXT = exports.TAGS_TEXT = exports.HEADERS_EXAMPLE_TEXT = void 0;
|
|
5
5
|
exports.CSS_PREFIX = 'asyncapi';
|
|
6
6
|
exports.CONTENT_TYPES_SITE = 'https://www.iana.org/assignments/media-types';
|
|
7
7
|
exports.COLLAPSE_ALL_TEXT = 'Collapse All';
|
|
@@ -70,4 +70,5 @@ exports.EXPAND_ERROR_BUTTON_TEXT = 'Expand';
|
|
|
70
70
|
exports.COLLAPSE_ERROR_BUTTON_TEXT = 'Collapse';
|
|
71
71
|
exports.SECURITY_TEXT = 'Security';
|
|
72
72
|
exports.URL_VARIABLES_TEXT = 'URL Variables';
|
|
73
|
+
exports.PLUGINEVENTS = ['plugin:ready', 'plugin:error'];
|
|
73
74
|
//# sourceMappingURL=constants.js.map
|
package/lib/cjs/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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","sourcesContent":["export const CSS_PREFIX = 'asyncapi';\nexport const CONTENT_TYPES_SITE =\n 'https://www.iana.org/assignments/media-types';\nexport const COLLAPSE_ALL_TEXT = 'Collapse All';\nexport const EXPAND_ALL_TEXT = 'Expand All';\n\nexport const VALIDATION_ERRORS_TYPE =\n 'https://github.com/asyncapi/parser-js/validation-errors';\nexport const SERVERS = 'Servers';\n\nexport const ONE_OF_PAYLOADS_TEXT = 'One of those payloads:';\nexport const ANY_OF_PAYLOADS_TEXT = 'Any of those payloads:';\nexport const GENERATED_BADGE_TEXT = 'generated';\nexport const ONE_OF_FOLLOWING_MESSAGES_PUBLISH_TEXT =\n 'You can send one of the following messages:';\nexport const ONE_OF_FOLLOWING_MESSAGES_PUBLISH_SINGLE_TEXT =\n 'You can send the following message:';\nexport const ONE_OF_FOLLOWING_MESSAGES_SUBSCRIBE_TEXT =\n 'You can subscribe to one of the following messages:';\nexport const ONE_OF_FOLLOWING_MESSAGES_SUBSCRIBE_SINGLE_TEXT =\n 'You can subscribe to the following message:';\nexport const RAW_MESSAGE_SUBSCRIBE_TEXT =\n 'You can subscribe to the following message:';\nexport const RAW_MESSAGE_PUBLISH_TEXT = 'You can send the following message:';\n\nexport const CONTACT_TEXT = 'Contact';\nexport const NAM_TEXTE = 'Name';\nexport const URL_TEXT = 'Url';\nexport const EMAIL_TEXT = 'Email';\nexport const LICENSE_TEXT = 'License';\nexport const TERMS_OF_SERVICE_TEXT = 'Terms of service';\nexport const URL_SUPPORT_TEXT = 'Support';\nexport const EMAIL_SUPPORT_TEXT = 'Email support';\nexport const EXTERAL_DOCUMENTATION_TEXT = 'External Docs';\nexport const LOCATION_TEXT = 'Location';\nexport const TYPE_TEXT = 'Type';\nexport const SPECIFICATION_TEXT = 'Specification';\n\nexport const DEPRECATED_TEXT = 'Deprecated';\nexport const PUBLISH_TEXT = 'Publish';\nexport const PUBLISH_LABEL_DEFAULT_TEXT = 'PUB';\nexport const SEND_TEXT = 'Send';\nexport const SEND_LABEL_DEFAULT_TEXT = 'SEND';\nexport const SUBSCRIBE_TEXT = 'Subscribe';\nexport const SUBSCRIBE_LABEL_DEFAULT_TEXT = 'SUB';\nexport const RECEIVE_TEXT = 'Receive';\nexport const RECEIVE_TEXT_LABEL_DEFAULT_TEXT = 'RECEIVE';\nexport const REQUEST_TEXT = 'Request';\nexport const REQUEST_LABEL_DEFAULT_TEXT = 'REQUEST';\nexport const REPLIER_TEXT = 'Reply';\nexport const REPLIER_LABEL_DEFAULT_TEXT = 'REPLY';\nexport const REQUIRED_TEXT = 'Required';\nexport const GENERATED_TEXT = 'Generated';\n\nexport const SERVERS_TEXT = 'Servers';\nexport const OPERATIONS_TEXT = 'Operations';\nexport const MESSAGES_TEXT = 'Messages';\nexport const SCHEMAS_TEXT = 'Schemas';\n\nexport const CHANNELS_TEXT = 'Channels';\nexport const PARAMETERS_TEXT = 'Parameters';\nexport const HEADERS_TEXT = 'Headers';\nexport const MESSAGE_HEADERS_TEXT = 'Message Headers';\nexport const HEADERS_EXAMPLE_TEXT = 'Example of headers';\nexport const TAGS_TEXT = 'Tags';\nexport const PAYLOAD_TEXT = 'Payload';\nexport const MESSAGE_PAYLOAD_TEXT = 'Message Payload';\nexport const PAYLOAD_EXAMPLE_TEXT = 'Example of payload';\nexport const SCHEMA_EXAMPLE_TEXT = 'Example';\n\nexport const SERVER_BINDINGS_TEXT = 'Server Bindings';\nexport const CHANNEL_BINDINGS_TEXT = 'Channel Bindings';\nexport const OPERATION_BINDINGS_TEXT = 'Operation Bindings';\nexport const MESSAGE_BINDINGS_TEXT = 'Message Bindings';\n\nexport const BINDINGS_SCHEMA_OBJECT_TEXT = 'Schema Object';\n\nexport const NONE_TEXT = 'None';\nexport const ANY_TEXT = 'Any';\nexport const ERROR_TEXT = 'Error';\nexport const EXPAND_ERROR_BUTTON_TEXT = 'Expand';\nexport const COLLAPSE_ERROR_BUTTON_TEXT = 'Collapse';\n\nexport const SECURITY_TEXT = 'Security';\n\nexport const URL_VARIABLES_TEXT = 'URL Variables';\n"]}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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","sourcesContent":["export const CSS_PREFIX = 'asyncapi';\nexport const CONTENT_TYPES_SITE =\n 'https://www.iana.org/assignments/media-types';\nexport const COLLAPSE_ALL_TEXT = 'Collapse All';\nexport const EXPAND_ALL_TEXT = 'Expand All';\n\nexport const VALIDATION_ERRORS_TYPE =\n 'https://github.com/asyncapi/parser-js/validation-errors';\nexport const SERVERS = 'Servers';\n\nexport const ONE_OF_PAYLOADS_TEXT = 'One of those payloads:';\nexport const ANY_OF_PAYLOADS_TEXT = 'Any of those payloads:';\nexport const GENERATED_BADGE_TEXT = 'generated';\nexport const ONE_OF_FOLLOWING_MESSAGES_PUBLISH_TEXT =\n 'You can send one of the following messages:';\nexport const ONE_OF_FOLLOWING_MESSAGES_PUBLISH_SINGLE_TEXT =\n 'You can send the following message:';\nexport const ONE_OF_FOLLOWING_MESSAGES_SUBSCRIBE_TEXT =\n 'You can subscribe to one of the following messages:';\nexport const ONE_OF_FOLLOWING_MESSAGES_SUBSCRIBE_SINGLE_TEXT =\n 'You can subscribe to the following message:';\nexport const RAW_MESSAGE_SUBSCRIBE_TEXT =\n 'You can subscribe to the following message:';\nexport const RAW_MESSAGE_PUBLISH_TEXT = 'You can send the following message:';\n\nexport const CONTACT_TEXT = 'Contact';\nexport const NAM_TEXTE = 'Name';\nexport const URL_TEXT = 'Url';\nexport const EMAIL_TEXT = 'Email';\nexport const LICENSE_TEXT = 'License';\nexport const TERMS_OF_SERVICE_TEXT = 'Terms of service';\nexport const URL_SUPPORT_TEXT = 'Support';\nexport const EMAIL_SUPPORT_TEXT = 'Email support';\nexport const EXTERAL_DOCUMENTATION_TEXT = 'External Docs';\nexport const LOCATION_TEXT = 'Location';\nexport const TYPE_TEXT = 'Type';\nexport const SPECIFICATION_TEXT = 'Specification';\n\nexport const DEPRECATED_TEXT = 'Deprecated';\nexport const PUBLISH_TEXT = 'Publish';\nexport const PUBLISH_LABEL_DEFAULT_TEXT = 'PUB';\nexport const SEND_TEXT = 'Send';\nexport const SEND_LABEL_DEFAULT_TEXT = 'SEND';\nexport const SUBSCRIBE_TEXT = 'Subscribe';\nexport const SUBSCRIBE_LABEL_DEFAULT_TEXT = 'SUB';\nexport const RECEIVE_TEXT = 'Receive';\nexport const RECEIVE_TEXT_LABEL_DEFAULT_TEXT = 'RECEIVE';\nexport const REQUEST_TEXT = 'Request';\nexport const REQUEST_LABEL_DEFAULT_TEXT = 'REQUEST';\nexport const REPLIER_TEXT = 'Reply';\nexport const REPLIER_LABEL_DEFAULT_TEXT = 'REPLY';\nexport const REQUIRED_TEXT = 'Required';\nexport const GENERATED_TEXT = 'Generated';\n\nexport const SERVERS_TEXT = 'Servers';\nexport const OPERATIONS_TEXT = 'Operations';\nexport const MESSAGES_TEXT = 'Messages';\nexport const SCHEMAS_TEXT = 'Schemas';\n\nexport const CHANNELS_TEXT = 'Channels';\nexport const PARAMETERS_TEXT = 'Parameters';\nexport const HEADERS_TEXT = 'Headers';\nexport const MESSAGE_HEADERS_TEXT = 'Message Headers';\nexport const HEADERS_EXAMPLE_TEXT = 'Example of headers';\nexport const TAGS_TEXT = 'Tags';\nexport const PAYLOAD_TEXT = 'Payload';\nexport const MESSAGE_PAYLOAD_TEXT = 'Message Payload';\nexport const PAYLOAD_EXAMPLE_TEXT = 'Example of payload';\nexport const SCHEMA_EXAMPLE_TEXT = 'Example';\n\nexport const SERVER_BINDINGS_TEXT = 'Server Bindings';\nexport const CHANNEL_BINDINGS_TEXT = 'Channel Bindings';\nexport const OPERATION_BINDINGS_TEXT = 'Operation Bindings';\nexport const MESSAGE_BINDINGS_TEXT = 'Message Bindings';\n\nexport const BINDINGS_SCHEMA_OBJECT_TEXT = 'Schema Object';\n\nexport const NONE_TEXT = 'None';\nexport const ANY_TEXT = 'Any';\nexport const ERROR_TEXT = 'Error';\nexport const EXPAND_ERROR_BUTTON_TEXT = 'Expand';\nexport const COLLAPSE_ERROR_BUTTON_TEXT = 'Collapse';\n\nexport const SECURITY_TEXT = 'Security';\n\nexport const URL_VARIABLES_TEXT = 'URL Variables';\n\nexport const PLUGINEVENTS = ['plugin:ready', 'plugin:error'];\n"]}
|
|
@@ -128,9 +128,9 @@ var AsyncApiComponent = (function (_super) {
|
|
|
128
128
|
});
|
|
129
129
|
};
|
|
130
130
|
AsyncApiComponent.prototype.render = function () {
|
|
131
|
-
var _a = this.props, schema = _a.schema, config = _a.config;
|
|
131
|
+
var _a = this.props, schema = _a.schema, config = _a.config, plugins = _a.plugins, onPluginEvent = _a.onPluginEvent, onPluginManagerReady = _a.onPluginManagerReady;
|
|
132
132
|
var _b = this.state, asyncapi = _b.asyncapi, error = _b.error;
|
|
133
|
-
return (react_1.default.createElement(Standalone_1.default, { schema: asyncapi !== null && asyncapi !== void 0 ? asyncapi : schema, config: config, error: error }));
|
|
133
|
+
return (react_1.default.createElement(Standalone_1.default, { schema: asyncapi !== null && asyncapi !== void 0 ? asyncapi : schema, config: config, error: error, plugins: plugins, onPluginEvent: onPluginEvent, onPluginManagerReady: onPluginManagerReady }));
|
|
134
134
|
};
|
|
135
135
|
AsyncApiComponent.prototype.parseSchema = function (schema, parserOptions) {
|
|
136
136
|
return __awaiter(this, void 0, void 0, function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AsyncApi.js","sourceRoot":"","sources":["../../../../src/containers/AsyncApi/AsyncApi.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAyC;AAGzC,4DAA8C;AAE9C,
|
|
1
|
+
{"version":3,"file":"AsyncApi.js","sourceRoot":"","sources":["../../../../src/containers/AsyncApi/AsyncApi.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAyC;AAGzC,4DAA8C;AAE9C,qCAKqB;AAErB,yCAA6D;AAgB7D;IAAgC,qCAAuC;IAAvE;QAAA,qEAiEC;QAhEC,WAAK,GAAkB;YACrB,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,SAAS;SACjB,CAAC;;IA6DJ,CAAC;IA3DO,6CAAiB,GAAvB;;;;;;6BACM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAjB,cAAiB;wBACb,KAAqB,IAAI,CAAC,KAAK,EAA7B,MAAM,YAAA,EAAE,MAAM,YAAA,CAAgB;wBACtC,WAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,EAAA;;wBAArD,SAAqD,CAAC;;;;;;KAEzD;IAEK,8CAAkB,GAAxB,UAAyB,SAAwB;;;;;;wBACzC,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;wBAC7B,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;6BAEhC,CAAA,SAAS,KAAK,SAAS,CAAA,EAAvB,cAAuB;wBACjB,MAAM,GAAK,IAAI,CAAC,KAAK,OAAf,CAAgB;wBAC9B,WAAM,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,CAAC,EAAA;;wBAAxD,SAAwD,CAAC;;;;;;KAE5D;IAED,kCAAM,GAAN;QACQ,IAAA,KACJ,IAAI,CAAC,KAAK,EADJ,MAAM,YAAA,EAAE,MAAM,YAAA,EAAE,OAAO,aAAA,EAAE,aAAa,mBAAA,EAAE,oBAAoB,0BACxD,CAAC;QACP,IAAA,KAAsB,IAAI,CAAC,KAAK,EAA9B,QAAQ,cAAA,EAAE,KAAK,WAAe,CAAC;QAEvC,OAAO,CACL,8BAAC,oBAAkB,IACjB,MAAM,EAAE,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,MAAM,EAC1B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,aAAa,EAC5B,oBAAoB,EAAE,oBAAoB,GAC1C,CACH,CAAC;IACJ,CAAC;IAGa,uCAAW,GAAzB,UAA0B,MAAmB,EAAE,aAAmB;;;;;;wBAC1D,UAAU,GAAG,8BAAoB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;wBACnE,IAAI,UAAU,EAAE;4BACd,IAAI,CAAC,QAAQ,CAAC;gCACZ,QAAQ,EAAE,UAAU;6BACrB,CAAC,CAAC;4BACH,WAAO;yBACR;6BAEG,IAAA,iCAAyB,EAAC,MAAM,CAAC,EAAjC,cAAiC;wBACb,WAAM,gBAAM,CAAC,YAAY,CAAC,MAAM,EAAE,aAAa,CAAC,EAAA;;wBAAhE,aAAa,GAAG,SAAgD;wBACtE,IAAI,CAAC,QAAQ,CAAC;4BACZ,QAAQ,EAAE,aAAa,CAAC,QAAQ;4BAChC,KAAK,EAAE,aAAa,CAAC,KAAK;yBAC3B,CAAC,CAAC;wBACH,WAAO;4BAGM,WAAM,gBAAM,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,EAAA;;wBAAlD,MAAM,GAAG,SAAyC;wBACxD,IAAI,CAAC,QAAQ,CAAC;4BACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ;4BACzB,KAAK,EAAE,MAAM,CAAC,KAAK;yBACpB,CAAC,CAAC;;;;;KACJ;IACH,wBAAC;AAAD,CAAC,AAjED,CAAgC,iBAAS,GAiExC;AAED,kBAAe,iBAAiB,CAAC","sourcesContent":["import React, { Component } from 'react';\nimport { AsyncAPIDocumentInterface } from '@asyncapi/parser';\n\nimport AsyncApiStandalone from './Standalone';\n\nimport {\n isFetchingSchemaInterface,\n ErrorObject,\n PropsSchema,\n AsyncApiPlugin,\n} from '../../types';\nimport { ConfigInterface } from '../../config';\nimport { SpecificationHelpers, Parser } from '../../helpers';\nimport { PluginManager } from '../../helpers/pluginManager';\n\nexport interface AsyncApiProps {\n schema: PropsSchema;\n config?: Partial<ConfigInterface>;\n plugins?: AsyncApiPlugin[];\n onPluginEvent?: (eventName: string, data: unknown) => void;\n onPluginManagerReady?: (pluginManager: PluginManager) => void;\n}\n\ninterface AsyncAPIState {\n asyncapi?: AsyncAPIDocumentInterface;\n error?: ErrorObject;\n}\n\nclass AsyncApiComponent extends Component<AsyncApiProps, AsyncAPIState> {\n state: AsyncAPIState = {\n asyncapi: undefined,\n error: undefined,\n };\n\n async componentDidMount() {\n if (this.props.schema) {\n const { schema, config } = this.props;\n await this.parseSchema(schema, config?.parserOptions);\n }\n }\n\n async componentDidUpdate(prevProps: AsyncApiProps) {\n const oldSchema = prevProps.schema;\n const newSchema = this.props.schema;\n\n if (oldSchema !== newSchema) {\n const { config } = this.props;\n await this.parseSchema(newSchema, config?.parserOptions);\n }\n }\n\n render() {\n const { schema, config, plugins, onPluginEvent, onPluginManagerReady } =\n this.props;\n const { asyncapi, error } = this.state;\n\n return (\n <AsyncApiStandalone\n schema={asyncapi ?? schema}\n config={config}\n error={error}\n plugins={plugins}\n onPluginEvent={onPluginEvent}\n onPluginManagerReady={onPluginManagerReady}\n />\n );\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n private async parseSchema(schema: PropsSchema, parserOptions?: any) {\n const parsedSpec = SpecificationHelpers.retrieveParsedSpec(schema);\n if (parsedSpec) {\n this.setState({\n asyncapi: parsedSpec,\n });\n return;\n }\n\n if (isFetchingSchemaInterface(schema)) {\n const parsedFromUrl = await Parser.parseFromUrl(schema, parserOptions);\n this.setState({\n asyncapi: parsedFromUrl.asyncapi,\n error: parsedFromUrl.error,\n });\n return;\n }\n\n const parsed = await Parser.parse(schema, parserOptions);\n this.setState({\n asyncapi: parsed.asyncapi,\n error: parsed.error,\n });\n }\n}\n\nexport default AsyncApiComponent;\n"]}
|
|
@@ -36,9 +36,10 @@ var Messages_1 = require("../Messages/Messages");
|
|
|
36
36
|
var Schemas_1 = require("../Schemas/Schemas");
|
|
37
37
|
var contexts_1 = require("../../contexts");
|
|
38
38
|
var ErrorBoundary_1 = __importDefault(require("../ApplicationErrorHandler/ErrorBoundary"));
|
|
39
|
+
var usePlugin_1 = require("../../contexts/usePlugin");
|
|
39
40
|
var AsyncApiLayout = function (_a) {
|
|
40
41
|
var _b, _c;
|
|
41
|
-
var asyncapi = _a.asyncapi, config = _a.config;
|
|
42
|
+
var asyncapi = _a.asyncapi, config = _a.config, pluginManager = _a.pluginManager;
|
|
42
43
|
var _d = (0, react_1.useState)('container:xl'), observerClassName = _d[0], setObserverClassName = _d[1];
|
|
43
44
|
var ref = (0, use_resize_observer_1.default)({
|
|
44
45
|
onResize: function (_a) {
|
|
@@ -57,18 +58,19 @@ var AsyncApiLayout = function (_a) {
|
|
|
57
58
|
var configShow = (_b = config.show) !== null && _b !== void 0 ? _b : {};
|
|
58
59
|
return (react_1.default.createElement(contexts_1.ConfigContext.Provider, { value: config },
|
|
59
60
|
react_1.default.createElement(contexts_1.SpecificationContext.Provider, { value: asyncapi },
|
|
60
|
-
react_1.default.createElement(
|
|
61
|
-
react_1.default.createElement(
|
|
62
|
-
react_1.default.createElement(
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
react_1.default.createElement("div", { className: "relative
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
61
|
+
react_1.default.createElement(usePlugin_1.PluginContext.Provider, { value: pluginManager },
|
|
62
|
+
react_1.default.createElement("section", { className: "aui-root" },
|
|
63
|
+
react_1.default.createElement(ErrorBoundary_1.default, null,
|
|
64
|
+
react_1.default.createElement("div", { className: "".concat(observerClassName, " relative md:flex bg-white leading-normal"), id: (_c = config.schemaID) !== null && _c !== void 0 ? _c : undefined, ref: ref },
|
|
65
|
+
configShow.sidebar && react_1.default.createElement(Sidebar_1.Sidebar, null),
|
|
66
|
+
react_1.default.createElement("div", { className: "panel--center relative py-8 flex-1" },
|
|
67
|
+
react_1.default.createElement("div", { className: "relative z-10" },
|
|
68
|
+
configShow.info && react_1.default.createElement(Info_1.Info, null),
|
|
69
|
+
configShow.servers && react_1.default.createElement(Servers_1.Servers, null),
|
|
70
|
+
configShow.operations && react_1.default.createElement(Operations_1.Operations, null),
|
|
71
|
+
configShow.messages && react_1.default.createElement(Messages_1.Messages, null),
|
|
72
|
+
configShow.schemas && react_1.default.createElement(Schemas_1.Schemas, null)),
|
|
73
|
+
react_1.default.createElement("div", { className: "panel--right absolute top-0 right-0 h-full bg-gray-800" })))))))));
|
|
72
74
|
};
|
|
73
75
|
exports.default = AsyncApiLayout;
|
|
74
76
|
//# sourceMappingURL=Layout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Layout.js","sourceRoot":"","sources":["../../../../src/containers/AsyncApi/Layout.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAwC;AAExC,4EAAoD;AAEpD,8CAA6C;AAC7C,qCAAoC;AACpC,8CAA6C;AAC7C,uDAAsD;AACtD,iDAAgD;AAChD,8CAA6C;AAG7C,2CAAqE;AACrE,2FAA6E;
|
|
1
|
+
{"version":3,"file":"Layout.js","sourceRoot":"","sources":["../../../../src/containers/AsyncApi/Layout.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAwC;AAExC,4EAAoD;AAEpD,8CAA6C;AAC7C,qCAAoC;AACpC,8CAA6C;AAC7C,uDAAsD;AACtD,iDAAgD;AAChD,8CAA6C;AAG7C,2CAAqE;AACrE,2FAA6E;AAE7E,sDAAyD;AAQzD,IAAM,cAAc,GAAmC,UAAC,EAIvD;;QAHC,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,aAAa,mBAAA;IAEP,IAAA,KAA4C,IAAA,gBAAQ,EAAC,cAAc,CAAC,EAAnE,iBAAiB,QAAA,EAAE,oBAAoB,QAA4B,CAAC;IAEnE,IAAA,GAAG,GAAK,IAAA,6BAAiB,EAAiB;QAChD,QAAQ,EAAE,UAAC,EAAS;gBAAP,KAAK,WAAA;YAChB,qBAAqB,CAAC;gBACpB,IAAI,KAAK,KAAK,SAAS,EAAE;oBACvB,OAAO;iBACR;gBAED,IAAM,iBAAiB,GACrB,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC;gBACpD,IAAI,iBAAiB,KAAK,iBAAiB,EAAE;oBAC3C,oBAAoB,CAAC,iBAAiB,CAAC,CAAC;iBACzC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC,IAdS,CAcR;IAEH,IAAM,UAAU,GAAG,MAAA,MAAM,CAAC,IAAI,mCAAI,EAAE,CAAC;IACrC,OAAO,CACL,8BAAC,wBAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,MAAM;QACnC,8BAAC,+BAAoB,CAAC,QAAQ,IAAC,KAAK,EAAE,QAAQ;YAC5C,8BAAC,yBAAa,CAAC,QAAQ,IAAC,KAAK,EAAE,aAAa;gBAC1C,2CAAS,SAAS,EAAC,UAAU;oBAC3B,8BAAC,uBAAqB;wBACpB,uCACE,SAAS,EAAE,UAAG,iBAAiB,8CAA2C,EAC1E,EAAE,EAAE,MAAA,MAAM,CAAC,QAAQ,mCAAI,SAAS,EAChC,GAAG,EAAE,GAAG;4BAEP,UAAU,CAAC,OAAO,IAAI,8BAAC,iBAAO,OAAG;4BAClC,uCAAK,SAAS,EAAC,oCAAoC;gCACjD,uCAAK,SAAS,EAAC,eAAe;oCAC3B,UAAU,CAAC,IAAI,IAAI,8BAAC,WAAI,OAAG;oCAC3B,UAAU,CAAC,OAAO,IAAI,8BAAC,iBAAO,OAAG;oCACjC,UAAU,CAAC,UAAU,IAAI,8BAAC,uBAAU,OAAG;oCACvC,UAAU,CAAC,QAAQ,IAAI,8BAAC,mBAAQ,OAAG;oCACnC,UAAU,CAAC,OAAO,IAAI,8BAAC,iBAAO,OAAG,CAC9B;gCACN,uCAAK,SAAS,EAAC,wDAAwD,GAAG,CACtE,CACF,CACgB,CAChB,CACa,CACK,CACT,CAC1B,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,cAAc,CAAC","sourcesContent":["import React, { useState } from 'react';\nimport { AsyncAPIDocumentInterface } from '@asyncapi/parser';\nimport useResizeObserver from 'use-resize-observer';\n\nimport { Sidebar } from '../Sidebar/Sidebar';\nimport { Info } from '../Info/Info';\nimport { Servers } from '../Servers/Servers';\nimport { Operations } from '../Operations/Operations';\nimport { Messages } from '../Messages/Messages';\nimport { Schemas } from '../Schemas/Schemas';\n\nimport { ConfigInterface } from '../../config';\nimport { SpecificationContext, ConfigContext } from '../../contexts';\nimport AsyncApiErrorBoundary from '../ApplicationErrorHandler/ErrorBoundary';\nimport { PluginManager } from '../../helpers/pluginManager';\nimport { PluginContext } from '../../contexts/usePlugin';\n\ninterface Props {\n asyncapi: AsyncAPIDocumentInterface;\n config: ConfigInterface;\n pluginManager?: PluginManager;\n}\n\nconst AsyncApiLayout: React.FunctionComponent<Props> = ({\n asyncapi,\n config,\n pluginManager,\n}) => {\n const [observerClassName, setObserverClassName] = useState('container:xl');\n\n const { ref } = useResizeObserver<HTMLDivElement>({\n onResize: ({ width }) => {\n requestAnimationFrame(() => {\n if (width === undefined) {\n return;\n }\n\n const possibleClassName =\n width <= 1536 ? 'container:xl' : 'container:base';\n if (possibleClassName !== observerClassName) {\n setObserverClassName(possibleClassName);\n }\n });\n },\n });\n\n const configShow = config.show ?? {};\n return (\n <ConfigContext.Provider value={config}>\n <SpecificationContext.Provider value={asyncapi}>\n <PluginContext.Provider value={pluginManager}>\n <section className=\"aui-root\">\n <AsyncApiErrorBoundary>\n <div\n className={`${observerClassName} relative md:flex bg-white leading-normal`}\n id={config.schemaID ?? undefined}\n ref={ref}\n >\n {configShow.sidebar && <Sidebar />}\n <div className=\"panel--center relative py-8 flex-1\">\n <div className=\"relative z-10\">\n {configShow.info && <Info />}\n {configShow.servers && <Servers />}\n {configShow.operations && <Operations />}\n {configShow.messages && <Messages />}\n {configShow.schemas && <Schemas />}\n </div>\n <div className=\"panel--right absolute top-0 right-0 h-full bg-gray-800\" />\n </div>\n </div>\n </AsyncApiErrorBoundary>\n </section>\n </PluginContext.Provider>\n </SpecificationContext.Provider>\n </ConfigContext.Provider>\n );\n};\n\nexport default AsyncApiLayout;\n"]}
|
|
@@ -57,13 +57,20 @@ var helpers_1 = require("../../helpers");
|
|
|
57
57
|
var config_1 = require("../../config");
|
|
58
58
|
var Layout_1 = __importDefault(require("./Layout"));
|
|
59
59
|
var Error_1 = require("../Error/Error");
|
|
60
|
+
var pluginManager_1 = require("../../helpers/pluginManager");
|
|
61
|
+
var constants_1 = require("../../constants");
|
|
60
62
|
var AsyncApiComponent = (function (_super) {
|
|
61
63
|
__extends(AsyncApiComponent, _super);
|
|
62
64
|
function AsyncApiComponent(props) {
|
|
63
65
|
var _this = _super.call(this, props) || this;
|
|
66
|
+
_this.registeredPlugins = new Set();
|
|
67
|
+
_this.propsPlugins = new Set();
|
|
64
68
|
_this.state = {
|
|
65
69
|
asyncapi: undefined,
|
|
66
70
|
error: undefined,
|
|
71
|
+
pm: new pluginManager_1.PluginManager({
|
|
72
|
+
schema: {},
|
|
73
|
+
}),
|
|
67
74
|
};
|
|
68
75
|
var parsedSpec = helpers_1.SpecificationHelpers.retrieveParsedSpec(props.schema);
|
|
69
76
|
if (parsedSpec) {
|
|
@@ -75,18 +82,31 @@ var AsyncApiComponent = (function (_super) {
|
|
|
75
82
|
if (!this.state.asyncapi) {
|
|
76
83
|
this.updateState(this.props.schema);
|
|
77
84
|
}
|
|
85
|
+
if (this.props.onPluginManagerReady) {
|
|
86
|
+
this.props.onPluginManagerReady(this.state.pm);
|
|
87
|
+
}
|
|
88
|
+
this.setupEventListeners();
|
|
89
|
+
this.registerPlugins();
|
|
78
90
|
};
|
|
79
91
|
AsyncApiComponent.prototype.componentDidUpdate = function (prevProps) {
|
|
92
|
+
var _a = this.props, schema = _a.schema, plugins = _a.plugins, onPluginEvent = _a.onPluginEvent;
|
|
80
93
|
var oldSchema = prevProps.schema;
|
|
81
|
-
var newSchema =
|
|
94
|
+
var newSchema = schema;
|
|
82
95
|
if (oldSchema !== newSchema) {
|
|
83
96
|
this.updateState(newSchema);
|
|
84
97
|
}
|
|
98
|
+
if (onPluginEvent !== prevProps.onPluginEvent) {
|
|
99
|
+
this.cleanupEventListeners();
|
|
100
|
+
this.setupEventListeners();
|
|
101
|
+
}
|
|
102
|
+
if (plugins !== prevProps.plugins) {
|
|
103
|
+
this.updatePlugins(prevProps.plugins, plugins);
|
|
104
|
+
}
|
|
85
105
|
};
|
|
86
106
|
AsyncApiComponent.prototype.render = function () {
|
|
87
107
|
var _a;
|
|
88
108
|
var _b = this.props, config = _b.config, propError = _b.error;
|
|
89
|
-
var _c = this.state, asyncapi = _c.asyncapi, stateError = _c.error;
|
|
109
|
+
var _c = this.state, asyncapi = _c.asyncapi, stateError = _c.error, pm = _c.pm;
|
|
90
110
|
var error = propError !== null && propError !== void 0 ? propError : stateError;
|
|
91
111
|
var concatenatedConfig = __assign(__assign(__assign({}, config_1.defaultConfig), config), { show: __assign(__assign({}, config_1.defaultConfig.show), (!!config && config.show)), expand: __assign(__assign({}, config_1.defaultConfig.expand), (!!config && config.expand)), sidebar: __assign(__assign({}, config_1.defaultConfig.sidebar), (!!config && config.sidebar)), extensions: __assign(__assign({}, config_1.defaultConfig.extensions), (!!config && config.extensions)) });
|
|
92
112
|
if (!asyncapi) {
|
|
@@ -96,15 +116,91 @@ var AsyncApiComponent = (function (_super) {
|
|
|
96
116
|
return (((_a = concatenatedConfig.show) === null || _a === void 0 ? void 0 : _a.errors) && (react_1.default.createElement("section", { className: "aui-root" },
|
|
97
117
|
react_1.default.createElement(Error_1.Error, { error: error }))));
|
|
98
118
|
}
|
|
99
|
-
return react_1.default.createElement(Layout_1.default, { asyncapi: asyncapi, config: concatenatedConfig });
|
|
119
|
+
return (react_1.default.createElement(Layout_1.default, { asyncapi: asyncapi, config: concatenatedConfig, pluginManager: pm }));
|
|
120
|
+
};
|
|
121
|
+
AsyncApiComponent.prototype.handler = function (eventName) {
|
|
122
|
+
var _this = this;
|
|
123
|
+
return function (data) {
|
|
124
|
+
_this.props.onPluginEvent(eventName, data);
|
|
125
|
+
};
|
|
126
|
+
};
|
|
127
|
+
AsyncApiComponent.prototype.setupEventListeners = function () {
|
|
128
|
+
var _this = this;
|
|
129
|
+
var onPluginEvent = this.props.onPluginEvent;
|
|
130
|
+
var pm = this.state.pm;
|
|
131
|
+
if (!onPluginEvent)
|
|
132
|
+
return;
|
|
133
|
+
constants_1.PLUGINEVENTS.forEach(function (event) {
|
|
134
|
+
pm === null || pm === void 0 ? void 0 : pm.on(event, _this.handler(event));
|
|
135
|
+
});
|
|
136
|
+
};
|
|
137
|
+
AsyncApiComponent.prototype.cleanupEventListeners = function () {
|
|
138
|
+
var _this = this;
|
|
139
|
+
var pm = this.state.pm;
|
|
140
|
+
constants_1.PLUGINEVENTS.forEach(function (event) {
|
|
141
|
+
pm === null || pm === void 0 ? void 0 : pm.off(event, _this.handler(event));
|
|
142
|
+
});
|
|
143
|
+
};
|
|
144
|
+
AsyncApiComponent.prototype.registerPlugins = function () {
|
|
145
|
+
var _this = this;
|
|
146
|
+
var plugins = this.props.plugins;
|
|
147
|
+
var pm = this.state.pm;
|
|
148
|
+
plugins === null || plugins === void 0 ? void 0 : plugins.forEach(function (plugin) {
|
|
149
|
+
try {
|
|
150
|
+
pm === null || pm === void 0 ? void 0 : pm.register(plugin);
|
|
151
|
+
_this.registeredPlugins.add(plugin.name);
|
|
152
|
+
_this.propsPlugins.add(plugin.name);
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
console.error("Failed to register plugin ".concat(plugin.name, ":"), error);
|
|
156
|
+
pm === null || pm === void 0 ? void 0 : pm.emit(constants_1.PLUGINEVENTS[1], {
|
|
157
|
+
pluginName: plugin.name,
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
};
|
|
162
|
+
AsyncApiComponent.prototype.updatePlugins = function (prevPlugins, newPlugins) {
|
|
163
|
+
var _this = this;
|
|
164
|
+
var pm = this.state.pm;
|
|
165
|
+
var prevPluginMap = new Map((prevPlugins !== null && prevPlugins !== void 0 ? prevPlugins : []).map(function (p) { return [p.name, p]; }));
|
|
166
|
+
var newPluginMap = new Map((newPlugins !== null && newPlugins !== void 0 ? newPlugins : []).map(function (p) { return [p.name, p]; }));
|
|
167
|
+
prevPluginMap.forEach(function (_plugin, name) {
|
|
168
|
+
if (!newPluginMap.has(name) && _this.propsPlugins.has(name)) {
|
|
169
|
+
try {
|
|
170
|
+
pm === null || pm === void 0 ? void 0 : pm.unregister(name);
|
|
171
|
+
_this.registeredPlugins.delete(name);
|
|
172
|
+
_this.propsPlugins.delete(name);
|
|
173
|
+
}
|
|
174
|
+
catch (error) {
|
|
175
|
+
console.error("Failed to unregister plugin ".concat(name, ":"), error);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
});
|
|
179
|
+
newPluginMap.forEach(function (plugin, name) {
|
|
180
|
+
if (!prevPluginMap.has(name)) {
|
|
181
|
+
try {
|
|
182
|
+
pm === null || pm === void 0 ? void 0 : pm.register(plugin);
|
|
183
|
+
_this.registeredPlugins.add(name);
|
|
184
|
+
_this.propsPlugins.add(name);
|
|
185
|
+
}
|
|
186
|
+
catch (error) {
|
|
187
|
+
console.error("Failed to register plugin ".concat(name, ":"), error);
|
|
188
|
+
pm === null || pm === void 0 ? void 0 : pm.emit(constants_1.PLUGINEVENTS[1], {
|
|
189
|
+
pluginName: name,
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
});
|
|
100
194
|
};
|
|
101
195
|
AsyncApiComponent.prototype.updateState = function (schema) {
|
|
196
|
+
var _a;
|
|
102
197
|
var parsedSpec = helpers_1.SpecificationHelpers.retrieveParsedSpec(schema);
|
|
103
198
|
if (!parsedSpec) {
|
|
104
199
|
this.setState({ asyncapi: undefined });
|
|
105
200
|
return;
|
|
106
201
|
}
|
|
107
202
|
this.setState({ asyncapi: parsedSpec });
|
|
203
|
+
(_a = this.state.pm) === null || _a === void 0 ? void 0 : _a.updateContext({ schema: parsedSpec });
|
|
108
204
|
};
|
|
109
205
|
return AsyncApiComponent;
|
|
110
206
|
}(react_1.Component));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Standalone.js","sourceRoot":"","sources":["../../../../src/containers/AsyncApi/Standalone.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport { AsyncAPIDocumentInterface } from '@asyncapi/parser';\n\nimport { SpecificationHelpers } from '../../helpers';\nimport { ErrorObject, PropsSchema } from '../../types';\nimport { ConfigInterface, defaultConfig } from '../../config';\n\nimport AsyncApiLayout from './Layout';\nimport { Error } from '../Error/Error';\n\nexport interface AsyncApiProps {\n schema: PropsSchema;\n config?: Partial<ConfigInterface>;\n error?: ErrorObject;\n}\n\ninterface AsyncAPIState {\n asyncapi?: AsyncAPIDocumentInterface;\n error?: ErrorObject;\n}\n\nclass AsyncApiComponent extends Component<AsyncApiProps, AsyncAPIState> {\n state: AsyncAPIState = {\n asyncapi: undefined,\n error: undefined,\n };\n\n constructor(props: AsyncApiProps) {\n super(props);\n\n const parsedSpec = SpecificationHelpers.retrieveParsedSpec(props.schema);\n if (parsedSpec) {\n this.state = { asyncapi: parsedSpec };\n }\n }\n\n componentDidMount() {\n if (!this.state.asyncapi) {\n this.updateState(this.props.schema);\n }\n }\n\n componentDidUpdate(prevProps: AsyncApiProps) {\n const oldSchema = prevProps.schema;\n const newSchema = this.props.schema;\n\n if (oldSchema !== newSchema) {\n this.updateState(newSchema);\n }\n }\n\n render() {\n const { config, error: propError } = this.props;\n const { asyncapi, error: stateError } = this.state;\n\n const error = propError ?? stateError;\n const concatenatedConfig: ConfigInterface = {\n ...defaultConfig,\n ...config,\n show: {\n ...defaultConfig.show,\n ...(!!config && config.show),\n },\n expand: {\n ...defaultConfig.expand,\n ...(!!config && config.expand),\n },\n sidebar: {\n ...defaultConfig.sidebar,\n ...(!!config && config.sidebar),\n },\n extensions: {\n ...defaultConfig.extensions,\n ...(!!config && config.extensions),\n },\n };\n\n if (!asyncapi) {\n if (!error) {\n return null;\n }\n return (\n concatenatedConfig.show?.errors && (\n <section className=\"aui-root\">\n <Error error={error} />\n </section>\n )\n );\n }\n\n return <AsyncApiLayout asyncapi={asyncapi} config={concatenatedConfig} />;\n }\n\n private updateState(schema: PropsSchema) {\n const parsedSpec = SpecificationHelpers.retrieveParsedSpec(schema);\n if (!parsedSpec) {\n this.setState({ asyncapi: undefined });\n return;\n }\n this.setState({ asyncapi: parsedSpec });\n }\n}\n\nexport default AsyncApiComponent;\n"]}
|
|
1
|
+
{"version":3,"file":"Standalone.js","sourceRoot":"","sources":["../../../../src/containers/AsyncApi/Standalone.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAAyC;AAGzC,yCAAqD;AAErD,uCAA8D;AAE9D,oDAAsC;AACtC,wCAAuC;AACvC,6DAA4D;AAC5D,6CAA+C;AAiB/C;IAAgC,qCAAuC;IAYrE,2BAAY,KAAoB;QAAhC,YACE,kBAAM,KAAK,CAAC,SAMb;QAlBgB,uBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,kBAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QAElD,WAAK,GAAkB;YACrB,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,SAAS;YAChB,EAAE,EAAE,IAAI,6BAAa,CAAC;gBACpB,MAAM,EAAE,EAAE;aACX,CAAC;SACH,CAAC;QAKA,IAAM,UAAU,GAAG,8BAAoB,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzE,IAAI,UAAU,EAAE;YACd,KAAI,CAAC,KAAK,GAAG,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;SACvC;;IACH,CAAC;IAED,6CAAiB,GAAjB;QACE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;SACrC;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,oBAAoB,EAAE;YACnC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAG,CAAC,CAAC;SACjD;QACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAED,8CAAkB,GAAlB,UAAmB,SAAwB;QACnC,IAAA,KAAqC,IAAI,CAAC,KAAK,EAA7C,MAAM,YAAA,EAAE,OAAO,aAAA,EAAE,aAAa,mBAAe,CAAC;QACtD,IAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;QACnC,IAAM,SAAS,GAAG,MAAM,CAAC;QAEzB,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;SAC7B;QAED,IAAI,aAAa,KAAK,SAAS,CAAC,aAAa,EAAE;YAC7C,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC7B,IAAI,CAAC,mBAAmB,EAAE,CAAC;SAC5B;QAED,IAAI,OAAO,KAAK,SAAS,CAAC,OAAO,EAAE;YACjC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;SAChD;IACH,CAAC;IAED,kCAAM,GAAN;;QACQ,IAAA,KAA+B,IAAI,CAAC,KAAK,EAAvC,MAAM,YAAA,EAAS,SAAS,WAAe,CAAC;QAC1C,IAAA,KAAsC,IAAI,CAAC,KAAK,EAA9C,QAAQ,cAAA,EAAS,UAAU,WAAA,EAAE,EAAE,QAAe,CAAC;QAEvD,IAAM,KAAK,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,UAAU,CAAC;QACtC,IAAM,kBAAkB,kCACnB,sBAAa,GACb,MAAM,KACT,IAAI,wBACC,sBAAa,CAAC,IAAI,GAClB,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,GAE9B,MAAM,wBACD,sBAAa,CAAC,MAAM,GACpB,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,GAEhC,OAAO,wBACF,sBAAa,CAAC,OAAO,GACrB,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,OAAO,CAAC,GAEjC,UAAU,wBACL,sBAAa,CAAC,UAAU,GACxB,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,UAAU,CAAC,IAErC,CAAC;QAEF,IAAI,CAAC,QAAQ,EAAE;YACb,IAAI,CAAC,KAAK,EAAE;gBACV,OAAO,IAAI,CAAC;aACb;YACD,OAAO,CACL,CAAA,MAAA,kBAAkB,CAAC,IAAI,0CAAE,MAAM,KAAI,CACjC,2CAAS,SAAS,EAAC,UAAU;gBAC3B,8BAAC,aAAK,IAAC,KAAK,EAAE,KAAK,GAAI,CACf,CACX,CACF,CAAC;SACH;QAED,OAAO,CACL,8BAAC,gBAAc,IACb,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,kBAAkB,EAC1B,aAAa,EAAE,EAAE,GACjB,CACH,CAAC;IACJ,CAAC;IAEO,mCAAO,GAAf,UAAgB,SAAiB;QAAjC,iBAIC;QAHC,OAAO,UAAC,IAAa;YACnB,KAAI,CAAC,KAAK,CAAC,aAAc,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC;IACJ,CAAC;IACO,+CAAmB,GAA3B;QAAA,iBASC;QARS,IAAA,aAAa,GAAK,IAAI,CAAC,KAAK,cAAf,CAAgB;QAC7B,IAAA,EAAE,GAAK,IAAI,CAAC,KAAK,GAAf,CAAgB;QAE1B,IAAI,CAAC,aAAa;YAAE,OAAO;QAE3B,wBAAY,CAAC,OAAO,CAAC,UAAC,KAAK;YACzB,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,EAAE,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,iDAAqB,GAA7B;QAAA,iBAKC;QAJS,IAAA,EAAE,GAAK,IAAI,CAAC,KAAK,GAAf,CAAgB;QAC1B,wBAAY,CAAC,OAAO,CAAC,UAAC,KAAK;YACzB,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,GAAG,CAAC,KAAK,EAAE,KAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,2CAAe,GAAvB;QAAA,iBAgBC;QAfS,IAAA,OAAO,GAAK,IAAI,CAAC,KAAK,QAAf,CAAgB;QACvB,IAAA,EAAE,GAAK,IAAI,CAAC,KAAK,GAAf,CAAgB;QAE1B,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,CAAC,UAAC,MAAM;YACtB,IAAI;gBACF,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACrB,KAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACxC,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aACpC;YAAC,OAAO,KAAK,EAAE;gBACd,OAAO,CAAC,KAAK,CAAC,oCAA6B,MAAM,CAAC,IAAI,MAAG,EAAE,KAAK,CAAC,CAAC;gBAClE,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI,CAAC,wBAAY,CAAC,CAAC,CAAC,EAAE;oBACxB,UAAU,EAAE,MAAM,CAAC,IAAI;iBACxB,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,yCAAa,GAArB,UACE,WAAyC,EACzC,UAAwC;QAF1C,iBAmCC;QA/BS,IAAA,EAAE,GAAK,IAAI,CAAC,KAAK,GAAf,CAAgB;QAE1B,IAAM,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAX,CAAW,CAAC,CAAC,CAAC;QAC3E,IAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAX,CAAW,CAAC,CAAC,CAAC;QAEzE,aAAa,CAAC,OAAO,CAAC,UAAC,OAAO,EAAE,IAAI;YAClC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC1D,IAAI;oBACF,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,UAAU,CAAC,IAAI,CAAC,CAAC;oBACrB,KAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;oBACpC,KAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChC;gBAAC,OAAO,KAAK,EAAE;oBACd,OAAO,CAAC,KAAK,CAAC,sCAA+B,IAAI,MAAG,EAAE,KAAK,CAAC,CAAC;iBAC9D;aACF;QACH,CAAC,CAAC,CAAC;QAEH,YAAY,CAAC,OAAO,CAAC,UAAC,MAAM,EAAE,IAAI;YAChC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBAC5B,IAAI;oBACF,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACrB,KAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACjC,KAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBAC7B;gBAAC,OAAO,KAAK,EAAE;oBACd,OAAO,CAAC,KAAK,CAAC,oCAA6B,IAAI,MAAG,EAAE,KAAK,CAAC,CAAC;oBAC3D,EAAE,aAAF,EAAE,uBAAF,EAAE,CAAE,IAAI,CAAC,wBAAY,CAAC,CAAC,CAAC,EAAE;wBACxB,UAAU,EAAE,IAAI;qBACjB,CAAC,CAAC;iBACJ;aACF;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,uCAAW,GAAnB,UAAoB,MAAmB;;QACrC,IAAM,UAAU,GAAG,8BAAoB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACnE,IAAI,CAAC,UAAU,EAAE;YACf,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;YACvC,OAAO;SACR;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QACxC,MAAA,IAAI,CAAC,KAAK,CAAC,EAAE,0CAAE,aAAa,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;IACvD,CAAC;IACH,wBAAC;AAAD,CAAC,AA3LD,CAAgC,iBAAS,GA2LxC;AAED,kBAAe,iBAAiB,CAAC","sourcesContent":["import React, { Component } from 'react';\nimport { AsyncAPIDocumentInterface } from '@asyncapi/parser';\n\nimport { SpecificationHelpers } from '../../helpers';\nimport { AsyncApiPlugin, ErrorObject, PropsSchema } from '../../types';\nimport { ConfigInterface, defaultConfig } from '../../config';\n\nimport AsyncApiLayout from './Layout';\nimport { Error } from '../Error/Error';\nimport { PluginManager } from '../../helpers/pluginManager';\nimport { PLUGINEVENTS } from '../../constants';\n\nexport interface AsyncApiProps {\n schema: PropsSchema;\n config?: Partial<ConfigInterface>;\n plugins?: AsyncApiPlugin[];\n onPluginEvent?: (eventName: string, data: unknown) => void;\n onPluginManagerReady?: (pluginManager: PluginManager) => void;\n error?: ErrorObject;\n}\n\ninterface AsyncAPIState {\n asyncapi?: AsyncAPIDocumentInterface;\n error?: ErrorObject;\n pm?: PluginManager;\n}\n\nclass AsyncApiComponent extends Component<AsyncApiProps, AsyncAPIState> {\n private readonly registeredPlugins = new Set<string>();\n private readonly propsPlugins = new Set<string>();\n\n state: AsyncAPIState = {\n asyncapi: undefined,\n error: undefined,\n pm: new PluginManager({\n schema: {},\n }),\n };\n\n constructor(props: AsyncApiProps) {\n super(props);\n\n const parsedSpec = SpecificationHelpers.retrieveParsedSpec(props.schema);\n if (parsedSpec) {\n this.state = { asyncapi: parsedSpec };\n }\n }\n\n componentDidMount() {\n if (!this.state.asyncapi) {\n this.updateState(this.props.schema);\n }\n if (this.props.onPluginManagerReady) {\n this.props.onPluginManagerReady(this.state.pm!);\n }\n this.setupEventListeners();\n\n this.registerPlugins();\n }\n\n componentDidUpdate(prevProps: AsyncApiProps) {\n const { schema, plugins, onPluginEvent } = this.props;\n const oldSchema = prevProps.schema;\n const newSchema = schema;\n\n if (oldSchema !== newSchema) {\n this.updateState(newSchema);\n }\n\n if (onPluginEvent !== prevProps.onPluginEvent) {\n this.cleanupEventListeners();\n this.setupEventListeners();\n }\n\n if (plugins !== prevProps.plugins) {\n this.updatePlugins(prevProps.plugins, plugins);\n }\n }\n\n render() {\n const { config, error: propError } = this.props;\n const { asyncapi, error: stateError, pm } = this.state;\n\n const error = propError ?? stateError;\n const concatenatedConfig: ConfigInterface = {\n ...defaultConfig,\n ...config,\n show: {\n ...defaultConfig.show,\n ...(!!config && config.show),\n },\n expand: {\n ...defaultConfig.expand,\n ...(!!config && config.expand),\n },\n sidebar: {\n ...defaultConfig.sidebar,\n ...(!!config && config.sidebar),\n },\n extensions: {\n ...defaultConfig.extensions,\n ...(!!config && config.extensions),\n },\n };\n\n if (!asyncapi) {\n if (!error) {\n return null;\n }\n return (\n concatenatedConfig.show?.errors && (\n <section className=\"aui-root\">\n <Error error={error} />\n </section>\n )\n );\n }\n\n return (\n <AsyncApiLayout\n asyncapi={asyncapi}\n config={concatenatedConfig}\n pluginManager={pm}\n />\n );\n }\n\n private handler(eventName: string) {\n return (data: unknown) => {\n this.props.onPluginEvent!(eventName, data);\n };\n }\n private setupEventListeners() {\n const { onPluginEvent } = this.props;\n const { pm } = this.state;\n\n if (!onPluginEvent) return;\n\n PLUGINEVENTS.forEach((event) => {\n pm?.on(event, this.handler(event));\n });\n }\n\n private cleanupEventListeners() {\n const { pm } = this.state;\n PLUGINEVENTS.forEach((event) => {\n pm?.off(event, this.handler(event));\n });\n }\n\n private registerPlugins() {\n const { plugins } = this.props;\n const { pm } = this.state;\n\n plugins?.forEach((plugin) => {\n try {\n pm?.register(plugin);\n this.registeredPlugins.add(plugin.name);\n this.propsPlugins.add(plugin.name); // Track as props-managed\n } catch (error) {\n console.error(`Failed to register plugin ${plugin.name}:`, error);\n pm?.emit(PLUGINEVENTS[1], {\n pluginName: plugin.name,\n });\n }\n });\n }\n\n private updatePlugins(\n prevPlugins: AsyncApiPlugin[] | undefined,\n newPlugins: AsyncApiPlugin[] | undefined,\n ) {\n const { pm } = this.state;\n\n const prevPluginMap = new Map((prevPlugins ?? []).map((p) => [p.name, p]));\n const newPluginMap = new Map((newPlugins ?? []).map((p) => [p.name, p]));\n\n prevPluginMap.forEach((_plugin, name) => {\n if (!newPluginMap.has(name) && this.propsPlugins.has(name)) {\n try {\n pm?.unregister(name);\n this.registeredPlugins.delete(name);\n this.propsPlugins.delete(name);\n } catch (error) {\n console.error(`Failed to unregister plugin ${name}:`, error);\n }\n }\n });\n\n newPluginMap.forEach((plugin, name) => {\n if (!prevPluginMap.has(name)) {\n try {\n pm?.register(plugin);\n this.registeredPlugins.add(name);\n this.propsPlugins.add(name);\n } catch (error) {\n console.error(`Failed to register plugin ${name}:`, error);\n pm?.emit(PLUGINEVENTS[1], {\n pluginName: name,\n });\n }\n }\n });\n }\n\n private updateState(schema: PropsSchema) {\n const parsedSpec = SpecificationHelpers.retrieveParsedSpec(schema);\n if (!parsedSpec) {\n this.setState({ asyncapi: undefined });\n return;\n }\n this.setState({ asyncapi: parsedSpec });\n this.state.pm?.updateContext({ schema: parsedSpec });\n }\n}\n\nexport default AsyncApiComponent;\n"]}
|
|
@@ -8,9 +8,14 @@ var react_1 = __importDefault(require("react"));
|
|
|
8
8
|
var components_1 = require("../../components");
|
|
9
9
|
var contexts_1 = require("../../contexts");
|
|
10
10
|
var constants_1 = require("../../constants");
|
|
11
|
+
var pluginManager_1 = require("../../helpers/pluginManager");
|
|
12
|
+
var PluginSlotRenderer_1 = require("../../components/PluginSlotRenderer");
|
|
13
|
+
var usePlugin_1 = require("../../contexts/usePlugin");
|
|
14
|
+
var types_1 = require("../../types");
|
|
11
15
|
var Info = function () {
|
|
12
16
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
13
17
|
var asyncapi = (0, contexts_1.useSpec)();
|
|
18
|
+
var pluginManager = (0, usePlugin_1.usePlugin)();
|
|
14
19
|
var info = asyncapi.info();
|
|
15
20
|
if (!info) {
|
|
16
21
|
return null;
|
|
@@ -57,7 +62,10 @@ var Info = function () {
|
|
|
57
62
|
asyncapi.info().tags().length > 0 && (react_1.default.createElement("div", { className: "mt-4" },
|
|
58
63
|
react_1.default.createElement(components_1.Tags, { tags: asyncapi.info().tags() }))),
|
|
59
64
|
extensions.length > 0 && (react_1.default.createElement("div", { className: "mt-4" },
|
|
60
|
-
react_1.default.createElement(components_1.Extensions, { name: "Info Extensions", item: info })))
|
|
65
|
+
react_1.default.createElement(components_1.Extensions, { name: "Info Extensions", item: info }))),
|
|
66
|
+
pluginManager_1.PluginManager && (react_1.default.createElement(PluginSlotRenderer_1.SlotRenderer, { slot: types_1.PluginSlot.INFO, context: {
|
|
67
|
+
schema: info,
|
|
68
|
+
}, pluginManager: pluginManager }))),
|
|
61
69
|
react_1.default.createElement("div", { className: "panel-item--right" })));
|
|
62
70
|
};
|
|
63
71
|
exports.Info = Info;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Info.js","sourceRoot":"","sources":["../../../../src/containers/Info/Info.tsx"],"names":[],"mappings":";;;;;;AAAA,gDAA0B;AAE1B,+CAAoE;AACpE,2CAAyC;AACzC,6CAKyB;
|
|
1
|
+
{"version":3,"file":"Info.js","sourceRoot":"","sources":["../../../../src/containers/Info/Info.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport { Extensions, Href, Markdown, Tags } from '../../components';\nimport { useSpec } from '../../contexts';\nimport {\n TERMS_OF_SERVICE_TEXT,\n CONTENT_TYPES_SITE,\n URL_SUPPORT_TEXT,\n EXTERAL_DOCUMENTATION_TEXT,\n} from '../../constants';\nimport { PluginManager } from '../../helpers/pluginManager';\nimport { SlotRenderer } from '../../components/PluginSlotRenderer';\nimport { usePlugin } from '../../contexts/usePlugin';\nimport { PluginSlot } from '../../types';\n\nexport const Info: React.FunctionComponent = () => {\n const asyncapi = useSpec();\n const pluginManager = usePlugin();\n\n const info = asyncapi.info();\n if (!info) {\n return null;\n }\n\n const specId = asyncapi.info().id();\n const externalDocs = asyncapi.info().externalDocs();\n const license = info.license();\n const termsOfService = info.termsOfService();\n const defaultContentType = asyncapi.defaultContentType();\n const contact = info.contact();\n const extensions = info.extensions();\n\n const showInfoList =\n license ?? termsOfService ?? defaultContentType ?? contact ?? externalDocs;\n\n return (\n <div className=\"panel-item\">\n <div className=\"panel-item--center px-8 text-left\" id=\"introduction\">\n <div className=\"text-4xl\">\n {info.title()} {info.version()}\n </div>\n\n {showInfoList && (\n <ul className=\"flex flex-wrap mt-2 leading-normal\">\n {license && (\n <li className=\"inline-block mt-2 mr-2\">\n {license.url() ? (\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={license.url() ?? ''}\n >\n <span>{license.name()}</span>\n </Href>\n ) : (\n <strong className=\"border border-solid border-orange-300 hover:bg-orange-300 hover:text-orange-600 text-orange-500 no-underline text-xs uppercase rounded px-3 py-1\">\n {license.name()}\n </strong>\n )}\n </li>\n )}\n {termsOfService && (\n <li className=\"inline-block mt-2 mr-2\">\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={termsOfService}\n >\n <span>{TERMS_OF_SERVICE_TEXT}</span>\n </Href>\n </li>\n )}\n {defaultContentType && (\n <li className=\"inline-block mt-2 mr-2\">\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={`${CONTENT_TYPES_SITE}/${defaultContentType}`}\n >\n <span>{defaultContentType}</span>\n </Href>\n </li>\n )}\n {externalDocs && (\n <li className=\"inline-block mt-2 mr-2\">\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 title={externalDocs.description() ?? undefined}\n >\n <span>{EXTERAL_DOCUMENTATION_TEXT}</span>\n </Href>\n </li>\n )}\n {contact && (\n <>\n {contact.url() && (\n <li className=\"inline-block mt-2 mr-2\">\n <Href\n className=\"border border-solid border-purple-300 hover:bg-purple-300 hover:text-purple-600 text-purple-500 font-bold no-underline text-xs uppercase rounded px-3 py-1\"\n href={contact.url() ?? ''}\n >\n <span>{contact.name() ?? URL_SUPPORT_TEXT}</span>\n </Href>\n </li>\n )}\n {contact.email() && (\n <li className=\"inline-block mt-2 mr-2\">\n <Href\n className=\"border border-solid border-purple-300 hover:bg-purple-300 hover:text-purple-600 text-purple-500 font-bold no-underline text-xs uppercase rounded px-3 py-1\"\n href={`mailto:${contact.email()}`}\n >\n <span>{contact.email()}</span>\n </Href>\n </li>\n )}\n </>\n )}\n {specId && (\n <li className=\"inline-block mt-2 mr-2\">\n <strong className=\"border border-solid border-blue-300 hover:bg-blue-300 hover:text-blue-600 text-blue-500 no-underline text-xs uppercase rounded px-3 py-1\">\n ID: {specId}\n </strong>\n </li>\n )}\n </ul>\n )}\n\n {info.hasDescription() && (\n <div className=\"mt-4\">\n <Markdown>{info.description()}</Markdown>\n </div>\n )}\n\n {asyncapi.info().tags().length > 0 && (\n <div className=\"mt-4\">\n <Tags tags={asyncapi.info().tags()} />\n </div>\n )}\n\n {extensions.length > 0 && (\n <div className=\"mt-4\">\n <Extensions name=\"Info Extensions\" item={info} />\n </div>\n )}\n {PluginManager && (\n <SlotRenderer\n slot={PluginSlot.INFO}\n context={{\n schema: info,\n }}\n pluginManager={pluginManager}\n />\n )}\n </div>\n\n <div className=\"panel-item--right\" />\n </div>\n );\n};\n"]}
|
|
@@ -44,6 +44,9 @@ var contexts_1 = require("../../contexts");
|
|
|
44
44
|
var helpers_1 = require("../../helpers");
|
|
45
45
|
var constants_1 = require("../../constants");
|
|
46
46
|
var types_1 = require("../../types");
|
|
47
|
+
var pluginManager_1 = require("../../helpers/pluginManager");
|
|
48
|
+
var PluginSlotRenderer_1 = require("../../components/PluginSlotRenderer");
|
|
49
|
+
var usePlugin_1 = require("../../contexts/usePlugin");
|
|
47
50
|
var Operation = function (props) {
|
|
48
51
|
var _a = props.type, type = _a === void 0 ? types_1.PayloadType.SEND : _a, operation = props.operation, channelName = props.channelName, channel = props.channel;
|
|
49
52
|
var config = (0, contexts_1.useConfig)();
|
|
@@ -94,6 +97,7 @@ exports.Operation = Operation;
|
|
|
94
97
|
var OperationInfo = function (props) {
|
|
95
98
|
var _a = props.type, type = _a === void 0 ? types_1.PayloadType.SEND : _a, operation = props.operation, channelName = props.channelName, channel = props.channel;
|
|
96
99
|
var config = (0, contexts_1.useConfig)();
|
|
100
|
+
var pluginManager = (0, usePlugin_1.usePlugin)();
|
|
97
101
|
var operationSummary = operation.summary();
|
|
98
102
|
var externalDocs = operation.externalDocs();
|
|
99
103
|
var operationId = operation.id();
|
|
@@ -122,7 +126,10 @@ var OperationInfo = function (props) {
|
|
|
122
126
|
operationId && (react_1.default.createElement("div", { className: "border bg-gray-100 rounded px-4 py-2 mt-2" },
|
|
123
127
|
react_1.default.createElement("div", { className: "text-sm text-gray-700" },
|
|
124
128
|
"Operation ID",
|
|
125
|
-
react_1.default.createElement("span", { className: "bg-orange-600 text-white rounded text-xs ml-2 py-0 px-2" }, operationId))))
|
|
129
|
+
react_1.default.createElement("span", { className: "bg-orange-600 text-white rounded text-xs ml-2 py-0 px-2" }, operationId)))),
|
|
130
|
+
pluginManager_1.PluginManager && (react_1.default.createElement(PluginSlotRenderer_1.SlotRenderer, { slot: types_1.PluginSlot.OPERATION, context: {
|
|
131
|
+
schema: props,
|
|
132
|
+
}, pluginManager: pluginManager }))));
|
|
126
133
|
};
|
|
127
134
|
exports.OperationInfo = OperationInfo;
|
|
128
135
|
var OperationReplyInfo = function (props) {
|