Skip to content

Commit a81e175

Browse files
author
FalkWolsky
committed
Pushing from header to left meno bar
1 parent fc6cd84 commit a81e175

File tree

5 files changed

+66
-31
lines changed

5 files changed

+66
-31
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { isContainer } from "comps/comps/containerBase";
22
import { RootComp as RootCompTmp } from "comps/comps/rootComp";
33
import { PositionParams } from "layout";
44
import _ from "lodash";
5-
import React, { ReactNode, useContext } from "react";
5+
import React, { ReactNode } from "react";
66
import {
77
BottomResComp,
88
BottomResListComp,

client/packages/lowcoder/src/pages/common/header.tsx

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -287,29 +287,34 @@ function HeaderProfile(props: { user: User }) {
287287

288288
export type PanelStatus = { left: boolean; bottom: boolean; right: boolean };
289289
export type TogglePanel = (panel?: keyof PanelStatus) => void;
290-
export type EnabledCollissionStatus = "true" | "false";
290+
291291
export type EditorModeStatus = "layout" | "logic" | "both";
292292
export type ToggleEditorModeStatus = (
293293
editorModeStatus?: EditorModeStatus
294294
) => void;
295+
296+
/*
297+
// export type EnabledCollissionStatus = "true" | "false";
295298
export type ToggleCollissionStatus = (
296299
collissionStatus?: EnabledCollissionStatus
297-
) => void;
300+
) => void;
301+
*/
298302

299303
type HeaderProps = {
300304
panelStatus: PanelStatus;
301305
togglePanel: TogglePanel;
302306
editorModeStatus: EditorModeStatus;
303307
toggleEditorModeStatus: ToggleEditorModeStatus;
304-
collissionStatus: EnabledCollissionStatus;
305-
toggleCollissionStatus: ToggleCollissionStatus;
308+
// collissionStatus: EnabledCollissionStatus;
309+
// toggleCollissionStatus: ToggleCollissionStatus;
306310
};
307311

308312
// header in editor page
309313
export default function Header(props: HeaderProps) {
310314
const editorState = useContext(EditorContext);
311315
const { togglePanel } = props;
312-
const { toggleEditorModeStatus, toggleCollissionStatus } = props;
316+
const { toggleEditorModeStatus } = props;
317+
// const { toggleCollissionStatus } = props;
313318
const { left, bottom, right } = props.panelStatus;
314319
const user = useSelector(getUser);
315320
const application = useSelector(currentApplication);
@@ -413,18 +418,7 @@ export default function Header(props: HeaderProps) {
413418

414419
const headerMiddle = (
415420
<>
416-
<>
417-
<p style={{ color: "#ffffff", marginTop: "10px" }}>
418-
Layers
419-
</p>
420-
<Switch
421-
checked={props.collissionStatus == "true"}
422-
disabled={false}
423-
onChange={(value: any) => {
424-
toggleCollissionStatus(value == true ? "true" : "false");
425-
editorState.setCollissionStatus(value == true ? "true" : "false");
426-
}}
427-
/>
421+
<>
428422
</>
429423
<Radio.Group
430424
onChange={onEditorStateValueChange}

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,15 +63,16 @@ export default function EditorSkeletonView() {
6363
<Header
6464
panelStatus={panelStatus}
6565
togglePanel={_.noop}
66-
collissionStatus={collissionStatus}
67-
toggleCollissionStatus={_.noop}
6866
editorModeStatus={editorModeStatus}
6967
toggleEditorModeStatus={_.noop}
7068
/>
7169
<Body>
7270
<SiderStyled />
7371
{panelStatus.left && (
74-
<LeftPanel>
72+
<LeftPanel
73+
collissionStatus={collissionStatus}
74+
toggleCollissionStatus={_.noop}
75+
>
7576
<StyledSkeleton active paragraph={{ rows: 10 }} />
7677
</LeftPanel>
7778
)}

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

Lines changed: 48 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,7 @@ import Header, {
2020
PanelStatus,
2121
TogglePanel,
2222
EditorModeStatus,
23-
ToggleEditorModeStatus,
24-
EnabledCollissionStatus,
25-
ToggleCollissionStatus,
23+
ToggleEditorModeStatus
2624
} from "pages/common/header";
2725
import { HelpDropdown } from "pages/common/help";
2826
import { PreviewHeader } from "pages/common/previewHeader";
@@ -76,6 +74,8 @@ import {
7674
import Bottom from "./bottom/BottomPanel";
7775
import { LeftContent } from "./LeftContent";
7876
import { isAggregationApp } from "util/appUtils";
77+
import { Switch } from "antd";
78+
import { SwitchChangeEventHandler } from "antd/es/switch";
7979

8080
const HookCompContainer = styled.div`
8181
pointer-events: none;
@@ -141,6 +141,16 @@ const HelpDiv = styled.div`
141141
}
142142
}
143143
`;
144+
145+
const LayoutMenuDiv = styled.div`
146+
> div {
147+
left: 6px;
148+
right: auto;
149+
height: 28px;
150+
top: 15px;
151+
}
152+
`;
153+
144154
const SettingsDiv = styled.div`
145155
display: flex;
146156
flex-direction: column;
@@ -200,6 +210,7 @@ interface EditorViewProps {
200210
enum SiderKey {
201211
State = "state",
202212
Setting = "setting",
213+
Layout = "layout",
203214
}
204215

205216
const items = [
@@ -211,8 +222,18 @@ const items = [
211222
key: SiderKey.Setting,
212223
icon: <LeftSettingIcon />,
213224
},
225+
{
226+
key: SiderKey.Layout,
227+
icon: <LeftSettingIcon />,
228+
},
214229
];
215230

231+
// added by Fred to set comp collision state
232+
export type EnabledCollissionStatus = "true" | "false"; // "true" means collission is enabled, "false" means collission is disabled
233+
export type ToggleCollissionStatus = (
234+
collissionStatus?: EnabledCollissionStatus
235+
) => void;
236+
216237
function EditorView(props: EditorViewProps) {
217238
const { uiComp } = props;
218239
const editorState = useContext(EditorContext);
@@ -259,7 +280,7 @@ function EditorView(props: EditorViewProps) {
259280
[panelStatus, prePanelStatus]
260281
);
261282

262-
// added by Fred to set comp collision state
283+
263284
const [collisionStatus, setCollisionStatus] = useState(() => {
264285
return showCollission ? DefaultCollissionStatus : getCollissionStatus();
265286
});
@@ -381,9 +402,7 @@ function EditorView(props: EditorViewProps) {
381402
togglePanel={togglePanel}
382403
panelStatus={panelStatus}
383404
toggleEditorModeStatus={toggleEditorModeStatus}
384-
toggleCollissionStatus={toggleCollissionStatus}
385-
editorModeStatus={editorModeStatus}
386-
collissionStatus={collisionStatus}
405+
editorModeStatus={editorModeStatus}
387406
/>
388407
<Helmet>{application && <title>{application.name}</title>}</Helmet>
389408
{showNewUserGuide && <EditorTutorials />}
@@ -395,7 +414,8 @@ function EditorView(props: EditorViewProps) {
395414
>
396415
<Body>
397416
<SiderWrapper>
398-
<Sider width={40}>
417+
<Sider width={40} >
418+
399419
<Menu
400420
theme="dark"
401421
mode="inline"
@@ -404,7 +424,9 @@ function EditorView(props: EditorViewProps) {
404424
items={items}
405425
disabled={showAppSnapshot}
406426
onClick={(params) => clickMenu(params)}
407-
/>
427+
>
428+
</Menu>
429+
408430
{!showAppSnapshot && (
409431
<HelpDiv>
410432
<HelpDropdown
@@ -451,6 +473,23 @@ function EditorView(props: EditorViewProps) {
451473
{props.preloadComp.getJSLibraryPropertyView()}
452474
</SettingsDiv>
453475
)}
476+
477+
478+
479+
{menuKey === SiderKey.Layout && (
480+
<SettingsDiv>
481+
<Switch
482+
checked={editorState.collissionStatus == "true"}
483+
disabled={false}
484+
onChange={(value: any) => {
485+
toggleCollissionStatus(value == true ? "true" : "false");
486+
editorState.setCollissionStatus(value == true ? "true" : "false");
487+
}}
488+
/>
489+
<Divider />
490+
</SettingsDiv>
491+
)}
492+
454493
</LeftPanel>
455494
)}
456495
<MiddlePanel>

client/packages/lowcoder/src/util/localStorageUtil.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import { EnabledCollissionStatus, PanelStatus } from "pages/common/header";
1+
import { PanelStatus } from "pages/common/header";
2+
import { EnabledCollissionStatus } from "pages/editor/editorView";
23
import { EditorModeStatus } from "pages/common/header";
34
import log from "loglevel";
45
import { JSONValue } from "util/jsonTypes";

0 commit comments

Comments
 (0)