From ada1a4db02d2ce1cb3b2351f9f4cb30b24a2234d Mon Sep 17 00:00:00 2001
From: Max Lou Hartel-Kaduk <mhartel@digitallearning.gmbh>
Date: Thu, 30 Mar 2023 12:02:51 +0200
Subject: [PATCH] Adding widget refresh function

---
 src/js/utils.js | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/js/utils.js b/src/js/utils.js
index 8db7c82..4524cf4 100644
--- a/src/js/utils.js
+++ b/src/js/utils.js
@@ -106,10 +106,11 @@ function removeAllChildNodes(parent) {
 
 /**
  * Initial widgets grid
- * @param {*} widgets
+ * @param {*} initialWidgets
  * @param {*} items
  */
-export function initGrid(widgets, items) {
+export function initGrid(initialWidgets, items) {
+  let widgets = initialWidgets
   // Basic grid object
   const grid = GridStack.init({
     cellHeight: 70,
@@ -270,6 +271,15 @@ export function initGrid(widgets, items) {
     disableWidgetMoveAndResize();
   }
 
+  /**
+   * Refresh widgets with updated widgets array.
+   * @param {*} newWidgets 
+   */
+  function refreshWidgets(newWidgets) {
+    widgets = newWidgets
+    plotWidgets(grid.engine.nodes, widgets);
+  }
+
   return {
     grid,
     toggleSidebar,
@@ -277,5 +287,6 @@ export function initGrid(widgets, items) {
     load,
     enableWidgetMoveAndResize,
     disableWidgetMoveAndResize,
+    refreshWidgets
   };
 }
-- 
GitLab