Just switched from 1.2.0beta to latest 1.2.3.
Already found some changes, not happy with some, but let’s start somewhere. Why are there only 100 displayed parameters in Device view?
One of my devices has 1158 parameters after initial summon.
There should be AT LEAST a config option allowing you decide what is the desired maximum. Something like how custom ui.pageSize was solved.
I think I found location, where number of listed items is hardcoded, in /ui/components/all-parameters.ts, line 89:
if (count < 100) filteredKeys.push(k);
Check the code, looks like a couple of files need modding. Testing the solution now.
Why do you need all parameters listed?
When you search them, they show up
In my opinion, the user should always be the one to choose how many items he/she wants listed. Making a decision on a “default” value is quite OK, but not to leave a choice, is not OK.
I needed to limit the number of parameters displayed because when you have devices with thousands of parameters it can slow the page rendering to a crawl just to display that one component.
One thing to note about this change is that which params get displayed is not arbitrary. It starts at the top of the tree and traverses the data model level by level until it counts at least 100 params, then all params up to that level are displayed. This means that if you’re scanning what params are available under a certain parent param you won’t have to wonder if some of them may be hidden from view. With this in mind, would you still want to increase or remove the limit?
I see and understand your point and concern. And yes, I noticed later that limit of 100 is not “set-in-stone”. But it would be nice to have an option, to set the limiter yourself, via a config parameter. Like it was done for page size (ui.pageSize).
Default is (at least) 100, but if custom config option exists, that value is used.
That would be solution everybody can be happy with. I guess.
I added an option to change the number of parameters displayed. Go to admin -> config -> edit device config. Look for the ‘all-parameters’ component and add a ‘limit’ property as follows:
- type: "'all-parameters'"