2
0
mirror of https://github.com/tenrok/vue-select.git synced 2026-05-17 02:29:37 +03:00
Commit Graph

249 Commits

Author SHA1 Message Date
Markus ebcdcc5c62 Make sure selected value is an option after option changed and react to value property changes even if tracking value internally (#914)
* make sure selected tracked value is an option if possible

Before this case did not work correctly:

- Select was rendered with *no* options, but *with* a saved value
- Options were fetched by ajax and options prop was updated
- Reduce function if passed

What happens without this commit is that the selected tracked value
simply was the raw reduced value (previously saved). Which means that
displaying a label for example does not work if the label comes from the
unreduced option.

This commit makes sure that the internal tracked value is checked
against all options not only once the select is created but additionally
when options change.

* remove useless keys

- first key was always undefined
- second key was always the index which is not usefull at all since it
  changes based on the order

* add test for setting value after option changed

* correctly react to value property changes if tracking internally

fixes sagalbot#855, sagalbot#842

* add getOptionKey prop

* yarn upgrade doc

* add getOptionKey api doc and fix links

* yarn upgrade

* do not use key on slot

* fix label spec
2019-09-13 12:18:04 -07:00
Jeff 55ac7ab752 rename open-indicator-icon to open-indicator 2019-05-01 19:34:52 -07:00
Jeff Sagal eb2f8f835c - bind scope to open-indicator-icon slot (#860)
- explicitly set v-if on OpenIndicator
- only add searching and searchable state classes if noDrop is false
- only add OpenIndicator to toggleTargets if the $ref exists
2019-04-28 16:09:48 -07:00
Jeff Sagal efc5093207 Add API for overwriting default components (#850)
* implement API for overwriting child components

* add test coverage

* update documentation for Components & Styling

* update docs

* refactor API, update docs

* remove the service worker

* fix tests
2019-04-25 15:03:43 -07:00
Jeff Sagal a476e9412f Fix #840 (#841) 2019-04-17 18:07:39 -05:00
Jeff Sagal 90605bd1c5 refactor toggleDropdown for IE11 support (#838) 2019-04-17 10:15:19 -05:00
Jeff 79882ed2ac ensure open-indicator can open the dropdown 2019-04-14 09:35:16 -05:00
Jeff Sagal 5740b88cdc ensure #222 stays closed (#828) 2019-04-13 11:56:41 -07:00
Jeff Sagal 01ecee93d5 WIP: v3 – remove onSearch callback prop (#811)
* remove onSearch callback prop

* update ajax docs

* docs formatting

* remove onSearch callback prop
2019-04-08 11:58:04 -07:00
Jeff Sagal 699d595f9a WIP: V3 - Remove index prop, add reduce prop (#800)
* remove `index` in favour of `reduce`, tests passing

* refactor findOptionFromReducedValue

* - always use getOptionLabel in comparisons

* - refactor deselect method
- add missing jsdoc blocks
- organize methods

* bump documentation
2019-03-24 19:23:30 -07:00
Jeff Sagal e4d4b27540 V3/update list items slot (#799)
* add tests for slots, add normalized function for passing options to slots

* update active class

* update active class
2019-03-23 15:58:50 -07:00
Jeff 2ecad8496a Add patch from #787 2019-03-23 14:23:55 -07:00
Owen Conti f9725919a4 V3 - Remove mutable class properties plus other misc changes (#781)
* Remove the mutableValue prop in the Select component.

* Add back mutable value when Vue Select has to manage its own value.

* Remove mutableOptions, valueAsAarray. Update webpack minifer to use Terser.

* Fix tabbing

* Fix bug with showClearButton

* Fix tests.

* Call clearSelection when possible

* Update dev sandbox to have all three options for setting value.

* Update dev sandbox to display current value

* Remove unused karma test setup.

* Revert onInput name change.

* Use coveralls

* Change this.internalValue to this.$data._value.

* Remove onInput prop and replace with internal method, updateValue.

* Update tests.

* Rename optionObjectComparator to optionComparator.
2019-03-23 11:25:31 -07:00
Jeff Sagal f95b118edb refactor deselect method (#768) 2019-03-02 14:40:16 -08:00
Jeff Sagal dc91310860 Sass & Class Renames (#759)
* - add autoprefixer
- add cssnano
- add postcss-loader
- remove unused packages

* create RTL scss module

* add vs__ prefix to open-indicator, extract to module

* module for dropdown-toggle

* vs__clear module

* vs__dropdown-menu module

* rename `selected-tag` to `vs__selected`

* remove rtl class

* remove dropdown class

* search-input scss module

* move animations to global module

* refactor dropdown list items

* - spinner slot is now scoped with `loading` variable
- move spinner to scss module

* apply vs__search class directly to search input: if you're using the slot, you might not want default styles

* finish global modules

* make RTL a component state

* - update component states to use vs-- prefix
- rename dropdownClasses to stateClasses

* remove unused property

* Closes #760

* fix states

* more state fixes

* rename .close to vs__deselect

* - simplify dev.html
- start on 'sandbox' development

* update build

* - update webpack config
- move Sandbox to VuePress folder

* update external framework version links

* assign grid areas, ensure 100% height outside of docs

* limit specificity

* first pass at assigning variables

* assign 'darkest'

* remove max-height prop

* rename 'component' variables to 'state'

* update badges

* add deprecation notice to docs

* bump travis config

* add coveralls coverage reporter

* bump netlify config

* additional pass pulling up to variables

* start converting to SVG icons

* middle align action icons

* update netlify config

* netlify bump

* fix travis

* fix travis

* try lcov

* netlify attempt

* prune old packages

* bump travis config
2019-02-18 22:01:39 -08:00
Jeff a07cb4175f Merge branch 'ft/vuepress-no-cli' into release/v3.0
# Conflicts:
#	src/mixins/typeAheadPointer.js
2019-02-16 12:36:38 -08:00
Jeff 8a78de61a6 Merge remote-tracking branch 'origin/feature/input-slot' into release/v3.0
# Conflicts:
#	src/components/Select.vue
2019-02-16 12:05:17 -08:00
Jeff d09c2a7b79 Merge remote-tracking branch 'origin/ft/vuepress' into ft/vuepress-no-cli
# Conflicts:
#	.babelrc
#	.gitignore
#	README.md
#	build/webpack.base.conf.js
#	build/webpack.dev.conf.js
#	build/webpack.prod.conf.js
#	build/webpack.site.conf.js
#	dev/dev.html
#	docs/gitbook/Api/Props.md
#	package.json
#	test/unit/karma.conf.js
#	test/unit/specs/Select.spec.js
#	tests/helpers.js
#	tests/unit/.eslintrc.js
#	tests/unit/Ajax.spec.js
#	tests/unit/Deselecting.spec.js
#	tests/unit/Dropdown.spec.js
#	tests/unit/Filtering.spec.js
#	tests/unit/Labels.spec.js
#	tests/unit/Layout.spec.js
#	tests/unit/ObjectIndex.spec.js
#	tests/unit/ReactiveOptions.spec.js
#	tests/unit/Selecting.spec.js
#	tests/unit/Tagging.spec.js
#	tests/unit/TypeAhead.spec.js
#	yarn.lock
2019-02-10 20:03:45 -08:00
Jeff 2a6b5410e2 Merge branch 'master' of https://github.com/TaylorDale/vue-select into TaylorDale-master 2019-02-09 16:35:34 -08:00
Jeff 8a601c0ac3 Merge branch 'fix_for_issue_671' of https://github.com/totola-clx/vue-select into totola-clx-fix_for_issue_671
# Conflicts:
#	src/components/Select.vue
2019-02-09 15:36:26 -08:00
Jeff de0f46485a Merge branch 'master' of https://github.com/MrStobbart/vue-select into MrStobbart-master
# Conflicts:
#	dist/vue-select.js
#	dist/vue-select.js.map
2019-02-09 15:16:23 -08:00
Erik Nygren 85ae9771f0 Make autocomplete value a prop (#730)
What
---
- Turn the autocomplete value on the `input` configurable by exposing it
as a prop.

Why
---
So it can be customised, which can be necessary to help developers show
or hide autocomplete forms as they wish.
2019-02-09 15:05:00 -08:00
Marco 11b7586bc8 Delete key clears vue-select even if clearable is false (#723)
* Update Select.vue

* Update vue-select.js
2019-02-09 14:55:19 -08:00
yoshihiro nomura 96ff76649b show scroll area only when necessary (#744) 2019-02-09 13:53:58 -08:00
Marek Meyer 18416ba6e2 Added fix for #732 2019-02-08 14:02:57 +01:00
TaylorDale 435ae6e336 Only emit input on actual input events
Seperated it from the change event, which will still occur upon any change of value (programmatic, user, whathaveyou)
2018-12-10 12:10:50 +10:00
Pyro979 623df819ae Proposed fix for #648 (#664)
The components can't focus and the dropdown can't close when clicking 'Sorry, no matching options' 
https://github.com/sagalbot/vue-select/issues/648
2018-12-05 10:19:30 -08:00
Marek Meyer ba4462a514 Refactoring for pull request #703 2018-11-19 11:59:10 +01:00
Marek Meyer cacacfc5a8 Improved fix for unresponsive vue-select after clicking custom no-options to not reintroduce old IE bug (#703) 2018-11-17 11:49:00 +01:00
Marek Meyer 3d6d097125 Removed useless if statement (#703) 2018-11-17 11:49:00 +01:00
Marek Meyer 88ed8d4819 Fixed unresponsive vue-select after clicking custom no-options (#703) 2018-11-17 11:48:57 +01:00
Cristian Totola a5f6add768 Updated with Magnum5234 tip 2018-11-12 17:27:14 +01:00
Cristian Totola b03868c449 Fixes #671. The method isOptionSelected on options of type 'object' was cycling but no returning after an existing option was found (true), resetting to false on next option. 2018-10-25 10:24:13 +02:00
Myles Cowper-Coles e0584cda96 Adding the 'clearable' prop to the docs (#649)
What:

* Adding clearable to the gitbook Props.md

Why:

* Its a prop on the select component but it wasn't documented correctly
2018-09-17 09:18:13 -07:00
Jeff c2b92c98b7 WIP: wrap search input in scoped slot, move attributes to computed prop 2018-09-16 19:34:40 -07:00
Jeff Sagal 3024f13480 Bug/629 show selected value (#631)
* Show current selection before searching

* remove 'hidden' input class
remove left border on input, adjust padding

* Set 0 width for search input
2018-09-06 08:15:55 -07:00
Steven Harman 9262863514 Do not hide input while loading options. (#621)
Adding the `.hidden` class to the input while loading would cause it to
lose padding. This would cause the text to "jump" back and forth.
2018-09-05 07:23:36 -07:00
Jeff Sagal 99a45f44b6 update left padding for actions RTL (#614) 2018-08-12 22:33:35 -07:00
Jeff 945e908e3f update mixins to ES6 module exports 2018-08-12 19:38:51 -07:00
Jeff Sagal 9d9b939a58 Merge pull request #373 from adi518/master
Fix Dropdown closing abruptly when clicking scrollbar under IE
2018-08-09 21:07:17 -07:00
Jeff 46adb3204a Fix 0 height search input 2018-08-09 20:50:33 -07:00
Adi Sahar da5c6baa28 Merge branch 'master' into master 2018-08-09 19:23:52 +03:00
Jeff e8e5eff553 Merge branch 'kball-add-select-on-tab-option'
# Conflicts:
#	src/components/Select.vue
2018-08-07 21:16:44 -07:00
Jeff 237e946c19 Pull onTab up to prop, add test 2018-08-07 21:13:34 -07:00
Jeff 6866dee6b4 Merge branch 'click-tag-to-toggle-dropdown' of https://github.com/stevenharman/vue-select into stevenharman-click-tag-to-toggle-dropdown
# Conflicts:
#	src/components/Select.vue
2018-08-07 20:58:13 -07:00
Jeff 3d819e55f7 Merge branch 'stevenharman-flexbox-based-layout'
# Conflicts:
#	src/components/Select.vue
#	test/unit/specs/Select.spec.js
2018-08-07 20:50:57 -07:00
Jeff adb1c88220 - Update v-select__ prefix to vs__ for brevity
- Adjust right padding on dropdown indicator
- remove dead clearfix code / class
2018-08-07 20:36:19 -07:00
Jeff b0f58d7793 Merge commit 'b92428101f1c6d4aa1fe864a88eb7079c245e009'
# Conflicts:
#	test/unit/specs/Select.spec.js
2018-08-07 19:47:13 -07:00
Matthew Beatty 7e3f455154 Also indicate whether or not dropdown is expanded 2018-08-01 13:26:47 -04:00
Matthew Beatty d00b567428 Added the combobox, listbox, and option roles to the input, ul, and li items respectively per W3C spec, Closes #606 2018-08-01 13:04:08 -04:00