mirror of
https://github.com/laurent22/joplin.git
synced 2024-12-27 10:32:58 +02:00
51 lines
1.3 KiB
JavaScript
51 lines
1.3 KiB
JavaScript
const { _ } = require('lib/locale');
|
|
const { bridge } = require('electron').remote.require('./bridge');
|
|
const InteropService = require('lib/services/InteropService');
|
|
|
|
class InteropServiceHelper {
|
|
|
|
static async export(dispatch, module, options = null) {
|
|
if (!options) options = {};
|
|
|
|
let path = null;
|
|
|
|
if (module.target === 'file') {
|
|
path = bridge().showSaveDialog({
|
|
filters: [{ name: module.description, extensions: module.fileExtensions}]
|
|
});
|
|
} else {
|
|
path = bridge().showOpenDialog({
|
|
properties: ['openDirectory', 'createDirectory'],
|
|
});
|
|
}
|
|
|
|
if (!path || (Array.isArray(path) && !path.length)) return;
|
|
|
|
if (Array.isArray(path)) path = path[0];
|
|
|
|
dispatch({
|
|
type: 'WINDOW_COMMAND',
|
|
name: 'showModalMessage',
|
|
message: _('Exporting to "%s" as "%s" format. Please wait...', path, module.format),
|
|
});
|
|
|
|
const exportOptions = {};
|
|
exportOptions.path = path;
|
|
exportOptions.format = module.format;
|
|
if (options.sourceFolderIds) exportOptions.sourceFolderIds = options.sourceFolderIds;
|
|
if (options.sourceNoteIds) exportOptions.sourceNoteIds = options.sourceNoteIds;
|
|
|
|
const service = new InteropService();
|
|
const result = await service.export(exportOptions);
|
|
|
|
console.info('Export result: ', result);
|
|
|
|
dispatch({
|
|
type: 'WINDOW_COMMAND',
|
|
name: 'hideModalMessage',
|
|
});
|
|
}
|
|
|
|
}
|
|
|
|
module.exports = InteropServiceHelper; |