@panneau/field-resource-item 3.0.171 → 3.0.173

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 (3) hide show
  1. package/es/index.js +43 -48
  2. package/lib/index.js +43 -48
  3. package/package.json +8 -8
package/es/index.js CHANGED
@@ -5,6 +5,7 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
5
5
  import classNames from 'classnames';
6
6
  import isArray from 'lodash/isArray';
7
7
  import isEmpty from 'lodash/isEmpty';
8
+ import uniqBy from 'lodash/uniqBy';
8
9
  import PropTypes from 'prop-types';
9
10
  import React, { useMemo, useState, useCallback, useEffect } from 'react';
10
11
  import { useIntl, FormattedMessage } from 'react-intl';
@@ -130,7 +131,7 @@ var ResourceItemField = function ResourceItemField(_ref) {
130
131
  return initialPage || (paginated ? 1 : null);
131
132
  }, [initialPage, paginated]);
132
133
  var defaultCount = useMemo(function () {
133
- return initialCount || (paginated ? 10 : null);
134
+ return initialCount || (paginated ? 8 : null);
134
135
  }, [initialCount, paginated]);
135
136
  var hasValue = value !== null && !isEmpty(value);
136
137
 
@@ -194,24 +195,22 @@ var ResourceItemField = function ResourceItemField(_ref) {
194
195
  paginated: paginated
195
196
  });
196
197
  }, [queryTextValue, paginated]);
197
- var resourceItems = useResourceItems(queryResource, finalQuery, paginated ? page : null, paginated ? count : null, resourceOptions);
198
- var _ref3 = resourceItems || {},
199
- _ref3$allItems = _ref3.allItems,
200
- partialItems = _ref3$allItems === void 0 ? null : _ref3$allItems,
201
- _ref3$reload = _ref3.reload,
202
- reload = _ref3$reload === void 0 ? null : _ref3$reload,
203
- _ref3$reloadPage = _ref3.reloadPage,
204
- reloadPage = _ref3$reloadPage === void 0 ? null : _ref3$reloadPage,
205
- _ref3$reset = _ref3.reset,
206
- reset = _ref3$reset === void 0 ? null : _ref3$reset,
198
+ var _useResourceItems = useResourceItems(queryResource, finalQuery, paginated ? page : null, paginated ? count : null, resourceOptions),
199
+ _useResourceItems$all = _useResourceItems.allItems,
200
+ partialItems = _useResourceItems$all === void 0 ? null : _useResourceItems$all,
201
+ _useResourceItems$rel = _useResourceItems.reload,
202
+ reload = _useResourceItems$rel === void 0 ? null : _useResourceItems$rel,
203
+ _useResourceItems$pag = _useResourceItems.pagination,
204
+ pagination = _useResourceItems$pag === void 0 ? null : _useResourceItems$pag;
205
+ var _ref3 = pagination || {},
207
206
  _ref3$lastPage = _ref3.lastPage,
208
207
  lastPage = _ref3$lastPage === void 0 ? null : _ref3$lastPage;
209
- var items = (partialItems || []).concat(multiple && isArray(value) ? value : [value]).filter(function (it) {
208
+ var items = uniqBy((partialItems || []).concat(multiple && isArray(value) ? value : [value]).filter(function (it) {
210
209
  return it !== null;
211
- }).filter(function (v, i, a) {
212
- return a.findIndex(function (v2) {
213
- return v2.id === v.id;
214
- }) === i;
210
+ }), function (_ref4) {
211
+ var _ref4$id = _ref4.id,
212
+ id = _ref4$id === void 0 ? null : _ref4$id;
213
+ return id;
215
214
  });
216
215
  var onScrollEnd = useCallback(function () {
217
216
  if (page !== null && page >= lastPage) {
@@ -222,18 +221,15 @@ var ResourceItemField = function ResourceItemField(_ref) {
222
221
  }
223
222
  }, [paginated, page, setPage, lastPage]);
224
223
  var getItemLabel = useCallback(function (it, path) {
225
- var _ref4 = it || {},
226
- _ref4$id = _ref4.id,
227
- id = _ref4$id === void 0 ? null : _ref4$id;
224
+ var _ref5 = it || {},
225
+ _ref5$id = _ref5.id,
226
+ id = _ref5$id === void 0 ? null : _ref5$id;
228
227
  if (itemLabelWithId) {
229
228
  var label = initialGetItemLabel(it, path);
230
229
  return label ? "".concat(label, " (#").concat(id, ")") : "#".concat(id);
231
230
  }
232
231
  return path !== null ? initialGetItemLabel(it, path) : "#".concat(id);
233
232
  }, [initialGetItemLabel, itemLabelWithId]);
234
-
235
- // const getItemLabel = getItemLabelFunction(initialGetItemLabel, itemLabelWithId);
236
-
237
233
  var parseItem = useCallback(function (it) {
238
234
  var label = getItemLabel(it, itemLabelPath);
239
235
  var description = getItemDescription(it, itemDescriptionPath);
@@ -243,32 +239,32 @@ var ResourceItemField = function ResourceItemField(_ref) {
243
239
  label: finalLabel
244
240
  };
245
241
  }, [getItemLabel, getItemDescription, itemLabelPath, itemDescriptionPath]);
246
- var finalValue = multiple && isArray(value) ? value.map(function (_ref5) {
247
- var _ref5$id = _ref5.id,
248
- id = _ref5$id === void 0 ? null : _ref5$id;
242
+ var finalValue = multiple && isArray(value) ? value.map(function (_ref6) {
243
+ var _ref6$id = _ref6.id,
244
+ id = _ref6$id === void 0 ? null : _ref6$id;
249
245
  return id;
250
246
  }) : (value === null || value === void 0 ? void 0 : value.id) || null;
251
- var _ref6 = !multiple && hasValue ? value : {
247
+ var _ref7 = !multiple && hasValue ? value : {
252
248
  type: resourceType
253
249
  },
254
- _ref6$type = _ref6.type,
255
- finalType = _ref6$type === void 0 ? null : _ref6$type;
250
+ _ref7$type = _ref7.type,
251
+ finalType = _ref7$type === void 0 ? null : _ref7$type;
256
252
  var options = (items || []).map(function (it) {
257
253
  return parseItem(it);
258
254
  });
259
255
  var onValueChange = useCallback(function (newId) {
260
256
  if (onChange === null) return;
261
257
  if (multiple) {
262
- var newValue = items.filter(function (_ref7) {
263
- var _ref7$id = _ref7.id,
264
- id = _ref7$id === void 0 ? null : _ref7$id;
258
+ var newValue = items.filter(function (_ref8) {
259
+ var _ref8$id = _ref8.id,
260
+ id = _ref8$id === void 0 ? null : _ref8$id;
265
261
  return newId.indexOf(id) !== -1;
266
262
  }) || [];
267
263
  onChange(newValue);
268
264
  } else {
269
- var _newValue = items.filter(function (_ref8) {
270
- var _ref8$id = _ref8.id,
271
- id = _ref8$id === void 0 ? null : _ref8$id;
265
+ var _newValue = items.filter(function (_ref9) {
266
+ var _ref9$id = _ref9.id,
267
+ id = _ref9$id === void 0 ? null : _ref9$id;
272
268
  return id === newId;
273
269
  }) || [];
274
270
  if (_newValue !== null && _newValue.length > 0) {
@@ -310,27 +306,25 @@ var ResourceItemField = function ResourceItemField(_ref) {
310
306
  }, [onChange, setListOpen]);
311
307
 
312
308
  // If empty try to fetch
313
- var onFocus = useCallback(function () {
314
- if ((partialItems || []).length === 0) {
315
- if (paginated) {
316
- reloadPage();
317
- } else {
318
- reload();
319
- }
320
- }
321
- }, [paginated, partialItems]);
309
+ // const onFocus = useCallback(() => {
310
+ // if ((partialItems || []).length === 0) {
311
+ // reloadall();
312
+ // }
313
+ // }, [paginated, reloadall]);
314
+
322
315
  var onClickRemove = useCallback(function () {
323
316
  if (onChange !== null) {
324
317
  onChange(null);
325
318
  }
319
+
326
320
  // Clear the page and be good
327
321
  if (paginated) {
328
322
  setPage(defaultPage);
329
- reset();
323
+ reload();
330
324
  } else {
331
- reset();
325
+ reload();
332
326
  }
333
- }, [onChange, paginated, defaultPage, reload, reloadPage, reset]);
327
+ }, [onChange, paginated, defaultPage, reload]);
334
328
  var form = formOpen ? /*#__PURE__*/React.createElement(ResourceForm, {
335
329
  resource: resource,
336
330
  type: finalType,
@@ -377,8 +371,9 @@ var ResourceItemField = function ResourceItemField(_ref) {
377
371
  }]
378
372
  }),
379
373
  onChange: onValueChange,
380
- onInputChange: onInputChange,
381
- onFocus: onFocus,
374
+ onInputChange: onInputChange
375
+ // onFocus={onFocus}
376
+ ,
382
377
  onMenuScrollToBottom: onScrollEnd,
383
378
  multiple: multiple
384
379
  })), canFind ? /*#__PURE__*/React.createElement("div", {
package/lib/index.js CHANGED
@@ -9,6 +9,7 @@ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
9
9
  var classNames = require('classnames');
10
10
  var isArray = require('lodash/isArray');
11
11
  var isEmpty = require('lodash/isEmpty');
12
+ var uniqBy = require('lodash/uniqBy');
12
13
  var PropTypes = require('prop-types');
13
14
  var React = require('react');
14
15
  var reactIntl = require('react-intl');
@@ -134,7 +135,7 @@ var ResourceItemField = function ResourceItemField(_ref) {
134
135
  return initialPage || (paginated ? 1 : null);
135
136
  }, [initialPage, paginated]);
136
137
  var defaultCount = React.useMemo(function () {
137
- return initialCount || (paginated ? 10 : null);
138
+ return initialCount || (paginated ? 8 : null);
138
139
  }, [initialCount, paginated]);
139
140
  var hasValue = value !== null && !isEmpty(value);
140
141
 
@@ -198,24 +199,22 @@ var ResourceItemField = function ResourceItemField(_ref) {
198
199
  paginated: paginated
199
200
  });
200
201
  }, [queryTextValue, paginated]);
201
- var resourceItems = data.useResourceItems(queryResource, finalQuery, paginated ? page : null, paginated ? count : null, resourceOptions);
202
- var _ref3 = resourceItems || {},
203
- _ref3$allItems = _ref3.allItems,
204
- partialItems = _ref3$allItems === void 0 ? null : _ref3$allItems,
205
- _ref3$reload = _ref3.reload,
206
- reload = _ref3$reload === void 0 ? null : _ref3$reload,
207
- _ref3$reloadPage = _ref3.reloadPage,
208
- reloadPage = _ref3$reloadPage === void 0 ? null : _ref3$reloadPage,
209
- _ref3$reset = _ref3.reset,
210
- reset = _ref3$reset === void 0 ? null : _ref3$reset,
202
+ var _useResourceItems = data.useResourceItems(queryResource, finalQuery, paginated ? page : null, paginated ? count : null, resourceOptions),
203
+ _useResourceItems$all = _useResourceItems.allItems,
204
+ partialItems = _useResourceItems$all === void 0 ? null : _useResourceItems$all,
205
+ _useResourceItems$rel = _useResourceItems.reload,
206
+ reload = _useResourceItems$rel === void 0 ? null : _useResourceItems$rel,
207
+ _useResourceItems$pag = _useResourceItems.pagination,
208
+ pagination = _useResourceItems$pag === void 0 ? null : _useResourceItems$pag;
209
+ var _ref3 = pagination || {},
211
210
  _ref3$lastPage = _ref3.lastPage,
212
211
  lastPage = _ref3$lastPage === void 0 ? null : _ref3$lastPage;
213
- var items = (partialItems || []).concat(multiple && isArray(value) ? value : [value]).filter(function (it) {
212
+ var items = uniqBy((partialItems || []).concat(multiple && isArray(value) ? value : [value]).filter(function (it) {
214
213
  return it !== null;
215
- }).filter(function (v, i, a) {
216
- return a.findIndex(function (v2) {
217
- return v2.id === v.id;
218
- }) === i;
214
+ }), function (_ref4) {
215
+ var _ref4$id = _ref4.id,
216
+ id = _ref4$id === void 0 ? null : _ref4$id;
217
+ return id;
219
218
  });
220
219
  var onScrollEnd = React.useCallback(function () {
221
220
  if (page !== null && page >= lastPage) {
@@ -226,18 +225,15 @@ var ResourceItemField = function ResourceItemField(_ref) {
226
225
  }
227
226
  }, [paginated, page, setPage, lastPage]);
228
227
  var getItemLabel = React.useCallback(function (it, path) {
229
- var _ref4 = it || {},
230
- _ref4$id = _ref4.id,
231
- id = _ref4$id === void 0 ? null : _ref4$id;
228
+ var _ref5 = it || {},
229
+ _ref5$id = _ref5.id,
230
+ id = _ref5$id === void 0 ? null : _ref5$id;
232
231
  if (itemLabelWithId) {
233
232
  var label = initialGetItemLabel(it, path);
234
233
  return label ? "".concat(label, " (#").concat(id, ")") : "#".concat(id);
235
234
  }
236
235
  return path !== null ? initialGetItemLabel(it, path) : "#".concat(id);
237
236
  }, [initialGetItemLabel, itemLabelWithId]);
238
-
239
- // const getItemLabel = getItemLabelFunction(initialGetItemLabel, itemLabelWithId);
240
-
241
237
  var parseItem = React.useCallback(function (it) {
242
238
  var label = getItemLabel(it, itemLabelPath);
243
239
  var description = getItemDescription(it, itemDescriptionPath);
@@ -247,32 +243,32 @@ var ResourceItemField = function ResourceItemField(_ref) {
247
243
  label: finalLabel
248
244
  };
249
245
  }, [getItemLabel, getItemDescription, itemLabelPath, itemDescriptionPath]);
250
- var finalValue = multiple && isArray(value) ? value.map(function (_ref5) {
251
- var _ref5$id = _ref5.id,
252
- id = _ref5$id === void 0 ? null : _ref5$id;
246
+ var finalValue = multiple && isArray(value) ? value.map(function (_ref6) {
247
+ var _ref6$id = _ref6.id,
248
+ id = _ref6$id === void 0 ? null : _ref6$id;
253
249
  return id;
254
250
  }) : (value === null || value === void 0 ? void 0 : value.id) || null;
255
- var _ref6 = !multiple && hasValue ? value : {
251
+ var _ref7 = !multiple && hasValue ? value : {
256
252
  type: resourceType
257
253
  },
258
- _ref6$type = _ref6.type,
259
- finalType = _ref6$type === void 0 ? null : _ref6$type;
254
+ _ref7$type = _ref7.type,
255
+ finalType = _ref7$type === void 0 ? null : _ref7$type;
260
256
  var options = (items || []).map(function (it) {
261
257
  return parseItem(it);
262
258
  });
263
259
  var onValueChange = React.useCallback(function (newId) {
264
260
  if (onChange === null) return;
265
261
  if (multiple) {
266
- var newValue = items.filter(function (_ref7) {
267
- var _ref7$id = _ref7.id,
268
- id = _ref7$id === void 0 ? null : _ref7$id;
262
+ var newValue = items.filter(function (_ref8) {
263
+ var _ref8$id = _ref8.id,
264
+ id = _ref8$id === void 0 ? null : _ref8$id;
269
265
  return newId.indexOf(id) !== -1;
270
266
  }) || [];
271
267
  onChange(newValue);
272
268
  } else {
273
- var _newValue = items.filter(function (_ref8) {
274
- var _ref8$id = _ref8.id,
275
- id = _ref8$id === void 0 ? null : _ref8$id;
269
+ var _newValue = items.filter(function (_ref9) {
270
+ var _ref9$id = _ref9.id,
271
+ id = _ref9$id === void 0 ? null : _ref9$id;
276
272
  return id === newId;
277
273
  }) || [];
278
274
  if (_newValue !== null && _newValue.length > 0) {
@@ -314,27 +310,25 @@ var ResourceItemField = function ResourceItemField(_ref) {
314
310
  }, [onChange, setListOpen]);
315
311
 
316
312
  // If empty try to fetch
317
- var onFocus = React.useCallback(function () {
318
- if ((partialItems || []).length === 0) {
319
- if (paginated) {
320
- reloadPage();
321
- } else {
322
- reload();
323
- }
324
- }
325
- }, [paginated, partialItems]);
313
+ // const onFocus = useCallback(() => {
314
+ // if ((partialItems || []).length === 0) {
315
+ // reloadall();
316
+ // }
317
+ // }, [paginated, reloadall]);
318
+
326
319
  var onClickRemove = React.useCallback(function () {
327
320
  if (onChange !== null) {
328
321
  onChange(null);
329
322
  }
323
+
330
324
  // Clear the page and be good
331
325
  if (paginated) {
332
326
  setPage(defaultPage);
333
- reset();
327
+ reload();
334
328
  } else {
335
- reset();
329
+ reload();
336
330
  }
337
- }, [onChange, paginated, defaultPage, reload, reloadPage, reset]);
331
+ }, [onChange, paginated, defaultPage, reload]);
338
332
  var form = formOpen ? /*#__PURE__*/React.createElement(ResourceForm, {
339
333
  resource: resource,
340
334
  type: finalType,
@@ -381,8 +375,9 @@ var ResourceItemField = function ResourceItemField(_ref) {
381
375
  }]
382
376
  }),
383
377
  onChange: onValueChange,
384
- onInputChange: onInputChange,
385
- onFocus: onFocus,
378
+ onInputChange: onInputChange
379
+ // onFocus={onFocus}
380
+ ,
386
381
  onMenuScrollToBottom: onScrollEnd,
387
382
  multiple: multiple
388
383
  })), canFind ? /*#__PURE__*/React.createElement("div", {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@panneau/field-resource-item",
3
- "version": "3.0.171",
3
+ "version": "3.0.173",
4
4
  "description": "An item mapping a resource",
5
5
  "keywords": [
6
6
  "javascript"
@@ -47,15 +47,15 @@
47
47
  "dependencies": {
48
48
  "@babel/runtime": "^7.12.5",
49
49
  "@panneau/core": "^3.0.169",
50
- "@panneau/data": "^3.0.169",
50
+ "@panneau/data": "^3.0.173",
51
51
  "@panneau/element-button": "^3.0.169",
52
52
  "@panneau/element-resource-card": "^3.0.169",
53
- "@panneau/element-select": "^3.0.169",
54
- "@panneau/form-resource": "^3.0.171",
55
- "@panneau/intl": "^3.0.169",
53
+ "@panneau/element-select": "^3.0.172",
54
+ "@panneau/form-resource": "^3.0.173",
55
+ "@panneau/intl": "^3.0.172",
56
56
  "@panneau/modal-dialog": "^3.0.169",
57
- "@panneau/modal-resource-form": "^3.0.171",
58
- "@panneau/modal-resource-items": "^3.0.171",
57
+ "@panneau/modal-resource-form": "^3.0.173",
58
+ "@panneau/modal-resource-items": "^3.0.173",
59
59
  "classnames": "^2.5.1",
60
60
  "lodash": "^4.17.21",
61
61
  "prop-types": "^15.7.2",
@@ -64,5 +64,5 @@
64
64
  "publishConfig": {
65
65
  "access": "public"
66
66
  },
67
- "gitHead": "38e041e7659ef78ddbec9da1232c1456366c2040"
67
+ "gitHead": "29037e4f0ed74d81586442a76daffcfb6d062200"
68
68
  }