@iobroker/adapter-react-v5 0.0.2 → 0.0.3

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.
@@ -129,7 +129,7 @@ var IconSelector = /*#__PURE__*/function (_Component) {
129
129
  }
130
130
 
131
131
  names[i] = template.name;
132
- promises.push(_Utils["default"].getSvg(image["default"]).then(function (icon) {
132
+ promises.push(_Utils["default"].getSvg(image).then(function (icon) {
133
133
  return icons[i] = icon;
134
134
  }));
135
135
  });
@@ -161,7 +161,7 @@ var IconSelector = /*#__PURE__*/function (_Component) {
161
161
  }
162
162
 
163
163
  names[i + offset] = template.name;
164
- promises.push(_Utils["default"].getSvg(image["default"]).then(function (icon) {
164
+ promises.push(_Utils["default"].getSvg(image).then(function (icon) {
165
165
  return icons[i + offset] = icon;
166
166
  }));
167
167
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["IconSelector.js"],"names":["IconSelector","props","state","opened","names","filter","icons","loading","setState","templates","onlyRooms","onlyDevices","rooms","promises","forEach","item","name","lang","en","_id","i","find","_item","_i","icon","template","image","require","e","Promise","resolve","push","Utils","getSvg","then","devices","offset","length","all","isAnyName","map","href","src","parts","split","pop","startsWith","t","loadAllIcons","minWidth","marginRight","marginLeft","target","value","toLowerCase","endAdornment","undefined","width","textAlign","includes","onSelect","height","borderRadius","Component","propTypes","PropTypes","array","bool","func","isRequired","string"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport DialogTitle from '@mui/material/DialogTitle';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport Button from '@mui/material/Button';\nimport IconButton from '@mui/material/IconButton';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport TextField from '@mui/material/TextField';\nimport Tooltip from '@mui/material/Tooltip';\n\nimport CloseIcon from '@mui/icons-material/Close';\nimport ClearIcon from '@mui/icons-material/Clear';\n\nimport Icon from './Icon';\nimport Utils from './Utils';\n\nimport devices from '../assets/devices/list.json';\nimport rooms from '../assets/rooms/list.json';\n\nclass IconSelector extends Component {\n constructor(props) {\n super(props);\n this.state = {\n opened: false,\n names: [],\n filter: '',\n icons: props.icons || null,\n };\n }\n\n loadAllIcons() {\n if (this.state.loading || this.state.icons) {\n return;\n }\n this.setState({loading: true}, () => {\n const icons = [];\n const names = [];\n\n if (!this.props.icons) {\n let templates = this.props.onlyRooms || (!this.props.onlyRooms && !this.props.onlyDevices) ? rooms : null;\n\n const promises = [];\n if (templates) {\n templates.forEach(item => {\n if (item.name && typeof item.name === 'object') {\n item.name = item.name[this.props.lang] || item.name.en || item._id;\n }\n item.name = item.name || item._id;\n });\n\n templates = templates.filter((item, i) => !templates.find((_item, _i) => i !== _i && _item.icon === item.icon && _item.name === item.name));\n\n templates.forEach((template, i) => {\n let image;\n try {\n image = require(`../assets/rooms/${template.icon}`);\n } catch (e) {\n return Promise.resolve(null);\n }\n\n names[i] = template.name;\n\n promises.push(Utils.getSvg(image.default)\n .then(icon =>\n icons[i] = icon));\n });\n }\n\n templates = this.props.onlyDevices || (!this.props.onlyRooms && !this.props.onlyDevices) ? devices : null;\n if (templates) {\n const offset = promises.length;\n templates && templates.forEach(item => {\n if (item.name && typeof item.name === 'object') {\n item.name = item.name[this.props.lang] || item.name.en || item._id;\n }\n item.name = item.name || item._id;\n });\n\n templates = templates.filter((item, i) => !templates.find((_item, _i) => i !== _i && _item.icon === item.icon && _item.name === item.name));\n\n templates.forEach((template, i) => {\n let image;\n try {\n image = require(`../assets/devices/${template.icon}`);\n } catch (e) {\n return Promise.resolve(null);\n }\n\n names[i + offset] = template.name;\n\n promises.push(Utils.getSvg(image.default)\n .then(icon =>\n icons[i + offset] = icon));\n });\n }\n Promise.all(promises)\n .then(() =>\n this.setState({icons, loading: false, names, isAnyName: names.find(i => i)}));\n } else {\n const promises = this.props.icons.map((item, i) => {\n let href;\n if (typeof item === 'object') {\n href = item.icon || item.src || item.href;\n names[i] = typeof item.name === 'object' ? item.name[this.props.lang] || item.name.en || item._id : item.name;\n if (!names[i]) {\n const parts = href.split('.');\n parts.pop();\n names[i] = parts[parts.length - 1];\n }\n } else {\n href = item;\n }\n\n if (href) {\n if (href.startsWith('data:')) {\n icons[i] = href;\n return Promise.resolve();\n } else {\n return Utils.getSvg(href)\n .then(icon =>\n icons[i] = icon);\n }\n } else {\n return Promise.resolve();\n }\n });\n\n Promise.all(promises)\n .then(() =>\n this.setState({icons, loading: false, names, isAnyName: names.find(i => i)}));\n }\n });\n }\n\n render() {\n if (this.state.loading) {\n return <CircularProgress />;\n }\n\n return <>\n <Button\n color=\"grey\" \n variant=\"outlined\"\n title={this.props.t('ra_Select predefined icon')}\n onClick={() => this.setState({opened: true}, () => this.loadAllIcons())} style={{minWidth: 40, marginRight: 8}}\n >...</Button>\n {this.state.opened ? <Dialog onClose={() => this.setState({opened: false})} open={true}>\n <DialogTitle>{this.props.t('ra_Select predefined icon')}\n {this.state.isAnyName ? <TextField\n variant=\"standard\" \n margin=\"dense\"\n style={{marginLeft: 20}}\n value={this.state.filter}\n onChange={e => this.setState({filter: e.target.value.toLowerCase()})}\n placeholder={this.props.t('Filter')}\n InputProps={{\n endAdornment: this.state.filter\n ?\n <IconButton\n size=\"small\"\n onClick={() => this.setState({filter: ''})}>\n <ClearIcon />\n </IconButton>\n :\n undefined,\n }}\n /> : null}\n </DialogTitle>\n <DialogContent>\n <div style={{width: '100%', textAlign: 'center'}}>\n {this.state.icons && this.state.icons.map((icon, i) => {\n if (!this.state.filter || (this.state.names[i] && this.state.names[i].toLowerCase().includes(this.state.filter))) {\n return (\n <Tooltip title={this.state.names[i] || ''} key={i}><IconButton\n onClick={() =>\n this.setState({opened: false}, () =>\n this.props.onSelect(icon))}\n size=\"large\">\n <Icon src={icon} alt={i} style={{width: 32, height: 32, borderRadius: 5}}/>\n </IconButton></Tooltip>\n );\n } else {\n return null;\n }\n })}\n </div>\n </DialogContent>\n <DialogActions>\n <Button\n color=\"grey\" \n variant=\"contained\"\n onClick={() => this.setState({opened: false})}\n startIcon={<CloseIcon />}\n >\n {this.props.t('Close')}\n </Button>\n </DialogActions>\n </Dialog> : null}\n </>;\n }\n}\n\nIconSelector.propTypes = {\n icons: PropTypes.array,\n onlyRooms: PropTypes.bool,\n onlyDevices: PropTypes.bool,\n onSelect: PropTypes.func.isRequired,\n t: PropTypes.func.isRequired,\n lang: PropTypes.string.isRequired,\n};\n\n/** @type {typeof IconSelector} */\nexport default IconSelector;"],"file":"IconSelector.js"}
1
+ {"version":3,"sources":["IconSelector.js"],"names":["IconSelector","props","state","opened","names","filter","icons","loading","setState","templates","onlyRooms","onlyDevices","rooms","promises","forEach","item","name","lang","en","_id","i","find","_item","_i","icon","template","image","require","e","Promise","resolve","push","Utils","getSvg","then","devices","offset","length","all","isAnyName","map","href","src","parts","split","pop","startsWith","t","loadAllIcons","minWidth","marginRight","marginLeft","target","value","toLowerCase","endAdornment","undefined","width","textAlign","includes","onSelect","height","borderRadius","Component","propTypes","PropTypes","array","bool","func","isRequired","string"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\n\nimport DialogTitle from '@mui/material/DialogTitle';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport Button from '@mui/material/Button';\nimport IconButton from '@mui/material/IconButton';\nimport CircularProgress from '@mui/material/CircularProgress';\nimport TextField from '@mui/material/TextField';\nimport Tooltip from '@mui/material/Tooltip';\n\nimport CloseIcon from '@mui/icons-material/Close';\nimport ClearIcon from '@mui/icons-material/Clear';\n\nimport Icon from './Icon';\nimport Utils from './Utils';\n\nimport devices from '../assets/devices/list.json';\nimport rooms from '../assets/rooms/list.json';\n\nclass IconSelector extends Component {\n constructor(props) {\n super(props);\n this.state = {\n opened: false,\n names: [],\n filter: '',\n icons: props.icons || null,\n };\n }\n\n loadAllIcons() {\n if (this.state.loading || this.state.icons) {\n return;\n }\n this.setState({loading: true}, () => {\n const icons = [];\n const names = [];\n\n if (!this.props.icons) {\n let templates = this.props.onlyRooms || (!this.props.onlyRooms && !this.props.onlyDevices) ? rooms : null;\n\n const promises = [];\n if (templates) {\n templates.forEach(item => {\n if (item.name && typeof item.name === 'object') {\n item.name = item.name[this.props.lang] || item.name.en || item._id;\n }\n item.name = item.name || item._id;\n });\n\n templates = templates.filter((item, i) => !templates.find((_item, _i) => i !== _i && _item.icon === item.icon && _item.name === item.name));\n\n templates.forEach((template, i) => {\n let image;\n try {\n image = require(`../assets/rooms/${template.icon}`);\n } catch (e) {\n return Promise.resolve(null);\n }\n\n names[i] = template.name;\n\n promises.push(Utils.getSvg(image)\n .then(icon =>\n icons[i] = icon));\n });\n }\n\n templates = this.props.onlyDevices || (!this.props.onlyRooms && !this.props.onlyDevices) ? devices : null;\n if (templates) {\n const offset = promises.length;\n templates && templates.forEach(item => {\n if (item.name && typeof item.name === 'object') {\n item.name = item.name[this.props.lang] || item.name.en || item._id;\n }\n item.name = item.name || item._id;\n });\n\n templates = templates.filter((item, i) => !templates.find((_item, _i) => i !== _i && _item.icon === item.icon && _item.name === item.name));\n\n templates.forEach((template, i) => {\n let image;\n try {\n image = require(`../assets/devices/${template.icon}`);\n } catch (e) {\n return Promise.resolve(null);\n }\n\n names[i + offset] = template.name;\n\n promises.push(Utils.getSvg(image)\n .then(icon =>\n icons[i + offset] = icon));\n });\n }\n Promise.all(promises)\n .then(() =>\n this.setState({icons, loading: false, names, isAnyName: names.find(i => i)}));\n } else {\n const promises = this.props.icons.map((item, i) => {\n let href;\n if (typeof item === 'object') {\n href = item.icon || item.src || item.href;\n names[i] = typeof item.name === 'object' ? item.name[this.props.lang] || item.name.en || item._id : item.name;\n if (!names[i]) {\n const parts = href.split('.');\n parts.pop();\n names[i] = parts[parts.length - 1];\n }\n } else {\n href = item;\n }\n\n if (href) {\n if (href.startsWith('data:')) {\n icons[i] = href;\n return Promise.resolve();\n } else {\n return Utils.getSvg(href)\n .then(icon =>\n icons[i] = icon);\n }\n } else {\n return Promise.resolve();\n }\n });\n\n Promise.all(promises)\n .then(() =>\n this.setState({icons, loading: false, names, isAnyName: names.find(i => i)}));\n }\n });\n }\n\n render() {\n if (this.state.loading) {\n return <CircularProgress />;\n }\n\n return <>\n <Button\n color=\"grey\" \n variant=\"outlined\"\n title={this.props.t('ra_Select predefined icon')}\n onClick={() => this.setState({opened: true}, () => this.loadAllIcons())} style={{minWidth: 40, marginRight: 8}}\n >...</Button>\n {this.state.opened ? <Dialog onClose={() => this.setState({opened: false})} open={true}>\n <DialogTitle>{this.props.t('ra_Select predefined icon')}\n {this.state.isAnyName ? <TextField\n variant=\"standard\" \n margin=\"dense\"\n style={{marginLeft: 20}}\n value={this.state.filter}\n onChange={e => this.setState({filter: e.target.value.toLowerCase()})}\n placeholder={this.props.t('Filter')}\n InputProps={{\n endAdornment: this.state.filter\n ?\n <IconButton\n size=\"small\"\n onClick={() => this.setState({filter: ''})}>\n <ClearIcon />\n </IconButton>\n :\n undefined,\n }}\n /> : null}\n </DialogTitle>\n <DialogContent>\n <div style={{width: '100%', textAlign: 'center'}}>\n {this.state.icons && this.state.icons.map((icon, i) => {\n if (!this.state.filter || (this.state.names[i] && this.state.names[i].toLowerCase().includes(this.state.filter))) {\n return (\n <Tooltip title={this.state.names[i] || ''} key={i}><IconButton\n onClick={() =>\n this.setState({opened: false}, () =>\n this.props.onSelect(icon))}\n size=\"large\">\n <Icon src={icon} alt={i} style={{width: 32, height: 32, borderRadius: 5}}/>\n </IconButton></Tooltip>\n );\n } else {\n return null;\n }\n })}\n </div>\n </DialogContent>\n <DialogActions>\n <Button\n color=\"grey\" \n variant=\"contained\"\n onClick={() => this.setState({opened: false})}\n startIcon={<CloseIcon />}\n >\n {this.props.t('Close')}\n </Button>\n </DialogActions>\n </Dialog> : null}\n </>;\n }\n}\n\nIconSelector.propTypes = {\n icons: PropTypes.array,\n onlyRooms: PropTypes.bool,\n onlyDevices: PropTypes.bool,\n onSelect: PropTypes.func.isRequired,\n t: PropTypes.func.isRequired,\n lang: PropTypes.string.isRequired,\n};\n\n/** @type {typeof IconSelector} */\nexport default IconSelector;"],"file":"IconSelector.js"}
@@ -13,6 +13,10 @@ var _copyToClipboard = _interopRequireDefault(require("./copy-to-clipboard"));
13
13
 
14
14
  var _withStyles = _interopRequireDefault(require("@mui/styles/withStyles"));
15
15
 
16
+ var _styles = require("@mui/material/styles");
17
+
18
+ var _useMediaQuery = _interopRequireDefault(require("@mui/material/useMediaQuery"));
19
+
16
20
  var _reactInlinesvg = _interopRequireDefault(require("react-inlinesvg"));
17
21
 
18
22
  var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
@@ -163,18 +167,6 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
163
167
 
164
168
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
165
169
 
166
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
167
-
168
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
169
-
170
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
171
-
172
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
173
-
174
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
175
-
176
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
177
-
178
170
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
179
171
 
180
172
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
@@ -205,12 +197,37 @@ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" =
205
197
 
206
198
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
207
199
 
208
- // FIXME checkout https://mui.com/components/use-media-query/#migrating-from-withwidth
200
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
201
+
202
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
203
+
204
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
205
+
206
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
207
+
208
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
209
+
210
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
211
+
212
+ function useWidth() {
213
+ var theme = (0, _styles.useTheme)();
214
+
215
+ var keys = _toConsumableArray(theme.breakpoints.keys).reverse();
216
+
217
+ return keys.reduce(function (output, key) {
218
+ // eslint-disable-next-line react-hooks/rules-of-hooks
219
+ var matches = (0, _useMediaQuery["default"])(theme.breakpoints.up(key));
220
+ return !output && matches ? key : output;
221
+ }, null) || 'xs';
222
+ } // FIXME checkout https://mui.com/components/use-media-query/#migrating-from-withwidth
223
+
224
+
209
225
  var withWidth = function withWidth() {
210
226
  return function (WrappedComponent) {
211
227
  return function (props) {
228
+ var width = useWidth();
212
229
  return /*#__PURE__*/_react["default"].createElement(WrappedComponent, _extends({}, props, {
213
- width: "xs"
230
+ width: width
214
231
  }));
215
232
  };
216
233
  };
@@ -659,7 +676,6 @@ var styles = function styles(theme) {
659
676
  },
660
677
  headerCellInput: {
661
678
  width: 'calc(100% - 5px)',
662
- height: ROW_HEIGHT,
663
679
  paddingTop: 3,
664
680
  '& .itemIcon': {
665
681
  verticalAlign: 'middle',