@iobroker/adapter-react-v5 2.1.9 → 3.0.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 (138) hide show
  1. package/Components/404.js.map +1 -1
  2. package/Components/ColorPicker.js.map +1 -1
  3. package/Components/ComplexCron.js.map +1 -1
  4. package/Components/FileBrowser.js +248 -222
  5. package/Components/FileBrowser.js.map +1 -1
  6. package/Components/FileViewer.js +219 -75
  7. package/Components/FileViewer.js.map +1 -1
  8. package/Components/Icon.js.map +1 -1
  9. package/Components/IconPicker.js.map +1 -1
  10. package/Components/IconSelector.js.map +1 -1
  11. package/Components/Image.js.map +1 -1
  12. package/Components/JsonConfigComponent/ChipInput.js +925 -0
  13. package/Components/JsonConfigComponent/ChipInput.js.map +1 -0
  14. package/Components/JsonConfigComponent/ConfigAlive.js +135 -0
  15. package/Components/JsonConfigComponent/ConfigAlive.js.map +1 -0
  16. package/Components/JsonConfigComponent/ConfigAutocomplete.js +204 -0
  17. package/Components/JsonConfigComponent/ConfigAutocomplete.js.map +1 -0
  18. package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js +311 -0
  19. package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js.map +1 -0
  20. package/Components/JsonConfigComponent/ConfigCRON.js +195 -0
  21. package/Components/JsonConfigComponent/ConfigCRON.js.map +1 -0
  22. package/Components/JsonConfigComponent/ConfigCertificateSelect.js +178 -0
  23. package/Components/JsonConfigComponent/ConfigCertificateSelect.js.map +1 -0
  24. package/Components/JsonConfigComponent/ConfigCheckbox.js +112 -0
  25. package/Components/JsonConfigComponent/ConfigCheckbox.js.map +1 -0
  26. package/Components/JsonConfigComponent/ConfigChip.js +149 -0
  27. package/Components/JsonConfigComponent/ConfigChip.js.map +1 -0
  28. package/Components/JsonConfigComponent/ConfigColor.js +156 -0
  29. package/Components/JsonConfigComponent/ConfigColor.js.map +1 -0
  30. package/Components/JsonConfigComponent/ConfigCoordinates.js +165 -0
  31. package/Components/JsonConfigComponent/ConfigCoordinates.js.map +1 -0
  32. package/Components/JsonConfigComponent/ConfigCustomEasyAccess.js +180 -0
  33. package/Components/JsonConfigComponent/ConfigCustomEasyAccess.js.map +1 -0
  34. package/Components/JsonConfigComponent/ConfigDatePicker.js +117 -0
  35. package/Components/JsonConfigComponent/ConfigDatePicker.js.map +1 -0
  36. package/Components/JsonConfigComponent/ConfigGeneric.js +660 -0
  37. package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -0
  38. package/Components/JsonConfigComponent/ConfigIP.js +151 -0
  39. package/Components/JsonConfigComponent/ConfigIP.js.map +1 -0
  40. package/Components/JsonConfigComponent/ConfigImageUpload.js +215 -0
  41. package/Components/JsonConfigComponent/ConfigImageUpload.js.map +1 -0
  42. package/Components/JsonConfigComponent/ConfigInstanceSelect.js +197 -0
  43. package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -0
  44. package/Components/JsonConfigComponent/ConfigJsonEditor.js +211 -0
  45. package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +1 -0
  46. package/Components/JsonConfigComponent/ConfigLanguage.js +175 -0
  47. package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -0
  48. package/Components/JsonConfigComponent/ConfigNumber.js +194 -0
  49. package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -0
  50. package/Components/JsonConfigComponent/ConfigObjectId.js +201 -0
  51. package/Components/JsonConfigComponent/ConfigObjectId.js.map +1 -0
  52. package/Components/JsonConfigComponent/ConfigPanel.js +421 -0
  53. package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -0
  54. package/Components/JsonConfigComponent/ConfigPassword.js +236 -0
  55. package/Components/JsonConfigComponent/ConfigPassword.js.map +1 -0
  56. package/Components/JsonConfigComponent/ConfigPattern.js +94 -0
  57. package/Components/JsonConfigComponent/ConfigPattern.js.map +1 -0
  58. package/Components/JsonConfigComponent/ConfigSelect.js +163 -0
  59. package/Components/JsonConfigComponent/ConfigSelect.js.map +1 -0
  60. package/Components/JsonConfigComponent/ConfigSelectSendTo.js +258 -0
  61. package/Components/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -0
  62. package/Components/JsonConfigComponent/ConfigSendto.js +282 -0
  63. package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -0
  64. package/Components/JsonConfigComponent/ConfigSetState.js +266 -0
  65. package/Components/JsonConfigComponent/ConfigSetState.js.map +1 -0
  66. package/Components/JsonConfigComponent/ConfigStaticDivider.js +88 -0
  67. package/Components/JsonConfigComponent/ConfigStaticDivider.js.map +1 -0
  68. package/Components/JsonConfigComponent/ConfigStaticHeader.js +81 -0
  69. package/Components/JsonConfigComponent/ConfigStaticHeader.js.map +1 -0
  70. package/Components/JsonConfigComponent/ConfigStaticImage.js +88 -0
  71. package/Components/JsonConfigComponent/ConfigStaticImage.js.map +1 -0
  72. package/Components/JsonConfigComponent/ConfigStaticText.js +104 -0
  73. package/Components/JsonConfigComponent/ConfigStaticText.js.map +1 -0
  74. package/Components/JsonConfigComponent/ConfigTable.js +651 -0
  75. package/Components/JsonConfigComponent/ConfigTable.js.map +1 -0
  76. package/Components/JsonConfigComponent/ConfigTabs.js +166 -0
  77. package/Components/JsonConfigComponent/ConfigTabs.js.map +1 -0
  78. package/Components/JsonConfigComponent/ConfigText.js +170 -0
  79. package/Components/JsonConfigComponent/ConfigText.js.map +1 -0
  80. package/Components/JsonConfigComponent/ConfigTextSendTo.js +168 -0
  81. package/Components/JsonConfigComponent/ConfigTextSendTo.js.map +1 -0
  82. package/Components/JsonConfigComponent/ConfigTimePicker.js +111 -0
  83. package/Components/JsonConfigComponent/ConfigTimePicker.js.map +1 -0
  84. package/Components/JsonConfigComponent/ConfigTopic.js +140 -0
  85. package/Components/JsonConfigComponent/ConfigTopic.js.map +1 -0
  86. package/Components/JsonConfigComponent/ConfigUser.js +176 -0
  87. package/Components/JsonConfigComponent/ConfigUser.js.map +1 -0
  88. package/Components/JsonConfigComponent/index.js +511 -0
  89. package/Components/JsonConfigComponent/index.js.map +1 -0
  90. package/Components/Loader.js.map +1 -1
  91. package/Components/Loaders/PT.js.map +1 -1
  92. package/Components/Loaders/Vendor.js.map +1 -1
  93. package/Components/Logo.js.map +1 -1
  94. package/Components/MDUtils.js.map +1 -1
  95. package/Components/ObjectBrowser.js +24 -42
  96. package/Components/ObjectBrowser.js.map +1 -1
  97. package/Components/Router.js.map +1 -1
  98. package/Components/SaveCloseButtons.js.map +1 -1
  99. package/Components/Schedule.js.map +1 -1
  100. package/Components/SelectWithIcon.js.map +1 -1
  101. package/Components/SimpleCron/cronText.js.map +1 -1
  102. package/Components/SimpleCron/index.js.map +1 -1
  103. package/Components/TabContainer.js.map +1 -1
  104. package/Components/TabContent.js.map +1 -1
  105. package/Components/TabHeader.js.map +1 -1
  106. package/Components/TextWithIcon.js.map +1 -1
  107. package/Components/TreeTable.js.map +1 -1
  108. package/Components/Utils.js +25 -0
  109. package/Components/Utils.js.map +1 -1
  110. package/Components/withWidth.js +42 -0
  111. package/Components/withWidth.js.map +1 -0
  112. package/Connection.js.map +1 -1
  113. package/Dialogs/ComplexCron.js.map +1 -1
  114. package/Dialogs/Confirm.js.map +1 -1
  115. package/Dialogs/Cron.js.map +1 -1
  116. package/Dialogs/Error.js.map +1 -1
  117. package/Dialogs/Message.js.map +1 -1
  118. package/Dialogs/SelectID.js.map +1 -1
  119. package/Dialogs/SimpleCron.js.map +1 -1
  120. package/Dialogs/TextInput.js.map +1 -1
  121. package/GenericApp.js.map +1 -1
  122. package/README.md +11 -1
  123. package/Theme.js.map +1 -1
  124. package/icons/IconAdapter.js.map +1 -1
  125. package/icons/IconAlias.js.map +1 -1
  126. package/icons/IconChannel.js.map +1 -1
  127. package/icons/IconClearFilter.js.map +1 -1
  128. package/icons/IconClosed.js.map +1 -1
  129. package/icons/IconCopy.js.map +1 -1
  130. package/icons/IconDevice.js.map +1 -1
  131. package/icons/IconDocument.js.map +1 -1
  132. package/icons/IconExpert.js.map +1 -1
  133. package/icons/IconFx.js.map +1 -1
  134. package/icons/IconInstance.js.map +1 -1
  135. package/icons/IconLogout.js.map +1 -1
  136. package/icons/IconOpen.js.map +1 -1
  137. package/icons/IconState.js.map +1 -1
  138. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"404.js","names":["styles","theme","content","Object","assign","background","position","top","bottom","left","right","root","boxSizing","height","width","backgroundColor","backgroundImage","fontFamily","fontSize","color","textShadow","overlay","pointerEvents","backgroundSize","zIndex","display","backgroundRepeat","animation","terminal","maxWidth","padding","textTransform","output","errorCode","Page404","props","classes","I18n","t","Component","propTypes","language","PropTypes","string","onNavigate","func","mobile","bool"],"sources":["404.js"],"sourcesContent":["import React, {Component} from 'react';\nimport withStyles from '@mui/styles/withStyles';\nimport PropTypes from 'prop-types';\n\n/*\nCopyright 2019 Robin Selmer\nhttps://codepen.io/robinselmer/pen/vJjbOZ\n*/\n\nimport I18n from '../i18n';\n\nconst styles = theme => ({\n content: Object.assign({background: 'black', position: 'absolute', top: 0, bottom: 0, left: 0, right: 0}, theme.content),\n root: {\n boxSizing: 'border-box',\n height: '100%',\n width: '100%',\n backgroundColor: '#000000',\n backgroundImage: 'radial-gradient(#104254 , #05181c)',\n fontFamily: \"'Inconsolata', Helvetica, sans-serif\",\n fontSize: '1.5rem',\n color: 'rgba(128, 175, 255, 0.8)',\n textShadow:\n `0 0 1ex rgba(51, 70, 255, 1),\n 0 0 2px rgba(255, 255, 255, 0.8)`\n },\n overlay: {\n pointerEvents: 'none',\n width: '100%',\n height: '100%',\n background:\n `repeating-linear-gradient(\n 180deg,\n rgba(0, 0, 0, 0) 0,\n rgba(0, 0, 0, 0.3) 50%,\n rgba(0, 0, 0, 0) 100%)`,\n backgroundSize: 'auto 4px',\n zIndex: 99,\n '&::before': {\n content: '\"\"',\n pointerEvents: 'none',\n position: 'absolute',\n display: 'block',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n width: '100%',\n height: '100%',\n backgroundImage: `linear-gradient(\n 0deg,\n transparent 0%,\n rgba(32, 50, 128, 0.2) 2%,\n rgba(32, 50, 128, 0.8) 3%,\n rgba(32, 50, 128, 0.2) 3%,\n transparent 100%)`,\n backgroundRepeat: 'no-repeat',\n animation: 'scan 7.5s linear 0s infinite',\n }\n },\n\n terminal: {\n boxSizing: 'inherit',\n position: 'absolute',\n height: '100%',\n width: 'calc(100% - 8rem)',\n maxWidth: '100%',\n padding: '4rem',\n textTransform: 'uppercase',\n },\n output: {\n color: 'rgba(128, 175, 255, 0.8)',\n textShadow: `\n 0 0 1px rgba(51, 70, 255, 0.4),\n 0 0 2px rgba(255, 255, 255, 0.8)`,\n '&::before': {\n content: '\"> \"'\n }\n },\n errorCode: {\n color: 'white'\n }\n});\n\nclass Page404 extends Component {\n render() {\n return <div className={this.props.classes.content}>\n <div className={this.props.classes.root}>\n <div className={this.props.classes.overlay}>\n <div className={this.props.classes.terminal}>\n <h1>{I18n.t('ra_Error')}<span className={this.props.classes.errorCode}>404</span></h1>\n <p className={this.props.classes.output}>\n {I18n.t('ra_The page you are looking for was not found')}</p>\n <p className={this.props.classes.output}>{I18n.t('ra_Good luck')}</p>\n </div>\n </div>\n </div>\n </div>;\n }\n}\n\nPage404.propTypes = {\n language: PropTypes.string,\n onNavigate: PropTypes.func,\n theme: PropTypes.string,\n mobile: PropTypes.bool\n};\n\nexport default withStyles(styles)(Page404);\n"],"mappings":"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"}
1
+ {"version":3,"file":"404.js","names":["styles","theme","content","Object","assign","background","position","top","bottom","left","right","root","boxSizing","height","width","backgroundColor","backgroundImage","fontFamily","fontSize","color","textShadow","overlay","pointerEvents","backgroundSize","zIndex","display","backgroundRepeat","animation","terminal","maxWidth","padding","textTransform","output","errorCode","Page404","props","classes","I18n","t","Component","propTypes","language","PropTypes","string","onNavigate","func","mobile","bool","withStyles"],"sources":["404.js"],"sourcesContent":["import React, {Component} from 'react';\nimport withStyles from '@mui/styles/withStyles';\nimport PropTypes from 'prop-types';\n\n/*\nCopyright 2019 Robin Selmer\nhttps://codepen.io/robinselmer/pen/vJjbOZ\n*/\n\nimport I18n from '../i18n';\n\nconst styles = theme => ({\n content: Object.assign({background: 'black', position: 'absolute', top: 0, bottom: 0, left: 0, right: 0}, theme.content),\n root: {\n boxSizing: 'border-box',\n height: '100%',\n width: '100%',\n backgroundColor: '#000000',\n backgroundImage: 'radial-gradient(#104254 , #05181c)',\n fontFamily: \"'Inconsolata', Helvetica, sans-serif\",\n fontSize: '1.5rem',\n color: 'rgba(128, 175, 255, 0.8)',\n textShadow:\n `0 0 1ex rgba(51, 70, 255, 1),\n 0 0 2px rgba(255, 255, 255, 0.8)`\n },\n overlay: {\n pointerEvents: 'none',\n width: '100%',\n height: '100%',\n background:\n `repeating-linear-gradient(\n 180deg,\n rgba(0, 0, 0, 0) 0,\n rgba(0, 0, 0, 0.3) 50%,\n rgba(0, 0, 0, 0) 100%)`,\n backgroundSize: 'auto 4px',\n zIndex: 99,\n '&::before': {\n content: '\"\"',\n pointerEvents: 'none',\n position: 'absolute',\n display: 'block',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n width: '100%',\n height: '100%',\n backgroundImage: `linear-gradient(\n 0deg,\n transparent 0%,\n rgba(32, 50, 128, 0.2) 2%,\n rgba(32, 50, 128, 0.8) 3%,\n rgba(32, 50, 128, 0.2) 3%,\n transparent 100%)`,\n backgroundRepeat: 'no-repeat',\n animation: 'scan 7.5s linear 0s infinite',\n }\n },\n\n terminal: {\n boxSizing: 'inherit',\n position: 'absolute',\n height: '100%',\n width: 'calc(100% - 8rem)',\n maxWidth: '100%',\n padding: '4rem',\n textTransform: 'uppercase',\n },\n output: {\n color: 'rgba(128, 175, 255, 0.8)',\n textShadow: `\n 0 0 1px rgba(51, 70, 255, 0.4),\n 0 0 2px rgba(255, 255, 255, 0.8)`,\n '&::before': {\n content: '\"> \"'\n }\n },\n errorCode: {\n color: 'white'\n }\n});\n\nclass Page404 extends Component {\n render() {\n return <div className={this.props.classes.content}>\n <div className={this.props.classes.root}>\n <div className={this.props.classes.overlay}>\n <div className={this.props.classes.terminal}>\n <h1>{I18n.t('ra_Error')}<span className={this.props.classes.errorCode}>404</span></h1>\n <p className={this.props.classes.output}>\n {I18n.t('ra_The page you are looking for was not found')}</p>\n <p className={this.props.classes.output}>{I18n.t('ra_Good luck')}</p>\n </div>\n </div>\n </div>\n </div>;\n }\n}\n\nPage404.propTypes = {\n language: PropTypes.string,\n onNavigate: PropTypes.func,\n theme: PropTypes.string,\n mobile: PropTypes.bool\n};\n\nexport default withStyles(styles)(Page404);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPicker.js","names":["styles","theme","color","width","height","borderRadius","delButton","marginTop","swatch","padding","background","boxShadow","display","cursor","verticalAlign","swatchDisabled","opacity","popover","position","zIndex","cover","top","right","bottom","left","textDense","marginBottom","ColorPicker","props","setState","displayColorPicker","state","onChange","getColor","value","style","openAbove","Object","assign","className","disabled","marginRight","name","root","classes","e","handleChange","target","handleClick","handleClose","pColor","sColor","isHex","rgb","r","toString","padStart","g","b","a","rgb2hex","m","match","length","parseInt","React","Component","propTypes","PropTypes","bool","string","func","isRequired","object","_export"],"sources":["ColorPicker.js"],"sourcesContent":["/**\n * Copyright 2018-2022 bluefox <dogafox@gmail.com>\n *\n * Licensed under the Creative Commons Attribution-NonCommercial License, Version 4.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://creativecommons.org/licenses/by-nc/4.0/legalcode.txt\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\nimport React from 'react';\nimport {ChromePicker} from 'react-color';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport TextField from '@mui/material/TextField';\nimport IconButton from '@mui/material/IconButton';\nimport IconDelete from '@mui/icons-material/Delete';\n\nconst styles = theme => ({\n color: {\n width: 36,\n height: 14,\n borderRadius: 2,\n },\n delButton: {\n //width: 32,\n //height: 32,\n marginTop: 16,\n },\n swatch: {\n marginTop: 16,\n padding: 5,\n background: '#fff',\n borderRadius: 1,\n boxShadow: '0 0 0 1px rgba(0,0,0,.1)',\n display: 'inline-block',\n cursor: 'pointer',\n verticalAlign: 'middle',\n },\n swatchDisabled: {\n opacity: 0.5,\n cursor: 'default'\n },\n popover: {\n position: 'absolute',\n zIndex: 2,\n },\n cover: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n },\n textDense: {\n marginTop: 0,\n marginBottom: 0,\n }\n});\n\n/**\n * @typedef {object} Rgb\n * @property {number} r The red component of the color (0-255).\n * @property {number} g The green component of the color (0-255).\n * @property {number} b The blue component of the color (0-255).\n * @property {number} a The alpha component of the color (0-255).\n *\n * @typedef {string | Rgb | { rgb: Rgb }} Color Definition of a color.\n *\n * @typedef {object} ColorPickerProps\n * @property {boolean} [disabled] Set to true to disable the color picker.\n * @property {Color} [value] The currently selected color.\n * @property {(rgba: string) => void} [onChange] The color change callback.\n * @property {string} [name] The name.\n * @property {React.CSSProperties} [style] Additional styling for this component.\n * @property {string} [className] The CSS class name.\n * @property {boolean} [openAbove] Open the color picker above the field?\n *\n * @extends {React.Component<ColorPickerProps>}\n */\nclass ColorPicker extends React.Component {\n /**\n * @param {Readonly<ColorPickerProps>} props\n */\n constructor(props) {\n super(props);\n this.state = {\n displayColorPicker: false,\n color: this.props.value || this.props.color,\n };\n }\n\n /**\n * Get the state derived from the given properties and state.\n * @param {{ color: Color; }} props\n * @param {{ color: Color; }} state\n */\n static getDerivedStateFromProps(props, state) {\n const pColor = ColorPicker.getColor(props.value || props.color);\n const sColor = ColorPicker.getColor(state.color);\n if (pColor !== sColor) {\n return {color: props.value || props.color}\n } else {\n return null;\n }\n }\n\n /**\n * @private\n */\n handleClick = () => {\n this.setState({displayColorPicker: !this.state.displayColorPicker});\n };\n\n /**\n * @private\n */\n handleClose = () => {\n this.setState({displayColorPicker: false});\n };\n\n /**\n * Convert the given color to hex ('#rrggbb') or rgba ('rgba(r,g,b,a)') format.\n * @param {Color} [color]\n * @param {boolean} [isHex] The returning string should be in hex format\n * @returns {string} the hex or rgba representation of the given color.\n */\n static getColor(color, isHex) {\n if (color && typeof color === 'object') {\n if (color.rgb) {\n if (isHex) {\n return '#' + color.rgb.r.toString(16).padStart(2, '0') + color.rgb.g.toString(16).padStart(2, '0') + color.rgb.b.toString(16).padStart(2, '0');\n } else {\n return 'rgba(' + color.rgb.r + ',' + color.rgb.g + ',' + color.rgb.b + ',' + color.rgb.a + ')';\n }\n } else {\n if (isHex) {\n return '#' + color.r.toString(16).padStart(2, '0') + color.g.toString(16).padStart(2, '0') + color.b.toString(16).padStart(2, '0');\n } else {\n return 'rgba(' + color.r + ',' + color.g + ',' + color.b + ',' + color.a + ')';\n }\n }\n } else {\n return isHex ? ColorPicker.rgb2hex(color || '') : color || '';\n }\n }\n\n /**\n * Convert rgb() or rgba() format to hex format #rrggbb.\n * @param {string} rgb\n * @returns {string}\n */\n static rgb2hex(rgb){\n const m = rgb.match(/^rgba?[\\s+]?\\([\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?/i);\n\n return m && m.length === 4 ? '#' +\n parseInt(m[1],10).toString(16).padStart(2, '0') +\n parseInt(m[2],10).toString(16).padStart(2, '0') +\n parseInt(m[3],10).toString(16).padStart(2, '0') : rgb;\n }\n\n /**\n * @private\n */\n handleChange = color => {\n this.setState({color});\n this.props.onChange && this.props.onChange(ColorPicker.getColor(color));\n };\n\n render() {\n const color = ColorPicker.getColor(this.state.color);\n let style = {};\n\n if (this.state.displayColorPicker && this.props.openAbove) {\n style = {\n top: -241,\n };\n }\n\n return <div\n style={Object.assign({}, this.props.style || {}, {position: 'relative'})}\n className={ this.props.className || ''}\n >\n <TextField\n disabled={this.props.disabled}\n variant=\"standard\"\n id=\"name\"\n style={color ? {width: 'calc(100% - 80px)'} : {width: 'calc(100% - 54px)', marginRight: 8}}\n label={this.props.name || 'color'}\n value={color}\n margin=\"dense\"\n classes={{root: this.props.classes.textDense}}\n onChange={e => this.handleChange(e.target.value)}\n />\n {color ? <IconButton\n disabled={this.props.disabled}\n onClick={() => this.handleChange('')}\n size=\"small\"\n className={this.props.classes.delButton}\n style={color ? {} : {opacity: 0, cursor: 'default'}}\n ><IconDelete/></IconButton> : null}\n <div className={`${this.props.classes.swatch}${this.props.disabled ? ' ' + this.props.classes.swatchDisabled : ''}`} onClick={() => !this.props.disabled && this.handleClick()}>\n <div className={this.props.classes.color} style={{background: color}} />\n </div>\n { this.state.displayColorPicker && !this.props.disabled ? <div className={this.props.classes.popover} style={style}>\n <div className={this.props.classes.cover} onClick={() => this.handleClose()}/>\n <ChromePicker color={ this.state.color } onChangeComplete={color => this.handleChange(color)} />\n </div> : null }\n </div>;\n }\n}\n\nColorPicker.propTypes = {\n disabled: PropTypes.bool,\n value: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n name: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n openAbove: PropTypes.bool,\n};\n\n/** @type {typeof ColorPicker} */\nconst _export = withStyles(styles)(ColorPicker);\nexport default _export;"],"mappings":"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"}
1
+ {"version":3,"file":"ColorPicker.js","names":["styles","theme","color","width","height","borderRadius","delButton","marginTop","swatch","padding","background","boxShadow","display","cursor","verticalAlign","swatchDisabled","opacity","popover","position","zIndex","cover","top","right","bottom","left","textDense","marginBottom","ColorPicker","props","setState","displayColorPicker","state","onChange","getColor","value","style","openAbove","Object","assign","className","disabled","marginRight","name","root","classes","e","handleChange","target","handleClick","handleClose","pColor","sColor","isHex","rgb","r","toString","padStart","g","b","a","rgb2hex","m","match","length","parseInt","React","Component","propTypes","PropTypes","bool","string","func","isRequired","object","_export","withStyles"],"sources":["ColorPicker.js"],"sourcesContent":["/**\n * Copyright 2018-2022 bluefox <dogafox@gmail.com>\n *\n * Licensed under the Creative Commons Attribution-NonCommercial License, Version 4.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://creativecommons.org/licenses/by-nc/4.0/legalcode.txt\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n **/\nimport React from 'react';\nimport {ChromePicker} from 'react-color';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport TextField from '@mui/material/TextField';\nimport IconButton from '@mui/material/IconButton';\nimport IconDelete from '@mui/icons-material/Delete';\n\nconst styles = theme => ({\n color: {\n width: 36,\n height: 14,\n borderRadius: 2,\n },\n delButton: {\n //width: 32,\n //height: 32,\n marginTop: 16,\n },\n swatch: {\n marginTop: 16,\n padding: 5,\n background: '#fff',\n borderRadius: 1,\n boxShadow: '0 0 0 1px rgba(0,0,0,.1)',\n display: 'inline-block',\n cursor: 'pointer',\n verticalAlign: 'middle',\n },\n swatchDisabled: {\n opacity: 0.5,\n cursor: 'default'\n },\n popover: {\n position: 'absolute',\n zIndex: 2,\n },\n cover: {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n },\n textDense: {\n marginTop: 0,\n marginBottom: 0,\n }\n});\n\n/**\n * @typedef {object} Rgb\n * @property {number} r The red component of the color (0-255).\n * @property {number} g The green component of the color (0-255).\n * @property {number} b The blue component of the color (0-255).\n * @property {number} a The alpha component of the color (0-255).\n *\n * @typedef {string | Rgb | { rgb: Rgb }} Color Definition of a color.\n *\n * @typedef {object} ColorPickerProps\n * @property {boolean} [disabled] Set to true to disable the color picker.\n * @property {Color} [value] The currently selected color.\n * @property {(rgba: string) => void} [onChange] The color change callback.\n * @property {string} [name] The name.\n * @property {React.CSSProperties} [style] Additional styling for this component.\n * @property {string} [className] The CSS class name.\n * @property {boolean} [openAbove] Open the color picker above the field?\n *\n * @extends {React.Component<ColorPickerProps>}\n */\nclass ColorPicker extends React.Component {\n /**\n * @param {Readonly<ColorPickerProps>} props\n */\n constructor(props) {\n super(props);\n this.state = {\n displayColorPicker: false,\n color: this.props.value || this.props.color,\n };\n }\n\n /**\n * Get the state derived from the given properties and state.\n * @param {{ color: Color; }} props\n * @param {{ color: Color; }} state\n */\n static getDerivedStateFromProps(props, state) {\n const pColor = ColorPicker.getColor(props.value || props.color);\n const sColor = ColorPicker.getColor(state.color);\n if (pColor !== sColor) {\n return {color: props.value || props.color}\n } else {\n return null;\n }\n }\n\n /**\n * @private\n */\n handleClick = () => {\n this.setState({displayColorPicker: !this.state.displayColorPicker});\n };\n\n /**\n * @private\n */\n handleClose = () => {\n this.setState({displayColorPicker: false});\n };\n\n /**\n * Convert the given color to hex ('#rrggbb') or rgba ('rgba(r,g,b,a)') format.\n * @param {Color} [color]\n * @param {boolean} [isHex] The returning string should be in hex format\n * @returns {string} the hex or rgba representation of the given color.\n */\n static getColor(color, isHex) {\n if (color && typeof color === 'object') {\n if (color.rgb) {\n if (isHex) {\n return '#' + color.rgb.r.toString(16).padStart(2, '0') + color.rgb.g.toString(16).padStart(2, '0') + color.rgb.b.toString(16).padStart(2, '0');\n } else {\n return 'rgba(' + color.rgb.r + ',' + color.rgb.g + ',' + color.rgb.b + ',' + color.rgb.a + ')';\n }\n } else {\n if (isHex) {\n return '#' + color.r.toString(16).padStart(2, '0') + color.g.toString(16).padStart(2, '0') + color.b.toString(16).padStart(2, '0');\n } else {\n return 'rgba(' + color.r + ',' + color.g + ',' + color.b + ',' + color.a + ')';\n }\n }\n } else {\n return isHex ? ColorPicker.rgb2hex(color || '') : color || '';\n }\n }\n\n /**\n * Convert rgb() or rgba() format to hex format #rrggbb.\n * @param {string} rgb\n * @returns {string}\n */\n static rgb2hex(rgb){\n const m = rgb.match(/^rgba?[\\s+]?\\([\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?,[\\s+]?(\\d+)[\\s+]?/i);\n\n return m && m.length === 4 ? '#' +\n parseInt(m[1],10).toString(16).padStart(2, '0') +\n parseInt(m[2],10).toString(16).padStart(2, '0') +\n parseInt(m[3],10).toString(16).padStart(2, '0') : rgb;\n }\n\n /**\n * @private\n */\n handleChange = color => {\n this.setState({color});\n this.props.onChange && this.props.onChange(ColorPicker.getColor(color));\n };\n\n render() {\n const color = ColorPicker.getColor(this.state.color);\n let style = {};\n\n if (this.state.displayColorPicker && this.props.openAbove) {\n style = {\n top: -241,\n };\n }\n\n return <div\n style={Object.assign({}, this.props.style || {}, {position: 'relative'})}\n className={ this.props.className || ''}\n >\n <TextField\n disabled={this.props.disabled}\n variant=\"standard\"\n id=\"name\"\n style={color ? {width: 'calc(100% - 80px)'} : {width: 'calc(100% - 54px)', marginRight: 8}}\n label={this.props.name || 'color'}\n value={color}\n margin=\"dense\"\n classes={{root: this.props.classes.textDense}}\n onChange={e => this.handleChange(e.target.value)}\n />\n {color ? <IconButton\n disabled={this.props.disabled}\n onClick={() => this.handleChange('')}\n size=\"small\"\n className={this.props.classes.delButton}\n style={color ? {} : {opacity: 0, cursor: 'default'}}\n ><IconDelete/></IconButton> : null}\n <div className={`${this.props.classes.swatch}${this.props.disabled ? ' ' + this.props.classes.swatchDisabled : ''}`} onClick={() => !this.props.disabled && this.handleClick()}>\n <div className={this.props.classes.color} style={{background: color}} />\n </div>\n { this.state.displayColorPicker && !this.props.disabled ? <div className={this.props.classes.popover} style={style}>\n <div className={this.props.classes.cover} onClick={() => this.handleClose()}/>\n <ChromePicker color={ this.state.color } onChangeComplete={color => this.handleChange(color)} />\n </div> : null }\n </div>;\n }\n}\n\nColorPicker.propTypes = {\n disabled: PropTypes.bool,\n value: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n name: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n openAbove: PropTypes.bool,\n};\n\n/** @type {typeof ColorPicker} */\nconst _export = withStyles(styles)(ColorPicker);\nexport default _export;"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAeA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;EAAA,OAAK;IACrBC,KAAK,EAAE;MACHC,KAAK,EAAE,EADJ;MAEHC,MAAM,EAAE,EAFL;MAGHC,YAAY,EAAE;IAHX,CADc;IAMrBC,SAAS,EAAE;MACP;MACA;MACAC,SAAS,EAAE;IAHJ,CANU;IAWrBC,MAAM,EAAE;MACJD,SAAS,EAAE,EADP;MAEJE,OAAO,EAAE,CAFL;MAGJC,UAAU,EAAE,MAHR;MAIJL,YAAY,EAAE,CAJV;MAKJM,SAAS,EAAE,0BALP;MAMJC,OAAO,EAAE,cANL;MAOJC,MAAM,EAAE,SAPJ;MAQJC,aAAa,EAAE;IARX,CAXa;IAqBrBC,cAAc,EAAE;MACZC,OAAO,EAAE,GADG;MAEZH,MAAM,EAAE;IAFI,CArBK;IAyBrBI,OAAO,EAAE;MACLC,QAAQ,EAAE,UADL;MAELC,MAAM,EAAE;IAFH,CAzBY;IA6BrBC,KAAK,EAAE;MACHF,QAAQ,EAAE,OADP;MAEHG,GAAG,EAAE,CAFF;MAGHC,KAAK,EAAE,CAHJ;MAIHC,MAAM,EAAE,CAJL;MAKHC,IAAI,EAAE;IALH,CA7Bc;IAoCrBC,SAAS,EAAE;MACPlB,SAAS,EAAE,CADJ;MAEPmB,YAAY,EAAE;IAFP;EApCU,CAAL;AAAA,CAApB;AA0CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;IACMC,W;;;;;EACF;AACJ;AACA;EACI,qBAAYC,KAAZ,EAAmB;IAAA;;IAAA;IACf,0BAAMA,KAAN;IADe,gGA0BL,YAAM;MAChB,MAAKC,QAAL,CAAc;QAACC,kBAAkB,EAAE,CAAC,MAAKC,KAAL,CAAWD;MAAjC,CAAd;IACH,CA5BkB;IAAA,gGAiCL,YAAM;MAChB,MAAKD,QAAL,CAAc;QAACC,kBAAkB,EAAE;MAArB,CAAd;IACH,CAnCkB;IAAA,iGAgFJ,UAAA5B,KAAK,EAAI;MACpB,MAAK2B,QAAL,CAAc;QAAC3B,KAAK,EAALA;MAAD,CAAd;;MACA,MAAK0B,KAAL,CAAWI,QAAX,IAAuB,MAAKJ,KAAL,CAAWI,QAAX,CAAoBL,WAAW,CAACM,QAAZ,CAAqB/B,KAArB,CAApB,CAAvB;IACH,CAnFkB;IAEf,MAAK6B,KAAL,GAAa;MACTD,kBAAkB,EAAE,KADX;MAET5B,KAAK,EAAE,MAAK0B,KAAL,CAAWM,KAAX,IAAoB,MAAKN,KAAL,CAAW1B;IAF7B,CAAb;IAFe;EAMlB;EAED;AACJ;AACA;AACA;AACA;;;;;WAyEI,kBAAS;MAAA;;MACL,IAAMA,KAAK,GAAGyB,WAAW,CAACM,QAAZ,CAAqB,KAAKF,KAAL,CAAW7B,KAAhC,CAAd;MACA,IAAIiC,KAAK,GAAG,EAAZ;;MAEA,IAAI,KAAKJ,KAAL,CAAWD,kBAAX,IAAiC,KAAKF,KAAL,CAAWQ,SAAhD,EAA2D;QACvDD,KAAK,GAAG;UACJd,GAAG,EAAE,CAAC;QADF,CAAR;MAGH;;MAED,oBAAO;QACH,KAAK,EAAEgB,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkB,KAAKV,KAAL,CAAWO,KAAX,IAAoB,EAAtC,EAA0C;UAACjB,QAAQ,EAAE;QAAX,CAA1C,CADJ;QAEH,SAAS,EAAG,KAAKU,KAAL,CAAWW,SAAX,IAAwB;MAFjC,gBAIH,gCAAC,qBAAD;QACI,QAAQ,EAAE,KAAKX,KAAL,CAAWY,QADzB;QAEI,OAAO,EAAC,UAFZ;QAGI,EAAE,EAAC,MAHP;QAII,KAAK,EAAEtC,KAAK,GAAG;UAACC,KAAK,EAAE;QAAR,CAAH,GAAkC;UAACA,KAAK,EAAE,mBAAR;UAA6BsC,WAAW,EAAE;QAA1C,CAJlD;QAKI,KAAK,EAAE,KAAKb,KAAL,CAAWc,IAAX,IAAmB,OAL9B;QAMI,KAAK,EAAExC,KANX;QAOI,MAAM,EAAC,OAPX;QAQI,OAAO,EAAE;UAACyC,IAAI,EAAE,KAAKf,KAAL,CAAWgB,OAAX,CAAmBnB;QAA1B,CARb;QASI,QAAQ,EAAE,kBAAAoB,CAAC;UAAA,OAAI,MAAI,CAACC,YAAL,CAAkBD,CAAC,CAACE,MAAF,CAASb,KAA3B,CAAJ;QAAA;MATf,EAJG,EAeFhC,KAAK,gBAAG,gCAAC,sBAAD;QACL,QAAQ,EAAE,KAAK0B,KAAL,CAAWY,QADhB;QAEL,OAAO,EAAE;UAAA,OAAM,MAAI,CAACM,YAAL,CAAkB,EAAlB,CAAN;QAAA,CAFJ;QAGL,IAAI,EAAC,OAHA;QAIL,SAAS,EAAE,KAAKlB,KAAL,CAAWgB,OAAX,CAAmBtC,SAJzB;QAKL,KAAK,EAAEJ,KAAK,GAAG,EAAH,GAAQ;UAACc,OAAO,EAAE,CAAV;UAAaH,MAAM,EAAE;QAArB;MALf,gBAMR,gCAAC,kBAAD,OANQ,CAAH,GAMwB,IArB3B,eAsBH;QAAK,SAAS,YAAK,KAAKe,KAAL,CAAWgB,OAAX,CAAmBpC,MAAxB,SAAiC,KAAKoB,KAAL,CAAWY,QAAX,GAAsB,MAAM,KAAKZ,KAAL,CAAWgB,OAAX,CAAmB7B,cAA/C,GAAgE,EAAjG,CAAd;QAAqH,OAAO,EAAE;UAAA,OAAM,CAAC,MAAI,CAACa,KAAL,CAAWY,QAAZ,IAAwB,MAAI,CAACQ,WAAL,EAA9B;QAAA;MAA9H,gBACI;QAAK,SAAS,EAAE,KAAKpB,KAAL,CAAWgB,OAAX,CAAmB1C,KAAnC;QAA0C,KAAK,EAAE;UAACQ,UAAU,EAAER;QAAb;MAAjD,EADJ,CAtBG,EAyBD,KAAK6B,KAAL,CAAWD,kBAAX,IAAiC,CAAC,KAAKF,KAAL,CAAWY,QAA7C,gBAAwD;QAAK,SAAS,EAAE,KAAKZ,KAAL,CAAWgB,OAAX,CAAmB3B,OAAnC;QAA4C,KAAK,EAAEkB;MAAnD,gBACtD;QAAK,SAAS,EAAE,KAAKP,KAAL,CAAWgB,OAAX,CAAmBxB,KAAnC;QAA0C,OAAO,EAAE;UAAA,OAAM,MAAI,CAAC6B,WAAL,EAAN;QAAA;MAAnD,EADsD,eAEtD,gCAAC,wBAAD;QAAc,KAAK,EAAG,KAAKlB,KAAL,CAAW7B,KAAjC;QAAyC,gBAAgB,EAAE,0BAAAA,KAAK;UAAA,OAAI,MAAI,CAAC4C,YAAL,CAAkB5C,KAAlB,CAAJ;QAAA;MAAhE,EAFsD,CAAxD,GAGO,IA5BN,CAAP;IA8BH;;;WAhHD,kCAAgC0B,KAAhC,EAAuCG,KAAvC,EAA8C;MAC1C,IAAMmB,MAAM,GAAGvB,WAAW,CAACM,QAAZ,CAAqBL,KAAK,CAACM,KAAN,IAAeN,KAAK,CAAC1B,KAA1C,CAAf;MACA,IAAMiD,MAAM,GAAGxB,WAAW,CAACM,QAAZ,CAAqBF,KAAK,CAAC7B,KAA3B,CAAf;;MACA,IAAIgD,MAAM,KAAKC,MAAf,EAAuB;QACnB,OAAO;UAACjD,KAAK,EAAE0B,KAAK,CAACM,KAAN,IAAeN,KAAK,CAAC1B;QAA7B,CAAP;MACH,CAFD,MAEO;QACH,OAAO,IAAP;MACH;IACJ;IAED;AACJ;AACA;;;;;IAYI;AACJ;AACA;AACA;AACA;AACA;IACI,kBAAgBA,KAAhB,EAAuBkD,KAAvB,EAA8B;MAC1B,IAAIlD,KAAK,IAAI,yBAAOA,KAAP,MAAiB,QAA9B,EAAwC;QACpC,IAAIA,KAAK,CAACmD,GAAV,EAAe;UACX,IAAID,KAAJ,EAAW;YACP,OAAO,MAAMlD,KAAK,CAACmD,GAAN,CAAUC,CAAV,CAAYC,QAAZ,CAAqB,EAArB,EAAyBC,QAAzB,CAAkC,CAAlC,EAAqC,GAArC,CAAN,GAAkDtD,KAAK,CAACmD,GAAN,CAAUI,CAAV,CAAYF,QAAZ,CAAqB,EAArB,EAAyBC,QAAzB,CAAkC,CAAlC,EAAqC,GAArC,CAAlD,GAA8FtD,KAAK,CAACmD,GAAN,CAAUK,CAAV,CAAYH,QAAZ,CAAqB,EAArB,EAAyBC,QAAzB,CAAkC,CAAlC,EAAqC,GAArC,CAArG;UACH,CAFD,MAEO;YACH,OAAO,UAAUtD,KAAK,CAACmD,GAAN,CAAUC,CAApB,GAAwB,GAAxB,GAA8BpD,KAAK,CAACmD,GAAN,CAAUI,CAAxC,GAA4C,GAA5C,GAAkDvD,KAAK,CAACmD,GAAN,CAAUK,CAA5D,GAAgE,GAAhE,GAAsExD,KAAK,CAACmD,GAAN,CAAUM,CAAhF,GAAoF,GAA3F;UACH;QACJ,CAND,MAMO;UACH,IAAIP,KAAJ,EAAW;YACP,OAAO,MAAMlD,KAAK,CAACoD,CAAN,CAAQC,QAAR,CAAiB,EAAjB,EAAqBC,QAArB,CAA8B,CAA9B,EAAiC,GAAjC,CAAN,GAA8CtD,KAAK,CAACuD,CAAN,CAAQF,QAAR,CAAiB,EAAjB,EAAqBC,QAArB,CAA8B,CAA9B,EAAiC,GAAjC,CAA9C,GAAsFtD,KAAK,CAACwD,CAAN,CAAQH,QAAR,CAAiB,EAAjB,EAAqBC,QAArB,CAA8B,CAA9B,EAAiC,GAAjC,CAA7F;UACH,CAFD,MAEO;YACH,OAAO,UAAUtD,KAAK,CAACoD,CAAhB,GAAoB,GAApB,GAA0BpD,KAAK,CAACuD,CAAhC,GAAoC,GAApC,GAA0CvD,KAAK,CAACwD,CAAhD,GAAoD,GAApD,GAA0DxD,KAAK,CAACyD,CAAhE,GAAoE,GAA3E;UACH;QACJ;MACJ,CAdD,MAcO;QACH,OAAOP,KAAK,GAAGzB,WAAW,CAACiC,OAAZ,CAAoB1D,KAAK,IAAI,EAA7B,CAAH,GAAsCA,KAAK,IAAI,EAA3D;MACH;IACJ;IAED;AACJ;AACA;AACA;AACA;;;;WACI,iBAAemD,GAAf,EAAmB;MACf,IAAMQ,CAAC,GAAGR,GAAG,CAACS,KAAJ,CAAU,sEAAV,CAAV;MAEA,OAAOD,CAAC,IAAIA,CAAC,CAACE,MAAF,KAAa,CAAlB,GAAsB,MACzBC,QAAQ,CAACH,CAAC,CAAC,CAAD,CAAF,EAAM,EAAN,CAAR,CAAkBN,QAAlB,CAA2B,EAA3B,EAA+BC,QAA/B,CAAwC,CAAxC,EAA2C,GAA3C,CADyB,GAEzBQ,QAAQ,CAACH,CAAC,CAAC,CAAD,CAAF,EAAM,EAAN,CAAR,CAAkBN,QAAlB,CAA2B,EAA3B,EAA+BC,QAA/B,CAAwC,CAAxC,EAA2C,GAA3C,CAFyB,GAGzBQ,QAAQ,CAACH,CAAC,CAAC,CAAD,CAAF,EAAM,EAAN,CAAR,CAAkBN,QAAlB,CAA2B,EAA3B,EAA+BC,QAA/B,CAAwC,CAAxC,EAA2C,GAA3C,CAHG,GAG+CH,GAHtD;IAIH;IAED;AACJ;AACA;;;;EAnF0BY,iBAAA,CAAMC,S;;AAoIhCvC,WAAW,CAACwC,SAAZ,GAAwB;EACpB3B,QAAQ,EAAE4B,qBAAA,CAAUC,IADA;EAEpBnC,KAAK,EAAEkC,qBAAA,CAAUE,MAFG;EAGpBtC,QAAQ,EAAEoC,qBAAA,CAAUG,IAAV,CAAeC,UAHL;EAIpB9B,IAAI,EAAE0B,qBAAA,CAAUE,MAJI;EAKpBnC,KAAK,EAAEiC,qBAAA,CAAUK,MALG;EAMpBlC,SAAS,EAAE6B,qBAAA,CAAUE,MAND;EAOpBlC,SAAS,EAAEgC,qBAAA,CAAUC;AAPD,CAAxB;AAUA;;AACA,IAAMK,OAAO,GAAG,IAAAC,sBAAA,EAAW3E,MAAX,EAAmB2B,WAAnB,CAAhB;;eACe+C,O"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComplexCron.js","names":["styles","theme","mainDiv","width","height","periodSelect","display","slider","marginTop","tabContent","padding","overflow","numberButton","minWidth","margin","numberButtonBreak","appBar","color","WEEKDAYS","MONTHS","convertMinusIntoArray","value","max","result","i","push","parts","toString","split","p","length","trim","items","iMax","parseInt","map","a","sort","splice","convertArrayIntoMinus","newParts","b","start","end","join","ComplexCron","props","cron","cronExpression","replace","state","cron2state","extended","tab","seconds","state2cron","modes","minutes","hours","dates","months","dows","Object","assign","setTimeout","onChange","setState","type","recalcCron","nums","pos","indexOf","values","classes","onToggle","I18n","t","every","everyN","select","JSON","parse","stringify","verticalAlign","e","target","num","console","log","shrink","getDigitsSelector","lang","paddingLeft","convertCronToText","language","checked","root","active","getPeriodsTab","cronParts","options","text","React","Component","propTypes","PropTypes","string","func","isRequired"],"sources":["ComplexCron.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport Checkbox from '@mui/material/Checkbox';\nimport Button from '@mui/material/Button';\nimport MenuItem from '@mui/material/MenuItem';\nimport Select from '@mui/material/Select';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport AppBar from '@mui/material/AppBar';\nimport Tabs from '@mui/material/Tabs';\nimport Tab from '@mui/material/Tab';\nimport TextField from '@mui/material/TextField';\n\nimport I18n from '../i18n';\nimport convertCronToText from './SimpleCron/cronText';\n\nconst styles = theme => ({\n mainDiv: {\n width: '100%',\n height: '100%'\n },\n periodSelect: {\n //margin: '0 10px 60px 10px',\n display: 'block',\n width: 200\n },\n slider: {\n marginTop: 20,\n display: 'block',\n width: '100%'\n },\n tabContent: {\n padding: 20,\n height: 'calc(100% - 240px)',\n overflow: 'auto',\n },\n numberButton: {\n padding: 4,\n minWidth: 40,\n margin: 5\n },\n numberButtonBreak: {\n display: 'block'\n },\n appBar: {\n color: 'white'\n }\n});\n\nconst WEEKDAYS = [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n 'Sunday',\n];\nconst MONTHS = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December'\n];\n\n// 5-7,9-11 => [5,6,7,9,10,11]\nfunction convertMinusIntoArray(value, max) {\n let result = [];\n\n if (value === '*') {\n if (max === 24 || max === 60 || max === 7) {\n for (let i = 0; i < max; i++) {\n result.push(i);\n }\n } else {\n for (let i = 1; i <= max; i++) {\n result.push(i);\n }\n }\n return result; // array with entries max\n }\n\n const parts = (value || '').toString().split(',');\n\n for (let p = 0; p < parts.length; p++) {\n if (! parts[p].trim().length) continue;\n const items = parts[p].trim().split('-');\n if (items.length > 1) {\n let iMax = parseInt(items[1], 10);\n for (let i = parseInt(items[0], 10); i <= iMax; i++) {\n result.push(i);\n }\n } else {\n result.push(parseInt(parts[p], 10));\n }\n }\n result = result.map(a => parseInt(a, 10));\n\n result.sort();\n\n\n // remove double entries\n for (let p = result.length - 1; p >= 0; p--) {\n if (result[p] === result[p + 1]) {\n result.splice(p + 1, 1);\n }\n }\n\n\n return result;\n}\n\n// [5,6,7,9,10,11] => 5-7,9-11\nfunction convertArrayIntoMinus(value, max) {\n if (typeof value !== 'object') {\n value = [value];\n }\n if (value.length === max) {\n return '*';\n }\n const newParts = [];\n if (!value.length) {\n return '-';\n }\n value = value.map(a => parseInt(a, 10));\n\n value.sort((a, b) => a -b);\n\n let start = value[0];\n let end = value[0];\n for (let p = 1; p < value.length; p++) {\n if (value[p] - 1 !== parseInt(value[p - 1], 10)) {\n if (start === end) {\n newParts.push(start)\n } else if (end - 1 === start) {\n newParts.push(start + ',' + end);\n } else {\n newParts.push(start + '-' + end);\n }\n start = value[p];\n end = value[p];\n } else {\n end = value[p];\n }\n }\n\n if (start === end) {\n newParts.push(start)\n } else if (end - 1 === start) {\n newParts.push(start + ',' + end);\n } else {\n newParts.push(start + '-' + end);\n }\n\n return newParts.join(',');\n}\n\nclass ComplexCron extends React.Component {\n constructor(props) {\n super(props);\n let cron = (typeof this.props.cronExpression === 'string') ? this.props.cronExpression.replace(/^[\"']/, '').replace(/[\"']\\n?$/, '') : '';\n if (cron[0] === '{') {\n cron = '';\n }\n const state = ComplexCron.cron2state(cron || '* * * * *');\n\n this.state = {\n extended: false,\n tab: state.seconds !== false ? 1 : 0,\n cron: ComplexCron.state2cron(state),\n modes: {\n seconds: null,\n minutes: null,\n hours: null,\n dates: null,\n months: null,\n dows: null\n }\n };\n Object.assign(this.state, state);\n if (this.state.cron !== this.props.cronExpression) {\n setTimeout(() => this.props.onChange && this.props.onChange(this.state.cron), 100);\n }\n }\n\n static cron2state(cron) {\n cron = cron.replace(/['\"]/g, '').trim();\n const cronParts = cron.split(' ').map(p => p.trim());\n const options = {};\n\n if (cronParts.length === 6) {\n options.seconds = cronParts[0] || '*';\n options.minutes = cronParts[1] || '*';\n options.hours = cronParts[2] || '*';\n options.dates = cronParts[3] || '*';\n options.months = cronParts[4] || '*';\n options.dows = cronParts[5] || '*';\n } else {\n options.seconds = false;\n options.minutes = cronParts[0] || '*';\n options.hours = cronParts[1] || '*';\n options.dates = cronParts[2] || '*';\n options.months = cronParts[3] || '*';\n options.dows = cronParts[4] || '*';\n }\n return options;\n }\n static state2cron(state) {\n let text = `${state.minutes} ${state.hours} ${state.dates} ${state.months} ${state.dows}`;\n if (state.seconds !== false) {\n text = state.seconds + ' ' + text;\n }\n return text;\n }\n\n recalcCron() {\n let cron = ComplexCron.state2cron(this.state);\n if (cron !== this.state.cron) {\n this.setState({cron}, () => {\n this.props.onChange && this.props.onChange(this.state.cron);\n });\n }\n }\n\n onChange(cron) {\n if (cron !== this.state.cron) {\n this.setState({cron});\n this.props.onChange && this.props.onChange(cron);\n }\n }\n\n onToggle(i, type, max) {\n if (i === true) {\n this.setState({[type]: '*'}, () => this.recalcCron());\n } else if (i === false) {\n if (max === 60 || max === 24) {\n this.setState({[type]: '0'}, () => this.recalcCron());\n } else {\n this.setState({[type]: '1'}, () => this.recalcCron());\n }\n } else {\n let nums = convertMinusIntoArray(this.state[type], max);\n const pos = nums.indexOf(i);\n if (pos !== -1) {\n nums.splice(pos, 1);\n } else {\n nums.push(i);\n nums.sort();\n }\n this.setState({[type]: convertArrayIntoMinus(nums, max)}, () => this.recalcCron());\n }\n }\n\n getDigitsSelector(type, max) {\n let values = [];\n if (max === 7) {\n values = [1,2,3,4,5,6,0];\n } else if (max === 60 || max === 24) {\n for (let i = 0; i < max; i++) {\n values.push(i);\n }\n } else {\n for (let i = 1; i <= max; i++) {\n values.push(i);\n }\n }\n\n const parts = convertMinusIntoArray(this.state[type], max);\n\n return [\n <Button\n key=\"removeall\"\n variant={'outlined'}\n className={this.props.classes.numberButton}\n //style={{paddingBottom: 20}}\n color={'primary'}\n onClick={() => this.onToggle(false, type, max)}>{I18n.t('ra_Deselect all')}</Button>,\n <Button\n key=\"addall\"\n variant={'contained'}\n //style={{paddingBottom: 20}}\n className={this.props.classes.numberButton}\n color={'secondary'}\n onClick={() => this.onToggle(true, type, max)}>{I18n.t('ra_Select all')}</Button>,\n <div key=\"all\">\n {values.map(i =>\n [((max === 7 && i === 4) ||\n (max === 12 && i === 7) ||\n (max === 31 && !((i - 1) % 10)) ||\n (max === 60 && i && !(i % 10)) ||\n (max === 24 && i && !(i % 6))) ?\n (<div key={'allInner' + i} style={{width: '100%'}}/>) : null,\n (<Button\n key={'_' + i}\n variant={parts.indexOf(i) !== -1 ? 'contained' : 'outlined'}\n className={this.props.classes.numberButton}\n color={parts.indexOf(i) !== -1 ? 'secondary' : 'primary'}\n onClick={() => this.onToggle(i, type, max)}>{max === 7 ? I18n.t(WEEKDAYS[i]) : (max === 12 ? MONTHS[i - 1] : i)}</Button>\n )])}\n </div>\n ];\n }\n\n getPeriodsTab(type, max) {\n let value = this.state[type];\n let every = value === '*';\n let everyN = value.toString().indexOf('/') !== -1;\n let select;\n if (this.state.modes[type] === null) {\n select = every ? 'every' : (everyN ? 'everyN' : 'specific');\n const modes = JSON.parse(JSON.stringify(this.state.modes));\n modes[type] = select;\n return setTimeout(() => this.setState({modes}, () => this.recalcCron()), 100);\n } else {\n every = this.state.modes[type] === 'every';\n everyN = this.state.modes[type] === 'everyN';\n select = this.state.modes[type];\n }\n\n if (everyN) {\n value = parseInt(value.replace('*/', ''), 10) || 1;\n }\n\n return <div>\n <Select\n variant=\"standard\"\n className={this.props.classes.periodSelect}\n style={{verticalAlign: 'bottom'}}\n value={select}\n onChange={e => {\n const modes = JSON.parse(JSON.stringify(this.state.modes));\n modes[type] = e.target.value;\n if (e.target.value === 'every') {\n this.setState({[type]: '*', modes}, () => this.recalcCron());\n } else if (e.target.value === 'everyN') {\n const num = parseInt(this.state[type].toString().replace('*/', ''), 10) || 1;\n this.setState({[type]: '*/' + num, modes}, () => this.recalcCron());\n } else if (e.target.value === 'specific') {\n let num = parseInt(this.state[type].split(',')[0], 10) || 0;\n console.log(num);\n if (!num && (type === 'months' || type === 'dates')) {\n num = 1;\n }\n this.setState({[type]: convertArrayIntoMinus(num, max), modes}, () => this.recalcCron());\n }\n }}>\n <MenuItem key='every' value='every'>{I18n.t('sc_every_' + type)}</MenuItem>\n <MenuItem key='everyN' value='everyN'>{I18n.t('sc_everyN_' + type)}</MenuItem>\n <MenuItem key='specific' value='specific'>{I18n.t('sc_specific_' + type)}</MenuItem>\n </Select>\n {everyN && false && <span>{value}</span>}\n {everyN && <TextField\n variant=\"standard\"\n key=\"interval\"\n label={I18n.t('sc_' + type)}\n value={value}\n min={1}\n max={max}\n onChange={e => {\n this.setState({[type]: '*/' + e.target.value}, () => this.recalcCron());\n }}\n InputLabelProps={{shrink: true,}}\n type=\"number\"\n margin=\"normal\"\n />}\n {!every && !everyN && this.getDigitsSelector(type, max)}\n </div>;\n }\n\n convertCronToText(cron, lang) {\n if (cron.split(' ').indexOf('-') !== -1) {\n return I18n.t('ra_Invalid CRON');\n } else {\n return convertCronToText(cron, lang);\n }\n }\n\n render() {\n const tab = this.state.seconds !== false ? this.state.tab : this.state.tab + 1;\n return <div className={this.props.classes.mainDiv}>\n <div style={{paddingLeft: 8, width: '100%'}}><TextField variant=\"standard\" style={{width: '100%'}} value={this.state.cron} disabled={true}/></div>\n <div style={{paddingLeft: 8, width: '100%', height: 60}}>{this.convertCronToText(this.state.cron, this.props.language || 'en')}</div>\n <FormControlLabel\n control={<Checkbox checked={this.state.seconds}\n onChange={e => this.setState({seconds: e.target.checked ? '*' : false}, () => this.recalcCron())}/>}\n label={I18n.t('ra_use seconds')}\n />\n <AppBar position=\"static\" classes={{root: this.props.classes.appBar}} color=\"secondary\">\n <Tabs value={this.state.tab} className={this.props.classes.appBar} color=\"secondary\" onChange={(active, tab) =>\n this.setState({tab})}>\n {this.state.seconds !== false && <Tab id=\"sc_seconds\" label={I18n.t('sc_seconds')}/>}\n <Tab id=\"minutes\" label={I18n.t('sc_minutes')}/>\n <Tab id=\"hours\" label={I18n.t('sc_hours')}/>\n <Tab id=\"dates\" label={I18n.t('sc_dates')}/>\n <Tab id=\"months\" label={I18n.t('sc_months')}/>\n <Tab id=\"dows\" label={I18n.t('sc_dows')}/>\n </Tabs>\n </AppBar>\n {tab === 0 && <div className={this.props.classes.tabContent}>{this.getPeriodsTab('seconds', 60)}</div>}\n {tab === 1 && <div className={this.props.classes.tabContent}>{this.getPeriodsTab('minutes', 60)}</div>}\n {tab === 2 && <div className={this.props.classes.tabContent}>{this.getPeriodsTab('hours', 24)}</div>}\n {tab === 3 && <div className={this.props.classes.tabContent}>{this.getPeriodsTab('dates', 31)}</div>}\n {tab === 4 && <div className={this.props.classes.tabContent}>{this.getPeriodsTab('months', 12)}</div>}\n {tab === 5 && <div className={this.props.classes.tabContent}>{this.getPeriodsTab('dows', 7)}</div>}\n </div>;\n }\n}\n\nComplexCron.propTypes = {\n cronExpression: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n language: PropTypes.string,\n};\n\nexport default withStyles(styles)(ComplexCron);\n\n"],"mappings":"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"}
1
+ {"version":3,"file":"ComplexCron.js","names":["styles","theme","mainDiv","width","height","periodSelect","display","slider","marginTop","tabContent","padding","overflow","numberButton","minWidth","margin","numberButtonBreak","appBar","color","WEEKDAYS","MONTHS","convertMinusIntoArray","value","max","result","i","push","parts","toString","split","p","length","trim","items","iMax","parseInt","map","a","sort","splice","convertArrayIntoMinus","newParts","b","start","end","join","ComplexCron","props","cron","cronExpression","replace","state","cron2state","extended","tab","seconds","state2cron","modes","minutes","hours","dates","months","dows","Object","assign","setTimeout","onChange","setState","type","recalcCron","nums","pos","indexOf","values","classes","onToggle","I18n","t","every","everyN","select","JSON","parse","stringify","verticalAlign","e","target","num","console","log","shrink","getDigitsSelector","lang","convertCronToText","paddingLeft","language","checked","root","active","getPeriodsTab","cronParts","options","text","React","Component","propTypes","PropTypes","string","func","isRequired","withStyles"],"sources":["ComplexCron.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport withStyles from '@mui/styles/withStyles';\n\nimport Checkbox from '@mui/material/Checkbox';\nimport Button from '@mui/material/Button';\nimport MenuItem from '@mui/material/MenuItem';\nimport Select from '@mui/material/Select';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport AppBar from '@mui/material/AppBar';\nimport Tabs from '@mui/material/Tabs';\nimport Tab from '@mui/material/Tab';\nimport TextField from '@mui/material/TextField';\n\nimport I18n from '../i18n';\nimport convertCronToText from './SimpleCron/cronText';\n\nconst styles = theme => ({\n mainDiv: {\n width: '100%',\n height: '100%'\n },\n periodSelect: {\n //margin: '0 10px 60px 10px',\n display: 'block',\n width: 200\n },\n slider: {\n marginTop: 20,\n display: 'block',\n width: '100%'\n },\n tabContent: {\n padding: 20,\n height: 'calc(100% - 240px)',\n overflow: 'auto',\n },\n numberButton: {\n padding: 4,\n minWidth: 40,\n margin: 5\n },\n numberButtonBreak: {\n display: 'block'\n },\n appBar: {\n color: 'white'\n }\n});\n\nconst WEEKDAYS = [\n 'Sunday',\n 'Monday',\n 'Tuesday',\n 'Wednesday',\n 'Thursday',\n 'Friday',\n 'Saturday',\n 'Sunday',\n];\nconst MONTHS = [\n 'January',\n 'February',\n 'March',\n 'April',\n 'May',\n 'June',\n 'July',\n 'August',\n 'September',\n 'October',\n 'November',\n 'December'\n];\n\n// 5-7,9-11 => [5,6,7,9,10,11]\nfunction convertMinusIntoArray(value, max) {\n let result = [];\n\n if (value === '*') {\n if (max === 24 || max === 60 || max === 7) {\n for (let i = 0; i < max; i++) {\n result.push(i);\n }\n } else {\n for (let i = 1; i <= max; i++) {\n result.push(i);\n }\n }\n return result; // array with entries max\n }\n\n const parts = (value || '').toString().split(',');\n\n for (let p = 0; p < parts.length; p++) {\n if (! parts[p].trim().length) continue;\n const items = parts[p].trim().split('-');\n if (items.length > 1) {\n let iMax = parseInt(items[1], 10);\n for (let i = parseInt(items[0], 10); i <= iMax; i++) {\n result.push(i);\n }\n } else {\n result.push(parseInt(parts[p], 10));\n }\n }\n result = result.map(a => parseInt(a, 10));\n\n result.sort();\n\n\n // remove double entries\n for (let p = result.length - 1; p >= 0; p--) {\n if (result[p] === result[p + 1]) {\n result.splice(p + 1, 1);\n }\n }\n\n\n return result;\n}\n\n// [5,6,7,9,10,11] => 5-7,9-11\nfunction convertArrayIntoMinus(value, max) {\n if (typeof value !== 'object') {\n value = [value];\n }\n if (value.length === max) {\n return '*';\n }\n const newParts = [];\n if (!value.length) {\n return '-';\n }\n value = value.map(a => parseInt(a, 10));\n\n value.sort((a, b) => a -b);\n\n let start = value[0];\n let end = value[0];\n for (let p = 1; p < value.length; p++) {\n if (value[p] - 1 !== parseInt(value[p - 1], 10)) {\n if (start === end) {\n newParts.push(start)\n } else if (end - 1 === start) {\n newParts.push(start + ',' + end);\n } else {\n newParts.push(start + '-' + end);\n }\n start = value[p];\n end = value[p];\n } else {\n end = value[p];\n }\n }\n\n if (start === end) {\n newParts.push(start)\n } else if (end - 1 === start) {\n newParts.push(start + ',' + end);\n } else {\n newParts.push(start + '-' + end);\n }\n\n return newParts.join(',');\n}\n\nclass ComplexCron extends React.Component {\n constructor(props) {\n super(props);\n let cron = (typeof this.props.cronExpression === 'string') ? this.props.cronExpression.replace(/^[\"']/, '').replace(/[\"']\\n?$/, '') : '';\n if (cron[0] === '{') {\n cron = '';\n }\n const state = ComplexCron.cron2state(cron || '* * * * *');\n\n this.state = {\n extended: false,\n tab: state.seconds !== false ? 1 : 0,\n cron: ComplexCron.state2cron(state),\n modes: {\n seconds: null,\n minutes: null,\n hours: null,\n dates: null,\n months: null,\n dows: null\n }\n };\n Object.assign(this.state, state);\n if (this.state.cron !== this.props.cronExpression) {\n setTimeout(() => this.props.onChange && this.props.onChange(this.state.cron), 100);\n }\n }\n\n static cron2state(cron) {\n cron = cron.replace(/['\"]/g, '').trim();\n const cronParts = cron.split(' ').map(p => p.trim());\n const options = {};\n\n if (cronParts.length === 6) {\n options.seconds = cronParts[0] || '*';\n options.minutes = cronParts[1] || '*';\n options.hours = cronParts[2] || '*';\n options.dates = cronParts[3] || '*';\n options.months = cronParts[4] || '*';\n options.dows = cronParts[5] || '*';\n } else {\n options.seconds = false;\n options.minutes = cronParts[0] || '*';\n options.hours = cronParts[1] || '*';\n options.dates = cronParts[2] || '*';\n options.months = cronParts[3] || '*';\n options.dows = cronParts[4] || '*';\n }\n return options;\n }\n static state2cron(state) {\n let text = `${state.minutes} ${state.hours} ${state.dates} ${state.months} ${state.dows}`;\n if (state.seconds !== false) {\n text = state.seconds + ' ' + text;\n }\n return text;\n }\n\n recalcCron() {\n let cron = ComplexCron.state2cron(this.state);\n if (cron !== this.state.cron) {\n this.setState({cron}, () => {\n this.props.onChange && this.props.onChange(this.state.cron);\n });\n }\n }\n\n onChange(cron) {\n if (cron !== this.state.cron) {\n this.setState({cron});\n this.props.onChange && this.props.onChange(cron);\n }\n }\n\n onToggle(i, type, max) {\n if (i === true) {\n this.setState({[type]: '*'}, () => this.recalcCron());\n } else if (i === false) {\n if (max === 60 || max === 24) {\n this.setState({[type]: '0'}, () => this.recalcCron());\n } else {\n this.setState({[type]: '1'}, () => this.recalcCron());\n }\n } else {\n let nums = convertMinusIntoArray(this.state[type], max);\n const pos = nums.indexOf(i);\n if (pos !== -1) {\n nums.splice(pos, 1);\n } else {\n nums.push(i);\n nums.sort();\n }\n this.setState({[type]: convertArrayIntoMinus(nums, max)}, () => this.recalcCron());\n }\n }\n\n getDigitsSelector(type, max) {\n let values = [];\n if (max === 7) {\n values = [1,2,3,4,5,6,0];\n } else if (max === 60 || max === 24) {\n for (let i = 0; i < max; i++) {\n values.push(i);\n }\n } else {\n for (let i = 1; i <= max; i++) {\n values.push(i);\n }\n }\n\n const parts = convertMinusIntoArray(this.state[type], max);\n\n return [\n <Button\n key=\"removeall\"\n variant={'outlined'}\n className={this.props.classes.numberButton}\n //style={{paddingBottom: 20}}\n color={'primary'}\n onClick={() => this.onToggle(false, type, max)}>{I18n.t('ra_Deselect all')}</Button>,\n <Button\n key=\"addall\"\n variant={'contained'}\n //style={{paddingBottom: 20}}\n className={this.props.classes.numberButton}\n color={'secondary'}\n onClick={() => this.onToggle(true, type, max)}>{I18n.t('ra_Select all')}</Button>,\n <div key=\"all\">\n {values.map(i =>\n [((max === 7 && i === 4) ||\n (max === 12 && i === 7) ||\n (max === 31 && !((i - 1) % 10)) ||\n (max === 60 && i && !(i % 10)) ||\n (max === 24 && i && !(i % 6))) ?\n (<div key={'allInner' + i} style={{width: '100%'}}/>) : null,\n (<Button\n key={'_' + i}\n variant={parts.indexOf(i) !== -1 ? 'contained' : 'outlined'}\n className={this.props.classes.numberButton}\n color={parts.indexOf(i) !== -1 ? 'secondary' : 'primary'}\n onClick={() => this.onToggle(i, type, max)}>{max === 7 ? I18n.t(WEEKDAYS[i]) : (max === 12 ? MONTHS[i - 1] : i)}</Button>\n )])}\n </div>\n ];\n }\n\n getPeriodsTab(type, max) {\n let value = this.state[type];\n let every = value === '*';\n let everyN = value.toString().indexOf('/') !== -1;\n let select;\n if (this.state.modes[type] === null) {\n select = every ? 'every' : (everyN ? 'everyN' : 'specific');\n const modes = JSON.parse(JSON.stringify(this.state.modes));\n modes[type] = select;\n return setTimeout(() => this.setState({modes}, () => this.recalcCron()), 100);\n } else {\n every = this.state.modes[type] === 'every';\n everyN = this.state.modes[type] === 'everyN';\n select = this.state.modes[type];\n }\n\n if (everyN) {\n value = parseInt(value.replace('*/', ''), 10) || 1;\n }\n\n return <div>\n <Select\n variant=\"standard\"\n className={this.props.classes.periodSelect}\n style={{verticalAlign: 'bottom'}}\n value={select}\n onChange={e => {\n const modes = JSON.parse(JSON.stringify(this.state.modes));\n modes[type] = e.target.value;\n if (e.target.value === 'every') {\n this.setState({[type]: '*', modes}, () => this.recalcCron());\n } else if (e.target.value === 'everyN') {\n const num = parseInt(this.state[type].toString().replace('*/', ''), 10) || 1;\n this.setState({[type]: '*/' + num, modes}, () => this.recalcCron());\n } else if (e.target.value === 'specific') {\n let num = parseInt(this.state[type].split(',')[0], 10) || 0;\n console.log(num);\n if (!num && (type === 'months' || type === 'dates')) {\n num = 1;\n }\n this.setState({[type]: convertArrayIntoMinus(num, max), modes}, () => this.recalcCron());\n }\n }}>\n <MenuItem key='every' value='every'>{I18n.t('sc_every_' + type)}</MenuItem>\n <MenuItem key='everyN' value='everyN'>{I18n.t('sc_everyN_' + type)}</MenuItem>\n <MenuItem key='specific' value='specific'>{I18n.t('sc_specific_' + type)}</MenuItem>\n </Select>\n {everyN && false && <span>{value}</span>}\n {everyN && <TextField\n variant=\"standard\"\n key=\"interval\"\n label={I18n.t('sc_' + type)}\n value={value}\n min={1}\n max={max}\n onChange={e => {\n this.setState({[type]: '*/' + e.target.value}, () => this.recalcCron());\n }}\n InputLabelProps={{shrink: true,}}\n type=\"number\"\n margin=\"normal\"\n />}\n {!every && !everyN && this.getDigitsSelector(type, max)}\n </div>;\n }\n\n convertCronToText(cron, lang) {\n if (cron.split(' ').indexOf('-') !== -1) {\n return I18n.t('ra_Invalid CRON');\n } else {\n return convertCronToText(cron, lang);\n }\n }\n\n render() {\n const tab = this.state.seconds !== false ? this.state.tab : this.state.tab + 1;\n return <div className={this.props.classes.mainDiv}>\n <div style={{paddingLeft: 8, width: '100%'}}><TextField variant=\"standard\" style={{width: '100%'}} value={this.state.cron} disabled={true}/></div>\n <div style={{paddingLeft: 8, width: '100%', height: 60}}>{this.convertCronToText(this.state.cron, this.props.language || 'en')}</div>\n <FormControlLabel\n control={<Checkbox checked={this.state.seconds}\n onChange={e => this.setState({seconds: e.target.checked ? '*' : false}, () => this.recalcCron())}/>}\n label={I18n.t('ra_use seconds')}\n />\n <AppBar position=\"static\" classes={{root: this.props.classes.appBar}} color=\"secondary\">\n <Tabs value={this.state.tab} className={this.props.classes.appBar} color=\"secondary\" onChange={(active, tab) =>\n this.setState({tab})}>\n {this.state.seconds !== false && <Tab id=\"sc_seconds\" label={I18n.t('sc_seconds')}/>}\n <Tab id=\"minutes\" label={I18n.t('sc_minutes')}/>\n <Tab id=\"hours\" label={I18n.t('sc_hours')}/>\n <Tab id=\"dates\" label={I18n.t('sc_dates')}/>\n <Tab id=\"months\" label={I18n.t('sc_months')}/>\n <Tab id=\"dows\" label={I18n.t('sc_dows')}/>\n </Tabs>\n </AppBar>\n {tab === 0 && <div className={this.props.classes.tabContent}>{this.getPeriodsTab('seconds', 60)}</div>}\n {tab === 1 && <div className={this.props.classes.tabContent}>{this.getPeriodsTab('minutes', 60)}</div>}\n {tab === 2 && <div className={this.props.classes.tabContent}>{this.getPeriodsTab('hours', 24)}</div>}\n {tab === 3 && <div className={this.props.classes.tabContent}>{this.getPeriodsTab('dates', 31)}</div>}\n {tab === 4 && <div className={this.props.classes.tabContent}>{this.getPeriodsTab('months', 12)}</div>}\n {tab === 5 && <div className={this.props.classes.tabContent}>{this.getPeriodsTab('dows', 7)}</div>}\n </div>;\n }\n}\n\nComplexCron.propTypes = {\n cronExpression: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n language: PropTypes.string,\n};\n\nexport default withStyles(styles)(ComplexCron);\n\n"],"mappings":"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"}