From 8e8df3e4559d9d46cb4eaf8fd49a042d6bd29abc Mon Sep 17 00:00:00 2001 From: Maxim Mig Date: Sat, 15 Jul 2017 00:31:45 +0300 Subject: [PATCH] Persisting original styles of the passed element. --- .gitignore | 2 ++ assets/scripts/src/choices.js | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index fbd3d6c..c873575 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,8 @@ node_modules npm-debug.log .DS_Store +.gitignore +.idea .vscode package-lock.json diff --git a/assets/scripts/src/choices.js b/assets/scripts/src/choices.js index c4705ec..6df6e93 100644 --- a/assets/scripts/src/choices.js +++ b/assets/scripts/src/choices.js @@ -281,7 +281,9 @@ class Choices { // Reinstate passed element this.passedElement.classList.remove(this.config.classNames.input, this.config.classNames.hiddenState); this.passedElement.removeAttribute('tabindex'); - this.passedElement.removeAttribute('style'); + // restore original styles if any + this.passedElement.setAttribute('style', this.passedElement.getAttribute('data-choices-js-orig-style')); + this.passedElement.removeAttribute('data-choices-js-orig-style'); this.passedElement.removeAttribute('aria-hidden'); this.passedElement.removeAttribute('data-choice'); @@ -1027,7 +1029,7 @@ class Choices { /** * Populate options via ajax callback - * @param {Function} fn Passed + * @param {Function} fn Function that actually makes an AJAX request * @return {Object} Class instance * @public */ @@ -2577,6 +2579,8 @@ class Choices { ); this.passedElement.tabIndex = '-1'; + // persist original styles if any + this.passedElement.setAttribute('data-choices-js-orig-style', this.passedElement.getAttribute('style')); this.passedElement.setAttribute('style', 'display:none;'); this.passedElement.setAttribute('aria-hidden', 'true'); this.passedElement.setAttribute('data-choice', 'active');