Josh Johnson
a0fe05f926
Fix #727 ( #731 )
...
* Housekeeping
* Resolve placeholder bug + hide from choice list
* Restructure test folder
* Update cypress test to assert one placeholder
* Fix breaking e2e test
* Remove ability to pass placeholder via config for select boxes
* Add further e2e tests covering placeholders
* Add unit tests for _generatePlaceholderValue
* Display placeholder choice for select one
* Add further e2e test to assert on placeholder ordering
* Add labels to exclude from draft releases
* Add failure case to e2e test workflow
* Resolve broken e2e test
* Update puppeteer snapshot baseline
2019-11-02 13:49:33 +00:00
Konstantin Vyatkin
939a73b762
fix setChoices flow ( #730 )
...
* fix setChoices flow
* ignore Promise as it gate checked
* re-run cypress
2019-11-02 12:58:18 +00:00
Konstantin Vyatkin
5afe8b5a7f
speed up getAdjacentEl ( #726 )
...
* use element accessors
* don't change params
2019-10-31 17:49:27 +00:00
Konstantin Vyatkin
034191c78a
use CSS queries ( #718 )
...
* use matchMedia
* use last-of-type
* better type check
* simplify distanceFromTopWindow
* use visibility
* update JSDoc
2019-10-30 17:28:15 +00:00
Josh Johnson
0e44a916e3
Fix constructor ( #693 )
...
* breaking test
* Remove ablity to pass multiple elements + tests
* Update readme
* Update README.md
* 🔖 Version 8.0.0
* Remove type definition hack
* Update coverage command
* Add some missing list tests
* Remove .only
* Update demo page to loop over elements
* Update constructor to set initialised flag if already active
* Make templates private
* Throw type error once if element is invalid
* Fix list children bug
* Re-add generic examples to index.html
* Housekeeping
* Use typeof instead of isType where applicable
* Remove isElement
* Add test for isIE11
2019-10-29 21:19:56 +00:00
Josh Johnson
88f63faa0b
Update code styling rules ( #713 )
...
* Enforce curly braces around conditionals
* Install sort class members + update rules
* Satisfy linting changes
* Add todo
* Add tests for clearChoices
* Update eslint-plugin-prettier to latest
* Resolve conflicts
* Fix linting errors
2019-10-29 18:26:11 +00:00
Konstantin Vyatkin
172366d6fa
[Tooling] Expand browsers target while keeping Polyfills under control ( #709 )
...
* expand browsers target
* add eslint-plugin-compat
* sort polyfils
* adjust readme
* add polyfills sync check action
* only build js
* trim
* add Element.prototype.closest
* add closest to demo links
* fix ignore
2019-10-29 18:19:19 +00:00
Konstantin Vyatkin
e3cc6eaf1b
[MAJOR] Remove .ajax
and allow async function for .setChoices
( #701 )
...
* WIP: remove ajax
* copy #700
* remove ajax, add fetchChoices
* extend setChoices
* update README
2019-10-29 18:12:32 +00:00
Konstantin Vyatkin
1f5192b4ad
remove delegateEvents ( #703 )
2019-10-29 17:46:10 +00:00
Konstantin Vyatkin
2e004015d5
fix preventPaste ( #707 )
...
* what is preventPaste?
* fix preventPaste
2019-10-29 17:35:20 +00:00
Konstantin Vyatkin
b080bcda7d
rename addItemFilterFn ( #699 )
2019-10-29 17:29:31 +00:00
Konstantin Vyatkin
2a03d9be12
don't reemplement localeCompare ( #695 )
2019-10-29 17:09:49 +00:00
Konstantin Vyatkin
9504cfcec5
[MAJOR] expose defaults
and original Template rendering functions ( #708 )
...
* expose original Template rendering functions
* add to types
* add moduleResolution
* use `defaults`
2019-10-29 15:13:00 +00:00
Konstantin Vyatkin
1c751472b2
[Tooling] Transpile tests targeting Node, not browser ( #700 )
...
* transplite tests for higher target
* fix test
* add to lint-stagged too
2019-10-29 14:05:37 +00:00
Konstantin Vyatkin
b48395ce36
fix dir ( #711 )
2019-10-29 14:02:24 +00:00
Konstantin Vyatkin
a2485392a5
don't reimplement native closest
( #696 )
2019-10-28 20:26:19 +00:00
Konstantin Vyatkin
dbd15d7823
don't calculate pixel width ( #694 )
2019-10-28 19:27:10 +00:00
Konstantin Vyatkin
312569a734
make hidden important ( #702 )
2019-10-27 20:17:30 +00:00
Konstantin Vyatkin
15d54c7d34
Remove classnames and use createElement
( #687 )
...
* enable restricted syntax in tests
* add Options to global
* crearte native elements
* remove unused helper
* fix/improve typings
* add JSDoc typings
* remove if/else
2019-10-25 15:43:28 +01:00
Konstantin Vyatkin
ef2c70fb7a
use default parameters ( #698 )
...
* use default parameters
* Fix argument name in README
2019-10-25 13:21:38 +01:00
Konstantin Vyatkin
69582349bb
remove redundant CSS ( #697 )
...
* remove redundant CSS
* fix error with lack of test for false
* destruct dataset
* fix typo
2019-10-25 13:09:27 +01:00
Konstantin Vyatkin
7887c05249
[MAJOR] use attribute hidden ( #691 )
...
* use attribute hidden
* commit something to re-run tests
2019-10-24 18:09:44 +01:00
Konstantin Vyatkin
4acd6d6ca8
Improve GitHub actions and fix package.json
SCSS script ( #669 )
...
* run actions on dependencies change
* add bundlesize token to master run
* fix bundlesize commit number
* add cypress env
* also run on - '.browserslistrc' changes
* update node-sass to allow install on Node 12 and trigger events
* use script
* add group
* skip husky on cypress
* upgrade csso dependency to make it trim sourcemaps
* fix run-p / run-s use
* remove commited assets on check
* commit assets
* remove cypress record
* restore recording
* reduce bundlesize limits
* try to specify key implicity
* remove Cypress recording
* restore build in bundlesize
* regenerate package-json.lock
* commit generated assets
* handle no-js case in lint
* fix lint error
2019-10-22 22:20:40 +01:00
Konstantin Vyatkin
6848970fd9
improve Babel and webpack configurations --> reduce JS bundle size ( #670 )
...
* simplify babel config
* fix Cypress VSCode checks
* introduce webpack base config
* fix flacky cypress test
* fix class properties definition
* fix default export
* upgrade affected deps, decrease bundlesize
* run ESLint only on changed files
2019-10-22 17:08:43 +01:00
Josh Johnson
1285602b2f
Publish version after npm publish ( #672 )
...
* Add publish to github step
* Include file with release
* Supress logs if silent mode = true
* 🔖 Version 7.1.1
* Rejig console logs
* Update error log conditional
2019-10-22 12:50:40 +01:00
Christophe Coevoet
8782564ddf
Add support for standard-compliant placeholder option ( #617 )
...
* Add support for standard-compliant placeholder option
* Bump version and rebuild files
2019-10-22 11:25:36 +01:00
Josh Johnson
f597bc9aff
Remove travis ( #667 )
...
* Remove travis.yml
* Remove versioning from index file
* Resolve linting issues
* Resolve further linting issues
* Uppercase NPM_TOKEN
* Run audit fix
* Update postversion command
* Update @babel/core to latest
* Update post version command
* Housekeeping
* Revert cypress upgrade
* Enforce cypress version
* Update package.lock
* Add cypress project id
2019-10-21 20:03:57 +01:00
Konstantin Vyatkin
7de0887e7d
use templates from instance, fixes #461 ( #660 )
...
* use template from instance
* adjust test
* fix lint
* try to move `this` out of loop
* fixes late init bound
2019-10-21 10:48:49 +01:00
Chris DeLuca
e7d775e2ae
Use event delegation ( #644 )
...
Instead of attaching a new root-level event listener for bubbling events
for every choices instance, use a simple event delegation script to
handle each event type.
Each event callback function already is coded as if it were fully
delegated, since the events are attached at the document level, so
no changes are needed to detect which element is being called.
Note that focus and blur event do not bubble, so they have been left as
they are.
Also note that the event delegation uses an IIFE purposely instead of
ES6 modules, since the event list should be globally cached, and it
doesn't make sense to instantiate a new scope for each instance (then
we're back where we started!)
fix #643
2019-10-15 08:42:31 +01:00
bradwade
5cf226f166
ADA accessibility label fixes ( #642 )
...
* Update incorrect 'label-for' in demo index.html file.
* Use placeholder value for search input aria label.
* Updated input template test.
* Adding the compiled, uglified JS.
2019-10-10 09:49:00 +01:00
Tomakava
37db45e651
fix unhighlightAll performance issue ( #648 )
2019-10-03 09:41:53 +01:00
Alex Webb
39b6eed395
Resolve issue in utils::calcWidthOfInput() ( #608 )
2019-10-02 09:03:38 +01:00
Josh Johnson
67382a3f31
Use v3 of polyfill
2019-03-29 09:12:29 +00:00
Josh Johnson
3c05016920
Merge branch 'master' of https://github.com/DarrenMack-OD/Choices into DarrenMack-OD-master
2019-03-29 08:57:38 +00:00
Darren Mackintosh
9c021408fa
Update choices.test.js
2019-03-15 16:57:57 +00:00
Darren Mackintosh
aceb838988
Rolled back webpack changes in Choices.js
2019-03-15 16:57:35 +00:00
Darren Mackintosh
03a45094b7
Update index.test.js
2019-03-14 12:31:29 +00:00
Darren Mackintosh
92680c0dc0
Update index.js
2019-03-14 12:20:43 +00:00
Darren Mackintosh
da87fa07cf
Update choices.test.js
2019-03-14 12:13:06 +00:00
Darren Mackintosh
2247eff08a
Added linting exclusion for WebPack
2019-03-14 12:03:22 +00:00
Darren Mackintosh
5018e4a7d4
Updated reference to choices
...
Because I have attempted to fix the WebPack issue with choices, I need to change how it is referenced
2019-03-14 11:47:11 +00:00
Darren Mackintosh
cc32284e8a
Updated reference to choices
...
Because I have attempted to fix the WebPack issue with choices, I need to change how it is referenced
2019-03-14 11:46:39 +00:00
Darren Mackintosh
b1005061ff
Changed reference to Choices
...
Because I have attempted to fix the WebPack issue with choices, I need to change how it is referenced
2019-03-14 11:44:46 +00:00
Darren Mackintosh
6486bbbd6d
Updated tests to reflect changes to choices.js
2019-03-14 11:23:57 +00:00
Darren Mackintosh
f9f63e7aba
Fix for the webpack issue
...
export choices as a class to circumvent the webpack issue
2019-03-14 11:23:12 +00:00
Hans Lemuet
5c17250e20
Allow passing an empty array to setChoices
2019-03-13 10:34:06 +01:00
Hans Lemuet
fc9bca2ece
Rename _clearChoices to clearChoices
2019-03-13 10:05:38 +01:00
Darren Mackintosh
2fa92520ef
Updated Choices.js
...
Fixes scrollbar issue in IE11. There is an EDGE-CASE where-by if a user were to select the same option twice, the dropdown doesn't go away. This is, however a very extreme case and we are on the right track
2019-03-12 20:27:54 +00:00
Christophe Coevoet
56845e3897
Remove the CustomEvent polyfill from the bundle
2019-02-28 11:51:04 +01:00
Josh Johnson
879c97f64c
Resolve undefined error ( #528 )
...
* Remove run-p from test command
* Remove dropdown interaction tests
* Tidy utils
* Use merge lib
* Remove string casting
* Sanitise in constants
* Housekeeping
* Add non-string value tests
2019-02-22 22:04:55 +00:00
Josh Johnson
8540d5aabd
Api changes ( #515 )
...
* Combine regexFilter and addItemFilter + minor tweaks
* Update tests to accomodate fixed dropdown notice
* Remove broken `toggleDropdown` method
* Unskip dropdown interaction tests
* Remove reference to removed method
2019-02-12 18:35:46 +00:00
Josh Johnson
55b356ec69
Add travis pipeline ( #516 )
...
* Update travis.yml
* Simplify ci pipeline
* Include css in bundle size check
* Set npm username via env var
* Specify branches
* Add build scripts
* Consistent ifs
* Add linting stage to pipeline
* Cache npm
* Cache cypress & npm folders + install using ci method
* Unignore package-lock
2019-02-12 18:04:50 +00:00
Glade
ba09fb00e6
callback to filter items before adding ( #485 )
...
* Add item custom callback
* Minor unit test updates
* Test updates, Changed callback name to more clearly distinguish it's function
* Fix description wording in cypress
* Update README
* Updated filter item callback name to be addItemFilter
2019-02-11 22:56:21 +00:00
Josh Johnson
23e5e7674f
Tweak doc page
2019-02-11 21:47:47 +00:00
Guilherme de Oliveira Costa
71a3131d3c
Added custom properties to options
...
Added custom properties to options to be searchable on select.
2019-02-11 16:05:59 -02:00
Josh Johnson
5c9dfdf2db
Upgrade old packages ( #508 )
...
* Upgrade Webpack to v4
* Upgrade Mocha
* Export unminfied and minified version
* Add browserslistrc
* Remove core.js polyfills
* Run bundle size on pre push
* Run bundlesize last
* Update readme gzip side
2019-02-09 18:13:25 +00:00
Josh Johnson
437651411f
Fix render blocking ( #456 )
...
* Reapply changes from PR #310
* Version 4.1.1
* Update action name
* Update test
* Resolved broken test
2019-01-26 12:36:47 +00:00
Jeremy Hou
48b74a91bc
fixes the 'invalid input type' check ( #498 )
2019-01-21 08:46:14 +00:00
Jeremy Hou
9c001487ba
Fixes an issue where deepmerge concatenates array configs ( #496 )
2019-01-19 14:47:22 +00:00
Josh Johnson
826384b9d5
Fix set choice by value bug ( #471 )
...
* Resolve bug with setChoiceByValue not removing choice from dropdown
* 4.1.3
* Version 4.1.3
2018-11-25 12:48:49 +00:00
Josh Johnson
c3e46e55aa
Fix form submission bug in firefox ( #470 )
...
* Fix form submission bug in firefox
* 4.1.1
2018-11-24 17:48:03 +00:00
Josh Johnson
496db95153
Disable input when loading remote data
2018-11-03 13:24:52 +00:00
Josh Johnson
f3c0abef95
Add e2e tests to interact with dropdown
2018-11-03 12:26:02 +00:00
Josh Johnson
feb2a15edc
Disable at a later stage of intialising
2018-10-30 22:04:08 +00:00
Josh Johnson
b0f3b28ef4
Do not open dropdown if element is disabled
2018-10-30 20:28:40 +00:00
Josh Johnson
798b49d565
Disable element if disabled attr passed
2018-10-30 20:21:52 +00:00
Josh Johnson
7e4347b183
Resolve issue with Firefox not selecting choices via enter key
2018-10-30 19:20:16 +00:00
Josh Johnson
608358a9f8
Fix bug where selected options were not being selected
2018-10-28 09:32:35 +00:00
Josh Johnson
de71fb7ef4
Resolve issue with disable/enable methods
2018-10-27 20:16:46 +01:00
Leonard
8149db8436
Make it work in Internet Explorer ( #434 )
...
+ IE does not support multiple-parameter classList.add() /
classList.remove(); Replace it with single-parameter calls
https://caniuse.com/#feat=classlist
+ IE needs polyfills for Array.prototype.find / Array.prototype.includes
2018-10-27 16:26:52 +01:00
Josh Johnson
4193422cf6
Resolve an issue with disabling/enabling instances
2018-10-21 19:26:08 +01:00
Josh Johnson
e07e14bd8f
Add select multiple e2e tests
2018-10-13 16:38:51 +01:00
Josh Johnson
1f06a32b30
Resolve bug with text value
2018-10-13 15:49:44 +01:00
Josh Johnson
2f96c239ff
Better organisation of e2e tests
2018-10-13 12:18:02 +01:00
Josh Johnson
81b2e23d0d
Use test.html for testing + add additional tests
2018-10-11 19:33:19 +01:00
Josh Johnson
3319529b98
Seperate key methods into class methods
2018-10-09 13:17:11 +01:00
Josh Johnson
60d52a2d3b
Check no unknown config keys are passed
2018-10-09 13:16:58 +01:00
Josh Johnson
4431a0ec23
Use deepmerge lib + store all defaults in DEFAULT_CONFIG
2018-10-09 12:43:25 +01:00
Josh Johnson
4824958e4d
Make render method private
2018-10-09 12:26:47 +01:00
Ryan Mahoney
5e215907f4
expose new event that triggers when choice is highlighted
2018-07-03 09:51:18 +01:00
Josh Johnson
129d01c396
Amend copy
2018-05-29 20:39:40 +01:00
Josh Johnson
3886cbbd5c
Minor tweaks
2018-05-29 20:30:58 +01:00
Josh Johnson
9ac62aec31
Codebeat fixes
2018-05-29 20:08:05 +01:00
Josh Johnson
38cc568341
Use objects for args where necessary
2018-05-29 19:55:33 +01:00
Josh Johnson
bc2e0b8be0
Build
2018-05-29 15:47:45 +01:00
Josh Johnson
32f32703cb
Use internal flag for enabling/disabling search
2018-05-29 15:46:30 +01:00
Josh Johnson
5a6c8142b9
Inverse focus calls when opening/closing dropdown
2018-05-29 15:08:43 +01:00
Josh Johnson
8a21c12482
Rename duplicateItems to duplicateItemsAllowed for clarity
2018-05-29 09:30:05 +01:00
Josh Johnson
f286dbc653
Add util tests
2018-05-28 17:56:36 +01:00
Josh Johnson
bfb6571ce9
Merge into latest
2018-05-28 16:22:22 +01:00
Josh Johnson
056ece0238
Run linter
2018-05-28 15:50:16 +01:00
Josh Johnson
179542897c
Merge branch 'develop' into develop
2018-05-28 15:47:27 +01:00
Josh Johnson
67e1940232
Avoid name conflict with stripHTML
2018-05-28 15:46:27 +01:00
Josh Johnson
9dbb2e9733
Rename stripHTML + cast values to string
2018-05-28 15:39:12 +01:00
Josh Johnson
8214eea7a9
Resolve conflict + add test
2018-05-28 15:33:13 +01:00
Tőrös Egon Richárd
6e45d3f9b0
Merge branch 'develop' into develop
2018-05-28 16:19:31 +02:00
Josh Johnson
a023d92b35
Resolve conflict
2018-05-28 15:17:43 +01:00
Egon Richárd Tőrös
0cbf951845
Merge branch 'develop' of https://github.com/jshjohnson/Choices into develop
2018-05-28 16:13:55 +02:00
Josh Johnson
39beb20245
Remove pointless comments + minor tidying
2018-05-28 14:18:44 +01:00
Josh Johnson
804a4a442b
Move scrolling logic into list component
2018-05-28 14:09:11 +01:00