Commit graph

258 commits

Author SHA1 Message Date
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
Josh Johnson f9455b1a25 Install prettier + resolve linting issues 2018-05-28 13:55:44 +01:00
Josh Johnson a6bfdc0993 Refactor _scrollToChoice 2018-05-27 17:34:16 +01:00
Josh Johnson 1df8d81ae4 Refactor _canAddItem 2018-05-27 17:22:58 +01:00
Josh Johnson 9a9e7f7b25 Restructure style folders 2018-05-27 12:04:42 +01:00
Josh Johnson 257a038262 Use express for development + folder restructuring 2018-05-27 11:57:21 +01:00
Josh Johnson 831a79ea44 Move public assets into public foldeR 2018-05-25 14:00:27 +01:00
Josh Johnson 8f67de4844 Make event handlers private 2018-05-25 09:22:14 +01:00
Josh Johnson b3956db628 Export components from index file 2018-05-25 09:01:55 +01:00
Josh Johnson 579138f756 Remove unused utils 2018-05-25 08:58:07 +01:00
Josh Johnson 478df0fac1 Minor tweaks 2018-05-25 08:53:58 +01:00
Josh Johnson 25309c91fc Use dep for event polyfill 2018-05-25 08:53:50 +01:00
Josh Johnson 1608d815e9 Use core js for polyfills 2018-05-25 08:44:54 +01:00
Josh Johnson 62389ff744 More private variables 2018-05-24 09:22:07 +01:00
Josh Johnson 109a232171 Minor variable name change 2018-05-23 14:43:52 +01:00
Josh Johnson a591c32a24 Break out public functions into more private methods + housekeeping 2018-05-23 13:09:45 +01:00
Philipp Eichhorn 8ab0387857 perf: removed forced reflow ("layout thrashing") by reading testEl.offsetWidth in a separate animation frame 2018-05-22 15:19:00 +02:00
Philipp Eichhorn 92e968462c perf: removed forced reflow ("layout thrashing") by executing choiceList.scrollTo(0) in a separate animation frame 2018-05-22 13:46:24 +02:00
Josh Johnson d3a18e255b Destructure class args 2018-05-21 17:01:03 +01:00
Egon Richárd Tőrös ec061adc7c Merge branch 'develop' of https://github.com/jshjohnson/Choices into develop 2018-05-10 14:42:53 +02:00