@iobroker/adapter-react-v5 6.0.13 → 6.0.15
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/FileViewer.js +21 -0
- package/Components/ObjectBrowser.js +5 -2
- package/Components/Utils.js +1 -1
- package/GenericApp.js +1 -1
- package/README.md +22 -5
- package/package.json +8 -8
package/Components/FileViewer.js
CHANGED
|
@@ -224,6 +224,27 @@ class FileViewer extends react_1.Component {
|
|
|
224
224
|
this.setState({ imgError: true });
|
|
225
225
|
}, style: Object.assign(Object.assign({}, styles.img), this.props.getStyleBackgroundImage()), src: `${this.props.href}?ts=${this.state.forceUpdate}`, alt: this.props.href });
|
|
226
226
|
}
|
|
227
|
+
if (this.state.ext && exports.EXTENSIONS.audio.includes(this.state.ext)) {
|
|
228
|
+
return react_1.default.createElement("div", { style: {
|
|
229
|
+
width: '100%',
|
|
230
|
+
height: '100%',
|
|
231
|
+
display: 'flex',
|
|
232
|
+
justifyContent: 'center',
|
|
233
|
+
alignItems: 'center',
|
|
234
|
+
} },
|
|
235
|
+
react_1.default.createElement("audio", { style: { width: '100%' }, src: this.props.href, controls: true }));
|
|
236
|
+
}
|
|
237
|
+
if (this.state.ext && exports.EXTENSIONS.video.includes(this.state.ext)) {
|
|
238
|
+
return (react_1.default.createElement("div", { style: {
|
|
239
|
+
width: '100%',
|
|
240
|
+
height: '100%',
|
|
241
|
+
display: 'flex',
|
|
242
|
+
justifyContent: 'center',
|
|
243
|
+
alignItems: 'center',
|
|
244
|
+
} },
|
|
245
|
+
react_1.default.createElement("video", { style: { width: '100%', height: '100%' }, controls: true },
|
|
246
|
+
react_1.default.createElement("source", { src: this.props.href, type: `video/${this.state.ext}}` }))));
|
|
247
|
+
}
|
|
227
248
|
if (this.state.code !== null || this.state.text !== null || this.state.editing) {
|
|
228
249
|
// File viewer in adapter-react does not support write
|
|
229
250
|
// return <Editor
|
|
@@ -1781,7 +1781,6 @@ class ObjectBrowserClass extends react_1.Component {
|
|
|
1781
1781
|
this.localStorage = window._localStorage || window.localStorage;
|
|
1782
1782
|
this.lastAppliedFilter = null;
|
|
1783
1783
|
this.pausedSubscribes = false;
|
|
1784
|
-
this.selectedFound = false;
|
|
1785
1784
|
this.root = null;
|
|
1786
1785
|
this.states = {};
|
|
1787
1786
|
this.subscribes = [];
|
|
@@ -2257,6 +2256,7 @@ class ObjectBrowserClass extends react_1.Component {
|
|
|
2257
2256
|
selected = props.selected;
|
|
2258
2257
|
}
|
|
2259
2258
|
selected = selected.map(id => id.replace(/["']/g, '')).filter(id => id);
|
|
2259
|
+
this.selectedFound = !selected.length && !this.lastSelectedItems.length;
|
|
2260
2260
|
const columnsStr = this.localStorage.getItem(`${props.dialogName || 'App'}.columns`);
|
|
2261
2261
|
let columns;
|
|
2262
2262
|
try {
|
|
@@ -4458,7 +4458,7 @@ class ObjectBrowserClass extends react_1.Component {
|
|
|
4458
4458
|
icons),
|
|
4459
4459
|
react_1.default.createElement("div", { style: Object.assign(Object.assign({}, styles.grow), (invertBackground ? this.styles.invertedBackgroundFlex : {})) }),
|
|
4460
4460
|
react_1.default.createElement(material_1.Grid, { item: true, container: true, alignItems: "center" }, iconItem),
|
|
4461
|
-
this.props.width !== 'xs'
|
|
4461
|
+
this.props.width !== 'xs' ? react_1.default.createElement("div", null,
|
|
4462
4462
|
react_1.default.createElement(IconCopy_1.default, { className: narrowStyleWithDetails ? '' : 'copyButton', style: styles.cellCopyButton, onClick: e => this.onCopy(e, id) })) : null);
|
|
4463
4463
|
let colName = (narrowStyleWithDetails && name) || this.columnsVisibility.name ? react_1.default.createElement(material_1.Box, { component: "div", sx: Object.assign(Object.assign(Object.assign({}, styles.cellName), (useDesc ? styles.cellNameWithDesc : undefined)), { width: this.props.width !== 'xs' ? this.columnsVisibility.name : undefined, ml: narrowStyleWithDetails ? 0 : '5px' }) },
|
|
4464
4464
|
name,
|
|
@@ -4615,6 +4615,9 @@ class ObjectBrowserClass extends react_1.Component {
|
|
|
4615
4615
|
padding: 10,
|
|
4616
4616
|
backgroundColor: this.props.theme.palette.mode === 'dark' ? '#333' : '#ccc',
|
|
4617
4617
|
} },
|
|
4618
|
+
react_1.default.createElement("div", { style: styles.cellDetailsLine },
|
|
4619
|
+
react_1.default.createElement("div", { style: { flexGrow: 1 } }),
|
|
4620
|
+
react_1.default.createElement(IconCopy_1.default, { style: styles.cellCopyButtonInDetails, onClick: e => this.onCopy(e, id) })),
|
|
4618
4621
|
colName && react_1.default.createElement("div", { style: styles.cellDetailsLine },
|
|
4619
4622
|
react_1.default.createElement("span", { style: styles.cellDetailsName },
|
|
4620
4623
|
this.texts.name,
|
package/Components/Utils.js
CHANGED
|
@@ -1199,7 +1199,7 @@ class Utils {
|
|
|
1199
1199
|
if (window.vendorPrefix && window.vendorPrefix !== '@@vendorPrefix@@') {
|
|
1200
1200
|
return 'light';
|
|
1201
1201
|
}
|
|
1202
|
-
themeName = themeName ||
|
|
1202
|
+
themeName = themeName || Utils.getThemeName();
|
|
1203
1203
|
return themeName === 'dark' || themeName === 'blue' ? 'dark' : 'light';
|
|
1204
1204
|
}
|
|
1205
1205
|
/**
|
package/GenericApp.js
CHANGED
|
@@ -299,7 +299,7 @@ class GenericApp extends Router_1.default {
|
|
|
299
299
|
console.log('Sentry initialized');
|
|
300
300
|
}
|
|
301
301
|
// read UUID and init sentry with it.
|
|
302
|
-
// for backward compatibility it will be processed separately from above logic: some adapters could still have this.sentryDSN as undefined
|
|
302
|
+
// for backward compatibility it will be processed separately from the above logic: some adapters could still have this.sentryDSN as undefined
|
|
303
303
|
if (!this.sentryInited && sentryEnabled) {
|
|
304
304
|
this.sentryInited = true;
|
|
305
305
|
waitPromise = this.socket.getObject('system.meta.uuid')
|
package/README.md
CHANGED
|
@@ -699,6 +699,11 @@ const styles: Record<string, any> = (theme: IobTheme) => ({
|
|
|
699
699
|
dialog: {
|
|
700
700
|
height: `calc(100% - ${theme.mixins.toolbar.minHeight}px)`,
|
|
701
701
|
padding: theme.spacing(1),
|
|
702
|
+
margin: theme.spacing(2),
|
|
703
|
+
gap: 5,
|
|
704
|
+
borderRadius: 5,
|
|
705
|
+
marginLeft: 10, // marginTop, marginRight, marginBottom
|
|
706
|
+
paddingLeft: 10, // paddingTop, paddingRight, paddingBottom
|
|
702
707
|
},
|
|
703
708
|
...
|
|
704
709
|
});
|
|
@@ -709,7 +714,12 @@ After:
|
|
|
709
714
|
const styles: Record<string, any> = {
|
|
710
715
|
dialog: (theme: IobTheme) => ({
|
|
711
716
|
height: `calc(100% - ${theme => theme.mixins.toolbar.minHeight}px)`,
|
|
712
|
-
p: 1,
|
|
717
|
+
p: 1, // or 8px, padding is OK too
|
|
718
|
+
m: '16px', // or 2, margin is OK too
|
|
719
|
+
gap: '5px',
|
|
720
|
+
borderRadius: '5px',
|
|
721
|
+
ml: '10px', // mt, mr, mb, but marginLeft, marginRight, marginBottom is OK too
|
|
722
|
+
pl: '10px', // pt, pr, pb, but paddingTop, paddingRight, paddingBottom is OK too
|
|
713
723
|
}),
|
|
714
724
|
};
|
|
715
725
|
```
|
|
@@ -717,11 +727,11 @@ const styles: Record<string, any> = {
|
|
|
717
727
|
- Modify `className`:
|
|
718
728
|
Before: `<div className={this.props.classes.box}>`
|
|
719
729
|
|
|
720
|
-
After: `<Box
|
|
730
|
+
After: `<Box sx={styles.box}>`
|
|
721
731
|
|
|
722
|
-
Before: `<
|
|
732
|
+
Before: `<span className={Utils.clsx(this.props.classes.box1, condition && this.props.classes.box2)}>`
|
|
723
733
|
|
|
724
|
-
After: `<Box component="
|
|
734
|
+
After: `<Box component="span" sx={Utils.getStyle(this.props.theme, this.props.classes.box1, condition && this.props.classes.box2)}>`
|
|
725
735
|
Or if no one style is a function: `<Box component="div" sx={{ ...this.props.classes.box1, ...(condition ? this.props.classes.box2 : undefined) }}>`
|
|
726
736
|
|
|
727
737
|
Do not use `sx` if the style is not dynamic (not a function). Use `style` instead.
|
|
@@ -759,7 +769,7 @@ The best practice is to replace `padding` with `p` and `margin` with `m`, so you
|
|
|
759
769
|
Before: `<Tooltip title={this.props.t('ra_Refresh tree')} classes={{ popper: styles.tooltip }}>`
|
|
760
770
|
|
|
761
771
|
After: `<Tooltip title={this.props.t('ra_Refresh tree')} componentsProps={{ popper: { sx: { pointerEvents: 'none' } } }}>`
|
|
762
|
-
Or: `<Tooltip title={this.props.t('ra_Refresh tree')}
|
|
772
|
+
Or: `<Tooltip title={this.props.t('ra_Refresh tree')} componentsProps={{ popper: { sx: styles.tooltip } }}>`
|
|
763
773
|
|
|
764
774
|
Before. `<AccordionSummary classes={{ root: styles.rootStyle, content: styles.content }}>`
|
|
765
775
|
|
|
@@ -771,6 +781,13 @@ The best practice is to replace `padding` with `p` and `margin` with `m`, so you
|
|
|
771
781
|
-->
|
|
772
782
|
|
|
773
783
|
## Changelog
|
|
784
|
+
### 6.0.15 (2024-07-13)
|
|
785
|
+
* (bluefox) Allowed playing mp3 files in the file browser
|
|
786
|
+
* (bluefox) Corrected jump by object selection
|
|
787
|
+
|
|
788
|
+
### 6.0.14 (2024-07-07)
|
|
789
|
+
* (bluefox) Corrected theme type selection
|
|
790
|
+
|
|
774
791
|
### 6.0.13 (2024-06-30)
|
|
775
792
|
* (bluefox) Corrected color picker
|
|
776
793
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@iobroker/adapter-react-v5",
|
|
3
|
-
"version": "6.0.
|
|
3
|
+
"version": "6.0.15",
|
|
4
4
|
"description": "React classes to develop admin interfaces for ioBroker with react.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Denis Haev (bluefox)",
|
|
@@ -30,13 +30,13 @@
|
|
|
30
30
|
"@emotion/react": "^11.11.4",
|
|
31
31
|
"@emotion/styled": "^11.11.5",
|
|
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.
|
|
37
|
-
"@mui/material": "^5.
|
|
38
|
-
"@mui/x-date-pickers": "^7.
|
|
39
|
-
"@sentry/browser": "^8.
|
|
33
|
+
"@iobroker/types": "^6.0.8",
|
|
34
|
+
"@iobroker/js-controller-common": "^6.0.8",
|
|
35
|
+
"@iobroker/js-controller-common-db": "^6.0.8",
|
|
36
|
+
"@mui/icons-material": "^5.16.1",
|
|
37
|
+
"@mui/material": "^5.16.1",
|
|
38
|
+
"@mui/x-date-pickers": "^7.10.0",
|
|
39
|
+
"@sentry/browser": "^8.17.0",
|
|
40
40
|
"react-color": "^2.19.3",
|
|
41
41
|
"react-colorful": "^5.6.1",
|
|
42
42
|
"react-cropper": "^2.3.3",
|