@schukai/monster 3.73.9 → 3.74.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
/**
|