@schukai/monster 3.79.0 → 3.80.1
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 +22 -0
- package/package.json +1 -1
- package/source/components/content/copy.mjs +314 -312
- package/source/components/content/stylesheet/copy.mjs +13 -6
- package/source/components/form/field-set.mjs +1 -2
- package/source/components/form/select.mjs +1945 -1957
- package/source/components/form/stylesheet/field-set.mjs +13 -6
- package/source/components/form/toggle-switch.mjs +319 -319
- package/source/components/layout/collapse.mjs +351 -351
- package/source/components/layout/details.mjs +1 -1
- package/source/components/layout/iframe.mjs +1 -1
- package/source/components/layout/width-toggle.mjs +2 -3
- package/source/components/state/log.mjs +151 -152
- package/source/components/state/state.mjs +1 -1
- package/source/components/stylesheet/form.mjs +13 -6
- package/source/components/tree-menu/dragable-tree-menu.mjs +664 -664
- package/source/components/tree-menu/tree-menu.mjs +3 -27
- package/source/dom/customelement.mjs +18 -1
- package/source/monster.mjs +1 -1
- package/source/types/base.mjs +1 -3
- package/source/types/nodelist.mjs +0 -1
- package/source/types/proxyobserver.mjs +0 -2
- package/source/types/queue.mjs +0 -2
- package/source/types/randomid.mjs +0 -1
- package/source/types/regex.mjs +0 -1
- package/source/types/stack.mjs +1 -2
- package/source/types/tokenlist.mjs +0 -2
- package/source/types/typeof.mjs +0 -2
- package/source/types/uniquequeue.mjs +0 -1
- package/source/types/uuid.mjs +1 -2
- package/source/types/version.mjs +3 -6
- package/test/cases/monster.mjs +1 -1
- package/test/util/jsdom.mjs +0 -2
- package/test/web/test.html +2 -2
- package/test/web/tests.js +7455 -8361
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* SPDX-License-Identifier: AGPL-3.0
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
-
import {instanceSymbol} from "../../constants.mjs";
|
|
15
|
+
import { instanceSymbol } from "../../constants.mjs";
|
|
16
16
|
import { buildTree } from "../../data/buildtree.mjs";
|
|
17
17
|
import { Datasource } from "../datatable/datasource.mjs";
|
|
18
18
|
import { addAttributeToken } from "../../dom/attributes.mjs";
|
|
@@ -73,35 +73,11 @@ const openEntryEventHandlerSymbol = Symbol("openEntryEventHandler");
|
|
|
73
73
|
/**
|
|
74
74
|
* TreeMenu
|
|
75
75
|
*
|
|
76
|
-
* <img src="./images/tree-menu.png">
|
|
77
|
-
*
|
|
78
|
-
* You can create this control either by specifying the HTML tag `<monster-tree-menu />` directly in the HTML
|
|
79
|
-
*
|
|
80
|
-
* ```html
|
|
81
|
-
* <monster-tree-menu></monster-tree-menu>
|
|
82
|
-
* ```
|
|
83
|
-
*
|
|
84
|
-
* or using Javascript via the `document.createElement('monster-tree-menu');` method.
|
|
85
|
-
*
|
|
86
|
-
* ```javascript
|
|
87
|
-
* import {TreeMenu} from 'https://cdn.jsdelivr.net/npm/@schukai/component-treemenu@0.1.0/dist/modules/treemenu.js';
|
|
88
|
-
* document.createElement('monster-treemenu');
|
|
89
|
-
* ```
|
|
90
|
-
*
|
|
91
|
-
* @startuml tree-menu.png
|
|
92
|
-
* skinparam monochrome true
|
|
93
|
-
* skinparam shadowing false
|
|
94
|
-
* HTMLElement <|-- CustomElement
|
|
95
|
-
* CustomElement <|-- CustomControl
|
|
96
|
-
* CustomControl <|-- TreeMenu
|
|
97
|
-
* @enduml
|
|
98
76
|
* @since 1.0.0
|
|
99
|
-
* @copyright schukai GmbH
|
|
100
77
|
* @summary A TreeMenu control
|
|
101
|
-
* @fires
|
|
78
|
+
* @fires monster-fetched
|
|
102
79
|
*/
|
|
103
80
|
class TreeMenu extends CustomElement {
|
|
104
|
-
|
|
105
81
|
/**
|
|
106
82
|
* This method is called by the `instanceof` operator.
|
|
107
83
|
* @returns {symbol}
|
|
@@ -251,7 +227,7 @@ class TreeMenu extends CustomElement {
|
|
|
251
227
|
if (!currentNode) {
|
|
252
228
|
return;
|
|
253
229
|
}
|
|
254
|
-
|
|
230
|
+
|
|
255
231
|
currentNode.click();
|
|
256
232
|
|
|
257
233
|
let intend = parseInt(currentNode.getAttribute(ATTRIBUTE_INTEND));
|
|
@@ -327,6 +327,10 @@ class CustomElement extends HTMLElement {
|
|
|
327
327
|
* @property {Object} templates Specifies the templates used by the control.
|
|
328
328
|
* @property {string} templates.main=undefined Specifies the main template used by the control.
|
|
329
329
|
* @property {Object} templateMapping Specifies the mapping of templates.
|
|
330
|
+
* @property {Object} templateFormatter Specifies the formatter for the templates.
|
|
331
|
+
* @property {Object} templateFormatter.marker Specifies the marker for the templates.
|
|
332
|
+
* @property {Function} templateFormatter.marker.open=null Specifies the opening marker for the templates.
|
|
333
|
+
* @property {Function} templateFormatter.marker.close=null Specifies the closing marker for the templates.
|
|
330
334
|
* @property {Boolean} eventProcessing=false Specifies whether the control processes events.
|
|
331
335
|
* @since 1.8.0
|
|
332
336
|
*/
|
|
@@ -339,6 +343,12 @@ class CustomElement extends HTMLElement {
|
|
|
339
343
|
main: undefined,
|
|
340
344
|
},
|
|
341
345
|
templateMapping: {},
|
|
346
|
+
templateFormatter: {
|
|
347
|
+
marker: {
|
|
348
|
+
open: null,
|
|
349
|
+
close: null,
|
|
350
|
+
},
|
|
351
|
+
},
|
|
342
352
|
|
|
343
353
|
eventProcessing: false,
|
|
344
354
|
};
|
|
@@ -1200,7 +1210,14 @@ function initShadowRoot() {
|
|
|
1200
1210
|
|
|
1201
1211
|
const mapping = this.getOption("templateMapping", {});
|
|
1202
1212
|
if (isObject(mapping)) {
|
|
1203
|
-
|
|
1213
|
+
const formatter = new Formatter(mapping);
|
|
1214
|
+
if (this.getOption("templateFormatter.marker.open") !== null) {
|
|
1215
|
+
formatter.setMarker(
|
|
1216
|
+
this.getOption("templateFormatter.marker.open"),
|
|
1217
|
+
this.getOption("templateFormatter.marker.close"),
|
|
1218
|
+
);
|
|
1219
|
+
}
|
|
1220
|
+
html = formatter.format(html);
|
|
1204
1221
|
}
|
|
1205
1222
|
|
|
1206
1223
|
this.shadowRoot.innerHTML = html;
|
package/source/monster.mjs
CHANGED
|
@@ -27,6 +27,7 @@ export * from "./components/layout/width-toggle.mjs";
|
|
|
27
27
|
export * from "./components/layout/panel.mjs";
|
|
28
28
|
export * from "./components/layout/details.mjs";
|
|
29
29
|
export * from "./components/layout/slider.mjs";
|
|
30
|
+
export * from "./components/content/copy.mjs";
|
|
30
31
|
export * from "./components/form/message-state-button.mjs";
|
|
31
32
|
export * from "./components/form/button-bar.mjs";
|
|
32
33
|
export * from "./components/form/reload.mjs";
|
|
@@ -55,7 +56,6 @@ export * from "./components/form/constants.mjs";
|
|
|
55
56
|
export * from "./components/notify/message.mjs";
|
|
56
57
|
export * from "./components/notify/notify.mjs";
|
|
57
58
|
export * from "./components/notify/constants.mjs";
|
|
58
|
-
//export * from "./components/tree-menu/dragable-tree-menu.mjs";
|
|
59
59
|
export * from "./components/tree-menu/tree-menu.mjs";
|
|
60
60
|
export * from "./components/host/collapse.mjs";
|
|
61
61
|
export * from "./components/host/config-manager.mjs";
|
package/source/types/base.mjs
CHANGED
|
@@ -37,14 +37,12 @@ export { Base };
|
|
|
37
37
|
*
|
|
38
38
|
* The class was formerly called Object.
|
|
39
39
|
*
|
|
40
|
-
* @license AGPLv3
|
|
41
40
|
* @since 1.5.0
|
|
42
41
|
* @copyright schukai GmbH
|
|
43
|
-
* @
|
|
42
|
+
* @summary The base class for the most classes in the monster library
|
|
44
43
|
*/
|
|
45
44
|
class Base extends Object {
|
|
46
45
|
/**
|
|
47
|
-
*
|
|
48
46
|
* @returns {string}
|
|
49
47
|
*/
|
|
50
48
|
toString() {
|
|
@@ -30,11 +30,9 @@ export { ProxyObserver };
|
|
|
30
30
|
*
|
|
31
31
|
* This also applies to nested objects.
|
|
32
32
|
*
|
|
33
|
-
* @externalExample ../../example/types/proxyobserver.mjs
|
|
34
33
|
* @license AGPLv3
|
|
35
34
|
* @since 1.0.0
|
|
36
35
|
* @copyright schukai GmbH
|
|
37
|
-
* @memberOf Monster.Types
|
|
38
36
|
*/
|
|
39
37
|
class ProxyObserver extends Base {
|
|
40
38
|
/**
|
package/source/types/queue.mjs
CHANGED
|
@@ -26,11 +26,9 @@ export { Queue };
|
|
|
26
26
|
*
|
|
27
27
|
* You can create the instance via `new Queue()`.
|
|
28
28
|
*
|
|
29
|
-
* @externalExample ../../example/types/queue.mjs
|
|
30
29
|
* @license AGPLv3
|
|
31
30
|
* @since 1.4.0
|
|
32
31
|
* @copyright schukai GmbH
|
|
33
|
-
* @memberOf Monster.Types
|
|
34
32
|
* @summary A Queue (Fifo)
|
|
35
33
|
*/
|
|
36
34
|
class Queue extends Base {
|
package/source/types/regex.mjs
CHANGED
package/source/types/stack.mjs
CHANGED
|
@@ -17,12 +17,11 @@ import { instanceSymbol } from "../constants.mjs";
|
|
|
17
17
|
export { Stack };
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
|
-
* You can call the method via the monster namespace `new
|
|
20
|
+
* You can call the method via the monster namespace `new Queue()`.
|
|
21
21
|
*
|
|
22
22
|
* @license AGPLv3
|
|
23
23
|
* @since 1.4.0
|
|
24
24
|
* @copyright schukai GmbH
|
|
25
|
-
* @memberOf Monster.Types
|
|
26
25
|
*/
|
|
27
26
|
class Stack extends Base {
|
|
28
27
|
/**
|
|
@@ -25,11 +25,9 @@ export { TokenList };
|
|
|
25
25
|
*
|
|
26
26
|
* This class implements the [iteration protocol](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols).
|
|
27
27
|
*
|
|
28
|
-
* @externalExample ../../example/types/tokenlist-1.mjs
|
|
29
28
|
* @license AGPLv3
|
|
30
29
|
* @since 1.2.0
|
|
31
30
|
* @copyright schukai GmbH
|
|
32
|
-
* @memberOf Monster.Types
|
|
33
31
|
*/
|
|
34
32
|
class TokenList extends Base {
|
|
35
33
|
/**
|
package/source/types/typeof.mjs
CHANGED
|
@@ -17,13 +17,11 @@ export { typeOf };
|
|
|
17
17
|
/**
|
|
18
18
|
* The built-in typeof method is known to have some historical weaknesses. This function tries to provide a better and more accurate result.
|
|
19
19
|
*
|
|
20
|
-
* @externalExample ../../example/types/typeof.mjs
|
|
21
20
|
* @param {*} value
|
|
22
21
|
* @return {string}
|
|
23
22
|
* @license AGPLv3
|
|
24
23
|
* @since 1.7.0
|
|
25
24
|
* @copyright schukai GmbH
|
|
26
|
-
* @memberOf Monster.Types
|
|
27
25
|
* @throws {TypeError} value is not a primitive
|
|
28
26
|
*/
|
|
29
27
|
function typeOf(value) {
|
package/source/types/uuid.mjs
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
import { internalSymbol } from "../constants.mjs";
|
|
16
16
|
import { random } from "../math/random.mjs";
|
|
17
|
-
import { isObject } from "
|
|
17
|
+
import { isObject } from "./is.mjs";
|
|
18
18
|
import { Base } from "./base.mjs";
|
|
19
19
|
import { getGlobalObject } from "./global.mjs";
|
|
20
20
|
|
|
@@ -26,7 +26,6 @@ export { UUID };
|
|
|
26
26
|
* @license AGPLv3
|
|
27
27
|
* @since 1.25.0
|
|
28
28
|
* @copyright schukai GmbH
|
|
29
|
-
* @memberOf Monster.Types
|
|
30
29
|
* @throws {Error} unsupported
|
|
31
30
|
*/
|
|
32
31
|
class UUID extends Base {
|
package/source/types/version.mjs
CHANGED
|
@@ -25,8 +25,7 @@ export { Version, getMonsterVersion };
|
|
|
25
25
|
* @since 1.0.0
|
|
26
26
|
* @author schukai GmbH
|
|
27
27
|
* @copyright schukai GmbH
|
|
28
|
-
* @
|
|
29
|
-
* @summary The version object contains a sematic version number
|
|
28
|
+
* @summary The version object contains a semantic version number
|
|
30
29
|
*/
|
|
31
30
|
class Version extends Base {
|
|
32
31
|
/**
|
|
@@ -145,13 +144,11 @@ let monsterVersion;
|
|
|
145
144
|
/**
|
|
146
145
|
* Version of monster
|
|
147
146
|
*
|
|
148
|
-
* @
|
|
149
|
-
* @returns {Monster.Types.Version}
|
|
147
|
+
* @returns {Version}
|
|
150
148
|
* @license AGPLv3
|
|
151
149
|
* @since 1.0.0
|
|
152
150
|
* @copyright schukai GmbH
|
|
153
151
|
* @author schukai GmbH
|
|
154
|
-
* @memberOf Monster
|
|
155
152
|
*/
|
|
156
153
|
function getMonsterVersion() {
|
|
157
154
|
if (monsterVersion instanceof Version) {
|
|
@@ -159,7 +156,7 @@ function getMonsterVersion() {
|
|
|
159
156
|
}
|
|
160
157
|
|
|
161
158
|
/** don't touch, replaced by make with package.json version */
|
|
162
|
-
monsterVersion = new Version("3.
|
|
159
|
+
monsterVersion = new Version("3.79.0");
|
|
163
160
|
|
|
164
161
|
return monsterVersion;
|
|
165
162
|
}
|
package/test/cases/monster.mjs
CHANGED
package/test/util/jsdom.mjs
CHANGED
package/test/web/test.html
CHANGED
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
</head>
|
|
10
10
|
<body>
|
|
11
11
|
<div id="headline" style="display: flex;align-items: center;justify-content: center;flex-direction: column;">
|
|
12
|
-
<h1 style='margin-bottom: 0.1em;'>Monster 3.
|
|
13
|
-
<div id="lastupdate" style='font-size:0.7em'>last update
|
|
12
|
+
<h1 style='margin-bottom: 0.1em;'>Monster 3.79.0</h1>
|
|
13
|
+
<div id="lastupdate" style='font-size:0.7em'>last update So 6. Okt 14:35:17 CEST 2024</div>
|
|
14
14
|
</div>
|
|
15
15
|
<div id="mocha-errors"
|
|
16
16
|
style="color: red;font-weight: bold;display: flex;align-items: center;justify-content: center;flex-direction: column;margin:20px;"></div>
|