@gridsuite/commons-ui 0.32.1 → 0.32.2

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.
@@ -69,14 +69,14 @@ function extractDefault(paramDescription) {
69
69
  }
70
70
  return d !== null && d !== void 0 ? d : null;
71
71
  }
72
- function longestCommonPrefix(strs) {
73
- if (!(strs === null || strs === void 0 ? void 0 : strs.length)) {
72
+ function longestCommonPrefix(stringList) {
73
+ if (!(stringList === null || stringList === void 0 ? void 0 : stringList.length)) {
74
74
  return '';
75
75
  }
76
- var prefix = strs.reduce(function (acc, str) {
76
+ var prefix = stringList.reduce(function (acc, str) {
77
77
  return str.length < acc.length ? str : acc;
78
78
  });
79
- for (var _iterator = _createForOfIteratorHelperLoose(strs), _step; !(_step = _iterator()).done;) {
79
+ for (var _iterator = _createForOfIteratorHelperLoose(stringList), _step; !(_step = _iterator()).done;) {
80
80
  var str = _step.value;
81
81
  while (str.slice(0, prefix.length) !== prefix) {
82
82
  prefix = prefix.slice(0, -1);
@@ -139,14 +139,14 @@ var FlatParameters = function FlatParameters(_ref) {
139
139
  setUncommitted(value);
140
140
  }
141
141
  if (onChange) {
142
- if (Array.isArray(value)) {
143
- onChange(paramName, [].concat(value), isInEdition);
142
+ if (param.type === 'STRING_LIST') {
143
+ onChange(paramName, value ? value.toString() : null, isInEdition);
144
144
  } else {
145
145
  onChange(paramName, value, isInEdition);
146
146
  }
147
147
  }
148
148
  }, [inEditionParam, onChange]);
149
- var onUncommited = (0, _react.useCallback)(function (param, inEdit) {
149
+ var onUncommitted = (0, _react.useCallback)(function (param, inEdit) {
150
150
  if (inEdit) {
151
151
  setInEditionParam(param.name);
152
152
  } else {
@@ -168,11 +168,26 @@ var FlatParameters = function FlatParameters(_ref) {
168
168
  if (param.name === inEditionParam && uncommitted !== null) {
169
169
  return uncommitted;
170
170
  } else if (initValues && initValues.hasOwnProperty(param.name)) {
171
- return initValues[param.name];
171
+ if (param.type !== 'STRING_LIST') {
172
+ return initValues[param.name];
173
+ }
174
+ var valueList = initValues[param.name];
175
+ if (Array.isArray(valueList)) {
176
+ return valueList;
177
+ }
178
+ // otherwise split string into array
179
+ return valueList ? valueList.split(',').map(function (s) {
180
+ return s.trim();
181
+ }).filter(function (s) {
182
+ return !!s;
183
+ }) : [];
172
184
  } else {
173
185
  return extractDefault(param);
174
186
  }
175
187
  }
188
+ var outputTransformFloatString = function outputTransformFloatString(value) {
189
+ return (value === null || value === void 0 ? void 0 : value.replace(',', '.')) || '';
190
+ };
176
191
  var renderField = function renderField(param) {
177
192
  var fieldValue = mixInitAndDefault(param);
178
193
  switch (param.type) {
@@ -194,15 +209,15 @@ var FlatParameters = function FlatParameters(_ref) {
194
209
  },
195
210
  value: fieldValue,
196
211
  onFocus: function onFocus() {
197
- return onUncommited(param, true);
212
+ return onUncommitted(param, true);
198
213
  },
199
214
  onBlur: function onBlur() {
200
- return onUncommited(param, false);
215
+ return onUncommitted(param, false);
201
216
  },
202
217
  onChange: function onChange(e) {
203
218
  var m = FloatRE.exec(e.target.value);
204
219
  if (m) {
205
- onFieldChange(e.target.value, param);
220
+ onFieldChange(outputTransformFloatString(e.target.value), param);
206
221
  }
207
222
  },
208
223
  error: err,
@@ -218,10 +233,10 @@ var FlatParameters = function FlatParameters(_ref) {
218
233
  },
219
234
  value: fieldValue,
220
235
  onFocus: function onFocus() {
221
- return onUncommited(param, true);
236
+ return onUncommitted(param, true);
222
237
  },
223
238
  onBlur: function onBlur() {
224
- return onUncommited(param, false);
239
+ return onUncommitted(param, false);
225
240
  },
226
241
  onChange: function onChange(e) {
227
242
  var m = IntegerRE.exec(e.target.value);
@@ -261,14 +276,42 @@ var FlatParameters = function FlatParameters(_ref) {
261
276
  }));
262
277
  }
263
278
  });
279
+ } else {
280
+ // no possible values => free user inputs
281
+ return /*#__PURE__*/_react["default"].createElement(_material.Autocomplete, {
282
+ fullWidth: true,
283
+ multiple: true,
284
+ freeSolo: true,
285
+ autoSelect: true,
286
+ options: [],
287
+ onChange: function onChange(e, value) {
288
+ return onFieldChange(value, param);
289
+ },
290
+ value: fieldValue,
291
+ renderTags: function renderTags(values, getTagProps) {
292
+ return values.map(function (value, index) {
293
+ return /*#__PURE__*/_react["default"].createElement(_material.Chip, _extends({
294
+ id: 'chip_' + value,
295
+ size: 'small',
296
+ label: value
297
+ }, getTagProps({
298
+ index: index
299
+ })));
300
+ });
301
+ },
302
+ renderInput: function renderInput(inputProps) {
303
+ return /*#__PURE__*/_react["default"].createElement(_material.TextField, _extends({}, inputProps, {
304
+ variant: variant
305
+ }));
306
+ }
307
+ });
264
308
  }
265
- // else fallthrough to default
266
309
  case 'STRING':
267
310
  if (param.possibleValues) {
268
311
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_material.Select, {
269
312
  labelId: param.name,
270
313
  value: fieldValue !== null && fieldValue !== void 0 ? fieldValue : '',
271
- onChange: function onChange(ev, may) {
314
+ onChange: function onChange(ev) {
272
315
  onFieldChange(ev.target.value, param);
273
316
  },
274
317
  size: "small",
@@ -287,12 +330,12 @@ var FlatParameters = function FlatParameters(_ref) {
287
330
  default:
288
331
  return /*#__PURE__*/_react["default"].createElement(_material.TextField, {
289
332
  fullWidth: true,
290
- defaultValue: fieldValue,
333
+ value: fieldValue || '',
291
334
  onFocus: function onFocus() {
292
- return onUncommited(param, true);
335
+ return onUncommitted(param, true);
293
336
  },
294
337
  onBlur: function onBlur() {
295
- return onUncommited(param, false);
338
+ return onUncommitted(param, false);
296
339
  },
297
340
  onChange: function onChange(e) {
298
341
  return onFieldChange(e.target.value, param);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gridsuite/commons-ui",
3
- "version": "0.32.1",
3
+ "version": "0.32.2",
4
4
  "description": "common react components for gridsuite applications",
5
5
  "engines": {
6
6
  "npm": "<=6",