@iobroker/adapter-react-v5 3.0.16 → 3.1.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 +76 -57
- package/Components/FileBrowser.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigAlive.js +1 -1
- package/Components/JsonConfigComponent/ConfigAlive.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigAutocomplete.js +0 -1
- package/Components/JsonConfigComponent/ConfigAutocomplete.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCRON.js +3 -3
- package/Components/JsonConfigComponent/ConfigCRON.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCheckbox.js +1 -1
- package/Components/JsonConfigComponent/ConfigCheckbox.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCoordinates.js +2 -2
- package/Components/JsonConfigComponent/ConfigCoordinates.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigCustom.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigGeneric.js +25 -25
- package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigIP.js +2 -2
- package/Components/JsonConfigComponent/ConfigIP.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigInstanceSelect.js +1 -1
- package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigJsonEditor.js +1 -1
- package/Components/JsonConfigComponent/ConfigJsonEditor.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigLanguage.js +1 -1
- package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigNumber.js +94 -22
- package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPanel.js +4 -0
- package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigPassword.js +4 -4
- package/Components/JsonConfigComponent/ConfigPassword.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSelect.js +2 -2
- package/Components/JsonConfigComponent/ConfigSelect.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSelectSendTo.js +7 -7
- package/Components/JsonConfigComponent/ConfigSelectSendTo.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSendto.js +6 -6
- package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigSetState.js +4 -4
- package/Components/JsonConfigComponent/ConfigSetState.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigTable.js +26 -13
- package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
- package/Components/JsonConfigComponent/ConfigText.js.map +1 -1
- package/Components/ObjectBrowser.js +39 -16
- package/Components/ObjectBrowser.js.map +1 -1
- package/Components/ToggleThemeMenu.js.map +1 -1
- package/Components/Utils.js +14 -3
- package/Components/Utils.js.map +1 -1
- package/Connection.js +12 -4
- package/Connection.js.map +1 -1
- package/README.md +7 -1
- package/i18n/de.json +24 -3
- package/i18n/en.json +23 -2
- package/i18n/es.json +23 -2
- package/i18n/fr.json +23 -2
- package/i18n/it.json +23 -2
- package/i18n/nl.json +23 -2
- package/i18n/pl.json +23 -2
- package/i18n/pt.json +23 -2
- package/i18n/ru.json +23 -2
- package/i18n/zh-cn.json +24 -3
- package/package.json +1 -1
|
@@ -33,6 +33,8 @@ var _material = require("@mui/material");
|
|
|
33
33
|
|
|
34
34
|
var _i18n = _interopRequireDefault(require("../../i18n"));
|
|
35
35
|
|
|
36
|
+
var _Utils = _interopRequireDefault(require("../Utils"));
|
|
37
|
+
|
|
36
38
|
var _ConfigGeneric2 = _interopRequireDefault(require("./ConfigGeneric"));
|
|
37
39
|
|
|
38
40
|
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); }; }
|
|
@@ -43,6 +45,26 @@ var styles = function styles(theme) {
|
|
|
43
45
|
return {
|
|
44
46
|
indeterminate: {
|
|
45
47
|
opacity: 0.5
|
|
48
|
+
},
|
|
49
|
+
control: {
|
|
50
|
+
flexDirection: 'row'
|
|
51
|
+
},
|
|
52
|
+
textWithArrows: {
|
|
53
|
+
width: 'calc(100% - 12px)'
|
|
54
|
+
},
|
|
55
|
+
arrows: {
|
|
56
|
+
width: 12,
|
|
57
|
+
display: 'inline'
|
|
58
|
+
},
|
|
59
|
+
arrowUp: {
|
|
60
|
+
fontSize: 10,
|
|
61
|
+
userSelect: 'none',
|
|
62
|
+
cursor: 'pointer'
|
|
63
|
+
},
|
|
64
|
+
arrowDown: {
|
|
65
|
+
fontSize: 10,
|
|
66
|
+
userSelect: 'none',
|
|
67
|
+
cursor: 'pointer'
|
|
46
68
|
}
|
|
47
69
|
};
|
|
48
70
|
};
|
|
@@ -62,10 +84,10 @@ var ConfigNumber = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
62
84
|
value: function componentDidMount() {
|
|
63
85
|
(0, _get2["default"])((0, _getPrototypeOf2["default"])(ConfigNumber.prototype), "componentDidMount", this).call(this);
|
|
64
86
|
|
|
65
|
-
var
|
|
87
|
+
var _value = _ConfigGeneric2["default"].getValue(this.props.data, this.props.attr);
|
|
66
88
|
|
|
67
89
|
this.setState({
|
|
68
|
-
|
|
90
|
+
_value: _value
|
|
69
91
|
}); //this.props.registerOnForceUpdate(this.props.attr, this.onUpdate);
|
|
70
92
|
}
|
|
71
93
|
}, {
|
|
@@ -113,60 +135,110 @@ var ConfigNumber = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
113
135
|
}
|
|
114
136
|
});
|
|
115
137
|
} else {
|
|
116
|
-
if (!error && this.state.
|
|
117
|
-
if (this.props.schema.min !== undefined && this.state.
|
|
118
|
-
error = _i18n["default"].t('
|
|
138
|
+
if (!error && this.state._value !== null && this.state._value !== undefined) {
|
|
139
|
+
if (this.props.schema.min !== undefined && this.state._value < this.props.schema.min) {
|
|
140
|
+
error = _i18n["default"].t('ra_Too small');
|
|
119
141
|
}
|
|
120
142
|
|
|
121
|
-
if (this.props.schema.max !== undefined && this.state.
|
|
122
|
-
error = _i18n["default"].t('
|
|
143
|
+
if (this.props.schema.max !== undefined && this.state._value > this.props.schema.max) {
|
|
144
|
+
error = _i18n["default"].t('ra_Too big');
|
|
123
145
|
}
|
|
124
146
|
}
|
|
125
147
|
|
|
126
|
-
|
|
148
|
+
var type = 'number';
|
|
149
|
+
|
|
150
|
+
if (this.props.schema.min !== undefined && this.props.schema.min < 0 || this.props.schema.max !== undefined && this.props.schema.max < 0) {
|
|
151
|
+
type = 'text';
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
var isNumber = this.state._value !== null && this.state._value !== undefined && (typeof this.state._value === 'number' || this.state._value.trim() === parseFloat(this.state._value).toString());
|
|
155
|
+
return /*#__PURE__*/_react["default"].createElement(_material.FormControl, {
|
|
127
156
|
variant: "standard",
|
|
128
|
-
|
|
157
|
+
className: this.props.classes.control
|
|
158
|
+
}, /*#__PURE__*/_react["default"].createElement(_material.TextField, {
|
|
159
|
+
variant: "standard",
|
|
160
|
+
type: type,
|
|
129
161
|
fullWidth: true,
|
|
130
162
|
inputProps: {
|
|
131
163
|
min: this.props.schema.min,
|
|
132
164
|
max: this.props.schema.max,
|
|
133
165
|
step: this.props.schema.step
|
|
134
166
|
},
|
|
135
|
-
value: this.state.
|
|
167
|
+
value: this.state._value === null || this.state._value === undefined ? '' : this.state._value,
|
|
136
168
|
error: !!error,
|
|
137
169
|
disabled: !!disabled,
|
|
170
|
+
className: _Utils["default"].clsx(type === 'text' && isNumber && this.props.classes.textWithArrows),
|
|
138
171
|
onChange: function onChange(e) {
|
|
139
|
-
var
|
|
140
|
-
|
|
141
|
-
if (
|
|
142
|
-
_this.
|
|
143
|
-
|
|
144
|
-
_this.
|
|
172
|
+
var _value = e.target.value;
|
|
173
|
+
|
|
174
|
+
if (isFinite(_value)) {
|
|
175
|
+
if (_this.props.schema.min !== undefined && parseFloat(_value) < _this.props.schema.min) {
|
|
176
|
+
_this.onError(_this.props.attr, _i18n["default"].t('ra_Too small'));
|
|
177
|
+
} else if (_this.props.schema.max !== undefined && parseFloat(_value) > _this.props.schema.max) {
|
|
178
|
+
_this.onError(_this.props.attr, _i18n["default"].t('ra_Too big'));
|
|
179
|
+
} else if (_value === '-' || isNaN(parseFloat(_value))) {
|
|
180
|
+
_this.onError(_this.props.attr, _i18n["default"].t('ra_Not a number'));
|
|
181
|
+
} else {
|
|
182
|
+
_this.onError(_this.props.attr); // clear error
|
|
183
|
+
|
|
184
|
+
}
|
|
185
|
+
} else if (_value !== '') {
|
|
186
|
+
_this.onError(_this.props.attr, _i18n["default"].t('ra_Not a number'));
|
|
145
187
|
} else {
|
|
146
188
|
_this.onError(_this.props.attr); // clear error
|
|
147
189
|
|
|
148
190
|
}
|
|
149
191
|
|
|
150
192
|
_this.setState({
|
|
151
|
-
|
|
193
|
+
_value: _value
|
|
152
194
|
}, function () {
|
|
153
|
-
|
|
195
|
+
if (_value.trim() === parseFloat(_value).toString()) {
|
|
196
|
+
_this.onChange(_this.props.attr, parseFloat(_value) || 0);
|
|
197
|
+
}
|
|
154
198
|
});
|
|
155
199
|
},
|
|
156
200
|
placeholder: this.getText(this.props.schema.placeholder),
|
|
157
201
|
label: this.getText(this.props.schema.label),
|
|
158
202
|
helperText: error && typeof error === 'string' ? error : this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)
|
|
159
|
-
})
|
|
203
|
+
}), type === 'text' && isNumber ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
204
|
+
className: this.props.classes.arrows
|
|
205
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
206
|
+
className: this.props.classes.arrowUp,
|
|
207
|
+
onClick: function onClick() {
|
|
208
|
+
var _value = parseFloat(_this.state._value) + 1;
|
|
209
|
+
|
|
210
|
+
if (_this.props.schema.max !== undefined && _value <= _this.props.schema.max) {
|
|
211
|
+
_this.setState({
|
|
212
|
+
_value: _value
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
}, "\u25B2"), /*#__PURE__*/_react["default"].createElement("div", {
|
|
217
|
+
className: this.props.classes.arrowDown,
|
|
218
|
+
onClick: function onClick() {
|
|
219
|
+
var _value = parseFloat(_this.state._value) - 1;
|
|
220
|
+
|
|
221
|
+
if (_this.props.schema.min !== undefined && _value >= _this.props.schema.min) {
|
|
222
|
+
_this.setState({
|
|
223
|
+
_value: _value
|
|
224
|
+
});
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
}, "\u25BC")) : null);
|
|
160
228
|
}
|
|
161
229
|
}
|
|
162
230
|
}], [{
|
|
163
231
|
key: "getDerivedStateFromProps",
|
|
164
232
|
value: function getDerivedStateFromProps(props, state) {
|
|
165
|
-
|
|
233
|
+
if (props.schema.min !== undefined && props.schema.min < 0 || props.schema.max !== undefined && props.schema.max < 0) {
|
|
234
|
+
return null;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
var _value = _ConfigGeneric2["default"].getValue(props.data, props.attr);
|
|
166
238
|
|
|
167
|
-
if (
|
|
239
|
+
if (_value === null || _value === undefined || _value.toString() !== parseFloat(state._value).toString()) {
|
|
168
240
|
return {
|
|
169
|
-
|
|
241
|
+
_value: _value
|
|
170
242
|
};
|
|
171
243
|
} else {
|
|
172
244
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigNumber.js","names":["styles","theme","indeterminate","opacity","ConfigNumber","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","parseFloat","schema","min","params","getText","placeholder","renderHelp","help","helpLink","noTranslation","undefined","I18n","t","max","step","e","target","onError","propTypes","socket","PropTypes","object","isRequired","themeType","string","themeName","style","className","func","withStyles"],"sources":["JsonConfigComponent/ConfigNumber.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 I18n from '../../i18n';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n indeterminate: {\n opacity: 0.5\n }\n});\n\nclass ConfigNumber extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n this.setState({value});\n //this.props.registerOnForceUpdate(this.props.attr, this.onUpdate);\n }\n\n static getDerivedStateFromProps(props, state) {\n const value = ConfigGeneric.getValue(props.data, props.attr);\n if (value === null || value === undefined || value.toString() !== parseFloat(state.value).toString()) {\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 ? parseFloat(value.value) : this.props.schema.min || 0)}\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 if (!error && this.state.value !== null && this.state.value !== undefined) {\n if (this.props.schema.min !== undefined && this.state.value < this.props.schema.min) {\n error = I18n.t('Too small');\n }\n if (this.props.schema.max !== undefined && this.state.value > this.props.schema.max) {\n error = I18n.t('Too big');\n }\n }\n\n return <TextField\n variant=\"standard\"\n type=\"number\"\n fullWidth\n inputProps={{min: this.props.schema.min, max: this.props.schema.max, step: this.props.schema.step}}\n value={this.state.value === null || this.state.value === undefined ? '' : this.state.value}\n error={!!error}\n disabled={!!disabled}\n onChange={e => {\n const value = e.target.value;\n if (this.props.schema.min !== undefined && value < this.props.schema.min) {\n this.onError(this.props.attr, I18n.t('Too small'));\n } else if (this.props.schema.max !== undefined && value > this.props.schema.max) {\n this.onError(this.props.attr, I18n.t('Too big'));\n } else {\n this.onError(this.props.attr); // clear error\n }\n this.setState({value}, () => this.onChange(this.props.attr, parseFloat(value) || 0));\n }}\n placeholder={this.getText(this.props.schema.placeholder)}\n label={this.getText(this.props.schema.label)}\n helperText={error && typeof error === 'string' ? error : this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}\n />;\n }\n }\n}\n\nConfigNumber.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)(ConfigNumber);"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConfigNumber.js","names":["styles","theme","indeterminate","opacity","control","flexDirection","textWithArrows","width","arrows","display","arrowUp","fontSize","userSelect","cursor","arrowDown","ConfigNumber","_value","ConfigGeneric","getValue","props","data","attr","setState","error","disabled","defaultValue","isIndeterminate","Array","isArray","state","value","DIFFERENT_LABEL","arr","map","item","label","toString","unshift","DIFFERENT_VALUE","classes","option","_","onChange","parseFloat","schema","min","params","getText","placeholder","renderHelp","help","helpLink","noTranslation","undefined","I18n","t","max","type","isNumber","trim","step","Utils","clsx","e","target","isFinite","onError","isNaN","propTypes","socket","PropTypes","object","isRequired","themeType","string","themeName","style","className","func","withStyles"],"sources":["JsonConfigComponent/ConfigNumber.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport { Autocomplete, TextField, InputAdornment, FormControl } from '@mui/material';\n\nimport I18n from '../../i18n';\nimport Utils from '../Utils';\n\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n indeterminate: {\n opacity: 0.5\n },\n control: {\n flexDirection: 'row',\n },\n textWithArrows: {\n width: 'calc(100% - 12px)',\n },\n arrows: {\n width: 12,\n display: 'inline'\n },\n arrowUp: {\n fontSize: 10,\n userSelect: 'none',\n cursor: 'pointer',\n },\n arrowDown: {\n fontSize: 10,\n userSelect: 'none',\n cursor: 'pointer',\n }\n});\n\nclass ConfigNumber extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n const _value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n this.setState({ _value });\n //this.props.registerOnForceUpdate(this.props.attr, this.onUpdate);\n }\n\n static getDerivedStateFromProps(props, state) {\n if ((props.schema.min !== undefined && props.schema.min < 0) ||\n (props.schema.max !== undefined && props.schema.max < 0)\n ) {\n return null;\n }\n const _value = ConfigGeneric.getValue(props.data, props.attr);\n if (_value === null || _value === undefined || _value.toString() !== parseFloat(state._value).toString()) {\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 ? parseFloat(value.value) : this.props.schema.min || 0)}\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 if (!error && this.state._value !== null && this.state._value !== undefined) {\n if (this.props.schema.min !== undefined && this.state._value < this.props.schema.min) {\n error = I18n.t('ra_Too small');\n }\n if (this.props.schema.max !== undefined && this.state._value > this.props.schema.max) {\n error = I18n.t('ra_Too big');\n }\n }\n\n let type = 'number';\n if ((this.props.schema.min !== undefined && this.props.schema.min < 0) ||\n (this.props.schema.max !== undefined && this.props.schema.max < 0)\n ) {\n type = 'text';\n }\n\n const isNumber = this.state._value !== null &&\n this.state._value !== undefined &&\n (typeof this.state._value === 'number' || this.state._value.trim() === parseFloat(this.state._value).toString());\n\n return <FormControl variant=\"standard\" className={this.props.classes.control}>\n <TextField\n variant=\"standard\"\n type={type}\n fullWidth\n inputProps={{ min: this.props.schema.min, max: this.props.schema.max, step: this.props.schema.step }}\n value={this.state._value === null || this.state._value === undefined ? '' : this.state._value}\n error={!!error}\n disabled={!!disabled}\n className={Utils.clsx(type === 'text' && isNumber && this.props.classes.textWithArrows)}\n onChange={e => {\n const _value = e.target.value;\n if (isFinite(_value)) {\n if (this.props.schema.min !== undefined && parseFloat(_value) < this.props.schema.min) {\n this.onError(this.props.attr, I18n.t('ra_Too small'));\n } else if (this.props.schema.max !== undefined && parseFloat(_value) > this.props.schema.max) {\n this.onError(this.props.attr, I18n.t('ra_Too big'));\n } else if (_value === '-' || isNaN(parseFloat(_value))) {\n this.onError(this.props.attr, I18n.t('ra_Not a number'));\n } else {\n this.onError(this.props.attr); // clear error\n }\n } else if (_value !== '') {\n this.onError(this.props.attr, I18n.t('ra_Not a number'));\n } else {\n this.onError(this.props.attr); // clear error\n }\n\n this.setState({ _value }, () => {\n if (_value.trim() === parseFloat(_value).toString()) {\n this.onChange(this.props.attr, parseFloat(_value) || 0);\n }\n });\n }}\n placeholder={this.getText(this.props.schema.placeholder)}\n label={this.getText(this.props.schema.label)}\n helperText={error && typeof error === 'string' ? error : this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}\n />\n {type === 'text' && isNumber ? <div className={this.props.classes.arrows}>\n <div\n className={this.props.classes.arrowUp}\n onClick={() => {\n let _value = parseFloat(this.state._value) + 1;\n if (this.props.schema.max !== undefined && _value <= this.props.schema.max) {\n this.setState({ _value });\n }\n }}\n >▲</div>\n <div\n className={this.props.classes.arrowDown}\n onClick={() => {\n let _value = parseFloat(this.state._value) - 1;\n if (this.props.schema.min !== undefined && _value >= this.props.schema.min) {\n this.setState({ _value });\n }\n }}\n >▼</div>\n </div> : null}\n </FormControl>;\n }\n }\n}\n\nConfigNumber.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)(ConfigNumber);"],"mappings":"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"}
|
|
@@ -236,6 +236,8 @@ var ConfigPanel = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
236
236
|
return /*#__PURE__*/_react["default"].createElement(ItemComponent, {
|
|
237
237
|
key: attr + '_' + _this.props.index,
|
|
238
238
|
index: _this.props.index,
|
|
239
|
+
arrayIndex: _this.props.arrayIndex,
|
|
240
|
+
globalData: _this.props.globalData,
|
|
239
241
|
onCommandRunning: _this.props.onCommandRunning,
|
|
240
242
|
commandRunning: _this.props.commandRunning,
|
|
241
243
|
className: classes.panel,
|
|
@@ -414,6 +416,8 @@ ConfigPanel.propTypes = {
|
|
|
414
416
|
isFloatComma: _propTypes["default"].bool,
|
|
415
417
|
multiEdit: _propTypes["default"].bool,
|
|
416
418
|
isParentTab: _propTypes["default"].bool,
|
|
419
|
+
arrayIndex: _propTypes["default"].number,
|
|
420
|
+
globalData: _propTypes["default"].object,
|
|
417
421
|
customObj: _propTypes["default"].object,
|
|
418
422
|
instanceObj: _propTypes["default"].object,
|
|
419
423
|
custom: _propTypes["default"].bool,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigPanel.js","names":["components","alive","ConfigAlive","autocomplete","ConfigAutocomplete","autocompleteSendTo","ConfigAutocompleteSendTo","certificate","ConfigCertificateSelect","checkbox","ConfigCheckbox","chips","ConfigChip","chip","color","ConfigColor","coordinates","ConfigCoordinates","cron","ConfigCRON","custom","ConfigCustom","datePicker","ConfigDatePicker","divider","ConfigStaticDivider","header","ConfigStaticHeader","image","ConfigImageUpload","instance","ConfigInstanceSelect","ip","ConfigIP","jsonEditor","ConfigJsonEditor","language","ConfigLanguage","number","ConfigNumber","objectId","ConfigObjectId","password","ConfigPassword","pattern","ConfigPattern","select","ConfigSelect","selectSendTo","ConfigSelectSendTo","sendTo","ConfigSendto","sendto","setState","ConfigSetState","staticImage","ConfigStaticImage","staticLink","ConfigStaticText","staticText","table","ConfigTable","text","ConfigText","textSendTo","ConfigTextSendTo","timePicker","ConfigTimePicker","topic","ConfigTopic","user","ConfigUser","styles","theme","fullWidth","width","paper","margin","height","overflowY","paddingBottom","spacing","padding","heading","primary","backgroundColor","palette","main","mode","secondary","ConfigPanel","props","schema","collapsable","expanded","window","localStorage","getItem","adapterName","attr","items","disabled","classes","Object","keys","map","multiEdit","noMultiEdit","type","ItemComponent","url","customs","component","console","error","ConfigGeneric","ConfigPanelStyled","index","onCommandRunning","commandRunning","panel","socket","common","themeType","themeName","data","originalData","systemConfig","onError","onChange","dateFormat","isFloatComma","registerOnForceUpdate","forceUpdate","customObj","instanceObj","calculate","hidden","hideOnlyControl","item","xs","undefined","lg","md","sm","assign","marginBottom","textAlign","style","themaType","darkStyle","newLine","flexBasis","renderItems","content","state","setItem","clsx","getText","label","className","isParentTab","tooltip","propTypes","PropTypes","object","isRequired","string","bool","func","onForceUpdate","withStyles"],"sources":["JsonConfigComponent/ConfigPanel.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\nimport clsx from 'clsx';\n\nimport Grid from '@mui/material/Grid';\nimport Accordion from '@mui/material/Accordion';\nimport AccordionSummary from '@mui/material/AccordionSummary';\nimport AccordionDetails from '@mui/material/AccordionDetails';\nimport Typography from '@mui/material/Typography';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\n\nimport ConfigGeneric from './ConfigGeneric';\nimport ConfigText from './ConfigText';\nimport ConfigCheckbox from './ConfigCheckbox';\nimport ConfigStaticImage from './ConfigStaticImage';\nimport ConfigNumber from './ConfigNumber';\nimport ConfigColor from './ConfigColor';\nimport ConfigIP from './ConfigIP';\nimport ConfigSelect from './ConfigSelect';\nimport ConfigUser from './ConfigUser';\nimport ConfigStaticText from './ConfigStaticText';\nimport ConfigPattern from './ConfigPattern';\nimport ConfigCertificateSelect from './ConfigCertificateSelect';\nimport ConfigImageUpload from './ConfigImageUpload';\nimport ConfigInstanceSelect from './ConfigInstanceSelect';\nimport ConfigTable from './ConfigTable';\nimport ConfigSendto from './ConfigSendto';\nimport ConfigObjectId from './ConfigObjectId';\nimport ConfigLanguage from './ConfigLanguage';\nimport ConfigChip from './ConfigChip';\nimport ConfigPassword from './ConfigPassword';\nimport ConfigStaticHeader from './ConfigStaticHeader';\nimport ConfigStaticDivider from './ConfigStaticDivider';\nimport ConfigSetState from './ConfigSetState';\nimport ConfigJsonEditor from './ConfigJsonEditor';\nimport ConfigSelectSendTo from './ConfigSelectSendTo';\nimport ConfigTopic from './ConfigTopic';\nimport ConfigAutocomplete from './ConfigAutocomplete';\nimport ConfigAutocompleteSendTo from './ConfigAutocompleteSendTo';\nimport ConfigTimePicker from './ConfigTimePicker';\nimport ConfigDatePicker from './ConfigDatePicker';\nimport ConfigCRON from './ConfigCRON';\nimport ConfigAlive from './ConfigAlive';\nimport ConfigTextSendTo from './ConfigTextSendTo';\nimport ConfigCoordinates from './ConfigCoordinates';\nimport ConfigCustom from './ConfigCustom';\n\nconst components = {\n alive: ConfigAlive,\n autocomplete: ConfigAutocomplete,\n autocompleteSendTo: ConfigAutocompleteSendTo,\n certificate: ConfigCertificateSelect,\n checkbox: ConfigCheckbox,\n chips: ConfigChip,\n chip: ConfigChip, // deprecated. Use \"chips\"\n color: ConfigColor,\n coordinates: ConfigCoordinates,\n cron: ConfigCRON,\n custom: ConfigCustom,\n datePicker: ConfigDatePicker,\n divider: ConfigStaticDivider,\n header: ConfigStaticHeader,\n image: ConfigImageUpload,\n instance: ConfigInstanceSelect,\n ip: ConfigIP,\n jsonEditor: ConfigJsonEditor,\n language: ConfigLanguage,\n number: ConfigNumber,\n objectId: ConfigObjectId,\n password: ConfigPassword,\n pattern: ConfigPattern,\n select: ConfigSelect,\n selectSendTo: ConfigSelectSendTo,\n sendTo: ConfigSendto,\n sendto: ConfigSendto,\n setState: ConfigSetState,\n staticImage: ConfigStaticImage,\n staticLink: ConfigStaticText,\n staticText: ConfigStaticText,\n table: ConfigTable,\n text: ConfigText,\n textSendTo: ConfigTextSendTo,\n timePicker: ConfigTimePicker,\n topic: ConfigTopic,\n user: ConfigUser,\n};\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%',\n //height: '100%',\n },\n paper: {\n margin: 10,\n height: 'calc(100vh - 235px) !important',\n width: 'auto !important',\n overflowY: 'auto',\n paddingBottom: theme.spacing(1)\n },\n padding: {\n padding: 10,\n },\n heading: {\n\n },\n primary: {\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.mode === 'dark' ? 'inherit' : '#FFF'\n },\n secondary: {\n backgroundColor: theme.palette.secondary.main,\n }\n});\n\nclass ConfigPanel extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n if (this.props.schema && this.props.schema.collapsable) {\n this.setState({expanded: window.localStorage.getItem(this.props.adapterName + '.' + this.props.attr) === 'true'});\n }\n }\n\n renderItems(items, disabled) {\n const classes = this.props.classes || {};\n\n return items ? Object.keys(items).map(attr => {\n if (this.props.multiEdit && items[attr].noMultiEdit) {\n return null;\n }\n\n const type = items[attr].type || 'panel';\n let ItemComponent;\n if (type === 'custom') {\n // name\n // url\n if (items[attr].url) {\n ItemComponent = ConfigCustom;\n } else \n if (this.props.customs && this.props.customs[items[attr].component]) {\n ItemComponent = this.props.customs[items[attr].component];\n } else {\n console.error('Cannot find custom component: ' + items[attr].component);\n ItemComponent = ConfigGeneric;\n }\n } else if (type === 'panel') {\n ItemComponent = ConfigPanelStyled;\n } else {\n ItemComponent = components[type] || ConfigGeneric;\n }\n\n return <ItemComponent\n key={attr + '_' + this.props.index}\n index={this.props.index}\n onCommandRunning={this.props.onCommandRunning}\n commandRunning={this.props.commandRunning}\n className={classes.panel}\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={this.props.data}\n originalData={this.props.originalData}\n systemConfig={this.props.systemConfig}\n onError={this.props.onError}\n onChange={this.props.onChange}\n customs={this.props.customs}\n dateFormat={this.props.dateFormat}\n isFloatComma={this.props.isFloatComma}\n disabled={disabled}\n \n registerOnForceUpdate={this.props.registerOnForceUpdate}\n forceUpdate={this.props.forceUpdate}\n\n customObj={this.props.customObj}\n instanceObj={this.props.instanceObj}\n custom={this.props.custom}\n\n attr={attr}\n schema={items[attr]}\n />;\n }) : null;\n }\n\n render() {\n const schema = this.props.schema;\n\n if (!schema) {\n return null;\n }\n\n const { disabled, hidden } = this.calculate(schema);\n\n const items = this.props.schema.items;\n const classes = this.props.classes || {};\n\n if (hidden) {\n if (schema.hideOnlyControl) {\n const item = <Grid\n item\n xs={schema.xs || undefined}\n lg={schema.lg || undefined}\n md={schema.md || undefined}\n sm={schema.sm || undefined}\n style={Object.assign(\n {},\n {marginBottom: 0, /*marginRight: 8, */textAlign: 'left'},\n schema.style,\n this.props.themaType === 'dark' ? schema.darkStyle : {}\n )}\n />;\n\n if (schema.newLine) {\n return <>\n <div style={{flexBasis: '100%', height: 0}} />\n {item}\n </>\n } else {\n return item;\n }\n } else {\n return null;\n }\n } else\n if (this.props.table) {\n return this.renderItems(items, disabled);\n } else\n if (this.props.custom) {\n return <Grid\n key={this.props.attr + '_' + this.props.index}\n container\n className={classes.fullWidth}\n spacing={2}\n >\n {this.renderItems(items, disabled)}\n </Grid>;\n } else {\n let content;\n if (schema.collapsable) {\n content = <Accordion\n key={this.props.attr + '_' + this.props.index}\n className={classes.fullWidth}\n expanded={!!this.state.expanded}\n onChange={() => {\n window.localStorage.setItem(this.props.adapterName + '.' + this.props.attr, this.state.expanded ? 'false' : 'true');\n this.setState({expanded: !this.state.expanded});\n }}\n >\n <AccordionSummary\n expandIcon={<ExpandMoreIcon />}\n style={Object.assign({}, schema.style, this.props.themeType ? schema.darkStyle : {})}\n className={clsx(classes.fullWidth, schema.color === 'primary' && classes.primary, schema.color === 'secondary' && classes.secondary)}\n >\n <Typography className={classes.heading}>{this.getText(schema.label)}</Typography>\n </AccordionSummary>\n <AccordionDetails>\n <Grid container className={classes.fullWidth + ' ' + classes.padding} spacing={2}>\n {this.renderItems(items, disabled)}\n </Grid>\n </AccordionDetails>\n </Accordion>\n } else {\n content = <div\n key={this.props.attr + '_' + this.props.index}\n className={clsx(this.props.className, this.props.isParentTab && classes.paper, classes.fullWidth)}\n >\n <Grid container className={clsx(classes.fullWidth, this.props.isParentTab && classes.padding)} spacing={2}>\n {this.renderItems(items, disabled)}\n </Grid>\n </div>;\n }\n\n if (!this.props.isParentTab) {\n const item = <Grid\n item\n title={this.getText(schema.tooltip)}\n xs={schema.xs || undefined}\n lg={schema.lg || undefined}\n md={schema.md || undefined}\n sm={schema.sm || undefined}\n style={Object.assign({}, {marginBottom: 0, /*marginRight: 8, */textAlign: 'left'}, schema.style)}>\n {content}\n </Grid>;\n\n if (schema.newLine) {\n return <>\n <div style={{flexBasis: '100%', height: 0}} />\n {item}\n </>\n } else {\n return item;\n }\n } else {\n return content;\n }\n }\n }\n}\n\nConfigPanel.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 index: PropTypes.number,\n customs: PropTypes.object,\n alive: PropTypes.bool,\n systemConfig: 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 isParentTab: PropTypes.bool,\n\n customObj: PropTypes.object,\n instanceObj: PropTypes.object,\n custom: PropTypes.bool,\n\n onError: PropTypes.func,\n onChange: PropTypes.func,\n onForceUpdate: PropTypes.func,\n registerOnForceUpdate: PropTypes.func,\n};\n\nconst ConfigPanelStyled = withStyles(styles)(ConfigPanel);\n\nexport default ConfigPanelStyled;"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConfigPanel.js","names":["components","alive","ConfigAlive","autocomplete","ConfigAutocomplete","autocompleteSendTo","ConfigAutocompleteSendTo","certificate","ConfigCertificateSelect","checkbox","ConfigCheckbox","chips","ConfigChip","chip","color","ConfigColor","coordinates","ConfigCoordinates","cron","ConfigCRON","custom","ConfigCustom","datePicker","ConfigDatePicker","divider","ConfigStaticDivider","header","ConfigStaticHeader","image","ConfigImageUpload","instance","ConfigInstanceSelect","ip","ConfigIP","jsonEditor","ConfigJsonEditor","language","ConfigLanguage","number","ConfigNumber","objectId","ConfigObjectId","password","ConfigPassword","pattern","ConfigPattern","select","ConfigSelect","selectSendTo","ConfigSelectSendTo","sendTo","ConfigSendto","sendto","setState","ConfigSetState","staticImage","ConfigStaticImage","staticLink","ConfigStaticText","staticText","table","ConfigTable","text","ConfigText","textSendTo","ConfigTextSendTo","timePicker","ConfigTimePicker","topic","ConfigTopic","user","ConfigUser","styles","theme","fullWidth","width","paper","margin","height","overflowY","paddingBottom","spacing","padding","heading","primary","backgroundColor","palette","main","mode","secondary","ConfigPanel","props","schema","collapsable","expanded","window","localStorage","getItem","adapterName","attr","items","disabled","classes","Object","keys","map","multiEdit","noMultiEdit","type","ItemComponent","url","customs","component","console","error","ConfigGeneric","ConfigPanelStyled","index","arrayIndex","globalData","onCommandRunning","commandRunning","panel","socket","common","themeType","themeName","data","originalData","systemConfig","onError","onChange","dateFormat","isFloatComma","registerOnForceUpdate","forceUpdate","customObj","instanceObj","calculate","hidden","hideOnlyControl","item","xs","undefined","lg","md","sm","assign","marginBottom","textAlign","style","themaType","darkStyle","newLine","flexBasis","renderItems","content","state","setItem","clsx","getText","label","className","isParentTab","tooltip","propTypes","PropTypes","object","isRequired","string","bool","func","onForceUpdate","withStyles"],"sources":["JsonConfigComponent/ConfigPanel.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\nimport clsx from 'clsx';\n\nimport Grid from '@mui/material/Grid';\nimport Accordion from '@mui/material/Accordion';\nimport AccordionSummary from '@mui/material/AccordionSummary';\nimport AccordionDetails from '@mui/material/AccordionDetails';\nimport Typography from '@mui/material/Typography';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\n\nimport ConfigGeneric from './ConfigGeneric';\nimport ConfigText from './ConfigText';\nimport ConfigCheckbox from './ConfigCheckbox';\nimport ConfigStaticImage from './ConfigStaticImage';\nimport ConfigNumber from './ConfigNumber';\nimport ConfigColor from './ConfigColor';\nimport ConfigIP from './ConfigIP';\nimport ConfigSelect from './ConfigSelect';\nimport ConfigUser from './ConfigUser';\nimport ConfigStaticText from './ConfigStaticText';\nimport ConfigPattern from './ConfigPattern';\nimport ConfigCertificateSelect from './ConfigCertificateSelect';\nimport ConfigImageUpload from './ConfigImageUpload';\nimport ConfigInstanceSelect from './ConfigInstanceSelect';\nimport ConfigTable from './ConfigTable';\nimport ConfigSendto from './ConfigSendto';\nimport ConfigObjectId from './ConfigObjectId';\nimport ConfigLanguage from './ConfigLanguage';\nimport ConfigChip from './ConfigChip';\nimport ConfigPassword from './ConfigPassword';\nimport ConfigStaticHeader from './ConfigStaticHeader';\nimport ConfigStaticDivider from './ConfigStaticDivider';\nimport ConfigSetState from './ConfigSetState';\nimport ConfigJsonEditor from './ConfigJsonEditor';\nimport ConfigSelectSendTo from './ConfigSelectSendTo';\nimport ConfigTopic from './ConfigTopic';\nimport ConfigAutocomplete from './ConfigAutocomplete';\nimport ConfigAutocompleteSendTo from './ConfigAutocompleteSendTo';\nimport ConfigTimePicker from './ConfigTimePicker';\nimport ConfigDatePicker from './ConfigDatePicker';\nimport ConfigCRON from './ConfigCRON';\nimport ConfigAlive from './ConfigAlive';\nimport ConfigTextSendTo from './ConfigTextSendTo';\nimport ConfigCoordinates from './ConfigCoordinates';\nimport ConfigCustom from './ConfigCustom';\n\nconst components = {\n alive: ConfigAlive,\n autocomplete: ConfigAutocomplete,\n autocompleteSendTo: ConfigAutocompleteSendTo,\n certificate: ConfigCertificateSelect,\n checkbox: ConfigCheckbox,\n chips: ConfigChip,\n chip: ConfigChip, // deprecated. Use \"chips\"\n color: ConfigColor,\n coordinates: ConfigCoordinates,\n cron: ConfigCRON,\n custom: ConfigCustom,\n datePicker: ConfigDatePicker,\n divider: ConfigStaticDivider,\n header: ConfigStaticHeader,\n image: ConfigImageUpload,\n instance: ConfigInstanceSelect,\n ip: ConfigIP,\n jsonEditor: ConfigJsonEditor,\n language: ConfigLanguage,\n number: ConfigNumber,\n objectId: ConfigObjectId,\n password: ConfigPassword,\n pattern: ConfigPattern,\n select: ConfigSelect,\n selectSendTo: ConfigSelectSendTo,\n sendTo: ConfigSendto,\n sendto: ConfigSendto,\n setState: ConfigSetState,\n staticImage: ConfigStaticImage,\n staticLink: ConfigStaticText,\n staticText: ConfigStaticText,\n table: ConfigTable,\n text: ConfigText,\n textSendTo: ConfigTextSendTo,\n timePicker: ConfigTimePicker,\n topic: ConfigTopic,\n user: ConfigUser,\n};\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%',\n //height: '100%',\n },\n paper: {\n margin: 10,\n height: 'calc(100vh - 235px) !important',\n width: 'auto !important',\n overflowY: 'auto',\n paddingBottom: theme.spacing(1)\n },\n padding: {\n padding: 10,\n },\n heading: {\n\n },\n primary: {\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.mode === 'dark' ? 'inherit' : '#FFF'\n },\n secondary: {\n backgroundColor: theme.palette.secondary.main,\n }\n});\n\nclass ConfigPanel extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n if (this.props.schema && this.props.schema.collapsable) {\n this.setState({expanded: window.localStorage.getItem(this.props.adapterName + '.' + this.props.attr) === 'true'});\n }\n }\n\n renderItems(items, disabled) {\n const classes = this.props.classes || {};\n\n return items ? Object.keys(items).map(attr => {\n if (this.props.multiEdit && items[attr].noMultiEdit) {\n return null;\n }\n\n const type = items[attr].type || 'panel';\n let ItemComponent;\n if (type === 'custom') {\n // name\n // url\n if (items[attr].url) {\n ItemComponent = ConfigCustom;\n } else\n if (this.props.customs && this.props.customs[items[attr].component]) {\n ItemComponent = this.props.customs[items[attr].component];\n } else {\n console.error('Cannot find custom component: ' + items[attr].component);\n ItemComponent = ConfigGeneric;\n }\n } else if (type === 'panel') {\n ItemComponent = ConfigPanelStyled;\n } else {\n ItemComponent = components[type] || ConfigGeneric;\n }\n\n return <ItemComponent\n key={attr + '_' + this.props.index}\n index={this.props.index}\n arrayIndex={this.props.arrayIndex}\n globalData={this.props.globalData}\n onCommandRunning={this.props.onCommandRunning}\n commandRunning={this.props.commandRunning}\n className={classes.panel}\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={this.props.data}\n originalData={this.props.originalData}\n systemConfig={this.props.systemConfig}\n onError={this.props.onError}\n onChange={this.props.onChange}\n customs={this.props.customs}\n dateFormat={this.props.dateFormat}\n isFloatComma={this.props.isFloatComma}\n disabled={disabled}\n\n registerOnForceUpdate={this.props.registerOnForceUpdate}\n forceUpdate={this.props.forceUpdate}\n\n customObj={this.props.customObj}\n instanceObj={this.props.instanceObj}\n custom={this.props.custom}\n\n attr={attr}\n schema={items[attr]}\n />;\n }) : null;\n }\n\n render() {\n const schema = this.props.schema;\n\n if (!schema) {\n return null;\n }\n\n const { disabled, hidden } = this.calculate(schema);\n\n const items = this.props.schema.items;\n const classes = this.props.classes || {};\n\n if (hidden) {\n if (schema.hideOnlyControl) {\n const item = <Grid\n item\n xs={schema.xs || undefined}\n lg={schema.lg || undefined}\n md={schema.md || undefined}\n sm={schema.sm || undefined}\n style={Object.assign(\n {},\n {marginBottom: 0, /*marginRight: 8, */textAlign: 'left'},\n schema.style,\n this.props.themaType === 'dark' ? schema.darkStyle : {}\n )}\n />;\n\n if (schema.newLine) {\n return <>\n <div style={{flexBasis: '100%', height: 0}} />\n {item}\n </>\n } else {\n return item;\n }\n } else {\n return null;\n }\n } else\n if (this.props.table) {\n return this.renderItems(items, disabled);\n } else\n if (this.props.custom) {\n return <Grid\n key={this.props.attr + '_' + this.props.index}\n container\n className={classes.fullWidth}\n spacing={2}\n >\n {this.renderItems(items, disabled)}\n </Grid>;\n } else {\n let content;\n if (schema.collapsable) {\n content = <Accordion\n key={this.props.attr + '_' + this.props.index}\n className={classes.fullWidth}\n expanded={!!this.state.expanded}\n onChange={() => {\n window.localStorage.setItem(this.props.adapterName + '.' + this.props.attr, this.state.expanded ? 'false' : 'true');\n this.setState({expanded: !this.state.expanded});\n }}\n >\n <AccordionSummary\n expandIcon={<ExpandMoreIcon />}\n style={Object.assign({}, schema.style, this.props.themeType ? schema.darkStyle : {})}\n className={clsx(classes.fullWidth, schema.color === 'primary' && classes.primary, schema.color === 'secondary' && classes.secondary)}\n >\n <Typography className={classes.heading}>{this.getText(schema.label)}</Typography>\n </AccordionSummary>\n <AccordionDetails>\n <Grid container className={classes.fullWidth + ' ' + classes.padding} spacing={2}>\n {this.renderItems(items, disabled)}\n </Grid>\n </AccordionDetails>\n </Accordion>\n } else {\n content = <div\n key={this.props.attr + '_' + this.props.index}\n className={clsx(this.props.className, this.props.isParentTab && classes.paper, classes.fullWidth)}\n >\n <Grid container className={clsx(classes.fullWidth, this.props.isParentTab && classes.padding)} spacing={2}>\n {this.renderItems(items, disabled)}\n </Grid>\n </div>;\n }\n\n if (!this.props.isParentTab) {\n const item = <Grid\n item\n title={this.getText(schema.tooltip)}\n xs={schema.xs || undefined}\n lg={schema.lg || undefined}\n md={schema.md || undefined}\n sm={schema.sm || undefined}\n style={Object.assign({}, {marginBottom: 0, /*marginRight: 8, */textAlign: 'left'}, schema.style)}>\n {content}\n </Grid>;\n\n if (schema.newLine) {\n return <>\n <div style={{flexBasis: '100%', height: 0}} />\n {item}\n </>;\n } else {\n return item;\n }\n } else {\n return content;\n }\n }\n }\n}\n\nConfigPanel.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 index: PropTypes.number,\n customs: PropTypes.object,\n alive: PropTypes.bool,\n systemConfig: 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 isParentTab: PropTypes.bool,\n\n arrayIndex: PropTypes.number,\n globalData: PropTypes.object,\n\n customObj: PropTypes.object,\n instanceObj: PropTypes.object,\n custom: PropTypes.bool,\n\n onError: PropTypes.func,\n onChange: PropTypes.func,\n onForceUpdate: PropTypes.func,\n registerOnForceUpdate: PropTypes.func,\n};\n\nconst ConfigPanelStyled = withStyles(styles)(ConfigPanel);\n\nexport default ConfigPanelStyled;"],"mappings":"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"}
|
|
@@ -108,7 +108,7 @@ var ConfigPassword = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
108
108
|
_notEqual: _notEqual
|
|
109
109
|
}, function () {
|
|
110
110
|
if (_notEqual) {
|
|
111
|
-
_this.onError(_this.props.attr, _i18n["default"].t('
|
|
111
|
+
_this.onError(_this.props.attr, _i18n["default"].t('ra_Passwords are not equal!'));
|
|
112
112
|
} else {
|
|
113
113
|
_this.onError(_this.props.attr); // clear error
|
|
114
114
|
|
|
@@ -144,7 +144,7 @@ var ConfigPassword = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
144
144
|
},
|
|
145
145
|
maxLength: this.props.schema.maxLength || this.props.schema.max || undefined
|
|
146
146
|
},
|
|
147
|
-
helperText: this.state._notEqual ? _i18n["default"].t('
|
|
147
|
+
helperText: this.state._notEqual ? _i18n["default"].t('ra_Passwords are not equal!') : this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation),
|
|
148
148
|
InputProps: {
|
|
149
149
|
endAdornment: this.state.value && this.state.value !== PASSWORD_PLACEHOLDER && this.props.schema.visible ? /*#__PURE__*/_react["default"].createElement(_InputAdornment["default"], {
|
|
150
150
|
position: "end"
|
|
@@ -175,7 +175,7 @@ var ConfigPassword = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
175
175
|
onChange: function onChange(e) {
|
|
176
176
|
return _this2.onChangePassword(undefined, e.target.value);
|
|
177
177
|
},
|
|
178
|
-
label: "".concat(this.getText(this.props.schema.label), " (").concat(_i18n["default"].t('
|
|
178
|
+
label: "".concat(this.getText(this.props.schema.label), " (").concat(_i18n["default"].t('ra_repeat'), ")"),
|
|
179
179
|
inputProps: {
|
|
180
180
|
autoComplete: 'new-password',
|
|
181
181
|
form: {
|
|
@@ -183,7 +183,7 @@ var ConfigPassword = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
183
183
|
},
|
|
184
184
|
maxLength: this.props.schema.maxLength || this.props.schema.max || undefined
|
|
185
185
|
},
|
|
186
|
-
helperText: this.state._notEqual ? _i18n["default"].t('
|
|
186
|
+
helperText: this.state._notEqual ? _i18n["default"].t('ra_Passwords are not equal!') : this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation),
|
|
187
187
|
InputProps: {
|
|
188
188
|
endAdornment: this.state._repeat && this.state._repeat !== PASSWORD_PLACEHOLDER ? /*#__PURE__*/_react["default"].createElement(_InputAdornment["default"], {
|
|
189
189
|
position: "end"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigPassword.js","names":["styles","theme","fullWidth","width","display","halfWidth1","spacing","marginRight","halfWidth2","PASSWORD_PLACEHOLDER","ConfigPassword","value","ConfigGeneric","getValue","props","data","attr","setState","_repeat","_visible","_notEqual","password","repeatPassword","undefined","state","schema","repeat","onError","I18n","t","onChange","error","disabled","defaultValue","e","onChangePassword","target","getText","label","autoComplete","form","maxLength","max","renderHelp","help","helpLink","noTranslation","endAdornment","visible","preventDefault","stopPropagation","passwordRepeat","classes","propTypes","socket","PropTypes","object","isRequired","themeType","string","themeName","style","className","func","withStyles"],"sources":["JsonConfigComponent/ConfigPassword.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport TextField from '@mui/material/TextField';\nimport IconButton from '@mui/material/IconButton';\nimport InputAdornment from '@mui/material/InputAdornment';\n\nimport Visibility from '@mui/icons-material/Visibility';\nimport VisibilityOff from '@mui/icons-material/VisibilityOff';\n\nimport I18n from '../../i18n';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%',\n display: 'inline-block'\n },\n halfWidth1: {\n width: `calc(50% - ${theme.spacing(0.5)})`,\n display: 'inline-block',\n marginRight: theme.spacing(1),\n },\n halfWidth2: {\n width: `calc(50% - ${theme.spacing(0.5)})`,\n display: 'inline-block'\n }\n});\n\nconst PASSWORD_PLACEHOLDER = '____ppp____';\n\nclass ConfigPassword extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n this.setState({\n _repeat: value ? PASSWORD_PLACEHOLDER : '',\n _visible: false,\n value: value ? PASSWORD_PLACEHOLDER : '',\n _notEqual: false\n });\n }\n\n onChangePassword(password, repeatPassword) {\n if (password === undefined) {\n password = this.state.value;\n }\n if (repeatPassword === undefined) {\n repeatPassword = this.state._repeat;\n }\n const _notEqual = !!this.props.schema.repeat && repeatPassword !== password;\n this.setState({value: password, _repeat: repeatPassword, _notEqual}, () => {\n if (_notEqual) {\n this.onError(this.props.attr, I18n.t('Passwords are not equal!'));\n } else {\n this.onError(this.props.attr); // clear error\n this.onChange(this.props.attr, password);\n }\n });\n }\n\n renderItem(error, disabled, defaultValue) {\n if (this.state._notEqual === undefined) {\n return null;\n }\n\n const password = <TextField\n variant=\"standard\"\n fullWidth\n type={this.state._visible && this.state.value !== PASSWORD_PLACEHOLDER ? 'text' : 'password'}\n value={this.state.value}\n error={!!error || this.state._notEqual}\n disabled={!!disabled}\n onChange={e => this.onChangePassword(e.target.value)}\n label={this.getText(this.props.schema.label)}\n inputProps={{\n autoComplete: 'new-password',\n form: {autoComplete: 'off'},\n maxLength: this.props.schema.maxLength || this.props.schema.max || undefined\n }}\n helperText={this.state._notEqual ? I18n.t('Passwords are not equal!') : this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}\n InputProps={{endAdornment: this.state.value && this.state.value !== PASSWORD_PLACEHOLDER && this.props.schema.visible ? <InputAdornment position='end'>\n <IconButton size=\"large\"\n tabIndex={-1}\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n this.setState({_visible: !this.state._visible});\n }}\n edge='end'\n >\n {this.state._visible ? <VisibilityOff/> : <Visibility/>}\n </IconButton>\n </InputAdornment> : undefined\n }}\n />;\n\n if (this.props.schema.repeat) {\n const passwordRepeat = <TextField\n variant=\"standard\"\n fullWidth\n type={this.state._visible && this.state._repeat !== PASSWORD_PLACEHOLDER ? 'text' : 'password'}\n value={this.state._repeat}\n error={!!error || this.state._notEqual}\n disabled={!!disabled}\n onChange={e => this.onChangePassword(undefined, e.target.value)}\n label={`${this.getText(this.props.schema.label)} (${I18n.t('repeat')})`}\n inputProps={{\n autoComplete: 'new-password',\n form: {autoComplete: 'off'},\n maxLength: this.props.schema.maxLength || this.props.schema.max || undefined\n }}\n helperText={this.state._notEqual ? I18n.t('Passwords are not equal!') : this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}\n InputProps={{endAdornment: this.state._repeat && this.state._repeat !== PASSWORD_PLACEHOLDER ? <InputAdornment position='end'>\n <IconButton size=\"large\"\n tabIndex={-1}\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n this.setState({_visible: !this.state._visible});\n }}\n edge='end'\n >\n {this.state._visible ? <VisibilityOff/> : <Visibility/>}\n </IconButton>\n </InputAdornment> : undefined\n }}\n />;\n\n return <div className={this.props.classes.fullWidth}>\n <div className={this.props.classes.halfWidth1}>{password}</div>\n <div className={this.props.classes.halfWidth2}>{passwordRepeat}</div>\n </div>;\n } else {\n return password;\n }\n }\n}\n\nConfigPassword.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)(ConfigPassword);"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ConfigPassword.js","names":["styles","theme","fullWidth","width","display","halfWidth1","spacing","marginRight","halfWidth2","PASSWORD_PLACEHOLDER","ConfigPassword","value","ConfigGeneric","getValue","props","data","attr","setState","_repeat","_visible","_notEqual","password","repeatPassword","undefined","state","schema","repeat","onError","I18n","t","onChange","error","disabled","defaultValue","e","onChangePassword","target","getText","label","autoComplete","form","maxLength","max","renderHelp","help","helpLink","noTranslation","endAdornment","visible","preventDefault","stopPropagation","passwordRepeat","classes","propTypes","socket","PropTypes","object","isRequired","themeType","string","themeName","style","className","func","withStyles"],"sources":["JsonConfigComponent/ConfigPassword.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport TextField from '@mui/material/TextField';\nimport IconButton from '@mui/material/IconButton';\nimport InputAdornment from '@mui/material/InputAdornment';\n\nimport Visibility from '@mui/icons-material/Visibility';\nimport VisibilityOff from '@mui/icons-material/VisibilityOff';\n\nimport I18n from '../../i18n';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%',\n display: 'inline-block'\n },\n halfWidth1: {\n width: `calc(50% - ${theme.spacing(0.5)})`,\n display: 'inline-block',\n marginRight: theme.spacing(1),\n },\n halfWidth2: {\n width: `calc(50% - ${theme.spacing(0.5)})`,\n display: 'inline-block'\n }\n});\n\nconst PASSWORD_PLACEHOLDER = '____ppp____';\n\nclass ConfigPassword extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n this.setState({\n _repeat: value ? PASSWORD_PLACEHOLDER : '',\n _visible: false,\n value: value ? PASSWORD_PLACEHOLDER : '',\n _notEqual: false\n });\n }\n\n onChangePassword(password, repeatPassword) {\n if (password === undefined) {\n password = this.state.value;\n }\n if (repeatPassword === undefined) {\n repeatPassword = this.state._repeat;\n }\n const _notEqual = !!this.props.schema.repeat && repeatPassword !== password;\n this.setState({value: password, _repeat: repeatPassword, _notEqual}, () => {\n if (_notEqual) {\n this.onError(this.props.attr, I18n.t('ra_Passwords are not equal!'));\n } else {\n this.onError(this.props.attr); // clear error\n this.onChange(this.props.attr, password);\n }\n });\n }\n\n renderItem(error, disabled, defaultValue) {\n if (this.state._notEqual === undefined) {\n return null;\n }\n\n const password = <TextField\n variant=\"standard\"\n fullWidth\n type={this.state._visible && this.state.value !== PASSWORD_PLACEHOLDER ? 'text' : 'password'}\n value={this.state.value}\n error={!!error || this.state._notEqual}\n disabled={!!disabled}\n onChange={e => this.onChangePassword(e.target.value)}\n label={this.getText(this.props.schema.label)}\n inputProps={{\n autoComplete: 'new-password',\n form: {autoComplete: 'off'},\n maxLength: this.props.schema.maxLength || this.props.schema.max || undefined\n }}\n helperText={this.state._notEqual ? I18n.t('ra_Passwords are not equal!') : this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}\n InputProps={{endAdornment: this.state.value && this.state.value !== PASSWORD_PLACEHOLDER && this.props.schema.visible ? <InputAdornment position='end'>\n <IconButton size=\"large\"\n tabIndex={-1}\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n this.setState({_visible: !this.state._visible});\n }}\n edge='end'\n >\n {this.state._visible ? <VisibilityOff/> : <Visibility/>}\n </IconButton>\n </InputAdornment> : undefined\n }}\n />;\n\n if (this.props.schema.repeat) {\n const passwordRepeat = <TextField\n variant=\"standard\"\n fullWidth\n type={this.state._visible && this.state._repeat !== PASSWORD_PLACEHOLDER ? 'text' : 'password'}\n value={this.state._repeat}\n error={!!error || this.state._notEqual}\n disabled={!!disabled}\n onChange={e => this.onChangePassword(undefined, e.target.value)}\n label={`${this.getText(this.props.schema.label)} (${I18n.t('ra_repeat')})`}\n inputProps={{\n autoComplete: 'new-password',\n form: {autoComplete: 'off'},\n maxLength: this.props.schema.maxLength || this.props.schema.max || undefined\n }}\n helperText={this.state._notEqual ? I18n.t('ra_Passwords are not equal!') : this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}\n InputProps={{endAdornment: this.state._repeat && this.state._repeat !== PASSWORD_PLACEHOLDER ? <InputAdornment position='end'>\n <IconButton size=\"large\"\n tabIndex={-1}\n onClick={e => {\n e.preventDefault();\n e.stopPropagation();\n this.setState({_visible: !this.state._visible});\n }}\n edge='end'\n >\n {this.state._visible ? <VisibilityOff/> : <Visibility/>}\n </IconButton>\n </InputAdornment> : undefined\n }}\n />;\n\n return <div className={this.props.classes.fullWidth}>\n <div className={this.props.classes.halfWidth1}>{password}</div>\n <div className={this.props.classes.halfWidth2}>{passwordRepeat}</div>\n </div>;\n } else {\n return password;\n }\n }\n}\n\nConfigPassword.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)(ConfigPassword);"],"mappings":"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"}
|
|
@@ -100,9 +100,9 @@ var ConfigSelect = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
100
100
|
if (!item.hidden) {
|
|
101
101
|
return true;
|
|
102
102
|
} else if (_this.props.custom) {
|
|
103
|
-
return !_this.executeCustom(item.hidden, _this.props.data, _this.props.customObj, _this.props.instanceObj);
|
|
103
|
+
return !_this.executeCustom(item.hidden, _this.props.data, _this.props.customObj, _this.props.instanceObj, _this.props.arrayIndex, _this.props.globalData);
|
|
104
104
|
} else {
|
|
105
|
-
return !_this.execute(item.hidden, _this.props.schema["default"], _this.props.data);
|
|
105
|
+
return !_this.execute(item.hidden, _this.props.schema["default"], _this.props.data, _this.props.arrayIndex, _this.props.globalData);
|
|
106
106
|
}
|
|
107
107
|
}); // eslint-disable-next-line
|
|
108
108
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigSelect.js","names":["styles","theme","fullWidth","width","ConfigSelect","value","ConfigGeneric","getValue","props","data","attr","selectOptions","JSON","parse","stringify","schema","options","Array","isArray","initialValue","unshift","label","DIFFERENT_LABEL","DIFFERENT_VALUE","setState","error","disabled","defaultValue","state","filter","item","hidden","custom","executeCustom","customObj","instanceObj","execute","find","classes","index","getText","val","noTranslation","e","target","onChange","map","opacity","help","renderHelp","helpLink","propTypes","socket","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","withStyles"],"sources":["JsonConfigComponent/ConfigSelect.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport MenuItem from '@mui/material/MenuItem';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport FormControl from '@mui/material/FormControl';\nimport Select from '@mui/material/Select';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n }\n});\n\nclass ConfigSelect extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n\n const selectOptions = JSON.parse(JSON.stringify(this.props.schema.options));\n\n // if __different\n if (Array.isArray(value)) {\n this.initialValue = [...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\n const selectOptions = (this.state.selectOptions || []).filter(item => {\n if (!item.hidden) {\n return true;\n } else if (this.props.custom) {\n return !this.executeCustom(item.hidden, this.props.data, this.props.customObj, this.props.instanceObj);\n } else {\n return !this.execute(item.hidden, this.props.schema.default, this.props.data);\n }\n });\n\n // eslint-disable-next-line\n const item = selectOptions.find(item => item.value == this.state.value); // let \"==\" be and not ===\n\n return <FormControl variant=\"standard\" className={this.props.classes.fullWidth} id={`jsonSelect_${this.props.schema.attr}_${this.props.index}`}>\n <InputLabel>{this.getText(this.props.schema.label)}</InputLabel>\n <Select\n variant=\"standard\"\n error={!!error}\n disabled={!!disabled}\n value={this.state.value || '_'}\n renderValue={val => this.getText(item?.label, this.props.schema.noTranslation)}\n onChange={e => {\n this.setState({value: e.target.value === '_' ? '' : e.target.value}, () => {\n if (this.state.value === ConfigGeneric.DIFFERENT_VALUE) {\n this.onChange(this.props.attr, this.initialValue);\n } else {\n this.onChange(this.props.attr, this.state.value);\n }\n });\n }}\n >\n {selectOptions.map(item =>\n <MenuItem key={item.value} value={item.value} style={item.value === ConfigGeneric.DIFFERENT_VALUE ? {opacity: 0.5} : {}}>{this.getText(item.label, this.props.schema.noTranslation)}</MenuItem>)}\n </Select>\n {this.props.schema.help ? <FormHelperText>{this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}</FormHelperText> : null}\n </FormControl>;\n }\n}\n\nConfigSelect.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)(ConfigSelect);"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;EAAA,OAAK;IACrBC,SAAS,EAAE;MACPC,KAAK,EAAE;IADA;EADU,CAAL;AAAA,CAApB;;IAMMC,Y;;;;;;;;;;;;WACF,6BAAoB;MAChB;;MACA,IAAMC,KAAK,GAAGC,0BAAA,CAAcC,QAAd,CAAuB,KAAKC,KAAL,CAAWC,IAAlC,EAAwC,KAAKD,KAAL,CAAWE,IAAnD,CAAd;;MAEA,IAAMC,aAAa,GAAGC,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,SAAL,CAAe,KAAKN,KAAL,CAAWO,MAAX,CAAkBC,OAAjC,CAAX,CAAtB,CAJgB,CAMhB;;MACA,IAAIC,KAAK,CAACC,OAAN,CAAcb,KAAd,CAAJ,EAA0B;QACtB,KAAKc,YAAL,uCAAwBd,KAAxB;QACAM,aAAa,CAACS,OAAd,CAAsB;UAACC,KAAK,EAAEf,0BAAA,CAAcgB,eAAtB;UAAuCjB,KAAK,EAAEC,0BAAA,CAAciB;QAA5D,CAAtB;QACA,KAAKC,QAAL,CAAc;UAACnB,KAAK,EAAEC,0BAAA,CAAciB,eAAtB;UAAuCZ,aAAa,EAAbA;QAAvC,CAAd;MACH,CAJD,MAIO;QACH,KAAKa,QAAL,CAAc;UAACnB,KAAK,EAALA,KAAD;UAAQM,aAAa,EAAbA;QAAR,CAAd;MACH;IACJ;;;WAED,oBAAWc,KAAX,EAAkBC,QAAlB,EAA4BC,YAA5B,EAA0C;MAAA;;MACtC,IAAI,CAAC,KAAKC,KAAL,CAAWjB,aAAhB,EAA+B;QAC3B,OAAO,IAAP;MACH;;MAED,IAAMA,aAAa,GAAG,CAAC,KAAKiB,KAAL,CAAWjB,aAAX,IAA4B,EAA7B,EAAiCkB,MAAjC,CAAwC,UAAAC,IAAI,EAAI;QAClE,IAAI,CAACA,IAAI,CAACC,MAAV,EAAkB;UACd,OAAO,IAAP;QACH,CAFD,MAEO,IAAI,KAAI,CAACvB,KAAL,CAAWwB,MAAf,EAAuB;UAC1B,OAAO,CAAC,KAAI,CAACC,aAAL,CAAmBH,IAAI,CAACC,MAAxB,EAAgC,KAAI,CAACvB,KAAL,CAAWC,IAA3C,EAAiD,KAAI,CAACD,KAAL,CAAW0B,SAA5D,EAAuE,KAAI,CAAC1B,KAAL,CAAW2B,WAAlF,CAAR;QACH,CAFM,MAEA;UACH,OAAO,CAAC,KAAI,CAACC,OAAL,
|
|
1
|
+
{"version":3,"file":"ConfigSelect.js","names":["styles","theme","fullWidth","width","ConfigSelect","value","ConfigGeneric","getValue","props","data","attr","selectOptions","JSON","parse","stringify","schema","options","Array","isArray","initialValue","unshift","label","DIFFERENT_LABEL","DIFFERENT_VALUE","setState","error","disabled","defaultValue","state","filter","item","hidden","custom","executeCustom","customObj","instanceObj","arrayIndex","globalData","execute","find","classes","index","getText","val","noTranslation","e","target","onChange","map","opacity","help","renderHelp","helpLink","propTypes","socket","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","withStyles"],"sources":["JsonConfigComponent/ConfigSelect.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport MenuItem from '@mui/material/MenuItem';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport FormControl from '@mui/material/FormControl';\nimport Select from '@mui/material/Select';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n }\n});\n\nclass ConfigSelect extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n\n const selectOptions = JSON.parse(JSON.stringify(this.props.schema.options));\n\n // if __different\n if (Array.isArray(value)) {\n this.initialValue = [...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\n const selectOptions = (this.state.selectOptions || []).filter(item => {\n if (!item.hidden) {\n return true;\n } else if (this.props.custom) {\n return !this.executeCustom(item.hidden, this.props.data, this.props.customObj, this.props.instanceObj, this.props.arrayIndex, this.props.globalData);\n } else {\n return !this.execute(item.hidden, this.props.schema.default, this.props.data, this.props.arrayIndex, this.props.globalData);\n }\n });\n\n // eslint-disable-next-line\n const item = selectOptions.find(item => item.value == this.state.value); // let \"==\" be and not ===\n\n return <FormControl variant=\"standard\" className={this.props.classes.fullWidth} id={`jsonSelect_${this.props.schema.attr}_${this.props.index}`}>\n <InputLabel>{this.getText(this.props.schema.label)}</InputLabel>\n <Select\n variant=\"standard\"\n error={!!error}\n disabled={!!disabled}\n value={this.state.value || '_'}\n renderValue={val => this.getText(item?.label, this.props.schema.noTranslation)}\n onChange={e => {\n this.setState({value: e.target.value === '_' ? '' : e.target.value}, () => {\n if (this.state.value === ConfigGeneric.DIFFERENT_VALUE) {\n this.onChange(this.props.attr, this.initialValue);\n } else {\n this.onChange(this.props.attr, this.state.value);\n }\n });\n }}\n >\n {selectOptions.map(item =>\n <MenuItem key={item.value} value={item.value} style={item.value === ConfigGeneric.DIFFERENT_VALUE ? {opacity: 0.5} : {}}>{this.getText(item.label, this.props.schema.noTranslation)}</MenuItem>)}\n </Select>\n {this.props.schema.help ? <FormHelperText>{this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)}</FormHelperText> : null}\n </FormControl>;\n }\n}\n\nConfigSelect.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)(ConfigSelect);"],"mappings":"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"}
|
|
@@ -129,7 +129,7 @@ var ConfigSelectSendTo = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
129
129
|
}
|
|
130
130
|
|
|
131
131
|
this.props.socket.sendTo(this.props.adapterName + '.' + this.props.instance, this.props.schema.command || 'send', data).then(function (list) {
|
|
132
|
-
_this.setState({
|
|
132
|
+
return _this.setState({
|
|
133
133
|
list: list,
|
|
134
134
|
context: _this.getContext()
|
|
135
135
|
});
|
|
@@ -167,16 +167,18 @@ var ConfigSelectSendTo = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
167
167
|
|
|
168
168
|
if (context !== this.state.context) {
|
|
169
169
|
setTimeout(function () {
|
|
170
|
-
_this3.askInstance();
|
|
170
|
+
return _this3.askInstance();
|
|
171
171
|
}, 300);
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
174
|
|
|
175
|
+
var value = this.state.value === null || this.state.value === undefined ? _ConfigGeneric2["default"].getValue(this.props.data, this.props.attr) : this.state.value;
|
|
176
|
+
|
|
175
177
|
if (!this.props.alive) {
|
|
176
178
|
return /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
|
|
177
179
|
variant: "standard",
|
|
178
180
|
fullWidth: true,
|
|
179
|
-
value:
|
|
181
|
+
value: value,
|
|
180
182
|
error: !!error,
|
|
181
183
|
disabled: !!disabled,
|
|
182
184
|
onChange: function onChange(e) {
|
|
@@ -197,15 +199,13 @@ var ConfigSelectSendTo = /*#__PURE__*/function (_ConfigGeneric) {
|
|
|
197
199
|
size: "small"
|
|
198
200
|
});
|
|
199
201
|
} else {
|
|
200
|
-
var value = _ConfigGeneric2["default"].getValue(this.props.data, this.props.attr);
|
|
201
|
-
|
|
202
202
|
var selectOptions = (this.state.list || []).filter(function (item) {
|
|
203
203
|
if (!item.hidden) {
|
|
204
204
|
return true;
|
|
205
205
|
} else if (_this3.props.custom) {
|
|
206
|
-
return !_this3.executeCustom(item.hidden, _this3.props.schema["default"], _this3.props.data, _this3.props.instanceObj);
|
|
206
|
+
return !_this3.executeCustom(item.hidden, _this3.props.schema["default"], _this3.props.data, _this3.props.instanceObj, _this3.props.arrayIndex, _this3.props.globalData);
|
|
207
207
|
} else {
|
|
208
|
-
return !_this3.execute(item.hidden, _this3.props.schema["default"], _this3.props.data);
|
|
208
|
+
return !_this3.execute(item.hidden, _this3.props.schema["default"], _this3.props.data, _this3.props.arrayIndex, _this3.props.globalData);
|
|
209
209
|
}
|
|
210
210
|
});
|
|
211
211
|
var item = selectOptions.find(function (item) {
|