diff --git a/npm/ng-packs/packages/theme-basic/src/lib/actions/layout.actions.ts b/npm/ng-packs/packages/theme-basic/src/lib/actions/layout.actions.ts
index 899953b86d..ddc901fc6e 100644
--- a/npm/ng-packs/packages/theme-basic/src/lib/actions/layout.actions.ts
+++ b/npm/ng-packs/packages/theme-basic/src/lib/actions/layout.actions.ts
@@ -4,3 +4,8 @@ export class LayoutAddNavigationElement {
static readonly type = '[Layout] Add Navigation Element';
constructor(public payload: Layout.NavigationElement | Layout.NavigationElement[]) {}
}
+
+export class LayoutRemoveNavigationElementByName {
+ static readonly type = '[Layout] Remove Navigation ElementByName';
+ constructor(public name: string) {}
+}
diff --git a/npm/ng-packs/packages/theme-basic/src/lib/components/layout-application/layout-application.component.html b/npm/ng-packs/packages/theme-basic/src/lib/components/layout-application/layout-application.component.html
index 60712cee30..be9eee5775 100644
--- a/npm/ng-packs/packages/theme-basic/src/lib/components/layout-application/layout-application.component.html
+++ b/npm/ng-packs/packages/theme-basic/src/lib/components/layout-application/layout-application.component.html
@@ -89,10 +89,6 @@
-
-
-
-
@@ -120,4 +116,8 @@
Logout
+
+
+
+
diff --git a/npm/ng-packs/packages/theme-basic/src/lib/states/layout.state.ts b/npm/ng-packs/packages/theme-basic/src/lib/states/layout.state.ts
index 42ba5f46be..97a0825481 100644
--- a/npm/ng-packs/packages/theme-basic/src/lib/states/layout.state.ts
+++ b/npm/ng-packs/packages/theme-basic/src/lib/states/layout.state.ts
@@ -1,5 +1,5 @@
import { State, Action, StateContext, Selector } from '@ngxs/store';
-import { LayoutAddNavigationElement } from '../actions/layout.actions';
+import { LayoutAddNavigationElement, LayoutRemoveNavigationElementByName } from '../actions/layout.actions';
import { Layout } from '../models/layout';
import { TemplateRef } from '@angular/core';
import snq from 'snq';
@@ -15,7 +15,7 @@ export class LayoutState {
}
@Action(LayoutAddNavigationElement)
- layoutAction({ getState, patchState }: StateContext, { payload = [] }: LayoutAddNavigationElement) {
+ layoutAddAction({ getState, patchState }: StateContext, { payload = [] }: LayoutAddNavigationElement) {
let { navigationElements } = getState();
if (!Array.isArray(payload)) {
@@ -42,4 +42,22 @@ export class LayoutState {
navigationElements,
});
}
+
+ @Action(LayoutRemoveNavigationElementByName)
+ layoutRemoveAction(
+ { getState, patchState }: StateContext,
+ { name }: LayoutRemoveNavigationElementByName,
+ ) {
+ let { navigationElements } = getState();
+
+ const index = navigationElements.findIndex(element => element.name === name);
+
+ if (index > -1) {
+ navigationElements = navigationElements.splice(index, 1);
+ }
+
+ return patchState({
+ navigationElements,
+ });
+ }
}