Skip to content

Commit 37b8650

Browse files
committed
include selectedPage of EnsembleMenu in js context and bindings
1 parent 1689cd9 commit 37b8650

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

apps/kitchen-sink/src/ensemble/widgets/Header.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Widget:
22
inputs:
33
- message
44
onLoad:
5-
executeCode:
5+
executeCode:
66
body: |
77
console.log("hello from header", message);
88
onComplete:
@@ -58,6 +58,8 @@ Widget:
5858
styles:
5959
gap: 10
6060
children:
61+
- Text:
62+
text: Selected Page ${selectedPage}
6163
- Avatar:
6264
styles:
6365
backgroundColor: "#171B2A"

packages/runtime/src/runtime/menu.tsx

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,10 +166,12 @@ export const EnsembleMenu: React.FC<{
166166
const [isCollapsed, setIsCollapsed] = useState<boolean>(
167167
type === EnsembleMenuModelType.Drawer,
168168
);
169+
const [selectedItem, setSelectedItem] = useState<string | undefined>();
169170

170171
const outletContext = {
171172
isMenuCollapsed: isCollapsed,
172173
setMenuCollapsed: setIsCollapsed,
174+
selectedPage: selectedItem,
173175
};
174176
const { id, items: rawItems, styles, header, footer, onCollapse } = menu;
175177
// custom items may contain their own bindings to be evaluated in dynamic context
@@ -178,15 +180,21 @@ export const EnsembleMenu: React.FC<{
178180
);
179181

180182
const { values } = useRegisterBindings(
181-
{ itemInputs, styles, header, footer, isCollapsed },
183+
{
184+
itemInputs,
185+
styles,
186+
header,
187+
footer,
188+
isCollapsed,
189+
selectedPage: selectedItem,
190+
},
182191
id,
183192
{
184193
setIsCollapsed,
185194
},
186195
);
187196

188197
const location = useLocation();
189-
const [selectedItem, setSelectedItem] = useState<string | undefined>();
190198

191199
const items = useMemo(
192200
() =>

0 commit comments

Comments
 (0)