/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ var platform_type = ""; var nw_tray = null; var app_version = "unknown"; var openBrowser = function (url) { window.open(url); } var setTrayMenu = function (items) { } var removeTrayMenu = function () { } var setAppTheme = function () { if (localStorage.getItem("darktheme") == "true") { $("#app").addClass("theme-dark"); } else { $("#app").removeClass("theme-dark"); } } function initCordova() { platform_type = "cordova"; try { eval('"use strict"; class foo {}'); } catch (e) { alert("Your device's webview is out of date and won't work with this app. Please update it."); } // Handle back button to close things document.addEventListener("backbutton", function (event) { router.navigate("/home"); }, false); document.addEventListener("deviceready", function () { }, false); openBrowser = function (url) { cordova.InAppBrowser.open(url, '_blank', 'location=yes'); } setAppTheme = function () { if (localStorage.getItem("darktheme") == "true") { $("#app").addClass("theme-dark"); if (cordova.platformId == 'android') { StatusBar.styleBlackOpaque(); StatusBar.backgroundColorByHexString("#000000"); } } else { $("#app").removeClass("theme-dark"); if (cordova.platformId == 'android') { StatusBar.styleDefault(); StatusBar.backgroundColorByHexString("#E0E0E0"); } } } } function initNW() { platform_type = "nw"; openBrowser = function (url) { nw.Window.open(url, { id: url }, function (browserwin) { // Add menubar so the user can navigate around if they click a link var browsermenu = new nw.Menu({type: 'menubar'}); browsermenu.append(new nw.MenuItem({ label: "Back", click: function () { browserwin.window.history.back(); } })); browsermenu.append(new nw.MenuItem({ label: "Forward", click: function () { browserwin.window.history.forward(); } })); browsermenu.append(new nw.MenuItem({ label: "Home", click: function () { browserwin.window.location.href = url; } })); browserwin.menu = browsermenu; }); } nw_tray = new nw.Tray({ title: 'NotePost', icon: 'www/img/logo_64.png' }); removeTrayMenu = function () { nw_tray.remove(); nw_tray = null; } setTrayMenu = function (items) { var menu = new nw.Menu(); menu.append(new nw.MenuItem({ type: 'normal', label: 'Open NotePost', click: function () { nw.Window.get().show(); } })); menu.append(new nw.MenuItem({ type: 'normal', label: 'New Note', click: function () { router.navigate("/editnote"); nw.Window.get().show(); } })); menu.append(new nw.MenuItem({ type: 'separator' })); if (items.length > 0) { for (i in items) { //console.log(items[i]); var label_max = 50; var label = items[i].title; if (label.length > label_max) { label = label.substring(0, label_max) + "..."; } menu.append(new nw.MenuItem({ type: 'normal', label: label, click: function (id) { return function () { editNote(id); nw.Window.get().show(); } }(items[i].id) })); ; } menu.append(new nw.MenuItem({ type: 'separator' })); } menu.append(new nw.MenuItem({ type: 'normal', label: 'Exit NotePost', click: function () { nw.App.quit(); } })); nw_tray.menu = menu; } nw.Window.get().on('minimize', function () { nw.Window.get().hide(); }); nw_tray.on('click', function () { nw.Window.get().show(); }); setTrayMenu([]); } function initPlatform() { $.getJSON("package.json", function (data) { app_version = data.version; }); if (typeof cordova !== 'undefined') { initCordova(); } else if (typeof nw !== 'undefined') { initNW(); } }