@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.
- package/Components/404.js.map +1 -1
- package/Components/ColorPicker.js.map +1 -1
- package/Components/ComplexCron.js.map +1 -1
- package/Components/FileBrowser.js +248 -222
- package/Components/FileBrowser.js.map +1 -1
- package/Components/FileViewer.js +219 -75
- package/Components/FileViewer.js.map +1 -1
- package/Components/Icon.js.map +1 -1
- package/Components/IconPicker.js.map +1 -1
- package/Components/IconSelector.js.map +1 -1
- package/Components/Image.js.map +1 -1
- package/Components/JsonConfigComponent/ChipInput.js +925 -0
- package/Components/JsonConfigComponent/ChipInput.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigAlive.js +135 -0
- package/Components/JsonConfigComponent/ConfigAlive.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigAutocomplete.js +204 -0
- package/Components/JsonConfigComponent/ConfigAutocomplete.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js +311 -0
- package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigCRON.js +195 -0
- package/Components/JsonConfigComponent/ConfigCRON.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigCertificateSelect.js +178 -0
- package/Components/JsonConfigComponent/ConfigCertificateSelect.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigCheckbox.js +112 -0
- package/Components/JsonConfigComponent/ConfigCheckbox.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigChip.js +149 -0
- package/Components/JsonConfigComponent/ConfigChip.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigColor.js +156 -0
- package/Components/JsonConfigComponent/ConfigColor.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigCoordinates.js +165 -0
- package/Components/JsonConfigComponent/ConfigCoordinates.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigCustomEasyAccess.js +180 -0
- package/Components/JsonConfigComponent/ConfigCustomEasyAccess.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigDatePicker.js +117 -0
- package/Components/JsonConfigComponent/ConfigDatePicker.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigGeneric.js +660 -0
- package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigIP.js +151 -0
- package/Components/JsonConfigComponent/ConfigIP.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigImageUpload.js +215 -0
- package/Components/JsonConfigComponent/ConfigImageUpload.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigInstanceSelect.js +197 -0
- package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigJsonEditor.js +211 -0
- package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigLanguage.js +175 -0
- package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigNumber.js +194 -0
- package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigObjectId.js +201 -0
- package/Components/JsonConfigComponent/ConfigObjectId.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigPanel.js +421 -0
- package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigPassword.js +236 -0
- package/Components/JsonConfigComponent/ConfigPassword.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigPattern.js +94 -0
- package/Components/JsonConfigComponent/ConfigPattern.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigSelect.js +163 -0
- package/Components/JsonConfigComponent/ConfigSelect.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigSelectSendTo.js +258 -0
- package/Components/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigSendto.js +282 -0
- package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigSetState.js +266 -0
- package/Components/JsonConfigComponent/ConfigSetState.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigStaticDivider.js +88 -0
- package/Components/JsonConfigComponent/ConfigStaticDivider.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigStaticHeader.js +81 -0
- package/Components/JsonConfigComponent/ConfigStaticHeader.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigStaticImage.js +88 -0
- package/Components/JsonConfigComponent/ConfigStaticImage.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigStaticText.js +104 -0
- package/Components/JsonConfigComponent/ConfigStaticText.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigTable.js +651 -0
- package/Components/JsonConfigComponent/ConfigTable.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigTabs.js +166 -0
- package/Components/JsonConfigComponent/ConfigTabs.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigText.js +170 -0
- package/Components/JsonConfigComponent/ConfigText.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigTextSendTo.js +168 -0
- package/Components/JsonConfigComponent/ConfigTextSendTo.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigTimePicker.js +111 -0
- package/Components/JsonConfigComponent/ConfigTimePicker.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigTopic.js +140 -0
- package/Components/JsonConfigComponent/ConfigTopic.js.map +1 -0
- package/Components/JsonConfigComponent/ConfigUser.js +176 -0
- package/Components/JsonConfigComponent/ConfigUser.js.map +1 -0
- package/Components/JsonConfigComponent/index.js +511 -0
- package/Components/JsonConfigComponent/index.js.map +1 -0
- package/Components/Loader.js.map +1 -1
- package/Components/Loaders/PT.js.map +1 -1
- package/Components/Loaders/Vendor.js.map +1 -1
- package/Components/Logo.js.map +1 -1
- package/Components/MDUtils.js.map +1 -1
- package/Components/ObjectBrowser.js +24 -42
- package/Components/ObjectBrowser.js.map +1 -1
- package/Components/Router.js.map +1 -1
- package/Components/SaveCloseButtons.js.map +1 -1
- package/Components/Schedule.js.map +1 -1
- package/Components/SelectWithIcon.js.map +1 -1
- package/Components/SimpleCron/cronText.js.map +1 -1
- package/Components/SimpleCron/index.js.map +1 -1
- package/Components/TabContainer.js.map +1 -1
- package/Components/TabContent.js.map +1 -1
- package/Components/TabHeader.js.map +1 -1
- package/Components/TextWithIcon.js.map +1 -1
- package/Components/TreeTable.js.map +1 -1
- package/Components/Utils.js +25 -0
- package/Components/Utils.js.map +1 -1
- package/Components/withWidth.js +42 -0
- package/Components/withWidth.js.map +1 -0
- package/Connection.js.map +1 -1
- package/Dialogs/ComplexCron.js.map +1 -1
- package/Dialogs/Confirm.js.map +1 -1
- package/Dialogs/Cron.js.map +1 -1
- package/Dialogs/Error.js.map +1 -1
- package/Dialogs/Message.js.map +1 -1
- package/Dialogs/SelectID.js.map +1 -1
- package/Dialogs/SimpleCron.js.map +1 -1
- package/Dialogs/TextInput.js.map +1 -1
- package/GenericApp.js.map +1 -1
- package/README.md +11 -1
- package/Theme.js.map +1 -1
- package/icons/IconAdapter.js.map +1 -1
- package/icons/IconAlias.js.map +1 -1
- package/icons/IconChannel.js.map +1 -1
- package/icons/IconClearFilter.js.map +1 -1
- package/icons/IconClosed.js.map +1 -1
- package/icons/IconCopy.js.map +1 -1
- package/icons/IconDevice.js.map +1 -1
- package/icons/IconDocument.js.map +1 -1
- package/icons/IconExpert.js.map +1 -1
- package/icons/IconFx.js.map +1 -1
- package/icons/IconInstance.js.map +1 -1
- package/icons/IconLogout.js.map +1 -1
- package/icons/IconOpen.js.map +1 -1
- package/icons/IconState.js.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +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","indexOf","keyCode","newChipKeys","key","result","preventDefault","handleDeleteChip","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","cx","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 cx from 'classnames'\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) this.actualInput.blur()\n }\n\n /**\n * Focuses this component.\n * @public\n */\n focus = () => {\n this.actualInput.focus()\n if (this.state.focusedChip != null) {\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 != null) {\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 // Lets 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 case 'clear':\n this.clearInput()\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 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.indexOf(event.keyCode) >= 0 || this.props.newChipKeys.indexOf(event.key) >= 0) {\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 != null) {\n this.handleDeleteChip(chips[focusedChip], focusedChip)\n if (focusedChip > 0) {\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 != null) {\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) { this.props.onKeyUp(event) }\n }\n\n handleKeyPress = (event) => {\n this._keyPressed = true\n if (this.props.onKeyPress) { this.props.onKeyPress(event) }\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 != null && 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.indexOf(chip) === -1) {\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 if (this.props.inputRef) {\n this.props.inputRef(ref)\n }\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 > 0 || actualInputValue.length > 0\n const shrinkFloatingLabel = InputLabelProps.shrink != null\n ? InputLabelProps.shrink\n : (label != null && (hasInput || this.state.isFocused || chips.length > 0))\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 = (\n <React.Fragment>{chipComponents}</React.Fragment>\n )\n } else {\n InputProps.disableUnderline = true\n }\n\n const InputComponent = variantComponent[variant]\n\n return (\n <FormControl\n ref={rootRef}\n fullWidth={fullWidth}\n className={cx(className, classes.root, {\n [classes.marginDense]: other.margin === 'dense'\n })}\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 && (\n <InputLabel\n htmlFor={id}\n classes={{ root: cx(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 )}\n <div\n className={cx(\n classes[variant],\n classes.chipContainer,\n {\n [classes.focused]: this.state.isFocused,\n [classes.underline]: !disableUnderline && variant === 'standard',\n [classes.disabled]: disabled,\n [classes.labeled]: label != null,\n [classes.error]: error\n })}\n >\n {variant === 'standard' && chipComponents}\n <InputComponent\n ref={this.input}\n classes={{\n input: cx(classes.input, classes[variant]),\n root: cx(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 && (\n <FormHelperText\n {...FormHelperTextProps}\n className={FormHelperTextProps ? cx(FormHelperTextProps.className, classes.helperText) : classes.helperText}\n >\n {helperText}\n </FormHelperText>\n )}\n </FormControl>\n )\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 = ({ value, text, isFocused, isDisabled, isReadOnly, handleClick, handleDelete, className }, 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 />\n)"],"mappings":"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"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
15
|
+
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
18
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
+
|
|
20
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
+
|
|
22
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
23
|
+
|
|
24
|
+
var _styles = require("@mui/styles");
|
|
25
|
+
|
|
26
|
+
var _ConfigGeneric2 = _interopRequireDefault(require("./ConfigGeneric"));
|
|
27
|
+
|
|
28
|
+
var _i18n = _interopRequireDefault(require("@iobroker/adapter-react-v5/i18n"));
|
|
29
|
+
|
|
30
|
+
var _Utils = _interopRequireDefault(require("@iobroker/adapter-react-v5/Components/Utils"));
|
|
31
|
+
|
|
32
|
+
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); }; }
|
|
33
|
+
|
|
34
|
+
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; } }
|
|
35
|
+
|
|
36
|
+
var styles = function styles(theme) {
|
|
37
|
+
return {
|
|
38
|
+
root: {
|
|
39
|
+
width: '100%'
|
|
40
|
+
},
|
|
41
|
+
notAlive: {
|
|
42
|
+
color: '#a30000'
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
var ConfigAlive = /*#__PURE__*/function (_ConfigGeneric) {
|
|
48
|
+
(0, _inherits2["default"])(ConfigAlive, _ConfigGeneric);
|
|
49
|
+
|
|
50
|
+
var _super = _createSuper(ConfigAlive);
|
|
51
|
+
|
|
52
|
+
function ConfigAlive() {
|
|
53
|
+
(0, _classCallCheck2["default"])(this, ConfigAlive);
|
|
54
|
+
return _super.apply(this, arguments);
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
(0, _createClass2["default"])(ConfigAlive, [{
|
|
58
|
+
key: "componentDidMount",
|
|
59
|
+
value: function componentDidMount() {
|
|
60
|
+
var _this = this;
|
|
61
|
+
|
|
62
|
+
(0, _get2["default"])((0, _getPrototypeOf2["default"])(ConfigAlive.prototype), "componentDidMount", this).call(this);
|
|
63
|
+
var instance = this.getInstance();
|
|
64
|
+
this.props.socket.getState(instance + '.alive').then(function (state) {
|
|
65
|
+
return _this.setState({
|
|
66
|
+
alive: !!(state && state.val),
|
|
67
|
+
instance: instance
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
}, {
|
|
72
|
+
key: "getInstance",
|
|
73
|
+
value: function getInstance() {
|
|
74
|
+
var instance = this.props.schema.instance || this.props.adapterName + '.' + this.props.instance;
|
|
75
|
+
|
|
76
|
+
if (instance.includes('${')) {
|
|
77
|
+
instance = this.getPattern(instance);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
if (instance && !instance.startsWith('system.adapter.')) {
|
|
81
|
+
instance = 'system.adapter.' + instance;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return instance;
|
|
85
|
+
}
|
|
86
|
+
}, {
|
|
87
|
+
key: "renderItem",
|
|
88
|
+
value: function renderItem() {
|
|
89
|
+
var _this2 = this;
|
|
90
|
+
|
|
91
|
+
if (this.getInstance() !== this.state.instance) {
|
|
92
|
+
setTimeout(function () {
|
|
93
|
+
var instance = _this2.getInstance();
|
|
94
|
+
|
|
95
|
+
if (instance) {
|
|
96
|
+
_this2.props.socket.getState(instance + '.alive').then(function (state) {
|
|
97
|
+
return _this2.setState({
|
|
98
|
+
alive: !!(state && state.val),
|
|
99
|
+
instance: instance
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
} else {
|
|
103
|
+
_this2.setState({
|
|
104
|
+
alive: null,
|
|
105
|
+
instance: instance
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
}, 200);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
if (this.state.alive !== false && this.state.alive !== true) {
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
var instance = this.state.instance.replace(/^system.adapter./, '');
|
|
116
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
117
|
+
className: _Utils["default"].clsx(this.props.classes.root, !this.state.alive && this.props.classes.notAlive)
|
|
118
|
+
}, this.state.alive ? this.props.schema.textAlive !== undefined ? this.props.schema.textAlive ? _i18n["default"].t(this.props.schema.textAlive, instance) : '' : _i18n["default"].t('Instance %s is alive', instance) : this.props.schema.textNotAlive !== undefined ? this.props.schema.textNotAlive ? _i18n["default"].t(this.props.schema.textNotAlive, instance) : '' : _i18n["default"].t('Instance %s is not alive', instance));
|
|
119
|
+
}
|
|
120
|
+
}]);
|
|
121
|
+
return ConfigAlive;
|
|
122
|
+
}(_ConfigGeneric2["default"]);
|
|
123
|
+
|
|
124
|
+
ConfigAlive.propTypes = {
|
|
125
|
+
socket: _propTypes["default"].object.isRequired,
|
|
126
|
+
data: _propTypes["default"].object.isRequired,
|
|
127
|
+
schema: _propTypes["default"].object,
|
|
128
|
+
adapterName: _propTypes["default"].string,
|
|
129
|
+
instance: _propTypes["default"].number
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
var _default = (0, _styles.withStyles)(styles)(ConfigAlive);
|
|
133
|
+
|
|
134
|
+
exports["default"] = _default;
|
|
135
|
+
//# sourceMappingURL=ConfigAlive.js.map
|
|
@@ -0,0 +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 PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nimport I18n from '@iobroker/adapter-react-v5/i18n';\nimport Utils from '@iobroker/adapter-react-v5/Components/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('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('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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"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
+
|
|
12
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
13
|
+
|
|
14
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
15
|
+
|
|
16
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
|
+
|
|
18
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
19
|
+
|
|
20
|
+
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
21
|
+
|
|
22
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
23
|
+
|
|
24
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
25
|
+
|
|
26
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
27
|
+
|
|
28
|
+
var _react = _interopRequireDefault(require("react"));
|
|
29
|
+
|
|
30
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
31
|
+
|
|
32
|
+
var _styles = require("@mui/styles");
|
|
33
|
+
|
|
34
|
+
var _material = require("@mui/material");
|
|
35
|
+
|
|
36
|
+
var _ConfigGeneric2 = _interopRequireDefault(require("./ConfigGeneric"));
|
|
37
|
+
|
|
38
|
+
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); }; }
|
|
39
|
+
|
|
40
|
+
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; } }
|
|
41
|
+
|
|
42
|
+
var styles = function styles(theme) {
|
|
43
|
+
return {
|
|
44
|
+
fullWidth: {
|
|
45
|
+
width: '100%'
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
var ConfigAutocomplete = /*#__PURE__*/function (_ConfigGeneric) {
|
|
51
|
+
(0, _inherits2["default"])(ConfigAutocomplete, _ConfigGeneric);
|
|
52
|
+
|
|
53
|
+
var _super = _createSuper(ConfigAutocomplete);
|
|
54
|
+
|
|
55
|
+
function ConfigAutocomplete() {
|
|
56
|
+
(0, _classCallCheck2["default"])(this, ConfigAutocomplete);
|
|
57
|
+
return _super.apply(this, arguments);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
(0, _createClass2["default"])(ConfigAutocomplete, [{
|
|
61
|
+
key: "componentDidMount",
|
|
62
|
+
value: function componentDidMount() {
|
|
63
|
+
(0, _get2["default"])((0, _getPrototypeOf2["default"])(ConfigAutocomplete.prototype), "componentDidMount", this).call(this);
|
|
64
|
+
|
|
65
|
+
var value = _ConfigGeneric2["default"].getValue(this.props.data, this.props.attr);
|
|
66
|
+
|
|
67
|
+
var selectOptions = this.props.schema.options.map(function (item) {
|
|
68
|
+
return typeof item === 'string' ? {
|
|
69
|
+
label: item,
|
|
70
|
+
value: item
|
|
71
|
+
} : JSON.parse(JSON.stringify(item));
|
|
72
|
+
}); // if __different
|
|
73
|
+
|
|
74
|
+
if (Array.isArray(value)) {
|
|
75
|
+
selectOptions.unshift({
|
|
76
|
+
label: _ConfigGeneric2["default"].DIFFERENT_LABEL,
|
|
77
|
+
value: _ConfigGeneric2["default"].DIFFERENT_VALUE
|
|
78
|
+
});
|
|
79
|
+
this.setState({
|
|
80
|
+
value: _ConfigGeneric2["default"].DIFFERENT_VALUE,
|
|
81
|
+
selectOptions: selectOptions
|
|
82
|
+
});
|
|
83
|
+
} else {
|
|
84
|
+
this.setState({
|
|
85
|
+
value: value,
|
|
86
|
+
selectOptions: selectOptions
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}, {
|
|
91
|
+
key: "renderItem",
|
|
92
|
+
value: function renderItem(error, disabled, defaultValue) {
|
|
93
|
+
var _this = this;
|
|
94
|
+
|
|
95
|
+
if (!this.state.selectOptions) {
|
|
96
|
+
return null;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
var item;
|
|
100
|
+
var options = JSON.parse(JSON.stringify(this.state.selectOptions));
|
|
101
|
+
|
|
102
|
+
var isIndeterminate = Array.isArray(this.state.value) || this.state.value === _ConfigGeneric2["default"].DIFFERENT_LABEL;
|
|
103
|
+
|
|
104
|
+
if (isIndeterminate) {
|
|
105
|
+
(0, _toConsumableArray2["default"])(this.state.value).filter(function (val) {
|
|
106
|
+
return !options.find(function (it) {
|
|
107
|
+
return it.value === val;
|
|
108
|
+
});
|
|
109
|
+
}).forEach(function (item) {
|
|
110
|
+
return options.push({
|
|
111
|
+
label: item.toString(),
|
|
112
|
+
value: item
|
|
113
|
+
});
|
|
114
|
+
});
|
|
115
|
+
item = {
|
|
116
|
+
label: _ConfigGeneric2["default"].DIFFERENT_LABEL,
|
|
117
|
+
value: _ConfigGeneric2["default"].DIFFERENT_VALUE
|
|
118
|
+
};
|
|
119
|
+
options.unshift(item);
|
|
120
|
+
} else {
|
|
121
|
+
// eslint-disable-next-line
|
|
122
|
+
item = this.state.value !== null && this.state.value !== undefined && options.find(function (item) {
|
|
123
|
+
return item.value == _this.state.value;
|
|
124
|
+
}); // let "==" be and not ===
|
|
125
|
+
|
|
126
|
+
if (this.state.value !== null && this.state.value !== undefined && !item) {
|
|
127
|
+
item = {
|
|
128
|
+
value: this.state.value,
|
|
129
|
+
label: this.state.value
|
|
130
|
+
};
|
|
131
|
+
options.push(item);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
return /*#__PURE__*/_react["default"].createElement(_material.Autocomplete, {
|
|
136
|
+
className: this.props.classes.indeterminate,
|
|
137
|
+
fullWidth: true,
|
|
138
|
+
freeSolo: !!this.props.schema.freeSolo,
|
|
139
|
+
value: item // autoComplete
|
|
140
|
+
//getOptionSelected={(option, value) => option.value === value.value}
|
|
141
|
+
,
|
|
142
|
+
onInputChange: function onInputChange(e) {
|
|
143
|
+
if (e) {
|
|
144
|
+
var val = e.target.value;
|
|
145
|
+
|
|
146
|
+
if (val !== _this.state.value) {
|
|
147
|
+
_this.setState({
|
|
148
|
+
value: val
|
|
149
|
+
}, function () {
|
|
150
|
+
return _this.onChange(_this.props.attr, val);
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
onChange: function onChange(_, value) {
|
|
156
|
+
var val = (0, _typeof2["default"])(value) === 'object' ? value ? value.value : '' : value;
|
|
157
|
+
|
|
158
|
+
if (val !== _this.state.value) {
|
|
159
|
+
_this.setState({
|
|
160
|
+
value: val
|
|
161
|
+
}, function () {
|
|
162
|
+
return _this.onChange(_this.props.attr, val);
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
options: options,
|
|
167
|
+
getOptionLabel: function getOptionLabel(option) {
|
|
168
|
+
return option && option.label || '';
|
|
169
|
+
},
|
|
170
|
+
renderInput: function renderInput(params) {
|
|
171
|
+
return /*#__PURE__*/_react["default"].createElement(_material.TextField, (0, _extends2["default"])({
|
|
172
|
+
variant: "standard"
|
|
173
|
+
}, params, {
|
|
174
|
+
error: !!error // inputProps are important and will be given in params
|
|
175
|
+
// inputProps={{maxLength: this.props.schema.maxLength || this.props.schema.max || undefined}}
|
|
176
|
+
,
|
|
177
|
+
placeholder: _this.getText(_this.props.schema.placeholder),
|
|
178
|
+
label: _this.getText(_this.props.schema.label),
|
|
179
|
+
helperText: _this.renderHelp(_this.props.schema.help, _this.props.schema.helpLink, _this.props.schema.noTranslation),
|
|
180
|
+
disabled: !!disabled
|
|
181
|
+
}));
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
}]);
|
|
186
|
+
return ConfigAutocomplete;
|
|
187
|
+
}(_ConfigGeneric2["default"]);
|
|
188
|
+
|
|
189
|
+
ConfigAutocomplete.propTypes = {
|
|
190
|
+
socket: _propTypes["default"].object.isRequired,
|
|
191
|
+
themeType: _propTypes["default"].string,
|
|
192
|
+
themeName: _propTypes["default"].string,
|
|
193
|
+
style: _propTypes["default"].object,
|
|
194
|
+
className: _propTypes["default"].string,
|
|
195
|
+
data: _propTypes["default"].object.isRequired,
|
|
196
|
+
schema: _propTypes["default"].object,
|
|
197
|
+
onError: _propTypes["default"].func,
|
|
198
|
+
onChange: _propTypes["default"].func
|
|
199
|
+
};
|
|
200
|
+
|
|
201
|
+
var _default = (0, _styles.withStyles)(styles)(ConfigAutocomplete);
|
|
202
|
+
|
|
203
|
+
exports["default"] = _default;
|
|
204
|
+
//# sourceMappingURL=ConfigAutocomplete.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigAutocomplete.js","names":["styles","theme","fullWidth","width","ConfigAutocomplete","value","ConfigGeneric","getValue","props","data","attr","selectOptions","schema","options","map","item","label","JSON","parse","stringify","Array","isArray","unshift","DIFFERENT_LABEL","DIFFERENT_VALUE","setState","error","disabled","defaultValue","state","isIndeterminate","filter","val","find","it","forEach","push","toString","undefined","classes","indeterminate","freeSolo","e","target","onChange","_","option","params","getText","placeholder","renderHelp","help","helpLink","noTranslation","propTypes","socket","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","withStyles"],"sources":["JsonConfigComponent/ConfigAutocomplete.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport { Autocomplete, TextField } from '@mui/material';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n }\n});\n\nclass ConfigAutocomplete extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n\n const selectOptions = this.props.schema.options.map(item => typeof item === 'string' ? {label: item, value: item} : JSON.parse(JSON.stringify(item)));\n\n // if __different\n if (Array.isArray(value)) {\n selectOptions.unshift({label: ConfigGeneric.DIFFERENT_LABEL, value: ConfigGeneric.DIFFERENT_VALUE});\n this.setState({value: ConfigGeneric.DIFFERENT_VALUE, selectOptions});\n } else {\n this.setState({value, selectOptions});\n }\n }\n\n renderItem(error, disabled, defaultValue) {\n if (!this.state.selectOptions) {\n return null;\n }\n let item;\n let options = JSON.parse(JSON.stringify(this.state.selectOptions));\n let isIndeterminate = Array.isArray(this.state.value) || this.state.value === ConfigGeneric.DIFFERENT_LABEL;\n\n if (isIndeterminate) {\n [...this.state.value]\n .filter(val => !options.find(it => it.value === val))\n .forEach(item => options.push({label: item.toString(), value: item}));\n\n item = {label: ConfigGeneric.DIFFERENT_LABEL, value: ConfigGeneric.DIFFERENT_VALUE};\n options.unshift(item);\n } else {\n // eslint-disable-next-line\n item = this.state.value !== null && this.state.value !== undefined && options.find(item => item.value == this.state.value); // let \"==\" be and not ===\n if (this.state.value !== null && this.state.value !== undefined && !item) {\n item = {value: this.state.value, label: this.state.value};\n options.push(item);\n }\n }\n\n return <Autocomplete\n className={this.props.classes.indeterminate}\n fullWidth\n freeSolo={!!this.props.schema.freeSolo}\n value={item}\n // autoComplete\n //getOptionSelected={(option, value) => option.value === value.value}\n onInputChange={e => {\n if (e) {\n const val = e.target.value;\n if (val !== this.state.value) {\n this.setState({value: val}, () => this.onChange(this.props.attr, val));\n }\n }\n }}\n onChange={(_, value) => {\n const val = typeof value === 'object' ? (value ? value.value : '') : value;\n if (val !== this.state.value) {\n this.setState({value: val}, () => this.onChange(this.props.attr, val));\n }\n }}\n options={options}\n getOptionLabel={option => (option && option.label) || ''}\n renderInput={params => <TextField\n variant=\"standard\"\n {...params}\n error={!!error}\n // inputProps are important and will be given in params\n // inputProps={{maxLength: this.props.schema.maxLength || this.props.schema.max || undefined}}\n placeholder={this.getText(this.props.schema.placeholder)}\n label={this.getText(this.props.schema.label)}\n helperText={this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}\n disabled={!!disabled}\n />}\n />;\n }\n}\n\nConfigAutocomplete.propTypes = {\n socket: PropTypes.object.isRequired,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigAutocomplete);\n"],"mappings":"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"}
|