Closed RobertoMalatesta closed 8 years ago
Hello Roberto,
there are many reasons for deprepacting a control feature. Most likely, it was replaced by another feature or it conflicted with the control architecture as the control advanced.
I will ask the developer that did the change to follow up with you and further clarify.
Thanks and kind Regards, Michael
Hi Roberto,
The underlying reason is that we need to clean up the table code to keep it maintainable.
In the case of the paginator, we don't feel that anything is lost except for a questionable UI pattern. Of course, the paginator itself is gone, but the relevant functionality is still there. The way sap.ui.table.* works is that the data is only loaded when needed (plus some buffer for scrolling). So, if you use the scrollbar to go to entry 1.023.045, we will only load the data for the visible "page" at that point. This is not much different from a paginator, but has the added benefit that you can directly scroll to any page. With a paginator you can directly go to only a small number of pages. If you have more pages, navigation becomes really annoying.
From our point of view, this is not a compatibility break as everything still works and an alternative is not necessary. If you still feel that we're crippling the functionality in some way, please explain that in detail.
Best regards, Thomas
Hi @thomaskoetter , @Michadelic and thanks for all the time and effort you put on UI5. A few remarks and explanations:
The underlying reason is that we need to clean up the table code to keep it maintainable.
I see from source that NavigationMode depends on deprecated sap.ui.commons, is this the reason?
In the case of the paginator, we don't feel that anything is lost except for a questionable UI pattern.
Navigation Bars are present in table views provided by any framework or library. Besides, I tend to implement an optional flag to let the user opt from scrollable views to paginated ones and the feedback I get is that on desktop applications users prefer click actions to drag a scrollbar.
the paginator itself is gone, but the relevant functionality is still there.
The relevant functionality of the paginator was paginating, and that's gone.
With a paginator you can directly go to only a small number of pages
Solution to this would be to implement a better paginator, not wipe out the existing one. PaginatorControl is not perfect, i wish it could have been better but up to now I made it fit the bill. (and it's more responsive to the eye than scrolling)
So, if you use the scrollbar to go to entry 1.023.045,
That's the point, I use UI5 to present large sets of data and scrollable views are impractical when you're at row 1 and want to move to 1.023.045.
As you can see in the lowest-right corner of this figure 1, the ScrollableBar (even on a moderate set of data, <2000rows) gets so tiny and unmanageable that it's easy to drop it while scrolling. Really unpractical.
Paginator Control on the contrary allows scrolling 5/10 pages in one single click just like "flipping through the pages of a newspaper" (words are of a real user, not mine). And the look is more polished, see figure 2
From our point of view, this is not a compatibility break as everything still works and an alternative is not necessary. If you still feel that we're crippling the functionality in some way, please explain that in detail.
Yes, it "works". In this perspective an Iframe with an HTML2 element inside would have worked as well. With a degradation of the user experience.
I hope I stated my case in detail,
my bests,
--R
Is the paginator available in the UI Table? This was a very important feature which used to work well, not sure why it got removed. Scrolling is really difficult to use and the users hate it. Using paginator was much easier as we can even skip pages at any point. Now, the question is , how can we get it back? As far as I know, there is no alternative provided. Do we need to include it manually using the commons.paginator? How do we disable the scrolling in this case?
Thanks, H
Hi,
the paginator approach was removed as we do not want to follow this path further. There will be no Paginator control in sap.m and the combined usage of sap.m and sap.ui.commons is not intended from our side, see https://openui5.hana.ondemand.com/#docs/guide/363cd16eba1f45babe3f661f321a7820.html
A thing we can think of is a small API (events, ...) which allows to plugin a paginator (maybe a self-written one) from outside. But this would be an on-top approach. The table is still scrollable via the scrollbar but it could also be used via the paginator. So the user has the choice.
Could that make sense for you?
Best Regards
Hi, @helen-thomas25
Have a look at this collection of JS dataGrid libraries.
(most of them are embeddable inside a UI5 HTML component)
--R
Hi all,
unfortunately, not all of us are using oData with their tables. Is there a list of events I could use to figure out, when user scrolled to the end of the sap.ui.table.Table? Similar to sap.m.List? I need to implement page loading for my table.
Best, Axel
Hi @zbug you could try to make use of the firstVisibleRowChanged event of the table.
table.getFirstVisibleRow() + table.getVisibleRowCount() == table.getBinding().getLength() should be the trigger for fetching new data.
Best Regards Jens
Thanks for the response. I use exactly this proposal but start fetching earlier (when there is less then x elements to scroll to)
OpenUI5 version: 1.38+
On: https://sapui5.hana.ondemand.com/docs/api/symbols/sap.ui.table.NavigationMode.html
is stated that we cannot use sap.ui.table.NavigationMode.Paginator on sap.ui.Table since it is deprecated.
On old code using it (and where it worked perfectly) it now shows a console error and pagination is no more: The navigationMode property is deprecated and must not be used anymore. Your setting was defaulted to 'Scrollbar'
Why, since:
I know that we should be using the sap.m components and that older components will be deprecated in favour of all-mobile ones, but phasing older ones out should be different than crippling their working functionalities.
Thank you in advance.
-- R