@iobroker/adapter-react-v5 4.0.14 → 4.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.
@@ -34,7 +34,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
34
34
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
35
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
36
36
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
37
- var styles = function styles(theme) {
37
+ var styles = function styles() {
38
38
  return {
39
39
  dialog: {
40
40
  height: '100%'
@@ -68,11 +68,11 @@ var EXTENSIONS = {
68
68
  video: ['mp4', 'mov', 'avi']
69
69
  };
70
70
  exports.EXTENSIONS = EXTENSIONS;
71
- function bufferToBase64(buffer) {
71
+ function bufferToBase64(buffer, isFull) {
72
72
  var binary = '';
73
73
  var bytes = new Uint8Array(buffer);
74
74
  var len = bytes.byteLength;
75
- for (var i = 0; i < len && i < 50; i++) {
75
+ for (var i = 0; i < len && (isFull || i < 50); i++) {
76
76
  binary += String.fromCharCode(bytes[i]);
77
77
  }
78
78
  return window.btoa(binary);
@@ -116,16 +116,16 @@ var FileViewer = /*#__PURE__*/function (_Component) {
116
116
  }
117
117
  });
118
118
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "writeFile64", function () {
119
- var parts = _this.props.href.split('/');
120
- var data = _this.state.editingValue;
121
- parts.splice(0, 2);
122
- var adapter = parts[0];
123
- var name = parts.splice(1).join('/');
124
- // File viewer in adapter-react does not support write
125
119
  /*
120
+ // File viewer in adapter-react does not support write
121
+ const parts = this.props.href.split('/');
122
+ const data = this.state.editingValue;
123
+ parts.splice(0, 2);
124
+ const adapter = parts[0];
125
+ const name = parts.splice(1).join('/');
126
126
  this.props.socket.writeFile64(adapter, name, Buffer.from(data).toString('base64'))
127
127
  .then(_ => this.props.onClose())
128
- .catch(e => window.alert('Cannot write file: ' + e));
128
+ .catch(e => window.alert(`Cannot write file: ${e}`));
129
129
  */
130
130
  });
131
131
  var ext = _Utils["default"].getFileExtension(_this.props.href);
@@ -157,28 +157,40 @@ var FileViewer = /*#__PURE__*/function (_Component) {
157
157
  data = data.file;
158
158
  }
159
159
  var newState = {
160
- copyPossible: _this2.state.copyPossible
160
+ copyPossible: _this2.state.copyPossible,
161
+ ext: _this2.state.ext
161
162
  };
162
163
  // try to detect valid extension
163
164
  if (data.type === 'Buffer') {
164
- var ext = _Utils["default"].detectMimeType(bufferToBase64(data.data));
165
- if (ext) {
166
- newState.ext = ext;
167
- newState.copyPossible = EXTENSIONS.code.includes(ext) || EXTENSIONS.txt.includes(ext);
165
+ if (name.toLowerCase().endsWith('.json5')) {
166
+ newState.ext = 'json5';
167
+ newState.copyPossible = true;
168
+ try {
169
+ data = atob(bufferToBase64(data.data, true));
170
+ } catch (e) {
171
+ console.error('Cannot convert base64 to string');
172
+ data = '';
173
+ }
174
+ } else {
175
+ var ext = _Utils["default"].detectMimeType(bufferToBase64(data.data));
176
+ if (ext) {
177
+ newState.ext = ext;
178
+ newState.copyPossible = EXTENSIONS.code.includes(ext) || EXTENSIONS.txt.includes(ext);
179
+ }
168
180
  }
169
181
  }
170
182
  if (newState.copyPossible) {
171
- if (EXTENSIONS.txt.includes(_this2.state.ext)) {
183
+ if (EXTENSIONS.txt.includes(newState.ext)) {
172
184
  newState.text = data;
173
185
  newState.editingValue = data;
174
- } else if (EXTENSIONS.code.includes(_this2.state.ext)) {
186
+ } else if (EXTENSIONS.code.includes(newState.ext)) {
175
187
  newState.code = data;
176
188
  newState.editingValue = data;
177
189
  }
178
190
  }
179
191
  _this2.setState(newState);
180
192
  })["catch"](function (e) {
181
- return window.alert('Cannot read file: ' + e);
193
+ return window.alert("Cannot read file: ".concat(e));
182
194
  });
183
195
  }
184
196
  }
@@ -220,7 +232,7 @@ var FileViewer = /*#__PURE__*/function (_Component) {
220
232
  });
221
233
  },
222
234
  className: _Utils["default"].clsx(this.props.classes.img, this.props.getClassBackgroundImage()),
223
- src: this.props.href + '?ts=' + this.state.forceUpdate,
235
+ src: "".concat(this.props.href, "?ts=").concat(this.state.forceUpdate),
224
236
  alt: this.props.href
225
237
  });
226
238
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FileViewer.js","names":["_react","_interopRequireWildcard","require","_styles","_propTypes","_interopRequireDefault","_TextField","_Button","_Dialog","_DialogActions","_DialogContent","_DialogTitle","_material","_IconNoIcon","_withWidth","_Utils","_fa","_Brightness","_Close","_Save","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","e","styles","theme","dialog","height","paper","content","textAlign","textarea","width","img","objectFit","dialogTitle","justifyContent","display","EXTENSIONS","images","code","txt","audio","video","exports","bufferToBase64","buffer","binary","bytes","Uint8Array","len","byteLength","i","String","fromCharCode","window","btoa","FileViewer","_Component","_inherits2","_super","props","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","id","fileName","size","state","changed","timeout","clearTimeout","setTimeout","alert","text","readFile","setState","forceUpdate","Date","now","parts","href","split","data","editingValue","splice","adapter","name","join","ext","Utils","getFileExtension","editing","copyPossible","includes","imgError","_createClass2","value","_this2","socket","then","file","undefined","newState","type","detectMimeType","componentDidMount","supportSubscribes","subscribeFiles","onFileChanged","componentWillUnmount","getContent","_this3","createElement","className","clsx","classes","getClassBackgroundImage","onError","target","onerror","src","alt","variant","multiline","onChange","newValue","InputProps","readOnly","render","_this4","scrollPaper","scroll","open","onClose","fullWidth","maxWidth","t","IconButton","color","onClick","setStateBackgroundImage","copyToClipboard","startIcon","FaCopy","disabled","writeFile64","getEditFile","Component","propTypes","PropTypes","func","lang","string","expertMode","bool","isRequired","_export","withWidth","withStyles","_default"],"sources":["FileViewer.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { withStyles } from '@mui/styles';\nimport PropTypes from 'prop-types';\n\n// File viewer in adapter-react does not support write\n// import { Buffer } from 'buffer';\n\nimport TextField from '@mui/material/TextField';\nimport Button from '@mui/material/Button';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport { IconButton } from '@mui/material';\n\nimport IconNoIcon from '../icons/IconNoIcon';\nimport withWidth from './withWidth';\nimport Utils from './Utils';\n\n// Icons\nimport { FaCopy as CopyIcon } from 'react-icons/fa';\nimport Brightness5Icon from '@mui/icons-material/Brightness6';\nimport CloseIcon from '@mui/icons-material/Close';\nimport SaveIcon from '@mui/icons-material/Save';\n\nconst styles = theme => ({\n dialog: {\n height: '100%',\n },\n paper: {\n height: 'calc(100% - 64px)',\n },\n content: {\n textAlign: 'center',\n },\n textarea: {\n width: '100%',\n height: '100%',\n },\n img: {\n width: 'auto',\n height: 'calc(100% - 5px)',\n objectFit: 'contain',\n },\n dialogTitle: {\n justifyContent: 'space-between',\n display: 'flex'\n }\n});\n\nexport const EXTENSIONS = {\n images: ['png', 'jpg', 'svg', 'jpeg', 'bmp'],\n code: ['js', 'json', 'json5', 'md'],\n txt: ['log', 'txt', 'html', 'css', 'xml'],\n audio: ['mp3', 'wav', 'ogg', 'acc'],\n video: ['mp4', 'mov', 'avi'],\n};\n\nfunction bufferToBase64(buffer) {\n let binary = '';\n let bytes = new Uint8Array(buffer);\n let len = bytes.byteLength;\n for (let i = 0; i < len && i < 50; i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return window.btoa(binary);\n}\n\n/**\n * @typedef {object} FileViewerProps\n * @property {import('../types').Translator} t Translation function\n * @property {ioBroker.Languages} [lang] The selected language.\n * @property {boolean} [expertMode] Is expert mode enabled? (default: false)\n * @property {() => void} onClose Callback when the viewer is closed.\n * @property {string} href The URL to the file to be displayed.\n *\n * @extends {React.Component<FileViewerProps>}\n */\nclass FileViewer extends Component {\n /**\n * @param {Readonly<FileViewerProps>} props\n */\n constructor(props) {\n super(props);\n const ext = Utils.getFileExtension(this.props.href);\n\n this.state = {\n text: null,\n code: null,\n ext,\n // File viewer in adapter-react does not support write\n editing: /* !!this.props.formatEditFile || */ false,\n editingValue: null,\n copyPossible: EXTENSIONS.code.includes(ext) || EXTENSIONS.txt.includes(ext),\n forceUpdate: Date.now(),\n changed: false,\n imgError: false,\n };\n }\n\n readFile() {\n if (this.props.href) {\n const parts = this.props.href.split('/');\n parts.splice(0, 2);\n const adapter = parts[0];\n const name = parts.splice(1).join('/');\n\n this.props.socket.readFile(adapter, name)\n .then(data => {\n if (data.file !== undefined) {\n data = data.file;\n }\n\n const newState = {copyPossible: this.state.copyPossible};\n // try to detect valid extension\n if (data.type === 'Buffer') {\n const ext = Utils.detectMimeType(bufferToBase64(data.data));\n if (ext) {\n newState.ext = ext;\n newState.copyPossible = EXTENSIONS.code.includes(ext) || EXTENSIONS.txt.includes(ext);\n }\n }\n\n if (newState.copyPossible) {\n if (EXTENSIONS.txt.includes(this.state.ext)) {\n newState.text = data;\n newState.editingValue = data;\n } else if (EXTENSIONS.code.includes(this.state.ext)) {\n newState.code = data;\n newState.editingValue = data;\n }\n }\n\n this.setState(newState);\n })\n .catch(e => window.alert('Cannot read file: ' + e));\n }\n }\n\n componentDidMount() {\n this.readFile();\n\n const parts = this.props.href.split('/');\n parts.splice(0, 2);\n const adapter = parts[0];\n const name = parts.splice(1).join('/');\n\n this.props.supportSubscribes && this.props.socket.subscribeFiles(adapter, name, this.onFileChanged);\n }\n\n componentWillUnmount() {\n this.timeout && clearTimeout(this.timeout);\n const parts = this.props.href.split('/');\n parts.splice(0, 2);\n const adapter = parts[0];\n const name = parts.splice(1).join('/');\n this.props.supportSubscribes && this.props.socket.subscribeFiles(adapter, name, this.onFileChanged);\n }\n\n onFileChanged = (id, fileName, size) => {\n if (!this.state.changed) {\n this.timeout && clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n this.timeout = null;\n if (size === null) {\n window.alert('Show file was deleted!');\n } else if (this.state.text !== null || this.state.code !== null) {\n this.readFile();\n } else {\n this.setState({ forceUpdate: Date.now() });\n }\n }, 300);\n }\n };\n\n writeFile64 = () => {\n const parts = this.props.href.split('/');\n const data = this.state.editingValue;\n parts.splice(0, 2);\n const adapter = parts[0];\n const name = parts.splice(1).join('/');\n // File viewer in adapter-react does not support write\n /*\n this.props.socket.writeFile64(adapter, name, Buffer.from(data).toString('base64'))\n .then(_ => this.props.onClose())\n .catch(e => window.alert('Cannot write file: ' + e));\n */\n }\n\n static getEditFile(ext) {\n switch (ext) {\n case 'json':\n return 'json';\n case 'json5':\n return 'json5';\n case 'js':\n return 'javascript';\n case 'html':\n return 'html';\n case 'txt':\n return 'html';\n default:\n return 'json';\n }\n }\n\n getContent() {\n if (EXTENSIONS.images.includes(this.state.ext)) {\n if (this.state.imgError) {\n return <IconNoIcon className={Utils.clsx(this.props.classes.img, this.props.getClassBackgroundImage())} />;\n } else {\n return <img\n onError={e => {\n e.target.onerror = null;\n this.setState({ imgError: true });\n }}\n className={Utils.clsx(this.props.classes.img, this.props.getClassBackgroundImage())}\n src={this.props.href + '?ts=' + this.state.forceUpdate}\n alt={this.props.href}\n />;\n }\n } else if (this.state.code !== null || this.state.text !== null || this.state.editing) {\n return <TextField\n variant=\"standard\"\n className={ this.props.classes.textarea }\n multiline\n value={ this.state.editingValue || this.state.code || this.state.text }\n onChange={newValue => this.setState({ editingValue: newValue, changed: true })}\n InputProps={{ readOnly: !this.state.editing }}\n />;\n }\n }\n\n render() {\n return <Dialog\n classes={{ scrollPaper: this.props.classes.dialog, paper: this.props.classes.paper }}\n scroll=\"paper\"\n open={!!this.props.href}\n onClose={() => this.props.onClose()}\n fullWidth\n maxWidth=\"xl\"\n aria-labelledby=\"form-dialog-title\"\n >\n <div className={this.props.classes.dialogTitle}>\n <DialogTitle id=\"form-dialog-title\">{this.props.t(this.state.editing ? 'Edit' : 'View') + ': ' + this.props.href}</DialogTitle>\n {EXTENSIONS.images.includes(this.state.ext) && <div>\n <IconButton size=\"large\"\n color={'inherit'}\n onClick={this.props.setStateBackgroundImage}\n >\n <Brightness5Icon />\n </IconButton>\n </div>\n }\n </div>\n <DialogContent className={this.props.classes.content}>\n {this.getContent()}\n </DialogContent>\n <DialogActions>\n {this.state.copyPossible ?\n <Button\n color=\"grey\"\n onClick={e => Utils.copyToClipboard(this.state.text || this.state.code, e)}\n startIcon={<CopyIcon />}\n >\n {this.props.t('Copy content')}\n </Button> : null}\n {this.state.editing ?\n <Button\n color=\"grey\"\n disabled={this.state.editingValue === this.state.code || this.state.editingValue === this.state.text}\n variant=\"contained\"\n onClick={this.writeFile64}\n startIcon={<SaveIcon />}\n >\n {this.props.t('Save')}\n </Button> : null}\n <Button\n variant=\"contained\"\n onClick={() => this.props.onClose()}\n color=\"primary\"\n startIcon={<CloseIcon />}\n >\n {this.props.t('Close')}\n </Button>\n </DialogActions>\n </Dialog>;\n }\n}\n\nFileViewer.propTypes = {\n t: PropTypes.func,\n lang: PropTypes.string,\n expertMode: PropTypes.bool,\n onClose: PropTypes.func,\n href: PropTypes.string.isRequired,\n supportSubscribes: PropTypes.bool,\n};\n\n/** @type {typeof FileViewer} */\nconst _export = withWidth()(withStyles(styles)(FileViewer));\nexport default _export;\n"],"mappings":"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"}
1
+ {"version":3,"file":"FileViewer.js","names":["_react","_interopRequireWildcard","require","_styles","_propTypes","_interopRequireDefault","_TextField","_Button","_Dialog","_DialogActions","_DialogContent","_DialogTitle","_material","_IconNoIcon","_withWidth","_Utils","_fa","_Brightness","_Close","_Save","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","valueOf","e","styles","dialog","height","paper","content","textAlign","textarea","width","img","objectFit","dialogTitle","justifyContent","display","EXTENSIONS","images","code","txt","audio","video","exports","bufferToBase64","buffer","isFull","binary","bytes","Uint8Array","len","byteLength","i","String","fromCharCode","window","btoa","FileViewer","_Component","_inherits2","_super","props","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","id","fileName","size","state","changed","timeout","clearTimeout","setTimeout","alert","text","readFile","setState","forceUpdate","Date","now","ext","Utils","getFileExtension","href","editing","editingValue","copyPossible","includes","imgError","_createClass2","value","_this2","parts","split","splice","adapter","name","join","socket","then","data","file","undefined","newState","type","toLowerCase","endsWith","atob","console","error","detectMimeType","concat","componentDidMount","supportSubscribes","subscribeFiles","onFileChanged","componentWillUnmount","getContent","_this3","createElement","className","clsx","classes","getClassBackgroundImage","onError","target","onerror","src","alt","variant","multiline","onChange","newValue","InputProps","readOnly","render","_this4","scrollPaper","scroll","open","onClose","fullWidth","maxWidth","t","IconButton","color","onClick","setStateBackgroundImage","copyToClipboard","startIcon","FaCopy","disabled","writeFile64","getEditFile","Component","propTypes","PropTypes","func","lang","string","expertMode","bool","isRequired","_export","withWidth","withStyles","_default"],"sources":["FileViewer.js"],"sourcesContent":["import React, { Component } from 'react';\nimport { withStyles } from '@mui/styles';\nimport PropTypes from 'prop-types';\n\n// File viewer in adapter-react does not support write\n// import { Buffer } from 'buffer';\n\nimport TextField from '@mui/material/TextField';\nimport Button from '@mui/material/Button';\nimport Dialog from '@mui/material/Dialog';\nimport DialogActions from '@mui/material/DialogActions';\nimport DialogContent from '@mui/material/DialogContent';\nimport DialogTitle from '@mui/material/DialogTitle';\nimport { IconButton } from '@mui/material';\n\nimport IconNoIcon from '../icons/IconNoIcon';\nimport withWidth from './withWidth';\nimport Utils from './Utils';\n\n// Icons\nimport { FaCopy as CopyIcon } from 'react-icons/fa';\nimport Brightness5Icon from '@mui/icons-material/Brightness6';\nimport CloseIcon from '@mui/icons-material/Close';\nimport SaveIcon from '@mui/icons-material/Save';\n\nconst styles = () => ({\n dialog: {\n height: '100%',\n },\n paper: {\n height: 'calc(100% - 64px)',\n },\n content: {\n textAlign: 'center',\n },\n textarea: {\n width: '100%',\n height: '100%',\n },\n img: {\n width: 'auto',\n height: 'calc(100% - 5px)',\n objectFit: 'contain',\n },\n dialogTitle: {\n justifyContent: 'space-between',\n display: 'flex',\n },\n});\n\nexport const EXTENSIONS = {\n images: ['png', 'jpg', 'svg', 'jpeg', 'bmp'],\n code: ['js', 'json', 'json5', 'md'],\n txt: ['log', 'txt', 'html', 'css', 'xml'],\n audio: ['mp3', 'wav', 'ogg', 'acc'],\n video: ['mp4', 'mov', 'avi'],\n};\n\nfunction bufferToBase64(buffer, isFull) {\n let binary = '';\n let bytes = new Uint8Array(buffer);\n let len = bytes.byteLength;\n for (let i = 0; i < len && (isFull || i < 50); i++) {\n binary += String.fromCharCode(bytes[i]);\n }\n return window.btoa(binary);\n}\n\n/**\n * @typedef {object} FileViewerProps\n * @property {import('../types').Translator} t Translation function\n * @property {ioBroker.Languages} [lang] The selected language.\n * @property {boolean} [expertMode] Is expert mode enabled? (default: false)\n * @property {() => void} onClose Callback when the viewer is closed.\n * @property {string} href The URL to the file to be displayed.\n *\n * @extends {React.Component<FileViewerProps>}\n */\nclass FileViewer extends Component {\n /**\n * @param {Readonly<FileViewerProps>} props\n */\n constructor(props) {\n super(props);\n const ext = Utils.getFileExtension(this.props.href);\n\n this.state = {\n text: null,\n code: null,\n ext,\n // File viewer in adapter-react does not support write\n editing: /* !!this.props.formatEditFile || */ false,\n editingValue: null,\n copyPossible: EXTENSIONS.code.includes(ext) || EXTENSIONS.txt.includes(ext),\n forceUpdate: Date.now(),\n changed: false,\n imgError: false,\n };\n }\n\n readFile() {\n if (this.props.href) {\n const parts = this.props.href.split('/');\n parts.splice(0, 2);\n const adapter = parts[0];\n const name = parts.splice(1).join('/');\n\n this.props.socket.readFile(adapter, name)\n .then(data => {\n if (data.file !== undefined) {\n data = data.file;\n }\n\n const newState = { copyPossible: this.state.copyPossible, ext: this.state.ext };\n // try to detect valid extension\n if (data.type === 'Buffer') {\n if (name.toLowerCase().endsWith('.json5')) {\n newState.ext = 'json5';\n newState.copyPossible = true;\n try {\n data = atob(bufferToBase64(data.data, true));\n } catch (e) {\n console.error('Cannot convert base64 to string');\n data = '';\n }\n } else {\n const ext = Utils.detectMimeType(bufferToBase64(data.data));\n if (ext) {\n newState.ext = ext;\n newState.copyPossible = EXTENSIONS.code.includes(ext) || EXTENSIONS.txt.includes(ext);\n }\n }\n }\n\n if (newState.copyPossible) {\n if (EXTENSIONS.txt.includes(newState.ext)) {\n newState.text = data;\n newState.editingValue = data;\n } else if (EXTENSIONS.code.includes(newState.ext)) {\n newState.code = data;\n newState.editingValue = data;\n }\n }\n\n this.setState(newState);\n })\n .catch(e => window.alert(`Cannot read file: ${e}`));\n }\n }\n\n componentDidMount() {\n this.readFile();\n\n const parts = this.props.href.split('/');\n parts.splice(0, 2);\n const adapter = parts[0];\n const name = parts.splice(1).join('/');\n\n this.props.supportSubscribes && this.props.socket.subscribeFiles(adapter, name, this.onFileChanged);\n }\n\n componentWillUnmount() {\n this.timeout && clearTimeout(this.timeout);\n const parts = this.props.href.split('/');\n parts.splice(0, 2);\n const adapter = parts[0];\n const name = parts.splice(1).join('/');\n this.props.supportSubscribes && this.props.socket.subscribeFiles(adapter, name, this.onFileChanged);\n }\n\n onFileChanged = (id, fileName, size) => {\n if (!this.state.changed) {\n this.timeout && clearTimeout(this.timeout);\n this.timeout = setTimeout(() => {\n this.timeout = null;\n if (size === null) {\n window.alert('Show file was deleted!');\n } else if (this.state.text !== null || this.state.code !== null) {\n this.readFile();\n } else {\n this.setState({ forceUpdate: Date.now() });\n }\n }, 300);\n }\n };\n\n writeFile64 = () => {\n /*\n // File viewer in adapter-react does not support write\n const parts = this.props.href.split('/');\n const data = this.state.editingValue;\n parts.splice(0, 2);\n const adapter = parts[0];\n const name = parts.splice(1).join('/');\n this.props.socket.writeFile64(adapter, name, Buffer.from(data).toString('base64'))\n .then(_ => this.props.onClose())\n .catch(e => window.alert(`Cannot write file: ${e}`));\n */\n }\n\n static getEditFile(ext) {\n switch (ext) {\n case 'json':\n return 'json';\n case 'json5':\n return 'json5';\n case 'js':\n return 'javascript';\n case 'html':\n return 'html';\n case 'txt':\n return 'html';\n default:\n return 'json';\n }\n }\n\n getContent() {\n if (EXTENSIONS.images.includes(this.state.ext)) {\n if (this.state.imgError) {\n return <IconNoIcon className={Utils.clsx(this.props.classes.img, this.props.getClassBackgroundImage())} />;\n } else {\n return <img\n onError={e => {\n e.target.onerror = null;\n this.setState({ imgError: true });\n }}\n className={Utils.clsx(this.props.classes.img, this.props.getClassBackgroundImage())}\n src={`${this.props.href}?ts=${this.state.forceUpdate}`}\n alt={this.props.href}\n />;\n }\n } else if (this.state.code !== null || this.state.text !== null || this.state.editing) {\n return <TextField\n variant=\"standard\"\n className={ this.props.classes.textarea }\n multiline\n value={ this.state.editingValue || this.state.code || this.state.text }\n onChange={newValue => this.setState({ editingValue: newValue, changed: true })}\n InputProps={{ readOnly: !this.state.editing }}\n />;\n }\n }\n\n render() {\n return <Dialog\n classes={{ scrollPaper: this.props.classes.dialog, paper: this.props.classes.paper }}\n scroll=\"paper\"\n open={!!this.props.href}\n onClose={() => this.props.onClose()}\n fullWidth\n maxWidth=\"xl\"\n aria-labelledby=\"form-dialog-title\"\n >\n <div className={this.props.classes.dialogTitle}>\n <DialogTitle id=\"form-dialog-title\">{this.props.t(this.state.editing ? 'Edit' : 'View') + ': ' + this.props.href}</DialogTitle>\n {EXTENSIONS.images.includes(this.state.ext) && <div>\n <IconButton size=\"large\"\n color={'inherit'}\n onClick={this.props.setStateBackgroundImage}\n >\n <Brightness5Icon />\n </IconButton>\n </div>\n }\n </div>\n <DialogContent className={this.props.classes.content}>\n {this.getContent()}\n </DialogContent>\n <DialogActions>\n {this.state.copyPossible ?\n <Button\n color=\"grey\"\n onClick={e => Utils.copyToClipboard(this.state.text || this.state.code, e)}\n startIcon={<CopyIcon />}\n >\n {this.props.t('Copy content')}\n </Button> : null}\n {this.state.editing ?\n <Button\n color=\"grey\"\n disabled={this.state.editingValue === this.state.code || this.state.editingValue === this.state.text}\n variant=\"contained\"\n onClick={this.writeFile64}\n startIcon={<SaveIcon />}\n >\n {this.props.t('Save')}\n </Button> : null}\n <Button\n variant=\"contained\"\n onClick={() => this.props.onClose()}\n color=\"primary\"\n startIcon={<CloseIcon />}\n >\n {this.props.t('Close')}\n </Button>\n </DialogActions>\n </Dialog>;\n }\n}\n\nFileViewer.propTypes = {\n t: PropTypes.func,\n lang: PropTypes.string,\n expertMode: PropTypes.bool,\n onClose: PropTypes.func,\n href: PropTypes.string.isRequired,\n supportSubscribes: PropTypes.bool,\n};\n\n/** @type {typeof FileViewer} */\nconst _export = withWidth()(withStyles(styles)(FileViewer));\nexport default _export;\n"],"mappings":"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"}
@@ -89,23 +89,23 @@ function getSelectIdIcon(obj, imagePrefix) {
89
89
  if (cIcon.includes('.')) {
90
90
  var instance;
91
91
  if (obj.type === 'instance' || obj.type === 'adapter') {
92
- src = imagePrefix + '/adapter/' + common.name + '/' + cIcon;
92
+ src = "".concat(imagePrefix, "/adapter/").concat(common.name, "/").concat(cIcon);
93
93
  } else if (obj._id && obj._id.startsWith('system.adapter.')) {
94
94
  instance = obj._id.split('.', 3);
95
95
  if (cIcon[0] === '/') {
96
96
  instance[2] += cIcon;
97
97
  } else {
98
- instance[2] += '/' + cIcon;
98
+ instance[2] += "/".concat(cIcon);
99
99
  }
100
- src = imagePrefix + '/adapter/' + instance[2];
100
+ src = "".concat(imagePrefix, "/adapter/").concat(instance[2]);
101
101
  } else {
102
102
  instance = obj._id.split('.', 2);
103
103
  if (cIcon[0] === '/') {
104
104
  instance[0] += cIcon;
105
105
  } else {
106
- instance[0] += '/' + cIcon;
106
+ instance[0] += "/".concat(cIcon);
107
107
  }
108
- src = imagePrefix + '/adapter/' + instance[0];
108
+ src = "".concat(imagePrefix, "/adapter/").concat(instance[0]);
109
109
  }
110
110
  } else {
111
111
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.js","names":["_react","_interopRequireDefault","require","_propTypes","_reactInlinesvg","_SettingsApplications","_Photo","_SupervisedUserCircle","_PersonOutlined","_Router","_Wifi","_Info","_Description","_IconAlias","_Utils","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","getSystemIcon","obj","icon","id","_id","startsWith","createElement","className","endsWith","type","getSelectIdIcon","imagePrefix","src","common","cIcon","includes","instance","name","split","Icon","_React$Component","_inherits2","_super","_classCallCheck2","_createClass2","key","value","render","props","length","title","undefined","style","Object","assign","height","marginTop","styleUTF8","Utils","clsx","_this$props$style","_this$props$style2","_this$props$style3","width","alt","React","Component","propTypes","color","PropTypes","string","oneOfType","object","isRequired","_default","exports"],"sources":["Icon.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport SVG from 'react-inlinesvg';\n\nimport IconSystem from '@mui/icons-material/SettingsApplications';\nimport IconPhoto from '@mui/icons-material/Photo';\nimport IconGroup from '@mui/icons-material/SupervisedUserCircle';\nimport IconUser from '@mui/icons-material/PersonOutlined';\nimport IconHost from '@mui/icons-material/Router';\nimport IconConnection from '@mui/icons-material/Wifi';\nimport IconInfo from '@mui/icons-material/Info';\nimport IconMeta from '@mui/icons-material/Description';\nimport IconAlias from '../icons/IconAlias';\n\nimport Utils from './Utils';\n\nexport function getSystemIcon(obj) {\n let icon;\n const id = obj?._id;\n\n if (!id) {\n return null;\n }\n\n // system or design have special icons\n if (id.startsWith('_design/') || (id === 'system')) {\n icon = <IconSystem className=\"iconOwn\" />;\n } else if (id === '0_userdata' || id === '0_userdata.0') {\n icon = <IconPhoto className=\"iconOwn\" />;\n } else if (id === 'alias' || id === 'alias.0') {\n icon = <IconAlias className=\"iconOwn\" />;\n } else if (id === 'system.adapter') {\n icon = <IconSystem className=\"iconOwn\" />;\n } else if (id === 'system.group') {\n icon = <IconGroup className=\"iconOwn\" />;\n } else if (id === 'system.user') {\n icon = <IconUser className=\"iconOwn\" />;\n } else if (id === 'system.host') {\n icon = <IconHost className=\"iconOwn\" />;\n } else if (id.endsWith('.connection') || id.endsWith('.connected')) {\n icon = <IconConnection className=\"iconOwn\" />;\n } else if (id.endsWith('.info')) {\n icon = <IconInfo className=\"iconOwn\" />;\n } else if (obj?.type === 'meta') {\n icon = <IconMeta className=\"iconOwn\" />;\n }\n\n return icon || null;\n}\n\nexport function getSelectIdIcon(obj, imagePrefix) {\n imagePrefix = imagePrefix || '.';//http://localhost:8081';\n let src = '';\n const common = obj?.common;\n\n if (common) {\n const cIcon = common.icon;\n if (cIcon) {\n if (!cIcon.startsWith('data:image/')) {\n if (cIcon.includes('.')) {\n let instance;\n if (obj.type === 'instance' || obj.type === 'adapter') {\n src = imagePrefix + '/adapter/' + common.name + '/' + cIcon;\n } else if (obj._id && obj._id.startsWith('system.adapter.')) {\n instance = obj._id.split('.', 3);\n if (cIcon[0] === '/') {\n instance[2] += cIcon;\n } else {\n instance[2] += '/' + cIcon;\n }\n src = imagePrefix + '/adapter/' + instance[2];\n } else {\n instance = obj._id.split('.', 2);\n if (cIcon[0] === '/') {\n instance[0] += cIcon;\n } else {\n instance[0] += '/' + cIcon;\n }\n src = imagePrefix + '/adapter/' + instance[0];\n }\n } else {\n return null;\n }\n } else {\n // base 64 image\n src = cIcon;\n }\n }\n }\n\n return src || null;\n}\n\nclass Icon extends React.Component {\n render() {\n if (this.props.src) {\n if (typeof this.props.src === 'string') {\n if (this.props.src.length < 3) {\n return <span title={this.props.title || undefined} style={Object.assign({height: 27, marginTop: -8}, this.props.styleUTF8 || this.props.style)} className={ Utils.clsx(this.props.className, 'iconOwn') }>{this.props.src}</span>; // utf-8 char\n } else {\n if (this.props.src.startsWith('data:image/svg')) {\n return <SVG title={this.props.title || undefined} src={this.props.src} className={ Utils.clsx(this.props.className, 'iconOwn') } width={this.props.style?.width || 28} height={this.props.style?.height || this.props.style?.width || 28} style={this.props.style || {}}/>;\n } else {\n return <img title={this.props.title || undefined} style={this.props.style || {}} className={ Utils.clsx(this.props.className, 'iconOwn') } src={ this.props.src } alt=\"\" />;\n }\n }\n } else {\n return this.props.src;\n }\n } else {\n return null;\n }\n }\n}\n\nIcon.propTypes = {\n color: PropTypes.string,\n title: PropTypes.string,\n src: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n className: PropTypes.string,\n imagePrefix: PropTypes.string,\n style: PropTypes.object,\n styleUTF8: PropTypes.object,\n};\n\nexport default Icon;"],"mappings":"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"}
1
+ {"version":3,"file":"Icon.js","names":["_react","_interopRequireDefault","require","_propTypes","_reactInlinesvg","_SettingsApplications","_Photo","_SupervisedUserCircle","_PersonOutlined","_Router","_Wifi","_Info","_Description","_IconAlias","_Utils","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","getSystemIcon","obj","icon","id","_id","startsWith","createElement","className","endsWith","type","getSelectIdIcon","imagePrefix","src","common","cIcon","includes","instance","concat","name","split","Icon","_React$Component","_inherits2","_super","_classCallCheck2","_createClass2","key","value","render","props","length","title","undefined","style","Object","assign","height","marginTop","styleUTF8","Utils","clsx","_this$props$style","_this$props$style2","_this$props$style3","width","alt","React","Component","propTypes","color","PropTypes","string","oneOfType","object","isRequired","_default","exports"],"sources":["Icon.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport SVG from 'react-inlinesvg';\n\nimport IconSystem from '@mui/icons-material/SettingsApplications';\nimport IconPhoto from '@mui/icons-material/Photo';\nimport IconGroup from '@mui/icons-material/SupervisedUserCircle';\nimport IconUser from '@mui/icons-material/PersonOutlined';\nimport IconHost from '@mui/icons-material/Router';\nimport IconConnection from '@mui/icons-material/Wifi';\nimport IconInfo from '@mui/icons-material/Info';\nimport IconMeta from '@mui/icons-material/Description';\nimport IconAlias from '../icons/IconAlias';\n\nimport Utils from './Utils';\n\nexport function getSystemIcon(obj) {\n let icon;\n const id = obj?._id;\n\n if (!id) {\n return null;\n }\n\n // system or design have special icons\n if (id.startsWith('_design/') || (id === 'system')) {\n icon = <IconSystem className=\"iconOwn\" />;\n } else if (id === '0_userdata' || id === '0_userdata.0') {\n icon = <IconPhoto className=\"iconOwn\" />;\n } else if (id === 'alias' || id === 'alias.0') {\n icon = <IconAlias className=\"iconOwn\" />;\n } else if (id === 'system.adapter') {\n icon = <IconSystem className=\"iconOwn\" />;\n } else if (id === 'system.group') {\n icon = <IconGroup className=\"iconOwn\" />;\n } else if (id === 'system.user') {\n icon = <IconUser className=\"iconOwn\" />;\n } else if (id === 'system.host') {\n icon = <IconHost className=\"iconOwn\" />;\n } else if (id.endsWith('.connection') || id.endsWith('.connected')) {\n icon = <IconConnection className=\"iconOwn\" />;\n } else if (id.endsWith('.info')) {\n icon = <IconInfo className=\"iconOwn\" />;\n } else if (obj?.type === 'meta') {\n icon = <IconMeta className=\"iconOwn\" />;\n }\n\n return icon || null;\n}\n\nexport function getSelectIdIcon(obj, imagePrefix) {\n imagePrefix = imagePrefix || '.';//http://localhost:8081';\n let src = '';\n const common = obj?.common;\n\n if (common) {\n const cIcon = common.icon;\n if (cIcon) {\n if (!cIcon.startsWith('data:image/')) {\n if (cIcon.includes('.')) {\n let instance;\n if (obj.type === 'instance' || obj.type === 'adapter') {\n src = `${imagePrefix}/adapter/${common.name}/${cIcon}`;\n } else if (obj._id && obj._id.startsWith('system.adapter.')) {\n instance = obj._id.split('.', 3);\n if (cIcon[0] === '/') {\n instance[2] += cIcon;\n } else {\n instance[2] += `/${cIcon}`;\n }\n src = `${imagePrefix}/adapter/${instance[2]}`;\n } else {\n instance = obj._id.split('.', 2);\n if (cIcon[0] === '/') {\n instance[0] += cIcon;\n } else {\n instance[0] += `/${cIcon}`;\n }\n src = `${imagePrefix}/adapter/${instance[0]}`;\n }\n } else {\n return null;\n }\n } else {\n // base 64 image\n src = cIcon;\n }\n }\n }\n\n return src || null;\n}\n\nclass Icon extends React.Component {\n render() {\n if (this.props.src) {\n if (typeof this.props.src === 'string') {\n if (this.props.src.length < 3) {\n return <span title={this.props.title || undefined} style={Object.assign({height: 27, marginTop: -8}, this.props.styleUTF8 || this.props.style)} className={ Utils.clsx(this.props.className, 'iconOwn') }>{this.props.src}</span>; // utf-8 char\n } else {\n if (this.props.src.startsWith('data:image/svg')) {\n return <SVG title={this.props.title || undefined} src={this.props.src} className={ Utils.clsx(this.props.className, 'iconOwn') } width={this.props.style?.width || 28} height={this.props.style?.height || this.props.style?.width || 28} style={this.props.style || {}}/>;\n } else {\n return <img title={this.props.title || undefined} style={this.props.style || {}} className={ Utils.clsx(this.props.className, 'iconOwn') } src={ this.props.src } alt=\"\" />;\n }\n }\n } else {\n return this.props.src;\n }\n } else {\n return null;\n }\n }\n}\n\nIcon.propTypes = {\n color: PropTypes.string,\n title: PropTypes.string,\n src: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n className: PropTypes.string,\n imagePrefix: PropTypes.string,\n style: PropTypes.object,\n styleUTF8: PropTypes.object,\n};\n\nexport default Icon;"],"mappings":"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"}
@@ -8,7 +8,7 @@ declare const _default: React.JSXElementConstructor<Omit<PropTypes.InferProps<{
8
8
  schema: PropTypes.Requireable<object>;
9
9
  onError: PropTypes.Requireable<(...args: any[]) => any>;
10
10
  onChange: PropTypes.Requireable<(...args: any[]) => any>;
11
- }>, "classes"> & import("@mui/styles").StyledComponentProps<"width"> & object>;
11
+ }>, "classes"> & import("@mui/styles").StyledComponentProps<"width" | "width50"> & object>;
12
12
  export default _default;
13
13
  import PropTypes from "prop-types";
14
14
  import React from "react";
@@ -16,15 +16,22 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
16
16
  var _styles = require("@mui/styles");
17
17
  var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
18
18
  var _Fab = _interopRequireDefault(require("@mui/material/Fab"));
19
+ var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
20
+ var _Checkbox = _interopRequireDefault(require("@mui/material/Checkbox"));
19
21
  var _GpsFixed = _interopRequireDefault(require("@mui/icons-material/GpsFixed"));
22
+ var _LocationOn = _interopRequireDefault(require("@mui/icons-material/LocationOn"));
20
23
  var _i18n = _interopRequireDefault(require("./wrapper/i18n"));
21
24
  var _ConfigGeneric2 = _interopRequireDefault(require("./ConfigGeneric"));
22
25
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
23
26
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
24
- var styles = function styles(theme) {
27
+ var styles = function styles() {
25
28
  return {
26
29
  width: {
27
- width: 'calc(100% - 40px)'
30
+ width: 'calc(100% - 85px)'
31
+ },
32
+ width50: {
33
+ width: 120,
34
+ marginRight: 5
28
35
  }
29
36
  };
30
37
  };
@@ -40,12 +47,29 @@ var ConfigCoordinates = /*#__PURE__*/function (_ConfigGeneric) {
40
47
  value: function componentDidMount() {
41
48
  var _this = this;
42
49
  (0, _get2["default"])((0, _getPrototypeOf2["default"])(ConfigCoordinates.prototype), "componentDidMount", this).call(this);
43
- var value = _ConfigGeneric2["default"].getValue(this.props.data, this.props.attr);
44
- if (!value && this.props.schema.autoInit) {
45
- setTimeout(function () {
46
- return _this.getCoordinates();
47
- }, 300);
50
+ var newState = {};
51
+ if (this.props.schema.useSystemName) {
52
+ newState.useSystem = !!_ConfigGeneric2["default"].getValue(this.props.data, this.props.schema.useSystemName);
48
53
  }
54
+ if (this.props.schema.longitudeName && this.props.schema.latitudeName) {
55
+ newState.longitude = _ConfigGeneric2["default"].getValue(this.props.data, this.props.schema.longitudeName);
56
+ newState.latitude = _ConfigGeneric2["default"].getValue(this.props.data, this.props.schema.latitudeName);
57
+ if (!newState.longitude && !newState.latitude && this.props.schema.autoInit) {
58
+ setTimeout(function () {
59
+ return _this.getCoordinates();
60
+ }, 300);
61
+ }
62
+ } else {
63
+ var value = _ConfigGeneric2["default"].getValue(this.props.data, this.props.attr);
64
+ if (!value && this.props.schema.autoInit) {
65
+ setTimeout(function () {
66
+ return _this.getCoordinates();
67
+ }, 300);
68
+ }
69
+ }
70
+ Object.keys(newState).length && setTimeout(function () {
71
+ return _this.setState(newState);
72
+ }, 50);
49
73
  }
50
74
  }, {
51
75
  key: "getSystemCoordinates",
@@ -54,9 +78,16 @@ var ConfigCoordinates = /*#__PURE__*/function (_ConfigGeneric) {
54
78
  return this.props.socket.getSystemConfig().then(function (obj) {
55
79
  if (obj && obj.common && (obj.common.longitude || obj.common.latitude)) {
56
80
  window.alert(_i18n["default"].t('ra_Used system settings'));
57
- _this2.setState({
58
- value: obj.common.latitude + (_this2.props.schema.divider || ',') + obj.common.longitude
59
- });
81
+ if (_this2.props.schema.longitudeName && _this2.props.schema.latitudeName) {
82
+ _this2.setState({
83
+ longitude: obj.common.longitude,
84
+ latitude: obj.common.latitude
85
+ });
86
+ } else {
87
+ _this2.setState({
88
+ value: obj.common.latitude + (_this2.props.schema.divider || ',') + obj.common.longitude
89
+ });
90
+ }
60
91
  } else {
61
92
  window.alert(_i18n["default"].t('ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser'));
62
93
  }
@@ -69,13 +100,21 @@ var ConfigCoordinates = /*#__PURE__*/function (_ConfigGeneric) {
69
100
  if (navigator.geolocation) {
70
101
  navigator.geolocation.getCurrentPosition(function (position) {
71
102
  if (position && position.coords) {
72
- _this3.setState({
73
- value: position.coords.latitude + (_this3.props.schema.divider || ',') + position.coords.longitude
74
- });
103
+ if (_this3.props.schema.longitudeName && _this3.props.schema.latitudeName) {
104
+ _this3.setState({
105
+ longitude: position.coords.longitude,
106
+ latitude: position.coords.latitude
107
+ });
108
+ } else {
109
+ _this3.setState({
110
+ value: position.coords.latitude + (_this3.props.schema.divider || ',') + position.coords.longitude
111
+ });
112
+ }
75
113
  } else {
76
114
  _this3.getSystemCoordinates();
77
115
  }
78
116
  }, function (error) {
117
+ console.error("Cannot determine coordinates from browser: ".concat(error));
79
118
  _this3.getSystemCoordinates();
80
119
  });
81
120
  } else {
@@ -86,11 +125,58 @@ var ConfigCoordinates = /*#__PURE__*/function (_ConfigGeneric) {
86
125
  key: "renderItem",
87
126
  value: function renderItem(error, disabled, defaultValue) {
88
127
  var _this4 = this;
89
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
128
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, this.props.schema.useSystemName ? /*#__PURE__*/_react["default"].createElement(_FormControlLabel["default"], {
129
+ control: /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
130
+ value: this.state.useSystem,
131
+ onChange: function onChange(e) {
132
+ var useSystem = e.target.checked;
133
+ if (useSystem) {
134
+ _this4.getSystemCoordinates();
135
+ }
136
+ _this4.setState({
137
+ useSystem: useSystem
138
+ }, function () {
139
+ return _this4.onChange(_this4.props.schema.useSystemName, useSystem);
140
+ });
141
+ }
142
+ }),
143
+ label: _i18n["default"].t('ra_Use system settings for position')
144
+ }) : null, this.props.schema.longitudeName && this.props.schema.latitudeName ? /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
145
+ variant: "standard",
146
+ className: this.props.classes.width50,
147
+ value: this.state.longitude === null || this.state.longitude === undefined ? '' : this.state.longitude,
148
+ error: !!error,
149
+ disabled: this.state.useSystem || !!disabled,
150
+ onChange: function onChange(e) {
151
+ var longitude = e.target.value;
152
+ _this4.setState({
153
+ longitude: longitude
154
+ }, function () {
155
+ return _this4.onChange(_this4.props.schema.longitudeName, (longitude || '').trim());
156
+ });
157
+ },
158
+ label: _i18n["default"].t('ra_Longitude')
159
+ }) : null, this.props.schema.longitudeName && this.props.schema.latitudeName ? /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
160
+ variant: "standard",
161
+ className: this.props.classes.width50,
162
+ value: this.state.latitude === null || this.state.latitude === undefined ? '' : this.state.latitude,
163
+ error: !!error,
164
+ disabled: this.state.useSystem || !!disabled,
165
+ onChange: function onChange(e) {
166
+ var latitude = e.target.value;
167
+ _this4.setState({
168
+ latitude: latitude
169
+ }, function () {
170
+ return _this4.onChange(_this4.props.schema.latitudeName, (latitude || '').trim());
171
+ });
172
+ },
173
+ label: _i18n["default"].t('ra_Latitude')
174
+ }) : null, !this.props.schema.longitudeName || !this.props.schema.latitudeName ? /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
90
175
  variant: "standard",
91
176
  className: this.props.classes.width,
92
177
  value: this.state.value === null || this.state.value === undefined ? '' : this.state.value,
93
178
  error: !!error,
179
+ readOnly: this.state.useSystem,
94
180
  disabled: !!disabled,
95
181
  inputProps: {
96
182
  maxLength: this.props.schema.maxLength || this.props.schema.max || undefined
@@ -106,12 +192,22 @@ var ConfigCoordinates = /*#__PURE__*/function (_ConfigGeneric) {
106
192
  placeholder: this.getText(this.props.schema.placeholder),
107
193
  label: this.getText(this.props.schema.label),
108
194
  helperText: this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)
109
- }), /*#__PURE__*/_react["default"].createElement(_Fab["default"], {
195
+ }) : null, !this.state.useSystem ? /*#__PURE__*/_react["default"].createElement(_Fab["default"], {
110
196
  size: "small",
111
197
  onClick: function onClick() {
112
198
  return _this4.getCoordinates();
199
+ },
200
+ title: _i18n["default"].t('ra_Take browser position'),
201
+ style: {
202
+ marginRight: 4
113
203
  }
114
- }, /*#__PURE__*/_react["default"].createElement(_GpsFixed["default"], null)));
204
+ }, /*#__PURE__*/_react["default"].createElement(_LocationOn["default"], null)) : null, !this.state.useSystem ? /*#__PURE__*/_react["default"].createElement(_Fab["default"], {
205
+ size: "small",
206
+ onClick: function onClick() {
207
+ return _this4.getSystemCoordinates();
208
+ },
209
+ title: _i18n["default"].t('ra_Take position from system settings')
210
+ }, /*#__PURE__*/_react["default"].createElement(_GpsFixed["default"], null)) : null);
115
211
  }
116
212
  }]);
117
213
  return ConfigCoordinates;
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigCoordinates.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_TextField","_Fab","_GpsFixed","_i18n","_ConfigGeneric2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","styles","theme","width","ConfigCoordinates","_ConfigGeneric","_inherits2","_super","_classCallCheck2","_createClass2","key","value","componentDidMount","_this","_get2","ConfigGeneric","getValue","props","data","attr","schema","autoInit","setTimeout","getCoordinates","getSystemCoordinates","_this2","socket","getSystemConfig","then","obj","common","longitude","latitude","window","alert","I18n","t","setState","divider","_this3","navigator","geolocation","getCurrentPosition","position","coords","error","renderItem","disabled","defaultValue","_this4","createElement","Fragment","variant","className","classes","state","undefined","inputProps","maxLength","max","onChange","target","trim","placeholder","getText","label","helperText","renderHelp","help","helpLink","noTranslation","size","onClick","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","onError","func","_default","withStyles","exports"],"sources":["JsonConfigComponent/ConfigCoordinates.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport TextField from '@mui/material/TextField';\nimport Fab from '@mui/material/Fab';\n\nimport IconGpsFixed from '@mui/icons-material/GpsFixed';\n\nimport I18n from './wrapper/i18n';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n width: {\n width: 'calc(100% - 40px)',\n }\n});\n\nclass ConfigCoordinates extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n if (!value && this.props.schema.autoInit) {\n setTimeout(() => this.getCoordinates(), 300);\n }\n }\n\n getSystemCoordinates() {\n return this.props.socket.getSystemConfig()\n .then(obj => {\n if (obj && obj.common && (obj.common.longitude || obj.common.latitude)) {\n window.alert(I18n.t('ra_Used system settings'));\n this.setState({ value: obj.common.latitude + (this.props.schema.divider || ',') + obj.common.longitude });\n } else {\n window.alert(I18n.t('ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser'));\n }\n });\n }\n\n getCoordinates() {\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition(\n position => {\n if (position && position.coords) {\n this.setState({value: position.coords.latitude + (this.props.schema.divider || ',') + position.coords.longitude});\n } else {\n this.getSystemCoordinates();\n }\n },\n error => {\n this.getSystemCoordinates();\n }\n );\n } else {\n this.getSystemCoordinates();\n }\n }\n\n renderItem(error, disabled, defaultValue) {\n return <>\n <TextField\n variant=\"standard\"\n className={this.props.classes.width}\n value={this.state.value === null || this.state.value === undefined ? '' : this.state.value}\n error={!!error}\n disabled={!!disabled}\n inputProps={{maxLength: this.props.schema.maxLength || this.props.schema.max || undefined}}\n onChange={e => {\n const value = e.target.value;\n this.setState({value}, () =>\n this.onChange(this.props.attr, (value || '').trim()));\n }}\n placeholder={this.getText(this.props.schema.placeholder)}\n label={this.getText(this.props.schema.label)}\n helperText={this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}\n />\n <Fab size=\"small\" onClick={() => this.getCoordinates()}><IconGpsFixed /></Fab>\n </>;\n }\n}\n\nConfigCoordinates.propTypes = {\n socket: PropTypes.object.isRequired,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigCoordinates);"],"mappings":"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"}
1
+ {"version":3,"file":"ConfigCoordinates.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_TextField","_Fab","_FormControlLabel","_Checkbox","_GpsFixed","_LocationOn","_i18n","_ConfigGeneric2","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","styles","width","width50","marginRight","ConfigCoordinates","_ConfigGeneric","_inherits2","_super","_classCallCheck2","_createClass2","key","value","componentDidMount","_this","_get2","newState","props","schema","useSystemName","useSystem","ConfigGeneric","getValue","data","longitudeName","latitudeName","longitude","latitude","autoInit","setTimeout","getCoordinates","attr","Object","keys","length","setState","getSystemCoordinates","_this2","socket","getSystemConfig","then","obj","common","window","alert","I18n","t","divider","_this3","navigator","geolocation","getCurrentPosition","position","coords","error","console","concat","renderItem","disabled","defaultValue","_this4","createElement","Fragment","control","state","onChange","target","checked","label","variant","className","classes","undefined","trim","readOnly","inputProps","maxLength","max","placeholder","getText","helperText","renderHelp","help","helpLink","noTranslation","size","onClick","title","style","propTypes","PropTypes","object","isRequired","themeType","string","themeName","onError","func","_default","withStyles","exports"],"sources":["JsonConfigComponent/ConfigCoordinates.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport TextField from '@mui/material/TextField';\nimport Fab from '@mui/material/Fab';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport Checkbox from '@mui/material/Checkbox';\n\nimport IconGpsFixed from '@mui/icons-material/GpsFixed';\nimport IconLocationOn from '@mui/icons-material/LocationOn';\n\nimport I18n from './wrapper/i18n';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = () => ({\n width: {\n width: 'calc(100% - 85px)',\n },\n width50: {\n width: 120,\n marginRight: 5,\n },\n});\n\nclass ConfigCoordinates extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n\n const newState = {};\n if (this.props.schema.useSystemName) {\n newState.useSystem = !!ConfigGeneric.getValue(this.props.data, this.props.schema.useSystemName);\n }\n if (this.props.schema.longitudeName && this.props.schema.latitudeName) {\n newState.longitude = ConfigGeneric.getValue(this.props.data, this.props.schema.longitudeName);\n newState.latitude = ConfigGeneric.getValue(this.props.data, this.props.schema.latitudeName);\n if (!newState.longitude && !newState.latitude && this.props.schema.autoInit) {\n setTimeout(() => this.getCoordinates(), 300);\n }\n } else {\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n if (!value && this.props.schema.autoInit) {\n setTimeout(() => this.getCoordinates(), 300);\n }\n }\n Object.keys(newState).length && setTimeout(() => this.setState(newState), 50);\n }\n\n getSystemCoordinates() {\n return this.props.socket.getSystemConfig()\n .then(obj => {\n if (obj && obj.common && (obj.common.longitude || obj.common.latitude)) {\n window.alert(I18n.t('ra_Used system settings'));\n if (this.props.schema.longitudeName && this.props.schema.latitudeName) {\n this.setState({\n longitude: obj.common.longitude,\n latitude: obj.common.latitude,\n });\n } else {\n this.setState({ value: obj.common.latitude + (this.props.schema.divider || ',') + obj.common.longitude });\n }\n } else {\n window.alert(I18n.t('ra_Cannot determine position: System settings are empty and GPS detection is disabled in browser'));\n }\n });\n }\n\n getCoordinates() {\n if (navigator.geolocation) {\n navigator.geolocation.getCurrentPosition(\n position => {\n if (position && position.coords) {\n if (this.props.schema.longitudeName && this.props.schema.latitudeName) {\n this.setState({\n longitude: position.coords.longitude,\n latitude: position.coords.latitude,\n });\n } else {\n this.setState({ value: position.coords.latitude + (this.props.schema.divider || ',') + position.coords.longitude });\n }\n } else {\n this.getSystemCoordinates();\n }\n },\n error => {\n console.error(`Cannot determine coordinates from browser: ${error}`);\n this.getSystemCoordinates();\n }\n );\n } else {\n this.getSystemCoordinates();\n }\n }\n\n renderItem(error, disabled, defaultValue) {\n return <>\n {this.props.schema.useSystemName ?\n <FormControlLabel\n control={<Checkbox\n value={this.state.useSystem}\n onChange={e => {\n const useSystem = e.target.checked;\n if (useSystem) {\n this.getSystemCoordinates();\n }\n this.setState({ useSystem }, () =>\n this.onChange(this.props.schema.useSystemName, useSystem));\n }}\n />}\n label={I18n.t('ra_Use system settings for position')}\n /> : null}\n {this.props.schema.longitudeName && this.props.schema.latitudeName ?\n <TextField\n variant=\"standard\"\n className={this.props.classes.width50}\n value={this.state.longitude === null || this.state.longitude === undefined ? '' : this.state.longitude}\n error={!!error}\n disabled={this.state.useSystem || !!disabled}\n onChange={e => {\n const longitude = e.target.value;\n this.setState({ longitude }, () =>\n this.onChange(this.props.schema.longitudeName, (longitude || '').trim()));\n }}\n label={I18n.t('ra_Longitude')}\n /> : null}\n {this.props.schema.longitudeName && this.props.schema.latitudeName ?\n <TextField\n variant=\"standard\"\n className={this.props.classes.width50}\n value={this.state.latitude === null || this.state.latitude === undefined ? '' : this.state.latitude}\n error={!!error}\n disabled={this.state.useSystem || !!disabled}\n onChange={e => {\n const latitude = e.target.value;\n this.setState({ latitude }, () =>\n this.onChange(this.props.schema.latitudeName, (latitude || '').trim()));\n }}\n label={I18n.t('ra_Latitude')}\n /> : null}\n {!this.props.schema.longitudeName || !this.props.schema.latitudeName ?\n <TextField\n variant=\"standard\"\n className={this.props.classes.width}\n value={this.state.value === null || this.state.value === undefined ? '' : this.state.value}\n error={!!error}\n readOnly={this.state.useSystem}\n disabled={!!disabled}\n inputProps={{ maxLength: this.props.schema.maxLength || this.props.schema.max || undefined }}\n onChange={e => {\n const value = e.target.value;\n this.setState({value}, () =>\n this.onChange(this.props.attr, (value || '').trim()));\n }}\n placeholder={this.getText(this.props.schema.placeholder)}\n label={this.getText(this.props.schema.label)}\n helperText={this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}\n /> : null}\n {!this.state.useSystem ?\n <Fab size=\"small\" onClick={() => this.getCoordinates()} title={I18n.t('ra_Take browser position')} style={{ marginRight: 4 }}><IconLocationOn /></Fab> : null}\n {!this.state.useSystem ?\n <Fab size=\"small\" onClick={() => this.getSystemCoordinates()} title={I18n.t('ra_Take position from system settings')}><IconGpsFixed /></Fab> : null}\n </>;\n }\n}\n\nConfigCoordinates.propTypes = {\n socket: PropTypes.object.isRequired,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigCoordinates);"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,IAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,iBAAA,GAAAN,sBAAA,CAAAC,OAAA;AACA,IAAAM,SAAA,GAAAP,sBAAA,CAAAC,OAAA;AAEA,IAAAO,SAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,WAAA,GAAAT,sBAAA,CAAAC,OAAA;AAEA,IAAAS,KAAA,GAAAV,sBAAA,CAAAC,OAAA;AAEA,IAAAU,eAAA,GAAAX,sBAAA,CAAAC,OAAA;AAA4C,SAAAW,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,aAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,mBAAAG,WAAA,EAAAF,MAAA,GAAAG,OAAA,CAAAC,SAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAJ,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,mBAAAP,MAAA;AAAA,SAAAJ,0BAAA,eAAAO,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAI,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,OAAA,CAAAC,SAAA,CAAAM,OAAA,8CAAAI,CAAA;AAE5C,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAA;EAAA,OAAU;IAClBC,KAAK,EAAE;MACHA,KAAK,EAAE;IACX,CAAC;IACDC,OAAO,EAAE;MACLD,KAAK,EAAE,GAAG;MACVE,WAAW,EAAE;IACjB;EACJ,CAAC;AAAA,CAAC;AAAC,IAEGC,iBAAiB,0BAAAC,cAAA;EAAA,IAAAC,UAAA,aAAAF,iBAAA,EAAAC,cAAA;EAAA,IAAAE,MAAA,GAAA7B,YAAA,CAAA0B,iBAAA;EAAA,SAAAA,kBAAA;IAAA,IAAAI,gBAAA,mBAAAJ,iBAAA;IAAA,OAAAG,MAAA,CAAAhB,KAAA,OAAAD,SAAA;EAAA;EAAA,IAAAmB,aAAA,aAAAL,iBAAA;IAAAM,GAAA;IAAAC,KAAA,EACnB,SAAAC,kBAAA,EAAoB;MAAA,IAAAC,KAAA;MAChB,IAAAC,KAAA,iBAAA9B,gBAAA,aAAAoB,iBAAA,CAAAR,SAAA,8BAAAE,IAAA;MAEA,IAAMiB,QAAQ,GAAG,CAAC,CAAC;MACnB,IAAI,IAAI,CAACC,KAAK,CAACC,MAAM,CAACC,aAAa,EAAE;QACjCH,QAAQ,CAACI,SAAS,GAAG,CAAC,CAACC,0BAAa,CAACC,QAAQ,CAAC,IAAI,CAACL,KAAK,CAACM,IAAI,EAAE,IAAI,CAACN,KAAK,CAACC,MAAM,CAACC,aAAa,CAAC;MACnG;MACA,IAAI,IAAI,CAACF,KAAK,CAACC,MAAM,CAACM,aAAa,IAAI,IAAI,CAACP,KAAK,CAACC,MAAM,CAACO,YAAY,EAAE;QACnET,QAAQ,CAACU,SAAS,GAAGL,0BAAa,CAACC,QAAQ,CAAC,IAAI,CAACL,KAAK,CAACM,IAAI,EAAE,IAAI,CAACN,KAAK,CAACC,MAAM,CAACM,aAAa,CAAC;QAC7FR,QAAQ,CAACW,QAAQ,GAAGN,0BAAa,CAACC,QAAQ,CAAC,IAAI,CAACL,KAAK,CAACM,IAAI,EAAE,IAAI,CAACN,KAAK,CAACC,MAAM,CAACO,YAAY,CAAC;QAC3F,IAAI,CAACT,QAAQ,CAACU,SAAS,IAAI,CAACV,QAAQ,CAACW,QAAQ,IAAI,IAAI,CAACV,KAAK,CAACC,MAAM,CAACU,QAAQ,EAAE;UACzEC,UAAU,CAAC;YAAA,OAAMf,KAAI,CAACgB,cAAc,EAAE;UAAA,GAAE,GAAG,CAAC;QAChD;MACJ,CAAC,MAAM;QACH,IAAMlB,KAAK,GAAGS,0BAAa,CAACC,QAAQ,CAAC,IAAI,CAACL,KAAK,CAACM,IAAI,EAAE,IAAI,CAACN,KAAK,CAACc,IAAI,CAAC;QACtE,IAAI,CAACnB,KAAK,IAAI,IAAI,CAACK,KAAK,CAACC,MAAM,CAACU,QAAQ,EAAE;UACtCC,UAAU,CAAC;YAAA,OAAMf,KAAI,CAACgB,cAAc,EAAE;UAAA,GAAE,GAAG,CAAC;QAChD;MACJ;MACAE,MAAM,CAACC,IAAI,CAACjB,QAAQ,CAAC,CAACkB,MAAM,IAAIL,UAAU,CAAC;QAAA,OAAMf,KAAI,CAACqB,QAAQ,CAACnB,QAAQ,CAAC;MAAA,GAAE,EAAE,CAAC;IACjF;EAAC;IAAAL,GAAA;IAAAC,KAAA,EAED,SAAAwB,qBAAA,EAAuB;MAAA,IAAAC,MAAA;MACnB,OAAO,IAAI,CAACpB,KAAK,CAACqB,MAAM,CAACC,eAAe,EAAE,CACrCC,IAAI,CAAC,UAAAC,GAAG,EAAI;QACT,IAAIA,GAAG,IAAIA,GAAG,CAACC,MAAM,KAAKD,GAAG,CAACC,MAAM,CAAChB,SAAS,IAAIe,GAAG,CAACC,MAAM,CAACf,QAAQ,CAAC,EAAE;UACpEgB,MAAM,CAACC,KAAK,CAACC,gBAAI,CAACC,CAAC,CAAC,yBAAyB,CAAC,CAAC;UAC/C,IAAIT,MAAI,CAACpB,KAAK,CAACC,MAAM,CAACM,aAAa,IAAIa,MAAI,CAACpB,KAAK,CAACC,MAAM,CAACO,YAAY,EAAE;YACnEY,MAAI,CAACF,QAAQ,CAAC;cACVT,SAAS,EAAEe,GAAG,CAACC,MAAM,CAAChB,SAAS;cAC/BC,QAAQ,EAAEc,GAAG,CAACC,MAAM,CAACf;YACzB,CAAC,CAAC;UACN,CAAC,MAAM;YACHU,MAAI,CAACF,QAAQ,CAAC;cAAEvB,KAAK,EAAE6B,GAAG,CAACC,MAAM,CAACf,QAAQ,IAAIU,MAAI,CAACpB,KAAK,CAACC,MAAM,CAAC6B,OAAO,IAAI,GAAG,CAAC,GAAGN,GAAG,CAACC,MAAM,CAAChB;YAAU,CAAC,CAAC;UAC7G;QACJ,CAAC,MAAM;UACHiB,MAAM,CAACC,KAAK,CAACC,gBAAI,CAACC,CAAC,CAAC,kGAAkG,CAAC,CAAC;QAC5H;MACJ,CAAC,CAAC;IACV;EAAC;IAAAnC,GAAA;IAAAC,KAAA,EAED,SAAAkB,eAAA,EAAiB;MAAA,IAAAkB,MAAA;MACb,IAAIC,SAAS,CAACC,WAAW,EAAE;QACvBD,SAAS,CAACC,WAAW,CAACC,kBAAkB,CACpC,UAAAC,QAAQ,EAAI;UACR,IAAIA,QAAQ,IAAIA,QAAQ,CAACC,MAAM,EAAE;YAC7B,IAAIL,MAAI,CAAC/B,KAAK,CAACC,MAAM,CAACM,aAAa,IAAIwB,MAAI,CAAC/B,KAAK,CAACC,MAAM,CAACO,YAAY,EAAE;cACnEuB,MAAI,CAACb,QAAQ,CAAC;gBACVT,SAAS,EAAE0B,QAAQ,CAACC,MAAM,CAAC3B,SAAS;gBACpCC,QAAQ,EAAEyB,QAAQ,CAACC,MAAM,CAAC1B;cAC9B,CAAC,CAAC;YACN,CAAC,MAAM;cACHqB,MAAI,CAACb,QAAQ,CAAC;gBAAEvB,KAAK,EAAEwC,QAAQ,CAACC,MAAM,CAAC1B,QAAQ,IAAIqB,MAAI,CAAC/B,KAAK,CAACC,MAAM,CAAC6B,OAAO,IAAI,GAAG,CAAC,GAAGK,QAAQ,CAACC,MAAM,CAAC3B;cAAU,CAAC,CAAC;YACvH;UACJ,CAAC,MAAM;YACHsB,MAAI,CAACZ,oBAAoB,EAAE;UAC/B;QACJ,CAAC,EACD,UAAAkB,KAAK,EAAI;UACLC,OAAO,CAACD,KAAK,+CAAAE,MAAA,CAA+CF,KAAK,EAAG;UACpEN,MAAI,CAACZ,oBAAoB,EAAE;QAC/B,CAAC,CACJ;MACL,CAAC,MAAM;QACH,IAAI,CAACA,oBAAoB,EAAE;MAC/B;IACJ;EAAC;IAAAzB,GAAA;IAAAC,KAAA,EAED,SAAA6C,WAAWH,KAAK,EAAEI,QAAQ,EAAEC,YAAY,EAAE;MAAA,IAAAC,MAAA;MACtC,oBAAO9F,MAAA,YAAA+F,aAAA,CAAA/F,MAAA,YAAAgG,QAAA,QACF,IAAI,CAAC7C,KAAK,CAACC,MAAM,CAACC,aAAa,gBAC5BrD,MAAA,YAAA+F,aAAA,CAACxF,iBAAA,WAAgB;QACb0F,OAAO,eAAEjG,MAAA,YAAA+F,aAAA,CAACvF,SAAA,WAAQ;UACdsC,KAAK,EAAE,IAAI,CAACoD,KAAK,CAAC5C,SAAU;UAC5B6C,QAAQ,EAAE,SAAAA,SAAAjE,CAAC,EAAI;YACX,IAAMoB,SAAS,GAAGpB,CAAC,CAACkE,MAAM,CAACC,OAAO;YAClC,IAAI/C,SAAS,EAAE;cACXwC,MAAI,CAACxB,oBAAoB,EAAE;YAC/B;YACAwB,MAAI,CAACzB,QAAQ,CAAC;cAAEf,SAAS,EAATA;YAAU,CAAC,EAAE;cAAA,OACzBwC,MAAI,CAACK,QAAQ,CAACL,MAAI,CAAC3C,KAAK,CAACC,MAAM,CAACC,aAAa,EAAEC,SAAS,CAAC;YAAA,EAAC;UAClE;QAAE,EACH;QACHgD,KAAK,EAAEvB,gBAAI,CAACC,CAAC,CAAC,qCAAqC;MAAE,EACvD,GAAG,IAAI,EACZ,IAAI,CAAC7B,KAAK,CAACC,MAAM,CAACM,aAAa,IAAI,IAAI,CAACP,KAAK,CAACC,MAAM,CAACO,YAAY,gBAC9D3D,MAAA,YAAA+F,aAAA,CAAC1F,UAAA,WAAS;QACNkG,OAAO,EAAC,UAAU;QAClBC,SAAS,EAAE,IAAI,CAACrD,KAAK,CAACsD,OAAO,CAACpE,OAAQ;QACtCS,KAAK,EAAE,IAAI,CAACoD,KAAK,CAACtC,SAAS,KAAK,IAAI,IAAI,IAAI,CAACsC,KAAK,CAACtC,SAAS,KAAK8C,SAAS,GAAG,EAAE,GAAG,IAAI,CAACR,KAAK,CAACtC,SAAU;QACvG4B,KAAK,EAAE,CAAC,CAACA,KAAM;QACfI,QAAQ,EAAE,IAAI,CAACM,KAAK,CAAC5C,SAAS,IAAI,CAAC,CAACsC,QAAS;QAC7CO,QAAQ,EAAE,SAAAA,SAAAjE,CAAC,EAAI;UACX,IAAM0B,SAAS,GAAG1B,CAAC,CAACkE,MAAM,CAACtD,KAAK;UAChCgD,MAAI,CAACzB,QAAQ,CAAC;YAAET,SAAS,EAATA;UAAU,CAAC,EAAE;YAAA,OACzBkC,MAAI,CAACK,QAAQ,CAACL,MAAI,CAAC3C,KAAK,CAACC,MAAM,CAACM,aAAa,EAAE,CAACE,SAAS,IAAI,EAAE,EAAE+C,IAAI,EAAE,CAAC;UAAA,EAAC;QACjF,CAAE;QACFL,KAAK,EAAEvB,gBAAI,CAACC,CAAC,CAAC,cAAc;MAAE,EAChC,GAAG,IAAI,EACZ,IAAI,CAAC7B,KAAK,CAACC,MAAM,CAACM,aAAa,IAAI,IAAI,CAACP,KAAK,CAACC,MAAM,CAACO,YAAY,gBAC9D3D,MAAA,YAAA+F,aAAA,CAAC1F,UAAA,WAAS;QACNkG,OAAO,EAAC,UAAU;QAClBC,SAAS,EAAE,IAAI,CAACrD,KAAK,CAACsD,OAAO,CAACpE,OAAQ;QACtCS,KAAK,EAAE,IAAI,CAACoD,KAAK,CAACrC,QAAQ,KAAK,IAAI,IAAI,IAAI,CAACqC,KAAK,CAACrC,QAAQ,KAAK6C,SAAS,GAAG,EAAE,GAAG,IAAI,CAACR,KAAK,CAACrC,QAAS;QACpG2B,KAAK,EAAE,CAAC,CAACA,KAAM;QACfI,QAAQ,EAAE,IAAI,CAACM,KAAK,CAAC5C,SAAS,IAAI,CAAC,CAACsC,QAAS;QAC7CO,QAAQ,EAAE,SAAAA,SAAAjE,CAAC,EAAI;UACX,IAAM2B,QAAQ,GAAG3B,CAAC,CAACkE,MAAM,CAACtD,KAAK;UAC/BgD,MAAI,CAACzB,QAAQ,CAAC;YAAER,QAAQ,EAARA;UAAS,CAAC,EAAE;YAAA,OACxBiC,MAAI,CAACK,QAAQ,CAACL,MAAI,CAAC3C,KAAK,CAACC,MAAM,CAACO,YAAY,EAAE,CAACE,QAAQ,IAAI,EAAE,EAAE8C,IAAI,EAAE,CAAC;UAAA,EAAC;QAC/E,CAAE;QACFL,KAAK,EAAEvB,gBAAI,CAACC,CAAC,CAAC,aAAa;MAAE,EAC/B,GAAG,IAAI,EACZ,CAAC,IAAI,CAAC7B,KAAK,CAACC,MAAM,CAACM,aAAa,IAAI,CAAC,IAAI,CAACP,KAAK,CAACC,MAAM,CAACO,YAAY,gBAChE3D,MAAA,YAAA+F,aAAA,CAAC1F,UAAA,WAAS;QACNkG,OAAO,EAAC,UAAU;QAClBC,SAAS,EAAE,IAAI,CAACrD,KAAK,CAACsD,OAAO,CAACrE,KAAM;QACpCU,KAAK,EAAE,IAAI,CAACoD,KAAK,CAACpD,KAAK,KAAK,IAAI,IAAI,IAAI,CAACoD,KAAK,CAACpD,KAAK,KAAK4D,SAAS,GAAG,EAAE,GAAG,IAAI,CAACR,KAAK,CAACpD,KAAM;QAC3F0C,KAAK,EAAE,CAAC,CAACA,KAAM;QACfoB,QAAQ,EAAE,IAAI,CAACV,KAAK,CAAC5C,SAAU;QAC/BsC,QAAQ,EAAE,CAAC,CAACA,QAAS;QACrBiB,UAAU,EAAE;UAAEC,SAAS,EAAE,IAAI,CAAC3D,KAAK,CAACC,MAAM,CAAC0D,SAAS,IAAI,IAAI,CAAC3D,KAAK,CAACC,MAAM,CAAC2D,GAAG,IAAIL;QAAU,CAAE;QAC7FP,QAAQ,EAAE,SAAAA,SAAAjE,CAAC,EAAI;UACX,IAAMY,KAAK,GAAGZ,CAAC,CAACkE,MAAM,CAACtD,KAAK;UAC5BgD,MAAI,CAACzB,QAAQ,CAAC;YAACvB,KAAK,EAALA;UAAK,CAAC,EAAE;YAAA,OACnBgD,MAAI,CAACK,QAAQ,CAACL,MAAI,CAAC3C,KAAK,CAACc,IAAI,EAAE,CAACnB,KAAK,IAAI,EAAE,EAAE6D,IAAI,EAAE,CAAC;UAAA,EAAC;QAC7D,CAAE;QACFK,WAAW,EAAE,IAAI,CAACC,OAAO,CAAC,IAAI,CAAC9D,KAAK,CAACC,MAAM,CAAC4D,WAAW,CAAE;QACzDV,KAAK,EAAE,IAAI,CAACW,OAAO,CAAC,IAAI,CAAC9D,KAAK,CAACC,MAAM,CAACkD,KAAK,CAAE;QAC7CY,UAAU,EAAE,IAAI,CAACC,UAAU,CAAC,IAAI,CAAChE,KAAK,CAACC,MAAM,CAACgE,IAAI,EAAE,IAAI,CAACjE,KAAK,CAACC,MAAM,CAACiE,QAAQ,EAAE,IAAI,CAAClE,KAAK,CAACC,MAAM,CAACkE,aAAa;MAAE,EACnH,GAAG,IAAI,EACZ,CAAC,IAAI,CAACpB,KAAK,CAAC5C,SAAS,gBAClBtD,MAAA,YAAA+F,aAAA,CAACzF,IAAA,WAAG;QAACiH,IAAI,EAAC,OAAO;QAACC,OAAO,EAAE,SAAAA,QAAA;UAAA,OAAM1B,MAAI,CAAC9B,cAAc,EAAE;QAAA,CAAC;QAACyD,KAAK,EAAE1C,gBAAI,CAACC,CAAC,CAAC,0BAA0B,CAAE;QAAC0C,KAAK,EAAE;UAAEpF,WAAW,EAAE;QAAE;MAAE,gBAACtC,MAAA,YAAA+F,aAAA,CAACrF,WAAA,WAAc,OAAG,CAAM,GAAG,IAAI,EAChK,CAAC,IAAI,CAACwF,KAAK,CAAC5C,SAAS,gBAClBtD,MAAA,YAAA+F,aAAA,CAACzF,IAAA,WAAG;QAACiH,IAAI,EAAC,OAAO;QAACC,OAAO,EAAE,SAAAA,QAAA;UAAA,OAAM1B,MAAI,CAACxB,oBAAoB,EAAE;QAAA,CAAC;QAACmD,KAAK,EAAE1C,gBAAI,CAACC,CAAC,CAAC,uCAAuC;MAAE,gBAAChF,MAAA,YAAA+F,aAAA,CAACtF,SAAA,WAAY,OAAG,CAAM,GAAG,IAAI,CACxJ;IACP;EAAC;EAAA,OAAA8B,iBAAA;AAAA,EAzI2BgB,0BAAa;AA4I7ChB,iBAAiB,CAACoF,SAAS,GAAG;EAC1BnD,MAAM,EAAEoD,qBAAS,CAACC,MAAM,CAACC,UAAU;EACnCC,SAAS,EAAEH,qBAAS,CAACI,MAAM;EAC3BC,SAAS,EAAEL,qBAAS,CAACI,MAAM;EAC3BN,KAAK,EAAEE,qBAAS,CAACC,MAAM;EACvBrB,SAAS,EAAEoB,qBAAS,CAACI,MAAM;EAC3BvE,IAAI,EAAEmE,qBAAS,CAACC,MAAM,CAACC,UAAU;EACjC1E,MAAM,EAAEwE,qBAAS,CAACC,MAAM;EACxBK,OAAO,EAAEN,qBAAS,CAACO,IAAI;EACvBhC,QAAQ,EAAEyB,qBAAS,CAACO;AACxB,CAAC;AAAC,IAAAC,QAAA,GAEa,IAAAC,kBAAU,EAAClG,MAAM,CAAC,CAACI,iBAAiB,CAAC;AAAA+F,OAAA,cAAAF,QAAA"}