more refactoring.. putting all the list CSV functions into list.js
authorphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sat, 15 Mar 2008 06:52:12 +0000 (06:52 +0000)
committerphasefx <phasefx@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Sat, 15 Mar 2008 06:52:12 +0000 (06:52 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@9045 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/xul/staff_client/chrome/content/util/list.js

index fbe0dd5..d148bba 100644 (file)
@@ -1073,13 +1073,50 @@ util.list.prototype = {
 
     'dump_csv_to_clipboard' : function(params) {
         var obj = this;
-        if (params && params.no_full_retrieve) {
+        if (typeof params == 'undefined') params = {};
+        if (params.no_full_retrieve) {
             copy_to_clipboard( obj.dump_csv( params ) );
         } else {
             obj.wrap_in_full_retrieve( function() { copy_to_clipboard( obj.dump_csv( params ) ); } );
         }
     },
 
+    'dump_csv_to_printer' : function(params) {
+        var obj = this;
+        JSAN.use('util.print'); var print = new util.print();
+        if (typeof params == 'undefined') params = {};
+        if (params.no_full_retrieve) {
+            print.simple( obj.dump_csv( params ), {'content_type':'text/plain'} );
+        } else {
+            obj.wrap_in_full_retrieve( 
+                function() { 
+                    print.simple( obj.dump_csv( params ), {'content_type':'text/plain'} );
+                }
+            );
+        }
+    },
+
+    'dump_csv_to_file' : function(params) {
+        var obj = this;
+        JSAN.use('util.file'); var f = new util.file();
+        if (typeof params == 'undefined') params = {};
+        if (params.no_full_retrieve) {
+            params.data = obj.dump_csv( params );
+            params.not_json = true;
+            if (!params.title) params.title = 'Save List CSV As';
+            f.export_file( params );
+        } else {
+            obj.wrap_in_full_retrieve( 
+                function() { 
+                    params.data = obj.dump_csv( params );
+                    params.not_json = true;
+                    if (!params.title) params.title = 'Save List CSV As';
+                    f.export_file( params );
+                }
+            );
+        }
+    },
+
     'print' : function(params) {
         if (!params) params = {};
                switch(this.node.nodeName) {