|
@@ -140,28 +140,34 @@
|
|
|
toArray = toArray ? toArray : false;
|
|
|
const data = toArray ? [] : {};
|
|
|
return new Promise(resolve => {
|
|
|
- // Load from local storage
|
|
|
+ // Data already load
|
|
|
if (localStorage.list) {
|
|
|
- const list = JSON.parse(localStorage.list)
|
|
|
+ const list = JSON.parse(localStorage.list);
|
|
|
for (element of list) {
|
|
|
- toArray ? data.push(localStorage[element]) : data[element] = localStorage[element];
|
|
|
+ console.log(element);
|
|
|
+ toArray ? data.push(JSON.parse(localStorage.getItem(element))) : data[element] = JSON.parse(localStorage.getItem(element));
|
|
|
}
|
|
|
- } else {
|
|
|
- localStorage.setItem('list', JSON.stringify([]));
|
|
|
- }
|
|
|
- // Load from disk
|
|
|
- $.getJSON('data/list.json', (list) => {
|
|
|
- const total = list.length;
|
|
|
- let count = 0;
|
|
|
- list.forEach(element => {
|
|
|
- $.getJSON(`data/${element}.json`, (result) => {
|
|
|
- toArray ? data.push(result) : data[result.id] = result;
|
|
|
- if (++count === total) {
|
|
|
- resolve(data);
|
|
|
- }
|
|
|
+ resolve(data);
|
|
|
+ }
|
|
|
+ // Load data on server
|
|
|
+ else {
|
|
|
+ const list = [];
|
|
|
+ $.getJSON('data/list.json', (file) => {
|
|
|
+ const total = file.length;
|
|
|
+ let count = 0;
|
|
|
+ file.forEach(element => {
|
|
|
+ $.getJSON(`data/${element}.json`, (result) => {
|
|
|
+ toArray ? data.push(result) : data[result.id] = result;
|
|
|
+ list.push(result.id);
|
|
|
+ localStorage.setItem(result.id, JSON.stringify(result));
|
|
|
+ if (++count === total) {
|
|
|
+ localStorage.setItem('list', JSON.stringify(list));
|
|
|
+ resolve(data);
|
|
|
+ }
|
|
|
+ });
|
|
|
});
|
|
|
});
|
|
|
- });
|
|
|
+ }
|
|
|
});
|
|
|
}
|
|
|
|