@panneau/field-resource-item 2.0.69 → 2.0.70

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/es/index.js CHANGED
@@ -26,6 +26,7 @@ var propTypes = {
26
26
  // eslint-disable-line react/forbid-prop-types
27
27
  errors: PropTypes$1.formErrors,
28
28
  resource: PropTypes.string,
29
+ resourceType: PropTypes.string,
29
30
  query: PropTypes.object,
30
31
  // eslint-disable-line react/forbid-prop-types
31
32
  page: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
@@ -56,6 +57,7 @@ var defaultProps = {
56
57
  value: null,
57
58
  errors: null,
58
59
  resource: null,
60
+ resourceType: null,
59
61
  query: null,
60
62
  page: null,
61
63
  count: null,
@@ -83,6 +85,7 @@ var ResourceItemField = function ResourceItemField(_ref) {
83
85
  value = _ref.value,
84
86
  errors = _ref.errors,
85
87
  resourceId = _ref.resource,
88
+ resourceType = _ref.resourceType,
86
89
  initialQuery = _ref.query,
87
90
  initialPage = _ref.page,
88
91
  initialCount = _ref.count,
@@ -228,13 +231,16 @@ var ResourceItemField = function ResourceItemField(_ref) {
228
231
  }, [setCreateOpen]);
229
232
  var onCreateSuccess = useCallback(function (newValue) {
230
233
  if (onChange === null) return;
234
+ var finalNewValue = resourceType !== null ? _objectSpread({
235
+ type: resourceType
236
+ }, newValue) : newValue;
231
237
  if (multiple) {
232
- onChange(value !== null && isArray(value) ? [].concat(_toConsumableArray(value), [newValue]) : [newValue]);
238
+ onChange(value !== null && isArray(value) ? [].concat(_toConsumableArray(value), [finalNewValue]) : [finalNewValue]);
233
239
  } else {
234
- onChange(newValue);
240
+ onChange(finalNewValue);
235
241
  }
236
242
  setCreateOpen(false);
237
- }, [onChange, multiple, value, setCreateOpen]);
243
+ }, [onChange, multiple, value, setCreateOpen, resourceType]);
238
244
  var onClickRemove = useCallback(function () {
239
245
  if (onChange !== null) {
240
246
  onChange(null);
@@ -284,6 +290,7 @@ var ResourceItemField = function ResourceItemField(_ref) {
284
290
  outline: true
285
291
  })) : null, createOpen ? createInPlace ? /*#__PURE__*/React.createElement(ResourceForm, {
286
292
  resource: resource,
293
+ type: resourceType,
287
294
  onSuccess: onCreateSuccess
288
295
  }) : /*#__PURE__*/React.createElement(Dialog, {
289
296
  title: /*#__PURE__*/React.createElement(FormattedMessage, {
@@ -301,6 +308,7 @@ var ResourceItemField = function ResourceItemField(_ref) {
301
308
  onClickClose: onCloseCreate
302
309
  }, /*#__PURE__*/React.createElement(ResourceForm, {
303
310
  resource: resource,
311
+ type: resourceType,
304
312
  onSuccess: onCreateSuccess
305
313
  })) : null));
306
314
  };
package/lib/index.js CHANGED
@@ -48,6 +48,7 @@ var propTypes = {
48
48
  // eslint-disable-line react/forbid-prop-types
49
49
  errors: core.PropTypes.formErrors,
50
50
  resource: PropTypes__default["default"].string,
51
+ resourceType: PropTypes__default["default"].string,
51
52
  query: PropTypes__default["default"].object,
52
53
  // eslint-disable-line react/forbid-prop-types
53
54
  page: PropTypes__default["default"].oneOfType([PropTypes__default["default"].number, PropTypes__default["default"].string]),
@@ -78,6 +79,7 @@ var defaultProps = {
78
79
  value: null,
79
80
  errors: null,
80
81
  resource: null,
82
+ resourceType: null,
81
83
  query: null,
82
84
  page: null,
83
85
  count: null,
@@ -105,6 +107,7 @@ var ResourceItemField = function ResourceItemField(_ref) {
105
107
  value = _ref.value,
106
108
  errors = _ref.errors,
107
109
  resourceId = _ref.resource,
110
+ resourceType = _ref.resourceType,
108
111
  initialQuery = _ref.query,
109
112
  initialPage = _ref.page,
110
113
  initialCount = _ref.count,
@@ -250,13 +253,16 @@ var ResourceItemField = function ResourceItemField(_ref) {
250
253
  }, [setCreateOpen]);
251
254
  var onCreateSuccess = React.useCallback(function (newValue) {
252
255
  if (onChange === null) return;
256
+ var finalNewValue = resourceType !== null ? _objectSpread__default["default"]({
257
+ type: resourceType
258
+ }, newValue) : newValue;
253
259
  if (multiple) {
254
- onChange(value !== null && isArray__default["default"](value) ? [].concat(_toConsumableArray__default["default"](value), [newValue]) : [newValue]);
260
+ onChange(value !== null && isArray__default["default"](value) ? [].concat(_toConsumableArray__default["default"](value), [finalNewValue]) : [finalNewValue]);
255
261
  } else {
256
- onChange(newValue);
262
+ onChange(finalNewValue);
257
263
  }
258
264
  setCreateOpen(false);
259
- }, [onChange, multiple, value, setCreateOpen]);
265
+ }, [onChange, multiple, value, setCreateOpen, resourceType]);
260
266
  var onClickRemove = React.useCallback(function () {
261
267
  if (onChange !== null) {
262
268
  onChange(null);
@@ -306,6 +312,7 @@ var ResourceItemField = function ResourceItemField(_ref) {
306
312
  outline: true
307
313
  })) : null, createOpen ? createInPlace ? /*#__PURE__*/React__default["default"].createElement(ResourceForm__default["default"], {
308
314
  resource: resource,
315
+ type: resourceType,
309
316
  onSuccess: onCreateSuccess
310
317
  }) : /*#__PURE__*/React__default["default"].createElement(Dialog__default["default"], {
311
318
  title: /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
@@ -323,6 +330,7 @@ var ResourceItemField = function ResourceItemField(_ref) {
323
330
  onClickClose: onCloseCreate
324
331
  }, /*#__PURE__*/React__default["default"].createElement(ResourceForm__default["default"], {
325
332
  resource: resource,
333
+ type: resourceType,
326
334
  onSuccess: onCreateSuccess
327
335
  })) : null));
328
336
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@panneau/field-resource-item",
3
- "version": "2.0.69",
3
+ "version": "2.0.70",
4
4
  "description": "An item mapping a resource",
5
5
  "keywords": [
6
6
  "javascript"
@@ -61,5 +61,5 @@
61
61
  "publishConfig": {
62
62
  "access": "public"
63
63
  },
64
- "gitHead": "270c1e84966861e94a390d20ee525c33f7edadb0"
64
+ "gitHead": "b1beeddf56fb38bd45e5c7a397a35e64d95710a2"
65
65
  }