@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.
- package/es/index.js +43 -48
- package/lib/index.js +43 -48
- 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 ?
|
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
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
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
|
-
})
|
212
|
-
|
213
|
-
|
214
|
-
|
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
|
226
|
-
|
227
|
-
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 (
|
247
|
-
var
|
248
|
-
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
|
247
|
+
var _ref7 = !multiple && hasValue ? value : {
|
252
248
|
type: resourceType
|
253
249
|
},
|
254
|
-
|
255
|
-
finalType =
|
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 (
|
263
|
-
var
|
264
|
-
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 (
|
270
|
-
var
|
271
|
-
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
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
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
|
-
|
323
|
+
reload();
|
330
324
|
} else {
|
331
|
-
|
325
|
+
reload();
|
332
326
|
}
|
333
|
-
}, [onChange, paginated, defaultPage, reload
|
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
|
-
|
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 ?
|
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
|
202
|
-
|
203
|
-
|
204
|
-
|
205
|
-
|
206
|
-
|
207
|
-
|
208
|
-
|
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
|
-
})
|
216
|
-
|
217
|
-
|
218
|
-
|
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
|
230
|
-
|
231
|
-
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 (
|
251
|
-
var
|
252
|
-
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
|
251
|
+
var _ref7 = !multiple && hasValue ? value : {
|
256
252
|
type: resourceType
|
257
253
|
},
|
258
|
-
|
259
|
-
finalType =
|
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 (
|
267
|
-
var
|
268
|
-
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 (
|
274
|
-
var
|
275
|
-
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
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
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
|
-
|
327
|
+
reload();
|
334
328
|
} else {
|
335
|
-
|
329
|
+
reload();
|
336
330
|
}
|
337
|
-
}, [onChange, paginated, defaultPage, reload
|
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
|
-
|
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.
|
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.
|
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.
|
54
|
-
"@panneau/form-resource": "^3.0.
|
55
|
-
"@panneau/intl": "^3.0.
|
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.
|
58
|
-
"@panneau/modal-resource-items": "^3.0.
|
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": "
|
67
|
+
"gitHead": "29037e4f0ed74d81586442a76daffcfb6d062200"
|
68
68
|
}
|