@schukai/monster 3.73.9 → 3.74.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 +11 -0
- package/package.json +1 -1
- package/source/components/datatable/change-button.mjs +4 -4
- package/source/components/datatable/columnbar.mjs +2 -2
- package/source/components/datatable/dataset.mjs +2 -2
- package/source/components/datatable/datasource/rest.mjs +9 -8
- package/source/components/datatable/datatable.mjs +6 -6
- package/source/components/datatable/filter/date-range.mjs +6 -6
- package/source/components/datatable/filter/range.mjs +4 -4
- package/source/components/datatable/filter.mjs +4 -4
- package/source/components/datatable/save-button.mjs +4 -4
- package/source/components/datatable/util.mjs +2 -2
- package/source/components/layout/slider.mjs +668 -0
- package/source/components/layout/style/slider.pcss +114 -0
- package/source/components/layout/stylesheet/slider.mjs +31 -0
- package/source/components/tree-menu/tree-menu.mjs +6 -6
- package/source/data/datasource/server/restapi.mjs +1 -2
- package/source/dom/events.mjs +1 -1
- package/source/dom/updater.mjs +2 -3
- package/source/types/observer.mjs +7 -8
- package/source/types/version.mjs +1 -1
- package/test/cases/monster.mjs +1 -1
- package/test/web/test.html +2 -2
- package/test/web/tests.js +240 -190
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
+
## [3.74.0] - 2024-09-18
|
|
6
|
+
|
|
7
|
+
### Add Features
|
|
8
|
+
|
|
9
|
+
- new slider [#237](https://gitlab.schukai.com/oss/libraries/javascript/monster/issues/237)
|
|
10
|
+
### Bug Fixes
|
|
11
|
+
|
|
12
|
+
- performance tweak [#235](https://gitlab.schukai.com/oss/libraries/javascript/monster/issues/235)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
5
16
|
## [3.73.9] - 2024-09-15
|
|
6
17
|
|
|
7
18
|
### Bug Fixes
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"author":"schukai GmbH","dependencies":{"@floating-ui/dom":"^1.6.11","@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":"3.
|
|
1
|
+
{"author":"schukai GmbH","dependencies":{"@floating-ui/dom":"^1.6.11","@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":"3.74.0"}
|
|
@@ -222,7 +222,7 @@ function initControlReferences() {
|
|
|
222
222
|
);
|
|
223
223
|
|
|
224
224
|
if (this[stateButtonElementSymbol]) {
|
|
225
|
-
|
|
225
|
+
queueMicrotask(() => {
|
|
226
226
|
const states = {
|
|
227
227
|
changed: new State(
|
|
228
228
|
"changed",
|
|
@@ -239,7 +239,7 @@ function initControlReferences() {
|
|
|
239
239
|
"labels.button",
|
|
240
240
|
this.getOption("labels.button"),
|
|
241
241
|
);
|
|
242
|
-
}
|
|
242
|
+
});
|
|
243
243
|
}
|
|
244
244
|
|
|
245
245
|
return this;
|
|
@@ -278,7 +278,7 @@ function getIndex() {
|
|
|
278
278
|
* @private
|
|
279
279
|
*/
|
|
280
280
|
function initEventHandler() {
|
|
281
|
-
|
|
281
|
+
queueMicrotask(() => {
|
|
282
282
|
this[stateButtonElementSymbol].setOption("actions.click", () => {
|
|
283
283
|
const index = getIndex.call(this);
|
|
284
284
|
|
|
@@ -287,7 +287,7 @@ function initEventHandler() {
|
|
|
287
287
|
this[overlayLinkedElementSymbol].open();
|
|
288
288
|
}
|
|
289
289
|
});
|
|
290
|
-
}
|
|
290
|
+
});
|
|
291
291
|
}
|
|
292
292
|
|
|
293
293
|
/**
|
|
@@ -249,12 +249,12 @@ function initEventHandler() {
|
|
|
249
249
|
if (self[settingsLayerElementSymbol].classList.contains("visible")) {
|
|
250
250
|
self[popperInstanceSymbol].update();
|
|
251
251
|
|
|
252
|
-
|
|
252
|
+
queueMicrotask(() => {
|
|
253
253
|
document.body.addEventListener(
|
|
254
254
|
"click",
|
|
255
255
|
self[settingsButtonEventHandlerSymbol],
|
|
256
256
|
);
|
|
257
|
-
}
|
|
257
|
+
});
|
|
258
258
|
}
|
|
259
259
|
}
|
|
260
260
|
});
|
|
@@ -198,7 +198,7 @@ class DataSet extends CustomElement {
|
|
|
198
198
|
return;
|
|
199
199
|
}
|
|
200
200
|
|
|
201
|
-
|
|
201
|
+
queueMicrotask(() => {
|
|
202
202
|
const path = this.getOption("mapping.data");
|
|
203
203
|
const index = this.getOption("mapping.index");
|
|
204
204
|
|
|
@@ -224,7 +224,7 @@ class DataSet extends CustomElement {
|
|
|
224
224
|
this[datasourceLinkedElementSymbol].data = ref;
|
|
225
225
|
|
|
226
226
|
resolve();
|
|
227
|
-
}
|
|
227
|
+
});
|
|
228
228
|
});
|
|
229
229
|
}
|
|
230
230
|
|
|
@@ -215,6 +215,7 @@ class Rest extends Datasource {
|
|
|
215
215
|
* @returns {Promise<never>|*}
|
|
216
216
|
*/
|
|
217
217
|
fetch() {
|
|
218
|
+
|
|
218
219
|
const opt = clone(this.getOption("read"));
|
|
219
220
|
this[dataSourceSymbol].setOption("read", opt);
|
|
220
221
|
|
|
@@ -234,7 +235,7 @@ class Rest extends Datasource {
|
|
|
234
235
|
datasource: this,
|
|
235
236
|
});
|
|
236
237
|
|
|
237
|
-
|
|
238
|
+
queueMicrotask(() => {
|
|
238
239
|
this[dataSourceSymbol]
|
|
239
240
|
.read()
|
|
240
241
|
.then((response) => {
|
|
@@ -252,7 +253,7 @@ class Rest extends Datasource {
|
|
|
252
253
|
addAttributeToken(this, ATTRIBUTE_ERRORMESSAGE, error.toString());
|
|
253
254
|
reject(error);
|
|
254
255
|
});
|
|
255
|
-
}
|
|
256
|
+
});
|
|
256
257
|
});
|
|
257
258
|
}
|
|
258
259
|
|
|
@@ -289,11 +290,11 @@ class Rest extends Datasource {
|
|
|
289
290
|
connectedCallback() {
|
|
290
291
|
super.connectedCallback();
|
|
291
292
|
|
|
292
|
-
|
|
293
|
+
queueMicrotask(() => {
|
|
293
294
|
if (this.getOption("features.filter", false) === true) {
|
|
294
295
|
initFilter.call(this);
|
|
295
296
|
}
|
|
296
|
-
}
|
|
297
|
+
});
|
|
297
298
|
}
|
|
298
299
|
|
|
299
300
|
/**
|
|
@@ -335,7 +336,7 @@ class Rest extends Datasource {
|
|
|
335
336
|
datasource: this,
|
|
336
337
|
});
|
|
337
338
|
|
|
338
|
-
|
|
339
|
+
queueMicrotask(() => {
|
|
339
340
|
this[dataSourceSymbol]
|
|
340
341
|
.write()
|
|
341
342
|
.then((response) => {
|
|
@@ -353,7 +354,7 @@ class Rest extends Datasource {
|
|
|
353
354
|
addAttributeToken(this, ATTRIBUTE_ERRORMESSAGE, error.toString());
|
|
354
355
|
reject(error);
|
|
355
356
|
});
|
|
356
|
-
}
|
|
357
|
+
});
|
|
357
358
|
});
|
|
358
359
|
}
|
|
359
360
|
}
|
|
@@ -492,9 +493,9 @@ function initAutoInit() {
|
|
|
492
493
|
return;
|
|
493
494
|
}
|
|
494
495
|
|
|
495
|
-
|
|
496
|
+
queueMicrotask(() => {
|
|
496
497
|
this.fetch().catch(() => {});
|
|
497
|
-
}
|
|
498
|
+
});
|
|
498
499
|
}
|
|
499
500
|
|
|
500
501
|
function initEventHandler() {
|
|
@@ -290,12 +290,12 @@ class DataTable extends CustomElement {
|
|
|
290
290
|
|
|
291
291
|
this[datasourceLinkedElementSymbol] = element;
|
|
292
292
|
|
|
293
|
-
|
|
293
|
+
queueMicrotask(() => {
|
|
294
294
|
handleDataSourceChanges.call(this);
|
|
295
295
|
element.datasource.attachObserver(
|
|
296
296
|
new Observer(handleDataSourceChanges.bind(this)),
|
|
297
297
|
);
|
|
298
|
-
}
|
|
298
|
+
});
|
|
299
299
|
}
|
|
300
300
|
|
|
301
301
|
getHostConfig
|
|
@@ -658,7 +658,7 @@ function initEventHandler() {
|
|
|
658
658
|
|
|
659
659
|
headers[index].changeDirection();
|
|
660
660
|
|
|
661
|
-
|
|
661
|
+
queueMicrotask(function () {
|
|
662
662
|
/** hotfix, normally this should be done via the updater, no idea why this is not possible. */
|
|
663
663
|
element.setAttribute(
|
|
664
664
|
ATTRIBUTE_DATATABLE_SORTABLE,
|
|
@@ -666,7 +666,7 @@ function initEventHandler() {
|
|
|
666
666
|
);
|
|
667
667
|
|
|
668
668
|
storeOrderStatement.call(self, true);
|
|
669
|
-
}
|
|
669
|
+
});
|
|
670
670
|
}
|
|
671
671
|
});
|
|
672
672
|
}
|
|
@@ -797,9 +797,9 @@ function initGridAndStructs(hostConfig, headerOrderMap) {
|
|
|
797
797
|
}
|
|
798
798
|
|
|
799
799
|
this.setOption("headers", headers);
|
|
800
|
-
|
|
800
|
+
queueMicrotask(() => {
|
|
801
801
|
storeOrderStatement.call(this, this.getOption("features.autoInit"));
|
|
802
|
-
}
|
|
802
|
+
});
|
|
803
803
|
}
|
|
804
804
|
|
|
805
805
|
/**
|
|
@@ -480,9 +480,9 @@ function initEventHandler() {
|
|
|
480
480
|
|
|
481
481
|
// change the input value if the user change the value of the radio button
|
|
482
482
|
this[inputElementSymbol].addEventListener("change", (event) => {
|
|
483
|
-
|
|
483
|
+
queueMicrotask(() => {
|
|
484
484
|
updatePopperInputsFromMainValue.call(this);
|
|
485
|
-
}
|
|
485
|
+
});
|
|
486
486
|
});
|
|
487
487
|
|
|
488
488
|
// if the user change the value of on of the input fields, we should update the value of the input field
|
|
@@ -514,9 +514,9 @@ function initEventHandler() {
|
|
|
514
514
|
if (event.key === "Escape") {
|
|
515
515
|
hide.call(this);
|
|
516
516
|
|
|
517
|
-
|
|
517
|
+
queueMicrotask(() => {
|
|
518
518
|
this[inputElementSymbol].focus();
|
|
519
|
-
}
|
|
519
|
+
});
|
|
520
520
|
|
|
521
521
|
return;
|
|
522
522
|
}
|
|
@@ -600,10 +600,10 @@ function show() {
|
|
|
600
600
|
clearAndDisableFormGroups.call(this);
|
|
601
601
|
}
|
|
602
602
|
|
|
603
|
-
|
|
603
|
+
queueMicrotask(() => {
|
|
604
604
|
updatePopperInputsFromMainValue.call(this);
|
|
605
605
|
updatePopper.call(this);
|
|
606
|
-
}
|
|
606
|
+
});
|
|
607
607
|
}
|
|
608
608
|
|
|
609
609
|
/**
|
|
@@ -412,9 +412,9 @@ function initEventHandler() {
|
|
|
412
412
|
// if key code esc than hide dialog
|
|
413
413
|
if (event.key === "Escape") {
|
|
414
414
|
hide.call(this);
|
|
415
|
-
|
|
415
|
+
queueMicrotask(() => {
|
|
416
416
|
this[inputElementSymbol].focus();
|
|
417
|
-
}
|
|
417
|
+
});
|
|
418
418
|
|
|
419
419
|
return;
|
|
420
420
|
}
|
|
@@ -438,7 +438,7 @@ function initEventHandler() {
|
|
|
438
438
|
if (radio) {
|
|
439
439
|
radio.checked = true;
|
|
440
440
|
}
|
|
441
|
-
|
|
441
|
+
queueMicrotask(() => {
|
|
442
442
|
// focus the input field
|
|
443
443
|
const input = this[formContainerElementSymbol].querySelector(
|
|
444
444
|
"input[type=radio][value=single] ~ input[name=singleValue]",
|
|
@@ -446,7 +446,7 @@ function initEventHandler() {
|
|
|
446
446
|
if (input) {
|
|
447
447
|
input.focus();
|
|
448
448
|
}
|
|
449
|
-
}
|
|
449
|
+
});
|
|
450
450
|
}
|
|
451
451
|
});
|
|
452
452
|
|
|
@@ -386,14 +386,14 @@ function initControlReferences() {
|
|
|
386
386
|
}
|
|
387
387
|
|
|
388
388
|
function updateFilterSelections() {
|
|
389
|
-
|
|
389
|
+
queueMicrotask(() => {
|
|
390
390
|
const options = this[settingsSymbol].getOptions();
|
|
391
391
|
this[filterSelectElementSymbol].setOption("options", options);
|
|
392
|
-
|
|
392
|
+
queueMicrotask(() => {
|
|
393
393
|
this[filterSelectElementSymbol].value =
|
|
394
394
|
this[settingsSymbol].getSelected();
|
|
395
|
-
}
|
|
396
|
-
}
|
|
395
|
+
});
|
|
396
|
+
});
|
|
397
397
|
}
|
|
398
398
|
|
|
399
399
|
/**
|
|
@@ -260,7 +260,7 @@ function initControlReferences() {
|
|
|
260
260
|
);
|
|
261
261
|
|
|
262
262
|
if (this[stateButtonElementSymbol]) {
|
|
263
|
-
|
|
263
|
+
queueMicrotask(() => {
|
|
264
264
|
const states = {
|
|
265
265
|
changed: new State(
|
|
266
266
|
"changed",
|
|
@@ -278,7 +278,7 @@ function initControlReferences() {
|
|
|
278
278
|
"labels.button",
|
|
279
279
|
this.getOption("labels.button"),
|
|
280
280
|
);
|
|
281
|
-
}
|
|
281
|
+
});
|
|
282
282
|
}
|
|
283
283
|
|
|
284
284
|
return this;
|
|
@@ -288,7 +288,7 @@ function initControlReferences() {
|
|
|
288
288
|
* @private
|
|
289
289
|
*/
|
|
290
290
|
function initEventHandler() {
|
|
291
|
-
|
|
291
|
+
queueMicrotask(() => {
|
|
292
292
|
this[stateButtonElementSymbol].setOption("actions.click", () => {
|
|
293
293
|
this[datasourceLinkedElementSymbol]
|
|
294
294
|
.write()
|
|
@@ -308,7 +308,7 @@ function initEventHandler() {
|
|
|
308
308
|
addAttributeToken(this, ATTRIBUTE_ERRORMESSAGE, error.toString());
|
|
309
309
|
});
|
|
310
310
|
});
|
|
311
|
-
}
|
|
311
|
+
});
|
|
312
312
|
}
|
|
313
313
|
|
|
314
314
|
/**
|