in karavan-app/src/main/webui/src/designer/route/element/DslElementHeader.tsx [222:272]
function getHeader() {
const parent = props.parent;
const inRouteConfiguration = parent !== undefined && parent.dslName === 'RouteConfigurationDefinition';
const showAddButton = !['CatchDefinition', 'RouteTemplateDefinition', 'RouteDefinition'].includes(step.dslName) && availableModels.length > 0;
const showInsertButton =
!['FromDefinition', 'RouteConfigurationDefinition', 'RouteTemplateDefinition', 'RouteDefinition', 'CatchDefinition', 'FinallyDefinition', 'WhenDefinition', 'OtherwiseDefinition'].includes(step.dslName)
&& !inRouteConfiguration;
const showDeleteButton = !('RouteDefinition' === step.dslName && 'RouteTemplateDefinition' === parent?.dslName);
const showCopyButton = !['FromDefinition', 'RouteConfigurationDefinition', 'RouteTemplateDefinition', 'RouteDefinition', 'CatchDefinition', 'FinallyDefinition', 'WhenDefinition', 'OtherwiseDefinition'].includes(step.dslName)
const showDisableButton = Object.getOwnPropertyNames(step).includes('disabled')
const showAutoStartupButton = Object.getOwnPropertyNames(step).includes('autoStartup')
const headerClasses = getHeaderClasses();
const childrenInfo = getChildrenInfo(step) || [];
const hasWideChildrenElement = getHasWideChildrenElement(childrenInfo)
return (
<div className={"dsl-element " + headerClasses} style={getHeaderStyle()} ref={props.headerRef}>
{!['RouteConfigurationDefinition', 'RouteTemplateDefinition', 'RouteDefinition'].includes(step.dslName) &&
<div
className={getHeaderIconClasses()}
style={isWide() ? {width: ""} : {}}>
{CamelUi.getIconForElement(step)}
</div>
}
{'RouteDefinition' === step.dslName &&
<div className={"route-icons"}>
{(step as any).autoStartup === false && <AutoStartupFalseIcon/>}
{(step as any).errorHandler !== undefined && <ErrorHandlerIcon/>}
</div>
}
{'RouteDefinition' === step.dslName && getAutoStartupButton()}
{'RouteConfigurationDefinition' === step.dslName &&
<div className={"route-icons"}>
{(step as any).errorHandler !== undefined && <ErrorHandlerIcon/>}
</div>
}
{'RouteTemplateDefinition' === step.dslName &&
<div style={{height: '10px'}}></div>
}
<div className={hasWideChildrenElement ? "header-text" : ""}>
{hasWideChildrenElement && <div className="spacer"/>}
{getHeaderTextWithTooltip(step, hasWideChildrenElement)}
</div>
{!isDebugging && showInsertButton && getInsertElementButton()}
{!isDebugging && showDeleteButton && getDeleteButton()}
{!isDebugging && showAddButton && getAddElementButton()}
{!isDebugging && showCopyButton && getCopyElementButton()}
{!isDebugging && showDisableButton && getDisableStepButton()}
</div>
)
}