poe-svelte-ui-lib 1.22.1 → 1.22.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/dist/WidgetDeviceInfo/WidgetDeviceInfo.svelte +2 -1
- package/dist/WidgetDeviceInfo/WidgetDeviceInfoProps.svelte +6 -0
- package/dist/WidgetWiFi/WidgetWiFi.svelte +2 -1
- package/dist/WidgetWiFi/WidgetWiFiProps.svelte +10 -0
- package/dist/types.d.ts +2 -0
- package/dist/widgetCollapse.d.ts +1 -1
- package/dist/widgetCollapse.js +5 -4
- package/package.json +1 -1
|
@@ -19,6 +19,7 @@
|
|
|
19
19
|
componentClass = "",
|
|
20
20
|
label = { name: "Информация об устройстве" },
|
|
21
21
|
value = $bindable(),
|
|
22
|
+
collapsed: initialCollapsed = false,
|
|
22
23
|
persistKey,
|
|
23
24
|
onSave = () => {},
|
|
24
25
|
onRestart = () => {},
|
|
@@ -41,7 +42,7 @@
|
|
|
41
42
|
|
|
42
43
|
/* Сворачивание тела виджета по клику на значок/заголовок (как аккордеон), но в отличие от
|
|
43
44
|
Accordion переживает перезагрузку страницы через localStorage, если передан persistKey */
|
|
44
|
-
let collapsed = $state(readPersistedCollapsed(persistKey))
|
|
45
|
+
let collapsed = $state(readPersistedCollapsed(persistKey, initialCollapsed))
|
|
45
46
|
$effect(() => writePersistedCollapsed(persistKey, collapsed))
|
|
46
47
|
|
|
47
48
|
/* Поля редактируются локально (как Argument: NoSend в реальной GUI) — отправка одним пакетом по кнопке */
|
|
@@ -22,5 +22,11 @@
|
|
|
22
22
|
value={component.properties.componentClass ?? ""}
|
|
23
23
|
onUpdate={(value) => updateProperty("componentClass", value, component, onPropertyChange)}
|
|
24
24
|
/>
|
|
25
|
+
<UI.Switch
|
|
26
|
+
label={{ name: "Свёрнут по умолчанию" }}
|
|
27
|
+
value={component.properties.collapsed ? 1 : 0}
|
|
28
|
+
options={[{ id: crypto.randomUUID(), value: 0, class: "" }]}
|
|
29
|
+
onChange={(value) => updateProperty("collapsed", value === 1, component, onPropertyChange)}
|
|
30
|
+
/>
|
|
25
31
|
</div>
|
|
26
32
|
</div>
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
value = $bindable(),
|
|
25
25
|
allowedModes = [1, 2, 3],
|
|
26
26
|
confirmOnAP = true,
|
|
27
|
+
collapsed: initialCollapsed = false,
|
|
27
28
|
persistKey,
|
|
28
29
|
onScan,
|
|
29
30
|
onSave = () => {},
|
|
@@ -90,7 +91,7 @@
|
|
|
90
91
|
в шапке кликом не триггерит, только сама кнопка значок+заголовок (см. WidgetHeader.svelte).
|
|
91
92
|
В отличие от Accordion (только начальное значение из GUI) — переживает перезагрузку страницы
|
|
92
93
|
через localStorage, если передан persistKey. */
|
|
93
|
-
let collapsed = $state(readPersistedCollapsed(persistKey))
|
|
94
|
+
let collapsed = $state(readPersistedCollapsed(persistKey, initialCollapsed))
|
|
94
95
|
$effect(() => writePersistedCollapsed(persistKey, collapsed))
|
|
95
96
|
|
|
96
97
|
/* Поля редактируются локально (как Argument: NoSend в реальной GUI) — отправка одним пакетом по кнопке */
|
|
@@ -55,6 +55,15 @@
|
|
|
55
55
|
/>
|
|
56
56
|
{/snippet}
|
|
57
57
|
|
|
58
|
+
{#snippet WidgetCollapsed()}
|
|
59
|
+
<UI.Switch
|
|
60
|
+
label={{ name: "Свёрнут по умолчанию" }}
|
|
61
|
+
value={component.properties.collapsed ? 1 : 0}
|
|
62
|
+
options={[{ id: crypto.randomUUID(), value: 0, class: "" }]}
|
|
63
|
+
onChange={(value) => updateProperty("collapsed", value === 1, component, onPropertyChange)}
|
|
64
|
+
/>
|
|
65
|
+
{/snippet}
|
|
66
|
+
|
|
58
67
|
<div class="flex w-full flex-col gap-3">
|
|
59
68
|
<div class="grid grid-cols-1 gap-3 sm:grid-cols-2">
|
|
60
69
|
{@render WidgetLabel()}
|
|
@@ -62,4 +71,5 @@
|
|
|
62
71
|
</div>
|
|
63
72
|
{@render WidgetAllowedModes()}
|
|
64
73
|
{@render WidgetColor()}
|
|
74
|
+
{@render WidgetCollapsed()}
|
|
65
75
|
</div>
|
package/dist/types.d.ts
CHANGED
|
@@ -516,6 +516,7 @@ export interface IWidgetWiFiProps {
|
|
|
516
516
|
value?: IWidgetWiFiConfig;
|
|
517
517
|
allowedModes?: number[];
|
|
518
518
|
confirmOnAP?: boolean;
|
|
519
|
+
collapsed?: boolean;
|
|
519
520
|
persistKey?: string;
|
|
520
521
|
onScan?: () => Promise<{
|
|
521
522
|
id: string;
|
|
@@ -542,6 +543,7 @@ export interface IWidgetDeviceInfoProps {
|
|
|
542
543
|
name?: string;
|
|
543
544
|
};
|
|
544
545
|
value?: IWidgetDeviceInfoConfig;
|
|
546
|
+
collapsed?: boolean;
|
|
545
547
|
persistKey?: string;
|
|
546
548
|
onSave?: (info: IWidgetDeviceInfoConfig) => void;
|
|
547
549
|
onRestart?: () => void;
|
package/dist/widgetCollapse.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const readPersistedCollapsed: (persistKey?:
|
|
1
|
+
export declare const readPersistedCollapsed: (persistKey: string | undefined, defaultValue?: boolean) => boolean;
|
|
2
2
|
export declare const writePersistedCollapsed: (persistKey: string | undefined, collapsed: boolean) => void;
|
package/dist/widgetCollapse.js
CHANGED
|
@@ -3,14 +3,15 @@
|
|
|
3
3
|
без переживания перезагрузки; виджеты сделаны надёжнее). typeof window-проверка вместо
|
|
4
4
|
$app/environment — библиотека не должна знать про SvelteKit. */
|
|
5
5
|
const STORAGE_PREFIX = "widget-collapsed:";
|
|
6
|
-
export const readPersistedCollapsed = (persistKey) => {
|
|
6
|
+
export const readPersistedCollapsed = (persistKey, defaultValue = false) => {
|
|
7
7
|
if (!persistKey || typeof window === "undefined")
|
|
8
|
-
return
|
|
8
|
+
return defaultValue;
|
|
9
9
|
try {
|
|
10
|
-
|
|
10
|
+
const saved = window.localStorage.getItem(STORAGE_PREFIX + persistKey);
|
|
11
|
+
return saved === null ? defaultValue : saved === "1";
|
|
11
12
|
}
|
|
12
13
|
catch {
|
|
13
|
-
return
|
|
14
|
+
return defaultValue;
|
|
14
15
|
}
|
|
15
16
|
};
|
|
16
17
|
export const writePersistedCollapsed = (persistKey, collapsed) => {
|