@iobroker/adapter-react-v5 2.1.7 → 2.1.9

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 (110) hide show
  1. package/Components/404.js +17 -25
  2. package/Components/404.js.map +1 -1
  3. package/Components/ColorPicker.js +25 -35
  4. package/Components/ColorPicker.js.map +1 -1
  5. package/Components/ComplexCron.js +29 -37
  6. package/Components/ComplexCron.js.map +1 -1
  7. package/Components/FileBrowser.js +40 -61
  8. package/Components/FileBrowser.js.map +1 -1
  9. package/Components/FileViewer.js +18 -28
  10. package/Components/FileViewer.js.map +1 -1
  11. package/Components/Icon.js +15 -25
  12. package/Components/Icon.js.map +1 -1
  13. package/Components/IconPicker.js +6 -6
  14. package/Components/IconPicker.js.map +1 -1
  15. package/Components/IconSelector.js +25 -31
  16. package/Components/IconSelector.js.map +1 -1
  17. package/Components/Image.js +15 -25
  18. package/Components/Image.js.map +1 -1
  19. package/Components/Loader.js +14 -24
  20. package/Components/Loader.js.map +1 -1
  21. package/Components/Loaders/PT.js +13 -23
  22. package/Components/Loaders/PT.js.map +1 -1
  23. package/Components/Loaders/Vendor.js +14 -24
  24. package/Components/Loaders/Vendor.js.map +1 -1
  25. package/Components/Logo.js +15 -25
  26. package/Components/Logo.js.map +1 -1
  27. package/Components/MDUtils.js +14 -11
  28. package/Components/MDUtils.js.map +1 -1
  29. package/Components/ObjectBrowser.js +110 -175
  30. package/Components/ObjectBrowser.js.map +1 -1
  31. package/Components/Router.js +13 -21
  32. package/Components/Router.js.map +1 -1
  33. package/Components/SaveCloseButtons.js +15 -25
  34. package/Components/SaveCloseButtons.js.map +1 -1
  35. package/Components/Schedule.js +23 -37
  36. package/Components/Schedule.js.map +1 -1
  37. package/Components/SelectWithIcon.js +17 -25
  38. package/Components/SelectWithIcon.js.map +1 -1
  39. package/Components/SimpleCron/cronText.js +2 -2
  40. package/Components/SimpleCron/cronText.js.map +1 -1
  41. package/Components/SimpleCron/index.js +24 -34
  42. package/Components/SimpleCron/index.js.map +1 -1
  43. package/Components/TabContainer.js +18 -28
  44. package/Components/TabContainer.js.map +1 -1
  45. package/Components/TabContent.js +17 -27
  46. package/Components/TabContent.js.map +1 -1
  47. package/Components/TabHeader.js +13 -23
  48. package/Components/TabHeader.js.map +1 -1
  49. package/Components/TextWithIcon.js +5 -5
  50. package/Components/TextWithIcon.js.map +1 -1
  51. package/Components/ToggleThemeMenu.js +2 -2
  52. package/Components/ToggleThemeMenu.js.map +1 -1
  53. package/Components/TreeTable.js +21 -42
  54. package/Components/TreeTable.js.map +1 -1
  55. package/Components/Utils.js +31 -42
  56. package/Components/Utils.js.map +1 -1
  57. package/Connection.js +15 -22
  58. package/Connection.js.map +1 -1
  59. package/Dialogs/ComplexCron.js +15 -25
  60. package/Dialogs/ComplexCron.js.map +1 -1
  61. package/Dialogs/Confirm.js +15 -25
  62. package/Dialogs/Confirm.js.map +1 -1
  63. package/Dialogs/Cron.js +19 -27
  64. package/Dialogs/Cron.js.map +1 -1
  65. package/Dialogs/Error.js +15 -25
  66. package/Dialogs/Error.js.map +1 -1
  67. package/Dialogs/Message.js +15 -25
  68. package/Dialogs/Message.js.map +1 -1
  69. package/Dialogs/SelectID.js +19 -27
  70. package/Dialogs/SelectID.js.map +1 -1
  71. package/Dialogs/SimpleCron.js +15 -25
  72. package/Dialogs/SimpleCron.js.map +1 -1
  73. package/Dialogs/TextInput.js +18 -28
  74. package/Dialogs/TextInput.js.map +1 -1
  75. package/GenericApp.js +37 -49
  76. package/GenericApp.js.map +1 -1
  77. package/README.md +4 -0
  78. package/Theme.js +2 -2
  79. package/Theme.js.map +1 -1
  80. package/i18n.js +10 -14
  81. package/i18n.js.map +1 -1
  82. package/icons/IconAdapter.js +2 -2
  83. package/icons/IconAdapter.js.map +1 -1
  84. package/icons/IconAlias.js +2 -2
  85. package/icons/IconAlias.js.map +1 -1
  86. package/icons/IconChannel.js +2 -2
  87. package/icons/IconChannel.js.map +1 -1
  88. package/icons/IconClearFilter.js +2 -2
  89. package/icons/IconClearFilter.js.map +1 -1
  90. package/icons/IconClosed.js +2 -2
  91. package/icons/IconClosed.js.map +1 -1
  92. package/icons/IconCopy.js +2 -2
  93. package/icons/IconCopy.js.map +1 -1
  94. package/icons/IconDevice.js +2 -2
  95. package/icons/IconDevice.js.map +1 -1
  96. package/icons/IconDocument.js +2 -2
  97. package/icons/IconDocument.js.map +1 -1
  98. package/icons/IconExpert.js +2 -2
  99. package/icons/IconExpert.js.map +1 -1
  100. package/icons/IconFx.js +2 -2
  101. package/icons/IconFx.js.map +1 -1
  102. package/icons/IconInstance.js +2 -2
  103. package/icons/IconInstance.js.map +1 -1
  104. package/icons/IconLogout.js +2 -2
  105. package/icons/IconLogout.js.map +1 -1
  106. package/icons/IconOpen.js +2 -2
  107. package/icons/IconOpen.js.map +1 -1
  108. package/icons/IconState.js +6 -6
  109. package/icons/IconState.js.map +1 -1
  110. package/package.json +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"TabHeader.js","names":["TabHeader","props","children","React","Component","propTypes"],"sources":["TabHeader.js"],"sourcesContent":["// please do not delete React, as without it other projects could not be compiled: ReferenceError: React is not defined\nimport React from 'react';\nimport PropTypes from \"prop-types\";\n\nimport Grid from '@mui/material/Grid';\n\n/**\n * @typedef {object} TabHeaderProps\n * @property {string} [key] The key to identify this component.\n *\n * @extends {React.Component<TabHeaderProps>}\n */\nclass TabHeader extends React.Component {\n render() {\n return <Grid\n item\n container\n alignItems=\"center\"\n >\n { this.props.children }\n </Grid>;\n }\n}\n\nTabHeader.propTypes = {\n};\n\nexport default TabHeader;"],"mappings":";;;;;;;;;AACA;;AACA;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;IACMA,S;;;;;;;;;;;;;WACF,kBAAS;MACL,oBAAO,gCAAC,gBAAD;QACH,IAAI,MADD;QAEH,SAAS,MAFN;QAGH,UAAU,EAAC;MAHR,GAKD,KAAKC,KAAL,CAAWC,QALV,CAAP;IAOH;;;;EATmBC,kBAAMC,S;;AAY9BJ,SAAS,CAACK,SAAV,GAAsB,EAAtB;eAGeL,S"}
1
+ {"version":3,"file":"TabHeader.js","names":["TabHeader","props","children","React","Component","propTypes"],"sources":["TabHeader.js"],"sourcesContent":["// please do not delete React, as without it other projects could not be compiled: ReferenceError: React is not defined\nimport React from 'react';\nimport PropTypes from \"prop-types\";\n\nimport Grid from '@mui/material/Grid';\n\n/**\n * @typedef {object} TabHeaderProps\n * @property {string} [key] The key to identify this component.\n *\n * @extends {React.Component<TabHeaderProps>}\n */\nclass TabHeader extends React.Component {\n render() {\n return <Grid\n item\n container\n alignItems=\"center\"\n >\n { this.props.children }\n </Grid>;\n }\n}\n\nTabHeader.propTypes = {\n};\n\nexport default TabHeader;"],"mappings":";;;;;;;;;;;;;;;;;;;AACA;;AACA;;AAEA;;;;;;AAEA;AACA;AACA;AACA;AACA;AACA;IACMA,S;;;;;;;;;;;;WACF,kBAAS;MACL,oBAAO,gCAAC,gBAAD;QACH,IAAI,MADD;QAEH,SAAS,MAFN;QAGH,UAAU,EAAC;MAHR,GAKD,KAAKC,KAAL,CAAWC,QALV,CAAP;IAOH;;;EATmBC,kBAAMC,S;;AAY9BJ,SAAS,CAACK,SAAV,GAAsB,EAAtB;eAGeL,S"}
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports["default"] = void 0;
7
9
 
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
+
8
12
  var _react = _interopRequireDefault(require("react"));
9
13
 
10
14
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -15,10 +19,6 @@ var _Icon = _interopRequireDefault(require("./Icon"));
15
19
 
16
20
  var _Utils = _interopRequireDefault(require("./Utils"));
17
21
 
18
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
19
-
20
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
21
-
22
22
  var styles = function styles(theme) {
23
23
  return {
24
24
  div: {
@@ -95,7 +95,7 @@ var TextWithIcon = function TextWithIcon(props) {
95
95
  value: prefix + item
96
96
  };
97
97
  }
98
- } else if (!item || _typeof(item) !== 'object') {
98
+ } else if (!item || (0, _typeof2["default"])(item) !== 'object') {
99
99
  item = {
100
100
  name: '',
101
101
  value: ''
@@ -1 +1 @@
1
- {"version":3,"file":"TextWithIcon.js","names":["styles","theme","div","borderRadius","padding","lineHeight","whiteSpace","overflow","display","alignItems","icon","width","height","marginRight","verticalAlign","text","textOverflow","TextWithIcon","props","item","value","prefix","removePrefix","list","options","Array","isArray","_item","find","obj","_id","name","Utils","getObjectNameFromObj","lang","replace","common","color","style","border","invertColor","getInvertedColor","themeType","undefined","backgroundColor","Object","assign","clsx","className","classes","moreClasses","root","title","propTypes","t","PropTypes","func","isRequired","string","oneOfType","object","array"],"sources":["TextWithIcon.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport Icon from './Icon';\nimport Utils from './Utils';\n\nconst styles = theme => ({\n div: {\n borderRadius: 3,\n padding: '0 3px',\n lineHeight: '20px',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n display: 'flex',\n alignItems: 'center'\n },\n icon: {\n width: 16,\n height: 16,\n marginRight: 8,\n verticalAlign: 'middle',\n },\n text: {\n display: 'inline-block',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n }\n});\n\nconst TextWithIcon = props => {\n let item = props.value;\n let prefix = props.removePrefix || '';\n\n if (typeof item === 'string') {\n const list = props.list || props.options;\n if (props.list) {\n if (Array.isArray(list)) {\n const _item = list.find(obj => obj._id === prefix + item);\n if (_item) {\n item = {\n name: Utils.getObjectNameFromObj(_item, props.lang).replace('system.group.', ''),\n value: _item._id,\n icon: _item.common?.icon,\n color: _item.common?.color,\n };\n } else {\n item = {\n name: item,\n value: prefix + item,\n };\n }\n } else if (list[prefix + item]) {\n item = {\n name: Utils.getObjectNameFromObj(list[prefix + item], props.lang).replace('system.group.', ''),\n value: list[prefix + item]._id,\n icon: list[prefix + item].common?.icon,\n color: list[prefix + item].common?.color,\n };\n } else {\n item = {\n name: item,\n value: prefix + item,\n };\n }\n } else {\n item = {\n name: item,\n value: prefix + item,\n };\n }\n } else if (!item || typeof item !== 'object') {\n item = {\n name: '',\n value: '',\n };\n } else {\n item = {\n name: Utils.getObjectNameFromObj(item, props.lang)\n .replace('system.group.', '')\n .replace('system.user.', '')\n .replace('enum.rooms.', '')\n .replace('enum.functions.', ''),\n value: item._id,\n icon: item.common?.icon,\n color: item.common?.color,\n };\n }\n\n const style = item?.color ? {\n border:`1px solid ${Utils.invertColor(item?.color)}`,\n color: Utils.getInvertedColor(item?.color, props.themeType, true) || undefined,\n backgroundColor: item?.color\n } : {};\n\n return <div style={Object.assign({}, props.style, style)} className={Utils.clsx(props.className, props.classes.div, props.moreClasses?.root)} title={props.title || item.value}>\n {item?.icon ? <Icon src={item?.icon} className={Utils.clsx(props.classes.icon, props.moreClasses?.icon)} /> : null}<div className={Utils.clsx(props.classes.text, props.moreClasses?.text)}>{item?.name}</div>\n </div>;\n}\n\nTextWithIcon.propTypes = {\n t: PropTypes.func.isRequired,\n lang: PropTypes.string.isRequired,\n themeType: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n list: PropTypes.oneOfType([PropTypes.array, PropTypes.object]), // one of \"list\"(Array) or \"options\"(object) is required\n options: PropTypes.oneOfType([PropTypes.array, PropTypes.object]), // one of \"list\"(Array) or \"options\"(object) is required\n className: PropTypes.string,\n style: PropTypes.object,\n title: PropTypes.string,\n removePrefix: PropTypes.string,\n moreClasses: PropTypes.object,\n};\n\nexport default withStyles(styles)(TextWithIcon);"],"mappings":"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"}
1
+ {"version":3,"file":"TextWithIcon.js","names":["styles","theme","div","borderRadius","padding","lineHeight","whiteSpace","overflow","display","alignItems","icon","width","height","marginRight","verticalAlign","text","textOverflow","TextWithIcon","props","item","value","prefix","removePrefix","list","options","Array","isArray","_item","find","obj","_id","name","Utils","getObjectNameFromObj","lang","replace","common","color","style","border","invertColor","getInvertedColor","themeType","undefined","backgroundColor","Object","assign","clsx","className","classes","moreClasses","root","title","propTypes","t","PropTypes","func","isRequired","string","oneOfType","object","array"],"sources":["TextWithIcon.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport Icon from './Icon';\nimport Utils from './Utils';\n\nconst styles = theme => ({\n div: {\n borderRadius: 3,\n padding: '0 3px',\n lineHeight: '20px',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n display: 'flex',\n alignItems: 'center'\n },\n icon: {\n width: 16,\n height: 16,\n marginRight: 8,\n verticalAlign: 'middle',\n },\n text: {\n display: 'inline-block',\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n }\n});\n\nconst TextWithIcon = props => {\n let item = props.value;\n let prefix = props.removePrefix || '';\n\n if (typeof item === 'string') {\n const list = props.list || props.options;\n if (props.list) {\n if (Array.isArray(list)) {\n const _item = list.find(obj => obj._id === prefix + item);\n if (_item) {\n item = {\n name: Utils.getObjectNameFromObj(_item, props.lang).replace('system.group.', ''),\n value: _item._id,\n icon: _item.common?.icon,\n color: _item.common?.color,\n };\n } else {\n item = {\n name: item,\n value: prefix + item,\n };\n }\n } else if (list[prefix + item]) {\n item = {\n name: Utils.getObjectNameFromObj(list[prefix + item], props.lang).replace('system.group.', ''),\n value: list[prefix + item]._id,\n icon: list[prefix + item].common?.icon,\n color: list[prefix + item].common?.color,\n };\n } else {\n item = {\n name: item,\n value: prefix + item,\n };\n }\n } else {\n item = {\n name: item,\n value: prefix + item,\n };\n }\n } else if (!item || typeof item !== 'object') {\n item = {\n name: '',\n value: '',\n };\n } else {\n item = {\n name: Utils.getObjectNameFromObj(item, props.lang)\n .replace('system.group.', '')\n .replace('system.user.', '')\n .replace('enum.rooms.', '')\n .replace('enum.functions.', ''),\n value: item._id,\n icon: item.common?.icon,\n color: item.common?.color,\n };\n }\n\n const style = item?.color ? {\n border:`1px solid ${Utils.invertColor(item?.color)}`,\n color: Utils.getInvertedColor(item?.color, props.themeType, true) || undefined,\n backgroundColor: item?.color\n } : {};\n\n return <div style={Object.assign({}, props.style, style)} className={Utils.clsx(props.className, props.classes.div, props.moreClasses?.root)} title={props.title || item.value}>\n {item?.icon ? <Icon src={item?.icon} className={Utils.clsx(props.classes.icon, props.moreClasses?.icon)} /> : null}<div className={Utils.clsx(props.classes.text, props.moreClasses?.text)}>{item?.name}</div>\n </div>;\n}\n\nTextWithIcon.propTypes = {\n t: PropTypes.func.isRequired,\n lang: PropTypes.string.isRequired,\n themeType: PropTypes.string,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired,\n list: PropTypes.oneOfType([PropTypes.array, PropTypes.object]), // one of \"list\"(Array) or \"options\"(object) is required\n options: PropTypes.oneOfType([PropTypes.array, PropTypes.object]), // one of \"list\"(Array) or \"options\"(object) is required\n className: PropTypes.string,\n style: PropTypes.object,\n title: PropTypes.string,\n removePrefix: PropTypes.string,\n moreClasses: PropTypes.object,\n};\n\nexport default withStyles(styles)(TextWithIcon);"],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -17,8 +19,6 @@ var _Brightness3 = _interopRequireDefault(require("@mui/icons-material/Brightnes
17
19
 
18
20
  var _Brightness4 = _interopRequireDefault(require("@mui/icons-material/Brightness7"));
19
21
 
20
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
21
-
22
22
  function ToggleThemeMenu(_ref) {
23
23
  var themeName = _ref.themeName,
24
24
  toggleTheme = _ref.toggleTheme,
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleThemeMenu.js","names":["ToggleThemeMenu","themeName","toggleTheme","t","className","style","size","undefined"],"sources":["ToggleThemeMenu.js"],"sourcesContent":["import React from 'react';\nimport { IconButton, Tooltip } from '@mui/material';\nimport Brightness4Icon from '@mui/icons-material/Brightness4';\nimport Brightness5Icon from '@mui/icons-material/Brightness5';\nimport Brightness6Icon from '@mui/icons-material/Brightness6';\nimport Brightness7Icon from '@mui/icons-material/Brightness7';\n\nexport default function ToggleThemeMenu({ themeName, toggleTheme, t, className, style, size }) {\n return <div className={className || undefined} style={style || undefined}>\n <Tooltip title={t('ra_Change color theme')}>\n <IconButton onClick={() => toggleTheme()} size={size || 'medium'}>\n {themeName === 'dark' && <Brightness4Icon className={className} />}\n {themeName === 'blue' && <Brightness5Icon className={className} />}\n {themeName === 'colored' && <Brightness6Icon className={className} />}\n {themeName === 'light' && <Brightness7Icon className={className} />}\n </IconButton>\n </Tooltip>\n </div>;\n}"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;AAEe,SAASA,eAAT,OAAgF;EAAA,IAArDC,SAAqD,QAArDA,SAAqD;EAAA,IAA1CC,WAA0C,QAA1CA,WAA0C;EAAA,IAA7BC,CAA6B,QAA7BA,CAA6B;EAAA,IAA1BC,SAA0B,QAA1BA,SAA0B;EAAA,IAAfC,KAAe,QAAfA,KAAe;EAAA,IAARC,IAAQ,QAARA,IAAQ;EAC3F,oBAAO;IAAK,SAAS,EAAEF,SAAS,IAAIG,SAA7B;IAAwC,KAAK,EAAEF,KAAK,IAAIE;EAAxD,gBACH,gCAAC,iBAAD;IAAS,KAAK,EAAEJ,CAAC,CAAC,uBAAD;EAAjB,gBACI,gCAAC,oBAAD;IAAY,OAAO,EAAE;MAAA,OAAMD,WAAW,EAAjB;IAAA,CAArB;IAA0C,IAAI,EAAEI,IAAI,IAAI;EAAxD,GACKL,SAAS,KAAK,MAAd,iBAAwB,gCAAC,sBAAD;IAAiB,SAAS,EAAEG;EAA5B,EAD7B,EAEKH,SAAS,KAAK,MAAd,iBAAwB,gCAAC,uBAAD;IAAiB,SAAS,EAAEG;EAA5B,EAF7B,EAGKH,SAAS,KAAK,SAAd,iBAA2B,gCAAC,uBAAD;IAAiB,SAAS,EAAEG;EAA5B,EAHhC,EAIKH,SAAS,KAAK,OAAd,iBAAyB,gCAAC,uBAAD;IAAiB,SAAS,EAAEG;EAA5B,EAJ9B,CADJ,CADG,CAAP;AAUH"}
1
+ {"version":3,"file":"ToggleThemeMenu.js","names":["ToggleThemeMenu","themeName","toggleTheme","t","className","style","size","undefined"],"sources":["ToggleThemeMenu.js"],"sourcesContent":["import React from 'react';\nimport { IconButton, Tooltip } from '@mui/material';\nimport Brightness4Icon from '@mui/icons-material/Brightness4';\nimport Brightness5Icon from '@mui/icons-material/Brightness5';\nimport Brightness6Icon from '@mui/icons-material/Brightness6';\nimport Brightness7Icon from '@mui/icons-material/Brightness7';\n\nexport default function ToggleThemeMenu({ themeName, toggleTheme, t, className, style, size }) {\n return <div className={className || undefined} style={style || undefined}>\n <Tooltip title={t('ra_Change color theme')}>\n <IconButton onClick={() => toggleTheme()} size={size || 'medium'}>\n {themeName === 'dark' && <Brightness4Icon className={className} />}\n {themeName === 'blue' && <Brightness5Icon className={className} />}\n {themeName === 'colored' && <Brightness6Icon className={className} />}\n {themeName === 'light' && <Brightness7Icon className={className} />}\n </IconButton>\n </Tooltip>\n </div>;\n}"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEe,SAASA,eAAT,OAAgF;EAAA,IAArDC,SAAqD,QAArDA,SAAqD;EAAA,IAA1CC,WAA0C,QAA1CA,WAA0C;EAAA,IAA7BC,CAA6B,QAA7BA,CAA6B;EAAA,IAA1BC,SAA0B,QAA1BA,SAA0B;EAAA,IAAfC,KAAe,QAAfA,KAAe;EAAA,IAARC,IAAQ,QAARA,IAAQ;EAC3F,oBAAO;IAAK,SAAS,EAAEF,SAAS,IAAIG,SAA7B;IAAwC,KAAK,EAAEF,KAAK,IAAIE;EAAxD,gBACH,gCAAC,iBAAD;IAAS,KAAK,EAAEJ,CAAC,CAAC,uBAAD;EAAjB,gBACI,gCAAC,oBAAD;IAAY,OAAO,EAAE;MAAA,OAAMD,WAAW,EAAjB;IAAA,CAArB;IAA0C,IAAI,EAAEI,IAAI,IAAI;EAAxD,GACKL,SAAS,KAAK,MAAd,iBAAwB,gCAAC,sBAAD;IAAiB,SAAS,EAAEG;EAA5B,EAD7B,EAEKH,SAAS,KAAK,MAAd,iBAAwB,gCAAC,uBAAD;IAAiB,SAAS,EAAEG;EAA5B,EAF7B,EAGKH,SAAS,KAAK,SAAd,iBAA2B,gCAAC,uBAAD;IAAiB,SAAS,EAAEG;EAA5B,EAHhC,EAIKH,SAAS,KAAK,OAAd,iBAAyB,gCAAC,uBAAD;IAAiB,SAAS,EAAEG;EAA5B,EAJ9B,CADJ,CADG,CAAP;AAUH"}
@@ -1,12 +1,26 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
8
  exports["default"] = void 0;
9
9
 
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
14
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
15
+
16
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
+
18
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
+
20
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
+
22
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
+
10
24
  var _react = _interopRequireDefault(require("react"));
11
25
 
12
26
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -63,46 +77,14 @@ var _SelectID = _interopRequireDefault(require("../Dialogs/SelectID"));
63
77
 
64
78
  var _Utils = _interopRequireDefault(require("./Utils"));
65
79
 
66
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
67
-
68
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
69
-
70
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
71
-
72
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
73
-
74
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
75
-
76
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
77
-
78
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
79
-
80
80
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
81
81
 
82
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
83
-
84
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
85
-
86
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
87
-
88
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
89
-
90
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
91
-
92
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
93
-
94
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
82
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
95
83
 
96
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
97
-
98
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
99
-
100
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
84
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
101
85
 
102
86
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
103
87
 
104
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
105
-
106
88
  function getAttr(obj, attr, lookup) {
107
89
  if (typeof attr === 'string') {
108
90
  attr = attr.split('.');
@@ -280,15 +262,14 @@ function stableSort(array, comparator) {
280
262
  }
281
263
 
282
264
  var TreeTable = /*#__PURE__*/function (_React$Component) {
283
- _inherits(TreeTable, _React$Component);
265
+ (0, _inherits2["default"])(TreeTable, _React$Component);
284
266
 
285
267
  var _super = _createSuper(TreeTable);
286
268
 
287
269
  function TreeTable(props) {
288
270
  var _this;
289
271
 
290
- _classCallCheck(this, TreeTable);
291
-
272
+ (0, _classCallCheck2["default"])(this, TreeTable);
292
273
  _this = _super.call(this, props);
293
274
  var opened = window.localStorage.getItem(_this.props.name || 'iob-table') || '[]';
294
275
 
@@ -317,7 +298,7 @@ var TreeTable = /*#__PURE__*/function (_React$Component) {
317
298
  return _this;
318
299
  }
319
300
 
320
- _createClass(TreeTable, [{
301
+ (0, _createClass2["default"])(TreeTable, [{
321
302
  key: "renderCellEdit",
322
303
  value: function renderCellEdit(item, col) {
323
304
  var val = getAttr(item, col.field);
@@ -706,8 +687,7 @@ var TreeTable = /*#__PURE__*/function (_React$Component) {
706
687
  className: _Utils["default"].clsx(this.props.classes.cell, this.props.classes.cellExpand, level && this.props.classes.cellSecondary)
707
688
  }, children.length ? /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
708
689
  onClick: function onClick() {
709
- var opened = _toConsumableArray(_this10.state.opened);
710
-
690
+ var opened = (0, _toConsumableArray2["default"])(_this10.state.opened);
711
691
  var pos = opened.indexOf(item.id);
712
692
 
713
693
  if (pos === -1) {
@@ -924,7 +904,6 @@ var TreeTable = /*#__PURE__*/function (_React$Component) {
924
904
  }
925
905
  }
926
906
  }]);
927
-
928
907
  return TreeTable;
929
908
  }(_react["default"].Component);
930
909
  /*
@@ -1 +1 @@
1
- {"version":3,"file":"TreeTable.js","names":["getAttr","obj","attr","lookup","split","length","name","shift","setAttr","value","undefined","styles","theme","tableContainer","width","height","overflow","table","minWidth","maxWidth","cell","paddingTop","paddingBottom","paddingLeft","paddingRight","rowMainWithChildren","rowMainWithoutChildren","rowNoEdit","opacity","cellExpand","cellButton","cellHeader","fontWeight","background","palette","mode","color","wordBreak","whiteSpace","width_name_nicknames","width_ioType","width_type","width_displayTraits","width_roomHint","rowSecondary","fontStyle","cellSecondary","fontSize","visuallyHidden","border","clip","margin","padding","position","top","fieldEditWithButton","display","fieldEdit","lineHeight","verticalAlign","fieldButton","colorDialog","subText","glow","animation","descendingComparator","a","b","orderBy","_a","_b","getComparator","order","stableSort","array","comparator","stabilizedThis","map","el","index","sort","TreeTable","props","opened","window","localStorage","getItem","JSON","parse","e","Array","isArray","state","editMode","deleteMode","editData","update","columns","field","useTable","showSelectColor","glowOnChange","item","col","val","renderCellEditSelect","editComponent","renderCellEditCustom","type","renderCellEditBoolean","renderCellEditColor","renderCellEditObjectID","renderCellEditString","target","setState","Object","keys","v","classes","EditComponent","stringify","newVal","checked","root","paper","selectCallback","selectIdValue","_val","style","backgroundColor","Utils","isUseBright","newColor","showSelectId","adapterName","themeType","socket","selected","level","i","editable","clsx","cellStyle","renderCellEdit","renderCellNonEdit","main","sub","subField","subLookup","mainText","subStyle","levelShift","data","indexOf","parentId","includes","id","children","filter","it","toString","replace","row","pos","push","splice","setItem","assign","renderCellWithSubField","ii","hidden","renderCell","onUpdate","newData","forEach","onDelete","renderLine","property","isAsc","headerStyle","noSort","handleRequestSort","title","noAdd","find","updateTimeout","clearTimeout","setTimeout","className","renderHead","renderSelectIdDialog","renderSelectColorDialog","count","line","oldLine","React","Component","propTypes","PropTypes","isRequired","string","loading","bool","arrayOf","shape","object","func","oneOf","number"],"sources":["TreeTable.js"],"sourcesContent":["import React from 'react';\n\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\nimport { HexColorPicker as ColorPicker } from 'react-colorful';\n\nimport Fab from '@mui/material/Fab';\nimport Table from '@mui/material/Table';\nimport TableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableHead from '@mui/material/TableHead';\nimport TableRow from '@mui/material/TableRow';\nimport TableSortLabel from '@mui/material/TableSortLabel';\nimport IconButton from '@mui/material/IconButton';\nimport Select from '@mui/material/Select';\nimport MenuItem from '@mui/material/MenuItem';\nimport TextField from '@mui/material/TextField';\nimport Checkbox from '@mui/material/Checkbox';\nimport Dialog from '@mui/material/Dialog';\n\nimport IconEdit from '@mui/icons-material/Edit';\nimport IconDelete from '@mui/icons-material/Delete';\nimport IconExpand from '@mui/icons-material/NavigateNext';\nimport IconCollapse from '@mui/icons-material/ExpandMore';\nimport IconCheck from '@mui/icons-material/Check';\nimport IconClose from '@mui/icons-material/Close';\nimport IconAdd from '@mui/icons-material/Add';\nimport IconList from '@mui/icons-material/ViewHeadline';\nimport IconColor from '@mui/icons-material/Colorize';\n\nimport DialogSelectID from '../Dialogs/SelectID';\nimport Utils from './Utils';\n\nfunction getAttr(obj, attr, lookup) {\n if (typeof attr === 'string') {\n attr = attr.split('.');\n }\n\n if (!obj) {\n return null;\n }\n\n if (attr.length === 1) {\n if (lookup && lookup[obj[attr[0]]]) {\n return lookup[obj[attr[0]]];\n } else {\n return obj[attr[0]];\n }\n } else {\n const name = attr.shift();\n return getAttr(obj[name], attr);\n }\n}\n\nfunction setAttr(obj, attr, value) {\n if (typeof attr === 'string') {\n attr = attr.split('.');\n }\n\n if (attr.length === 1) {\n return obj[attr[0]] = value;\n } else {\n const name = attr.shift();\n if (obj[name] === null || obj[name] === undefined) {\n obj[name] = {};\n }\n return setAttr(obj[name], attr, value);\n }\n}\n\nconst styles = theme => ({\n tableContainer: {\n width: '100%',\n height: '100%',\n overflow: 'auto'\n },\n table: {\n width: '100%',\n minWidth: 800,\n maxWidth: 1920,\n },\n cell: {\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 4,\n paddingRight: 4,\n },\n rowMainWithChildren: {\n\n },\n rowMainWithoutChildren: {\n\n },\n rowNoEdit: {\n opacity: 0.3\n },\n cellExpand: {\n width: 30,\n },\n cellButton: {\n width: 30,\n },\n cellHeader: {\n fontWeight: 'bold',\n background: theme.palette.mode === 'dark' ? '#888' : '#888',\n color: theme.palette.mode === 'dark' ? '#EEE' : '#111',\n height: 48,\n wordBreak: 'break-word',\n whiteSpace: 'pre',\n },\n width_name_nicknames: {\n maxWidth: 150,\n },\n width_ioType: {\n maxWidth: 100,\n },\n width_type: {\n maxWidth: 100,\n },\n width_displayTraits: {\n maxWidth: 100,\n },\n width_roomHint: {\n maxWidth: 100,\n },\n rowSecondary: {\n fontStyle: 'italic',\n },\n cellSecondary: {\n fontSize: 10,\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 fieldEditWithButton: {\n width: `calc(100% - 33px)`,\n display: 'inline-block',\n },\n fieldEdit: {\n width: `100%`,\n display: 'inline-block',\n lineHeight: '50px',\n verticalAlign: 'middle',\n },\n fieldButton: {\n width: 30,\n display: 'inline-block',\n },\n colorDialog: {\n overflow: 'hidden',\n padding: 15,\n },\n subText: {\n fontSize: 10,\n fontStyle: 'italic',\n },\n glow: {\n animation: 'glow 0.2s 2 alternate'\n }\n});\n\nfunction descendingComparator(a, b, orderBy, lookup) {\n const _a = getAttr(a, orderBy, lookup) || '';\n const _b = getAttr(b, orderBy, lookup) || '';\n\n if (_b < _a) {\n return -1;\n } else\n if (_b > _a) {\n return 1;\n } else {\n return 0;\n }\n}\n\nfunction getComparator(order, orderBy, lookup) {\n return order === 'desc'\n ? (a, b) => descendingComparator(a, b, orderBy, lookup)\n : (a, b) => -descendingComparator(a, b, orderBy, lookup);\n}\n\nfunction stableSort(array, comparator) {\n const stabilizedThis = array.map((el, index) => [el, index]);\n\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order) {\n return order;\n } else {\n return a[1] - b[1];\n }\n });\n\n return stabilizedThis.map(el => el[0]);\n}\n\nclass TreeTable extends React.Component {\n constructor(props) {\n super(props);\n\n let opened = window.localStorage.getItem(this.props.name || 'iob-table') || '[]';\n try {\n opened = JSON.parse(opened) || [];\n } catch (e) {\n opened = [];\n }\n if (!Array.isArray(opened)) {\n opened = [];\n }\n\n this.state = {\n opened,\n editMode: false,\n deleteMode: false,\n editData: null,\n order: 'asc',\n update: null,\n orderBy: this.props.columns[0].field,\n useTable: false,\n showSelectColor: false,\n glowOnChange: props.glowOnChange,\n };\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.glowOnChange) {\n const update = [];\n let count = 0;\n if (props.data && state.data) {\n props.data.forEach(line => {\n count++;\n const oldLine = state.data.find(it => it.id === line.id);\n if (oldLine) {\n if (JSON.stringify(oldLine) !== JSON.stringify(line)) {\n update.push(line.id);\n }\n } else {\n update.push(line.id);\n }\n });\n }\n\n if (update.length && update.length !== count) {\n return {data: props.data, update};\n } else {\n return {data: props.data};\n }\n } else {\n return {data: props.data};\n }\n }\n\n renderCellEdit(item, col) {\n let val = getAttr(item, col.field);\n if (Array.isArray(val)) {\n val = val[0];\n }\n\n if (col.lookup) {\n return this.renderCellEditSelect(item, col, val);\n } if (col.editComponent) {\n return this.renderCellEditCustom(item, col, val);\n } else {\n if (col.type === 'boolean' || (!col.type && typeof val === 'boolean')) {\n return this.renderCellEditBoolean(item, col, val);\n } else if (col.type === 'color') {\n return this.renderCellEditColor(item, col, val);\n } else if (col.type === 'oid') {\n return this.renderCellEditObjectID(item, col, val);\n } else {\n return this.renderCellEditString(item, col, val);\n }\n }\n }\n\n renderCellEditSelect(item, col, val) {\n return <Select\n variant=\"standard\"\n onChange={e => {\n const editData = this.state.editData ? {...this.state.editData} : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({editData});\n }}\n value={(this.state.editData && this.state.editData[col.field]) || val}\n >\n {Object.keys(col.lookup).map(v => <MenuItem value={v}>{col.lookup[v]}</MenuItem>)}\n </Select>;\n }\n\n renderCellEditString(item, col, val) {\n return <TextField\n variant=\"standard\"\n className={this.props.classes.fieldEdit}\n fullWidth\n value={this.state.editData && this.state.editData[col.field] !== undefined ? this.state.editData[col.field] : val}\n onChange={e => {\n const editData = this.state.editData ? {...this.state.editData} : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({editData});\n }}\n />;\n }\n\n renderCellEditCustom(item, col, val) {\n const EditComponent = col.editComponent;\n\n // use new value if exists\n if (this.state.editData && this.state.editData[col.field] !== undefined) {\n val = this.state.editData[col.field];\n item = JSON.parse(JSON.stringify(item));\n item[col.field] = val;\n }\n\n return <EditComponent\n value={val}\n rowData={item}\n onChange={newVal => {\n const editData = this.state.editData ? {...this.state.editData} : {};\n if (newVal === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = newVal;\n }\n this.setState({editData});\n }}\n />;\n }\n\n renderCellEditBoolean(item, col, val) {\n return <Checkbox\n checked={this.state.editData && this.state.editData[col.field] !== undefined ? !!this.state.editData[col.field] : !!val}\n onChange={e => {\n const editData = this.state.editData ? {...this.state.editData} : {};\n if (e.target.checked === !!val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.checked;\n }\n this.setState({editData});\n }}\n inputProps={{ 'aria-label': 'checkbox' }}\n />;\n }\n\n renderSelectColorDialog() {\n return <Dialog\n classes={{root: this.props.classes.colorDialog, paper: this.props.classes.colorDialog}}\n onClose={() => {\n this.selectCallback = null;\n this.setState({showSelectColor: false});\n }}\n open={this.state.showSelectColor}>\n <ColorPicker\n color={this.state.selectIdValue}\n onChange={color => {\n this.setState({selectIdValue: color}, () =>\n this.selectCallback && this.selectCallback(color));\n }}\n />\n </Dialog>;\n }\n\n renderCellEditColor(item, col, val) {\n const _val = this.state.editData && this.state.editData[col.field] !== undefined ? this.state.editData[col.field] : val;\n return <div className={this.props.classes.fieldEdit}>\n <TextField\n variant=\"standard\"\n fullWidth\n className={this.props.classes.fieldEditWithButton}\n value={_val}\n inputProps={{style: {backgroundColor: _val, color: Utils.isUseBright(_val, null) ? '#FFF' : '#000'}}}\n onChange={e => {\n const editData = this.state.editData ? {...this.state.editData} : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({editData});\n }}\n />\n\n <IconButton\n className={this.props.classes.fieldButton}\n contained\n onClick={() => {\n this.selectCallback = newColor => {\n const editData = this.state.editData ? {...this.state.editData} : {};\n if (newColor === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = newColor;\n }\n this.setState({editData});\n };\n\n this.setState({showSelectColor: true, selectIdValue: val});\n }}\n size=\"large\"><IconColor/></IconButton>\n </div>;\n }\n\n renderSelectIdDialog() {\n if (this.state.showSelectId) {\n return <DialogSelectID\n key=\"tableSelect\"\n imagePrefix=\"../..\"\n dialogName={this.props.adapterName}\n themeType={this.props.themeType}\n socket={this.props.socket}\n statesOnly={true}\n selected={this.state.selectIdValue}\n onClose={() => this.setState({showSelectId: false})}\n onOk={(selected, name) => {\n this.setState({showSelectId: false, selectIdValue: null});\n this.selectCallback && this.selectCallback(selected);\n this.selectCallback = null;\n }}\n />;\n } else {\n return null;\n }\n }\n\n renderCellEditObjectID(item, col, val) {\n return <div className={this.props.classes.fieldEdit}>\n <TextField\n variant=\"standard\"\n fullWidth\n className={this.props.classes.fieldEditWithButton}\n value={this.state.editData && this.state.editData[col.field] !== undefined ? this.state.editData[col.field] : val}\n onChange={e => {\n const editData = this.state.editData ? {...this.state.editData} : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({editData});\n }}\n />\n\n <IconButton\n className={this.props.classes.fieldButton}\n contained\n onClick={() => {\n this.selectCallback = selected => {\n const editData = this.state.editData ? {...this.state.editData} : {};\n if (selected === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = selected;\n }\n this.setState({editData});\n };\n\n this.setState({showSelectId: true, selectIdValue: val});\n }}\n size=\"large\"\n ><IconList/></IconButton>\n </div>;\n }\n\n renderCellNonEdit(item, col) {\n let val = getAttr(item, col.field, col.lookup);\n if (Array.isArray(val)) {\n val = val[0];\n }\n\n if (col.type === 'boolean') {\n return <Checkbox\n checked={!!val}\n disabled={true}\n inputProps={{ 'aria-label': 'checkbox' }}\n />\n } else {\n return val;\n }\n }\n\n renderCell(item, col, level, i) {\n if (this.state.editMode === i && col.editable !== 'never' && col.editable !== false) {\n return <TableCell\n key={col.field}\n className={Utils.clsx(this.props.classes.cell, level && this.props.classes.cellSecondary)}\n style={col.cellStyle}\n component=\"th\"\n >\n {this.renderCellEdit(item, col)}\n </TableCell>;\n } else {\n return <TableCell\n key={col.field}\n className={Utils.clsx(this.props.classes.cell, level && this.props.classes.cellSecondary)}\n style={col.cellStyle}\n component=\"th\" >\n {this.renderCellNonEdit(item, col)}\n </TableCell>;\n }\n }\n\n renderCellWithSubField(item, col) {\n const main = getAttr(item, col.field, col.lookup);\n const sub = getAttr(item, col.subField, col.subLookup);\n return <div>\n <div className={this.props.classes.mainText}>{main}</div>\n <div className={this.props.classes.subText} style={col.subStyle || {}}>{sub}</div>\n </div>;\n }\n\n renderLine(item, level) {\n const levelShift = this.props.levelShift === undefined ? 24 : this.props.levelShift;\n\n level = level || 0;\n const i = this.props.data.indexOf(item);\n if (!item) {\n return null;\n }\n if (!level && item.parentId) {\n return null;\n } else if (level && !item.parentId) {\n return null; // should never happen\n } else {\n // try to find children\n const opened = this.state.opened.includes(item.id);\n const children = this.props.data.filter(it => it.parentId === item.id);\n\n return [\n <TableRow\n key={item.id}\n className={Utils.clsx(\n 'table-row-' + (item.id || '').toString().replace(/[.$]/g, '_'),\n this.state.update && this.state.update.includes(item.id) && this.props.classes.glow,\n this.props.classes.row,\n level && this.props.classes.rowSecondary,\n !level && children.length && this.props.classes.rowMainWithChildren,\n !level && !children.length && this.props.classes.rowMainWithoutChildren,\n this.state.editMode !== false && this.state.editMode !== i && this.props.classes.rowNoEdit,\n this.state.deleteMode !== false && this.state.deleteMode !== i && this.props.classes.rowNoEdit,\n )}\n >\n <TableCell className={Utils.clsx(this.props.classes.cell, this.props.classes.cellExpand, level && this.props.classes.cellSecondary)}>\n {children.length ? <IconButton\n onClick={() => {\n const opened = [...this.state.opened];\n const pos = opened.indexOf(item.id);\n if (pos === -1) {\n opened.push(item.id);\n opened.sort();\n } else {\n opened.splice(pos, 1);\n }\n\n window.localStorage.setItem(this.props.name || 'iob-table', JSON.stringify(opened));\n\n this.setState({opened});\n }}\n size=\"small\">\n {opened ? <IconCollapse/> : <IconExpand/>}\n </IconButton> : null}\n </TableCell>\n <TableCell\n scope=\"row\"\n className={Utils.clsx(this.props.classes.cell, level && this.props.classes.cellSecondary)}\n style={Object.assign({}, this.props.columns[0].cellStyle, {paddingLeft: levelShift * level})}\n >\n {this.props.columns[0].subField ?\n this.renderCellWithSubField(item, this.props.columns[0])\n :\n getAttr(item, this.props.columns[0].field, this.props.columns[0].lookup)\n }\n </TableCell>\n\n {this.props.columns.map((col, ii) =>\n !ii && !col.hidden ? null : this.renderCell(item, col, level, i))}\n\n {this.props.onUpdate ? <TableCell className={Utils.clsx(this.props.classes.cell, this.props.classes.cellButton)}>\n {this.state.editMode === i || this.state.deleteMode === i ?\n <IconButton\n disabled={this.state.editMode !== false && (!this.state.editData || !Object.keys(this.state.editData).length)}\n onClick={() => {\n if (this.state.editMode !== false) {\n const newData = JSON.parse(JSON.stringify(item));\n Object.keys(this.state.editData).forEach(attr => setAttr(newData, attr, this.state.editData[attr]));\n this.setState({editMode: false}, () => this.props.onUpdate(newData, item))\n } else {\n this.setState({deleteMode: false}, () => this.props.onDelete(item))\n }\n }}\n size=\"large\">\n <IconCheck/>\n </IconButton>\n :\n <IconButton\n disabled={this.state.editMode !== false}\n onClick={() => this.setState({editMode: i, editData: null})}\n size=\"large\">\n <IconEdit/>\n </IconButton>}\n </TableCell> : null}\n {this.props.onUpdate || this.props.onDelete ? <TableCell className={Utils.clsx(this.props.classes.cell, this.props.classes.cellButton)}>\n {this.state.editMode === i || this.state.deleteMode === i ?\n <IconButton\n onClick={() => this.setState({editMode: false, deleteMode: false})}\n size=\"large\">\n <IconClose/>\n </IconButton>\n :\n (this.props.onDelete ? <IconButton\n disabled={this.state.deleteMode !== false}\n onClick={() => this.setState({deleteMode: i})}\n size=\"large\">\n <IconDelete/>\n </IconButton> : null)\n }\n </TableCell> : null}\n </TableRow>,\n !level && opened ? children.map(item => this.renderLine(item, level + 1)) : null,\n ];\n }\n }\n\n handleRequestSort(property) {\n const isAsc = this.state.orderBy === property && this.state.order === 'asc';\n this.setState({order: isAsc ? 'desc' : 'asc', orderBy: property});\n }\n\n renderHead() {\n return <TableHead>\n <TableRow key=\"headerRow\">\n <TableCell\n component=\"th\"\n className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes.cellExpand)}\n />\n <TableCell\n component=\"th\"\n className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes['width_' + this.props.columns[0].field.replace(/\\./g, '_')])}\n style={this.props.columns[0].headerStyle || this.props.columns[0].cellStyle}\n sortDirection={this.props.noSort ? false : (this.state.orderBy === this.props.columns[0].field ? this.state.order : false)}\n >\n {this.props.noSort ? null : <TableSortLabel\n active={this.state.orderBy === this.props.columns[0].field}\n direction={this.state.orderBy === this.props.columns[0].field ? this.state.order : 'asc'}\n onClick={() => this.handleRequestSort(this.props.columns[0].field)}\n >\n {this.props.columns[0].title || this.props.columns[0].field}\n {this.state.orderBy === this.props.columns[0].field ?\n <span className={this.props.classes.visuallyHidden}>\n {this.state.order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n </span> : null}\n </TableSortLabel>}\n </TableCell>\n {this.props.columns.map((col, i) =>\n !i && !col.hidden ? null : <TableCell\n key={col.field}\n className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes['width_' + col.field.replace(/\\./g, '_')])}\n style={col.headerStyle || col.cellStyle}\n component=\"th\"\n >\n {this.props.noSort ? null : <TableSortLabel\n active={this.state.orderBy === col.field}\n direction={this.state.orderBy === col.field ? this.state.order : 'asc'}\n onClick={() => this.handleRequestSort(col.field)}\n >\n {col.title || col.field}\n {this.state.orderBy === col.field ?\n <span className={this.props.classes.visuallyHidden}>\n {this.state.order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n </span> : null}\n </TableSortLabel> }\n </TableCell>)}\n {this.props.onUpdate ? <TableCell component=\"th\" className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes.cellButton)}>\n {!this.props.noAdd ? <Fab\n color=\"primary\"\n size=\"small\"\n disabled={this.state.editMode !== false}\n onClick={() => this.props.onUpdate(true)}>\n <IconAdd/>\n </Fab>: null }\n </TableCell> : null}\n {this.props.onDelete || this.props.onUpdate ? <TableCell component=\"th\" className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes.cellButton)}/> : null}\n </TableRow>\n </TableHead>;\n }\n\n render() {\n const lookup = this.props.columns.find(col => col.field === this.state.orderBy).lookup;\n const table = stableSort(this.props.data, getComparator(this.state.order, this.state.orderBy, lookup));\n\n if (this.state.update && this.state.update.length) {\n this.updateTimeout && clearTimeout(this.updateTimeout);\n this.updateTimeout = setTimeout(() => {\n this.updateTimeout = null;\n this.setState({update: null});\n }, 500);\n }\n\n return <div className={Utils.clsx(this.props.classes.tableContainer, this.props.className)}>\n <Table className={this.props.classes.table} aria-label=\"simple table\" size=\"small\" stickyHeader={true}>\n {this.renderHead()}\n <TableBody>\n {table.map(item => this.renderLine(item))}\n </TableBody>\n </Table>\n {this.renderSelectIdDialog()}\n {this.renderSelectColorDialog()}\n </div>;\n }\n}\n/*\nconst columns = [\n {\n title: 'Name of field', // required, else it will be \"field\"\n field: 'fieldIdInData', // required\n editable: false, // or true [default - true]\n cellStyle: { // CSS style - // optional\n maxWidth: '12rem',\n overflow: 'hidden',\n wordBreak: 'break-word'\n },\n lookup: { // optional => edit will be automatically \"SELECT\"\n 'value1': 'text1',\n 'value2': 'text2',\n }\n },\n {\n title: 'Type', // required, else it will be \"field\"\n field: 'myType', // required\n editable: true, // or true [default - true]\n lookup: { // optional => edit will be automatically \"SELECT\"\n 'number': 'Number',\n 'string': 'String',\n 'boolean': 'Boolean',\n },\n type: 'number/string/color/oid/icon/boolean', // oid=ObjectID,icon=base64-icon\n editComponent: props =>\n <div>Prefix&#123; <br/>\n <textarea\n rows={4}\n style={{width: '100%', resize: 'vertical'}}\n value={props.value}\n onChange={e => props.onChange(e.target.value)}\n />\n Suffix\n </div>,\n },\n];\n*/\n/* const data = [\n {\n id: 'UniqueID1' // required\n fieldIdInData: 'Name1',\n myType: 'number',\n },\n {\n id: 'UniqueID2' // required\n fieldIdInData: 'Name12',\n myType: 'string',\n },\n];\n */\n\n/*\n// STYLES\nconst styles = theme => ({\n tableDiv: {\n width: '100%',\n overflow: 'hidden',\n height: 'calc(100% - 48px)',\n },\n});\n// renderTable\nrenderTable() {\n return <div className={this.props.classes.tableDiv}>\n <TreeTable\n columns={this.columns}\n data={lines}\n onUpdate={(newData, oldData) => console.log('Update: ' + JSON.stringify(newData))}\n onDelete={oldData => console.log('Delete: ' + JSON.stringify(oldData))}\n />\n </div>;\n}\n */\n\nTreeTable.propTypes = {\n data: PropTypes.array.isRequired,\n className: PropTypes.string,\n loading: PropTypes.bool,\n name: PropTypes.string, // name of table to save settings in localStorage\n columns: PropTypes.arrayOf(\n PropTypes.shape({\n cellStyle: PropTypes.object,\n editComponent: PropTypes.func,\n field: PropTypes.string,\n headerStyle: PropTypes.object,\n hidden: PropTypes.bool,\n lookup: PropTypes.object,\n editable: PropTypes.bool,\n title: PropTypes.string,\n type: PropTypes.oneOf([\n 'string',\n 'boolean',\n 'numeric',\n 'icon', // todo: not yet implemented\n 'oid',\n 'color',\n ]),\n })\n ).isRequired,\n noSort: PropTypes.bool,\n onUpdate: PropTypes.func,\n onDelete: PropTypes.func,\n noAdd: PropTypes.bool, // hide add button\n themeType: PropTypes.string,\n glowOnChange: PropTypes.bool,\n socket: PropTypes.object, // only if oid type is used\n levelShift: PropTypes.number, // Shift in pixels for every level\n};\n\nexport default withStyles(styles)(TreeTable);"],"mappings":"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"}
1
+ {"version":3,"file":"TreeTable.js","names":["getAttr","obj","attr","lookup","split","length","name","shift","setAttr","value","undefined","styles","theme","tableContainer","width","height","overflow","table","minWidth","maxWidth","cell","paddingTop","paddingBottom","paddingLeft","paddingRight","rowMainWithChildren","rowMainWithoutChildren","rowNoEdit","opacity","cellExpand","cellButton","cellHeader","fontWeight","background","palette","mode","color","wordBreak","whiteSpace","width_name_nicknames","width_ioType","width_type","width_displayTraits","width_roomHint","rowSecondary","fontStyle","cellSecondary","fontSize","visuallyHidden","border","clip","margin","padding","position","top","fieldEditWithButton","display","fieldEdit","lineHeight","verticalAlign","fieldButton","colorDialog","subText","glow","animation","descendingComparator","a","b","orderBy","_a","_b","getComparator","order","stableSort","array","comparator","stabilizedThis","map","el","index","sort","TreeTable","props","opened","window","localStorage","getItem","JSON","parse","e","Array","isArray","state","editMode","deleteMode","editData","update","columns","field","useTable","showSelectColor","glowOnChange","item","col","val","renderCellEditSelect","editComponent","renderCellEditCustom","type","renderCellEditBoolean","renderCellEditColor","renderCellEditObjectID","renderCellEditString","target","setState","Object","keys","v","classes","EditComponent","stringify","newVal","checked","root","paper","selectCallback","selectIdValue","_val","style","backgroundColor","Utils","isUseBright","newColor","showSelectId","adapterName","themeType","socket","selected","level","i","editable","clsx","cellStyle","renderCellEdit","renderCellNonEdit","main","sub","subField","subLookup","mainText","subStyle","levelShift","data","indexOf","parentId","includes","id","children","filter","it","toString","replace","row","pos","push","splice","setItem","assign","renderCellWithSubField","ii","hidden","renderCell","onUpdate","newData","forEach","onDelete","renderLine","property","isAsc","headerStyle","noSort","handleRequestSort","title","noAdd","find","updateTimeout","clearTimeout","setTimeout","className","renderHead","renderSelectIdDialog","renderSelectColorDialog","count","line","oldLine","React","Component","propTypes","PropTypes","isRequired","string","loading","bool","arrayOf","shape","object","func","oneOf","number"],"sources":["TreeTable.js"],"sourcesContent":["import React from 'react';\n\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\nimport { HexColorPicker as ColorPicker } from 'react-colorful';\n\nimport Fab from '@mui/material/Fab';\nimport Table from '@mui/material/Table';\nimport TableBody from '@mui/material/TableBody';\nimport TableCell from '@mui/material/TableCell';\nimport TableHead from '@mui/material/TableHead';\nimport TableRow from '@mui/material/TableRow';\nimport TableSortLabel from '@mui/material/TableSortLabel';\nimport IconButton from '@mui/material/IconButton';\nimport Select from '@mui/material/Select';\nimport MenuItem from '@mui/material/MenuItem';\nimport TextField from '@mui/material/TextField';\nimport Checkbox from '@mui/material/Checkbox';\nimport Dialog from '@mui/material/Dialog';\n\nimport IconEdit from '@mui/icons-material/Edit';\nimport IconDelete from '@mui/icons-material/Delete';\nimport IconExpand from '@mui/icons-material/NavigateNext';\nimport IconCollapse from '@mui/icons-material/ExpandMore';\nimport IconCheck from '@mui/icons-material/Check';\nimport IconClose from '@mui/icons-material/Close';\nimport IconAdd from '@mui/icons-material/Add';\nimport IconList from '@mui/icons-material/ViewHeadline';\nimport IconColor from '@mui/icons-material/Colorize';\n\nimport DialogSelectID from '../Dialogs/SelectID';\nimport Utils from './Utils';\n\nfunction getAttr(obj, attr, lookup) {\n if (typeof attr === 'string') {\n attr = attr.split('.');\n }\n\n if (!obj) {\n return null;\n }\n\n if (attr.length === 1) {\n if (lookup && lookup[obj[attr[0]]]) {\n return lookup[obj[attr[0]]];\n } else {\n return obj[attr[0]];\n }\n } else {\n const name = attr.shift();\n return getAttr(obj[name], attr);\n }\n}\n\nfunction setAttr(obj, attr, value) {\n if (typeof attr === 'string') {\n attr = attr.split('.');\n }\n\n if (attr.length === 1) {\n return obj[attr[0]] = value;\n } else {\n const name = attr.shift();\n if (obj[name] === null || obj[name] === undefined) {\n obj[name] = {};\n }\n return setAttr(obj[name], attr, value);\n }\n}\n\nconst styles = theme => ({\n tableContainer: {\n width: '100%',\n height: '100%',\n overflow: 'auto'\n },\n table: {\n width: '100%',\n minWidth: 800,\n maxWidth: 1920,\n },\n cell: {\n paddingTop: 0,\n paddingBottom: 0,\n paddingLeft: 4,\n paddingRight: 4,\n },\n rowMainWithChildren: {\n\n },\n rowMainWithoutChildren: {\n\n },\n rowNoEdit: {\n opacity: 0.3\n },\n cellExpand: {\n width: 30,\n },\n cellButton: {\n width: 30,\n },\n cellHeader: {\n fontWeight: 'bold',\n background: theme.palette.mode === 'dark' ? '#888' : '#888',\n color: theme.palette.mode === 'dark' ? '#EEE' : '#111',\n height: 48,\n wordBreak: 'break-word',\n whiteSpace: 'pre',\n },\n width_name_nicknames: {\n maxWidth: 150,\n },\n width_ioType: {\n maxWidth: 100,\n },\n width_type: {\n maxWidth: 100,\n },\n width_displayTraits: {\n maxWidth: 100,\n },\n width_roomHint: {\n maxWidth: 100,\n },\n rowSecondary: {\n fontStyle: 'italic',\n },\n cellSecondary: {\n fontSize: 10,\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 fieldEditWithButton: {\n width: `calc(100% - 33px)`,\n display: 'inline-block',\n },\n fieldEdit: {\n width: `100%`,\n display: 'inline-block',\n lineHeight: '50px',\n verticalAlign: 'middle',\n },\n fieldButton: {\n width: 30,\n display: 'inline-block',\n },\n colorDialog: {\n overflow: 'hidden',\n padding: 15,\n },\n subText: {\n fontSize: 10,\n fontStyle: 'italic',\n },\n glow: {\n animation: 'glow 0.2s 2 alternate'\n }\n});\n\nfunction descendingComparator(a, b, orderBy, lookup) {\n const _a = getAttr(a, orderBy, lookup) || '';\n const _b = getAttr(b, orderBy, lookup) || '';\n\n if (_b < _a) {\n return -1;\n } else\n if (_b > _a) {\n return 1;\n } else {\n return 0;\n }\n}\n\nfunction getComparator(order, orderBy, lookup) {\n return order === 'desc'\n ? (a, b) => descendingComparator(a, b, orderBy, lookup)\n : (a, b) => -descendingComparator(a, b, orderBy, lookup);\n}\n\nfunction stableSort(array, comparator) {\n const stabilizedThis = array.map((el, index) => [el, index]);\n\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order) {\n return order;\n } else {\n return a[1] - b[1];\n }\n });\n\n return stabilizedThis.map(el => el[0]);\n}\n\nclass TreeTable extends React.Component {\n constructor(props) {\n super(props);\n\n let opened = window.localStorage.getItem(this.props.name || 'iob-table') || '[]';\n try {\n opened = JSON.parse(opened) || [];\n } catch (e) {\n opened = [];\n }\n if (!Array.isArray(opened)) {\n opened = [];\n }\n\n this.state = {\n opened,\n editMode: false,\n deleteMode: false,\n editData: null,\n order: 'asc',\n update: null,\n orderBy: this.props.columns[0].field,\n useTable: false,\n showSelectColor: false,\n glowOnChange: props.glowOnChange,\n };\n }\n\n static getDerivedStateFromProps(props, state) {\n if (props.glowOnChange) {\n const update = [];\n let count = 0;\n if (props.data && state.data) {\n props.data.forEach(line => {\n count++;\n const oldLine = state.data.find(it => it.id === line.id);\n if (oldLine) {\n if (JSON.stringify(oldLine) !== JSON.stringify(line)) {\n update.push(line.id);\n }\n } else {\n update.push(line.id);\n }\n });\n }\n\n if (update.length && update.length !== count) {\n return {data: props.data, update};\n } else {\n return {data: props.data};\n }\n } else {\n return {data: props.data};\n }\n }\n\n renderCellEdit(item, col) {\n let val = getAttr(item, col.field);\n if (Array.isArray(val)) {\n val = val[0];\n }\n\n if (col.lookup) {\n return this.renderCellEditSelect(item, col, val);\n } if (col.editComponent) {\n return this.renderCellEditCustom(item, col, val);\n } else {\n if (col.type === 'boolean' || (!col.type && typeof val === 'boolean')) {\n return this.renderCellEditBoolean(item, col, val);\n } else if (col.type === 'color') {\n return this.renderCellEditColor(item, col, val);\n } else if (col.type === 'oid') {\n return this.renderCellEditObjectID(item, col, val);\n } else {\n return this.renderCellEditString(item, col, val);\n }\n }\n }\n\n renderCellEditSelect(item, col, val) {\n return <Select\n variant=\"standard\"\n onChange={e => {\n const editData = this.state.editData ? {...this.state.editData} : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({editData});\n }}\n value={(this.state.editData && this.state.editData[col.field]) || val}\n >\n {Object.keys(col.lookup).map(v => <MenuItem value={v}>{col.lookup[v]}</MenuItem>)}\n </Select>;\n }\n\n renderCellEditString(item, col, val) {\n return <TextField\n variant=\"standard\"\n className={this.props.classes.fieldEdit}\n fullWidth\n value={this.state.editData && this.state.editData[col.field] !== undefined ? this.state.editData[col.field] : val}\n onChange={e => {\n const editData = this.state.editData ? {...this.state.editData} : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({editData});\n }}\n />;\n }\n\n renderCellEditCustom(item, col, val) {\n const EditComponent = col.editComponent;\n\n // use new value if exists\n if (this.state.editData && this.state.editData[col.field] !== undefined) {\n val = this.state.editData[col.field];\n item = JSON.parse(JSON.stringify(item));\n item[col.field] = val;\n }\n\n return <EditComponent\n value={val}\n rowData={item}\n onChange={newVal => {\n const editData = this.state.editData ? {...this.state.editData} : {};\n if (newVal === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = newVal;\n }\n this.setState({editData});\n }}\n />;\n }\n\n renderCellEditBoolean(item, col, val) {\n return <Checkbox\n checked={this.state.editData && this.state.editData[col.field] !== undefined ? !!this.state.editData[col.field] : !!val}\n onChange={e => {\n const editData = this.state.editData ? {...this.state.editData} : {};\n if (e.target.checked === !!val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.checked;\n }\n this.setState({editData});\n }}\n inputProps={{ 'aria-label': 'checkbox' }}\n />;\n }\n\n renderSelectColorDialog() {\n return <Dialog\n classes={{root: this.props.classes.colorDialog, paper: this.props.classes.colorDialog}}\n onClose={() => {\n this.selectCallback = null;\n this.setState({showSelectColor: false});\n }}\n open={this.state.showSelectColor}>\n <ColorPicker\n color={this.state.selectIdValue}\n onChange={color => {\n this.setState({selectIdValue: color}, () =>\n this.selectCallback && this.selectCallback(color));\n }}\n />\n </Dialog>;\n }\n\n renderCellEditColor(item, col, val) {\n const _val = this.state.editData && this.state.editData[col.field] !== undefined ? this.state.editData[col.field] : val;\n return <div className={this.props.classes.fieldEdit}>\n <TextField\n variant=\"standard\"\n fullWidth\n className={this.props.classes.fieldEditWithButton}\n value={_val}\n inputProps={{style: {backgroundColor: _val, color: Utils.isUseBright(_val, null) ? '#FFF' : '#000'}}}\n onChange={e => {\n const editData = this.state.editData ? {...this.state.editData} : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({editData});\n }}\n />\n\n <IconButton\n className={this.props.classes.fieldButton}\n contained\n onClick={() => {\n this.selectCallback = newColor => {\n const editData = this.state.editData ? {...this.state.editData} : {};\n if (newColor === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = newColor;\n }\n this.setState({editData});\n };\n\n this.setState({showSelectColor: true, selectIdValue: val});\n }}\n size=\"large\"><IconColor/></IconButton>\n </div>;\n }\n\n renderSelectIdDialog() {\n if (this.state.showSelectId) {\n return <DialogSelectID\n key=\"tableSelect\"\n imagePrefix=\"../..\"\n dialogName={this.props.adapterName}\n themeType={this.props.themeType}\n socket={this.props.socket}\n statesOnly={true}\n selected={this.state.selectIdValue}\n onClose={() => this.setState({showSelectId: false})}\n onOk={(selected, name) => {\n this.setState({showSelectId: false, selectIdValue: null});\n this.selectCallback && this.selectCallback(selected);\n this.selectCallback = null;\n }}\n />;\n } else {\n return null;\n }\n }\n\n renderCellEditObjectID(item, col, val) {\n return <div className={this.props.classes.fieldEdit}>\n <TextField\n variant=\"standard\"\n fullWidth\n className={this.props.classes.fieldEditWithButton}\n value={this.state.editData && this.state.editData[col.field] !== undefined ? this.state.editData[col.field] : val}\n onChange={e => {\n const editData = this.state.editData ? {...this.state.editData} : {};\n if (e.target.value === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = e.target.value;\n }\n this.setState({editData});\n }}\n />\n\n <IconButton\n className={this.props.classes.fieldButton}\n contained\n onClick={() => {\n this.selectCallback = selected => {\n const editData = this.state.editData ? {...this.state.editData} : {};\n if (selected === val) {\n delete editData[col.field];\n } else {\n editData[col.field] = selected;\n }\n this.setState({editData});\n };\n\n this.setState({showSelectId: true, selectIdValue: val});\n }}\n size=\"large\"\n ><IconList/></IconButton>\n </div>;\n }\n\n renderCellNonEdit(item, col) {\n let val = getAttr(item, col.field, col.lookup);\n if (Array.isArray(val)) {\n val = val[0];\n }\n\n if (col.type === 'boolean') {\n return <Checkbox\n checked={!!val}\n disabled={true}\n inputProps={{ 'aria-label': 'checkbox' }}\n />\n } else {\n return val;\n }\n }\n\n renderCell(item, col, level, i) {\n if (this.state.editMode === i && col.editable !== 'never' && col.editable !== false) {\n return <TableCell\n key={col.field}\n className={Utils.clsx(this.props.classes.cell, level && this.props.classes.cellSecondary)}\n style={col.cellStyle}\n component=\"th\"\n >\n {this.renderCellEdit(item, col)}\n </TableCell>;\n } else {\n return <TableCell\n key={col.field}\n className={Utils.clsx(this.props.classes.cell, level && this.props.classes.cellSecondary)}\n style={col.cellStyle}\n component=\"th\" >\n {this.renderCellNonEdit(item, col)}\n </TableCell>;\n }\n }\n\n renderCellWithSubField(item, col) {\n const main = getAttr(item, col.field, col.lookup);\n const sub = getAttr(item, col.subField, col.subLookup);\n return <div>\n <div className={this.props.classes.mainText}>{main}</div>\n <div className={this.props.classes.subText} style={col.subStyle || {}}>{sub}</div>\n </div>;\n }\n\n renderLine(item, level) {\n const levelShift = this.props.levelShift === undefined ? 24 : this.props.levelShift;\n\n level = level || 0;\n const i = this.props.data.indexOf(item);\n if (!item) {\n return null;\n }\n if (!level && item.parentId) {\n return null;\n } else if (level && !item.parentId) {\n return null; // should never happen\n } else {\n // try to find children\n const opened = this.state.opened.includes(item.id);\n const children = this.props.data.filter(it => it.parentId === item.id);\n\n return [\n <TableRow\n key={item.id}\n className={Utils.clsx(\n 'table-row-' + (item.id || '').toString().replace(/[.$]/g, '_'),\n this.state.update && this.state.update.includes(item.id) && this.props.classes.glow,\n this.props.classes.row,\n level && this.props.classes.rowSecondary,\n !level && children.length && this.props.classes.rowMainWithChildren,\n !level && !children.length && this.props.classes.rowMainWithoutChildren,\n this.state.editMode !== false && this.state.editMode !== i && this.props.classes.rowNoEdit,\n this.state.deleteMode !== false && this.state.deleteMode !== i && this.props.classes.rowNoEdit,\n )}\n >\n <TableCell className={Utils.clsx(this.props.classes.cell, this.props.classes.cellExpand, level && this.props.classes.cellSecondary)}>\n {children.length ? <IconButton\n onClick={() => {\n const opened = [...this.state.opened];\n const pos = opened.indexOf(item.id);\n if (pos === -1) {\n opened.push(item.id);\n opened.sort();\n } else {\n opened.splice(pos, 1);\n }\n\n window.localStorage.setItem(this.props.name || 'iob-table', JSON.stringify(opened));\n\n this.setState({opened});\n }}\n size=\"small\">\n {opened ? <IconCollapse/> : <IconExpand/>}\n </IconButton> : null}\n </TableCell>\n <TableCell\n scope=\"row\"\n className={Utils.clsx(this.props.classes.cell, level && this.props.classes.cellSecondary)}\n style={Object.assign({}, this.props.columns[0].cellStyle, {paddingLeft: levelShift * level})}\n >\n {this.props.columns[0].subField ?\n this.renderCellWithSubField(item, this.props.columns[0])\n :\n getAttr(item, this.props.columns[0].field, this.props.columns[0].lookup)\n }\n </TableCell>\n\n {this.props.columns.map((col, ii) =>\n !ii && !col.hidden ? null : this.renderCell(item, col, level, i))}\n\n {this.props.onUpdate ? <TableCell className={Utils.clsx(this.props.classes.cell, this.props.classes.cellButton)}>\n {this.state.editMode === i || this.state.deleteMode === i ?\n <IconButton\n disabled={this.state.editMode !== false && (!this.state.editData || !Object.keys(this.state.editData).length)}\n onClick={() => {\n if (this.state.editMode !== false) {\n const newData = JSON.parse(JSON.stringify(item));\n Object.keys(this.state.editData).forEach(attr => setAttr(newData, attr, this.state.editData[attr]));\n this.setState({editMode: false}, () => this.props.onUpdate(newData, item))\n } else {\n this.setState({deleteMode: false}, () => this.props.onDelete(item))\n }\n }}\n size=\"large\">\n <IconCheck/>\n </IconButton>\n :\n <IconButton\n disabled={this.state.editMode !== false}\n onClick={() => this.setState({editMode: i, editData: null})}\n size=\"large\">\n <IconEdit/>\n </IconButton>}\n </TableCell> : null}\n {this.props.onUpdate || this.props.onDelete ? <TableCell className={Utils.clsx(this.props.classes.cell, this.props.classes.cellButton)}>\n {this.state.editMode === i || this.state.deleteMode === i ?\n <IconButton\n onClick={() => this.setState({editMode: false, deleteMode: false})}\n size=\"large\">\n <IconClose/>\n </IconButton>\n :\n (this.props.onDelete ? <IconButton\n disabled={this.state.deleteMode !== false}\n onClick={() => this.setState({deleteMode: i})}\n size=\"large\">\n <IconDelete/>\n </IconButton> : null)\n }\n </TableCell> : null}\n </TableRow>,\n !level && opened ? children.map(item => this.renderLine(item, level + 1)) : null,\n ];\n }\n }\n\n handleRequestSort(property) {\n const isAsc = this.state.orderBy === property && this.state.order === 'asc';\n this.setState({order: isAsc ? 'desc' : 'asc', orderBy: property});\n }\n\n renderHead() {\n return <TableHead>\n <TableRow key=\"headerRow\">\n <TableCell\n component=\"th\"\n className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes.cellExpand)}\n />\n <TableCell\n component=\"th\"\n className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes['width_' + this.props.columns[0].field.replace(/\\./g, '_')])}\n style={this.props.columns[0].headerStyle || this.props.columns[0].cellStyle}\n sortDirection={this.props.noSort ? false : (this.state.orderBy === this.props.columns[0].field ? this.state.order : false)}\n >\n {this.props.noSort ? null : <TableSortLabel\n active={this.state.orderBy === this.props.columns[0].field}\n direction={this.state.orderBy === this.props.columns[0].field ? this.state.order : 'asc'}\n onClick={() => this.handleRequestSort(this.props.columns[0].field)}\n >\n {this.props.columns[0].title || this.props.columns[0].field}\n {this.state.orderBy === this.props.columns[0].field ?\n <span className={this.props.classes.visuallyHidden}>\n {this.state.order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n </span> : null}\n </TableSortLabel>}\n </TableCell>\n {this.props.columns.map((col, i) =>\n !i && !col.hidden ? null : <TableCell\n key={col.field}\n className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes['width_' + col.field.replace(/\\./g, '_')])}\n style={col.headerStyle || col.cellStyle}\n component=\"th\"\n >\n {this.props.noSort ? null : <TableSortLabel\n active={this.state.orderBy === col.field}\n direction={this.state.orderBy === col.field ? this.state.order : 'asc'}\n onClick={() => this.handleRequestSort(col.field)}\n >\n {col.title || col.field}\n {this.state.orderBy === col.field ?\n <span className={this.props.classes.visuallyHidden}>\n {this.state.order === 'desc' ? 'sorted descending' : 'sorted ascending'}\n </span> : null}\n </TableSortLabel> }\n </TableCell>)}\n {this.props.onUpdate ? <TableCell component=\"th\" className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes.cellButton)}>\n {!this.props.noAdd ? <Fab\n color=\"primary\"\n size=\"small\"\n disabled={this.state.editMode !== false}\n onClick={() => this.props.onUpdate(true)}>\n <IconAdd/>\n </Fab>: null }\n </TableCell> : null}\n {this.props.onDelete || this.props.onUpdate ? <TableCell component=\"th\" className={Utils.clsx(this.props.classes.cell, this.props.classes.cellHeader, this.props.classes.cellButton)}/> : null}\n </TableRow>\n </TableHead>;\n }\n\n render() {\n const lookup = this.props.columns.find(col => col.field === this.state.orderBy).lookup;\n const table = stableSort(this.props.data, getComparator(this.state.order, this.state.orderBy, lookup));\n\n if (this.state.update && this.state.update.length) {\n this.updateTimeout && clearTimeout(this.updateTimeout);\n this.updateTimeout = setTimeout(() => {\n this.updateTimeout = null;\n this.setState({update: null});\n }, 500);\n }\n\n return <div className={Utils.clsx(this.props.classes.tableContainer, this.props.className)}>\n <Table className={this.props.classes.table} aria-label=\"simple table\" size=\"small\" stickyHeader={true}>\n {this.renderHead()}\n <TableBody>\n {table.map(item => this.renderLine(item))}\n </TableBody>\n </Table>\n {this.renderSelectIdDialog()}\n {this.renderSelectColorDialog()}\n </div>;\n }\n}\n/*\nconst columns = [\n {\n title: 'Name of field', // required, else it will be \"field\"\n field: 'fieldIdInData', // required\n editable: false, // or true [default - true]\n cellStyle: { // CSS style - // optional\n maxWidth: '12rem',\n overflow: 'hidden',\n wordBreak: 'break-word'\n },\n lookup: { // optional => edit will be automatically \"SELECT\"\n 'value1': 'text1',\n 'value2': 'text2',\n }\n },\n {\n title: 'Type', // required, else it will be \"field\"\n field: 'myType', // required\n editable: true, // or true [default - true]\n lookup: { // optional => edit will be automatically \"SELECT\"\n 'number': 'Number',\n 'string': 'String',\n 'boolean': 'Boolean',\n },\n type: 'number/string/color/oid/icon/boolean', // oid=ObjectID,icon=base64-icon\n editComponent: props =>\n <div>Prefix&#123; <br/>\n <textarea\n rows={4}\n style={{width: '100%', resize: 'vertical'}}\n value={props.value}\n onChange={e => props.onChange(e.target.value)}\n />\n Suffix\n </div>,\n },\n];\n*/\n/* const data = [\n {\n id: 'UniqueID1' // required\n fieldIdInData: 'Name1',\n myType: 'number',\n },\n {\n id: 'UniqueID2' // required\n fieldIdInData: 'Name12',\n myType: 'string',\n },\n];\n */\n\n/*\n// STYLES\nconst styles = theme => ({\n tableDiv: {\n width: '100%',\n overflow: 'hidden',\n height: 'calc(100% - 48px)',\n },\n});\n// renderTable\nrenderTable() {\n return <div className={this.props.classes.tableDiv}>\n <TreeTable\n columns={this.columns}\n data={lines}\n onUpdate={(newData, oldData) => console.log('Update: ' + JSON.stringify(newData))}\n onDelete={oldData => console.log('Delete: ' + JSON.stringify(oldData))}\n />\n </div>;\n}\n */\n\nTreeTable.propTypes = {\n data: PropTypes.array.isRequired,\n className: PropTypes.string,\n loading: PropTypes.bool,\n name: PropTypes.string, // name of table to save settings in localStorage\n columns: PropTypes.arrayOf(\n PropTypes.shape({\n cellStyle: PropTypes.object,\n editComponent: PropTypes.func,\n field: PropTypes.string,\n headerStyle: PropTypes.object,\n hidden: PropTypes.bool,\n lookup: PropTypes.object,\n editable: PropTypes.bool,\n title: PropTypes.string,\n type: PropTypes.oneOf([\n 'string',\n 'boolean',\n 'numeric',\n 'icon', // todo: not yet implemented\n 'oid',\n 'color',\n ]),\n })\n ).isRequired,\n noSort: PropTypes.bool,\n onUpdate: PropTypes.func,\n onDelete: PropTypes.func,\n noAdd: PropTypes.bool, // hide add button\n themeType: PropTypes.string,\n glowOnChange: PropTypes.bool,\n socket: PropTypes.object, // only if oid type is used\n levelShift: PropTypes.number, // Shift in pixels for every level\n};\n\nexport default withStyles(styles)(TreeTable);"],"mappings":"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"}