From 7330a0b681c7738f76acb18db4f894a8ff80e08c Mon Sep 17 00:00:00 2001 From: pines Date: Mon, 23 Oct 2006 20:32:00 +0000 Subject: [PATCH] export csv from list to clipboard git-svn-id: svn://svn.open-ils.org/ILS/trunk@6501 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../xul/staff_client/chrome/content/util/list.js | 38 ++++++++++++++++++++++ .../xul/staff_client/server/cat/copy_buckets.js | 16 +++++++++ .../xul/staff_client/server/cat/copy_buckets.xul | 1 + .../server/cat/copy_buckets_overlay.xul | 4 +++ .../xul/staff_client/server/cat/record_buckets.js | 17 ++++++++++ .../xul/staff_client/server/cat/record_buckets.xul | 1 + .../server/cat/record_buckets_overlay.xul | 4 +++ Open-ILS/xul/staff_client/server/cat/z3950.js | 15 +++++++++ Open-ILS/xul/staff_client/server/cat/z3950.xul | 2 ++ Open-ILS/xul/staff_client/server/circ/checkin.js | 16 +++++++++ Open-ILS/xul/staff_client/server/circ/checkin.xul | 1 + .../staff_client/server/circ/checkin_overlay.xul | 4 +++ Open-ILS/xul/staff_client/server/circ/checkout.js | 30 +++++++++++++++++ Open-ILS/xul/staff_client/server/circ/checkout.xul | 1 + .../staff_client/server/circ/checkout_overlay.xul | 8 ++--- .../xul/staff_client/server/circ/copy_status.js | 21 ++++++++++++ .../xul/staff_client/server/circ/copy_status.xul | 1 + .../server/circ/copy_status_overlay.xul | 4 +++ .../xul/staff_client/server/circ/in_house_use.js | 16 +++++++++ .../xul/staff_client/server/circ/in_house_use.xul | 5 +++ Open-ILS/xul/staff_client/server/patron/holds.js | 21 ++++++++++++ Open-ILS/xul/staff_client/server/patron/holds.xul | 1 + .../staff_client/server/patron/holds_overlay.xul | 4 +++ Open-ILS/xul/staff_client/server/patron/items.js | 22 +++++++++++++ Open-ILS/xul/staff_client/server/patron/items.xul | 2 ++ .../staff_client/server/patron/items_overlay.xul | 8 +++++ 26 files changed, 259 insertions(+), 4 deletions(-) diff --git a/Open-ILS/xul/staff_client/chrome/content/util/list.js b/Open-ILS/xul/staff_client/chrome/content/util/list.js index fc2650c26a..815c9de181 100644 --- a/Open-ILS/xul/staff_client/chrome/content/util/list.js +++ b/Open-ILS/xul/staff_client/chrome/content/util/list.js @@ -813,6 +813,44 @@ util.list.prototype = { return dump; }, + 'dump_csv' : function(params) { + var obj = this; + switch(this.node.nodeName) { + case 'tree' : return this._dump_tree_csv(params); break; + default: throw('NYI: Need .dump_csv() for ' + this.node.nodeName); break; + } + + }, + + '_dump_tree_csv' : function(params) { + var obj = this; + var dump = ''; + for (var j = 0; j < obj.columns.length; j++) { + if (obj.columns[j].hidden) { + /* skip */ + } else { + if (dump) dump += ','; + dump += '"' + obj.columns[j].label.replace(/"/g, '""') + '"'; + } + } + dump += '\r\n'; + for (var i = 0; i < this.treechildren.childNodes.length; i++) { + var row = ''; + var treeitem = this.treechildren.childNodes[i]; + var treerow = treeitem.firstChild; + for (var j = 0; j < treerow.childNodes.length; j++) { + if (obj.columns[j].hidden) { + /* skip */ + } else { + if (row) row += ','; + row += '"' + treerow.childNodes[j].getAttribute('label').replace(/"/g, '""') + '"'; + } + } + dump += row + '\r\n'; + } + return dump; + }, + 'dump_selected_with_keys' : function(params) { var obj = this; switch(this.node.nodeName) { diff --git a/Open-ILS/xul/staff_client/server/cat/copy_buckets.js b/Open-ILS/xul/staff_client/server/cat/copy_buckets.js index d850a74430..feab5e8e6f 100644 --- a/Open-ILS/xul/staff_client/server/cat/copy_buckets.js +++ b/Open-ILS/xul/staff_client/server/cat/copy_buckets.js @@ -532,6 +532,22 @@ cat.copy_buckets.prototype = { obj.list2.full_retrieve(); } ], + 'cmd_copy_buckets_export' : [ + ['command'], + function() { + obj.list2.on_all_fleshed = function() { + try { + dump(obj.list2.dump_csv() + '\n'); + copy_to_clipboard(obj.list2.dump_csv()); + setTimeout(function(){obj.list2.on_all_fleshed = null;},0); + } catch(E) { + alert(E); + } + } + obj.list2.full_retrieve(); + } + ], + 'cmd_copy_buckets_reprint' : [ ['command'], function() { diff --git a/Open-ILS/xul/staff_client/server/cat/copy_buckets.xul b/Open-ILS/xul/staff_client/server/cat/copy_buckets.xul index d24e45aa08..8dc6fb9c5e 100644 --- a/Open-ILS/xul/staff_client/server/cat/copy_buckets.xul +++ b/Open-ILS/xul/staff_client/server/cat/copy_buckets.xul @@ -79,6 +79,7 @@ + diff --git a/Open-ILS/xul/staff_client/server/cat/copy_buckets_overlay.xul b/Open-ILS/xul/staff_client/server/cat/copy_buckets_overlay.xul index 64b6c3c5c9..dc8b9fb9c0 100644 --- a/Open-ILS/xul/staff_client/server/cat/copy_buckets_overlay.xul +++ b/Open-ILS/xul/staff_client/server/cat/copy_buckets_overlay.xul @@ -57,6 +57,10 @@