Comments (7)
@JouniK We need your input on this. We did have a prototype using <vaadin-grid>
, but we we're thinking if we should use <iron-list>
instead? What do you think? At least a prototype?
from vaadin-combo-box.
Yeah, I’d like to try it out. Do you have any estimate how long it would take to build the lazy-loading on top of iron-list
, to get it as solid as with the grid? The only things we would miss from the grid would be multiple column support (and headers/footers). And some accessibility stuff, like the automatic reshuffling of the TR elements once you stop scrollling (helps screen readers to read the elements in the correct order).
from vaadin-combo-box.
I guess we can take some hints from the iron-lists demo: https://elements.polymer-project.org/elements/iron-list?view=demo:demo/collapse.html&active=iron-list (on my phone right now so cant see how the demo source looks like)
For multiple columns, isnt the template model in iron-list sufficient?
from vaadin-combo-box.
Full-blown columns is a little bit more than just some divs and CSS. But
it’s not something we need for 1.0.
And instead of spending time figuring out lazy loading, I would like us to
polish the component in all other ways before that. So all the other end
user features should be higher priority that these highly technical ones.
On ma 26. lokakuuta 2015 at 12.14 Sauli Tähkäpää [email protected]
wrote:
I guess we can take some hints from the iron-lists demo:
https://elements.polymer-project.org/elements/iron-list?view=demo:demo/collapse.html&active=iron-list
(on my phone right now so cant see how the demo source looks like)For multiple columns, isnt the template model in iron-list sufficient?
—
Reply to this email directly or view it on GitHub
#26 (comment)
.
from vaadin-combo-box.
Yeah, I guess the main motivation here was to try if iron-list
would be a more light weight and smoother option also from the users perspective. I did a quick test run using iron-list
, here's some observations:
- Was originally assuming that
firstVisibleIndex
in<iron-list>
hasnotify:true
and it could be used to trigger loading items. This was not the case, had to register a crude event listener to listen tomousewheel
events instead and use an event handler to check thefirstVisibleIndex
- Scroll bars show the height depending on the
items
property, and not the actual datasource size like in<vaadin-grid>
- The actual implementation was fairly easy, just using
firstVisibleIndex
to determine how many items we need to have loaded, then binding the needed item count parameter in<iron-ajax>
and the hooking aon-response
handler to append the new items to theitems
property of theiron-list
That said, considering the scroll bar issue and the way events need to be handled, it's probably better to go ahead with <vaadin-grid>
at this point.
from vaadin-combo-box.
Iron-list 1.2.0 introduces support for https://github.com/PolymerElements/iron-scroll-threshold which helps a lot in making a lazy loading implementation.
See also #128
from vaadin-combo-box.
Closing the issue for now as it's not relevant currently.
from vaadin-combo-box.
Related Issues (20)
- No filter is applied on a lazy-loading, auto-open-disabled combo-box, when opening it
- ComboBoxElement's clear() method does not clear the ComboBox filter input HOT 4
- There seems to be an error in the Vaadin Combo Box HOT 2
- The option popup is not shown when typing if auto open is disabled HOT 4
- Valid item is not selected if ComboBox has a dataprovider and autoopendisabled HOT 2
- Combobox popup rendering issue when css variable is set HOT 1
- Verify fetched items range for undefined size in AbstractItemCountComboBoxIT HOT 1
- Mouse scroll doesn't fetch new items HOT 4
- Incorrect link to new issues in combo box HOT 1
- Loading is not removed on data provider return HOT 1
- Fix ITs
- Option list is not filtered correctly when auto-open is disabled
- Dropdown shown below the error message HOT 1
- Scrolling quickly to the bottom of the dropdown shows blank items HOT 1
- Items are not cleared when set as undefined
- Polymer 3 conversion and TS event type definitions HOT 2
- Align events list between API docs and TS definitions
- Cannot read property 'overlay' of undefined HOT 2
- Investigate why ComboBox ItemCountUnknownComboBoxIT::undefinedItemCount_switchesToDefinedItemCount_itemCountChanges fails HOT 2
- Combobox with lazy loading and autoOpenDisabled fails HOT 8
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vaadin-combo-box.