From 2fa92520ef88f3d27dedbe03d6c8a85d27561637 Mon Sep 17 00:00:00 2001 From: Darren Mackintosh Date: Tue, 12 Mar 2019 20:27:54 +0000 Subject: [PATCH 01/15] 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 --- src/scripts/choices.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/choices.js b/src/scripts/choices.js index 24b028b..f334638 100644 --- a/src/scripts/choices.js +++ b/src/scripts/choices.js @@ -1386,7 +1386,7 @@ class Choices { _onMouseDown(event) { const { target, shiftKey } = event; // If we have our mouse down on the scrollbar and are on IE11... - if (target === this.choiceList && isIE11()) { + if (this.choiceList.element.contains(target) && isIE11()) { this._isScrollingOnIe = true; } From f9f63e7aba64099989672b1b813b130461b16507 Mon Sep 17 00:00:00 2001 From: Darren Mackintosh Date: Thu, 14 Mar 2019 11:23:12 +0000 Subject: [PATCH 02/15] Fix for the webpack issue export choices as a class to circumvent the webpack issue --- src/scripts/choices.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/scripts/choices.js b/src/scripts/choices.js index f334638..a8430d1 100644 --- a/src/scripts/choices.js +++ b/src/scripts/choices.js @@ -43,7 +43,7 @@ import { * Choices * @author Josh Johnson */ -class Choices { +export class Choices { constructor(element = '[data-choice]', userConfig = {}) { if (isType('String', element)) { const elements = Array.from(document.querySelectorAll(element)); @@ -2083,5 +2083,3 @@ class Choices { } Choices.userDefaults = {}; -// We cannot export default here due to Webpack: https://github.com/webpack/webpack/issues/3929 -module.exports = Choices; From 6486bbbd6de3365899af1ccee3f945bd074e0ae0 Mon Sep 17 00:00:00 2001 From: Darren Mackintosh Date: Thu, 14 Mar 2019 11:23:57 +0000 Subject: [PATCH 03/15] Updated tests to reflect changes to choices.js --- src/scripts/choices.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/choices.test.js b/src/scripts/choices.test.js index 12c21fa..03fb90c 100644 --- a/src/scripts/choices.test.js +++ b/src/scripts/choices.test.js @@ -1,7 +1,7 @@ import { expect } from 'chai'; import { spy, stub } from 'sinon'; -import Choices from './choices'; +import { Choices } from './choices'; import { EVENTS, ACTION_TYPES } from './constants'; describe('choices', () => { From b1005061ff8bce3b8bca95da45aa1131c9fdb6bc Mon Sep 17 00:00:00 2001 From: Darren Mackintosh Date: Thu, 14 Mar 2019 11:44:46 +0000 Subject: [PATCH 04/15] Changed reference to Choices Because I have attempted to fix the WebPack issue with choices, I need to change how it is referenced --- src/scripts/reducers/choices.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/reducers/choices.test.js b/src/scripts/reducers/choices.test.js index 9563f6c..375a15a 100644 --- a/src/scripts/reducers/choices.test.js +++ b/src/scripts/reducers/choices.test.js @@ -1,5 +1,5 @@ import { expect } from 'chai'; -import choices, { defaultState } from './choices'; +import { choices, defaultState } from './choices'; describe('reducers/choices', () => { it('should return same state when no action matches', () => { From cc32284e8a057b80c306f2596a4c6cc5973f10dd Mon Sep 17 00:00:00 2001 From: Darren Mackintosh Date: Thu, 14 Mar 2019 11:46:39 +0000 Subject: [PATCH 05/15] Updated reference to choices Because I have attempted to fix the WebPack issue with choices, I need to change how it is referenced --- src/scripts/reducers/index.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/reducers/index.test.js b/src/scripts/reducers/index.test.js index c662cc8..d35cdde 100644 --- a/src/scripts/reducers/index.test.js +++ b/src/scripts/reducers/index.test.js @@ -2,7 +2,7 @@ import { createStore } from 'redux'; import { expect } from 'chai'; import rootReducer from './index'; import groups from './groups'; -import choices from './choices'; +import { choices } from './choices'; import items from './items'; describe('reducers/rootReducer', () => { From 5018e4a7d4dc8ee017823151459c121d1cc1481a Mon Sep 17 00:00:00 2001 From: Darren Mackintosh Date: Thu, 14 Mar 2019 11:47:11 +0000 Subject: [PATCH 06/15] Updated reference to choices Because I have attempted to fix the WebPack issue with choices, I need to change how it is referenced --- src/scripts/reducers/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/reducers/index.js b/src/scripts/reducers/index.js index 31dc7b3..a3fced6 100644 --- a/src/scripts/reducers/index.js +++ b/src/scripts/reducers/index.js @@ -1,7 +1,7 @@ import { combineReducers } from 'redux'; import items from './items'; import groups from './groups'; -import choices from './choices'; +import { choices } from './choices'; import general from './general'; import { cloneObject } from '../lib/utils'; From 2247eff08a8371fbb3938522a830d0c8c45ba8fc Mon Sep 17 00:00:00 2001 From: Darren Mackintosh Date: Thu, 14 Mar 2019 12:03:22 +0000 Subject: [PATCH 07/15] Added linting exclusion for WebPack --- src/scripts/choices.js | 1 + 1 file changed, 1 insertion(+) diff --git a/src/scripts/choices.js b/src/scripts/choices.js index a8430d1..57233fc 100644 --- a/src/scripts/choices.js +++ b/src/scripts/choices.js @@ -1,3 +1,4 @@ +/* eslint-disable import/prefer-default-export */ import Fuse from 'fuse.js'; import merge from 'deepmerge'; From da87fa07cfc45d1f674ff047629a827152299bdc Mon Sep 17 00:00:00 2001 From: Darren Mackintosh Date: Thu, 14 Mar 2019 12:13:06 +0000 Subject: [PATCH 08/15] Update choices.test.js --- src/scripts/reducers/choices.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/reducers/choices.test.js b/src/scripts/reducers/choices.test.js index 375a15a..9563f6c 100644 --- a/src/scripts/reducers/choices.test.js +++ b/src/scripts/reducers/choices.test.js @@ -1,5 +1,5 @@ import { expect } from 'chai'; -import { choices, defaultState } from './choices'; +import choices, { defaultState } from './choices'; describe('reducers/choices', () => { it('should return same state when no action matches', () => { From 92680c0dc065692b2fb9d50649ddfb1ee5f4de37 Mon Sep 17 00:00:00 2001 From: Darren Mackintosh Date: Thu, 14 Mar 2019 12:20:43 +0000 Subject: [PATCH 09/15] Update index.js --- src/scripts/reducers/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/reducers/index.js b/src/scripts/reducers/index.js index a3fced6..31dc7b3 100644 --- a/src/scripts/reducers/index.js +++ b/src/scripts/reducers/index.js @@ -1,7 +1,7 @@ import { combineReducers } from 'redux'; import items from './items'; import groups from './groups'; -import { choices } from './choices'; +import choices from './choices'; import general from './general'; import { cloneObject } from '../lib/utils'; From 03a45094b7316c31eaf937bc6f7b6259064b7aa9 Mon Sep 17 00:00:00 2001 From: Darren Mackintosh Date: Thu, 14 Mar 2019 12:31:29 +0000 Subject: [PATCH 10/15] Update index.test.js --- src/scripts/reducers/index.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/reducers/index.test.js b/src/scripts/reducers/index.test.js index d35cdde..c662cc8 100644 --- a/src/scripts/reducers/index.test.js +++ b/src/scripts/reducers/index.test.js @@ -2,7 +2,7 @@ import { createStore } from 'redux'; import { expect } from 'chai'; import rootReducer from './index'; import groups from './groups'; -import { choices } from './choices'; +import choices from './choices'; import items from './items'; describe('reducers/rootReducer', () => { From aceb838988d8b4ed05a3a05dfe0b9ae0408f4581 Mon Sep 17 00:00:00 2001 From: Darren Mackintosh Date: Fri, 15 Mar 2019 16:57:35 +0000 Subject: [PATCH 11/15] Rolled back webpack changes in Choices.js --- src/scripts/choices.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/scripts/choices.js b/src/scripts/choices.js index 57233fc..f334638 100644 --- a/src/scripts/choices.js +++ b/src/scripts/choices.js @@ -1,4 +1,3 @@ -/* eslint-disable import/prefer-default-export */ import Fuse from 'fuse.js'; import merge from 'deepmerge'; @@ -44,7 +43,7 @@ import { * Choices * @author Josh Johnson */ -export class Choices { +class Choices { constructor(element = '[data-choice]', userConfig = {}) { if (isType('String', element)) { const elements = Array.from(document.querySelectorAll(element)); @@ -2084,3 +2083,5 @@ export class Choices { } Choices.userDefaults = {}; +// We cannot export default here due to Webpack: https://github.com/webpack/webpack/issues/3929 +module.exports = Choices; From 9c021408fa5f55bfe46dda970dc9835a07464713 Mon Sep 17 00:00:00 2001 From: Darren Mackintosh Date: Fri, 15 Mar 2019 16:57:57 +0000 Subject: [PATCH 12/15] Update choices.test.js --- src/scripts/choices.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scripts/choices.test.js b/src/scripts/choices.test.js index 03fb90c..12c21fa 100644 --- a/src/scripts/choices.test.js +++ b/src/scripts/choices.test.js @@ -1,7 +1,7 @@ import { expect } from 'chai'; import { spy, stub } from 'sinon'; -import { Choices } from './choices'; +import Choices from './choices'; import { EVENTS, ACTION_TYPES } from './constants'; describe('choices', () => { From 201b3c8adae4236245b296c9a07108ae781f4140 Mon Sep 17 00:00:00 2001 From: Darren Mackintosh Date: Fri, 15 Mar 2019 17:17:43 +0000 Subject: [PATCH 13/15] Updated version numbers --- public/test/select-multiple.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/test/select-multiple.html b/public/test/select-multiple.html index e860d20..30e076d 100644 --- a/public/test/select-multiple.html +++ b/public/test/select-multiple.html @@ -16,12 +16,12 @@ - + - - + + From f32995367b74e92a3814c964ae87a5b614d371aa Mon Sep 17 00:00:00 2001 From: Darren Mackintosh Date: Fri, 15 Mar 2019 17:18:23 +0000 Subject: [PATCH 14/15] Update select-one.html --- public/test/select-one.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/test/select-one.html b/public/test/select-one.html index de37a75..54657f0 100644 --- a/public/test/select-one.html +++ b/public/test/select-one.html @@ -16,12 +16,12 @@ - + - - + + From b08a5412f927aab39e7e578b03bd3dec3cd55345 Mon Sep 17 00:00:00 2001 From: Darren Mackintosh Date: Fri, 15 Mar 2019 17:18:58 +0000 Subject: [PATCH 15/15] Update text.html --- public/test/text.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/public/test/text.html b/public/test/text.html index 1d4ea24..f2e8003 100644 --- a/public/test/text.html +++ b/public/test/text.html @@ -16,12 +16,12 @@ - + - - + +