StorageManager¶
Mit dem StorageManager können die Daten der APIs geladen und lokal gespeichert werden.
options.simpleMap = true // liefert eine einfache Map zurück KEY -> Label options.getParents = true // liefert bei einer Einschränkung auch die Eltern Elemente mit options.indexName = 'itemIID' // definiert mit welchem IndexName gesucht werden soll, anstatt dem Primary Key
/**
* Datenbank definieren
*/
dataBase = new Alvine.Package.Console.Platform.IndexedDB('alvine', 1);
/**
* Item
*/
itemModel = new Alvine.Package.Console.Platform.Model.Item();
dataBase.addObjectStore(itemModel.getObjectStore());
/**
* Item Text
*/
itemTextModel = new Alvine.Package.Console.Platform.Model.ItemText();
dataBase.addObjectStore(itemModel.getObjectStore());
/**
* Category
*/
categoryModel = new Alvine.Package.Console.Platform.Model.Category();
dataBase.addObjectStore(categoryModel.getObjectStore());
/**
* Datenbank zuweisen und öffnen
*/
Alvine.Package.Console.Platform.StorageManager.setDatabase(dataBase);
Laden aller Produkte in der Datenbank per Offset werden alle Seiten nacheinander aufgerufen und lokal gespeichert
Alvine.Package.Console.Platform.StorageManager.getDataset(itemModel).then(function(dataset) {
});
Laden aller Produkte mit der CID 1
Alvine.Package.Console.Platform.StorageManager.getDataset(itemModel,[1],{'indexName': 'catalogingCategoryCID1'}).then(function(dataset) {
});
Laden aller Produkte mit der CID 1 oder 5 oder 6
Alvine.Package.Console.Platform.StorageManager.getDataset(itemModel,[1,5,6],{'indexName': 'catalogingCategoryCID1'}).then(function(dataset) {
});
Laden aller Kategorien mit der CID 1 oder 5 oder 6 und alle Parents dieser Kategorien
Alvine.Package.Console.Platform.StorageManager.getDataset(categoryModel,[1,5,6],{'getParents': true}).then(function(dataset) {
});
Laden aller Texte der IID 1000. Bei den Texten werden nur die in der aktuellen gesetzten Sprache geladen
Alvine.Package.Console.Platform.StorageManager.getDataset(itemTextModel,1000,{'indexName': 'itemIID'}).then(function(dataset) {
});