mirror of
https://github.com/Toinane/colorpicker.git
synced 2026-09-27 17:46:07 -04:00
feat(events): add events with ipc
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
const {BrowserWindow} = require('electron');
|
||||
const {BrowserWindow, ipcMain} = require('electron');
|
||||
|
||||
module.exports = (dirname, storage) => {
|
||||
|
||||
@@ -42,6 +42,8 @@ module.exports = (dirname, storage) => {
|
||||
win = undefined;
|
||||
});
|
||||
|
||||
win.webContents.openDevTools();
|
||||
|
||||
windowEvents(win);
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
'use strict';
|
||||
|
||||
const {ipcMain} = require('electron');
|
||||
|
||||
module.exports = storage => {
|
||||
|
||||
ipcMain.on('init-colorpicker', event => {
|
||||
const color = storage.get('lastColor');
|
||||
const posButton = storage.get('buttonsPosition');
|
||||
const typeButton = storage.get('buttonsType');
|
||||
event.sender.send('lastColor', color);
|
||||
event.sender.send('buttonsPosition', posButton);
|
||||
event.sender.send('buttonsType', typeButton);
|
||||
});
|
||||
|
||||
ipcMain.on('changeLastColor', event => {
|
||||
console.log(event);
|
||||
})
|
||||
|
||||
};
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
const {app, Tray, Menu} = require('electron');
|
||||
const storage = require('./storage');
|
||||
const events = require('./events')(storage);
|
||||
const {colorpicker, hexacolor, picker} = require('./browsers')(__dirname, storage);
|
||||
|
||||
console.log(app.getPath('userData'))
|
||||
|
||||
+8
-2
@@ -1,6 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
const electron_storage = require('electron-json-storage');
|
||||
const {dialog} = require('electron');
|
||||
|
||||
let storage, template, defaultStorage;
|
||||
|
||||
@@ -28,7 +29,11 @@ let init = () => (
|
||||
let fetch = () => (
|
||||
new Promise((resolve, reject) => {
|
||||
electron_storage.get('colorpicker', (err, data) => {
|
||||
if (err) throw err;
|
||||
if (err) {
|
||||
dialog.showErrorBox('loading storage file error', err);
|
||||
storage = defaultStorage;
|
||||
resolve(false);
|
||||
}
|
||||
storage = data;
|
||||
resolve(true);
|
||||
});
|
||||
@@ -125,7 +130,8 @@ defaultStorage = {
|
||||
colorpicker: {
|
||||
size: { width: 484, height: 190 },
|
||||
buttonsPosition: template[platform()]['buttonsPosition'],
|
||||
buttonsType: template[platform()]['buttonsType']
|
||||
buttonsType: template[platform()]['buttonsType'],
|
||||
lastColor: '00AEEF'
|
||||
},
|
||||
hexacolor: {},
|
||||
picker: {}
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
<link rel="stylesheet" href="css/colorpicker.css" />
|
||||
<script defer src="js/color.class.js"></script>
|
||||
<script defer src="js/colorpicker.class.js"></script>
|
||||
<script defer src="js/colorpicker.events.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div class="toolbar">
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
'use strict';
|
||||
|
||||
const {ipcRenderer} = require('electron');
|
||||
|
||||
document.addEventListener('DOMContentLoaded', () => ipcRenderer.send('init-colorpicker'), false);
|
||||
|
||||
ipcRenderer.on('lastColor', (event, color) => {
|
||||
console.log(color);
|
||||
});
|
||||
|
||||
ipcRenderer.on('buttonsPosition', (event, color) => {
|
||||
console.log(color);
|
||||
});
|
||||
|
||||
ipcRenderer.on('buttonsType', (event, color) => {
|
||||
console.log(color);
|
||||
});
|
||||
|
||||
function changeLastColor(color) {
|
||||
ipcRenderer.send('changeLastColor', color);
|
||||
}
|
||||
|
||||
function changebuttonsPosition(pos) {
|
||||
ipcRenderer.send('buttonsPosition', pos);
|
||||
}
|
||||
|
||||
function changebuttonsType(type) {
|
||||
ipcRenderer.send('buttonsType', type);
|
||||
}
|
||||
Reference in New Issue
Block a user