Skip to content

Commit 005f65f

Browse files
add showHeaderInPublic switch in app setting
1 parent 3b4a1a3 commit 005f65f

File tree

3 files changed

+18
-4
lines changed

3 files changed

+18
-4
lines changed

client/packages/lowcoder/src/comps/comps/appSettingsComp.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ import { StringControl } from "comps/controls/codeControl";
1818
import { IconControl } from "comps/controls/iconControl";
1919
import { dropdownControl } from "comps/controls/dropdownControl";
2020
import { ApplicationCategoriesEnum } from "constants/applicationConstants";
21+
import { BoolControl } from "../controls/boolControl";
2122

2223
const TITLE = trans("appSetting.title");
2324
const USER_DEFINE = "__USER_DEFINE";
@@ -182,6 +183,7 @@ const childrenMap = {
182183
description: withDefault(StringControl, ''),
183184
icon: IconControl,
184185
category: dropdownControl(AppCategories, ApplicationCategoriesEnum.BUSINESS),
186+
showHeaderInPublic: withDefault(BoolControl, true),
185187
maxWidth: dropdownInputSimpleControl(OPTIONS, USER_DEFINE, "1920"),
186188
themeId: valueComp<string>(DEFAULT_THEMEID),
187189
customShortcuts: CustomShortcutsComp,
@@ -202,6 +204,7 @@ function AppSettingsModal(props: ChildrenInstance) {
202204
description,
203205
icon,
204206
category,
207+
showHeaderInPublic,
205208
} = props;
206209
const THEME_OPTIONS = themeList?.map((theme) => ({
207210
label: theme.name,
@@ -255,6 +258,11 @@ function AppSettingsModal(props: ChildrenInstance) {
255258
tooltip: trans("aggregation.iconTooltip"),
256259
})}
257260
</div>
261+
<div style={{ margin: '20px 0'}}>
262+
{showHeaderInPublic.propertyView({
263+
label: trans("appSetting.showPublicHeader"),
264+
})}
265+
</div>
258266
{maxWidth.propertyView({
259267
dropdownLabel: trans("appSetting.canvasMaxWidth"),
260268
inputLabel: trans("appSetting.userDefinedMaxWidth"),

client/packages/lowcoder/src/i18n/locales/en.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2087,6 +2087,7 @@ export const en = {
20872087
"appTitle": "Title",
20882088
"appDescription": "Description",
20892089
"appCategory": "Category",
2090+
"showPublicHeader": "Show header in public view"
20902091
},
20912092
"customShortcut": {
20922093
"title": "Custom Shortcuts",

client/packages/lowcoder/src/pages/editor/editorView.tsx

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { default as Sider} from "antd/es/layout/Sider";
44
import { PreloadComp } from "comps/comps/preLoadComp";
55
import UIComp from "comps/comps/uiComp";
66
import { EditorContext } from "comps/editorState";
7-
import { AppUILayoutType } from "constants/applicationConstants";
7+
import { AppPathParams, AppUILayoutType } from "constants/applicationConstants";
88
import { Layers } from "constants/Layers";
99
import { TopHeaderHeight } from "constants/style";
1010
import { trans } from "i18n";
@@ -38,7 +38,7 @@ import React, {
3838
} from "react";
3939
import { Helmet } from "react-helmet";
4040
import { useDispatch, useSelector } from "react-redux";
41-
import { useLocation } from "react-router-dom";
41+
import { useLocation, useParams } from "react-router-dom";
4242
import { setEditorExternalStateAction } from "redux/reduxActions/configActions";
4343
import { currentApplication } from "redux/selectors/applicationSelector";
4444
import { showAppSnapshotSelector } from "redux/selectors/appSnapshotSelector";
@@ -274,6 +274,7 @@ const aggregationSiderItems = [
274274

275275
function EditorView(props: EditorViewProps) {
276276
const { uiComp } = props;
277+
const params = useParams<AppPathParams>();
277278
const editorState = useContext(EditorContext);
278279
const { readOnly, hideHeader } = useContext(ExternalEditorContext);
279280
const application = useSelector(currentApplication);
@@ -296,6 +297,11 @@ function EditorView(props: EditorViewProps) {
296297
const [prePanelStatus, setPrePanelStatus] =
297298
useState<PanelStatus>(DefaultPanelStatus);
298299

300+
const isViewMode = params.viewMode === 'view';
301+
302+
const appSettingsComp = editorState.getAppSettingsComp();
303+
const { showHeaderInPublic } = appSettingsComp.getView();
304+
299305
const togglePanel: TogglePanel = useCallback(
300306
(key) => {
301307
let newPanelStatus;
@@ -363,7 +369,7 @@ function EditorView(props: EditorViewProps) {
363369
return () => window.removeEventListener(eventType, updateSize);
364370
}, []);
365371

366-
const hideBodyHeader = useTemplateViewMode();
372+
const hideBodyHeader = useTemplateViewMode() || (isViewMode && !showHeaderInPublic);
367373

368374
// we check if we are on the public cloud
369375
const isLowCoderDomain = window.location.hostname === 'app.lowcoder.cloud';
@@ -430,7 +436,6 @@ function EditorView(props: EditorViewProps) {
430436
savePanelStatus({ ...panelStatus, left });
431437
setMenuKey(params.key);
432438
};
433-
const appSettingsComp = editorState.getAppSettingsComp();
434439

435440
return (
436441
<Height100Div

0 commit comments

Comments
 (0)