From eb54b1142eeacbf2d553408fad777ddaa7c47c57 Mon Sep 17 00:00:00 2001 From: Dominik Csapak Date: Thu, 7 May 2020 10:27:06 +0200 Subject: [PATCH] data/DiffStore: auto-create the rstore if its just a config when rstore is not instanciated but only a config, auto-create it with its type this allows us to configure an diff/rstore combination completely declaratively like this: store: { type: 'diff', autoDestroy: true, autoDestroyRstore: true, rstore: { type: 'update', model: 'some-model', autoStart: true, interval: 5000, }, }, the only thing we have to be careful about is to either do a manual 'stopUpdate' somewhere, or use the 'autoDestroyRstore' flag Signed-off-by: Dominik Csapak --- data/DiffStore.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/data/DiffStore.js b/data/DiffStore.js index 6f335f0..2fc08be 100644 --- a/data/DiffStore.js +++ b/data/DiffStore.js @@ -51,7 +51,14 @@ Ext.define('Proxmox.data.DiffStore', { throw "no rstore model specified"; } - var rstore = config.rstore; + let rstore; + if (config.rstore.isInstance) { + rstore = config.rstore; + } else if (config.rstore.type) { + rstore = Ext.create(`store.${config.rstore.type}`, config.rstore); + } else { + throw 'rstore is not an instance, and cannot autocreate without "type"'; + } Ext.apply(config, { model: rstore.model,