]> git.proxmox.com Git - pmg-gui.git/blob - js/mobile/app.js
node certificate: make parent panel scrollable
[pmg-gui.git] / js / mobile / app.js
1 $$ = Dom7;
2 app = new Framework7({
3 root: '#app',
4 init: false,
5 name: 'Proxmox Mail Gateway',
6 routes: [
7 {
8 path: '/:path/:subpath?',
9 async: function(routeTo, routeFrom, resolve, reject) {
10 if (routeTo.params.path === 'mail') {
11 let mail = new MailView();
12 resolve({
13 template: mail.getTpl(),
14 }, {
15 context: {
16 mailid: routeTo.params.subpath,
17 },
18 });
19 } else {
20 reject();
21 }
22 },
23 },
24 {
25 path: '/mail/:mailid/:action',
26 async: function(routeTo, routeFrom, resolve, reject) {
27 let action = routeTo.params.action;
28 let mailid = routeTo.params.mailid;
29 app.dialog.confirm(
30 `${action}: ${mailid}`,
31 gettext('Confirm'),
32 () => {
33 let loader = app.dialog.preloader();
34 app.request({
35 method: 'POST',
36 url: '/api2/json/quarantine/content/',
37 data: {
38 action: action,
39 id: mailid,
40 },
41 headers: {
42 CSRFPreventionToken: Proxmox.CSRFPreventionToken,
43 },
44 success: (data, status, xhr) => {
45 loader.close();
46 PMG.Utils.showSuccessToast(`Action '${action}' successful`);
47 if (action === 'delete' || action === 'deliver') {
48 app.ptr.refresh();
49 }
50 reject();
51 },
52 error: xhr => {
53 loader.close();
54 PMG.Utils.showError(xhr);
55 reject();
56 },
57 });
58 },
59 () => {
60 reject();
61 },
62 );
63 },
64 },
65 ],
66 });
67
68 let _quarantine_view = new QuarantineView();
69
70 app.init();