function getHeader()

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>
        )
    }