123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- const path = require('path');
- const window = require('../../../helper/window');
- const file = require('../../../helper/file');
- const dialog = require('./dialog');
- const menu = {};
- menu.new = function() {
- window.new(path.join(__dirname, '../../renderer/page/edit/edit.html'), 800, 575);
- };
- menu.import = function() {
- // Select file on user computer
- const filter = [
- {name: 'JSON', extensions: ['json']},
- {name: 'Markdown', extensions: ['md']}
- ];
- dialog.fileSelector(true, false, filter, (canceled, filepath) => {
- // If the user select one file
- if (canceled) {
- return;
- }
- // Read informations
- const ext = file.getExtension(filepath).toLowerCase();
- const content = file.read(filepath);
- let data = {};
- if (ext === 'md') {
- const title = path.basename(filepath);
- // Create data from markdown file
- data.id = '_' + Math.random().toString(36).substr(2, 9);
- data.title = title.substring(0, title.length - 3);
- data.content = content;
- } else {
- data = JSON.parse(content);
- // Check if JSON structure is good
- if (data.id === undefined || data.title === undefined || data.content === undefined) {
- // Error data is invalid
- dialog.error('Données invalides', 'Les données dans le fichier JSON sont invalides. Les données ne peuvent pas être importées');
- }
- }
- // Send informations to main window
- mainWindow.webContents.send('import-card', data);
- });
- }
- menu.devTool = function (item, focusedWindow) {
- if (focusedWindow) {
- focusedWindow.toggleDevTools()
- }
- }
- module.exports = menu;
|