use PendingObjectGrid from widget toolkit
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com> Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
parent
64aaa4d538
commit
f6355cb78a
@ -86,7 +86,6 @@ JSSRC= \
|
||||
window/Settings.js \
|
||||
window/StartupEdit.js \
|
||||
panel/NotesView.js \
|
||||
grid/PendingObjectGrid.js \
|
||||
grid/ResourceGrid.js \
|
||||
grid/PoolMembers.js \
|
||||
grid/FirewallRules.js \
|
||||
|
@ -1,95 +0,0 @@
|
||||
Ext.define('PVE.grid.PendingObjectGrid', {
|
||||
extend: 'Proxmox.grid.ObjectGrid',
|
||||
alias: ['widget.pvePendingObjectGrid'],
|
||||
|
||||
getObjectValue: function(key, defaultValue, pending) {
|
||||
var me = this;
|
||||
var rec = me.store.getById(key);
|
||||
if (rec) {
|
||||
var value = (pending && Ext.isDefined(rec.data.pending) && (rec.data.pending !== '')) ?
|
||||
rec.data.pending : rec.data.value;
|
||||
|
||||
if (Ext.isDefined(value) && (value !== '')) {
|
||||
return value;
|
||||
} else {
|
||||
return defaultValue;
|
||||
}
|
||||
}
|
||||
return defaultValue;
|
||||
},
|
||||
|
||||
hasPendingChanges: function(key) {
|
||||
var me = this;
|
||||
var rows = me.rows;
|
||||
var rowdef = (rows && rows[key]) ? rows[key] : {};
|
||||
var keys = rowdef.multiKey || [ key ];
|
||||
var pending = false;
|
||||
|
||||
Ext.Array.each(keys, function(k) {
|
||||
var rec = me.store.getById(k);
|
||||
if (rec && rec.data && Ext.isDefined(rec.data.pending) && (rec.data.pending !== '')) {
|
||||
pending = true;
|
||||
return false; // break
|
||||
}
|
||||
});
|
||||
|
||||
return pending;
|
||||
},
|
||||
|
||||
renderValue: function(value, metaData, record, rowIndex, colIndex, store) {
|
||||
var me = this;
|
||||
var rows = me.rows;
|
||||
var key = record.data.key;
|
||||
var rowdef = (rows && rows[key]) ? rows[key] : {};
|
||||
var renderer = rowdef.renderer;
|
||||
var current = '';
|
||||
var pendingdelete = '';
|
||||
var pending = '';
|
||||
|
||||
if (renderer) {
|
||||
current = renderer(value, metaData, record, rowIndex, colIndex, store, false);
|
||||
if (me.hasPendingChanges(key)) {
|
||||
pending = renderer(record.data.pending, metaData, record, rowIndex, colIndex, store, true);
|
||||
}
|
||||
if (pending == current) {
|
||||
pending = undefined;
|
||||
}
|
||||
} else {
|
||||
current = value || '';
|
||||
pending = record.data.pending;
|
||||
}
|
||||
|
||||
if (record.data['delete']) {
|
||||
pendingdelete = '<div style="text-decoration: line-through;">'+ current +'</div>';
|
||||
}
|
||||
|
||||
if (pending || pendingdelete) {
|
||||
return current + '<div style="color:red">' + (pending || '') + pendingdelete + '</div>';
|
||||
} else {
|
||||
return current;
|
||||
}
|
||||
},
|
||||
|
||||
initComponent : function() {
|
||||
var me = this;
|
||||
|
||||
var rows = me.rows;
|
||||
|
||||
if (!me.rstore) {
|
||||
if (!me.url) {
|
||||
throw "no url specified";
|
||||
}
|
||||
|
||||
me.rstore = Ext.create('PVE.data.ObjectStore', {
|
||||
model: 'KeyValuePendingDelete',
|
||||
readArray: true,
|
||||
url: me.url,
|
||||
interval: me.interval,
|
||||
extraParams: me.extraParams,
|
||||
rows: me.rows
|
||||
});
|
||||
}
|
||||
|
||||
me.callParent();
|
||||
}
|
||||
});
|
@ -1,5 +1,5 @@
|
||||
Ext.define('PVE.qemu.HardwareView', {
|
||||
extend: 'PVE.grid.PendingObjectGrid',
|
||||
extend: 'Proxmox.grid.PendingObjectGrid',
|
||||
alias: ['widget.PVE.qemu.HardwareView'],
|
||||
|
||||
onlineHelp: 'qm_virtual_machines_settings',
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*jslint confusion: true */
|
||||
Ext.define('PVE.qemu.Options', {
|
||||
extend: 'PVE.grid.PendingObjectGrid',
|
||||
extend: 'Proxmox.grid.PendingObjectGrid',
|
||||
alias: ['widget.PVE.qemu.Options'],
|
||||
|
||||
onlineHelp: 'qm_options',
|
||||
|
Loading…
Reference in New Issue
Block a user