Skip to content

Commit

Permalink
Create unique group id if none passed
Browse files Browse the repository at this point in the history
  • Loading branch information
jshjohnson committed Feb 5, 2017
1 parent c3c31ed commit cfd03b9
Showing 1 changed file with 4 additions and 7 deletions.
11 changes: 4 additions & 7 deletions assets/scripts/src/choices.js
Original file line number Diff line number Diff line change
Expand Up @@ -790,8 +790,7 @@ class Choices {
const isSelected = result.selected ? result.selected : false;
const isDisabled = result.disabled ? result.disabled : false;
if (result.choices) {
if (result.id === undefined || result.id === null) throw new Error('Group id field missing');
this._addGroup(result, result.id, value, label);
this._addGroup(result, (result.id || null), value, label);
} else {
this._addChoice(isSelected, isDisabled, result[value], result[label]);
}
Expand Down Expand Up @@ -1121,8 +1120,7 @@ class Choices {
const isSelected = result.selected ? result.selected : false;
const isDisabled = result.disabled ? result.disabled : false;
if (result.choices) {
if (result.id === undefined || result.id === null) throw new Error('Group id field missing');
this._addGroup(result, result.id, value, label);
this._addGroup(result, (result.id || null), value, label);
} else {
this._addChoice(isSelected, isDisabled, result[value], result[label]);
}
Expand Down Expand Up @@ -1978,7 +1976,7 @@ class Choices {
*/
_addGroup(group, id, valueKey = 'value', labelKey = 'label') {
const groupChoices = isType('Object', group) ? group.choices : Array.from(group.getElementsByTagName('OPTION'));
const groupId = id;
const groupId = id ? id : Math.floor(new Date().valueOf() * Math.random());
const isDisabled = group.disabled ? group.disabled : false;

if (groupChoices) {
Expand Down Expand Up @@ -2175,8 +2173,7 @@ class Choices {

if (passedGroups && passedGroups.length) {
passedGroups.forEach((group) => {
if (group.id === undefined || group.id === null) throw new Error('Group id field missing');
this._addGroup(group, group.id);
this._addGroup(group, (group.id || null));
});
} else {
const passedOptions = Array.from(this.passedElement.options);
Expand Down

0 comments on commit cfd03b9

Please sign in to comment.