mirror of
https://github.com/Choices-js/Choices.git
synced 2024-06-02 14:02:17 +02:00
xMerge branch 'master' of https://github.com/maximmig/Choices into maximmig-master
This commit is contained in:
commit
3b350eb71e
|
@ -376,11 +376,11 @@ const example = new Choices(element, {
|
||||||
**Usage:** Append a value to each item added/selected.
|
**Usage:** Append a value to each item added/selected.
|
||||||
|
|
||||||
### renderSelectedChoices
|
### renderSelectedChoices
|
||||||
**Type:** `String/Boolean` **Default:** `auto`
|
**Type:** `String` **Default:** `auto`
|
||||||
|
|
||||||
**Input types affected:** `select-one`, `select-multiple`
|
**Input types affected:** `select-one`, `select-multiple`
|
||||||
|
|
||||||
**Usage:** Whether selected choices should be removed from the list. By default choices are only removed when they are selected in multiple select box.
|
**Usage:** Whether selected choices should be removed from the list. By default choices are removed when they are selected in multiple select box. To always render choices pass `always`.
|
||||||
|
|
||||||
### loadingText
|
### loadingText
|
||||||
**Type:** `String` **Default:** `Loading...`
|
**Type:** `String` **Default:** `Loading...`
|
||||||
|
|
6
assets/scripts/dist/choices.js
vendored
6
assets/scripts/dist/choices.js
vendored
|
@ -195,9 +195,9 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
// Merge options with user options
|
// Merge options with user options
|
||||||
this.config = (0, _utils.extend)(defaultConfig, userConfig);
|
this.config = (0, _utils.extend)(defaultConfig, userConfig);
|
||||||
|
|
||||||
if (this.config.renderSelectedChoices !== 'auto' && !(0, _utils.isType)('Boolean', this.config.renderSelectedChoices)) {
|
if (this.config.renderSelectedChoices !== 'auto' && this.config.renderSelectedChoices !== 'always') {
|
||||||
if (!this.config.silent) {
|
if (!this.config.silent) {
|
||||||
console.warn('renderSelectedChoices: Possible values are \'auto\', true or false. Falling back to \'auto\'.');
|
console.warn('renderSelectedChoices: Possible values are \'auto\' and \'always\'. Falling back to \'auto\'.');
|
||||||
}
|
}
|
||||||
this.config.renderSelectedChoices = 'auto';
|
this.config.renderSelectedChoices = 'auto';
|
||||||
}
|
}
|
||||||
|
@ -436,7 +436,7 @@ return /******/ (function(modules) { // webpackBootstrap
|
||||||
var renderSelectedChoices = this.config.renderSelectedChoices;
|
var renderSelectedChoices = this.config.renderSelectedChoices;
|
||||||
|
|
||||||
var appendChoice = function appendChoice(choice) {
|
var appendChoice = function appendChoice(choice) {
|
||||||
var shouldRender = renderSelectedChoices === 'auto' ? _this3.passedElement.type === 'select-one' || !choice.selected : renderSelectedChoices;
|
var shouldRender = renderSelectedChoices === 'auto' ? _this3.passedElement.type === 'select-one' || !choice.selected : true;
|
||||||
if (shouldRender) {
|
if (shouldRender) {
|
||||||
var dropdownItem = _this3._getTemplate('choice', choice);
|
var dropdownItem = _this3._getTemplate('choice', choice);
|
||||||
choicesFragment.appendChild(dropdownItem);
|
choicesFragment.appendChild(dropdownItem);
|
||||||
|
|
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
2
assets/scripts/dist/choices.min.js
vendored
2
assets/scripts/dist/choices.min.js
vendored
File diff suppressed because one or more lines are too long
|
@ -129,9 +129,9 @@ class Choices {
|
||||||
// Merge options with user options
|
// Merge options with user options
|
||||||
this.config = extend(defaultConfig, userConfig);
|
this.config = extend(defaultConfig, userConfig);
|
||||||
|
|
||||||
if (this.config.renderSelectedChoices !== 'auto' && !isType('Boolean', this.config.renderSelectedChoices)) {
|
if (this.config.renderSelectedChoices !== 'auto' && this.config.renderSelectedChoices !== 'always') {
|
||||||
if (!this.config.silent) {
|
if (!this.config.silent) {
|
||||||
console.warn('renderSelectedChoices: Possible values are \'auto\', true or false. Falling back to \'auto\'.');
|
console.warn('renderSelectedChoices: Possible values are \'auto\' and \'always\'. Falling back to \'auto\'.');
|
||||||
}
|
}
|
||||||
this.config.renderSelectedChoices = 'auto';
|
this.config.renderSelectedChoices = 'auto';
|
||||||
}
|
}
|
||||||
|
@ -355,7 +355,7 @@ class Choices {
|
||||||
const appendChoice = (choice) => {
|
const appendChoice = (choice) => {
|
||||||
const shouldRender = renderSelectedChoices === 'auto'
|
const shouldRender = renderSelectedChoices === 'auto'
|
||||||
? this.passedElement.type === 'select-one' || !choice.selected
|
? this.passedElement.type === 'select-one' || !choice.selected
|
||||||
: renderSelectedChoices;
|
: true;
|
||||||
if (shouldRender) {
|
if (shouldRender) {
|
||||||
const dropdownItem = this._getTemplate('choice', choice);
|
const dropdownItem = this._getTemplate('choice', choice);
|
||||||
choicesFragment.appendChild(dropdownItem);
|
choicesFragment.appendChild(dropdownItem);
|
||||||
|
|
|
@ -70,7 +70,7 @@ describe('Choices', () => {
|
||||||
expect(this.choices.config.placeholderValue).toEqual(null);
|
expect(this.choices.config.placeholderValue).toEqual(null);
|
||||||
expect(this.choices.config.prependValue).toEqual(null);
|
expect(this.choices.config.prependValue).toEqual(null);
|
||||||
expect(this.choices.config.appendValue).toEqual(null);
|
expect(this.choices.config.appendValue).toEqual(null);
|
||||||
expect(this.choices.config.renderSelectedChoices).toEqual(jasmine.any(String) || jasmine.any(Boolean));
|
expect(this.choices.config.renderSelectedChoices).toEqual(jasmine.any(String));
|
||||||
expect(this.choices.config.loadingText).toEqual(jasmine.any(String));
|
expect(this.choices.config.loadingText).toEqual(jasmine.any(String));
|
||||||
expect(this.choices.config.noResultsText).toEqual(jasmine.any(String));
|
expect(this.choices.config.noResultsText).toEqual(jasmine.any(String));
|
||||||
expect(this.choices.config.noChoicesText).toEqual(jasmine.any(String));
|
expect(this.choices.config.noChoicesText).toEqual(jasmine.any(String));
|
||||||
|
@ -929,6 +929,22 @@ describe('Choices', () => {
|
||||||
this.choices.input.focus();
|
this.choices.input.focus();
|
||||||
expect(container.classList.contains(this.choices.config.classNames.flippedState)).toBe(false);
|
expect(container.classList.contains(this.choices.config.classNames.flippedState)).toBe(false);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('should render selected choices', function() {
|
||||||
|
this.choices = new Choices(this.input, {
|
||||||
|
renderSelectedChoices: 'always'
|
||||||
|
});
|
||||||
|
const renderedChoices = this.choices.choiceList.querySelectorAll('.choices__item');
|
||||||
|
expect(renderedChoices.length).toEqual(3);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('shouldn\'t render selected choices', function() {
|
||||||
|
this.choices = new Choices(this.input, {
|
||||||
|
renderSelectedChoices: 'auto'
|
||||||
|
});
|
||||||
|
const renderedChoices = this.choices.choiceList.querySelectorAll('.choices__item');
|
||||||
|
expect(renderedChoices.length).toEqual(1);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
describe('should allow custom properties provided by the user on items or choices', function() {
|
describe('should allow custom properties provided by the user on items or choices', function() {
|
||||||
|
|
Loading…
Reference in a new issue