mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-15 14:02:17 +00:00
31 lines
954 B
JavaScript
31 lines
954 B
JavaScript
let __widgets = {};
|
|
let __widgetsStarted = {};
|
|
let __path = FHC_JS_DATA_STORAGE_OBJECT.app_root + FHC_JS_DATA_STORAGE_OBJECT.ci_router + '/dashboard/Widget';
|
|
|
|
export default {
|
|
getWidget(id) {
|
|
return __widgets[id];
|
|
},
|
|
loadWidget(id) {
|
|
if (__widgets[id])
|
|
return Promise.resolve(__widgets[id]);
|
|
if (__widgetsStarted[id])
|
|
return __widgetsStarted[id];
|
|
if (!__path)
|
|
return Promise.reject('Widget could not be loaded because there is no path yet!');
|
|
|
|
__widgetsStarted[id] = new Promise((resolve, reject) => {
|
|
axios.get(__path, {params:{id}}).then(res => {
|
|
res.data.retval.arguments = JSON.parse(res.data.retval.arguments);
|
|
res.data.retval.setup = JSON.parse(res.data.retval.setup);
|
|
__widgets[id] = res.data.retval;
|
|
__widgetsStarted[id] = undefined;
|
|
resolve(__widgets[id]);
|
|
}).catch(error => reject(error.response.data.retval.error));
|
|
});
|
|
return __widgetsStarted[id];
|
|
},
|
|
setPath(path) {
|
|
__path = path;
|
|
}
|
|
} |