@schukai/monster 3.99.0 → 3.99.2
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 +16 -0
- package/package.json +1 -1
- package/source/components/datatable/dataset.mjs +7 -2
- package/source/components/datatable/datasource/rest.mjs +7 -7
- package/source/components/datatable/datatable/header.mjs +13 -4
- package/source/components/datatable/datatable.mjs +1141 -1144
- package/source/components/form/action-button.mjs +1 -1
- package/source/components/form/api-button.mjs +1 -1
- package/source/components/form/button-bar.mjs +1 -1
- package/source/components/form/button.mjs +1 -1
- package/source/components/form/context-error.mjs +1 -1
- package/source/components/form/field-set.mjs +1 -1
- package/source/components/form/popper-button.mjs +274 -274
- package/source/components/form/reload.mjs +1 -1
- package/source/components/form/toggle-switch.mjs +1 -1
- package/source/dom/customelement.mjs +936 -946
- package/source/dom/error.mjs +59 -66
- package/source/monster.mjs +1 -0
package/CHANGELOG.md
CHANGED
@@ -2,6 +2,22 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
+
## [3.99.2] - 2025-01-10
|
6
|
+
|
7
|
+
### Bug Fixes
|
8
|
+
|
9
|
+
- **datatable:** set order template [#187](https://gitlab.schukai.com/oss/libraries/javascript/monster/issues/187)
|
10
|
+
|
11
|
+
|
12
|
+
|
13
|
+
## [3.99.1] - 2025-01-10
|
14
|
+
|
15
|
+
### Bug Fixes
|
16
|
+
|
17
|
+
- check if element exists [#278](https://gitlab.schukai.com/oss/libraries/javascript/monster/issues/278)
|
18
|
+
|
19
|
+
|
20
|
+
|
5
21
|
## [3.99.0] - 2025-01-07
|
6
22
|
|
7
23
|
### Add Features
|
package/package.json
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"author":"schukai GmbH","dependencies":{"@floating-ui/dom":"^1.6.13","@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.99.
|
1
|
+
{"author":"schukai GmbH","dependencies":{"@floating-ui/dom":"^1.6.13","@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.99.2"}
|
@@ -150,8 +150,13 @@ class DataSet extends CustomElement {
|
|
150
150
|
*/
|
151
151
|
refresh() {
|
152
152
|
// makes sure that handleDataSourceChanges is called
|
153
|
-
|
154
|
-
|
153
|
+
return new Promise((resolve) => {
|
154
|
+
this.setOption("data", {});
|
155
|
+
queueMicrotask(() => {
|
156
|
+
handleDataSourceChanges.call(this);
|
157
|
+
resolve();
|
158
|
+
});
|
159
|
+
});
|
155
160
|
}
|
156
161
|
|
157
162
|
/**
|
@@ -118,7 +118,7 @@ class Rest extends Datasource {
|
|
118
118
|
* @property {string} read.method The method of the rest api
|
119
119
|
* @property {Object} read.parameters The parameters of the rest api
|
120
120
|
* @property {Object} read.parameters.filter The filter of the rest api
|
121
|
-
* @property {Object} read.parameters.
|
121
|
+
* @property {Object} read.parameters.order The order by of the rest api
|
122
122
|
* @property {Object} read.parameters.page The page of the rest api
|
123
123
|
* @property {string} read.mapping.currentPage The current page
|
124
124
|
* @property {Object} write Write configuration
|
@@ -131,7 +131,7 @@ class Rest extends Datasource {
|
|
131
131
|
|
132
132
|
restOptions.read.parameters = {
|
133
133
|
filter: null,
|
134
|
-
|
134
|
+
order: null,
|
135
135
|
page: "1",
|
136
136
|
};
|
137
137
|
|
@@ -175,10 +175,10 @@ class Rest extends Datasource {
|
|
175
175
|
*
|
176
176
|
* @param {string} page
|
177
177
|
* @param {string} query
|
178
|
-
* @param {string}
|
178
|
+
* @param {string} order
|
179
179
|
* @return {Rest}
|
180
180
|
*/
|
181
|
-
setParameters({ page, query,
|
181
|
+
setParameters({ page, query, order }) {
|
182
182
|
const parameters = this.getOption("read.parameters");
|
183
183
|
if (query !== undefined) {
|
184
184
|
parameters.query = `${query}`;
|
@@ -187,7 +187,7 @@ class Rest extends Datasource {
|
|
187
187
|
|
188
188
|
// after a query the page is set to 1, so if the page is not set, it is set to 1
|
189
189
|
if (page !== undefined) parameters.page = `${page}`;
|
190
|
-
if (
|
190
|
+
if (order !== undefined) parameters.order = `${order}`;
|
191
191
|
this.setOption("read.parameters", parameters);
|
192
192
|
return this;
|
193
193
|
}
|
@@ -305,8 +305,8 @@ class Rest extends Datasource {
|
|
305
305
|
param.page = "1";
|
306
306
|
}
|
307
307
|
|
308
|
-
if (param.
|
309
|
-
param.
|
308
|
+
if (param.order === null || param.order === undefined) {
|
309
|
+
param.order = "";
|
310
310
|
}
|
311
311
|
|
312
312
|
const formatter = new Formatter(param);
|
@@ -21,6 +21,7 @@ import {
|
|
21
21
|
validateIterable,
|
22
22
|
validateInstance,
|
23
23
|
} from "../../../types/validate.mjs";
|
24
|
+
import {Formatter} from "../../../text/formatter.mjs";
|
24
25
|
|
25
26
|
export {
|
26
27
|
Header,
|
@@ -104,6 +105,7 @@ class Header extends Base {
|
|
104
105
|
mode: undefined,
|
105
106
|
grid: undefined,
|
106
107
|
features: undefined,
|
108
|
+
orderTemplate: undefined,
|
107
109
|
};
|
108
110
|
}
|
109
111
|
|
@@ -238,10 +240,11 @@ class Header extends Base {
|
|
238
240
|
|
239
241
|
/**
|
240
242
|
* @private
|
241
|
-
* @param {
|
243
|
+
* @param {Header[]} headers
|
244
|
+
* @param {string} delimiter
|
242
245
|
* @return {string}
|
243
246
|
*/
|
244
|
-
function createOrderStatement(headers) {
|
247
|
+
function createOrderStatement(headers, delimiter = ",") {
|
245
248
|
validateIterable(headers);
|
246
249
|
|
247
250
|
const oderStatement = [];
|
@@ -254,7 +257,7 @@ function createOrderStatement(headers) {
|
|
254
257
|
}
|
255
258
|
oderStatement.push(order);
|
256
259
|
}
|
257
|
-
return oderStatement.join(
|
260
|
+
return oderStatement.join(delimiter);
|
258
261
|
}
|
259
262
|
|
260
263
|
/**
|
@@ -274,7 +277,13 @@ function updateStruct() {
|
|
274
277
|
}
|
275
278
|
|
276
279
|
if (direction) {
|
277
|
-
|
280
|
+
const tmpl = this.getInternal("orderTemplate");
|
281
|
+
const formatter = new Formatter({
|
282
|
+
"direction": direction,
|
283
|
+
"label": label,
|
284
|
+
"field": field,
|
285
|
+
});
|
286
|
+
order = formatter.format(tmpl);
|
278
287
|
}
|
279
288
|
|
280
289
|
this.setInternal("order", order);
|