Skip to content

Commit 7958357

Browse files
author
JeanRobin
committed
Revert "Pane: dynamic title (#2794)"
This reverts commit b340f8f.
1 parent 1200ae1 commit 7958357

File tree

5 files changed

+18
-516
lines changed

5 files changed

+18
-516
lines changed

frontend/taipy-gui/src/components/Taipy/Pane.spec.tsx

Lines changed: 3 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ describe("Pane Component", () => {
202202
expect(elt).toHaveClass("MuiDrawer-root");
203203
expect(elt).toHaveClass("MuiDrawer-anchorLeft");
204204
});
205-
it("anchors to the left when anchor is set to 'l'", async () => {
205+
it("anchors to the left when no anchor 'l' is set", async () => {
206206
const { getByRole } = render(
207207
<HelmetProvider>
208208
<Pane page="page" open={true} anchor="l" />
@@ -239,96 +239,12 @@ describe("Pane Component", () => {
239239
expect(elt).toHaveClass("MuiDrawer-anchorBottom");
240240
});
241241
it("renders with a title", async () => {
242-
render(
242+
const { getByRole } = render(
243243
<HelmetProvider>
244-
<Pane page="page" open={true} persistent={true} defaultTitle="pane-title-test" />
244+
<Pane page="page" open={true} persistent={true} title="pane-title-test" />
245245
</HelmetProvider>
246246
);
247247
const elt = document.querySelector(".MuiBox-root");
248248
expect(elt).toHaveTextContent("pane-title-test");
249249
});
250-
it("renders with a dynamic title", async () => {
251-
render(
252-
<HelmetProvider>
253-
<Pane page="page" open={true} persistent={true} defaultTitle="pane-title-test" title="pane-dynamic-title-test" />
254-
</HelmetProvider>
255-
);
256-
const elt = document.querySelector(".MuiBox-root");
257-
expect(elt).toHaveTextContent("pane-dynamic-title-test");
258-
});
259-
it("shows correct icon when closed with left anchor", async () => {
260-
const { getByRole } = render(
261-
<HelmetProvider>
262-
<Pane page="page" open={false} showButton={true} anchor="left" />
263-
</HelmetProvider>
264-
);
265-
const but = getByRole("button");
266-
expect(but).toBeInTheDocument();
267-
const svg = but.querySelector("svg");
268-
expect(svg).toHaveAttribute("data-testid", "ChevronRightIcon");
269-
});
270-
it("shows correct icon when closed with right anchor", async () => {
271-
const { getByRole } = render(
272-
<HelmetProvider>
273-
<Pane page="page" open={false} showButton={true} anchor="right" />
274-
</HelmetProvider>
275-
);
276-
const but = getByRole("button");
277-
const svg = but.querySelector("svg");
278-
expect(svg).toHaveAttribute("data-testid", "ChevronLeftIcon");
279-
});
280-
it("shows correct icon when closed with top anchor", async () => {
281-
const { getByRole } = render(
282-
<HelmetProvider>
283-
<Pane page="page" open={false} showButton={true} anchor="top" />
284-
</HelmetProvider>
285-
);
286-
const but = getByRole("button");
287-
const svg = but.querySelector("svg");
288-
expect(svg).toHaveAttribute("data-testid", "ExpandMoreIcon");
289-
});
290-
it("shows correct icon when closed with bottom anchor", async () => {
291-
const { getByRole } = render(
292-
<HelmetProvider>
293-
<Pane page="page" open={false} showButton={true} anchor="bottom" />
294-
</HelmetProvider>
295-
);
296-
const but = getByRole("button");
297-
const svg = but.querySelector("svg");
298-
expect(svg).toHaveAttribute("data-testid", "ExpandLessIcon");
299-
});
300-
it("shows hover text when closed", async () => {
301-
const { getByRole, findByRole } = render(
302-
<HelmetProvider>
303-
<Pane page="page" open={false} showButton={true} defaultHoverText="Test hover text" />
304-
</HelmetProvider>
305-
);
306-
const but = getByRole("button");
307-
await userEvent.hover(but);
308-
const tooltip = await findByRole("tooltip");
309-
expect(tooltip).toHaveTextContent("Test hover text");
310-
});
311-
it("shows dynamic hover text when closed", async () => {
312-
const { getByRole, findByRole } = render(
313-
<HelmetProvider>
314-
<Pane page="page" open={false} showButton={true} defaultHoverText="Default hover" hoverText="Dynamic hover" />
315-
</HelmetProvider>
316-
);
317-
const but = getByRole("button");
318-
await userEvent.hover(but);
319-
const tooltip = await findByRole("tooltip");
320-
expect(tooltip).toHaveTextContent("Dynamic hover");
321-
});
322-
it("shows title and hover text combined when closed", async () => {
323-
const { getByRole, findByRole } = render(
324-
<HelmetProvider>
325-
<Pane page="page" open={false} showButton={true} defaultTitle="Pane Title" defaultHoverText="Hover text" />
326-
</HelmetProvider>
327-
);
328-
const but = getByRole("button");
329-
await userEvent.hover(but);
330-
const tooltip = await findByRole("tooltip");
331-
expect(tooltip).toHaveTextContent("Pane Title");
332-
expect(tooltip).toHaveTextContent("Hover text");
333-
});
334250
});

frontend/taipy-gui/src/components/Taipy/Pane.tsx

Lines changed: 13 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ interface PaneProps extends TaipyActiveProps, TaipyChangeProps {
3838
anchor?: string;
3939
persistent?: boolean;
4040
title?: string;
41-
defaultTitle?: string;
4241
onClose?: string;
4342
page?: string;
4443
partial?: boolean;
@@ -59,16 +58,16 @@ const getHeaderSx = (anchor: AnchorType): CSSProperties => {
5958
return { ...baseStyle, justifyContent: "flex-end" };
6059
}
6160
};
62-
const getHeaderIcon = (anchor: AnchorType, open = true): JSX.Element => {
61+
const getHeaderIcon = (anchor: AnchorType): JSX.Element => {
6362
switch (anchor) {
6463
case "right":
65-
return open ? <ChevronRightIcon /> : <ChevronLeftIcon />;
64+
return <ChevronRightIcon />;
6665
case "top":
67-
return open ? <ExpandLess /> : <ExpandMore />;
66+
return <ExpandLess />;
6867
case "bottom":
69-
return open ? <ExpandMore /> : <ExpandLess />;
68+
return <ExpandMore />;
7069
default:
71-
return open ? <ChevronLeftIcon /> : <ChevronRightIcon />;
70+
return <ChevronLeftIcon />;
7271
}
7372
};
7473
const getTitleSx = (anchor: AnchorType): CSSProperties => {
@@ -104,6 +103,7 @@ const Pane = (props: PaneProps) => {
104103
const {
105104
id,
106105
persistent = false,
106+
title,
107107
onClose,
108108
page,
109109
partial,
@@ -121,7 +121,6 @@ const Pane = (props: PaneProps) => {
121121
const className = useClassNames(props.libClassName, props.dynamicClassName, props.className);
122122
const active = useDynamicProperty(props.active, props.defaultActive, true);
123123
const hover = useDynamicProperty(props.hoverText, props.defaultHoverText, undefined);
124-
const title = useDynamicProperty(props.title, props.defaultTitle, undefined);
125124
const anchor = useMemo<AnchorType>(
126125
() =>
127126
props.anchor
@@ -140,7 +139,6 @@ const Pane = (props: PaneProps) => {
140139
const drawerSx = useMemo(() => getDrawerSx(anchor, width, height), [width, height, anchor]);
141140
const headerSx = useMemo(() => getHeaderSx(anchor), [anchor]);
142141
const headerIcon = useMemo(() => getHeaderIcon(anchor), [anchor]);
143-
const closedHeaderIcon = useMemo(() => getHeaderIcon(anchor, false), [anchor]);
144142
const titleSx = useMemo(() => getTitleSx(anchor), [anchor]);
145143
const handleClose = useCallback(() => {
146144
if (active) {
@@ -197,7 +195,11 @@ const Pane = (props: PaneProps) => {
197195
</>
198196
) : null}
199197
<>
200-
{page ? <TaipyRendered path={"/" + page} partial={partial} fromBlock={true} /> : null}
198+
{page ? (
199+
<Tooltip title={hover || ""}>
200+
<TaipyRendered path={"/" + page} partial={partial} fromBlock={true} />
201+
</Tooltip>
202+
) : null}
201203
{props.children}
202204
</>
203205
</Drawer>
@@ -209,26 +211,10 @@ const Pane = (props: PaneProps) => {
209211
open={true}
210212
className={getSuffixedClassNames(className, "-button")}
211213
>
212-
<Tooltip
213-
title={
214-
title ? (
215-
hover ? (
216-
<>
217-
{title}
218-
<br />
219-
{hover}
220-
</>
221-
) : (
222-
title
223-
)
224-
) : (
225-
hover || ""
226-
)
227-
}
228-
>
214+
<Tooltip title={hover || ""}>
229215
<span>
230216
<IconButton onClick={handleOpen} disabled={!active}>
231-
{closedHeaderIcon}
217+
{headerIcon}
232218
</IconButton>
233219
</span>
234220
</Tooltip>

0 commit comments

Comments
 (0)