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 0a215807 Custom Kamelet
0a215807 is described below
commit 0a2158070d309a2c6762d12ecd8e53cd7ae79ae9
Author: Marat Gubaidullin <[email protected]>
AuthorDate: Wed Jun 19 15:42:34 2024 -0400
Custom Kamelet
---
karavan-app/src/main/webui/src/designer/karavan.css | 7 +++++++
.../main/webui/src/designer/selector/DslCard.tsx | 3 +--
.../webui/src/knowledgebase/KnowledgebasePage.tsx | 2 +-
.../src/knowledgebase/kamelets/KameletCard.tsx | 8 ++++----
.../main/webui/src/knowledgebase/knowledgebase.css | 21 +++++++++++++++++++++
karavan-designer/src/designer/selector/DslCard.tsx | 3 +--
.../src/knowledgebase/KnowledgebasePage.tsx | 2 +-
.../src/knowledgebase/kamelets/KameletCard.tsx | 8 ++++----
.../src/knowledgebase/knowledgebase.css | 21 +++++++++++++++++++++
karavan-space/src/designer/karavan.css | 7 +++++++
karavan-space/src/designer/selector/DslCard.tsx | 3 +--
.../src/knowledgebase/KnowledgebasePage.tsx | 2 +-
.../src/knowledgebase/kamelets/KameletCard.tsx | 8 ++++----
karavan-space/src/knowledgebase/knowledgebase.css | 21 +++++++++++++++++++++
14 files changed, 95 insertions(+), 21 deletions(-)
diff --git a/karavan-app/src/main/webui/src/designer/karavan.css
b/karavan-app/src/main/webui/src/designer/karavan.css
index 99a0392d..d3e96c87 100644
--- a/karavan-app/src/main/webui/src/designer/karavan.css
+++ b/karavan-app/src/main/webui/src/designer/karavan.css
@@ -713,6 +713,13 @@
margin-bottom: 100px;
}
+.karavan .scrolled-page {
+ overflow: auto;
+ flex-shrink: unset;
+ flex-grow: 1;
+ background-color: var(--pf-v5-global--BackgroundColor--light-300);
+}
+
.karavan .knowledbase-eip-section .pf-v5-c-toggle-group {
margin: 16px;
}
diff --git a/karavan-app/src/main/webui/src/designer/selector/DslCard.tsx
b/karavan-app/src/main/webui/src/designer/selector/DslCard.tsx
index 78d121d5..510bce5c 100644
--- a/karavan-app/src/main/webui/src/designer/selector/DslCard.tsx
+++ b/karavan-app/src/main/webui/src/designer/selector/DslCard.tsx
@@ -51,7 +51,6 @@ export function DslCard (props: Props) {
{['kamelet',
'component'].includes(dsl.navigation.toLowerCase()) &&
<Badge isRead className="version
labels">{dsl.version}</Badge>
}
- {isCustom && <Badge className="custom">custom</Badge>}
</CardHeader>
<CardHeader>
{CamelUi.getIconForDsl(dsl)}
@@ -68,7 +67,7 @@ export function DslCard (props: Props) {
{labels.map((label, index) => <Badge key={label + "-" +
index} isRead
className="labels">{label}</Badge>)}
</div>
-
+ {isCustom && <Badge className="custom">custom</Badge>}
</CardFooter>
</Card>
)
diff --git a/karavan-app/src/main/webui/src/knowledgebase/KnowledgebasePage.tsx
b/karavan-app/src/main/webui/src/knowledgebase/KnowledgebasePage.tsx
index ef4a0fc1..a7c1d514 100644
--- a/karavan-app/src/main/webui/src/knowledgebase/KnowledgebasePage.tsx
+++ b/karavan-app/src/main/webui/src/knowledgebase/KnowledgebasePage.tsx
@@ -78,7 +78,7 @@ export const KnowledgebasePage = (props: Props) => {
</PageSection>
<PageSection className="tools-section" padding={{default:
'noPadding'}}>
<Flex direction={{default: "column"}} spaceItems={{default:
"spaceItemsNone"}}>
- <FlexItem className="knowledge-tabs">
+ <FlexItem>
<Tabs activeKey={tab} onSelect={(event, tabIndex) =>
setTab(tabIndex)}>
<Tab eventKey="eip" title="Integration Patterns"/>
<Tab eventKey="kamelets" title="Kamelets"/>
diff --git
a/karavan-app/src/main/webui/src/knowledgebase/kamelets/KameletCard.tsx
b/karavan-app/src/main/webui/src/knowledgebase/kamelets/KameletCard.tsx
index 64163e3c..a1a0f903 100644
--- a/karavan-app/src/main/webui/src/knowledgebase/kamelets/KameletCard.tsx
+++ b/karavan-app/src/main/webui/src/knowledgebase/kamelets/KameletCard.tsx
@@ -19,6 +19,7 @@ import {
CardHeader, Card, CardTitle, CardBody, CardFooter, Badge, Checkbox, Flex
} from '@patternfly/react-core';
import '../../designer/karavan.css';
+import '../knowledgebase.css';
import {KameletModel} from "karavan-core/lib/model/KameletModels";
import {CamelUi} from "../../designer/utils/CamelUi";
import {KameletApi} from "karavan-core/lib/api/KameletApi";
@@ -60,9 +61,9 @@ export function KameletCard(props: Props) {
onClick={event => click(event)}
>
<CardHeader className="header-labels">
- <Flex gap={{default:'gapNone'}}>
+ <Flex style={{width:'100%'}} gap={{default:'gapSm'}}
justifyContent={{default: 'justifyContentSpaceBetween'}}>
<Badge isRead className="support-level
labels">{kamelet.metadata.annotations["camel.apache.org/kamelet.support.level"]}</Badge>
- {isCustom && <Badge className="custom
labels">custom</Badge>}
+ <Badge isRead className="version
labels">{kamelet.metadata.annotations["camel.apache.org/catalog.version"].toLowerCase()}</Badge>
</Flex>
{showBlockCheckbox && <Checkbox id={kamelet.metadata.name}
className="block-checkbox labels" isChecked={!isblockedKamelet}
onChange={(_, checked) =>
selectKamelet(_, checked)}/>}
@@ -74,8 +75,7 @@ export function KameletCard(props: Props) {
<CardBody>{kamelet.spec.definition.description}</CardBody>
<CardFooter className="footer-labels">
<Badge isRead
className="labels">{kamelet.metadata.labels["camel.apache.org/kamelet.type"].toLowerCase()}</Badge>
- <Badge isRead className="version
labels">{kamelet.metadata.annotations["camel.apache.org/catalog.version"].toLowerCase()}</Badge>
- {/*</div>*/}
+ {isCustom && <Badge className="custom labels">custom</Badge>}
</CardFooter>
</Card>
)
diff --git a/karavan-app/src/main/webui/src/knowledgebase/knowledgebase.css
b/karavan-app/src/main/webui/src/knowledgebase/knowledgebase.css
new file mode 100644
index 00000000..6fb889de
--- /dev/null
+++ b/karavan-app/src/main/webui/src/knowledgebase/knowledgebase.css
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+.kamelets-page .kamelet-card .block-checkbox {
+ align-self: center;
+ margin-left: 6px;
+}
\ No newline at end of file
diff --git a/karavan-designer/src/designer/selector/DslCard.tsx
b/karavan-designer/src/designer/selector/DslCard.tsx
index 78d121d5..510bce5c 100644
--- a/karavan-designer/src/designer/selector/DslCard.tsx
+++ b/karavan-designer/src/designer/selector/DslCard.tsx
@@ -51,7 +51,6 @@ export function DslCard (props: Props) {
{['kamelet',
'component'].includes(dsl.navigation.toLowerCase()) &&
<Badge isRead className="version
labels">{dsl.version}</Badge>
}
- {isCustom && <Badge className="custom">custom</Badge>}
</CardHeader>
<CardHeader>
{CamelUi.getIconForDsl(dsl)}
@@ -68,7 +67,7 @@ export function DslCard (props: Props) {
{labels.map((label, index) => <Badge key={label + "-" +
index} isRead
className="labels">{label}</Badge>)}
</div>
-
+ {isCustom && <Badge className="custom">custom</Badge>}
</CardFooter>
</Card>
)
diff --git a/karavan-designer/src/knowledgebase/KnowledgebasePage.tsx
b/karavan-designer/src/knowledgebase/KnowledgebasePage.tsx
index ef4a0fc1..a7c1d514 100644
--- a/karavan-designer/src/knowledgebase/KnowledgebasePage.tsx
+++ b/karavan-designer/src/knowledgebase/KnowledgebasePage.tsx
@@ -78,7 +78,7 @@ export const KnowledgebasePage = (props: Props) => {
</PageSection>
<PageSection className="tools-section" padding={{default:
'noPadding'}}>
<Flex direction={{default: "column"}} spaceItems={{default:
"spaceItemsNone"}}>
- <FlexItem className="knowledge-tabs">
+ <FlexItem>
<Tabs activeKey={tab} onSelect={(event, tabIndex) =>
setTab(tabIndex)}>
<Tab eventKey="eip" title="Integration Patterns"/>
<Tab eventKey="kamelets" title="Kamelets"/>
diff --git a/karavan-designer/src/knowledgebase/kamelets/KameletCard.tsx
b/karavan-designer/src/knowledgebase/kamelets/KameletCard.tsx
index 64163e3c..a1a0f903 100644
--- a/karavan-designer/src/knowledgebase/kamelets/KameletCard.tsx
+++ b/karavan-designer/src/knowledgebase/kamelets/KameletCard.tsx
@@ -19,6 +19,7 @@ import {
CardHeader, Card, CardTitle, CardBody, CardFooter, Badge, Checkbox, Flex
} from '@patternfly/react-core';
import '../../designer/karavan.css';
+import '../knowledgebase.css';
import {KameletModel} from "karavan-core/lib/model/KameletModels";
import {CamelUi} from "../../designer/utils/CamelUi";
import {KameletApi} from "karavan-core/lib/api/KameletApi";
@@ -60,9 +61,9 @@ export function KameletCard(props: Props) {
onClick={event => click(event)}
>
<CardHeader className="header-labels">
- <Flex gap={{default:'gapNone'}}>
+ <Flex style={{width:'100%'}} gap={{default:'gapSm'}}
justifyContent={{default: 'justifyContentSpaceBetween'}}>
<Badge isRead className="support-level
labels">{kamelet.metadata.annotations["camel.apache.org/kamelet.support.level"]}</Badge>
- {isCustom && <Badge className="custom
labels">custom</Badge>}
+ <Badge isRead className="version
labels">{kamelet.metadata.annotations["camel.apache.org/catalog.version"].toLowerCase()}</Badge>
</Flex>
{showBlockCheckbox && <Checkbox id={kamelet.metadata.name}
className="block-checkbox labels" isChecked={!isblockedKamelet}
onChange={(_, checked) =>
selectKamelet(_, checked)}/>}
@@ -74,8 +75,7 @@ export function KameletCard(props: Props) {
<CardBody>{kamelet.spec.definition.description}</CardBody>
<CardFooter className="footer-labels">
<Badge isRead
className="labels">{kamelet.metadata.labels["camel.apache.org/kamelet.type"].toLowerCase()}</Badge>
- <Badge isRead className="version
labels">{kamelet.metadata.annotations["camel.apache.org/catalog.version"].toLowerCase()}</Badge>
- {/*</div>*/}
+ {isCustom && <Badge className="custom labels">custom</Badge>}
</CardFooter>
</Card>
)
diff --git a/karavan-designer/src/knowledgebase/knowledgebase.css
b/karavan-designer/src/knowledgebase/knowledgebase.css
new file mode 100644
index 00000000..6fb889de
--- /dev/null
+++ b/karavan-designer/src/knowledgebase/knowledgebase.css
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+.kamelets-page .kamelet-card .block-checkbox {
+ align-self: center;
+ margin-left: 6px;
+}
\ No newline at end of file
diff --git a/karavan-space/src/designer/karavan.css
b/karavan-space/src/designer/karavan.css
index 99a0392d..d3e96c87 100644
--- a/karavan-space/src/designer/karavan.css
+++ b/karavan-space/src/designer/karavan.css
@@ -713,6 +713,13 @@
margin-bottom: 100px;
}
+.karavan .scrolled-page {
+ overflow: auto;
+ flex-shrink: unset;
+ flex-grow: 1;
+ background-color: var(--pf-v5-global--BackgroundColor--light-300);
+}
+
.karavan .knowledbase-eip-section .pf-v5-c-toggle-group {
margin: 16px;
}
diff --git a/karavan-space/src/designer/selector/DslCard.tsx
b/karavan-space/src/designer/selector/DslCard.tsx
index 78d121d5..510bce5c 100644
--- a/karavan-space/src/designer/selector/DslCard.tsx
+++ b/karavan-space/src/designer/selector/DslCard.tsx
@@ -51,7 +51,6 @@ export function DslCard (props: Props) {
{['kamelet',
'component'].includes(dsl.navigation.toLowerCase()) &&
<Badge isRead className="version
labels">{dsl.version}</Badge>
}
- {isCustom && <Badge className="custom">custom</Badge>}
</CardHeader>
<CardHeader>
{CamelUi.getIconForDsl(dsl)}
@@ -68,7 +67,7 @@ export function DslCard (props: Props) {
{labels.map((label, index) => <Badge key={label + "-" +
index} isRead
className="labels">{label}</Badge>)}
</div>
-
+ {isCustom && <Badge className="custom">custom</Badge>}
</CardFooter>
</Card>
)
diff --git a/karavan-space/src/knowledgebase/KnowledgebasePage.tsx
b/karavan-space/src/knowledgebase/KnowledgebasePage.tsx
index ef4a0fc1..a7c1d514 100644
--- a/karavan-space/src/knowledgebase/KnowledgebasePage.tsx
+++ b/karavan-space/src/knowledgebase/KnowledgebasePage.tsx
@@ -78,7 +78,7 @@ export const KnowledgebasePage = (props: Props) => {
</PageSection>
<PageSection className="tools-section" padding={{default:
'noPadding'}}>
<Flex direction={{default: "column"}} spaceItems={{default:
"spaceItemsNone"}}>
- <FlexItem className="knowledge-tabs">
+ <FlexItem>
<Tabs activeKey={tab} onSelect={(event, tabIndex) =>
setTab(tabIndex)}>
<Tab eventKey="eip" title="Integration Patterns"/>
<Tab eventKey="kamelets" title="Kamelets"/>
diff --git a/karavan-space/src/knowledgebase/kamelets/KameletCard.tsx
b/karavan-space/src/knowledgebase/kamelets/KameletCard.tsx
index 64163e3c..a1a0f903 100644
--- a/karavan-space/src/knowledgebase/kamelets/KameletCard.tsx
+++ b/karavan-space/src/knowledgebase/kamelets/KameletCard.tsx
@@ -19,6 +19,7 @@ import {
CardHeader, Card, CardTitle, CardBody, CardFooter, Badge, Checkbox, Flex
} from '@patternfly/react-core';
import '../../designer/karavan.css';
+import '../knowledgebase.css';
import {KameletModel} from "karavan-core/lib/model/KameletModels";
import {CamelUi} from "../../designer/utils/CamelUi";
import {KameletApi} from "karavan-core/lib/api/KameletApi";
@@ -60,9 +61,9 @@ export function KameletCard(props: Props) {
onClick={event => click(event)}
>
<CardHeader className="header-labels">
- <Flex gap={{default:'gapNone'}}>
+ <Flex style={{width:'100%'}} gap={{default:'gapSm'}}
justifyContent={{default: 'justifyContentSpaceBetween'}}>
<Badge isRead className="support-level
labels">{kamelet.metadata.annotations["camel.apache.org/kamelet.support.level"]}</Badge>
- {isCustom && <Badge className="custom
labels">custom</Badge>}
+ <Badge isRead className="version
labels">{kamelet.metadata.annotations["camel.apache.org/catalog.version"].toLowerCase()}</Badge>
</Flex>
{showBlockCheckbox && <Checkbox id={kamelet.metadata.name}
className="block-checkbox labels" isChecked={!isblockedKamelet}
onChange={(_, checked) =>
selectKamelet(_, checked)}/>}
@@ -74,8 +75,7 @@ export function KameletCard(props: Props) {
<CardBody>{kamelet.spec.definition.description}</CardBody>
<CardFooter className="footer-labels">
<Badge isRead
className="labels">{kamelet.metadata.labels["camel.apache.org/kamelet.type"].toLowerCase()}</Badge>
- <Badge isRead className="version
labels">{kamelet.metadata.annotations["camel.apache.org/catalog.version"].toLowerCase()}</Badge>
- {/*</div>*/}
+ {isCustom && <Badge className="custom labels">custom</Badge>}
</CardFooter>
</Card>
)
diff --git a/karavan-space/src/knowledgebase/knowledgebase.css
b/karavan-space/src/knowledgebase/knowledgebase.css
new file mode 100644
index 00000000..6fb889de
--- /dev/null
+++ b/karavan-space/src/knowledgebase/knowledgebase.css
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+.kamelets-page .kamelet-card .block-checkbox {
+ align-self: center;
+ margin-left: 6px;
+}
\ No newline at end of file