cat.record_buckets.prototype = {
+ 'selection_list0' : [],
'selection_list1' : [],
'selection_list2' : [],
'bucket_id_name_map' : {},
return row;
}
+ obj.list0 = new util.list('record_query_list');
+ obj.list0.init(
+ {
+ 'columns' : columns,
+ 'map_row_to_columns' : circ.util.std_map_row_to_columns(),
+ 'retrieve_row' : retrieve_row,
+ 'on_select' : function(ev) {
+ try {
+ JSAN.use('util.functional');
+ var sel = obj.list0.retrieve_selection();
+ obj.controller.view.sel_clip1.setAttribute('disabled', sel.length < 1 ? "true" : "false");
+ obj.selection_list0 = util.functional.map_list(
+ sel,
+ function(o) { return JSON2js(o.getAttribute('retrieve_id')); }
+ );
+ obj.error.sdump('D_TRACE','circ/record_buckets: selection list 0 = ' + js2JSON(obj.selection_list1) );
+ if (obj.selection_list0.length == 0) {
+ obj.controller.view.cmd_add_sel_query_to_pending.setAttribute('disabled','true');
+ } else {
+ obj.controller.view.cmd_add_sel_query_to_pending.setAttribute('disabled','false');
+ }
+ } catch(E) {
+ alert('FIXME: ' + E);
+ }
+ },
+
+ }
+ );
+
obj.list1 = new util.list('pending_records_list');
obj.list1.init(
{
);
obj.error.sdump('D_TRACE','circ/record_buckets: selection list 1 = ' + js2JSON(obj.selection_list1) );
if (obj.selection_list1.length == 0) {
- obj.controller.view.cmd_record_buckets_sel_add.setAttribute('disabled','true');
+ obj.controller.view.cmd_add_sel_pending_to_record_bucket.setAttribute('disabled','true');
} else {
- obj.controller.view.cmd_record_buckets_sel_add.setAttribute('disabled','false');
+ obj.controller.view.cmd_add_sel_pending_to_record_bucket.setAttribute('disabled','false');
}
} catch(E) {
alert('FIXME: ' + E);
obj.error.sdump('D_TRACE','circ/record_buckets: selection list 2 = ' + js2JSON(obj.selection_list2) );
if (obj.selection_list2.length == 0) {
obj.controller.view.cmd_record_buckets_delete_item.setAttribute('disabled','true');
- obj.controller.view.cmd_pending_buckets_to_record_buckets.setAttribute('disabled','true');
+ obj.controller.view.cmd_record_buckets_to_pending_buckets.setAttribute('disabled','true');
} else {
obj.controller.view.cmd_record_buckets_delete_item.setAttribute('disabled','false');
- obj.controller.view.cmd_pending_buckets_to_record_buckets.setAttribute('disabled','false');
+ obj.controller.view.cmd_record_buckets_to_pending_buckets.setAttribute('disabled','false');
}
} catch(E) {
alert('FIXME: ' + E);
['command'],
function() { obj.list1.save_columns(); }
],
+ 'save_columns0' : [
+ ['command'],
+ function() { obj.list0.save_columns(); }
+ ],
'sel_clip2' : [
['command'],
function() { obj.list2.clipboard(); }
['command'],
function() { obj.list1.clipboard(); }
],
+ 'sel_clip0' : [
+ ['command'],
+ function() { obj.list0.clipboard(); }
+ ],
+ 'record_query_input' : [
+ ['render'],
+ function(ev) {
+ ev.addEventListener('keypress',function(ev){
+ if (ev.target.tagName != 'textbox') return;
+ if (ev.keyCode == 13 /* enter */ || ev.keyCode == 77 /* enter on a mac */) setTimeout( function() { obj.submit(); }, 0);
+ },false);
+ }
+ ],
+ 'cmd_submit_query' : [
+ ['command'],
+ function() { obj.submit(); }
+ ],
'record_buckets_menulist_placeholder' : [
['render'],
function(e) {
var items = bucket.items() || [];
obj.list2.clear();
var x = document.getElementById('bucket_item_count');
- var catStrings = document.getElementById('catStrings');
if (x && catStrings) x.setAttribute('value',catStrings.getFormattedString('cat.total_bucket_items_in_bucket',[items.length]));
for (var i = 0; i < items.length; i++) {
var item = obj.prep_record_for_list(
}
],
- 'cmd_record_buckets_add' : [
+ 'cmd_add_all_query_to_pending' : [
+ ['command'],
+ function() {
+ obj.list0.select_all();
+ for (var i = 0; i < obj.selection_list0.length; i++) {
+ var docid = obj.selection_list0[i].docid;
+ try {
+ var item = obj.prep_record_for_list( docid );
+ if (!item) continue;
+ obj.list1.append( item );
+ obj.record_ids.push( docid );
+ } catch(E) {
+ alert( js2JSON(E) );
+ }
+ }
+ }
+ ],
+
+ 'cmd_add_sel_query_to_pending' : [
+ ['command'],
+ function() {
+ for (var i = 0; i < obj.selection_list0.length; i++) {
+ var docid = obj.selection_list0[i].docid;
+ try {
+ var item = obj.prep_record_for_list( docid );
+ if (!item) continue;
+ obj.list1.append( item );
+ obj.record_ids.push( docid );
+ } catch(E) {
+ alert( js2JSON(E) );
+ }
+ }
+ }
+ ],
+
+
+ 'cmd_add_all_pending_to_record_bucket' : [
['command'],
function() {
var bucket_id = obj.controller.view.bucket_menulist.value;
}
}
],
- 'cmd_record_buckets_sel_add' : [
+ 'cmd_add_sel_pending_to_record_bucket' : [
['command'],
function() {
var bucket_id = obj.controller.view.bucket_menulist.value;
}
],
- 'cmd_pending_buckets_to_record_buckets' : [
+ 'cmd_record_buckets_to_pending_buckets' : [
['command'],
function() {
for (var i = 0; i < obj.selection_list2.length; i++) {
}
],
+ 'cmd_record_query_csv_to_clipboard' : [ ['command'], function() { obj.list0.dump_csv_to_clipboard(); } ],
'cmd_pending_buckets_csv_to_clipboard' : [ ['command'], function() { obj.list1.dump_csv_to_clipboard(); } ],
'cmd_record_buckets_csv_to_clipboard' : [ ['command'], function() { obj.list2.dump_csv_to_clipboard(); } ],
+ 'cmd_record_query_csv_to_printer' : [ ['command'], function() { obj.list0.dump_csv_to_printer(); } ],
'cmd_pending_buckets_csv_to_printer' : [ ['command'], function() { obj.list1.dump_csv_to_printer(); } ],
'cmd_record_buckets_csv_printer' : [ ['command'], function() { obj.list2.dump_csv_to_printer(); } ],
+ 'cmd_record_query_csv_to_file' : [ ['command'], function() { obj.list0.dump_csv_to_file( { 'defaultFileName' : 'pending_records.txt' } ); } ],
'cmd_pending_buckets_csv_to_file' : [ ['command'], function() { obj.list1.dump_csv_to_file( { 'defaultFileName' : 'pending_records.txt' } ); } ],
'cmd_record_buckets_csv_file' : [ ['command'], function() { obj.list2.dump_csv_to_file( { 'defaultFileName' : 'bucket_records.txt' } ); } ],
}
},
+ 'submit' : function() {
+ try {
+ var obj = this;
+ obj.list0.clear();
+ var x = document.getElementById('record_query_input');
+ if (x.value == '') return;
+ var y = document.getElementById('query_status');
+ x.disabled = true;
+ if (y) y.value = 'Searching...';
+ obj.network.simple_request(
+ 'FM_BRE_ID_SEARCH_VIA_MULTICLASS_QUERY',
+ [ {}, x.value, 1 ],
+ function(req) {
+ try {
+ var resp = req.getResultObject();
+ if (y) y.value = catStrings.getFormattedString('cat.results_returned',[resp.count]);
+ x.disabled = false;
+ if (resp.count > 0) {
+ JSAN.use('util.exec'); var exec = new util.exec();
+ var funcs = [];
+ for (var i = 0; i < resp.ids.length; i++) {
+ funcs.push(
+ function(b){
+ return function() {
+ obj.list0.append(obj.prep_record_for_list(b));
+ };
+ }(resp.ids[i][0])
+ );
+ }
+ exec.chain( funcs );
+ }
+ obj.controller.view.record_query_input.focus();
+ } catch(E) {
+ obj.error.standard_unexpected_error_alert('submit_query_callback',E);
+ }
+ }
+ );
+ } catch(E) {
+ this.error.standard_unexpected_error_alert('submit_query',E);
+ }
+ },
+
'prep_record_for_list' : function(docid,bucket_item_id) {
var obj = this;
try {
<script type="text/javascript" src="/xul/server/main/JSAN.js"/>
<script>
<![CDATA[
+ var catStrings;
+
function my_init() {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
/* ugly hack so we don't have to upgrade the chrome for quick buckets */
if (typeof xulG == 'undefined') location.href = String(location.href).replace(/record_buckets.xul/,'record_buckets_quick.xul');
+ catStrings = document.getElementById('catStrings');
+
if (typeof JSAN == 'undefined') { throw( "The JSAN library object is missing."); }
JSAN.errorLevel = "die"; // none, warn, or die
JSAN.addRepository('/xul/server/');
<messagecatalog id="catStrings" src="/xul/server/locale/<!--#echo var='locale' -->/cat.properties"/>
<commandset id="record_buckets_cmds">
+ <command id="sel_clip0" disabled="true"/>
<command id="sel_clip1" disabled="true"/>
<command id="sel_clip2" disabled="true"/>
+ <command id="save_columns0" />
<command id="save_columns1" />
<command id="save_columns2" />
+ <command id="cmd_record_query_csv_to_printer" />
+ <command id="cmd_record_query_csv_to_clipboard" />
+ <command id="cmd_record_query_csv_to_file" />
+
<command id="cmd_pending_buckets_csv_to_printer" />
<command id="cmd_pending_buckets_csv_to_clipboard" />
<command id="cmd_pending_buckets_csv_to_file" />
<command id="cmd_record_buckets_refresh" disabled="true"/>
<command id="cmd_record_buckets_delete_item" />
- <command id="cmd_pending_buckets_to_record_buckets" />
+ <command id="cmd_record_buckets_to_pending_buckets" />
<command id="cmd_record_buckets_csv_to_printer" />
<command id="cmd_record_buckets_csv_to_clipboard" />
<command id="cmd_record_buckets_csv_to_file" />
- <command id="cmd_record_buckets_add" />
- <command id="cmd_record_buckets_sel_add" />
+ <command id="cmd_add_all_query_to_pending" />
+ <command id="cmd_add_sel_query_to_pending" />
+
+ <command id="cmd_add_all_pending_to_record_bucket" />
+ <command id="cmd_add_sel_pending_to_record_bucket" />
<command id="cmd_merge_records" disabled="true" />
<command id="cmd_export_records_usmarc" />
<command id="cmd_export_records_bre" />
<command id="cmd_delete_records" disabled="true" />
<command id="cmd_sel_opac" disabled="true" />
+
+ <command id="cmd_submit_query" />
</commandset>
<box id="record_buckets_main" />
</tabs>
<tabpanels flex="1">
<tabpanel id="record_query_panel">
+ <groupbox flex="1">
+ <caption label="Record Query" />
+ <hbox id="record_query_top_ui" />
+ <label id="query_status"/>
+ <tree id="record_query_list" flex="1" enableColumnDrag="true"/>
+ <hbox id="record_query_bottom_ui" />
+ </groupbox>
</tabpanel>
<tabpanel id="pending_records_panel">
<groupbox flex="1">
</tabbox>
</vbox>
+<hbox id="record_query_top_ui">
+ <textbox id="record_query_input" flex="1"/>
+ <button command="cmd_submit_query" label="Submit" accesskey="S"/>
+</hbox>
+
+<hbox id="record_query_bottom_ui">
+ <button id="record_query_list_actions" label="List Actions" type="menu" allowevents="true">
+ <menupopup id="record_query_list_actions_popup">
+ <menuitem command="sel_clip0" label="Copy Field from selected row to Clipboard" disabled="true" />
+ <menuitem command="cmd_record_query_csv_to_printer" label="Print List CSV" />
+ <menuitem command="cmd_record_query_csv_to_clipboard" label="Copy List CSV to Clipboard" accesskey=""/>
+ <menuitem command="cmd_record_query_csv_to_file" label="Save List CSV to File" accesskey=""/>
+ <menuitem command="save_columns0" label="Save List Configuration" />
+ </menupopup>
+ </button>
+ <spacer flex="1"/>
+ <button command="cmd_add_all_query_to_pending" label="Add All to Pending Records" accesskey="" image="/xul/server/skin/media/images/right_arrow.png"/>
+ <button command="cmd_add_sel_query_to_pending" label="Add Selected to Pending Records" accesskey="" image="/xul/server/skin/media/images/right_arrow.png"/>
+</hbox>
+
<hbox id="pending_buckets_bottom_ui">
<button id="pending_buckets_list_actions" label="List Actions" type="menu" allowevents="true">
<menupopup id="pending_buckets_list_actions_popup">
</menupopup>
</button>
<spacer flex="1"/>
- <button command="cmd_record_buckets_add" label="Add All to current Bucket" accesskey="A" image="/xul/server/skin/media/images/right_arrow.png"/>
- <button command="cmd_record_buckets_sel_add" label="Add Selected to current Bucket" accesskey="" image="/xul/server/skin/media/images/right_arrow.png"/>
+ <button command="cmd_add_all_pending_to_record_bucket" label="Add All to current Bucket" accesskey="A" image="/xul/server/skin/media/images/right_arrow.png"/>
+ <button command="cmd_add_sel_pending_to_record_bucket" label="Add Selected to current Bucket" accesskey="" image="/xul/server/skin/media/images/right_arrow.png"/>
</hbox>
<hbox id="record_buckets_top_ui">
<button command="cmd_record_buckets_delete_item" label="Remove Selected from Bucket" disabled="true" image="/xul/server/skin/media/images/icon_delete.gif"/>
- <button command="cmd_pending_buckets_to_record_buckets" label="Add Selected to Pending Records" disabled="true" image="/xul/server/skin/media/images/left_arrow.png"/>
+ <button command="cmd_record_buckets_to_pending_buckets" label="Add Selected to Pending Records" disabled="true" image="/xul/server/skin/media/images/left_arrow.png"/>
</hbox>
<hbox id="info_box" hidden="true" style="font-size: large;">
<spacer flex="1"/>
<hbox style="background: grey">
<vbox><spacer flex="1"/><label value="Batch:" style="font-weight: bold"/><spacer flex="1"/></vbox>
- <button command="cmd_sel_opac" label="Show All in Catalog" accesskey="S"/>
+ <button command="cmd_sel_opac" label="Show All in Catalog" accesskey=""/>
<button command="cmd_delete_records" label="Delete All Records"/>
<button command="cmd_merge_records" label="Merge All Records"/>
<button id="record_buckets_export_records" label="Export All Records" type="menu" allowevents="true" disabled="true">