You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

220 lines
7.4 KiB
JavaScript

/*
* Copyright 2020 Netsyms Technologies.
* 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 routes = [
{
path: "/",
name: "home",
async: function (routeTo, routeFrom, resolve, reject) {
resolve({
templateUrl: "pages/home.html",
}, {
context: {
machinehistory: getMachineSearchHistory().reverse(),
mainscreenmessage: SETTINGS.mainscreenmessage
}
});
}
},
{
path: "/machine/:id",
name: "machine",
async: machineInfoOpenAsync
},
{
path: "/machineeditor",
name: "machineeditor",
async: newMachineEditorOpenAsync
},
{
path: "/machineeditor/:id",
name: "machineeditor",
async: machineEditorOpenAsync
},
{
path: "/clients/:q",
name: "clients",
async: clientSearchAsync
},
{
path: "/client/:clientid",
name: "client",
async: clientGetAsync
},
{
path: "/labels/:machineid",
name: "labels",
async: labelListAsync
},
{
path: "/labels/:machineid/:labeltype/:labelname",
name: "viewlabel",
templateUrl: "pages/viewlabel.html"
},
{
path: "/addevent",
name: "addevent",
templateUrl: "pages/addevent.html",
on: {
pageInit: function () {
$(".datetime-textbox").val(formatTimestamp("Y-m-d g:i A"));
app.calendar.create({
inputEl: '.datetime-textbox',
timePicker: true,
dateFormat: "yyyy-mm-dd h::mm A",
});
}
}
},
{
path: "/login",
name: "login",
url: "pages/login.html"
},
{
path: '/settings',
name: 'settings',
async: function (routeTo, routeFrom, resolve, reject) {
var settings = [];
if (getStorage("username") != null && getStorage("password") != null) {
settings.push(
{
setting: "account",
title: "Account",
text: "Logged in as " + getStorage("username")
},
{
setting: "logout",
title: "",
text: "Log out",
link: true,
onclick: "logout()"
}
);
} else {
settings.push(
{
setting: "login",
title: "Log In",
text: "Sign up or log in.",
onclick: "router.navigate('/login')",
link: true
}
);
}
settings.push(
{
setting: "display",
title: "Display and Appearance",
text: "Change the app theme.",
onclick: "router.navigate('/settings/display')",
link: true
},
{
setting: "printserverurl",
title: "Print Server",
text: getStorage("printserverurl"),
onclick: "openPrintServerDialog()",
link: true
}
);
settings.push(
{
setting: "versions",
title: "MachineManager app v" + app_version,
text: "Copyright © 2020 Netsyms Technologies. Licensed under the Mozilla Public License 2.0.",
onclick: ""
},
{
setting: "opensource",
title: "Credits and open source info",
text: "",
onclick: "router.navigate('/credits')",
link: true
},
{
setting: "privacy",
title: "Privacy policy and legal",
text: "",
onclick: "openBrowser('https://netsyms.com/legal?pk_campaign=TemplateApp')",
link: true
});
resolve({
templateUrl: './pages/settings.html'
}, {
context: {
page_title: "Settings",
settings: settings
}
});
},
routes: [
{
path: '/display',
name: 'settings',
async: function (routeTo, routeFrom, resolve, reject) {
var settings = [
{
setting: "apptheme",
title: "Color theme",
select: true,
options: [
{
value: "auto",
label: "Auto",
selected: getStorage("apptheme") == null || getStorage("apptheme") == "auto"
},
{
value: "dark",
label: "Dark",
selected: getStorage("apptheme") == "dark"
},
{
value: "light",
label: "Light",
selected: getStorage("apptheme") == "light"
}
]
},
{
setting: "animation",
title: "Animations",
select: true,
options: [
{
value: "auto",
label: "On",
selected: getStorage("animation") == null || getStorage("animation") == "auto" || getStorage("animation") == "on"
},
{
value: "off",
label: "Off",
selected: getStorage("animation") == "off"
}
]
}
];
resolve({
templateUrl: './pages/settings.html'
}, {
context: {
page_title: "Display Settings",
settings: settings
}
});
}
}
]
},
{
path: '/credits',
url: './pages/credits.html',
name: 'credits'
}
];