mirror of
https://github.com/laurent22/joplin.git
synced 2024-12-18 09:35:20 +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.fileExtension]}]
|
||
|
});
|
||
|
} 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;
|