morpheus.SaveDatasetTool = function() { }; morpheus.SaveDatasetTool.prototype = { toString : function() { return 'Save Dataset'; }, gui : function() { return [ { name : 'file_name', type : 'text', help : 'GCT 1.3' + ' or GCT 1.2 file name', required : true }, { name : 'file_format', type : 'radio', options : [ { name : 'GCT version 1.2', value : '1.2' }, { name : 'GCT version 1.3', value : '1.3' } ], value : '1.3', required : true } ]; }, execute : function(options) { var project = options.project; var format = options.input.file_format; var fileName = options.input.file_name; var controller = options.controller; var dataset = project.getSortedFilteredDataset(); var text = (format === '1.2') ? new morpheus.GctWriter12() .write(dataset) : new morpheus.GctWriter().write(dataset); var blob = new Blob([ text ], { type : 'text/plain;charset=charset=utf-8' }); if (!morpheus.Util.endsWith(fileName.toLowerCase(), '.gct')) { fileName += '.gct'; } saveAs(blob, fileName, true); } };