Bug 18422: (QA follow-up) Check if select2 is available before using it
authorJulian Maurice <julian.maurice@biblibre.com>
Fri, 29 Sep 2017 13:52:50 +0000 (15:52 +0200)
committerKatrin Fischer <katrin.fischer.83@web.de>
Sun, 29 Oct 2017 18:26:49 +0000 (19:26 +0100)
cataloging.js might not always be loaded with select2.js, so we should
check its availability to prevent JS errors

Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
(cherry picked from commit 56a0aabc58a3475912894523cc92757153b967bd)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
(cherry picked from commit 1d450ad13a6bcd8f4f826bae7290a3184564badb)
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

koha-tmpl/intranet-tmpl/prog/js/cataloging.js

index eedac25..65e7e26 100644 (file)
@@ -77,16 +77,20 @@ function ExpandField(index) {
 
 var Select2Utils = {
   removeSelect2: function(element) {
-    var selects = element.getElementsByTagName('select');
-    for (var i=0; i < selects.length; i++) {
-      $(selects[i]).select2('destroy');
+    if ($.fn.select2) {
+      var selects = element.getElementsByTagName('select');
+      for (var i=0; i < selects.length; i++) {
+        $(selects[i]).select2('destroy');
+      }
     }
   },
 
   initSelect2: function(element) {
-    var selects = element.getElementsByTagName('select');
-    for (var i=0; i < selects.length; i++) {
-      $(selects[i]).select2();
+    if ($.fn.select2) {
+      var selects = element.getElementsByTagName('select');
+      for (var i=0; i < selects.length; i++) {
+        $(selects[i]).select2();
+      }
     }
   }
 };