@iobroker/adapter-react-v5 2.1.10 → 3.0.1
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/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/JsonConfigComponent/ChipInput.js +926 -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/Utils.js +25 -0
- package/Components/Utils.js.map +1 -1
- package/README.md +7 -1
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigTable.js","names":["styles","theme","fullWidth","width","root","paper","marginBottom","spacing","backgroundColor","table","minWidth","visuallyHidden","border","clip","height","margin","overflow","padding","position","top","addIcon","display","justifyContent","highlight","palette","mode","color","secondary","main","text","primary","dark","title","flex","rootTool","paddingLeft","paddingRight","silver","opacity","filteredOut","textAlign","buttonEmpty","buttonCell","whiteSpace","objectToArray","object","nameOfFirstAttr","nameOfSecondAttr","array","Object","keys","forEach","key","item","push","assign","arrayToObject","row","undefined","ConfigTable","props","property","orderCheck","state","order","orderBy","isAsc","newOrder","newValue","stableSort","setState","iteration","applyFilter","value","comparator","getComparator","stabilizedThis","map","el","index","sort","a","b","JSON","parse","stringify","visibleValue","splice","pos","indexOf","i","onChangeWrapper","updateVisible","typingTimer","clearTimeout","setTimeout","schema","objKeyName","objValue","objValueName","onChange","attr","handleRequestSort","newItem","items","reduce","accumulator","currentValue","length","clear","_","filterRefs","valueInputRef","current","children","toLowerCase","filter","idx","includes","createRef","ConfigGeneric","getValue","data","attrItem","systemConfig","schemaFind","find","schemaItem","socket","adapterName","instance","common","alive","themeType","themeName","customs","valueChange","newObj","error","onError","buttonsWidth","classes","headCell","endsWith","clsx","endAdornment","getText","noDelete","disabled","defaultValue","doAnyFilterSet","isAnyFilterSet","label","I18n","t","onAdd","enhancedTableHead","console","log","itemTable","onMoveUp","onMoveDown","onDelete","e","help","renderHelp","helpLink","noTranslation","descendingComparator","propTypes","PropTypes","isRequired","string","style","className","func","withStyles"],"sources":["JsonConfigComponent/ConfigTable.jsx"],"sourcesContent":["import React, { createRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { /*lighten,*/ withStyles } from '@mui/styles';\nimport clsx from 'clsx';\n\nimport FormHelperText from '@mui/material/FormHelperText';\nimport { IconButton, InputAdornment, Paper, Table, TableBody, TableCell, TableContainer, TableHead, TableRow, TableSortLabel, TextField, Toolbar, Tooltip, Typography } from '@mui/material';\n\nimport AddIcon from '@mui/icons-material/Add';\nimport DeleteIcon from '@mui/icons-material/Delete';\nimport CloseIcon from '@mui/icons-material/Close';\nimport UpIcon from '@mui/icons-material/ArrowUpward';\nimport DownIcon from '@mui/icons-material/ArrowDownward';\n\nimport I18n from '@iobroker/adapter-react-v5/i18n';\n\nimport ConfigGeneric from './ConfigGeneric';\nimport ConfigPanel from './ConfigPanel';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n },\n root: {\n width: '100%',\n },\n paper: {\n width: '100%',\n marginBottom: theme.spacing(2),\n backgroundColor: `rgba(255, 255, 255, 0.1)`,\n },\n table: {\n minWidth: 750,\n },\n visuallyHidden: {\n border: 0,\n clip: 'rect(0 0 0 0)',\n height: 1,\n margin: -1,\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n top: 20,\n width: 1,\n },\n addIcon: {\n display: 'flex',\n justifyContent: 'space-between'\n },\n highlight:\n theme.palette.mode === 'light'\n ? {\n color: theme.palette.secondary.main,\n // backgroundColor: lighten(theme.palette.secondary.light, 0.85),\n }\n : {\n color: theme.palette.text.primary,\n backgroundColor: theme.palette.secondary.dark,\n },\n title: {\n flex: '1 1 100%',\n },\n rootTool: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(1),\n },\n silver: {\n opacity: 0.2\n },\n flex: {\n display: 'flex'\n },\n filteredOut: {\n padding: 10,\n display: 'flex',\n textAlign: 'center'\n },\n buttonEmpty: {\n width: 30,\n display: 'inline-block'\n },\n buttonCell: {\n whiteSpace: 'nowrap',\n }\n});\n\nfunction objectToArray(object, nameOfFirstAttr, nameOfSecondAttr) {\n nameOfFirstAttr = nameOfFirstAttr || 'key';\n\n const array = [];\n Object.keys(object).forEach(key => {\n const item = {};\n item[nameOfFirstAttr] = key;\n\n if (nameOfSecondAttr) {\n item[nameOfSecondAttr] = object[key]\n array.push(item);\n } else {\n array.push(Object.assign(item, object[key]));\n }\n });\n\n return array;\n}\n\nfunction arrayToObject(array, nameOfFirstAttr, nameOfSecondAttr) {\n nameOfFirstAttr = nameOfFirstAttr || 'key';\n\n const object = {};\n\n array.forEach(row => {\n let key = row[nameOfFirstAttr];\n if (key === null || key === undefined) {\n key = '';\n }\n delete row[nameOfFirstAttr];\n\n if (nameOfSecondAttr) {\n object[key] = row[nameOfSecondAttr];\n } else {\n object[key] = row;\n }\n });\n\n return object;\n}\n\nclass ConfigTable extends ConfigGeneric {\n constructor(props) {\n super(props)\n this.filterRefs = {};\n this.props.schema.items.forEach(el => {\n if (el.filter) {\n this.filterRefs[el.attr] = createRef();\n }\n });\n }\n\n async componentDidMount() {\n super.componentDidMount();\n let value = ConfigGeneric.getValue(this.props.data, this.props.attr) || [];\n\n // if the list is given as an object\n if (this.props.schema.objKeyName) {\n value = objectToArray(value, this.props.schema.objKeyName, this.props.schema.objValueName);\n }\n\n const visibleValue = value.map((_, i) => i);\n\n this.setState({ value, visibleValue, orderBy: /*this.props.schema.items.length ? this.props.schema.items[0].attr : */'', order: 'asc', iteration: 0 });\n }\n\n componentWillUnmount() {\n this.typingTimer && clearTimeout(this.typingTimer)\n this.typingTimer = null;\n super.componentWillUnmount();\n }\n\n itemTable(attrItem, data, idx) {\n const { value, systemConfig } = this.state;\n const { schema } = this.props;\n const schemaFind = schema.items.find(el => el.attr === attrItem);\n\n if (!schemaFind) {\n return null;\n }\n\n const schemaItem = {\n items: {\n [attrItem]: schemaFind\n }\n };\n\n return <ConfigPanel\n index={idx + this.state.iteration}\n socket={this.props.socket}\n adapterName={this.props.adapterName}\n instance={this.props.instance}\n common={this.props.common}\n alive={this.props.alive}\n themeType={this.props.themeType}\n themeName={this.props.themeName}\n data={data}\n table\n custom\n schema={schemaItem}\n systemConfig={systemConfig}\n customs={this.props.customs}\n onChange={(attr, valueChange) => {\n const newObj = JSON.parse(JSON.stringify(value));\n newObj[idx][attr] = valueChange;\n this.setState({ value: newObj }, () =>\n this.onChangeWrapper(newObj,true));\n }}\n onError={(error, attr) => this.onError(error, attr)}\n />;\n }\n\n static descendingComparator(a, b, orderBy) {\n if (b[orderBy] < a[orderBy]) {\n return -1;\n } else\n if (b[orderBy] > a[orderBy]) {\n return 1;\n } else {\n return 0;\n }\n }\n\n static getComparator(order, orderBy) {\n return order === 'desc'\n ? (a, b) => ConfigTable.descendingComparator(a, b, orderBy)\n : (a, b) => -ConfigTable.descendingComparator(a, b, orderBy);\n }\n\n handleRequestSort = (property, orderCheck = false) => {\n const { order, orderBy } = this.state;\n if (orderBy) {\n const isAsc = orderBy === property && order === 'asc';\n const newOrder = orderCheck ? order : (isAsc ? 'desc' : 'asc');\n const newValue = this.stableSort(newOrder, property);\n this.setState({ order: newOrder, orderBy: property, iteration: this.state.iteration + 10000 }, () =>\n this.applyFilter(false, newValue));\n }\n }\n\n stableSort = (order, orderBy) => {\n const { value } = this.state;\n const comparator = ConfigTable.getComparator(order, orderBy);\n const stabilizedThis = value.map((el, index) => [el, index]);\n\n stabilizedThis.sort((a, b) => {\n const order = comparator(a[0], b[0]);\n if (order !== 0) {\n return order;\n } else {\n return a[1] - b[1];\n }\n });\n\n return stabilizedThis.map(el => el[0]);\n }\n\n enhancedTableHead(buttonsWidth) {\n const { schema, classes } = this.props;\n const { order, orderBy } = this.state;\n return <TableHead>\n <TableRow>\n {schema.items.map(headCell => (\n <TableCell\n style={{ width: typeof headCell.width === 'string' && headCell.width.endsWith('%') ? 'auto' : headCell.width }}\n key={headCell.attr}\n align=\"left\"\n sortDirection={orderBy === headCell.attr ? order : false}\n >\n <div className={classes.flex}>\n {headCell.sort && <TableSortLabel\n active\n className={clsx(orderBy !== headCell.attr && classes.silver)}\n direction={orderBy === headCell.attr ? order : 'asc'}\n onClick={() => this.handleRequestSort(headCell.attr)}\n />}\n {headCell.filter ?\n <TextField\n variant=\"standard\"\n ref={this.filterRefs[headCell.attr]}\n onChange={() => this.applyFilter()}\n InputProps={{\n endAdornment: (\n this.filterRefs[headCell.attr]?.current?.children[0]?.children[0]?.value && <InputAdornment position=\"end\">\n <IconButton\n size=\"small\"\n onClick={() => {\n this.filterRefs[headCell.attr].current.children[0].children[0].value = '';\n this.applyFilter();\n }}\n >\n <CloseIcon />\n </IconButton>\n </InputAdornment>\n ),\n }} fullWidth placeholder={this.getText(headCell.title)} />\n : this.getText(headCell.title)}\n </div>\n </TableCell>\n ))}\n {!schema.noDelete && <TableCell style={{ paddingLeft: 20, width: buttonsWidth }} padding=\"checkbox\">\n <IconButton disabled size=\"small\">\n <DeleteIcon />\n </IconButton>\n </TableCell>}\n </TableRow>\n </TableHead>;\n }\n\n onDelete = index =>\n () => {\n const newValue = JSON.parse(JSON.stringify(this.state.value));\n let visibleValue = JSON.parse(JSON.stringify(this.state.visibleValue));\n newValue.splice(index, 1);\n const pos = visibleValue.indexOf(index);\n if (pos !== -1) {\n visibleValue.splice(pos, 1);\n visibleValue = visibleValue.map(i => i > index ? i - 1 : i);\n }\n\n this.setState({ value: newValue, visibleValue, iteration: this.state.iteration + 10000 }, () =>\n this.onChangeWrapper(newValue));\n };\n\n onChangeWrapper = (newValue, updateVisible = false) => {\n this.typingTimer && clearTimeout(this.typingTimer);\n\n this.typingTimer = setTimeout((value, updateVisible) => {\n this.typingTimer = null;\n\n if (this.props.schema.objKeyName) {\n const objValue = arrayToObject(JSON.parse(JSON.stringify(value)), this.props.schema.objKeyName, this.props.schema.objValueName);\n this.onChange(this.props.attr, objValue);\n } else {\n this.onChange(this.props.attr, value);\n }\n\n if (updateVisible) {\n this.applyFilter(false, value);\n this.handleRequestSort(this.state.orderBy, true);\n }\n }, 300, newValue, updateVisible);\n }\n\n onAdd = () => {\n const { schema } = this.props;\n const newValue = JSON.parse(JSON.stringify(this.state.value));\n const visibleValue = JSON.parse(JSON.stringify(this.state.visibleValue));\n\n const newItem = schema.items.reduce((accumulator, currentValue) => {\n accumulator[currentValue.attr] = currentValue.default === undefined ? null : currentValue.default;\n return accumulator;\n }, {});\n\n newValue.push(newItem);\n visibleValue.push(newValue.length - 1);\n\n this.setState({ value: newValue, visibleValue }, () =>\n this.onChangeWrapper(newValue));\n }\n\n isAnyFilterSet() {\n return Object.keys(this.filterRefs).find(attr => this.filterRefs[attr].current?.children[0].children[0].value);\n }\n\n applyFilter = (clear = false, value = this.state.value) => {\n let visibleValue = value.map((_, i) => i);\n Object.keys(this.filterRefs).forEach(attr => {\n let valueInputRef = this.filterRefs[attr].current.children[0].children[0].value;\n if (!clear && valueInputRef) {\n valueInputRef = valueInputRef.toLowerCase();\n visibleValue = visibleValue.filter(idx => value[idx] && value[idx][attr] && value[idx][attr].toLowerCase().includes(valueInputRef));\n } else {\n this.filterRefs[attr].current.children[0].children[0].value = '';\n }\n });\n\n if (JSON.stringify(visibleValue) !== JSON.stringify(this.state.visibleValue)) {\n this.setState({ visibleValue });\n }\n }\n\n onMoveUp(idx) {\n const value = JSON.parse(JSON.stringify(this.state.value));\n const item = value[idx];\n value.splice(idx, 1);\n value.splice(idx - 1, 0, item);\n this.setState({ value, iteration: this.state.iteration + 10000 }, () =>\n this.onChangeWrapper(value));\n }\n\n onMoveDown(idx) {\n const value = JSON.parse(JSON.stringify(this.state.value));\n const item = value[idx];\n value.splice(idx, 1);\n value.splice(idx + 1, 0, item);\n this.setState({ value, iteration: this.state.iteration + 10000 }, () =>\n this.onChangeWrapper(value));\n }\n\n renderItem(error, disabled, defaultValue) {\n const { classes, schema } = this.props;\n const { value, visibleValue } = this.state;\n\n if (!value) {\n return null;\n }\n\n const doAnyFilterSet = this.isAnyFilterSet();\n\n return <Paper className={classes.paper}>\n <div className={classes.addIcon}>\n {schema.label ? <Toolbar\n variant=\"dense\"\n className={classes.rootTool}\n >\n <Typography className={classes.title} variant=\"h6\" id=\"tableTitle\" component=\"div\">\n {this.getText(schema.label)}\n </Typography>\n </Toolbar> : null}\n {!schema.noDelete && !doAnyFilterSet ? <Tooltip title={I18n.t('Add row')}>\n <IconButton onClick={this.onAdd}>\n <AddIcon />\n </IconButton>\n </Tooltip> : null}\n </div>\n <TableContainer>\n <Table className={classes.table} size=\"small\">\n {this.enhancedTableHead(!doAnyFilterSet && !this.state.orderBy ? 120 : 64)}\n <TableBody>\n {visibleValue.map((idx, i) =>\n <TableRow\n hover\n key={idx}\n >\n {schema.items.map(headCell => {\n console.log(`KEy: ${headCell.attr + idx} = ${value[idx][headCell.attr]}`)\n return <TableCell key={headCell.attr + '_' + idx} align=\"left\">\n {this.itemTable(headCell.attr, value[idx], idx)}\n </TableCell>;\n })}\n {!schema.noDelete && <TableCell align=\"left\" className={classes.buttonCell}>\n {!doAnyFilterSet && !this.state.orderBy ? (i ? <Tooltip title={I18n.t('Move up')}>\n <IconButton size=\"small\" onClick={() => this.onMoveUp(idx)}>\n <UpIcon />\n </IconButton>\n </Tooltip> : <div className={classes.buttonEmpty}/> ) : null}\n {!doAnyFilterSet && !this.state.orderBy ? (i < visibleValue.length - 1 ? <Tooltip title={I18n.t('Move down')}>\n <IconButton size=\"small\" onClick={() => this.onMoveDown(idx)}>\n <DownIcon />\n </IconButton>\n </Tooltip> : <div className={classes.buttonEmpty}/> ) : null}\n <Tooltip title={I18n.t('Delete current row')}>\n <IconButton size=\"small\" onClick={this.onDelete(idx)}>\n <DeleteIcon />\n </IconButton>\n </Tooltip>\n </TableCell>}\n </TableRow>)}\n </TableBody>\n </Table>\n {!visibleValue.length && value.length ?\n <div className={classes.filteredOut}>\n <Typography className={classes.title} variant=\"h6\" id=\"tableTitle\" component=\"div\">\n {I18n.t('All items are filtered out')}\n <IconButton\n size=\"small\"\n onClick={e => this.applyFilter(true)}\n >\n <CloseIcon />\n </IconButton>\n </Typography>\n </div> : null}\n </TableContainer>\n {schema.help ? <FormHelperText>{this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}</FormHelperText> : null}\n </Paper>;\n }\n}\n\nConfigTable.propTypes = {\n socket: PropTypes.object.isRequired,\n themeType: PropTypes.string,\n themeName: PropTypes.string,\n style: PropTypes.object,\n className: PropTypes.string,\n data: PropTypes.object.isRequired,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(ConfigTable);\n"],"mappings":"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"}
|
|
@@ -0,0 +1,166 @@
|
|
|
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 _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
15
|
+
|
|
16
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
17
|
+
|
|
18
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
19
|
+
|
|
20
|
+
var _react = _interopRequireDefault(require("react"));
|
|
21
|
+
|
|
22
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
23
|
+
|
|
24
|
+
var _styles = require("@mui/styles");
|
|
25
|
+
|
|
26
|
+
var _Tabs = _interopRequireDefault(require("@mui/material/Tabs"));
|
|
27
|
+
|
|
28
|
+
var _Tab = _interopRequireDefault(require("@mui/material/Tab"));
|
|
29
|
+
|
|
30
|
+
var _ConfigGeneric2 = _interopRequireDefault(require("./ConfigGeneric"));
|
|
31
|
+
|
|
32
|
+
var _ConfigPanel = _interopRequireDefault(require("./ConfigPanel"));
|
|
33
|
+
|
|
34
|
+
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
|
+
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
|
+
var styles = function styles(theme) {
|
|
39
|
+
return {
|
|
40
|
+
tabs: {
|
|
41
|
+
height: '100%',
|
|
42
|
+
width: '100%'
|
|
43
|
+
},
|
|
44
|
+
panel: {
|
|
45
|
+
height: 'calc(100% - 48px)',
|
|
46
|
+
width: '100%',
|
|
47
|
+
display: 'block'
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
var ConfigTabs = /*#__PURE__*/function (_ConfigGeneric) {
|
|
53
|
+
(0, _inherits2["default"])(ConfigTabs, _ConfigGeneric);
|
|
54
|
+
|
|
55
|
+
var _super = _createSuper(ConfigTabs);
|
|
56
|
+
|
|
57
|
+
function ConfigTabs(props) {
|
|
58
|
+
var _this;
|
|
59
|
+
|
|
60
|
+
(0, _classCallCheck2["default"])(this, ConfigTabs);
|
|
61
|
+
_this = _super.call(this, props);
|
|
62
|
+
var tab = window.localStorage.getItem((_this.props.dialogName || 'App') + '.' + _this.props.adapterName) || Object.keys(_this.props.schema.items)[0];
|
|
63
|
+
|
|
64
|
+
if (!Object.keys(_this.props.schema.items).includes(tab)) {
|
|
65
|
+
tab = Object.keys(_this.props.schema.items)[0];
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
_this.state = {
|
|
69
|
+
tab: tab
|
|
70
|
+
};
|
|
71
|
+
return _this;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
(0, _createClass2["default"])(ConfigTabs, [{
|
|
75
|
+
key: "render",
|
|
76
|
+
value: function render() {
|
|
77
|
+
var _this2 = this;
|
|
78
|
+
|
|
79
|
+
var items = this.props.schema.items;
|
|
80
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
81
|
+
className: this.props.classes.tabs
|
|
82
|
+
}, /*#__PURE__*/_react["default"].createElement(_Tabs["default"], {
|
|
83
|
+
value: this.state.tab,
|
|
84
|
+
onChange: function onChange(e, tab) {
|
|
85
|
+
window.localStorage.setItem((_this2.props.dialogName || 'App') + '.' + _this2.props.adapterName, tab);
|
|
86
|
+
|
|
87
|
+
_this2.setState({
|
|
88
|
+
tab: tab
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}, Object.keys(items).map(function (name) {
|
|
92
|
+
var disabled = _this2.execute(items[name].disabled, false);
|
|
93
|
+
|
|
94
|
+
return /*#__PURE__*/_react["default"].createElement(_Tab["default"], {
|
|
95
|
+
wrapped: true,
|
|
96
|
+
disabled: disabled,
|
|
97
|
+
key: name,
|
|
98
|
+
value: name,
|
|
99
|
+
label: _this2.getText(items[name].label)
|
|
100
|
+
});
|
|
101
|
+
})), /*#__PURE__*/_react["default"].createElement(_ConfigPanel["default"], {
|
|
102
|
+
key: this.state.tab,
|
|
103
|
+
index: 1001,
|
|
104
|
+
isParentTab: true,
|
|
105
|
+
onCommandRunning: this.props.onCommandRunning,
|
|
106
|
+
commandRunning: this.props.commandRunning,
|
|
107
|
+
className: this.props.classes.panel,
|
|
108
|
+
socket: this.props.socket,
|
|
109
|
+
adapterName: this.props.adapterName,
|
|
110
|
+
instance: this.props.instance,
|
|
111
|
+
common: this.props.common,
|
|
112
|
+
customs: this.props.customs,
|
|
113
|
+
alive: this.props.alive,
|
|
114
|
+
themeType: this.props.themeType,
|
|
115
|
+
themeName: this.props.themeName,
|
|
116
|
+
data: this.props.data,
|
|
117
|
+
originalData: this.props.originalData,
|
|
118
|
+
systemConfig: this.props.systemConfig,
|
|
119
|
+
onError: this.props.onError,
|
|
120
|
+
onChange: this.props.onChange,
|
|
121
|
+
multiEdit: this.props.multiEdit,
|
|
122
|
+
forceUpdate: this.props.forceUpdate,
|
|
123
|
+
registerOnForceUpdate: this.props.registerOnForceUpdate,
|
|
124
|
+
customObj: this.props.customObj,
|
|
125
|
+
instanceObj: this.props.instanceObj,
|
|
126
|
+
custom: this.props.custom,
|
|
127
|
+
schema: items[this.state.tab]
|
|
128
|
+
}));
|
|
129
|
+
}
|
|
130
|
+
}]);
|
|
131
|
+
return ConfigTabs;
|
|
132
|
+
}(_ConfigGeneric2["default"]);
|
|
133
|
+
|
|
134
|
+
ConfigTabs.propTypes = {
|
|
135
|
+
socket: _propTypes["default"].object.isRequired,
|
|
136
|
+
themeType: _propTypes["default"].string,
|
|
137
|
+
themeName: _propTypes["default"].string,
|
|
138
|
+
style: _propTypes["default"].object,
|
|
139
|
+
className: _propTypes["default"].string,
|
|
140
|
+
data: _propTypes["default"].object.isRequired,
|
|
141
|
+
originalData: _propTypes["default"].object,
|
|
142
|
+
schema: _propTypes["default"].object,
|
|
143
|
+
onError: _propTypes["default"].func,
|
|
144
|
+
onChange: _propTypes["default"].func,
|
|
145
|
+
customs: _propTypes["default"].object,
|
|
146
|
+
adapterName: _propTypes["default"].string,
|
|
147
|
+
instance: _propTypes["default"].number,
|
|
148
|
+
commandRunning: _propTypes["default"].bool,
|
|
149
|
+
onCommandRunning: _propTypes["default"].func,
|
|
150
|
+
dateFormat: _propTypes["default"].string,
|
|
151
|
+
isFloatComma: _propTypes["default"].bool,
|
|
152
|
+
multiEdit: _propTypes["default"].bool,
|
|
153
|
+
customObj: _propTypes["default"].object,
|
|
154
|
+
instanceObj: _propTypes["default"].object,
|
|
155
|
+
custom: _propTypes["default"].bool,
|
|
156
|
+
registerOnForceUpdate: _propTypes["default"].func.isRequired,
|
|
157
|
+
forceUpdate: _propTypes["default"].func.isRequired,
|
|
158
|
+
systemConfig: _propTypes["default"].object,
|
|
159
|
+
alive: _propTypes["default"].bool,
|
|
160
|
+
common: _propTypes["default"].object
|
|
161
|
+
};
|
|
162
|
+
|
|
163
|
+
var _default = (0, _styles.withStyles)(styles)(ConfigTabs);
|
|
164
|
+
|
|
165
|
+
exports["default"] = _default;
|
|
166
|
+
//# sourceMappingURL=ConfigTabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigTabs.js","names":["styles","theme","tabs","height","width","panel","display","ConfigTabs","props","tab","window","localStorage","getItem","dialogName","adapterName","Object","keys","schema","items","includes","state","classes","e","setItem","setState","map","name","disabled","execute","getText","label","onCommandRunning","commandRunning","socket","instance","common","customs","alive","themeType","themeName","data","originalData","systemConfig","onError","onChange","multiEdit","forceUpdate","registerOnForceUpdate","customObj","instanceObj","custom","ConfigGeneric","propTypes","PropTypes","object","isRequired","string","style","className","func","number","bool","dateFormat","isFloatComma","withStyles"],"sources":["JsonConfigComponent/ConfigTabs.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport Tabs from '@mui/material/Tabs';\nimport Tab from '@mui/material/Tab';\n\nimport ConfigGeneric from './ConfigGeneric';\nimport ConfigPanel from './ConfigPanel';\n\nconst styles = theme => ({\n tabs: {\n height: '100%',\n width: '100%',\n },\n panel: {\n height: 'calc(100% - 48px)',\n width: '100%',\n display: 'block'\n }\n});\n\nclass ConfigTabs extends ConfigGeneric {\n constructor(props) {\n super(props);\n\n let tab = window.localStorage.getItem((this.props.dialogName || 'App') + '.' + this.props.adapterName) || Object.keys(this.props.schema.items)[0];\n if (!Object.keys(this.props.schema.items).includes(tab)) {\n tab = Object.keys(this.props.schema.items)[0];\n }\n this.state = {\n tab,\n };\n }\n\n render() {\n const items = this.props.schema.items;\n\n return <div className={this.props.classes.tabs}>\n <Tabs value={this.state.tab} onChange={(e, tab) => {\n window.localStorage.setItem((this.props.dialogName || 'App') + '.' + this.props.adapterName, tab);\n this.setState({tab});\n }}>\n {Object.keys(items).map(name => {\n const disabled = this.execute(items[name].disabled, false);\n return <Tab wrapped disabled={disabled} key={name} value={name} label={this.getText(items[name].label)} />\n })}\n </Tabs>\n {<ConfigPanel\n key={this.state.tab}\n index={1001}\n isParentTab={true}\n onCommandRunning={this.props.onCommandRunning}\n commandRunning={this.props.commandRunning}\n className={this.props.classes.panel}\n socket={this.props.socket}\n adapterName={this.props.adapterName}\n instance={this.props.instance}\n common={this.props.common}\n customs={this.props.customs}\n alive={this.props.alive}\n themeType={this.props.themeType}\n themeName={this.props.themeName}\n data={this.props.data}\n originalData={this.props.originalData}\n systemConfig={this.props.systemConfig}\n onError={this.props.onError}\n onChange={this.props.onChange}\n multiEdit={this.props.multiEdit}\n\n forceUpdate={this.props.forceUpdate}\n registerOnForceUpdate={this.props.registerOnForceUpdate}\n\n customObj={this.props.customObj}\n instanceObj={this.props.instanceObj}\n custom={this.props.custom}\n\n schema={items[this.state.tab]}\n />}\n </div>;\n }\n}\n\nConfigTabs.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 originalData: PropTypes.object,\n schema: PropTypes.object,\n onError: PropTypes.func,\n onChange: PropTypes.func,\n customs: PropTypes.object,\n adapterName: PropTypes.string,\n instance: PropTypes.number,\n commandRunning: PropTypes.bool,\n onCommandRunning: PropTypes.func,\n dateFormat: PropTypes.string,\n isFloatComma: PropTypes.bool,\n multiEdit: PropTypes.bool,\n\n customObj: PropTypes.object,\n instanceObj: PropTypes.object,\n custom: PropTypes.bool,\n\n registerOnForceUpdate: PropTypes.func.isRequired,\n forceUpdate: PropTypes.func.isRequired,\n systemConfig: PropTypes.object,\n alive: PropTypes.bool,\n common: PropTypes.object,\n};\n\nexport default withStyles(styles)(ConfigTabs);"],"mappings":"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"}
|
|
@@ -0,0 +1,170 @@
|
|
|
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 _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
13
|
+
|
|
14
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
15
|
+
|
|
16
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
17
|
+
|
|
18
|
+
var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
|
|
19
|
+
|
|
20
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
21
|
+
|
|
22
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
23
|
+
|
|
24
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
25
|
+
|
|
26
|
+
var _react = _interopRequireDefault(require("react"));
|
|
27
|
+
|
|
28
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
29
|
+
|
|
30
|
+
var _styles = require("@mui/styles");
|
|
31
|
+
|
|
32
|
+
var _material = require("@mui/material");
|
|
33
|
+
|
|
34
|
+
var _ConfigGeneric2 = _interopRequireDefault(require("./ConfigGeneric"));
|
|
35
|
+
|
|
36
|
+
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); }; }
|
|
37
|
+
|
|
38
|
+
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; } }
|
|
39
|
+
|
|
40
|
+
var styles = function styles(theme) {
|
|
41
|
+
return {
|
|
42
|
+
indeterminate: {
|
|
43
|
+
opacity: 0.5
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
var ConfigText = /*#__PURE__*/function (_ConfigGeneric) {
|
|
49
|
+
(0, _inherits2["default"])(ConfigText, _ConfigGeneric);
|
|
50
|
+
|
|
51
|
+
var _super = _createSuper(ConfigText);
|
|
52
|
+
|
|
53
|
+
function ConfigText() {
|
|
54
|
+
(0, _classCallCheck2["default"])(this, ConfigText);
|
|
55
|
+
return _super.apply(this, arguments);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
(0, _createClass2["default"])(ConfigText, [{
|
|
59
|
+
key: "componentDidMount",
|
|
60
|
+
value: function componentDidMount() {
|
|
61
|
+
(0, _get2["default"])((0, _getPrototypeOf2["default"])(ConfigText.prototype), "componentDidMount", this).call(this);
|
|
62
|
+
|
|
63
|
+
var value = _ConfigGeneric2["default"].getValue(this.props.data, this.props.attr);
|
|
64
|
+
|
|
65
|
+
this.setState({
|
|
66
|
+
value: value
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
}, {
|
|
70
|
+
key: "renderItem",
|
|
71
|
+
value: function renderItem(error, disabled, defaultValue) {
|
|
72
|
+
var _this = this;
|
|
73
|
+
|
|
74
|
+
var isIndeterminate = Array.isArray(this.state.value) || this.state.value === _ConfigGeneric2["default"].DIFFERENT_LABEL;
|
|
75
|
+
|
|
76
|
+
if (isIndeterminate) {
|
|
77
|
+
var arr = (0, _toConsumableArray2["default"])(this.state.value).map(function (item) {
|
|
78
|
+
return {
|
|
79
|
+
label: item.toString(),
|
|
80
|
+
value: item
|
|
81
|
+
};
|
|
82
|
+
});
|
|
83
|
+
arr.unshift({
|
|
84
|
+
label: _ConfigGeneric2["default"].DIFFERENT_LABEL,
|
|
85
|
+
value: _ConfigGeneric2["default"].DIFFERENT_VALUE
|
|
86
|
+
});
|
|
87
|
+
return /*#__PURE__*/_react["default"].createElement(_material.Autocomplete, {
|
|
88
|
+
className: this.props.classes.indeterminate,
|
|
89
|
+
fullWidth: true,
|
|
90
|
+
value: arr[0],
|
|
91
|
+
getOptionSelected: function getOptionSelected(option, value) {
|
|
92
|
+
return option.label === value.label;
|
|
93
|
+
},
|
|
94
|
+
onChange: function onChange(_, value) {
|
|
95
|
+
return _this.onChange(_this.props.attr, value ? value.value : '');
|
|
96
|
+
},
|
|
97
|
+
options: arr,
|
|
98
|
+
getOptionLabel: function getOptionLabel(option) {
|
|
99
|
+
return option.label;
|
|
100
|
+
},
|
|
101
|
+
renderInput: function renderInput(params) {
|
|
102
|
+
return /*#__PURE__*/_react["default"].createElement(_material.TextField, (0, _extends2["default"])({
|
|
103
|
+
variant: "standard"
|
|
104
|
+
}, params, {
|
|
105
|
+
error: !!error,
|
|
106
|
+
placeholder: _this.getText(_this.props.schema.placeholder),
|
|
107
|
+
label: _this.getText(_this.props.schema.label),
|
|
108
|
+
helperText: _this.renderHelp(_this.props.schema.help, _this.props.schema.helpLink, _this.props.schema.noTranslation),
|
|
109
|
+
disabled: !!disabled
|
|
110
|
+
}));
|
|
111
|
+
}
|
|
112
|
+
});
|
|
113
|
+
} else {
|
|
114
|
+
return /*#__PURE__*/_react["default"].createElement(_material.TextField, {
|
|
115
|
+
variant: "standard",
|
|
116
|
+
fullWidth: true,
|
|
117
|
+
value: this.state.value === null || this.state.value === undefined ? '' : this.state.value,
|
|
118
|
+
error: !!error,
|
|
119
|
+
disabled: !!disabled,
|
|
120
|
+
inputProps: {
|
|
121
|
+
maxLength: this.props.schema.maxLength || this.props.schema.max || undefined
|
|
122
|
+
},
|
|
123
|
+
onChange: function onChange(e) {
|
|
124
|
+
var value = e.target.value;
|
|
125
|
+
|
|
126
|
+
_this.setState({
|
|
127
|
+
value: value
|
|
128
|
+
}, function () {
|
|
129
|
+
return _this.onChange(_this.props.attr, _this.props.schema.trim === false ? value : (value || '').trim());
|
|
130
|
+
});
|
|
131
|
+
},
|
|
132
|
+
placeholder: this.getText(this.props.schema.placeholder),
|
|
133
|
+
label: this.getText(this.props.schema.label),
|
|
134
|
+
helperText: this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}], [{
|
|
139
|
+
key: "getDerivedStateFromProps",
|
|
140
|
+
value: function getDerivedStateFromProps(props, state) {
|
|
141
|
+
var value = _ConfigGeneric2["default"].getValue(props.data, props.attr);
|
|
142
|
+
|
|
143
|
+
if (value === null || value === undefined || value.toString().trim() !== (state.value || '').toString().trim()) {
|
|
144
|
+
return {
|
|
145
|
+
value: value
|
|
146
|
+
};
|
|
147
|
+
} else {
|
|
148
|
+
return null;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
}]);
|
|
152
|
+
return ConfigText;
|
|
153
|
+
}(_ConfigGeneric2["default"]);
|
|
154
|
+
|
|
155
|
+
ConfigText.propTypes = {
|
|
156
|
+
socket: _propTypes["default"].object.isRequired,
|
|
157
|
+
themeType: _propTypes["default"].string,
|
|
158
|
+
themeName: _propTypes["default"].string,
|
|
159
|
+
style: _propTypes["default"].object,
|
|
160
|
+
className: _propTypes["default"].string,
|
|
161
|
+
data: _propTypes["default"].object.isRequired,
|
|
162
|
+
schema: _propTypes["default"].object,
|
|
163
|
+
onError: _propTypes["default"].func,
|
|
164
|
+
onChange: _propTypes["default"].func
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
var _default = (0, _styles.withStyles)(styles)(ConfigText);
|
|
168
|
+
|
|
169
|
+
exports["default"] = _default;
|
|
170
|
+
//# sourceMappingURL=ConfigText.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConfigText.js","names":["styles","theme","indeterminate","opacity","ConfigText","value","ConfigGeneric","getValue","props","data","attr","setState","error","disabled","defaultValue","isIndeterminate","Array","isArray","state","DIFFERENT_LABEL","arr","map","item","label","toString","unshift","DIFFERENT_VALUE","classes","option","_","onChange","params","getText","schema","placeholder","renderHelp","help","helpLink","noTranslation","undefined","maxLength","max","e","target","trim","propTypes","socket","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","withStyles"],"sources":["JsonConfigComponent/ConfigText.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 indeterminate: {\n opacity: 0.5\n }\n});\n\nclass ConfigText extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n this.setState({value});\n }\n\n static getDerivedStateFromProps(props, state) {\n const value = ConfigGeneric.getValue(props.data, props.attr);\n if (value === null || value === undefined || value.toString().trim() !== (state.value || '').toString().trim()) {\n return {value};\n } else {\n return null;\n }\n }\n\n renderItem(error, disabled, defaultValue) {\n let isIndeterminate = Array.isArray(this.state.value) || this.state.value === ConfigGeneric.DIFFERENT_LABEL;\n\n if (isIndeterminate) {\n const arr = [...this.state.value].map(item => ({label: item.toString(), value: item}));\n arr.unshift({label: ConfigGeneric.DIFFERENT_LABEL, value: ConfigGeneric.DIFFERENT_VALUE});\n\n return <Autocomplete\n className={this.props.classes.indeterminate}\n fullWidth\n value={arr[0]}\n getOptionSelected={(option, value) => option.label === value.label}\n onChange={(_, value) =>\n this.onChange(this.props.attr, value ? value.value : '')}\n options={arr}\n getOptionLabel={option => option.label}\n renderInput={params => <TextField\n variant=\"standard\"\n {...params}\n error={!!error}\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 } else {\n return <TextField\n variant=\"standard\"\n fullWidth\n value={this.state.value === null || this.state.value === undefined ? '' : this.state.value}\n error={!!error}\n disabled={!!disabled}\n inputProps={{maxLength: this.props.schema.maxLength || this.props.schema.max || undefined}}\n onChange={e => {\n const value = e.target.value;\n this.setState({value}, () =>\n this.onChange(this.props.attr, this.props.schema.trim === false ? value : (value || '').trim()));\n }}\n placeholder={this.getText(this.props.schema.placeholder)}\n label={this.getText(this.props.schema.label)}\n helperText={this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}\n />;\n }\n }\n}\n\nConfigText.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)(ConfigText);"],"mappings":"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"}
|
|
@@ -0,0 +1,168 @@
|
|
|
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 _react = _interopRequireDefault(require("react"));
|
|
23
|
+
|
|
24
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
25
|
+
|
|
26
|
+
var _styles = require("@mui/styles");
|
|
27
|
+
|
|
28
|
+
var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
|
|
29
|
+
|
|
30
|
+
var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
31
|
+
|
|
32
|
+
var _copyToClipboard = _interopRequireDefault(require("@iobroker/adapter-react-v5/Components/copy-to-clipboard"));
|
|
33
|
+
|
|
34
|
+
var _IconCopy = _interopRequireDefault(require("@iobroker/adapter-react-v5/icons/IconCopy"));
|
|
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 ConfigTextSendTo = /*#__PURE__*/function (_ConfigGeneric) {
|
|
51
|
+
(0, _inherits2["default"])(ConfigTextSendTo, _ConfigGeneric);
|
|
52
|
+
|
|
53
|
+
var _super = _createSuper(ConfigTextSendTo);
|
|
54
|
+
|
|
55
|
+
function ConfigTextSendTo() {
|
|
56
|
+
(0, _classCallCheck2["default"])(this, ConfigTextSendTo);
|
|
57
|
+
return _super.apply(this, arguments);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
(0, _createClass2["default"])(ConfigTextSendTo, [{
|
|
61
|
+
key: "componentDidMount",
|
|
62
|
+
value: function componentDidMount() {
|
|
63
|
+
(0, _get2["default"])((0, _getPrototypeOf2["default"])(ConfigTextSendTo.prototype), "componentDidMount", this).call(this);
|
|
64
|
+
this.askInstance();
|
|
65
|
+
}
|
|
66
|
+
}, {
|
|
67
|
+
key: "askInstance",
|
|
68
|
+
value: function askInstance() {
|
|
69
|
+
var _this = this;
|
|
70
|
+
|
|
71
|
+
if (this.props.alive) {
|
|
72
|
+
var data = this.props.schema.data;
|
|
73
|
+
|
|
74
|
+
if (data === undefined && this.props.schema.jsonData) {
|
|
75
|
+
data = this.getPattern(this.props.schema.jsonData);
|
|
76
|
+
|
|
77
|
+
try {
|
|
78
|
+
data = JSON.parse(data);
|
|
79
|
+
} catch (e) {
|
|
80
|
+
console.error('Cannot parse json data: ' + data);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (data === undefined) {
|
|
85
|
+
data = null;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
this.props.socket.sendTo(this.props.adapterName + '.' + this.props.instance, this.props.schema.command || 'send', data).then(function (text) {
|
|
89
|
+
return _this.setState({
|
|
90
|
+
text: text || '',
|
|
91
|
+
context: _this.getContext()
|
|
92
|
+
});
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}, {
|
|
97
|
+
key: "getContext",
|
|
98
|
+
value: function getContext() {
|
|
99
|
+
var _this2 = this;
|
|
100
|
+
|
|
101
|
+
var context = {};
|
|
102
|
+
|
|
103
|
+
if (Array.isArray(this.props.schema.alsoDependsOn)) {
|
|
104
|
+
this.props.schema.alsoDependsOn.forEach(function (attr) {
|
|
105
|
+
return context[attr] = _ConfigGeneric2["default"].getValue(_this2.props.data, attr);
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
return JSON.stringify(context);
|
|
110
|
+
}
|
|
111
|
+
}, {
|
|
112
|
+
key: "renderItem",
|
|
113
|
+
value: function renderItem(error, disabled, defaultValue) {
|
|
114
|
+
var _this3 = this;
|
|
115
|
+
|
|
116
|
+
if (this.state.text === undefined) {
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if (this.props.alive) {
|
|
121
|
+
var context = this.getContext();
|
|
122
|
+
|
|
123
|
+
if (context !== this.state.context) {
|
|
124
|
+
setTimeout(function () {
|
|
125
|
+
_this3.askInstance();
|
|
126
|
+
}, 300);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
if (this.props.schema.container === 'text') {
|
|
131
|
+
return /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
|
|
132
|
+
variant: "standard",
|
|
133
|
+
fullWidth: true,
|
|
134
|
+
InputProps: {
|
|
135
|
+
endAdornment: this.props.schema.copyToClipboard ? /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
|
|
136
|
+
size: "small",
|
|
137
|
+
onClick: function onClick(e) {
|
|
138
|
+
(0, _copyToClipboard["default"])(_this3.state.text);
|
|
139
|
+
window.alert('Copied');
|
|
140
|
+
}
|
|
141
|
+
}, /*#__PURE__*/_react["default"].createElement(_IconCopy["default"], null)) : undefined
|
|
142
|
+
},
|
|
143
|
+
value: this.state.text,
|
|
144
|
+
label: this.getText(this.props.schema.label),
|
|
145
|
+
helperText: this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)
|
|
146
|
+
});
|
|
147
|
+
} else {
|
|
148
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
149
|
+
className: this.props.classes.fullWidth
|
|
150
|
+
}, this.state.text);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}]);
|
|
154
|
+
return ConfigTextSendTo;
|
|
155
|
+
}(_ConfigGeneric2["default"]);
|
|
156
|
+
|
|
157
|
+
ConfigTextSendTo.propTypes = {
|
|
158
|
+
socket: _propTypes["default"].object.isRequired,
|
|
159
|
+
data: _propTypes["default"].object.isRequired,
|
|
160
|
+
schema: _propTypes["default"].object,
|
|
161
|
+
adapterName: _propTypes["default"].string,
|
|
162
|
+
instance: _propTypes["default"].number
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
var _default = (0, _styles.withStyles)(styles)(ConfigTextSendTo);
|
|
166
|
+
|
|
167
|
+
exports["default"] = _default;
|
|
168
|
+
//# sourceMappingURL=ConfigTextSendTo.js.map
|