@iobroker/adapter-react-v5 4.0.4 → 4.0.5
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/ObjectBrowser.js +88 -21
- package/Components/ObjectBrowser.js.map +1 -1
- package/README.md +2 -2
- package/package.json +1 -1
|
@@ -19,7 +19,6 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
19
19
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
20
20
|
var _react = _interopRequireWildcard(require("react"));
|
|
21
21
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
22
|
-
var _copyToClipboard = _interopRequireDefault(require("./copy-to-clipboard"));
|
|
23
22
|
var _withStyles = _interopRequireDefault(require("@mui/styles/withStyles"));
|
|
24
23
|
var _reactInlinesvg = _interopRequireDefault(require("react-inlinesvg"));
|
|
25
24
|
var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
@@ -294,6 +293,18 @@ var styles = function styles(theme) {
|
|
|
294
293
|
height: SMALL_BUTTON_SIZE
|
|
295
294
|
},
|
|
296
295
|
cellIdIconOwn: {},
|
|
296
|
+
cellIdTooltip: {
|
|
297
|
+
fontSize: 14
|
|
298
|
+
},
|
|
299
|
+
cellIdTooltipLink: {
|
|
300
|
+
color: "#7ec2fd",
|
|
301
|
+
"&:hover": {
|
|
302
|
+
color: "#7ec2fd"
|
|
303
|
+
},
|
|
304
|
+
"&:visited": {
|
|
305
|
+
color: "#7ec2fd"
|
|
306
|
+
}
|
|
307
|
+
},
|
|
297
308
|
cellCopyButton: {
|
|
298
309
|
width: SMALL_BUTTON_SIZE,
|
|
299
310
|
height: SMALL_BUTTON_SIZE,
|
|
@@ -788,17 +799,17 @@ function getSelectIdIcon(objects, id, imagePrefix) {
|
|
|
788
799
|
} else {
|
|
789
800
|
return null; // '<i class="material-icons iob-list-icon">' + objects[_id_].common.icon + '</i>';
|
|
790
801
|
}
|
|
791
|
-
}
|
|
792
|
-
|
|
793
|
-
if (aIcon.startsWith('data:image/svg')) {
|
|
794
|
-
src = /*#__PURE__*/_react["default"].createElement(_reactInlinesvg["default"], {
|
|
795
|
-
className: "iconOwn",
|
|
796
|
-
src: aIcon,
|
|
797
|
-
width: 28,
|
|
798
|
-
height: 28
|
|
799
|
-
});
|
|
800
802
|
} else {
|
|
801
|
-
|
|
803
|
+
if (aIcon.startsWith('data:image/svg')) {
|
|
804
|
+
src = /*#__PURE__*/_react["default"].createElement(_reactInlinesvg["default"], {
|
|
805
|
+
className: "iconOwn",
|
|
806
|
+
src: aIcon,
|
|
807
|
+
width: 28,
|
|
808
|
+
height: 28
|
|
809
|
+
});
|
|
810
|
+
} else {
|
|
811
|
+
src = aIcon;
|
|
812
|
+
}
|
|
802
813
|
}
|
|
803
814
|
} else {
|
|
804
815
|
var common = objects[id] && objects[id].common;
|
|
@@ -1079,6 +1090,34 @@ function getSystemIcon(objects, id, k, imagePrefix) {
|
|
|
1079
1090
|
}
|
|
1080
1091
|
return icon || null;
|
|
1081
1092
|
}
|
|
1093
|
+
function getIdFieldTooltip(data, classes, lang) {
|
|
1094
|
+
var _data$obj2, _data$obj2$common;
|
|
1095
|
+
if (data !== null && data !== void 0 && (_data$obj2 = data.obj) !== null && _data$obj2 !== void 0 && (_data$obj2$common = _data$obj2.common) !== null && _data$obj2$common !== void 0 && _data$obj2$common.desc && data.obj.common.desc !== '') {
|
|
1096
|
+
var _data$obj3, _data$obj3$common, _data$obj4, _data$obj4$common, _data$obj5, _data$obj5$common, _tooltip;
|
|
1097
|
+
var tooltip = '';
|
|
1098
|
+
if ((0, _typeof2["default"])(data === null || data === void 0 ? void 0 : (_data$obj3 = data.obj) === null || _data$obj3 === void 0 ? void 0 : (_data$obj3$common = _data$obj3.common) === null || _data$obj3$common === void 0 ? void 0 : _data$obj3$common.desc) === 'object' && data.obj.common.desc[lang] !== undefined) {
|
|
1099
|
+
tooltip = data.obj.common.desc[lang];
|
|
1100
|
+
} else if ((0, _typeof2["default"])(data === null || data === void 0 ? void 0 : (_data$obj4 = data.obj) === null || _data$obj4 === void 0 ? void 0 : (_data$obj4$common = _data$obj4.common) === null || _data$obj4$common === void 0 ? void 0 : _data$obj4$common.desc) === 'object' && data.obj.common.desc['en'] !== undefined) {
|
|
1101
|
+
tooltip = data.obj.common.desc['en'];
|
|
1102
|
+
} else if ((0, _typeof2["default"])(data === null || data === void 0 ? void 0 : (_data$obj5 = data.obj) === null || _data$obj5 === void 0 ? void 0 : (_data$obj5$common = _data$obj5.common) === null || _data$obj5$common === void 0 ? void 0 : _data$obj5$common.desc) === 'object' && data.obj.common.desc[lang] === undefined) {
|
|
1103
|
+
return data.id;
|
|
1104
|
+
} else {
|
|
1105
|
+
tooltip = data.obj.common.desc;
|
|
1106
|
+
}
|
|
1107
|
+
if ((_tooltip = tooltip) !== null && _tooltip !== void 0 && _tooltip.startsWith('http')) {
|
|
1108
|
+
return /*#__PURE__*/_react["default"].createElement("a", {
|
|
1109
|
+
className: _Utils["default"].clsx(classes.cellIdTooltipLink),
|
|
1110
|
+
href: tooltip,
|
|
1111
|
+
target: "_blank",
|
|
1112
|
+
rel: "noreferrer"
|
|
1113
|
+
}, tooltip);
|
|
1114
|
+
}
|
|
1115
|
+
return /*#__PURE__*/_react["default"].createElement("span", {
|
|
1116
|
+
className: _Utils["default"].clsx(classes.cellIdTooltip)
|
|
1117
|
+
}, tooltip);
|
|
1118
|
+
}
|
|
1119
|
+
return data.id;
|
|
1120
|
+
}
|
|
1082
1121
|
function buildTree(objects, options) {
|
|
1083
1122
|
options = options || {};
|
|
1084
1123
|
var imagePrefix = options.imagePrefix || '.';
|
|
@@ -3952,7 +3991,7 @@ var ObjectBrowser = /*#__PURE__*/function (_Component) {
|
|
|
3952
3991
|
value: function onCopy(e, text) {
|
|
3953
3992
|
e.stopPropagation();
|
|
3954
3993
|
e.preventDefault();
|
|
3955
|
-
|
|
3994
|
+
_Utils["default"].copyToClipboard(text, null);
|
|
3956
3995
|
if (text.length < 50) {
|
|
3957
3996
|
this.setState({
|
|
3958
3997
|
toast: this.props.t('ra_Copied %s', text)
|
|
@@ -3994,7 +4033,19 @@ var ObjectBrowser = /*#__PURE__*/function (_Component) {
|
|
|
3994
4033
|
"aria-label": "delete",
|
|
3995
4034
|
title: this.texts.deleteObject,
|
|
3996
4035
|
onClick: function onClick() {
|
|
3997
|
-
|
|
4036
|
+
// calculate number of children
|
|
4037
|
+
var keys = Object.keys(_this27.objects);
|
|
4038
|
+
keys.sort();
|
|
4039
|
+
var count = 0;
|
|
4040
|
+
var start = "".concat(id, ".");
|
|
4041
|
+
for (var i = 0; i < keys.length; i++) {
|
|
4042
|
+
if (keys[i].startsWith(start)) {
|
|
4043
|
+
count++;
|
|
4044
|
+
} else if (keys[i] > start) {
|
|
4045
|
+
break;
|
|
4046
|
+
}
|
|
4047
|
+
}
|
|
4048
|
+
_this27.props.onObjectDelete(id, !!(item.children && item.children.length), false, count + 1);
|
|
3998
4049
|
}
|
|
3999
4050
|
}, /*#__PURE__*/_react["default"].createElement(_Delete["default"], {
|
|
4000
4051
|
className: classes.cellButtonsButtonIcon
|
|
@@ -4041,7 +4092,18 @@ var ObjectBrowser = /*#__PURE__*/function (_Component) {
|
|
|
4041
4092
|
"aria-label": "delete",
|
|
4042
4093
|
onClick: function onClick() {
|
|
4043
4094
|
var _item$children3, _item$data$obj$common2;
|
|
4044
|
-
|
|
4095
|
+
var keys = Object.keys(_this27.objects);
|
|
4096
|
+
keys.sort();
|
|
4097
|
+
var count = 0;
|
|
4098
|
+
var start = "".concat(id, ".");
|
|
4099
|
+
for (var i = 0; i < keys.length; i++) {
|
|
4100
|
+
if (keys[i].startsWith(start)) {
|
|
4101
|
+
count++;
|
|
4102
|
+
} else if (keys[i] > start) {
|
|
4103
|
+
break;
|
|
4104
|
+
}
|
|
4105
|
+
}
|
|
4106
|
+
_this27.props.onObjectDelete(id, !!((_item$children3 = item.children) !== null && _item$children3 !== void 0 && _item$children3.length), !((_item$data$obj$common2 = item.data.obj.common) !== null && _item$data$obj$common2 !== void 0 && _item$data$obj$common2.dontDelete), count);
|
|
4045
4107
|
},
|
|
4046
4108
|
title: this.texts.deleteObject
|
|
4047
4109
|
}, /*#__PURE__*/_react["default"].createElement(_Delete["default"], {
|
|
@@ -4774,7 +4836,11 @@ var ObjectBrowser = /*#__PURE__*/function (_Component) {
|
|
|
4774
4836
|
invertBackground = this.props.themeType === 'dark' ? '#9a9a9a' : '#565656';
|
|
4775
4837
|
}
|
|
4776
4838
|
}
|
|
4777
|
-
if (
|
|
4839
|
+
if (id === 'system') {
|
|
4840
|
+
checkColor = COLOR_NAME_SYSTEM;
|
|
4841
|
+
} else if (id === 'system.adapter') {
|
|
4842
|
+
checkColor = COLOR_NAME_SYSTEM_ADAPTER;
|
|
4843
|
+
} else if (!checkColor || this.state.selected.includes(id)) {
|
|
4778
4844
|
checkColor = 'inherit';
|
|
4779
4845
|
}
|
|
4780
4846
|
var icons = [];
|
|
@@ -4910,12 +4976,13 @@ var ObjectBrowser = /*#__PURE__*/function (_Component) {
|
|
|
4910
4976
|
}
|
|
4911
4977
|
}, checkbox, iconFolder), /*#__PURE__*/_react["default"].createElement(_Grid["default"], {
|
|
4912
4978
|
item: true,
|
|
4913
|
-
title: id,
|
|
4914
|
-
className: _Utils["default"].clsx(classes.cellIdSpan, invertBackground && classes.invertedBackground),
|
|
4915
4979
|
style: {
|
|
4916
|
-
color:
|
|
4917
|
-
}
|
|
4918
|
-
|
|
4980
|
+
color: checkColor
|
|
4981
|
+
},
|
|
4982
|
+
className: _Utils["default"].clsx(classes.cellIdSpan, invertBackground && classes.invertedBackground)
|
|
4983
|
+
}, /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
4984
|
+
title: getIdFieldTooltip(item.data, this.props.classes, this.props.lang)
|
|
4985
|
+
}, /*#__PURE__*/_react["default"].createElement("div", null, item.data.name)), alias, icons), /*#__PURE__*/_react["default"].createElement("div", {
|
|
4919
4986
|
className: _Utils["default"].clsx(classes.grow, invertBackground && classes.invertedBackgroundFlex)
|
|
4920
4987
|
}), /*#__PURE__*/_react["default"].createElement(_Grid["default"], {
|
|
4921
4988
|
item: true,
|
|
@@ -5874,7 +5941,7 @@ ObjectBrowser.propTypes = {
|
|
|
5874
5941
|
modalEditOfAccessControl: _propTypes["default"].func,
|
|
5875
5942
|
// modal Edit Of Access Control
|
|
5876
5943
|
onObjectDelete: _propTypes["default"].func,
|
|
5877
|
-
// optional function (id, hasChildren, objectExists) { }
|
|
5944
|
+
// optional function (id, hasChildren, objectExists, childrenCount+1) { }
|
|
5878
5945
|
customFilter: _propTypes["default"].object,
|
|
5879
5946
|
// optional
|
|
5880
5947
|
// `{common: {custom: true}}` - show only objects with some custom settings
|