@schukai/monster 4.82.0 → 4.83.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
 
4
4
 
5
+ ## [4.83.0] - 2026-01-07
6
+
7
+ ### Add Features
8
+
9
+ - Improve spinner handling for data fetching
10
+
11
+
12
+
5
13
  ## [4.82.0] - 2026-01-07
6
14
 
7
15
  ### Add Features
package/package.json CHANGED
@@ -1 +1 @@
1
- {"author":"Volker Schukai","dependencies":{"@floating-ui/dom":"^1.7.4","@popperjs/core":"^2.11.8"},"description":"Monster is a simple library for creating fast, robust and lightweight websites.","homepage":"https://monsterjs.org/","keywords":["framework","web","dom","css","sass","mobile-first","app","front-end","templates","schukai","core","shopcloud","alvine","monster","buildmap","stack","observer","observable","uuid","node","nodelist","css-in-js","logger","log","theme"],"license":"AGPL 3.0","main":"source/monster.mjs","module":"source/monster.mjs","name":"@schukai/monster","repository":{"type":"git","url":"https://gitlab.schukai.com/oss/libraries/javascript/monster.git"},"type":"module","version":"4.82.0"}
1
+ {"author":"Volker Schukai","dependencies":{"@floating-ui/dom":"^1.7.4","@popperjs/core":"^2.11.8"},"description":"Monster is a simple library for creating fast, robust and lightweight websites.","homepage":"https://monsterjs.org/","keywords":["framework","web","dom","css","sass","mobile-first","app","front-end","templates","schukai","core","shopcloud","alvine","monster","buildmap","stack","observer","observable","uuid","node","nodelist","css-in-js","logger","log","theme"],"license":"AGPL 3.0","main":"source/monster.mjs","module":"source/monster.mjs","name":"@schukai/monster","repository":{"type":"git","url":"https://gitlab.schukai.com/oss/libraries/javascript/monster.git"},"type":"module","version":"4.83.0"}
@@ -184,14 +184,23 @@ function initEventHandler() {
184
184
  }
185
185
 
186
186
  let fadeOutTimer = null;
187
+ const hideSpinner = () => {
188
+ self.setOption("state.spinner", "hide");
189
+ };
187
190
 
188
191
  this[datasourceLinkedElementSymbol] = element;
192
+ hideSpinner();
189
193
  element.addEventListener("monster-datasource-fetched", function () {
190
194
  if (typeof self[errorElementSymbol]?.resetErrorMessage === "function") {
191
195
  self[errorElementSymbol].resetErrorMessage();
192
196
  }
197
+ if (fadeOutTimer) {
198
+ clearTimeout(fadeOutTimer);
199
+ fadeOutTimer = null;
200
+ }
193
201
  fadeOutTimer = setTimeout(() => {
194
- self.setOption("state.spinner", "hide");
202
+ fadeOutTimer = null;
203
+ hideSpinner();
195
204
  }, 800);
196
205
  });
197
206
 
@@ -214,7 +223,7 @@ function initEventHandler() {
214
223
  fadeOutTimer = null;
215
224
  }
216
225
 
217
- self.setOption("state.spinner", "hide");
226
+ hideSpinner();
218
227
 
219
228
  const timeout = self.getOption("timeouts.message", 4000);
220
229
  let msg = "Cannot load data";