]>
Commit | Line | Data |
---|---|---|
23b126b2 DC |
1 | Ext.define('PVE.dc.Guests', { |
2 | extend: 'Ext.panel.Panel', | |
3 | alias: 'widget.pveDcGuests', | |
4 | ||
5 | ||
6 | title: gettext('Guests'), | |
769d716b | 7 | height: 250, |
701acf20 DC |
8 | layout: { |
9 | type: 'table', | |
10 | columns: 2, | |
11 | tableAttrs: { | |
12 | style: { | |
f6710aac TL |
13 | width: '100%', |
14 | }, | |
15 | }, | |
701acf20 | 16 | }, |
23b126b2 DC |
17 | bodyPadding: '0 20 20 20', |
18 | ||
19 | defaults: { | |
23b126b2 DC |
20 | xtype: 'box', |
21 | padding: '0 50 0 50', | |
22 | style: { | |
8058410f | 23 | 'text-align': 'center', |
f6710aac | 24 | }, |
23b126b2 | 25 | }, |
3e32628c TL |
26 | items: [ |
27 | { | |
28 | itemId: 'qemu', | |
29 | data: { | |
30 | running: 0, | |
31 | paused: 0, | |
32 | stopped: 0, | |
33 | template: 0, | |
34 | }, | |
35 | tpl: [ | |
36 | '<h3>' + gettext("Virtual Machines") + '</h3>', | |
23b126b2 | 37 | '<div class="left-aligned">', |
3e32628c TL |
38 | '<i class="good fa fa-fw fa-play-circle"> </i>', |
39 | gettext('Running'), | |
23b126b2 | 40 | '</div>', |
3e32628c TL |
41 | '<div class="right-aligned">{running}</div><br />', |
42 | '<tpl if="paused > 0">', | |
43 | '<div class="left-aligned">', | |
44 | '<i class="warning fa fa-fw fa-pause-circle"> </i>', | |
45 | gettext('Paused'), | |
46 | '</div>', | |
47 | '<div class="right-aligned">{paused}</div><br />', | |
48 | '</tpl>', | |
23b126b2 | 49 | '<div class="left-aligned">', |
3e32628c TL |
50 | '<i class="faded fa fa-fw fa-stop-circle"> </i>', |
51 | gettext('Stopped'), | |
23b126b2 | 52 | '</div>', |
3e32628c TL |
53 | '<div class="right-aligned">{stopped}</div><br />', |
54 | '<tpl if="template > 0">', | |
55 | '<div class="left-aligned">', | |
56 | '<i class="fa fa-fw fa-circle-o"> </i>', | |
57 | gettext('Templates'), | |
58 | '</div>', | |
59 | '<div class="right-aligned">{template}</div>', | |
60 | '</tpl>', | |
61 | ], | |
23b126b2 | 62 | }, |
3e32628c TL |
63 | { |
64 | itemId: 'lxc', | |
65 | data: { | |
66 | running: 0, | |
67 | paused: 0, | |
68 | stopped: 0, | |
69 | template: 0, | |
70 | }, | |
71 | tpl: [ | |
72 | '<h3>' + gettext("LXC Container") + '</h3>', | |
23b126b2 | 73 | '<div class="left-aligned">', |
3e32628c TL |
74 | '<i class="good fa fa-fw fa-play-circle"> </i>', |
75 | gettext('Running'), | |
23b126b2 | 76 | '</div>', |
3e32628c TL |
77 | '<div class="right-aligned">{running}</div><br />', |
78 | '<tpl if="paused > 0">', | |
79 | '<div class="left-aligned">', | |
80 | '<i class="warning fa fa-fw fa-pause-circle"> </i>', | |
81 | gettext('Paused'), | |
82 | '</div>', | |
83 | '<div class="right-aligned">{paused}</div><br />', | |
84 | '</tpl>', | |
23b126b2 | 85 | '<div class="left-aligned">', |
3e32628c TL |
86 | '<i class="faded fa fa-fw fa-stop-circle"> </i>', |
87 | gettext('Stopped'), | |
23b126b2 | 88 | '</div>', |
3e32628c TL |
89 | '<div class="right-aligned">{stopped}</div><br />', |
90 | '<tpl if="template > 0">', | |
91 | '<div class="left-aligned">', | |
92 | '<i class="fa fa-fw fa-circle-o"> </i>', | |
93 | gettext('Templates'), | |
94 | '</div>', | |
95 | '<div class="right-aligned">{template}</div>', | |
96 | '</tpl>', | |
97 | ], | |
23b126b2 | 98 | }, |
3e32628c TL |
99 | { |
100 | itemId: 'error', | |
101 | colspan: 2, | |
102 | data: { | |
103 | num: 0, | |
104 | }, | |
105 | columnWidth: 1, | |
106 | padding: '10 250 0 250', | |
107 | tpl: [ | |
108 | '<tpl if="num > 0">', | |
109 | '<div class="left-aligned">', | |
110 | '<i class="critical fa fa-fw fa-times-circle"> </i>', | |
111 | gettext('Error'), | |
112 | '</div>', | |
113 | '<div class="right-aligned">{num}</div>', | |
114 | '</tpl>', | |
115 | ], | |
116 | }, | |
117 | ], | |
23b126b2 DC |
118 | |
119 | updateValues: function(qemu, lxc, error) { | |
8295f55e | 120 | let me = this; |
23b126b2 DC |
121 | me.getComponent('qemu').update(qemu); |
122 | me.getComponent('lxc').update(lxc); | |
8058410f | 123 | me.getComponent('error').update({ num: error }); |
f6710aac | 124 | }, |
23b126b2 | 125 | }); |