@iobroker/adapter-react-v5 6.1.5 → 6.1.8
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/Components/Logo.js +4 -3
- package/Components/SimpleCron/index.js +15 -5
- package/README.md +11 -0
- package/i18n/de.json +2 -1
- package/i18n/en.json +2 -1
- package/i18n/es.json +2 -1
- package/i18n/fr.json +2 -1
- package/i18n/it.json +2 -1
- package/i18n/nl.json +2 -1
- package/i18n/pl.json +2 -1
- package/i18n/pt.json +2 -1
- package/i18n/ru.json +2 -1
- package/i18n/uk.json +2 -1
- package/i18n/zh-cn.json +2 -1
- package/package.json +10 -10
- package/src/Components/Logo.tsx +3 -3
- package/assets/devices/list.json +0 -994
- package/assets/devices/names.txt +0 -63
- package/assets/devices/parseNames.d.ts +0 -0
- package/assets/devices/parseNames.js +0 -34
- package/assets/rooms/list.json +0 -946
- package/assets/rooms/names.txt +0 -60
- package/assets/rooms/parseNames.d.ts +0 -0
- package/assets/rooms/parseNames.js +0 -34
package/Components/Logo.js
CHANGED
|
@@ -13,16 +13,17 @@ class Logo extends react_1.default.Component {
|
|
|
13
13
|
super(...arguments);
|
|
14
14
|
this.handleFileSelect = (evt) => {
|
|
15
15
|
const target = evt.target;
|
|
16
|
-
const files = target.files;
|
|
16
|
+
const files = target === null || target === void 0 ? void 0 : target.files;
|
|
17
17
|
if (!files || !files.length) {
|
|
18
|
+
console.error('No files found. Please report to developers');
|
|
18
19
|
return;
|
|
19
20
|
}
|
|
20
21
|
const f = files[0];
|
|
21
22
|
if (f) {
|
|
22
23
|
const r = new window.FileReader();
|
|
23
24
|
r.onload = () => {
|
|
24
|
-
|
|
25
|
-
const contents =
|
|
25
|
+
var _a;
|
|
26
|
+
const contents = ((_a = r.result) === null || _a === void 0 ? void 0 : _a.toString()) || '';
|
|
26
27
|
try {
|
|
27
28
|
const json = JSON.parse(contents);
|
|
28
29
|
if (json.native && json.common) {
|
|
@@ -181,7 +181,7 @@ function cron2state(cron, force) {
|
|
|
181
181
|
options.date === '*' &&
|
|
182
182
|
options.months === '*' &&
|
|
183
183
|
(options.dow === '*' || force)) {
|
|
184
|
-
// */n *
|
|
184
|
+
// */n * 0-23 * * 1-7 or */n * 0-23 * * *
|
|
185
185
|
state = {
|
|
186
186
|
mode: 'intervalBetween',
|
|
187
187
|
intervalBetween: {
|
|
@@ -199,7 +199,7 @@ function cron2state(cron, force) {
|
|
|
199
199
|
options.date === '*' &&
|
|
200
200
|
options.months === '*' &&
|
|
201
201
|
(options.dow === '*' || force)) {
|
|
202
|
-
// */n
|
|
202
|
+
// */n 0-23 * * 1-7 or */n 0-23 * * *
|
|
203
203
|
state = {
|
|
204
204
|
mode: 'intervalBetween',
|
|
205
205
|
intervalBetween: {
|
|
@@ -370,16 +370,21 @@ class SimpleCron extends react_1.default.Component {
|
|
|
370
370
|
let hours;
|
|
371
371
|
settings.timeFrom = settings.timeFrom || 0;
|
|
372
372
|
settings.timeTo = settings.timeTo === undefined ? 24 : settings.timeTo;
|
|
373
|
+
if (settings.timeFrom !== 0 && settings.timeTo === 24) {
|
|
374
|
+
settings.timeTo = 23;
|
|
375
|
+
}
|
|
373
376
|
if (settings.timeFrom === 0 && settings.timeTo === 24) {
|
|
374
377
|
hours = '*';
|
|
375
378
|
}
|
|
376
379
|
else {
|
|
377
380
|
hours = settings.timeFrom !== settings.timeTo ? `${settings.timeFrom}-${settings.timeTo}` : '*';
|
|
378
381
|
}
|
|
379
|
-
if (settings.period > 60)
|
|
382
|
+
if (settings.period > 60) {
|
|
380
383
|
settings.period = 60;
|
|
381
|
-
|
|
384
|
+
}
|
|
385
|
+
if (settings.period < 1) {
|
|
382
386
|
settings.period = 1;
|
|
387
|
+
}
|
|
383
388
|
settings.unit = settings.unit || PERIODIC_TYPES.minutes;
|
|
384
389
|
switch (settings.unit) {
|
|
385
390
|
case PERIODIC_TYPES.seconds:
|
|
@@ -574,6 +579,9 @@ class SimpleCron extends react_1.default.Component {
|
|
|
574
579
|
react_1.default.createElement(material_1.Select, { variant: "standard", style: { width: 100 }, value: settings.timeFrom, onChange: e => {
|
|
575
580
|
const _settings = JSON.parse(JSON.stringify(this.state.intervalBetween));
|
|
576
581
|
_settings.timeFrom = parseInt(e.target.value, 10);
|
|
582
|
+
if (_settings.timeTo === 24) {
|
|
583
|
+
_settings.timeTo = 23;
|
|
584
|
+
}
|
|
577
585
|
this.setState({ intervalBetween: _settings }, () => this.recalcCron());
|
|
578
586
|
} }, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23].map(hour => react_1.default.createElement(material_1.MenuItem, { key: `B_${hour}`, value: hour }, `${padding(hour)}:00`)))),
|
|
579
587
|
react_1.default.createElement(material_1.FormControl, { variant: "standard", style: styles.formControl },
|
|
@@ -582,7 +590,9 @@ class SimpleCron extends react_1.default.Component {
|
|
|
582
590
|
const _settings = JSON.parse(JSON.stringify(this.state.intervalBetween));
|
|
583
591
|
_settings.timeTo = parseInt(e.target.value, 10);
|
|
584
592
|
this.setState({ intervalBetween: _settings }, () => this.recalcCron());
|
|
585
|
-
} },
|
|
593
|
+
} },
|
|
594
|
+
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23].map(hour => react_1.default.createElement(material_1.MenuItem, { key: `A_${hour}`, value: hour }, `${padding(hour)}:00`)),
|
|
595
|
+
!settings.timeFrom && react_1.default.createElement(material_1.MenuItem, { value: 24 }, "00:00")))),
|
|
586
596
|
this.getControlsWeekdaysElements('intervalBetween'),
|
|
587
597
|
];
|
|
588
598
|
}
|
package/README.md
CHANGED
|
@@ -594,6 +594,7 @@ class MyComponent {
|
|
|
594
594
|
|
|
595
595
|
## List of adapters that use adapter-react
|
|
596
596
|
- Admin
|
|
597
|
+
- Backitup
|
|
597
598
|
- iot
|
|
598
599
|
- echarts
|
|
599
600
|
- text2command
|
|
@@ -775,12 +776,22 @@ The best practice is to replace `padding` with `p` and `margin` with `m`, so you
|
|
|
775
776
|
|
|
776
777
|
After. `<AccordionSummary sx={{ '&.MuiAccordionSummary-root': styles.rootStyle, '& .MuiAccordionSummary-content': styles.content }}>`
|
|
777
778
|
|
|
779
|
+
Before. `<Drawer classes={{ paper: styles.paperStyle }}>`
|
|
780
|
+
|
|
781
|
+
After. `<Drawer sx={{ '& .MuiDrawer-paper': styles.paperStyle }}>`
|
|
782
|
+
|
|
778
783
|
<!--
|
|
779
784
|
Placeholder for the next version (at the beginning of the line):
|
|
780
785
|
### **WORK IN PROGRESS**
|
|
781
786
|
-->
|
|
782
787
|
|
|
783
788
|
## Changelog
|
|
789
|
+
### 6.1.8 (2024-08-03)
|
|
790
|
+
* (bluefox) Added translations
|
|
791
|
+
|
|
792
|
+
### 6.1.6 (2024-07-23)
|
|
793
|
+
* (bluefox) Optimize package
|
|
794
|
+
|
|
784
795
|
### 6.1.5 (2024-07-20)
|
|
785
796
|
* (bluefox) Added sources to package
|
|
786
797
|
|
package/i18n/de.json
CHANGED
|
@@ -427,5 +427,6 @@
|
|
|
427
427
|
"sc_every_dow": "jeden Tag der Woche",
|
|
428
428
|
"sc_specific_dow": "bestimmte(r) Tag(e) der Woche",
|
|
429
429
|
"ra_Name": "Name",
|
|
430
|
-
"ra_import data from %s file": "Daten aus %s-Datei importieren"
|
|
430
|
+
"ra_import data from %s file": "Daten aus %s-Datei importieren",
|
|
431
|
+
"ra_Invalid JSON": "Ungültiges JSON"
|
|
431
432
|
}
|
package/i18n/en.json
CHANGED
package/i18n/es.json
CHANGED
|
@@ -427,5 +427,6 @@
|
|
|
427
427
|
"sc_every_dow": "Cada día de la semana",
|
|
428
428
|
"sc_specific_dow": "día(s) específico(s) de la semana",
|
|
429
429
|
"ra_Name": "Nombre",
|
|
430
|
-
"ra_import data from %s file": "Importar datos del archivo %s"
|
|
430
|
+
"ra_import data from %s file": "Importar datos del archivo %s",
|
|
431
|
+
"ra_Invalid JSON": "JSON no válido"
|
|
431
432
|
}
|
package/i18n/fr.json
CHANGED
|
@@ -427,5 +427,6 @@
|
|
|
427
427
|
"sc_every_dow": "Chaque jour de la semaine",
|
|
428
428
|
"sc_specific_dow": "jour(s) spécifique(s) de la semaine",
|
|
429
429
|
"ra_Name": "Nom",
|
|
430
|
-
"ra_import data from %s file": "Importer des données à partir du fichier %s"
|
|
430
|
+
"ra_import data from %s file": "Importer des données à partir du fichier %s",
|
|
431
|
+
"ra_Invalid JSON": "JSON invalide"
|
|
431
432
|
}
|
package/i18n/it.json
CHANGED
|
@@ -427,5 +427,6 @@
|
|
|
427
427
|
"sc_every_dow": "Tutti i giorni della settimana",
|
|
428
428
|
"sc_specific_dow": "giorno/i specifico/i della settimana",
|
|
429
429
|
"ra_Name": "Nome",
|
|
430
|
-
"ra_import data from %s file": "Importa dati dal file %s"
|
|
430
|
+
"ra_import data from %s file": "Importa dati dal file %s",
|
|
431
|
+
"ra_Invalid JSON": "JSON non valido"
|
|
431
432
|
}
|
package/i18n/nl.json
CHANGED
|
@@ -427,5 +427,6 @@
|
|
|
427
427
|
"sc_every_dow": "elke dag van de week",
|
|
428
428
|
"sc_specific_dow": "specifieke dag(en) van de week",
|
|
429
429
|
"ra_Name": "Naam",
|
|
430
|
-
"ra_import data from %s file": "Importeer gegevens uit %s bestand"
|
|
430
|
+
"ra_import data from %s file": "Importeer gegevens uit %s bestand",
|
|
431
|
+
"ra_Invalid JSON": "Ongeldige JSON"
|
|
431
432
|
}
|
package/i18n/pl.json
CHANGED
|
@@ -427,5 +427,6 @@
|
|
|
427
427
|
"sc_every_dow": "każdy dzień tygodnia",
|
|
428
428
|
"sc_specific_dow": "określone dni tygodnia",
|
|
429
429
|
"ra_Name": "Nazwa",
|
|
430
|
-
"ra_import data from %s file": "Importuj dane z pliku %s"
|
|
430
|
+
"ra_import data from %s file": "Importuj dane z pliku %s",
|
|
431
|
+
"ra_Invalid JSON": "Nieprawidłowy JSON"
|
|
431
432
|
}
|
package/i18n/pt.json
CHANGED
|
@@ -427,5 +427,6 @@
|
|
|
427
427
|
"sc_every_dow": "todos os dias da semana",
|
|
428
428
|
"sc_specific_dow": "dia(s) específico(s) da semana",
|
|
429
429
|
"ra_Name": "Nome",
|
|
430
|
-
"ra_import data from %s file": "Importar dados do arquivo %s"
|
|
430
|
+
"ra_import data from %s file": "Importar dados do arquivo %s",
|
|
431
|
+
"ra_Invalid JSON": "JSON inválido"
|
|
431
432
|
}
|
package/i18n/ru.json
CHANGED
|
@@ -427,5 +427,6 @@
|
|
|
427
427
|
"sc_every_dow": "Каждый день недели",
|
|
428
428
|
"sc_specific_dow": "конкретный день(а) недели",
|
|
429
429
|
"ra_Name": "Имя",
|
|
430
|
-
"ra_import data from %s file": "Импортировать данные из файла %s"
|
|
430
|
+
"ra_import data from %s file": "Импортировать данные из файла %s",
|
|
431
|
+
"ra_Invalid JSON": "Неверный JSON"
|
|
431
432
|
}
|
package/i18n/uk.json
CHANGED
|
@@ -427,5 +427,6 @@
|
|
|
427
427
|
"sc_every_dow": "кожен день тижня",
|
|
428
428
|
"sc_specific_dow": "конкретний день (дні) тижня",
|
|
429
429
|
"ra_Name": "Ім'я",
|
|
430
|
-
"ra_import data from %s file": "Імпортувати дані з файлу %s"
|
|
430
|
+
"ra_import data from %s file": "Імпортувати дані з файлу %s",
|
|
431
|
+
"ra_Invalid JSON": "Недійсний JSON"
|
|
431
432
|
}
|
package/i18n/zh-cn.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iobroker/adapter-react-v5",
|
|
3
|
-
"version": "6.1.
|
|
3
|
+
"version": "6.1.8",
|
|
4
4
|
"description": "React classes to develop admin interfaces for ioBroker with react.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Denis Haev (bluefox)",
|
|
@@ -27,16 +27,16 @@
|
|
|
27
27
|
"homepage": "https://github.com/ioBroker/adapter-react-v5#readme",
|
|
28
28
|
"devDependencies": {},
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@emotion/react": "^11.
|
|
31
|
-
"@emotion/styled": "^11.
|
|
30
|
+
"@emotion/react": "^11.13.0",
|
|
31
|
+
"@emotion/styled": "^11.13.0",
|
|
32
32
|
"@iobroker/socket-client": "^2.4.18",
|
|
33
|
-
"@iobroker/types": "^6.0.
|
|
34
|
-
"@iobroker/js-controller-common": "^6.0.
|
|
35
|
-
"@iobroker/js-controller-common-db": "^6.0.
|
|
36
|
-
"@mui/icons-material": "^5.16.
|
|
37
|
-
"@mui/material": "^5.16.
|
|
38
|
-
"@mui/x-date-pickers": "^7.
|
|
39
|
-
"@sentry/browser": "^8.
|
|
33
|
+
"@iobroker/types": "^6.0.9",
|
|
34
|
+
"@iobroker/js-controller-common": "^6.0.9",
|
|
35
|
+
"@iobroker/js-controller-common-db": "^6.0.9",
|
|
36
|
+
"@mui/icons-material": "^5.16.6",
|
|
37
|
+
"@mui/material": "^5.16.6",
|
|
38
|
+
"@mui/x-date-pickers": "^7.12.0",
|
|
39
|
+
"@sentry/browser": "^8.22.0",
|
|
40
40
|
"cronstrue": "^2.50.0",
|
|
41
41
|
"react-color": "^2.19.3",
|
|
42
42
|
"react-colorful": "^5.6.1",
|
package/src/Components/Logo.tsx
CHANGED
|
@@ -41,8 +41,9 @@ class Logo extends React.Component<LogoProps> {
|
|
|
41
41
|
|
|
42
42
|
handleFileSelect = (evt: Event) => {
|
|
43
43
|
const target = evt.target as HTMLInputElement;
|
|
44
|
-
const files = target
|
|
44
|
+
const files = target?.files;
|
|
45
45
|
if (!files || !files.length) {
|
|
46
|
+
console.error('No files found. Please report to developers');
|
|
46
47
|
return;
|
|
47
48
|
}
|
|
48
49
|
const f = files[0];
|
|
@@ -50,8 +51,7 @@ class Logo extends React.Component<LogoProps> {
|
|
|
50
51
|
if (f) {
|
|
51
52
|
const r = new window.FileReader();
|
|
52
53
|
r.onload = () => {
|
|
53
|
-
|
|
54
|
-
const contents = target.result as string;
|
|
54
|
+
const contents: string = r.result?.toString() || '';
|
|
55
55
|
try {
|
|
56
56
|
const json = JSON.parse(contents);
|
|
57
57
|
if (json.native && json.common) {
|