From 109eb31aa5a32ca57aaec23afedb5c0e1ad4ef61 Mon Sep 17 00:00:00 2001 From: Jiiks Date: Mon, 25 Feb 2019 17:56:56 +0200 Subject: [PATCH] custom css inject and file saved state --- client/src/modules/editor.js | 20 +++++++++++++++++++- core/src/main.js | 5 +++++ editor/src/Editor.vue | 9 +++++++-- 3 files changed, 31 insertions(+), 3 deletions(-) diff --git a/client/src/modules/editor.js b/client/src/modules/editor.js index c4113215..34f9fdf3 100644 --- a/client/src/modules/editor.js +++ b/client/src/modules/editor.js @@ -22,6 +22,20 @@ export default new class extends Module { }; } + initialize() { + super.initialize(); + (async () => { + try { + // TODO this is temporary + const userScss = await this.send('readDataFile', 'user.scss'); + const compiled = await this.send('compileSass', { data: userScss }); + this.injectStyle('customcss', compiled.css.toString()); + } catch (err) { + console.warn('SCSS Compilation error', err); + } + })(); + } + events(ipc) { ipc.on('editor-runScript', (e, script) => { try { @@ -33,11 +47,15 @@ export default new class extends Module { }); ipc.on('editor-injectStyle', (e, { id, style }) => { - DOM.injectStyle(style, `userstyle-${id}`); + this.injectStyle(id, style); e.reply('ok'); }); } + injectStyle(id, style) { + return DOM.injectStyle(style, `userstyle-${id}`); + } + /** * Show editor, flashes if already visible. */ diff --git a/core/src/main.js b/core/src/main.js index b5da0969..a74d3fa4 100644 --- a/core/src/main.js +++ b/core/src/main.js @@ -92,6 +92,11 @@ class Comms { BDIpc.on('bd-keytar-set', (event, { service, account, password }) => keytar.setPassword(service, account, password), true); BDIpc.on('bd-keytar-delete', (event, { service, account }) => keytar.deletePassword(service, account), true); BDIpc.on('bd-keytar-find-credentials', (event, { service }) => keytar.findCredentials(service), true); + + BDIpc.on('bd-readDataFile', async (event, fileName) => { + const rf = await FileUtils.readFile(path.resolve(configProxy().getPath('data'), fileName)); + event.reply(rf); + }); } async send(channel, message) { diff --git a/editor/src/Editor.vue b/editor/src/Editor.vue index 6dd8f359..c4342b29 100644 --- a/editor/src/Editor.vue +++ b/editor/src/Editor.vue @@ -123,8 +123,13 @@ }, async saveFile(file) { - const result = await ClientIPC.send('bd-editor-saveFile', file); - console.log(result); + try { + const result = await ClientIPC.send('bd-editor-saveFile', file); + file.savedContent = file.content; + file.saved = true; + } catch (err) { + console.log(err); + } }, async saveSnippet(snippet) {