({
template: hbs`
-
+
<:content as |sidebar|>
diff --git a/addon/components/o-s-s/layout/sidebar.ts b/addon/components/o-s-s/layout/sidebar.ts
index eff2ec6c3..4806a2cd0 100644
--- a/addon/components/o-s-s/layout/sidebar.ts
+++ b/addon/components/o-s-s/layout/sidebar.ts
@@ -18,6 +18,7 @@ interface OSSLayoutSidebarArgs {
logo?: string;
homeURL?: string;
expandable?: boolean;
+ alwaysExpanded?: boolean;
}
export default class OSSLayoutSidebar extends Component {
@@ -41,6 +42,10 @@ export default class OSSLayoutSidebar extends Component {
return classes.join(' ');
}
+ get displayExpandedStateToggle(): boolean {
+ return Boolean(this.args.expandable) && !this.args.alwaysExpanded;
+ }
+
@action
toggleExpandedState(): void {
this.expanded = !this.expanded;
@@ -52,7 +57,9 @@ export default class OSSLayoutSidebar extends Component {
}
private initializeSidebarState(): void {
- this.expanded = Boolean(this.args.expandable) && this.upfLocalStorage.getItem(SIDEBAR_EXPANDED_STATE) !== 'false';
+ this.expanded =
+ this.args.alwaysExpanded ||
+ (Boolean(this.args.expandable) && this.upfLocalStorage.getItem(SIDEBAR_EXPANDED_STATE) !== 'false');
document.documentElement.style.setProperty(
'--sidebar-width',
'var(--sidebar-' + (this.expanded ? 'expanded' : 'default') + '-width)'
diff --git a/addon/components/o-s-s/layout/sidebar/group.hbs b/addon/components/o-s-s/layout/sidebar/group.hbs
index e38294490..fb0f9f8f4 100644
--- a/addon/components/o-s-s/layout/sidebar/group.hbs
+++ b/addon/components/o-s-s/layout/sidebar/group.hbs
@@ -59,8 +59,10 @@
@locked={{item.locked}}
@hasNotifications={{item.hasNotifications}}
@link={{item.link}}
+ @routePrefix={{item.routePrefix}}
@lockedAction={{item.lockedAction}}
@action={{item.action}}
+ @disableAutoActive={{item.disableAutoActive}}
data-control-name={{item.dataControlName}}
class={{if item.active "active"}}
/>
diff --git a/addon/components/o-s-s/layout/sidebar/group.ts b/addon/components/o-s-s/layout/sidebar/group.ts
index 1ffa5af48..d02295dc0 100644
--- a/addon/components/o-s-s/layout/sidebar/group.ts
+++ b/addon/components/o-s-s/layout/sidebar/group.ts
@@ -9,8 +9,10 @@ export type GroupItem = {
label?: string;
hasNotifications?: boolean;
link: string;
+ routePrefix?: string;
active: boolean;
dataControlName?: string;
+ disableAutoActive?: boolean;
lockedAction?(): unknown;
action?(): void;
};
diff --git a/addon/components/o-s-s/layout/sidebar/item.hbs b/addon/components/o-s-s/layout/sidebar/item.hbs
index 19a864cb3..c4ee48e28 100644
--- a/addon/components/o-s-s/layout/sidebar/item.hbs
+++ b/addon/components/o-s-s/layout/sidebar/item.hbs
@@ -1,5 +1,7 @@
{{yield (hash expanded=@expanded) to="icon"}}
- {{else}}
+ {{else if @icon}}
{{/if}}
-