proxmox-widget-toolkit/data/ObjectStore.js
Thomas Lamprecht 05a977a227 make eslint 100% happy
lots of churn and changes but will allow to enforce linting again in
the build system.

Also switch over from var to let.

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
2020-06-06 17:16:22 +02:00

46 lines
1.1 KiB
JavaScript

/* This store encapsulates data items which are organized as an Array of key-values Objects
* ie data[0] contains something like {key: "keyboard", value: "da"}
*
* Designed to work with the KeyValue model and the JsonObject data reader
*/
Ext.define('Proxmox.data.ObjectStore', {
extend: 'Proxmox.data.UpdateStore',
getRecord: function() {
let me = this;
let record = Ext.create('Ext.data.Model');
me.getData().each(function(item) {
record.set(item.data.key, item.data.value);
});
record.commit(true);
return record;
},
constructor: function(config) {
let me = this;
config = config || {};
if (!config.storeid) {
config.storeid = 'proxmox-store-' + ++Ext.idSeed;
}
Ext.applyIf(config, {
model: 'KeyValue',
proxy: {
type: 'proxmox',
url: config.url,
extraParams: config.extraParams,
reader: {
type: 'jsonobject',
rows: config.rows,
readArray: config.readArray,
rootProperty: config.root || 'data',
},
},
});
me.callParent([config]);
},
});