mirror of
https://github.com/Choices-js/Choices.git
synced 2024-06-08 00:42:15 +02:00
Cache object lookups
This commit is contained in:
parent
d6f34fc70e
commit
1fcd9dea0d
409
assets/scripts/dist/choices.js
vendored
409
assets/scripts/dist/choices.js
vendored
|
@ -74,11 +74,11 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
var _index2 = _interopRequireDefault(_index);
|
var _index2 = _interopRequireDefault(_index);
|
||||||
|
|
||||||
var _index3 = __webpack_require__(22);
|
var _index3 = __webpack_require__(23);
|
||||||
|
|
||||||
var _utils = __webpack_require__(23);
|
var _utils = __webpack_require__(24);
|
||||||
|
|
||||||
__webpack_require__(24);
|
__webpack_require__(25);
|
||||||
|
|
||||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
||||||
|
|
||||||
|
@ -95,8 +95,8 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
function Choices() {
|
function Choices() {
|
||||||
var _this = this;
|
var _this = this;
|
||||||
|
|
||||||
var element = arguments.length <= 0 || arguments[0] === undefined ? '[data-choice]' : arguments[0];
|
var element = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '[data-choice]';
|
||||||
var userConfig = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
|
var userConfig = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
||||||
|
|
||||||
_classCallCheck(this, Choices);
|
_classCallCheck(this, Choices);
|
||||||
|
|
||||||
|
@ -135,7 +135,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
prependValue: null,
|
prependValue: null,
|
||||||
appendValue: null,
|
appendValue: null,
|
||||||
loadingText: 'Loading...',
|
loadingText: 'Loading...',
|
||||||
noResultsText: 'No results round',
|
noResultsText: 'No results found',
|
||||||
noChoicesText: 'No choices to choose from',
|
noChoicesText: 'No choices to choose from',
|
||||||
itemSelectText: 'Press to select',
|
itemSelectText: 'Press to select',
|
||||||
classNames: {
|
classNames: {
|
||||||
|
@ -189,6 +189,8 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
// Retrieve triggering element (i.e. element with 'data-choice' trigger)
|
// Retrieve triggering element (i.e. element with 'data-choice' trigger)
|
||||||
this.element = element;
|
this.element = element;
|
||||||
this.passedElement = (0, _utils.isType)('String', element) ? document.querySelector(element) : element;
|
this.passedElement = (0, _utils.isType)('String', element) ? document.querySelector(element) : element;
|
||||||
|
this.isSelectElement = this.passedElement.type === 'select-one' || this.passedElement.type === 'select-multiple';
|
||||||
|
this.isTextElement = this.passedElement.type === 'text';
|
||||||
|
|
||||||
if (!this.passedElement) {
|
if (!this.passedElement) {
|
||||||
console.error('Passed element not found');
|
console.error('Passed element not found');
|
||||||
|
@ -232,7 +234,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
this.wasTap = true;
|
this.wasTap = true;
|
||||||
|
|
||||||
// Cutting the mustard
|
// Cutting the mustard
|
||||||
var cuttingTheMustard = 'querySelector' in document && 'addEventListener' in document && 'classList' in document.createElement('div');
|
var cuttingTheMustard = 'classList' in document.documentElement;
|
||||||
if (!cuttingTheMustard) console.error('Choices: Your browser doesn\'t support Choices');
|
if (!cuttingTheMustard) console.error('Choices: Your browser doesn\'t support Choices');
|
||||||
|
|
||||||
// Input type check
|
// Input type check
|
||||||
|
@ -424,7 +426,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
// Simplify store data to just values
|
// Simplify store data to just values
|
||||||
var itemsFiltered = this.store.getItemsReducedToValues(items);
|
var itemsFiltered = this.store.getItemsReducedToValues(items);
|
||||||
|
|
||||||
if (this.passedElement.type === 'text') {
|
if (this.isTextElement) {
|
||||||
// Assign hidden input array of values
|
// Assign hidden input array of values
|
||||||
this.passedElement.setAttribute('value', itemsFiltered.join(this.config.delimiter));
|
this.passedElement.setAttribute('value', itemsFiltered.join(this.config.delimiter));
|
||||||
} else {
|
} else {
|
||||||
|
@ -695,7 +697,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
value: function removeHighlightedItems() {
|
value: function removeHighlightedItems() {
|
||||||
var _this9 = this;
|
var _this9 = this;
|
||||||
|
|
||||||
var runCallback = arguments.length <= 0 || arguments[0] === undefined ? false : arguments[0];
|
var runCallback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
||||||
|
|
||||||
var items = this.store.getItemsFilteredByActive();
|
var items = this.store.getItemsFilteredByActive();
|
||||||
|
|
||||||
|
@ -722,7 +724,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
}, {
|
}, {
|
||||||
key: 'showDropdown',
|
key: 'showDropdown',
|
||||||
value: function showDropdown() {
|
value: function showDropdown() {
|
||||||
var focusInput = arguments.length <= 0 || arguments[0] === undefined ? false : arguments[0];
|
var focusInput = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
||||||
|
|
||||||
var body = document.body;
|
var body = document.body;
|
||||||
var html = document.documentElement;
|
var html = document.documentElement;
|
||||||
|
@ -760,7 +762,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
}, {
|
}, {
|
||||||
key: 'hideDropdown',
|
key: 'hideDropdown',
|
||||||
value: function hideDropdown() {
|
value: function hideDropdown() {
|
||||||
var blurInput = arguments.length <= 0 || arguments[0] === undefined ? false : arguments[0];
|
var blurInput = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
||||||
|
|
||||||
// A dropdown flips if it does not have space within the page
|
// A dropdown flips if it does not have space within the page
|
||||||
var isFlipped = this.containerOuter.classList.contains(this.config.classNames.flippedState);
|
var isFlipped = this.containerOuter.classList.contains(this.config.classNames.flippedState);
|
||||||
|
@ -812,13 +814,13 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
value: function getValue() {
|
value: function getValue() {
|
||||||
var _this10 = this;
|
var _this10 = this;
|
||||||
|
|
||||||
var valueOnly = arguments.length <= 0 || arguments[0] === undefined ? false : arguments[0];
|
var valueOnly = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
||||||
|
|
||||||
var items = this.store.getItemsFilteredByActive();
|
var items = this.store.getItemsFilteredByActive();
|
||||||
var selectedItems = [];
|
var selectedItems = [];
|
||||||
|
|
||||||
items.forEach(function (item) {
|
items.forEach(function (item) {
|
||||||
if (_this10.passedElement.type === 'text') {
|
if (_this10.isTextElement) {
|
||||||
selectedItems.push(valueOnly ? item.value : item);
|
selectedItems.push(valueOnly ? item.value : item);
|
||||||
} else if (item.active) {
|
} else if (item.active) {
|
||||||
selectedItems.push(valueOnly ? item.value : item);
|
selectedItems.push(valueOnly ? item.value : item);
|
||||||
|
@ -846,27 +848,30 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
var _this11 = this;
|
var _this11 = this;
|
||||||
|
|
||||||
if (this.initialised === true) {
|
if (this.initialised === true) {
|
||||||
// Convert args to an itterable array
|
(function () {
|
||||||
var values = [].concat(_toConsumableArray(args));
|
// Convert args to an itterable array
|
||||||
|
var values = [].concat(_toConsumableArray(args)),
|
||||||
|
passedElementType = _this11.passedElement.type;
|
||||||
|
|
||||||
values.forEach(function (item) {
|
values.forEach(function (item) {
|
||||||
if ((0, _utils.isType)('Object', item)) {
|
if ((0, _utils.isType)('Object', item)) {
|
||||||
if (!item.value) return;
|
if (!item.value) return;
|
||||||
// If we are dealing with a select input, we need to create an option first
|
// If we are dealing with a select input, we need to create an option first
|
||||||
// that is then selected. For text inputs we can just add items normally.
|
// that is then selected. For text inputs we can just add items normally.
|
||||||
if (_this11.passedElement.type !== 'text') {
|
if (passedElementType !== 'text') {
|
||||||
_this11._addChoice(true, false, item.value, item.label, -1);
|
_this11._addChoice(true, false, item.value, item.label, -1);
|
||||||
} else {
|
} else {
|
||||||
_this11._addItem(item.value, item.label, item.id);
|
_this11._addItem(item.value, item.label, item.id);
|
||||||
|
}
|
||||||
|
} else if ((0, _utils.isType)('String', item)) {
|
||||||
|
if (passedElementType !== 'text') {
|
||||||
|
_this11._addChoice(true, false, item, item, -1);
|
||||||
|
} else {
|
||||||
|
_this11._addItem(item);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if ((0, _utils.isType)('String', item)) {
|
});
|
||||||
if (_this11.passedElement.type !== 'text') {
|
})();
|
||||||
_this11._addChoice(true, false, item, item, -1);
|
|
||||||
} else {
|
|
||||||
_this11._addItem(item);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
@ -926,10 +931,10 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
value: function setChoices(choices, value, label) {
|
value: function setChoices(choices, value, label) {
|
||||||
var _this13 = this;
|
var _this13 = this;
|
||||||
|
|
||||||
var replaceChoices = arguments.length <= 3 || arguments[3] === undefined ? false : arguments[3];
|
var replaceChoices = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
||||||
|
|
||||||
if (this.initialised === true) {
|
if (this.initialised === true) {
|
||||||
if (this.passedElement.type === 'select-one' || this.passedElement.type === 'select-multiple') {
|
if (this.isSelectElement) {
|
||||||
if (!(0, _utils.isType)('Array', choices) || !value) return;
|
if (!(0, _utils.isType)('Array', choices) || !value) return;
|
||||||
// Clear choices if needed
|
// Clear choices if needed
|
||||||
if (replaceChoices) {
|
if (replaceChoices) {
|
||||||
|
@ -1039,7 +1044,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
key: 'ajax',
|
key: 'ajax',
|
||||||
value: function ajax(fn) {
|
value: function ajax(fn) {
|
||||||
if (this.initialised === true) {
|
if (this.initialised === true) {
|
||||||
if (this.passedElement.type === 'select-one' || this.passedElement.type === 'select-multiple') {
|
if (this.isSelectElement) {
|
||||||
// Show loading text
|
// Show loading text
|
||||||
this._handleLoadingState(true);
|
this._handleLoadingState(true);
|
||||||
// Run callback
|
// Run callback
|
||||||
|
@ -1130,7 +1135,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
value: function _handleItemAction(activeItems, element) {
|
value: function _handleItemAction(activeItems, element) {
|
||||||
var _this15 = this;
|
var _this15 = this;
|
||||||
|
|
||||||
var hasShiftKey = arguments.length <= 2 || arguments[2] === undefined ? false : arguments[2];
|
var hasShiftKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
||||||
|
|
||||||
if (!activeItems || !element) return;
|
if (!activeItems || !element) return;
|
||||||
|
|
||||||
|
@ -1285,7 +1290,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
}, {
|
}, {
|
||||||
key: '_handleLoadingState',
|
key: '_handleLoadingState',
|
||||||
value: function _handleLoadingState() {
|
value: function _handleLoadingState() {
|
||||||
var isLoading = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
|
var isLoading = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
||||||
|
|
||||||
var placeholderItem = this.itemList.querySelector('.' + this.config.classNames.placeholder);
|
var placeholderItem = this.itemList.querySelector('.' + this.config.classNames.placeholder);
|
||||||
if (isLoading) {
|
if (isLoading) {
|
||||||
|
@ -1509,7 +1514,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
if (e.target !== this.input && !this.containerOuter.contains(e.target)) return;
|
if (e.target !== this.input && !this.containerOuter.contains(e.target)) return;
|
||||||
|
|
||||||
var target = e.target;
|
var target = e.target;
|
||||||
|
var passedElementType = this.passedElement.type;
|
||||||
var activeItems = this.store.getItemsFilteredByActive();
|
var activeItems = this.store.getItemsFilteredByActive();
|
||||||
var hasFocusedInput = this.input === document.activeElement;
|
var hasFocusedInput = this.input === document.activeElement;
|
||||||
var hasActiveDropdown = this.dropdown.classList.contains(this.config.classNames.activeState);
|
var hasActiveDropdown = this.dropdown.classList.contains(this.config.classNames.activeState);
|
||||||
|
@ -1526,7 +1531,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
var ctrlDownKey = e.ctrlKey || e.metaKey;
|
var ctrlDownKey = e.ctrlKey || e.metaKey;
|
||||||
|
|
||||||
// If a user is typing and the dropdown is not active
|
// If a user is typing and the dropdown is not active
|
||||||
if (this.passedElement.type !== 'text' && /[a-zA-Z0-9-_ ]/.test(keyString) && !hasActiveDropdown) {
|
if (passedElementType !== 'text' && /[a-zA-Z0-9-_ ]/.test(keyString) && !hasActiveDropdown) {
|
||||||
this.showDropdown(true);
|
this.showDropdown(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1545,7 +1550,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
var onEnterKey = function onEnterKey() {
|
var onEnterKey = function onEnterKey() {
|
||||||
// If enter key is pressed and the input has a value
|
// If enter key is pressed and the input has a value
|
||||||
if (_this17.passedElement.type === 'text' && target.value) {
|
if (passedElementType === 'text' && target.value) {
|
||||||
var value = _this17.input.value;
|
var value = _this17.input.value;
|
||||||
var canAddItem = _this17._canAddItem(activeItems, value);
|
var canAddItem = _this17._canAddItem(activeItems, value);
|
||||||
|
|
||||||
|
@ -1572,7 +1577,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
if (highlighted) {
|
if (highlighted) {
|
||||||
_this17._handleChoiceAction(activeItems, highlighted);
|
_this17._handleChoiceAction(activeItems, highlighted);
|
||||||
}
|
}
|
||||||
} else if (_this17.passedElement.type === 'select-one') {
|
} else if (passedElementType === 'select-one') {
|
||||||
// Open single select dropdown if it's not active
|
// Open single select dropdown if it's not active
|
||||||
if (!hasActiveDropdown) {
|
if (!hasActiveDropdown) {
|
||||||
_this17.showDropdown(true);
|
_this17.showDropdown(true);
|
||||||
|
@ -1589,7 +1594,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
var onDirectionKey = function onDirectionKey() {
|
var onDirectionKey = function onDirectionKey() {
|
||||||
// If up or down key is pressed, traverse through options
|
// If up or down key is pressed, traverse through options
|
||||||
if (hasActiveDropdown || _this17.passedElement.type === 'select-one') {
|
if (hasActiveDropdown || passedElementType === 'select-one') {
|
||||||
// Show dropdown if focus
|
// Show dropdown if focus
|
||||||
if (!hasActiveDropdown) {
|
if (!hasActiveDropdown) {
|
||||||
_this17.showDropdown(true);
|
_this17.showDropdown(true);
|
||||||
|
@ -1624,7 +1629,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
var onDeleteKey = function onDeleteKey() {
|
var onDeleteKey = function onDeleteKey() {
|
||||||
// If backspace or delete key is pressed and the input has no value
|
// If backspace or delete key is pressed and the input has no value
|
||||||
if (hasFocusedInput && !e.target.value && _this17.passedElement.type !== 'select-one') {
|
if (hasFocusedInput && !e.target.value && passedElementType !== 'select-one') {
|
||||||
_this17._handleBackspace(activeItems);
|
_this17._handleBackspace(activeItems);
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
}
|
}
|
||||||
|
@ -1653,7 +1658,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
// We are typing into a text input and have a value, we want to show a dropdown
|
// We are typing into a text input and have a value, we want to show a dropdown
|
||||||
// notice. Otherwise hide the dropdown
|
// notice. Otherwise hide the dropdown
|
||||||
if (this.passedElement.type === 'text') {
|
if (this.isTextElement) {
|
||||||
var hasActiveDropdown = this.dropdown.classList.contains(this.config.classNames.activeState);
|
var hasActiveDropdown = this.dropdown.classList.contains(this.config.classNames.activeState);
|
||||||
var value = this.input.value;
|
var value = this.input.value;
|
||||||
|
|
||||||
|
@ -1740,7 +1745,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
if (this.wasTap === true && this.containerOuter.contains(target)) {
|
if (this.wasTap === true && this.containerOuter.contains(target)) {
|
||||||
// ...and we aren't dealing with a single select box, show dropdown/focus input
|
// ...and we aren't dealing with a single select box, show dropdown/focus input
|
||||||
if ((target === this.containerOuter || target === this.containerInner) && this.passedElement.type !== 'select-one') {
|
if ((target === this.containerOuter || target === this.containerInner) && this.passedElement.type !== 'select-one') {
|
||||||
if (this.passedElement.type === 'text') {
|
if (this.isTextElement) {
|
||||||
// If text element, we only want to focus the input (if it isn't already)
|
// If text element, we only want to focus the input (if it isn't already)
|
||||||
if (document.activeElement !== this.input) {
|
if (document.activeElement !== this.input) {
|
||||||
this.input.focus();
|
this.input.focus();
|
||||||
|
@ -1806,7 +1811,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!hasActiveDropdown) {
|
if (!hasActiveDropdown) {
|
||||||
if (this.passedElement.type === 'text') {
|
if (this.isTextElement) {
|
||||||
if (document.activeElement !== this.input) {
|
if (document.activeElement !== this.input) {
|
||||||
this.input.focus();
|
this.input.focus();
|
||||||
}
|
}
|
||||||
|
@ -2028,36 +2033,34 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
var dropdownHeight = this.choiceList.offsetHeight;
|
var dropdownHeight = this.choiceList.offsetHeight;
|
||||||
var choiceHeight = choice.offsetHeight;
|
var choiceHeight = choice.offsetHeight;
|
||||||
|
|
||||||
// Distance from bottom of element to top of parent
|
// Distance from bottom of element to top of parent
|
||||||
var choicePos = choice.offsetTop + choiceHeight;
|
var choicePos = choice.offsetTop + choiceHeight;
|
||||||
|
|
||||||
// Scroll position of dropdown
|
// Scroll position of dropdown
|
||||||
var containerScrollPos = this.choiceList.scrollTop + dropdownHeight;
|
var containerScrollPos = this.choiceList.scrollTop + dropdownHeight;
|
||||||
|
|
||||||
// Difference between the choice and scroll position
|
// Difference between the choice and scroll position
|
||||||
var endPoint = direction > 0 ? this.choiceList.scrollTop + choicePos - containerScrollPos : choice.offsetTop;
|
var endPoint = direction > 0 ? this.choiceList.scrollTop + choicePos - containerScrollPos : choice.offsetTop;
|
||||||
|
|
||||||
var animateScroll = function animateScroll() {
|
var animateScroll = function animateScroll() {
|
||||||
var strength = 4;
|
var strength = 4;
|
||||||
|
var choiceListScrollTop = _this20.choiceList.scrollTop;
|
||||||
var continueAnimation = false;
|
var continueAnimation = false;
|
||||||
var easing = void 0;
|
var easing = void 0;
|
||||||
var distance = void 0;
|
var distance = void 0;
|
||||||
|
|
||||||
if (direction > 0) {
|
if (direction > 0) {
|
||||||
easing = (endPoint - _this20.choiceList.scrollTop) / strength;
|
easing = (endPoint - choiceListScrollTop) / strength;
|
||||||
distance = easing > 1 ? easing : 1;
|
distance = easing > 1 ? easing : 1;
|
||||||
|
|
||||||
_this20.choiceList.scrollTop = _this20.choiceList.scrollTop + distance;
|
_this20.choiceList.scrollTop = choiceListScrollTop + distance;
|
||||||
if (_this20.choiceList.scrollTop < endPoint) {
|
if (choiceListScrollTop < endPoint) {
|
||||||
continueAnimation = true;
|
continueAnimation = true;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
easing = (_this20.choiceList.scrollTop - endPoint) / strength;
|
easing = (choiceListScrollTop - endPoint) / strength;
|
||||||
distance = easing > 1 ? easing : 1;
|
distance = easing > 1 ? easing : 1;
|
||||||
|
|
||||||
_this20.choiceList.scrollTop = _this20.choiceList.scrollTop - distance;
|
_this20.choiceList.scrollTop = choiceListScrollTop - distance;
|
||||||
if (_this20.choiceList.scrollTop > endPoint) {
|
if (choiceListScrollTop > endPoint) {
|
||||||
continueAnimation = true;
|
continueAnimation = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2132,8 +2135,8 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
}, {
|
}, {
|
||||||
key: '_addItem',
|
key: '_addItem',
|
||||||
value: function _addItem(value, label) {
|
value: function _addItem(value, label) {
|
||||||
var choiceId = arguments.length <= 2 || arguments[2] === undefined ? -1 : arguments[2];
|
var choiceId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1;
|
||||||
var groupId = arguments.length <= 3 || arguments[3] === undefined ? -1 : arguments[3];
|
var groupId = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : -1;
|
||||||
|
|
||||||
var passedValue = (0, _utils.isType)('String', value) ? value.trim() : value;
|
var passedValue = (0, _utils.isType)('String', value) ? value.trim() : value;
|
||||||
var items = this.store.getItems();
|
var items = this.store.getItems();
|
||||||
|
@ -2232,7 +2235,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
}, {
|
}, {
|
||||||
key: '_addChoice',
|
key: '_addChoice',
|
||||||
value: function _addChoice(isSelected, isDisabled, value, label) {
|
value: function _addChoice(isSelected, isDisabled, value, label) {
|
||||||
var groupId = arguments.length <= 4 || arguments[4] === undefined ? -1 : arguments[4];
|
var groupId = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : -1;
|
||||||
|
|
||||||
if (!value) return;
|
if (!value) return;
|
||||||
|
|
||||||
|
@ -2275,8 +2278,8 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
value: function _addGroup(group, id) {
|
value: function _addGroup(group, id) {
|
||||||
var _this22 = this;
|
var _this22 = this;
|
||||||
|
|
||||||
var valueKey = arguments.length <= 2 || arguments[2] === undefined ? 'value' : arguments[2];
|
var valueKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'value';
|
||||||
var labelKey = arguments.length <= 3 || arguments[3] === undefined ? 'label' : arguments[3];
|
var labelKey = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'label';
|
||||||
|
|
||||||
var groupChoices = (0, _utils.isType)('Object', group) ? group.choices : Array.from(group.getElementsByTagName('OPTION'));
|
var groupChoices = (0, _utils.isType)('Object', group) ? group.choices : Array.from(group.getElementsByTagName('OPTION'));
|
||||||
var groupId = id;
|
var groupId = id;
|
||||||
|
@ -2507,7 +2510,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
}
|
}
|
||||||
} else if (this.passedElement.type === 'text') {
|
} else if (this.isTextElement) {
|
||||||
// Add any preset values seperated by delimiter
|
// Add any preset values seperated by delimiter
|
||||||
this.presetItems.forEach(function (item) {
|
this.presetItems.forEach(function (item) {
|
||||||
if ((0, _utils.isType)('Object', item)) {
|
if ((0, _utils.isType)('Object', item)) {
|
||||||
|
@ -3349,7 +3352,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
var _redux = __webpack_require__(4);
|
var _redux = __webpack_require__(4);
|
||||||
|
|
||||||
var _index = __webpack_require__(18);
|
var _index = __webpack_require__(19);
|
||||||
|
|
||||||
var _index2 = _interopRequireDefault(_index);
|
var _index2 = _interopRequireDefault(_index);
|
||||||
|
|
||||||
|
@ -3436,7 +3439,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
}, {
|
}, {
|
||||||
key: 'getItemsReducedToValues',
|
key: 'getItemsReducedToValues',
|
||||||
value: function getItemsReducedToValues() {
|
value: function getItemsReducedToValues() {
|
||||||
var items = arguments.length <= 0 || arguments[0] === undefined ? this.getItems() : arguments[0];
|
var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getItems();
|
||||||
|
|
||||||
var values = items.reduce(function (prev, current) {
|
var values = items.reduce(function (prev, current) {
|
||||||
prev.push(current.value);
|
prev.push(current.value);
|
||||||
|
@ -3581,27 +3584,27 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
var _createStore2 = _interopRequireDefault(_createStore);
|
var _createStore2 = _interopRequireDefault(_createStore);
|
||||||
|
|
||||||
var _combineReducers = __webpack_require__(13);
|
var _combineReducers = __webpack_require__(14);
|
||||||
|
|
||||||
var _combineReducers2 = _interopRequireDefault(_combineReducers);
|
var _combineReducers2 = _interopRequireDefault(_combineReducers);
|
||||||
|
|
||||||
var _bindActionCreators = __webpack_require__(15);
|
var _bindActionCreators = __webpack_require__(16);
|
||||||
|
|
||||||
var _bindActionCreators2 = _interopRequireDefault(_bindActionCreators);
|
var _bindActionCreators2 = _interopRequireDefault(_bindActionCreators);
|
||||||
|
|
||||||
var _applyMiddleware = __webpack_require__(16);
|
var _applyMiddleware = __webpack_require__(17);
|
||||||
|
|
||||||
var _applyMiddleware2 = _interopRequireDefault(_applyMiddleware);
|
var _applyMiddleware2 = _interopRequireDefault(_applyMiddleware);
|
||||||
|
|
||||||
var _compose = __webpack_require__(17);
|
var _compose = __webpack_require__(18);
|
||||||
|
|
||||||
var _compose2 = _interopRequireDefault(_compose);
|
var _compose2 = _interopRequireDefault(_compose);
|
||||||
|
|
||||||
var _warning = __webpack_require__(14);
|
var _warning = __webpack_require__(15);
|
||||||
|
|
||||||
var _warning2 = _interopRequireDefault(_warning);
|
var _warning2 = _interopRequireDefault(_warning);
|
||||||
|
|
||||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This is a dummy function to check if the function name has been altered by minification.
|
* This is a dummy function to check if the function name has been altered by minification.
|
||||||
|
@ -3610,14 +3613,14 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
function isCrushed() {}
|
function isCrushed() {}
|
||||||
|
|
||||||
if (false) {
|
if (false) {
|
||||||
(0, _warning2["default"])('You are currently using minified code outside of NODE_ENV === \'production\'. ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or DefinePlugin for webpack (http://stackoverflow.com/questions/30030031) ' + 'to ensure you have the correct code for your production build.');
|
(0, _warning2['default'])('You are currently using minified code outside of NODE_ENV === \'production\'. ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or DefinePlugin for webpack (http://stackoverflow.com/questions/30030031) ' + 'to ensure you have the correct code for your production build.');
|
||||||
}
|
}
|
||||||
|
|
||||||
exports.createStore = _createStore2["default"];
|
exports.createStore = _createStore2['default'];
|
||||||
exports.combineReducers = _combineReducers2["default"];
|
exports.combineReducers = _combineReducers2['default'];
|
||||||
exports.bindActionCreators = _bindActionCreators2["default"];
|
exports.bindActionCreators = _bindActionCreators2['default'];
|
||||||
exports.applyMiddleware = _applyMiddleware2["default"];
|
exports.applyMiddleware = _applyMiddleware2['default'];
|
||||||
exports.compose = _compose2["default"];
|
exports.compose = _compose2['default'];
|
||||||
|
|
||||||
/***/ },
|
/***/ },
|
||||||
/* 5 */
|
/* 5 */
|
||||||
|
@ -3627,17 +3630,17 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
exports.__esModule = true;
|
exports.__esModule = true;
|
||||||
exports.ActionTypes = undefined;
|
exports.ActionTypes = undefined;
|
||||||
exports["default"] = createStore;
|
exports['default'] = createStore;
|
||||||
|
|
||||||
var _isPlainObject = __webpack_require__(6);
|
var _isPlainObject = __webpack_require__(6);
|
||||||
|
|
||||||
var _isPlainObject2 = _interopRequireDefault(_isPlainObject);
|
var _isPlainObject2 = _interopRequireDefault(_isPlainObject);
|
||||||
|
|
||||||
var _symbolObservable = __webpack_require__(11);
|
var _symbolObservable = __webpack_require__(10);
|
||||||
|
|
||||||
var _symbolObservable2 = _interopRequireDefault(_symbolObservable);
|
var _symbolObservable2 = _interopRequireDefault(_symbolObservable);
|
||||||
|
|
||||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* These are private action types reserved by Redux.
|
* These are private action types reserved by Redux.
|
||||||
|
@ -3660,7 +3663,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
* @param {Function} reducer A function that returns the next state tree, given
|
* @param {Function} reducer A function that returns the next state tree, given
|
||||||
* the current state tree and the action to handle.
|
* the current state tree and the action to handle.
|
||||||
*
|
*
|
||||||
* @param {any} [initialState] The initial state. You may optionally specify it
|
* @param {any} [preloadedState] The initial state. You may optionally specify it
|
||||||
* to hydrate the state from the server in universal apps, or to restore a
|
* to hydrate the state from the server in universal apps, or to restore a
|
||||||
* previously serialized user session.
|
* previously serialized user session.
|
||||||
* If you use `combineReducers` to produce the root reducer function, this must be
|
* If you use `combineReducers` to produce the root reducer function, this must be
|
||||||
|
@ -3674,12 +3677,12 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
* @returns {Store} A Redux store that lets you read the state, dispatch actions
|
* @returns {Store} A Redux store that lets you read the state, dispatch actions
|
||||||
* and subscribe to changes.
|
* and subscribe to changes.
|
||||||
*/
|
*/
|
||||||
function createStore(reducer, initialState, enhancer) {
|
function createStore(reducer, preloadedState, enhancer) {
|
||||||
var _ref2;
|
var _ref2;
|
||||||
|
|
||||||
if (typeof initialState === 'function' && typeof enhancer === 'undefined') {
|
if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {
|
||||||
enhancer = initialState;
|
enhancer = preloadedState;
|
||||||
initialState = undefined;
|
preloadedState = undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof enhancer !== 'undefined') {
|
if (typeof enhancer !== 'undefined') {
|
||||||
|
@ -3687,7 +3690,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
throw new Error('Expected the enhancer to be a function.');
|
throw new Error('Expected the enhancer to be a function.');
|
||||||
}
|
}
|
||||||
|
|
||||||
return enhancer(createStore)(reducer, initialState);
|
return enhancer(createStore)(reducer, preloadedState);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof reducer !== 'function') {
|
if (typeof reducer !== 'function') {
|
||||||
|
@ -3695,7 +3698,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
}
|
}
|
||||||
|
|
||||||
var currentReducer = reducer;
|
var currentReducer = reducer;
|
||||||
var currentState = initialState;
|
var currentState = preloadedState;
|
||||||
var currentListeners = [];
|
var currentListeners = [];
|
||||||
var nextListeners = currentListeners;
|
var nextListeners = currentListeners;
|
||||||
var isDispatching = false;
|
var isDispatching = false;
|
||||||
|
@ -3787,7 +3790,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
* return something else (for example, a Promise you can await).
|
* return something else (for example, a Promise you can await).
|
||||||
*/
|
*/
|
||||||
function dispatch(action) {
|
function dispatch(action) {
|
||||||
if (!(0, _isPlainObject2["default"])(action)) {
|
if (!(0, _isPlainObject2['default'])(action)) {
|
||||||
throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');
|
throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3852,7 +3855,6 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
* be used to unsubscribe the observable from the store, and prevent further
|
* be used to unsubscribe the observable from the store, and prevent further
|
||||||
* emission of values from the observable.
|
* emission of values from the observable.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
subscribe: function subscribe(observer) {
|
subscribe: function subscribe(observer) {
|
||||||
if (typeof observer !== 'object') {
|
if (typeof observer !== 'object') {
|
||||||
throw new TypeError('Expected the observer to be an object.');
|
throw new TypeError('Expected the observer to be an object.');
|
||||||
|
@ -3868,7 +3870,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
var unsubscribe = outerSubscribe(observeState);
|
var unsubscribe = outerSubscribe(observeState);
|
||||||
return { unsubscribe: unsubscribe };
|
return { unsubscribe: unsubscribe };
|
||||||
}
|
}
|
||||||
}, _ref[_symbolObservable2["default"]] = function () {
|
}, _ref[_symbolObservable2['default']] = function () {
|
||||||
return this;
|
return this;
|
||||||
}, _ref;
|
}, _ref;
|
||||||
}
|
}
|
||||||
|
@ -3883,7 +3885,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
subscribe: subscribe,
|
subscribe: subscribe,
|
||||||
getState: getState,
|
getState: getState,
|
||||||
replaceReducer: replaceReducer
|
replaceReducer: replaceReducer
|
||||||
}, _ref2[_symbolObservable2["default"]] = observable, _ref2;
|
}, _ref2[_symbolObservable2['default']] = observable, _ref2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/***/ },
|
/***/ },
|
||||||
|
@ -3891,8 +3893,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
/***/ function(module, exports, __webpack_require__) {
|
/***/ function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
var getPrototype = __webpack_require__(7),
|
var getPrototype = __webpack_require__(7),
|
||||||
isHostObject = __webpack_require__(9),
|
isObjectLike = __webpack_require__(9);
|
||||||
isObjectLike = __webpack_require__(10);
|
|
||||||
|
|
||||||
/** `Object#toString` result references. */
|
/** `Object#toString` result references. */
|
||||||
var objectTag = '[object Object]';
|
var objectTag = '[object Object]';
|
||||||
|
@ -3946,8 +3947,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
* // => true
|
* // => true
|
||||||
*/
|
*/
|
||||||
function isPlainObject(value) {
|
function isPlainObject(value) {
|
||||||
if (!isObjectLike(value) ||
|
if (!isObjectLike(value) || objectToString.call(value) != objectTag) {
|
||||||
objectToString.call(value) != objectTag || isHostObject(value)) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
var proto = getPrototype(value);
|
var proto = getPrototype(value);
|
||||||
|
@ -3997,32 +3997,6 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
/***/ },
|
/***/ },
|
||||||
/* 9 */
|
/* 9 */
|
||||||
/***/ function(module, exports) {
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Checks if `value` is a host object in IE < 9.
|
|
||||||
*
|
|
||||||
* @private
|
|
||||||
* @param {*} value The value to check.
|
|
||||||
* @returns {boolean} Returns `true` if `value` is a host object, else `false`.
|
|
||||||
*/
|
|
||||||
function isHostObject(value) {
|
|
||||||
// Many host objects are `Object` objects that can coerce to strings
|
|
||||||
// despite having improperly defined `toString` methods.
|
|
||||||
var result = false;
|
|
||||||
if (value != null && typeof value.toString != 'function') {
|
|
||||||
try {
|
|
||||||
result = !!(value + '');
|
|
||||||
} catch (e) {}
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
module.exports = isHostObject;
|
|
||||||
|
|
||||||
|
|
||||||
/***/ },
|
|
||||||
/* 10 */
|
|
||||||
/***/ function(module, exports) {
|
/***/ function(module, exports) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -4050,39 +4024,90 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
* // => false
|
* // => false
|
||||||
*/
|
*/
|
||||||
function isObjectLike(value) {
|
function isObjectLike(value) {
|
||||||
return !!value && typeof value == 'object';
|
return value != null && typeof value == 'object';
|
||||||
}
|
}
|
||||||
|
|
||||||
module.exports = isObjectLike;
|
module.exports = isObjectLike;
|
||||||
|
|
||||||
|
|
||||||
|
/***/ },
|
||||||
|
/* 10 */
|
||||||
|
/***/ function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
|
module.exports = __webpack_require__(11);
|
||||||
|
|
||||||
|
|
||||||
/***/ },
|
/***/ },
|
||||||
/* 11 */
|
/* 11 */
|
||||||
/***/ function(module, exports, __webpack_require__) {
|
/***/ function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
/* WEBPACK VAR INJECTION */(function(global) {/* global window */
|
/* WEBPACK VAR INJECTION */(function(global, module) {'use strict';
|
||||||
'use strict';
|
|
||||||
|
|
||||||
module.exports = __webpack_require__(12)(global || window || this);
|
Object.defineProperty(exports, "__esModule", {
|
||||||
|
value: true
|
||||||
|
});
|
||||||
|
|
||||||
/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }())))
|
var _ponyfill = __webpack_require__(13);
|
||||||
|
|
||||||
|
var _ponyfill2 = _interopRequireDefault(_ponyfill);
|
||||||
|
|
||||||
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
||||||
|
|
||||||
|
var root; /* global window */
|
||||||
|
|
||||||
|
|
||||||
|
if (typeof self !== 'undefined') {
|
||||||
|
root = self;
|
||||||
|
} else if (typeof window !== 'undefined') {
|
||||||
|
root = window;
|
||||||
|
} else if (typeof global !== 'undefined') {
|
||||||
|
root = global;
|
||||||
|
} else if (true) {
|
||||||
|
root = module;
|
||||||
|
} else {
|
||||||
|
root = Function('return this')();
|
||||||
|
}
|
||||||
|
|
||||||
|
var result = (0, _ponyfill2['default'])(root);
|
||||||
|
exports['default'] = result;
|
||||||
|
/* WEBPACK VAR INJECTION */}.call(exports, (function() { return this; }()), __webpack_require__(12)(module)))
|
||||||
|
|
||||||
/***/ },
|
/***/ },
|
||||||
/* 12 */
|
/* 12 */
|
||||||
|
/***/ function(module, exports) {
|
||||||
|
|
||||||
|
module.exports = function(module) {
|
||||||
|
if(!module.webpackPolyfill) {
|
||||||
|
module.deprecate = function() {};
|
||||||
|
module.paths = [];
|
||||||
|
// module.parent = undefined by default
|
||||||
|
module.children = [];
|
||||||
|
module.webpackPolyfill = 1;
|
||||||
|
}
|
||||||
|
return module;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/***/ },
|
||||||
|
/* 13 */
|
||||||
/***/ function(module, exports) {
|
/***/ function(module, exports) {
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
module.exports = function symbolObservablePonyfill(root) {
|
Object.defineProperty(exports, "__esModule", {
|
||||||
|
value: true
|
||||||
|
});
|
||||||
|
exports['default'] = symbolObservablePonyfill;
|
||||||
|
function symbolObservablePonyfill(root) {
|
||||||
var result;
|
var result;
|
||||||
var Symbol = root.Symbol;
|
var _Symbol = root.Symbol;
|
||||||
|
|
||||||
if (typeof Symbol === 'function') {
|
if (typeof _Symbol === 'function') {
|
||||||
if (Symbol.observable) {
|
if (_Symbol.observable) {
|
||||||
result = Symbol.observable;
|
result = _Symbol.observable;
|
||||||
} else {
|
} else {
|
||||||
result = Symbol('observable');
|
result = _Symbol('observable');
|
||||||
Symbol.observable = result;
|
_Symbol.observable = result;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
result = '@@observable';
|
result = '@@observable';
|
||||||
|
@ -4091,15 +4116,14 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
/***/ },
|
/***/ },
|
||||||
/* 13 */
|
/* 14 */
|
||||||
/***/ function(module, exports, __webpack_require__) {
|
/***/ function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
exports.__esModule = true;
|
exports.__esModule = true;
|
||||||
exports["default"] = combineReducers;
|
exports['default'] = combineReducers;
|
||||||
|
|
||||||
var _createStore = __webpack_require__(5);
|
var _createStore = __webpack_require__(5);
|
||||||
|
|
||||||
|
@ -4107,11 +4131,11 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
var _isPlainObject2 = _interopRequireDefault(_isPlainObject);
|
var _isPlainObject2 = _interopRequireDefault(_isPlainObject);
|
||||||
|
|
||||||
var _warning = __webpack_require__(14);
|
var _warning = __webpack_require__(15);
|
||||||
|
|
||||||
var _warning2 = _interopRequireDefault(_warning);
|
var _warning2 = _interopRequireDefault(_warning);
|
||||||
|
|
||||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
||||||
|
|
||||||
function getUndefinedStateErrorMessage(key, action) {
|
function getUndefinedStateErrorMessage(key, action) {
|
||||||
var actionType = action && action.type;
|
var actionType = action && action.type;
|
||||||
|
@ -4120,20 +4144,24 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
return 'Given action ' + actionName + ', reducer "' + key + '" returned undefined. ' + 'To ignore an action, you must explicitly return the previous state.';
|
return 'Given action ' + actionName + ', reducer "' + key + '" returned undefined. ' + 'To ignore an action, you must explicitly return the previous state.';
|
||||||
}
|
}
|
||||||
|
|
||||||
function getUnexpectedStateShapeWarningMessage(inputState, reducers, action) {
|
function getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {
|
||||||
var reducerKeys = Object.keys(reducers);
|
var reducerKeys = Object.keys(reducers);
|
||||||
var argumentName = action && action.type === _createStore.ActionTypes.INIT ? 'initialState argument passed to createStore' : 'previous state received by the reducer';
|
var argumentName = action && action.type === _createStore.ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';
|
||||||
|
|
||||||
if (reducerKeys.length === 0) {
|
if (reducerKeys.length === 0) {
|
||||||
return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';
|
return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(0, _isPlainObject2["default"])(inputState)) {
|
if (!(0, _isPlainObject2['default'])(inputState)) {
|
||||||
return 'The ' + argumentName + ' has unexpected type of "' + {}.toString.call(inputState).match(/\s([a-z|A-Z]+)/)[1] + '". Expected argument to be an object with the following ' + ('keys: "' + reducerKeys.join('", "') + '"');
|
return 'The ' + argumentName + ' has unexpected type of "' + {}.toString.call(inputState).match(/\s([a-z|A-Z]+)/)[1] + '". Expected argument to be an object with the following ' + ('keys: "' + reducerKeys.join('", "') + '"');
|
||||||
}
|
}
|
||||||
|
|
||||||
var unexpectedKeys = Object.keys(inputState).filter(function (key) {
|
var unexpectedKeys = Object.keys(inputState).filter(function (key) {
|
||||||
return !reducers.hasOwnProperty(key);
|
return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];
|
||||||
|
});
|
||||||
|
|
||||||
|
unexpectedKeys.forEach(function (key) {
|
||||||
|
unexpectedKeyCache[key] = true;
|
||||||
});
|
});
|
||||||
|
|
||||||
if (unexpectedKeys.length > 0) {
|
if (unexpectedKeys.length > 0) {
|
||||||
|
@ -4178,12 +4206,23 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
var finalReducers = {};
|
var finalReducers = {};
|
||||||
for (var i = 0; i < reducerKeys.length; i++) {
|
for (var i = 0; i < reducerKeys.length; i++) {
|
||||||
var key = reducerKeys[i];
|
var key = reducerKeys[i];
|
||||||
|
|
||||||
|
if (false) {
|
||||||
|
if (typeof reducers[key] === 'undefined') {
|
||||||
|
(0, _warning2['default'])('No reducer provided for key "' + key + '"');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (typeof reducers[key] === 'function') {
|
if (typeof reducers[key] === 'function') {
|
||||||
finalReducers[key] = reducers[key];
|
finalReducers[key] = reducers[key];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var finalReducerKeys = Object.keys(finalReducers);
|
var finalReducerKeys = Object.keys(finalReducers);
|
||||||
|
|
||||||
|
if (false) {
|
||||||
|
var unexpectedKeyCache = {};
|
||||||
|
}
|
||||||
|
|
||||||
var sanityError;
|
var sanityError;
|
||||||
try {
|
try {
|
||||||
assertReducerSanity(finalReducers);
|
assertReducerSanity(finalReducers);
|
||||||
|
@ -4200,9 +4239,9 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
}
|
}
|
||||||
|
|
||||||
if (false) {
|
if (false) {
|
||||||
var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action);
|
var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);
|
||||||
if (warningMessage) {
|
if (warningMessage) {
|
||||||
(0, _warning2["default"])(warningMessage);
|
(0, _warning2['default'])(warningMessage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4225,13 +4264,13 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
}
|
}
|
||||||
|
|
||||||
/***/ },
|
/***/ },
|
||||||
/* 14 */
|
/* 15 */
|
||||||
/***/ function(module, exports) {
|
/***/ function(module, exports) {
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
exports.__esModule = true;
|
exports.__esModule = true;
|
||||||
exports["default"] = warning;
|
exports['default'] = warning;
|
||||||
/**
|
/**
|
||||||
* Prints a warning in the console if it exists.
|
* Prints a warning in the console if it exists.
|
||||||
*
|
*
|
||||||
|
@ -4255,13 +4294,13 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
}
|
}
|
||||||
|
|
||||||
/***/ },
|
/***/ },
|
||||||
/* 15 */
|
/* 16 */
|
||||||
/***/ function(module, exports) {
|
/***/ function(module, exports) {
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
exports.__esModule = true;
|
exports.__esModule = true;
|
||||||
exports["default"] = bindActionCreators;
|
exports['default'] = bindActionCreators;
|
||||||
function bindActionCreator(actionCreator, dispatch) {
|
function bindActionCreator(actionCreator, dispatch) {
|
||||||
return function () {
|
return function () {
|
||||||
return dispatch(actionCreator.apply(undefined, arguments));
|
return dispatch(actionCreator.apply(undefined, arguments));
|
||||||
|
@ -4311,7 +4350,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
}
|
}
|
||||||
|
|
||||||
/***/ },
|
/***/ },
|
||||||
/* 16 */
|
/* 17 */
|
||||||
/***/ function(module, exports, __webpack_require__) {
|
/***/ function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
@ -4320,13 +4359,13 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
|
||||||
|
|
||||||
exports["default"] = applyMiddleware;
|
exports['default'] = applyMiddleware;
|
||||||
|
|
||||||
var _compose = __webpack_require__(17);
|
var _compose = __webpack_require__(18);
|
||||||
|
|
||||||
var _compose2 = _interopRequireDefault(_compose);
|
var _compose2 = _interopRequireDefault(_compose);
|
||||||
|
|
||||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates a store enhancer that applies middleware to the dispatch method
|
* Creates a store enhancer that applies middleware to the dispatch method
|
||||||
|
@ -4350,8 +4389,8 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
}
|
}
|
||||||
|
|
||||||
return function (createStore) {
|
return function (createStore) {
|
||||||
return function (reducer, initialState, enhancer) {
|
return function (reducer, preloadedState, enhancer) {
|
||||||
var store = createStore(reducer, initialState, enhancer);
|
var store = createStore(reducer, preloadedState, enhancer);
|
||||||
var _dispatch = store.dispatch;
|
var _dispatch = store.dispatch;
|
||||||
var chain = [];
|
var chain = [];
|
||||||
|
|
||||||
|
@ -4364,7 +4403,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
chain = middlewares.map(function (middleware) {
|
chain = middlewares.map(function (middleware) {
|
||||||
return middleware(middlewareAPI);
|
return middleware(middlewareAPI);
|
||||||
});
|
});
|
||||||
_dispatch = _compose2["default"].apply(undefined, chain)(store.dispatch);
|
_dispatch = _compose2['default'].apply(undefined, chain)(store.dispatch);
|
||||||
|
|
||||||
return _extends({}, store, {
|
return _extends({}, store, {
|
||||||
dispatch: _dispatch
|
dispatch: _dispatch
|
||||||
|
@ -4374,7 +4413,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
}
|
}
|
||||||
|
|
||||||
/***/ },
|
/***/ },
|
||||||
/* 17 */
|
/* 18 */
|
||||||
/***/ function(module, exports) {
|
/***/ function(module, exports) {
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
@ -4401,25 +4440,23 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
return function (arg) {
|
return function (arg) {
|
||||||
return arg;
|
return arg;
|
||||||
};
|
};
|
||||||
} else {
|
|
||||||
var _ret = function () {
|
|
||||||
var last = funcs[funcs.length - 1];
|
|
||||||
var rest = funcs.slice(0, -1);
|
|
||||||
return {
|
|
||||||
v: function v() {
|
|
||||||
return rest.reduceRight(function (composed, f) {
|
|
||||||
return f(composed);
|
|
||||||
}, last.apply(undefined, arguments));
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}();
|
|
||||||
|
|
||||||
if (typeof _ret === "object") return _ret.v;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (funcs.length === 1) {
|
||||||
|
return funcs[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
var last = funcs[funcs.length - 1];
|
||||||
|
var rest = funcs.slice(0, -1);
|
||||||
|
return function () {
|
||||||
|
return rest.reduceRight(function (composed, f) {
|
||||||
|
return f(composed);
|
||||||
|
}, last.apply(undefined, arguments));
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
/***/ },
|
/***/ },
|
||||||
/* 18 */
|
/* 19 */
|
||||||
/***/ function(module, exports, __webpack_require__) {
|
/***/ function(module, exports, __webpack_require__) {
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
@ -4430,15 +4467,15 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
|
|
||||||
var _redux = __webpack_require__(4);
|
var _redux = __webpack_require__(4);
|
||||||
|
|
||||||
var _items = __webpack_require__(19);
|
var _items = __webpack_require__(20);
|
||||||
|
|
||||||
var _items2 = _interopRequireDefault(_items);
|
var _items2 = _interopRequireDefault(_items);
|
||||||
|
|
||||||
var _groups = __webpack_require__(20);
|
var _groups = __webpack_require__(21);
|
||||||
|
|
||||||
var _groups2 = _interopRequireDefault(_groups);
|
var _groups2 = _interopRequireDefault(_groups);
|
||||||
|
|
||||||
var _choices = __webpack_require__(21);
|
var _choices = __webpack_require__(22);
|
||||||
|
|
||||||
var _choices2 = _interopRequireDefault(_choices);
|
var _choices2 = _interopRequireDefault(_choices);
|
||||||
|
|
||||||
|
@ -4466,7 +4503,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
exports.default = rootReducer;
|
exports.default = rootReducer;
|
||||||
|
|
||||||
/***/ },
|
/***/ },
|
||||||
/* 19 */
|
/* 20 */
|
||||||
/***/ function(module, exports) {
|
/***/ function(module, exports) {
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
@ -4478,7 +4515,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||||
|
|
||||||
var items = function items() {
|
var items = function items() {
|
||||||
var state = arguments.length <= 0 || arguments[0] === undefined ? [] : arguments[0];
|
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
||||||
var action = arguments[1];
|
var action = arguments[1];
|
||||||
|
|
||||||
switch (action.type) {
|
switch (action.type) {
|
||||||
|
@ -4534,7 +4571,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
exports.default = items;
|
exports.default = items;
|
||||||
|
|
||||||
/***/ },
|
/***/ },
|
||||||
/* 20 */
|
/* 21 */
|
||||||
/***/ function(module, exports) {
|
/***/ function(module, exports) {
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
@ -4546,7 +4583,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||||
|
|
||||||
var groups = function groups() {
|
var groups = function groups() {
|
||||||
var state = arguments.length <= 0 || arguments[0] === undefined ? [] : arguments[0];
|
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
||||||
var action = arguments[1];
|
var action = arguments[1];
|
||||||
|
|
||||||
switch (action.type) {
|
switch (action.type) {
|
||||||
|
@ -4575,7 +4612,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
exports.default = groups;
|
exports.default = groups;
|
||||||
|
|
||||||
/***/ },
|
/***/ },
|
||||||
/* 21 */
|
/* 22 */
|
||||||
/***/ function(module, exports) {
|
/***/ function(module, exports) {
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
@ -4584,12 +4621,12 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
|
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
||||||
|
|
||||||
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
|
||||||
|
|
||||||
var choices = function choices() {
|
var choices = function choices() {
|
||||||
var state = arguments.length <= 0 || arguments[0] === undefined ? [] : arguments[0];
|
var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
||||||
var action = arguments[1];
|
var action = arguments[1];
|
||||||
|
|
||||||
switch (action.type) {
|
switch (action.type) {
|
||||||
|
@ -4703,7 +4740,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
exports.default = choices;
|
exports.default = choices;
|
||||||
|
|
||||||
/***/ },
|
/***/ },
|
||||||
/* 22 */
|
/* 23 */
|
||||||
/***/ function(module, exports) {
|
/***/ function(module, exports) {
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
@ -4757,7 +4794,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
};
|
};
|
||||||
|
|
||||||
var activateChoices = exports.activateChoices = function activateChoices() {
|
var activateChoices = exports.activateChoices = function activateChoices() {
|
||||||
var active = arguments.length <= 0 || arguments[0] === undefined ? true : arguments[0];
|
var active = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;
|
||||||
|
|
||||||
return {
|
return {
|
||||||
type: 'ACTIVATE_CHOICES',
|
type: 'ACTIVATE_CHOICES',
|
||||||
|
@ -4788,7 +4825,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
};
|
};
|
||||||
|
|
||||||
/***/ },
|
/***/ },
|
||||||
/* 23 */
|
/* 24 */
|
||||||
/***/ function(module, exports) {
|
/***/ function(module, exports) {
|
||||||
|
|
||||||
"use strict";
|
"use strict";
|
||||||
|
@ -4797,7 +4834,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
|
|
||||||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; };
|
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
|
||||||
|
|
||||||
/* eslint-disable */
|
/* eslint-disable */
|
||||||
/**
|
/**
|
||||||
|
@ -5104,7 +5141,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
* @return {[HTMLElement} Found element
|
* @return {[HTMLElement} Found element
|
||||||
*/
|
*/
|
||||||
var getAdjacentEl = exports.getAdjacentEl = function getAdjacentEl(startEl, className) {
|
var getAdjacentEl = exports.getAdjacentEl = function getAdjacentEl(startEl, className) {
|
||||||
var direction = arguments.length <= 2 || arguments[2] === undefined ? 1 : arguments[2];
|
var direction = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
||||||
|
|
||||||
if (!startEl || !className) return;
|
if (!startEl || !className) return;
|
||||||
|
|
||||||
|
@ -5151,7 +5188,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
* @return {Boolean}
|
* @return {Boolean}
|
||||||
*/
|
*/
|
||||||
var isScrolledIntoView = exports.isScrolledIntoView = function isScrolledIntoView(el, parent) {
|
var isScrolledIntoView = exports.isScrolledIntoView = function isScrolledIntoView(el, parent) {
|
||||||
var direction = arguments.length <= 2 || arguments[2] === undefined ? 1 : arguments[2];
|
var direction = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1;
|
||||||
|
|
||||||
if (!el) return;
|
if (!el) return;
|
||||||
|
|
||||||
|
@ -5270,7 +5307,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
};
|
};
|
||||||
|
|
||||||
/***/ },
|
/***/ },
|
||||||
/* 24 */
|
/* 25 */
|
||||||
/***/ function(module, exports) {
|
/***/ function(module, exports) {
|
||||||
|
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
2
assets/scripts/dist/choices.js.map
vendored
2
assets/scripts/dist/choices.js.map
vendored
File diff suppressed because one or more lines are too long
4
assets/scripts/dist/choices.min.js
vendored
4
assets/scripts/dist/choices.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -122,6 +122,8 @@ class Choices {
|
||||||
// Retrieve triggering element (i.e. element with 'data-choice' trigger)
|
// Retrieve triggering element (i.e. element with 'data-choice' trigger)
|
||||||
this.element = element;
|
this.element = element;
|
||||||
this.passedElement = isType('String', element) ? document.querySelector(element) : element;
|
this.passedElement = isType('String', element) ? document.querySelector(element) : element;
|
||||||
|
this.isSelectElement = this.passedElement.type === 'select-one' || this.passedElement.type === 'select-multiple';
|
||||||
|
this.isTextElement = this.passedElement.type === 'text';
|
||||||
|
|
||||||
if (!this.passedElement) {
|
if (!this.passedElement) {
|
||||||
console.error('Passed element not found');
|
console.error('Passed element not found');
|
||||||
|
@ -165,8 +167,7 @@ class Choices {
|
||||||
this.wasTap = true;
|
this.wasTap = true;
|
||||||
|
|
||||||
// Cutting the mustard
|
// Cutting the mustard
|
||||||
const cuttingTheMustard = 'querySelector' in document && 'addEventListener' in document
|
const cuttingTheMustard = 'classList' in document.documentElement;
|
||||||
&& 'classList' in document.createElement('div');
|
|
||||||
if (!cuttingTheMustard) console.error('Choices: Your browser doesn\'t support Choices');
|
if (!cuttingTheMustard) console.error('Choices: Your browser doesn\'t support Choices');
|
||||||
|
|
||||||
// Input type check
|
// Input type check
|
||||||
|
@ -334,7 +335,7 @@ class Choices {
|
||||||
// Simplify store data to just values
|
// Simplify store data to just values
|
||||||
const itemsFiltered = this.store.getItemsReducedToValues(items);
|
const itemsFiltered = this.store.getItemsReducedToValues(items);
|
||||||
|
|
||||||
if (this.passedElement.type === 'text') {
|
if (this.isTextElement) {
|
||||||
// Assign hidden input array of values
|
// Assign hidden input array of values
|
||||||
this.passedElement.setAttribute('value', itemsFiltered.join(this.config.delimiter));
|
this.passedElement.setAttribute('value', itemsFiltered.join(this.config.delimiter));
|
||||||
} else {
|
} else {
|
||||||
|
@ -675,7 +676,7 @@ class Choices {
|
||||||
const selectedItems = [];
|
const selectedItems = [];
|
||||||
|
|
||||||
items.forEach((item) => {
|
items.forEach((item) => {
|
||||||
if (this.passedElement.type === 'text') {
|
if (this.isTextElement) {
|
||||||
selectedItems.push(valueOnly ? item.value : item);
|
selectedItems.push(valueOnly ? item.value : item);
|
||||||
} else if (item.active) {
|
} else if (item.active) {
|
||||||
selectedItems.push(valueOnly ? item.value : item);
|
selectedItems.push(valueOnly ? item.value : item);
|
||||||
|
@ -699,20 +700,21 @@ class Choices {
|
||||||
setValue(args) {
|
setValue(args) {
|
||||||
if (this.initialised === true) {
|
if (this.initialised === true) {
|
||||||
// Convert args to an itterable array
|
// Convert args to an itterable array
|
||||||
const values = [...args];
|
const values = [...args],
|
||||||
|
passedElementType = this.passedElement.type;
|
||||||
|
|
||||||
values.forEach((item) => {
|
values.forEach((item) => {
|
||||||
if (isType('Object', item)) {
|
if (isType('Object', item)) {
|
||||||
if (!item.value) return;
|
if (!item.value) return;
|
||||||
// If we are dealing with a select input, we need to create an option first
|
// If we are dealing with a select input, we need to create an option first
|
||||||
// that is then selected. For text inputs we can just add items normally.
|
// that is then selected. For text inputs we can just add items normally.
|
||||||
if (this.passedElement.type !== 'text') {
|
if (passedElementType !== 'text') {
|
||||||
this._addChoice(true, false, item.value, item.label, -1);
|
this._addChoice(true, false, item.value, item.label, -1);
|
||||||
} else {
|
} else {
|
||||||
this._addItem(item.value, item.label, item.id);
|
this._addItem(item.value, item.label, item.id);
|
||||||
}
|
}
|
||||||
} else if (isType('String', item)) {
|
} else if (isType('String', item)) {
|
||||||
if (this.passedElement.type !== 'text') {
|
if (passedElementType !== 'text') {
|
||||||
this._addChoice(true, false, item, item, -1);
|
this._addChoice(true, false, item, item, -1);
|
||||||
} else {
|
} else {
|
||||||
this._addItem(item);
|
this._addItem(item);
|
||||||
|
@ -767,7 +769,7 @@ class Choices {
|
||||||
*/
|
*/
|
||||||
setChoices(choices, value, label, replaceChoices = false) {
|
setChoices(choices, value, label, replaceChoices = false) {
|
||||||
if (this.initialised === true) {
|
if (this.initialised === true) {
|
||||||
if (this.passedElement.type === 'select-one' || this.passedElement.type === 'select-multiple') {
|
if (this.isSelectElement) {
|
||||||
if (!isType('Array', choices) || !value) return;
|
if (!isType('Array', choices) || !value) return;
|
||||||
// Clear choices if needed
|
// Clear choices if needed
|
||||||
if(replaceChoices) {
|
if(replaceChoices) {
|
||||||
|
@ -862,7 +864,7 @@ class Choices {
|
||||||
*/
|
*/
|
||||||
ajax(fn) {
|
ajax(fn) {
|
||||||
if (this.initialised === true) {
|
if (this.initialised === true) {
|
||||||
if (this.passedElement.type === 'select-one' || this.passedElement.type === 'select-multiple') {
|
if (this.isSelectElement) {
|
||||||
// Show loading text
|
// Show loading text
|
||||||
this._handleLoadingState(true);
|
this._handleLoadingState(true);
|
||||||
// Run callback
|
// Run callback
|
||||||
|
@ -1267,7 +1269,7 @@ class Choices {
|
||||||
if (e.target !== this.input && !this.containerOuter.contains(e.target)) return;
|
if (e.target !== this.input && !this.containerOuter.contains(e.target)) return;
|
||||||
|
|
||||||
const target = e.target;
|
const target = e.target;
|
||||||
|
const passedElementType = this.passedElement.type;
|
||||||
const activeItems = this.store.getItemsFilteredByActive();
|
const activeItems = this.store.getItemsFilteredByActive();
|
||||||
const hasFocusedInput = this.input === document.activeElement;
|
const hasFocusedInput = this.input === document.activeElement;
|
||||||
const hasActiveDropdown = this.dropdown.classList.contains(this.config.classNames.activeState);
|
const hasActiveDropdown = this.dropdown.classList.contains(this.config.classNames.activeState);
|
||||||
|
@ -1284,7 +1286,7 @@ class Choices {
|
||||||
const ctrlDownKey = e.ctrlKey || e.metaKey;
|
const ctrlDownKey = e.ctrlKey || e.metaKey;
|
||||||
|
|
||||||
// If a user is typing and the dropdown is not active
|
// If a user is typing and the dropdown is not active
|
||||||
if (this.passedElement.type !== 'text' && /[a-zA-Z0-9-_ ]/.test(keyString) && !hasActiveDropdown) {
|
if (passedElementType !== 'text' && /[a-zA-Z0-9-_ ]/.test(keyString) && !hasActiveDropdown) {
|
||||||
this.showDropdown(true);
|
this.showDropdown(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1303,7 +1305,7 @@ class Choices {
|
||||||
|
|
||||||
const onEnterKey = () => {
|
const onEnterKey = () => {
|
||||||
// If enter key is pressed and the input has a value
|
// If enter key is pressed and the input has a value
|
||||||
if (this.passedElement.type === 'text' && target.value) {
|
if (passedElementType === 'text' && target.value) {
|
||||||
const value = this.input.value;
|
const value = this.input.value;
|
||||||
const canAddItem = this._canAddItem(activeItems, value);
|
const canAddItem = this._canAddItem(activeItems, value);
|
||||||
|
|
||||||
|
@ -1330,7 +1332,7 @@ class Choices {
|
||||||
if (highlighted) {
|
if (highlighted) {
|
||||||
this._handleChoiceAction(activeItems, highlighted);
|
this._handleChoiceAction(activeItems, highlighted);
|
||||||
}
|
}
|
||||||
} else if (this.passedElement.type === 'select-one') {
|
} else if (passedElementType === 'select-one') {
|
||||||
// Open single select dropdown if it's not active
|
// Open single select dropdown if it's not active
|
||||||
if (!hasActiveDropdown) {
|
if (!hasActiveDropdown) {
|
||||||
this.showDropdown(true);
|
this.showDropdown(true);
|
||||||
|
@ -1347,7 +1349,7 @@ class Choices {
|
||||||
|
|
||||||
const onDirectionKey = () => {
|
const onDirectionKey = () => {
|
||||||
// If up or down key is pressed, traverse through options
|
// If up or down key is pressed, traverse through options
|
||||||
if (hasActiveDropdown || this.passedElement.type === 'select-one') {
|
if (hasActiveDropdown || passedElementType === 'select-one') {
|
||||||
// Show dropdown if focus
|
// Show dropdown if focus
|
||||||
if (!hasActiveDropdown) {
|
if (!hasActiveDropdown) {
|
||||||
this.showDropdown(true);
|
this.showDropdown(true);
|
||||||
|
@ -1382,7 +1384,7 @@ class Choices {
|
||||||
|
|
||||||
const onDeleteKey = () => {
|
const onDeleteKey = () => {
|
||||||
// If backspace or delete key is pressed and the input has no value
|
// If backspace or delete key is pressed and the input has no value
|
||||||
if (hasFocusedInput && !e.target.value && this.passedElement.type !== 'select-one') {
|
if (hasFocusedInput && !e.target.value && passedElementType !== 'select-one') {
|
||||||
this._handleBackspace(activeItems);
|
this._handleBackspace(activeItems);
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
}
|
}
|
||||||
|
@ -1416,7 +1418,7 @@ class Choices {
|
||||||
|
|
||||||
// We are typing into a text input and have a value, we want to show a dropdown
|
// We are typing into a text input and have a value, we want to show a dropdown
|
||||||
// notice. Otherwise hide the dropdown
|
// notice. Otherwise hide the dropdown
|
||||||
if (this.passedElement.type === 'text') {
|
if (this.isTextElement) {
|
||||||
const hasActiveDropdown = this.dropdown.classList.contains(this.config.classNames.activeState);
|
const hasActiveDropdown = this.dropdown.classList.contains(this.config.classNames.activeState);
|
||||||
const value = this.input.value;
|
const value = this.input.value;
|
||||||
|
|
||||||
|
@ -1494,7 +1496,7 @@ class Choices {
|
||||||
if (this.wasTap === true && this.containerOuter.contains(target)) {
|
if (this.wasTap === true && this.containerOuter.contains(target)) {
|
||||||
// ...and we aren't dealing with a single select box, show dropdown/focus input
|
// ...and we aren't dealing with a single select box, show dropdown/focus input
|
||||||
if ((target === this.containerOuter || target === this.containerInner) && this.passedElement.type !== 'select-one') {
|
if ((target === this.containerOuter || target === this.containerInner) && this.passedElement.type !== 'select-one') {
|
||||||
if (this.passedElement.type === 'text') {
|
if (this.isTextElement) {
|
||||||
// If text element, we only want to focus the input (if it isn't already)
|
// If text element, we only want to focus the input (if it isn't already)
|
||||||
if (document.activeElement !== this.input) {
|
if (document.activeElement !== this.input) {
|
||||||
this.input.focus();
|
this.input.focus();
|
||||||
|
@ -1554,7 +1556,7 @@ class Choices {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!hasActiveDropdown) {
|
if (!hasActiveDropdown) {
|
||||||
if (this.passedElement.type === 'text') {
|
if (this.isTextElement) {
|
||||||
if (document.activeElement !== this.input) {
|
if (document.activeElement !== this.input) {
|
||||||
this.input.focus();
|
this.input.focus();
|
||||||
}
|
}
|
||||||
|
@ -1744,36 +1746,34 @@ class Choices {
|
||||||
|
|
||||||
const dropdownHeight = this.choiceList.offsetHeight;
|
const dropdownHeight = this.choiceList.offsetHeight;
|
||||||
const choiceHeight = choice.offsetHeight;
|
const choiceHeight = choice.offsetHeight;
|
||||||
|
|
||||||
// Distance from bottom of element to top of parent
|
// Distance from bottom of element to top of parent
|
||||||
const choicePos = choice.offsetTop + choiceHeight;
|
const choicePos = choice.offsetTop + choiceHeight;
|
||||||
|
|
||||||
// Scroll position of dropdown
|
// Scroll position of dropdown
|
||||||
const containerScrollPos = this.choiceList.scrollTop + dropdownHeight;
|
const containerScrollPos = this.choiceList.scrollTop + dropdownHeight;
|
||||||
|
|
||||||
// Difference between the choice and scroll position
|
// Difference between the choice and scroll position
|
||||||
const endPoint = direction > 0 ? ((this.choiceList.scrollTop + choicePos) - containerScrollPos) : choice.offsetTop;
|
const endPoint = direction > 0 ? ((this.choiceList.scrollTop + choicePos) - containerScrollPos) : choice.offsetTop;
|
||||||
|
|
||||||
const animateScroll = () => {
|
const animateScroll = () => {
|
||||||
const strength = 4;
|
const strength = 4;
|
||||||
|
const choiceListScrollTop = this.choiceList.scrollTop;
|
||||||
let continueAnimation = false;
|
let continueAnimation = false;
|
||||||
let easing;
|
let easing;
|
||||||
let distance;
|
let distance;
|
||||||
|
|
||||||
if (direction > 0) {
|
if (direction > 0) {
|
||||||
easing = (endPoint - this.choiceList.scrollTop) / strength;
|
easing = (endPoint - choiceListScrollTop) / strength;
|
||||||
distance = easing > 1 ? easing : 1;
|
distance = easing > 1 ? easing : 1;
|
||||||
|
|
||||||
this.choiceList.scrollTop = this.choiceList.scrollTop + distance;
|
this.choiceList.scrollTop = choiceListScrollTop + distance;
|
||||||
if (this.choiceList.scrollTop < endPoint) {
|
if (choiceListScrollTop < endPoint) {
|
||||||
continueAnimation = true;
|
continueAnimation = true;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
easing = (this.choiceList.scrollTop - endPoint) / strength;
|
easing = (choiceListScrollTop - endPoint) / strength;
|
||||||
distance = easing > 1 ? easing : 1;
|
distance = easing > 1 ? easing : 1;
|
||||||
|
|
||||||
this.choiceList.scrollTop = this.choiceList.scrollTop - distance;
|
this.choiceList.scrollTop = choiceListScrollTop - distance;
|
||||||
if (this.choiceList.scrollTop > endPoint) {
|
if (choiceListScrollTop > endPoint) {
|
||||||
continueAnimation = true;
|
continueAnimation = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2207,7 +2207,7 @@ class Choices {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
} else if (this.passedElement.type === 'text') {
|
} else if (this.isTextElement) {
|
||||||
// Add any preset values seperated by delimiter
|
// Add any preset values seperated by delimiter
|
||||||
this.presetItems.forEach((item) => {
|
this.presetItems.forEach((item) => {
|
||||||
if (isType('Object', item)) {
|
if (isType('Object', item)) {
|
||||||
|
|
27
package.json
27
package.json
|
@ -10,7 +10,7 @@
|
||||||
"css:sass": "node-sass --output-style expanded --include-path scss assets/styles/scss/base.scss assets/styles/css/base.css && node-sass --output-style expanded --include-path scss assets/styles/scss/choices.scss assets/styles/css/choices.css",
|
"css:sass": "node-sass --output-style expanded --include-path scss assets/styles/scss/base.scss assets/styles/css/base.css && node-sass --output-style expanded --include-path scss assets/styles/scss/choices.scss assets/styles/css/choices.css",
|
||||||
"css:prefix": "postcss --use autoprefixer -b 'last 2 versions' assets/styles/css/*.css -d assets/styles/css/",
|
"css:prefix": "postcss --use autoprefixer -b 'last 2 versions' assets/styles/css/*.css -d assets/styles/css/",
|
||||||
"css:min": "csso assets/styles/css/base.css assets/styles/css/base.min.css && csso assets/styles/css/choices.css assets/styles/css/choices.min.css",
|
"css:min": "csso assets/styles/css/base.css assets/styles/css/base.min.css && csso assets/styles/css/choices.css assets/styles/css/choices.min.css",
|
||||||
"js:build": "webpack --minimize --config webpack.config.prod.js && webpack --config webpack.config.prod.js",
|
"js:build": "concurrently --prefix-colors yellow,green \"webpack --minimize --config webpack.config.prod.js\" \"webpack --config webpack.config.prod.js\"",
|
||||||
"js:test": "./node_modules/karma/bin/karma start --single-run --no-auto-watch tests/karma.config.js",
|
"js:test": "./node_modules/karma/bin/karma start --single-run --no-auto-watch tests/karma.config.js",
|
||||||
"js:test:watch": "./node_modules/karma/bin/karma start --auto-watch --no-single-run tests/karma.config.js"
|
"js:test:watch": "./node_modules/karma/bin/karma start --auto-watch --no-single-run tests/karma.config.js"
|
||||||
},
|
},
|
||||||
|
@ -30,15 +30,15 @@
|
||||||
"babel-eslint": "^6.1.2",
|
"babel-eslint": "^6.1.2",
|
||||||
"babel-loader": "^6.2.4",
|
"babel-loader": "^6.2.4",
|
||||||
"babel-preset-es2015": "^6.6.0",
|
"babel-preset-es2015": "^6.6.0",
|
||||||
"babel-preset-stage-0": "^6.5.0",
|
"concurrently": "^3.1.0",
|
||||||
"csso": "^1.8.2",
|
"csso": "^1.8.2",
|
||||||
"es6-promise": "^3.2.1",
|
"es6-promise": "^3.2.1",
|
||||||
"eslint": "^3.3.0",
|
"eslint": "^3.3.0",
|
||||||
"eslint-config-airbnb": "^10.0.1",
|
"eslint-config-airbnb": "^10.0.1",
|
||||||
"eslint-loader": "^1.5.0",
|
"eslint-loader": "^1.5.0",
|
||||||
"eslint-plugin-import": "^1.13.0",
|
"eslint-plugin-import": "^1.13.0",
|
||||||
"eslint-plugin-jsx-a11y": "^2.2.2",
|
"eslint-plugin-jsx-a11y": "^2.2.3",
|
||||||
"eslint-plugin-react": "^6.1.0",
|
"eslint-plugin-react": "^6.4.1",
|
||||||
"jasmine-core": "2.4.1",
|
"jasmine-core": "2.4.1",
|
||||||
"karma": "^1.1.0",
|
"karma": "^1.1.0",
|
||||||
"karma-coverage": "^1.0.0",
|
"karma-coverage": "^1.0.0",
|
||||||
|
@ -55,7 +55,6 @@
|
||||||
"webpack": "^1.12.14",
|
"webpack": "^1.12.14",
|
||||||
"webpack-dashboard": "^0.1.8",
|
"webpack-dashboard": "^0.1.8",
|
||||||
"webpack-dev-server": "^1.14.1",
|
"webpack-dev-server": "^1.14.1",
|
||||||
"whatwg-fetch": "^1.0.0",
|
|
||||||
"wrapper-webpack-plugin": "^0.1.7"
|
"wrapper-webpack-plugin": "^0.1.7"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
@ -63,12 +62,14 @@
|
||||||
"fuse.js": "^2.2.2"
|
"fuse.js": "^2.2.2"
|
||||||
},
|
},
|
||||||
"npmName": "choices.js",
|
"npmName": "choices.js",
|
||||||
"npmFileMap": [{
|
"npmFileMap": [
|
||||||
"basePath": "assets",
|
{
|
||||||
"files": [
|
"basePath": "assets",
|
||||||
"scripts/dist/*",
|
"files": [
|
||||||
"styles/css/*",
|
"scripts/dist/*",
|
||||||
"icons/*"
|
"styles/css/*",
|
||||||
]
|
"icons/*"
|
||||||
}]
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue