Skip to content

FlexibleColumnLayout: Does not render properly in TwoColumnsMidExpanded layout after a condition #3425

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
AndrianStoikov opened this issue Jun 10, 2021 · 5 comments · Fixed by #3444
Assignees
Labels

Comments

@AndrianStoikov
Copy link

Describe the bug
The FlexibleColumnLayout using TwoColumnsMidExpanded layout does not render properly after a condition. The first column is shown and then immediately hidden and clicking the expand arrow does not change the layout. In our case we have an async request happening which determines the tabs that the user should see. After the request the FlexibleColumnLayout fails to render properly. The codesandbox illustrates the bug well, it is best to open the demo in a full screen desktop otherwise it is not obvious.

Isolated Example
https://codesandbox.io/s/tender-blackwell-4cd66?file=/src/Component.js

To Reproduce
Steps to reproduce the behavior:

  1. Open the application on a desktop screen
  2. Wait for the BusyIndicator to hide.

Expected behavior
After the BusyIndicator is hidden the FlexibleColumnLayout should render both columns normally

Screenshots
Current
image

Expected
image

UI5 Web Components for React Information
"@ui5/webcomponents": "1.0.0-rc.14",
"@ui5/webcomponents-react": "0.16.3",
Operating System: Windows 10 20H2
Browser:
Microsoft Edge
Version 91.0.864.41 (Official build) (64-bit)
Reproducible on Chrome 91 as well.

Additional context
I noticed that the bug with TwoColumnsMidExpanded also happens if I use device emulation in the browser and start changing the screen width from mobile to desktop and vice versa.

@texttechne
Copy link

@AndrianStoikov I'm afraid that your problem assessment is not correct: It doesn't matter if you render the FlexibleColumnLayout with a condition or without => Comment out the useEffect part, still the same result.

I think your problem is that you've put the FlexibleColumnLayout within a Tab. I assume that this is neither intended nor supported: Compare Fiori Guidelines. Here you can see that the FlexibleColumnLayout is a "Floorplan" which you don't wrap into anyhting else => It's the main layout of the page

@MarcusNotheis
Copy link
Collaborator

Thanks for reporting! I'll forward this issue to our UI5 Web Components Colleagues as the affected components are developed in their repository.

@MarcusNotheis MarcusNotheis transferred this issue from SAP/ui5-webcomponents-react Jun 11, 2021
@elenastoyanovaa
Copy link
Contributor

elenastoyanovaa commented Jun 11, 2021

Hello @SAP/ui5-webcomponents-topic-p ,

The reported issue is regarding a broken rendering of a flexible column layout. The issue can be seen in the screenshots and in the code sample provided.

The FCL is placed inside a tab in a Tab Container. Removing the Tab Container resolves the issue. As the FCL is a layout control and promoted in the https://experience.sap.com/fiori-design-web/flexible-column-layout/ as a full screen layout for application, is it correct to place it inside a tab container? Could you please check?

Thanks!

Kind Regards,
Elena

@elenastoyanovaa elenastoyanovaa added information required Further information is requested TOPIC P labels Jun 11, 2021
@akirichev
Copy link

Hello, @elenastoyanovaa,

Not all applications are following the Fiori Standards, so from a framework perspective, there shouldn't be a limitation. There are a lot of applications in the Tools area that are using horizontal tabs (ex.: Tool Header + Horizontal Tabs).

Best,
Alex

@AndrianStoikov
Copy link
Author

Hello @elenastoyanovaa,

I am using the TabContainer as a horizontal navigation, as @akirichev mentioned above.

Best regards,
Andy

@georgimkv georgimkv removed the information required Further information is requested label Jun 14, 2021
@nnaydenow nnaydenow self-assigned this Jun 17, 2021
nnaydenow added a commit that referenced this issue Jun 25, 2021
Sometimes timeout that adds ui5-fcl-column--hidden is executed when the calculations are already done. Executing the timeout callback later causes visual issue where column is hidden when it should be displayed.

Now, timeout is replace with listener for transionend so if it is no longer needed to be removed.

Fixes: #3425
@petyabegovska petyabegovska moved this to Completed in Maintenance - Topic P Jun 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Completed
Development

Successfully merging a pull request may close this issue.

7 participants