@iobroker/adapter-react-v5 3.0.17 → 3.1.0

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.
Files changed (57) hide show
  1. package/Components/FileBrowser.js +76 -57
  2. package/Components/FileBrowser.js.map +1 -1
  3. package/Components/JsonConfigComponent/ConfigAlive.js +1 -1
  4. package/Components/JsonConfigComponent/ConfigAlive.js.map +1 -1
  5. package/Components/JsonConfigComponent/ConfigAutocomplete.js +0 -1
  6. package/Components/JsonConfigComponent/ConfigAutocomplete.js.map +1 -1
  7. package/Components/JsonConfigComponent/ConfigCRON.js +3 -3
  8. package/Components/JsonConfigComponent/ConfigCRON.js.map +1 -1
  9. package/Components/JsonConfigComponent/ConfigCheckbox.js +1 -1
  10. package/Components/JsonConfigComponent/ConfigCheckbox.js.map +1 -1
  11. package/Components/JsonConfigComponent/ConfigCoordinates.js +2 -2
  12. package/Components/JsonConfigComponent/ConfigCoordinates.js.map +1 -1
  13. package/Components/JsonConfigComponent/ConfigCustom.js.map +1 -1
  14. package/Components/JsonConfigComponent/ConfigGeneric.js +25 -25
  15. package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
  16. package/Components/JsonConfigComponent/ConfigIP.js +2 -2
  17. package/Components/JsonConfigComponent/ConfigIP.js.map +1 -1
  18. package/Components/JsonConfigComponent/ConfigInstanceSelect.js +1 -1
  19. package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -1
  20. package/Components/JsonConfigComponent/ConfigJsonEditor.js +1 -1
  21. package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +1 -1
  22. package/Components/JsonConfigComponent/ConfigLanguage.js +1 -1
  23. package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -1
  24. package/Components/JsonConfigComponent/ConfigNumber.js +94 -22
  25. package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -1
  26. package/Components/JsonConfigComponent/ConfigPanel.js +4 -0
  27. package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -1
  28. package/Components/JsonConfigComponent/ConfigPassword.js +4 -4
  29. package/Components/JsonConfigComponent/ConfigPassword.js.map +1 -1
  30. package/Components/JsonConfigComponent/ConfigSelect.js +2 -2
  31. package/Components/JsonConfigComponent/ConfigSelect.js.map +1 -1
  32. package/Components/JsonConfigComponent/ConfigSelectSendTo.js +7 -7
  33. package/Components/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -1
  34. package/Components/JsonConfigComponent/ConfigSendto.js +6 -6
  35. package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -1
  36. package/Components/JsonConfigComponent/ConfigSetState.js +4 -4
  37. package/Components/JsonConfigComponent/ConfigSetState.js.map +1 -1
  38. package/Components/JsonConfigComponent/ConfigTable.js +26 -13
  39. package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
  40. package/Components/JsonConfigComponent/ConfigText.js.map +1 -1
  41. package/Components/ObjectBrowser.js +39 -16
  42. package/Components/ObjectBrowser.js.map +1 -1
  43. package/Components/ToggleThemeMenu.js.map +1 -1
  44. package/Components/Utils.js +14 -3
  45. package/Components/Utils.js.map +1 -1
  46. package/README.md +3 -0
  47. package/i18n/de.json +24 -3
  48. package/i18n/en.json +23 -2
  49. package/i18n/es.json +23 -2
  50. package/i18n/fr.json +23 -2
  51. package/i18n/it.json +23 -2
  52. package/i18n/nl.json +23 -2
  53. package/i18n/pl.json +23 -2
  54. package/i18n/pt.json +23 -2
  55. package/i18n/ru.json +23 -2
  56. package/i18n/zh-cn.json +24 -3
  57. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigSelectSendTo.js","names":["styles","theme","fullWidth","width","ConfigSelectSendTo","askInstance","props","alive","data","schema","undefined","jsonData","getPattern","JSON","parse","e","console","error","socket","sendTo","adapterName","instance","command","then","list","setState","context","getContext","value","ConfigGeneric","getValue","attr","Array","isArray","alsoDependsOn","forEach","stringify","disabled","defaultValue","state","setTimeout","target","onChange","trim","getText","placeholder","label","renderHelp","help","helpLink","noTranslation","selectOptions","filter","item","hidden","custom","executeCustom","instanceObj","execute","find","classes","val","map","i","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","bool","number","className","onError","func","withStyles"],"sources":["JsonConfigComponent/ConfigSelectSendTo.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport MenuItem from '@mui/material/MenuItem';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport FormControl from '@mui/material/FormControl';\nimport Select from '@mui/material/Select';\nimport TextField from '@mui/material/TextField';\nimport CircularProgress from '@mui/material/CircularProgress';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n }\n});\n\n/*\nto use this option, your adapter must implement listUart message\n\nadapter.on('message', obj => {\n if (obj) {\n switch (obj.command) {\n case 'command':\n if (obj.callback) {\n try {\n const serialport = require('serialport');\n if (serialport) {\n // read all found serial ports\n serialport.list()\n .then(ports => {\n adapter.log.info('List of port: ' + JSON.stringify(ports));\n adapter.sendTo(obj.from, obj.command, ports.map(item =>\n ({label: item.path, value: item.path})), obj.callback);\n })\n .catch(e => {\n adapter.sendTo(obj.from, obj.command, [], obj.callback);\n adapter.log.error(e)\n });\n } else {\n adapter.log.warn('Module serialport is not available');\n adapter.sendTo(obj.from, obj.command, [{label: 'Not available', value: ''}], obj.callback);\n }\n } catch (e) {\n adapter.sendTo(obj.from, obj.command, [{label: 'Not available', value: ''}], obj.callback);\n }\n }\n\n break;\n }\n }\n});\n */\n\nclass ConfigSelectSendTo extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n\n this.askInstance();\n }\n\n askInstance(){\n if (this.props.alive) {\n let data = this.props.schema.data;\n if (data === undefined && this.props.schema.jsonData) {\n data = this.getPattern(this.props.schema.jsonData, {}, this.props.data);\n try {\n data = JSON.parse(data);\n } catch (e) {\n console.error('Cannot parse json data: ' + data);\n }\n }\n\n if (data === undefined) {\n data = null;\n }\n\n this.props.socket.sendTo(this.props.adapterName + '.' + this.props.instance, this.props.schema.command || 'send', data)\n .then(list => {\n this.setState({list, context: this.getContext()});\n });\n } else {\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n this.setState({value});\n }\n }\n\n getContext() {\n const context = {};\n if (Array.isArray(this.props.schema.alsoDependsOn)) {\n this.props.schema.alsoDependsOn.forEach(attr =>\n context[attr] = ConfigGeneric.getValue(this.props.data, attr));\n }\n return JSON.stringify(context);\n }\n\n renderItem(error, disabled, defaultValue) {\n if (this.props.alive) {\n const context = this.getContext();\n if (context !== this.state.context) {\n setTimeout(() => {\n this.askInstance();\n }, 300);\n }\n }\n\n if (!this.props.alive) {\n return <TextField\n variant=\"standard\"\n fullWidth\n value={this.state.value === null || this.state.value === undefined ? '' : this.state.value}\n error={!!error}\n disabled={!!disabled}\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 } else\n if (!this.state.list) {\n return <CircularProgress size=\"small\"/>;\n } else {\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n\n const selectOptions = (this.state.list || []).filter(item => {\n if (!item.hidden) {\n return true;\n } else if (this.props.custom) {\n return !this.executeCustom(item.hidden, this.props.schema.default, this.props.data, this.props.instanceObj);\n } else {\n return !this.execute(item.hidden, this.props.schema.default, this.props.data);\n }\n });\n\n const item = selectOptions.find(item => item.value === value);\n\n return <FormControl variant=\"standard\" className={this.props.classes.fullWidth}>\n <InputLabel>{this.getText(this.props.schema.label)}</InputLabel>\n <Select\n variant=\"standard\"\n error={!!error}\n disabled={!!disabled}\n value={value}\n renderValue={val => item?.label || val}\n onChange={e => this.onChange(this.props.attr, e.target.value)}\n >\n {selectOptions.map((item, i) =>\n <MenuItem key={i} value={item.value}>{item.label}</MenuItem>)}\n </Select>\n {this.props.schema.help ? <FormHelperText>{this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}</FormHelperText> : null}\n </FormControl>;\n }\n }\n}\n\nConfigSelectSendTo.propTypes = {\n socket: PropTypes.object.isRequired,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n adapterName: PropTypes.string,\n alive: PropTypes.bool,\n instance: PropTypes.number,\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)(ConfigSelectSendTo);\n"],"mappings":"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"}
1
+ {"version":3,"file":"ConfigSelectSendTo.js","names":["styles","theme","fullWidth","width","ConfigSelectSendTo","askInstance","props","alive","data","schema","undefined","jsonData","getPattern","JSON","parse","e","console","error","socket","sendTo","adapterName","instance","command","then","list","setState","context","getContext","value","ConfigGeneric","getValue","attr","Array","isArray","alsoDependsOn","forEach","stringify","disabled","defaultValue","state","setTimeout","target","onChange","trim","getText","placeholder","label","renderHelp","help","helpLink","noTranslation","selectOptions","filter","item","hidden","custom","executeCustom","instanceObj","arrayIndex","globalData","execute","find","classes","val","map","i","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","bool","number","className","onError","func","withStyles"],"sources":["JsonConfigComponent/ConfigSelectSendTo.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport MenuItem from '@mui/material/MenuItem';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport FormControl from '@mui/material/FormControl';\nimport Select from '@mui/material/Select';\nimport TextField from '@mui/material/TextField';\nimport CircularProgress from '@mui/material/CircularProgress';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n }\n});\n\n/*\nto use this option, your adapter must implement listUart message\n\nadapter.on('message', obj => {\n if (obj) {\n switch (obj.command) {\n case 'command':\n if (obj.callback) {\n try {\n const serialport = require('serialport');\n if (serialport) {\n // read all found serial ports\n serialport.list()\n .then(ports => {\n adapter.log.info('List of port: ' + JSON.stringify(ports));\n adapter.sendTo(obj.from, obj.command, ports.map(item =>\n ({label: item.path, value: item.path})), obj.callback);\n })\n .catch(e => {\n adapter.sendTo(obj.from, obj.command, [], obj.callback);\n adapter.log.error(e)\n });\n } else {\n adapter.log.warn('Module serialport is not available');\n adapter.sendTo(obj.from, obj.command, [{label: 'Not available', value: ''}], obj.callback);\n }\n } catch (e) {\n adapter.sendTo(obj.from, obj.command, [{label: 'Not available', value: ''}], obj.callback);\n }\n }\n\n break;\n }\n }\n});\n */\n\nclass ConfigSelectSendTo extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n\n this.askInstance();\n }\n\n askInstance(){\n if (this.props.alive) {\n let data = this.props.schema.data;\n if (data === undefined && this.props.schema.jsonData) {\n data = this.getPattern(this.props.schema.jsonData, {}, this.props.data);\n try {\n data = JSON.parse(data);\n } catch (e) {\n console.error('Cannot parse json data: ' + data);\n }\n }\n\n if (data === undefined) {\n data = null;\n }\n\n this.props.socket.sendTo(this.props.adapterName + '.' + this.props.instance, this.props.schema.command || 'send', data)\n .then(list =>\n this.setState({list, context: this.getContext()}));\n } else {\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n this.setState({ value });\n }\n }\n\n getContext() {\n const context = {};\n\n if (Array.isArray(this.props.schema.alsoDependsOn)) {\n this.props.schema.alsoDependsOn.forEach(attr =>\n context[attr] = ConfigGeneric.getValue(this.props.data, attr));\n }\n\n return JSON.stringify(context);\n }\n\n renderItem(error, disabled, defaultValue) {\n if (this.props.alive) {\n const context = this.getContext();\n if (context !== this.state.context) {\n setTimeout(() => this.askInstance(), 300);\n }\n }\n\n const value = this.state.value === null || this.state.value === undefined ? ConfigGeneric.getValue(this.props.data, this.props.attr) : this.state.value;\n\n if (!this.props.alive) {\n return <TextField\n variant=\"standard\"\n fullWidth\n value={value}\n error={!!error}\n disabled={!!disabled}\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 } else\n if (!this.state.list) {\n return <CircularProgress size=\"small\"/>;\n } else {\n const selectOptions = (this.state.list || []).filter(item => {\n if (!item.hidden) {\n return true;\n } else if (this.props.custom) {\n return !this.executeCustom(item.hidden, this.props.schema.default, this.props.data, this.props.instanceObj, this.props.arrayIndex, this.props.globalData);\n } else {\n return !this.execute(item.hidden, this.props.schema.default, this.props.data, this.props.arrayIndex, this.props.globalData);\n }\n });\n\n const item = selectOptions.find(item => item.value === value);\n\n return <FormControl variant=\"standard\" className={this.props.classes.fullWidth}>\n <InputLabel>{this.getText(this.props.schema.label)}</InputLabel>\n <Select\n variant=\"standard\"\n error={!!error}\n disabled={!!disabled}\n value={value}\n renderValue={val => item?.label || val}\n onChange={e => this.onChange(this.props.attr, e.target.value)}\n >\n {selectOptions.map((item, i) =>\n <MenuItem key={i} value={item.value}>{item.label}</MenuItem>)}\n </Select>\n {this.props.schema.help ? <FormHelperText>{this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}</FormHelperText> : null}\n </FormControl>;\n }\n }\n}\n\nConfigSelectSendTo.propTypes = {\n socket: PropTypes.object.isRequired,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n adapterName: PropTypes.string,\n alive: PropTypes.bool,\n instance: PropTypes.number,\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)(ConfigSelectSendTo);\n"],"mappings":"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"}
@@ -159,7 +159,7 @@ var ConfigSendto = /*#__PURE__*/function (_ConfigGeneric) {
159
159
  });
160
160
  } else {
161
161
  _this3.setState({
162
- _error: response.error ? _i18n["default"].t(response.error) : _i18n["default"].t('Error')
162
+ _error: response.error ? _i18n["default"].t(response.error) : _i18n["default"].t('ra_Error')
163
163
  });
164
164
  }
165
165
  } else {
@@ -177,7 +177,7 @@ var ConfigSendto = /*#__PURE__*/function (_ConfigGeneric) {
177
177
  if (response !== null && response !== void 0 && response.result) {
178
178
  window.alert((0, _typeof2["default"])(response.result) === 'object' ? JSON.stringify(response.result) : response.result);
179
179
  } else {
180
- window.alert(_i18n["default"].t('Ok'));
180
+ window.alert(_i18n["default"].t('ra_Ok'));
181
181
  }
182
182
  }
183
183
  }
@@ -188,7 +188,7 @@ var ConfigSendto = /*#__PURE__*/function (_ConfigGeneric) {
188
188
  });
189
189
  } else {
190
190
  _this3.setState({
191
- _error: _i18n["default"].t(e.toString()) || _i18n["default"].t('Error')
191
+ _error: _i18n["default"].t(e.toString()) || _i18n["default"].t('ra_Error')
192
192
  });
193
193
  }
194
194
  }).then(function () {
@@ -216,10 +216,10 @@ var ConfigSendto = /*#__PURE__*/function (_ConfigGeneric) {
216
216
  }
217
217
 
218
218
  return /*#__PURE__*/_react["default"].createElement(_Confirm["default"], {
219
- title: this.getText(confirm.title) || _i18n["default"].t('Please confirm'),
219
+ title: this.getText(confirm.title) || _i18n["default"].t('ra_Please confirm'),
220
220
  text: this.getText(confirm.text),
221
- ok: this.getText(confirm.ok) || _i18n["default"].t('Ok'),
222
- cancel: this.getText(confirm.cancel) || _i18n["default"].t('Cancel'),
221
+ ok: this.getText(confirm.ok) || _i18n["default"].t('ra_Ok'),
222
+ cancel: this.getText(confirm.cancel) || _i18n["default"].t('ra_Cancel'),
223
223
  icon: icon,
224
224
  onClose: function onClose(isOk) {
225
225
  return _this4.setState({
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigSendto.js","names":["styles","theme","fullWidth","width","icon","height","marginRight","ConfigSendto","setState","_error","_message","state","undefined","props","onCommandRunning","data","schema","jsonData","getPattern","JSON","parse","e","console","error","socket","sendTo","adapterName","instance","command","then","response","getText","args","forEach","arg","replace","I18n","t","result","text","window","alert","stringify","toString","confirmDialog","confirm","confirmData","type","title","ok","cancel","isOk","_onClick","disabled","defaultValue","classes","variant","color","label","noTranslation","renderErrorDialog","renderMessageDialog","ConfigGeneric","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","onChange","number","commandRunning","bool","withStyles"],"sources":["JsonConfigComponent/ConfigSendto.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport Button from '@mui/material/Button';\n\nimport I18n from '../../i18n';\nimport Icon from '../Icon';\nimport DialogError from '../../Dialogs/Error';\nimport DialogMessage from '../../Dialogs/Message';\n\nimport ConfigGeneric from './ConfigGeneric';\nimport IconWarning from '@mui/icons-material/Warning';\nimport IconError from '@mui/icons-material/Error';\nimport IconInfo from '@mui/icons-material/Info';\nimport ConfirmDialog from '../../Dialogs/Confirm';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n },\n icon: {\n width: 24,\n height: 24,\n marginRight: 4\n }\n});\n\nclass ConfigSendto extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n\n this.setState( {_error: '', _message: ''});\n }\n\n renderErrorDialog() {\n if (this.state._error) {\n return <DialogError text={this.state._error} classes={undefined} onClose={() => this.setState({_error: ''})} />;\n } else {\n return null;\n }\n }\n\n renderMessageDialog() {\n if (this.state._message) {\n return <DialogMessage text={this.state._message} classes={undefined} onClose={() => this.setState({_error: ''})} />;\n } else {\n return null;\n }\n }\n\n _onClick() {\n this.props.onCommandRunning(true);\n\n let data = this.props.schema.data;\n if (data === undefined && this.props.schema.jsonData) {\n data = this.getPattern(this.props.schema.jsonData, {}, this.props.data);\n try {\n data = JSON.parse(data);\n } catch (e) {\n console.error('Cannot parse json data: ' + data);\n }\n }\n if (data === undefined) {\n data = null;\n }\n\n this.props.socket.sendTo(\n this.props.adapterName + '.' + this.props.instance,\n this.props.schema.command || 'send',\n data\n )\n .then(response => {\n if (response?.error) {\n if (this.props.schema.error && this.props.schema.error[response.error]) {\n let error = this.getText(this.props.schema.error[response.error]);\n if (response.args) {\n response.args.forEach(arg => error = error.replace('%s', arg));\n }\n this.setState({_error: error});\n } else {\n this.setState({_error: response.error ? I18n.t(response.error) : I18n.t('Error')});\n }\n } else {\n if (response?.result && this.props.schema.result && this.props.schema.result[response.result]) {\n let text = this.getText(this.props.schema.result[response.result]);\n if (response.args) {\n response.args.forEach(arg => text = text.replace('%s', arg));\n }\n window.alert(text);\n } else {\n if (response?.result) {\n window.alert(typeof response.result === 'object' ? JSON.stringify(response.result) : response.result);\n } else {\n window.alert(I18n.t('Ok'));\n }\n }\n }\n })\n .catch(e => {\n if (this.props.schema.error && this.props.schema.error[e.toString()]) {\n this.setState({_error: this.getText(this.props.schema.error[e.toString()])});\n } else {\n this.setState({_error: I18n.t(e.toString()) || I18n.t('Error')});\n }\n })\n .then(() => this.props.onCommandRunning(false))\n }\n\n renderConfirmDialog() {\n if (!this.state.confirmDialog) {\n return null;\n }\n const confirm = this.state.confirmData || this.props.schema.confirm;\n let icon = null;\n if (confirm.type === 'warning') {\n icon = <IconWarning />;\n } else if (confirm.type === 'error') {\n icon = <IconError />;\n } else if (confirm.type === 'info') {\n icon = <IconInfo />;\n }\n\n return <ConfirmDialog\n title={ this.getText(confirm.title) || I18n.t('Please confirm') }\n text={ this.getText(confirm.text) }\n ok={ this.getText(confirm.ok) || I18n.t('Ok') }\n cancel={ this.getText(confirm.cancel) || I18n.t('Cancel') }\n icon={icon}\n onClose={isOk =>\n this.setState({ confirmDialog: false}, () =>\n isOk && this._onClick())\n }\n />;\n }\n\n renderItem(error, disabled, defaultValue) {\n return <div className={this.props.classes.fullWidth}>\n <Button\n variant={this.props.schema.variant || undefined}\n color={this.props.schema.color || 'grey'}\n className={this.props.classes.fullWidth}\n disabled={disabled}\n onClick={() => {\n if (this.props.schema.confirm) {\n this.setState({confirmDialog: true});\n } else {\n this._onClick();\n }\n }}\n >\n {this.props.schema.icon ? <Icon src={this.props.schema.icon} className={this.props.classes.icon}/> : null}\n {this.getText(this.props.schema.label, this.props.schema.noTranslation)}\n </Button>\n {this.renderErrorDialog()}\n {this.renderMessageDialog()}\n </div>;\n }\n}\n\nConfigSendto.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 adapterName: PropTypes.string,\n instance: PropTypes.number,\n commandRunning: PropTypes.bool,\n onCommandRunning: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigSendto);"],"mappings":"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"}
1
+ {"version":3,"file":"ConfigSendto.js","names":["styles","theme","fullWidth","width","icon","height","marginRight","ConfigSendto","setState","_error","_message","state","undefined","props","onCommandRunning","data","schema","jsonData","getPattern","JSON","parse","e","console","error","socket","sendTo","adapterName","instance","command","then","response","getText","args","forEach","arg","replace","I18n","t","result","text","window","alert","stringify","toString","confirmDialog","confirm","confirmData","type","title","ok","cancel","isOk","_onClick","disabled","defaultValue","classes","variant","color","label","noTranslation","renderErrorDialog","renderMessageDialog","ConfigGeneric","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","onChange","number","commandRunning","bool","withStyles"],"sources":["JsonConfigComponent/ConfigSendto.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport Button from '@mui/material/Button';\n\nimport I18n from '../../i18n';\nimport Icon from '../Icon';\nimport DialogError from '../../Dialogs/Error';\nimport DialogMessage from '../../Dialogs/Message';\n\nimport ConfigGeneric from './ConfigGeneric';\nimport IconWarning from '@mui/icons-material/Warning';\nimport IconError from '@mui/icons-material/Error';\nimport IconInfo from '@mui/icons-material/Info';\nimport ConfirmDialog from '../../Dialogs/Confirm';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n },\n icon: {\n width: 24,\n height: 24,\n marginRight: 4\n }\n});\n\nclass ConfigSendto extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n\n this.setState( {_error: '', _message: ''});\n }\n\n renderErrorDialog() {\n if (this.state._error) {\n return <DialogError text={this.state._error} classes={undefined} onClose={() => this.setState({_error: ''})} />;\n } else {\n return null;\n }\n }\n\n renderMessageDialog() {\n if (this.state._message) {\n return <DialogMessage text={this.state._message} classes={undefined} onClose={() => this.setState({_error: ''})} />;\n } else {\n return null;\n }\n }\n\n _onClick() {\n this.props.onCommandRunning(true);\n\n let data = this.props.schema.data;\n if (data === undefined && this.props.schema.jsonData) {\n data = this.getPattern(this.props.schema.jsonData, {}, this.props.data);\n try {\n data = JSON.parse(data);\n } catch (e) {\n console.error('Cannot parse json data: ' + data);\n }\n }\n if (data === undefined) {\n data = null;\n }\n\n this.props.socket.sendTo(\n this.props.adapterName + '.' + this.props.instance,\n this.props.schema.command || 'send',\n data\n )\n .then(response => {\n if (response?.error) {\n if (this.props.schema.error && this.props.schema.error[response.error]) {\n let error = this.getText(this.props.schema.error[response.error]);\n if (response.args) {\n response.args.forEach(arg => error = error.replace('%s', arg));\n }\n this.setState({_error: error});\n } else {\n this.setState({_error: response.error ? I18n.t(response.error) : I18n.t('ra_Error')});\n }\n } else {\n if (response?.result && this.props.schema.result && this.props.schema.result[response.result]) {\n let text = this.getText(this.props.schema.result[response.result]);\n if (response.args) {\n response.args.forEach(arg => text = text.replace('%s', arg));\n }\n window.alert(text);\n } else {\n if (response?.result) {\n window.alert(typeof response.result === 'object' ? JSON.stringify(response.result) : response.result);\n } else {\n window.alert(I18n.t('ra_Ok'));\n }\n }\n }\n })\n .catch(e => {\n if (this.props.schema.error && this.props.schema.error[e.toString()]) {\n this.setState({_error: this.getText(this.props.schema.error[e.toString()])});\n } else {\n this.setState({_error: I18n.t(e.toString()) || I18n.t('ra_Error')});\n }\n })\n .then(() => this.props.onCommandRunning(false))\n }\n\n renderConfirmDialog() {\n if (!this.state.confirmDialog) {\n return null;\n }\n const confirm = this.state.confirmData || this.props.schema.confirm;\n let icon = null;\n if (confirm.type === 'warning') {\n icon = <IconWarning />;\n } else if (confirm.type === 'error') {\n icon = <IconError />;\n } else if (confirm.type === 'info') {\n icon = <IconInfo />;\n }\n\n return <ConfirmDialog\n title={ this.getText(confirm.title) || I18n.t('ra_Please confirm') }\n text={ this.getText(confirm.text) }\n ok={ this.getText(confirm.ok) || I18n.t('ra_Ok') }\n cancel={ this.getText(confirm.cancel) || I18n.t('ra_Cancel') }\n icon={icon}\n onClose={isOk =>\n this.setState({ confirmDialog: false}, () =>\n isOk && this._onClick())\n }\n />;\n }\n\n renderItem(error, disabled, defaultValue) {\n return <div className={this.props.classes.fullWidth}>\n <Button\n variant={this.props.schema.variant || undefined}\n color={this.props.schema.color || 'grey'}\n className={this.props.classes.fullWidth}\n disabled={disabled}\n onClick={() => {\n if (this.props.schema.confirm) {\n this.setState({confirmDialog: true});\n } else {\n this._onClick();\n }\n }}\n >\n {this.props.schema.icon ? <Icon src={this.props.schema.icon} className={this.props.classes.icon}/> : null}\n {this.getText(this.props.schema.label, this.props.schema.noTranslation)}\n </Button>\n {this.renderErrorDialog()}\n {this.renderMessageDialog()}\n </div>;\n }\n}\n\nConfigSendto.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 adapterName: PropTypes.string,\n instance: PropTypes.number,\n commandRunning: PropTypes.bool,\n onCommandRunning: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigSendto);"],"mappings":"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"}
@@ -120,7 +120,7 @@ var ConfigSetState = /*#__PURE__*/function (_ConfigGeneric) {
120
120
  if (this.props.schema.error && this.props.schema.error[_context.t0.toString()]) {
121
121
  window.alert(this.getText(this.props.schema.error[_context.t0.toString()]));
122
122
  } else {
123
- window.alert(_i18n["default"].t(_context.t0.toString()) || _i18n["default"].t('Error'));
123
+ window.alert(_i18n["default"].t(_context.t0.toString()) || _i18n["default"].t('ra_Error'));
124
124
  }
125
125
 
126
126
  case 16:
@@ -158,10 +158,10 @@ var ConfigSetState = /*#__PURE__*/function (_ConfigGeneric) {
158
158
  }
159
159
 
160
160
  return /*#__PURE__*/_react["default"].createElement(_Confirm["default"], {
161
- title: this.getText(confirm.title) || _i18n["default"].t('Please confirm'),
161
+ title: this.getText(confirm.title) || _i18n["default"].t('ra_Please confirm'),
162
162
  text: this.getText(confirm.text),
163
- ok: this.getText(confirm.ok) || _i18n["default"].t('Ok'),
164
- cancel: this.getText(confirm.cancel) || _i18n["default"].t('Cancel'),
163
+ ok: this.getText(confirm.ok) || _i18n["default"].t('ra_Ok'),
164
+ cancel: this.getText(confirm.cancel) || _i18n["default"].t('ra_Cancel'),
165
165
  icon: icon,
166
166
  onClose: function onClose(isOk) {
167
167
  return _this.setState({
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigSetState.js","names":["styles","theme","fullWidth","width","icon","height","marginRight","ConfigSetState","val","props","schema","includes","getPattern","socket","getObject","id","obj","common","type","parseFloat","setState","ack","okText","window","alert","getText","error","toString","I18n","t","state","confirmDialog","confirm","confirmData","title","text","ok","cancel","isOk","_onClick","disabled","defaultValue","variant","undefined","color","classes","label","noTranslation","ConfigGeneric","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","className","data","onError","func","onChange","adapterName","instance","number","commandRunning","bool","onCommandRunning","withStyles"],"sources":["JsonConfigComponent/ConfigSetState.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport Button from '@mui/material/Button';\n\nimport I18n from '../../i18n';\nimport Icon from '../Icon';\n\nimport ConfigGeneric from './ConfigGeneric';\nimport IconWarning from '@mui/icons-material/Warning';\nimport IconError from '@mui/icons-material/Error';\nimport IconInfo from '@mui/icons-material/Info';\nimport ConfirmDialog from '../../Dialogs/Confirm';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n },\n icon: {\n width: 24,\n height: 24,\n marginRight: 4\n }\n});\n\nclass ConfigSetState extends ConfigGeneric {\n async _onClick() {\n let val = this.props.schema.val;\n if (typeof val === 'string' && val.includes('${')) {\n val = this.getPattern(val);\n const obj = await this.props.socket.getObject(this.props.schema.id);\n if (obj?.common?.type === 'number') {\n val = parseFloat(val);\n } else if (obj?.common?.type === 'boolean') {\n val = val === 'true' || val === true || val === '1' || val === 1;\n }\n }\n\n try {\n await this.props.socket.setState(this.props.schema.id, {val, ack: !!this.props.schema.ack});\n this.props.schema.okText && window.alert(this.getText(this.props.schema.okText));\n } catch (e) {\n if (this.props.schema.error && this.props.schema.error[e.toString()]) {\n window.alert(this.getText(this.props.schema.error[e.toString()]));\n } else {\n window.alert(I18n.t(e.toString()) || I18n.t('Error'));\n }\n }\n }\n\n renderConfirmDialog() {\n if (!this.state.confirmDialog) {\n return null;\n }\n const confirm = this.state.confirmData || this.props.schema.confirm;\n let icon = null;\n if (confirm.type === 'warning') {\n icon = <IconWarning />;\n } else if (confirm.type === 'error') {\n icon = <IconError />;\n } else if (confirm.type === 'info') {\n icon = <IconInfo />;\n }\n\n return <ConfirmDialog\n title={ this.getText(confirm.title) || I18n.t('Please confirm') }\n text={ this.getText(confirm.text) }\n ok={ this.getText(confirm.ok) || I18n.t('Ok') }\n cancel={ this.getText(confirm.cancel) || I18n.t('Cancel') }\n icon={icon}\n onClose={isOk =>\n this.setState({ confirmDialog: false}, async () =>\n isOk && (await this._onClick()))\n }\n />;\n }\n\n renderItem(error, disabled, defaultValue) {\n return <Button\n variant={this.props.schema.variant || undefined}\n color={this.props.schema.color || 'grey'}\n className={this.props.classes.fullWidth}\n disabled={disabled}\n onClick={async () => {\n if (this.props.schema.confirm) {\n this.setState({confirmDialog: true});\n } else {\n await this._onClick();\n }\n }}\n >\n {this.props.schema.icon ? <Icon src={this.props.schema.icon} className={this.props.classes.icon}/> : null}\n {this.getText(this.props.schema.label, this.props.schema.noTranslation)}\n </Button>;\n }\n}\n\nConfigSetState.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 adapterName: PropTypes.string,\n instance: PropTypes.number,\n commandRunning: PropTypes.bool,\n onCommandRunning: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigSetState);"],"mappings":"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"}
1
+ {"version":3,"file":"ConfigSetState.js","names":["styles","theme","fullWidth","width","icon","height","marginRight","ConfigSetState","val","props","schema","includes","getPattern","socket","getObject","id","obj","common","type","parseFloat","setState","ack","okText","window","alert","getText","error","toString","I18n","t","state","confirmDialog","confirm","confirmData","title","text","ok","cancel","isOk","_onClick","disabled","defaultValue","variant","undefined","color","classes","label","noTranslation","ConfigGeneric","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","className","data","onError","func","onChange","adapterName","instance","number","commandRunning","bool","onCommandRunning","withStyles"],"sources":["JsonConfigComponent/ConfigSetState.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport Button from '@mui/material/Button';\n\nimport I18n from '../../i18n';\nimport Icon from '../Icon';\n\nimport ConfigGeneric from './ConfigGeneric';\nimport IconWarning from '@mui/icons-material/Warning';\nimport IconError from '@mui/icons-material/Error';\nimport IconInfo from '@mui/icons-material/Info';\nimport ConfirmDialog from '../../Dialogs/Confirm';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n },\n icon: {\n width: 24,\n height: 24,\n marginRight: 4\n }\n});\n\nclass ConfigSetState extends ConfigGeneric {\n async _onClick() {\n let val = this.props.schema.val;\n if (typeof val === 'string' && val.includes('${')) {\n val = this.getPattern(val);\n const obj = await this.props.socket.getObject(this.props.schema.id);\n if (obj?.common?.type === 'number') {\n val = parseFloat(val);\n } else if (obj?.common?.type === 'boolean') {\n val = val === 'true' || val === true || val === '1' || val === 1;\n }\n }\n\n try {\n await this.props.socket.setState(this.props.schema.id, {val, ack: !!this.props.schema.ack});\n this.props.schema.okText && window.alert(this.getText(this.props.schema.okText));\n } catch (e) {\n if (this.props.schema.error && this.props.schema.error[e.toString()]) {\n window.alert(this.getText(this.props.schema.error[e.toString()]));\n } else {\n window.alert(I18n.t(e.toString()) || I18n.t('ra_Error'));\n }\n }\n }\n\n renderConfirmDialog() {\n if (!this.state.confirmDialog) {\n return null;\n }\n const confirm = this.state.confirmData || this.props.schema.confirm;\n let icon = null;\n if (confirm.type === 'warning') {\n icon = <IconWarning />;\n } else if (confirm.type === 'error') {\n icon = <IconError />;\n } else if (confirm.type === 'info') {\n icon = <IconInfo />;\n }\n\n return <ConfirmDialog\n title={ this.getText(confirm.title) || I18n.t('ra_Please confirm') }\n text={ this.getText(confirm.text) }\n ok={ this.getText(confirm.ok) || I18n.t('ra_Ok') }\n cancel={ this.getText(confirm.cancel) || I18n.t('ra_Cancel') }\n icon={icon}\n onClose={isOk =>\n this.setState({ confirmDialog: false}, async () =>\n isOk && (await this._onClick()))\n }\n />;\n }\n\n renderItem(error, disabled, defaultValue) {\n return <Button\n variant={this.props.schema.variant || undefined}\n color={this.props.schema.color || 'grey'}\n className={this.props.classes.fullWidth}\n disabled={disabled}\n onClick={async () => {\n if (this.props.schema.confirm) {\n this.setState({confirmDialog: true});\n } else {\n await this._onClick();\n }\n }}\n >\n {this.props.schema.icon ? <Icon src={this.props.schema.icon} className={this.props.classes.icon}/> : null}\n {this.getText(this.props.schema.label, this.props.schema.noTranslation)}\n </Button>;\n }\n}\n\nConfigSetState.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 adapterName: PropTypes.string,\n instance: PropTypes.number,\n commandRunning: PropTypes.bool,\n onCommandRunning: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigSetState);"],"mappings":"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"}
@@ -277,7 +277,19 @@ var ConfigTable = /*#__PURE__*/function (_ConfigGeneric) {
277
277
  var newValue = JSON.parse(JSON.stringify(_this.state.value));
278
278
  var visibleValue = JSON.parse(JSON.stringify(_this.state.visibleValue));
279
279
  var newItem = schema.items.reduce(function (accumulator, currentValue) {
280
- accumulator[currentValue.attr] = currentValue["default"] === undefined ? null : currentValue["default"];
280
+ var defaultValue;
281
+
282
+ if (currentValue.defaultFunc) {
283
+ if (_this.props.custom) {
284
+ defaultValue = currentValue.defaultFunc ? _this.executeCustom(currentValue.defaultFunc, _this.props.schema["default"], _this.props.data, _this.props.instanceObj, newValue.length, _this.props.data) : _this.props.schema["default"];
285
+ } else {
286
+ defaultValue = currentValue.defaultFunc ? _this.execute(currentValue.defaultFunc, _this.props.schema["default"], _this.props.data, newValue.length, _this.props.data) : _this.props.schema["default"];
287
+ }
288
+ } else {
289
+ defaultValue = currentValue["default"] === undefined ? null : currentValue["default"];
290
+ }
291
+
292
+ accumulator[currentValue.attr] = defaultValue;
281
293
  return accumulator;
282
294
  }, {});
283
295
  newValue.push(newItem);
@@ -393,19 +405,21 @@ var ConfigTable = /*#__PURE__*/function (_ConfigGeneric) {
393
405
  value = _this$state2.value,
394
406
  systemConfig = _this$state2.systemConfig;
395
407
  var schema = this.props.schema;
396
- var schemaFind = schema.items.find(function (el) {
408
+ var schemaForAttribute = schema.items.find(function (el) {
397
409
  return el.attr === attrItem;
398
410
  });
399
411
 
400
- if (!schemaFind) {
412
+ if (!schemaForAttribute) {
401
413
  return null;
402
414
  }
403
415
 
404
416
  var schemaItem = {
405
- items: (0, _defineProperty2["default"])({}, attrItem, schemaFind)
417
+ items: (0, _defineProperty2["default"])({}, attrItem, schemaForAttribute)
406
418
  };
407
419
  return /*#__PURE__*/_react["default"].createElement(_ConfigPanel["default"], {
408
420
  index: idx + this.state.iteration,
421
+ arrayIndex: idx,
422
+ globalData: this.props.data,
409
423
  socket: this.props.socket,
410
424
  adapterName: this.props.adapterName,
411
425
  instance: this.props.instance,
@@ -450,7 +464,7 @@ var ConfigTable = /*#__PURE__*/function (_ConfigGeneric) {
450
464
 
451
465
  return /*#__PURE__*/_react["default"].createElement(_material.TableCell, {
452
466
  style: {
453
- width: typeof headCell.width === 'string' && headCell.width.endsWith('%') ? 'auto' : headCell.width
467
+ width: typeof headCell.width === 'string' && headCell.width.endsWith('%') ? headCell.width : headCell.width
454
468
  },
455
469
  key: headCell.attr,
456
470
  align: "left",
@@ -470,7 +484,7 @@ var ConfigTable = /*#__PURE__*/function (_ConfigGeneric) {
470
484
  onChange: function onChange() {
471
485
  return _this3.applyFilter();
472
486
  },
473
- title: _i18n["default"].t('You can filter entries by entering here some text'),
487
+ title: _i18n["default"].t('ra_You can filter entries by entering here some text'),
474
488
  InputProps: {
475
489
  endAdornment: ((_this3$filterRefs$hea = _this3.filterRefs[headCell.attr]) === null || _this3$filterRefs$hea === void 0 ? void 0 : (_this3$filterRefs$hea2 = _this3$filterRefs$hea.current) === null || _this3$filterRefs$hea2 === void 0 ? void 0 : (_this3$filterRefs$hea3 = _this3$filterRefs$hea2.children[0]) === null || _this3$filterRefs$hea3 === void 0 ? void 0 : (_this3$filterRefs$hea4 = _this3$filterRefs$hea3.children[0]) === null || _this3$filterRefs$hea4 === void 0 ? void 0 : _this3$filterRefs$hea4.value) && /*#__PURE__*/_react["default"].createElement(_material.InputAdornment, {
476
490
  position: "end"
@@ -488,7 +502,7 @@ var ConfigTable = /*#__PURE__*/function (_ConfigGeneric) {
488
502
  }) : /*#__PURE__*/_react["default"].createElement("span", {
489
503
  className: _this3.props.classes.headerText
490
504
  }, _this3.getText(headCell.title)), headCell.filter ? /*#__PURE__*/_react["default"].createElement(_material.IconButton, {
491
- title: _i18n["default"].t('Show/hide filter input'),
505
+ title: _i18n["default"].t('ra_Show/hide filter input'),
492
506
  size: "small",
493
507
  onClick: function onClick() {
494
508
  var filterOn = (0, _toConsumableArray2["default"])(_this3.state.filterOn);
@@ -598,7 +612,7 @@ var ConfigTable = /*#__PURE__*/function (_ConfigGeneric) {
598
612
  id: "tableTitle",
599
613
  component: "div"
600
614
  }, this.getText(schema.label))) : null, !schema.noDelete ? /*#__PURE__*/_react["default"].createElement(_material.Tooltip, {
601
- title: doAnyFilterSet ? _i18n["default"].t('Cannot add items with set filter') : _i18n["default"].t('Add row')
615
+ title: doAnyFilterSet ? _i18n["default"].t('ra_Cannot add items with set filter') : _i18n["default"].t('ra_Add row')
602
616
  }, /*#__PURE__*/_react["default"].createElement("span", null, /*#__PURE__*/_react["default"].createElement(_material.IconButton, {
603
617
  disabled: !!doAnyFilterSet,
604
618
  onClick: this.onAdd
@@ -610,7 +624,6 @@ var ConfigTable = /*#__PURE__*/function (_ConfigGeneric) {
610
624
  hover: true,
611
625
  key: idx
612
626
  }, schema.items.map(function (headCell) {
613
- console.log("KEy: ".concat(headCell.attr + idx, " = ").concat(value[idx][headCell.attr]));
614
627
  return /*#__PURE__*/_react["default"].createElement(_material.TableCell, {
615
628
  key: headCell.attr + '_' + idx,
616
629
  align: "left"
@@ -619,7 +632,7 @@ var ConfigTable = /*#__PURE__*/function (_ConfigGeneric) {
619
632
  align: "left",
620
633
  className: classes.buttonCell
621
634
  }, !doAnyFilterSet && !_this7.state.orderBy ? i ? /*#__PURE__*/_react["default"].createElement(_material.Tooltip, {
622
- title: _i18n["default"].t('Move up')
635
+ title: _i18n["default"].t('ra_Move up')
623
636
  }, /*#__PURE__*/_react["default"].createElement(_material.IconButton, {
624
637
  size: "small",
625
638
  onClick: function onClick() {
@@ -628,7 +641,7 @@ var ConfigTable = /*#__PURE__*/function (_ConfigGeneric) {
628
641
  }, /*#__PURE__*/_react["default"].createElement(_ArrowUpward["default"], null))) : /*#__PURE__*/_react["default"].createElement("div", {
629
642
  className: classes.buttonEmpty
630
643
  }) : null, !doAnyFilterSet && !_this7.state.orderBy ? i < visibleValue.length - 1 ? /*#__PURE__*/_react["default"].createElement(_material.Tooltip, {
631
- title: _i18n["default"].t('Move down')
644
+ title: _i18n["default"].t('ra_Move down')
632
645
  }, /*#__PURE__*/_react["default"].createElement(_material.IconButton, {
633
646
  size: "small",
634
647
  onClick: function onClick() {
@@ -637,7 +650,7 @@ var ConfigTable = /*#__PURE__*/function (_ConfigGeneric) {
637
650
  }, /*#__PURE__*/_react["default"].createElement(_ArrowDownward["default"], null))) : /*#__PURE__*/_react["default"].createElement("div", {
638
651
  className: classes.buttonEmpty
639
652
  }) : null, /*#__PURE__*/_react["default"].createElement(_material.Tooltip, {
640
- title: _i18n["default"].t('Delete current row')
653
+ title: _i18n["default"].t('ra_Delete current row')
641
654
  }, /*#__PURE__*/_react["default"].createElement(_material.IconButton, {
642
655
  size: "small",
643
656
  onClick: _this7.onDelete(idx)
@@ -649,7 +662,7 @@ var ConfigTable = /*#__PURE__*/function (_ConfigGeneric) {
649
662
  variant: "h6",
650
663
  id: "tableTitle",
651
664
  component: "div"
652
- }, _i18n["default"].t('All items are filtered out'), /*#__PURE__*/_react["default"].createElement(_material.IconButton, {
665
+ }, _i18n["default"].t('ra_All items are filtered out'), /*#__PURE__*/_react["default"].createElement(_material.IconButton, {
653
666
  size: "small",
654
667
  onClick: function onClick(e) {
655
668
  return _this7.applyFilter(true);
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigTable.js","names":["styles","theme","fullWidth","width","root","paper","marginBottom","spacing","backgroundColor","headerText","table","minWidth","visuallyHidden","border","clip","height","margin","overflow","padding","position","top","addIcon","display","justifyContent","highlight","palette","mode","color","secondary","main","text","primary","dark","title","flex","rootTool","paddingLeft","paddingRight","silver","opacity","filteredOut","textAlign","buttonEmpty","buttonCell","whiteSpace","objectToArray","object","nameOfFirstAttr","nameOfSecondAttr","array","Object","keys","forEach","key","item","push","assign","arrayToObject","row","undefined","ConfigTable","props","property","orderCheck","state","order","orderBy","isAsc","newOrder","newValue","stableSort","setState","iteration","applyFilter","value","comparator","getComparator","stabilizedThis","map","el","index","sort","a","b","JSON","parse","stringify","visibleValue","splice","pos","indexOf","i","onChangeWrapper","updateVisible","typingTimer","clearTimeout","setTimeout","schema","objKeyName","objValue","objValueName","onChange","attr","handleRequestSort","newItem","items","reduce","accumulator","currentValue","length","clear","_","filterRefs","valueInputRef","current","children","toLowerCase","filter","idx","includes","createRef","ConfigGeneric","getValue","data","Array","isArray","filterOn","attrItem","systemConfig","schemaFind","find","schemaItem","socket","adapterName","instance","common","alive","themeType","themeName","customs","valueChange","newObj","error","onError","buttonsWidth","classes","headCell","endsWith","clsx","I18n","t","endAdornment","getText","noDelete","disabled","defaultValue","doAnyFilterSet","isAnyFilterSet","label","onAdd","enhancedTableHead","console","log","itemTable","onMoveUp","onMoveDown","onDelete","e","help","renderHelp","helpLink","noTranslation","descendingComparator","propTypes","PropTypes","isRequired","string","style","className","func","withStyles"],"sources":["JsonConfigComponent/ConfigTable.jsx"],"sourcesContent":["import React, { createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { /*lighten,*/ withStyles } from '@mui/styles';\nimport clsx from 'clsx';\n\nimport FormHelperText from '@mui/material/FormHelperText';\nimport { IconButton, InputAdornment, Paper, Table, TableBody, TableCell, TableContainer, TableHead, TableRow, TableSortLabel, TextField, Toolbar, Tooltip, Typography } from '@mui/material';\n\nimport AddIcon from '@mui/icons-material/Add';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport CloseIcon from '@mui/icons-material/Close';\nimport UpIcon from '@mui/icons-material/ArrowUpward';\nimport DownIcon from '@mui/icons-material/ArrowDownward';\nimport IconFilterOn from '@mui/icons-material/FilterAlt';\nimport IconFilterOff from '@mui/icons-material/FilterAltOff';\n\nimport I18n from '../../i18n';\n\nimport ConfigGeneric from './ConfigGeneric';\nimport ConfigPanel from './ConfigPanel';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n },\n root: {\n width: '100%',\n },\n paper: {\n width: '100%',\n marginBottom: theme.spacing(2),\n backgroundColor: `rgba(255, 255, 255, 0.1)`,\n },\n headerText: {\n width: '100%'\n },\n table: {\n minWidth: 750,\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1,\n },\n addIcon: {\n display: 'flex',\n justifyContent: 'space-between'\n },\n highlight:\n theme.palette.mode === 'light'\n ? {\n color: theme.palette.secondary.main,\n // backgroundColor: lighten(theme.palette.secondary.light, 0.85),\n }\n : {\n color: theme.palette.text.primary,\n backgroundColor: theme.palette.secondary.dark,\n },\n title: {\n flex: '1 1 100%',\n },\n rootTool: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(1),\n },\n silver: {\n opacity: 0.2\n },\n flex: {\n display: 'flex'\n },\n filteredOut: {\n padding: 10,\n display: 'flex',\n textAlign: 'center'\n },\n buttonEmpty: {\n width: 30,\n display: 'inline-block'\n },\n buttonCell: {\n whiteSpace: 'nowrap',\n }\n});\n\nfunction objectToArray(object, nameOfFirstAttr, nameOfSecondAttr) {\n nameOfFirstAttr = nameOfFirstAttr || 'key';\n\n const array = [];\n Object.keys(object).forEach(key => {\n const item = {};\n item[nameOfFirstAttr] = key;\n\n if (nameOfSecondAttr) {\n item[nameOfSecondAttr] = object[key]\n array.push(item);\n } else {\n array.push(Object.assign(item, object[key]));\n }\n });\n\n return array;\n}\n\nfunction arrayToObject(array, nameOfFirstAttr, nameOfSecondAttr) {\n nameOfFirstAttr = nameOfFirstAttr || 'key';\n\n const object = {};\n\n array.forEach(row => {\n let key = row[nameOfFirstAttr];\n if (key === null || key === undefined) {\n key = '';\n }\n delete row[nameOfFirstAttr];\n\n if (nameOfSecondAttr) {\n object[key] = row[nameOfSecondAttr];\n } else {\n object[key] = row;\n }\n });\n\n return object;\n}\n\nclass ConfigTable extends ConfigGeneric {\n constructor(props) {\n super(props)\n this.filterRefs = {};\n this.props.schema.items = this.props.schema.items || [];\n this.props.schema.items.forEach(el => {\n if (el.filter) {\n this.filterRefs[el.attr] = createRef();\n }\n });\n }\n\n async componentDidMount() {\n super.componentDidMount();\n let value = ConfigGeneric.getValue(this.props.data, this.props.attr) || [];\n\n // if the list is given as an object\n if (this.props.schema.objKeyName) {\n value = objectToArray(value, this.props.schema.objKeyName, this.props.schema.objValueName);\n }\n\n if (!Array.isArray(value)) {\n value = [];\n }\n\n const visibleValue = value.map((_, i) => i);\n\n this.setState({\n value,\n visibleValue,\n orderBy: /*this.props.schema.items.length ? this.props.schema.items[0].attr : */'',\n order: 'asc',\n iteration: 0,\n filterOn: [],\n });\n }\n\n componentWillUnmount() {\n this.typingTimer && clearTimeout(this.typingTimer)\n this.typingTimer = null;\n super.componentWillUnmount();\n }\n\n itemTable(attrItem, data, idx) {\n const { value, systemConfig } = this.state;\n const { schema } = this.props;\n const schemaFind = schema.items.find(el => el.attr === attrItem);\n\n if (!schemaFind) {\n return null;\n }\n\n const schemaItem = {\n items: {\n [attrItem]: schemaFind\n }\n };\n\n return <ConfigPanel\n index={idx + this.state.iteration}\n socket={this.props.socket}\n adapterName={this.props.adapterName}\n instance={this.props.instance}\n common={this.props.common}\n alive={this.props.alive}\n themeType={this.props.themeType}\n themeName={this.props.themeName}\n data={data}\n table\n custom\n schema={schemaItem}\n systemConfig={systemConfig}\n customs={this.props.customs}\n onChange={(attr, valueChange) => {\n const newObj = JSON.parse(JSON.stringify(value));\n newObj[idx][attr] = valueChange;\n this.setState({ value: newObj }, () =>\n this.onChangeWrapper(newObj,true));\n }}\n onError={(error, attr) => this.onError(error, attr)}\n />;\n }\n\n static descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n } else\n if (b[orderBy] > a[orderBy]) {\n return 1;\n } else {\n return 0;\n }\n }\n\n static getComparator(order, orderBy) {\n return order === 'desc'\n ? (a, b) => ConfigTable.descendingComparator(a, b, orderBy)\n : (a, b) => -ConfigTable.descendingComparator(a, b, orderBy);\n }\n\n handleRequestSort = (property, orderCheck = false) => {\n const { order, orderBy } = this.state;\n if (orderBy) {\n const isAsc = orderBy === property && order === 'asc';\n const newOrder = orderCheck ? order : (isAsc ? 'desc' : 'asc');\n const newValue = this.stableSort(newOrder, property);\n this.setState({ order: newOrder, orderBy: property, iteration: this.state.iteration + 10000 }, () =>\n this.applyFilter(false, newValue));\n }\n }\n\n stableSort = (order, orderBy) => {\n const { value } = this.state;\n const comparator = ConfigTable.getComparator(order, orderBy);\n const stabilizedThis = value.map((el, index) => [el, index]);\n\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) {\n return order;\n } else {\n return a[1] - b[1];\n }\n });\n\n return stabilizedThis.map(el => el[0]);\n }\n\n enhancedTableHead(buttonsWidth) {\n const { schema, classes } = this.props;\n const { order, orderBy } = this.state;\n return <TableHead>\n <TableRow>\n {schema.items.map(headCell => (\n <TableCell\n style={{ width: typeof headCell.width === 'string' && headCell.width.endsWith('%') ? 'auto' : headCell.width }}\n key={headCell.attr}\n align=\"left\"\n sortDirection={orderBy === headCell.attr ? order : false}\n >\n <div className={classes.flex}>\n {headCell.sort && <TableSortLabel\n active\n className={clsx(orderBy !== headCell.attr && classes.silver)}\n direction={orderBy === headCell.attr ? order : 'asc'}\n onClick={() => this.handleRequestSort(headCell.attr)}\n />}\n {headCell.filter && this.state.filterOn.includes(headCell.attr) ?\n <TextField\n variant=\"standard\"\n ref={this.filterRefs[headCell.attr]}\n onChange={() => this.applyFilter()}\n title={I18n.t('You can filter entries by entering here some text')}\n InputProps={{\n endAdornment: (\n this.filterRefs[headCell.attr]?.current?.children[0]?.children[0]?.value && <InputAdornment position=\"end\">\n <IconButton\n size=\"small\"\n onClick={() => {\n this.filterRefs[headCell.attr].current.children[0].children[0].value = '';\n this.applyFilter();\n }}\n >\n <CloseIcon />\n </IconButton>\n </InputAdornment>\n ),\n }}\n fullWidth\n placeholder={this.getText(headCell.title)}\n />\n : <span className={this.props.classes.headerText}>{this.getText(headCell.title)}</span>}\n { headCell.filter ? <IconButton\n title={I18n.t('Show/hide filter input')}\n size=\"small\"\n onClick={() => {\n const filterOn = [...this.state.filterOn];\n const pos = this.state.filterOn.indexOf(headCell.attr);\n if (pos === -1) {\n filterOn.push(headCell.attr);\n } else {\n filterOn.splice(pos, 1);\n }\n this.setState({ filterOn }, () => {\n if (pos && this.filterRefs[headCell.attr].current.children[0].children[0].value) {\n this.filterRefs[headCell.attr].current.children[0].children[0].value = '';\n this.applyFilter();\n }\n });\n }}\n >{this.state.filterOn.includes(headCell.attr) ? <IconFilterOff /> : <IconFilterOn />}</IconButton> : null}\n </div>\n </TableCell>\n ))}\n {!schema.noDelete && <TableCell style={{ paddingLeft: 20, paddingRight: 20, width: buttonsWidth, textAlign: 'right' }} padding=\"checkbox\">\n <IconButton disabled size=\"small\">\n <DeleteIcon />\n </IconButton>\n </TableCell>}\n </TableRow>\n </TableHead>;\n }\n\n onDelete = index => () => {\n const newValue = JSON.parse(JSON.stringify(this.state.value));\n let visibleValue = JSON.parse(JSON.stringify(this.state.visibleValue));\n newValue.splice(index, 1);\n const pos = visibleValue.indexOf(index);\n if (pos !== -1) {\n visibleValue.splice(pos, 1);\n visibleValue = visibleValue.map(i => i > index ? i - 1 : i);\n }\n\n this.setState({ value: newValue, visibleValue, iteration: this.state.iteration + 10000 }, () =>\n this.onChangeWrapper(newValue));\n };\n\n onChangeWrapper = (newValue, updateVisible = false) => {\n this.typingTimer && clearTimeout(this.typingTimer);\n\n this.typingTimer = setTimeout((value, updateVisible) => {\n this.typingTimer = null;\n\n if (this.props.schema.objKeyName) {\n const objValue = arrayToObject(JSON.parse(JSON.stringify(value)), this.props.schema.objKeyName, this.props.schema.objValueName);\n this.onChange(this.props.attr, objValue);\n } else {\n this.onChange(this.props.attr, value);\n }\n\n if (updateVisible) {\n this.applyFilter(false, value);\n this.handleRequestSort(this.state.orderBy, true);\n }\n }, 300, newValue, updateVisible);\n }\n\n onAdd = () => {\n const { schema } = this.props;\n const newValue = JSON.parse(JSON.stringify(this.state.value));\n const visibleValue = JSON.parse(JSON.stringify(this.state.visibleValue));\n\n const newItem = schema.items.reduce((accumulator, currentValue) => {\n accumulator[currentValue.attr] = currentValue.default === undefined ? null : currentValue.default;\n return accumulator;\n }, {});\n\n newValue.push(newItem);\n visibleValue.push(newValue.length - 1);\n\n this.setState({ value: newValue, visibleValue }, () =>\n this.onChangeWrapper(newValue));\n }\n\n isAnyFilterSet() {\n return Object.keys(this.filterRefs).find(attr => this.filterRefs[attr].current?.children[0].children[0].value);\n }\n\n applyFilter = (clear = false, value = this.state.value) => {\n let visibleValue = value.map((_, i) => i);\n Object.keys(this.filterRefs).forEach(attr => {\n let valueInputRef = this.filterRefs[attr].current?.children[0].children[0].value;\n if (!clear && valueInputRef) {\n valueInputRef = valueInputRef.toLowerCase();\n visibleValue = visibleValue.filter(idx => value[idx] && value[idx][attr] && value[idx][attr].toLowerCase().includes(valueInputRef));\n } else if (this.filterRefs[attr].current) {\n this.filterRefs[attr].current.children[0].children[0].value = '';\n }\n });\n\n if (JSON.stringify(visibleValue) !== JSON.stringify(this.state.visibleValue)) {\n this.setState({ visibleValue });\n }\n }\n\n onMoveUp(idx) {\n const value = JSON.parse(JSON.stringify(this.state.value));\n const item = value[idx];\n value.splice(idx, 1);\n value.splice(idx - 1, 0, item);\n this.setState({ value, iteration: this.state.iteration + 10000 }, () =>\n this.onChangeWrapper(value));\n }\n\n onMoveDown(idx) {\n const value = JSON.parse(JSON.stringify(this.state.value));\n const item = value[idx];\n value.splice(idx, 1);\n value.splice(idx + 1, 0, item);\n this.setState({ value, iteration: this.state.iteration + 10000 }, () =>\n this.onChangeWrapper(value));\n }\n\n renderItem(error, disabled, defaultValue) {\n const { classes, schema } = this.props;\n const { value, visibleValue } = this.state;\n\n if (!value) {\n return null;\n }\n\n const doAnyFilterSet = this.isAnyFilterSet();\n\n return <Paper className={classes.paper}>\n <div className={classes.addIcon}>\n {schema.label ? <Toolbar\n variant=\"dense\"\n className={classes.rootTool}\n >\n <Typography className={classes.title} variant=\"h6\" id=\"tableTitle\" component=\"div\">\n {this.getText(schema.label)}\n </Typography>\n </Toolbar> : null}\n {!schema.noDelete ? <Tooltip title={doAnyFilterSet ? I18n.t('Cannot add items with set filter') : I18n.t('Add row')}>\n <span>\n <IconButton disabled={!!doAnyFilterSet} onClick={this.onAdd}>\n <AddIcon />\n </IconButton>\n </span>\n </Tooltip> : null}\n </div>\n <TableContainer>\n <Table className={classes.table} size=\"small\">\n {this.enhancedTableHead(!doAnyFilterSet && !this.state.orderBy ? 120 : 64)}\n <TableBody>\n {visibleValue.map((idx, i) =>\n <TableRow\n hover\n key={idx}\n >\n {schema.items.map(headCell => {\n console.log(`KEy: ${headCell.attr + idx} = ${value[idx][headCell.attr]}`)\n return <TableCell key={headCell.attr + '_' + idx} align=\"left\">\n {this.itemTable(headCell.attr, value[idx], idx)}\n </TableCell>;\n })}\n {!schema.noDelete && <TableCell align=\"left\" className={classes.buttonCell}>\n {!doAnyFilterSet && !this.state.orderBy ? (i ? <Tooltip title={I18n.t('Move up')}>\n <IconButton size=\"small\" onClick={() => this.onMoveUp(idx)}>\n <UpIcon />\n </IconButton>\n </Tooltip> : <div className={classes.buttonEmpty}/> ) : null}\n {!doAnyFilterSet && !this.state.orderBy ? (i < visibleValue.length - 1 ? <Tooltip title={I18n.t('Move down')}>\n <IconButton size=\"small\" onClick={() => this.onMoveDown(idx)}>\n <DownIcon />\n </IconButton>\n </Tooltip> : <div className={classes.buttonEmpty}/> ) : null}\n <Tooltip title={I18n.t('Delete current row')}>\n <IconButton size=\"small\" onClick={this.onDelete(idx)}>\n <DeleteIcon />\n </IconButton>\n </Tooltip>\n </TableCell>}\n </TableRow>)}\n </TableBody>\n </Table>\n {!visibleValue.length && value.length ?\n <div className={classes.filteredOut}>\n <Typography className={classes.title} variant=\"h6\" id=\"tableTitle\" component=\"div\">\n {I18n.t('All items are filtered out')}\n <IconButton\n size=\"small\"\n onClick={e => this.applyFilter(true)}\n >\n <CloseIcon />\n </IconButton>\n </Typography>\n </div> : null}\n </TableContainer>\n {schema.help ? <FormHelperText>{this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}</FormHelperText> : null}\n </Paper>;\n }\n}\n\nConfigTable.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)(ConfigTable);\n"],"mappings":"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"}
1
+ {"version":3,"file":"ConfigTable.js","names":["styles","theme","fullWidth","width","root","paper","marginBottom","spacing","backgroundColor","headerText","table","minWidth","visuallyHidden","border","clip","height","margin","overflow","padding","position","top","addIcon","display","justifyContent","highlight","palette","mode","color","secondary","main","text","primary","dark","title","flex","rootTool","paddingLeft","paddingRight","silver","opacity","filteredOut","textAlign","buttonEmpty","buttonCell","whiteSpace","objectToArray","object","nameOfFirstAttr","nameOfSecondAttr","array","Object","keys","forEach","key","item","push","assign","arrayToObject","row","undefined","ConfigTable","props","property","orderCheck","state","order","orderBy","isAsc","newOrder","newValue","stableSort","setState","iteration","applyFilter","value","comparator","getComparator","stabilizedThis","map","el","index","sort","a","b","JSON","parse","stringify","visibleValue","splice","pos","indexOf","i","onChangeWrapper","updateVisible","typingTimer","clearTimeout","setTimeout","schema","objKeyName","objValue","objValueName","onChange","attr","handleRequestSort","newItem","items","reduce","accumulator","currentValue","defaultValue","defaultFunc","custom","executeCustom","data","instanceObj","length","execute","clear","_","filterRefs","valueInputRef","current","children","toLowerCase","filter","idx","includes","createRef","ConfigGeneric","getValue","Array","isArray","filterOn","attrItem","systemConfig","schemaForAttribute","find","schemaItem","socket","adapterName","instance","common","alive","themeType","themeName","customs","valueChange","newObj","error","onError","buttonsWidth","classes","headCell","endsWith","clsx","I18n","t","endAdornment","getText","noDelete","disabled","doAnyFilterSet","isAnyFilterSet","label","onAdd","enhancedTableHead","itemTable","onMoveUp","onMoveDown","onDelete","e","help","renderHelp","helpLink","noTranslation","descendingComparator","propTypes","PropTypes","isRequired","string","style","className","func","withStyles"],"sources":["JsonConfigComponent/ConfigTable.jsx"],"sourcesContent":["import React, { createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { /*lighten,*/ withStyles } from '@mui/styles';\nimport clsx from 'clsx';\n\nimport FormHelperText from '@mui/material/FormHelperText';\nimport { IconButton, InputAdornment, Paper, Table, TableBody, TableCell, TableContainer, TableHead, TableRow, TableSortLabel, TextField, Toolbar, Tooltip, Typography } from '@mui/material';\n\nimport AddIcon from '@mui/icons-material/Add';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport CloseIcon from '@mui/icons-material/Close';\nimport UpIcon from '@mui/icons-material/ArrowUpward';\nimport DownIcon from '@mui/icons-material/ArrowDownward';\nimport IconFilterOn from '@mui/icons-material/FilterAlt';\nimport IconFilterOff from '@mui/icons-material/FilterAltOff';\n\nimport I18n from '../../i18n';\n\nimport ConfigGeneric from './ConfigGeneric';\nimport ConfigPanel from './ConfigPanel';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n },\n root: {\n width: '100%',\n },\n paper: {\n width: '100%',\n marginBottom: theme.spacing(2),\n backgroundColor: `rgba(255, 255, 255, 0.1)`,\n },\n headerText: {\n width: '100%'\n },\n table: {\n minWidth: 750,\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1,\n },\n addIcon: {\n display: 'flex',\n justifyContent: 'space-between'\n },\n highlight:\n theme.palette.mode === 'light'\n ? {\n color: theme.palette.secondary.main,\n // backgroundColor: lighten(theme.palette.secondary.light, 0.85),\n }\n : {\n color: theme.palette.text.primary,\n backgroundColor: theme.palette.secondary.dark,\n },\n title: {\n flex: '1 1 100%',\n },\n rootTool: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(1),\n },\n silver: {\n opacity: 0.2\n },\n flex: {\n display: 'flex'\n },\n filteredOut: {\n padding: 10,\n display: 'flex',\n textAlign: 'center'\n },\n buttonEmpty: {\n width: 30,\n display: 'inline-block'\n },\n buttonCell: {\n whiteSpace: 'nowrap',\n }\n});\n\nfunction objectToArray(object, nameOfFirstAttr, nameOfSecondAttr) {\n nameOfFirstAttr = nameOfFirstAttr || 'key';\n\n const array = [];\n Object.keys(object).forEach(key => {\n const item = {};\n item[nameOfFirstAttr] = key;\n\n if (nameOfSecondAttr) {\n item[nameOfSecondAttr] = object[key]\n array.push(item);\n } else {\n array.push(Object.assign(item, object[key]));\n }\n });\n\n return array;\n}\n\nfunction arrayToObject(array, nameOfFirstAttr, nameOfSecondAttr) {\n nameOfFirstAttr = nameOfFirstAttr || 'key';\n\n const object = {};\n\n array.forEach(row => {\n let key = row[nameOfFirstAttr];\n if (key === null || key === undefined) {\n key = '';\n }\n delete row[nameOfFirstAttr];\n\n if (nameOfSecondAttr) {\n object[key] = row[nameOfSecondAttr];\n } else {\n object[key] = row;\n }\n });\n\n return object;\n}\n\nclass ConfigTable extends ConfigGeneric {\n constructor(props) {\n super(props)\n this.filterRefs = {};\n this.props.schema.items = this.props.schema.items || [];\n this.props.schema.items.forEach(el => {\n if (el.filter) {\n this.filterRefs[el.attr] = createRef();\n }\n });\n }\n\n async componentDidMount() {\n super.componentDidMount();\n let value = ConfigGeneric.getValue(this.props.data, this.props.attr) || [];\n\n // if the list is given as an object\n if (this.props.schema.objKeyName) {\n value = objectToArray(value, this.props.schema.objKeyName, this.props.schema.objValueName);\n }\n\n if (!Array.isArray(value)) {\n value = [];\n }\n\n const visibleValue = value.map((_, i) => i);\n\n this.setState({\n value,\n visibleValue,\n orderBy: /*this.props.schema.items.length ? this.props.schema.items[0].attr : */'',\n order: 'asc',\n iteration: 0,\n filterOn: [],\n });\n }\n\n componentWillUnmount() {\n this.typingTimer && clearTimeout(this.typingTimer)\n this.typingTimer = null;\n super.componentWillUnmount();\n }\n\n itemTable(attrItem, data, idx) {\n const { value, systemConfig } = this.state;\n const { schema } = this.props;\n const schemaForAttribute = schema.items.find(el => el.attr === attrItem);\n\n if (!schemaForAttribute) {\n return null;\n }\n\n const schemaItem = {\n items: {\n [attrItem]: schemaForAttribute\n }\n };\n\n return <ConfigPanel\n index={idx + this.state.iteration}\n arrayIndex={idx}\n globalData={this.props.data}\n socket={this.props.socket}\n adapterName={this.props.adapterName}\n instance={this.props.instance}\n common={this.props.common}\n alive={this.props.alive}\n themeType={this.props.themeType}\n themeName={this.props.themeName}\n data={data}\n table\n custom\n schema={schemaItem}\n systemConfig={systemConfig}\n customs={this.props.customs}\n onChange={(attr, valueChange) => {\n const newObj = JSON.parse(JSON.stringify(value));\n newObj[idx][attr] = valueChange;\n this.setState({ value: newObj }, () =>\n this.onChangeWrapper(newObj,true));\n }}\n onError={(error, attr) => this.onError(error, attr)}\n />;\n }\n\n static descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n } else\n if (b[orderBy] > a[orderBy]) {\n return 1;\n } else {\n return 0;\n }\n }\n\n static getComparator(order, orderBy) {\n return order === 'desc'\n ? (a, b) => ConfigTable.descendingComparator(a, b, orderBy)\n : (a, b) => -ConfigTable.descendingComparator(a, b, orderBy);\n }\n\n handleRequestSort = (property, orderCheck = false) => {\n const { order, orderBy } = this.state;\n if (orderBy) {\n const isAsc = orderBy === property && order === 'asc';\n const newOrder = orderCheck ? order : (isAsc ? 'desc' : 'asc');\n const newValue = this.stableSort(newOrder, property);\n this.setState({ order: newOrder, orderBy: property, iteration: this.state.iteration + 10000 }, () =>\n this.applyFilter(false, newValue));\n }\n }\n\n stableSort = (order, orderBy) => {\n const { value } = this.state;\n const comparator = ConfigTable.getComparator(order, orderBy);\n const stabilizedThis = value.map((el, index) => [el, index]);\n\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) {\n return order;\n } else {\n return a[1] - b[1];\n }\n });\n\n return stabilizedThis.map(el => el[0]);\n }\n\n enhancedTableHead(buttonsWidth) {\n const { schema, classes } = this.props;\n const { order, orderBy } = this.state;\n return <TableHead>\n <TableRow>\n {schema.items.map(headCell => (\n <TableCell\n style={{ width: typeof headCell.width === 'string' && headCell.width.endsWith('%') ? headCell.width : headCell.width }}\n key={headCell.attr}\n align=\"left\"\n sortDirection={orderBy === headCell.attr ? order : false}\n >\n <div className={classes.flex}>\n {headCell.sort && <TableSortLabel\n active\n className={clsx(orderBy !== headCell.attr && classes.silver)}\n direction={orderBy === headCell.attr ? order : 'asc'}\n onClick={() => this.handleRequestSort(headCell.attr)}\n />}\n {headCell.filter && this.state.filterOn.includes(headCell.attr) ?\n <TextField\n variant=\"standard\"\n ref={this.filterRefs[headCell.attr]}\n onChange={() => this.applyFilter()}\n title={I18n.t('ra_You can filter entries by entering here some text')}\n InputProps={{\n endAdornment: this.filterRefs[headCell.attr]?.current?.children[0]?.children[0]?.value && <InputAdornment position=\"end\">\n <IconButton\n size=\"small\"\n onClick={() => {\n this.filterRefs[headCell.attr].current.children[0].children[0].value = '';\n this.applyFilter();\n }}\n >\n <CloseIcon />\n </IconButton>\n </InputAdornment>,\n }}\n fullWidth\n placeholder={this.getText(headCell.title)}\n />\n : <span className={this.props.classes.headerText}>{this.getText(headCell.title)}</span>}\n { headCell.filter ? <IconButton\n title={I18n.t('ra_Show/hide filter input')}\n size=\"small\"\n onClick={() => {\n const filterOn = [...this.state.filterOn];\n const pos = this.state.filterOn.indexOf(headCell.attr);\n if (pos === -1) {\n filterOn.push(headCell.attr);\n } else {\n filterOn.splice(pos, 1);\n }\n this.setState({ filterOn }, () => {\n if (pos && this.filterRefs[headCell.attr].current.children[0].children[0].value) {\n this.filterRefs[headCell.attr].current.children[0].children[0].value = '';\n this.applyFilter();\n }\n });\n }}\n >{this.state.filterOn.includes(headCell.attr) ? <IconFilterOff /> : <IconFilterOn />}</IconButton> : null}\n </div>\n </TableCell>\n ))}\n {!schema.noDelete && <TableCell style={{ paddingLeft: 20, paddingRight: 20, width: buttonsWidth, textAlign: 'right' }} padding=\"checkbox\">\n <IconButton disabled size=\"small\">\n <DeleteIcon />\n </IconButton>\n </TableCell>}\n </TableRow>\n </TableHead>;\n }\n\n onDelete = index => () => {\n const newValue = JSON.parse(JSON.stringify(this.state.value));\n let visibleValue = JSON.parse(JSON.stringify(this.state.visibleValue));\n newValue.splice(index, 1);\n const pos = visibleValue.indexOf(index);\n if (pos !== -1) {\n visibleValue.splice(pos, 1);\n visibleValue = visibleValue.map(i => i > index ? i - 1 : i);\n }\n\n this.setState({ value: newValue, visibleValue, iteration: this.state.iteration + 10000 }, () =>\n this.onChangeWrapper(newValue));\n };\n\n onChangeWrapper = (newValue, updateVisible = false) => {\n this.typingTimer && clearTimeout(this.typingTimer);\n\n this.typingTimer = setTimeout((value, updateVisible) => {\n this.typingTimer = null;\n\n if (this.props.schema.objKeyName) {\n const objValue = arrayToObject(JSON.parse(JSON.stringify(value)), this.props.schema.objKeyName, this.props.schema.objValueName);\n this.onChange(this.props.attr, objValue);\n } else {\n this.onChange(this.props.attr, value);\n }\n\n if (updateVisible) {\n this.applyFilter(false, value);\n this.handleRequestSort(this.state.orderBy, true);\n }\n }, 300, newValue, updateVisible);\n }\n\n onAdd = () => {\n const { schema } = this.props;\n const newValue = JSON.parse(JSON.stringify(this.state.value));\n const visibleValue = JSON.parse(JSON.stringify(this.state.visibleValue));\n\n const newItem = schema.items.reduce((accumulator, currentValue) => {\n let defaultValue;\n if (currentValue.defaultFunc) {\n if (this.props.custom) {\n defaultValue = currentValue.defaultFunc ? this.executeCustom(currentValue.defaultFunc, this.props.schema.default, this.props.data, this.props.instanceObj, newValue.length, this.props.data) : this.props.schema.default;\n } else {\n defaultValue = currentValue.defaultFunc ? this.execute(currentValue.defaultFunc, this.props.schema.default, this.props.data, newValue.length, this.props.data) : this.props.schema.default;\n }\n } else {\n defaultValue = currentValue.default === undefined ? null : currentValue.default;\n }\n\n accumulator[currentValue.attr] = defaultValue;\n return accumulator;\n }, {});\n\n newValue.push(newItem);\n visibleValue.push(newValue.length - 1);\n\n this.setState({ value: newValue, visibleValue }, () =>\n this.onChangeWrapper(newValue));\n }\n\n isAnyFilterSet() {\n return Object.keys(this.filterRefs).find(attr => this.filterRefs[attr].current?.children[0].children[0].value);\n }\n\n applyFilter = (clear = false, value = this.state.value) => {\n let visibleValue = value.map((_, i) => i);\n Object.keys(this.filterRefs).forEach(attr => {\n let valueInputRef = this.filterRefs[attr].current?.children[0].children[0].value;\n if (!clear && valueInputRef) {\n valueInputRef = valueInputRef.toLowerCase();\n visibleValue = visibleValue.filter(idx => value[idx] && value[idx][attr] && value[idx][attr].toLowerCase().includes(valueInputRef));\n } else if (this.filterRefs[attr].current) {\n this.filterRefs[attr].current.children[0].children[0].value = '';\n }\n });\n\n if (JSON.stringify(visibleValue) !== JSON.stringify(this.state.visibleValue)) {\n this.setState({ visibleValue });\n }\n }\n\n onMoveUp(idx) {\n const value = JSON.parse(JSON.stringify(this.state.value));\n const item = value[idx];\n value.splice(idx, 1);\n value.splice(idx - 1, 0, item);\n this.setState({ value, iteration: this.state.iteration + 10000 }, () =>\n this.onChangeWrapper(value));\n }\n\n onMoveDown(idx) {\n const value = JSON.parse(JSON.stringify(this.state.value));\n const item = value[idx];\n value.splice(idx, 1);\n value.splice(idx + 1, 0, item);\n this.setState({ value, iteration: this.state.iteration + 10000 }, () =>\n this.onChangeWrapper(value));\n }\n\n renderItem(error, disabled, defaultValue) {\n const { classes, schema } = this.props;\n const { value, visibleValue } = this.state;\n\n if (!value) {\n return null;\n }\n\n const doAnyFilterSet = this.isAnyFilterSet();\n\n return <Paper className={classes.paper}>\n <div className={classes.addIcon}>\n {schema.label ? <Toolbar\n variant=\"dense\"\n className={classes.rootTool}\n >\n <Typography className={classes.title} variant=\"h6\" id=\"tableTitle\" component=\"div\">\n {this.getText(schema.label)}\n </Typography>\n </Toolbar> : null}\n {!schema.noDelete ? <Tooltip title={doAnyFilterSet ? I18n.t('ra_Cannot add items with set filter') : I18n.t('ra_Add row')}>\n <span>\n <IconButton disabled={!!doAnyFilterSet} onClick={this.onAdd}>\n <AddIcon />\n </IconButton>\n </span>\n </Tooltip> : null}\n </div>\n <TableContainer>\n <Table className={classes.table} size=\"small\">\n {this.enhancedTableHead(!doAnyFilterSet && !this.state.orderBy ? 120 : 64)}\n <TableBody>\n {visibleValue.map((idx, i) =>\n <TableRow\n hover\n key={idx}\n >\n {schema.items.map(headCell => {\n return <TableCell key={headCell.attr + '_' + idx} align=\"left\">\n {this.itemTable(headCell.attr, value[idx], idx)}\n </TableCell>;\n })}\n {!schema.noDelete && <TableCell align=\"left\" className={classes.buttonCell}>\n {!doAnyFilterSet && !this.state.orderBy ? (i ? <Tooltip title={I18n.t('ra_Move up')}>\n <IconButton size=\"small\" onClick={() => this.onMoveUp(idx)}>\n <UpIcon />\n </IconButton>\n </Tooltip> : <div className={classes.buttonEmpty}/>) : null}\n {!doAnyFilterSet && !this.state.orderBy ? (i < visibleValue.length - 1 ? <Tooltip title={I18n.t('ra_Move down')}>\n <IconButton size=\"small\" onClick={() => this.onMoveDown(idx)}>\n <DownIcon />\n </IconButton>\n </Tooltip> : <div className={classes.buttonEmpty}/> ) : null}\n <Tooltip title={I18n.t('ra_Delete current row')}>\n <IconButton size=\"small\" onClick={this.onDelete(idx)}>\n <DeleteIcon />\n </IconButton>\n </Tooltip>\n </TableCell>}\n </TableRow>)}\n </TableBody>\n </Table>\n {!visibleValue.length && value.length ?\n <div className={classes.filteredOut}>\n <Typography className={classes.title} variant=\"h6\" id=\"tableTitle\" component=\"div\">\n {I18n.t('ra_All items are filtered out')}\n <IconButton\n size=\"small\"\n onClick={e => this.applyFilter(true)}\n >\n <CloseIcon />\n </IconButton>\n </Typography>\n </div> : null}\n </TableContainer>\n {schema.help ? <FormHelperText>{this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}</FormHelperText> : null}\n </Paper>;\n }\n}\n\nConfigTable.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)(ConfigTable);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAEA;;AACA;;;;;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;EAAA,OAAK;IACrBC,SAAS,EAAE;MACPC,KAAK,EAAE;IADA,CADU;IAIrBC,IAAI,EAAE;MACFD,KAAK,EAAE;IADL,CAJe;IAOrBE,KAAK,EAAE;MACHF,KAAK,EAAE,MADJ;MAEHG,YAAY,EAAEL,KAAK,CAACM,OAAN,CAAc,CAAd,CAFX;MAGHC,eAAe;IAHZ,CAPc;IAYrBC,UAAU,EAAE;MACRN,KAAK,EAAE;IADC,CAZS;IAerBO,KAAK,EAAE;MACHC,QAAQ,EAAE;IADP,CAfc;IAkBrBC,cAAc,EAAE;MACZC,MAAM,EAAE,CADI;MAEZC,IAAI,EAAE,eAFM;MAGZC,MAAM,EAAE,CAHI;MAIZC,MAAM,EAAE,CAAC,CAJG;MAKZC,QAAQ,EAAE,QALE;MAMZC,OAAO,EAAE,CANG;MAOZC,QAAQ,EAAE,UAPE;MAQZC,GAAG,EAAE,EARO;MASZjB,KAAK,EAAE;IATK,CAlBK;IA6BrBkB,OAAO,EAAE;MACLC,OAAO,EAAE,MADJ;MAELC,cAAc,EAAE;IAFX,CA7BY;IAiCrBC,SAAS,EACLvB,KAAK,CAACwB,OAAN,CAAcC,IAAd,KAAuB,OAAvB,GACM;MACEC,KAAK,EAAE1B,KAAK,CAACwB,OAAN,CAAcG,SAAd,CAAwBC,IADjC,CAEE;;IAFF,CADN,GAKM;MACEF,KAAK,EAAE1B,KAAK,CAACwB,OAAN,CAAcK,IAAd,CAAmBC,OAD5B;MAEEvB,eAAe,EAAEP,KAAK,CAACwB,OAAN,CAAcG,SAAd,CAAwBI;IAF3C,CAvCW;IA2CrBC,KAAK,EAAE;MACHC,IAAI,EAAE;IADH,CA3Cc;IA8CrBC,QAAQ,EAAE;MACNC,WAAW,EAAEnC,KAAK,CAACM,OAAN,CAAc,CAAd,CADP;MAEN8B,YAAY,EAAEpC,KAAK,CAACM,OAAN,CAAc,CAAd;IAFR,CA9CW;IAkDrB+B,MAAM,EAAE;MACJC,OAAO,EAAE;IADL,CAlDa;IAqDrBL,IAAI,EAAE;MACFZ,OAAO,EAAE;IADP,CArDe;IAwDrBkB,WAAW,EAAE;MACTtB,OAAO,EAAE,EADA;MAETI,OAAO,EAAE,MAFA;MAGTmB,SAAS,EAAE;IAHF,CAxDQ;IA6DrBC,WAAW,EAAE;MACTvC,KAAK,EAAE,EADE;MAETmB,OAAO,EAAE;IAFA,CA7DQ;IAiErBqB,UAAU,EAAE;MACRC,UAAU,EAAE;IADJ;EAjES,CAAL;AAAA,CAApB;;AAsEA,SAASC,aAAT,CAAuBC,MAAvB,EAA+BC,eAA/B,EAAgDC,gBAAhD,EAAkE;EAC9DD,eAAe,GAAIA,eAAe,IAAI,KAAtC;EAEA,IAAME,KAAK,GAAG,EAAd;EACAC,MAAM,CAACC,IAAP,CAAYL,MAAZ,EAAoBM,OAApB,CAA4B,UAAAC,GAAG,EAAI;IAC/B,IAAMC,IAAI,GAAG,EAAb;IACAA,IAAI,CAACP,eAAD,CAAJ,GAAwBM,GAAxB;;IAEA,IAAIL,gBAAJ,EAAsB;MAClBM,IAAI,CAACN,gBAAD,CAAJ,GAAyBF,MAAM,CAACO,GAAD,CAA/B;MACAJ,KAAK,CAACM,IAAN,CAAWD,IAAX;IACH,CAHD,MAGO;MACHL,KAAK,CAACM,IAAN,CAAWL,MAAM,CAACM,MAAP,CAAcF,IAAd,EAAoBR,MAAM,CAACO,GAAD,CAA1B,CAAX;IACH;EACJ,CAVD;EAYA,OAAOJ,KAAP;AACH;;AAED,SAASQ,aAAT,CAAuBR,KAAvB,EAA8BF,eAA9B,EAA+CC,gBAA/C,EAAiE;EAC7DD,eAAe,GAAIA,eAAe,IAAK,KAAvC;EAEA,IAAMD,MAAM,GAAG,EAAf;EAEAG,KAAK,CAACG,OAAN,CAAc,UAAAM,GAAG,EAAI;IACjB,IAAIL,GAAG,GAAGK,GAAG,CAACX,eAAD,CAAb;;IACA,IAAIM,GAAG,KAAK,IAAR,IAAgBA,GAAG,KAAKM,SAA5B,EAAuC;MACnCN,GAAG,GAAG,EAAN;IACH;;IACD,OAAOK,GAAG,CAACX,eAAD,CAAV;;IAEA,IAAIC,gBAAJ,EAAsB;MAClBF,MAAM,CAACO,GAAD,CAAN,GAAcK,GAAG,CAACV,gBAAD,CAAjB;IACH,CAFD,MAEO;MACHF,MAAM,CAACO,GAAD,CAAN,GAAcK,GAAd;IACH;EACJ,CAZD;EAcA,OAAOZ,MAAP;AACH;;IAEKc,W;;;;;EACF,qBAAYC,KAAZ,EAAmB;IAAA;;IAAA;IACf,0BAAMA,KAAN;IADe,sGAqGC,UAACC,QAAD,EAAkC;MAAA,IAAvBC,UAAuB,uEAAV,KAAU;MAClD,kBAA2B,MAAKC,KAAhC;MAAA,IAAQC,KAAR,eAAQA,KAAR;MAAA,IAAeC,OAAf,eAAeA,OAAf;;MACA,IAAIA,OAAJ,EAAa;QACT,IAAMC,KAAK,GAAGD,OAAO,KAAKJ,QAAZ,IAAwBG,KAAK,KAAK,KAAhD;QACA,IAAMG,QAAQ,GAAGL,UAAU,GAAGE,KAAH,GAAYE,KAAK,GAAG,MAAH,GAAY,KAAxD;;QACA,IAAME,QAAQ,GAAG,MAAKC,UAAL,CAAgBF,QAAhB,EAA0BN,QAA1B,CAAjB;;QACA,MAAKS,QAAL,CAAc;UAAEN,KAAK,EAAEG,QAAT;UAAmBF,OAAO,EAAEJ,QAA5B;UAAsCU,SAAS,EAAE,MAAKR,KAAL,CAAWQ,SAAX,GAAuB;QAAxE,CAAd,EAA+F;UAAA,OAC3F,MAAKC,WAAL,CAAiB,KAAjB,EAAwBJ,QAAxB,CAD2F;QAAA,CAA/F;MAEH;IACJ,CA9GkB;IAAA,+FAgHN,UAACJ,KAAD,EAAQC,OAAR,EAAoB;MAC7B,IAAQQ,KAAR,GAAkB,MAAKV,KAAvB,CAAQU,KAAR;MACA,IAAMC,UAAU,GAAGf,WAAW,CAACgB,aAAZ,CAA0BX,KAA1B,EAAiCC,OAAjC,CAAnB;MACA,IAAMW,cAAc,GAAGH,KAAK,CAACI,GAAN,CAAU,UAACC,EAAD,EAAKC,KAAL;QAAA,OAAe,CAACD,EAAD,EAAKC,KAAL,CAAf;MAAA,CAAV,CAAvB;MAEAH,cAAc,CAACI,IAAf,CAAoB,UAACC,CAAD,EAAIC,CAAJ,EAAU;QAC1B,IAAMlB,KAAK,GAAGU,UAAU,CAACO,CAAC,CAAC,CAAD,CAAF,EAAOC,CAAC,CAAC,CAAD,CAAR,CAAxB;;QACA,IAAIlB,KAAK,KAAK,CAAd,EAAiB;UACb,OAAOA,KAAP;QACH,CAFD,MAEO;UACH,OAAOiB,CAAC,CAAC,CAAD,CAAD,GAAOC,CAAC,CAAC,CAAD,CAAf;QACH;MACJ,CAPD;MASA,OAAON,cAAc,CAACC,GAAf,CAAmB,UAAAC,EAAE;QAAA,OAAIA,EAAE,CAAC,CAAD,CAAN;MAAA,CAArB,CAAP;IACH,CA/HkB;IAAA,6FA0MR,UAAAC,KAAK;MAAA,OAAI,YAAM;QACtB,IAAMX,QAAQ,GAAGe,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,SAAL,CAAe,MAAKtB,KAAL,CAAWU,KAA1B,CAAX,CAAjB;QACA,IAAIa,YAAY,GAAGH,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,SAAL,CAAe,MAAKtB,KAAL,CAAWuB,YAA1B,CAAX,CAAnB;QACAlB,QAAQ,CAACmB,MAAT,CAAgBR,KAAhB,EAAuB,CAAvB;QACA,IAAMS,GAAG,GAAGF,YAAY,CAACG,OAAb,CAAqBV,KAArB,CAAZ;;QACA,IAAIS,GAAG,KAAK,CAAC,CAAb,EAAgB;UACZF,YAAY,CAACC,MAAb,CAAoBC,GAApB,EAAyB,CAAzB;UACAF,YAAY,GAAGA,YAAY,CAACT,GAAb,CAAiB,UAAAa,CAAC;YAAA,OAAIA,CAAC,GAAGX,KAAJ,GAAYW,CAAC,GAAG,CAAhB,GAAoBA,CAAxB;UAAA,CAAlB,CAAf;QACH;;QAED,MAAKpB,QAAL,CAAc;UAAEG,KAAK,EAAEL,QAAT;UAAmBkB,YAAY,EAAZA,YAAnB;UAAiCf,SAAS,EAAE,MAAKR,KAAL,CAAWQ,SAAX,GAAuB;QAAnE,CAAd,EAA0F;UAAA,OACtF,MAAKoB,eAAL,CAAqBvB,QAArB,CADsF;QAAA,CAA1F;MAEH,CAZe;IAAA,CA1MG;IAAA,oGAwND,UAACA,QAAD,EAAqC;MAAA,IAA1BwB,aAA0B,uEAAV,KAAU;MACnD,MAAKC,WAAL,IAAoBC,YAAY,CAAC,MAAKD,WAAN,CAAhC;MAEA,MAAKA,WAAL,GAAmBE,UAAU,CAAC,UAACtB,KAAD,EAAQmB,aAAR,EAA0B;QACpD,MAAKC,WAAL,GAAmB,IAAnB;;QAEA,IAAI,MAAKjC,KAAL,CAAWoC,MAAX,CAAkBC,UAAtB,EAAkC;UAC9B,IAAMC,QAAQ,GAAG1C,aAAa,CAAC2B,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,SAAL,CAAeZ,KAAf,CAAX,CAAD,EAAoC,MAAKb,KAAL,CAAWoC,MAAX,CAAkBC,UAAtD,EAAkE,MAAKrC,KAAL,CAAWoC,MAAX,CAAkBG,YAApF,CAA9B;;UACA,MAAKC,QAAL,CAAc,MAAKxC,KAAL,CAAWyC,IAAzB,EAA+BH,QAA/B;QACH,CAHD,MAGO;UACH,MAAKE,QAAL,CAAc,MAAKxC,KAAL,CAAWyC,IAAzB,EAA+B5B,KAA/B;QACH;;QAED,IAAImB,aAAJ,EAAmB;UACf,MAAKpB,WAAL,CAAiB,KAAjB,EAAwBC,KAAxB;;UACA,MAAK6B,iBAAL,CAAuB,MAAKvC,KAAL,CAAWE,OAAlC,EAA2C,IAA3C;QACH;MACJ,CAd4B,EAc1B,GAd0B,EAcrBG,QAdqB,EAcXwB,aAdW,CAA7B;IAeH,CA1OkB;IAAA,0FA4OX,YAAM;MACV,IAAQI,MAAR,GAAmB,MAAKpC,KAAxB,CAAQoC,MAAR;MACA,IAAM5B,QAAQ,GAAGe,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,SAAL,CAAe,MAAKtB,KAAL,CAAWU,KAA1B,CAAX,CAAjB;MACA,IAAMa,YAAY,GAAGH,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,SAAL,CAAe,MAAKtB,KAAL,CAAWuB,YAA1B,CAAX,CAArB;MAEA,IAAMiB,OAAO,GAAGP,MAAM,CAACQ,KAAP,CAAaC,MAAb,CAAoB,UAACC,WAAD,EAAcC,YAAd,EAA+B;QAC/D,IAAIC,YAAJ;;QACA,IAAID,YAAY,CAACE,WAAjB,EAA8B;UAC1B,IAAI,MAAKjD,KAAL,CAAWkD,MAAf,EAAuB;YACnBF,YAAY,GAAGD,YAAY,CAACE,WAAb,GAA2B,MAAKE,aAAL,CAAmBJ,YAAY,CAACE,WAAhC,EAA6C,MAAKjD,KAAL,CAAWoC,MAAX,WAA7C,EAAwE,MAAKpC,KAAL,CAAWoD,IAAnF,EAAyF,MAAKpD,KAAL,CAAWqD,WAApG,EAAiH7C,QAAQ,CAAC8C,MAA1H,EAAkI,MAAKtD,KAAL,CAAWoD,IAA7I,CAA3B,GAAgL,MAAKpD,KAAL,CAAWoC,MAAX,WAA/L;UACH,CAFD,MAEO;YACHY,YAAY,GAAGD,YAAY,CAACE,WAAb,GAA2B,MAAKM,OAAL,CAAaR,YAAY,CAACE,WAA1B,EAAuC,MAAKjD,KAAL,CAAWoC,MAAX,WAAvC,EAAkE,MAAKpC,KAAL,CAAWoD,IAA7E,EAAmF5C,QAAQ,CAAC8C,MAA5F,EAAoG,MAAKtD,KAAL,CAAWoD,IAA/G,CAA3B,GAAkJ,MAAKpD,KAAL,CAAWoC,MAAX,WAAjK;UACH;QACJ,CAND,MAMO;UACHY,YAAY,GAAGD,YAAY,WAAZ,KAAyBjD,SAAzB,GAAqC,IAArC,GAA4CiD,YAAY,WAAvE;QACH;;QAEDD,WAAW,CAACC,YAAY,CAACN,IAAd,CAAX,GAAiCO,YAAjC;QACA,OAAOF,WAAP;MACH,CAde,EAcb,EAda,CAAhB;MAgBAtC,QAAQ,CAACd,IAAT,CAAciD,OAAd;MACAjB,YAAY,CAAChC,IAAb,CAAkBc,QAAQ,CAAC8C,MAAT,GAAkB,CAApC;;MAEA,MAAK5C,QAAL,CAAc;QAAEG,KAAK,EAAEL,QAAT;QAAmBkB,YAAY,EAAZA;MAAnB,CAAd,EAAiD;QAAA,OAC7C,MAAKK,eAAL,CAAqBvB,QAArB,CAD6C;MAAA,CAAjD;IAEH,CAtQkB;IAAA,gGA4QL,YAA6C;MAAA,IAA5CgD,KAA4C,uEAApC,KAAoC;MAAA,IAA7B3C,KAA6B,uEAArB,MAAKV,KAAL,CAAWU,KAAU;MACvD,IAAIa,YAAY,GAAGb,KAAK,CAACI,GAAN,CAAU,UAACwC,CAAD,EAAI3B,CAAJ;QAAA,OAAUA,CAAV;MAAA,CAAV,CAAnB;MACAzC,MAAM,CAACC,IAAP,CAAY,MAAKoE,UAAjB,EAA6BnE,OAA7B,CAAqC,UAAAkD,IAAI,EAAI;QAAA;;QACzC,IAAIkB,aAAa,4BAAG,MAAKD,UAAL,CAAgBjB,IAAhB,EAAsBmB,OAAzB,0DAAG,sBAA+BC,QAA/B,CAAwC,CAAxC,EAA2CA,QAA3C,CAAoD,CAApD,EAAuDhD,KAA3E;;QACA,IAAI,CAAC2C,KAAD,IAAUG,aAAd,EAA6B;UACzBA,aAAa,GAAGA,aAAa,CAACG,WAAd,EAAhB;UACApC,YAAY,GAAGA,YAAY,CAACqC,MAAb,CAAoB,UAAAC,GAAG;YAAA,OAAInD,KAAK,CAACmD,GAAD,CAAL,IAAcnD,KAAK,CAACmD,GAAD,CAAL,CAAWvB,IAAX,CAAd,IAAkC5B,KAAK,CAACmD,GAAD,CAAL,CAAWvB,IAAX,EAAiBqB,WAAjB,GAA+BG,QAA/B,CAAwCN,aAAxC,CAAtC;UAAA,CAAvB,CAAf;QACH,CAHD,MAGO,IAAI,MAAKD,UAAL,CAAgBjB,IAAhB,EAAsBmB,OAA1B,EAAmC;UACtC,MAAKF,UAAL,CAAgBjB,IAAhB,EAAsBmB,OAAtB,CAA8BC,QAA9B,CAAuC,CAAvC,EAA0CA,QAA1C,CAAmD,CAAnD,EAAsDhD,KAAtD,GAA8D,EAA9D;QACH;MACJ,CARD;;MAUA,IAAIU,IAAI,CAACE,SAAL,CAAeC,YAAf,MAAiCH,IAAI,CAACE,SAAL,CAAe,MAAKtB,KAAL,CAAWuB,YAA1B,CAArC,EAA8E;QAC1E,MAAKhB,QAAL,CAAc;UAAEgB,YAAY,EAAZA;QAAF,CAAd;MACH;IACJ,CA3RkB;IAEf,MAAKgC,UAAL,GAAkB,EAAlB;IACA,MAAK1D,KAAL,CAAWoC,MAAX,CAAkBQ,KAAlB,GAA0B,MAAK5C,KAAL,CAAWoC,MAAX,CAAkBQ,KAAlB,IAA2B,EAArD;;IACA,MAAK5C,KAAL,CAAWoC,MAAX,CAAkBQ,KAAlB,CAAwBrD,OAAxB,CAAgC,UAAA2B,EAAE,EAAI;MAClC,IAAIA,EAAE,CAAC6C,MAAP,EAAe;QACX,MAAKL,UAAL,CAAgBxC,EAAE,CAACuB,IAAnB,iBAA2B,IAAAyB,gBAAA,GAA3B;MACH;IACJ,CAJD;;IAJe;EASlB;;;;;6GAED;QAAA;QAAA;UAAA;YAAA;cAAA;gBACI;gBACIrD,KAFR,GAEgBsD,0BAAA,CAAcC,QAAd,CAAuB,KAAKpE,KAAL,CAAWoD,IAAlC,EAAwC,KAAKpD,KAAL,CAAWyC,IAAnD,KAA4D,EAF5E,EAII;;gBACA,IAAI,KAAKzC,KAAL,CAAWoC,MAAX,CAAkBC,UAAtB,EAAkC;kBAC9BxB,KAAK,GAAG7B,aAAa,CAAC6B,KAAD,EAAQ,KAAKb,KAAL,CAAWoC,MAAX,CAAkBC,UAA1B,EAAsC,KAAKrC,KAAL,CAAWoC,MAAX,CAAkBG,YAAxD,CAArB;gBACH;;gBAED,IAAI,CAAC8B,KAAK,CAACC,OAAN,CAAczD,KAAd,CAAL,EAA2B;kBACvBA,KAAK,GAAG,EAAR;gBACH;;gBAEKa,YAbV,GAayBb,KAAK,CAACI,GAAN,CAAU,UAACwC,CAAD,EAAI3B,CAAJ;kBAAA,OAAUA,CAAV;gBAAA,CAAV,CAbzB;gBAeI,KAAKpB,QAAL,CAAc;kBACVG,KAAK,EAALA,KADU;kBAEVa,YAAY,EAAZA,YAFU;kBAGVrB,OAAO;kBAAE;kBAAuE,EAHtE;kBAIVD,KAAK,EAAE,KAJG;kBAKVO,SAAS,EAAE,CALD;kBAMV4D,QAAQ,EAAE;gBANA,CAAd;;cAfJ;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAyBA,gCAAuB;MACnB,KAAKtC,WAAL,IAAoBC,YAAY,CAAC,KAAKD,WAAN,CAAhC;MACA,KAAKA,WAAL,GAAmB,IAAnB;MACA;IACH;;;WAED,mBAAUuC,QAAV,EAAoBpB,IAApB,EAA0BY,GAA1B,EAA+B;MAAA;;MAC3B,mBAAgC,KAAK7D,KAArC;MAAA,IAAQU,KAAR,gBAAQA,KAAR;MAAA,IAAe4D,YAAf,gBAAeA,YAAf;MACA,IAAQrC,MAAR,GAAmB,KAAKpC,KAAxB,CAAQoC,MAAR;MACA,IAAMsC,kBAAkB,GAAGtC,MAAM,CAACQ,KAAP,CAAa+B,IAAb,CAAkB,UAAAzD,EAAE;QAAA,OAAIA,EAAE,CAACuB,IAAH,KAAY+B,QAAhB;MAAA,CAApB,CAA3B;;MAEA,IAAI,CAACE,kBAAL,EAAyB;QACrB,OAAO,IAAP;MACH;;MAED,IAAME,UAAU,GAAG;QACfhC,KAAK,uCACA4B,QADA,EACWE,kBADX;MADU,CAAnB;MAMA,oBAAO,gCAAC,uBAAD;QACH,KAAK,EAAEV,GAAG,GAAG,KAAK7D,KAAL,CAAWQ,SADrB;QAEH,UAAU,EAAEqD,GAFT;QAGH,UAAU,EAAE,KAAKhE,KAAL,CAAWoD,IAHpB;QAIH,MAAM,EAAE,KAAKpD,KAAL,CAAW6E,MAJhB;QAKH,WAAW,EAAE,KAAK7E,KAAL,CAAW8E,WALrB;QAMH,QAAQ,EAAE,KAAK9E,KAAL,CAAW+E,QANlB;QAOH,MAAM,EAAE,KAAK/E,KAAL,CAAWgF,MAPhB;QAQH,KAAK,EAAE,KAAKhF,KAAL,CAAWiF,KARf;QASH,SAAS,EAAE,KAAKjF,KAAL,CAAWkF,SATnB;QAUH,SAAS,EAAE,KAAKlF,KAAL,CAAWmF,SAVnB;QAWH,IAAI,EAAE/B,IAXH;QAYH,KAAK,MAZF;QAaH,MAAM,MAbH;QAcH,MAAM,EAAEwB,UAdL;QAeH,YAAY,EAAEH,YAfX;QAgBH,OAAO,EAAE,KAAKzE,KAAL,CAAWoF,OAhBjB;QAiBH,QAAQ,EAAE,kBAAC3C,IAAD,EAAO4C,WAAP,EAAuB;UAC7B,IAAMC,MAAM,GAAG/D,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,SAAL,CAAeZ,KAAf,CAAX,CAAf;UACAyE,MAAM,CAACtB,GAAD,CAAN,CAAYvB,IAAZ,IAAoB4C,WAApB;;UACA,MAAI,CAAC3E,QAAL,CAAc;YAAEG,KAAK,EAAEyE;UAAT,CAAd,EAAiC;YAAA,OAC7B,MAAI,CAACvD,eAAL,CAAqBuD,MAArB,EAA4B,IAA5B,CAD6B;UAAA,CAAjC;QAEH,CAtBE;QAuBH,OAAO,EAAE,iBAACC,KAAD,EAAQ9C,IAAR;UAAA,OAAiB,MAAI,CAAC+C,OAAL,CAAaD,KAAb,EAAoB9C,IAApB,CAAjB;QAAA;MAvBN,EAAP;IAyBH;;;WA+CD,2BAAkBgD,YAAlB,EAAgC;MAAA;;MAC5B,kBAA4B,KAAKzF,KAAjC;MAAA,IAAQoC,MAAR,eAAQA,MAAR;MAAA,IAAgBsD,OAAhB,eAAgBA,OAAhB;MACA,mBAA2B,KAAKvF,KAAhC;MAAA,IAAQC,KAAR,gBAAQA,KAAR;MAAA,IAAeC,OAAf,gBAAeA,OAAf;MACA,oBAAO,gCAAC,mBAAD,qBACH,gCAAC,kBAAD,QACK+B,MAAM,CAACQ,KAAP,CAAa3B,GAAb,CAAiB,UAAA0E,QAAQ;QAAA;;QAAA,oBACtB,gCAAC,mBAAD;UACI,KAAK,EAAE;YAAErJ,KAAK,EAAE,OAAOqJ,QAAQ,CAACrJ,KAAhB,KAA0B,QAA1B,IAAsCqJ,QAAQ,CAACrJ,KAAT,CAAesJ,QAAf,CAAwB,GAAxB,CAAtC,GAAqED,QAAQ,CAACrJ,KAA9E,GAAsFqJ,QAAQ,CAACrJ;UAAxG,CADX;UAEI,GAAG,EAAEqJ,QAAQ,CAAClD,IAFlB;UAGI,KAAK,EAAC,MAHV;UAII,aAAa,EAAEpC,OAAO,KAAKsF,QAAQ,CAAClD,IAArB,GAA4BrC,KAA5B,GAAoC;QAJvD,gBAMI;UAAK,SAAS,EAAEsF,OAAO,CAACrH;QAAxB,GACKsH,QAAQ,CAACvE,IAAT,iBAAiB,gCAAC,wBAAD;UACd,MAAM,MADQ;UAEd,SAAS,EAAE,IAAAyE,gBAAA,EAAKxF,OAAO,KAAKsF,QAAQ,CAAClD,IAArB,IAA6BiD,OAAO,CAACjH,MAA1C,CAFG;UAGd,SAAS,EAAE4B,OAAO,KAAKsF,QAAQ,CAAClD,IAArB,GAA4BrC,KAA5B,GAAoC,KAHjC;UAId,OAAO,EAAE;YAAA,OAAM,MAAI,CAACsC,iBAAL,CAAuBiD,QAAQ,CAAClD,IAAhC,CAAN;UAAA;QAJK,EADtB,EAOKkD,QAAQ,CAAC5B,MAAT,IAAmB,MAAI,CAAC5D,KAAL,CAAWoE,QAAX,CAAoBN,QAApB,CAA6B0B,QAAQ,CAAClD,IAAtC,CAAnB,gBACG,gCAAC,mBAAD;UACI,OAAO,EAAC,UADZ;UAEI,GAAG,EAAE,MAAI,CAACiB,UAAL,CAAgBiC,QAAQ,CAAClD,IAAzB,CAFT;UAGI,QAAQ,EAAE;YAAA,OAAM,MAAI,CAAC7B,WAAL,EAAN;UAAA,CAHd;UAII,KAAK,EAAEkF,gBAAA,CAAKC,CAAL,CAAO,sDAAP,CAJX;UAKI,UAAU,EAAE;YACRC,YAAY,EAAE,gCAAI,CAACtC,UAAL,CAAgBiC,QAAQ,CAAClD,IAAzB,2GAAgCmB,OAAhC,4GAAyCC,QAAzC,CAAkD,CAAlD,6GAAsDA,QAAtD,CAA+D,CAA/D,mFAAmEhD,KAAnE,kBAA4E,gCAAC,wBAAD;cAAgB,QAAQ,EAAC;YAAzB,gBACtF,gCAAC,oBAAD;cACI,IAAI,EAAC,OADT;cAEI,OAAO,EAAE,mBAAM;gBACX,MAAI,CAAC6C,UAAL,CAAgBiC,QAAQ,CAAClD,IAAzB,EAA+BmB,OAA/B,CAAuCC,QAAvC,CAAgD,CAAhD,EAAmDA,QAAnD,CAA4D,CAA5D,EAA+DhD,KAA/D,GAAuE,EAAvE;;gBACA,MAAI,CAACD,WAAL;cACH;YALL,gBAOI,gCAAC,iBAAD,OAPJ,CADsF;UADlF,CALhB;UAkBI,SAAS,MAlBb;UAmBI,WAAW,EAAE,MAAI,CAACqF,OAAL,CAAaN,QAAQ,CAACvH,KAAtB;QAnBjB,EADH,gBAsBK;UAAM,SAAS,EAAE,MAAI,CAAC4B,KAAL,CAAW0F,OAAX,CAAmB9I;QAApC,GAAiD,MAAI,CAACqJ,OAAL,CAAaN,QAAQ,CAACvH,KAAtB,CAAjD,CA7BV,EA8BMuH,QAAQ,CAAC5B,MAAT,gBAAkB,gCAAC,oBAAD;UAChB,KAAK,EAAE+B,gBAAA,CAAKC,CAAL,CAAO,2BAAP,CADS;UAEhB,IAAI,EAAC,OAFW;UAGhB,OAAO,EAAE,mBAAM;YACX,IAAMxB,QAAQ,uCAAO,MAAI,CAACpE,KAAL,CAAWoE,QAAlB,CAAd;;YACA,IAAM3C,GAAG,GAAG,MAAI,CAACzB,KAAL,CAAWoE,QAAX,CAAoB1C,OAApB,CAA4B8D,QAAQ,CAAClD,IAArC,CAAZ;;YACA,IAAIb,GAAG,KAAK,CAAC,CAAb,EAAgB;cACZ2C,QAAQ,CAAC7E,IAAT,CAAciG,QAAQ,CAAClD,IAAvB;YACH,CAFD,MAEO;cACH8B,QAAQ,CAAC5C,MAAT,CAAgBC,GAAhB,EAAqB,CAArB;YACH;;YACD,MAAI,CAAClB,QAAL,CAAc;cAAE6D,QAAQ,EAARA;YAAF,CAAd,EAA4B,YAAM;cAC9B,IAAI3C,GAAG,IAAI,MAAI,CAAC8B,UAAL,CAAgBiC,QAAQ,CAAClD,IAAzB,EAA+BmB,OAA/B,CAAuCC,QAAvC,CAAgD,CAAhD,EAAmDA,QAAnD,CAA4D,CAA5D,EAA+DhD,KAA1E,EAAiF;gBAC7E,MAAI,CAAC6C,UAAL,CAAgBiC,QAAQ,CAAClD,IAAzB,EAA+BmB,OAA/B,CAAuCC,QAAvC,CAAgD,CAAhD,EAAmDA,QAAnD,CAA4D,CAA5D,EAA+DhD,KAA/D,GAAuE,EAAvE;;gBACA,MAAI,CAACD,WAAL;cACH;YACJ,CALD;UAMH;QAjBe,GAkBlB,MAAI,CAACT,KAAL,CAAWoE,QAAX,CAAoBN,QAApB,CAA6B0B,QAAQ,CAAClD,IAAtC,iBAA8C,gCAAC,wBAAD,OAA9C,gBAAkE,gCAAC,qBAAD,OAlBhD,CAAlB,GAkBmG,IAhDzG,CANJ,CADsB;MAAA,CAAzB,CADL,EA4DK,CAACL,MAAM,CAAC8D,QAAR,iBAAoB,gCAAC,mBAAD;QAAW,KAAK,EAAE;UAAE3H,WAAW,EAAE,EAAf;UAAmBC,YAAY,EAAE,EAAjC;UAAqClC,KAAK,EAAEmJ,YAA5C;UAA0D7G,SAAS,EAAE;QAArE,CAAlB;QAAkG,OAAO,EAAC;MAA1G,gBACjB,gCAAC,oBAAD;QAAY,QAAQ,MAApB;QAAqB,IAAI,EAAC;MAA1B,gBACI,gCAAC,kBAAD,OADJ,CADiB,CA5DzB,CADG,CAAP;IAoEH;;;WAgED,0BAAiB;MAAA;;MACb,OAAOS,MAAM,CAACC,IAAP,CAAY,KAAKoE,UAAjB,EAA6BiB,IAA7B,CAAkC,UAAAlC,IAAI;QAAA;;QAAA,gCAAI,MAAI,CAACiB,UAAL,CAAgBjB,IAAhB,EAAsBmB,OAA1B,0DAAI,sBAA+BC,QAA/B,CAAwC,CAAxC,EAA2CA,QAA3C,CAAoD,CAApD,EAAuDhD,KAA3D;MAAA,CAAtC,CAAP;IACH;;;WAmBD,kBAASmD,GAAT,EAAc;MAAA;;MACV,IAAMnD,KAAK,GAAGU,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,SAAL,CAAe,KAAKtB,KAAL,CAAWU,KAA1B,CAAX,CAAd;MACA,IAAMpB,IAAI,GAAGoB,KAAK,CAACmD,GAAD,CAAlB;MACAnD,KAAK,CAACc,MAAN,CAAaqC,GAAb,EAAkB,CAAlB;MACAnD,KAAK,CAACc,MAAN,CAAaqC,GAAG,GAAG,CAAnB,EAAsB,CAAtB,EAAyBvE,IAAzB;MACA,KAAKiB,QAAL,CAAc;QAAEG,KAAK,EAALA,KAAF;QAASF,SAAS,EAAE,KAAKR,KAAL,CAAWQ,SAAX,GAAuB;MAA3C,CAAd,EAAkE;QAAA,OAC9D,MAAI,CAACoB,eAAL,CAAqBlB,KAArB,CAD8D;MAAA,CAAlE;IAEH;;;WAED,oBAAWmD,GAAX,EAAgB;MAAA;;MACZ,IAAMnD,KAAK,GAAGU,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,SAAL,CAAe,KAAKtB,KAAL,CAAWU,KAA1B,CAAX,CAAd;MACA,IAAMpB,IAAI,GAAGoB,KAAK,CAACmD,GAAD,CAAlB;MACAnD,KAAK,CAACc,MAAN,CAAaqC,GAAb,EAAkB,CAAlB;MACAnD,KAAK,CAACc,MAAN,CAAaqC,GAAG,GAAG,CAAnB,EAAsB,CAAtB,EAAyBvE,IAAzB;MACA,KAAKiB,QAAL,CAAc;QAAEG,KAAK,EAALA,KAAF;QAASF,SAAS,EAAE,KAAKR,KAAL,CAAWQ,SAAX,GAAuB;MAA3C,CAAd,EAAkE;QAAA,OAC9D,MAAI,CAACoB,eAAL,CAAqBlB,KAArB,CAD8D;MAAA,CAAlE;IAEH;;;WAED,oBAAW0E,KAAX,EAAkBY,QAAlB,EAA4BnD,YAA5B,EAA0C;MAAA;;MACtC,mBAA4B,KAAKhD,KAAjC;MAAA,IAAQ0F,OAAR,gBAAQA,OAAR;MAAA,IAAiBtD,MAAjB,gBAAiBA,MAAjB;MACA,mBAAgC,KAAKjC,KAArC;MAAA,IAAQU,KAAR,gBAAQA,KAAR;MAAA,IAAea,YAAf,gBAAeA,YAAf;;MAEA,IAAI,CAACb,KAAL,EAAY;QACR,OAAO,IAAP;MACH;;MAED,IAAMuF,cAAc,GAAG,KAAKC,cAAL,EAAvB;MAEA,oBAAO,gCAAC,eAAD;QAAO,SAAS,EAAEX,OAAO,CAAClJ;MAA1B,gBACH;QAAK,SAAS,EAAEkJ,OAAO,CAAClI;MAAxB,GACK4E,MAAM,CAACkE,KAAP,gBAAe,gCAAC,iBAAD;QACZ,OAAO,EAAC,OADI;QAEZ,SAAS,EAAEZ,OAAO,CAACpH;MAFP,gBAIZ,gCAAC,oBAAD;QAAY,SAAS,EAAEoH,OAAO,CAACtH,KAA/B;QAAsC,OAAO,EAAC,IAA9C;QAAmD,EAAE,EAAC,YAAtD;QAAmE,SAAS,EAAC;MAA7E,GACK,KAAK6H,OAAL,CAAa7D,MAAM,CAACkE,KAApB,CADL,CAJY,CAAf,GAOY,IARjB,EASK,CAAClE,MAAM,CAAC8D,QAAR,gBAAmB,gCAAC,iBAAD;QAAS,KAAK,EAAEE,cAAc,GAAGN,gBAAA,CAAKC,CAAL,CAAO,qCAAP,CAAH,GAAmDD,gBAAA,CAAKC,CAAL,CAAO,YAAP;MAAjF,gBAChB,2DACI,gCAAC,oBAAD;QAAY,QAAQ,EAAE,CAAC,CAACK,cAAxB;QAAwC,OAAO,EAAE,KAAKG;MAAtD,gBACI,gCAAC,eAAD,OADJ,CADJ,CADgB,CAAnB,GAMY,IAfjB,CADG,eAkBH,gCAAC,wBAAD,qBACI,gCAAC,eAAD;QAAO,SAAS,EAAEb,OAAO,CAAC7I,KAA1B;QAAiC,IAAI,EAAC;MAAtC,GACK,KAAK2J,iBAAL,CAAuB,CAACJ,cAAD,IAAmB,CAAC,KAAKjG,KAAL,CAAWE,OAA/B,GAAyC,GAAzC,GAA+C,EAAtE,CADL,eAEI,gCAAC,mBAAD,QACKqB,YAAY,CAACT,GAAb,CAAiB,UAAC+C,GAAD,EAAMlC,CAAN;QAAA,oBACd,gCAAC,kBAAD;UACI,KAAK,MADT;UAEI,GAAG,EAAEkC;QAFT,GAIK5B,MAAM,CAACQ,KAAP,CAAa3B,GAAb,CAAiB,UAAA0E,QAAQ,EAAI;UAC1B,oBAAO,gCAAC,mBAAD;YAAW,GAAG,EAAEA,QAAQ,CAAClD,IAAT,GAAgB,GAAhB,GAAsBuB,GAAtC;YAA2C,KAAK,EAAC;UAAjD,GACF,MAAI,CAACyC,SAAL,CAAed,QAAQ,CAAClD,IAAxB,EAA8B5B,KAAK,CAACmD,GAAD,CAAnC,EAA0CA,GAA1C,CADE,CAAP;QAGH,CAJA,CAJL,EASK,CAAC5B,MAAM,CAAC8D,QAAR,iBAAoB,gCAAC,mBAAD;UAAW,KAAK,EAAC,MAAjB;UAAwB,SAAS,EAAER,OAAO,CAAC5G;QAA3C,GAChB,CAACsH,cAAD,IAAmB,CAAC,MAAI,CAACjG,KAAL,CAAWE,OAA/B,GAA0CyB,CAAC,gBAAG,gCAAC,iBAAD;UAAS,KAAK,EAAEgE,gBAAA,CAAKC,CAAL,CAAO,YAAP;QAAhB,gBAC3C,gCAAC,oBAAD;UAAY,IAAI,EAAC,OAAjB;UAAyB,OAAO,EAAE;YAAA,OAAM,MAAI,CAACW,QAAL,CAAc1C,GAAd,CAAN;UAAA;QAAlC,gBACI,gCAAC,uBAAD,OADJ,CAD2C,CAAH,gBAI/B;UAAK,SAAS,EAAE0B,OAAO,CAAC7G;QAAxB,EAJZ,GAIsD,IALtC,EAMhB,CAACuH,cAAD,IAAmB,CAAC,MAAI,CAACjG,KAAL,CAAWE,OAA/B,GAA0CyB,CAAC,GAAGJ,YAAY,CAAC4B,MAAb,GAAsB,CAA1B,gBAA8B,gCAAC,iBAAD;UAAS,KAAK,EAAEwC,gBAAA,CAAKC,CAAL,CAAO,cAAP;QAAhB,gBACrE,gCAAC,oBAAD;UAAY,IAAI,EAAC,OAAjB;UAAyB,OAAO,EAAE;YAAA,OAAM,MAAI,CAACY,UAAL,CAAgB3C,GAAhB,CAAN;UAAA;QAAlC,gBACI,gCAAC,yBAAD,OADJ,CADqE,CAA9B,gBAI9B;UAAK,SAAS,EAAE0B,OAAO,CAAC7G;QAAxB,EAJZ,GAIuD,IAVvC,eAWjB,gCAAC,iBAAD;UAAS,KAAK,EAAEiH,gBAAA,CAAKC,CAAL,CAAO,uBAAP;QAAhB,gBACI,gCAAC,oBAAD;UAAY,IAAI,EAAC,OAAjB;UAAyB,OAAO,EAAE,MAAI,CAACa,QAAL,CAAc5C,GAAd;QAAlC,gBACI,gCAAC,kBAAD,OADJ,CADJ,CAXiB,CATzB,CADc;MAAA,CAAjB,CADL,CAFJ,CADJ,EAkCK,CAACtC,YAAY,CAAC4B,MAAd,IAAwBzC,KAAK,CAACyC,MAA9B,gBACG;QAAK,SAAS,EAAEoC,OAAO,CAAC/G;MAAxB,gBACI,gCAAC,oBAAD;QAAY,SAAS,EAAE+G,OAAO,CAACtH,KAA/B;QAAsC,OAAO,EAAC,IAA9C;QAAmD,EAAE,EAAC,YAAtD;QAAmE,SAAS,EAAC;MAA7E,GACK0H,gBAAA,CAAKC,CAAL,CAAO,+BAAP,CADL,eAEI,gCAAC,oBAAD;QACI,IAAI,EAAC,OADT;QAEI,OAAO,EAAE,iBAAAc,CAAC;UAAA,OAAI,MAAI,CAACjG,WAAL,CAAiB,IAAjB,CAAJ;QAAA;MAFd,gBAII,gCAAC,iBAAD,OAJJ,CAFJ,CADJ,CADH,GAWY,IA7CjB,CAlBG,EAiEFwB,MAAM,CAAC0E,IAAP,gBAAc,gCAAC,0BAAD,QAAiB,KAAKC,UAAL,CAAgB,KAAK/G,KAAL,CAAWoC,MAAX,CAAkB0E,IAAlC,EAAwC,KAAK9G,KAAL,CAAWoC,MAAX,CAAkB4E,QAA1D,EAAoE,KAAKhH,KAAL,CAAWoC,MAAX,CAAkB6E,aAAtF,CAAjB,CAAd,GAAwJ,IAjEtJ,CAAP;IAmEH;;;WAxSD,8BAA4B5F,CAA5B,EAA+BC,CAA/B,EAAkCjB,OAAlC,EAA2C;MACvC,IAAIiB,CAAC,CAACjB,OAAD,CAAD,GAAagB,CAAC,CAAChB,OAAD,CAAlB,EAA6B;QACzB,OAAO,CAAC,CAAR;MACH,CAFD,MAGI,IAAIiB,CAAC,CAACjB,OAAD,CAAD,GAAagB,CAAC,CAAChB,OAAD,CAAlB,EAA6B;QACzB,OAAO,CAAP;MACH,CAFD,MAEO;QACH,OAAO,CAAP;MACH;IACR;;;WAED,uBAAqBD,KAArB,EAA4BC,OAA5B,EAAqC;MACjC,OAAOD,KAAK,KAAK,MAAV,GACD,UAACiB,CAAD,EAAIC,CAAJ;QAAA,OAAWvB,WAAW,CAACmH,oBAAZ,CAAiC7F,CAAjC,EAAoCC,CAApC,EAAuCjB,OAAvC,CAAX;MAAA,CADC,GAED,UAACgB,CAAD,EAAIC,CAAJ;QAAA,OAAU,CAACvB,WAAW,CAACmH,oBAAZ,CAAiC7F,CAAjC,EAAoCC,CAApC,EAAuCjB,OAAvC,CAAX;MAAA,CAFN;IAGH;;;EApGqB8D,0B;;AAgY1BpE,WAAW,CAACoH,SAAZ,GAAwB;EACpBtC,MAAM,EAAEuC,qBAAA,CAAUnI,MAAV,CAAiBoI,UADL;EAEpBnC,SAAS,EAAEkC,qBAAA,CAAUE,MAFD;EAGpBnC,SAAS,EAAEiC,qBAAA,CAAUE,MAHD;EAIpBC,KAAK,EAAEH,qBAAA,CAAUnI,MAJG;EAKpBuI,SAAS,EAAEJ,qBAAA,CAAUE,MALD;EAMpBlE,IAAI,EAAEgE,qBAAA,CAAUnI,MAAV,CAAiBoI,UANH;EAOpBjF,MAAM,EAAEgF,qBAAA,CAAUnI,MAPE;EAQpBuG,OAAO,EAAE4B,qBAAA,CAAUK,IARC;EASpBjF,QAAQ,EAAE4E,qBAAA,CAAUK;AATA,CAAxB;;eAYe,IAAAC,kBAAA,EAAWvL,MAAX,EAAmB4D,WAAnB,C"}