Skip to content
This repository has been archived by the owner on Sep 11, 2024. It is now read-only.

Commit

Permalink
Fix: Right panel keeps showing chat when unmaximizing widget. (#11697)
Browse files Browse the repository at this point in the history
* Right panel chat closes when unmaximising widget

* Basic right panel tests added

* Accessible selectors used for new tests

* Test added to check if chat exists in right panel

---------

Co-authored-by: Manan Sadana <manan.sadana@cnhteam.onmicrosoft.com>
Co-authored-by: Florian Duros <florianduros@element.io>
  • Loading branch information
3 people authored Oct 23, 2023
1 parent c28f316 commit c44c772
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 0 deletions.
16 changes: 16 additions & 0 deletions cypress/e2e/widgets/layout.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,4 +129,20 @@ describe("Widget Layout", () => {

cy.get('iframe[title="widget"]').invoke("height").should("be.greaterThan", 400);
});
it("open right panel with chat when maximizing widget", () => {
cy.get('iframe[title="widget"]').invoke("height").should("be.lessThan", 250);
cy.findByRole("button", { name: "Maximise" }).click();
cy.get(".mx_RightPanel").within(() => {
cy.get(".mx_BaseCard_header").should("contain", "Chat");
});
});
it("close right panel with chat when unmaximizing widget", () => {
cy.get('iframe[title="widget"]').invoke("height").should("be.lessThan", 250);
cy.findByRole("button", { name: "Maximise" }).click();
cy.get(".mx_RightPanel").within(() => {
cy.get(".mx_BaseCard_header").should("contain", "Chat");
});
cy.findByRole("button", { name: "Un-maximise" }).click();
cy.get(".mx_RightPanel").should("not.exist");
});
});
3 changes: 3 additions & 0 deletions src/components/structures/RoomView.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -539,6 +539,9 @@ export class RoomView extends React.Component<IRoomProps, IRoomState> {
if (this.context.widgetLayoutStore.hasMaximisedWidget(this.state.room)) {
// Show chat in right panel when a widget is maximised
this.context.rightPanelStore.setCard({ phase: RightPanelPhases.Timeline });
} else {
// Close the chat in right panel when the widget is unmaximised
this.context.rightPanelStore.togglePanel(null);
}
this.checkWidgets(this.state.room);
};
Expand Down

0 comments on commit c44c772

Please sign in to comment.