diff --git a/app/app.js b/app/app.js
index 5ee6b93..bccb4e2 100644
--- a/app/app.js
+++ b/app/app.js
@@ -102,6 +102,7 @@ const Workspace = ({ panels = [], selectedPanel, children } = {}) => {
panels={panels}
selectedPanel={selectedPanel}
caption={appState.appBarTitle}
+ showAppBar={appState.appBarShow}
onHomeNavigate={handleHomeNavigate}
onItemNavigate={handleItemNavigate}
>
diff --git a/app/components/p8p_app_workspace.js b/app/components/p8p_app_workspace.js
index dd35fb8..2d42859 100644
--- a/app/components/p8p_app_workspace.js
+++ b/app/components/p8p_app_workspace.js
@@ -47,7 +47,17 @@ const STYLES = {
//-----------
//Рабочее пространство
-const P8PAppWorkspace = ({ children, panels = [], selectedPanel, caption, closeCaption, homeCaption, onHomeNavigate, onItemNavigate } = {}) => {
+const P8PAppWorkspace = ({
+ children,
+ panels = [],
+ selectedPanel,
+ caption,
+ showAppBar = true,
+ closeCaption,
+ homeCaption,
+ onHomeNavigate,
+ onItemNavigate
+} = {}) => {
//Собственное состояния
const [open, setOpen] = useState(false);
@@ -73,42 +83,46 @@ const P8PAppWorkspace = ({ children, panels = [], selectedPanel, caption, closeC
//Генерация содержимого
return (
-
-
-
-
- {open ? "chevron_left" : "menu"}
-
-
- {caption || selectedPanel?.caption}
-
-
-
-
-
-
-
- close
-
-
-
-
-
- home
-
-
-
-
-
-
+ {showAppBar && (
+ <>
+
+
+
+
+ {open ? "chevron_left" : "menu"}
+
+
+ {caption || selectedPanel?.caption}
+
+
+
+
+
+
+
+ close
+
+
+
+
+
+ home
+
+
+
+
+
+
+ >
+ )}
-
+ {showAppBar && }
{children}
@@ -121,6 +135,7 @@ P8PAppWorkspace.propTypes = {
panels: PropTypes.arrayOf(P8P_PANELS_MENU_PANEL_SHAPE).isRequired,
selectedPanel: P8P_PANELS_MENU_PANEL_SHAPE,
caption: PropTypes.string,
+ showAppBar: PropTypes.bool,
closeCaption: PropTypes.string.isRequired,
homeCaption: PropTypes.string.isRequired,
onHomeNavigate: PropTypes.func,
diff --git a/app/context/application.js b/app/context/application.js
index db0bd4c..fd9214e 100644
--- a/app/context/application.js
+++ b/app/context/application.js
@@ -59,6 +59,9 @@ export const ApplicationContext = ({ errors, displaySizeGetter, guidGenerator, c
//Установка заголовка в шапке приложения
const setAppBarTitle = useCallback(appBarTitle => dispatch({ type: APP_AT.SET_APP_BAR_TITLE, payload: appBarTitle }), []);
+ //Установка флага отображения шапки приложения
+ const setAppBarShow = useCallback(appBarShow => dispatch({ type: APP_AT.SET_APP_BAR_SHOW, payload: appBarShow }), []);
+
//Поиск раздела по имени
const findPanelByName = name => state.panels.find(panel => panel.name == name);
@@ -173,6 +176,7 @@ export const ApplicationContext = ({ errors, displaySizeGetter, guidGenerator, c
({
displaySize: displaySizeGetter(),
appBarTitle: "",
+ appBarShow: true,
urlBase: "",
panels: [],
panelsLoaded: false,
@@ -50,6 +52,8 @@ const handlers = {
[APP_AT.SET_DISPLAY_SIZE]: (state, { payload }) => ({ ...state, displaySize: payload }),
//Установка заголовка в шапке приложения
[APP_AT.SET_APP_BAR_TITLE]: (state, { payload }) => ({ ...state, appBarTitle: payload }),
+ //Установка флага отображения шапки приложения
+ [APP_AT.SET_APP_BAR_SHOW]: (state, { payload }) => ({ ...state, appBarShow: payload }),
//Обработчик по умолчанию
DEFAULT: state => state
};