@blaze-cms/plugin-data-ui 0.146.0-node18-tooltips.48 → 0.146.0-node18-core-styles-tooltips.60

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 (89) hide show
  1. package/CHANGELOG.md +174 -39
  2. package/lib/components/EntityManager/Entity/EntitiyNavLinks/EntityNavLinks.js +0 -1
  3. package/lib/components/EntityManager/Entity/EntitiyNavLinks/EntityNavLinks.js.map +1 -1
  4. package/lib/components/EntityManager/Entity/Entity.js +5 -5
  5. package/lib/components/EntityManager/Entity/Entity.js.map +1 -1
  6. package/lib/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js +1 -1
  7. package/lib/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js.map +1 -1
  8. package/lib/components/EntityManager/Entity/SideBarRelations/helpers/build-dynamic-query.js +0 -1
  9. package/lib/components/EntityManager/Entity/SideBarRelations/helpers/build-dynamic-query.js.map +1 -1
  10. package/lib/components/EntityManager/Entity/SideBarRelations/index.js +5 -5
  11. package/lib/components/EntityManager/Entity/SideBarRelations/index.js.map +1 -1
  12. package/lib/components/EntityManager/Entity/actions-handlers/create/submit.js +1 -1
  13. package/lib/components/EntityManager/Entity/actions-handlers/create/submit.js.map +1 -1
  14. package/lib/components/EntityManager/Entity/actions-handlers/delete/delete.js +1 -1
  15. package/lib/components/EntityManager/Entity/actions-handlers/delete/delete.js.map +1 -1
  16. package/lib/components/EntityManager/Entity/actions-handlers/shared/publish.js +1 -1
  17. package/lib/components/EntityManager/Entity/actions-handlers/shared/publish.js.map +1 -1
  18. package/lib/components/EntityManager/Entity/actions-handlers/update/submit.js +1 -1
  19. package/lib/components/EntityManager/Entity/actions-handlers/update/submit.js.map +1 -1
  20. package/lib/components/EntityManager/EntityManager.js +3 -3
  21. package/lib/components/EntityManager/EntityManager.js.map +1 -1
  22. package/lib/components/EntityManager/utils/entity.js +1 -1
  23. package/lib/components/EntityManager/utils/entity.js.map +1 -1
  24. package/lib/components/EntityManager/utils/entityAvailableActions.js +2 -2
  25. package/lib/components/EntityManager/utils/entityAvailableActions.js.map +1 -1
  26. package/lib/components/InfoBoxes/InfoBoxes.js +0 -1
  27. package/lib/components/InfoBoxes/InfoBoxes.js.map +1 -1
  28. package/lib/components/InfoBoxes/container/InfoBoxContainer.js +1 -1
  29. package/lib/components/InfoBoxes/container/InfoBoxContainer.js.map +1 -1
  30. package/lib/components/InfoBoxes/helpers/build-dynamic-query.js +0 -1
  31. package/lib/components/InfoBoxes/helpers/build-dynamic-query.js.map +1 -1
  32. package/lib/components/ListingTable/ListingTable.js +7 -7
  33. package/lib/components/ListingTable/ListingTable.js.map +1 -1
  34. package/lib/components/ListingTable/ListingTableContent/ListingTableContent.js +1 -1
  35. package/lib/components/ListingTable/ListingTableContent/ListingTableContent.js.map +1 -1
  36. package/lib/components/ListingTable/SearchFilter/RelationMultiSelectFilter.js +327 -0
  37. package/lib/components/ListingTable/SearchFilter/RelationMultiSelectFilter.js.map +1 -0
  38. package/lib/components/ListingTable/SearchFilter/SearchContainer.js +111 -79
  39. package/lib/components/ListingTable/SearchFilter/SearchContainer.js.map +1 -1
  40. package/lib/components/ListingTable/SearchFilter/SearchFilter.js +1 -1
  41. package/lib/components/ListingTable/SearchFilter/SearchFilter.js.map +1 -1
  42. package/lib/components/ListingTable/SearchFilter/helpers.js +0 -1
  43. package/lib/components/ListingTable/SearchFilter/helpers.js.map +1 -1
  44. package/lib/components/ListingTable/TableActions/TableActions.js.map +1 -1
  45. package/lib/components/ListingTable/service/index.js +1 -2
  46. package/lib/components/ListingTable/service/index.js.map +1 -1
  47. package/lib/components/Tabs/index.js +1 -1
  48. package/lib/components/Tabs/index.js.map +1 -1
  49. package/lib/index.js +5 -5
  50. package/lib/index.js.map +1 -1
  51. package/lib/utils/add-content-menu-items.js +1 -1
  52. package/lib/utils/add-content-menu-items.js.map +1 -1
  53. package/lib-es/components/EntityManager/Entity/Entity.js.map +1 -1
  54. package/lib-es/components/EntityManager/Entity/EntityHeader/EntityHeader.js.map +1 -1
  55. package/lib-es/components/EntityManager/Entity/EntityHeader/HeaderPreviewButton/HeaderPreviewButton.js.map +1 -1
  56. package/lib-es/components/EntityManager/Entity/SideBarRelations/helpers/build-dynamic-query.js.map +1 -1
  57. package/lib-es/components/EntityManager/Entity/SideBarRelations/hooks/useCustomSidebarData.js.map +1 -1
  58. package/lib-es/components/EntityManager/Entity/SideBarRelations/presentational/CustomSidebarInfo.js.map +1 -1
  59. package/lib-es/components/EntityManager/Entity/actions-handlers/create/submit.js.map +1 -1
  60. package/lib-es/components/EntityManager/Entity/actions-handlers/shared/publish.js.map +1 -1
  61. package/lib-es/components/EntityManager/EntityManager.js.map +1 -1
  62. package/lib-es/components/EntityManager/utils/entity.js.map +1 -1
  63. package/lib-es/components/EntityManager/utils/query.js.map +1 -1
  64. package/lib-es/components/InfoBoxes/InfoBoxTooltip.js.map +1 -1
  65. package/lib-es/components/InfoBoxes/helpers/build-dynamic-query.js.map +1 -1
  66. package/lib-es/components/InfoBoxes/hooks/useData.js.map +1 -1
  67. package/lib-es/components/InfoBoxes/presentational/InfoBox.js.map +1 -1
  68. package/lib-es/components/InfoBoxes/presentational/InfoBoxLabel.js.map +1 -1
  69. package/lib-es/components/ListingTable/ListingTable.js.map +1 -1
  70. package/lib-es/components/ListingTable/ListingTableContent/ListingTableContent.js.map +1 -1
  71. package/lib-es/components/ListingTable/SearchFilter/RelationMultiSelectFilter.js +171 -0
  72. package/lib-es/components/ListingTable/SearchFilter/RelationMultiSelectFilter.js.map +1 -0
  73. package/lib-es/components/ListingTable/SearchFilter/SearchContainer.js +18 -1
  74. package/lib-es/components/ListingTable/SearchFilter/SearchContainer.js.map +1 -1
  75. package/lib-es/components/ListingTable/SearchFilter/helpers.js.map +1 -1
  76. package/lib-es/components/ListingTable/SearchFilter/querys.js.map +1 -1
  77. package/lib-es/components/ListingTable/mappers/populate-rows.js.map +1 -1
  78. package/lib-es/components/ListingTable/service/index.js.map +1 -1
  79. package/lib-es/index.js +2 -2
  80. package/lib-es/index.js.map +1 -1
  81. package/lib-es/utils/add-content-menu-items.js.map +1 -1
  82. package/lib-es/utils/build-create-entity-mutation.js.map +1 -1
  83. package/lib-es/utils/build-delete-entity-mutation.js.map +1 -1
  84. package/lib-es/utils/build-listing-query.js.map +1 -1
  85. package/lib-es/utils/build-update-data-query.js.map +1 -1
  86. package/lib-es/utils/build-update-publish-unpublish-mutation.js.map +1 -1
  87. package/package.json +10 -10
  88. package/src/components/ListingTable/SearchFilter/RelationMultiSelectFilter.js +158 -0
  89. package/src/components/ListingTable/SearchFilter/SearchContainer.js +35 -2
@@ -0,0 +1,327 @@
1
+ "use strict";
2
+
3
+ require("core-js/modules/es.symbol.js");
4
+ require("core-js/modules/es.array.for-each.js");
5
+ require("core-js/modules/es.array.iterator.js");
6
+ require("core-js/modules/es.object.define-properties.js");
7
+ require("core-js/modules/es.object.define-property.js");
8
+ require("core-js/modules/es.object.get-own-property-descriptor.js");
9
+ require("core-js/modules/es.object.get-own-property-descriptors.js");
10
+ require("core-js/modules/es.object.keys.js");
11
+ require("core-js/modules/es.string.iterator.js");
12
+ require("core-js/modules/es.weak-map.js");
13
+ require("core-js/modules/web.dom-collections.for-each.js");
14
+ require("core-js/modules/web.dom-collections.iterator.js");
15
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
16
+ var _typeof = require("@babel/runtime/helpers/typeof");
17
+ Object.defineProperty(exports, "__esModule", {
18
+ value: true
19
+ });
20
+ exports["default"] = void 0;
21
+ require("core-js/modules/es.array.concat.js");
22
+ require("core-js/modules/es.array.filter.js");
23
+ require("core-js/modules/es.array.includes.js");
24
+ require("core-js/modules/es.array.map.js");
25
+ require("core-js/modules/es.object.to-string.js");
26
+ require("core-js/modules/es.string.includes.js");
27
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
28
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
29
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
30
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
31
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
32
+ var _react = _interopRequireWildcard(require("react"));
33
+ var _propTypes = _interopRequireDefault(require("prop-types"));
34
+ var _multiselect = _interopRequireDefault(require("@blaze-react/multiselect"));
35
+ var _lodash = _interopRequireDefault(require("lodash.debounce"));
36
+ var _lodash2 = _interopRequireDefault(require("lodash.unionby"));
37
+ var _client = require("@apollo/client");
38
+ var _adminUiUtils = require("@blaze-cms/admin-ui-utils");
39
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
40
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
41
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
42
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
43
+ var DEBOUNCE_TIME = 500;
44
+ var SEARCH_LOAD_OFFSET = 10;
45
+ var SELECTION_LIMIT = 10;
46
+ var shouldLoadMore = function shouldLoadMore(searchTerm, stopIndex, currentDataLength) {
47
+ return searchTerm && stopIndex > SEARCH_LOAD_OFFSET && stopIndex >= currentDataLength - SEARCH_LOAD_OFFSET;
48
+ };
49
+ var RelationMultiSelectFilter = function RelationMultiSelectFilter(_ref) {
50
+ var id = _ref.id,
51
+ label = _ref.label,
52
+ entityIdentifier = _ref.entityIdentifier,
53
+ selectedIds = _ref.selectedIds,
54
+ onChange = _ref.onChange;
55
+ var client = (0, _client.useApolloClient)();
56
+ var _useState = (0, _react.useState)(null),
57
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
58
+ schema = _useState2[0],
59
+ setSchema = _useState2[1];
60
+ var _useState3 = (0, _react.useState)([]),
61
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
62
+ data = _useState4[0],
63
+ setData = _useState4[1];
64
+ var _useState5 = (0, _react.useState)(''),
65
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
66
+ searchTerm = _useState6[0],
67
+ setSearchTerm = _useState6[1];
68
+ var _ref2 = schema || {},
69
+ displayProperties = _ref2.displayProperties;
70
+ (0, _react.useEffect)(function () {
71
+ var active = true;
72
+ (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
73
+ var _yield$client$query, _yield$client$query$d, _yield$client$query$d2, _yield$client$query$d3, getEntitySchemas, _getEntitySchemas, relationSchema;
74
+ return _regenerator["default"].wrap(function _callee$(_context) {
75
+ while (1) switch (_context.prev = _context.next) {
76
+ case 0:
77
+ _context.prev = 0;
78
+ _context.next = 3;
79
+ return client.query({
80
+ query: (0, _adminUiUtils.getQuery)('GET_ENTITY_SCHEMA'),
81
+ variables: {
82
+ identifier: entityIdentifier
83
+ }
84
+ });
85
+ case 3:
86
+ _yield$client$query = _context.sent;
87
+ _yield$client$query$d = _yield$client$query.data;
88
+ _yield$client$query$d2 = _yield$client$query$d === void 0 ? {} : _yield$client$query$d;
89
+ _yield$client$query$d3 = _yield$client$query$d2.getEntitySchemas;
90
+ getEntitySchemas = _yield$client$query$d3 === void 0 ? [] : _yield$client$query$d3;
91
+ _getEntitySchemas = (0, _slicedToArray2["default"])(getEntitySchemas, 1), relationSchema = _getEntitySchemas[0];
92
+ if (active && relationSchema) setSchema(relationSchema);
93
+ _context.next = 15;
94
+ break;
95
+ case 12:
96
+ _context.prev = 12;
97
+ _context.t0 = _context["catch"](0);
98
+ if (active) setSchema(null);
99
+ case 15:
100
+ case "end":
101
+ return _context.stop();
102
+ }
103
+ }, _callee, null, [[0, 12]]);
104
+ }))();
105
+ return function () {
106
+ active = false;
107
+ };
108
+ }, [client, entityIdentifier]);
109
+ (0, _react.useEffect)(function () {
110
+ if (!schema || !selectedIds.length) return undefined;
111
+ var active = true;
112
+ (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
113
+ var _yield$client$query2, _yield$client$query2$, _yield$client$query2$2, _yield$client$query2$3, result;
114
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
115
+ while (1) switch (_context2.prev = _context2.next) {
116
+ case 0:
117
+ _context2.prev = 0;
118
+ _context2.next = 3;
119
+ return client.query({
120
+ query: (0, _adminUiUtils.getDynamicQuery)('GET_ALL_ENTITIES')(schema),
121
+ variables: {
122
+ where: {
123
+ id: {
124
+ _in: selectedIds
125
+ }
126
+ },
127
+ sort: [{
128
+ property: 'name',
129
+ direction: 'asc'
130
+ }]
131
+ }
132
+ });
133
+ case 3:
134
+ _yield$client$query2 = _context2.sent;
135
+ _yield$client$query2$ = _yield$client$query2.data;
136
+ _yield$client$query2$2 = _yield$client$query2$ === void 0 ? {} : _yield$client$query2$;
137
+ _yield$client$query2$3 = _yield$client$query2$2.result;
138
+ result = _yield$client$query2$3 === void 0 ? [] : _yield$client$query2$3;
139
+ if (active && result.length) setData(function (prev) {
140
+ return (0, _lodash2["default"])([].concat((0, _toConsumableArray2["default"])(prev), (0, _toConsumableArray2["default"])(result)), 'id');
141
+ });
142
+ _context2.next = 13;
143
+ break;
144
+ case 11:
145
+ _context2.prev = 11;
146
+ _context2.t0 = _context2["catch"](0);
147
+ case 13:
148
+ case "end":
149
+ return _context2.stop();
150
+ }
151
+ }, _callee2, null, [[0, 11]]);
152
+ }))();
153
+ return function () {
154
+ active = false;
155
+ };
156
+ // eslint-disable-next-line react-hooks/exhaustive-deps
157
+ }, [schema]);
158
+ var onSearch = (0, _react.useMemo)(function () {
159
+ return schema ? (0, _adminUiUtils.getAdminRecordSearch)(schema, client) : null;
160
+ }, [schema, client]);
161
+ var currentData = (0, _react.useMemo)(function () {
162
+ return data.map(function (option) {
163
+ var checked = selectedIds.includes(option.id);
164
+ return _objectSpread(_objectSpread({}, option), {}, {
165
+ checked: checked,
166
+ show: !checked,
167
+ name: (0, _adminUiUtils.buildLabel)(displayProperties, option)
168
+ });
169
+ });
170
+ }, [data, selectedIds, displayProperties]);
171
+ var interceptOnSearchChange = (0, _lodash["default"])( /*#__PURE__*/function () {
172
+ var _ref6 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(_ref5) {
173
+ var value, result;
174
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
175
+ while (1) switch (_context3.prev = _context3.next) {
176
+ case 0:
177
+ value = _ref5.value;
178
+ setSearchTerm(value);
179
+ if (onSearch) {
180
+ _context3.next = 4;
181
+ break;
182
+ }
183
+ return _context3.abrupt("return");
184
+ case 4:
185
+ _context3.next = 6;
186
+ return onSearch({
187
+ event: {
188
+ value: value
189
+ },
190
+ currentValue: selectedIds
191
+ });
192
+ case 6:
193
+ result = _context3.sent;
194
+ if (result) {
195
+ _context3.next = 9;
196
+ break;
197
+ }
198
+ return _context3.abrupt("return");
199
+ case 9:
200
+ setData(function (prev) {
201
+ var selected = prev.filter(function (item) {
202
+ return selectedIds.includes(item.id);
203
+ });
204
+ var newOnes = result.filter(function (item) {
205
+ return !selectedIds.includes(item.id);
206
+ });
207
+ return (0, _lodash2["default"])([].concat((0, _toConsumableArray2["default"])(selected), (0, _toConsumableArray2["default"])(newOnes)), 'id');
208
+ });
209
+ case 10:
210
+ case "end":
211
+ return _context3.stop();
212
+ }
213
+ }, _callee3);
214
+ }));
215
+ return function (_x) {
216
+ return _ref6.apply(this, arguments);
217
+ };
218
+ }(), DEBOUNCE_TIME);
219
+ var scrollHook = (0, _lodash["default"])( /*#__PURE__*/function () {
220
+ var _ref8 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(_ref7) {
221
+ var stopIndex, currentDataLength, result;
222
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
223
+ while (1) switch (_context4.prev = _context4.next) {
224
+ case 0:
225
+ stopIndex = _ref7.stopIndex;
226
+ if (onSearch) {
227
+ _context4.next = 3;
228
+ break;
229
+ }
230
+ return _context4.abrupt("return");
231
+ case 3:
232
+ currentDataLength = data.length - selectedIds.length;
233
+ if (shouldLoadMore(searchTerm, stopIndex, currentDataLength)) {
234
+ _context4.next = 6;
235
+ break;
236
+ }
237
+ return _context4.abrupt("return");
238
+ case 6:
239
+ _context4.next = 8;
240
+ return onSearch({
241
+ event: {
242
+ value: searchTerm
243
+ },
244
+ currentValue: selectedIds,
245
+ currentOffset: currentDataLength
246
+ });
247
+ case 8:
248
+ result = _context4.sent;
249
+ if (!(!result || !result.length)) {
250
+ _context4.next = 11;
251
+ break;
252
+ }
253
+ return _context4.abrupt("return");
254
+ case 11:
255
+ setData(function (prev) {
256
+ return (0, _lodash2["default"])([].concat((0, _toConsumableArray2["default"])(prev), (0, _toConsumableArray2["default"])(result)), 'id');
257
+ });
258
+ case 12:
259
+ case "end":
260
+ return _context4.stop();
261
+ }
262
+ }, _callee4);
263
+ }));
264
+ return function (_x2) {
265
+ return _ref8.apply(this, arguments);
266
+ };
267
+ }(), DEBOUNCE_TIME);
268
+ var onItemsRenderedIntercept = /*#__PURE__*/function () {
269
+ var _ref9 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(event) {
270
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
271
+ while (1) switch (_context5.prev = _context5.next) {
272
+ case 0:
273
+ if (onSearch) {
274
+ _context5.next = 2;
275
+ break;
276
+ }
277
+ return _context5.abrupt("return");
278
+ case 2:
279
+ scrollHook(event);
280
+ case 3:
281
+ case "end":
282
+ return _context5.stop();
283
+ }
284
+ }, _callee5);
285
+ }));
286
+ return function onItemsRenderedIntercept(_x3) {
287
+ return _ref9.apply(this, arguments);
288
+ };
289
+ }();
290
+ var getSelected = function getSelected(_ref10) {
291
+ var value = _ref10.event.target.value;
292
+ return onChange(id, value);
293
+ };
294
+ return /*#__PURE__*/_react["default"].createElement(_multiselect["default"], {
295
+ label: label,
296
+ name: id,
297
+ data: {
298
+ data: currentData,
299
+ filterBy: ['name'],
300
+ identification: 'id',
301
+ keyValue: 'name'
302
+ },
303
+ limit: SELECTION_LIMIT,
304
+ onChange: interceptOnSearchChange,
305
+ getSelected: getSelected,
306
+ onItemsRendered: onItemsRenderedIntercept,
307
+ required: false,
308
+ checkedPreviewCount: 1,
309
+ formatMoreLabel: function formatMoreLabel(count) {
310
+ return "".concat(count, " more");
311
+ },
312
+ isDynamic: true
313
+ });
314
+ };
315
+ RelationMultiSelectFilter.propTypes = {
316
+ id: _propTypes["default"].string.isRequired,
317
+ label: _propTypes["default"].string,
318
+ entityIdentifier: _propTypes["default"].string.isRequired,
319
+ selectedIds: _propTypes["default"].array,
320
+ onChange: _propTypes["default"].func.isRequired
321
+ };
322
+ RelationMultiSelectFilter.defaultProps = {
323
+ label: '',
324
+ selectedIds: []
325
+ };
326
+ var _default = exports["default"] = RelationMultiSelectFilter;
327
+ //# sourceMappingURL=RelationMultiSelectFilter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RelationMultiSelectFilter.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_multiselect","_lodash","_lodash2","_client","_adminUiUtils","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","_typeof","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","ownKeys","keys","getOwnPropertySymbols","o","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","DEBOUNCE_TIME","SEARCH_LOAD_OFFSET","SELECTION_LIMIT","shouldLoadMore","searchTerm","stopIndex","currentDataLength","RelationMultiSelectFilter","_ref","id","label","entityIdentifier","selectedIds","onChange","client","useApolloClient","_useState","useState","_useState2","_slicedToArray2","schema","setSchema","_useState3","_useState4","data","setData","_useState5","_useState6","setSearchTerm","_ref2","displayProperties","useEffect","active","_asyncToGenerator2","_regenerator","mark","_callee","_yield$client$query","_yield$client$query$d","_yield$client$query$d2","_yield$client$query$d3","getEntitySchemas","_getEntitySchemas","relationSchema","wrap","_callee$","_context","prev","next","query","getQuery","variables","identifier","sent","t0","stop","undefined","_callee2","_yield$client$query2","_yield$client$query2$","_yield$client$query2$2","_yield$client$query2$3","result","_callee2$","_context2","getDynamicQuery","where","_in","sort","property","direction","unionBy","concat","_toConsumableArray2","onSearch","useMemo","getAdminRecordSearch","currentData","map","option","checked","includes","show","name","buildLabel","interceptOnSearchChange","debounce","_ref6","_callee3","_ref5","value","_callee3$","_context3","abrupt","event","currentValue","selected","item","newOnes","_x","scrollHook","_ref8","_callee4","_ref7","_callee4$","_context4","currentOffset","_x2","onItemsRenderedIntercept","_ref9","_callee5","_callee5$","_context5","_x3","getSelected","_ref10","target","createElement","filterBy","identification","keyValue","limit","onItemsRendered","required","checkedPreviewCount","formatMoreLabel","count","isDynamic","propTypes","PropTypes","string","isRequired","array","func","defaultProps","_default","exports"],"sources":["../../../../src/components/ListingTable/SearchFilter/RelationMultiSelectFilter.js"],"sourcesContent":["import React, { useState, useEffect, useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport MultiSelect from '@blaze-react/multiselect';\nimport debounce from 'lodash.debounce';\nimport unionBy from 'lodash.unionby';\nimport { useApolloClient } from '@apollo/client';\nimport {\n getQuery,\n getDynamicQuery,\n getAdminRecordSearch,\n buildLabel\n} from '@blaze-cms/admin-ui-utils';\n\nconst DEBOUNCE_TIME = 500;\nconst SEARCH_LOAD_OFFSET = 10;\nconst SELECTION_LIMIT = 10;\n\nconst shouldLoadMore = (searchTerm, stopIndex, currentDataLength) =>\n searchTerm &&\n stopIndex > SEARCH_LOAD_OFFSET &&\n stopIndex >= currentDataLength - SEARCH_LOAD_OFFSET;\n\nconst RelationMultiSelectFilter = ({ id, label, entityIdentifier, selectedIds, onChange }) => {\n const client = useApolloClient();\n const [schema, setSchema] = useState(null);\n const [data, setData] = useState([]);\n const [searchTerm, setSearchTerm] = useState('');\n\n const { displayProperties } = schema || {};\n\n useEffect(() => {\n let active = true;\n (async () => {\n try {\n const { data: { getEntitySchemas = [] } = {} } = await client.query({\n query: getQuery('GET_ENTITY_SCHEMA'),\n variables: { identifier: entityIdentifier }\n });\n const [relationSchema] = getEntitySchemas;\n if (active && relationSchema) setSchema(relationSchema);\n } catch {\n if (active) setSchema(null);\n }\n })();\n return () => {\n active = false;\n };\n }, [client, entityIdentifier]);\n\n useEffect(() => {\n if (!schema || !selectedIds.length) return undefined;\n let active = true;\n (async () => {\n try {\n const { data: { result = [] } = {} } = await client.query({\n query: getDynamicQuery('GET_ALL_ENTITIES')(schema),\n variables: {\n where: { id: { _in: selectedIds } },\n sort: [{ property: 'name', direction: 'asc' }]\n }\n });\n if (active && result.length) setData(prev => unionBy([...prev, ...result], 'id'));\n } catch {\n // ignore - selected chips will fall back to id-only display\n }\n })();\n return () => {\n active = false;\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [schema]);\n\n const onSearch = useMemo(\n () => (schema ? getAdminRecordSearch(schema, client) : null),\n [schema, client]\n );\n\n const currentData = useMemo(\n () =>\n data.map(option => {\n const checked = selectedIds.includes(option.id);\n return {\n ...option,\n checked,\n show: !checked,\n name: buildLabel(displayProperties, option)\n };\n }),\n [data, selectedIds, displayProperties]\n );\n\n const interceptOnSearchChange = debounce(async ({ value }) => {\n setSearchTerm(value);\n if (!onSearch) return;\n const result = await onSearch({ event: { value }, currentValue: selectedIds });\n if (!result) return;\n setData(prev => {\n const selected = prev.filter(item => selectedIds.includes(item.id));\n const newOnes = result.filter(item => !selectedIds.includes(item.id));\n return unionBy([...selected, ...newOnes], 'id');\n });\n }, DEBOUNCE_TIME);\n\n const scrollHook = debounce(async ({ stopIndex }) => {\n if (!onSearch) return;\n const currentDataLength = data.length - selectedIds.length;\n if (!shouldLoadMore(searchTerm, stopIndex, currentDataLength)) return;\n const result = await onSearch({\n event: { value: searchTerm },\n currentValue: selectedIds,\n currentOffset: currentDataLength\n });\n if (!result || !result.length) return;\n setData(prev => unionBy([...prev, ...result], 'id'));\n }, DEBOUNCE_TIME);\n\n const onItemsRenderedIntercept = async event => {\n if (!onSearch) return;\n scrollHook(event);\n };\n\n const getSelected = ({\n event: {\n target: { value }\n }\n }) => onChange(id, value);\n\n return (\n <MultiSelect\n label={label}\n name={id}\n data={{ data: currentData, filterBy: ['name'], identification: 'id', keyValue: 'name' }}\n limit={SELECTION_LIMIT}\n onChange={interceptOnSearchChange}\n getSelected={getSelected}\n onItemsRendered={onItemsRenderedIntercept}\n required={false}\n checkedPreviewCount={1}\n formatMoreLabel={count => `${count} more`}\n isDynamic\n />\n );\n};\n\nRelationMultiSelectFilter.propTypes = {\n id: PropTypes.string.isRequired,\n label: PropTypes.string,\n entityIdentifier: PropTypes.string.isRequired,\n selectedIds: PropTypes.array,\n onChange: PropTypes.func.isRequired\n};\n\nRelationMultiSelectFilter.defaultProps = {\n label: '',\n selectedIds: []\n};\n\nexport default RelationMultiSelectFilter;\n"],"mappings":"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","ignoreList":[]}