SAP / ui5-webcomponents

UI5 Web Components - the enterprise-flavored sugar on top of native APIs! Build SAP Fiori user interfaces with the technology of your choice.
https://sap.github.io/ui5-webcomponents/
Apache License 2.0
1.58k stars 268 forks source link

[Feature Request]: V2 Table should have possibility to hide columns like V1 Table #10113

Open OliwiaGowor opened 3 weeks ago

OliwiaGowor commented 3 weeks ago

Feature Request Description

As we are migrating from V1 to V2, and from old Table component to the new one, we noticed that the functionality of hiding columns in different screen sizes is no longer available. In the old Table there was demandPopin property in TableColumn component that allowed it. Currently columns can be only moved into the popin area using the TableHeaderCell component. It was one of the key features, that we used in our tables and currently blocks further migration to the new Table.

Proposed Solution

Bring back the ability to hide columns based on different screen sizes for the V2 TableHeaderCell component like in the V1 TableColumn with demandPopin property.

Proposed Alternatives

No response

Organization

Kyma

Additional Context

No response

Priority

High

Privacy Policy

dimovpetar commented 3 weeks ago

Hello @OliwiaGowor ,

Have you tried using overflow-mode="Popin" in combination with importance? Here is an sample . Does this work for you?

Best regards, Petar

OliwiaGowor commented 3 weeks ago

Hello @dimovpetar , yes, but for our use we need to completely hide the columns that change into popins, not only collapse them. Based on the sample you provided we want to have for example only the Product column visible on smaller screens/table size. That was possible using the mentioned demandPopin prop in V1 TableColumn component.

dimovpetar commented 3 weeks ago

Hello @SAP/ui5-webcomponents-table ,

Please evaluate this feature request.

Best regards, Petar

ilhan007 commented 2 weeks ago

FYI @DonkeyCo @nowakdaniel @simlin

simlin commented 2 weeks ago

Hello @OliwiaGowor ,

Indeed the option to hide columns instead of moving them into popins is available in the old Web Component table and also in UI5 classic.

But the popin is an overflow mechanism on smaller screens or with a lot of data. Just hiding elements which do not fit anymore lead to a loss of information and functionality which violates the SAP accessibility product standard for Responsive Design (ACC-282).

Therefore we have not yet invested in such an option. Can you please describe your usecase in detail and why the ACC-282 do not play a role in Kyma? Or is the information / functioanlity offered in an alternative way on small screens?

Thanks and Best Regards Jens

OliwiaGowor commented 2 weeks ago

Hello @simlin ,

We are currently using it as shown on the recording. The columns are being hidden when opening the second column in column layout to provide better readability, but the user can still change the columns size to see all the data:

https://github.com/user-attachments/assets/1c7ba7f6-d921-4e61-bcd8-215199a5231e

With the new popin mechanism the table is becoming really crowded and hard to read in our case:

https://github.com/user-attachments/assets/827a47ce-612c-4895-814f-350becd1a7ca

We recently had accessibility testing done by the ATL team from SAP and there were no issues raised with this hiding columns mechanism (https://github.com/kyma-project/busola/issues?q=is%3Aissue+is%3Aopen+ACC-282) and we want to keep it.

Best Regards Oliwia

mrCherry97 commented 2 weeks ago

hi @ilhan007, @simlin this "hiding" functionality was also requested by the SAP UXes team, so we need this functionality to be able to use UI5-webcomponents. Figma mockups from UXes: image

image

Old issue for adjustments: https://github.com/kyma-project/busola/issues/2663

Best regards, WM

simlin commented 2 weeks ago

Hello @OliwiaGowor

thanks for the details.

Would an API like the property hiddenInPopin of the ResponsiveTable in UI5 classic (see https://sapui5.hana.ondemand.com/#/api/sap.m.Table%23controlProperties) be an option?

It allows to hide certain columns in the popin based on the priority (e.g. low and medium columns are hidden, but high important columns still appear in the popin). Furthermore a toggle view functionality could be implemented by you similar to the functionality in the SmartTable in SAPUI5, see https://sapui5.hana.ondemand.com/#/entity/sap.ui.comp.smarttable.SmartTable/sample/sap.ui.comp.sample.smarttable.mtableShowDetails It would allow the user to optionally show the hidden details if required. The combination with the importance ensures that mandatory content stays visible in an case - either popin or as normal column.

Although testers might not yet have reported this problem yet, this does not mean that this will not happen in future. I just know from the experience in SAPUI5 that these complaints appeared and UIs must have been adapted with similar functionality as referenced above.

Best Regards Jens

OliwiaGowor commented 2 weeks ago

Hello @simlin , thank you for the detailed explanation.

Yes, something like the hiddenInPopin property from the ResponsiveTable in UI5 classic would be a suitable solution for us.

Best Regards Oliwia

simlin commented 2 weeks ago

CPOUIFTEAMB-2447 / FIORITECHP1-29918

mrCherry97 commented 1 week ago

hi @simlin Do you have any timebox for when you want to plan it or when it could be fixed? It will be very useful information for us.

Thanks in advance, WM

simlin commented 5 days ago

Hi @mrCherry97 , talking about timelines of future topics is always not easy. The topic seems not to be so big, so maybe Q1 2025. But as always no guarantee, prio changes, delays or interruptions might occur in an unforeseen manner. Best Regards Jens

mrCherry97 commented 4 days ago

hi @simlin, Thanks for the clarification. I understand your point about the timelines, but this topic is very necessary for us. Your documentation stated that you would be supporting the v1 version until the end of the year. I saw that you changed that to June 2025, but we have started a migration to the v2 version until the end of the year. We have almost fully migrated from v1 to v2, and this will be a potential blocker for us (we will try to make some workaround for now, but we have still crossed our fingers for a quick resolution of this issue).

Best regards, WM