@iobroker/adapter-react-v5 3.1.3 → 3.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/Components/FileBrowser.js +277 -237
  2. package/Components/FileBrowser.js.map +1 -1
  3. package/Components/FileViewer.js +3 -1
  4. package/Components/FileViewer.js.map +1 -1
  5. package/Components/JsonConfigComponent/ConfigAutocomplete.js +5 -3
  6. package/Components/JsonConfigComponent/ConfigAutocomplete.js.map +1 -1
  7. package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js +5 -3
  8. package/Components/JsonConfigComponent/ConfigAutocompleteSendTo.js.map +1 -1
  9. package/Components/JsonConfigComponent/ConfigCertificateSelect.js +16 -2
  10. package/Components/JsonConfigComponent/ConfigCertificateSelect.js.map +1 -1
  11. package/Components/JsonConfigComponent/ConfigCustom.js +148 -25
  12. package/Components/JsonConfigComponent/ConfigCustom.js.map +1 -1
  13. package/Components/JsonConfigComponent/ConfigFile.js +183 -0
  14. package/Components/JsonConfigComponent/ConfigFile.js.map +1 -0
  15. package/Components/JsonConfigComponent/ConfigFileSelector.js +747 -0
  16. package/Components/JsonConfigComponent/ConfigFileSelector.js.map +1 -0
  17. package/Components/JsonConfigComponent/ConfigGeneric.js +105 -20
  18. package/Components/JsonConfigComponent/ConfigGeneric.js.map +1 -1
  19. package/Components/JsonConfigComponent/ConfigInstanceSelect.js +132 -46
  20. package/Components/JsonConfigComponent/ConfigInstanceSelect.js.map +1 -1
  21. package/Components/JsonConfigComponent/ConfigLanguage.js +25 -1
  22. package/Components/JsonConfigComponent/ConfigLanguage.js.map +1 -1
  23. package/Components/JsonConfigComponent/ConfigNumber.js +5 -4
  24. package/Components/JsonConfigComponent/ConfigNumber.js.map +1 -1
  25. package/Components/JsonConfigComponent/ConfigObjectId.js +3 -2
  26. package/Components/JsonConfigComponent/ConfigObjectId.js.map +1 -1
  27. package/Components/JsonConfigComponent/ConfigPanel.js +51 -40
  28. package/Components/JsonConfigComponent/ConfigPanel.js.map +1 -1
  29. package/Components/JsonConfigComponent/ConfigPattern.js +1 -1
  30. package/Components/JsonConfigComponent/ConfigPattern.js.map +1 -1
  31. package/Components/JsonConfigComponent/ConfigSelect.js +4 -2
  32. package/Components/JsonConfigComponent/ConfigSelect.js.map +1 -1
  33. package/Components/JsonConfigComponent/ConfigSendto.js +2 -2
  34. package/Components/JsonConfigComponent/ConfigSendto.js.map +1 -1
  35. package/Components/JsonConfigComponent/ConfigSetState.js +2 -2
  36. package/Components/JsonConfigComponent/ConfigSetState.js.map +1 -1
  37. package/Components/JsonConfigComponent/ConfigStaticHeader.js +31 -8
  38. package/Components/JsonConfigComponent/ConfigStaticHeader.js.map +1 -1
  39. package/Components/JsonConfigComponent/ConfigStaticImage.js +1 -1
  40. package/Components/JsonConfigComponent/ConfigStaticImage.js.map +1 -1
  41. package/Components/JsonConfigComponent/ConfigTable.js +1 -1
  42. package/Components/JsonConfigComponent/ConfigTable.js.map +1 -1
  43. package/Components/JsonConfigComponent/ConfigTabs.js +12 -3
  44. package/Components/JsonConfigComponent/ConfigTabs.js.map +1 -1
  45. package/Components/JsonConfigComponent/ConfigText.js +4 -2
  46. package/Components/JsonConfigComponent/ConfigText.js.map +1 -1
  47. package/Components/JsonConfigComponent/ConfigTopic.js.map +1 -1
  48. package/Components/JsonConfigComponent/index.js +12 -4
  49. package/Components/JsonConfigComponent/index.js.map +1 -1
  50. package/Components/ObjectBrowser.js +228 -222
  51. package/Components/ObjectBrowser.js.map +1 -1
  52. package/Components/TableResize.js +34 -16
  53. package/Components/TableResize.js.map +1 -1
  54. package/Components/TreeTable.js +2 -2
  55. package/Components/TreeTable.js.map +1 -1
  56. package/Components/Utils.js +5 -5
  57. package/Components/Utils.js.map +1 -1
  58. package/Dialogs/Confirm.js +3 -3
  59. package/Dialogs/Confirm.js.map +1 -1
  60. package/Dialogs/FileSelect.js +259 -0
  61. package/Dialogs/FileSelect.js.map +1 -0
  62. package/Dialogs/SelectID.js +15 -16
  63. package/Dialogs/SelectID.js.map +1 -1
  64. package/GenericApp.js +3 -3
  65. package/GenericApp.js.map +1 -1
  66. package/README.md +3 -0
  67. package/package.json +1 -1
@@ -15,6 +15,8 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/cl
15
15
 
16
16
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
17
 
18
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
19
+
18
20
  var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
19
21
 
20
22
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
@@ -23,6 +25,8 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
23
25
 
24
26
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
27
 
28
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
+
26
30
  var _react = _interopRequireDefault(require("react"));
27
31
 
28
32
  var _propTypes = _interopRequireDefault(require("prop-types"));
@@ -61,20 +65,77 @@ var ConfigInstanceSelect = /*#__PURE__*/function (_ConfigGeneric) {
61
65
  var _super = _createSuper(ConfigInstanceSelect);
62
66
 
63
67
  function ConfigInstanceSelect() {
68
+ var _this;
69
+
64
70
  (0, _classCallCheck2["default"])(this, ConfigInstanceSelect);
65
- return _super.apply(this, arguments);
71
+
72
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
73
+ args[_key] = arguments[_key];
74
+ }
75
+
76
+ _this = _super.call.apply(_super, [this].concat(args));
77
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onInstancesUpdate", function (id, obj) {
78
+ if (!id.match(/^system\.adapter\.[-_a-z\d]+\.\d+$/)) {
79
+ return;
80
+ }
81
+
82
+ var _id = _this.props.schema["long"] ? id : _this.props.schema["short"] ? id.split('.').pop() : id.replace(/^system\.adapter\./, '');
83
+
84
+ var index = _this.state.selectOptions.findIndex(function (item) {
85
+ return item.value === _id;
86
+ });
87
+
88
+ if (!obj) {
89
+ // deleted
90
+ if (index !== -1) {
91
+ var selectOptions = JSON.parse(JSON.stringify(_this.state.selectOptions));
92
+ var newState = {};
93
+
94
+ if (_this.state.value === selectOptions[index].value) {
95
+ newState.value = _ConfigGeneric2["default"].NONE_VALUE;
96
+ }
97
+
98
+ selectOptions.splice(index, 1);
99
+ newState.selectOptions = selectOptions;
100
+
101
+ _this.setState(newState);
102
+ }
103
+ } else {
104
+ if (_this.props.schema.adapter === '_dataSources' && (!obj.common || !obj.common.getHistory)) {
105
+ return;
106
+ }
107
+
108
+ if (index === -1) {
109
+ var _selectOptions = JSON.parse(JSON.stringify(_this.state.selectOptions));
110
+
111
+ _selectOptions.push({
112
+ value: _this.props.schema["long"] ? obj._id : _this.props.schema["short"] ? obj._id.split('.').pop() : obj._id.replace(/^system\.adapter\./, ''),
113
+ label: "".concat(obj.common.name, " [").concat(obj._id.replace(/^system\.adapter\./, ''), "]")
114
+ });
115
+
116
+ _selectOptions.sort(function (a, b) {
117
+ return a.label > b.label ? 1 : a.label < b.label ? -1 : 0;
118
+ });
119
+
120
+ _this.setState({
121
+ selectOptions: _selectOptions
122
+ });
123
+ }
124
+ }
125
+ });
126
+ return _this;
66
127
  }
67
128
 
68
129
  (0, _createClass2["default"])(ConfigInstanceSelect, [{
69
130
  key: "componentDidMount",
70
131
  value: function () {
71
- var _componentDidMount = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
72
- var _this = this;
132
+ var _componentDidMount = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
133
+ var _this2 = this;
73
134
 
74
135
  var value, adapter;
75
- return _regenerator["default"].wrap(function _callee$(_context) {
136
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
76
137
  while (1) {
77
- switch (_context.prev = _context.next) {
138
+ switch (_context2.prev = _context2.next) {
78
139
  case 0:
79
140
  (0, _get2["default"])((0, _getPrototypeOf2["default"])(ConfigInstanceSelect.prototype), "componentDidMount", this).call(this);
80
141
  value = _ConfigGeneric2["default"].getValue(this.props.data, this.props.attr);
@@ -84,46 +145,65 @@ var ConfigInstanceSelect = /*#__PURE__*/function (_ConfigGeneric) {
84
145
  adapter = undefined;
85
146
  }
86
147
 
87
- this.props.socket.getAdapterInstances(adapter).then(function (instances) {
88
- var selectOptions;
89
-
90
- if (_this.props.schema.adapter === '_dataSources') {
91
- // get only "data-sources", like history, sql, influx
92
- instances = instances.filter(function (instance) {
93
- return instance && instance.common && instance.common.getHistory;
94
- });
95
- }
96
-
97
- selectOptions = instances.map(function (instance) {
98
- return {
99
- value: _this.props.schema["long"] ? instance._id : _this.props.schema["short"] ? instance._id.split('.').pop() : instance._id.replace(/^system\.adapter\./, ''),
100
- label: "".concat(instance.common.name, " [").concat(instance._id.replace(/^system\.adapter\./, ''), "]")
101
- };
102
- });
103
- selectOptions.unshift({
104
- label: _ConfigGeneric2["default"].NONE_LABEL,
105
- value: _ConfigGeneric2["default"].NONE_VALUE
106
- });
107
-
108
- if (_this.props.schema.all) {
109
- selectOptions.unshift({
110
- label: _i18n["default"].t('sch_all'),
111
- value: '*'
112
- });
113
- }
114
-
115
- _this.setState({
116
- value: value || '',
117
- selectOptions: selectOptions
118
- });
119
- });
148
+ this.props.socket.getAdapterInstances(adapter, true).then( /*#__PURE__*/function () {
149
+ var _ref = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(instances) {
150
+ var selectOptions;
151
+ return _regenerator["default"].wrap(function _callee$(_context) {
152
+ while (1) {
153
+ switch (_context.prev = _context.next) {
154
+ case 0:
155
+ if (_this2.props.schema.adapter === '_dataSources') {
156
+ // get only "data-sources", like history, sql, influx
157
+ instances = instances.filter(function (instance) {
158
+ return instance && instance.common && instance.common.getHistory;
159
+ });
160
+ }
161
+
162
+ selectOptions = instances.map(function (instance) {
163
+ return {
164
+ value: _this2.props.schema["long"] ? instance._id : _this2.props.schema["short"] ? instance._id.split('.').pop() : instance._id.replace(/^system\.adapter\./, ''),
165
+ label: "".concat(instance.common.name, " [").concat(instance._id.replace(/^system\.adapter\./, ''), "]")
166
+ };
167
+ });
168
+ selectOptions.unshift({
169
+ label: _i18n["default"].t(_ConfigGeneric2["default"].NONE_LABEL),
170
+ value: _ConfigGeneric2["default"].NONE_VALUE
171
+ });
172
+
173
+ if (_this2.props.schema.all) {
174
+ selectOptions.unshift({
175
+ label: _i18n["default"].t('sch_all'),
176
+ value: '*'
177
+ });
178
+ }
179
+
180
+ _this2.setState({
181
+ value: value || '',
182
+ selectOptions: selectOptions
183
+ });
184
+
185
+ _context.next = 7;
186
+ return _this2.props.socket.subscribeObject("system.adapter.".concat(adapter ? adapter + '.' : '', "*"), _this2.onInstancesUpdate);
187
+
188
+ case 7:
189
+ case "end":
190
+ return _context.stop();
191
+ }
192
+ }
193
+ }, _callee);
194
+ }));
195
+
196
+ return function (_x) {
197
+ return _ref.apply(this, arguments);
198
+ };
199
+ }());
120
200
 
121
201
  case 5:
122
202
  case "end":
123
- return _context.stop();
203
+ return _context2.stop();
124
204
  }
125
205
  }
126
- }, _callee, this);
206
+ }, _callee2, this);
127
207
  }));
128
208
 
129
209
  function componentDidMount() {
@@ -132,18 +212,24 @@ var ConfigInstanceSelect = /*#__PURE__*/function (_ConfigGeneric) {
132
212
 
133
213
  return componentDidMount;
134
214
  }()
215
+ }, {
216
+ key: "componentWillUnmount",
217
+ value: function componentWillUnmount() {
218
+ this.props.socket.unsubscribeObject('system.adapter.*', this.onInstancesUpdate).then(function () {});
219
+ (0, _get2["default"])((0, _getPrototypeOf2["default"])(ConfigInstanceSelect.prototype), "componentWillUnmount", this).call(this);
220
+ }
135
221
  }, {
136
222
  key: "renderItem",
137
223
  value: function renderItem(error, disabled, defaultValue) {
138
224
  var _this$state$selectOpt,
139
- _this2 = this;
225
+ _this3 = this;
140
226
 
141
227
  if (!this.state.selectOptions) {
142
228
  return null;
143
229
  }
144
230
 
145
231
  var item = (_this$state$selectOpt = this.state.selectOptions) === null || _this$state$selectOpt === void 0 ? void 0 : _this$state$selectOpt.find(function (item) {
146
- return item.value === _this2.state.value;
232
+ return item.value === _this3.state.value;
147
233
  });
148
234
  return /*#__PURE__*/_react["default"].createElement(_FormControl["default"], {
149
235
  className: this.props.classes.fullWidth,
@@ -158,13 +244,13 @@ var ConfigInstanceSelect = /*#__PURE__*/function (_ConfigGeneric) {
158
244
  disabled: !!disabled,
159
245
  value: this.state.value,
160
246
  renderValue: function renderValue(val) {
161
- return _this2.getText(item === null || item === void 0 ? void 0 : item.label, true);
247
+ return _this3.getText(item === null || item === void 0 ? void 0 : item.label, true);
162
248
  },
163
249
  onChange: function onChange(e) {
164
- return _this2.setState({
250
+ return _this3.setState({
165
251
  value: e.target.value
166
252
  }, function () {
167
- return _this2.onChange(_this2.props.attr, _this2.state.value);
253
+ return _this3.onChange(_this3.props.attr, _this3.state.value);
168
254
  });
169
255
  }
170
256
  }, this.state.selectOptions.map(function (item) {
@@ -174,7 +260,7 @@ var ConfigInstanceSelect = /*#__PURE__*/function (_ConfigGeneric) {
174
260
  style: item.value === _ConfigGeneric2["default"].NONE_VALUE ? {
175
261
  opacity: 0.5
176
262
  } : {}
177
- }, _this2.getText(item.label, true));
263
+ }, _this3.getText(item.label, true));
178
264
  })), this.props.schema.help ? /*#__PURE__*/_react["default"].createElement(_FormHelperText["default"], null, this.renderHelp(this.props.schema.help, this.props.schema.helpLink, this.props.schema.noTranslation)) : null);
179
265
  }
180
266
  }]);
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigInstanceSelect.js","names":["styles","theme","fullWidth","width","ConfigInstanceSelect","value","ConfigGeneric","getValue","props","data","attr","adapter","schema","undefined","socket","getAdapterInstances","then","instances","selectOptions","filter","instance","common","getHistory","map","_id","split","pop","replace","label","name","unshift","NONE_LABEL","NONE_VALUE","all","I18n","t","setState","error","disabled","defaultValue","state","item","find","classes","getText","val","e","target","onChange","opacity","help","renderHelp","helpLink","noTranslation","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","withStyles"],"sources":["JsonConfigComponent/ConfigInstanceSelect.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 I18n from '../../i18n';\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n },\n});\n\nclass ConfigInstanceSelect extends ConfigGeneric {\n async componentDidMount() {\n super.componentDidMount();\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n\n let adapter = this.props.schema.adapter;\n if (adapter === '_dataSources') {\n adapter = undefined;\n }\n\n this.props.socket.getAdapterInstances(adapter)\n .then(instances => {\n let selectOptions;\n if (this.props.schema.adapter === '_dataSources') {\n // get only \"data-sources\", like history, sql, influx\n instances = instances.filter(instance => instance && instance.common && instance.common.getHistory);\n }\n\n selectOptions = instances.map(instance => ({\n value: this.props.schema.long ? instance._id :\n (this.props.schema.short ? instance._id.split('.').pop() : instance._id.replace(/^system\\.adapter\\./, '')),\n label: `${instance.common.name} [${instance._id.replace(/^system\\.adapter\\./, '')}]`\n }));\n\n selectOptions.unshift({ label: ConfigGeneric.NONE_LABEL, value: ConfigGeneric.NONE_VALUE });\n if (this.props.schema.all) {\n selectOptions.unshift({ label: I18n.t('sch_all'), value: '*' });\n }\n\n this.setState({ value: value || '', selectOptions });\n });\n }\n\n renderItem(error, disabled, defaultValue) {\n if (!this.state.selectOptions) {\n return null;\n }\n\n const item = this.state.selectOptions?.find(item => item.value === this.state.value);\n\n return <FormControl className={this.props.classes.fullWidth} key={this.props.attr} variant=\"standard\">\n <InputLabel shrink>{this.getText(this.props.schema.label)}</InputLabel>\n <Select\n variant=\"standard\"\n error={!!error}\n displayEmpty\n disabled={!!disabled}\n value={this.state.value}\n renderValue={val => this.getText(item?.label, true)}\n onChange={e =>\n this.setState({ value: e.target.value }, () =>\n this.onChange(this.props.attr, this.state.value))}\n >\n {this.state.selectOptions.map(item =>\n <MenuItem key={item.value} value={item.value} style={item.value === ConfigGeneric.NONE_VALUE ? { opacity: 0.5 } : {}}>{\n this.getText(item.label, true)\n }</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\nConfigInstanceSelect.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)(ConfigInstanceSelect);"],"mappings":"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"}
1
+ {"version":3,"file":"ConfigInstanceSelect.js","names":["styles","theme","fullWidth","width","ConfigInstanceSelect","id","obj","match","_id","props","schema","split","pop","replace","index","state","selectOptions","findIndex","item","value","JSON","parse","stringify","newState","ConfigGeneric","NONE_VALUE","splice","setState","adapter","common","getHistory","push","label","name","sort","a","b","getValue","data","attr","undefined","socket","getAdapterInstances","then","instances","filter","instance","map","unshift","I18n","t","NONE_LABEL","all","subscribeObject","onInstancesUpdate","unsubscribeObject","error","disabled","defaultValue","find","classes","getText","val","e","target","onChange","opacity","help","renderHelp","helpLink","noTranslation","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","withStyles"],"sources":["JsonConfigComponent/ConfigInstanceSelect.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 I18n from '../../i18n';\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n },\n});\n\nclass ConfigInstanceSelect extends ConfigGeneric {\n async componentDidMount() {\n super.componentDidMount();\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n\n let adapter = this.props.schema.adapter;\n if (adapter === '_dataSources') {\n adapter = undefined;\n }\n\n this.props.socket.getAdapterInstances(adapter, true)\n .then(async instances => {\n let selectOptions;\n if (this.props.schema.adapter === '_dataSources') {\n // get only \"data-sources\", like history, sql, influx\n instances = instances.filter(instance => instance && instance.common && instance.common.getHistory);\n }\n\n selectOptions = instances.map(instance => ({\n value: this.props.schema.long ? instance._id :\n (this.props.schema.short ? instance._id.split('.').pop() : instance._id.replace(/^system\\.adapter\\./, '')),\n label: `${instance.common.name} [${instance._id.replace(/^system\\.adapter\\./, '')}]`\n }));\n\n selectOptions.unshift({ label: I18n.t(ConfigGeneric.NONE_LABEL), value: ConfigGeneric.NONE_VALUE });\n if (this.props.schema.all) {\n selectOptions.unshift({ label: I18n.t('sch_all'), value: '*' });\n }\n\n this.setState({ value: value || '', selectOptions });\n\n await this.props.socket.subscribeObject(`system.adapter.${adapter ? adapter + '.' : ''}*`, this.onInstancesUpdate);\n });\n }\n\n componentWillUnmount() {\n this.props.socket.unsubscribeObject('system.adapter.*', this.onInstancesUpdate)\n .then(() => {});\n super.componentWillUnmount();\n }\n\n onInstancesUpdate = (id, obj) => {\n if (!id.match(/^system\\.adapter\\.[-_a-z\\d]+\\.\\d+$/)) {\n return;\n }\n const _id = this.props.schema.long ? id : (this.props.schema.short ? id.split('.').pop() : id.replace(/^system\\.adapter\\./, ''));\n const index = this.state.selectOptions.findIndex(item => item.value === _id);\n if (!obj) {\n // deleted\n if (index !== -1) {\n const selectOptions = JSON.parse(JSON.stringify(this.state.selectOptions));\n\n const newState = {};\n if (this.state.value === selectOptions[index].value) {\n newState.value = ConfigGeneric.NONE_VALUE;\n }\n selectOptions.splice(index, 1);\n newState.selectOptions = selectOptions;\n\n this.setState(newState);\n }\n } else {\n if (this.props.schema.adapter === '_dataSources' && (!obj.common || !obj.common.getHistory)) {\n return;\n }\n\n if (index === -1) {\n const selectOptions = JSON.parse(JSON.stringify(this.state.selectOptions));\n selectOptions.push({\n value: this.props.schema.long ? obj._id :\n (this.props.schema.short ? obj._id.split('.').pop() : obj._id.replace(/^system\\.adapter\\./, '')),\n label: `${obj.common.name} [${obj._id.replace(/^system\\.adapter\\./, '')}]`\n });\n selectOptions.sort((a, b) => a.label > b.label ? 1 : (a.label < b.label ? -1 : 0));\n this.setState({ selectOptions });\n }\n }\n }\n\n renderItem(error, disabled, defaultValue) {\n if (!this.state.selectOptions) {\n return null;\n }\n\n const item = this.state.selectOptions?.find(item => item.value === this.state.value);\n\n return <FormControl className={this.props.classes.fullWidth} key={this.props.attr} variant=\"standard\">\n <InputLabel shrink>{this.getText(this.props.schema.label)}</InputLabel>\n <Select\n variant=\"standard\"\n error={!!error}\n displayEmpty\n disabled={!!disabled}\n value={this.state.value}\n renderValue={val => this.getText(item?.label, true)}\n onChange={e =>\n this.setState({ value: e.target.value }, () =>\n this.onChange(this.props.attr, this.state.value))}\n >\n {this.state.selectOptions.map(item =>\n <MenuItem key={item.value} value={item.value} style={item.value === ConfigGeneric.NONE_VALUE ? { opacity: 0.5 } : {}}>{\n this.getText(item.label, true)\n }</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\nConfigInstanceSelect.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)(ConfigInstanceSelect);"],"mappings":"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"}
@@ -145,7 +145,31 @@ var ConfigLanguage = /*#__PURE__*/function (_ConfigGeneric) {
145
145
  _this.setState({
146
146
  value: value
147
147
  }, function () {
148
- return _this.onChange(_this.props.attr, value);
148
+ _this.onChange(_this.props.attr, value);
149
+
150
+ if (_this.props.schema.changeGuiLanguage) {
151
+ if (value) {
152
+ if (value === _i18n["default"].getLanguage()) {
153
+ return;
154
+ }
155
+
156
+ _i18n["default"].setLanguage(value);
157
+
158
+ _this.props.changeLanguage && _this.props.changeLanguage();
159
+ } else {
160
+ _this.props.socket.getSystemConfig().then(function (systemConfig) {
161
+ if (systemConfig.common.language === _i18n["default"].getLanguage()) {
162
+ return;
163
+ }
164
+
165
+ if (systemConfig.common.language) {
166
+ _i18n["default"].setLanguage(systemConfig.common.language);
167
+
168
+ _this.props.changeLanguage && _this.props.changeLanguage();
169
+ }
170
+ });
171
+ }
172
+ }
149
173
  });
150
174
  }
151
175
  }, (_this$state$selectOpt2 = this.state.selectOptions) === null || _this$state$selectOpt2 === void 0 ? void 0 : _this$state$selectOpt2.map(function (item) {
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigLanguage.js","names":["styles","theme","fullWidth","width","LANGUAGES","value","label","ConfigLanguage","ConfigGeneric","getValue","props","data","attr","languages","schema","system","unshift","I18n","t","setState","getLanguage","selectOptions","error","disabled","defaultValue","state","item","find","classes","getText","val","noTranslation","e","target","onChange","map","help","renderHelp","helpLink","propTypes","socket","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","withStyles"],"sources":["JsonConfigComponent/ConfigLanguage.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 I18n from '../../i18n';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n }\n});\n\nconst LANGUAGES =[\n {\n value: 'en',\n label: 'English'\n },\n {\n value: 'de',\n label: 'Deutsch'\n },\n {\n value: 'ru',\n label: 'русский'\n },\n {\n value: 'pt',\n label: 'Portugues'\n },\n {\n value: 'nl',\n label: 'Nederlands'\n },\n {\n value: 'fr',\n label: 'français'\n },\n {\n value: 'it',\n label: 'Italiano'\n },\n {\n value: 'es',\n label: 'Espanol'\n },\n {\n value: 'pl',\n label: 'Polski'\n },\n {\n value: 'zh-ch',\n label: '简体中文'\n }\n];\n\nclass ConfigLanguage extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n const languages = [...LANGUAGES];\n if (this.props.schema.system) {\n languages.unshift({value: '', label: I18n.t('ra_System language')});\n }\n\n this.setState({value: value || I18n.getLanguage(), selectOptions: languages});\n }\n\n renderItem(error, disabled, defaultValue) {\n if (!this.state.selectOptions) {\n return null;\n }\n\n const item = this.state.selectOptions?.find(item => item.value === this.state.value || (!item.value && !this.state.value));\n\n return <FormControl className={this.props.classes.fullWidth} variant=\"standard\">\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 const value = e.target.value === '_' ? '' : e.target.value;\n this.setState({value}, () =>\n this.onChange(this.props.attr, value));\n }}\n >\n {this.state.selectOptions?.map(item =>\n <MenuItem key={item.value} value={item.value}>{item.label}</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\nConfigLanguage.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)(ConfigLanguage);"],"mappings":"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"}
1
+ {"version":3,"file":"ConfigLanguage.js","names":["styles","theme","fullWidth","width","LANGUAGES","value","label","ConfigLanguage","ConfigGeneric","getValue","props","data","attr","languages","schema","system","unshift","I18n","t","setState","getLanguage","selectOptions","error","disabled","defaultValue","state","item","find","classes","getText","val","noTranslation","e","target","onChange","changeGuiLanguage","setLanguage","changeLanguage","socket","getSystemConfig","then","systemConfig","common","language","map","help","renderHelp","helpLink","propTypes","PropTypes","object","isRequired","themeType","string","themeName","style","className","onError","func","withStyles"],"sources":["JsonConfigComponent/ConfigLanguage.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 I18n from '../../i18n';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n }\n});\n\nconst LANGUAGES =[\n {\n value: 'en',\n label: 'English'\n },\n {\n value: 'de',\n label: 'Deutsch'\n },\n {\n value: 'ru',\n label: 'русский'\n },\n {\n value: 'pt',\n label: 'Portugues'\n },\n {\n value: 'nl',\n label: 'Nederlands'\n },\n {\n value: 'fr',\n label: 'français'\n },\n {\n value: 'it',\n label: 'Italiano'\n },\n {\n value: 'es',\n label: 'Espanol'\n },\n {\n value: 'pl',\n label: 'Polski'\n },\n {\n value: 'zh-ch',\n label: '简体中文'\n }\n];\n\nclass ConfigLanguage extends ConfigGeneric {\n componentDidMount() {\n super.componentDidMount();\n const value = ConfigGeneric.getValue(this.props.data, this.props.attr);\n const languages = [...LANGUAGES];\n if (this.props.schema.system) {\n languages.unshift({value: '', label: I18n.t('ra_System language')});\n }\n\n this.setState({value: value || I18n.getLanguage(), selectOptions: languages});\n }\n\n renderItem(error, disabled, defaultValue) {\n if (!this.state.selectOptions) {\n return null;\n }\n\n const item = this.state.selectOptions?.find(item => item.value === this.state.value || (!item.value && !this.state.value));\n\n return <FormControl className={this.props.classes.fullWidth} variant=\"standard\">\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 const value = e.target.value === '_' ? '' : e.target.value;\n this.setState({ value }, () => {\n this.onChange(this.props.attr, value);\n if (this.props.schema.changeGuiLanguage) {\n if (value) {\n if (value === I18n.getLanguage()) {\n return;\n }\n I18n.setLanguage(value);\n this.props.changeLanguage && this.props.changeLanguage();\n } else {\n this.props.socket.getSystemConfig()\n .then(systemConfig => {\n if (systemConfig.common.language === I18n.getLanguage()) {\n return;\n }\n if (systemConfig.common.language) {\n I18n.setLanguage(systemConfig.common.language);\n this.props.changeLanguage && this.props.changeLanguage();\n }\n });\n }\n }\n });\n }}\n >\n {this.state.selectOptions?.map(item =>\n <MenuItem key={item.value} value={item.value}>{item.label}</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\nConfigLanguage.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)(ConfigLanguage);"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AAEA;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;EAAA,OAAK;IACrBC,SAAS,EAAE;MACPC,KAAK,EAAE;IADA;EADU,CAAL;AAAA,CAApB;;AAMA,IAAMC,SAAS,GAAE,CACb;EACIC,KAAK,EAAE,IADX;EAEIC,KAAK,EAAE;AAFX,CADa,EAKb;EACID,KAAK,EAAE,IADX;EAEIC,KAAK,EAAE;AAFX,CALa,EASb;EACID,KAAK,EAAE,IADX;EAEIC,KAAK,EAAE;AAFX,CATa,EAab;EACID,KAAK,EAAE,IADX;EAEIC,KAAK,EAAE;AAFX,CAba,EAiBb;EACID,KAAK,EAAE,IADX;EAEIC,KAAK,EAAE;AAFX,CAjBa,EAqBb;EACID,KAAK,EAAE,IADX;EAEIC,KAAK,EAAE;AAFX,CArBa,EAyBb;EACID,KAAK,EAAE,IADX;EAEIC,KAAK,EAAE;AAFX,CAzBa,EA6Bb;EACID,KAAK,EAAE,IADX;EAEIC,KAAK,EAAE;AAFX,CA7Ba,EAiCb;EACID,KAAK,EAAE,IADX;EAEIC,KAAK,EAAE;AAFX,CAjCa,EAqCb;EACID,KAAK,EAAE,OADX;EAEIC,KAAK,EAAE;AAFX,CArCa,CAAjB;;IA2CMC,c;;;;;;;;;;;;WACF,6BAAoB;MAChB;;MACA,IAAMF,KAAK,GAAGG,0BAAA,CAAcC,QAAd,CAAuB,KAAKC,KAAL,CAAWC,IAAlC,EAAwC,KAAKD,KAAL,CAAWE,IAAnD,CAAd;;MACA,IAAMC,SAAS,aAAOT,SAAP,CAAf;;MACA,IAAI,KAAKM,KAAL,CAAWI,MAAX,CAAkBC,MAAtB,EAA8B;QAC1BF,SAAS,CAACG,OAAV,CAAkB;UAACX,KAAK,EAAE,EAAR;UAAYC,KAAK,EAAEW,gBAAA,CAAKC,CAAL,CAAO,oBAAP;QAAnB,CAAlB;MACH;;MAED,KAAKC,QAAL,CAAc;QAACd,KAAK,EAAEA,KAAK,IAAIY,gBAAA,CAAKG,WAAL,EAAjB;QAAqCC,aAAa,EAAER;MAApD,CAAd;IACH;;;WAED,oBAAWS,KAAX,EAAkBC,QAAlB,EAA4BC,YAA5B,EAA0C;MAAA;MAAA;MAAA;;MACtC,IAAI,CAAC,KAAKC,KAAL,CAAWJ,aAAhB,EAA+B;QAC3B,OAAO,IAAP;MACH;;MAED,IAAMK,IAAI,4BAAG,KAAKD,KAAL,CAAWJ,aAAd,0DAAG,sBAA0BM,IAA1B,CAA+B,UAAAD,IAAI;QAAA,OAAIA,IAAI,CAACrB,KAAL,KAAe,KAAI,CAACoB,KAAL,CAAWpB,KAA1B,IAAoC,CAACqB,IAAI,CAACrB,KAAN,IAAe,CAAC,KAAI,CAACoB,KAAL,CAAWpB,KAAnE;MAAA,CAAnC,CAAb;MAEA,oBAAO,gCAAC,uBAAD;QAAa,SAAS,EAAE,KAAKK,KAAL,CAAWkB,OAAX,CAAmB1B,SAA3C;QAAsD,OAAO,EAAC;MAA9D,gBACH,gCAAC,sBAAD,QAAa,KAAK2B,OAAL,CAAa,KAAKnB,KAAL,CAAWI,MAAX,CAAkBR,KAA/B,CAAb,CADG,eAEH,gCAAC,kBAAD;QACI,OAAO,EAAC,UADZ;QAEI,KAAK,EAAE,CAAC,CAACgB,KAFb;QAGI,QAAQ,EAAE,CAAC,CAACC,QAHhB;QAII,KAAK,EAAE,KAAKE,KAAL,CAAWpB,KAAX,IAAoB,GAJ/B;QAKI,WAAW,EAAE,qBAAAyB,GAAG;UAAA,OAAI,KAAI,CAACD,OAAL,CAAaH,IAAb,aAAaA,IAAb,uBAAaA,IAAI,CAAEpB,KAAnB,EAA0B,KAAI,CAACI,KAAL,CAAWI,MAAX,CAAkBiB,aAA5C,CAAJ;QAAA,CALpB;QAMI,QAAQ,EAAE,kBAAAC,CAAC,EAAI;UACX,IAAM3B,KAAK,GAAG2B,CAAC,CAACC,MAAF,CAAS5B,KAAT,KAAmB,GAAnB,GAAyB,EAAzB,GAA8B2B,CAAC,CAACC,MAAF,CAAS5B,KAArD;;UACA,KAAI,CAACc,QAAL,CAAc;YAAEd,KAAK,EAALA;UAAF,CAAd,EAAyB,YAAM;YAC3B,KAAI,CAAC6B,QAAL,CAAc,KAAI,CAACxB,KAAL,CAAWE,IAAzB,EAA+BP,KAA/B;;YACA,IAAI,KAAI,CAACK,KAAL,CAAWI,MAAX,CAAkBqB,iBAAtB,EAAyC;cACrC,IAAI9B,KAAJ,EAAW;gBACP,IAAIA,KAAK,KAAKY,gBAAA,CAAKG,WAAL,EAAd,EAAkC;kBAC9B;gBACH;;gBACDH,gBAAA,CAAKmB,WAAL,CAAiB/B,KAAjB;;gBACA,KAAI,CAACK,KAAL,CAAW2B,cAAX,IAA6B,KAAI,CAAC3B,KAAL,CAAW2B,cAAX,EAA7B;cACH,CAND,MAMO;gBACH,KAAI,CAAC3B,KAAL,CAAW4B,MAAX,CAAkBC,eAAlB,GACKC,IADL,CACU,UAAAC,YAAY,EAAI;kBAClB,IAAIA,YAAY,CAACC,MAAb,CAAoBC,QAApB,KAAiC1B,gBAAA,CAAKG,WAAL,EAArC,EAAyD;oBACrD;kBACH;;kBACD,IAAIqB,YAAY,CAACC,MAAb,CAAoBC,QAAxB,EAAkC;oBAC9B1B,gBAAA,CAAKmB,WAAL,CAAiBK,YAAY,CAACC,MAAb,CAAoBC,QAArC;;oBACA,KAAI,CAACjC,KAAL,CAAW2B,cAAX,IAA6B,KAAI,CAAC3B,KAAL,CAAW2B,cAAX,EAA7B;kBACH;gBACJ,CATL;cAUH;YACJ;UACJ,CAtBD;QAuBH;MA/BL,6BAiCK,KAAKZ,KAAL,CAAWJ,aAjChB,2DAiCK,uBAA0BuB,GAA1B,CAA8B,UAAAlB,IAAI;QAAA,oBAC/B,gCAAC,oBAAD;UAAU,GAAG,EAAEA,IAAI,CAACrB,KAApB;UAA2B,KAAK,EAAEqB,IAAI,CAACrB;QAAvC,GAA+CqB,IAAI,CAACpB,KAApD,CAD+B;MAAA,CAAlC,CAjCL,CAFG,EAsCF,KAAKI,KAAL,CAAWI,MAAX,CAAkB+B,IAAlB,gBAAyB,gCAAC,0BAAD,QAAiB,KAAKC,UAAL,CAAgB,KAAKpC,KAAL,CAAWI,MAAX,CAAkB+B,IAAlC,EAAwC,KAAKnC,KAAL,CAAWI,MAAX,CAAkBiC,QAA1D,EAAoE,KAAKrC,KAAL,CAAWI,MAAX,CAAkBiB,aAAtF,CAAjB,CAAzB,GAAmK,IAtCjK,CAAP;IAwCH;;;EA3DwBvB,0B;;AA8D7BD,cAAc,CAACyC,SAAf,GAA2B;EACvBV,MAAM,EAAEW,qBAAA,CAAUC,MAAV,CAAiBC,UADF;EAEvBC,SAAS,EAAEH,qBAAA,CAAUI,MAFE;EAGvBC,SAAS,EAAEL,qBAAA,CAAUI,MAHE;EAIvBE,KAAK,EAAEN,qBAAA,CAAUC,MAJM;EAKvBM,SAAS,EAAEP,qBAAA,CAAUI,MALE;EAMvB1C,IAAI,EAAEsC,qBAAA,CAAUC,MAAV,CAAiBC,UANA;EAOvBrC,MAAM,EAAEmC,qBAAA,CAAUC,MAPK;EAQvBO,OAAO,EAAER,qBAAA,CAAUS,IARI;EASvBxB,QAAQ,EAAEe,qBAAA,CAAUS;AATG,CAA3B;;eAYe,IAAAC,kBAAA,EAAW3D,MAAX,EAAmBO,cAAnB,C"}
@@ -47,7 +47,8 @@ var styles = function styles(theme) {
47
47
  opacity: 0.5
48
48
  },
49
49
  control: {
50
- flexDirection: 'row'
50
+ flexDirection: 'row',
51
+ width: '100%'
51
52
  },
52
53
  textWithArrows: {
53
54
  width: 'calc(100% - 12px)'
@@ -95,7 +96,7 @@ var ConfigNumber = /*#__PURE__*/function (_ConfigGeneric) {
95
96
  value: function renderItem(error, disabled, defaultValue) {
96
97
  var _this = this;
97
98
 
98
- var isIndeterminate = Array.isArray(this.state.value) || this.state.value === _ConfigGeneric2["default"].DIFFERENT_LABEL;
99
+ var isIndeterminate = Array.isArray(this.state.value) || this.state.value === _ConfigGeneric2["default"].DIFFERENT_VALUE;
99
100
 
100
101
  if (isIndeterminate) {
101
102
  var arr = (0, _toConsumableArray2["default"])(this.state.value).map(function (item) {
@@ -105,7 +106,7 @@ var ConfigNumber = /*#__PURE__*/function (_ConfigGeneric) {
105
106
  };
106
107
  });
107
108
  arr.unshift({
108
- label: _ConfigGeneric2["default"].DIFFERENT_LABEL,
109
+ label: _i18n["default"].t(_ConfigGeneric2["default"].DIFFERENT_LABEL),
109
110
  value: _ConfigGeneric2["default"].DIFFERENT_VALUE
110
111
  });
111
112
  return /*#__PURE__*/_react["default"].createElement(_material.Autocomplete, {
@@ -151,7 +152,7 @@ var ConfigNumber = /*#__PURE__*/function (_ConfigGeneric) {
151
152
  type = 'text';
152
153
  }
153
154
 
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
+ var isNumber = this.state._value !== null && this.state._value !== undefined && (typeof this.state._value === 'number' || typeof this.state._value === 'string' && this.state._value.trim() === parseFloat(this.state._value).toString());
155
156
  return /*#__PURE__*/_react["default"].createElement(_material.FormControl, {
156
157
  variant: "standard",
157
158
  className: this.props.classes.control
@@ -1 +1 @@
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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"}
1
+ {"version":3,"file":"ConfigNumber.js","names":["styles","theme","indeterminate","opacity","control","flexDirection","width","textWithArrows","arrows","display","arrowUp","fontSize","userSelect","cursor","arrowDown","ConfigNumber","_value","ConfigGeneric","getValue","props","data","attr","setState","error","disabled","defaultValue","isIndeterminate","Array","isArray","state","value","DIFFERENT_VALUE","arr","map","item","label","toString","unshift","I18n","t","DIFFERENT_LABEL","classes","option","_","onChange","parseFloat","schema","min","params","getText","placeholder","renderHelp","help","helpLink","noTranslation","undefined","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 width: '100%',\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_VALUE;\n\n if (isIndeterminate) {\n const arr = [...this.state.value].map(item => ({label: item.toString(), value: item}));\n arr.unshift({label: I18n.t(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' ||\n (typeof this.state._value === 'string' &&\n this.state._value.trim() === parseFloat(this.state._value).toString())\n );\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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"}
@@ -154,7 +154,7 @@ var ConfigObjectId = /*#__PURE__*/function (_ConfigGeneric) {
154
154
  });
155
155
  }
156
156
  }, "...")), showSelectId ? /*#__PURE__*/_react["default"].createElement(_SelectID["default"], {
157
- imagePrefix: "../..",
157
+ imagePrefix: this.props.imagePrefix === undefined ? '../..' : this.props.imagePrefix,
158
158
  dateFormat: this.props.dateFormat,
159
159
  isFloatComma: this.props.isFloatComma,
160
160
  dialogName: 'admin.' + this.props.adapterName,
@@ -192,7 +192,8 @@ ConfigObjectId.propTypes = {
192
192
  onError: _propTypes["default"].func,
193
193
  onChange: _propTypes["default"].func,
194
194
  dateFormat: _propTypes["default"].string,
195
- isFloatComma: _propTypes["default"].bool
195
+ isFloatComma: _propTypes["default"].bool,
196
+ imagePrefix: _propTypes["default"].string
196
197
  };
197
198
 
198
199
  var _default = (0, _styles.withStyles)(styles)(ConfigObjectId);
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigObjectId.js","names":["styles","theme","fullWidth","width","flex","display","button","height","marginLeft","minWidth","ConfigObjectId","props","data","attr","value","ConfigGeneric","getValue","setState","initialized","error","disabled","defaultValue","state","classes","schema","socket","showSelectId","getText","label","placeholder","renderHelp","help","helpLink","noTranslation","e","target","onChange","dateFormat","isFloatComma","adapterName","themeType","all","undefined","propTypes","PropTypes","object","isRequired","string","themeName","style","className","onError","func","bool","withStyles"],"sources":["JsonConfigComponent/ConfigObjectId.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport FormControl from '@mui/material/FormControl';\nimport { Button, TextField } from '@mui/material';\n\nimport DialogSelectID from '../../Dialogs/SelectID';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n },\n flex: {\n display: 'flex'\n },\n button: {\n height: 48,\n marginLeft: 4,\n minWidth: 48,\n }\n});\n\nclass ConfigObjectId extends ConfigGeneric {\n async componentDidMount() {\n super.componentDidMount();\n const { data, attr } = this.props;\n const value = ConfigGeneric.getValue(data, attr) || '';\n this.setState({ value, initialized: true});\n }\n\n renderItem(error, disabled, defaultValue) {\n if (!this.state.initialized) {\n return null;\n }\n const { classes, schema, socket, attr } = this.props;\n const { value, showSelectId } = this.state;\n\n return <FormControl className={classes.fullWidth} variant=\"standard\">\n <InputLabel shrink>{this.getText(schema.label)}</InputLabel>\n <div className={classes.flex}>\n <TextField\n variant=\"standard\"\n fullWidth\n value={value}\n error={!!error}\n disabled={disabled}\n placeholder={this.getText(schema.placeholder)}\n label={this.getText(schema.label)}\n helperText={this.renderHelp(schema.help, schema.helpLink, schema.noTranslation)}\n onChange={e => {\n const value = e.target.value;\n this.setState({ value }, () =>\n this.onChange(attr, value))\n }}\n />\n <Button\n color=\"grey\"\n className={this.props.classes.button}\n size=\"small\"\n variant=\"outlined\"\n onClick={() => this.setState({ showSelectId: true })}\n >...</Button>\n </div>\n {showSelectId ? <DialogSelectID\n imagePrefix=\"../..\"\n dateFormat={this.props.dateFormat}\n isFloatComma={this.props.isFloatComma}\n dialogName={'admin.' + this.props.adapterName}\n themeType={this.props.themeType}\n socket={socket}\n statesOnly={schema.all === undefined ? true : schema.all}\n selected={value}\n onClose={() => this.setState({ showSelectId: false })}\n onOk={value =>\n this.setState({ showSelectId: false, value }, () =>\n this.onChange(attr, value))}\n /> : null}\n </FormControl>;\n }\n}\n\nConfigObjectId.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 dateFormat: PropTypes.string,\n isFloatComma: PropTypes.bool,\n};\n\nexport default withStyles(styles)(ConfigObjectId);"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AAEA;;AAEA;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;EAAA,OAAK;IACrBC,SAAS,EAAE;MACPC,KAAK,EAAE;IADA,CADU;IAIrBC,IAAI,EAAE;MACFC,OAAO,EAAE;IADP,CAJe;IAOrBC,MAAM,EAAE;MACJC,MAAM,EAAE,EADJ;MAEJC,UAAU,EAAE,CAFR;MAGJC,QAAQ,EAAE;IAHN;EAPa,CAAL;AAAA,CAApB;;IAcMC,c;;;;;;;;;;;;;6GACF;QAAA;;QAAA;UAAA;YAAA;cAAA;gBACI;gBADJ,cAE2B,KAAKC,KAFhC,EAEYC,IAFZ,eAEYA,IAFZ,EAEkBC,IAFlB,eAEkBA,IAFlB;gBAGUC,KAHV,GAGkBC,0BAAA,CAAcC,QAAd,CAAuBJ,IAAvB,EAA6BC,IAA7B,KAAsC,EAHxD;gBAII,KAAKI,QAAL,CAAc;kBAAEH,KAAK,EAALA,KAAF;kBAASI,WAAW,EAAE;gBAAtB,CAAd;;cAJJ;cAAA;gBAAA;YAAA;UAAA;QAAA;MAAA,C;;;;;;;;;;WAOA,oBAAWC,KAAX,EAAkBC,QAAlB,EAA4BC,YAA5B,EAA0C;MAAA;;MACtC,IAAI,CAAC,KAAKC,KAAL,CAAWJ,WAAhB,EAA6B;QACzB,OAAO,IAAP;MACH;;MACD,mBAA0C,KAAKP,KAA/C;MAAA,IAAQY,OAAR,gBAAQA,OAAR;MAAA,IAAiBC,MAAjB,gBAAiBA,MAAjB;MAAA,IAAyBC,MAAzB,gBAAyBA,MAAzB;MAAA,IAAiCZ,IAAjC,gBAAiCA,IAAjC;MACA,kBAAgC,KAAKS,KAArC;MAAA,IAAQR,KAAR,eAAQA,KAAR;MAAA,IAAeY,YAAf,eAAeA,YAAf;MAEA,oBAAO,gCAAC,uBAAD;QAAa,SAAS,EAAEH,OAAO,CAACrB,SAAhC;QAA2C,OAAO,EAAC;MAAnD,gBACH,gCAAC,sBAAD;QAAY,MAAM;MAAlB,GAAoB,KAAKyB,OAAL,CAAaH,MAAM,CAACI,KAApB,CAApB,CADG,eAEH;QAAK,SAAS,EAAEL,OAAO,CAACnB;MAAxB,gBACI,gCAAC,mBAAD;QACI,OAAO,EAAC,UADZ;QAEI,SAAS,MAFb;QAGI,KAAK,EAAEU,KAHX;QAII,KAAK,EAAE,CAAC,CAACK,KAJb;QAKI,QAAQ,EAAEC,QALd;QAMI,WAAW,EAAE,KAAKO,OAAL,CAAaH,MAAM,CAACK,WAApB,CANjB;QAOI,KAAK,EAAE,KAAKF,OAAL,CAAaH,MAAM,CAACI,KAApB,CAPX;QAQI,UAAU,EAAE,KAAKE,UAAL,CAAgBN,MAAM,CAACO,IAAvB,EAA6BP,MAAM,CAACQ,QAApC,EAA8CR,MAAM,CAACS,aAArD,CARhB;QASI,QAAQ,EAAE,kBAAAC,CAAC,EAAI;UACX,IAAMpB,KAAK,GAAGoB,CAAC,CAACC,MAAF,CAASrB,KAAvB;;UACA,KAAI,CAACG,QAAL,CAAc;YAAEH,KAAK,EAALA;UAAF,CAAd,EAAyB;YAAA,OACrB,KAAI,CAACsB,QAAL,CAAcvB,IAAd,EAAoBC,KAApB,CADqB;UAAA,CAAzB;QAEH;MAbL,EADJ,eAgBI,gCAAC,gBAAD;QACI,KAAK,EAAC,MADV;QAEI,SAAS,EAAE,KAAKH,KAAL,CAAWY,OAAX,CAAmBjB,MAFlC;QAGI,IAAI,EAAC,OAHT;QAII,OAAO,EAAC,UAJZ;QAKI,OAAO,EAAE;UAAA,OAAM,KAAI,CAACW,QAAL,CAAc;YAAES,YAAY,EAAE;UAAhB,CAAd,CAAN;QAAA;MALb,SAhBJ,CAFG,EA0BFA,YAAY,gBAAG,gCAAC,oBAAD;QACZ,WAAW,EAAC,OADA;QAEZ,UAAU,EAAE,KAAKf,KAAL,CAAW0B,UAFX;QAGZ,YAAY,EAAE,KAAK1B,KAAL,CAAW2B,YAHb;QAIZ,UAAU,EAAE,WAAW,KAAK3B,KAAL,CAAW4B,WAJtB;QAKZ,SAAS,EAAE,KAAK5B,KAAL,CAAW6B,SALV;QAMZ,MAAM,EAAEf,MANI;QAOZ,UAAU,EAAED,MAAM,CAACiB,GAAP,KAAeC,SAAf,GAA2B,IAA3B,GAAkClB,MAAM,CAACiB,GAPzC;QAQZ,QAAQ,EAAE3B,KARE;QASZ,OAAO,EAAE;UAAA,OAAM,KAAI,CAACG,QAAL,CAAc;YAAES,YAAY,EAAE;UAAhB,CAAd,CAAN;QAAA,CATG;QAUZ,IAAI,EAAE,cAAAZ,KAAK;UAAA,OACP,KAAI,CAACG,QAAL,CAAc;YAAES,YAAY,EAAE,KAAhB;YAAuBZ,KAAK,EAALA;UAAvB,CAAd,EAA8C;YAAA,OAC1C,KAAI,CAACsB,QAAL,CAAcvB,IAAd,EAAoBC,KAApB,CAD0C;UAAA,CAA9C,CADO;QAAA;MAVC,EAAH,GAaR,IAvCF,CAAP;IAyCH;;;EAxDwBC,0B;;AA2D7BL,cAAc,CAACiC,SAAf,GAA2B;EACvBlB,MAAM,EAAEmB,qBAAA,CAAUC,MAAV,CAAiBC,UADF;EAEvBN,SAAS,EAAEI,qBAAA,CAAUG,MAFE;EAGvBC,SAAS,EAAEJ,qBAAA,CAAUG,MAHE;EAIvBE,KAAK,EAAEL,qBAAA,CAAUC,MAJM;EAKvBK,SAAS,EAAEN,qBAAA,CAAUG,MALE;EAMvBnC,IAAI,EAAEgC,qBAAA,CAAUC,MAAV,CAAiBC,UANA;EAOvBtB,MAAM,EAAEoB,qBAAA,CAAUC,MAPK;EAQvBM,OAAO,EAAEP,qBAAA,CAAUQ,IARI;EASvBhB,QAAQ,EAAEQ,qBAAA,CAAUQ,IATG;EAUvBf,UAAU,EAAEO,qBAAA,CAAUG,MAVC;EAWvBT,YAAY,EAAEM,qBAAA,CAAUS;AAXD,CAA3B;;eAce,IAAAC,kBAAA,EAAWtD,MAAX,EAAmBU,cAAnB,C"}
1
+ {"version":3,"file":"ConfigObjectId.js","names":["styles","theme","fullWidth","width","flex","display","button","height","marginLeft","minWidth","ConfigObjectId","props","data","attr","value","ConfigGeneric","getValue","setState","initialized","error","disabled","defaultValue","state","classes","schema","socket","showSelectId","getText","label","placeholder","renderHelp","help","helpLink","noTranslation","e","target","onChange","imagePrefix","undefined","dateFormat","isFloatComma","adapterName","themeType","all","propTypes","PropTypes","object","isRequired","string","themeName","style","className","onError","func","bool","withStyles"],"sources":["JsonConfigComponent/ConfigObjectId.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@mui/styles';\n\nimport InputLabel from '@mui/material/InputLabel';\nimport FormControl from '@mui/material/FormControl';\nimport { Button, TextField } from '@mui/material';\n\nimport DialogSelectID from '../../Dialogs/SelectID';\n\nimport ConfigGeneric from './ConfigGeneric';\n\nconst styles = theme => ({\n fullWidth: {\n width: '100%'\n },\n flex: {\n display: 'flex'\n },\n button: {\n height: 48,\n marginLeft: 4,\n minWidth: 48,\n }\n});\n\nclass ConfigObjectId extends ConfigGeneric {\n async componentDidMount() {\n super.componentDidMount();\n const { data, attr } = this.props;\n const value = ConfigGeneric.getValue(data, attr) || '';\n this.setState({ value, initialized: true});\n }\n\n renderItem(error, disabled, defaultValue) {\n if (!this.state.initialized) {\n return null;\n }\n const { classes, schema, socket, attr } = this.props;\n const { value, showSelectId } = this.state;\n\n return <FormControl className={classes.fullWidth} variant=\"standard\">\n <InputLabel shrink>{this.getText(schema.label)}</InputLabel>\n <div className={classes.flex}>\n <TextField\n variant=\"standard\"\n fullWidth\n value={value}\n error={!!error}\n disabled={disabled}\n placeholder={this.getText(schema.placeholder)}\n label={this.getText(schema.label)}\n helperText={this.renderHelp(schema.help, schema.helpLink, schema.noTranslation)}\n onChange={e => {\n const value = e.target.value;\n this.setState({ value }, () =>\n this.onChange(attr, value))\n }}\n />\n <Button\n color=\"grey\"\n className={this.props.classes.button}\n size=\"small\"\n variant=\"outlined\"\n onClick={() => this.setState({ showSelectId: true })}\n >...</Button>\n </div>\n {showSelectId ? <DialogSelectID\n imagePrefix={this.props.imagePrefix === undefined ? '../..' : this.props.imagePrefix}\n dateFormat={this.props.dateFormat}\n isFloatComma={this.props.isFloatComma}\n dialogName={'admin.' + this.props.adapterName}\n themeType={this.props.themeType}\n socket={socket}\n statesOnly={schema.all === undefined ? true : schema.all}\n selected={value}\n onClose={() => this.setState({ showSelectId: false })}\n onOk={value =>\n this.setState({ showSelectId: false, value }, () =>\n this.onChange(attr, value))}\n /> : null}\n </FormControl>;\n }\n}\n\nConfigObjectId.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 dateFormat: PropTypes.string,\n isFloatComma: PropTypes.bool,\n imagePrefix: PropTypes.string,\n};\n\nexport default withStyles(styles)(ConfigObjectId);"],"mappings":"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"}