]> git.proxmox.com Git - proxmox-widget-toolkit.git/blob - src/node/TimeView.js
dns/time: small refactorings, style
[proxmox-widget-toolkit.git] / src / node / TimeView.js
1 Ext.define('Proxmox.node.TimeView', {
2 extend: 'Proxmox.grid.ObjectGrid',
3 alias: ['widget.proxmoxNodeTimeView'],
4
5 initComponent: function() {
6 let me = this;
7
8 if (!me.nodename) {
9 throw "no node name specified";
10 }
11
12 let tzOffset = new Date().getTimezoneOffset() * 60000;
13 let renderLocaltime = function(value) {
14 let servertime = new Date((value * 1000) + tzOffset);
15 return Ext.Date.format(servertime, 'Y-m-d H:i:s');
16 };
17
18 let run_editor = () => Ext.create('Proxmox.node.TimeEdit', {
19 autoShow: true,
20 nodename: me.nodename,
21 });
22
23 Ext.apply(me, {
24 url: `/api2/json/nodes/${me.nodename}/time`,
25 cwidth1: 150,
26 interval: 1000,
27 run_editor: run_editor,
28 rows: {
29 timezone: {
30 header: gettext('Time zone'),
31 required: true,
32 },
33 localtime: {
34 header: gettext('Server time'),
35 required: true,
36 renderer: renderLocaltime,
37 },
38 },
39 tbar: [
40 {
41 text: gettext("Edit"),
42 handler: run_editor,
43 },
44 ],
45 listeners: {
46 itemdblclick: run_editor,
47 },
48 });
49
50 me.callParent();
51
52 me.on('activate', me.rstore.startUpdate);
53 me.on('deactivate', me.rstore.stopUpdate);
54 me.on('destroy', me.rstore.stopUpdate);
55 },
56 });