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.cjs CHANGED
@@ -10301,20 +10301,40 @@ var CollectionFiltersResume = function CollectionFiltersResume(props) {
10301
10301
  */
10302
10302
 
10303
10303
  var CollectionList = function CollectionList(props) {
10304
+ var itemRenderer = props.itemRenderer,
10305
+ groupBy = props.groupBy,
10306
+ _props$searchBy = props.searchBy,
10307
+ searchBy = _props$searchBy === void 0 ? [] : _props$searchBy;
10304
10308
  var context = React.useContext(CollectionContext);
10305
10309
  var _context$all = context.all,
10306
10310
  all = _context$all === void 0 ? [] : _context$all,
10307
10311
  filters = context.filters,
10308
10312
  customFilters = context.customFilters;
10313
+
10314
+ var _useState = React.useState(''),
10315
+ search = _useState[0],
10316
+ setSearch = _useState[1];
10317
+
10309
10318
  React.useEffect(function () {
10310
10319
  context.load();
10311
10320
  }, [filters, customFilters]);
10312
10321
 
10322
+ function changeSearch(id, value) {
10323
+ setSearch(value);
10324
+ }
10325
+
10313
10326
  function select(id) {
10314
10327
  context.select(id);
10315
10328
  }
10316
10329
 
10317
- var items = all.map(function (item) {
10330
+ var searched = searchBy.length > 0 && search.length > 0 ? all.filter(function (item) {
10331
+ var text = searchBy.map(function (field) {
10332
+ return item[field];
10333
+ }).join(' ').toLowerCase();
10334
+ return text.includes(search.toLowerCase());
10335
+ }) : all;
10336
+ var items = searched.map(function (item) {
10337
+ if (itemRenderer) return itemRenderer(item);
10318
10338
  return {
10319
10339
  id: item.id,
10320
10340
  icon: "folder",
@@ -10326,8 +10346,18 @@ var CollectionList = function CollectionList(props) {
10326
10346
  className: "collection-list"
10327
10347
  }, /*#__PURE__*/React__default["default"].createElement(List, {
10328
10348
  items: items,
10329
- onSelect: select
10330
- }));
10349
+ onSelect: select,
10350
+ groupBy: groupBy
10351
+ }), searchBy.length > 0 ? /*#__PURE__*/React__default["default"].createElement("div", {
10352
+ className: "search-box"
10353
+ }, /*#__PURE__*/React__default["default"].createElement(Icon, {
10354
+ icon: "search",
10355
+ size: "small"
10356
+ }), /*#__PURE__*/React__default["default"].createElement(TextField, {
10357
+ placeholder: "Search",
10358
+ onChange: changeSearch,
10359
+ outlined: true
10360
+ })) : null);
10331
10361
  };
10332
10362
 
10333
10363
  /**
@@ -10353,6 +10383,9 @@ var CollectionPage = function CollectionPage(props) {
10353
10383
  title = props.title,
10354
10384
  canFilter = props.canFilter,
10355
10385
  customFilters = props.customFilters,
10386
+ listGroupBy = props.listGroupBy,
10387
+ listSearchBy = props.listSearchBy,
10388
+ listItemRenderer = props.listItemRenderer,
10356
10389
  customEditor = props.customEditor;
10357
10390
  return /*#__PURE__*/React__default["default"].createElement("div", {
10358
10391
  className: "collection-page " + layout
@@ -10363,7 +10396,11 @@ var CollectionPage = function CollectionPage(props) {
10363
10396
  title: title
10364
10397
  }), canFilter ? /*#__PURE__*/React__default["default"].createElement(CollectionFilters, {
10365
10398
  schema: schema
10366
- }, customFilters) : null, /*#__PURE__*/React__default["default"].createElement(CollectionList, null), /*#__PURE__*/React__default["default"].createElement(CollectionEditor, {
10399
+ }, customFilters) : null, /*#__PURE__*/React__default["default"].createElement(CollectionList, {
10400
+ itemRenderer: listItemRenderer,
10401
+ groupBy: listGroupBy,
10402
+ searchBy: listSearchBy
10403
+ }), /*#__PURE__*/React__default["default"].createElement(CollectionEditor, {
10367
10404
  customEditor: customEditor
10368
10405
  })));
10369
10406
  };