@schukai/monster 3.51.5 → 3.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 +17 -0
- package/README.md +15 -12
- package/example/components/form/button.mjs +10 -0
- package/example/components/form/select.mjs +25 -0
- package/example/components/form/tree-select.mjs +27 -0
- package/example/components/host/host.mjs +0 -0
- package/example/components/notify/message.mjs +4 -0
- package/example/components/notify/notify.mjs +4 -0
- package/example/components/state/log.mjs +0 -0
- package/example/components/state/state.mjs +0 -0
- package/package.json +6 -2
- package/source/components/constants.mjs +132 -0
- package/source/components/datatable/columnbar.mjs +310 -0
- package/source/components/datatable/constants.mjs +121 -0
- package/source/components/datatable/dataset.mjs +219 -0
- package/source/components/datatable/datasource/dom.mjs +186 -0
- package/source/components/datatable/datasource/namespace.mjs +13 -0
- package/source/components/datatable/datasource/rest.mjs +400 -0
- package/source/components/datatable/datasource.mjs +102 -0
- package/source/components/datatable/datatable/header.mjs +268 -0
- package/source/components/datatable/datatable/namespace.mjs +13 -0
- package/source/components/datatable/datatable.mjs +789 -0
- package/source/components/datatable/embedded-pagination.mjs +113 -0
- package/source/components/datatable/filter/abstract-base.mjs +31 -0
- package/source/components/datatable/filter/date-range.mjs +1041 -0
- package/source/components/datatable/filter/input.mjs +175 -0
- package/source/components/datatable/filter/namespace.mjs +13 -0
- package/source/components/datatable/filter/range.mjs +671 -0
- package/source/components/datatable/filter/select.mjs +65 -0
- package/source/components/datatable/filter/settings.mjs +116 -0
- package/source/components/datatable/filter-button.mjs +98 -0
- package/source/components/datatable/filter.mjs +929 -0
- package/source/components/datatable/namespace.mjs +11 -0
- package/source/components/datatable/pagination.mjs +456 -0
- package/source/components/datatable/style/column-bar.pcss +123 -0
- package/source/components/datatable/style/dataset.pcss +13 -0
- package/source/components/datatable/style/datasource.pcss +16 -0
- package/source/components/datatable/style/datatable.pcss +239 -0
- package/source/components/datatable/style/embedded-pagination.pcss +101 -0
- package/source/components/datatable/style/filter-button.pcss +22 -0
- package/source/components/datatable/style/filter-controls-defaults.pcss +46 -0
- package/source/components/datatable/style/filter-date-range.pcss +9 -0
- package/source/components/datatable/style/filter-range.pcss +5 -0
- package/source/components/datatable/style/filter.pcss +156 -0
- package/source/components/datatable/style/pagination.pcss +59 -0
- package/source/components/datatable/style/select-filter.pcss +27 -0
- package/source/components/datatable/stylesheet/column-bar.mjs +33 -0
- package/source/components/datatable/stylesheet/dataset.mjs +33 -0
- package/source/components/datatable/stylesheet/datasource.mjs +33 -0
- package/source/components/datatable/stylesheet/datatable.mjs +33 -0
- package/source/components/datatable/stylesheet/embedded-pagination.mjs +33 -0
- package/source/components/datatable/stylesheet/filter-button.mjs +33 -0
- package/source/components/datatable/stylesheet/filter-controls-defaults.mjs +33 -0
- package/source/components/datatable/stylesheet/filter-date-range.mjs +33 -0
- package/source/components/datatable/stylesheet/filter-range.mjs +33 -0
- package/source/components/datatable/stylesheet/filter.mjs +33 -0
- package/source/components/datatable/stylesheet/namespace.mjs +13 -0
- package/source/components/datatable/stylesheet/pagination.mjs +33 -0
- package/source/components/datatable/stylesheet/select-filter.mjs +33 -0
- package/source/components/datatable/util.mjs +60 -0
- package/source/components/form/action-button.mjs +262 -0
- package/source/components/form/api-button.mjs +515 -0
- package/source/components/form/button-bar.mjs +739 -0
- package/source/components/form/button.mjs +350 -0
- package/source/components/form/confirm-button.mjs +330 -0
- package/source/components/form/constants.mjs +111 -0
- package/source/components/form/context-help.mjs +123 -0
- package/source/components/form/events.mjs +84 -0
- package/source/components/form/form.mjs +601 -0
- package/source/components/form/message-state-button.mjs +396 -0
- package/source/components/form/namespace.mjs +13 -0
- package/source/components/form/popper-button.mjs +435 -0
- package/source/components/form/popper.mjs +487 -0
- package/source/components/form/reload.mjs +360 -0
- package/source/components/form/select.mjs +2314 -0
- package/source/components/form/shadow-reload.mjs +137 -0
- package/source/components/form/state-button.mjs +182 -0
- package/source/components/form/style/action-button.pcss +41 -0
- package/source/components/form/style/api-button.pcss +0 -0
- package/source/components/form/style/button-bar.pcss +51 -0
- package/source/components/form/style/button.pcss +8 -0
- package/source/components/form/style/confirm-button.pcss +17 -0
- package/source/components/form/style/context-help.pcss +16 -0
- package/source/components/form/style/form.pcss +10 -0
- package/source/components/form/style/message-state-button.pcss +10 -0
- package/source/components/form/style/popper-button.pcss +16 -0
- package/source/components/form/style/popper.pcss +8 -0
- package/source/components/form/style/select.pcss +265 -0
- package/source/components/form/style/state-button.pcss +116 -0
- package/source/components/form/style/tabs.pcss +170 -0
- package/source/components/form/style/tree-select.pcss +81 -0
- package/source/components/form/stylesheet/action-button.mjs +33 -0
- package/source/components/form/stylesheet/api-button.mjs +33 -0
- package/source/components/form/stylesheet/button-bar.mjs +33 -0
- package/source/components/form/stylesheet/button.mjs +33 -0
- package/source/components/form/stylesheet/confirm-button.mjs +33 -0
- package/source/components/form/stylesheet/context-help.mjs +33 -0
- package/source/components/form/stylesheet/form.mjs +33 -0
- package/source/components/form/stylesheet/message-state-button.mjs +33 -0
- package/source/components/form/stylesheet/namespace.mjs +13 -0
- package/source/components/form/stylesheet/popper-button.mjs +33 -0
- package/source/components/form/stylesheet/popper.mjs +33 -0
- package/source/components/form/stylesheet/select.mjs +33 -0
- package/source/components/form/stylesheet/state-button.mjs +33 -0
- package/source/components/form/stylesheet/tabs.mjs +33 -0
- package/source/components/form/stylesheet/tree-select.mjs +33 -0
- package/source/components/form/tabs.mjs +1011 -0
- package/source/components/form/template.mjs +373 -0
- package/source/components/form/tree-select.mjs +527 -0
- package/source/components/form/types/namespace.mjs +13 -0
- package/source/components/form/types/state.mjs +93 -0
- package/source/components/form/util/fetch.mjs +133 -0
- package/source/components/form/util/floating-ui.mjs +245 -0
- package/source/components/form/util/namespace.mjs +13 -0
- package/source/components/form/util/popper.mjs +49 -0
- package/source/components/host/call-button.mjs +236 -0
- package/source/components/host/collapse.mjs +526 -0
- package/source/components/host/config-manager.mjs +304 -0
- package/source/components/host/constants.mjs +18 -0
- package/source/components/host/details.mjs +268 -0
- package/source/components/host/events.mjs +131 -0
- package/source/components/host/host.mjs +420 -0
- package/source/components/host/namespace.mjs +13 -0
- package/source/components/host/overlay.mjs +339 -0
- package/source/components/host/style/call-button.pcss +36 -0
- package/source/components/host/style/collapse.pcss +67 -0
- package/source/components/host/style/config-manager.pcss +5 -0
- package/source/components/host/style/details.pcss +68 -0
- package/source/components/host/style/host.pcss +43 -0
- package/source/components/host/style/overlay.pcss +73 -0
- package/source/components/host/style/toggle-button.pcss +36 -0
- package/source/components/host/style/viewer.pcss +13 -0
- package/source/components/host/stylesheet/call-button.mjs +33 -0
- package/source/components/host/stylesheet/collapse.mjs +33 -0
- package/source/components/host/stylesheet/config-manager.mjs +33 -0
- package/source/components/host/stylesheet/details.mjs +33 -0
- package/source/components/host/stylesheet/host.mjs +33 -0
- package/source/components/host/stylesheet/namespace.mjs +13 -0
- package/source/components/host/stylesheet/overlay.mjs +33 -0
- package/source/components/host/stylesheet/toggle-button.mjs +33 -0
- package/source/components/host/stylesheet/viewer.mjs +33 -0
- package/source/components/host/toggle-button.mjs +88 -0
- package/source/components/host/util.mjs +23 -0
- package/source/components/host/viewer.mjs +309 -0
- package/source/components/namespace.mjs +14 -0
- package/source/components/notify/constants.mjs +15 -0
- package/source/components/notify/events.mjs +15 -0
- package/source/components/notify/message.mjs +374 -0
- package/source/components/notify/namespace.mjs +15 -0
- package/source/components/notify/notify.mjs +236 -0
- package/source/components/notify/style/message.pcss +57 -0
- package/source/components/notify/style/notify.pcss +118 -0
- package/source/components/notify/stylesheet/message.mjs +33 -0
- package/source/components/notify/stylesheet/namespace.mjs +15 -0
- package/source/components/notify/stylesheet/notify.mjs +33 -0
- package/source/components/state/log/entry.mjs +126 -0
- package/source/components/state/log/namespace.mjs +13 -0
- package/source/components/state/log.mjs +275 -0
- package/source/components/state/namespace.mjs +13 -0
- package/source/components/state/state.mjs +131 -0
- package/source/components/state/style/log.pcss +111 -0
- package/source/components/state/style/state.pcss +113 -0
- package/source/components/state/stylesheet/log.mjs +33 -0
- package/source/components/state/stylesheet/state.mjs +33 -0
- package/source/components/style/badge.pcss +92 -0
- package/source/components/style/border.pcss +77 -0
- package/source/components/style/button.pcss +105 -0
- package/source/components/style/card.pcss +108 -0
- package/source/components/style/color.pcss +257 -0
- package/source/components/style/common.pcss +103 -0
- package/source/components/style/control.pcss +11 -0
- package/source/components/style/data-grid.pcss +43 -0
- package/source/components/style/display.pcss +42 -0
- package/source/components/style/floating-ui.pcss +33 -0
- package/source/components/style/form.pcss +5 -0
- package/source/components/style/host.pcss +15 -0
- package/source/components/style/link.pcss +63 -0
- package/source/components/style/mixin/badge.pcss +18 -0
- package/source/components/style/mixin/button.pcss +54 -0
- package/source/components/style/mixin/form.pcss +247 -0
- package/source/components/style/mixin/hover.pcss +8 -0
- package/source/components/style/mixin/media.pcss +107 -0
- package/source/components/style/mixin/property.pcss +288 -0
- package/source/components/style/mixin/skeleton.pcss +26 -0
- package/source/components/style/mixin/spinner.pcss +24 -0
- package/source/components/style/mixin/typography.pcss +52 -0
- package/source/components/style/normalize.pcss +14 -0
- package/source/components/style/popper.pcss +78 -0
- package/source/components/style/property.pcss +17 -0
- package/source/components/style/ripple.pcss +14 -0
- package/source/components/style/skeleton.pcss +28 -0
- package/source/components/style/space.pcss +47 -0
- package/source/components/style/spinner.pcss +6 -0
- package/source/components/style/table.pcss +46 -0
- package/source/components/style/theme.pcss +119 -0
- package/source/components/style/typography.pcss +131 -0
- package/source/components/stylesheet/badge.mjs +33 -0
- package/source/components/stylesheet/border.mjs +33 -0
- package/source/components/stylesheet/button.mjs +33 -0
- package/source/components/stylesheet/card.mjs +33 -0
- package/source/components/stylesheet/color.mjs +33 -0
- package/source/components/stylesheet/common.mjs +33 -0
- package/source/components/stylesheet/control.mjs +33 -0
- package/source/components/stylesheet/data-grid.mjs +33 -0
- package/source/components/stylesheet/display.mjs +33 -0
- package/source/components/stylesheet/floating-ui.mjs +33 -0
- package/source/components/stylesheet/form.mjs +33 -0
- package/source/components/stylesheet/host.mjs +33 -0
- package/source/components/stylesheet/link.mjs +33 -0
- package/source/components/stylesheet/namespace.mjs +13 -0
- package/source/components/stylesheet/normalize.mjs +33 -0
- package/source/components/stylesheet/popper.mjs +33 -0
- package/source/components/stylesheet/property.mjs +33 -0
- package/source/components/stylesheet/ripple.mjs +33 -0
- package/source/components/stylesheet/skeleton.mjs +33 -0
- package/source/components/stylesheet/space.mjs +33 -0
- package/source/components/stylesheet/spinner.mjs +33 -0
- package/source/components/stylesheet/table.mjs +33 -0
- package/source/components/stylesheet/theme.mjs +33 -0
- package/source/components/stylesheet/tree-menu.mjs +33 -0
- package/source/components/stylesheet/typography.mjs +33 -0
- package/source/components/tree-menu/namespace.mjs +13 -0
- package/source/components/tree-menu/style/tree-menu.pcss +107 -0
- package/source/components/tree-menu/stylesheet/namespace.mjs +13 -0
- package/source/components/tree-menu/stylesheet/tree-menu.mjs +33 -0
- package/source/components/tree-menu/tree-menu.mjs +660 -0
- package/source/constraints/abstract.mjs +17 -24
- package/source/constraints/abstractoperator.mjs +27 -22
- package/source/constraints/andoperator.mjs +20 -17
- package/source/constraints/invalid.mjs +17 -17
- package/source/constraints/isarray.mjs +20 -20
- package/source/constraints/isobject.mjs +20 -20
- package/source/constraints/oroperator.mjs +45 -45
- package/source/constraints/valid.mjs +17 -17
- package/source/data/buildmap.mjs +108 -103
- package/source/data/buildtree.mjs +59 -57
- package/source/data/datasource/dom.mjs +80 -84
- package/source/data/datasource/namespace.mjs +1 -1
- package/source/data/datasource/server/restapi/data-fetch-error.mjs +27 -25
- package/source/data/datasource/server/restapi/writeerror.mjs +34 -32
- package/source/data/datasource/server/restapi.mjs +176 -177
- package/source/data/datasource/server/webconnect.mjs +150 -156
- package/source/data/datasource/server.mjs +58 -59
- package/source/data/datasource/storage/localstorage.mjs +25 -24
- package/source/data/datasource/storage/sessionstorage.mjs +28 -25
- package/source/data/datasource/storage.mjs +74 -73
- package/source/data/datasource.mjs +176 -167
- package/source/data/diff.mjs +98 -97
- package/source/data/extend.mjs +42 -42
- package/source/data/pathfinder.mjs +301 -288
- package/source/data/pipe.mjs +36 -36
- package/source/data/transformer.mjs +742 -726
- package/source/dom/assembler.mjs +44 -44
- package/source/dom/attributes.mjs +142 -122
- package/source/dom/constants.mjs +62 -58
- package/source/dom/customcontrol.mjs +299 -299
- package/source/dom/customelement.mjs +843 -806
- package/source/dom/dimension.mjs +56 -46
- package/source/dom/events.mjs +74 -69
- package/source/dom/focusmanager.mjs +175 -175
- package/source/dom/locale.mjs +28 -28
- package/source/dom/ready.mjs +13 -13
- package/source/dom/resource/data.mjs +117 -111
- package/source/dom/resource/link/stylesheet.mjs +16 -16
- package/source/dom/resource/link.mjs +94 -96
- package/source/dom/resource/script.mjs +72 -74
- package/source/dom/resource.mjs +174 -172
- package/source/dom/resourcemanager.mjs +152 -156
- package/source/dom/slotted.mjs +78 -80
- package/source/dom/template.mjs +126 -112
- package/source/dom/theme.mjs +35 -35
- package/source/dom/updater.mjs +673 -651
- package/source/dom/util/extract-keys.mjs +34 -22
- package/source/dom/util/init-options-from-attributes.mjs +46 -38
- package/source/dom/util/namespace.mjs +13 -0
- package/source/dom/util/set-option-from-attribute.mjs +35 -29
- package/source/dom/util.mjs +112 -81
- package/source/dom/worker/factory.mjs +83 -83
- package/source/i18n/formatter.mjs +75 -73
- package/source/i18n/locale.mjs +146 -144
- package/source/i18n/provider.mjs +70 -64
- package/source/i18n/providers/embed.mjs +136 -127
- package/source/i18n/providers/fetch.mjs +84 -76
- package/source/i18n/translations.mjs +205 -195
- package/source/logging/handler/console.mjs +36 -36
- package/source/logging/handler.mjs +140 -140
- package/source/logging/logentry.mjs +25 -25
- package/source/logging/logger.mjs +177 -175
- package/source/math/random.mjs +63 -59
- package/source/monster.mjs +223 -103
- package/source/net/webconnect/message.mjs +31 -31
- package/source/net/webconnect.mjs +278 -271
- package/source/text/bracketed-key-value-hash.mjs +182 -179
- package/source/text/formatter.mjs +235 -210
- package/source/text/generate-range-comparison-expression.mjs +56 -34
- package/source/text/namespace.mjs +1 -1
- package/source/types/base.mjs +69 -61
- package/source/types/basewithoptions.mjs +46 -46
- package/source/types/binary.mjs +20 -20
- package/source/types/dataurl.mjs +96 -90
- package/source/types/global.mjs +45 -39
- package/source/types/id.mjs +25 -25
- package/source/types/internal.mjs +115 -114
- package/source/types/is.mjs +56 -40
- package/source/types/mediatype.mjs +119 -119
- package/source/types/namespace.mjs +1 -1
- package/source/types/node.mjs +160 -150
- package/source/types/nodelist.mjs +94 -96
- package/source/types/noderecursiveiterator.mjs +50 -50
- package/source/types/observablequeue.mjs +73 -73
- package/source/types/observer.mjs +104 -104
- package/source/types/observerlist.mjs +66 -66
- package/source/types/proxyobserver.mjs +210 -210
- package/source/types/queue.mjs +63 -63
- package/source/types/randomid.mjs +13 -13
- package/source/types/regex.mjs +3 -1
- package/source/types/stack.mjs +64 -64
- package/source/types/tokenlist.mjs +206 -205
- package/source/types/typeof.mjs +12 -10
- package/source/types/uniquequeue.mjs +48 -48
- package/source/types/uuid.mjs +32 -32
- package/source/types/validate.mjs +67 -67
- package/source/types/version.mjs +115 -105
- package/source/util/clone.mjs +103 -91
- package/source/util/comparator.mjs +97 -97
- package/source/util/deadmansswitch.mjs +40 -44
- package/source/util/freeze.mjs +10 -9
- package/source/util/namespace.mjs +1 -1
- package/source/util/processing.mjs +104 -105
- package/source/util/runtime.mjs +56 -44
- package/source/util/trimspaces.mjs +24 -24
- package/test/cases/components/form/button.mjs +122 -0
- package/test/cases/components/form/confirm-button.mjs +127 -0
- package/test/cases/components/form/form.mjs +317 -0
- package/test/cases/components/form/reload.mjs +188 -0
- package/test/cases/components/form/select.mjs +229 -0
- package/test/cases/components/form/state-button.mjs +130 -0
- package/test/cases/components/form/tabs.mjs +98 -0
- package/test/cases/components/form/template.mjs +189 -0
- package/test/cases/components/form/tree-select.mjs +216 -0
- package/test/cases/components/host/details.mjs +68 -0
- package/test/cases/components/host/host.mjs +70 -0
- package/test/cases/components/host/overlay.mjs +60 -0
- package/test/cases/components/host/util.mjs +79 -0
- package/test/cases/components/notify/message.mjs +39 -0
- package/test/cases/components/notify/notify.mjs +89 -0
- package/test/cases/dom/customcontrol.mjs +5 -4
- package/test/cases/math/random.mjs +0 -1
- package/test/cases/monster.mjs +1 -1
- package/test/cases/net/webconnect/message.mjs +0 -1
- package/test/cases/types/node.mjs +1 -1
- package/test/util/chai-dom.mjs +2 -2
- package/test/util/intersection-mock.mjs +69 -0
- package/test/util/jsdom.mjs +41 -25
- package/test/util/localstorage.mjs +1 -0
- package/test/util/resize-observer.mjs +29 -0
- package/test/util/websocket.mjs +4 -1
- package/test/web/import.js +16 -1
- package/test/web/test.html +28 -5
- package/test/web/tests.js +30398 -17879
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2023 schukai GmbH
|
|
3
|
+
* SPDX-License-Identifier: AGPL-3.0
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import {
|
|
7
|
+
assembleMethodSymbol,
|
|
8
|
+
CustomElement,
|
|
9
|
+
registerCustomElement,
|
|
10
|
+
} from "../../dom/customelement.mjs";
|
|
11
|
+
import { ConfigManagerStyleSheet } from "./stylesheet/config-manager.mjs";
|
|
12
|
+
import { getWindow } from "../../dom/util.mjs";
|
|
13
|
+
import { instanceSymbol } from "../../constants.mjs";
|
|
14
|
+
|
|
15
|
+
export { ConfigManager };
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @private
|
|
19
|
+
* @type {symbol}
|
|
20
|
+
*/
|
|
21
|
+
const indexDBInstanceSymbol = Symbol("indexDBInstance");
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* @private
|
|
25
|
+
* @type {symbol}
|
|
26
|
+
*/
|
|
27
|
+
const initializedPromiseSymbol = Symbol("initializedPromiseSymbol");
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @private
|
|
31
|
+
* @type {string}
|
|
32
|
+
*/
|
|
33
|
+
const MODE_READONLY = "readonly";
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* @private
|
|
37
|
+
* @type {string}
|
|
38
|
+
*/
|
|
39
|
+
const MODE_READ_WRITE = "readwrite";
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* The Config Manager component is used to encapsulate the configuration of the application.
|
|
43
|
+
*
|
|
44
|
+
* <img src="./images/config-manager.png">
|
|
45
|
+
*
|
|
46
|
+
* Dependencies: the system uses functions of the [monsterjs](https://monsterjs.org/) library
|
|
47
|
+
*
|
|
48
|
+
* You can create this control either by specifying the HTML tag <monster-host />` directly in the HTML or using
|
|
49
|
+
* Javascript via the `document.createElement('monster-host');` method.
|
|
50
|
+
*
|
|
51
|
+
* ```html
|
|
52
|
+
* <monster-config-manager></monster-config-manager>
|
|
53
|
+
* ```
|
|
54
|
+
*
|
|
55
|
+
* Or you can create this CustomControl directly in Javascript:
|
|
56
|
+
*
|
|
57
|
+
* ```js
|
|
58
|
+
* import '@schukai/component-state/source/config-manager.mjs';
|
|
59
|
+
* document.createElement('monster-config-manager');
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* The Body should have a class "hidden" to ensure that the styles are applied correctly.
|
|
63
|
+
*
|
|
64
|
+
* ```css
|
|
65
|
+
* body.hidden {
|
|
66
|
+
* visibility: hidden;
|
|
67
|
+
* }
|
|
68
|
+
* ```
|
|
69
|
+
*
|
|
70
|
+
* @startuml config-manager.png
|
|
71
|
+
* skinparam monochrome true
|
|
72
|
+
* skinparam shadowing false
|
|
73
|
+
* HTMLElement <|-- CustomElement
|
|
74
|
+
* CustomElement <|-- ConfigManager
|
|
75
|
+
* @enduml
|
|
76
|
+
*
|
|
77
|
+
* @copyright schukai GmbH
|
|
78
|
+
* @memberOf Monster.Components.Host
|
|
79
|
+
* @summary A config manager component
|
|
80
|
+
*/
|
|
81
|
+
class ConfigManager extends CustomElement {
|
|
82
|
+
/**
|
|
83
|
+
* This method is called by the `instanceof` operator.
|
|
84
|
+
* @returns {symbol}
|
|
85
|
+
*/
|
|
86
|
+
static get [instanceSymbol]() {
|
|
87
|
+
return Symbol.for("@schukai/component-host/config-manager@@instance");
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
constructor() {
|
|
91
|
+
super();
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* @private
|
|
95
|
+
* @type {symbol}
|
|
96
|
+
*/
|
|
97
|
+
this[initializedPromiseSymbol] = [];
|
|
98
|
+
this[indexDBInstanceSymbol] = null;
|
|
99
|
+
this[initializedPromiseSymbol].push(openDatabase.call(this));
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
/**
|
|
103
|
+
* @returns {Promise}
|
|
104
|
+
*/
|
|
105
|
+
ready() {
|
|
106
|
+
return Promise.all(this[initializedPromiseSymbol]);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* To set the options via the html tag the attribute `data-monster-options` must be used.
|
|
111
|
+
* @see {@link https://monsterjs.org/en/doc/#configurate-a-monster-control}
|
|
112
|
+
*
|
|
113
|
+
* The individual configuration values can be found in the table.
|
|
114
|
+
*
|
|
115
|
+
* @property {Object} templates Template definitions
|
|
116
|
+
* @property {string} templates.main Main template
|
|
117
|
+
*/
|
|
118
|
+
get defaults() {
|
|
119
|
+
return Object.assign({}, super.defaults, {
|
|
120
|
+
templates: {
|
|
121
|
+
main: getTemplate(),
|
|
122
|
+
},
|
|
123
|
+
indexDB: {
|
|
124
|
+
name: "monster",
|
|
125
|
+
version: 2,
|
|
126
|
+
objectStore: {
|
|
127
|
+
name: "config",
|
|
128
|
+
keyPath: "key",
|
|
129
|
+
},
|
|
130
|
+
},
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* @param {string} key
|
|
136
|
+
* @returns {Promise<unknown>}
|
|
137
|
+
*/
|
|
138
|
+
getConfig(key) {;
|
|
139
|
+
|
|
140
|
+
return this.ready().then(() => {
|
|
141
|
+
return getBlob.call(this, key);
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* @param {string} key
|
|
147
|
+
* @param {*} value
|
|
148
|
+
* @returns {Promise<unknown>}
|
|
149
|
+
*/
|
|
150
|
+
setConfig(key, value) {;
|
|
151
|
+
return this.ready().then(() => {
|
|
152
|
+
return setBlob.call(this, key, value);
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
*
|
|
158
|
+
* @return {string}
|
|
159
|
+
*/
|
|
160
|
+
static getTag() {
|
|
161
|
+
return "monster-config-manager";
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* @return {CSSStyleSheet[]}
|
|
166
|
+
*/
|
|
167
|
+
static getCSSStyleSheet() {
|
|
168
|
+
return [ConfigManagerStyleSheet];
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/**
|
|
172
|
+
*
|
|
173
|
+
* @return {Monster.Components.Host.Host}
|
|
174
|
+
*/
|
|
175
|
+
[assembleMethodSymbol]() {
|
|
176
|
+
super[assembleMethodSymbol]();
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
function openDatabase() {;
|
|
181
|
+
const window = getWindow();
|
|
182
|
+
|
|
183
|
+
const name = this.getOption("indexDB.name");
|
|
184
|
+
const version = this.getOption("indexDB.version");
|
|
185
|
+
const storageName = this.getOption("indexDB.objectStore.name");
|
|
186
|
+
const KeyPath = this.getOption("indexDB.objectStore.keyPath");
|
|
187
|
+
|
|
188
|
+
if (!name || !version) {
|
|
189
|
+
throw new Error("The database name and version must be set.");
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
const request = window.indexedDB.open(name, version);
|
|
193
|
+
|
|
194
|
+
return new Promise((resolve, reject) => {
|
|
195
|
+
request.onerror = (event) => {
|
|
196
|
+
console.error("Error opening database", event);
|
|
197
|
+
reject(request.error);
|
|
198
|
+
};
|
|
199
|
+
|
|
200
|
+
request.onsuccess = (event) => {
|
|
201
|
+
this[indexDBInstanceSymbol] = event?.target?.result;
|
|
202
|
+
resolve(request.result);
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
request.onupgradeneeded = (event) => {
|
|
206
|
+
const db = event.target.result;
|
|
207
|
+
|
|
208
|
+
let objectStore;
|
|
209
|
+
if (!db.objectStoreNames.contains(storageName)) {
|
|
210
|
+
objectStore = db.createObjectStore(storageName, { keyPath: KeyPath });
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
objectStore.transaction.oncomplete = (event) => {
|
|
214
|
+
console.log("Database upgrade complete");
|
|
215
|
+
resolve();
|
|
216
|
+
};
|
|
217
|
+
};
|
|
218
|
+
});
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* @param {string} mode either "readonly" or "readwrite"
|
|
223
|
+
*/
|
|
224
|
+
function getObjectStore(mode) {;
|
|
225
|
+
const storageName = this.getOption("indexDB.objectStore.name");
|
|
226
|
+
|
|
227
|
+
if (!this[indexDBInstanceSymbol]) {
|
|
228
|
+
throw new Error("The database is not open.");
|
|
229
|
+
}
|
|
230
|
+
|
|
231
|
+
// @see https://developer.mozilla.org/en-US/docs/Web/API/IDBDatabase/transaction
|
|
232
|
+
// transaction(storeNames, mode, options)
|
|
233
|
+
const tx = this[indexDBInstanceSymbol].transaction(storageName, mode);
|
|
234
|
+
return tx.objectStore(storageName);
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* @param {string} key
|
|
239
|
+
* @returns {Promise<unknown>}
|
|
240
|
+
*/
|
|
241
|
+
function clearObjectStore() {;
|
|
242
|
+
|
|
243
|
+
const store = getObjectStore.call(this, "readwrite");
|
|
244
|
+
|
|
245
|
+
return new Promise((resolve, reject) => {
|
|
246
|
+
const req = store.clear();
|
|
247
|
+
req.onsuccess = function (evt) {
|
|
248
|
+
console.log("clearObjectStore completed");
|
|
249
|
+
resolve();
|
|
250
|
+
};
|
|
251
|
+
req.onerror = function (evt) {
|
|
252
|
+
console.error("clearObjectStore:", evt.target.errorCode);
|
|
253
|
+
reject(evt.target.errorCode);
|
|
254
|
+
};
|
|
255
|
+
});
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
function getBlob(key) {;
|
|
259
|
+
const store = getObjectStore.call(this, MODE_READONLY);
|
|
260
|
+
|
|
261
|
+
const req = store.get(key);
|
|
262
|
+
|
|
263
|
+
return new Promise((resolve, reject) => {
|
|
264
|
+
req.onsuccess = function (evt) {
|
|
265
|
+
const value = evt.target.result;
|
|
266
|
+
if (value) {
|
|
267
|
+
resolve(value.blob);
|
|
268
|
+
return;
|
|
269
|
+
}
|
|
270
|
+
reject();
|
|
271
|
+
};
|
|
272
|
+
});
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
function setBlob(key, blob) {;
|
|
276
|
+
const store = getObjectStore.call(this, MODE_READ_WRITE);
|
|
277
|
+
|
|
278
|
+
const KeyPath = this.getOption("indexDB.objectStore.keyPath");
|
|
279
|
+
const obj = {};
|
|
280
|
+
obj[KeyPath] = key;
|
|
281
|
+
obj.blob = blob;
|
|
282
|
+
const req = store.put(obj);
|
|
283
|
+
|
|
284
|
+
return new Promise((resolve, reject) => {
|
|
285
|
+
req.onsuccess = function (evt) {
|
|
286
|
+
resolve();
|
|
287
|
+
};
|
|
288
|
+
|
|
289
|
+
req.onerror = function (evt) {
|
|
290
|
+
console.error("setBlob:", evt.target.errorCode);
|
|
291
|
+
reject(evt.target.errorCode);
|
|
292
|
+
};
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
function getTemplate() {
|
|
297
|
+
// language=HTML
|
|
298
|
+
return `
|
|
299
|
+
<div data-monster-role="control" part="control">
|
|
300
|
+
<slot></slot>
|
|
301
|
+
</div>`;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
registerCustomElement(ConfigManager);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright schukai GmbH and contributors 2022. All Rights Reserved.
|
|
3
|
+
* Node module: @schukai/component-form
|
|
4
|
+
* This file is licensed under the AGPLv3 License.
|
|
5
|
+
* License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { ATTRIBUTE_PREFIX } from "../../dom/constants.mjs";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* This attribute `data-monster-button-label` can be used to pass labels.
|
|
12
|
+
*
|
|
13
|
+
* @memberOf Monster.Components.Host
|
|
14
|
+
* @type {string}
|
|
15
|
+
*/
|
|
16
|
+
const ATTRIBUTE_BUTTON_LABEL = `${ATTRIBUTE_PREFIX}button-label`;
|
|
17
|
+
|
|
18
|
+
export { ATTRIBUTE_BUTTON_LABEL };
|
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2023 schukai GmbH
|
|
3
|
+
* SPDX-License-Identifier: AGPL-3.0
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import {
|
|
7
|
+
assembleMethodSymbol,
|
|
8
|
+
registerCustomElement,
|
|
9
|
+
} from "../../dom/customelement.mjs";
|
|
10
|
+
import { Host } from "./host.mjs";
|
|
11
|
+
import { DetailsStyleSheet } from "./stylesheet/details.mjs";
|
|
12
|
+
import { ATTRIBUTE_BUTTON_LABEL } from "./constants.mjs";
|
|
13
|
+
import { isString } from "../../types/is.mjs";
|
|
14
|
+
import { generateUniqueConfigKey } from "./util.mjs";
|
|
15
|
+
import { Collapse, nameSymbol } from "./collapse.mjs";
|
|
16
|
+
import { instanceSymbol } from "../../constants.mjs";
|
|
17
|
+
|
|
18
|
+
export { Details };
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @private
|
|
22
|
+
* @type {symbol}
|
|
23
|
+
*/
|
|
24
|
+
const buttonElementSymbol = Symbol("buttonElement");
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* @private
|
|
28
|
+
* @type {symbol}
|
|
29
|
+
*/
|
|
30
|
+
const buttonEventHandlerSymbol = Symbol("buttonEventHandler");
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* The Details component is used to show a details.
|
|
34
|
+
*
|
|
35
|
+
* <img src="./images/details.png">
|
|
36
|
+
*
|
|
37
|
+
* Dependencies: the system uses functions of the [monsterjs](https://monsterjs.org/) library
|
|
38
|
+
*
|
|
39
|
+
* You can create this control either by specifying the HTML tag <monster-details />` directly in the HTML or using
|
|
40
|
+
* Javascript via the `document.createElement('monster-details');` method.
|
|
41
|
+
*
|
|
42
|
+
* ```html
|
|
43
|
+
* <monster-details></monster-details>
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* Or you can create this CustomControl directly in Javascript:
|
|
47
|
+
*
|
|
48
|
+
* ```js
|
|
49
|
+
* import '@schukai/component-state/source/details.mjs';
|
|
50
|
+
* document.createElement('monster-details');
|
|
51
|
+
* ```
|
|
52
|
+
*
|
|
53
|
+
* The Body should have a class "hidden" to ensure that the styles are applied correctly.
|
|
54
|
+
*
|
|
55
|
+
* ```css
|
|
56
|
+
* body.hidden {
|
|
57
|
+
* visibility: hidden;
|
|
58
|
+
* }
|
|
59
|
+
* ```
|
|
60
|
+
*
|
|
61
|
+
* @startuml details.png
|
|
62
|
+
* skinparam monochrome true
|
|
63
|
+
* skinparam shadowing false
|
|
64
|
+
* HTMLElement <|-- CustomElement
|
|
65
|
+
* CustomElement <|-- Collapse
|
|
66
|
+
* Collapse <|-- Details
|
|
67
|
+
* @enduml
|
|
68
|
+
*
|
|
69
|
+
* @copyright schukai GmbH
|
|
70
|
+
* @memberOf Monster.Components.Host
|
|
71
|
+
* @summary A simple details component
|
|
72
|
+
* @fires Monster.Components.Host.Details.event:monster-details-before-open
|
|
73
|
+
* @fires Monster.Components.Host.Details.event:monster-details-open
|
|
74
|
+
* @fires Monster.Components.Host.Details.event:monster-details-before-close
|
|
75
|
+
* @fires Monster.Components.Host.Details.event:monster-details-closed
|
|
76
|
+
*/
|
|
77
|
+
class Details extends Collapse {
|
|
78
|
+
/**
|
|
79
|
+
* This method is called by the `instanceof` operator.
|
|
80
|
+
* @returns {symbol}
|
|
81
|
+
*/
|
|
82
|
+
static get [instanceSymbol]() {
|
|
83
|
+
return Symbol.for("@schukai/component-host/details@@instance");
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
*
|
|
88
|
+
*/
|
|
89
|
+
constructor() {
|
|
90
|
+
super();
|
|
91
|
+
// the name is only used for the host config and the event name
|
|
92
|
+
this[nameSymbol] = "details";
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* To set the options via the html tag the attribute `data-monster-options` must be used.
|
|
97
|
+
* @see {@link https://monsterjs.org/en/doc/#configurate-a-monster-control}
|
|
98
|
+
*
|
|
99
|
+
* The individual configuration values can be found in the table.
|
|
100
|
+
*
|
|
101
|
+
* @property {Object} templates Template definitions
|
|
102
|
+
* @property {string} templates.main Main template
|
|
103
|
+
* @property {Object} classes CSS classes
|
|
104
|
+
* @property {string} classes.button CSS class for the button
|
|
105
|
+
* @property {Object} button Button configuration
|
|
106
|
+
* @property {string} button.label Button label
|
|
107
|
+
* @property {Object} features Feature configuration
|
|
108
|
+
* @property {boolean} features.accordion Enable accordion mode
|
|
109
|
+
* @property {boolean} features.persistState Persist the state in the host configuration
|
|
110
|
+
*/
|
|
111
|
+
get defaults() {
|
|
112
|
+
return Object.assign({}, super.defaults, {
|
|
113
|
+
templates: {
|
|
114
|
+
main: getTemplate(),
|
|
115
|
+
},
|
|
116
|
+
labels: {
|
|
117
|
+
button: "Details",
|
|
118
|
+
},
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
*
|
|
124
|
+
* @returns {Monster.Components.Host.Details}
|
|
125
|
+
*/
|
|
126
|
+
[assembleMethodSymbol]() {
|
|
127
|
+
super[assembleMethodSymbol]();
|
|
128
|
+
|
|
129
|
+
initButtonLabel.call(this);
|
|
130
|
+
initControlReferences.call(this);
|
|
131
|
+
initEventHandler.call(this);
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
connectedCallback() {;
|
|
135
|
+
super.connectedCallback();
|
|
136
|
+
|
|
137
|
+
const containDocument = this.shadowRoot;
|
|
138
|
+
|
|
139
|
+
if (containDocument !== null) {
|
|
140
|
+
const previousElement = this.previousElementSibling;
|
|
141
|
+
if (previousElement && previousElement.tagName === "MONSTER-DETAILS") {
|
|
142
|
+
this[buttonElementSymbol].style.borderTop = "0";
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
*
|
|
149
|
+
* @return {string}
|
|
150
|
+
*/
|
|
151
|
+
static getTag() {
|
|
152
|
+
return "monster-details";
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* @return {Array<CSSStyleSheet>}
|
|
157
|
+
*/
|
|
158
|
+
static getCSSStyleSheet() {
|
|
159
|
+
const css = super.getCSSStyleSheet();
|
|
160
|
+
css.push(DetailsStyleSheet);
|
|
161
|
+
return css;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* @private
|
|
167
|
+
* @return {Select}
|
|
168
|
+
* @throws {Error} no shadow-root is defined
|
|
169
|
+
*/
|
|
170
|
+
function initControlReferences() {;
|
|
171
|
+
|
|
172
|
+
if (!this.shadowRoot) {
|
|
173
|
+
throw new Error("no shadow-root is defined");
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
this[buttonElementSymbol] = this.shadowRoot.querySelector(
|
|
177
|
+
"[data-monster-role=button]",
|
|
178
|
+
);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
/**
|
|
182
|
+
* @private
|
|
183
|
+
*/
|
|
184
|
+
function initEventHandler() {;
|
|
185
|
+
|
|
186
|
+
if (!this.shadowRoot) {
|
|
187
|
+
throw new Error("no shadow-root is defined");
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
this[buttonEventHandlerSymbol] = (event) => {
|
|
191
|
+
this.toggle();
|
|
192
|
+
};
|
|
193
|
+
|
|
194
|
+
this[buttonElementSymbol].addEventListener(
|
|
195
|
+
"click",
|
|
196
|
+
this[buttonEventHandlerSymbol],
|
|
197
|
+
);
|
|
198
|
+
|
|
199
|
+
return this;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* @private
|
|
204
|
+
* @return {string}
|
|
205
|
+
*/
|
|
206
|
+
function initButtonLabel() {;
|
|
207
|
+
|
|
208
|
+
let label;
|
|
209
|
+
const setLabel = false;
|
|
210
|
+
if (this.hasAttribute(ATTRIBUTE_BUTTON_LABEL)) {
|
|
211
|
+
label = this.getAttribute(ATTRIBUTE_BUTTON_LABEL);
|
|
212
|
+
} else {
|
|
213
|
+
label = this.innerText;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
if (!isString(label)) {
|
|
217
|
+
label = "";
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
label = label.trim();
|
|
221
|
+
|
|
222
|
+
if (label === "") {
|
|
223
|
+
label = this.getOption("labels.button", "Details");
|
|
224
|
+
}
|
|
225
|
+
|
|
226
|
+
if (label.length > 100) {
|
|
227
|
+
label = `${label.substring(0, 99)}…`;
|
|
228
|
+
}
|
|
229
|
+
|
|
230
|
+
this.setAttribute(ATTRIBUTE_BUTTON_LABEL, label);
|
|
231
|
+
this.setOption("labels.button", label);
|
|
232
|
+
|
|
233
|
+
return label;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
/**
|
|
237
|
+
* @private
|
|
238
|
+
* @returns {string}
|
|
239
|
+
*/
|
|
240
|
+
function getConfigKey() {;
|
|
241
|
+
return generateUniqueConfigKey("details", this.id, "state");
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* @private
|
|
246
|
+
* @return {string}
|
|
247
|
+
*/
|
|
248
|
+
function getTemplate() {
|
|
249
|
+
// language=HTML
|
|
250
|
+
return `
|
|
251
|
+
<div data-monster-role="control" part="control" class="overflow-hidden">
|
|
252
|
+
<div data-monster-role="summary" part="summary">
|
|
253
|
+
<button part="button" data-monster-attributes="class path:classes.button"
|
|
254
|
+
data-monster-role="button"
|
|
255
|
+
data-monster-replace="path:labels.button | default:click me">click me
|
|
256
|
+
</button>
|
|
257
|
+
</div>
|
|
258
|
+
<div data-monster-role="detail">
|
|
259
|
+
<div data-monster-attributes="class path:classes.container" part="container"
|
|
260
|
+
data-monster-role="container">
|
|
261
|
+
<slot></slot>
|
|
262
|
+
</div>
|
|
263
|
+
<div class="deco-line" data-monster-role="deco"></div>
|
|
264
|
+
</div>
|
|
265
|
+
</div>`;
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
registerCustomElement(Details);
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright schukai GmbH and contributors 2022. All Rights Reserved.
|
|
3
|
+
* Node module: @schukai/component-form
|
|
4
|
+
* This file is licensed under the AGPLv3 License.
|
|
5
|
+
* License text available at https://www.gnu.org/licenses/agpl-3.0.en.html
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* This event is fired before the overlay is opened. The event is fired on the overlay opener element.
|
|
10
|
+
*
|
|
11
|
+
* @memberOf Monster.Components.Host.Overlay
|
|
12
|
+
* @event event:monster-overlay-before-open
|
|
13
|
+
* @type {object}
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* This event is fired after the overlay is opened. The event is fired on the overlay opener element.
|
|
18
|
+
*
|
|
19
|
+
* @memberOf Monster.Components.Host.Overlay
|
|
20
|
+
* @event event:monster-overlay-opened
|
|
21
|
+
* @type {object}
|
|
22
|
+
*/
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* This event is fired before the overlay is closed. The event is fired on the overlay opener element.
|
|
26
|
+
*
|
|
27
|
+
* @memberOf Monster.Components.Host.Overlay
|
|
28
|
+
* @event event:monster-overlay-before-close
|
|
29
|
+
* @type {object}
|
|
30
|
+
*/
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* This event is fired after the overlay is closed. The event is fired on the overlay opener element.
|
|
34
|
+
*
|
|
35
|
+
* @memberOf Monster.Components.Host.Overlay
|
|
36
|
+
* @event event:monster-overlay-closed
|
|
37
|
+
* @type {object}
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* This event is fired during the host connection process. The event is fired on the host element.
|
|
42
|
+
*
|
|
43
|
+
* @memberOf Monster.Components.Host.Host
|
|
44
|
+
* @event event:monster-host-connected
|
|
45
|
+
* @type {object}
|
|
46
|
+
*/
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* This event is fired during the host disconnection process. The event is fired on the host element.
|
|
50
|
+
*
|
|
51
|
+
* @memberOf Monster.Components.Host.Host
|
|
52
|
+
* @event event:monster-host-disconnected
|
|
53
|
+
* @type {object}
|
|
54
|
+
*/
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* This event is fired during the Details component opening process.
|
|
58
|
+
*
|
|
59
|
+
* @memberOf Monster.Components.Host.Details
|
|
60
|
+
* @fires event:monster-details-before-open
|
|
61
|
+
* @type {object}
|
|
62
|
+
*/
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* This event is fired during the Details component opening process.
|
|
66
|
+
*
|
|
67
|
+
* @memberOf Monster.Components.Host.Details
|
|
68
|
+
* @fires event:monster-details-open
|
|
69
|
+
* @type {object}
|
|
70
|
+
*/
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* This event is fired during the Details component closing process.
|
|
74
|
+
*
|
|
75
|
+
* @memberOf Monster.Components.Host.Details
|
|
76
|
+
* @fires event:monster-details-before-close
|
|
77
|
+
* @type {object}
|
|
78
|
+
*/
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* This event is fired during the Details component closing process.
|
|
82
|
+
*
|
|
83
|
+
* @memberOf Monster.Components.Host.Details
|
|
84
|
+
* @fires event:monster-details-closed
|
|
85
|
+
* @type {object}
|
|
86
|
+
*/
|
|
87
|
+
/**
|
|
88
|
+
* This event is fired during the Details component closing process.
|
|
89
|
+
*
|
|
90
|
+
* @memberOf Monster.Components.Host.Details
|
|
91
|
+
* @fires Monster.Components.Host.Details.event:monster-details-adjust-height
|
|
92
|
+
* @type {object}
|
|
93
|
+
*/
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* This event is fired during the Details component opening process.
|
|
97
|
+
*
|
|
98
|
+
* @memberOf Monster.Components.Host.Collapse
|
|
99
|
+
* @fires event:monster-collapse-before-open
|
|
100
|
+
* @type {object}
|
|
101
|
+
*/
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* This event is fired during the Details component opening process.
|
|
105
|
+
*
|
|
106
|
+
* @memberOf Monster.Components.Host.Collapse
|
|
107
|
+
* @fires event:monster-collapse-open
|
|
108
|
+
* @type {object}
|
|
109
|
+
*/
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* This event is fired during the Details component closing process.
|
|
113
|
+
*
|
|
114
|
+
* @memberOf Monster.Components.Host.Collapse
|
|
115
|
+
* @fires event:monster-collapse-before-close
|
|
116
|
+
* @type {object}
|
|
117
|
+
*/
|
|
118
|
+
/**
|
|
119
|
+
* This event is fired during the Details component closing process.
|
|
120
|
+
*
|
|
121
|
+
* @memberOf Monster.Components.Host.Collapse
|
|
122
|
+
* @fires event:monster-collapse-closed
|
|
123
|
+
* @type {object}
|
|
124
|
+
*/
|
|
125
|
+
/**
|
|
126
|
+
* This event is fired during the Details component closing process.
|
|
127
|
+
*
|
|
128
|
+
* @memberOf Monster.Components.Host.Collapse
|
|
129
|
+
* @fires Monster.Components.Host.Collapse.event:monster-collapse-adjust-height
|
|
130
|
+
* @type {object}
|
|
131
|
+
*/
|