@eventcatalog/core 1.2.7 → 2.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/.changeset/config.json +11 -0
- package/.github/CODEOWNERS +3 -0
- package/.github/ISSUE_TEMPLATE.md +1 -0
- package/.github/PULL_REQUEST_TEMPLATE.md +18 -0
- package/.github/funding.yml +1 -0
- package/.github/workflows/lint.yml +22 -0
- package/.github/workflows/release.yml +34 -0
- package/.github/workflows/verify-build.yml +27 -0
- package/.prettierignore +7 -0
- package/.prettierrc +10 -0
- package/CHANGELOG.md +10 -577
- package/LICENSE.md +21 -0
- package/README.md +192 -5
- package/astro.config.mjs +57 -0
- package/bin/dist/eventcatalog.cjs +3139 -0
- package/bin/dist/eventcatalog.d.cts +1 -0
- package/bin/dist/eventcatalog.d.ts +1 -0
- package/bin/dist/eventcatalog.js +3141 -0
- package/images/example.png +0 -0
- package/package.json +59 -52
- package/public/icons/github.svg +1 -0
- package/public/icons/x-twitter.svg +1 -0
- package/public/logo.png +0 -0
- package/public/slack-icon.svg +1 -0
- package/scripts/build-ci.js +22 -0
- package/scripts/catalog-to-astro-content-directory.js +188 -0
- package/scripts/default-files-for-collections/commands.md +8 -0
- package/scripts/default-files-for-collections/domains.md +8 -0
- package/scripts/default-files-for-collections/events.md +8 -0
- package/scripts/default-files-for-collections/services.md +8 -0
- package/scripts/default-files-for-collections/teams.md +11 -0
- package/scripts/default-files-for-collections/users.md +11 -0
- package/scripts/start-catalog-locally.js +23 -0
- package/scripts/watcher.js +53 -0
- package/src/components/DocsNavigation.astro +110 -0
- package/src/components/Header.astro +65 -0
- package/src/components/Lists/BasicList.tsx +59 -0
- package/src/components/Lists/OwnersList.tsx +101 -0
- package/src/components/Lists/PillList.tsx +67 -0
- package/src/components/Lists/VersionList.astro +29 -0
- package/src/components/MDX/Accordion/Accordion.astro +10 -0
- package/src/components/MDX/Accordion/Accordion.tsx +29 -0
- package/src/components/MDX/Accordion/AccordionGroup.astro +16 -0
- package/{components/Mdx → src/components/MDX}/Admonition.tsx +6 -5
- package/src/components/MDX/File.tsx +43 -0
- package/src/components/MDX/NodeGraph/DownloadButton.tsx +58 -0
- package/src/components/MDX/NodeGraph/NodeGraph.astro +82 -0
- package/src/components/MDX/NodeGraph/NodeGraph.tsx +135 -0
- package/src/components/MDX/NodeGraph/NodeGraphPortal.tsx +15 -0
- package/src/components/MDX/NodeGraph/Nodes/Command.tsx +74 -0
- package/src/components/MDX/NodeGraph/Nodes/Event.tsx +74 -0
- package/src/components/MDX/NodeGraph/Nodes/Service.tsx +83 -0
- package/src/components/MDX/OpenAPI/OpenAPI.tsx +35 -0
- package/src/components/MDX/Schema.tsx +45 -0
- package/src/components/MDX/components.tsx +24 -0
- package/src/components/Search.astro +108 -0
- package/src/components/Seo.astro +79 -0
- package/src/components/SideBars/DomainSideBar.astro +42 -0
- package/src/components/SideBars/MessageSideBar.astro +81 -0
- package/src/components/SideBars/ServiceSideBar.astro +93 -0
- package/src/components/Tables/DebouncedInput.tsx +32 -0
- package/src/components/Tables/Table.tsx +228 -0
- package/src/components/Tables/columns/DomainTableColumns.tsx +118 -0
- package/src/components/Tables/columns/MessageTableColumns.tsx +159 -0
- package/src/components/Tables/columns/ServiceTableColumns.tsx +162 -0
- package/src/components/Tables/columns/index.tsx +17 -0
- package/src/components/Tables/filters/custom-filters.ts +14 -0
- package/src/content/config.ts +119 -0
- package/src/env.d.ts +2 -0
- package/src/layouts/CustomDocsPageLayout.astro +100 -0
- package/src/layouts/DiscoverLayout.astro +120 -0
- package/src/layouts/DocsLayout.astro +59 -0
- package/src/layouts/PlainPage.astro +29 -0
- package/src/layouts/VisualiserLayout.astro +73 -0
- package/src/pages/discover/[type]/index.astro +36 -0
- package/src/pages/docs/[type]/[id]/[version]/index.astro +215 -0
- package/src/pages/docs/[type]/[id]/[version]/spec/index.astro +93 -0
- package/src/pages/docs/index.md +4 -0
- package/src/pages/docs/teams/[id]/index.astro +127 -0
- package/src/pages/docs/users/[id]/index.astro +132 -0
- package/src/pages/visualiser/[type]/[id]/[version]/index.astro +46 -0
- package/src/pages/visualiser/index.astro +25 -0
- package/src/remark-plugins/mermaid.ts +27 -0
- package/src/remark-plugins/remark-modified-time.mjs +9 -0
- package/src/types/index.ts +2 -0
- package/src/utils/collections/util.ts +22 -0
- package/src/utils/colors.ts +14 -0
- package/src/utils/commands/node-graph.ts +107 -0
- package/src/utils/commands.ts +60 -0
- package/src/utils/config/catalog.ts +2 -0
- package/src/utils/domains/domains.ts +50 -0
- package/src/utils/domains/node-graph.ts +60 -0
- package/src/utils/events/node-graph.ts +108 -0
- package/src/utils/events.ts +62 -0
- package/src/utils/example-remark-plugin.mjs +6 -0
- package/src/utils/messages.ts +7 -0
- package/src/utils/node-graph-utils/utils.ts +31 -0
- package/src/utils/services/node-graph.ts +133 -0
- package/src/utils/services/services.ts +88 -0
- package/src/utils/teams.ts +47 -0
- package/src/utils/users.ts +59 -0
- package/tailwind.config.mjs +24 -0
- package/tsconfig.json +11 -26
- package/.next/BUILD_ID +0 -1
- package/.next/build-manifest.json +0 -246
- package/.next/cache/.tsbuildinfo +0 -1
- package/.next/cache/config.json +0 -7
- package/.next/cache/eslint/.cache_1bay4w0 +0 -1
- package/.next/cache/next-server.js.nft.json +0 -1
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/export-detail.json +0 -1
- package/.next/export-marker.json +0 -1
- package/.next/images-manifest.json +0 -1
- package/.next/next-server.js.nft.json +0 -1
- package/.next/package.json +0 -1
- package/.next/prerender-manifest.json +0 -1
- package/.next/react-loadable-manifest.json +0 -2112
- package/.next/required-server-files.json +0 -1
- package/.next/routes-manifest.json +0 -1
- package/.next/server/chunks/109.js +0 -608
- package/.next/server/chunks/237.js +0 -109
- package/.next/server/chunks/267.js +0 -257
- package/.next/server/chunks/274.js +0 -32
- package/.next/server/chunks/29.js +0 -675
- package/.next/server/chunks/331.js +0 -750
- package/.next/server/chunks/362.js +0 -570
- package/.next/server/chunks/428.js +0 -84
- package/.next/server/chunks/50.js +0 -466
- package/.next/server/chunks/526.js +0 -159
- package/.next/server/chunks/537.js +0 -136
- package/.next/server/chunks/788.js +0 -162
- package/.next/server/chunks/797.js +0 -92
- package/.next/server/chunks/8.js +0 -173
- package/.next/server/chunks/854.js +0 -107
- package/.next/server/chunks/938.js +0 -140
- package/.next/server/chunks/944.js +0 -721
- package/.next/server/chunks/962.js +0 -13
- package/.next/server/chunks/97.js +0 -2829
- package/.next/server/chunks/992.js +0 -50
- package/.next/server/chunks/font-manifest.json +0 -1
- package/.next/server/font-manifest.json +0 -1
- package/.next/server/middleware-manifest.json +0 -6
- package/.next/server/pages/404.html +0 -12
- package/.next/server/pages/500.html +0 -12
- package/.next/server/pages/_app.js +0 -623
- package/.next/server/pages/_app.js.nft.json +0 -1
- package/.next/server/pages/_document.js +0 -120
- package/.next/server/pages/_document.js.nft.json +0 -1
- package/.next/server/pages/_error.js +0 -148
- package/.next/server/pages/_error.js.nft.json +0 -1
- package/.next/server/pages/domains/Orders/events/OrderComplete/logs.html +0 -1
- package/.next/server/pages/domains/Orders/events/OrderComplete/logs.json +0 -1
- package/.next/server/pages/domains/Orders/events/OrderComplete.html +0 -40
- package/.next/server/pages/domains/Orders/events/OrderComplete.json +0 -1
- package/.next/server/pages/domains/Orders/events/OrderConfirmed/logs.html +0 -1
- package/.next/server/pages/domains/Orders/events/OrderConfirmed/logs.json +0 -1
- package/.next/server/pages/domains/Orders/events/OrderConfirmed.html +0 -40
- package/.next/server/pages/domains/Orders/events/OrderConfirmed.json +0 -1
- package/.next/server/pages/domains/Orders/events/OrderCreated/logs.html +0 -1
- package/.next/server/pages/domains/Orders/events/OrderCreated/logs.json +0 -1
- package/.next/server/pages/domains/Orders/events/OrderCreated.html +0 -2
- package/.next/server/pages/domains/Orders/events/OrderCreated.json +0 -1
- package/.next/server/pages/domains/Orders/events/OrderRequested/logs.html +0 -1
- package/.next/server/pages/domains/Orders/events/OrderRequested/logs.json +0 -1
- package/.next/server/pages/domains/Orders/events/OrderRequested.html +0 -40
- package/.next/server/pages/domains/Orders/events/OrderRequested.json +0 -1
- package/.next/server/pages/domains/Orders/services/Orders Service.html +0 -2
- package/.next/server/pages/domains/Orders/services/Orders Service.json +0 -1
- package/.next/server/pages/domains/Orders.html +0 -2
- package/.next/server/pages/domains/Orders.json +0 -1
- package/.next/server/pages/domains/Shopping/events/AddedItemToCart/logs.html +0 -1
- package/.next/server/pages/domains/Shopping/events/AddedItemToCart/logs.json +0 -1
- package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.1.html +0 -59
- package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.1.json +0 -1
- package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.2.html +0 -66
- package/.next/server/pages/domains/Shopping/events/AddedItemToCart/v/0.0.2.json +0 -1
- package/.next/server/pages/domains/Shopping/events/AddedItemToCart.html +0 -65
- package/.next/server/pages/domains/Shopping/events/AddedItemToCart.json +0 -1
- package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart/logs.html +0 -1
- package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart/logs.json +0 -1
- package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart.html +0 -48
- package/.next/server/pages/domains/Shopping/events/RemovedItemFromCart.json +0 -1
- package/.next/server/pages/domains/Shopping.html +0 -2
- package/.next/server/pages/domains/Shopping.json +0 -1
- package/.next/server/pages/domains/[domain]/events/[name]/logs.js +0 -345
- package/.next/server/pages/domains/[domain]/events/[name]/logs.js.nft.json +0 -1
- package/.next/server/pages/domains/[domain]/events/[name]/v/[version].js +0 -435
- package/.next/server/pages/domains/[domain]/events/[name]/v/[version].js.nft.json +0 -1
- package/.next/server/pages/domains/[domain]/events/[name].js +0 -354
- package/.next/server/pages/domains/[domain]/events/[name].js.nft.json +0 -1
- package/.next/server/pages/domains/[domain]/services/[name].js +0 -402
- package/.next/server/pages/domains/[domain]/services/[name].js.nft.json +0 -1
- package/.next/server/pages/domains/[domain].js +0 -549
- package/.next/server/pages/domains/[domain].js.nft.json +0 -1
- package/.next/server/pages/domains.html +0 -3
- package/.next/server/pages/domains.js +0 -576
- package/.next/server/pages/domains.js.nft.json +0 -1
- package/.next/server/pages/domains.json +0 -1
- package/.next/server/pages/events/PaymentProcessed/logs.html +0 -1
- package/.next/server/pages/events/PaymentProcessed/logs.json +0 -1
- package/.next/server/pages/events/PaymentProcessed.html +0 -44
- package/.next/server/pages/events/PaymentProcessed.json +0 -1
- package/.next/server/pages/events/ShipmentDelivered/logs.html +0 -1
- package/.next/server/pages/events/ShipmentDelivered/logs.json +0 -1
- package/.next/server/pages/events/ShipmentDelivered.html +0 -44
- package/.next/server/pages/events/ShipmentDelivered.json +0 -1
- package/.next/server/pages/events/ShipmentDispatched/logs.html +0 -1
- package/.next/server/pages/events/ShipmentDispatched/logs.json +0 -1
- package/.next/server/pages/events/ShipmentDispatched.html +0 -44
- package/.next/server/pages/events/ShipmentDispatched.json +0 -1
- package/.next/server/pages/events/ShipmentPrepared/logs.html +0 -1
- package/.next/server/pages/events/ShipmentPrepared/logs.json +0 -1
- package/.next/server/pages/events/ShipmentPrepared.html +0 -2
- package/.next/server/pages/events/ShipmentPrepared.json +0 -1
- package/.next/server/pages/events/[name]/logs.js +0 -263
- package/.next/server/pages/events/[name]/logs.js.nft.json +0 -1
- package/.next/server/pages/events/[name]/v/[version].js +0 -431
- package/.next/server/pages/events/[name]/v/[version].js.nft.json +0 -1
- package/.next/server/pages/events/[name].js +0 -354
- package/.next/server/pages/events/[name].js.nft.json +0 -1
- package/.next/server/pages/events.html +0 -11
- package/.next/server/pages/events.js +0 -789
- package/.next/server/pages/events.js.nft.json +0 -1
- package/.next/server/pages/events.json +0 -1
- package/.next/server/pages/index.html +0 -1
- package/.next/server/pages/index.js.nft.json +0 -1
- package/.next/server/pages/overview.html +0 -1
- package/.next/server/pages/overview.js +0 -240
- package/.next/server/pages/overview.js.nft.json +0 -1
- package/.next/server/pages/overview.json +0 -1
- package/.next/server/pages/services/Orders Service.html +0 -1
- package/.next/server/pages/services/Orders Service.json +0 -1
- package/.next/server/pages/services/Payment Service.html +0 -2
- package/.next/server/pages/services/Payment Service.json +0 -1
- package/.next/server/pages/services/Shipping Service.html +0 -2
- package/.next/server/pages/services/Shipping Service.json +0 -1
- package/.next/server/pages/services/[name].js +0 -319
- package/.next/server/pages/services/[name].js.nft.json +0 -1
- package/.next/server/pages/services.html +0 -4
- package/.next/server/pages/services.js +0 -741
- package/.next/server/pages/services.js.nft.json +0 -1
- package/.next/server/pages/services.json +0 -1
- package/.next/server/pages/users/[id].js +0 -475
- package/.next/server/pages/users/[id].js.nft.json +0 -1
- package/.next/server/pages/users/dboyne.html +0 -16
- package/.next/server/pages/users/dboyne.json +0 -1
- package/.next/server/pages/users/mSmith.html +0 -13
- package/.next/server/pages/users/mSmith.json +0 -1
- package/.next/server/pages/users.html +0 -1
- package/.next/server/pages/users.js.nft.json +0 -1
- package/.next/server/pages/visualiser.html +0 -16
- package/.next/server/pages/visualiser.js +0 -739
- package/.next/server/pages/visualiser.js.nft.json +0 -1
- package/.next/server/pages/visualiser.json +0 -1
- package/.next/server/pages-manifest.json +0 -23
- package/.next/server/webpack-runtime.js +0 -259
- package/.next/static/chunks/020d8314.2bae2f29ef0060e4.js +0 -1
- package/.next/static/chunks/1093.67f04e0e6b50c9e5.js +0 -1
- package/.next/static/chunks/1178-c3c8c74ac08d7c77.js +0 -1
- package/.next/static/chunks/1254.a78e9444e102b061.js +0 -1
- package/.next/static/chunks/130.fa515915f80e17f9.js +0 -1
- package/.next/static/chunks/1318.a5349c1b3da2b184.js +0 -1
- package/.next/static/chunks/1415.55c7c89ef0a8aab1.js +0 -1
- package/.next/static/chunks/1455-8df9e334899797b2.js +0 -1
- package/.next/static/chunks/172-940ad0353b57ff98.js +0 -1
- package/.next/static/chunks/1733.1bead33faaa9eeb0.js +0 -1
- package/.next/static/chunks/1806.3ed762ab3ecedc9d.js +0 -1
- package/.next/static/chunks/2157.cd3aa9fee64d976e.js +0 -1
- package/.next/static/chunks/2566.4084969752c613a9.js +0 -1
- package/.next/static/chunks/2620-21775e17d8a6a407.js +0 -1
- package/.next/static/chunks/2edb282b-45c56c19221816df.js +0 -1
- package/.next/static/chunks/3116-446dd88b93c44018.js +0 -1
- package/.next/static/chunks/3193.f69abc67598575a9.js +0 -1
- package/.next/static/chunks/3260.00ac1405e82b8dd9.js +0 -1
- package/.next/static/chunks/3271.83723868c9b8e7c1.js +0 -1
- package/.next/static/chunks/3287.f50c49237cef9ae8.js +0 -1
- package/.next/static/chunks/39a9cf3f.8cc8ac3887be2999.js +0 -1
- package/.next/static/chunks/3ede58a6.44fda8e0e5284248.js +0 -1
- package/.next/static/chunks/40.16abe9d3c57256d6.js +0 -1
- package/.next/static/chunks/407.3078ab29e8d18c02.js +0 -1
- package/.next/static/chunks/438.dea6dada9bd4b683.js +0 -1
- package/.next/static/chunks/4384-8a28a71e7e3b8d8a.js +0 -1
- package/.next/static/chunks/4466.dc03dbcd026995cc.js +0 -1
- package/.next/static/chunks/4737.ae583b848d202a93.js +0 -1
- package/.next/static/chunks/5048.73fa7a6d734ba5ef.js +0 -1
- package/.next/static/chunks/5092.8ead508f86f4b11c.js +0 -1
- package/.next/static/chunks/5493-b00dc3d50ab46716.js +0 -1
- package/.next/static/chunks/5835.a9405ab0913544df.js +0 -1
- package/.next/static/chunks/6067.cc75c37618cf0147.js +0 -1
- package/.next/static/chunks/6121.758a43c0db92ca23.js +0 -1
- package/.next/static/chunks/6229.7a9f0c8b204b76dc.js +0 -1
- package/.next/static/chunks/6487.44c6e83c098ed47f.js +0 -1
- package/.next/static/chunks/6582.06af6897be0d24b3.js +0 -1
- package/.next/static/chunks/6724.ed1280c926906c76.js +0 -1
- package/.next/static/chunks/6772-fc6143a6584acf9b.js +0 -1
- package/.next/static/chunks/6790-f4527d80153a3e25.js +0 -1
- package/.next/static/chunks/7005-09e42f99859b8d03.js +0 -1
- package/.next/static/chunks/7109-c8d3fde4c3b6798e.js +0 -1
- package/.next/static/chunks/7374.a673e317f007d3b6.js +0 -1
- package/.next/static/chunks/74030e57.9636ad3c5c96940b.js +0 -1
- package/.next/static/chunks/7458.1de01a44cd67f6f0.js +0 -1
- package/.next/static/chunks/7469.d932a6b01168373b.js +0 -1
- package/.next/static/chunks/7636.9eaf88a09c2a88ed.js +0 -1
- package/.next/static/chunks/7f5d3f51-659399fe6f04b9eb.js +0 -1
- package/.next/static/chunks/8264-a1b0376ff4b3d4da.js +0 -1
- package/.next/static/chunks/828-1a4a120d2fbea802.js +0 -1
- package/.next/static/chunks/8341-b8d844d6f606aed5.js +0 -1
- package/.next/static/chunks/8470.c811187bd2982a8a.js +0 -1
- package/.next/static/chunks/9076.0a13d7d5aab7bfa1.js +0 -1
- package/.next/static/chunks/9097.1efc23284d82765c.js +0 -1
- package/.next/static/chunks/9270.a4c64e6be4a278a4.js +0 -1
- package/.next/static/chunks/9404.a44dfe8858add605.js +0 -1
- package/.next/static/chunks/9497.49670ee9a8bd76f7.js +0 -1
- package/.next/static/chunks/9930.28415573db2b7806.js +0 -7
- package/.next/static/chunks/b2f22a9c-0216e9400ac0ac1c.js +0 -1
- package/.next/static/chunks/b9e0c7b4-52b02c0d4f161186.js +0 -1
- package/.next/static/chunks/eb6e03f4.3dd8d555aebe18ff.js +0 -1
- package/.next/static/chunks/f4df0e03.56d1c15b5532ab26.js +0 -1
- package/.next/static/chunks/framework-6cc1bceeaaf75e91.js +0 -1
- package/.next/static/chunks/main-da37322a396d572a.js +0 -1
- package/.next/static/chunks/pages/_app-d40841fd52b70886.js +0 -1
- package/.next/static/chunks/pages/_error-c36fa6f7fd569cf6.js +0 -1
- package/.next/static/chunks/pages/domains/[domain]/events/[name]/logs-350f383eed1cf3f8.js +0 -1
- package/.next/static/chunks/pages/domains/[domain]/events/[name]/v/[version]-45b0d7bc42f6f81c.js +0 -1
- package/.next/static/chunks/pages/domains/[domain]/events/[name]-15bb0ef487953fa1.js +0 -1
- package/.next/static/chunks/pages/domains/[domain]/services/[name]-a4857d4d0aa4d04b.js +0 -1
- package/.next/static/chunks/pages/domains/[domain]-ea20e2daae1794fc.js +0 -1
- package/.next/static/chunks/pages/domains-71179cbdb719a0f8.js +0 -1
- package/.next/static/chunks/pages/events/[name]/logs-695c5b2cfd996539.js +0 -1
- package/.next/static/chunks/pages/events/[name]/v/[version]-b718302d7185dcb0.js +0 -1
- package/.next/static/chunks/pages/events/[name]-8cb0b3b469bd7845.js +0 -1
- package/.next/static/chunks/pages/events-83c9161a6e696533.js +0 -1
- package/.next/static/chunks/pages/index-68062a10328e7d10.js +0 -1
- package/.next/static/chunks/pages/overview-4251cc856f776fc2.js +0 -1
- package/.next/static/chunks/pages/services/[name]-7030da24d73a8ea3.js +0 -1
- package/.next/static/chunks/pages/services-7069c0a5295e53ae.js +0 -1
- package/.next/static/chunks/pages/users/[id]-00aeace648436383.js +0 -1
- package/.next/static/chunks/pages/users-412f257b1de51363.js +0 -1
- package/.next/static/chunks/pages/visualiser-8474d03175cf9d12.js +0 -1
- package/.next/static/chunks/polyfills-c67a75d1b6f99dc8.js +0 -1
- package/.next/static/chunks/webpack-1ea4cabfc6778694.js +0 -1
- package/.next/static/css/7e14b4dede1671ad.css +0 -1
- package/.next/static/css/94b9a747218712b2.css +0 -3
- package/.next/static/css/ae8abf3666c55019.css +0 -5
- package/.next/static/css/cc3c8fcadcf7a58b.css +0 -1
- package/.next/static/css/deb57cf90a65a90f.css +0 -1
- package/.next/static/css/ed97de5465a152bb.css +0 -1
- package/.next/static/wZIh57Hs672ULoPeUaYa1/_buildManifest.js +0 -1
- package/.next/static/wZIh57Hs672ULoPeUaYa1/_ssgManifest.js +0 -1
- package/.next/trace +0 -141
- package/bin/eventcatalog.js +0 -141
- package/components/BreadCrumbs.tsx +0 -50
- package/components/ContentView.tsx +0 -123
- package/components/Footer.tsx +0 -31
- package/components/Grids/DomainGrid.tsx +0 -61
- package/components/Grids/EventGrid.tsx +0 -102
- package/components/Grids/ServiceGrid.tsx +0 -84
- package/components/Grids/UserGrid.tsx +0 -55
- package/components/Header.tsx +0 -74
- package/components/Mdx/AsyncApiSpec.tsx +0 -25
- package/components/Mdx/Examples.tsx +0 -70
- package/components/Mdx/NodeGraph/GraphElements.tsx +0 -294
- package/components/Mdx/NodeGraph/GraphLayout.ts +0 -110
- package/components/Mdx/NodeGraph/Node.tsx +0 -15
- package/components/Mdx/NodeGraph/NodeGraph.tsx +0 -168
- package/components/Mdx/NodeGraph/__tests__/GraphElements.spec.ts +0 -102
- package/components/Mdx/NodeGraph/__tests__/GraphLayout.spec.ts +0 -115
- package/components/Mdx/NodeGraph/__tests__/__snapshots__/GraphElements.spec.ts.snap +0 -559
- package/components/Mdx/NodeGraph/__tests__/__snapshots__/GraphLayout.spec.ts.snap +0 -81
- package/components/Mdx/OpenApiSpec.tsx +0 -21
- package/components/Mdx/SchemaViewer/SchemaViewer.module.css +0 -5
- package/components/Mdx/SchemaViewer/SchemaViewer.tsx +0 -34
- package/components/Mermaid/index.tsx +0 -58
- package/components/NotFound/index.tsx +0 -40
- package/components/Sidebars/DomainSidebar.tsx +0 -55
- package/components/Sidebars/EventSidebar.tsx +0 -172
- package/components/Sidebars/ServiceSidebar.tsx +0 -128
- package/components/Sidebars/components/ExternalLinks.tsx +0 -28
- package/components/Sidebars/components/ItemList.tsx +0 -32
- package/components/Sidebars/components/Owners.tsx +0 -38
- package/components/Sidebars/components/Tags.tsx +0 -45
- package/components/SyntaxHighlighter.tsx +0 -42
- package/eventcatalog.config.js +0 -58
- package/eventcatalog.styles.css +0 -15
- package/hooks/EventCatalog.tsx +0 -54
- package/lib/__tests__/assets/domains/User/events/UserCreated/index.md +0 -20
- package/lib/__tests__/assets/domains/User/events/UserRemoved/examples/Basic.cs +0 -31
- package/lib/__tests__/assets/domains/User/events/UserRemoved/examples/Basic.js +0 -1
- package/lib/__tests__/assets/domains/User/events/UserRemoved/index.md +0 -16
- package/lib/__tests__/assets/domains/User/events/UserRemoved/schema.json +0 -4
- package/lib/__tests__/assets/domains/User/index.md +0 -16
- package/lib/__tests__/assets/domains/User/services/User Service/index.md +0 -19
- package/lib/__tests__/assets/events/AddedItemToCart/index.md +0 -25
- package/lib/__tests__/assets/events/EmailSent/index.md +0 -15
- package/lib/__tests__/assets/events/EventWithSchemaAndExamples/examples/Basic.cs +0 -31
- package/lib/__tests__/assets/events/EventWithSchemaAndExamples/examples/Basic.js +0 -1
- package/lib/__tests__/assets/events/EventWithSchemaAndExamples/index.md +0 -8
- package/lib/__tests__/assets/events/EventWithSchemaAndExamples/schema.json +0 -4
- package/lib/__tests__/assets/events/EventWithVersions/index.md +0 -10
- package/lib/__tests__/assets/events/EventWithVersions/versioned/0.0.1/index.md +0 -10
- package/lib/__tests__/assets/services/Basket Service/index.md +0 -26
- package/lib/__tests__/assets/services/Email Platform/index.md +0 -17
- package/lib/__tests__/assets/services/Payment Service/index.md +0 -7
- package/lib/__tests__/domains.spec.ts +0 -416
- package/lib/__tests__/events.spec.ts +0 -514
- package/lib/__tests__/file-reader.spec.ts +0 -69
- package/lib/__tests__/graphs.spec.ts +0 -88
- package/lib/__tests__/services.spec.ts +0 -268
- package/lib/analytics.ts +0 -30
- package/lib/domains.ts +0 -160
- package/lib/events.ts +0 -313
- package/lib/file-reader.ts +0 -76
- package/lib/graphs.ts +0 -92
- package/lib/services.ts +0 -126
- package/next-env.d.ts +0 -5
- package/next.config.js +0 -11
- package/out/404/index.html +0 -12
- package/out/404.html +0 -12
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/events/OrderComplete/logs.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/events/OrderComplete.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/events/OrderConfirmed/logs.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/events/OrderConfirmed.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/events/OrderCreated/logs.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/events/OrderCreated.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/events/OrderRequested/logs.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/events/OrderRequested.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders/services/Orders Service.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Orders.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Shopping/events/AddedItemToCart/logs.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Shopping/events/AddedItemToCart/v/0.0.1.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Shopping/events/AddedItemToCart/v/0.0.2.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Shopping/events/AddedItemToCart.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Shopping/events/RemovedItemFromCart/logs.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Shopping/events/RemovedItemFromCart.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains/Shopping.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/domains.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events/PaymentProcessed/logs.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events/PaymentProcessed.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events/ShipmentDelivered/logs.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events/ShipmentDelivered.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events/ShipmentDispatched/logs.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events/ShipmentDispatched.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events/ShipmentPrepared/logs.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events/ShipmentPrepared.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/events.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/overview.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/services/Orders Service.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/services/Payment Service.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/services/Shipping Service.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/services.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/users/dboyne.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/users/mSmith.json +0 -1
- package/out/_next/data/wZIh57Hs672ULoPeUaYa1/visualiser.json +0 -1
- package/out/_next/static/chunks/020d8314.2bae2f29ef0060e4.js +0 -1
- package/out/_next/static/chunks/1093.67f04e0e6b50c9e5.js +0 -1
- package/out/_next/static/chunks/1178-c3c8c74ac08d7c77.js +0 -1
- package/out/_next/static/chunks/1254.a78e9444e102b061.js +0 -1
- package/out/_next/static/chunks/130.fa515915f80e17f9.js +0 -1
- package/out/_next/static/chunks/1318.a5349c1b3da2b184.js +0 -1
- package/out/_next/static/chunks/1415.55c7c89ef0a8aab1.js +0 -1
- package/out/_next/static/chunks/1455-8df9e334899797b2.js +0 -1
- package/out/_next/static/chunks/172-940ad0353b57ff98.js +0 -1
- package/out/_next/static/chunks/1733.1bead33faaa9eeb0.js +0 -1
- package/out/_next/static/chunks/1806.3ed762ab3ecedc9d.js +0 -1
- package/out/_next/static/chunks/2157.cd3aa9fee64d976e.js +0 -1
- package/out/_next/static/chunks/2566.4084969752c613a9.js +0 -1
- package/out/_next/static/chunks/2620-21775e17d8a6a407.js +0 -1
- package/out/_next/static/chunks/2edb282b-45c56c19221816df.js +0 -1
- package/out/_next/static/chunks/3116-446dd88b93c44018.js +0 -1
- package/out/_next/static/chunks/3193.f69abc67598575a9.js +0 -1
- package/out/_next/static/chunks/3260.00ac1405e82b8dd9.js +0 -1
- package/out/_next/static/chunks/3271.83723868c9b8e7c1.js +0 -1
- package/out/_next/static/chunks/3287.f50c49237cef9ae8.js +0 -1
- package/out/_next/static/chunks/39a9cf3f.8cc8ac3887be2999.js +0 -1
- package/out/_next/static/chunks/3ede58a6.44fda8e0e5284248.js +0 -1
- package/out/_next/static/chunks/40.16abe9d3c57256d6.js +0 -1
- package/out/_next/static/chunks/407.3078ab29e8d18c02.js +0 -1
- package/out/_next/static/chunks/438.dea6dada9bd4b683.js +0 -1
- package/out/_next/static/chunks/4384-8a28a71e7e3b8d8a.js +0 -1
- package/out/_next/static/chunks/4466.dc03dbcd026995cc.js +0 -1
- package/out/_next/static/chunks/4737.ae583b848d202a93.js +0 -1
- package/out/_next/static/chunks/5048.73fa7a6d734ba5ef.js +0 -1
- package/out/_next/static/chunks/5092.8ead508f86f4b11c.js +0 -1
- package/out/_next/static/chunks/5493-b00dc3d50ab46716.js +0 -1
- package/out/_next/static/chunks/5835.a9405ab0913544df.js +0 -1
- package/out/_next/static/chunks/6067.cc75c37618cf0147.js +0 -1
- package/out/_next/static/chunks/6121.758a43c0db92ca23.js +0 -1
- package/out/_next/static/chunks/6229.7a9f0c8b204b76dc.js +0 -1
- package/out/_next/static/chunks/6487.44c6e83c098ed47f.js +0 -1
- package/out/_next/static/chunks/6582.06af6897be0d24b3.js +0 -1
- package/out/_next/static/chunks/6724.ed1280c926906c76.js +0 -1
- package/out/_next/static/chunks/6772-fc6143a6584acf9b.js +0 -1
- package/out/_next/static/chunks/6790-f4527d80153a3e25.js +0 -1
- package/out/_next/static/chunks/7005-09e42f99859b8d03.js +0 -1
- package/out/_next/static/chunks/7109-c8d3fde4c3b6798e.js +0 -1
- package/out/_next/static/chunks/7374.a673e317f007d3b6.js +0 -1
- package/out/_next/static/chunks/74030e57.9636ad3c5c96940b.js +0 -1
- package/out/_next/static/chunks/7458.1de01a44cd67f6f0.js +0 -1
- package/out/_next/static/chunks/7469.d932a6b01168373b.js +0 -1
- package/out/_next/static/chunks/7636.9eaf88a09c2a88ed.js +0 -1
- package/out/_next/static/chunks/7f5d3f51-659399fe6f04b9eb.js +0 -1
- package/out/_next/static/chunks/8264-a1b0376ff4b3d4da.js +0 -1
- package/out/_next/static/chunks/828-1a4a120d2fbea802.js +0 -1
- package/out/_next/static/chunks/8341-b8d844d6f606aed5.js +0 -1
- package/out/_next/static/chunks/8470.c811187bd2982a8a.js +0 -1
- package/out/_next/static/chunks/9076.0a13d7d5aab7bfa1.js +0 -1
- package/out/_next/static/chunks/9097.1efc23284d82765c.js +0 -1
- package/out/_next/static/chunks/9270.a4c64e6be4a278a4.js +0 -1
- package/out/_next/static/chunks/9404.a44dfe8858add605.js +0 -1
- package/out/_next/static/chunks/9497.49670ee9a8bd76f7.js +0 -1
- package/out/_next/static/chunks/9930.28415573db2b7806.js +0 -7
- package/out/_next/static/chunks/b2f22a9c-0216e9400ac0ac1c.js +0 -1
- package/out/_next/static/chunks/b9e0c7b4-52b02c0d4f161186.js +0 -1
- package/out/_next/static/chunks/eb6e03f4.3dd8d555aebe18ff.js +0 -1
- package/out/_next/static/chunks/f4df0e03.56d1c15b5532ab26.js +0 -1
- package/out/_next/static/chunks/framework-6cc1bceeaaf75e91.js +0 -1
- package/out/_next/static/chunks/main-da37322a396d572a.js +0 -1
- package/out/_next/static/chunks/pages/_app-d40841fd52b70886.js +0 -1
- package/out/_next/static/chunks/pages/_error-c36fa6f7fd569cf6.js +0 -1
- package/out/_next/static/chunks/pages/domains/[domain]/events/[name]/logs-350f383eed1cf3f8.js +0 -1
- package/out/_next/static/chunks/pages/domains/[domain]/events/[name]/v/[version]-45b0d7bc42f6f81c.js +0 -1
- package/out/_next/static/chunks/pages/domains/[domain]/events/[name]-15bb0ef487953fa1.js +0 -1
- package/out/_next/static/chunks/pages/domains/[domain]/services/[name]-a4857d4d0aa4d04b.js +0 -1
- package/out/_next/static/chunks/pages/domains/[domain]-ea20e2daae1794fc.js +0 -1
- package/out/_next/static/chunks/pages/domains-71179cbdb719a0f8.js +0 -1
- package/out/_next/static/chunks/pages/events/[name]/logs-695c5b2cfd996539.js +0 -1
- package/out/_next/static/chunks/pages/events/[name]/v/[version]-b718302d7185dcb0.js +0 -1
- package/out/_next/static/chunks/pages/events/[name]-8cb0b3b469bd7845.js +0 -1
- package/out/_next/static/chunks/pages/events-83c9161a6e696533.js +0 -1
- package/out/_next/static/chunks/pages/index-68062a10328e7d10.js +0 -1
- package/out/_next/static/chunks/pages/overview-4251cc856f776fc2.js +0 -1
- package/out/_next/static/chunks/pages/services/[name]-7030da24d73a8ea3.js +0 -1
- package/out/_next/static/chunks/pages/services-7069c0a5295e53ae.js +0 -1
- package/out/_next/static/chunks/pages/users/[id]-00aeace648436383.js +0 -1
- package/out/_next/static/chunks/pages/users-412f257b1de51363.js +0 -1
- package/out/_next/static/chunks/pages/visualiser-8474d03175cf9d12.js +0 -1
- package/out/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js +0 -1
- package/out/_next/static/chunks/webpack-1ea4cabfc6778694.js +0 -1
- package/out/_next/static/css/7e14b4dede1671ad.css +0 -1
- package/out/_next/static/css/94b9a747218712b2.css +0 -3
- package/out/_next/static/css/ae8abf3666c55019.css +0 -5
- package/out/_next/static/css/cc3c8fcadcf7a58b.css +0 -1
- package/out/_next/static/css/deb57cf90a65a90f.css +0 -1
- package/out/_next/static/css/ed97de5465a152bb.css +0 -1
- package/out/_next/static/wZIh57Hs672ULoPeUaYa1/_buildManifest.js +0 -1
- package/out/_next/static/wZIh57Hs672ULoPeUaYa1/_ssgManifest.js +0 -1
- package/out/domains/Orders/events/OrderComplete/index.html +0 -40
- package/out/domains/Orders/events/OrderComplete/logs/index.html +0 -1
- package/out/domains/Orders/events/OrderConfirmed/index.html +0 -40
- package/out/domains/Orders/events/OrderConfirmed/logs/index.html +0 -1
- package/out/domains/Orders/events/OrderCreated/index.html +0 -2
- package/out/domains/Orders/events/OrderCreated/logs/index.html +0 -1
- package/out/domains/Orders/events/OrderRequested/index.html +0 -40
- package/out/domains/Orders/events/OrderRequested/logs/index.html +0 -1
- package/out/domains/Orders/index.html +0 -2
- package/out/domains/Orders/services/Orders Service/index.html +0 -2
- package/out/domains/Shopping/events/AddedItemToCart/index.html +0 -65
- package/out/domains/Shopping/events/AddedItemToCart/logs/index.html +0 -1
- package/out/domains/Shopping/events/AddedItemToCart/v/0.0.1/index.html +0 -59
- package/out/domains/Shopping/events/AddedItemToCart/v/0.0.2/index.html +0 -66
- package/out/domains/Shopping/events/RemovedItemFromCart/index.html +0 -48
- package/out/domains/Shopping/events/RemovedItemFromCart/logs/index.html +0 -1
- package/out/domains/Shopping/index.html +0 -2
- package/out/domains/index.html +0 -3
- package/out/events/PaymentProcessed/index.html +0 -44
- package/out/events/PaymentProcessed/logs/index.html +0 -1
- package/out/events/ShipmentDelivered/index.html +0 -44
- package/out/events/ShipmentDelivered/logs/index.html +0 -1
- package/out/events/ShipmentDispatched/index.html +0 -44
- package/out/events/ShipmentDispatched/logs/index.html +0 -1
- package/out/events/ShipmentPrepared/index.html +0 -2
- package/out/events/ShipmentPrepared/logs/index.html +0 -1
- package/out/events/index.html +0 -11
- package/out/favicon.ico +0 -0
- package/out/index.html +0 -1
- package/out/logo-random.svg +0 -114
- package/out/logo.svg +0 -44
- package/out/opengraph.png +0 -0
- package/out/overview/index.html +0 -1
- package/out/services/Orders Service/index.html +0 -1
- package/out/services/Payment Service/index.html +0 -2
- package/out/services/Shipping Service/index.html +0 -2
- package/out/services/index.html +0 -4
- package/out/users/dboyne/index.html +0 -16
- package/out/users/index.html +0 -1
- package/out/users/mSmith/index.html +0 -13
- package/out/visualiser/index.html +0 -16
- package/pages/_app.tsx +0 -111
- package/pages/_document.tsx +0 -18
- package/pages/domains/[domain]/events/[name]/logs.tsx +0 -35
- package/pages/domains/[domain]/events/[name]/v/[version].tsx +0 -39
- package/pages/domains/[domain]/events/[name].tsx +0 -46
- package/pages/domains/[domain]/index.tsx +0 -137
- package/pages/domains/[domain]/services/[name].tsx +0 -42
- package/pages/domains.tsx +0 -210
- package/pages/events/[name]/logs.tsx +0 -177
- package/pages/events/[name]/v/[version].tsx +0 -38
- package/pages/events/[name].tsx +0 -223
- package/pages/events.tsx +0 -357
- package/pages/index.tsx +0 -56
- package/pages/overview.tsx +0 -89
- package/pages/services/[name].tsx +0 -164
- package/pages/services.tsx +0 -311
- package/pages/users/[id].tsx +0 -101
- package/pages/users.tsx +0 -43
- package/pages/visualiser.tsx +0 -322
- package/postcss.config.js +0 -6
- package/public/logo-random.svg +0 -114
- package/public/logo.svg +0 -44
- package/scripts/__tests__/assets/eventcatalog.config.js +0 -32
- package/scripts/__tests__/generate.spec.ts +0 -36
- package/scripts/generate.js +0 -28
- package/scripts/move-schemas-for-download.js +0 -80
- package/styles/Home.module.css +0 -116
- package/styles/globals.css +0 -85
- package/tailwind.config.js +0 -36
- package/types/index.ts +0 -7
- package/utils/random-bg.ts +0 -13
- /package/{lib/__tests__/assets/services/Payment Service/openapi.yaml → public/openapi.yml} +0 -0
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { getEventByName, getAllEventsAndVersionsFlattened } from '@/lib/events';
|
|
2
|
-
import EventPage, { EventsPageProps } from '../../[name]';
|
|
3
|
-
|
|
4
|
-
export default function Events(props: EventsPageProps) {
|
|
5
|
-
return <EventPage {...props} />;
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
export async function getStaticProps({ params }) {
|
|
9
|
-
const { name: eventName, version } = params;
|
|
10
|
-
const { event, markdown } = await getEventByName({ eventName, version });
|
|
11
|
-
|
|
12
|
-
return {
|
|
13
|
-
props: {
|
|
14
|
-
event,
|
|
15
|
-
markdown,
|
|
16
|
-
loadedVersion: version,
|
|
17
|
-
eventPath: `/events/${event.name}`,
|
|
18
|
-
breadCrumbs: [
|
|
19
|
-
{ name: 'Events', href: `/events?domain=${event.domain}`, current: false },
|
|
20
|
-
{ name: event.name, href: `/events/${event.name}`, current: false },
|
|
21
|
-
{ name: `v${version}`, href: `/events/${event.name}/v/${version}`, current: true },
|
|
22
|
-
],
|
|
23
|
-
},
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
export async function getStaticPaths() {
|
|
28
|
-
const allEventsAndVersions = getAllEventsAndVersionsFlattened();
|
|
29
|
-
const eventsWithDomains = allEventsAndVersions.filter((item) => !!item.domain === false);
|
|
30
|
-
|
|
31
|
-
// all but current one
|
|
32
|
-
|
|
33
|
-
const paths = eventsWithDomains.map(({ eventName, version }: any) => ({ params: { name: eventName, version } }));
|
|
34
|
-
return {
|
|
35
|
-
paths,
|
|
36
|
-
fallback: false,
|
|
37
|
-
};
|
|
38
|
-
}
|
package/pages/events/[name].tsx
DELETED
|
@@ -1,223 +0,0 @@
|
|
|
1
|
-
import Head from 'next/head';
|
|
2
|
-
import { MDXRemote } from 'next-mdx-remote';
|
|
3
|
-
|
|
4
|
-
import { Event } from '@eventcatalog/types';
|
|
5
|
-
import Admonition from '@/components/Mdx/Admonition';
|
|
6
|
-
import Examples from '@/components/Mdx/Examples';
|
|
7
|
-
|
|
8
|
-
import getBackgroundColor from '@/utils/random-bg';
|
|
9
|
-
|
|
10
|
-
import OpenApiSpec from '@/components/Mdx/OpenApiSpec';
|
|
11
|
-
import ContentView from '@/components/ContentView';
|
|
12
|
-
import Mermaid from '@/components/Mermaid';
|
|
13
|
-
import EventSideBar from '@/components/Sidebars/EventSidebar';
|
|
14
|
-
import NotFound from '@/components/NotFound';
|
|
15
|
-
import BreadCrumbs from '@/components/BreadCrumbs';
|
|
16
|
-
import SyntaxHighlighter from '@/components/SyntaxHighlighter';
|
|
17
|
-
import SchemaViewer from '@/components/Mdx/SchemaViewer/SchemaViewer';
|
|
18
|
-
|
|
19
|
-
import { getAllEvents, getEventByName } from '@/lib/events';
|
|
20
|
-
import { useConfig, useUrl } from '@/hooks/EventCatalog';
|
|
21
|
-
|
|
22
|
-
import { MarkdownFile } from '@/types/index';
|
|
23
|
-
import NodeGraph from '@/components/Mdx/NodeGraph/NodeGraph';
|
|
24
|
-
|
|
25
|
-
export interface EventsPageProps {
|
|
26
|
-
event: Event;
|
|
27
|
-
eventPath: string;
|
|
28
|
-
breadCrumbs: any;
|
|
29
|
-
markdown: MarkdownFile;
|
|
30
|
-
notFound?: boolean;
|
|
31
|
-
loadedVersion?: string;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
export const getComponents = ({ event, schema, examples }: any) => ({
|
|
35
|
-
code: ({ className, ...props }) => {
|
|
36
|
-
const match = /language-(\w+)/.exec(className || '');
|
|
37
|
-
|
|
38
|
-
return match ? <SyntaxHighlighter language={match[1]} {...props} /> : <code className={className} {...props} />;
|
|
39
|
-
},
|
|
40
|
-
Schema: ({ title }: { title: string }) => {
|
|
41
|
-
if (!schema) return null;
|
|
42
|
-
|
|
43
|
-
return (
|
|
44
|
-
<section className="mt-8 xl:mt-10">
|
|
45
|
-
{title && (
|
|
46
|
-
<h2 id="activity-title" className="text-lg font-medium text-gray-900 underline">
|
|
47
|
-
{title}
|
|
48
|
-
</h2>
|
|
49
|
-
)}
|
|
50
|
-
<SyntaxHighlighter language={schema.language} showLineNumbers={false} name={`${event.name} Schema (${schema.language})`}>
|
|
51
|
-
{schema.snippet}
|
|
52
|
-
</SyntaxHighlighter>
|
|
53
|
-
</section>
|
|
54
|
-
);
|
|
55
|
-
},
|
|
56
|
-
SchemaViewer: ({
|
|
57
|
-
title,
|
|
58
|
-
renderRootTreeLines = false,
|
|
59
|
-
defaultExpandedDepth = 1,
|
|
60
|
-
maxHeight,
|
|
61
|
-
}: {
|
|
62
|
-
title?: string;
|
|
63
|
-
renderRootTreeLines?: boolean;
|
|
64
|
-
defaultExpandedDepth?: number;
|
|
65
|
-
maxHeight?: string;
|
|
66
|
-
}) => {
|
|
67
|
-
if (!schema) return null;
|
|
68
|
-
|
|
69
|
-
return (
|
|
70
|
-
<section className="mt-8 xl:mt-10">
|
|
71
|
-
{title && <h2 className="text-lg font-medium text-gray-900 underline">{title}</h2>}
|
|
72
|
-
<SchemaViewer
|
|
73
|
-
schema={schema.snippet}
|
|
74
|
-
maxHeight={parseInt(maxHeight, 10)}
|
|
75
|
-
renderRootTreeLines={renderRootTreeLines}
|
|
76
|
-
defaultExpandedDepth={defaultExpandedDepth}
|
|
77
|
-
/>
|
|
78
|
-
</section>
|
|
79
|
-
);
|
|
80
|
-
},
|
|
81
|
-
Admonition,
|
|
82
|
-
OpenAPI: ({ url, ...props }: { url?: string }) => {
|
|
83
|
-
if (!event.openAPISpec) return null;
|
|
84
|
-
return <OpenApiSpec spec={event.openAPISpec} url={url} {...props} />;
|
|
85
|
-
},
|
|
86
|
-
EventExamples: (props) => {
|
|
87
|
-
if (examples.length > 0) {
|
|
88
|
-
return <Examples {...props} examples={examples} showLineNumbers />;
|
|
89
|
-
}
|
|
90
|
-
console.log(
|
|
91
|
-
'You are using the <EventExamples /> component without any examples, please read https://eventcatalog.dev/docs/events/adding-examples for more information'
|
|
92
|
-
);
|
|
93
|
-
return null;
|
|
94
|
-
},
|
|
95
|
-
Mermaid: ({ title, charts }: { title?: string; charts?: string[] }) => (
|
|
96
|
-
<div className="mx-auto w-full py-10">
|
|
97
|
-
{title && <h2 className="text-lg font-medium text-gray-900 underline">{title}</h2>}
|
|
98
|
-
<Mermaid source="event" data={event} rootNodeColor={getBackgroundColor(event.name)} charts={charts} />
|
|
99
|
-
</div>
|
|
100
|
-
),
|
|
101
|
-
NodeGraph: ({
|
|
102
|
-
title,
|
|
103
|
-
maxHeight,
|
|
104
|
-
maxZoom,
|
|
105
|
-
fitView,
|
|
106
|
-
zoomOnScroll,
|
|
107
|
-
isAnimated,
|
|
108
|
-
isDraggable,
|
|
109
|
-
}: // isHorizontal,
|
|
110
|
-
{
|
|
111
|
-
title?: string;
|
|
112
|
-
maxHeight?: number;
|
|
113
|
-
maxZoom?: number;
|
|
114
|
-
fitView?: boolean;
|
|
115
|
-
zoomOnScroll?: boolean;
|
|
116
|
-
isAnimated?: boolean;
|
|
117
|
-
isDraggable?: boolean;
|
|
118
|
-
// isHorizontal?: boolean;
|
|
119
|
-
}) => (
|
|
120
|
-
<div className="mx-auto w-full">
|
|
121
|
-
{title && <h2 className="text-lg font-medium text-gray-900 underline">{title}</h2>}
|
|
122
|
-
<NodeGraph
|
|
123
|
-
source="event"
|
|
124
|
-
data={event}
|
|
125
|
-
rootNodeColor={getBackgroundColor(event.name)}
|
|
126
|
-
maxHeight={maxHeight}
|
|
127
|
-
maxZoom={maxZoom}
|
|
128
|
-
fitView={fitView}
|
|
129
|
-
zoomOnScroll={zoomOnScroll}
|
|
130
|
-
isAnimated={isAnimated}
|
|
131
|
-
isDraggable={isDraggable}
|
|
132
|
-
// isHorizontal={isHorizontal}
|
|
133
|
-
/>
|
|
134
|
-
</div>
|
|
135
|
-
),
|
|
136
|
-
});
|
|
137
|
-
|
|
138
|
-
export default function Events(props: EventsPageProps) {
|
|
139
|
-
const { event, markdown, loadedVersion, notFound, breadCrumbs, eventPath } = props;
|
|
140
|
-
const { title } = useConfig();
|
|
141
|
-
const { getEditUrl, hasEditUrl } = useUrl();
|
|
142
|
-
|
|
143
|
-
const { name, summary, draft, schema, examples, version } = event;
|
|
144
|
-
|
|
145
|
-
if (notFound)
|
|
146
|
-
return <NotFound type="event" name={event.name} editUrl={hasEditUrl ? getEditUrl(`/events/${name}/index.md`) : ''} />;
|
|
147
|
-
|
|
148
|
-
const { lastModifiedDate } = markdown;
|
|
149
|
-
|
|
150
|
-
const mdxComponents = getComponents({ event, schema, examples }) as any;
|
|
151
|
-
|
|
152
|
-
return (
|
|
153
|
-
<>
|
|
154
|
-
<Head>
|
|
155
|
-
<title>
|
|
156
|
-
{title} - {name} v{version}
|
|
157
|
-
</title>
|
|
158
|
-
</Head>
|
|
159
|
-
<ContentView
|
|
160
|
-
title={name}
|
|
161
|
-
editUrl={hasEditUrl ? getEditUrl(`${eventPath}/index.md`) : ''}
|
|
162
|
-
subtitle={summary}
|
|
163
|
-
draft={draft}
|
|
164
|
-
lastModifiedDate={lastModifiedDate}
|
|
165
|
-
tags={[{ label: `v${version}` }]}
|
|
166
|
-
breadCrumbs={<BreadCrumbs pages={breadCrumbs} />}
|
|
167
|
-
isOldVersion={loadedVersion !== 'latest'}
|
|
168
|
-
latestVersionUrl={eventPath}
|
|
169
|
-
version={loadedVersion}
|
|
170
|
-
sidebar={
|
|
171
|
-
<EventSideBar
|
|
172
|
-
event={event}
|
|
173
|
-
urlPath={eventPath}
|
|
174
|
-
loadedVersion={loadedVersion}
|
|
175
|
-
isOldVersion={loadedVersion !== 'latest'}
|
|
176
|
-
/>
|
|
177
|
-
}
|
|
178
|
-
>
|
|
179
|
-
<MDXRemote {...markdown.source} components={mdxComponents} />
|
|
180
|
-
</ContentView>
|
|
181
|
-
</>
|
|
182
|
-
);
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
export async function getStaticProps({ params }) {
|
|
186
|
-
try {
|
|
187
|
-
const { event, markdown } = await getEventByName({
|
|
188
|
-
eventName: params.name,
|
|
189
|
-
});
|
|
190
|
-
|
|
191
|
-
return {
|
|
192
|
-
props: {
|
|
193
|
-
event,
|
|
194
|
-
eventPath: `/events/${event.name}`,
|
|
195
|
-
breadCrumbs: [
|
|
196
|
-
{ name: 'Events', href: '/events', current: false },
|
|
197
|
-
{ name: event.name, href: `/events/${event.name}`, current: true },
|
|
198
|
-
],
|
|
199
|
-
markdown,
|
|
200
|
-
loadedVersion: 'latest',
|
|
201
|
-
},
|
|
202
|
-
};
|
|
203
|
-
} catch (error) {
|
|
204
|
-
return {
|
|
205
|
-
props: {
|
|
206
|
-
notFound: true,
|
|
207
|
-
event: { name: params.name },
|
|
208
|
-
},
|
|
209
|
-
};
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
export async function getStaticPaths() {
|
|
214
|
-
const events = getAllEvents();
|
|
215
|
-
const eventsWithoutDomains = events.filter((event) => !event.domain);
|
|
216
|
-
|
|
217
|
-
const paths = eventsWithoutDomains.map((event) => ({ params: { name: event.name } }));
|
|
218
|
-
|
|
219
|
-
return {
|
|
220
|
-
paths,
|
|
221
|
-
fallback: false,
|
|
222
|
-
};
|
|
223
|
-
}
|
package/pages/events.tsx
DELETED
|
@@ -1,357 +0,0 @@
|
|
|
1
|
-
import { Fragment, useState, useCallback, useEffect } from 'react';
|
|
2
|
-
import Head from 'next/head';
|
|
3
|
-
import type { Event, Service } from '@eventcatalog/types';
|
|
4
|
-
import debounce from 'lodash.debounce';
|
|
5
|
-
|
|
6
|
-
import { Menu, Transition } from '@headlessui/react';
|
|
7
|
-
import { ChevronDownIcon, SearchIcon } from '@heroicons/react/solid';
|
|
8
|
-
import EventGrid from '@/components/Grids/EventGrid';
|
|
9
|
-
import { getAllEvents, getUniqueServicesNamesFromEvents } from '@/lib/events';
|
|
10
|
-
import { getUniqueDomainNamesFromEvents } from '@/lib/domains';
|
|
11
|
-
import { useConfig } from '@/hooks/EventCatalog';
|
|
12
|
-
import { useRouter } from 'next/router';
|
|
13
|
-
|
|
14
|
-
function classNames(...classes) {
|
|
15
|
-
return classes.filter(Boolean).join(' ');
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
const sortOptions = [
|
|
19
|
-
{ name: 'Name', href: '#', current: true },
|
|
20
|
-
{ name: 'Version', href: '#', current: false },
|
|
21
|
-
{ name: 'Domains', href: '#', current: false },
|
|
22
|
-
];
|
|
23
|
-
|
|
24
|
-
export interface PageProps {
|
|
25
|
-
events: Event[];
|
|
26
|
-
services: Service[];
|
|
27
|
-
domains: string[];
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
export default function Page({ events, services, domains }: PageProps) {
|
|
31
|
-
const [selectedFilters, setSelectedFilters] = useState({ services: [], domains: [], badges: [] });
|
|
32
|
-
const [showMermaidDiagrams, setShowMermaidDiagrams] = useState(false);
|
|
33
|
-
const [showNodeGraphs, setShowNodeGraphs] = useState(false);
|
|
34
|
-
const [eventsToRender, setEventsToRender] = useState(events);
|
|
35
|
-
const [searchFilter, setSearchFilter] = useState('');
|
|
36
|
-
|
|
37
|
-
const filters = [
|
|
38
|
-
{
|
|
39
|
-
id: 'domains',
|
|
40
|
-
name: `Filter by Domains`,
|
|
41
|
-
options: domains.map((domain) => ({
|
|
42
|
-
value: domain,
|
|
43
|
-
label: domain,
|
|
44
|
-
checked: false,
|
|
45
|
-
})),
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
id: 'services',
|
|
49
|
-
name: `Filter by Services`,
|
|
50
|
-
options: services.map((service) => ({
|
|
51
|
-
value: service,
|
|
52
|
-
label: service,
|
|
53
|
-
checked: false,
|
|
54
|
-
})),
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
id: 'badges',
|
|
58
|
-
name: `Filter by Badges`,
|
|
59
|
-
options: events.reduce((p, c) => {
|
|
60
|
-
if (!c.badges) {
|
|
61
|
-
return p;
|
|
62
|
-
}
|
|
63
|
-
c.badges.forEach((badge) => {
|
|
64
|
-
const existing = p.map((b) => b.value);
|
|
65
|
-
if (!existing.includes(badge.content)) {
|
|
66
|
-
p.push({
|
|
67
|
-
value: badge.content,
|
|
68
|
-
label: badge.content,
|
|
69
|
-
checked: false,
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
return p;
|
|
74
|
-
}, [] as { value: string; label: string; checked: boolean }[]),
|
|
75
|
-
},
|
|
76
|
-
];
|
|
77
|
-
|
|
78
|
-
const handleFilterSelection = (option, type, event) => {
|
|
79
|
-
console.log(option, type, event);
|
|
80
|
-
|
|
81
|
-
if (event.target.checked) {
|
|
82
|
-
const newFilters = selectedFilters[type].concat([option.value]);
|
|
83
|
-
setSelectedFilters({ ...selectedFilters, [type]: newFilters });
|
|
84
|
-
} else {
|
|
85
|
-
const newFilters = selectedFilters[type].filter((value) => value !== option.value);
|
|
86
|
-
setSelectedFilters({ ...selectedFilters, [type]: newFilters });
|
|
87
|
-
}
|
|
88
|
-
};
|
|
89
|
-
|
|
90
|
-
const getFilteredEvents = (): any => {
|
|
91
|
-
if (!selectedFilters.services && !searchFilter && !selectedFilters.domains && !selectedFilters.badges) return events;
|
|
92
|
-
|
|
93
|
-
let filteredEvents = events;
|
|
94
|
-
|
|
95
|
-
if (selectedFilters.services.length > 0) {
|
|
96
|
-
// @ts-ignore
|
|
97
|
-
filteredEvents = filteredEvents.filter((event) => {
|
|
98
|
-
const { services: serviceFilters } = selectedFilters;
|
|
99
|
-
|
|
100
|
-
const hasConsumersFromFilters = event.consumerNames.some((consumerId) => serviceFilters.indexOf(consumerId) > -1);
|
|
101
|
-
const hasProducersFromFilters = event.producerNames.some((producerId) => serviceFilters.indexOf(producerId) > -1);
|
|
102
|
-
|
|
103
|
-
return hasConsumersFromFilters || hasProducersFromFilters;
|
|
104
|
-
});
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
if (selectedFilters.domains.length > 0) {
|
|
108
|
-
// @ts-ignore
|
|
109
|
-
filteredEvents = filteredEvents.filter((event) => {
|
|
110
|
-
const { domains: domainFilters } = selectedFilters;
|
|
111
|
-
return domainFilters.indexOf(event.domain) > -1;
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
if (selectedFilters.badges.length > 0) {
|
|
116
|
-
const { badges: badgeFilters } = selectedFilters;
|
|
117
|
-
// @ts-ignore
|
|
118
|
-
filteredEvents = filteredEvents.filter((event) => {
|
|
119
|
-
if (!event.badges) {
|
|
120
|
-
return false;
|
|
121
|
-
}
|
|
122
|
-
return event.badges.filter((badge) => badgeFilters.includes(badge.content)).length !== 0;
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
if (searchFilter) {
|
|
127
|
-
filteredEvents = filteredEvents.filter((event) => event.name.toLowerCase().includes(searchFilter.toLowerCase()));
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
return filteredEvents;
|
|
131
|
-
};
|
|
132
|
-
|
|
133
|
-
useEffect(() => {
|
|
134
|
-
setEventsToRender(getFilteredEvents());
|
|
135
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
136
|
-
}, [selectedFilters, searchFilter]);
|
|
137
|
-
|
|
138
|
-
const router = useRouter();
|
|
139
|
-
|
|
140
|
-
useEffect(() => {
|
|
141
|
-
if (router.query.q) {
|
|
142
|
-
setSearchFilter(router.query.q as string);
|
|
143
|
-
}
|
|
144
|
-
}, [router.query.q]);
|
|
145
|
-
|
|
146
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
147
|
-
const debouncedFilter = useCallback(
|
|
148
|
-
debounce((e) => {
|
|
149
|
-
setSearchFilter(e.target.value);
|
|
150
|
-
}, 500),
|
|
151
|
-
[eventsToRender]
|
|
152
|
-
);
|
|
153
|
-
|
|
154
|
-
const filtersApplied =
|
|
155
|
-
!!searchFilter ||
|
|
156
|
-
selectedFilters.services.length > 0 ||
|
|
157
|
-
selectedFilters.domains.length > 0 ||
|
|
158
|
-
selectedFilters.badges.length > 0;
|
|
159
|
-
const { title } = useConfig();
|
|
160
|
-
|
|
161
|
-
return (
|
|
162
|
-
<>
|
|
163
|
-
<Head>
|
|
164
|
-
<title>{title} - All Events</title>
|
|
165
|
-
</Head>
|
|
166
|
-
<main className="max-w-7xl mx-auto min-h-screen px-4 xl:px-0">
|
|
167
|
-
<div className="relative z-10 flex items-baseline justify-between pt-8 pb-6 border-b border-gray-200">
|
|
168
|
-
<h1 className="text-2xl font-extrabold tracking-tight text-gray-900">Events ({events.length})</h1>
|
|
169
|
-
|
|
170
|
-
<div className="flex items-center">
|
|
171
|
-
<Menu as="div" className="hidden relative text-left">
|
|
172
|
-
<div>
|
|
173
|
-
<Menu.Button className="group inline-flex justify-center text-sm font-medium text-gray-700 hover:text-gray-900">
|
|
174
|
-
Sort
|
|
175
|
-
<ChevronDownIcon
|
|
176
|
-
className="flex-shrink-0 -mr-1 ml-1 h-5 w-5 text-gray-400 group-hover:text-gray-500"
|
|
177
|
-
aria-hidden="true"
|
|
178
|
-
/>
|
|
179
|
-
</Menu.Button>
|
|
180
|
-
</div>
|
|
181
|
-
|
|
182
|
-
<Transition
|
|
183
|
-
as={Fragment}
|
|
184
|
-
enter="transition ease-out duration-100"
|
|
185
|
-
enterFrom="transform opacity-0 scale-95"
|
|
186
|
-
enterTo="transform opacity-100 scale-100"
|
|
187
|
-
leave="transition ease-in duration-75"
|
|
188
|
-
leaveFrom="transform opacity-100 scale-100"
|
|
189
|
-
leaveTo="transform opacity-0 scale-95"
|
|
190
|
-
>
|
|
191
|
-
<Menu.Items className="origin-top-right absolute right-0 mt-2 w-40 rounded-md shadow-2xl bg-white ring-1 ring-black ring-opacity-5 focus:outline-none">
|
|
192
|
-
<div className="py-1">
|
|
193
|
-
{sortOptions.map((option) => (
|
|
194
|
-
<Menu.Item key={option.name}>
|
|
195
|
-
{({ active }) => (
|
|
196
|
-
<a
|
|
197
|
-
href={option.href}
|
|
198
|
-
className={classNames(
|
|
199
|
-
option.current ? 'font-medium text-gray-900' : 'text-gray-500',
|
|
200
|
-
active ? 'bg-gray-100' : '',
|
|
201
|
-
'block px-4 py-2 text-sm'
|
|
202
|
-
)}
|
|
203
|
-
>
|
|
204
|
-
{option.name}
|
|
205
|
-
</a>
|
|
206
|
-
)}
|
|
207
|
-
</Menu.Item>
|
|
208
|
-
))}
|
|
209
|
-
</div>
|
|
210
|
-
</Menu.Items>
|
|
211
|
-
</Transition>
|
|
212
|
-
</Menu>
|
|
213
|
-
</div>
|
|
214
|
-
</div>
|
|
215
|
-
|
|
216
|
-
<section className="pt-6 pb-24">
|
|
217
|
-
<div className="grid grid-cols-4 gap-x-8 gap-y-10">
|
|
218
|
-
{/* Filters */}
|
|
219
|
-
<form className="hidden lg:block">
|
|
220
|
-
<div className="border-b border-gray-200 pb-6">
|
|
221
|
-
<label htmlFor="event" className="font-bold block text-sm font-medium text-gray-700">
|
|
222
|
-
Search Events
|
|
223
|
-
</label>
|
|
224
|
-
<div className="mt-1 relative rounded-md shadow-sm">
|
|
225
|
-
<div className="absolute inset-y-0 left-0 pl-3 flex items-center pointer-events-none">
|
|
226
|
-
<SearchIcon className="h-5 w-5 text-gray-400" aria-hidden="true" />
|
|
227
|
-
</div>
|
|
228
|
-
<input
|
|
229
|
-
type="text"
|
|
230
|
-
name="event"
|
|
231
|
-
id="event"
|
|
232
|
-
onChange={(e) => {
|
|
233
|
-
setSearchFilter(e.target.value);
|
|
234
|
-
debouncedFilter(e);
|
|
235
|
-
}}
|
|
236
|
-
value={searchFilter}
|
|
237
|
-
className="focus:ring-gray-500 focus:border-gray-500 block w-full pl-10 sm:text-sm border-gray-300 rounded-md"
|
|
238
|
-
/>
|
|
239
|
-
</div>
|
|
240
|
-
</div>
|
|
241
|
-
{filters.map((section: any) => {
|
|
242
|
-
if (!section.options.length) return null;
|
|
243
|
-
return (
|
|
244
|
-
<div key={section.id} className="border-b border-gray-200 py-6">
|
|
245
|
-
<h3 className="-my-3 flow-root">
|
|
246
|
-
<div className="py-3 bg-white w-full flex items-center justify-between text-sm text-gray-400 hover:text-gray-500">
|
|
247
|
-
<span className="font-bold font-medium text-gray-900">
|
|
248
|
-
{section.name} ({section.options.length})
|
|
249
|
-
</span>
|
|
250
|
-
</div>
|
|
251
|
-
</h3>
|
|
252
|
-
<div className="pt-6">
|
|
253
|
-
<div className="space-y-4">
|
|
254
|
-
{section.options
|
|
255
|
-
.sort((a, b) => a.value.localeCompare(b.value))
|
|
256
|
-
.map((option, optionIdx) => (
|
|
257
|
-
<div key={option.value} className="flex items-center">
|
|
258
|
-
<input
|
|
259
|
-
id={`filter-${section.id}-${optionIdx}`}
|
|
260
|
-
name={`${section.id}[]`}
|
|
261
|
-
defaultValue={option.value}
|
|
262
|
-
type="checkbox"
|
|
263
|
-
onChange={(event) => handleFilterSelection(option, section.id, event)}
|
|
264
|
-
defaultChecked={option.checked}
|
|
265
|
-
className="h-4 w-4 border-gray-300 rounded text-gray-600 focus:ring-gray-500"
|
|
266
|
-
/>
|
|
267
|
-
<label htmlFor={`filter-${section.id}-${optionIdx}`} className="ml-3 text-sm text-gray-600">
|
|
268
|
-
{option.label}
|
|
269
|
-
</label>
|
|
270
|
-
</div>
|
|
271
|
-
))}
|
|
272
|
-
</div>
|
|
273
|
-
</div>
|
|
274
|
-
</div>
|
|
275
|
-
);
|
|
276
|
-
})}
|
|
277
|
-
|
|
278
|
-
<div className="border-b border-gray-200 py-6">
|
|
279
|
-
<h3 className="-my-3 flow-root">
|
|
280
|
-
<div className="py-3 bg-white w-full flex items-center justify-between text-sm text-gray-400 hover:text-gray-500">
|
|
281
|
-
<span className="font-bold font-medium text-gray-900">Features</span>
|
|
282
|
-
</div>
|
|
283
|
-
</h3>
|
|
284
|
-
<div className="pt-6">
|
|
285
|
-
<div className="space-y-4">
|
|
286
|
-
<div className="flex items-center">
|
|
287
|
-
<input
|
|
288
|
-
id="show-mermaid"
|
|
289
|
-
type="checkbox"
|
|
290
|
-
onChange={(e) => setShowMermaidDiagrams(e.target.checked)}
|
|
291
|
-
defaultChecked={showMermaidDiagrams}
|
|
292
|
-
className="h-4 w-4 border-gray-300 rounded text-gray-600 focus:ring-gray-500"
|
|
293
|
-
/>
|
|
294
|
-
<label htmlFor="show-mermaid" className="ml-3 text-sm text-gray-600">
|
|
295
|
-
Show Mermaid Diagrams
|
|
296
|
-
</label>
|
|
297
|
-
</div>
|
|
298
|
-
</div>
|
|
299
|
-
</div>
|
|
300
|
-
<div className="pt-6">
|
|
301
|
-
<div className="space-y-4">
|
|
302
|
-
<div className="flex items-center">
|
|
303
|
-
<input
|
|
304
|
-
id="show-node-graph"
|
|
305
|
-
type="checkbox"
|
|
306
|
-
onChange={(e) => setShowNodeGraphs(e.target.checked)}
|
|
307
|
-
defaultChecked={showNodeGraphs}
|
|
308
|
-
className="h-4 w-4 border-gray-300 rounded text-gray-600 focus:ring-gray-500"
|
|
309
|
-
/>
|
|
310
|
-
<label htmlFor="show-node-graph" className="ml-3 text-sm text-gray-600">
|
|
311
|
-
Show Node Graphs
|
|
312
|
-
</label>
|
|
313
|
-
</div>
|
|
314
|
-
</div>
|
|
315
|
-
</div>
|
|
316
|
-
</div>
|
|
317
|
-
</form>
|
|
318
|
-
|
|
319
|
-
<div className="col-span-4 lg:col-span-3">
|
|
320
|
-
<div>
|
|
321
|
-
<h2 className="text-gray-500 text-xs font-medium uppercase tracking-wide">
|
|
322
|
-
{filtersApplied
|
|
323
|
-
? `Filtered Events (${eventsToRender.length}/${events.length})`
|
|
324
|
-
: `All Events (${events.length})`}
|
|
325
|
-
</h2>
|
|
326
|
-
<EventGrid events={eventsToRender} showMermaidDiagrams={showMermaidDiagrams} showNodeGraphs={showNodeGraphs} />
|
|
327
|
-
{eventsToRender.length === 0 && (
|
|
328
|
-
<div className="text-gray-400 flex h-96 justify-center items-center">
|
|
329
|
-
<div>
|
|
330
|
-
<SearchIcon className="w-6 h-6 inline-block mr-1" />
|
|
331
|
-
No events found.
|
|
332
|
-
</div>
|
|
333
|
-
</div>
|
|
334
|
-
)}
|
|
335
|
-
</div>
|
|
336
|
-
</div>
|
|
337
|
-
</div>
|
|
338
|
-
</section>
|
|
339
|
-
</main>
|
|
340
|
-
</>
|
|
341
|
-
);
|
|
342
|
-
}
|
|
343
|
-
|
|
344
|
-
export const getStaticProps = () => {
|
|
345
|
-
const events = getAllEvents({ hydrateEvents: true });
|
|
346
|
-
const services = getUniqueServicesNamesFromEvents(events);
|
|
347
|
-
const domains = getUniqueDomainNamesFromEvents(events);
|
|
348
|
-
|
|
349
|
-
return {
|
|
350
|
-
props: {
|
|
351
|
-
events,
|
|
352
|
-
// @ts-ignore
|
|
353
|
-
services: [...new Set(services)],
|
|
354
|
-
domains,
|
|
355
|
-
},
|
|
356
|
-
};
|
|
357
|
-
};
|
package/pages/index.tsx
DELETED
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
/* This example requires Tailwind CSS v2.0+ */
|
|
2
|
-
|
|
3
|
-
import Link from 'next/link';
|
|
4
|
-
import getConfig from 'next/config';
|
|
5
|
-
import { useConfig } from '@/hooks/EventCatalog';
|
|
6
|
-
|
|
7
|
-
export default function Example() {
|
|
8
|
-
const { title, tagline, logo, primaryCTA = { label: 'Explore Events', href: '/events' }, secondaryCTA } = useConfig();
|
|
9
|
-
|
|
10
|
-
const { publicRuntimeConfig: { basePath = '' } = {} } = getConfig();
|
|
11
|
-
const logoToLoad = logo || { alt: 'EventCatalog Logo', src: `logo.svg` };
|
|
12
|
-
|
|
13
|
-
return (
|
|
14
|
-
<main className="sm:bg-top md:min-h-screen bg-gradient-to-t from-blue-700 to-gray-800 ec-homepage">
|
|
15
|
-
<div className="max-w-7xl mx-auto px-4 py-16 text-center sm:px-6 sm:py-24 lg:px-8 lg:py-48">
|
|
16
|
-
<img src={`${basePath}/${logoToLoad.src}`} alt={logoToLoad.alt} style={{ height: '85px' }} className="mx-auto" />
|
|
17
|
-
<h1 className="mt-2 text-4xl font-extrabold text-white tracking-tight sm:text-5xl">{title}</h1>
|
|
18
|
-
{tagline && <p className="mt-2 text-lg font-medium text-white">{tagline}</p>}
|
|
19
|
-
<div className="mt-5 max-w-md mx-auto sm:flex sm:justify-center md:mt-8">
|
|
20
|
-
<div className="rounded-md shadow">
|
|
21
|
-
<Link href={primaryCTA.href}>
|
|
22
|
-
<a className="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-white bg-blue-600 hover:bg-blue-700 md:py-4 md:text-lg md:px-10">
|
|
23
|
-
{primaryCTA.label}
|
|
24
|
-
</a>
|
|
25
|
-
</Link>
|
|
26
|
-
</div>
|
|
27
|
-
{secondaryCTA && (
|
|
28
|
-
<div className="mt-3 rounded-md shadow sm:mt-0 sm:ml-3">
|
|
29
|
-
{secondaryCTA.href.includes('http') && (
|
|
30
|
-
<a
|
|
31
|
-
href={secondaryCTA.href}
|
|
32
|
-
target="_blank"
|
|
33
|
-
className="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-indigo-600 bg-white hover:bg-gray-50 md:py-4 md:text-lg md:px-10"
|
|
34
|
-
rel="noreferrer"
|
|
35
|
-
>
|
|
36
|
-
{secondaryCTA.label}
|
|
37
|
-
</a>
|
|
38
|
-
)}
|
|
39
|
-
{!secondaryCTA.href.includes('http') && (
|
|
40
|
-
<Link href={secondaryCTA.href}>
|
|
41
|
-
<a
|
|
42
|
-
className="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-indigo-600 bg-white hover:bg-gray-50 md:py-4 md:text-lg md:px-10"
|
|
43
|
-
rel="noreferrer"
|
|
44
|
-
>
|
|
45
|
-
{secondaryCTA.label}
|
|
46
|
-
</a>
|
|
47
|
-
</Link>
|
|
48
|
-
)}
|
|
49
|
-
</div>
|
|
50
|
-
)}
|
|
51
|
-
</div>
|
|
52
|
-
<div className="mt-6 space-x-5" />
|
|
53
|
-
</div>
|
|
54
|
-
</main>
|
|
55
|
-
);
|
|
56
|
-
}
|