From: pines Date: Mon, 23 Oct 2006 20:32:00 +0000 (+0000) Subject: export csv from list to clipboard X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=7330a0b681c7738f76acb18db4f894a8ff80e08c;p=evergreen%2Fpines.git export csv from list to clipboard git-svn-id: svn://svn.open-ils.org/ILS/trunk@6501 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- 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 @@