@schukai/monster 4.51.1 → 4.52.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,30 @@
2
2
 
3
3
 
4
4
 
5
+ ## [4.52.0] - 2025-12-28
6
+
7
+ ### Add Features
8
+
9
+ - Enhance copy functionality for data table cells
10
+
11
+
12
+
13
+ ## [4.51.3] - 2025-12-28
14
+
15
+ ### Bug Fixes
16
+
17
+ - Improve pagination component performance with setTimeout
18
+
19
+
20
+
21
+ ## [4.51.2] - 2025-12-28
22
+
23
+ ### Bug Fixes
24
+
25
+ - Add undefined check for transformed payload in RestAPI
26
+
27
+
28
+
5
29
  ## [4.51.1] - 2025-12-25
6
30
 
7
31
  ### Bug Fixes
package/package.json CHANGED
@@ -1 +1 @@
1
- {"author":"schukai GmbH","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.51.1"}
1
+ {"author":"schukai GmbH","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.52.0"}
@@ -753,6 +753,18 @@ function updateConfigColumnBar() {
753
753
  }
754
754
  }
755
755
 
756
+ /**
757
+ * @private
758
+ * @param {HTMLElement} cell
759
+ * @return {string}
760
+ */
761
+ function getCellValueForCopy(cell) {
762
+ if (cell.hasAttribute("data-monster-raw-value")) {
763
+ return cell.getAttribute("data-monster-raw-value");
764
+ }
765
+ return cell.textContent.trim();
766
+ }
767
+
756
768
  /**
757
769
  * @private
758
770
  */
@@ -903,10 +915,11 @@ function initEventHandler() {
903
915
  ) {
904
916
  continue;
905
917
  }
906
-
907
- if (col.textContent) {
918
+
919
+ const cellValue = getCellValueForCopy(col);
920
+ if (cellValue) {
908
921
  colTexts.push(
909
- quoteOpenChar + col.textContent.trim() + quoteCloseChar,
922
+ quoteOpenChar + cellValue + quoteCloseChar,
910
923
  );
911
924
  }
912
925
  }
@@ -920,7 +933,7 @@ function initEventHandler() {
920
933
  ) {
921
934
  return;
922
935
  }
923
- text = headCell.textContent.trim();
936
+ text = getCellValueForCopy(headCell);
924
937
  }
925
938
 
926
939
  if (getWindow().navigator.clipboard && text) {
@@ -970,9 +983,10 @@ function initEventHandler() {
970
983
  continue;
971
984
  }
972
985
 
973
- if (col.textContent) {
986
+ const cellValue = getCellValueForCopy(col);
987
+ if (cellValue) {
974
988
  currentRow.push(
975
- quoteOpenChar + col.textContent.trim() + quoteCloseChar,
989
+ quoteOpenChar + cellValue + quoteCloseChar,
976
990
  );
977
991
  }
978
992
  }
@@ -240,7 +240,7 @@ class Pagination extends CustomElement {
240
240
  addAttributeToken(this, ATTRIBUTE_ERRORMESSAGE, e?.message || `${e}`);
241
241
  }
242
242
 
243
- requestAnimationFrame(() => {
243
+ setTimeout(() => {
244
244
  const parentParentNode = parentNode?.parentNode || parentNode;
245
245
 
246
246
  const parentWidth = parentParentNode.offsetWidth;
@@ -282,8 +282,8 @@ class Pagination extends CustomElement {
282
282
  });
283
283
  });
284
284
 
285
- this[resizeObserverSymbol].observe(this?.parentNode?.parentNode);
286
- });
285
+ this[resizeObserverSymbol].observe(parentParentNode);
286
+ }, 0);
287
287
  }
288
288
 
289
289
  /**
@@ -157,7 +157,11 @@ class RestAPI extends Server {
157
157
  let callback = this.getOption("read.responseCallback");
158
158
  if (!callback) {
159
159
  callback = (obj) => {
160
- this.set(this.transformServerPayload.call(this, obj));
160
+ const transformedPayload = this.transformServerPayload.call(this, obj);
161
+ if (typeof transformedPayload === "undefined") {
162
+ return;
163
+ }
164
+ this.set(transformedPayload);
161
165
  };
162
166
  }
163
167