Bug 25363: Merge common.js with staff-global.js
authorOwen Leonard <oleonard@myacpl.org>
Mon, 4 May 2020 12:36:57 +0000 (12:36 +0000)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Mon, 15 Jun 2020 09:53:36 +0000 (11:53 +0200)
This patch merges the contents of common.js with staff-global.js. Both
are included globally in the staff interface, and there doesn't seem to
be any reason to require that the user downloads two different
JavaScript files.

To test, apply the patch and perform a catalog search in the staff
client.

View the detail page for a title in the search results. On the detail
page you should see navigation controls in the sidebar for browsing
through search results. Confirm they work correctly.

Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

koha-tmpl/intranet-tmpl/prog/en/includes/js_includes.inc
koha-tmpl/intranet-tmpl/prog/js/commons.js [deleted file]
koha-tmpl/intranet-tmpl/prog/js/staff-global.js

index bd833a4..7e7604b 100644 (file)
@@ -25,7 +25,6 @@
 [% Asset.js("lib/jquery/plugins/jquery.validate.min.js") | $raw %]
 <!-- koha core js -->
 [% Asset.js("js/staff-global.js") | $raw %]
-[% Asset.js("js/commons.js") | $raw %]
 
 [% INCLUDE 'validator-strings.inc' %]
 [% IF ( IntranetUserJS ) %]
diff --git a/koha-tmpl/intranet-tmpl/prog/js/commons.js b/koha-tmpl/intranet-tmpl/prog/js/commons.js
deleted file mode 100644 (file)
index 4981c07..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-// Extends jQuery API
-jQuery.extend({uniqueArray:function(array){
-    return $.grep(array, function(el, index) {
-        return index === $.inArray(el, array);
-    });
-}});
-
-function removeByValue(arr, val) {
-    for(var i=0; i<arr.length; i++) {
-        if(arr[i] == val) {
-            arr.splice(i, 1);
-            break;
-        }
-    }
-}
-
-function paramOfUrl( url, param ) {
-    param = param.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
-    var regexS = "[\\?&]"+param+"=([^&#]*)";
-    var regex = new RegExp( regexS );
-    var results = regex.exec( url );
-    if( results == null ) {
-        return "";
-    } else {
-        return results[1];
-    }
-}
-
-function addBibToContext( bibnum ) {
-    bibnum = parseInt(bibnum, 10);
-    var bibnums = getContextBiblioNumbers();
-    bibnums.push(bibnum);
-    setContextBiblioNumbers( bibnums );
-    setContextBiblioNumbers( $.uniqueArray( bibnums ) );
-}
-
-function delBibToContext( bibnum ) {
-    var bibnums = getContextBiblioNumbers();
-    removeByValue( bibnums, bibnum );
-    setContextBiblioNumbers( $.uniqueArray( bibnums ) );
-}
-
-function setContextBiblioNumbers( bibnums ) {
-    $.cookie('bibs_selected', JSON.stringify( bibnums ));
-}
-
-function getContextBiblioNumbers() {
-    var r = $.cookie('bibs_selected');
-    if ( r ) {
-        return JSON.parse(r);
-    }
-    r = new Array();
-    return r;
-}
-
-function resetSearchContext() {
-    setContextBiblioNumbers( new Array() );
-}
-
-$(document).ready(function(){
-    // forms with action leading to search
-    $("form[action*='search.pl']").submit(function(){
-        resetSearchContext();
-    });
-    // any link to launch a search except navigation links
-    $("[href*='search.pl?']").not(".nav").not('.searchwithcontext').click(function(){
-        resetSearchContext();
-    });
-    // any link to a detail page from the results page.
-    $("#bookbag_form a[href*='detail.pl?']").click(function(){
-        resetSearchContext();
-    });
-});
index fad4d61..41db5cf 100644 (file)
@@ -1,4 +1,5 @@
 /* global shortcut delCookie delBasket Sticky */
+/* exported paramOfUrl addBibToContext delBibToContext */
 if ( KOHA === undefined ) var KOHA = {};
 
 function _(s) { return s; } // dummy function for gettext
@@ -126,6 +127,21 @@ $.fn.selectTabByID = function (tabID) {
         $.cookie("lastborrowercard", $("#hiddenborrowercard").val(), { path: "/" });
     }
     $.cookie("currentborrowernumber", $("#hiddenborrowernumber").val(), { path: "/" });
+
+    /* Search results browsing */
+    /* forms with action leading to search */
+    $("form[action*='search.pl']").submit(function(){
+        resetSearchContext();
+    });
+    /* any link to launch a search except navigation links */
+    $("[href*='search.pl?']").not(".nav").not('.searchwithcontext').click(function(){
+        resetSearchContext();
+    });
+    /* any link to a detail page from the results page. */
+    $("#bookbag_form a[href*='detail.pl?']").click(function(){
+        resetSearchContext();
+    });
+
 });
 
 // http://jennifermadden.com/javascript/stringEnterKeyDetector.html
@@ -239,3 +255,62 @@ function keep_text(clicked_index) {
         searchboxes[i].value = persist;
     }
 }
+
+// Extends jQuery API
+jQuery.extend({uniqueArray:function(array){
+    return $.grep(array, function(el, index) {
+        return index === $.inArray(el, array);
+    });
+}});
+
+function removeByValue(arr, val) {
+    for(var i=0; i<arr.length; i++) {
+        if(arr[i] == val) {
+            arr.splice(i, 1);
+            break;
+        }
+    }
+}
+
+function paramOfUrl( url, param ) {
+    param = param.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
+    var regexS = "[\\?&]"+param+"=([^&#]*)";
+    var regex = new RegExp( regexS );
+    var results = regex.exec( url );
+    if( results == null ) {
+        return "";
+    } else {
+        return results[1];
+    }
+}
+
+function addBibToContext( bibnum ) {
+    bibnum = parseInt(bibnum, 10);
+    var bibnums = getContextBiblioNumbers();
+    bibnums.push(bibnum);
+    setContextBiblioNumbers( bibnums );
+    setContextBiblioNumbers( $.uniqueArray( bibnums ) );
+}
+
+function delBibToContext( bibnum ) {
+    var bibnums = getContextBiblioNumbers();
+    removeByValue( bibnums, bibnum );
+    setContextBiblioNumbers( $.uniqueArray( bibnums ) );
+}
+
+function setContextBiblioNumbers( bibnums ) {
+    $.cookie('bibs_selected', JSON.stringify( bibnums ));
+}
+
+function getContextBiblioNumbers() {
+    var r = $.cookie('bibs_selected');
+    if ( r ) {
+        return JSON.parse(r);
+    }
+    r = new Array();
+    return r;
+}
+
+function resetSearchContext() {
+    setContextBiblioNumbers( new Array() );
+}