diff --git a/src/widget/widget-store.js b/src/widget/widget-store.js
index d6256ed..f49ca27 100644
--- a/src/widget/widget-store.js
+++ b/src/widget/widget-store.js
@@ -1,4 +1,43 @@
+/**
+ * This file is part of VILLASweb.
+ *
+ * VILLASweb is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * VILLASweb is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with VILLASweb. If not, see .
+ ******************************************************************************/
+
+
import ArrayStore from '../common/array-store';
import WidgetsDataManager from './widgets-data-manager';
-export default new ArrayStore('widgets', WidgetsDataManager);
+class WidgetStore extends ArrayStore {
+ constructor() {
+ super('widgets', WidgetsDataManager);
+ }
+
+ reduce(state, action) {
+ switch (action.type) {
+
+ case 'widgets/loaded':
+
+ WidgetsDataManager.loadFiles(action.token, action.data);
+ return super.reduce(state, action);
+
+ default:
+ return super.reduce(state, action);
+
+ }
+ }
+
+}
+
+export default new WidgetStore();
diff --git a/src/widget/widgets-data-manager.js b/src/widget/widgets-data-manager.js
index ed03b2f..c32417d 100644
--- a/src/widget/widgets-data-manager.js
+++ b/src/widget/widgets-data-manager.js
@@ -1,3 +1,43 @@
-import RestDataManager from '../common/data-managers/rest-data-manager';
+/**
+ * This file is part of VILLASweb.
+ *
+ * VILLASweb is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * VILLASweb is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with VILLASweb. If not, see .
+ ******************************************************************************/
-export default new RestDataManager('widget', '/widgets');
+
+import RestDataManager from '../common/data-managers/rest-data-manager';
+import RestAPI from "../common/api/rest-api";
+import AppDispatcher from "../common/app-dispatcher";
+
+class WidgetsDataManager extends RestDataManager{
+
+ constructor() {
+ super('widget', '/widgets');
+ }
+
+ loadFiles(token, widgets){
+ for (let widget of widgets) {
+ // request files of widget
+ RestAPI.get(this.makeURL('/files?objectType=widget&objectID=' + widget.id), token).then(response => {
+ AppDispatcher.dispatch({
+ type: 'files/loaded',
+ data: response.files
+ });
+ });
+ }
+ }
+
+}
+
+export default new WidgetsDataManager()