}
};
- openils.XUL.contentToFileSaveDialog = function(content, windowTitle) {
+ openils.XUL.contentToFileSaveDialog = function(content, windowTitle, dispositionArgs) {
var api = new openils.XUL.SimpleXPCOM();
api.getPrivilegeManager().enablePrivilege("UniversalXPConnect");
picker.init(
window, windowTitle || "Save File", api.FP.iface.modeSave
);
+
+ if (dispositionArgs) {
+ /**
+ * https://developer.mozilla.org/En/NsIFilePicker
+ * Example:
+ * { defaultString : 'MyExport.csv',
+ defaultExtension : '.csv',
+ filterName : 'CSV',
+ filterExtension : '*.csv',
+ filterAll : true } */
+
+ picker.defaultString = dispositionArgs.defaultString;
+ picker.defaultExtension = dispositionArgs.defaultExtension;
+ if (dispositionArgs.filterName) {
+ picker.appendFilter(
+ dispositionArgs.filterName,
+ dispositionArgs.filterExtension
+ );
+ }
+ if (dispositionArgs.filterAll)
+ picker.appendFilters(picker.filterAll)
+ }
+
var result = picker.show();
if (picker.file &&
(result == api.FP.iface.returnOK ||
break;
case 'csv':
//content = content.replace(/\\t/g,'\t'); // if we really wanted to do .tsv instead
- openils.XUL.contentToFileSaveDialog(content);
+ openils.XUL.contentToFileSaveDialog(content, null, {
+ defaultString : 'VandelayExport.csv',
+ defaultExtension : '.csv',
+ filterName : 'CSV',
+ filterExtension : '*.csv',
+ filterAll : true
+ } );
break;
default:
alert('response = ' + response + '\tcontent:\n' + content);