[27/40] Fixing up the labels batches toolbar functionality.
[koha.git] / koha-tmpl / intranet-tmpl / prog / en / includes / labels-batches-toolbar.inc
1 <div id="toolbar">
2     <script type="text/JavaScript">
3         //<![CDATA[
4             function Remove() {
5                 items = new Array;
6                 item_num = new Array;
7                 if(document.items.action.length > 0) {
8                     for (var i=0; i < document.items.action.length; i++) {
9                         if (document.items.action[i].checked) {
10                             items.push("label_id=" +  document.items.action[i].value);
11                             item_num.push(i+1);
12                         }
13                     }
14                     if (items.length < 1) {
15                         alert("Please select at least one item to delete.");
16                         return;     // no item selected
17                     }
18                     getstr = items.join("&");
19                     item_msg = item_num.join(", ");
20                     var msg = "Are you sure you want to remove label number(s): " + item_msg + " from this batch?"
21                 }
22 //                else if (document.items.action.checked) {
23 //                    getstr = "label_id="+document.items.action.value;
24 //                    var msg = "Are you sure you want to remove selected item from this batch?"
25 //                }
26                 else {
27                     alert("Please select at least label to delete.");
28                     return;     // no item selected
29                 }
30                 var answer = confirm(msg);
31                 if (answer) {
32                     window.location = "/cgi-bin/koha/labels/label-edit-batch.pl?op=remove&amp;batch_id=<!-- TMPL_VAR NAME="batch_id" -->&amp;" + getstr;
33                 }
34                 else {
35                     return; // abort delete
36                 }
37             };
38             function Add() {
39                 window.open("/cgi-bin/koha/labels/label-item-search.pl?batch_id=<!-- TMPL_VAR NAME="batch_id" -->&amp;type=labels",'FindABibIndex','width=875,height=400,toolbar=no,scrollbars=yes');
40             };
41             function DeDuplicate() {
42                 window.location = "/cgi-bin/koha/labels/label-edit-batch.pl?op=de_duplicate&amp;batch_id=<!-- TMPL_VAR NAME="batch_id" -->";
43             };
44             function Xport(mode) {
45                 if (mode == 'label') {
46                     labels= new Array;
47                     if(document.items.action.length > 0) {
48                         for (var i=0; i < document.items.action.length; i++) {
49                             if (document.items.action[i].checked) {
50                                 labels.push("label_id=" +  document.items.action[i].value);
51                             }
52                         }
53                         if (labels.length < 1) {
54                             alert("Please select at least one label to export.");
55                             return;     // no batch selected
56                         }
57                         getstr = labels.join("&");
58                     }
59                     else if (document.items.action.checked) {
60                         getstr = document.items.action.value;
61                     }
62                     else {
63                         alert("Please select at least one label to export.");
64                         return;     // no batch selected
65                     }
66                     return GB_showCenter('Export Labels', "/cgi-bin/koha/labels/label-print.pl?batch_id=<!-- TMPL_VAR NAME="batch_id" -->&" + getstr, 700, 800);
67                 }
68                 else if (mode == 'batch') {
69                     return GB_showCenter('Export Labels', "/cgi-bin/koha/labels/label-print.pl?batch_id=<!-- TMPL_VAR NAME="batch_id" -->", 700, 800);
70                 }
71                 else {
72                     // some pass-thru error trapping just in case...
73                 }
74             };
75            function selected_layout() {
76                 if (document.items.action.length) {
77                 for (i=0;i<document.items.action.length;i++){
78                     if (document.items.action[i].checked==true){
79                         return(document.items.action[i].value);
80                     }
81                 };
82                 }
83                 else {
84                     if (document.items.action.checked){
85                         return(document.items.action.value);
86                     }
87                 };
88                 alert("Please select at least one item.");
89                 return (-1);
90             };
91
92         // prepare DOM for YUI Toolbar
93          $(document).ready(function() {
94             $("#additemsc").empty();
95             $("#removeitemsc").empty();
96             $("#deduplicatec").empty();
97             $("#exportitemsc").empty();
98             $("#exportbatchc").empty();
99             yuiToolbar();
100          });
101         // YUI Toolbar Functions
102         function yuiToolbar() {
103             new YAHOO.widget.Button({
104                 id: "additems", 
105                 type: "link", 
106                 href: "#",
107                 label: _("Add Item(s)"), 
108                 container: "additemsc",
109                 onclick: {fn:function(){Add()}}
110             });
111
112             new YAHOO.widget.Button({
113                 id: "removeitems", 
114                 type: "link", 
115                 href: "#",
116                 label: _("Remove Item(s)"), 
117                 container: "removeitemsc",
118                 onclick: {fn:function(){Remove()}}
119             });
120
121             new YAHOO.widget.Button({
122                 id: "deduplicate", 
123                 type: "link", 
124                 href: "#",
125                 label: _("Remove Duplicates"), 
126                 container: "deduplicatec",
127                 onclick: {fn:function(){DeDuplicate()}}
128             });
129
130             new YAHOO.widget.Button({
131                 id: "exportitems", 
132                 type: "link", 
133                 href: "#",
134                 label: _("Export Item(s)"), 
135                 container: "exportitemsc",
136                 onclick: {fn:function(){Xport('label')}}
137             });
138
139             new YAHOO.widget.Button({
140                 id: "exportbatch", 
141                 type: "link", 
142                 href: "#",
143                 label: _("Export Batch"), 
144                 container: "exportbatchc",
145                 onclick: {fn:function(){Xport('batch')}}
146             });
147             new YAHOO.widget.Button("deletebatch");
148         }
149         //]]>
150     </script>
151     <ul class="toolbar">
152         <li id="additemsc"><a id="additems" href="#">Add Item(s)</a></li>
153         <li id="removeitemsc"><a id="removeitems" href="#">Remove Item(s)</a></li>
154         <li><a id="deletebatch" href="/cgi-bin/koha/labels/label-manage.pl?op=delete&amp;label_element=batch&amp;element_id=<!-- TMPL_VAR NAME="batch_id" -->">Delete Batch</a></li>
155                                 <!-- FIXME: should use POST to change server state, not GET -->
156         <li id="deduplicatec"><a id="deduplicate" href="#">Remove Duplicates</a></li>
157         <li id="exportitemsc"><a id="exportitems" href="#">Export Item(s)</a></li>
158         <li id="exportbatchc"><a id="exportbatch" href="#">Export Batch</a></li>
159     </ul>
160 </div>