[Koha-patches] [PATCH] [Bug 5546] Javascript driven ability to hide MARC documentation links
Tomas Cohen Arazi
tomascohen at gmail.com
Tue Mar 1 15:12:51 CET 2011
---
cataloguing/addbiblio.pl | 3 +
.../prog/en/includes/doc-head-close.inc | 1 +
.../en/lib/jquery/plugins/jquery.cookie.min.js | 1 +
.../prog/en/modules/cataloguing/addbiblio.tmpl | 59 ++++++++++++++++++-
4 files changed, 60 insertions(+), 4 deletions(-)
create mode 100644 koha-tmpl/intranet-tmpl/prog/en/lib/jquery/plugins/jquery.cookie.min.js
diff --git a/cataloguing/addbiblio.pl b/cataloguing/addbiblio.pl
index da58166..b1f63dd 100755
--- a/cataloguing/addbiblio.pl
+++ b/cataloguing/addbiblio.pl
@@ -1023,10 +1023,13 @@ $template->param( title => $record->title() ) if ( $record ne "-1" );
if (C4::Context->preference("marcflavour") eq "MARC21"){
$template->param(MARC21 => 1);
}
+
+
$template->param(
popup => $mode,
frameworkcode => $frameworkcode,
itemtype => $frameworkcode,
+ borrowernumber => $loggedinuser
);
output_html_with_http_headers $input, $cookie, $template->output;
diff --git a/koha-tmpl/intranet-tmpl/prog/en/includes/doc-head-close.inc b/koha-tmpl/intranet-tmpl/prog/en/includes/doc-head-close.inc
index 42f9df2..39be321 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/includes/doc-head-close.inc
+++ b/koha-tmpl/intranet-tmpl/prog/en/includes/doc-head-close.inc
@@ -30,6 +30,7 @@
<script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/jquery/jquery.js"></script>
<script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/jquery/plugins/ui.tabs.js"></script>
<script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/jquery/plugins/jquery.hotkeys.min.js"></script>
+<script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/jquery/plugins/jquery.cookie.min.js"></script>
<script type="text/javascript" src="<!-- TMPL_VAR name="themelang" -->/lib/jquery/plugins/jquery.highlight-3.js"></script>
<!-- TMPL_IF NAME="js_libs" -->
diff --git a/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/plugins/jquery.cookie.min.js b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/plugins/jquery.cookie.min.js
new file mode 100644
index 0000000..9f554ba
--- /dev/null
+++ b/koha-tmpl/intranet-tmpl/prog/en/lib/jquery/plugins/jquery.cookie.min.js
@@ -0,0 +1 @@
+jQuery.cookie=function(b,j,m){if(typeof j!="undefined"){m=m||{};if(j===null){j="";m.expires=-1}var e="";if(m.expires&&(typeof m.expires=="number"||m.expires.toUTCString)){var f;if(typeof m.expires=="number"){f=new Date();f.setTime(f.getTime()+(m.expires*24*60*60*1000))}else{f=m.expires}e="; expires="+f.toUTCString()}var l=m.path?"; path="+(m.path):"";var g=m.domain?"; domain="+(m.domain):"";var a=m.secure?"; secure":"";document.cookie=[b,"=",encodeURIComponent(j),e,l,g,a].join("")}else{var d=null;if(document.cookie&&document.cookie!=""){var k=document.cookie.split(";");for(var h=0;h<k.length;h++){var c=jQuery.trim(k[h]);if(c.substring(0,b.length+1)==(b+"=")){d=decodeURIComponent(c.substring(b.length+1));break}}}return d}};
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tmpl
index be98543..8692faa 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tmpl
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/addbiblio.tmpl
@@ -26,9 +26,20 @@
fields_in_use[field_id] = 1;
}
});
- });
-
- $('#header_search > ul').tabs().bind('show.ui-tabs', function(e, ui) { $('#header_search > div:not(.ui-tabs-hide)').find('input').eq(0).focus(); });
+ /* check cookie to hide/show marcdocs*/
+ if($.cookie("marcdocs_<!-- TMPL_VAR NAME="borrowernumber" -->") == 'false'){
+ hideMARCdocLinks();
+ $("#marcDocsSelect").attr('checked',false);
+ } else {
+ /* reset cookie expire date */
+ $.cookie("marcdocs_<!-- TMPL_VAR NAME="borrowernumber" -->",'true',
+ { path: "/", expires: 365 });
+ }
+
+ });
+
+ $('#header_search > ul').tabs().bind('show.ui-tabs', function(e, ui) { $('#header_search > div:not(.ui-tabs-hide)').find('input').eq(0).focus(); });
+
function confirmnotdup(redirect){
$("#confirm_not_duplicate").attr("value","1");
@@ -101,6 +112,45 @@ function _UNIMARCFieldDoc(field, blocknumber) {
}
}
+/*
+ * Functions to load/unload css from the head element
+ */
+function loadCSS(id,cssDef) {
+
+ var cssElem=document.createElement("style");
+ cssElem.setAttribute("type", "text/css");
+ cssElem.setAttribute("id", id);
+ cssElem.innerHTML = cssDef;
+
+ document.getElementsByTagName("head")[0].appendChild(cssElem);
+}
+
+function unloadCSS(id) {
+ var elem = document.getElementById(id);
+ elem.parentNode.removeChild(elem);
+}
+
+/*
+ * Functions to hide/show marc docs links
+ */
+function hideMARCdocLinks() {
+ loadCSS("marcDocsCSS",".marcdocs{display: none;}");
+ $.cookie("marcdocs_<!-- TMPL_VAR NAME="borrowernumber" -->",'false', { path: "/", expires: 365 });
+}
+
+function showMARCdocLinks() {
+ unloadCSS("marcDocsCSS");
+ $.cookie("marcdocs_<!-- TMPL_VAR NAME="borrowernumber" -->",'true', { path: "/", expires: 365 });
+}
+
+function toggleMARCDocs(checked) {
+ if (checked) {
+ showMARCdocLinks();
+ } else {
+ hideMARCdocLinks();
+ }
+}
+
/**
* check if mandatory subfields are written
*/
@@ -641,6 +691,7 @@ function unHideSubfield(index,labelindex) { // FIXME :: is it used ?
<h1><!-- TMPL_IF NAME="biblionumber" -->Editing <em><!-- TMPL_VAR NAME="title" escape="html" --></em> (Record Number <!-- TMPL_VAR name="biblionumber" -->)</h1><!-- TMPL_ELSE -->Add MARC Record</h1><!-- /TMPL_IF -->
+<div><input type="checkbox" name="marcDocsSelect" id="marcDocsSelect" checked="true" onclick="toggleMARCDocs(this.checked)"/> Show MARC tag documentation links<br/></div>
<!-- TMPL_UNLESS name="number" -->
<!-- show duplicate warning on tab 0 only -->
@@ -786,7 +837,7 @@ function unHideSubfield(index,labelindex) { // FIXME :: is it used ?
<!-- TMPL_IF NAME="advancedMARCEditor" -->
<a href="#" tabindex="1" class="tagnum" title="<!-- TMPL_VAR NAME="tag_lib"--> - Click to Expand this Tag" onclick="ExpandField('tag_<!-- TMPL_VAR NAME="tag"-->_<!-- TMPL_VAR NAME='index' --><!-- TMPL_VAR NAME="random" -->'); return false;"><!-- TMPL_VAR NAME="tag" --></a>
<!-- TMPL_ELSE -->
- <span class="tagnum" title="<!-- TMPL_VAR NAME="tag_lib" -->"><!-- TMPL_VAR NAME="tag" --><a
+ <span class="tagnum" title="<!-- TMPL_VAR NAME="tag_lib" -->"><!-- TMPL_VAR NAME="tag" --><a class="marcdocs"
onclick="PopupMARCFieldDoc('<!-- TMPL_VAR NAME="tag" -->', <!-- TMPL_VAR NAME="number" -->); return false;"> ?</a></span>
<!-- /TMPL_IF -->
<!-- TMPL_IF NAME="fixedfield" -->
--
1.7.1
More information about the Koha-patches
mailing list