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 95b4a7fa Designer fixes
95b4a7fa is described below
commit 95b4a7faa852097119c90337c7ca4d7d71c9caba
Author: Marat Gubaidullin <[email protected]>
AuthorDate: Tue Nov 12 18:28:17 2024 -0500
Designer fixes
---
.../property/property/DslPropertyField.tsx | 14 +++---
.../src/designer/route/element/DslElement.tsx | 23 +++++----
.../webui/src/designer/selector/DslSelector.tsx | 54 ++++++++++++----------
.../property/property/DslPropertyField.tsx | 14 +++---
.../src/designer/route/element/DslElement.tsx | 23 +++++----
.../src/designer/selector/DslSelector.tsx | 54 ++++++++++++----------
.../property/property/DslPropertyField.tsx | 14 +++---
.../src/designer/route/element/DslElement.tsx | 23 +++++----
.../src/designer/selector/DslSelector.tsx | 54 ++++++++++++----------
9 files changed, 150 insertions(+), 123 deletions(-)
diff --git
a/karavan-app/src/main/webui/src/designer/property/property/DslPropertyField.tsx
b/karavan-app/src/main/webui/src/designer/property/property/DslPropertyField.tsx
index 908d2214..c8346056 100644
---
a/karavan-app/src/main/webui/src/designer/property/property/DslPropertyField.tsx
+++
b/karavan-app/src/main/webui/src/designer/property/property/DslPropertyField.tsx
@@ -322,7 +322,7 @@ export function DslPropertyField(props: Props) {
className="text-field route-variable" isRequired
type='text'
id={property.name} name={property.name}
- value={textValue?.toString()}
+ value={textValue?.toString() || ''}
customIcon={property.type !== 'string' ?
<Text
component={TextVariants.p}>{property.type}</Text> : undefined}
onBlur={_ => {
@@ -360,7 +360,7 @@ export function DslPropertyField(props: Props) {
type={property.secret ? "password" : "text"}
autoComplete="off"
id={property.name} name={property.name}
- value={textValue?.toString()}
+ value={textValue?.toString() || ''}
customIcon={property.type !== 'string' ?
<Text
component={TextVariants.p}>{property.type}</Text> : undefined}
onBlur={_ => {
@@ -414,7 +414,7 @@ export function DslPropertyField(props: Props) {
type={property.secret ? "password" : "text"}
autoComplete="off"
id={property.name} name={property.name}
- value={textValue?.toString()}
+ value={textValue?.toString() || ''}
customIcon={property.type !== 'string' ?
<Text
component={TextVariants.p}>{property.type}</Text> : undefined}
onBlur={_ => {
@@ -639,7 +639,7 @@ export function DslPropertyField(props: Props) {
name={property.name + "-placeholder"}
type="text"
aria-label="placeholder"
- value={!isValueBoolean ? textValue?.toString() :
undefined}
+ value={!isValueBoolean ? textValue?.toString() : ''}
onBlur={_ => propertyChanged(property.name, textValue)}
onChange={(_, v) => {
setTextValue(v);
@@ -879,7 +879,7 @@ export function DslPropertyField(props: Props) {
return (
<div>
<TextInputGroup className="input-group">
- <TextInputGroupMain value={arrayValues.get(property.name)}
+ <TextInputGroupMain value={arrayValues.get(property.name)
|| ''}
onChange={(e, v) =>
arrayChanged(property.name, v)}
onKeyUp={e => {
if (e.key === 'Enter')
arraySave(property.name)
@@ -1091,7 +1091,7 @@ export function DslPropertyField(props: Props) {
const beanProperties = element?.dslName === 'BeanFactoryDefinition' &&
property.name === 'properties'
const isSpi = property.javaType.startsWith("org.apache.camel.spi") ||
property.javaType.startsWith("org.apache.camel.AggregationStrategy");
return (
- <div>
+ <>
<FormGroup
className='dsl-property-form-group'
label={props.hideLabel ? undefined : getLabel(property, value,
isKamelet)}
@@ -1144,6 +1144,6 @@ export function DslPropertyField(props: Props) {
{beanProperties && getBeanProperties('properties')}
</FormGroup>
{getInfrastructureSelectorModal()}
- </div>
+ </>
)
}
\ No newline at end of file
diff --git
a/karavan-app/src/main/webui/src/designer/route/element/DslElement.tsx
b/karavan-app/src/main/webui/src/designer/route/element/DslElement.tsx
index 15af1ac8..b11c693d 100644
--- a/karavan-app/src/main/webui/src/designer/route/element/DslElement.tsx
+++ b/karavan-app/src/main/webui/src/designer/route/element/DslElement.tsx
@@ -210,16 +210,19 @@ export function DslElement(props: Props) {
} else {
nextStep = children.at(index + 1);
}
- return (<div key={step.uuid + child.className +
index}>
- <DslElement
- inSteps={child.name === 'steps'}
- position={index}
- step={element}
- nextStep={nextStep}
- prevStep={prevStep}
- inStepsLength={array.length}
- parent={step}/>
- </div>)
+ return (
+ // <div key={step.uuid + child.className +
index}>
+ <DslElement
+ key={step.uuid + child.className +
index}
+ inSteps={child.name === 'steps'}
+ position={index}
+ step={element}
+ nextStep={nextStep}
+ prevStep={prevStep}
+ inStepsLength={array.length}
+ parent={step}/>
+ // </div>
+ )
}
)}
{child.name === 'steps' && getAddStepButton()}
diff --git a/karavan-app/src/main/webui/src/designer/selector/DslSelector.tsx
b/karavan-app/src/main/webui/src/designer/selector/DslSelector.tsx
index c11e9b2f..80eef199 100644
--- a/karavan-app/src/main/webui/src/designer/selector/DslSelector.tsx
+++ b/karavan-app/src/main/webui/src/designer/selector/DslSelector.tsx
@@ -58,7 +58,7 @@ export function DslSelector(props: Props) {
const {onDslSelect} = useRouteDesignerHook();
- const [filterShown, setFilterShown] = useState<string>('');
+ const [filterShown, setFilterShown] = useState<string>('');
const [filter, setFilter] = useDebounceValue('', 300);
const [customOnly, setCustomOnly] = useState<boolean>(false);
@@ -101,7 +101,7 @@ export function DslSelector(props: Props) {
setPreferredElements(p);
}
- function getDslMetaModelType(dsl: DslMetaModel){
+ function getDslMetaModelType(dsl: DslMetaModel) {
return ['ToDefinition', 'FromDefinition'].includes(dsl.type) ?
'components' : (dsl.uri?.startsWith("kamelet:") ? "kamelets" : 'eip');
}
@@ -151,25 +151,30 @@ export function DslSelector(props: Props) {
const isKam = selectedToggles.includes('kamelets')
return (
<ToggleGroup aria-label="Default with single selectable"
className='navigation-selector'>
- {parentDsl !== undefined && <ToggleGroupItem
- text={
- <div style={{display: 'flex', flexDirection: 'row'}}>
- <div style={{marginRight: '6px'}}>Processors</div>
- {ready && <Badge isRead={!isEIP} className={isEIP
? "label-eip" : ""}>{eCount}</Badge>}
- </div>
- }
- buttonId="eip"
- isSelected={selectedToggles.includes('eip')}
- onChange={(_, selected) => {
- if (selected) addSelectedToggle('eip')
- else deleteSelectedToggle('eip')
- }}
- />}
+ {parentDsl !== undefined &&
+ <ToggleGroupItem
+ key='eip'
+ text={
+ <div style={{display: 'flex', flexDirection:
'row'}}>
+ <div style={{marginRight:
'6px'}}>Processors</div>
+ {ready && <Badge isRead={!isEIP}
className={isEIP ? "label-eip" : ""}>{eCount}</Badge>}
+ </div>
+ }
+ buttonId="eip"
+ isSelected={selectedToggles.includes('eip')}
+ onChange={(_, selected) => {
+ if (selected) addSelectedToggle('eip')
+ else deleteSelectedToggle('eip')
+ }}
+ />
+ }
<ToggleGroupItem
+ key='component'
text={
<div style={{display: 'flex', flexDirection: 'row'}}>
<div style={{marginRight: '6px'}}>Components</div>
- {ready && <Badge isRead={!isComp}
className={isComp ? "label-component" : ""}>{cCount}</Badge>}
+ {ready &&
+ <Badge isRead={!isComp} className={isComp ?
"label-component" : ""}>{cCount}</Badge>}
</div>
}
buttonId="components"
@@ -180,6 +185,7 @@ export function DslSelector(props: Props) {
}}
/>
<ToggleGroupItem
+ key='kamelet'
text={
<div style={{display: 'flex', flexDirection: 'row'}}>
<div style={{marginRight: '6px'}}>Kamelets</div>
@@ -239,8 +245,7 @@ export function DslSelector(props: Props) {
} else {
return true;
}
- }
- else return false;
+ } else return false;
})
.filter(d => CamelUi.checkFilter(d, filter));
@@ -275,25 +280,26 @@ export function DslSelector(props: Props) {
actions={{}}>
<PageSection padding={{default: "noPadding"}} variant={dark ?
"darker" : "light"}>
{!ready && [1, 2, 3, 4, 5, 6, 7, 8, 9].map(i =>
- <React.Fragment>
- <Skeleton width={i * 10 + '%'}
screenreaderText="Loading..."/>
+ <React.Fragment key={i}>
+ <Skeleton key={i} width={i * 10 + '%'}
screenreaderText="Loading..."/>
<br/>
</React.Fragment>)
}
<Gallery key={"fast-gallery"} hasGutter className="dsl-gallery"
minWidths={{default: '150px'}}>
{showSelector && fastElements.map((dsl: DslMetaModel,
index: number) =>
- <DslFastCard dsl={dsl} index={index}
onDslSelect={selectDsl} onDeleteFast={deleteFast}/>
+ <DslFastCard key={dsl.name + ":" + index} dsl={dsl}
index={index} onDslSelect={selectDsl} onDeleteFast={deleteFast}/>
)}
</Gallery>
<Gallery key={"gallery"} hasGutter className="dsl-gallery"
minWidths={{default: '200px'}}>
{showSelector && filteredElements.slice(0,
pageSize).map((dsl: DslMetaModel, index: number) =>
- <DslCard dsl={dsl} index={index}
onDslSelect={selectDsl}/>
+ <DslCard key={dsl.name + ":" + index} dsl={dsl}
index={index} onDslSelect={selectDsl}/>
)}
{moreElements > 0 &&
<Card isCompact isPlain isFlat isRounded
style={{minHeight: '140px'}}>
<Bullseye>
- <Button variant='link' onClick={_ =>
setPageSize(pageSize + 10)}>{`${moreElements} more`}</Button>
+ <Button variant='link'
+ onClick={_ => setPageSize(pageSize +
10)}>{`${moreElements} more`}</Button>
</Bullseye>
</Card>
}
diff --git
a/karavan-designer/src/designer/property/property/DslPropertyField.tsx
b/karavan-designer/src/designer/property/property/DslPropertyField.tsx
index 908d2214..c8346056 100644
--- a/karavan-designer/src/designer/property/property/DslPropertyField.tsx
+++ b/karavan-designer/src/designer/property/property/DslPropertyField.tsx
@@ -322,7 +322,7 @@ export function DslPropertyField(props: Props) {
className="text-field route-variable" isRequired
type='text'
id={property.name} name={property.name}
- value={textValue?.toString()}
+ value={textValue?.toString() || ''}
customIcon={property.type !== 'string' ?
<Text
component={TextVariants.p}>{property.type}</Text> : undefined}
onBlur={_ => {
@@ -360,7 +360,7 @@ export function DslPropertyField(props: Props) {
type={property.secret ? "password" : "text"}
autoComplete="off"
id={property.name} name={property.name}
- value={textValue?.toString()}
+ value={textValue?.toString() || ''}
customIcon={property.type !== 'string' ?
<Text
component={TextVariants.p}>{property.type}</Text> : undefined}
onBlur={_ => {
@@ -414,7 +414,7 @@ export function DslPropertyField(props: Props) {
type={property.secret ? "password" : "text"}
autoComplete="off"
id={property.name} name={property.name}
- value={textValue?.toString()}
+ value={textValue?.toString() || ''}
customIcon={property.type !== 'string' ?
<Text
component={TextVariants.p}>{property.type}</Text> : undefined}
onBlur={_ => {
@@ -639,7 +639,7 @@ export function DslPropertyField(props: Props) {
name={property.name + "-placeholder"}
type="text"
aria-label="placeholder"
- value={!isValueBoolean ? textValue?.toString() :
undefined}
+ value={!isValueBoolean ? textValue?.toString() : ''}
onBlur={_ => propertyChanged(property.name, textValue)}
onChange={(_, v) => {
setTextValue(v);
@@ -879,7 +879,7 @@ export function DslPropertyField(props: Props) {
return (
<div>
<TextInputGroup className="input-group">
- <TextInputGroupMain value={arrayValues.get(property.name)}
+ <TextInputGroupMain value={arrayValues.get(property.name)
|| ''}
onChange={(e, v) =>
arrayChanged(property.name, v)}
onKeyUp={e => {
if (e.key === 'Enter')
arraySave(property.name)
@@ -1091,7 +1091,7 @@ export function DslPropertyField(props: Props) {
const beanProperties = element?.dslName === 'BeanFactoryDefinition' &&
property.name === 'properties'
const isSpi = property.javaType.startsWith("org.apache.camel.spi") ||
property.javaType.startsWith("org.apache.camel.AggregationStrategy");
return (
- <div>
+ <>
<FormGroup
className='dsl-property-form-group'
label={props.hideLabel ? undefined : getLabel(property, value,
isKamelet)}
@@ -1144,6 +1144,6 @@ export function DslPropertyField(props: Props) {
{beanProperties && getBeanProperties('properties')}
</FormGroup>
{getInfrastructureSelectorModal()}
- </div>
+ </>
)
}
\ No newline at end of file
diff --git a/karavan-designer/src/designer/route/element/DslElement.tsx
b/karavan-designer/src/designer/route/element/DslElement.tsx
index 15af1ac8..b11c693d 100644
--- a/karavan-designer/src/designer/route/element/DslElement.tsx
+++ b/karavan-designer/src/designer/route/element/DslElement.tsx
@@ -210,16 +210,19 @@ export function DslElement(props: Props) {
} else {
nextStep = children.at(index + 1);
}
- return (<div key={step.uuid + child.className +
index}>
- <DslElement
- inSteps={child.name === 'steps'}
- position={index}
- step={element}
- nextStep={nextStep}
- prevStep={prevStep}
- inStepsLength={array.length}
- parent={step}/>
- </div>)
+ return (
+ // <div key={step.uuid + child.className +
index}>
+ <DslElement
+ key={step.uuid + child.className +
index}
+ inSteps={child.name === 'steps'}
+ position={index}
+ step={element}
+ nextStep={nextStep}
+ prevStep={prevStep}
+ inStepsLength={array.length}
+ parent={step}/>
+ // </div>
+ )
}
)}
{child.name === 'steps' && getAddStepButton()}
diff --git a/karavan-designer/src/designer/selector/DslSelector.tsx
b/karavan-designer/src/designer/selector/DslSelector.tsx
index c11e9b2f..80eef199 100644
--- a/karavan-designer/src/designer/selector/DslSelector.tsx
+++ b/karavan-designer/src/designer/selector/DslSelector.tsx
@@ -58,7 +58,7 @@ export function DslSelector(props: Props) {
const {onDslSelect} = useRouteDesignerHook();
- const [filterShown, setFilterShown] = useState<string>('');
+ const [filterShown, setFilterShown] = useState<string>('');
const [filter, setFilter] = useDebounceValue('', 300);
const [customOnly, setCustomOnly] = useState<boolean>(false);
@@ -101,7 +101,7 @@ export function DslSelector(props: Props) {
setPreferredElements(p);
}
- function getDslMetaModelType(dsl: DslMetaModel){
+ function getDslMetaModelType(dsl: DslMetaModel) {
return ['ToDefinition', 'FromDefinition'].includes(dsl.type) ?
'components' : (dsl.uri?.startsWith("kamelet:") ? "kamelets" : 'eip');
}
@@ -151,25 +151,30 @@ export function DslSelector(props: Props) {
const isKam = selectedToggles.includes('kamelets')
return (
<ToggleGroup aria-label="Default with single selectable"
className='navigation-selector'>
- {parentDsl !== undefined && <ToggleGroupItem
- text={
- <div style={{display: 'flex', flexDirection: 'row'}}>
- <div style={{marginRight: '6px'}}>Processors</div>
- {ready && <Badge isRead={!isEIP} className={isEIP
? "label-eip" : ""}>{eCount}</Badge>}
- </div>
- }
- buttonId="eip"
- isSelected={selectedToggles.includes('eip')}
- onChange={(_, selected) => {
- if (selected) addSelectedToggle('eip')
- else deleteSelectedToggle('eip')
- }}
- />}
+ {parentDsl !== undefined &&
+ <ToggleGroupItem
+ key='eip'
+ text={
+ <div style={{display: 'flex', flexDirection:
'row'}}>
+ <div style={{marginRight:
'6px'}}>Processors</div>
+ {ready && <Badge isRead={!isEIP}
className={isEIP ? "label-eip" : ""}>{eCount}</Badge>}
+ </div>
+ }
+ buttonId="eip"
+ isSelected={selectedToggles.includes('eip')}
+ onChange={(_, selected) => {
+ if (selected) addSelectedToggle('eip')
+ else deleteSelectedToggle('eip')
+ }}
+ />
+ }
<ToggleGroupItem
+ key='component'
text={
<div style={{display: 'flex', flexDirection: 'row'}}>
<div style={{marginRight: '6px'}}>Components</div>
- {ready && <Badge isRead={!isComp}
className={isComp ? "label-component" : ""}>{cCount}</Badge>}
+ {ready &&
+ <Badge isRead={!isComp} className={isComp ?
"label-component" : ""}>{cCount}</Badge>}
</div>
}
buttonId="components"
@@ -180,6 +185,7 @@ export function DslSelector(props: Props) {
}}
/>
<ToggleGroupItem
+ key='kamelet'
text={
<div style={{display: 'flex', flexDirection: 'row'}}>
<div style={{marginRight: '6px'}}>Kamelets</div>
@@ -239,8 +245,7 @@ export function DslSelector(props: Props) {
} else {
return true;
}
- }
- else return false;
+ } else return false;
})
.filter(d => CamelUi.checkFilter(d, filter));
@@ -275,25 +280,26 @@ export function DslSelector(props: Props) {
actions={{}}>
<PageSection padding={{default: "noPadding"}} variant={dark ?
"darker" : "light"}>
{!ready && [1, 2, 3, 4, 5, 6, 7, 8, 9].map(i =>
- <React.Fragment>
- <Skeleton width={i * 10 + '%'}
screenreaderText="Loading..."/>
+ <React.Fragment key={i}>
+ <Skeleton key={i} width={i * 10 + '%'}
screenreaderText="Loading..."/>
<br/>
</React.Fragment>)
}
<Gallery key={"fast-gallery"} hasGutter className="dsl-gallery"
minWidths={{default: '150px'}}>
{showSelector && fastElements.map((dsl: DslMetaModel,
index: number) =>
- <DslFastCard dsl={dsl} index={index}
onDslSelect={selectDsl} onDeleteFast={deleteFast}/>
+ <DslFastCard key={dsl.name + ":" + index} dsl={dsl}
index={index} onDslSelect={selectDsl} onDeleteFast={deleteFast}/>
)}
</Gallery>
<Gallery key={"gallery"} hasGutter className="dsl-gallery"
minWidths={{default: '200px'}}>
{showSelector && filteredElements.slice(0,
pageSize).map((dsl: DslMetaModel, index: number) =>
- <DslCard dsl={dsl} index={index}
onDslSelect={selectDsl}/>
+ <DslCard key={dsl.name + ":" + index} dsl={dsl}
index={index} onDslSelect={selectDsl}/>
)}
{moreElements > 0 &&
<Card isCompact isPlain isFlat isRounded
style={{minHeight: '140px'}}>
<Bullseye>
- <Button variant='link' onClick={_ =>
setPageSize(pageSize + 10)}>{`${moreElements} more`}</Button>
+ <Button variant='link'
+ onClick={_ => setPageSize(pageSize +
10)}>{`${moreElements} more`}</Button>
</Bullseye>
</Card>
}
diff --git a/karavan-space/src/designer/property/property/DslPropertyField.tsx
b/karavan-space/src/designer/property/property/DslPropertyField.tsx
index 908d2214..c8346056 100644
--- a/karavan-space/src/designer/property/property/DslPropertyField.tsx
+++ b/karavan-space/src/designer/property/property/DslPropertyField.tsx
@@ -322,7 +322,7 @@ export function DslPropertyField(props: Props) {
className="text-field route-variable" isRequired
type='text'
id={property.name} name={property.name}
- value={textValue?.toString()}
+ value={textValue?.toString() || ''}
customIcon={property.type !== 'string' ?
<Text
component={TextVariants.p}>{property.type}</Text> : undefined}
onBlur={_ => {
@@ -360,7 +360,7 @@ export function DslPropertyField(props: Props) {
type={property.secret ? "password" : "text"}
autoComplete="off"
id={property.name} name={property.name}
- value={textValue?.toString()}
+ value={textValue?.toString() || ''}
customIcon={property.type !== 'string' ?
<Text
component={TextVariants.p}>{property.type}</Text> : undefined}
onBlur={_ => {
@@ -414,7 +414,7 @@ export function DslPropertyField(props: Props) {
type={property.secret ? "password" : "text"}
autoComplete="off"
id={property.name} name={property.name}
- value={textValue?.toString()}
+ value={textValue?.toString() || ''}
customIcon={property.type !== 'string' ?
<Text
component={TextVariants.p}>{property.type}</Text> : undefined}
onBlur={_ => {
@@ -639,7 +639,7 @@ export function DslPropertyField(props: Props) {
name={property.name + "-placeholder"}
type="text"
aria-label="placeholder"
- value={!isValueBoolean ? textValue?.toString() :
undefined}
+ value={!isValueBoolean ? textValue?.toString() : ''}
onBlur={_ => propertyChanged(property.name, textValue)}
onChange={(_, v) => {
setTextValue(v);
@@ -879,7 +879,7 @@ export function DslPropertyField(props: Props) {
return (
<div>
<TextInputGroup className="input-group">
- <TextInputGroupMain value={arrayValues.get(property.name)}
+ <TextInputGroupMain value={arrayValues.get(property.name)
|| ''}
onChange={(e, v) =>
arrayChanged(property.name, v)}
onKeyUp={e => {
if (e.key === 'Enter')
arraySave(property.name)
@@ -1091,7 +1091,7 @@ export function DslPropertyField(props: Props) {
const beanProperties = element?.dslName === 'BeanFactoryDefinition' &&
property.name === 'properties'
const isSpi = property.javaType.startsWith("org.apache.camel.spi") ||
property.javaType.startsWith("org.apache.camel.AggregationStrategy");
return (
- <div>
+ <>
<FormGroup
className='dsl-property-form-group'
label={props.hideLabel ? undefined : getLabel(property, value,
isKamelet)}
@@ -1144,6 +1144,6 @@ export function DslPropertyField(props: Props) {
{beanProperties && getBeanProperties('properties')}
</FormGroup>
{getInfrastructureSelectorModal()}
- </div>
+ </>
)
}
\ No newline at end of file
diff --git a/karavan-space/src/designer/route/element/DslElement.tsx
b/karavan-space/src/designer/route/element/DslElement.tsx
index 15af1ac8..b11c693d 100644
--- a/karavan-space/src/designer/route/element/DslElement.tsx
+++ b/karavan-space/src/designer/route/element/DslElement.tsx
@@ -210,16 +210,19 @@ export function DslElement(props: Props) {
} else {
nextStep = children.at(index + 1);
}
- return (<div key={step.uuid + child.className +
index}>
- <DslElement
- inSteps={child.name === 'steps'}
- position={index}
- step={element}
- nextStep={nextStep}
- prevStep={prevStep}
- inStepsLength={array.length}
- parent={step}/>
- </div>)
+ return (
+ // <div key={step.uuid + child.className +
index}>
+ <DslElement
+ key={step.uuid + child.className +
index}
+ inSteps={child.name === 'steps'}
+ position={index}
+ step={element}
+ nextStep={nextStep}
+ prevStep={prevStep}
+ inStepsLength={array.length}
+ parent={step}/>
+ // </div>
+ )
}
)}
{child.name === 'steps' && getAddStepButton()}
diff --git a/karavan-space/src/designer/selector/DslSelector.tsx
b/karavan-space/src/designer/selector/DslSelector.tsx
index c11e9b2f..80eef199 100644
--- a/karavan-space/src/designer/selector/DslSelector.tsx
+++ b/karavan-space/src/designer/selector/DslSelector.tsx
@@ -58,7 +58,7 @@ export function DslSelector(props: Props) {
const {onDslSelect} = useRouteDesignerHook();
- const [filterShown, setFilterShown] = useState<string>('');
+ const [filterShown, setFilterShown] = useState<string>('');
const [filter, setFilter] = useDebounceValue('', 300);
const [customOnly, setCustomOnly] = useState<boolean>(false);
@@ -101,7 +101,7 @@ export function DslSelector(props: Props) {
setPreferredElements(p);
}
- function getDslMetaModelType(dsl: DslMetaModel){
+ function getDslMetaModelType(dsl: DslMetaModel) {
return ['ToDefinition', 'FromDefinition'].includes(dsl.type) ?
'components' : (dsl.uri?.startsWith("kamelet:") ? "kamelets" : 'eip');
}
@@ -151,25 +151,30 @@ export function DslSelector(props: Props) {
const isKam = selectedToggles.includes('kamelets')
return (
<ToggleGroup aria-label="Default with single selectable"
className='navigation-selector'>
- {parentDsl !== undefined && <ToggleGroupItem
- text={
- <div style={{display: 'flex', flexDirection: 'row'}}>
- <div style={{marginRight: '6px'}}>Processors</div>
- {ready && <Badge isRead={!isEIP} className={isEIP
? "label-eip" : ""}>{eCount}</Badge>}
- </div>
- }
- buttonId="eip"
- isSelected={selectedToggles.includes('eip')}
- onChange={(_, selected) => {
- if (selected) addSelectedToggle('eip')
- else deleteSelectedToggle('eip')
- }}
- />}
+ {parentDsl !== undefined &&
+ <ToggleGroupItem
+ key='eip'
+ text={
+ <div style={{display: 'flex', flexDirection:
'row'}}>
+ <div style={{marginRight:
'6px'}}>Processors</div>
+ {ready && <Badge isRead={!isEIP}
className={isEIP ? "label-eip" : ""}>{eCount}</Badge>}
+ </div>
+ }
+ buttonId="eip"
+ isSelected={selectedToggles.includes('eip')}
+ onChange={(_, selected) => {
+ if (selected) addSelectedToggle('eip')
+ else deleteSelectedToggle('eip')
+ }}
+ />
+ }
<ToggleGroupItem
+ key='component'
text={
<div style={{display: 'flex', flexDirection: 'row'}}>
<div style={{marginRight: '6px'}}>Components</div>
- {ready && <Badge isRead={!isComp}
className={isComp ? "label-component" : ""}>{cCount}</Badge>}
+ {ready &&
+ <Badge isRead={!isComp} className={isComp ?
"label-component" : ""}>{cCount}</Badge>}
</div>
}
buttonId="components"
@@ -180,6 +185,7 @@ export function DslSelector(props: Props) {
}}
/>
<ToggleGroupItem
+ key='kamelet'
text={
<div style={{display: 'flex', flexDirection: 'row'}}>
<div style={{marginRight: '6px'}}>Kamelets</div>
@@ -239,8 +245,7 @@ export function DslSelector(props: Props) {
} else {
return true;
}
- }
- else return false;
+ } else return false;
})
.filter(d => CamelUi.checkFilter(d, filter));
@@ -275,25 +280,26 @@ export function DslSelector(props: Props) {
actions={{}}>
<PageSection padding={{default: "noPadding"}} variant={dark ?
"darker" : "light"}>
{!ready && [1, 2, 3, 4, 5, 6, 7, 8, 9].map(i =>
- <React.Fragment>
- <Skeleton width={i * 10 + '%'}
screenreaderText="Loading..."/>
+ <React.Fragment key={i}>
+ <Skeleton key={i} width={i * 10 + '%'}
screenreaderText="Loading..."/>
<br/>
</React.Fragment>)
}
<Gallery key={"fast-gallery"} hasGutter className="dsl-gallery"
minWidths={{default: '150px'}}>
{showSelector && fastElements.map((dsl: DslMetaModel,
index: number) =>
- <DslFastCard dsl={dsl} index={index}
onDslSelect={selectDsl} onDeleteFast={deleteFast}/>
+ <DslFastCard key={dsl.name + ":" + index} dsl={dsl}
index={index} onDslSelect={selectDsl} onDeleteFast={deleteFast}/>
)}
</Gallery>
<Gallery key={"gallery"} hasGutter className="dsl-gallery"
minWidths={{default: '200px'}}>
{showSelector && filteredElements.slice(0,
pageSize).map((dsl: DslMetaModel, index: number) =>
- <DslCard dsl={dsl} index={index}
onDslSelect={selectDsl}/>
+ <DslCard key={dsl.name + ":" + index} dsl={dsl}
index={index} onDslSelect={selectDsl}/>
)}
{moreElements > 0 &&
<Card isCompact isPlain isFlat isRounded
style={{minHeight: '140px'}}>
<Bullseye>
- <Button variant='link' onClick={_ =>
setPageSize(pageSize + 10)}>{`${moreElements} more`}</Button>
+ <Button variant='link'
+ onClick={_ => setPageSize(pageSize +
10)}>{`${moreElements} more`}</Button>
</Bullseye>
</Card>
}