@gridsuite/commons-ui 0.32.0 → 0.32.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.
@@ -112,19 +112,26 @@ var FlatParameters = function FlatParameters(_ref) {
112
112
  var _useState2 = (0, _react.useState)(null),
113
113
  inEditionParam = _useState2[0],
114
114
  setInEditionParam = _useState2[1];
115
- var preparePossibleValues = (0, _react.useCallback)(function (values) {
115
+ var getTranslatedValue = (0, _react.useCallback)(function (prefix, value) {
116
+ return intl.formatMessage({
117
+ id: prefix + '.' + value,
118
+ defaultMessage: value
119
+ });
120
+ }, [intl]);
121
+ var sortPossibleValues = (0, _react.useCallback)(function (prefix, values) {
116
122
  if (values == null) {
117
123
  return [];
118
124
  }
119
- return values.map(function (v) {
120
- return intl.formatMessage({
121
- id: v,
122
- defaultMessage: v
123
- });
125
+ // Sort by translated values
126
+ return values.map(function (value) {
127
+ return {
128
+ id: value,
129
+ message: getTranslatedValue(prefix, value)
130
+ };
124
131
  }).sort(function (a, b) {
125
- return a.localeCompare(b);
132
+ return a.message.localeCompare(b.message);
126
133
  });
127
- }, [intl]);
134
+ }, [getTranslatedValue]);
128
135
  var onFieldChange = (0, _react.useCallback)(function (value, param) {
129
136
  var paramName = param.name;
130
137
  var isInEdition = inEditionParam === paramName;
@@ -167,17 +174,17 @@ var FlatParameters = function FlatParameters(_ref) {
167
174
  }
168
175
  }
169
176
  var renderField = function renderField(param) {
170
- var value = mixInitAndDefault(param);
177
+ var fieldValue = mixInitAndDefault(param);
171
178
  switch (param.type) {
172
179
  case 'BOOLEAN':
173
180
  return /*#__PURE__*/_react["default"].createElement(_material.Switch, {
174
- checked: !!value,
181
+ checked: !!fieldValue,
175
182
  onChange: function onChange(e) {
176
183
  return onFieldChange(e.target.checked, param);
177
184
  }
178
185
  });
179
186
  case 'DOUBLE':
180
- var err = isNaN(value) || typeof value !== 'number' && !!value && isNaN(value - 0);
187
+ var err = isNaN(fieldValue) || typeof fieldValue !== 'number' && !!fieldValue && isNaN(fieldValue - 0);
181
188
  return /*#__PURE__*/_react["default"].createElement(_material.TextField, {
182
189
  fullWidth: true,
183
190
  sx: {
@@ -185,7 +192,7 @@ var FlatParameters = function FlatParameters(_ref) {
185
192
  textAlign: 'right'
186
193
  }
187
194
  },
188
- value: value,
195
+ value: fieldValue,
189
196
  onFocus: function onFocus() {
190
197
  return onUncommited(param, true);
191
198
  },
@@ -209,7 +216,7 @@ var FlatParameters = function FlatParameters(_ref) {
209
216
  textAlign: 'right'
210
217
  }
211
218
  },
212
- value: value,
219
+ value: fieldValue,
213
220
  onFocus: function onFocus() {
214
221
  return onUncommited(param, true);
215
222
  },
@@ -229,22 +236,27 @@ var FlatParameters = function FlatParameters(_ref) {
229
236
  return /*#__PURE__*/_react["default"].createElement(_material.Autocomplete, {
230
237
  fullWidth: true,
231
238
  multiple: true,
232
- options: preparePossibleValues(param.possibleValues),
239
+ options: sortPossibleValues(param.name, param.possibleValues).map(function (v) {
240
+ return v.id;
241
+ }),
242
+ getOptionLabel: function getOptionLabel(option) {
243
+ return getTranslatedValue(param.name, option);
244
+ },
233
245
  onChange: function onChange(e, value) {
234
246
  return onFieldChange(value, param);
235
247
  },
236
- value: value,
237
- renderTags: function renderTags(value, getTagProps) {
238
- return value.map(function (option, index) {
248
+ value: fieldValue,
249
+ renderTags: function renderTags(values, getTagProps) {
250
+ return values.map(function (value, index) {
239
251
  return /*#__PURE__*/_react["default"].createElement(_material.Chip, _extends({
240
- label: option
252
+ label: getTranslatedValue(param.name, value)
241
253
  }, getTagProps({
242
254
  index: index
243
255
  })));
244
256
  });
245
257
  },
246
- renderInput: function renderInput(options) {
247
- return /*#__PURE__*/_react["default"].createElement(_material.TextField, _extends({}, options, {
258
+ renderInput: function renderInput(inputProps) {
259
+ return /*#__PURE__*/_react["default"].createElement(_material.TextField, _extends({}, inputProps, {
248
260
  variant: variant
249
261
  }));
250
262
  }
@@ -255,7 +267,7 @@ var FlatParameters = function FlatParameters(_ref) {
255
267
  if (param.possibleValues) {
256
268
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_material.Select, {
257
269
  labelId: param.name,
258
- value: value !== null && value !== void 0 ? value : '',
270
+ value: fieldValue !== null && fieldValue !== void 0 ? fieldValue : '',
259
271
  onChange: function onChange(ev, may) {
260
272
  onFieldChange(ev.target.value, param);
261
273
  },
@@ -264,21 +276,18 @@ var FlatParameters = function FlatParameters(_ref) {
264
276
  minWidth: '4em'
265
277
  },
266
278
  variant: variant
267
- }, param.possibleValues.map(function (value) {
279
+ }, sortPossibleValues(param.name, param.possibleValues).map(function (value) {
268
280
  return /*#__PURE__*/_react["default"].createElement(_material.MenuItem, {
269
- key: value,
270
- value: value
271
- }, /*#__PURE__*/_react["default"].createElement(_material.Typography, null, intl.formatMessage({
272
- id: value,
273
- defaultMessage: value
274
- })));
281
+ key: value.id,
282
+ value: value.id
283
+ }, /*#__PURE__*/_react["default"].createElement(_material.Typography, null, value.message));
275
284
  })));
276
285
  }
277
286
  // else fallthrough to default
278
287
  default:
279
288
  return /*#__PURE__*/_react["default"].createElement(_material.TextField, {
280
289
  fullWidth: true,
281
- defaultValue: value,
290
+ defaultValue: fieldValue,
282
291
  onFocus: function onFocus() {
283
292
  return onUncommited(param, true);
284
293
  },
@@ -296,7 +305,10 @@ var FlatParameters = function FlatParameters(_ref) {
296
305
  className: classes.paramList
297
306
  }, paramsAsArray.map(function (param) {
298
307
  return /*#__PURE__*/_react["default"].createElement(_material.Tooltip, {
299
- title: param.description,
308
+ title: /*#__PURE__*/_react["default"].createElement(_reactIntl.FormattedMessage, {
309
+ id: param.name + '.desc',
310
+ defaultMessage: param.description
311
+ }),
300
312
  enterDelay: 1200,
301
313
  key: param.name
302
314
  }, /*#__PURE__*/_react["default"].createElement(_material.ListItem, {
@@ -304,7 +316,10 @@ var FlatParameters = function FlatParameters(_ref) {
304
316
  className: classes.paramListItem
305
317
  }, /*#__PURE__*/_react["default"].createElement(_material.Typography, {
306
318
  className: classes.paramName
307
- }, param.name.slice(prefix.length)), renderField(param)));
319
+ }, /*#__PURE__*/_react["default"].createElement(_reactIntl.FormattedMessage, {
320
+ id: param.name,
321
+ defaultMessage: param.name.slice(prefix.length)
322
+ })), renderField(param)));
308
323
  }));
309
324
  };
310
325
  exports.FlatParameters = FlatParameters;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gridsuite/commons-ui",
3
- "version": "0.32.0",
3
+ "version": "0.32.1",
4
4
  "description": "common react components for gridsuite applications",
5
5
  "engines": {
6
6
  "npm": "<=6",