Bug 8597: Add CSS, JS, and images to ccsr theme
In order for themes to work, they must include all CSS, Javascript, and image assets that they use. This patch adds all CSS, Javascript, and images from the prog theme to ccsr, EXCEPT for the famfamfam image set, which needs to be moved outside of the theme directories, per bug 8624. Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
152
koha-tmpl/opac-tmpl/ccsr/en/css/babeltheque.css
Normal file
|
@ -0,0 +1,152 @@
|
|||
/* ## BABELTHEQUE ## */
|
||||
/* Babeltheque is a french supplier for advanced features
|
||||
this babeltheque.css is not used anywhere by Koha, it's not a mistake
|
||||
If you're babeltheque customer, you have access to a specific configuration URL
|
||||
on babeltheque website, where you can activate this css
|
||||
So: it should not be removed from Koha !
|
||||
*/
|
||||
|
||||
#BW_etiquettes {
|
||||
clear :left;
|
||||
border: 1px solid #E8E8E8;
|
||||
margin-top: 10px;
|
||||
width: 49%;
|
||||
float: left;
|
||||
visibility: hidden;
|
||||
visibility: visible\9;
|
||||
}
|
||||
#BW_etiquettes:not(:empty) {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
#BW_etiquettes h2 {
|
||||
clear:left;
|
||||
background-color: #E8E8E8;
|
||||
margin: 5px 10px;
|
||||
padding: 0 5px;
|
||||
}
|
||||
|
||||
#BW_ulEti {max-width:100%;}
|
||||
|
||||
#BW_ulEti ul {
|
||||
margin:0;
|
||||
padding:0 15px;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
#BW_ulEti a {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
#BW_ulEti a.tag_s0 {font-weight: 120;font-size:0.8em;}
|
||||
#BW_ulEti a.tag_s1 {font-weight: 150;font-size:0.9em;}
|
||||
#BW_ulEti a.tag_s2 {font-weight: 180;font-size:1.0em;}
|
||||
#BW_ulEti a.tag_s3 {font-weight: 200;font-size:1.2em;}
|
||||
#BW_ulEti a.tag_s4 {font-weight: 220;font-size:1.4em;}
|
||||
#BW_ulEti a.tag_s5 {font-weight: 230;font-size:1.5em;}
|
||||
#BW_ulEti a.tag_s6 {font-weight: 320;font-size:1.6em;}
|
||||
#BW_ulEti a.tag_s7 {font-weight: 350;font-size:1.7em;}
|
||||
#BW_ulEti a.tag_s8 {font-weight: 400;font-size:1.8em;}
|
||||
#BW_ulEti { padding: 0px; line-height: 2em; text-align: center;}
|
||||
#BW_ulEti a { padding: 2px; }
|
||||
#BW_ulEti { margin: 0px; }
|
||||
|
||||
#BW_ulEti ol {
|
||||
float:left;
|
||||
display: inline;
|
||||
margin: 0 10px;
|
||||
}
|
||||
|
||||
#BW_suggestions {
|
||||
border: 1px solid #E8E8E8;
|
||||
margin-top: 10px;
|
||||
float: right;
|
||||
width: 49%;
|
||||
visibility: hidden;
|
||||
visibility: visible\9;
|
||||
}
|
||||
#BW_suggestions:not(:empty) {
|
||||
visibility: visible;
|
||||
}
|
||||
#BW_suggestions h2 {
|
||||
background-color: #E8E8E8;
|
||||
margin: 5px 10px;
|
||||
padding: 0 5px;
|
||||
}
|
||||
#BW_suggestions .BW_livres_tag_page {
|
||||
padding: 0 15px;
|
||||
}
|
||||
#BW_suggestions .BW_livres_tag_page:before {
|
||||
content : '> ';
|
||||
}
|
||||
#BW_droite .BW_livres_tag:before {
|
||||
content : '> ';
|
||||
}
|
||||
|
||||
#BW_videos {
|
||||
clear : both;
|
||||
border: 1px solid #E8E8E8;
|
||||
padding-bottom: 140px;
|
||||
margin-top: 10px;
|
||||
max-width: 100%;
|
||||
visibility: hidden;
|
||||
visibility: visible\9;
|
||||
}
|
||||
|
||||
#BW_videos:not(:empty) {
|
||||
visibility: visible;
|
||||
}
|
||||
|
||||
#BW_videos h2 {
|
||||
background-color: #E8E8E8;
|
||||
margin: 5px 10px;
|
||||
padding: 0 5px;
|
||||
}
|
||||
#BW_videos .BW_bloc_vid {
|
||||
clear: both;
|
||||
padding: 0 15px;
|
||||
}
|
||||
.BW_vignette_vid {
|
||||
border: 1px solid #DFD9CE;
|
||||
float: left;
|
||||
height: 141px;
|
||||
margin: 5px;
|
||||
min-height: 141px;
|
||||
padding: 5px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
#BW_notes {clear :left;}
|
||||
#BW_notes h2 {font-size:85%;}
|
||||
|
||||
#BW_citations {}
|
||||
#BW_citations h2 {font-size:85%;}
|
||||
|
||||
#BW_critiques {}
|
||||
#BW_critiques h2 {font-size:85%;}
|
||||
|
||||
#BW_critiques_pro {}
|
||||
#BW_critiques_pro h2 {font-size:85%;}
|
||||
|
||||
#BW_citations,#BW_critiques,#BW_critiques_pro {
|
||||
background: -moz-linear-gradient(center top , #3399FF, #3333FF) repeat scroll 0 0 transparent;
|
||||
background: -webkit-gradient(linear, center top, center bottom, from(#3399FF), to(#3333FF));
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#3399FF', endColorstr='#3333FF');
|
||||
border: 1px solid #B7B7B7;
|
||||
border-radius: 5px 5px 5px 5px;
|
||||
color: #FFFFCC;
|
||||
display: inline-block;
|
||||
float: left;
|
||||
font-weight: bold;
|
||||
margin: 15px 20px 15px 0;
|
||||
min-width: 150px;
|
||||
padding: 0 15px 8px;
|
||||
position: relative;
|
||||
text-align: center;
|
||||
text-shadow: 1px 1px 1px #777777;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
#BW_citations a,#BW_critiques a,#BW_critiques_pro a {
|
||||
color: #FFFFCC;
|
||||
}
|
265
koha-tmpl/opac-tmpl/ccsr/en/css/datatables.css
Normal file
|
@ -0,0 +1,265 @@
|
|||
input.search_init {
|
||||
color: #999999;
|
||||
}
|
||||
.sorting_asc {
|
||||
padding-right: 19px;
|
||||
background: url("../../img/asc.gif") no-repeat scroll right center #EEEEEE;
|
||||
}
|
||||
.sorting_desc {
|
||||
padding-right: 19px;
|
||||
background: url("../../img/desc.gif") no-repeat scroll right center #EEEEEE;
|
||||
}
|
||||
.sorting {
|
||||
padding-right: 19px;
|
||||
background: url("../../img/ascdesc.gif") no-repeat scroll right center #EEEEEE;
|
||||
}
|
||||
.sorting_asc_disabled {
|
||||
padding-right: 19px;
|
||||
background: url("../../img/datatables/sort_asc_disabled.png") no-repeat scroll right center #EEEEEE;
|
||||
}
|
||||
.sorting_desc_disabled {
|
||||
padding-right: 19px;
|
||||
background: url("../../img/datatables/sort_desc_disabled.png") no-repeat scroll right center #EEEEEE;
|
||||
}
|
||||
.sorting_disabled {
|
||||
padding-right: 19px;
|
||||
background-color: #EEEEEE;
|
||||
}
|
||||
|
||||
div.top {clear : both; }
|
||||
|
||||
div.top.pager,
|
||||
div.bottom.pager {
|
||||
background-color : #E5E5E5;
|
||||
padding : 0;
|
||||
}
|
||||
|
||||
div.bottom.pager div.dataTables_paginate.paging_full_numbers,
|
||||
div.bottom.pager div.dataTables_paginate.paging_four_button {
|
||||
border-right-width : 0;
|
||||
}
|
||||
|
||||
div.dataTables_filter,
|
||||
div.dataTables_length,
|
||||
div.dataTables_info,
|
||||
div.dataTables_paginate {
|
||||
float: left;
|
||||
padding : .3em .5em .3em .5em;
|
||||
|
||||
}
|
||||
div.dataTables_length {
|
||||
border-right : 1px solid #686868;
|
||||
line-height:1.9em;
|
||||
}
|
||||
div.dataTables_info {
|
||||
border-right : 1px solid #AAA;
|
||||
line-height:1.9em;
|
||||
}
|
||||
div.dataTables_length,
|
||||
div.dataTables_filter {
|
||||
border-left : 1px solid #FFF;
|
||||
}
|
||||
div.dataTables_filter {
|
||||
line-height : 1.9em;
|
||||
}
|
||||
div.dataTables_paginate {
|
||||
background-color : #F4F4F4;
|
||||
font-size: 110%;
|
||||
padding : 0;
|
||||
}
|
||||
|
||||
.paging_full_numbers span.paginate_button,
|
||||
.paging_full_numbers span.paginate_active {
|
||||
border-right : 1px solid #AAA;
|
||||
border-left : 1px solid #FFF;
|
||||
display : block;
|
||||
float : left;
|
||||
line-height:1.6em;
|
||||
padding: .3em .7em;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.paging_full_numbers span.paginate_button {
|
||||
color : #0000CC;
|
||||
}
|
||||
.paging_full_numbers span.paginate_button.first {
|
||||
background-image : url('../../img/first.png');
|
||||
background-repeat: no-repeat;
|
||||
background-position : 2px center;
|
||||
padding-left : 2em;
|
||||
}
|
||||
.paging_full_numbers span.paginate_button.previous {
|
||||
background-image : url('../../img/prev.png');
|
||||
background-repeat: no-repeat;
|
||||
background-position : 2px center;
|
||||
padding-left : 2em;
|
||||
}
|
||||
.paging_full_numbers span.paginate_button.next {
|
||||
background-image : url('../../img/next.png');
|
||||
background-repeat: no-repeat;
|
||||
background-position : right center;
|
||||
padding-right : 2em;
|
||||
}
|
||||
.paging_full_numbers span.paginate_button.last {
|
||||
background-image : url('../../img/last.png');
|
||||
background-repeat: no-repeat;
|
||||
background-position : right center;
|
||||
border-right : 1px solid #686868;
|
||||
padding-right : 2em;
|
||||
}
|
||||
div.bottom.pager .paging_full_numbers span.paginate_button.last {
|
||||
border-right-width : 0;
|
||||
}
|
||||
.paging_full_numbers span.paginate_active {
|
||||
background-color : #FFFFEA;
|
||||
color : #000;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.paging_full_numbers span.paginate_button:hover {
|
||||
background-color: #FFC;
|
||||
}
|
||||
|
||||
.paging_full_numbers span.paginate_button.paginate_button_disabled {
|
||||
color : #666;
|
||||
}
|
||||
|
||||
/* Two-button version */
|
||||
|
||||
div.dataTables_paginate.paging_two_button,
|
||||
div.dataTables_paginate.paging_four_button {
|
||||
background-color : transparent;
|
||||
border-right : 1px solid #686868;
|
||||
border-left : 1px solid #FFF;
|
||||
line-height : 1.8em;
|
||||
}
|
||||
.paginate_disabled_first,
|
||||
.paginate_enabled_first,
|
||||
.paginate_disabled_previous,
|
||||
.paginate_enabled_previous,
|
||||
.paginate_disabled_next,
|
||||
.paginate_enabled_next,
|
||||
.paginate_disabled_last,
|
||||
.paginate_enabled_last {
|
||||
float: left;
|
||||
height: 16px;
|
||||
margin: .5em;
|
||||
width: 16px;
|
||||
}
|
||||
.paginate_disabled_first {
|
||||
background-image: url("../../img/first-disabled.png");
|
||||
}
|
||||
.paginate_enabled_first {
|
||||
background-image: url("../../img/first.png");
|
||||
cursor: pointer;
|
||||
}
|
||||
.paginate_disabled_previous {
|
||||
background-image: url("../../img/prev-disabled.png");
|
||||
}
|
||||
.paginate_enabled_previous {
|
||||
background-image: url("../../img/prev.png");
|
||||
cursor: pointer;
|
||||
}
|
||||
.paginate_disabled_next {
|
||||
background-image: url("../../img/next-disabled.png");
|
||||
}
|
||||
.paginate_enabled_next {
|
||||
background-image: url("../../img/next.png");
|
||||
cursor: pointer;
|
||||
}
|
||||
.paginate_disabled_last {
|
||||
background-image: url("../../img/last-disabled.png");
|
||||
}
|
||||
.paginate_enabled_last {
|
||||
background-image: url("../../img/last.png");
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
table.display {
|
||||
width: 100%;
|
||||
}
|
||||
table.display thead th {
|
||||
border-bottom: 1px solid black;
|
||||
cursor: pointer;
|
||||
font-weight: bold;
|
||||
padding: 3px 18px 3px 10px;
|
||||
}
|
||||
.dataTables_wrapper {
|
||||
clear: both;
|
||||
position: relative;
|
||||
}
|
||||
.dataTables_processing {
|
||||
background-color: white;
|
||||
border: 1px solid #DDDDDD;
|
||||
color: #999999;
|
||||
font-size: 14px;
|
||||
height: 30px;
|
||||
left: 50%;
|
||||
margin-left: -125px;
|
||||
margin-top: -15px;
|
||||
padding: 14px 0 2px;
|
||||
position: fixed;
|
||||
text-align: center;
|
||||
top: 50%;
|
||||
width: 250px;
|
||||
}
|
||||
.dataTables_info {
|
||||
float: left;
|
||||
width: 60%;
|
||||
}
|
||||
.dataTables_paginate {
|
||||
float: right;
|
||||
text-align: right;
|
||||
width: 44px;
|
||||
}
|
||||
.paging_full_numbers {
|
||||
height: 22px;
|
||||
line-height: 22px;
|
||||
width: 400px;
|
||||
}
|
||||
.paging_full_numbers span.paginate_button,
|
||||
.paging_full_numbers span.paginate_active {
|
||||
border: 1px solid #aaa;
|
||||
-webkit-border-radius: 5px;
|
||||
-moz-border-radius: 5px;
|
||||
padding: 2px 5px;
|
||||
margin: 0 3px;
|
||||
cursor: pointer;
|
||||
*cursor: hand;
|
||||
}
|
||||
|
||||
.paging_full_numbers span.paginate_button {
|
||||
background-color: #ddd;
|
||||
}
|
||||
|
||||
.paging_full_numbers span.paginate_button:hover {
|
||||
background-color: #ccc;
|
||||
}
|
||||
|
||||
.paging_full_numbers span.paginate_active {
|
||||
background-color: #99B3FF;
|
||||
}
|
||||
.paginate_disabled_previous, .paginate_enabled_previous, .paginate_disabled_next, .paginate_enabled_next {
|
||||
float: left;
|
||||
height: 19px;
|
||||
margin-left: 3px;
|
||||
width: 19px;
|
||||
}
|
||||
.paginate_disabled_previous {
|
||||
background-image: url("../../img/datatables/back_disabled.jpg");
|
||||
}
|
||||
.paginate_enabled_previous {
|
||||
background-image: url("../../img/datatables/back_enabled.jpg");
|
||||
}
|
||||
.paginate_disabled_next {
|
||||
background-image: url("../../img/datatables/forward_disabled.jpg");
|
||||
}
|
||||
.paginate_enabled_next {
|
||||
background-image: url("../../img/datatables/forward_enabled.jpg");
|
||||
}
|
||||
.spacer {
|
||||
clear: both;
|
||||
height: 20px;
|
||||
}
|
105
koha-tmpl/opac-tmpl/ccsr/en/css/hierarchy.css
Normal file
|
@ -0,0 +1,105 @@
|
|||
.hierarchies {
|
||||
background-color:#fff;
|
||||
color:#000000;
|
||||
padding:5px;
|
||||
margin-left:50px;
|
||||
-moz-border-radius:6px;
|
||||
display:block;
|
||||
font-size:10px;
|
||||
}
|
||||
.hierarchy {
|
||||
padding:5px;
|
||||
width:90%;
|
||||
-moz-border-radius:6px;
|
||||
display:block;
|
||||
}
|
||||
.child {
|
||||
display:none;
|
||||
margin-left : 50px;
|
||||
width:150%;
|
||||
}
|
||||
.child a:hover{
|
||||
background-color:#BFCFFF;
|
||||
}
|
||||
.parent {
|
||||
display:none;
|
||||
margin-left : -50px;
|
||||
}
|
||||
.parent a:hover{
|
||||
background-color:#BFCFFF;
|
||||
}
|
||||
.child0{
|
||||
width : 20%;
|
||||
text-align : left;
|
||||
}
|
||||
.child0 a:hover{
|
||||
background-color:#BFCFFF;
|
||||
}
|
||||
.child1{
|
||||
width : 20%;
|
||||
text-align : left;
|
||||
margin-left : 50px;
|
||||
}
|
||||
.child1 a:hover{
|
||||
background-color:#BFCFFF;
|
||||
}
|
||||
.child2{
|
||||
width : 20%;
|
||||
text-align : left;
|
||||
margin-left : 100px;
|
||||
}
|
||||
.child2 a:hover{
|
||||
background-color:#BFCFFF;
|
||||
}
|
||||
.child3{
|
||||
width : 20%;
|
||||
text-align : left;
|
||||
margin-left : 150px;
|
||||
}
|
||||
.child3 a:hover{
|
||||
background-color:#BFCFFF;
|
||||
}
|
||||
.child4{
|
||||
width : 20%;
|
||||
text-align : left;
|
||||
margin-left : 200px;
|
||||
}
|
||||
.child4 a:hover{
|
||||
background-color:#BFCFFF;
|
||||
}
|
||||
.child5{
|
||||
width : 20%;
|
||||
text-align : left;
|
||||
margin-left : 250px;
|
||||
}
|
||||
.child5 a:hover{
|
||||
background-color:#BFCFFF;
|
||||
}
|
||||
.child6{
|
||||
width : 20%;
|
||||
text-align : left;
|
||||
margin-left : 300px;
|
||||
}
|
||||
.child6 a:hover{
|
||||
background-color:#BFCFFF;
|
||||
}
|
||||
.child7{
|
||||
width : 20%;
|
||||
text-align : left;
|
||||
margin-left : 350px;
|
||||
}
|
||||
.child7 a:hover{
|
||||
background-color:#BFCFFF;
|
||||
}
|
||||
.child8{
|
||||
width : 10%;
|
||||
text-align : left;
|
||||
margin-left : 400px;
|
||||
}
|
||||
.child8 a:hover{
|
||||
background-color:#BFCFFF;
|
||||
}
|
||||
.parents{
|
||||
display:inline;
|
||||
cursor:crosshair;
|
||||
}
|
12
koha-tmpl/opac-tmpl/ccsr/en/css/jquery.rating.css
Normal file
|
@ -0,0 +1,12 @@
|
|||
/* jQuery.Rating Plugin CSS - http://www.fyneworks.com/jquery/star-rating/ */
|
||||
div.rating-cancel,div.star-rating{float:left;width:15px;height:15px;text-indent:-999em;cursor:pointer;display:block;background:transparent;overflow:hidden}
|
||||
div.rating-cancel,div.rating-cancel a{background:url(../../images/delete.gif) no-repeat 0 -16px}
|
||||
div.star-rating,div.star-rating a{background:url(../../images/star.gif) no-repeat 0 0px}
|
||||
div.rating-cancel a,div.star-rating a{display:block;width:16px;height:100%;background-position:0 0px;border:0}
|
||||
div.star-rating-on a{background-position:0 -32px!important}
|
||||
div.star-rating-hover a{background-position:0 -16px}
|
||||
/* Read Only CSS */
|
||||
div.star-rating-readonly a{cursor:default !important}
|
||||
/* Partial Star CSS */
|
||||
div.star-rating{background:transparent!important;overflow:hidden!important}
|
||||
/* END jQuery.Rating Plugin CSS */
|
2625
koha-tmpl/opac-tmpl/ccsr/en/css/opac.css
Normal file
227
koha-tmpl/opac-tmpl/ccsr/en/css/print.css
Normal file
|
@ -0,0 +1,227 @@
|
|||
a:link {
|
||||
color : #000066;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:visited {
|
||||
color : #000066;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color : #993300;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color : #FFF;
|
||||
color : #333333;
|
||||
font-family : arial, geneva, sans-serif;
|
||||
font-size : 14px;
|
||||
margin : 0px 0px 0px 0px;
|
||||
word-wrap : break-word;
|
||||
}
|
||||
|
||||
caption {
|
||||
color : #000066;
|
||||
font-size : 18px;
|
||||
font-weight : bold;
|
||||
margin-top : 5px;
|
||||
text-align : left;
|
||||
}
|
||||
|
||||
div.table {
|
||||
width : 100%;
|
||||
}
|
||||
|
||||
form {
|
||||
margin : 0px;
|
||||
padding : 0px;
|
||||
}
|
||||
|
||||
h1
|
||||
{
|
||||
color : #000066;
|
||||
font-size : 22px;
|
||||
font-weight : bold;
|
||||
margin-bottom : 3px;
|
||||
margin-top : 3px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color : #000066;
|
||||
font-size : 20px;
|
||||
font-weight : bold;
|
||||
margin-bottom : 3px;
|
||||
margin-top : 3px;
|
||||
}
|
||||
|
||||
h3 {
|
||||
color : #000066;
|
||||
font-size : 18px;
|
||||
font-weight : bold;
|
||||
margin-bottom : 3px;
|
||||
margin-top : 3px;
|
||||
}
|
||||
|
||||
h4 {
|
||||
color : #000066;
|
||||
font-size : 16px;
|
||||
font-weight : bold;
|
||||
margin-bottom : 3px;
|
||||
margin-top : 3px;
|
||||
}
|
||||
|
||||
h5 {
|
||||
color : #000066;
|
||||
font-size : 15px;
|
||||
font-weight : bold;
|
||||
margin-bottom : 1px;
|
||||
margin-top : 1px;
|
||||
}
|
||||
|
||||
h6 {
|
||||
color : #000066;
|
||||
font-size : 14px;
|
||||
font-weight : bold;
|
||||
margin-bottom : 1px;
|
||||
margin-top : 1px;
|
||||
}
|
||||
|
||||
p {
|
||||
margin-top : 0px;
|
||||
}
|
||||
|
||||
table {
|
||||
background-color : #FFFFFF;
|
||||
border-bottom : 0px solid #CCCCCC;
|
||||
border-collapse : collapse;
|
||||
border-left : 0px solid #CCCCCC;
|
||||
margin : 3px 0px 5px 0px;
|
||||
padding : 0px;
|
||||
width : 99%;
|
||||
}
|
||||
|
||||
td {
|
||||
background-color : #FFF;
|
||||
border-bottom : 1px solid #CCCCCC;
|
||||
border-right : 1px solid #CCCCCC;
|
||||
padding : 5px 5px 5px 5px;
|
||||
vertical-align : top;
|
||||
}
|
||||
|
||||
td:last-child {
|
||||
background-color : #FFF;
|
||||
border-bottom : 1px solid #CCCCCC;
|
||||
border-right : 0px solid #CCCCCC;
|
||||
padding : 5px 5px 5px 5px;
|
||||
vertical-align : top;
|
||||
}
|
||||
|
||||
th {
|
||||
background-color : #E9E9E9;
|
||||
border-bottom : 1px solid #CCCCCC;
|
||||
border-right : 1px solid #CCCCCC;
|
||||
font-weight : bold;
|
||||
padding : 5px 5px 5px 5px;
|
||||
}
|
||||
|
||||
th:last-child {
|
||||
background-color : #E9E9E9;
|
||||
border-bottom : 1px solid #CCCCCC;
|
||||
border-right : 0px solid #CCCCCC;
|
||||
font-weight : bold;
|
||||
padding : 5px 5px 5px 5px;
|
||||
}
|
||||
|
||||
tr.highlight {
|
||||
background-color: #e9e9e9;
|
||||
}
|
||||
|
||||
body#basket tr.highlight {
|
||||
background-color : transparent;
|
||||
}
|
||||
|
||||
body#basket a {
|
||||
font-weight : bold;
|
||||
}
|
||||
|
||||
body#basket table {
|
||||
border-top : 1px solid #EEE;
|
||||
border-left : 1px solid #EEE;
|
||||
}
|
||||
body#basket td,
|
||||
body#basket th {
|
||||
background-color : transparent;
|
||||
padding : 2px;
|
||||
}
|
||||
|
||||
body#basket th {
|
||||
background-color : #EEE;
|
||||
}
|
||||
|
||||
body#basket th,
|
||||
body#basket th[scope=col] {
|
||||
text-align : center;
|
||||
vertical-align : middle;
|
||||
}
|
||||
|
||||
body#basket th[scope=row] {
|
||||
font-size : 89%;
|
||||
text-align : right;
|
||||
vertical-align : top;
|
||||
width : 10%;
|
||||
}
|
||||
|
||||
body#basket p {
|
||||
font-size : 85%;
|
||||
margin : .2em 0;
|
||||
text-indent : .5em;
|
||||
}
|
||||
|
||||
.error {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.ex {
|
||||
font-family : "Courier New", Courier, monospace;
|
||||
}
|
||||
.inline {
|
||||
display : inline;
|
||||
}
|
||||
|
||||
.screen {
|
||||
display : none;
|
||||
}
|
||||
|
||||
#bookcover {
|
||||
float:left;
|
||||
margin:0pt;
|
||||
padding:0pt;
|
||||
}
|
||||
|
||||
#members,#opac-main-search,#opac-user-views .ui-tabs-nav,input,h2 span.hint,td.resultscontrol,.pages,.suggestion,.views,#action,#export,#bibliodescriptions .ui-tabs-nav,#addshelf,fieldset.action, .list-actions, .ft, #facetcontainer,.results_summary.actions,.koha_url,.yui-b {
|
||||
display : none;
|
||||
}
|
||||
|
||||
#userresults {
|
||||
position : absolute;
|
||||
right : 0px;
|
||||
word-wrap : break-word;
|
||||
display : block;
|
||||
}
|
||||
|
||||
div#userupdate input,div#userupdate textarea {
|
||||
display : inline;
|
||||
border : 0;
|
||||
}
|
||||
|
||||
#yui-main,
|
||||
#yui-main .yui-b,
|
||||
.yui-t1 #yui-main .yui-b {
|
||||
display : block !important;
|
||||
margin : 0 !important;
|
||||
padding : 0 !important;
|
||||
width : auto !important;
|
||||
float : none !important;
|
||||
}
|
2013
koha-tmpl/opac-tmpl/ccsr/en/css/sanop.css
Normal file
341
koha-tmpl/opac-tmpl/ccsr/en/css/sco.css
Normal file
|
@ -0,0 +1,341 @@
|
|||
@import url("../../en/lib/yui/reset-fonts-grids.css");
|
||||
@import url("../../en/lib/yui/skin.css");
|
||||
|
||||
a {
|
||||
font-weight : bold;
|
||||
}
|
||||
|
||||
a, a:visited {
|
||||
color : #006699;
|
||||
}
|
||||
|
||||
a:hover,input.editshelf:hover,a.editshelf:hover,input.deleteshelf:hover {
|
||||
color : #990033;
|
||||
}
|
||||
|
||||
body {
|
||||
background-color : white;
|
||||
text-align : left;
|
||||
padding : 0 0 2.5em 0;
|
||||
}
|
||||
|
||||
caption {
|
||||
font-size : 110%;
|
||||
text-align : left;
|
||||
font-weight : bold;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
background-color: #FFF;
|
||||
border : 2px solid #EEEEEE;
|
||||
margin : 1em 1em 1em 0;
|
||||
padding : 1em;
|
||||
}
|
||||
|
||||
h1,h2,h3,h4,h5,h6 {
|
||||
font-weight : bold;
|
||||
margin : .5em 0;
|
||||
}
|
||||
|
||||
h1 {
|
||||
font-size : 138.5%;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size : 134%;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size : 123.1%;
|
||||
}
|
||||
|
||||
h4 {
|
||||
font-size : 116%;
|
||||
}
|
||||
|
||||
h5 {
|
||||
font-size : 108%;
|
||||
}
|
||||
|
||||
h6 {
|
||||
font-size : 100%;
|
||||
}
|
||||
|
||||
input[type=submit],
|
||||
input[type=button],
|
||||
input[type=reset],
|
||||
fieldset.brief input[type=submit],
|
||||
fieldset.brief input[type=button],
|
||||
fieldset.brief input[type=reset]
|
||||
{
|
||||
background: #f4f9fc; /* Old browsers */
|
||||
background: -moz-linear-gradient(top, #f4f9fc 0%, #dfeefa 4%, #bfd5ea 93%, #a1c4e2 97%, #b8d0e6 100%); /* FF3.6+ */
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f4f9fc), color-stop(4%,#dfeefa), color-stop(93%,#bfd5ea), color-stop(97%,#a1c4e2), color-stop(100%,#b8d0e6)); /* Chrome,Safari4+ */
|
||||
background: -webkit-linear-gradient(top, #f4f9fc 0%,#dfeefa 4%,#bfd5ea 93%,#a1c4e2 97%,#b8d0e6 100%); /* Chrome10+,Safari5.1+ */
|
||||
background: -o-linear-gradient(top, #f4f9fc 0%,#dfeefa 4%,#bfd5ea 93%,#a1c4e2 97%,#b8d0e6 100%); /* Opera11.10+ */
|
||||
background: -ms-linear-gradient(top, #f4f9fc 0%,#dfeefa 4%,#bfd5ea 93%,#a1c4e2 97%,#b8d0e6 100%); /* IE10+ */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f4f9fc', endColorstr='#b8d0e6',GradientType=0 ); /* IE6-9 */
|
||||
background: linear-gradient(top, #f4f9fc 0%,#dfeefa 4%,#bfd5ea 93%,#a1c4e2 97%,#b8d0e6 100%); /* W3C */
|
||||
border-top: 1px solid #cccccc;
|
||||
border-left: 1px solid #cccccc;
|
||||
border-right: 1px solid #eeeeee;
|
||||
border-bottom: 1px solid #eeeeee;
|
||||
color : #333;
|
||||
font-size : 93%;
|
||||
font-weight : bold;
|
||||
padding : 4px;
|
||||
}
|
||||
|
||||
input[type=submit]:active, input[type=button]:active, input[type=reset]:active {
|
||||
border: 1px inset #666666;
|
||||
float : none;
|
||||
}
|
||||
.dialog {
|
||||
border: 1px solid #bcbcbc;
|
||||
padding : .5em;
|
||||
margin : 1em auto;
|
||||
width: 65%;
|
||||
}
|
||||
|
||||
.dialog h2, .dialog h3, .dialog h4 {
|
||||
margin : auto;
|
||||
text-align : center;
|
||||
}
|
||||
|
||||
div.alert {
|
||||
background: #fef8d3; /* Old browsers */
|
||||
background: -moz-linear-gradient(top, #fef8d3 0%, #ffec91 9%, #ffed87 89%, #f9dc00 100%); /* FF3.6+ */
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fef8d3), color-stop(9%,#ffec91), color-stop(89%,#ffed87), color-stop(100%,#f9dc00)); /* Chrome,Safari4+ */
|
||||
background: -webkit-linear-gradient(top, #fef8d3 0%,#ffec91 9%,#ffed87 89%,#f9dc00 100%); /* Chrome10+,Safari5.1+ */
|
||||
background: -o-linear-gradient(top, #fef8d3 0%,#ffec91 9%,#ffed87 89%,#f9dc00 100%); /* Opera11.10+ */
|
||||
background: -ms-linear-gradient(top, #fef8d3 0%,#ffec91 9%,#ffed87 89%,#f9dc00 100%); /* IE10+ */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fef8d3', endColorstr='#f9dc00',GradientType=0 ); /* IE6-9 */
|
||||
background: linear-gradient(top, #fef8d3 0%,#ffec91 9%,#ffed87 89%,#f9dc00 100%); /* W3C */
|
||||
text-align : center;
|
||||
}
|
||||
|
||||
div.alert strong {
|
||||
color : #900;
|
||||
}
|
||||
|
||||
div.message {
|
||||
background: #ffffff; /* Old browsers */
|
||||
background: -moz-linear-gradient(top, #ffffff 0%, #f4f6fa 2%, #eaeef5 23%, #e8edf6 94%, #cddbf2 100%); /* FF3.6+ */
|
||||
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(2%,#f4f6fa), color-stop(23%,#eaeef5), color-stop(94%,#e8edf6), color-stop(100%,#cddbf2)); /* Chrome,Safari4+ */
|
||||
background: -webkit-linear-gradient(top, #ffffff 0%,#f4f6fa 2%,#eaeef5 23%,#e8edf6 94%,#cddbf2 100%); /* Chrome10+,Safari5.1+ */
|
||||
background: -o-linear-gradient(top, #ffffff 0%,#f4f6fa 2%,#eaeef5 23%,#e8edf6 94%,#cddbf2 100%); /* Opera11.10+ */
|
||||
background: -ms-linear-gradient(top, #ffffff 0%,#f4f6fa 2%,#eaeef5 23%,#e8edf6 94%,#cddbf2 100%); /* IE10+ */
|
||||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#cddbf2',GradientType=0 ); /* IE6-9 */
|
||||
background: linear-gradient(top, #ffffff 0%,#f4f6fa 2%,#eaeef5 23%,#e8edf6 94%,#cddbf2 100%); /* W3C */
|
||||
border : 1px solid #bcbcbc;
|
||||
width : 55%;
|
||||
}
|
||||
|
||||
.dialog input {
|
||||
background : #FFF none;
|
||||
border : 1px solid #bcbcbc;
|
||||
margin : .4em;
|
||||
padding : .4em;
|
||||
}
|
||||
|
||||
|
||||
.dialog input.back {
|
||||
background : #FFF url(../../famfamfam/silk/arrow_left.png) no-repeat 4px center;
|
||||
padding : .4em .4em .4em 25px;
|
||||
}
|
||||
|
||||
.dialog input.return {
|
||||
background : #FFF url(../../famfamfam/silk/book_previous.png) no-repeat 4px center;
|
||||
padding : .4em .4em .4em 25px;
|
||||
}
|
||||
|
||||
.dialog input.renew {
|
||||
background : #FFF url(../../famfamfam/silk/arrow_refresh.png) no-repeat 4px center;
|
||||
padding : .4em .4em .4em 25px;
|
||||
}
|
||||
|
||||
.dialog input.cancel {
|
||||
background : #FFF url(../../famfamfam/silk/cancel.png) no-repeat 4px center;
|
||||
padding : .4em .4em .4em 25px;
|
||||
}
|
||||
|
||||
input.finish {
|
||||
background : #dbe7ff url(../../famfamfam/silk/stop.png) no-repeat 4px center;
|
||||
border : 1px outset #666;
|
||||
padding : .2em .2em .2em 25px;
|
||||
}
|
||||
|
||||
table {
|
||||
background-color: #FFF;
|
||||
border-collapse : collapse;
|
||||
margin : 1em 0;
|
||||
border-right : 1px solid #dddddd;
|
||||
border-top : 1px solid #dddddd;
|
||||
}
|
||||
|
||||
td,th {
|
||||
background-color: #FFF;
|
||||
border-left : 1px solid #dddddd;
|
||||
border-bottom : 1px solid #dddddd;
|
||||
padding : 3px 3px;
|
||||
}
|
||||
|
||||
th {
|
||||
background-color:#EEE;
|
||||
font-weight : bold;
|
||||
padding : 2px 23px;
|
||||
text-align : center;
|
||||
}
|
||||
|
||||
tr.highlight td, tr.highlight th, tr.odd td {
|
||||
background-color : #F3F3F3;
|
||||
border-top : 1px solid #DDDDDD;
|
||||
border-bottom : 1px solid #DDDDDD;
|
||||
}
|
||||
|
||||
tr.even td, tr.even.highlight td {
|
||||
background-color: #FFF;
|
||||
}
|
||||
|
||||
.header {
|
||||
background-image:url("../../images/ascdesc.gif");
|
||||
background-position:right center;
|
||||
background-repeat:no-repeat;
|
||||
cursor:pointer;
|
||||
}
|
||||
.headerSortUp {
|
||||
background-image:url("../../images/asc.gif");
|
||||
}
|
||||
.headerSortDown {
|
||||
background-image:url("../../images/desc.gif");
|
||||
}
|
||||
|
||||
p {
|
||||
margin: .7em 0;
|
||||
}
|
||||
|
||||
strong {
|
||||
font-weight : bold;
|
||||
}
|
||||
|
||||
em {
|
||||
font-style : italic;
|
||||
}
|
||||
#borrowerdetails {
|
||||
margin-top : 1em;
|
||||
}
|
||||
#barcode,
|
||||
#patronid {
|
||||
font-size : 125%;
|
||||
padding-bottom : 3px;
|
||||
}
|
||||
input.focus {
|
||||
background-color : #FFC;
|
||||
border : 2px inset #336699;
|
||||
}
|
||||
#checkouthelp {
|
||||
background : #FFF url("../../famfamfam/silk/help.png") no-repeat 4px center;
|
||||
padding : 3px 3px 3px 26px;
|
||||
position : absolute;
|
||||
top : 0;
|
||||
right : 0;
|
||||
}
|
||||
div.button {
|
||||
float : left;
|
||||
margin-top : 2em;
|
||||
padding : .4em 0;
|
||||
}
|
||||
div.button a:link,
|
||||
div.button a:visited,
|
||||
div.button a:hover,
|
||||
div.button a:active {
|
||||
background : #FFF url(../../famfamfam/silk/book_previous.png) no-repeat 4px center;
|
||||
border : 1px outset #666;
|
||||
color : #000;
|
||||
padding : .4em .4em .4em 25px;
|
||||
text-decoration : none;
|
||||
}
|
||||
div.button a:active {
|
||||
border : 1px inset #666;
|
||||
}
|
||||
|
||||
div.koha_url {
|
||||
border-top: none !important;
|
||||
}
|
||||
span.koha_url {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
}
|
||||
a.koha_url {
|
||||
text-decoration: none;
|
||||
color: #666666;
|
||||
}
|
||||
|
||||
div#changelanguage{
|
||||
background-color: #fff;
|
||||
border-top: 1px solid #CCC;
|
||||
color : #666;
|
||||
font-size : 85%;
|
||||
padding : 1em;
|
||||
margin-top : 2em;
|
||||
}
|
||||
|
||||
div#changelanguage a {
|
||||
font-weight : normal;
|
||||
padding : .5em 0;
|
||||
}
|
||||
|
||||
div#changelanguage li.yuimenuitem {
|
||||
font-size: 120%;
|
||||
font-weight: normal;
|
||||
margin: 0;
|
||||
padding: 0 1em;
|
||||
}
|
||||
div#changelanguage li.yuimenuitem a.yuimenuitemlabel {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
ul#i18nMenu {
|
||||
margin : 0;
|
||||
padding : .2em 0;
|
||||
}
|
||||
|
||||
ul#i18nMenu li {
|
||||
border-left : 1px solid #CCC;
|
||||
display : inline;
|
||||
list-style : none;
|
||||
padding : 0 .4em;
|
||||
}
|
||||
|
||||
ul#i18nMenu li:first-child {
|
||||
border-left : 0;
|
||||
}
|
||||
|
||||
ul#i18nMenu li ul li {
|
||||
border : 0;
|
||||
display : block;
|
||||
padding : 0;
|
||||
}
|
||||
|
||||
|
||||
ul#i18nMenu li.more a {
|
||||
background-image : url("../../images/sprite.png");
|
||||
background-position : 37px -940px;
|
||||
background-repeat:no-repeat;
|
||||
padding-right: 1.3em;
|
||||
}
|
||||
|
||||
ul#i18nMenu li.more ul li a {
|
||||
background-image : none;
|
||||
padding: 0 1.3em;
|
||||
}
|
||||
|
||||
span.lang{
|
||||
float:left;
|
||||
border-right : 1px solid black;
|
||||
padding : 0 .5em;
|
||||
}
|
||||
|
||||
div.ft {
|
||||
clear : both;
|
||||
}
|
14
koha-tmpl/opac-tmpl/ccsr/en/js/amazonimages.js
Normal file
|
@ -0,0 +1,14 @@
|
|||
// http://www.oreillynet.com/pub/a/javascript/2003/10/21/amazonhacks.html
|
||||
function verify_images() {
|
||||
$("img").each(function(i){
|
||||
if ((this.src.indexOf('images.amazon.com') >= 0) || (this.src.indexOf('g-images.amazon.com') >=0) || (this.src.indexOf('syndetics.com') >=0) ) {
|
||||
w = this.width;
|
||||
h = this.height;
|
||||
if ((w == 1) || (h == 1)) {
|
||||
$(this).parent().html("<span class=\"no-image\">"+NO_AMAZON_IMAGE+"</span>");
|
||||
} else if ((this.complete != null) && (!this.complete)) {
|
||||
$(this).parent().html("<span class=\"no-image\">"+NO_AMAZON_IMAGE+"</span>");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
11
koha-tmpl/opac-tmpl/ccsr/en/js/bakertaylorimages.js
Normal file
|
@ -0,0 +1,11 @@
|
|||
// http://www.oreillynet.com/pub/a/javascript/2003/10/21/amazonhacks.html
|
||||
function bt_verify_images() {
|
||||
$("img").each(function(i){
|
||||
if (this.src.indexOf('btol.com') >= 0) {
|
||||
h = this.height;
|
||||
if (h == 20) {
|
||||
$(this).before("<span class=\"no-image\" style=\"margin-bottom:5px;width:80px;\">"+NO_BAKERTAYLOR_IMAGE+"</span>");
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
384
koha-tmpl/opac-tmpl/ccsr/en/js/datatables.js
Normal file
|
@ -0,0 +1,384 @@
|
|||
// These default options are for translation but can be used
|
||||
// for any other datatables settings
|
||||
// MSG_DT_* variables comes from datatables-strings.inc
|
||||
// To use it, write:
|
||||
// $("#table_id").dataTable($.extend(true, {}, dataTableDefaults, {
|
||||
// // other settings
|
||||
// } ) );
|
||||
var dataTablesDefaults = {
|
||||
"oLanguage": {
|
||||
"oPaginate": {
|
||||
"sFirst" : window.MSG_DT_FIRST || "First",
|
||||
"sLast" : window.MSG_DT_LAST || "Last",
|
||||
"sNext" : window.MSG_DT_NEXT || "Next",
|
||||
"sPrevious" : window.MSG_DT_PREVIOUS || "Previous"
|
||||
},
|
||||
"sEmptyTable" : window.MSG_DT_EMPTY_TABLE || "No data available in table",
|
||||
"sInfo" : window.MSG_DT_INFO || "Showing _START_ to _END_ of _TOTAL_ entries",
|
||||
"sInfoEmpty" : window.MSG_DT_INFO_EMPTY || "No entries to show",
|
||||
"sInfoFiltered" : window.MSG_DT_INFO_FILTERED || "(filtered from _MAX_ total entries)",
|
||||
"sLengthMenu" : window.MSG_DT_LENGTH_MENU || "Show _MENU_ entries",
|
||||
"sLoadingRecords" : window.MSG_DT_LOADING_RECORDS || "Loading...",
|
||||
"sProcessing" : window.MSG_DT_PROCESSING || "Processing...",
|
||||
"sSearch" : window.MSG_DT_SEARCH || "Search:",
|
||||
"sZeroRecords" : window.MSG_DT_ZERO_RECORDS || "No matching records found"
|
||||
},
|
||||
"sDom": '<"top pager"ilpf>t<"bottom pager"ip>'
|
||||
};
|
||||
|
||||
|
||||
// Return an array of string containing the values of a particular column
|
||||
$.fn.dataTableExt.oApi.fnGetColumnData = function ( oSettings, iColumn, bUnique, bFiltered, bIgnoreEmpty ) {
|
||||
// check that we have a column id
|
||||
if ( typeof iColumn == "undefined" ) return new Array();
|
||||
// by default we only wany unique data
|
||||
if ( typeof bUnique == "undefined" ) bUnique = true;
|
||||
// by default we do want to only look at filtered data
|
||||
if ( typeof bFiltered == "undefined" ) bFiltered = true;
|
||||
// by default we do not wany to include empty values
|
||||
if ( typeof bIgnoreEmpty == "undefined" ) bIgnoreEmpty = true;
|
||||
// list of rows which we're going to loop through
|
||||
var aiRows;
|
||||
// use only filtered rows
|
||||
if (bFiltered == true) aiRows = oSettings.aiDisplay;
|
||||
// use all rows
|
||||
else aiRows = oSettings.aiDisplayMaster; // all row numbers
|
||||
|
||||
// set up data array
|
||||
var asResultData = new Array();
|
||||
for (var i=0,c=aiRows.length; i<c; i++) {
|
||||
iRow = aiRows[i];
|
||||
var aData = this.fnGetData(iRow);
|
||||
var sValue = aData[iColumn];
|
||||
// ignore empty values?
|
||||
if (bIgnoreEmpty == true && sValue.length == 0) continue;
|
||||
// ignore unique values?
|
||||
else if (bUnique == true && jQuery.inArray(sValue, asResultData) > -1) continue;
|
||||
// else push the value onto the result data array
|
||||
else asResultData.push(sValue);
|
||||
}
|
||||
return asResultData;
|
||||
}
|
||||
|
||||
// List of unbind keys (Ctrl, Alt, Direction keys, etc.)
|
||||
// These keys must not launch filtering
|
||||
var blacklist_keys = new Array(0, 16, 17, 18, 37, 38, 39, 40);
|
||||
|
||||
// Set a filtering delay for global search field
|
||||
jQuery.fn.dataTableExt.oApi.fnSetFilteringDelay = function ( oSettings, iDelay ) {
|
||||
/*
|
||||
* Inputs: object:oSettings - dataTables settings object - automatically given
|
||||
* integer:iDelay - delay in milliseconds
|
||||
* Usage: $('#example').dataTable().fnSetFilteringDelay(250);
|
||||
* Author: Zygimantas Berziunas (www.zygimantas.com) and Allan Jardine
|
||||
* License: GPL v2 or BSD 3 point style
|
||||
* Contact: zygimantas.berziunas /AT\ hotmail.com
|
||||
*/
|
||||
var
|
||||
_that = this,
|
||||
iDelay = (typeof iDelay == 'undefined') ? 250 : iDelay;
|
||||
|
||||
this.each( function ( i ) {
|
||||
$.fn.dataTableExt.iApiIndex = i;
|
||||
var
|
||||
$this = this,
|
||||
oTimerId = null,
|
||||
sPreviousSearch = null,
|
||||
anControl = $( 'input', _that.fnSettings().aanFeatures.f );
|
||||
|
||||
anControl.unbind( 'keyup.DT' ).bind( 'keyup.DT', function(event) {
|
||||
var $$this = $this;
|
||||
if (blacklist_keys.indexOf(event.keyCode) != -1) {
|
||||
return this;
|
||||
}else if ( event.keyCode == '13' ) {
|
||||
$.fn.dataTableExt.iApiIndex = i;
|
||||
_that.fnFilter( $(this).val() );
|
||||
} else {
|
||||
if (sPreviousSearch === null || sPreviousSearch != anControl.val()) {
|
||||
window.clearTimeout(oTimerId);
|
||||
sPreviousSearch = anControl.val();
|
||||
oTimerId = window.setTimeout(function() {
|
||||
$.fn.dataTableExt.iApiIndex = i;
|
||||
_that.fnFilter( anControl.val() );
|
||||
}, iDelay);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
return this;
|
||||
} );
|
||||
return this;
|
||||
}
|
||||
|
||||
// Add a filtering delay on general search and on all input (with a class 'filter')
|
||||
jQuery.fn.dataTableExt.oApi.fnAddFilters = function ( oSettings, sClass, iDelay ) {
|
||||
var table = this;
|
||||
this.fnSetFilteringDelay(iDelay);
|
||||
var filterTimerId = null;
|
||||
$("input."+sClass).keyup(function(event) {
|
||||
if (blacklist_keys.indexOf(event.keyCode) != -1) {
|
||||
return this;
|
||||
}else if ( event.keyCode == '13' ) {
|
||||
table.fnFilter( $(this).val(), $(this).attr('data-column_num') );
|
||||
} else {
|
||||
window.clearTimeout(filterTimerId);
|
||||
var input = this;
|
||||
filterTimerId = window.setTimeout(function() {
|
||||
table.fnFilter($(input).val(), $(input).attr('data-column_num'));
|
||||
}, iDelay);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Useful if you want to filter on dates with 2 inputs (start date and end date)
|
||||
// You have to include calendar.inc to use it
|
||||
function dt_add_rangedate_filter(begindate_id, enddate_id, dateCol) {
|
||||
$.fn.dataTableExt.afnFiltering.push(
|
||||
function( oSettings, aData, iDataIndex ) {
|
||||
|
||||
var beginDate = Date_from_syspref($("#"+begindate_id).val()).getTime();
|
||||
var endDate = Date_from_syspref($("#"+enddate_id).val()).getTime();
|
||||
|
||||
var data = Date_from_syspref(aData[dateCol]).getTime();
|
||||
|
||||
if ( !parseInt(beginDate) && ! parseInt(endDate) ) {
|
||||
return true;
|
||||
}
|
||||
else if ( beginDate <= data && !parseInt(endDate) ) {
|
||||
return true;
|
||||
}
|
||||
else if ( data <= endDate && !parseInt(beginDate) ) {
|
||||
return true;
|
||||
}
|
||||
else if ( beginDate <= data && data <= endDate) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
//Sorting for dates (uk format)
|
||||
function dt_add_type_uk_date() {
|
||||
jQuery.fn.dataTableExt.aTypes.unshift(
|
||||
function ( sData )
|
||||
{
|
||||
if (sData.match(/(0[1-9]|[12][0-9]|3[01])\/(0[1-9]|1[012])\/(19|20|21)\d\d/))
|
||||
{
|
||||
return 'uk_date';
|
||||
}
|
||||
return null;
|
||||
}
|
||||
);
|
||||
|
||||
jQuery.fn.dataTableExt.oSort['uk_date-asc'] = function(a,b) {
|
||||
var re = /(\d{2}\/\d{2}\/\d{4})/;
|
||||
a.match(re);
|
||||
var ukDatea = RegExp.$1.split("/");
|
||||
b.match(re);
|
||||
var ukDateb = RegExp.$1.split("/");
|
||||
|
||||
var x = (ukDatea[2] + ukDatea[1] + ukDatea[0]) * 1;
|
||||
var y = (ukDateb[2] + ukDateb[1] + ukDateb[0]) * 1;
|
||||
|
||||
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
|
||||
};
|
||||
|
||||
jQuery.fn.dataTableExt.oSort['uk_date-desc'] = function(a,b) {
|
||||
var re = /(\d{2}\/\d{2}\/\d{4})/;
|
||||
a.match(re);
|
||||
var ukDatea = RegExp.$1.split("/");
|
||||
b.match(re);
|
||||
var ukDateb = RegExp.$1.split("/");
|
||||
|
||||
var x = (ukDatea[2] + ukDatea[1] + ukDatea[0]) * 1;
|
||||
var y = (ukDateb[2] + ukDateb[1] + ukDateb[0]) * 1;
|
||||
|
||||
return ((x < y) ? 1 : ((x > y) ? -1 : 0));
|
||||
};
|
||||
}
|
||||
|
||||
// Sorting on html contains
|
||||
// <a href="foo.pl">bar</a> sort on 'bar'
|
||||
function dt_overwrite_html_sorting_localeCompare() {
|
||||
jQuery.fn.dataTableExt.oSort['html-asc'] = function(a,b) {
|
||||
a = a.replace(/<.*?>/g, "").replace(/\s+/g, " ");
|
||||
b = b.replace(/<.*?>/g, "").replace(/\s+/g, " ");
|
||||
if (typeof(a.localeCompare == "function")) {
|
||||
return a.localeCompare(b);
|
||||
} else {
|
||||
return (a > b) ? 1 : ((a < b) ? -1 : 0);
|
||||
}
|
||||
};
|
||||
|
||||
jQuery.fn.dataTableExt.oSort['html-desc'] = function(a,b) {
|
||||
a = a.replace(/<.*?>/g, "").replace(/\s+/g, " ");
|
||||
b = b.replace(/<.*?>/g, "").replace(/\s+/g, " ");
|
||||
if(typeof(b.localeCompare == "function")) {
|
||||
return b.localeCompare(a);
|
||||
} else {
|
||||
return (b > a) ? 1 : ((b < a) ? -1 : 0);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// Sorting on string without accentued characters
|
||||
function dt_overwrite_string_sorting_localeCompare() {
|
||||
jQuery.fn.dataTableExt.oSort['string-asc'] = function(a,b) {
|
||||
a = a.replace(/<.*?>/g, "").replace(/\s+/g, " ");
|
||||
b = b.replace(/<.*?>/g, "").replace(/\s+/g, " ");
|
||||
if (typeof(a.localeCompare == "function")) {
|
||||
return a.localeCompare(b);
|
||||
} else {
|
||||
return (a > b) ? 1 : ((a < b) ? -1 : 0);
|
||||
}
|
||||
};
|
||||
|
||||
jQuery.fn.dataTableExt.oSort['string-desc'] = function(a,b) {
|
||||
a = a.replace(/<.*?>/g, "").replace(/\s+/g, " ");
|
||||
b = b.replace(/<.*?>/g, "").replace(/\s+/g, " ");
|
||||
if(typeof(b.localeCompare == "function")) {
|
||||
return b.localeCompare(a);
|
||||
} else {
|
||||
return (b > a) ? 1 : ((b < a) ? -1 : 0);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// Replace a node with a html and js contain.
|
||||
function replace_html( original_node, type ) {
|
||||
switch ( $(original_node).attr('data-type') ) {
|
||||
case "range_dates":
|
||||
var id = $(original_node).attr("data-id");
|
||||
var format = $(original_node).attr("data-format");
|
||||
replace_html_date( original_node, id, format );
|
||||
break;
|
||||
default:
|
||||
alert("_(This node can't be replaced)");
|
||||
}
|
||||
}
|
||||
|
||||
// Replace a node with a "From [date] To [date]" element
|
||||
// Used on tfoot > td
|
||||
function replace_html_date( original_node, id, format ) {
|
||||
var node = $('<span style="white-space:nowrap">' + _("From") + '<input type="text" id="' + id + 'from" readonly="readonly" placeholder=\'' + _("Pick date") + '\' size="7" /><a title="Delete this filter" style="cursor:pointer" onclick=\'$("#' + id + 'from").val("").change();\' >×</a></span><br/><span style="white-space:nowrap">' + _("To") + '<input type="text" id="' + id + 'to" readonly="readonly" placeholder=\'' + _("Pick date") + '\' size="7" /><a title="Delete this filter" style="cursor:pointer" onclick=\'$("#' + id + 'to").val("").change();\' >×</a></span>');
|
||||
$(original_node).replaceWith(node);
|
||||
var script = document.createElement( 'script' );
|
||||
script.type = 'text/javascript';
|
||||
var script_content = "Calendar.setup({";
|
||||
script_content += " inputField: \"" + id + "from\",";
|
||||
script_content += " ifFormat: \"" + format + "\",";
|
||||
script_content += " button: \"" + id + "from\",";
|
||||
script_content += " onClose: function(){ $(\"#" + id + "from\").change(); this.hide();}";
|
||||
script_content += " });";
|
||||
script_content += " Calendar.setup({";
|
||||
script_content += " inputField: \"" + id + "to\",";
|
||||
script_content += " ifFormat: \"" + format + "\",";
|
||||
script_content += " button: \"" + id + "to\",";
|
||||
script_content += " onClose: function(){ $(\"#" + id + "to\").change(); this.hide();}";
|
||||
script_content += " });";
|
||||
script.text = script_content;
|
||||
$(original_node).append( script );
|
||||
}
|
||||
|
||||
$.fn.dataTableExt.oPagination.four_button = {
|
||||
/*
|
||||
* Function: oPagination.four_button.fnInit
|
||||
* Purpose: Initalise dom elements required for pagination with a list of the pages
|
||||
* Returns: -
|
||||
* Inputs: object:oSettings - dataTables settings object
|
||||
* node:nPaging - the DIV which contains this pagination control
|
||||
* function:fnCallbackDraw - draw function which must be called on update
|
||||
*/
|
||||
"fnInit": function ( oSettings, nPaging, fnCallbackDraw )
|
||||
{
|
||||
nFirst = document.createElement( 'span' );
|
||||
nPrevious = document.createElement( 'span' );
|
||||
nNext = document.createElement( 'span' );
|
||||
nLast = document.createElement( 'span' );
|
||||
|
||||
/* nFirst.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sFirst ) );
|
||||
nPrevious.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sPrevious ) );
|
||||
nNext.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sNext ) );
|
||||
nLast.appendChild( document.createTextNode( oSettings.oLanguage.oPaginate.sLast ) );*/
|
||||
|
||||
nFirst.className = "paginate_button first";
|
||||
nPrevious.className = "paginate_button previous";
|
||||
nNext.className="paginate_button next";
|
||||
nLast.className = "paginate_button last";
|
||||
|
||||
nPaging.appendChild( nFirst );
|
||||
nPaging.appendChild( nPrevious );
|
||||
nPaging.appendChild( nNext );
|
||||
nPaging.appendChild( nLast );
|
||||
|
||||
$(nFirst).click( function () {
|
||||
oSettings.oApi._fnPageChange( oSettings, "first" );
|
||||
fnCallbackDraw( oSettings );
|
||||
} );
|
||||
|
||||
$(nPrevious).click( function() {
|
||||
oSettings.oApi._fnPageChange( oSettings, "previous" );
|
||||
fnCallbackDraw( oSettings );
|
||||
} );
|
||||
|
||||
$(nNext).click( function() {
|
||||
oSettings.oApi._fnPageChange( oSettings, "next" );
|
||||
fnCallbackDraw( oSettings );
|
||||
} );
|
||||
|
||||
$(nLast).click( function() {
|
||||
oSettings.oApi._fnPageChange( oSettings, "last" );
|
||||
fnCallbackDraw( oSettings );
|
||||
} );
|
||||
|
||||
/* Disallow text selection */
|
||||
$(nFirst).bind( 'selectstart', function () { return false; } );
|
||||
$(nPrevious).bind( 'selectstart', function () { return false; } );
|
||||
$(nNext).bind( 'selectstart', function () { return false; } );
|
||||
$(nLast).bind( 'selectstart', function () { return false; } );
|
||||
},
|
||||
|
||||
/*
|
||||
* Function: oPagination.four_button.fnUpdate
|
||||
* Purpose: Update the list of page buttons shows
|
||||
* Returns: -
|
||||
* Inputs: object:oSettings - dataTables settings object
|
||||
* function:fnCallbackDraw - draw function which must be called on update
|
||||
*/
|
||||
"fnUpdate": function ( oSettings, fnCallbackDraw )
|
||||
{
|
||||
if ( !oSettings.aanFeatures.p )
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
/* Loop over each instance of the pager */
|
||||
var an = oSettings.aanFeatures.p;
|
||||
for ( var i=0, iLen=an.length ; i<iLen ; i++ )
|
||||
{
|
||||
var buttons = an[i].getElementsByTagName('span');
|
||||
if ( oSettings._iDisplayStart === 0 )
|
||||
{
|
||||
buttons[0].className = "paginate_disabled_first";
|
||||
buttons[1].className = "paginate_disabled_previous";
|
||||
}
|
||||
else
|
||||
{
|
||||
buttons[0].className = "paginate_enabled_first";
|
||||
buttons[1].className = "paginate_enabled_previous";
|
||||
}
|
||||
|
||||
if ( oSettings.fnDisplayEnd() == oSettings.fnRecordsDisplay() )
|
||||
{
|
||||
buttons[2].className = "paginate_disabled_next";
|
||||
buttons[3].className = "paginate_disabled_last";
|
||||
}
|
||||
else
|
||||
{
|
||||
buttons[2].className = "paginate_enabled_next";
|
||||
buttons[3].className = "paginate_enabled_last";
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
75
koha-tmpl/opac-tmpl/ccsr/en/js/google-jackets.js
Normal file
|
@ -0,0 +1,75 @@
|
|||
if (typeof KOHA == "undefined" || !KOHA) {
|
||||
var KOHA = {};
|
||||
}
|
||||
|
||||
/**
|
||||
* A namespace for Google related functions.
|
||||
*/
|
||||
KOHA.Google = {
|
||||
|
||||
|
||||
/**
|
||||
* Search all:
|
||||
* <div title="biblionumber" id="isbn" class="gbs-thumbnail"></div>
|
||||
* or
|
||||
* <div title="biblionumber" id="isbn" class="gbs-thumbnail-preview"></div>
|
||||
* and run a search with all collected isbns to Google Book Search.
|
||||
* The result is asynchronously returned by Google and catched by
|
||||
* gbsCallBack().
|
||||
*/
|
||||
GetCoverFromIsbn: function(newWindow) {
|
||||
var bibkeys = [];
|
||||
$("div [id^=gbs-thumbnail]").each(function(i) {
|
||||
bibkeys.push($(this).attr("class")); // id=isbn
|
||||
});
|
||||
bibkeys = bibkeys.join(',');
|
||||
var scriptElement = document.createElement("script");
|
||||
this.openInNewWindow=newWindow;
|
||||
scriptElement.setAttribute("id", "jsonScript");
|
||||
scriptElement.setAttribute("src",
|
||||
"http://books.google.com/books?bibkeys=" + escape(bibkeys) +
|
||||
"&jscmd=viewapi&callback=KOHA.Google.gbsCallBack");
|
||||
scriptElement.setAttribute("type", "text/javascript");
|
||||
document.documentElement.firstChild.appendChild(scriptElement);
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Add cover pages <div
|
||||
* and link to preview if div id is gbs-thumbnail-preview
|
||||
*/
|
||||
gbsCallBack: function(booksInfo) {
|
||||
var target = '';
|
||||
if (this.openInNewWindow) {
|
||||
target = 'target="_blank" ';
|
||||
}
|
||||
for (id in booksInfo) {
|
||||
var book = booksInfo[id];
|
||||
$("."+book.bib_key).each(function() {
|
||||
var a = document.createElement("a");
|
||||
a.href = book.info_url;
|
||||
if (typeof(book.thumbnail_url) != "undefined") {
|
||||
var img = document.createElement("img");
|
||||
img.src = book.thumbnail_url;
|
||||
$(this).append(img);
|
||||
var re = /^gbs-thumbnail-preview/;
|
||||
if ( re.exec($(this).attr("id")) ) {
|
||||
$(this).append(
|
||||
'<div style="margin-bottom:5px; margin-top:-5px;font-size:9px">' +
|
||||
'<a '+target+'href="' +
|
||||
book.info_url +
|
||||
'"><img src="' +
|
||||
'http://books.google.com/intl/en/googlebooks/images/gbs_preview_sticker1.gif' +
|
||||
'"></a></div>'
|
||||
);
|
||||
}
|
||||
} else {
|
||||
var message = document.createElement("span");
|
||||
$(message).attr("class","no-image");
|
||||
$(message).html(NO_GOOGLE_JACKET);
|
||||
$(this).append(message);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
27
koha-tmpl/opac-tmpl/ccsr/en/js/googleindictransliteration.js
Normal file
|
@ -0,0 +1,27 @@
|
|||
// Load the Google Transliteration API
|
||||
google.load("elements", "1", {
|
||||
packages: "transliteration"
|
||||
});
|
||||
|
||||
function onLoad() {
|
||||
var options = {
|
||||
sourceLanguage: 'en',
|
||||
destinationLanguage: ['hi','kn','ml','ta','te'],
|
||||
shortcutKey: 'ctrl+g',
|
||||
transliterationEnabled: true
|
||||
};
|
||||
|
||||
// Create an instance on TransliterationControl with the required
|
||||
// options.
|
||||
var control =
|
||||
new google.elements.transliteration.TransliterationControl(options);
|
||||
|
||||
// Enable transliteration in the textfields with the given ids.
|
||||
var ids = [ "transl1" ];
|
||||
control.makeTransliteratable(ids);
|
||||
|
||||
// Show the transliteration control which can be used to toggle between
|
||||
// English and Hindi and also choose other destination language.
|
||||
control.showControl('translControl');
|
||||
}
|
||||
google.setOnLoadCallback(onLoad);
|
44
koha-tmpl/opac-tmpl/ccsr/en/js/localcovers.js
Normal file
|
@ -0,0 +1,44 @@
|
|||
if (typeof KOHA == "undefined" || !KOHA) {
|
||||
var KOHA = {};
|
||||
}
|
||||
|
||||
/**
|
||||
* A namespace for local cover related functions.
|
||||
*/
|
||||
KOHA.LocalCover = {
|
||||
|
||||
|
||||
/**
|
||||
* Search all:
|
||||
* <div title="biblionumber" id="isbn" class="openlibrary-thumbnail"></div>
|
||||
* or
|
||||
* <div title="biblionumber" id="isbn" class="openlibrary-thumbnail-preview"></div>
|
||||
* and run a search with all collected isbns to Open Library Book Search.
|
||||
* The result is asynchronously returned by OpenLibrary and catched by
|
||||
* olCallBack().
|
||||
*/
|
||||
GetCoverFromBibnumber: function(uselink) {
|
||||
$("div[id^=local-thumbnail],span[id^=local-thumbnail]").each(function(i) {
|
||||
var mydiv = this;
|
||||
var message = document.createElement("span");
|
||||
$(message).attr("class","no-image");
|
||||
$(message).html(NO_LOCAL_JACKET);
|
||||
$(mydiv).append(message);
|
||||
var img = $("<img />").attr('src',
|
||||
'/cgi-bin/koha/opac-image.pl?thumbnail=1&biblionumber=' + $(mydiv).attr("class"))
|
||||
.load(function () {
|
||||
if (!this.complete || typeof this.naturalWidth == "undefined" || this.naturalWidth == 0) {
|
||||
} else {
|
||||
if (uselink) {
|
||||
var a = $("<a />").attr('href', '/cgi-bin/koha/opac-imageviewer.pl?biblionumber=' + $(mydiv).attr("class"));
|
||||
$(a).append(img);
|
||||
$(mydiv).append(a);
|
||||
} else {
|
||||
$(mydiv).append(img);
|
||||
}
|
||||
$(mydiv).children('.no-image').remove();
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
};
|
66
koha-tmpl/opac-tmpl/ccsr/en/js/openlibrary.js
Normal file
|
@ -0,0 +1,66 @@
|
|||
if (typeof KOHA == "undefined" || !KOHA) {
|
||||
var KOHA = {};
|
||||
}
|
||||
|
||||
/**
|
||||
* A namespace for OpenLibrary related functions.
|
||||
*/
|
||||
KOHA.OpenLibrary = {
|
||||
|
||||
|
||||
/**
|
||||
* Search all:
|
||||
* <div title="biblionumber" id="isbn" class="openlibrary-thumbnail"></div>
|
||||
* or
|
||||
* <div title="biblionumber" id="isbn" class="openlibrary-thumbnail-preview"></div>
|
||||
* and run a search with all collected isbns to Open Library Book Search.
|
||||
* The result is asynchronously returned by OpenLibrary and catched by
|
||||
* olCallBack().
|
||||
*/
|
||||
GetCoverFromIsbn: function() {
|
||||
var bibkeys = [];
|
||||
$("div [id^=openlibrary-thumbnail]").each(function(i) {
|
||||
bibkeys.push("ISBN:" + $(this).attr("class")); // id=isbn
|
||||
});
|
||||
bibkeys = bibkeys.join(',');
|
||||
var scriptElement = document.createElement("script");
|
||||
scriptElement.setAttribute("id", "jsonScript");
|
||||
scriptElement.setAttribute("src",
|
||||
"http://openlibrary.org/api/books?bibkeys=" + escape(bibkeys) +
|
||||
"&callback=KOHA.OpenLibrary.olCallBack&jscmd=data");
|
||||
scriptElement.setAttribute("type", "text/javascript");
|
||||
document.documentElement.firstChild.appendChild(scriptElement);
|
||||
},
|
||||
|
||||
/**
|
||||
* Add cover pages <div
|
||||
* and link to preview if div id is gbs-thumbnail-preview
|
||||
*/
|
||||
olCallBack: function(booksInfo) {
|
||||
for (id in booksInfo) {
|
||||
var book = booksInfo[id];
|
||||
var isbn = id.substring(5);
|
||||
$("."+isbn).each(function() {
|
||||
var is_opacdetail = /openlibrary-thumbnail-preview/.exec($(this).attr("id"));
|
||||
var a = document.createElement("a");
|
||||
a.href = booksInfo.url;
|
||||
if (book.cover) {
|
||||
var img = document.createElement("img");
|
||||
if (is_opacdetail) {
|
||||
img.src = book.cover.medium;
|
||||
$(this).append(img);
|
||||
$(this).append('<div class="results_summary">' + '<a href="' + book.url + '">Preview</a></div>');
|
||||
} else {
|
||||
img.src = book.cover.small;
|
||||
$(this).append(img);
|
||||
}
|
||||
} else {
|
||||
var message = document.createElement("span");
|
||||
$(message).attr("class","no-image");
|
||||
$(message).html(NO_OL_JACKET);
|
||||
$(this).append(message);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
157
koha-tmpl/opac-tmpl/ccsr/en/js/tags.js
Normal file
|
@ -0,0 +1,157 @@
|
|||
if (typeof KOHA == "undefined" || !KOHA) {
|
||||
var KOHA = {};
|
||||
}
|
||||
|
||||
/**
|
||||
* A namespace for Tags related functions.
|
||||
* readCookie is expected to already be declared. That's why the assignment below is unscoped.
|
||||
* readCookie should be from basket.js or undefined.
|
||||
|
||||
$.ajaxSetup({
|
||||
url: "/cgi-bin/koha/opac-tags.pl",
|
||||
type: "POST",
|
||||
dataType: "script"
|
||||
});
|
||||
*/
|
||||
if (typeof(readCookie) == "undefined") {
|
||||
readCookie = function (name) { // from http://www.quirksmode.org/js/cookies.html
|
||||
var nameEQ = name + "=";
|
||||
var ca = document.cookie.split(';');
|
||||
for (var i=0;i < ca.length;i++) {
|
||||
var c = ca[i];
|
||||
while (c.charAt(0)==' '){ c = c.substring(1,c.length); }
|
||||
if (c.indexOf(nameEQ) == 0){ return c.substring(nameEQ.length,c.length); }
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
KOHA.Tags = {
|
||||
add_tag_button: function(){
|
||||
var mybibnum = $(this).attr("title");
|
||||
var mynewtag = "newtag" + mybibnum;
|
||||
var mytagid = "#" + mynewtag;
|
||||
var mydata = {CGISESSID: readCookie('CGISESSID')}; // Someday this should be OPACSESSID
|
||||
mydata[mynewtag] = $(mytagid).val(); // need [bracket] for variable property id
|
||||
var response; // AJAX from server will assign value to response.
|
||||
$.post(
|
||||
"/cgi-bin/koha/opac-tags.pl",
|
||||
mydata,
|
||||
function(data){
|
||||
// alert("AJAX Response: " + data);
|
||||
eval(data);
|
||||
// alert("counts: " + response["added"] + response["deleted"] + response["errors"]);
|
||||
KOHA.Tags.set_tag_status(
|
||||
mytagid + "_status",
|
||||
KOHA.Tags.common_status(response["added"], response["deleted"], response["errors"])
|
||||
);
|
||||
if (response.alerts) {
|
||||
alert(response.alerts.join("\n\n"));
|
||||
}
|
||||
},
|
||||
'script'
|
||||
);
|
||||
return false;
|
||||
},
|
||||
common_status : function(addcount, delcount, errcount) {
|
||||
var cstat = "";
|
||||
if (addcount && addcount > 0) {cstat += MSG_TAGS_ADDED + addcount + ". " ;}
|
||||
if (delcount && delcount > 0) {cstat += MSG_TAGS_DELETED + delcount + ". " ;}
|
||||
if (errcount && errcount > 0) {cstat += MSG_TAGS_ERRORS + errcount + ". " ;}
|
||||
return cstat;
|
||||
},
|
||||
set_tag_status : function(tagid, newstatus) {
|
||||
$(tagid).html(newstatus);
|
||||
$(tagid).css({display:"inline"});
|
||||
},
|
||||
append_tag_status : function(tagid, newstatus) {
|
||||
$(tagid).append(newstatus);
|
||||
$(tagid).css({display:"inline"});
|
||||
},
|
||||
|
||||
tag_message: {
|
||||
tagsdisabled : function(arg) {return (MSG_TAGS_DISABLED);},
|
||||
scrubbed_all_bad : function(arg) {return (MSG_TAG_ALL_BAD);},
|
||||
badparam : function(arg) {return (MSG_ILLEGAL_PARAMETER+" "+arg);},
|
||||
scrubbed : function(arg) {return (MSG_TAG_SCRUBBED+" "+arg);},
|
||||
failed_add_tag : function(arg) {return (MSG_ADD_TAG_FAILED+ " "+arg+" "+MSG_ADD_TAG_FAILED_NOTE);},
|
||||
failed_delete : function(arg) {return (MSG_DELETE_TAG_FAILED+ " "+arg+" "+MSG_DELETE_TAG_FAILED_NOTE);},
|
||||
login : function(arg) {return (MSG_LOGIN_REQUIRED);}
|
||||
},
|
||||
|
||||
// Used to tag multiple items at once. The main difference
|
||||
// is that status is displayed on a per item basis.
|
||||
add_multitags_button : function(bibarray, tag){
|
||||
var mydata = {CGISESSID: readCookie('CGISESSID')}; // Someday this should be OPACSESSID
|
||||
for (var i = 0; i < bibarray.length; i++) {
|
||||
var mynewtag = "newtag" + bibarray[i];
|
||||
mydata[mynewtag] = tag;
|
||||
}
|
||||
var response; // AJAX from server will assign value to response.
|
||||
$.post(
|
||||
"/cgi-bin/koha/opac-tags.pl",
|
||||
mydata,
|
||||
function(data){
|
||||
eval(data);
|
||||
$(".tagstatus").empty();
|
||||
var bibErrors = false;
|
||||
|
||||
// Display the status for each tagged bib
|
||||
for (var i = 0; i < bibarray.length; i++) {
|
||||
var bib = bibarray[i];
|
||||
var mytagid = "#newtag" + bib;
|
||||
var status = "";
|
||||
|
||||
// Number of tags added.
|
||||
if (response[bib]) {
|
||||
var added = response[bib]["added"];
|
||||
if (added > 0) {
|
||||
status = MSG_TAGS_ADDED + added + ". ";
|
||||
KOHA.Tags.set_tag_status(mytagid + "_status", status);
|
||||
}
|
||||
|
||||
// Show a link that opens an error dialog, if necessary.
|
||||
var errors = response[bib]["errors"];
|
||||
if (errors.length > 0) {
|
||||
bibErrors = true;
|
||||
var errid = "tagerr_" + bib;
|
||||
var errstat = "<a id=\"" + errid + "\" class=\"tagerror\" href=\"#\">";
|
||||
errstat += MSG_TAGS_ERRORS + errors.length + ". ";
|
||||
errstat += "</a>";
|
||||
KOHA.Tags.append_tag_status(mytagid + "_status", errstat);
|
||||
var errmsg = "";
|
||||
for (var e = 0; e < errors.length; e++){
|
||||
if (e) {
|
||||
errmsg += "\n\n";
|
||||
}
|
||||
errmsg += errors[e];
|
||||
}
|
||||
$("#" + errid).click(function(){
|
||||
alert(errmsg);
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (bibErrors || response["global_errors"]) {
|
||||
var msg = "";
|
||||
if (bibErrors) {
|
||||
msg = MSG_MULTI_ADD_TAG_FAILED;
|
||||
}
|
||||
|
||||
// Show global errors in a dialog.
|
||||
if (response["global_errors"]) {
|
||||
var global_errors = response["global_errors"];
|
||||
var msg;
|
||||
for (var e = 0; e < global_errors.length; e++) {
|
||||
msg += "\n\n";
|
||||
msg += response.alerts[global_errors[e]];
|
||||
}
|
||||
}
|
||||
alert(msg);
|
||||
}
|
||||
},
|
||||
'script'
|
||||
);
|
||||
return false;
|
||||
}
|
||||
};
|
BIN
koha-tmpl/opac-tmpl/ccsr/images/Star0.gif
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/images/Star1.gif
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/images/Star2.gif
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/images/Star3.gif
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/images/Star4.gif
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/images/Star5.gif
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/images/asc.gif
Normal file
After Width: | Height: | Size: 250 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/ascdesc.gif
Normal file
After Width: | Height: | Size: 264 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/bonus.png
Normal file
After Width: | Height: | Size: 1.7 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/images/browse-next.gif
Normal file
After Width: | Height: | Size: 186 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/browse-prev.gif
Normal file
After Width: | Height: | Size: 189 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/caret.gif
Normal file
After Width: | Height: | Size: 63 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/datatables/back_disabled.jpg
Normal file
After Width: | Height: | Size: 612 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/datatables/back_enabled.jpg
Normal file
After Width: | Height: | Size: 807 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/datatables/forward_disabled.jpg
Normal file
After Width: | Height: | Size: 635 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/datatables/forward_enabled.jpg
Normal file
After Width: | Height: | Size: 852 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/datatables/sort_asc.png
Normal file
After Width: | Height: | Size: 263 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/datatables/sort_asc_disabled.png
Normal file
After Width: | Height: | Size: 252 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/datatables/sort_both.png
Normal file
After Width: | Height: | Size: 282 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/datatables/sort_desc.png
Normal file
After Width: | Height: | Size: 260 B |
After Width: | Height: | Size: 251 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/delete.gif
Executable file
After Width: | Height: | Size: 752 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/desc.gif
Normal file
After Width: | Height: | Size: 61 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/feed-icon-16x16.png
Normal file
After Width: | Height: | Size: 764 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/filefind.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/images/item-bullet.gif
Normal file
After Width: | Height: | Size: 59 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/koha-logo.gif
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/images/loading.gif
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/images/socnet/delicious16.gif
Normal file
After Width: | Height: | Size: 89 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/socnet/facebook16.png
Normal file
After Width: | Height: | Size: 727 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/socnet/linkedin16.png
Normal file
After Width: | Height: | Size: 751 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/socnet/mailto16.png
Normal file
After Width: | Height: | Size: 792 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/socnet/twitter16.png
Normal file
After Width: | Height: | Size: 780 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/sprite.png
Normal file
After Width: | Height: | Size: 7.3 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/images/star-ratings-empty.gif
Normal file
After Width: | Height: | Size: 187 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/star-ratings.gif
Normal file
After Width: | Height: | Size: 295 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/star.gif
Normal file
After Width: | Height: | Size: 815 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/tag-small-disabled.png
Normal file
After Width: | Height: | Size: 317 B |
BIN
koha-tmpl/opac-tmpl/ccsr/images/tag-small.png
Normal file
After Width: | Height: | Size: 347 B |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/AV.gif
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/AV.jpg
Normal file
After Width: | Height: | Size: 4.4 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/DVD.gif
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/DVDreserve.gif
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/ILL.gif
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/ILL.jpg
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivalCD.gif
Normal file
After Width: | Height: | Size: 3 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivalDVD.gif
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivalVHS.gif
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivalVHS.jpg
Normal file
After Width: | Height: | Size: 4.4 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/archivaltape.gif
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/book.gif
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/cd.gif
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/cdrom.gif
Normal file
After Width: | Height: | Size: 3.2 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/cdromreserve.gif
Normal file
After Width: | Height: | Size: 3.4 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/download.gif
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/ebook.gif
Normal file
After Width: | Height: | Size: 3 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/key.gif
Normal file
After Width: | Height: | Size: 3 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/key.jpg
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/newbook.gif
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/referencebook.gif
Normal file
After Width: | Height: | Size: 3 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/reservebook.gif
Normal file
After Width: | Height: | Size: 3 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/reservecd.gif
Normal file
After Width: | Height: | Size: 3 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/reservetape.gif
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/reservevhs.gif
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/tape.gif
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/Seshat/vhs.gif
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/2d_art.gif
Normal file
After Width: | Height: | Size: 978 B |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/3d_art.gif
Normal file
After Width: | Height: | Size: 988 B |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/7Day_book.gif
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/archive.gif
Normal file
After Width: | Height: | Size: 986 B |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/audio.gif
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/book.gif
Normal file
After Width: | Height: | Size: 1 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/cd_music.gif
Normal file
After Width: | Height: | Size: 883 B |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/computer_file.gif
Normal file
After Width: | Height: | Size: 880 B |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/digital_audio.gif
Normal file
After Width: | Height: | Size: 1 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/dvd.gif
Normal file
After Width: | Height: | Size: 895 B |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/e_book.gif
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/e_journal.gif
Normal file
After Width: | Height: | Size: 898 B |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/e_video.gif
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/journal.gif
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/juvenile_book.gif
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/kit.gif
Normal file
After Width: | Height: | Size: 878 B |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/laserdisk.gif
Normal file
After Width: | Height: | Size: 976 B |
BIN
koha-tmpl/opac-tmpl/ccsr/itemtypeimg/bridge/map.gif
Normal file
After Width: | Height: | Size: 1.3 KiB |