You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ma...@apache.org on 2022/11/05 00:17:46 UTC
[camel-karavan] branch main updated: Fix for Camel-karavan-489 (#517)
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 d5f8a69 Fix for Camel-karavan-489 (#517)
d5f8a69 is described below
commit d5f8a6983019e117bcc1af03fd5efed57eb777ff
Author: Mrinal Sharma <mr...@users.noreply.github.com>
AuthorDate: Fri Nov 4 20:17:42 2022 -0400
Fix for Camel-karavan-489 (#517)
---
karavan-designer/src/designer/route/DslSelector.tsx | 13 ++-----------
karavan-designer/src/designer/utils/CamelUi.tsx | 20 +++++++++++++++-----
2 files changed, 17 insertions(+), 16 deletions(-)
diff --git a/karavan-designer/src/designer/route/DslSelector.tsx b/karavan-designer/src/designer/route/DslSelector.tsx
index 5e5d387..c36d76a 100644
--- a/karavan-designer/src/designer/route/DslSelector.tsx
+++ b/karavan-designer/src/designer/route/DslSelector.tsx
@@ -72,15 +72,6 @@ export class DslSelector extends React.Component<Props, State> {
this.props.onDslSelect.call(this, dsl, this.props.parentId, this.props.position);
}
- checkFilter = (dsl: DslMetaModel): boolean => {
- if (this.state.filter !== undefined) {
- return dsl.title.toLowerCase().includes(this.state.filter.toLowerCase())
- || dsl.description.toLowerCase().includes(this.state.filter.toLowerCase());
- } else {
- return true;
- }
- }
-
searchInput = () => {
return (
<Form isHorizontal className="search" autoComplete="off">
@@ -148,7 +139,7 @@ export class DslSelector extends React.Component<Props, State> {
<FlexItem>
<Tabs style={{overflow: 'hidden'}} activeKey={this.state.tabIndex}
onSelect={this.selectTab}>
- {CamelUi.getSelectorModelTypes(parentDsl, this.props.showSteps).map((label: [string, number], index: number) => {
+ {CamelUi.getSelectorModelTypes(parentDsl, this.props.showSteps,this.state.filter).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;
@@ -166,7 +157,7 @@ export class DslSelector extends React.Component<Props, State> {
<PageSection variant={this.props.dark ? "darker" : "light"}>
<Gallery key={"gallery-" + labelText} hasGutter className="dsl-gallery">
{CamelUi.getSelectorModelsForParentFiltered(parentDsl, labelText, this.props.showSteps)
- .filter((dsl: DslMetaModel) => this.checkFilter(dsl))
+ .filter((dsl: DslMetaModel) => CamelUi.checkFilter(dsl, this.state.filter))
.map((dsl: DslMetaModel, index: number) => this.getCard(dsl, index))}
</Gallery>
</PageSection>
diff --git a/karavan-designer/src/designer/utils/CamelUi.tsx b/karavan-designer/src/designer/utils/CamelUi.tsx
index 40252a9..3083c36 100644
--- a/karavan-designer/src/designer/utils/CamelUi.tsx
+++ b/karavan-designer/src/designer/utils/CamelUi.tsx
@@ -86,14 +86,24 @@ export class RouteToCreate {
export class CamelUi {
- static getSelectorModelTypes = (parentDsl: string | undefined, showSteps: boolean = true): [string, number][] => {
+ static getSelectorModelTypes = (parentDsl: string | undefined, showSteps: boolean = true, filter:string|undefined = undefined): [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.map(label => [label, this.getSelectorModelsForParentFiltered(parentDsl, label, true).length]);
+ return eipLabels.map(label => [label, this.getSelectorModelsForParentFiltered(parentDsl, label, true)
+ .filter((dsl: DslMetaModel) => filter === undefined ? true : CamelUi.checkFilter(dsl, filter)).length]);
+ }
+
+ static checkFilter = (dsl: DslMetaModel, filter:string|undefined = undefined): boolean => {
+ if (filter !== undefined && filter !== "") {
+ return dsl.title.toLowerCase().includes(filter.toLowerCase())
+ || dsl.description.toLowerCase().includes(filter.toLowerCase());
+ } else {
+ return true;
+ }
}
static dslHasSteps = (className: string): boolean => {
@@ -108,8 +118,8 @@ export class CamelUi {
static getSelectorModelsForParentFiltered = (parentDsl: string | undefined, navigation: string, showSteps: boolean = true): DslMetaModel[] => {
return CamelUi.getSelectorModelsForParent(parentDsl, showSteps)
.filter(dsl => dsl.navigation.includes(navigation));
- }
-
+
+ }
static getSelectorModelsForParent = (parentDsl: string | undefined, showSteps: boolean = true): DslMetaModel[] => {
const result: DslMetaModel[] = [];
if (!parentDsl){
@@ -511,4 +521,4 @@ export class CamelUi {
}
return result;
}
-}
+}
\ No newline at end of file