poe-svelte-ui-lib 1.28.6 → 1.29.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.
@@ -5,10 +5,12 @@
5
5
  Смарт-виджет информации об устройстве. Как и `WidgetWiFi`, не привязывается к одной произвольной
6
6
  переменной устройства — работает с фиксированным набором полей, соответствующих реальной
7
7
  прошивочной конвенции (`main_config.c`, группа `CFG`, ProdFactory-ESP): `DevSN`, `DevID`, `DevFW`,
8
- `RunCnt` — только чтение; `DevName`, `HostName`, `WebUser`, `WebPsw` — редактируются локально и
9
- сохраняются одним пакетом по кнопке "Сохранить". Отдельная кнопка "Перезагрузить" рядом с
10
- заголовком вызывает `onRestart` немедленно (не входит в пакет сохранения полей). Компонент
11
- ничего не знает про DeviceStore/WebSocket — только `value`/`onSave`/`onRestart`.
8
+ `RunCnt`, `StaIP`, `ApIP` — только чтение; `DevName`, `HostName`, `WebUser`, `WebPsw` —
9
+ редактируются локально и сохраняются одним пакетом по кнопке "Сохранить". Отдельная кнопка
10
+ "Перезагрузить" рядом с заголовком вызывает `onRestart` немедленно (не входит в пакет сохранения
11
+ полей). Реальное имя поля устройства для каждого ключа можно переопределить через `keys` (по
12
+ умолчанию совпадает с именем ключа). Компонент ничего не знает про DeviceStore/WebSocket —
13
+ только `value`/`onSave`/`onRestart`.
12
14
 
13
15
  ## Пропсы
14
16
 
@@ -33,6 +35,8 @@
33
35
  | `HostName` | `string` | нет | Имя хоста |
34
36
  | `WebUser` | `string` | нет | Имя пользователя Web-панели |
35
37
  | `WebPsw` | `string` | нет | Пароль Web-панели |
38
+ | `StaIP` | `string` | да | Текущий IP-адрес в режиме STA |
39
+ | `ApIP` | `string` | да | Текущий IP-адрес в режиме AP |
36
40
 
37
41
  ## Примеры
38
42
 
@@ -55,6 +59,8 @@
55
59
  HostName: "syp-device-01",
56
60
  WebUser: "admin",
57
61
  WebPsw: "",
62
+ StaIP: "192.168.1.42",
63
+ ApIP: "192.168.4.1",
58
64
  }}
59
65
  onSave={handleSave}
60
66
  onRestart={() => console.log("Перезагрузка устройства")}
@@ -70,8 +76,10 @@
70
76
  | `component` | `UIComponent & { properties: Partial<IWidgetDeviceInfoProps> }` | Объект компонента с его свойствами |
71
77
  | `onPropertyChange` | `(updates: Partial<{ properties?: string \| object; name?: string; access?: string }>) => void` | Коллбэк для обновления свойств компонента |
72
78
 
73
- Панель минимальна: заголовок и мастер-цвет (через общий `WidgetAccentPicker.svelte`) — полей
74
- для привязки нет, они фиксированы прошивочной конвенцией.
79
+ Панель содержит заголовок, мастер-цвет (через общий `WidgetAccentPicker.svelte`), префикс
80
+ прошивочной группы (ID), переопределение имени поля устройства для каждого ключа
81
+ `IWidgetDeviceInfoConfig` (по умолчанию совпадает с именем ключа) и команду перезагрузки
82
+ (Header/Argument, по умолчанию `SET`/`Restart`).
75
83
 
76
84
  ## Заметки
77
85
 
@@ -37,6 +37,8 @@
37
37
  HostName: "",
38
38
  WebUser: "",
39
39
  WebPsw: "",
40
+ StaIP: "",
41
+ ApIP: "",
40
42
  },
41
43
  )
42
44
 
@@ -85,6 +87,10 @@
85
87
  <UI.Input label={{ name: "Версия ПО" }} value={info.DevFW} readonly />
86
88
  <UI.Input label={{ name: "Запусков" }} value={info.RunCnt} readonly />
87
89
  </div>
90
+ <div class="grid grid-cols-1 gap-2 sm:grid-cols-2">
91
+ <UI.Input label={{ name: "IP-адрес (STA)" }} value={info.StaIP} readonly />
92
+ <UI.Input label={{ name: "IP-адрес (AP)" }} value={info.ApIP} readonly />
93
+ </div>
88
94
  </div>
89
95
 
90
96
  <!-- Редактируемые настройки -->
@@ -1,5 +1,7 @@
1
1
  <!-- $lib/WidgetDeviceInfo/WidgetDeviceInfoProps.svelte — панель пропсов конструктора
2
- для WidgetDeviceInfo. Виджет простой, полей мало — панель тоже простая: заголовок + мастер-цвет. -->
2
+ для WidgetDeviceInfo: заголовок/мастер-цвет/префикс группы, переопределение имён полей
3
+ устройства (keys) и команда перезагрузки — все с дефолтами, равными текущей прошивочной
4
+ конвенции (см. DEFAULT_PROPS.WidgetDeviceInfo в DevCloud). -->
3
5
  <script lang="ts">
4
6
  import { T } from "../locales/i18n"
5
7
  import * as UI from ".."
@@ -8,7 +10,18 @@
8
10
  import PropsGroup from "../PropsGroup.svelte"
9
11
  import { optionsStore } from "../options"
10
12
 
11
- const DEVICE_INFO_KEYS: (keyof IWidgetDeviceInfoConfig)[] = ["DevSN", "DevID", "DevFW", "RunCnt", "DevName", "HostName", "WebUser", "WebPsw"]
13
+ const DEVICE_INFO_KEYS: (keyof IWidgetDeviceInfoConfig)[] = [
14
+ "DevSN",
15
+ "DevID",
16
+ "DevFW",
17
+ "RunCnt",
18
+ "DevName",
19
+ "HostName",
20
+ "WebUser",
21
+ "WebPsw",
22
+ "StaIP",
23
+ "ApIP",
24
+ ]
12
25
 
13
26
  const { component, onPropertyChange } = $props<{
14
27
  component: UIComponent & { properties: Partial<IWidgetDeviceInfoProps> }
package/dist/types.d.ts CHANGED
@@ -539,6 +539,8 @@ export interface IWidgetDeviceInfoConfig {
539
539
  HostName: string;
540
540
  WebUser: string;
541
541
  WebPsw: string;
542
+ StaIP: string;
543
+ ApIP: string;
542
544
  }
543
545
  export interface IWidgetDeviceInfoProps {
544
546
  id?: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "poe-svelte-ui-lib",
3
- "version": "1.28.6",
3
+ "version": "1.29.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "scripts": {