thedesk/app/js/platform/preload.js

173 lines
5.8 KiB
JavaScript
Raw Normal View History

2019-06-15 00:17:16 +10:00
var electron = require("electron");
2019-06-15 02:05:53 +10:00
const shell = electron.shell;
2019-06-15 00:17:16 +10:00
var ipc = electron.ipcRenderer;
onmessage = function (e) {
if (e.data[0] == "openUrl") {
2019-06-15 02:05:53 +10:00
urls = e.data[1].match(/https?:\/\/(.+)/);
if (urls) {
2019-06-15 02:01:07 +10:00
shell.openExternal(e.data[1]);
}
2019-06-15 00:21:08 +10:00
} else if (e.data[0] == "sendSinmpleIpc") {
ipc.send(e.data[1], "")
2019-06-15 01:54:44 +10:00
} else if (e.data[0] == "dialogStore") {
ipc.send("dialogStore", e.data[1])
} else if (e.data[0] == "bmpImage") {
ipc.send('bmp-image', e.data[1]);
2019-06-15 02:15:45 +10:00
} else if (e.data[0] == "dialogCW") {
ipc.send("dialogCW", e.data[1])
} else if (e.data[0] == "nativeNotf") {
2019-06-16 00:07:18 +10:00
console.log(e.data[1])
ipc.send('native-notf', e.data[1]);
} else if (e.data[0] == "dialogClient") {
ipc.send("dialogClient", e.data[1])
2019-06-15 02:32:59 +10:00
} else if (e.data[0] == "generalDL") {
ipc.send('general-dl', e.data[1]);
} else if (e.data[0] == "openFinder") {
ipc.send('open-finder', e.data[1]);
} else if (e.data[0] == "columnDel") {
ipc.send('column-del', e.data[1]);
2019-06-15 03:01:38 +10:00
} else if (e.data[0] == "lang") {
ipc.send('lang', e.data[1]);
} else if (e.data[0] == "exportSettings") {
ipc.send('exportSettings', e.data[1]);
2019-08-29 02:20:47 +10:00
} else if (e.data[0] == "exportSettingsCoreComplete") {
ipc.send('export', e.data[1]);
2019-06-15 03:01:38 +10:00
} else if (e.data[0] == "importSettings") {
ipc.send('importSettings', e.data[1]);
} else if (e.data[0] == "customSound") {
ipc.send('customSound', e.data[1]);
} else if (e.data[0] == "themeJsonDelete") {
ipc.send('theme-json-delete', e.data[1]);
} else if (e.data[0] == "themeJsonCreate") {
ipc.send('theme-json-create', e.data[1]);
} else if (e.data[0] == "themeJsonRequest") {
ipc.send('theme-json-request', e.data[1]);
2019-06-15 03:01:38 +10:00
} else if (e.data[0] == "ha") {
2019-06-16 02:08:10 +10:00
ipc.send('ha', e.data[1]);
} else if (e.data[0] == "aboutData") {
ipc.send('aboutData', "");
} else if (e.data[0] == "itunes") {
console.log("NowPlaying")
ipc.send("itunes", e.data[1])
2019-06-15 03:23:41 +10:00
} else if (e.data[0] == "themeCSSRequest") {
ipc.send('theme-css-request', e.data[1]);
2019-08-31 01:10:01 +10:00
} else if (e.data[0] == "customCSSRequest") {
ipc.send('custom-css-request', e.data[1]);
2019-06-15 03:23:41 +10:00
} else if (e.data[0] == "downloadButton") {
ipc.send('download-btn', e.data[1]);
2019-06-26 00:26:15 +10:00
} else if (e.data[0] == "nano") {
ipc.send('nano', null);
2019-06-15 00:17:16 +10:00
}
}
//version.js
2019-06-15 00:25:27 +10:00
ipc.send("getPlatform", "")
2019-06-16 00:07:18 +10:00
ipc.on('platform', function (event, args) {
localStorage.setItem("platform", args[0])
localStorage.setItem("bit", args[1])
2019-08-26 01:09:01 +10:00
localStorage.setItem("about", JSON.stringify([args[2], args[3], args[4], args[5]]))
2019-06-15 00:25:27 +10:00
})
2019-06-15 00:17:16 +10:00
ipc.on('reload', function (event, arg) {
location.reload();
})
//Native Notf
ipc.on('shownotf', function (event, args) {
if (args["type"] == "toot") {
2019-06-16 00:07:18 +10:00
postMessage(["details", [id, acct_id]], "*")
2019-06-15 00:17:16 +10:00
} else if (args["type"] == "userdata") {
2019-06-16 00:07:18 +10:00
postMessage(["udg", [user, acct_id]], "*")
2019-06-15 00:17:16 +10:00
}
})
2019-06-26 00:26:15 +10:00
//first.js
ipc.on('custom-css-response', function (event, arg) {
2019-06-15 02:15:45 +10:00
if (arg == "") { return false; }
var styleNode = document.createElement("style");
styleNode.setAttribute("type", "text/css")
2019-06-15 02:15:45 +10:00
var content = document.createTextNode(arg)
styleNode.append(content)
document.getElementsByTagName("head")[0].append(styleNode)
})
ipc.on('theme-css-response', function (event, arg) {
2019-06-15 02:15:45 +10:00
if (arg == "") { return false; }
var styleNode = document.createElement("style");
styleNode.setAttribute("type", "text/css")
2019-06-15 02:15:45 +10:00
var content = document.createTextNode(arg)
styleNode.append(content)
document.getElementsByTagName("head")[0].append(styleNode)
})
//img.js
ipc.on('bmp-img-comp', function (event, b64) {
2019-06-16 00:07:18 +10:00
postMessage(["media", [b64[0], "image/png", b64[1]]], "*")
2019-06-15 02:15:45 +10:00
});
2019-06-15 02:32:59 +10:00
//ui,img.js
ipc.on('general-dl-prog', function (event, arg) {
console.log("Progress: " + arg);
})
ipc.on('general-dl-message', function (event, arg) {
var argC = arg.replace(/\\/g, "\\\\") + "\\\\.";
2019-06-16 00:07:18 +10:00
console.log("saved")
postMessage(["toastSaved", [arg, argC]], "*")
2019-06-15 02:32:59 +10:00
})
2019-06-15 03:01:38 +10:00
//setting.js
ipc.on('langres', function (event, arg) {
2019-08-07 10:24:52 +10:00
location.href = "../" + arg + "/setting.html"
2019-06-15 03:01:38 +10:00
});
2019-08-29 02:20:47 +10:00
ipc.on('exportSettingsFile', function (event, arg) {
postMessage(["exportSettingsCore", arg], "*")
2019-06-15 03:01:38 +10:00
});
2019-08-29 02:33:06 +10:00
ipc.on('exportAllComplete', function (event, arg) {
postMessage(["alert", "Complete"], "*")
});
2019-06-15 03:01:38 +10:00
ipc.on('config', function (event, arg) {
2019-06-16 00:07:18 +10:00
postMessage(["importSettingsCore", arg], "*")
2019-06-15 03:01:38 +10:00
});
ipc.on('savefolder', function (event, arg) {
localStorage.setItem("savefolder", arg);
});
ipc.on('font-list', function (event, arg) {
2019-06-16 00:07:18 +10:00
postMessage(["fontList", arg], "*")
2019-06-15 03:01:38 +10:00
});
ipc.on('customSoundRender', function (event, args) {
2019-06-16 00:07:18 +10:00
postMessage(["customSoundSave", [args[0], args[1]]], "*")
2019-06-15 03:01:38 +10:00
});
ipc.on('theme-json-list-response', function (event, args) {
2019-06-16 00:07:18 +10:00
postMessage(["ctLoadCore", args], "*")
2019-06-15 03:01:38 +10:00
});
ipc.on('theme-json-delete-complete', function (event, args) {
2019-06-16 00:07:18 +10:00
postMessage(["ctLoad", ""], "*")
2019-06-15 03:01:38 +10:00
});
ipc.on('theme-json-response', function (event, args) {
2019-06-16 00:07:18 +10:00
postMessage(["customConnect", args], "*")
2019-06-15 03:01:38 +10:00
});
ipc.on('theme-json-create-complete', function (event, args) {
2019-06-16 00:07:18 +10:00
postMessage(["clearCustomImport", ""], "*")
postMessage(["ctLoad", ""], "*")
2019-06-15 03:01:38 +10:00
});
//spotify.js
ipc.on('itunes-np', function (event, arg) {
2019-06-16 00:07:18 +10:00
postMessage(["npCore", arg], "*")
})
//tips.js
ipc.on('memory', function (event, arg) {
var use = arg[0];
var cpu = arg[1];
var total = arg[2]
2019-06-16 00:07:18 +10:00
postMessage(["renderMem", [use, cpu, total]], "*")
})
2019-06-15 03:23:41 +10:00
//update.html
ipc.on('prog', function (event, arg) {
2019-06-16 00:07:18 +10:00
postMessage(["updateProg", arg], "*")
2019-06-15 03:23:41 +10:00
})
ipc.on('mess', function (event, arg) {
2019-06-16 00:07:18 +10:00
postMessage(["updateMess", arg], "*")
2019-06-15 03:23:41 +10:00
})
2019-06-15 00:17:16 +10:00
var webviewDom = document.getElementById('webview');
2019-06-16 00:07:18 +10:00
if (webviewDom) {
webviewDom.addEventListener('new-window', function (e) {
shell.openExternal(e.url);
});
}