diff --git a/core/src/navigation/LogoTitle.svelte b/core/src/navigation/LogoTitle.svelte
index 407518590b..f39dd1821c 100644
--- a/core/src/navigation/LogoTitle.svelte
+++ b/core/src/navigation/LogoTitle.svelte
@@ -2,7 +2,7 @@
import { beforeUpdate, createEventDispatcher, onMount, getContext } from 'svelte';
import * as Header from './services/header';
import { Routing } from '../services/routing';
- import { NavigationHelpers, RoutingHelpers } from '../utilities/helpers';
+ import { NavigationHelpers, RoutingHelpers, GenericHelpers } from '../utilities/helpers';
const dispatch = createEventDispatcher();
@@ -15,15 +15,22 @@
export let selectedItem;
export let defaultTitle;
export let appSwitcherItems;
+ export let itemRenderer;
export let pathParams;
export let subTitle;
export let defaultSubTitle;
export let pathData;
export let addNavHrefForAnchor;
+ let customItemRenderer__slotContainer;
let previousPathData;
let getUnsavedChangesModalPromise = getContext('getUnsavedChangesModalPromise');
let getTranslation = getContext('getTranslation');
let store = getContext('store');
+ const appSwitcherApiObj = {
+ closeDropDown: () => {
+ toggleDropdownState('appSwitcherPopover');
+ }
+ }
//TODO refactor
const getComponentWrapper = () => {
@@ -33,6 +40,7 @@
pathData,
pathParams,
appSwitcherItems,
+ itemRenderer,
selectedItem,
defaultTitle,
title,
@@ -51,6 +59,8 @@
pathData = obj.pathData;
} else if (prop === 'appSwitcherItems') {
appSwitcherItems = obj.appSwitcherItems;
+ } else if (prop === 'itemRenderer') {
+ itemRenderer = obj.itemRenderer;
} else if (prop === 'pathParams') {
pathParams = obj.pathParams;
} else if (prop === 'selectedItem') {
@@ -90,6 +100,15 @@
}
});
+ function renderCustomList(item, slot, index){
+ setTimeout(()=>{
+ if(slot){
+ itemRenderer(item, slot.children[index], appSwitcherApiObj);
+ }
+ });
+ return '';
+ }
+
export function goTo(path) {
getUnsavedChangesModalPromise().then(() => {
Routing.navigateTo(RoutingHelpers.applyPathParams(path, pathParams));
@@ -138,8 +157,9 @@
? 'fd-shellbar__logo--image-replaced'
: ''} {hasLogo ? 'lui-customlogo' : ''}"
aria-label={title}
- on:click={(event) => {
- NavigationHelpers.handleNavAnchorClickedWithoutMetaKey(event) && goTo('/');
+ on:click={event => {
+ NavigationHelpers.handleNavAnchorClickedWithoutMetaKey(event) &&
+ goTo('/');
}}
href="/"
role="button"
@@ -170,8 +190,9 @@
{
- NavigationHelpers.handleNavAnchorClickedWithoutMetaKey(event) && goTo('/');
+ on:click={event => {
+ NavigationHelpers.handleNavAnchorClickedWithoutMetaKey(event) &&
+ goTo('/');
}}
href="/"
>
@@ -191,8 +212,9 @@
{#if addNavHrefForAnchor}
{#if appSwitcherItems && appSwitcherItems.length === 1}
+ href={getRouteLink(appSwitcherItems[0])}
+ class="fd-shellbar__title lui-shellbar-single-app-title"
+ >
{$getTranslation(appSwitcherItems[0].title)}
@@ -262,7 +284,10 @@
id="appSwitcherPopover"
>