ywana-core8 0.0.707 → 0.0.708

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/dist/index.umd.js CHANGED
@@ -10295,20 +10295,40 @@
10295
10295
  */
10296
10296
 
10297
10297
  var CollectionList = function CollectionList(props) {
10298
+ var itemRenderer = props.itemRenderer,
10299
+ groupBy = props.groupBy,
10300
+ _props$searchBy = props.searchBy,
10301
+ searchBy = _props$searchBy === void 0 ? [] : _props$searchBy;
10298
10302
  var context = React.useContext(CollectionContext);
10299
10303
  var _context$all = context.all,
10300
10304
  all = _context$all === void 0 ? [] : _context$all,
10301
10305
  filters = context.filters,
10302
10306
  customFilters = context.customFilters;
10307
+
10308
+ var _useState = React.useState(''),
10309
+ search = _useState[0],
10310
+ setSearch = _useState[1];
10311
+
10303
10312
  React.useEffect(function () {
10304
10313
  context.load();
10305
10314
  }, [filters, customFilters]);
10306
10315
 
10316
+ function changeSearch(id, value) {
10317
+ setSearch(value);
10318
+ }
10319
+
10307
10320
  function select(id) {
10308
10321
  context.select(id);
10309
10322
  }
10310
10323
 
10311
- var items = all.map(function (item) {
10324
+ var searched = searchBy.length > 0 && search.length > 0 ? all.filter(function (item) {
10325
+ var text = searchBy.map(function (field) {
10326
+ return item[field];
10327
+ }).join(' ').toLowerCase();
10328
+ return text.includes(search.toLowerCase());
10329
+ }) : all;
10330
+ var items = searched.map(function (item) {
10331
+ if (itemRenderer) return itemRenderer(item);
10312
10332
  return {
10313
10333
  id: item.id,
10314
10334
  icon: "folder",
@@ -10320,8 +10340,18 @@
10320
10340
  className: "collection-list"
10321
10341
  }, /*#__PURE__*/React__default["default"].createElement(List, {
10322
10342
  items: items,
10323
- onSelect: select
10324
- }));
10343
+ onSelect: select,
10344
+ groupBy: groupBy
10345
+ }), searchBy.length > 0 ? /*#__PURE__*/React__default["default"].createElement("div", {
10346
+ className: "search-box"
10347
+ }, /*#__PURE__*/React__default["default"].createElement(Icon, {
10348
+ icon: "search",
10349
+ size: "small"
10350
+ }), /*#__PURE__*/React__default["default"].createElement(TextField, {
10351
+ placeholder: "Search",
10352
+ onChange: changeSearch,
10353
+ outlined: true
10354
+ })) : null);
10325
10355
  };
10326
10356
 
10327
10357
  /**
@@ -10347,6 +10377,9 @@
10347
10377
  title = props.title,
10348
10378
  canFilter = props.canFilter,
10349
10379
  customFilters = props.customFilters,
10380
+ listGroupBy = props.listGroupBy,
10381
+ listSearchBy = props.listSearchBy,
10382
+ listItemRenderer = props.listItemRenderer,
10350
10383
  customEditor = props.customEditor;
10351
10384
  return /*#__PURE__*/React__default["default"].createElement("div", {
10352
10385
  className: "collection-page " + layout
@@ -10357,7 +10390,11 @@
10357
10390
  title: title
10358
10391
  }), canFilter ? /*#__PURE__*/React__default["default"].createElement(CollectionFilters, {
10359
10392
  schema: schema
10360
- }, customFilters) : null, /*#__PURE__*/React__default["default"].createElement(CollectionList, null), /*#__PURE__*/React__default["default"].createElement(CollectionEditor, {
10393
+ }, customFilters) : null, /*#__PURE__*/React__default["default"].createElement(CollectionList, {
10394
+ itemRenderer: listItemRenderer,
10395
+ groupBy: listGroupBy,
10396
+ searchBy: listSearchBy
10397
+ }), /*#__PURE__*/React__default["default"].createElement(CollectionEditor, {
10361
10398
  customEditor: customEditor
10362
10399
  })));
10363
10400
  };