@iobroker/adapter-react-v5 3.1.34 → 3.2.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 (244) hide show
  1. package/Components/404.js +0 -23
  2. package/Components/404.js.map +1 -1
  3. package/Components/ColorPicker.js +6 -37
  4. package/Components/ColorPicker.js.map +1 -1
  5. package/Components/ComplexCron.js +10 -84
  6. package/Components/ComplexCron.js.map +1 -1
  7. package/Components/CustomModal.js +29 -54
  8. package/Components/CustomModal.js.map +1 -1
  9. package/Components/FileBrowser.js +15 -265
  10. package/Components/FileBrowser.js.map +1 -1
  11. package/Components/FileViewer.js +7 -68
  12. package/Components/FileViewer.js.map +1 -1
  13. package/Components/Icon.d.ts +1 -1
  14. package/Components/Icon.js +2 -42
  15. package/Components/Icon.js.map +1 -1
  16. package/Components/IconPicker.js +6 -28
  17. package/Components/IconPicker.js.map +1 -1
  18. package/Components/IconSelector.js +3 -55
  19. package/Components/IconSelector.js.map +1 -1
  20. package/Components/Image.js +1 -38
  21. package/Components/Image.js.map +1 -1
  22. package/Components/JsonConfigComponent/ChipInput.js +66 -197
  23. package/Components/JsonConfigComponent/ChipInput.js.map +1 -1
  24. package/Components/JsonConfigComponent/ConfigAlive.js +0 -31
  25. package/Components/JsonConfigComponent/ConfigAlive.js.map +1 -1
  26. package/Components/JsonConfigComponent/ConfigAutocomplete.js +6 -39
  27. package/Components/JsonConfigComponent/ConfigAutocomplete.js.map +1 -1
  28. package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js +6 -52
  29. package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js.map +1 -1
  30. package/Components/JsonConfigComponent/ConfigCRON.js +5 -39
  31. package/Components/JsonConfigComponent/ConfigCRON.js.map +1 -1
  32. package/Components/JsonConfigComponent/ConfigCertificateSelect.js +4 -42
  33. package/Components/JsonConfigComponent/ConfigCertificateSelect.js.map +1 -1
  34. package/Components/JsonConfigComponent/ConfigCheckbox.js +0 -28
  35. package/Components/JsonConfigComponent/ConfigCheckbox.js.map +1 -1
  36. package/Components/JsonConfigComponent/ConfigChip.js +4 -33
  37. package/Components/JsonConfigComponent/ConfigChip.js.map +1 -1
  38. package/Components/JsonConfigComponent/ConfigColor.js +0 -34
  39. package/Components/JsonConfigComponent/ConfigColor.js.map +1 -1
  40. package/Components/JsonConfigComponent/ConfigCoordinates.js +0 -33
  41. package/Components/JsonConfigComponent/ConfigCoordinates.js.map +1 -1
  42. package/Components/JsonConfigComponent/ConfigCustom.js +14 -73
  43. package/Components/JsonConfigComponent/ConfigCustom.js.map +1 -1
  44. package/Components/JsonConfigComponent/ConfigDatePicker.js +0 -25
  45. package/Components/JsonConfigComponent/ConfigDatePicker.js.map +1 -1
  46. package/Components/JsonConfigComponent/ConfigFile.js +0 -46
  47. package/Components/JsonConfigComponent/ConfigFile.js.map +1 -1
  48. package/Components/JsonConfigComponent/ConfigFileSelector.js +7 -126
  49. package/Components/JsonConfigComponent/ConfigFileSelector.js.map +1 -1
  50. package/Components/JsonConfigComponent/ConfigFunc.js +0 -34
  51. package/Components/JsonConfigComponent/ConfigFunc.js.map +1 -1
  52. package/Components/JsonConfigComponent/ConfigGeneric.js +15 -110
  53. package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
  54. package/Components/JsonConfigComponent/ConfigIP.js +2 -35
  55. package/Components/JsonConfigComponent/ConfigIP.js.map +1 -1
  56. package/Components/JsonConfigComponent/ConfigImageUpload.js +4 -44
  57. package/Components/JsonConfigComponent/ConfigImageUpload.js.map +1 -1
  58. package/Components/JsonConfigComponent/ConfigInstanceSelect.js +1 -59
  59. package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -1
  60. package/Components/JsonConfigComponent/ConfigJsonEditor.js +7 -40
  61. package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +1 -1
  62. package/Components/JsonConfigComponent/ConfigLanguage.js +2 -42
  63. package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -1
  64. package/Components/JsonConfigComponent/ConfigNumber.js +2 -45
  65. package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -1
  66. package/Components/JsonConfigComponent/ConfigObjectId.js +6 -40
  67. package/Components/JsonConfigComponent/ConfigObjectId.js.map +1 -1
  68. package/Components/JsonConfigComponent/ConfigPanel.js +7 -91
  69. package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -1
  70. package/Components/JsonConfigComponent/ConfigPassword.js +0 -42
  71. package/Components/JsonConfigComponent/ConfigPassword.js.map +1 -1
  72. package/Components/JsonConfigComponent/ConfigPattern.js +0 -25
  73. package/Components/JsonConfigComponent/ConfigPattern.js.map +1 -1
  74. package/Components/JsonConfigComponent/ConfigRoom.js +0 -34
  75. package/Components/JsonConfigComponent/ConfigRoom.js.map +1 -1
  76. package/Components/JsonConfigComponent/ConfigSelect.js +4 -34
  77. package/Components/JsonConfigComponent/ConfigSelect.js.map +1 -1
  78. package/Components/JsonConfigComponent/ConfigSelectSendTo.js +11 -67
  79. package/Components/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -1
  80. package/Components/JsonConfigComponent/ConfigSendto.js +8 -91
  81. package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -1
  82. package/Components/JsonConfigComponent/ConfigSetState.js +0 -55
  83. package/Components/JsonConfigComponent/ConfigSetState.js.map +1 -1
  84. package/Components/JsonConfigComponent/ConfigSlider.js +0 -28
  85. package/Components/JsonConfigComponent/ConfigSlider.js.map +1 -1
  86. package/Components/JsonConfigComponent/ConfigStaticDivider.js +0 -21
  87. package/Components/JsonConfigComponent/ConfigStaticDivider.js.map +1 -1
  88. package/Components/JsonConfigComponent/ConfigStaticHeader.js +0 -24
  89. package/Components/JsonConfigComponent/ConfigStaticHeader.js.map +1 -1
  90. package/Components/JsonConfigComponent/ConfigStaticImage.js +0 -23
  91. package/Components/JsonConfigComponent/ConfigStaticImage.js.map +1 -1
  92. package/Components/JsonConfigComponent/ConfigStaticText.js +0 -31
  93. package/Components/JsonConfigComponent/ConfigStaticText.js.map +1 -1
  94. package/Components/JsonConfigComponent/ConfigTable.js +13 -105
  95. package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
  96. package/Components/JsonConfigComponent/ConfigTabs.js +2 -35
  97. package/Components/JsonConfigComponent/ConfigTabs.js.map +1 -1
  98. package/Components/JsonConfigComponent/ConfigText.js +0 -34
  99. package/Components/JsonConfigComponent/ConfigText.js.map +1 -1
  100. package/Components/JsonConfigComponent/ConfigTextSendTo.js +0 -37
  101. package/Components/JsonConfigComponent/ConfigTextSendTo.js.map +1 -1
  102. package/Components/JsonConfigComponent/ConfigTimePicker.js +0 -25
  103. package/Components/JsonConfigComponent/ConfigTimePicker.js.map +1 -1
  104. package/Components/JsonConfigComponent/ConfigTopic.js +0 -29
  105. package/Components/JsonConfigComponent/ConfigTopic.js.map +1 -1
  106. package/Components/JsonConfigComponent/ConfigUser.js +2 -40
  107. package/Components/JsonConfigComponent/ConfigUser.js.map +1 -1
  108. package/Components/JsonConfigComponent/index.js +5 -81
  109. package/Components/JsonConfigComponent/index.js.map +1 -1
  110. package/Components/Loader.js +2 -20
  111. package/Components/Loader.js.map +1 -1
  112. package/Components/Loaders/PT.js +2 -20
  113. package/Components/Loaders/PT.js.map +1 -1
  114. package/Components/Loaders/Vendor.js +2 -21
  115. package/Components/Loaders/Vendor.js.map +1 -1
  116. package/Components/Logo.js +6 -39
  117. package/Components/Logo.js.map +1 -1
  118. package/Components/MDUtils.js +3 -27
  119. package/Components/MDUtils.js.map +1 -1
  120. package/Components/ObjectBrowser.d.ts +1 -1
  121. package/Components/ObjectBrowser.js +181 -788
  122. package/Components/ObjectBrowser.js.map +1 -1
  123. package/Components/Router.js +7 -31
  124. package/Components/Router.js.map +1 -1
  125. package/Components/SaveCloseButtons.js +2 -32
  126. package/Components/SaveCloseButtons.js.map +1 -1
  127. package/Components/Schedule.js +29 -251
  128. package/Components/Schedule.js.map +1 -1
  129. package/Components/SelectWithIcon.d.ts +1 -1
  130. package/Components/SelectWithIcon.js +0 -48
  131. package/Components/SelectWithIcon.js.map +1 -1
  132. package/Components/SimpleCron/cron2text.js +45 -91
  133. package/Components/SimpleCron/cron2text.js.map +1 -1
  134. package/Components/SimpleCron/cronText.js +0 -6
  135. package/Components/SimpleCron/cronText.js.map +1 -1
  136. package/Components/SimpleCron/index.js +19 -102
  137. package/Components/SimpleCron/index.js.map +1 -1
  138. package/Components/SimpleCron/jquery.cron.locale.js +44 -24
  139. package/Components/SimpleCron/jquery.cron.locale.js.map +1 -1
  140. package/Components/TabContainer.js +2 -23
  141. package/Components/TabContainer.js.map +1 -1
  142. package/Components/TabContent.js +2 -22
  143. package/Components/TabContent.js.map +1 -1
  144. package/Components/TabHeader.js +1 -17
  145. package/Components/TabHeader.js.map +1 -1
  146. package/Components/TableResize.js +6 -51
  147. package/Components/TableResize.js.map +1 -1
  148. package/Components/TextWithIcon.js +0 -20
  149. package/Components/TextWithIcon.js.map +1 -1
  150. package/Components/ToggleThemeMenu.js +5 -13
  151. package/Components/ToggleThemeMenu.js.map +1 -1
  152. package/Components/TreeTable.js +4 -121
  153. package/Components/TreeTable.js.map +1 -1
  154. package/Components/UploadImage.js +17 -60
  155. package/Components/UploadImage.js.map +1 -1
  156. package/Components/Utils.js +87 -263
  157. package/Components/Utils.js.map +1 -1
  158. package/Components/copy-to-clipboard.js +16 -38
  159. package/Components/copy-to-clipboard.js.map +1 -1
  160. package/Components/withWidth.js +2 -10
  161. package/Components/withWidth.js.map +1 -1
  162. package/Connection.d.ts +1 -0
  163. package/Connection.js +156 -527
  164. package/Connection.js.map +1 -1
  165. package/Dialogs/ComplexCron.js +0 -34
  166. package/Dialogs/ComplexCron.js.map +1 -1
  167. package/Dialogs/Confirm.js +1 -39
  168. package/Dialogs/Confirm.js.map +1 -1
  169. package/Dialogs/Cron.js +1 -37
  170. package/Dialogs/Cron.js.map +1 -1
  171. package/Dialogs/Error.d.ts +1 -1
  172. package/Dialogs/Error.js +2 -29
  173. package/Dialogs/Error.js.map +1 -1
  174. package/Dialogs/FileSelect.js +2 -36
  175. package/Dialogs/FileSelect.js.map +1 -1
  176. package/Dialogs/Message.js +2 -27
  177. package/Dialogs/Message.js.map +1 -1
  178. package/Dialogs/SelectID.d.ts +1 -1
  179. package/Dialogs/SelectID.js +3 -40
  180. package/Dialogs/SelectID.js.map +1 -1
  181. package/Dialogs/SimpleCron.js +1 -33
  182. package/Dialogs/SimpleCron.js.map +1 -1
  183. package/Dialogs/TextInput.js +2 -34
  184. package/Dialogs/TextInput.js.map +1 -1
  185. package/GenericApp.js +55 -150
  186. package/GenericApp.js.map +1 -1
  187. package/Prompt.js +0 -2
  188. package/Prompt.js.map +1 -1
  189. package/README.md +11 -4
  190. package/Theme.js +7 -22
  191. package/Theme.js.map +1 -1
  192. package/i18n/uk.json +326 -0
  193. package/i18n.d.ts +2 -0
  194. package/i18n.js +9 -29
  195. package/i18n.js.map +1 -1
  196. package/icons/IconAdapter.d.ts +2 -2
  197. package/icons/IconAdapter.js +2 -6
  198. package/icons/IconAdapter.js.map +1 -1
  199. package/icons/IconAlias.d.ts +2 -2
  200. package/icons/IconAlias.js +2 -6
  201. package/icons/IconAlias.js.map +1 -1
  202. package/icons/IconChannel.d.ts +2 -2
  203. package/icons/IconChannel.js +2 -6
  204. package/icons/IconChannel.js.map +1 -1
  205. package/icons/IconClearFilter.d.ts +2 -2
  206. package/icons/IconClearFilter.js +0 -5
  207. package/icons/IconClearFilter.js.map +1 -1
  208. package/icons/IconClosed.d.ts +2 -2
  209. package/icons/IconClosed.js +0 -5
  210. package/icons/IconClosed.js.map +1 -1
  211. package/icons/IconCopy.d.ts +2 -2
  212. package/icons/IconCopy.js +0 -5
  213. package/icons/IconCopy.js.map +1 -1
  214. package/icons/IconDevice.d.ts +2 -2
  215. package/icons/IconDevice.js +0 -5
  216. package/icons/IconDevice.js.map +1 -1
  217. package/icons/IconDocument.d.ts +2 -2
  218. package/icons/IconDocument.js +0 -5
  219. package/icons/IconDocument.js.map +1 -1
  220. package/icons/IconDocumentReadOnly.d.ts +2 -2
  221. package/icons/IconDocumentReadOnly.js +0 -5
  222. package/icons/IconDocumentReadOnly.js.map +1 -1
  223. package/icons/IconExpert.d.ts +2 -2
  224. package/icons/IconExpert.js +0 -5
  225. package/icons/IconExpert.js.map +1 -1
  226. package/icons/IconFx.d.ts +2 -2
  227. package/icons/IconFx.js +0 -5
  228. package/icons/IconFx.js.map +1 -1
  229. package/icons/IconInstance.d.ts +2 -2
  230. package/icons/IconInstance.js +0 -5
  231. package/icons/IconInstance.js.map +1 -1
  232. package/icons/IconLogout.d.ts +2 -2
  233. package/icons/IconLogout.js +0 -5
  234. package/icons/IconLogout.js.map +1 -1
  235. package/icons/IconNoIcon.d.ts +2 -2
  236. package/icons/IconNoIcon.js +0 -5
  237. package/icons/IconNoIcon.js.map +1 -1
  238. package/icons/IconOpen.d.ts +2 -2
  239. package/icons/IconOpen.js +0 -5
  240. package/icons/IconOpen.js.map +1 -1
  241. package/icons/IconState.d.ts +2 -2
  242. package/icons/IconState.js +0 -6
  243. package/icons/IconState.js.map +1 -1
  244. package/package.json +15 -15
@@ -1 +1 @@
1
- {"version":3,"file":"ChipInput.js","names":["variantComponent","standard","Input","filled","FilledInput","outlined","OutlinedInput","styles","theme","light","palette","type","bottomLineColor","root","inputRoot","display","flexWrap","flex","marginTop","minWidth","boxSizing","paddingTop","input","textOverflow","overflow","whiteSpace","appearance","WebkitTapHighlightColor","chipContainer","flexFlow","cursor","marginBottom","minHeight","height","paddingBottom","labeled","label","top","labelShrink","helperText","focused","disabled","underline","borderBottom","primary","left","bottom","content","position","right","transform","transition","transitions","create","duration","shorter","easing","easeOut","pointerEvents","borderBottomColor","error","main","text","borderBottomStyle","backgroundColor","chip","margin","marginDense","keyCodes","BACKSPACE","DELETE","LEFT_ARROW","RIGHT_ARROW","ChipInput","props","chips","errorText","undefined","focusedChip","inputValue","isClean","isFocused","chipsUpdated","prevPropsValue","actualInput","focus","state","setState","event","onBlur","value","target","addChipOptions","blurBehavior","clearInputOnFail","delayBeforeAdd","numChipsBefore","length","inputBlurTimeout","setTimeout","numChipsAfter","handleAddChip","clearInput","onFocus","_keyPressed","_preventChipCreation","onKeyDown","isDefaultPrevented","newChipKeyCodes","includes","keyCode","newChipKeys","key","result","preventDefault","handleDeleteChip","indexOf","updateInput","onKeyUp","onKeyPress","e","onUpdateInput","ref","inputRef","defaultValue","labelRef","React","createRef","variant","labelNode","ReactDOM","findDOMNode","current","forceUpdate","clearTimeout","blur","options","onBeforeAdd","dataSourceConfig","allowDuplicates","some","c","onAdd","updateChips","trim","i","slice","changed","splice","onDelete","additionalUpdates","onChange","alwaysShowPlaceholder","children","chipRenderer","defaultChipRenderer","classes","className","clearInputValueOnChange","dataSource","disableUnderline","filter","FormHelperTextProps","fullWidth","fullWidthInput","id","InputProps","InputLabelProps","placeholder","readOnly","required","rootRef","other","actualInputValue","hasInput","shrinkFloatingLabel","shrink","chipComponents","map","isDisabled","isReadOnly","handleClick","handleDelete","InputMore","notched","labelWidth","offsetWidth","startAdornment","InputComponent","Utils","clsx","handleUpdateInput","handleKeyDown","handleKeyPress","handleKeyUp","handleInputFocus","handleInputBlur","setActualInputRef","newState","Component","propTypes","PropTypes","bool","oneOf","func","array","shape","string","isRequired","object","node","arrayOf","number","defaultProps","withStyles","name","blue"],"sources":["JsonConfigComponent/ChipInput.jsx"],"sourcesContent":["/**\n * Notice: Some code was adapted from Material-UI's text field.\n * Copyright (c) 2014 Call-Em-All (https://github.com/callemall/material-ui)\n */\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport PropTypes from 'prop-types'\nimport Input from '@mui/material/Input'\nimport FilledInput from '@mui/material/FilledInput/FilledInput'\nimport OutlinedInput from '@mui/material/OutlinedInput'\nimport InputLabel from '@mui/material/InputLabel'\nimport Chip from '@mui/material/Chip'\nimport withStyles from '@mui/styles/withStyles'\nimport blue from '@mui/material/colors/blue'\nimport FormControl from '@mui/material/FormControl'\nimport FormHelperText from '@mui/material/FormHelperText'\nimport Utils from '../Utils';\n\nconst variantComponent = {\n standard: Input,\n filled: FilledInput,\n outlined: OutlinedInput,\n};\n\nconst styles = (theme) => {\n const light = theme.palette.type === 'light';\n const bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';\n\n return {\n root: {},\n inputRoot: {\n display: 'inline-flex',\n flexWrap: 'wrap',\n flex: 1,\n marginTop: 0,\n minWidth: 70,\n '&$outlined,&$filled': {\n boxSizing: 'border-box',\n },\n '&$outlined': {\n paddingTop: 14,\n },\n '&$filled': {\n paddingTop: 28,\n }\n },\n input: {\n display: 'inline-block',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n appearance: 'none', // Remove border in Safari, doesn't seem to break anything in other browsers\n WebkitTapHighlightColor: 'rgba(0,0,0,0)', // Remove mobile color flashing (deprecated style).\n float: 'left',\n flex: 1,\n },\n chipContainer: {\n display: 'flex',\n flexFlow: 'row wrap',\n cursor: 'text',\n marginBottom: -2,\n minHeight: 40,\n '&$labeled&$standard': {\n marginTop: 18,\n },\n },\n outlined: {\n '& input': {\n height: 16,\n paddingTop: 4,\n paddingBottom: 12,\n marginTop: 4,\n marginBottom: 4,\n },\n },\n standard: {},\n filled: {\n '& input': {\n height: 22,\n marginBottom: 4,\n marginTop: 4,\n paddingTop: 0,\n },\n '$marginDense & input': {\n height: 26,\n },\n },\n labeled: {},\n label: {\n top: 4,\n '&$outlined&:not($labelShrink)': {\n top: 2,\n '$marginDense &': {\n top: 5,\n }\n },\n '&$filled&:not($labelShrink)': {\n top: 15,\n '$marginDense &': {\n top: 20,\n },\n },\n },\n labelShrink: {\n top: 0,\n },\n helperText: {\n marginBottom: -20,\n },\n focused: {},\n disabled: {},\n underline: {\n '&:after': {\n borderBottom: `2px solid ${theme.palette.primary[light ? 'dark' : 'light']}`,\n left: 0,\n bottom: 0,\n // Doing the other way around crash on IE 11 \"''\" https://github.com/cssinjs/jss/issues/242\n content: '\"\"',\n position: 'absolute',\n right: 0,\n transform: 'scaleX(0)',\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut,\n }),\n pointerEvents: 'none', // Transparent to the hover style.\n },\n '&$focused:after': {\n transform: 'scaleX(1)',\n },\n '&$error:after': {\n borderBottomColor: theme.palette.error.main,\n transform: 'scaleX(1)', // error is always underlined in red\n },\n '&:before': {\n borderBottom: `1px solid ${bottomLineColor}`,\n left: 0,\n bottom: 0,\n // Doing the other way around crash on IE 11 \"''\" https://github.com/cssinjs/jss/issues/242\n content: '\"\\\\00a0\"',\n position: 'absolute',\n right: 0,\n transition: theme.transitions.create('border-bottom-color', {\n duration: theme.transitions.duration.shorter,\n }),\n pointerEvents: 'none', // Transparent to the hover style.\n },\n '&:hover:not($disabled):not($focused):not($error):before': {\n borderBottom: `2px solid ${theme.palette.text.primary}`,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n borderBottom: `1px solid ${bottomLineColor}`,\n }\n },\n '&$disabled:before': {\n borderBottomStyle: 'dotted',\n }\n },\n error: {\n '&:after': {\n backgroundColor: theme.palette.error.main,\n transform: 'scaleX(1)', // error is always underlined in red\n }\n },\n chip: {\n margin: '0 8px 8px 0',\n float: 'left',\n },\n marginDense: {},\n }\n}\n\nconst keyCodes = {\n BACKSPACE: 8,\n DELETE: 46,\n LEFT_ARROW: 37,\n RIGHT_ARROW: 39,\n};\n\nclass ChipInput extends React.Component {\n state = {\n chips: [],\n errorText: undefined,\n focusedChip: null,\n inputValue: '',\n isClean: true,\n isFocused: false,\n chipsUpdated: false,\n prevPropsValue: [],\n };\n\n constructor(props) {\n super(props);\n if (props.defaultValue) {\n this.state.chips = props.defaultValue;\n }\n this.labelRef = React.createRef();\n this.input = React.createRef();\n }\n\n componentDidMount() {\n if (this.props.variant === 'outlined') {\n this.labelNode = ReactDOM.findDOMNode(this.labelRef.current);\n this.forceUpdate();\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this.inputBlurTimeout);\n }\n\n static getDerivedStateFromProps(props, state) {\n let newState = null;\n\n if (props.value && props.value.length !== state.prevPropsValue.length) {\n newState = {prevPropsValue: props.value};\n if (props.clearInputValueOnChange) {\n newState.inputValue = '';\n }\n }\n\n // if change detection is only needed for clearInputValueOnChange\n if (props.clearInputValueOnChange && props.value && props.value.length !== state.prevPropsValue.length) {\n newState = {prevPropsValue: props.value, inputValue: ''};\n }\n\n if (props.disabled) {\n newState = {...newState, focusedChip: null};\n }\n\n if (!state.chipsUpdated && props.defaultValue) {\n newState = {...newState, chips: props.defaultValue};\n }\n\n return newState;\n }\n\n /**\n * Blurs this component.\n * @public\n */\n blur() {\n if (this.input) {\n this.actualInput.blur();\n }\n }\n\n /**\n * Focuses this component.\n * @public\n */\n focus = () => {\n this.actualInput.focus();\n if (this.state.focusedChip) {\n this.setState({focusedChip: null});\n }\n }\n\n handleInputBlur = event => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n this.setState({ isFocused: false });\n if (this.state.focusedChip) {\n this.setState({ focusedChip: null });\n }\n const value = event.target.value;\n let addChipOptions;\n switch (this.props.blurBehavior) {\n case 'add-or-clear':\n addChipOptions = { clearInputOnFail: true };\n // falls through\n case 'add':\n if (this.props.delayBeforeAdd) {\n // Let's assume that we only want to add the existing content as chip, when\n // another event has not added a chip within 200ms .\n // e.g. onSelection Callback in Autocomplete case\n const numChipsBefore = (this.props.value || this.state.chips).length;\n this.inputBlurTimeout = setTimeout(() => {\n const numChipsAfter = (this.props.value || this.state.chips).length;\n if (numChipsBefore === numChipsAfter) {\n this.handleAddChip(value, addChipOptions);\n } else {\n this.clearInput();\n }\n }, 150);\n } else {\n this.handleAddChip(value, addChipOptions);\n }\n break;\n\n case 'clear':\n this.clearInput();\n break;\n\n default:\n break;\n }\n }\n\n handleInputFocus = event => {\n this.setState({ isFocused: true });\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n }\n\n handleKeyDown = event => {\n const { focusedChip } = this.state;\n this._keyPressed = false;\n this._preventChipCreation = false;\n\n if (this.props.onKeyDown) {\n // Needed for arrow controls on menu in autocomplete scenario\n this.props.onKeyDown(event);\n // Check if the callback marked the event as isDefaultPrevented() and skip further actions\n // enter key for example should not always add the current value of the inputField\n if (event.isDefaultPrevented()) {\n return;\n }\n }\n const chips = this.props.value || this.state.chips;\n if (this.props.newChipKeyCodes.includes(event.keyCode) || this.props.newChipKeys.includes(event.key)) {\n const result = this.handleAddChip(event.target.value);\n if (result !== false) {\n event.preventDefault();\n }\n return;\n }\n\n switch (event.keyCode) {\n case keyCodes.BACKSPACE:\n if (event.target.value === '') {\n if (focusedChip) {\n this.handleDeleteChip(chips[focusedChip], focusedChip);\n if (focusedChip) {\n this.setState({focusedChip: focusedChip - 1});\n }\n } else {\n this.setState({focusedChip: chips.length - 1});\n }\n }\n break;\n case keyCodes.DELETE:\n if (event.target.value === '' && focusedChip) {\n this.handleDeleteChip(chips[focusedChip], focusedChip);\n if (focusedChip <= chips.length - 1) {\n this.setState({ focusedChip });\n }\n }\n break;\n case keyCodes.LEFT_ARROW:\n if (focusedChip == null && event.target.value === '' && chips.length) {\n this.setState({ focusedChip: chips.length - 1 });\n } else if (focusedChip != null && focusedChip > 0) {\n this.setState({ focusedChip: focusedChip - 1 });\n }\n break;\n case keyCodes.RIGHT_ARROW:\n if (focusedChip != null && focusedChip < chips.length - 1) {\n this.setState({ focusedChip: focusedChip + 1 });\n } else {\n this.setState({ focusedChip: null });\n }\n break;\n default:\n this.setState({ focusedChip: null });\n break;\n }\n }\n\n handleKeyUp = event => {\n if (!this._preventChipCreation && (this.props.newChipKeyCodes.indexOf(event.keyCode) >= 0 || this.props.newChipKeys.indexOf(event.key) >= 0) && this._keyPressed) {\n this.clearInput();\n } else {\n this.updateInput(event.target.value);\n }\n if (this.props.onKeyUp) {\n this.props.onKeyUp(event);\n }\n }\n\n handleKeyPress = event => {\n this._keyPressed = true;\n if (this.props.onKeyPress) {\n this.props.onKeyPress(event);\n }\n }\n\n handleUpdateInput = e => {\n if (this.props.inputValue == null) {\n this.updateInput(e.target.value);\n }\n\n if (this.props.onUpdateInput) {\n this.props.onUpdateInput(e);\n }\n }\n\n /**\n * Handles adding a chip.\n * @param {string|object} chip Value of the chip, either a string or an object (if dataSourceConfig is set)\n * @param {object=} options Additional options\n * @param {boolean=} options.clearInputOnFail If `true`, and `onBeforeAdd` returns `false`, clear the input\n * @returns True if the chip was added (or at least `onAdd` was called), false if adding the chip was prevented\n */\n handleAddChip(chip, options) {\n if (this.props.onBeforeAdd && !this.props.onBeforeAdd(chip)) {\n this._preventChipCreation = true;\n if (options && options.clearInputOnFail) {\n this.clearInput();\n }\n return false;\n }\n this.clearInput();\n const chips = this.props.value || this.state.chips;\n\n if (this.props.dataSourceConfig) {\n if (typeof chip === 'string') {\n chip = {\n [this.props.dataSourceConfig.text]: chip,\n [this.props.dataSourceConfig.value]: chip\n };\n }\n\n if (this.props.allowDuplicates || !chips.some(c => c[this.props.dataSourceConfig.value] === chip[this.props.dataSourceConfig.value])) {\n if (this.props.value && this.props.onAdd) {\n this.props.onAdd(chip);\n } else {\n this.updateChips([...this.state.chips, chip]);\n }\n }\n return true;\n }\n\n if (chip.trim().length > 0) {\n if (this.props.allowDuplicates || !chips.includes(chip)) {\n if (this.props.value && this.props.onAdd) {\n this.props.onAdd(chip);\n } else {\n this.updateChips([...this.state.chips, chip]);\n }\n }\n return true;\n }\n return false;\n }\n\n handleDeleteChip(chip, i) {\n if (!this.props.value) {\n const chips = this.state.chips.slice();\n const changed = chips.splice(i, 1); // remove the chip at index i\n if (changed) {\n let focusedChip = this.state.focusedChip;\n if (this.state.focusedChip === i) {\n focusedChip = null;\n } else if (this.state.focusedChip > i) {\n focusedChip = this.state.focusedChip - 1;\n }\n this.updateChips(chips, { focusedChip });\n }\n } else if (this.props.onDelete) {\n this.props.onDelete(chip, i);\n }\n }\n\n updateChips(chips, additionalUpdates = {}) {\n this.setState({ chips, chipsUpdated: true, ...additionalUpdates });\n if (this.props.onChange) {\n this.props.onChange(chips);\n }\n }\n\n /**\n * Clears the text field for adding new chips.\n * This only works in uncontrolled input mode, i.e. if the inputValue prop is not used.\n * @public\n */\n clearInput() {\n this.updateInput('');\n }\n\n updateInput(value) {\n this.setState({ inputValue: value });\n }\n\n /**\n * Set the reference to the actual input, that is the input of the Input.\n * @param {object} ref - The reference\n */\n setActualInputRef = ref => {\n this.actualInput = ref;\n this.props.inputRef && this.props.inputRef(ref);\n }\n\n render() {\n const {\n allowDuplicates,\n alwaysShowPlaceholder,\n blurBehavior,\n children,\n chipRenderer = defaultChipRenderer,\n classes,\n className,\n clearInputValueOnChange,\n dataSource,\n dataSourceConfig,\n defaultValue,\n delayBeforeAdd,\n disabled,\n disableUnderline,\n error,\n filter,\n FormHelperTextProps,\n fullWidth,\n fullWidthInput,\n helperText,\n id,\n InputProps = {},\n inputRef,\n InputLabelProps = {},\n inputValue,\n label,\n newChipKeyCodes,\n newChipKeys,\n onBeforeAdd,\n onAdd,\n onBlur,\n onDelete,\n onChange,\n onFocus,\n onKeyDown,\n onKeyPress,\n onKeyUp,\n onUpdateInput,\n placeholder,\n readOnly,\n required,\n rootRef,\n value,\n variant,\n ...other\n } = this.props;\n\n const chips = value || this.state.chips || [];\n const actualInputValue = inputValue != null ? inputValue : this.state.inputValue;\n\n const hasInput = (this.props.value || actualInputValue).length || actualInputValue.length;\n const shrinkFloatingLabel = InputLabelProps.shrink != null\n ? InputLabelProps.shrink\n : (label != null && (hasInput || this.state.isFocused || chips.length));\n\n const chipComponents = chips.map((chip, i) => {\n const value = dataSourceConfig ? chip[dataSourceConfig.value] : chip;\n return chipRenderer(\n {\n value,\n text: dataSourceConfig ? chip[dataSourceConfig.text] : chip,\n chip,\n isDisabled: !!disabled,\n isReadOnly: readOnly,\n isFocused: this.state.focusedChip === i,\n handleClick: () => this.setState({focusedChip: i}),\n handleDelete: () => this.handleDeleteChip(chip, i),\n className: classes.chip\n },\n i\n );\n });\n\n const InputMore = {}\n if (variant === 'outlined') {\n InputMore.notched = shrinkFloatingLabel;\n InputMore.labelWidth =\n (shrinkFloatingLabel && this.labelNode && this.labelNode.offsetWidth) ||\n 0;\n }\n\n if (variant !== 'standard') {\n InputMore.startAdornment = <React.Fragment>{chipComponents}</React.Fragment>;\n } else {\n InputProps.disableUnderline = true;\n }\n\n const InputComponent = variantComponent[variant];\n\n return <FormControl\n ref={rootRef}\n fullWidth={fullWidth}\n className={Utils.clsx(className, classes.root, other.margin === 'dense' && classes.marginDense)}\n error={error}\n required={chips.length > 0 ? undefined : required}\n onClick={this.focus}\n disabled={disabled}\n variant={variant}\n {...other}\n >\n {label && <InputLabel\n htmlFor={id}\n classes={{root: Utils.clsx(classes[variant], classes.label), shrink: classes.labelShrink}}\n shrink={shrinkFloatingLabel}\n focused={this.state.isFocused}\n variant={variant}\n ref={this.labelRef}\n required={required}\n {...InputLabelProps}\n >\n {label}\n </InputLabel>}\n <div\n className={Utils.clsx(\n classes[variant],\n classes.chipContainer,\n this.state.isFocused && classes.focused,\n !disableUnderline && variant === 'standard' && classes.underline,\n disabled && classes.disabled,\n label && classes.labeled,\n error && classes.error\n )}\n >\n {variant === 'standard' && chipComponents}\n <InputComponent\n ref={this.input}\n classes={{\n input: Utils.clsx(classes.input, classes[variant]),\n root: Utils.clsx(classes.inputRoot, classes[variant])\n }}\n id={id}\n value={actualInputValue}\n onChange={this.handleUpdateInput}\n onKeyDown={this.handleKeyDown}\n onKeyPress={this.handleKeyPress}\n onKeyUp={this.handleKeyUp}\n onFocus={this.handleInputFocus}\n onBlur={this.handleInputBlur}\n inputRef={this.setActualInputRef}\n disabled={disabled}\n fullWidth={fullWidthInput}\n placeholder={(!hasInput && (shrinkFloatingLabel || label == null)) || alwaysShowPlaceholder ? placeholder : null}\n readOnly={readOnly}\n {...InputProps}\n {...InputMore}\n />\n </div>\n {helperText && <FormHelperText\n {...FormHelperTextProps}\n className={FormHelperTextProps ? Utils.clsx(FormHelperTextProps.className, classes.helperText) : classes.helperText}\n >\n {helperText}\n </FormHelperText>}\n </FormControl>;\n }\n}\n\nChipInput.propTypes = {\n /** Allows duplicate chips if set to true. */\n allowDuplicates: PropTypes.bool,\n /** If true, the placeholder will always be visible. */\n alwaysShowPlaceholder: PropTypes.bool,\n /** Behavior when the chip input is blurred: `'clear'` clears the input, `'add'` creates a chip and `'ignore'` keeps the input. */\n blurBehavior: PropTypes.oneOf(['clear', 'add', 'add-or-clear', 'ignore']),\n /** A function of the type `({ value, text, chip, isFocused, isDisabled, isReadOnly, handleClick, handleDelete, className }, key) => node` that returns a chip based on the given properties. This can be used to customize chip styles. Each item in the `dataSource` array will be passed to `chipRenderer` as arguments `chip`, `value` and `text`. If `dataSource` is an array of objects and `dataSourceConfig` is present, then `value` and `text` will instead correspond to the object values defined in `dataSourceConfig`. If `dataSourceConfig` is not set and `dataSource` is an array of objects, then a custom `chipRenderer` must be set. `chip` is always the raw value from `dataSource`, either an object or a string. */\n chipRenderer: PropTypes.func,\n /** Whether the input value should be cleared if the `value` prop is changed. */\n clearInputValueOnChange: PropTypes.bool,\n /** Data source for auto complete. This should be an array of strings or objects. */\n dataSource: PropTypes.array,\n /** Config for objects list dataSource, e.g. `{ text: 'text', value: 'value' }`. If not specified, the `dataSource` must be a flat array of strings or a custom `chipRenderer` must be set to handle the objects. */\n dataSourceConfig: PropTypes.shape({\n text: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired\n }),\n /** The chips to display by default (for uncontrolled mode). */\n defaultValue: PropTypes.array,\n /** Whether to use `setTimeout` to delay adding chips in case other input events like `onSelection` need to fire first */\n delayBeforeAdd: PropTypes.bool,\n /** Disables the chip input if set to true. */\n disabled: PropTypes.bool,\n /** Disable the input underline. Only valid for 'standard' variant */\n disableUnderline: PropTypes.bool,\n /** Props to pass through to the `FormHelperText` component. */\n FormHelperTextProps: PropTypes.object,\n /** If true, the chip input will fill the available width. */\n fullWidth: PropTypes.bool,\n /** If true, the input field will always be below the chips and fill the available space. By default, it will try to be beside the chips. */\n fullWidthInput: PropTypes.bool,\n /** Helper text that is displayed below the input. */\n helperText: PropTypes.node,\n /** Props to pass through to the `InputLabel`. */\n InputLabelProps: PropTypes.object,\n /** Props to pass through to the `Input`. */\n InputProps: PropTypes.object,\n /** Use this property to pass a ref callback to the native input component. */\n inputRef: PropTypes.func,\n /** The input value (enables controlled mode for the text input if set). */\n inputValue: PropTypes.string,\n /* The content of the floating label. */\n label: PropTypes.node,\n /** The key codes (`KeyboardEvent.keyCode`) used to determine when to create a new chip. */\n newChipKeyCodes: PropTypes.arrayOf(PropTypes.number),\n /** The keys (`KeyboardEvent.key`) used to determine when to create a new chip. */\n newChipKeys: PropTypes.arrayOf(PropTypes.string),\n /** Callback function that is called when a new chip was added (in controlled mode). */\n onAdd: PropTypes.func,\n /** Callback function that is called with the chip to be added and should return true to add the chip or false to prevent the chip from being added without clearing the text input. */\n onBeforeAdd: PropTypes.func,\n /** Callback function that is called when the chips change (in uncontrolled mode). */\n onChange: PropTypes.func,\n /** Callback function that is called when a new chip was removed (in controlled mode). */\n onDelete: PropTypes.func,\n /** Callback function that is called when the input changes. */\n onUpdateInput: PropTypes.func,\n /** A placeholder that is displayed if the input has no values. */\n placeholder: PropTypes.string,\n /** Makes the chip input read-only if set to true. */\n readOnly: PropTypes.bool,\n /** The chips to display (enables controlled mode if set). */\n value: PropTypes.array,\n /** The variant of the Input component */\n variant: PropTypes.oneOf(['outlined', 'standard', 'filled'])\n}\n\nChipInput.defaultProps = {\n allowDuplicates: false,\n blurBehavior: 'clear',\n clearInputValueOnChange: false,\n delayBeforeAdd: false,\n disableUnderline: false,\n newChipKeyCodes: [13],\n newChipKeys: ['Enter'],\n variant: 'standard'\n};\n\nexport default withStyles(styles, {name: 'WAMuiChipInput'})(ChipInput);\n\nexport const defaultChipRenderer = ({\n value,\n text,\n isFocused,\n isDisabled,\n isReadOnly,\n handleClick,\n handleDelete,\n className\n}, key) =>\n <Chip\n key={key}\n className={className}\n style={{\n pointerEvents: isDisabled || isReadOnly ? 'none' : undefined,\n backgroundColor: isFocused ? blue[300] : undefined\n }}\n onClick={handleClick}\n onDelete={handleDelete}\n label={text}\n />;"],"mappings":"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"}
1
+ {"version":3,"file":"ChipInput.js","names":["variantComponent","standard","Input","filled","FilledInput","outlined","OutlinedInput","styles","theme","light","palette","type","bottomLineColor","root","inputRoot","display","flexWrap","flex","marginTop","minWidth","boxSizing","paddingTop","input","textOverflow","overflow","whiteSpace","appearance","WebkitTapHighlightColor","chipContainer","flexFlow","cursor","marginBottom","minHeight","height","paddingBottom","labeled","label","top","labelShrink","helperText","focused","disabled","underline","borderBottom","primary","left","bottom","content","position","right","transform","transition","transitions","create","duration","shorter","easing","easeOut","pointerEvents","borderBottomColor","error","main","text","borderBottomStyle","backgroundColor","chip","margin","marginDense","keyCodes","BACKSPACE","DELETE","LEFT_ARROW","RIGHT_ARROW","ChipInput","props","chips","errorText","undefined","focusedChip","inputValue","isClean","isFocused","chipsUpdated","prevPropsValue","actualInput","focus","state","setState","event","onBlur","value","target","addChipOptions","blurBehavior","clearInputOnFail","delayBeforeAdd","numChipsBefore","length","inputBlurTimeout","setTimeout","numChipsAfter","handleAddChip","clearInput","onFocus","_keyPressed","_preventChipCreation","onKeyDown","isDefaultPrevented","newChipKeyCodes","includes","keyCode","newChipKeys","key","result","preventDefault","handleDeleteChip","indexOf","updateInput","onKeyUp","onKeyPress","e","onUpdateInput","ref","inputRef","defaultValue","labelRef","React","createRef","variant","labelNode","ReactDOM","findDOMNode","current","forceUpdate","clearTimeout","blur","options","onBeforeAdd","dataSourceConfig","allowDuplicates","some","c","onAdd","updateChips","trim","i","slice","changed","splice","onDelete","additionalUpdates","onChange","alwaysShowPlaceholder","children","chipRenderer","defaultChipRenderer","classes","className","clearInputValueOnChange","dataSource","disableUnderline","filter","FormHelperTextProps","fullWidth","fullWidthInput","id","InputProps","InputLabelProps","placeholder","readOnly","required","rootRef","other","actualInputValue","hasInput","shrinkFloatingLabel","shrink","chipComponents","map","isDisabled","isReadOnly","handleClick","handleDelete","InputMore","notched","labelWidth","offsetWidth","startAdornment","InputComponent","Utils","clsx","handleUpdateInput","handleKeyDown","handleKeyPress","handleKeyUp","handleInputFocus","handleInputBlur","setActualInputRef","newState","Component","propTypes","PropTypes","bool","oneOf","func","array","shape","string","isRequired","object","node","arrayOf","number","defaultProps","withStyles","name","blue"],"sources":["JsonConfigComponent/ChipInput.jsx"],"sourcesContent":["/**\n * Notice: Some code was adapted from Material-UI's text field.\n * Copyright (c) 2014 Call-Em-All (https://github.com/callemall/material-ui)\n */\nimport React from 'react'\nimport ReactDOM from 'react-dom'\nimport PropTypes from 'prop-types'\nimport Input from '@mui/material/Input'\nimport FilledInput from '@mui/material/FilledInput/FilledInput'\nimport OutlinedInput from '@mui/material/OutlinedInput'\nimport InputLabel from '@mui/material/InputLabel'\nimport Chip from '@mui/material/Chip'\nimport withStyles from '@mui/styles/withStyles'\nimport blue from '@mui/material/colors/blue'\nimport FormControl from '@mui/material/FormControl'\nimport FormHelperText from '@mui/material/FormHelperText'\nimport Utils from '../Utils';\n\nconst variantComponent = {\n standard: Input,\n filled: FilledInput,\n outlined: OutlinedInput,\n};\n\nconst styles = (theme) => {\n const light = theme.palette.type === 'light';\n const bottomLineColor = light ? 'rgba(0, 0, 0, 0.42)' : 'rgba(255, 255, 255, 0.7)';\n\n return {\n root: {},\n inputRoot: {\n display: 'inline-flex',\n flexWrap: 'wrap',\n flex: 1,\n marginTop: 0,\n minWidth: 70,\n '&$outlined,&$filled': {\n boxSizing: 'border-box',\n },\n '&$outlined': {\n paddingTop: 14,\n },\n '&$filled': {\n paddingTop: 28,\n }\n },\n input: {\n display: 'inline-block',\n textOverflow: 'ellipsis',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n appearance: 'none', // Remove border in Safari, doesn't seem to break anything in other browsers\n WebkitTapHighlightColor: 'rgba(0,0,0,0)', // Remove mobile color flashing (deprecated style).\n float: 'left',\n flex: 1,\n },\n chipContainer: {\n display: 'flex',\n flexFlow: 'row wrap',\n cursor: 'text',\n marginBottom: -2,\n minHeight: 40,\n '&$labeled&$standard': {\n marginTop: 18,\n },\n },\n outlined: {\n '& input': {\n height: 16,\n paddingTop: 4,\n paddingBottom: 12,\n marginTop: 4,\n marginBottom: 4,\n },\n },\n standard: {},\n filled: {\n '& input': {\n height: 22,\n marginBottom: 4,\n marginTop: 4,\n paddingTop: 0,\n },\n '$marginDense & input': {\n height: 26,\n },\n },\n labeled: {},\n label: {\n top: 4,\n '&$outlined&:not($labelShrink)': {\n top: 2,\n '$marginDense &': {\n top: 5,\n }\n },\n '&$filled&:not($labelShrink)': {\n top: 15,\n '$marginDense &': {\n top: 20,\n },\n },\n },\n labelShrink: {\n top: 0,\n },\n helperText: {\n marginBottom: -20,\n },\n focused: {},\n disabled: {},\n underline: {\n '&:after': {\n borderBottom: `2px solid ${theme.palette.primary[light ? 'dark' : 'light']}`,\n left: 0,\n bottom: 0,\n // Doing the other way around crash on IE 11 \"''\" https://github.com/cssinjs/jss/issues/242\n content: '\"\"',\n position: 'absolute',\n right: 0,\n transform: 'scaleX(0)',\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shorter,\n easing: theme.transitions.easing.easeOut,\n }),\n pointerEvents: 'none', // Transparent to the hover style.\n },\n '&$focused:after': {\n transform: 'scaleX(1)',\n },\n '&$error:after': {\n borderBottomColor: theme.palette.error.main,\n transform: 'scaleX(1)', // error is always underlined in red\n },\n '&:before': {\n borderBottom: `1px solid ${bottomLineColor}`,\n left: 0,\n bottom: 0,\n // Doing the other way around crash on IE 11 \"''\" https://github.com/cssinjs/jss/issues/242\n content: '\"\\\\00a0\"',\n position: 'absolute',\n right: 0,\n transition: theme.transitions.create('border-bottom-color', {\n duration: theme.transitions.duration.shorter,\n }),\n pointerEvents: 'none', // Transparent to the hover style.\n },\n '&:hover:not($disabled):not($focused):not($error):before': {\n borderBottom: `2px solid ${theme.palette.text.primary}`,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n borderBottom: `1px solid ${bottomLineColor}`,\n }\n },\n '&$disabled:before': {\n borderBottomStyle: 'dotted',\n }\n },\n error: {\n '&:after': {\n backgroundColor: theme.palette.error.main,\n transform: 'scaleX(1)', // error is always underlined in red\n }\n },\n chip: {\n margin: '0 8px 8px 0',\n float: 'left',\n },\n marginDense: {},\n }\n}\n\nconst keyCodes = {\n BACKSPACE: 8,\n DELETE: 46,\n LEFT_ARROW: 37,\n RIGHT_ARROW: 39,\n};\n\nclass ChipInput extends React.Component {\n state = {\n chips: [],\n errorText: undefined,\n focusedChip: null,\n inputValue: '',\n isClean: true,\n isFocused: false,\n chipsUpdated: false,\n prevPropsValue: [],\n };\n\n constructor(props) {\n super(props);\n if (props.defaultValue) {\n this.state.chips = props.defaultValue;\n }\n this.labelRef = React.createRef();\n this.input = React.createRef();\n }\n\n componentDidMount() {\n if (this.props.variant === 'outlined') {\n this.labelNode = ReactDOM.findDOMNode(this.labelRef.current);\n this.forceUpdate();\n }\n }\n\n componentWillUnmount() {\n clearTimeout(this.inputBlurTimeout);\n }\n\n static getDerivedStateFromProps(props, state) {\n let newState = null;\n\n if (props.value && props.value.length !== state.prevPropsValue.length) {\n newState = {prevPropsValue: props.value};\n if (props.clearInputValueOnChange) {\n newState.inputValue = '';\n }\n }\n\n // if change detection is only needed for clearInputValueOnChange\n if (props.clearInputValueOnChange && props.value && props.value.length !== state.prevPropsValue.length) {\n newState = {prevPropsValue: props.value, inputValue: ''};\n }\n\n if (props.disabled) {\n newState = {...newState, focusedChip: null};\n }\n\n if (!state.chipsUpdated && props.defaultValue) {\n newState = {...newState, chips: props.defaultValue};\n }\n\n return newState;\n }\n\n /**\n * Blurs this component.\n * @public\n */\n blur() {\n if (this.input) {\n this.actualInput.blur();\n }\n }\n\n /**\n * Focuses this component.\n * @public\n */\n focus = () => {\n this.actualInput.focus();\n if (this.state.focusedChip) {\n this.setState({focusedChip: null});\n }\n }\n\n handleInputBlur = event => {\n if (this.props.onBlur) {\n this.props.onBlur(event);\n }\n this.setState({ isFocused: false });\n if (this.state.focusedChip) {\n this.setState({ focusedChip: null });\n }\n const value = event.target.value;\n let addChipOptions;\n switch (this.props.blurBehavior) {\n case 'add-or-clear':\n addChipOptions = { clearInputOnFail: true };\n // falls through\n case 'add':\n if (this.props.delayBeforeAdd) {\n // Let's assume that we only want to add the existing content as chip, when\n // another event has not added a chip within 200ms .\n // e.g. onSelection Callback in Autocomplete case\n const numChipsBefore = (this.props.value || this.state.chips).length;\n this.inputBlurTimeout = setTimeout(() => {\n const numChipsAfter = (this.props.value || this.state.chips).length;\n if (numChipsBefore === numChipsAfter) {\n this.handleAddChip(value, addChipOptions);\n } else {\n this.clearInput();\n }\n }, 150);\n } else {\n this.handleAddChip(value, addChipOptions);\n }\n break;\n\n case 'clear':\n this.clearInput();\n break;\n\n default:\n break;\n }\n }\n\n handleInputFocus = event => {\n this.setState({ isFocused: true });\n if (this.props.onFocus) {\n this.props.onFocus(event);\n }\n }\n\n handleKeyDown = event => {\n const { focusedChip } = this.state;\n this._keyPressed = false;\n this._preventChipCreation = false;\n\n if (this.props.onKeyDown) {\n // Needed for arrow controls on menu in autocomplete scenario\n this.props.onKeyDown(event);\n // Check if the callback marked the event as isDefaultPrevented() and skip further actions\n // enter key for example should not always add the current value of the inputField\n if (event.isDefaultPrevented()) {\n return;\n }\n }\n const chips = this.props.value || this.state.chips;\n if (this.props.newChipKeyCodes.includes(event.keyCode) || this.props.newChipKeys.includes(event.key)) {\n const result = this.handleAddChip(event.target.value);\n if (result !== false) {\n event.preventDefault();\n }\n return;\n }\n\n switch (event.keyCode) {\n case keyCodes.BACKSPACE:\n if (event.target.value === '') {\n if (focusedChip) {\n this.handleDeleteChip(chips[focusedChip], focusedChip);\n if (focusedChip) {\n this.setState({focusedChip: focusedChip - 1});\n }\n } else {\n this.setState({focusedChip: chips.length - 1});\n }\n }\n break;\n case keyCodes.DELETE:\n if (event.target.value === '' && focusedChip) {\n this.handleDeleteChip(chips[focusedChip], focusedChip);\n if (focusedChip <= chips.length - 1) {\n this.setState({ focusedChip });\n }\n }\n break;\n case keyCodes.LEFT_ARROW:\n if (focusedChip == null && event.target.value === '' && chips.length) {\n this.setState({ focusedChip: chips.length - 1 });\n } else if (focusedChip != null && focusedChip > 0) {\n this.setState({ focusedChip: focusedChip - 1 });\n }\n break;\n case keyCodes.RIGHT_ARROW:\n if (focusedChip != null && focusedChip < chips.length - 1) {\n this.setState({ focusedChip: focusedChip + 1 });\n } else {\n this.setState({ focusedChip: null });\n }\n break;\n default:\n this.setState({ focusedChip: null });\n break;\n }\n }\n\n handleKeyUp = event => {\n if (!this._preventChipCreation && (this.props.newChipKeyCodes.indexOf(event.keyCode) >= 0 || this.props.newChipKeys.indexOf(event.key) >= 0) && this._keyPressed) {\n this.clearInput();\n } else {\n this.updateInput(event.target.value);\n }\n if (this.props.onKeyUp) {\n this.props.onKeyUp(event);\n }\n }\n\n handleKeyPress = event => {\n this._keyPressed = true;\n if (this.props.onKeyPress) {\n this.props.onKeyPress(event);\n }\n }\n\n handleUpdateInput = e => {\n if (this.props.inputValue == null) {\n this.updateInput(e.target.value);\n }\n\n if (this.props.onUpdateInput) {\n this.props.onUpdateInput(e);\n }\n }\n\n /**\n * Handles adding a chip.\n * @param {string|object} chip Value of the chip, either a string or an object (if dataSourceConfig is set)\n * @param {object=} options Additional options\n * @param {boolean=} options.clearInputOnFail If `true`, and `onBeforeAdd` returns `false`, clear the input\n * @returns True if the chip was added (or at least `onAdd` was called), false if adding the chip was prevented\n */\n handleAddChip(chip, options) {\n if (this.props.onBeforeAdd && !this.props.onBeforeAdd(chip)) {\n this._preventChipCreation = true;\n if (options && options.clearInputOnFail) {\n this.clearInput();\n }\n return false;\n }\n this.clearInput();\n const chips = this.props.value || this.state.chips;\n\n if (this.props.dataSourceConfig) {\n if (typeof chip === 'string') {\n chip = {\n [this.props.dataSourceConfig.text]: chip,\n [this.props.dataSourceConfig.value]: chip\n };\n }\n\n if (this.props.allowDuplicates || !chips.some(c => c[this.props.dataSourceConfig.value] === chip[this.props.dataSourceConfig.value])) {\n if (this.props.value && this.props.onAdd) {\n this.props.onAdd(chip);\n } else {\n this.updateChips([...this.state.chips, chip]);\n }\n }\n return true;\n }\n\n if (chip.trim().length > 0) {\n if (this.props.allowDuplicates || !chips.includes(chip)) {\n if (this.props.value && this.props.onAdd) {\n this.props.onAdd(chip);\n } else {\n this.updateChips([...this.state.chips, chip]);\n }\n }\n return true;\n }\n return false;\n }\n\n handleDeleteChip(chip, i) {\n if (!this.props.value) {\n const chips = this.state.chips.slice();\n const changed = chips.splice(i, 1); // remove the chip at index i\n if (changed) {\n let focusedChip = this.state.focusedChip;\n if (this.state.focusedChip === i) {\n focusedChip = null;\n } else if (this.state.focusedChip > i) {\n focusedChip = this.state.focusedChip - 1;\n }\n this.updateChips(chips, { focusedChip });\n }\n } else if (this.props.onDelete) {\n this.props.onDelete(chip, i);\n }\n }\n\n updateChips(chips, additionalUpdates = {}) {\n this.setState({ chips, chipsUpdated: true, ...additionalUpdates });\n if (this.props.onChange) {\n this.props.onChange(chips);\n }\n }\n\n /**\n * Clears the text field for adding new chips.\n * This only works in uncontrolled input mode, i.e. if the inputValue prop is not used.\n * @public\n */\n clearInput() {\n this.updateInput('');\n }\n\n updateInput(value) {\n this.setState({ inputValue: value });\n }\n\n /**\n * Set the reference to the actual input, that is the input of the Input.\n * @param {object} ref - The reference\n */\n setActualInputRef = ref => {\n this.actualInput = ref;\n this.props.inputRef && this.props.inputRef(ref);\n }\n\n render() {\n const {\n allowDuplicates,\n alwaysShowPlaceholder,\n blurBehavior,\n children,\n chipRenderer = defaultChipRenderer,\n classes,\n className,\n clearInputValueOnChange,\n dataSource,\n dataSourceConfig,\n defaultValue,\n delayBeforeAdd,\n disabled,\n disableUnderline,\n error,\n filter,\n FormHelperTextProps,\n fullWidth,\n fullWidthInput,\n helperText,\n id,\n InputProps = {},\n inputRef,\n InputLabelProps = {},\n inputValue,\n label,\n newChipKeyCodes,\n newChipKeys,\n onBeforeAdd,\n onAdd,\n onBlur,\n onDelete,\n onChange,\n onFocus,\n onKeyDown,\n onKeyPress,\n onKeyUp,\n onUpdateInput,\n placeholder,\n readOnly,\n required,\n rootRef,\n value,\n variant,\n ...other\n } = this.props;\n\n const chips = value || this.state.chips || [];\n const actualInputValue = inputValue != null ? inputValue : this.state.inputValue;\n\n const hasInput = (this.props.value || actualInputValue).length || actualInputValue.length;\n const shrinkFloatingLabel = InputLabelProps.shrink != null\n ? InputLabelProps.shrink\n : (label != null && (hasInput || this.state.isFocused || chips.length));\n\n const chipComponents = chips.map((chip, i) => {\n const value = dataSourceConfig ? chip[dataSourceConfig.value] : chip;\n return chipRenderer(\n {\n value,\n text: dataSourceConfig ? chip[dataSourceConfig.text] : chip,\n chip,\n isDisabled: !!disabled,\n isReadOnly: readOnly,\n isFocused: this.state.focusedChip === i,\n handleClick: () => this.setState({focusedChip: i}),\n handleDelete: () => this.handleDeleteChip(chip, i),\n className: classes.chip\n },\n i\n );\n });\n\n const InputMore = {}\n if (variant === 'outlined') {\n InputMore.notched = shrinkFloatingLabel;\n InputMore.labelWidth =\n (shrinkFloatingLabel && this.labelNode && this.labelNode.offsetWidth) ||\n 0;\n }\n\n if (variant !== 'standard') {\n InputMore.startAdornment = <React.Fragment>{chipComponents}</React.Fragment>;\n } else {\n InputProps.disableUnderline = true;\n }\n\n const InputComponent = variantComponent[variant];\n\n return <FormControl\n ref={rootRef}\n fullWidth={fullWidth}\n className={Utils.clsx(className, classes.root, other.margin === 'dense' && classes.marginDense)}\n error={error}\n required={chips.length > 0 ? undefined : required}\n onClick={this.focus}\n disabled={disabled}\n variant={variant}\n {...other}\n >\n {label && <InputLabel\n htmlFor={id}\n classes={{root: Utils.clsx(classes[variant], classes.label), shrink: classes.labelShrink}}\n shrink={shrinkFloatingLabel}\n focused={this.state.isFocused}\n variant={variant}\n ref={this.labelRef}\n required={required}\n {...InputLabelProps}\n >\n {label}\n </InputLabel>}\n <div\n className={Utils.clsx(\n classes[variant],\n classes.chipContainer,\n this.state.isFocused && classes.focused,\n !disableUnderline && variant === 'standard' && classes.underline,\n disabled && classes.disabled,\n label && classes.labeled,\n error && classes.error\n )}\n >\n {variant === 'standard' && chipComponents}\n <InputComponent\n ref={this.input}\n classes={{\n input: Utils.clsx(classes.input, classes[variant]),\n root: Utils.clsx(classes.inputRoot, classes[variant])\n }}\n id={id}\n value={actualInputValue}\n onChange={this.handleUpdateInput}\n onKeyDown={this.handleKeyDown}\n onKeyPress={this.handleKeyPress}\n onKeyUp={this.handleKeyUp}\n onFocus={this.handleInputFocus}\n onBlur={this.handleInputBlur}\n inputRef={this.setActualInputRef}\n disabled={disabled}\n fullWidth={fullWidthInput}\n placeholder={(!hasInput && (shrinkFloatingLabel || label == null)) || alwaysShowPlaceholder ? placeholder : null}\n readOnly={readOnly}\n {...InputProps}\n {...InputMore}\n />\n </div>\n {helperText && <FormHelperText\n {...FormHelperTextProps}\n className={FormHelperTextProps ? Utils.clsx(FormHelperTextProps.className, classes.helperText) : classes.helperText}\n >\n {helperText}\n </FormHelperText>}\n </FormControl>;\n }\n}\n\nChipInput.propTypes = {\n /** Allows duplicate chips if set to true. */\n allowDuplicates: PropTypes.bool,\n /** If true, the placeholder will always be visible. */\n alwaysShowPlaceholder: PropTypes.bool,\n /** Behavior when the chip input is blurred: `'clear'` clears the input, `'add'` creates a chip and `'ignore'` keeps the input. */\n blurBehavior: PropTypes.oneOf(['clear', 'add', 'add-or-clear', 'ignore']),\n /** A function of the type `({ value, text, chip, isFocused, isDisabled, isReadOnly, handleClick, handleDelete, className }, key) => node` that returns a chip based on the given properties. This can be used to customize chip styles. Each item in the `dataSource` array will be passed to `chipRenderer` as arguments `chip`, `value` and `text`. If `dataSource` is an array of objects and `dataSourceConfig` is present, then `value` and `text` will instead correspond to the object values defined in `dataSourceConfig`. If `dataSourceConfig` is not set and `dataSource` is an array of objects, then a custom `chipRenderer` must be set. `chip` is always the raw value from `dataSource`, either an object or a string. */\n chipRenderer: PropTypes.func,\n /** Whether the input value should be cleared if the `value` prop is changed. */\n clearInputValueOnChange: PropTypes.bool,\n /** Data source for auto complete. This should be an array of strings or objects. */\n dataSource: PropTypes.array,\n /** Config for objects list dataSource, e.g. `{ text: 'text', value: 'value' }`. If not specified, the `dataSource` must be a flat array of strings or a custom `chipRenderer` must be set to handle the objects. */\n dataSourceConfig: PropTypes.shape({\n text: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired\n }),\n /** The chips to display by default (for uncontrolled mode). */\n defaultValue: PropTypes.array,\n /** Whether to use `setTimeout` to delay adding chips in case other input events like `onSelection` need to fire first */\n delayBeforeAdd: PropTypes.bool,\n /** Disables the chip input if set to true. */\n disabled: PropTypes.bool,\n /** Disable the input underline. Only valid for 'standard' variant */\n disableUnderline: PropTypes.bool,\n /** Props to pass through to the `FormHelperText` component. */\n FormHelperTextProps: PropTypes.object,\n /** If true, the chip input will fill the available width. */\n fullWidth: PropTypes.bool,\n /** If true, the input field will always be below the chips and fill the available space. By default, it will try to be beside the chips. */\n fullWidthInput: PropTypes.bool,\n /** Helper text that is displayed below the input. */\n helperText: PropTypes.node,\n /** Props to pass through to the `InputLabel`. */\n InputLabelProps: PropTypes.object,\n /** Props to pass through to the `Input`. */\n InputProps: PropTypes.object,\n /** Use this property to pass a ref callback to the native input component. */\n inputRef: PropTypes.func,\n /** The input value (enables controlled mode for the text input if set). */\n inputValue: PropTypes.string,\n /* The content of the floating label. */\n label: PropTypes.node,\n /** The key codes (`KeyboardEvent.keyCode`) used to determine when to create a new chip. */\n newChipKeyCodes: PropTypes.arrayOf(PropTypes.number),\n /** The keys (`KeyboardEvent.key`) used to determine when to create a new chip. */\n newChipKeys: PropTypes.arrayOf(PropTypes.string),\n /** Callback function that is called when a new chip was added (in controlled mode). */\n onAdd: PropTypes.func,\n /** Callback function that is called with the chip to be added and should return true to add the chip or false to prevent the chip from being added without clearing the text input. */\n onBeforeAdd: PropTypes.func,\n /** Callback function that is called when the chips change (in uncontrolled mode). */\n onChange: PropTypes.func,\n /** Callback function that is called when a new chip was removed (in controlled mode). */\n onDelete: PropTypes.func,\n /** Callback function that is called when the input changes. */\n onUpdateInput: PropTypes.func,\n /** A placeholder that is displayed if the input has no values. */\n placeholder: PropTypes.string,\n /** Makes the chip input read-only if set to true. */\n readOnly: PropTypes.bool,\n /** The chips to display (enables controlled mode if set). */\n value: PropTypes.array,\n /** The variant of the Input component */\n variant: PropTypes.oneOf(['outlined', 'standard', 'filled'])\n}\n\nChipInput.defaultProps = {\n allowDuplicates: false,\n blurBehavior: 'clear',\n clearInputValueOnChange: false,\n delayBeforeAdd: false,\n disableUnderline: false,\n newChipKeyCodes: [13],\n newChipKeys: ['Enter'],\n variant: 'standard'\n};\n\nexport default withStyles(styles, {name: 'WAMuiChipInput'})(ChipInput);\n\nexport const defaultChipRenderer = ({\n value,\n text,\n isFocused,\n isDisabled,\n isReadOnly,\n handleClick,\n handleDelete,\n className\n}, key) =>\n <Chip\n key={key}\n className={className}\n style={{\n pointerEvents: isDisabled || isReadOnly ? 'none' : undefined,\n backgroundColor: isFocused ? blue[300] : undefined\n }}\n onClick={handleClick}\n onDelete={handleDelete}\n label={text}\n />;"],"mappings":"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"}
@@ -1,40 +1,24 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
9
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
10
  var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
15
-
16
11
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
12
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
13
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
14
  var _react = _interopRequireDefault(require("react"));
23
-
24
15
  var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
16
  var _styles = require("@mui/styles");
27
-
28
17
  var _ConfigGeneric2 = _interopRequireDefault(require("./ConfigGeneric"));
29
-
30
18
  var _i18n = _interopRequireDefault(require("../../i18n"));
31
-
32
19
  var _Utils = _interopRequireDefault(require("../Utils"));
33
-
34
20
  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); }; }
35
-
36
21
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
37
-
38
22
  var styles = function styles(theme) {
39
23
  return {
40
24
  root: {
@@ -45,22 +29,17 @@ var styles = function styles(theme) {
45
29
  }
46
30
  };
47
31
  };
48
-
49
32
  var ConfigAlive = /*#__PURE__*/function (_ConfigGeneric) {
50
33
  (0, _inherits2["default"])(ConfigAlive, _ConfigGeneric);
51
-
52
34
  var _super = _createSuper(ConfigAlive);
53
-
54
35
  function ConfigAlive() {
55
36
  (0, _classCallCheck2["default"])(this, ConfigAlive);
56
37
  return _super.apply(this, arguments);
57
38
  }
58
-
59
39
  (0, _createClass2["default"])(ConfigAlive, [{
60
40
  key: "componentDidMount",
61
41
  value: function componentDidMount() {
62
42
  var _this = this;
63
-
64
43
  (0, _get2["default"])((0, _getPrototypeOf2["default"])(ConfigAlive.prototype), "componentDidMount", this).call(this);
65
44
  var instance = this.getInstance();
66
45
  this.props.socket.getState(instance + '.alive').then(function (state) {
@@ -74,26 +53,21 @@ var ConfigAlive = /*#__PURE__*/function (_ConfigGeneric) {
74
53
  key: "getInstance",
75
54
  value: function getInstance() {
76
55
  var instance = this.props.schema.instance || this.props.adapterName + '.' + this.props.instance;
77
-
78
56
  if (instance.includes('${')) {
79
57
  instance = this.getPattern(instance);
80
58
  }
81
-
82
59
  if (instance && !instance.startsWith('system.adapter.')) {
83
60
  instance = 'system.adapter.' + instance;
84
61
  }
85
-
86
62
  return instance;
87
63
  }
88
64
  }, {
89
65
  key: "renderItem",
90
66
  value: function renderItem() {
91
67
  var _this2 = this;
92
-
93
68
  if (this.getInstance() !== this.state.instance) {
94
69
  setTimeout(function () {
95
70
  var instance = _this2.getInstance();
96
-
97
71
  if (instance) {
98
72
  _this2.props.socket.getState(instance + '.alive').then(function (state) {
99
73
  return _this2.setState({
@@ -109,11 +83,9 @@ var ConfigAlive = /*#__PURE__*/function (_ConfigGeneric) {
109
83
  }
110
84
  }, 200);
111
85
  }
112
-
113
86
  if (this.state.alive !== false && this.state.alive !== true) {
114
87
  return null;
115
88
  }
116
-
117
89
  var instance = this.state.instance.replace(/^system.adapter./, '');
118
90
  return /*#__PURE__*/_react["default"].createElement("div", {
119
91
  className: _Utils["default"].clsx(this.props.classes.root, !this.state.alive && this.props.classes.notAlive)
@@ -122,7 +94,6 @@ var ConfigAlive = /*#__PURE__*/function (_ConfigGeneric) {
122
94
  }]);
123
95
  return ConfigAlive;
124
96
  }(_ConfigGeneric2["default"]);
125
-
126
97
  ConfigAlive.propTypes = {
127
98
  socket: _propTypes["default"].object.isRequired,
128
99
  data: _propTypes["default"].object.isRequired,
@@ -130,8 +101,6 @@ ConfigAlive.propTypes = {
130
101
  adapterName: _propTypes["default"].string,
131
102
  instance: _propTypes["default"].number
132
103
  };
133
-
134
104
  var _default = (0, _styles.withStyles)(styles)(ConfigAlive);
135
-
136
105
  exports["default"] = _default;
137
106
  //# sourceMappingURL=ConfigAlive.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigAlive.js","names":["styles","theme","root","width","notAlive","color","ConfigAlive","instance","getInstance","props","socket","getState","then","state","setState","alive","val","schema","adapterName","includes","getPattern","startsWith","setTimeout","replace","Utils","clsx","classes","textAlive","undefined","I18n","t","textNotAlive","ConfigGeneric","propTypes","PropTypes","object","isRequired","data","string","number","withStyles"],"sources":["JsonConfigComponent/ConfigAlive.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nimport I18n from '../../i18n';\nimport Utils from '../Utils';\n\nconst styles = theme => ({\n root: {\n width: '100%',\n },\n notAlive: {\n color: '#a30000'\n },\n});\n\nclass ConfigAlive extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n\n const instance = this.getInstance();\n\n this.props.socket.getState(instance + '.alive')\n .then(state => this.setState({alive: !!(state && state.val), instance}));\n }\n\n getInstance() {\n let instance = this.props.schema.instance || (this.props.adapterName + '.' + this.props.instance);\n if (instance.includes('${')) {\n instance = this.getPattern(instance);\n }\n if (instance && !instance.startsWith('system.adapter.')) {\n instance = 'system.adapter.' + instance;\n }\n return instance;\n }\n\n renderItem() {\n if (this.getInstance() !== this.state.instance) {\n setTimeout(() => {\n const instance = this.getInstance();\n if (instance) {\n this.props.socket.getState(instance + '.alive')\n .then(state => this.setState({alive: !!(state && state.val), instance}));\n } else {\n this.setState({alive: null, instance})\n }\n }, 200);\n }\n\n if (this.state.alive !== false && this.state.alive !== true) {\n return null;\n }\n\n const instance = this.state.instance.replace(/^system.adapter./, '');\n return <div className={Utils.clsx(this.props.classes.root, !this.state.alive && this.props.classes.notAlive)}>\n {this.state.alive ?\n this.props.schema.textAlive !== undefined ? (this.props.schema.textAlive ? I18n.t(this.props.schema.textAlive, instance) : '') : I18n.t('ra_Instance %s is alive', instance)\n :\n this.props.schema.textNotAlive !== undefined ? (this.props.schema.textNotAlive ? I18n.t(this.props.schema.textNotAlive, instance) : '') : I18n.t('ra_Instance %s is not alive', instance)\n }\n </div>;\n }\n}\n\nConfigAlive.propTypes = {\n socket: PropTypes.object.isRequired,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object,\n adapterName: PropTypes.string,\n instance: PropTypes.number,\n};\n\nexport default withStyles(styles)(ConfigAlive);"],"mappings":"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"}
1
+ {"version":3,"file":"ConfigAlive.js","names":["styles","theme","root","width","notAlive","color","ConfigAlive","instance","getInstance","props","socket","getState","then","state","setState","alive","val","schema","adapterName","includes","getPattern","startsWith","setTimeout","replace","Utils","clsx","classes","textAlive","undefined","I18n","t","textNotAlive","ConfigGeneric","propTypes","PropTypes","object","isRequired","data","string","number","withStyles"],"sources":["JsonConfigComponent/ConfigAlive.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nimport I18n from '../../i18n';\nimport Utils from '../Utils';\n\nconst styles = theme => ({\n root: {\n width: '100%',\n },\n notAlive: {\n color: '#a30000'\n },\n});\n\nclass ConfigAlive extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n\n const instance = this.getInstance();\n\n this.props.socket.getState(instance + '.alive')\n .then(state => this.setState({alive: !!(state && state.val), instance}));\n }\n\n getInstance() {\n let instance = this.props.schema.instance || (this.props.adapterName + '.' + this.props.instance);\n if (instance.includes('${')) {\n instance = this.getPattern(instance);\n }\n if (instance && !instance.startsWith('system.adapter.')) {\n instance = 'system.adapter.' + instance;\n }\n return instance;\n }\n\n renderItem() {\n if (this.getInstance() !== this.state.instance) {\n setTimeout(() => {\n const instance = this.getInstance();\n if (instance) {\n this.props.socket.getState(instance + '.alive')\n .then(state => this.setState({alive: !!(state && state.val), instance}));\n } else {\n this.setState({alive: null, instance})\n }\n }, 200);\n }\n\n if (this.state.alive !== false && this.state.alive !== true) {\n return null;\n }\n\n const instance = this.state.instance.replace(/^system.adapter./, '');\n return <div className={Utils.clsx(this.props.classes.root, !this.state.alive && this.props.classes.notAlive)}>\n {this.state.alive ?\n this.props.schema.textAlive !== undefined ? (this.props.schema.textAlive ? I18n.t(this.props.schema.textAlive, instance) : '') : I18n.t('ra_Instance %s is alive', instance)\n :\n this.props.schema.textNotAlive !== undefined ? (this.props.schema.textNotAlive ? I18n.t(this.props.schema.textNotAlive, instance) : '') : I18n.t('ra_Instance %s is not alive', instance)\n }\n </div>;\n }\n}\n\nConfigAlive.propTypes = {\n socket: PropTypes.object.isRequired,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object,\n adapterName: PropTypes.string,\n instance: PropTypes.number,\n};\n\nexport default withStyles(styles)(ConfigAlive);"],"mappings":"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"}
@@ -1,46 +1,27 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports["default"] = void 0;
9
-
10
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
-
16
11
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
17
-
18
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
19
-
20
13
  var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
21
-
22
14
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
23
-
24
15
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
25
-
26
16
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
27
-
28
17
  var _react = _interopRequireDefault(require("react"));
29
-
30
18
  var _propTypes = _interopRequireDefault(require("prop-types"));
31
-
32
19
  var _styles = require("@mui/styles");
33
-
34
20
  var _material = require("@mui/material");
35
-
36
21
  var _i18n = _interopRequireDefault(require("../../i18n"));
37
-
38
22
  var _ConfigGeneric2 = _interopRequireDefault(require("./ConfigGeneric"));
39
-
40
23
  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); }; }
41
-
42
24
  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; } }
43
-
44
25
  var styles = function styles(theme) {
45
26
  return {
46
27
  fullWidth: {
@@ -48,31 +29,26 @@ var styles = function styles(theme) {
48
29
  }
49
30
  };
50
31
  };
51
-
52
32
  var ConfigAutocomplete = /*#__PURE__*/function (_ConfigGeneric) {
53
33
  (0, _inherits2["default"])(ConfigAutocomplete, _ConfigGeneric);
54
-
55
34
  var _super = _createSuper(ConfigAutocomplete);
56
-
57
35
  function ConfigAutocomplete() {
58
36
  (0, _classCallCheck2["default"])(this, ConfigAutocomplete);
59
37
  return _super.apply(this, arguments);
60
38
  }
61
-
62
39
  (0, _createClass2["default"])(ConfigAutocomplete, [{
63
40
  key: "componentDidMount",
64
41
  value: function componentDidMount() {
65
42
  (0, _get2["default"])((0, _getPrototypeOf2["default"])(ConfigAutocomplete.prototype), "componentDidMount", this).call(this);
66
-
67
43
  var value = _ConfigGeneric2["default"].getValue(this.props.data, this.props.attr);
68
-
69
44
  var selectOptions = this.props.schema.options.map(function (item) {
70
45
  return typeof item === 'string' ? {
71
46
  label: item,
72
47
  value: item
73
48
  } : JSON.parse(JSON.stringify(item));
74
- }); // if __different
49
+ });
75
50
 
51
+ // if __different
76
52
  if (Array.isArray(value)) {
77
53
  selectOptions.unshift({
78
54
  label: _i18n["default"].t(_ConfigGeneric2["default"].DIFFERENT_LABEL),
@@ -93,16 +69,12 @@ var ConfigAutocomplete = /*#__PURE__*/function (_ConfigGeneric) {
93
69
  key: "renderItem",
94
70
  value: function renderItem(error, disabled, defaultValue) {
95
71
  var _this = this;
96
-
97
72
  if (!this.state.selectOptions) {
98
73
  return null;
99
74
  }
100
-
101
75
  var item;
102
76
  var options = JSON.parse(JSON.stringify(this.state.selectOptions));
103
-
104
77
  var isIndeterminate = Array.isArray(this.state.value) || this.state.value === _ConfigGeneric2["default"].DIFFERENT_VALUE;
105
-
106
78
  if (isIndeterminate) {
107
79
  (0, _toConsumableArray2["default"])(this.state.value).filter(function (val) {
108
80
  return !options.find(function (it) {
@@ -124,7 +96,6 @@ var ConfigAutocomplete = /*#__PURE__*/function (_ConfigGeneric) {
124
96
  item = this.state.value !== null && this.state.value !== undefined && options.find(function (item) {
125
97
  return item.value == _this.state.value;
126
98
  }); // let "==" be and not ===
127
-
128
99
  if (this.state.value !== null && this.state.value !== undefined && !item) {
129
100
  item = {
130
101
  value: this.state.value,
@@ -133,17 +104,16 @@ var ConfigAutocomplete = /*#__PURE__*/function (_ConfigGeneric) {
133
104
  options.push(item);
134
105
  }
135
106
  }
136
-
137
107
  return /*#__PURE__*/_react["default"].createElement(_material.Autocomplete, {
138
108
  className: this.props.classes.indeterminate,
139
109
  fullWidth: true,
140
110
  freeSolo: !!this.props.schema.freeSolo,
141
- value: item // autoComplete
111
+ value: item
112
+ // autoComplete
142
113
  ,
143
114
  onInputChange: function onInputChange(e) {
144
115
  if (e) {
145
116
  var val = e.target.value;
146
-
147
117
  if (val !== _this.state.value) {
148
118
  _this.setState({
149
119
  value: val
@@ -155,7 +125,6 @@ var ConfigAutocomplete = /*#__PURE__*/function (_ConfigGeneric) {
155
125
  },
156
126
  onChange: function onChange(_, value) {
157
127
  var val = (0, _typeof2["default"])(value) === 'object' ? value ? value.value : '' : value;
158
-
159
128
  if (val !== _this.state.value) {
160
129
  _this.setState({
161
130
  value: val
@@ -172,7 +141,8 @@ var ConfigAutocomplete = /*#__PURE__*/function (_ConfigGeneric) {
172
141
  return /*#__PURE__*/_react["default"].createElement(_material.TextField, (0, _extends2["default"])({
173
142
  variant: "standard"
174
143
  }, params, {
175
- error: !!error // inputProps are important and will be given in params
144
+ error: !!error
145
+ // inputProps are important and will be given in params
176
146
  // inputProps={{maxLength: this.props.schema.maxLength || this.props.schema.max || undefined}}
177
147
  ,
178
148
  placeholder: _this.getText(_this.props.schema.placeholder),
@@ -186,7 +156,6 @@ var ConfigAutocomplete = /*#__PURE__*/function (_ConfigGeneric) {
186
156
  }]);
187
157
  return ConfigAutocomplete;
188
158
  }(_ConfigGeneric2["default"]);
189
-
190
159
  ConfigAutocomplete.propTypes = {
191
160
  socket: _propTypes["default"].object.isRequired,
192
161
  themeType: _propTypes["default"].string,
@@ -198,8 +167,6 @@ ConfigAutocomplete.propTypes = {
198
167
  onError: _propTypes["default"].func,
199
168
  onChange: _propTypes["default"].func
200
169
  };
201
-
202
170
  var _default = (0, _styles.withStyles)(styles)(ConfigAutocomplete);
203
-
204
171
  exports["default"] = _default;
205
172
  //# sourceMappingURL=ConfigAutocomplete.js.map