[Import/Export] Adds Import and Export functionality

Added context actions for importing and exporting JSON representations of domain objects. Added FileInputService for triggering file picker and retrieving uploaded data. Also added a File Input form control for integration with MCTForms.
This commit is contained in:
Preston Crowe
2017-07-11 14:45:26 -07:00
parent 586901aee7
commit 3674808a13
14 changed files with 1323 additions and 2 deletions

View File

@@ -65,6 +65,20 @@ define(['csv'], function (CSV) {
this.saveAs(blob, filename);
};
/**
* Export an object as a JSON file. Triggers a download using the function
* provided when the ExportService was instantiated.
*
* @param {Object} obj an object to be exported as JSON
* @param {ExportOptions} [options] additional parameters for the file
* export
*/
ExportService.prototype.exportJSON = function (obj, options) {
var filename = (options && options.filename) || "test-export.json";
var jsonText = JSON.stringify(obj);
var blob = new Blob([jsonText], {type: "application/json"});
this.saveAs(blob, filename);
};
/**
* Additional parameters for file export.
* @typedef ExportOptions