Skip to content
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

Combobox enhancements to be used as auto-complete widget #668

Closed
wkeese opened this issue Nov 8, 2016 · 0 comments
Closed

Combobox enhancements to be used as auto-complete widget #668

wkeese opened this issue Nov 8, 2016 · 0 comments
Milestone

Comments

@wkeese
Copy link
Member

wkeese commented Nov 8, 2016

Enhancements to Combobox so it can be used as an auto-complete widget.

  • The widget is designed to be friendly for server-side stores.
  • The widget now accepts a source. This will be assigned to the list when required.
  • The widget exposes a defaultQuery property. This can be a function or an object and consists in the default query (!== {}).
  • The widget can have an initial value, accessible through widget.value. It can be an array or a string. See `samples/Combobox.html for few examples.
  • The widget can behave as an auto-complete widget (set through hasDownArrow=false). In this scenario, the user can type some text and matching items will be shown. The auto-complete version works in mobile too, showing a popup with the a title and the input element. This mode works only when autoFilter=true and selectionMode=single.
  • Add minFilterChars property. It defines the minimum number of characters the user has to type before a filtering operation can run.
  • Add filterDelay property. It defines the amount of time (from the last key pressed) has to pass before a filtering operation gets executed.
  • Bugfixes.
@wkeese wkeese added this to the 0.9.0 milestone Nov 8, 2016
@wkeese wkeese closed this as completed in 785de84 Nov 8, 2016
brunano21 added a commit to brunano21/deliteful that referenced this issue Jan 5, 2017
brunano21 added a commit to brunano21/deliteful that referenced this issue Jan 6, 2017
wkeese pushed a commit that referenced this issue Jan 12, 2017
filtered according to the <input>'s value.

The down arrow key works equivalently to the down arrow icon.
If there's no down arrow icon, then the down arrow key doesn't do anything.

Also, in mobile mode, when the ComboPopup is opened,
copy the value in the Combobox's <input> into the ComboPopup's <input>.

TODO: This commit has known test failures that will be fixed in the next commit.

TODO: Get rid of hasDownArrow property, and instead just show the
down arrow icon iff minFilterChars === 0.  That will simplify the Combobox
logic, or at least the number of scenarios that need to be tested,
because we don't need to check cases like hasDownArrow=true minFilterChars=3.

Refs #668.
wkeese added a commit that referenced this issue Jan 12, 2017
…he <input>.

If the user clicks the Combobox down arrow icon without first typing into the <input>,
then show the full (unfiltered) list.
Likewise for when the user selects an item from the dropdown (causing it to close),
and then immediately reopens the dropdown by clicking the down arrow icon.

Also, in mobile mode, clicking the down arrow icon to open the ComboPopup
should show the list, even if the minFilterChars requirement isn't met,
same as on desktop where clicking the down arrow icon forces the list to be shown.

Finally, fix test failures from previous commit.

Refs #668.
wkeese added a commit to wkeese/deliteful that referenced this issue Jan 18, 2017
wkeese added a commit that referenced this issue Jan 19, 2017
Fix Combobox creation when displayedValue specified as "".

Also fix problem where you open a multi-choice dropdown and
the value code gets displayed in the <input> rather than the label.

Refs #668.
wkeese added a commit that referenced this issue Feb 1, 2017
…or >1 elements.

(This is for selectionMode=multiple.)

Refs #668.
wkeese added a commit that referenced this issue Mar 23, 2017
The main problem was that Combobox#computeProperties() was setting displayedValue
on every call, but the the problem was exacerbated by its call to deliverComputing().

Refs #668
wkeese added a commit that referenced this issue Mar 27, 2017
methods have had a chance to run and change displayedValue.

Refs #668
wkeese added a commit that referenced this issue May 21, 2017
same way that <d-list> (and all delite/Store subclasses) work.

Follow up to previously added feature where source can be
(and is preferred to be) specified directly as a property of Combobox.

Refs #668.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant