]> git.proxmox.com Git - proxmox-widget-toolkit.git/blame - data/ObjectStore.js
use eslint and execute as check target
[proxmox-widget-toolkit.git] / data / ObjectStore.js
CommitLineData
0bb29d35
DM
1/* This store encapsulates data items which are organized as an Array of key-values Objects
2 * ie data[0] contains something like {key: "keyboard", value: "da"}
3*
4* Designed to work with the KeyValue model and the JsonObject data reader
5*/
01031528 6Ext.define('Proxmox.data.ObjectStore', {
0bb29d35
DM
7 extend: 'Proxmox.data.UpdateStore',
8
73b0150c 9 getRecord: function() {
05a977a2
TL
10 let me = this;
11 let record = Ext.create('Ext.data.Model');
59db7031
DC
12 me.getData().each(function(item) {
13 record.set(item.data.key, item.data.value);
14 });
15 record.commit(true);
16 return record;
17 },
18
0bb29d35 19 constructor: function(config) {
05a977a2 20 let me = this;
0bb29d35
DM
21
22 config = config || {};
23
24 if (!config.storeid) {
01031528 25 config.storeid = 'proxmox-store-' + ++Ext.idSeed;
0bb29d35
DM
26 }
27
28 Ext.applyIf(config, {
29 model: 'KeyValue',
30 proxy: {
31 type: 'proxmox',
32 url: config.url,
33 extraParams: config.extraParams,
34 reader: {
35 type: 'jsonobject',
36 rows: config.rows,
37 readArray: config.readArray,
01031528
TL
38 rootProperty: config.root || 'data',
39 },
40 },
0bb29d35
DM
41 });
42
43 me.callParent([config]);
01031528 44 },
0bb29d35 45});