Style inject

This commit is contained in:
Jiiks 2019-02-25 12:41:22 +02:00
parent 20561e2938
commit d02f894d4a
3 changed files with 29 additions and 1 deletions

View File

@ -9,6 +9,7 @@
*/ */
import Module from './imodule'; import Module from './imodule';
import { DOM } from 'ui';
export default new class extends Module { export default new class extends Module {
@ -30,6 +31,11 @@ export default new class extends Module {
e.reply({ err: err.stack || err }); e.reply({ err: err.stack || err });
} }
}); });
ipc.on('editor-injectStyle', (e, { id, style }) => {
DOM.injectStyle(style, `userstyle-${id}`);
e.reply('ok');
});
} }
/** /**

View File

@ -14,6 +14,7 @@ import { BrowserWindow } from 'electron';
import Module from './modulebase'; import Module from './modulebase';
import { WindowUtils, FileUtils } from './utils'; import { WindowUtils, FileUtils } from './utils';
import BDIpc from './bdipc'; import BDIpc from './bdipc';
import sass from 'node-sass';
export default class Editor extends Module { export default class Editor extends Module {
@ -68,6 +69,21 @@ export default class Editor extends Module {
console.log(snippet); console.log(snippet);
event.reply('ok'); event.reply('ok');
}); });
BDIpc.on('editor-injectStyle', async (event, { id, style }) => {
sass.render({ data: style }, (err, result) => {
if (err) {
console.log(err);
event.reply({ err });
return;
}
const { css } = result;
(async () => {
await this.sendToDiscord('editor-injectStyle', { id, style: css.toString() });
event.reply('ok');
})();
});
});
} }
resolveMode(fileName) { resolveMode(fileName) {

View File

@ -22,7 +22,8 @@
:newFile="newFile" :newFile="newFile"
:saveFile="saveFile" :saveFile="saveFile"
:newSnippet="newSnippet" :newSnippet="newSnippet"
:saveSnippet="saveSnippet" /> :saveSnippet="saveSnippet"
:injectStyle="injectStyle"/>
</div> </div>
</template> </template>
@ -131,6 +132,11 @@
console.log(result); console.log(result);
}, },
async injectStyle(item) {
const result = await ClientIPC.send('bd-editor-injectStyle', { id: item.name.split('.')[0], style: item.content });
return result;
},
toggleaot() { toggleaot() {
this.alwaysOnTop = !this.alwaysOnTop; this.alwaysOnTop = !this.alwaysOnTop;
remote.getCurrentWindow().setAlwaysOnTop(this.alwaysOnTop); remote.getCurrentWindow().setAlwaysOnTop(this.alwaysOnTop);