]>
git.proxmox.com Git - pve-manager.git/blob - www/manager/grid/ObjectGrid.js
1 Ext
.define('PVE.grid.ObjectGrid', {
2 extend
: 'Ext.grid.GridPanel',
7 alias
: ['widget.pveObjectGrid'],
9 getObjectValue: function(key
, defaultValue
) {
11 var rec
= me
.store
.getById(key
);
13 return rec
.data
.value
;
18 renderKey: function(key
, metaData
, record
, rowIndex
, colIndex
, store
) {
21 var rowdef
= (rows
&& rows
[key
]) ? rows
[key
] : {};
22 return rowdef
.header
|| key
;
25 renderValue: function(value
, metaData
, record
, rowIndex
, colIndex
, store
) {
28 var key
= record
.data
.key
;
29 var rowdef
= (rows
&& rows
[key
]) ? rows
[key
] : {};
31 var renderer
= rowdef
.renderer
;
33 return renderer(value
, metaData
, record
, rowIndex
, colIndex
, store
);
39 initComponent : function() {
46 throw "no url specified";
49 me
.rstore
= Ext
.create('PVE.data.ObjectStore', {
51 interval
: me
.interval
,
52 extraParams
: me
.extraParams
,
57 var rstore
= me
.rstore
;
59 var store
= Ext
.create('PVE.data.DiffStore', { rstore
: rstore
});
62 Ext
.Object
.each(rows
, function(key
, rowdef
) {
63 if (Ext
.isDefined(rowdef
.defaultValue
)) {
64 store
.add({ key
: key
, value
: rowdef
.defaultValue
});
65 } else if (rowdef
.required
) {
66 store
.add({ key
: key
, value
: undefined });
72 store
.sorters
.add(new Ext
.util
.Sorter({
77 store
.filters
.add(new Ext
.util
.Filter({
78 filterFn: function(item
) {
80 var rowdef
= rows
[item
.data
.key
];
81 if (!rowdef
|| (rowdef
.visible
=== false)) {
91 me
.mon(rstore
, 'load', function(s
, records
, success
) {
98 me
.setLoading("Data load error");
110 width
: me
.cwidth1
|| 100,
112 renderer
: me
.renderKey
118 renderer
: me
.renderValue
123 me
.on('afterlayout', function() {