This is an automated email from the ASF dual-hosted git repository. marat pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-karavan.git
The following commit(s) were added to refs/heads/main by this push: new 2385c14 Readme (#260) 2385c14 is described below commit 2385c14e3403c86f607619f5354285534593d744 Author: Marat Gubaidullin <marat.gubaidul...@gmail.com> AuthorDate: Wed Mar 30 13:15:28 2022 -0400 Readme (#260) --- README.md | 35 ++-- {screenshots => images}/create.png | Bin {screenshots => images}/install.png | Bin images/karavan-logo-dark.png | Bin 0 -> 23280 bytes images/karavan-logo-dark.svg | 222 +++++++++++++++++++++ images/karavan-logo-light.png | Bin 0 -> 23131 bytes images/karavan-logo-light.svg | 222 +++++++++++++++++++++ images/karavan-vscode.png | Bin 0 -> 523137 bytes images/karavan-web.png | Bin 0 -> 434416 bytes {screenshots => images}/karavan.png | Bin {screenshots => images}/open.png | Bin .../src/designer/route/DslSelector.tsx | 27 ++- .../designer/route/property/DslPropertyField.tsx | 2 +- karavan-designer/src/designer/utils/CamelUi.ts | 4 +- screenshots/karavan-vscode.png | Bin 319708 -> 0 bytes 15 files changed, 483 insertions(+), 29 deletions(-) diff --git a/README.md b/README.md index 49e9186..f2c802b 100644 --- a/README.md +++ b/README.md @@ -1,33 +1,38 @@ - - - - - - - + + + + + + + -# Apache Camel Karavan -Karavan, an Integration Designer for Apache Camel makes integration easy and fun through visualization of integration pipeline. + + + +## Apache Camel Karavan +Mastering Tool for Apache Camel makes integration easy and fun through the visualization of pipelines and integration with runtimes. ## Features -* Read/Write Integration CRD (*.yaml with kind:Integration) and plain yaml routes -* Kamelets source/sink/action * Enterprise Integration Patterns DSL -* Components consumer/producer -* Integration with [JBang](https://www.jbang.dev) +* REST DSL +* Beans and dependencies +* 100+ Kamelets source/sink/action +* 300+ Components consumer/producer +* Read/Write Integration CRD (*.yaml with kind:Integration) and plain yaml routes +* Integration with [Camel-K](https://camel.apache.org/camel-k/next/index.html) and [JBang](https://www.jbang.dev) ## VS Code extension Install Karavan VS Code extension from the [Marketplace](https://marketplace.visualstudio.com/items?itemName=camel-karavan.karavan) - + ## Standalone application Install Karavan Standalone command line: `docker pull ghcr.io/apache/camel-karavan:latest` - + ## Project structure 1. Karavan-generator diff --git a/screenshots/create.png b/images/create.png similarity index 100% rename from screenshots/create.png rename to images/create.png diff --git a/screenshots/install.png b/images/install.png similarity index 100% rename from screenshots/install.png rename to images/install.png diff --git a/images/karavan-logo-dark.png b/images/karavan-logo-dark.png new file mode 100644 index 0000000..280e38d Binary files /dev/null and b/images/karavan-logo-dark.png differ diff --git a/images/karavan-logo-dark.svg b/images/karavan-logo-dark.svg new file mode 100644 index 0000000..396ffc2 --- /dev/null +++ b/images/karavan-logo-dark.svg @@ -0,0 +1,222 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + width="1132.0219" + height="360.13885" + viewBox="0 0 1132.0219 360.13885" + version="1.1" + preserveAspectRatio="xMidYMid" + id="svg50" + sodipodi:docname="karavan-logo.svg" + inkscape:version="1.1.2 (b8e25be8, 2022-02-05)" + inkscape:export-filename="/Users/mgubaidu/Desktop/karavan-logo.png" + inkscape:export-xdpi="50.880001" + inkscape:export-ydpi="50.880001" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview52" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + showgrid="false" + inkscape:zoom="0.36" + inkscape:cx="309.72222" + inkscape:cy="229.16667" + inkscape:window-width="2560" + inkscape:window-height="1387" + inkscape:window-x="0" + inkscape:window-y="25" + inkscape:window-maximized="1" + inkscape:current-layer="svg50" + width="1256px" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> + <defs + id="defs31"> + <linearGradient + inkscape:collect="always" + id="linearGradient1351"> + <stop + style="stop-color:#dcffff;stop-opacity:1" + offset="0" + id="stop1347" /> + <stop + style="stop-color:#96d2e6;stop-opacity:1" + offset="1" + id="stop1349" /> + </linearGradient> + <circle + id="path-1" + cx="128" + cy="128.00015" + r="128" /> + <linearGradient + x1="-26.051073" + y1="271.33054" + x2="254.31573" + y2="0.047514945" + id="linearGradient-3" + gradientUnits="userSpaceOnUse"> + <stop + stop-color="#F69923" + offset="0%" + id="stop10" + style="stop-color:#4790bb;stop-opacity:1" /> + <stop + stop-color="#F79A23" + offset="10.996%" + id="stop12" + style="stop-color:#64b7db;stop-opacity:1" /> + <stop + stop-color="#E97826" + offset="94.502%" + id="stop14" + style="stop-color:#326ea0;stop-opacity:1" /> + </linearGradient> + <linearGradient + x1="-32.163429" + y1="277.02905" + x2="259.33835" + y2="-5.0281582" + id="linearGradient-4" + gradientUnits="userSpaceOnUse"> + <stop + stop-color="#F69923" + offset="0%" + id="stop17" /> + <stop + stop-color="#F79A23" + offset="8.0478%" + id="stop19" /> + <stop + stop-color="#E97826" + offset="41.874%" + id="stop21" /> + </linearGradient> + <linearGradient + x1="217.94496" + y1="67.504837" + x2="99.458817" + y2="247.00549" + id="linearGradient-5" + gradientTransform="scale(0.96441978,1.0368929)" + gradientUnits="userSpaceOnUse" + xlink:href="#linearGradient-4"> + <stop + stop-color="#F6E423" + offset="0%" + id="stop24" + style="stop-color:#92d6d5;stop-opacity:1" /> + <stop + stop-color="#F79A23" + offset="41.191%" + id="stop26" + style="stop-color:#79b7cc;stop-opacity:1" /> + <stop + stop-color="#E97826" + offset="73.271%" + id="stop28" + style="stop-color:#5891c5;stop-opacity:1" /> + </linearGradient> + <mask + id="mask-2" + fill="#ffffff"> + <use + xlink:href="#path-1" + id="use33" + x="0" + y="0" + width="100%" + height="100%" /> + </mask> + <mask + id="mask-2-7" + fill="#ffffff"> + <use + xlink:href="#path-1" + id="use137" + x="0" + y="0" + width="100%" + height="100%" /> + </mask> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient1351" + id="linearGradient1345" + x1="233.12198" + y1="56.01545" + x2="2.2396212" + y2="242.78015" + gradientUnits="userSpaceOnUse" /> + </defs> + <g + id="g36" + transform="translate(45.104634,56.041665)" /> + <circle + fill="url(#linearGradient-3)" + fill-rule="nonzero" + mask="url(#mask-2)" + cx="127.99429" + cy="127.99429" + r="123.11053" + id="circle38" + style="fill:url(#linearGradient-3)" + transform="translate(45.104634,56.041665)" /> + <g + id="g2266" + transform="translate(45.104634,56.041665)"> + <path + d="m 98.043695,75.516752 c -1.750682,-0.002 -3.524167,0.0098 -5.292059,0.06144 -2.05519,0.06065 -4.816316,0.713182 -7.999625,1.784532 53.775199,40.834016 73.108199,114.497516 39.875049,178.514206 1.12865,0.0293 2.24876,0.12307 3.38456,0.12307 60.7361,0 111.49261,-42.32269 124.60904,-99.07129 C 214.07872,111.75077 161.80794,75.61511 98.043301,75.516654 Z" + fill="url(#linearGradient-5)" + fill-rule="nonzero" + opacity="0.75" + mask="url(#mask-2)" + id="path42" + style="fill:url(#linearGradient-5);fill-opacity:1" /> + </g> + <path + d="M 84.752011,77.367742 C 66.89547,83.377158 32.82977,104.54579 0.07906091,132.8108 2.5662796,200.14549 57.107277,254.12351 124.62706,255.88195 157.86021,191.86526 138.528,118.20176 84.752011,77.367742 Z" + fill="#28170b" + fill-rule="nonzero" + opacity="0.75" + mask="url(#mask-2)" + id="path44" + style="fill:#1e4b7b;fill-opacity:1" + transform="translate(45.104634,56.041665)" /> + <path + d="m 128.74719,54.004528 c -10.98485,5.495372 0,27.466068 0,27.466068 -32.973011,27.483724 -25.9672,74.429124 -64.435392,74.429124 -20.970343,0 -42.242226,-24.0768 -64.23273709,-38.82804 -0.28309669,3.47897 -0.78535974,6.97247 -0.78535974,10.52442 0,48.09504 26.26287383,89.92436 65.41967783,111.89721 10.952683,-1.3796 22.838636,-4.11444 31.050991,-9.59255 43.14527,-28.76482 53.85703,-83.49096 71.48633,-109.92509 10.97897,-16.492 62.43429,-15.06102 65.90679,-22.01013 5.50126,-10.9907 [...] + fill="#ffffff" + fill-rule="nonzero" + mask="url(#mask-2-7)" + id="path150" + transform="translate(44.335601,55.908568)" + style="fill:url(#linearGradient1345);fill-opacity:1" /> + <path + d="M 128,256 C 57.307552,256 0,198.69245 0,128 0,57.307552 57.307552,0 128,0 c 70.69245,0 128,57.307552 128,128 0,70.69245 -57.30755,128 -128,128 z m 0,-9.76795 C 193.29776,246.23205 246.23205,193.29776 246.23205,128 246.23205,62.702243 193.29776,9.7679529 128,9.7679529 62.702243,9.7679529 9.7679529,62.702243 9.7679529,128 9.7679529,193.29776 62.702243,246.23205 128,246.23205 Z" + fill="url(#linearGradient-4)" + fill-rule="nonzero" + mask="url(#mask-2)" + id="path40" + style="fill:#2d4150;fill-opacity:1" + transform="matrix(1.020345,0,0,1.020345,41.979634,53.958328)" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:213.949px;line-height:1.25;font-family:'M PLUS 1 Code';-inkscape-font-specification:'M PLUS 1 Code, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#96d2e6;fill-opacity:1;stroke:none;stroke-width:5.3487" + x="346.91318" + y="259.39081" + id="text3018"><tspan + sodipodi:role="line" + id="tspan3016" + x="346.91318" + y="259.39081" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:213.949px;font-family:'M PLUS 1 Code';-inkscape-font-specification:'M PLUS 1 Code, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#96d2e6;fill-opacity:1;stroke-width:5.3487">Karavan</tspan></text> +</svg> diff --git a/images/karavan-logo-light.png b/images/karavan-logo-light.png new file mode 100644 index 0000000..a80c02e Binary files /dev/null and b/images/karavan-logo-light.png differ diff --git a/images/karavan-logo-light.svg b/images/karavan-logo-light.svg new file mode 100644 index 0000000..82a46b5 --- /dev/null +++ b/images/karavan-logo-light.svg @@ -0,0 +1,222 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<svg + width="1109.375" + height="344.79166" + viewBox="0 0 1109.375 344.79166" + version="1.1" + preserveAspectRatio="xMidYMid" + id="svg50" + sodipodi:docname="karavan-logo-light.svg" + inkscape:version="1.1.2 (b8e25be8, 2022-02-05)" + inkscape:export-filename="/Users/mgubaidu/projects/oss/camel-karavan/images/karavan-logo-light.png" + inkscape:export-xdpi="50.880001" + inkscape:export-ydpi="50.880001" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg"> + <sodipodi:namedview + id="namedview52" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + showgrid="false" + inkscape:zoom="0.96" + inkscape:cx="276.5625" + inkscape:cy="293.22917" + inkscape:window-width="2560" + inkscape:window-height="1387" + inkscape:window-x="0" + inkscape:window-y="25" + inkscape:window-maximized="1" + inkscape:current-layer="svg50" + width="1256px" + fit-margin-top="0" + fit-margin-left="0" + fit-margin-right="0" + fit-margin-bottom="0" /> + <defs + id="defs31"> + <linearGradient + inkscape:collect="always" + id="linearGradient1351"> + <stop + style="stop-color:#dcffff;stop-opacity:1" + offset="0" + id="stop1347" /> + <stop + style="stop-color:#96d2e6;stop-opacity:1" + offset="1" + id="stop1349" /> + </linearGradient> + <circle + id="path-1" + cx="128" + cy="128.00015" + r="128" /> + <linearGradient + x1="-26.051073" + y1="271.33054" + x2="254.31573" + y2="0.047514945" + id="linearGradient-3" + gradientUnits="userSpaceOnUse"> + <stop + stop-color="#F69923" + offset="0%" + id="stop10" + style="stop-color:#4790bb;stop-opacity:1" /> + <stop + stop-color="#F79A23" + offset="10.996%" + id="stop12" + style="stop-color:#64b7db;stop-opacity:1" /> + <stop + stop-color="#E97826" + offset="94.502%" + id="stop14" + style="stop-color:#326ea0;stop-opacity:1" /> + </linearGradient> + <linearGradient + x1="-32.163429" + y1="277.02905" + x2="259.33835" + y2="-5.0281582" + id="linearGradient-4" + gradientUnits="userSpaceOnUse"> + <stop + stop-color="#F69923" + offset="0%" + id="stop17" /> + <stop + stop-color="#F79A23" + offset="8.0478%" + id="stop19" /> + <stop + stop-color="#E97826" + offset="41.874%" + id="stop21" /> + </linearGradient> + <linearGradient + x1="217.94496" + y1="67.504837" + x2="99.458817" + y2="247.00549" + id="linearGradient-5" + gradientTransform="scale(0.96441978,1.0368929)" + gradientUnits="userSpaceOnUse" + xlink:href="#linearGradient-4"> + <stop + stop-color="#F6E423" + offset="0%" + id="stop24" + style="stop-color:#92d6d5;stop-opacity:1" /> + <stop + stop-color="#F79A23" + offset="41.191%" + id="stop26" + style="stop-color:#79b7cc;stop-opacity:1" /> + <stop + stop-color="#E97826" + offset="73.271%" + id="stop28" + style="stop-color:#5891c5;stop-opacity:1" /> + </linearGradient> + <mask + id="mask-2" + fill="#ffffff"> + <use + xlink:href="#path-1" + id="use33" + x="0" + y="0" + width="100%" + height="100%" /> + </mask> + <mask + id="mask-2-7" + fill="#ffffff"> + <use + xlink:href="#path-1" + id="use137" + x="0" + y="0" + width="100%" + height="100%" /> + </mask> + <linearGradient + inkscape:collect="always" + xlink:href="#linearGradient1351" + id="linearGradient1345" + x1="233.12198" + y1="56.01545" + x2="2.2396212" + y2="242.78015" + gradientUnits="userSpaceOnUse" /> + </defs> + <g + id="g36" + transform="translate(54.166668,36.458182)" /> + <circle + fill="url(#linearGradient-3)" + fill-rule="nonzero" + mask="url(#mask-2)" + cx="127.99429" + cy="127.99429" + r="123.11053" + id="circle38" + style="fill:url(#linearGradient-3)" + transform="translate(54.166668,36.458182)" /> + <g + id="g2266" + transform="translate(54.166668,36.458182)"> + <path + d="m 98.043695,75.516752 c -1.750682,-0.002 -3.524167,0.0098 -5.292059,0.06144 -2.05519,0.06065 -4.816316,0.713182 -7.999625,1.784532 53.775199,40.834016 73.108199,114.497516 39.875049,178.514206 1.12865,0.0293 2.24876,0.12307 3.38456,0.12307 60.7361,0 111.49261,-42.32269 124.60904,-99.07129 C 214.07872,111.75077 161.80794,75.61511 98.043301,75.516654 Z" + fill="url(#linearGradient-5)" + fill-rule="nonzero" + opacity="0.75" + mask="url(#mask-2)" + id="path42" + style="fill:url(#linearGradient-5);fill-opacity:1" /> + </g> + <path + d="M 84.752011,77.367742 C 66.89547,83.377158 32.82977,104.54579 0.07906091,132.8108 2.5662796,200.14549 57.107277,254.12351 124.62706,255.88195 157.86021,191.86526 138.528,118.20176 84.752011,77.367742 Z" + fill="#28170b" + fill-rule="nonzero" + opacity="0.75" + mask="url(#mask-2)" + id="path44" + style="fill:#1e4b7b;fill-opacity:1" + transform="translate(54.166668,36.458182)" /> + <path + d="m 128.74719,54.004528 c -10.98485,5.495372 0,27.466068 0,27.466068 -32.973011,27.483724 -25.9672,74.429124 -64.435392,74.429124 -20.970343,0 -42.242226,-24.0768 -64.23273709,-38.82804 -0.28309669,3.47897 -0.78535974,6.97247 -0.78535974,10.52442 0,48.09504 26.26287383,89.92436 65.41967783,111.89721 10.952683,-1.3796 22.838636,-4.11444 31.050991,-9.59255 43.14527,-28.76482 53.85703,-83.49096 71.48633,-109.92509 10.97897,-16.492 62.43429,-15.06102 65.90679,-22.01013 5.50126,-10.9907 [...] + fill="#ffffff" + fill-rule="nonzero" + mask="url(#mask-2-7)" + id="path150" + transform="translate(53.397635,36.325085)" + style="fill:url(#linearGradient1345);fill-opacity:1" /> + <path + d="M 128,256 C 57.307552,256 0,198.69245 0,128 0,57.307552 57.307552,0 128,0 c 70.69245,0 128,57.307552 128,128 0,70.69245 -57.30755,128 -128,128 z m 0,-9.76795 C 193.29776,246.23205 246.23205,193.29776 246.23205,128 246.23205,62.702243 193.29776,9.7679529 128,9.7679529 62.702243,9.7679529 9.7679529,62.702243 9.7679529,128 9.7679529,193.29776 62.702243,246.23205 128,246.23205 Z" + fill="url(#linearGradient-4)" + fill-rule="nonzero" + mask="url(#mask-2)" + id="path40" + style="fill:#2d4150;fill-opacity:1" + transform="matrix(1.020345,0,0,1.020345,51.041668,34.374845)" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:213.949px;line-height:1.25;font-family:'M PLUS 1 Code';-inkscape-font-specification:'M PLUS 1 Code, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#1e4b7b;fill-opacity:1;stroke:none;stroke-width:5.3487" + x="355.97519" + y="239.80733" + id="text3018"><tspan + sodipodi:role="line" + id="tspan3016" + x="355.97519" + y="239.80733" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:213.949px;font-family:'M PLUS 1 Code';-inkscape-font-specification:'M PLUS 1 Code, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#1e4b7b;fill-opacity:1;stroke-width:5.3487">Karavan</tspan></text> +</svg> diff --git a/images/karavan-vscode.png b/images/karavan-vscode.png new file mode 100644 index 0000000..106f4a5 Binary files /dev/null and b/images/karavan-vscode.png differ diff --git a/images/karavan-web.png b/images/karavan-web.png new file mode 100644 index 0000000..b76f8e7 Binary files /dev/null and b/images/karavan-web.png differ diff --git a/screenshots/karavan.png b/images/karavan.png similarity index 100% rename from screenshots/karavan.png rename to images/karavan.png diff --git a/screenshots/open.png b/images/open.png similarity index 100% rename from screenshots/open.png rename to images/open.png diff --git a/karavan-designer/src/designer/route/DslSelector.tsx b/karavan-designer/src/designer/route/DslSelector.tsx index 2cb6456..797fe1f 100644 --- a/karavan-designer/src/designer/route/DslSelector.tsx +++ b/karavan-designer/src/designer/route/DslSelector.tsx @@ -42,7 +42,7 @@ interface State { export class DslSelector extends React.Component<Props, State> { public state: State = { - tabIndex: CamelUi.getSelectorModelTypes(this.props.parentDsl, this.props.showSteps)[0], + tabIndex: CamelUi.getSelectorModelTypes(this.props.parentDsl, this.props.showSteps)[0][0], }; @@ -52,7 +52,7 @@ export class DslSelector extends React.Component<Props, State> { componentDidUpdate = (prevProps: Readonly<Props>, prevState: Readonly<State>, snapshot?: any) => { if (prevProps.parentDsl !== this.props.parentDsl) { - this.setState({tabIndex: CamelUi.getSelectorModelTypes(this.props.parentDsl, this.props.showSteps)[0]}); + this.setState({tabIndex: CamelUi.getSelectorModelTypes(this.props.parentDsl, this.props.showSteps)[0][0]}); } } @@ -131,15 +131,20 @@ export class DslSelector extends React.Component<Props, State> { <PageSection variant={this.props.dark ? "darker" : "light"}> {this.searchInput()} <Tabs style={{overflow: 'hidden'}} activeKey={this.state.tabIndex} onSelect={this.selectTab}> - {CamelUi.getSelectorModelTypes(parentDsl, this.props.showSteps).map((label: any, index: number) => ( - <Tab eventKey={label} key={"tab-" + label} title={<TabTitleText>{CamelUtil.capitalizeName(label)}</TabTitleText>}> - <Gallery key={"gallery-" + label} hasGutter className="dsl-gallery"> - {CamelUi.getSelectorModelsForParentFiltered(parentDsl, label, this.props.showSteps) - .filter((dsl: DslMetaModel) => this.checkFilter(dsl)) - .map((dsl: DslMetaModel, index: number) => this.getCard(dsl, index))} - </Gallery> - </Tab> - ))} + {CamelUi.getSelectorModelTypes(parentDsl, this.props.showSteps).map((label: [string, number], index: number) => { + const labelText = label[0]; + const count = label[1]; + const title = ['kamelet', 'component'].includes(labelText.toLowerCase()) ? labelText+"s (" + count + ")" : labelText; + return ( + <Tab eventKey={labelText} key={"tab-" + labelText} title={<TabTitleText>{CamelUtil.capitalizeName(title)}</TabTitleText>}> + <Gallery key={"gallery-" + labelText} hasGutter className="dsl-gallery"> + {CamelUi.getSelectorModelsForParentFiltered(parentDsl, labelText, this.props.showSteps) + .filter((dsl: DslMetaModel) => this.checkFilter(dsl)) + .map((dsl: DslMetaModel, index: number) => this.getCard(dsl, index))} + </Gallery> + </Tab> + ) + })} </Tabs> </PageSection> ); diff --git a/karavan-designer/src/designer/route/property/DslPropertyField.tsx b/karavan-designer/src/designer/route/property/DslPropertyField.tsx index 9dec9b1..4408ab5 100644 --- a/karavan-designer/src/designer/route/property/DslPropertyField.tsx +++ b/karavan-designer/src/designer/route/property/DslPropertyField.tsx @@ -44,7 +44,7 @@ import {ObjectField} from "./ObjectField"; import {CamelDefinitionApi} from "karavan-core/lib/api/CamelDefinitionApi"; import AddIcon from "@patternfly/react-icons/dist/js/icons/plus-circle-icon"; import {MediaTypes} from "../../utils/MediaTypes"; -import {ComponentProperty} from "../../../../../karavan-core/lib/model/ComponentModels"; +import {ComponentProperty} from "karavan-core/lib/model/ComponentModels"; interface Props { property: PropertyMeta, diff --git a/karavan-designer/src/designer/utils/CamelUi.ts b/karavan-designer/src/designer/utils/CamelUi.ts index 5dad20c..7d919df 100644 --- a/karavan-designer/src/designer/utils/CamelUi.ts +++ b/karavan-designer/src/designer/utils/CamelUi.ts @@ -79,14 +79,14 @@ export class RouteToCreate { export class CamelUi { - static getSelectorModelTypes = (parentDsl: string | undefined, showSteps: boolean = true): string[] => { + static getSelectorModelTypes = (parentDsl: string | undefined, showSteps: boolean = true): [string, number][] => { const navs = CamelUi.getSelectorModelsForParent(parentDsl, showSteps).map(dsl => dsl.navigation.split(",")) .reduce((accumulator, value) => accumulator.concat(value), []) .filter((nav, i, arr) => arr.findIndex(l => l === nav) === i) .filter((nav, i, arr) => ![ 'dataformat'].includes(nav)); const connectorNavs = ['routing', "transformation", "error", "configuration", "endpoint", "kamelet", "component"]; const eipLabels = connectorNavs.filter(n => navs.includes(n)); - return eipLabels; + return eipLabels.map(label => [label, this.getSelectorModelsForParentFiltered(parentDsl, label, true).length]); } static dslHasSteps = (className: string): boolean => { diff --git a/screenshots/karavan-vscode.png b/screenshots/karavan-vscode.png deleted file mode 100644 index 036d10c..0000000 Binary files a/screenshots/karavan-vscode.png and /dev/null differ