Skip to content

Commit d7bac52

Browse files
release prep - supports scoped codegen
1 parent cf9edf8 commit d7bac52

13 files changed

Lines changed: 104 additions & 28 deletions

File tree

editor/components/app-runner/app-runner.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ export function AppRunner(props: {
5353
overflow: "hidden",
5454
width: viewportsize.width || sceneSize.w || "100%",
5555
height: viewportsize.height || sceneSize.h || "100%",
56-
boxShadow: "0px 0px 48px #63636328",
56+
boxShadow: "0px 0px 48px #00000020",
5757
}}
5858
>
5959
<DedicatedFrameworkRunner

editor/components/codeui-code-options-control/code-options-control.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ export function CodeOptionsControl(props: CodeOptionsControlProps) {
3131
all_preset_options_map__prod[__presetname]
3232
);
3333

34+
useEffect(() => {
35+
// trigger initial value
36+
props.onUseroptionChange(useroption);
37+
}, []);
38+
3439
// FIXME: this should be fixed on https://github.com/gridaco/code-like-ui (view CURSOR)
3540
const __dirty_sort_framework = (): Option<string>[] => {
3641
const presets = [

editor/components/editor/editor-appbar/editor-appbar-fragment-for-canvas.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
import React from "react";
22
import styled from "@emotion/styled";
3+
import { useEditorState } from "core/states";
34

45
export function AppbarFragmentForCanvas() {
6+
const [state] = useEditorState();
57
return (
68
<RootWrapperAppbarFragmentForCanvas>
7-
<MusicAppHomeScreen>@music-app / home-screen</MusicAppHomeScreen>
9+
<Breadcrumbs>{state.design?.current?.name}</Breadcrumbs>
810
</RootWrapperAppbarFragmentForCanvas>
911
);
1012
}
@@ -22,7 +24,7 @@ const RootWrapperAppbarFragmentForCanvas = styled.div`
2224
padding: 10px 24px;
2325
`;
2426

25-
const MusicAppHomeScreen = styled.span`
27+
const Breadcrumbs = styled.span`
2628
text-overflow: ellipsis;
2729
font-size: 14px;
2830
color: grey;

editor/components/editor/editor-layer-hierarchy/editor-layer-hierarchy-tree.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
1-
import React, { memo, useCallback, useMemo, useState } from "react";
1+
import React, { memo, useCallback, useMemo, useReducer, useState } from "react";
22

33
import styled from "@emotion/styled";
44
import { TreeView } from "@editor-ui/editor";
5-
import { ListView } from "@editor-ui/listview";
65
import { LayerRow } from "./editor-layer-hierarchy-item";
76
import { useEditorState } from "core/states";
7+
import { useDispatch } from "core/dispatch";
88

99
export function EditorLayerHierarchy() {
1010
const [state] = useEditorState();
11+
const dispatch = useDispatch();
1112
const root = state.design?.current?.entry;
1213
const layers = root ? flatten(root) : [];
13-
const [selected, setSelected] = useState<string | null>(null);
1414

1515
const renderItem = useCallback(
1616
({ id, name, depth }) => {
@@ -21,19 +21,19 @@ export function EditorLayerHierarchy() {
2121
id={id}
2222
expanded={haschildren(id) == true ? true : undefined}
2323
key={id}
24-
selected={selected == id}
24+
selected={state?.selectedNodes?.includes(id)}
2525
onAddClick={() => {}}
2626
onMenuClick={() => {}}
2727
onDoubleClick={() => {}}
2828
onPress={() => {
29-
setSelected(id);
29+
dispatch({ type: "select-node", node: id });
3030
}}
3131
onSelectMenuItem={() => {}}
3232
onContextMenu={() => {}}
3333
/>
3434
);
3535
},
36-
[selected]
36+
[state?.selectedNodes]
3737
);
3838

3939
const haschildren = useCallback((id: string) => {

editor/components/editor/editor-sidebar/editor-sidebar.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { EditorLayerHierarchy } from "../editor-layer-hierarchy";
66
export function EditorSidebar() {
77
return (
88
<SideNavigation>
9-
<EditorAppbarFragments.Sidebar />
9+
{/* <EditorAppbarFragments.Sidebar /> */}
1010
<EditorLayerHierarchy />
1111
</SideNavigation>
1212
);

editor/core/actions/index.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,18 @@ export type HistoryAction =
1111

1212
export type Action =
1313
//
14-
PageAction;
14+
| PageAction
15+
//
16+
| SelectNodeAction;
1517

1618
export type ActionType = Action["type"];
1719

20+
export type HierarchyAction = SelectNodeAction;
21+
export interface SelectNodeAction {
22+
type: "select-node";
23+
node: string;
24+
}
25+
1826
export type PageAction = SelectPageAction;
1927

2028
export interface SelectPageAction {

editor/core/reducers/editor-reducer.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
1-
import { Action } from "core/actions";
1+
import produce from "immer";
2+
import { Action, SelectNodeAction } from "core/actions";
23
import { EditorState } from "core/states";
34

45
export function editorReducer(state: EditorState, action: Action): EditorState {
56
// TODO: handle actions here.
67
switch (action.type) {
8+
case "select-node": {
9+
const { node } = <SelectNodeAction>action;
10+
return produce(state, (draft) => {
11+
draft.selectedNodes = [node];
12+
});
13+
}
714
case "select-page": {
815
// return pageReducer(state, action);
916
}

editor/core/reducers/history/history-reducer.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ export function historyReducer(state: HistoryState, action: HistoryAction) {
1414
const nextPresent = draft.past.pop();
1515
if (nextPresent) {
1616
draft.future.unshift(
17+
// @ts-ignore
1718
createHistoryEntry(nextPresent.actionType, currentState)
1819
);
1920
draft.present = nextPresent.state;
@@ -28,6 +29,7 @@ export function historyReducer(state: HistoryState, action: HistoryAction) {
2829
const nextPresent = draft.future.shift();
2930
if (nextPresent) {
3031
draft.past.push(
32+
// @ts-ignore
3133
createHistoryEntry(nextPresent.actionType, currentState)
3234
);
3335
draft.present = nextPresent.state;
@@ -46,12 +48,17 @@ export function historyReducer(state: HistoryState, action: HistoryAction) {
4648
if (mergableEntry) {
4749
draft.past[draft.past.length - 1] = {
4850
...historyEntry,
51+
// @ts-ignore
4952
state: mergableEntry.state,
5053
};
5154
} else {
52-
draft.past.push(historyEntry);
55+
draft.past.push(
56+
// @ts-ignore
57+
historyEntry
58+
);
5359
}
5460
draft.future = [];
61+
// @ts-ignore
5562
draft.present = nextState;
5663
});
5764
}

editor/core/states/editor-initial-state.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ export function createInitialEditorState(editor: EditorSnapshot): EditorState {
44
return {
55
selectedPage: editor.selectedPage,
66
selectedNodes: editor.selectedNodes,
7+
selectedLayersOnPreview: editor.selectedLayersOnPreview,
78
design: editor.design,
89
};
910
}
@@ -12,6 +13,7 @@ export function createPendingEditorState(): EditorState {
1213
return {
1314
selectedPage: null,
1415
selectedNodes: [],
16+
selectedLayersOnPreview: [],
1517
design: null,
1618
};
1719
}

editor/core/states/editor-state.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,14 @@ import { DesignInput } from "@designto/config/input";
44
export interface EditorState {
55
selectedPage: string;
66
selectedNodes: string[];
7+
selectedLayersOnPreview: string[];
78
design: ReflectRepository;
89
}
910

1011
export interface EditorSnapshot {
1112
selectedPage: string;
1213
selectedNodes: string[];
14+
selectedLayersOnPreview: string[];
1315
design: ReflectRepository;
1416
}
1517

0 commit comments

Comments
 (0)