]> git.proxmox.com Git - pve-manager.git/blob - www/manager/data/PVEProxy.js
219a620c6d57a1120549f6c10a3fb99670b855c3
[pve-manager.git] / www / manager / data / PVEProxy.js
1 Ext.define('PVE.RestProxy', {
2 extend: 'Ext.data.RestProxy',
3 alias : 'proxy.pve',
4
5 constructor: function(config) {
6 var me = this;
7
8 config = config || {};
9
10 Ext.applyIf(config, {
11 pageParam : null,
12 startParam: null,
13 limitParam: null,
14 groupParam: null,
15 sortParam: null,
16 filterParam: null,
17 noCache : false,
18 reader: {
19 type: 'json',
20 root: config.root || 'data'
21 },
22 afterRequest: function(request, success) {
23 me.fireEvent('afterload', me, request, success);
24 return;
25 }
26 });
27
28 me.callParent([config]);
29 }
30
31 }, function() {
32
33 Ext.define('pve-domains', {
34 extend: "Ext.data.Model",
35 fields: [ 'realm', 'type', 'comment', 'default', 'tfa',
36 {
37 name: 'descr',
38 // Note: We use this in the RealmComboBox.js
39 // (see Bug #125)
40 convert: function(value, record) {
41 var info = record.data;
42 var text;
43
44 if (value) {
45 return value;
46 }
47 // return realm if there is no comment
48 text = info.comment || info.realm;
49
50 if (info.tfa) {
51 text += " (+ " + info.tfa + ")";
52 }
53
54 return text;
55 }
56 }
57 ],
58 proxy: {
59 type: 'pve',
60 url: "/api2/json/access/domains"
61 }
62 });
63
64 Ext.define('KeyValue', {
65 extend: "Ext.data.Model",
66 fields: [ 'key', 'value' ],
67 idProperty: 'key'
68 });
69
70 Ext.define('KeyValuePendingDelete', {
71 extend: "Ext.data.Model",
72 fields: [ 'key', 'value', 'pending', 'delete' ],
73 idProperty: 'key'
74 });
75
76 Ext.define('pve-string-list', {
77 extend: 'Ext.data.Model',
78 fields: [ 'n', 't' ],
79 idProperty: 'n'
80 });
81
82 Ext.define('pve-tasks', {
83 extend: 'Ext.data.Model',
84 fields: [
85 { name: 'starttime', type : 'date', dateFormat: 'timestamp' },
86 { name: 'endtime', type : 'date', dateFormat: 'timestamp' },
87 { name: 'pid', type: 'int' },
88 'node', 'upid', 'user', 'status', 'type', 'id'
89 ],
90 idProperty: 'upid'
91 });
92
93 Ext.define('pve-cluster-log', {
94 extend: 'Ext.data.Model',
95 fields: [
96 { name: 'uid' , type: 'int' },
97 { name: 'time', type : 'date', dateFormat: 'timestamp' },
98 { name: 'pri', type: 'int' },
99 { name: 'pid', type: 'int' },
100 'node', 'user', 'tag', 'msg',
101 {
102 name: 'id',
103 convert: function(value, record) {
104 var info = record.data;
105 var text;
106
107 if (value) {
108 return value;
109 }
110 // compute unique ID
111 return info.uid + ':' + info.node;
112 }
113 }
114 ],
115 idProperty: 'id'
116 });
117 });