use RestProxy from widget toolkit

Split PVE specific models, which where not moved to the general
widget toolkit, in a separate folder: data/models/

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
Thomas Lamprecht 2017-12-11 14:46:51 +01:00 committed by Dominik Csapak
parent 9cb193cf8c
commit 56a353b9e7
46 changed files with 82 additions and 156 deletions

View File

@ -14,8 +14,8 @@ JSSRC= \
lxc/CmdMenu.js \
node/CmdMenu.js \
VNCConsole.js \
data/PVEProxy.js \
data/ResourceStore.js \
data/model/Realm.js \
data/model/RRDModels.js \
form/VLanField.js \
form/Boolean.js \

View File

@ -72,7 +72,7 @@ Ext.define('PVE.node.CephMonList', {
storeid: 'ceph-mon-list' + nodename,
model: 'ceph-mon-list',
proxy: {
type: 'pve',
type: 'proxmox',
url: "/api2/json/nodes/" + nodename + "/ceph/mon"
}
});

View File

@ -42,7 +42,7 @@ Ext.define('PVE.form.CephDiskSelector', {
filterOnLoad: true,
model: 'ceph-disk-list',
proxy: {
type: 'pve',
type: 'proxmox',
url: "/api2/json/nodes/" + nodename + "/ceph/disks",
extraParams: { type: me.diskType }
},

View File

@ -157,7 +157,7 @@ Ext.define('PVE.node.CephPoolList', {
storeid: 'ceph-pool-list' + nodename,
model: 'ceph-pool-list',
proxy: {
type: 'pve',
type: 'proxmox',
url: "/api2/json/nodes/" + nodename + "/ceph/pools"
}
});
@ -257,7 +257,7 @@ Ext.define('PVE.form.CephRuleSelector', {
fields: ['name'],
sorters: 'name',
proxy: {
type: 'pve',
type: 'proxmox',
url: '/api2/json/nodes/' + me.nodename + '/ceph/rules'
}
});

View File

@ -272,7 +272,7 @@ Ext.define('PVE.node.CephStatus', {
storeid: 'ceph-status-' + nodename,
interval: 5000,
proxy: {
type: 'pve',
type: 'proxmox',
url: '/api2/json/nodes/' + nodename + '/ceph/status'
}
});

View File

@ -1,103 +0,0 @@
Ext.define('PVE.RestProxy', {
extend: 'Ext.data.RestProxy',
alias : 'proxy.pve',
pageParam : null,
startParam: null,
limitParam: null,
groupParam: null,
sortParam: null,
filterParam: null,
noCache : false,
afterRequest: function(request, success) {
this.fireEvent('afterload', this, request, success);
return;
},
constructor: function(config) {
Ext.applyIf(config, {
reader: {
type: 'json',
rootProperty: config.root || 'data'
}
});
this.callParent([config]);
}
}, function() {
Ext.define('pve-domains', {
extend: "Ext.data.Model",
fields: [ 'realm', 'type', 'comment', 'default', 'tfa',
{
name: 'descr',
// Note: We use this in the RealmComboBox.js
// (see Bug #125)
convert: function(value, record) {
var info = record.data;
var text;
if (value) {
return value;
}
// return realm if there is no comment
text = info.comment || info.realm;
if (info.tfa) {
text += " (+ " + info.tfa + ")";
}
return Ext.String.htmlEncode(text);
}
}
],
idProperty: 'realm',
proxy: {
type: 'pve',
url: "/api2/json/access/domains"
}
});
Ext.define('KeyValue', {
extend: "Ext.data.Model",
fields: [ 'key', 'value' ],
idProperty: 'key'
});
Ext.define('KeyValuePendingDelete', {
extend: "Ext.data.Model",
fields: [ 'key', 'value', 'pending', 'delete' ],
idProperty: 'key'
});
Ext.define('pve-string-list', {
extend: 'Ext.data.Model',
fields: [ 'n', 't' ],
idProperty: 'n'
});
Ext.define('pve-tasks', {
extend: 'Ext.data.Model',
fields: [
{ name: 'starttime', type : 'date', dateFormat: 'timestamp' },
{ name: 'endtime', type : 'date', dateFormat: 'timestamp' },
{ name: 'pid', type: 'int' },
'node', 'upid', 'user', 'status', 'type', 'id'
],
idProperty: 'upid'
});
Ext.define('pve-cluster-log', {
extend: 'Ext.data.Model',
fields: [
{ name: 'uid' , type: 'int' },
{ name: 'time', type : 'date', dateFormat: 'timestamp' },
{ name: 'pri', type: 'int' },
{ name: 'pid', type: 'int' },
'node', 'user', 'tag', 'msg', 'id'
],
idProperty: 'id'
});
});

View File

@ -268,7 +268,7 @@ Ext.define('PVE.data.ResourceStore', {
extend: "Ext.data.Model",
fields: fields,
proxy: {
type: 'pve',
type: 'proxmox',
url: '/api2/json/cluster/resources'
}
});

View File

@ -0,0 +1,29 @@
Ext.define('pve-domains', {
extend: "Ext.data.Model",
fields: [
'realm', 'type', 'comment', 'default', 'tfa',
{
name: 'descr',
// Note: We use this in the RealmComboBox.js (see Bug #125)
convert: function(value, record) {
if (value) {
return value;
}
var info = record.data;
// return realm if there is no comment
var text = info.comment || info.realm;
if (info.tfa) {
text += " (+ " + info.tfa + ")";
}
return Ext.String.htmlEncode(text);
}
}
],
proxy: {
type: 'proxmox',
url: "/api2/json/access/domains"
}
});

View File

@ -87,7 +87,7 @@ Ext.define('PVE.dc.ACLView', {
var store = Ext.create('Ext.data.Store',{
model: 'pve-acl',
proxy: {
type: 'pve',
type: 'proxmox',
url: "/api2/json/access/acl"
},
sorters: {

View File

@ -331,7 +331,7 @@ Ext.define('PVE.dc.BackupView', {
var store = new Ext.data.Store({
model: 'pve-cluster-backup',
proxy: {
type: 'pve',
type: 'proxmox',
url: "/api2/json/cluster/backup"
}
});

View File

@ -171,7 +171,7 @@ Ext.define('PVE.dc.Health', {
interval: 3000,
storeid: 'pve-cluster-ceph',
proxy: {
type: 'pve',
type: 'proxmox',
url: '/api2/json/nodes/localhost/ceph/status'
}
});

View File

@ -12,9 +12,9 @@ Ext.define('PVE.dc.Log', {
var logstore = Ext.create('Proxmox.data.UpdateStore', {
storeid: 'pve-cluster-log',
model: 'pve-cluster-log',
model: 'proxmox-cluster-log',
proxy: {
type: 'pve',
type: 'proxmox',
url: '/api2/json/cluster/log'
}
});

View File

@ -95,7 +95,7 @@ Ext.define('PVE.SecurityGroupList', {
var store = new Ext.data.Store({
model: 'pve-security-groups',
proxy: {
type: 'pve',
type: 'proxmox',
url: '/api2/json' + me.base_url
},
sorters: {

View File

@ -15,7 +15,7 @@ Ext.define('PVE.dc.StorageView', {
var store = new Ext.data.Store({
model: 'pve-storage',
proxy: {
type: 'pve',
type: 'proxmox',
url: "/api2/json/storage"
},
sorters: {

View File

@ -62,7 +62,7 @@ Ext.define('PVE.dc.Summary', {
storeid: 'pve-cluster-status',
model: 'pve-dc-nodes',
proxy: {
type: 'pve',
type: 'proxmox',
url: "/api2/json/cluster/status"
}
});

View File

@ -12,9 +12,9 @@ Ext.define('PVE.dc.Tasks', {
var taskstore = Ext.create('Proxmox.data.UpdateStore', {
storeid: 'pve-cluster-tasks',
model: 'pve-tasks',
model: 'proxmox-tasks',
proxy: {
type: 'pve',
type: 'proxmox',
url: '/api2/json/cluster/tasks'
}
});

View File

@ -49,7 +49,7 @@ Ext.define('PVE.form.BridgeSelector', {
me.nodename = nodename;
me.store.setProxy({
type: 'pve',
type: 'proxmox',
url: '/api2/json/nodes/' + me.nodename + '/network?type=' +
me.bridgeType
});

View File

@ -19,7 +19,7 @@ Ext.define('PVE.form.CephPoolSelector', {
fields: ['name'],
sorters: 'name',
proxy: {
type: 'pve',
type: 'proxmox',
url: '/api2/json/nodes/' + me.nodename + '/ceph/pools'
}
});

View File

@ -30,7 +30,7 @@ Ext.define('PVE.form.FileSelector', {
}
me.store.setProxy({
type: 'pve',
type: 'proxmox',
url: url
});

View File

@ -33,7 +33,7 @@ Ext.define('PVE.form.GlobalSearchField', {
store: {
model: 'PVEResources',
proxy:{
type: 'pve',
type: 'proxmox',
url: '/api2/extjs/cluster/resources'
}
},

View File

@ -49,7 +49,7 @@ Ext.define('PVE.form.GroupSelector', {
extend: 'Ext.data.Model',
fields: [ 'groupid', 'comment' ],
proxy: {
type: 'pve',
type: 'proxmox',
url: "/api2/json/access/groups"
},
idProperty: 'groupid'

View File

@ -28,7 +28,7 @@ Ext.define('PVE.form.IPRefSelector', {
fields: [ 'type', 'name', 'ref', 'comment' ],
idProperty: 'ref',
proxy: {
type: 'pve',
type: 'proxmox',
url: url
},
sorters: {

View File

@ -21,7 +21,7 @@ Ext.define('PVE.form.NodeSelector', {
store: {
fields: [ 'node', 'cpu', 'maxcpu', 'mem', 'maxmem', 'uptime' ],
proxy: {
type: 'pve',
type: 'proxmox',
url: '/api2/json/nodes'
},
sorters: [

View File

@ -47,7 +47,7 @@ Ext.define('PVE.form.PoolSelector', {
extend: 'Ext.data.Model',
fields: [ 'poolid', 'comment' ],
proxy: {
type: 'pve',
type: 'proxmox',
url: "/api2/json/pools"
},
idProperty: 'poolid'

View File

@ -41,7 +41,7 @@ Ext.define('PVE.form.RoleSelector', {
extend: 'Ext.data.Model',
fields: [ 'roleid', 'privs' ],
proxy: {
type: 'pve',
type: 'proxmox',
url: "/api2/json/access/roles"
},
idProperty: 'roleid'

View File

@ -12,7 +12,7 @@ Ext.define('PVE.form.SecurityGroupsSelector', {
fields: [ 'group', 'comment' ],
idProperty: 'group',
proxy: {
type: 'pve',
type: 'proxmox',
url: "/api2/json/cluster/firewall/groups"
},
sorters: {

View File

@ -21,7 +21,7 @@ Ext.define('PVE.form.SnapshotSelector', {
me.vmid = vmid;
me.store.setProxy({
type: 'pve',
type: 'proxmox',
url: '/api2/json/nodes/' + me.nodename + '/qemu/' + me.vmid +'/snapshot'
});

View File

@ -51,7 +51,7 @@ Ext.define('PVE.form.StorageSelector', {
params.enabled = 1; // skip disabled storages
}
me.store.setProxy({
type: 'pve',
type: 'proxmox',
url: url,
extraParams: params
});

View File

@ -43,7 +43,7 @@ Ext.define('PVE.form.USBSelector', {
var store = new Ext.data.Store({
model: 'pve-usb-' + me.type,
proxy: {
type: 'pve',
type: 'proxmox',
url: "/api2/json/nodes/" + nodename + "/scan/usb"
},
filters: [

View File

@ -65,7 +65,7 @@ Ext.define('PVE.form.UserSelector', {
{ type: 'date', dateFormat: 'timestamp', name: 'expire' }
],
proxy: {
type: 'pve',
type: 'proxmox',
url: "/api2/json/access/users"
},
idProperty: 'userid'

View File

@ -75,7 +75,7 @@ Ext.define('PVE.grid.BackupView', {
url += '?content=backup';
me.store.setProxy({
type: 'pve',
type: 'proxmox',
url: url
});

View File

@ -95,7 +95,7 @@ Ext.define('PVE.FirewallAliases', {
var store = new Ext.data.Store({
model: 'pve-fw-aliases',
proxy: {
type: 'pve',
type: 'proxmox',
url: "/api2/json" + me.base_url
},
sorters: {

View File

@ -29,7 +29,7 @@ Ext.define('PVE.form.FWMacroSelector', {
fields: [ 'macro', 'descr' ],
idProperty: 'macro',
proxy: {
type: 'pve',
type: 'proxmox',
url: "/api2/json/cluster/firewall/macros"
},
sorters: {
@ -413,7 +413,7 @@ Ext.define('PVE.FirewallRules', {
me.groupBtn.setDisabled(false);
}
me.store.setProxy({
type: 'pve',
type: 'proxmox',
url: '/api2/json' + url
});

View File

@ -156,7 +156,7 @@ Ext.define('PVE.grid.PoolMembers', {
}
],
proxy: {
type: 'pve',
type: 'proxmox',
root: 'data.members',
url: "/api2/json/pools/" + me.pool
}

View File

@ -436,7 +436,7 @@ Ext.define('PVE.grid.ReplicaView', {
model: (mode === 'dc')? 'pve-replication' : 'pve-replication-state',
interval: 3000,
proxy: {
type: 'pve',
type: 'proxmox',
url: "/api2/json" + url
}
});

View File

@ -58,7 +58,7 @@ Ext.define('PVE.ha.GroupSelector', {
}
],
proxy: {
type: 'pve',
type: 'proxmox',
url: "/api2/json/cluster/ha/groups"
},
idProperty: 'group'

View File

@ -15,7 +15,7 @@ Ext.define('PVE.ha.Status', {
storeid: 'pve-store-' + (++Ext.idSeed),
groupField: 'type',
proxy: {
type: 'pve',
type: 'proxmox',
url: '/api2/json/cluster/ha/status/current'
}
});

View File

@ -142,7 +142,7 @@ Ext.define('PVE.node.DiskList', {
storeid: 'node-disk-list' + nodename,
model: 'node-disk-list',
proxy: {
type: 'pve',
type: 'proxmox',
url: "/api2/json/nodes/" + nodename + "/disks/list"
},
sorters: [
@ -337,7 +337,7 @@ Ext.define('PVE.DiskSmartWindow', {
me.store = Ext.create('Ext.data.Store', {
model: 'disk-smart',
proxy: {
type: 'pve',
type: 'proxmox',
url: "/api2/json/nodes/" + nodename + "/disks/smart?disk=" + dev
}
});

View File

@ -34,7 +34,7 @@ Ext.define('PVE.IPSetList', {
var store = new Ext.data.Store({
model: 'pve-fw-ipsets',
proxy: {
type: 'pve',
type: 'proxmox',
url: "/api2/json" + me.base_url
},
sorters: {
@ -274,7 +274,7 @@ Ext.define('PVE.IPSetGrid', {
me.addBtn.setDisabled(false);
me.removeBtn.baseurl = url + '/';
me.store.setProxy({
type: 'pve',
type: 'proxmox',
url: '/api2/json' + url
});

View File

@ -20,7 +20,7 @@ Ext.define('PVE.grid.TemplateSelector', {
model: 'pve-aplinfo',
groupField: 'section',
proxy: {
type: 'pve',
type: 'proxmox',
url: '/api2/json' + baseurl
}
});
@ -355,7 +355,7 @@ Ext.define('PVE.storage.ContentView', {
model: 'pve-storage-content',
groupField: 'content',
proxy: {
type: 'pve',
type: 'proxmox',
url: '/api2/json' + baseurl
},
sorters: {

View File

@ -42,7 +42,7 @@ Ext.define('PVE.storage.GlusterFsScan', {
var store = Ext.create('Ext.data.Store', {
fields: [ 'volname' ],
proxy: {
type: 'pve',
type: 'proxmox',
url: '/api2/json/nodes/' + me.nodename + '/scan/glusterfs'
}
});

View File

@ -41,7 +41,7 @@ Ext.define('PVE.storage.IScsiScan', {
var store = Ext.create('Ext.data.Store', {
fields: [ 'target', 'portal' ],
proxy: {
type: 'pve',
type: 'proxmox',
url: '/api2/json/nodes/' + me.nodename + '/scan/iscsi'
}
});

View File

@ -16,7 +16,7 @@ Ext.define('PVE.storage.VgSelector', {
autoLoad: {}, // true,
fields: [ 'vg', 'size', 'free' ],
proxy: {
type: 'pve',
type: 'proxmox',
url: '/api2/json/nodes/' + me.nodename + '/scan/lvm'
}
});
@ -66,7 +66,7 @@ Ext.define('PVE.storage.BaseStorageSelector', {
}
}],
proxy: {
type: 'pve',
type: 'proxmox',
url: '/api2/json/storage/'
}
});

View File

@ -38,7 +38,7 @@ Ext.define('PVE.storage.TPoolSelector', {
var store = Ext.create('Ext.data.Store', {
fields: [ 'lv' ],
proxy: {
type: 'pve',
type: 'proxmox',
url: '/api2/json/nodes/' + me.nodename + '/scan/lvmthin'
}
});
@ -75,7 +75,7 @@ Ext.define('PVE.storage.BaseVGSelector', {
autoLoad: {},
fields: [ 'vg', 'size', 'free'],
proxy: {
type: 'pve',
type: 'proxmox',
url: '/api2/json/nodes/' + me.nodename + '/scan/lvm'
}
});

View File

@ -42,7 +42,7 @@ Ext.define('PVE.storage.NFSScan', {
var store = Ext.create('Ext.data.Store', {
fields: [ 'path', 'options' ],
proxy: {
type: 'pve',
type: 'proxmox',
url: '/api2/json/nodes/' + me.nodename + '/scan/nfs'
}
});

View File

@ -19,7 +19,7 @@ Ext.define('PVE.storage.ZFSPoolSelector', {
autoLoad: {}, // true,
fields: [ 'pool', 'size', 'free' ],
proxy: {
type: 'pve',
type: 'proxmox',
url: '/api2/json/nodes/' + me.nodename + '/scan/zfs'
}
});