From 1884e5224f2c3f72fdf44398035a181619c99f26 Mon Sep 17 00:00:00 2001 From: Patrizio Bekerle <patrizio.bekerle@tugraz.at> Date: Mon, 12 Aug 2019 09:03:30 +0200 Subject: [PATCH] Fix instantiating Select2 multiple times in different custom elements --- packages/person-select/src/person-select.js | 6 ++---- packages/person-select/vendor/common | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/person-select/src/person-select.js b/packages/person-select/src/person-select.js index 66875b8a..3f8bb925 100644 --- a/packages/person-select/src/person-select.js +++ b/packages/person-select/src/person-select.js @@ -11,8 +11,6 @@ import commonUtils from 'vpu-common/utils'; select2(window, $); -let selectId = 0; - class PersonSelect extends VPULitElementJQuery { constructor() { @@ -21,8 +19,8 @@ class PersonSelect extends VPULitElementJQuery { this.entryPointUrl = getAPiUrl(); this.jsonld = null; this.$select = null; - // For some reason using the same ID twice breaks select2 - this.selectId = 'person-select' + selectId++; + // For some reason using the same ID on the whole page twice breaks select2 (regardless if they are in different custom elements) + this.selectId = 'person-select-' + commonUtils.makeId(24); } static get properties() { diff --git a/packages/person-select/vendor/common b/packages/person-select/vendor/common index 378256b0..33228856 160000 --- a/packages/person-select/vendor/common +++ b/packages/person-select/vendor/common @@ -1 +1 @@ -Subproject commit 378256b0ae92712fd5b8feed3a987cd014617c0b +Subproject commit 332288561f010110799081f426d4addfc0b1ffcd -- GitLab