extjs cannot "convert" and id from other fields, so the ids in the
diffstore and the realstore are different and we re-add every element on
every update
to mitigate this, we generate the id (which is "uid:hostname") in the
backend, and simply use it in the frontend
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
if the rstore in the diffstore is already loaded at the time of
the instantiation, load the data instantly
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
with this patch, vms in an ha error state get an icon (reusing the node
offline icon) to indicate the error
in the resource grid, we also add the icon, and have an additional
column where we can display the ha state
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
Add the getNodes function to the periodically asynchronous updated
PVEResource store. This allows a component to get the node data
directly, without making an API call and waiting that it's finished,
the data is also up to date.
A usage example would be:
var data = PVE.data.ResourceStore.getNodes();
var store = Ext.create('Ext.data.Store', {
fields: [ 'node', 'mem', 'cpu', ... ], // or a model
data: data,
proxy: {
type: 'memory',
reader: {type: 'json'}
},
...
});
I'll use it in a later patch to avoid two asynchrony store loads
where I'd have logic in place for the case that either one finishes
first, this function helps me to avoid such logic while achieving
the same functionallity.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
Reviewed-by: Dominik Csapak <d.csapak@proxmox.com>
when a load of an update store was ongoing and stopUpdate
was called, the task could not be canceled, and the store
would remain indefinitely
this patch sets 'isStopped' of the store on stopUpdate
and checks it on the next update and stopping it then
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
since extjs5 Store.snapshot does not exist anymore,
we didnt remove filtered records
this lead to the fact, that the 'message' record did
not get removed and a "no subscription file" message
was shown directly after uploading a key
to get also the filtered records in the store
we use store.getData().getSource()
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
before ECMA5 trailing commas in arrays and objects
are forbidden
in jslint this is an error and cannot be deactivated
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
previously, we had a disk/memory usage column in the resource grid,
whose raw data were the bytes used, but we added a renderer
to display it as percentage
with this, the columns sorted by bytes and not by percentage,
which made the column rather confusing
with this patch, we add a real percentage column (where the
data is a float from 0 to 1) so it sorts correctly
also make the old columns show the used size in B/KiB/etc.
by default we still only show the percentage column
since the disk usage part was always zero with qemu guests,
leave it empty there
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
we set new icons for the tree and grid
changes:
* new icons
* wider type column (bigger icons)
* use arrows true (uses arrows instead of +/- and gets rid of the
ugly lines in the tree)
* datacenter has icon instead of folder open/close
* "folder view" gets type icons for folders
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
this patch adds two classes for the charts:
RRDStore:
based on our updatestore, but specialized on our rrddata output
it converts the percentage (cpu) and the time (from unix to milliseconds)
also it handles the changes for the timeframe and cf
it sets a default reload of 30seconds
RRDChart:
based on Ext.chart.CartesianChart,
with specialized options for our rrd graphs
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
in the event of a destroyed or stopped object/updateStore,
we do not want to execute queued requests, thus we
need to unqueue them
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
some extjs components expect the datachanged event
to be fired, we changed this to refresh (which
worked for most things, but not all),
this patch fires both events when data is loaded
Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This reverts commit c8e0699d5d.
Without using an idProperty in the KeyValue model, the id of each
store item is autogenerated, and the DiffStore always recreate the whole
store content every second instead of updating the fields where values
have changed. Recreating the whole store content makes the
Node Summary View flicker, as the order of items in the store change
after each reload.
Testing shows that reversing this commit do not break anything else.