ywana-core8 0.0.706 → 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
@@ -9876,13 +9876,83 @@ function _catch$1(body, recover) {
9876
9876
 
9877
9877
  var CollectionContext = React__default["default"].createContext();
9878
9878
  var CollectionContextProvider = function CollectionContextProvider(props) {
9879
+ var fetch = function fetch(id) {
9880
+ try {
9881
+ return Promise.resolve(_catch$1(function () {
9882
+ return Promise.resolve(API.find(id));
9883
+ }, function (error) {
9884
+ console.log(error);
9885
+ }));
9886
+ } catch (e) {
9887
+ return Promise.reject(e);
9888
+ }
9889
+ };
9890
+ /*
9891
+ async function reloadSelection() {
9892
+ const result = await this.fetch(this.selected.id)
9893
+ this.selected = result
9894
+ }
9895
+ function clear() {
9896
+ this.selected = null
9897
+ }
9898
+ async function create(form) {
9899
+ try {
9900
+ if (versioning) form.version = 1
9901
+ await API.create(form);
9902
+ await this.load();
9903
+ } catch (error) {
9904
+ console.log(error)
9905
+ }
9906
+ return
9907
+ }
9908
+ async function update(form) {
9909
+ try {
9910
+ if (versioning) form.version = form.version ? form.version + 1 : 1
9911
+ await API.update(form)
9912
+ await this.load()
9913
+ } catch (error) {
9914
+ console.log(error)
9915
+ }
9916
+ return
9917
+ }
9918
+ async function patch(id, form) {
9919
+ try {
9920
+ if (versioning) form.version = form.version ? form.version + 1 : 1
9921
+ await API.patch(id, form)
9922
+ await this.load()
9923
+ } catch (error) {
9924
+ console.log(error)
9925
+ }
9926
+ return
9927
+ }
9928
+ async function updateProperty(id, propertyName, form) {
9929
+ try {
9930
+ await API.updateProperty(id, propertyName, form)
9931
+ await this.load()
9932
+ } catch (error) {
9933
+ console.log(error)
9934
+ }
9935
+ return
9936
+ }
9937
+ async function remove(id) {
9938
+ try {
9939
+ await API.remove(id)
9940
+ await this.load()
9941
+ } catch (error) {
9942
+ console.log(error)
9943
+ }
9944
+ return
9945
+ }
9946
+ */
9947
+
9948
+
9879
9949
  var select = function select(id) {
9880
9950
  try {
9881
9951
  var _this2 = this;
9882
9952
 
9883
9953
  var _temp2 = function () {
9884
9954
  if (fetching) {
9885
- return Promise.resolve(_this2.fetch(id)).then(function (result) {
9955
+ return Promise.resolve(fetch(id)).then(function (result) {
9886
9956
  setSelected(result);
9887
9957
  });
9888
9958
  } else {
@@ -9971,80 +10041,6 @@ var CollectionContextProvider = function CollectionContextProvider(props) {
9971
10041
  delete next[id];
9972
10042
  setCustomFilters(next);
9973
10043
  }
9974
- /*
9975
- async function reloadSelection() {
9976
- const result = await this.fetch(this.selected.id)
9977
- this.selected = result
9978
- }
9979
-
9980
- async function fetch(id) {
9981
- try {
9982
- const result = await API.find(id)
9983
- return result
9984
- } catch (error) {
9985
- console.log(error)
9986
- }
9987
- }
9988
-
9989
- function clear() {
9990
- this.selected = null
9991
- }
9992
-
9993
- async function create(form) {
9994
- try {
9995
- if (versioning) form.version = 1
9996
- await API.create(form);
9997
- await this.load();
9998
- } catch (error) {
9999
- console.log(error)
10000
- }
10001
- return
10002
- }
10003
-
10004
- async function update(form) {
10005
- try {
10006
- if (versioning) form.version = form.version ? form.version + 1 : 1
10007
- await API.update(form)
10008
- await this.load()
10009
- } catch (error) {
10010
- console.log(error)
10011
- }
10012
- return
10013
- }
10014
-
10015
- async function patch(id, form) {
10016
- try {
10017
- if (versioning) form.version = form.version ? form.version + 1 : 1
10018
- await API.patch(id, form)
10019
- await this.load()
10020
- } catch (error) {
10021
- console.log(error)
10022
- }
10023
- return
10024
- }
10025
-
10026
- async function updateProperty(id, propertyName, form) {
10027
- try {
10028
- await API.updateProperty(id, propertyName, form)
10029
- await this.load()
10030
- } catch (error) {
10031
- console.log(error)
10032
- }
10033
- return
10034
- }
10035
-
10036
- async function remove(id) {
10037
- try {
10038
- await API.remove(id)
10039
- await this.load()
10040
- } catch (error) {
10041
- console.log(error)
10042
- }
10043
- return
10044
- }
10045
-
10046
- */
10047
-
10048
10044
 
10049
10045
  var value = {
10050
10046
  all: all,
@@ -10243,7 +10239,7 @@ var CollectionFilters = function CollectionFilters(props) {
10243
10239
  function change(id, value) {
10244
10240
  var _extends2;
10245
10241
 
10246
- context.setFilters(_extends({}, filters, (_extends2 = {}, _extends2[id] = value, _extends2)));
10242
+ if (filters) context.setFilters(_extends({}, filters, (_extends2 = {}, _extends2[id] = value, _extends2)));
10247
10243
  }
10248
10244
 
10249
10245
  function toggle() {
@@ -10305,16 +10301,42 @@ var CollectionFiltersResume = function CollectionFiltersResume(props) {
10305
10301
  */
10306
10302
 
10307
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;
10308
10308
  var context = React.useContext(CollectionContext);
10309
10309
  var _context$all = context.all,
10310
10310
  all = _context$all === void 0 ? [] : _context$all,
10311
10311
  filters = context.filters,
10312
10312
  customFilters = context.customFilters;
10313
+
10314
+ var _useState = React.useState(''),
10315
+ search = _useState[0],
10316
+ setSearch = _useState[1];
10317
+
10313
10318
  React.useEffect(function () {
10314
10319
  context.load();
10315
10320
  }, [filters, customFilters]);
10316
- var items = all.map(function (item) {
10321
+
10322
+ function changeSearch(id, value) {
10323
+ setSearch(value);
10324
+ }
10325
+
10326
+ function select(id) {
10327
+ context.select(id);
10328
+ }
10329
+
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);
10317
10338
  return {
10339
+ id: item.id,
10318
10340
  icon: "folder",
10319
10341
  line1: item.name,
10320
10342
  meta: item.state
@@ -10323,8 +10345,19 @@ var CollectionList = function CollectionList(props) {
10323
10345
  return /*#__PURE__*/React__default["default"].createElement("div", {
10324
10346
  className: "collection-list"
10325
10347
  }, /*#__PURE__*/React__default["default"].createElement(List, {
10326
- items: items
10327
- }));
10348
+ items: items,
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);
10328
10361
  };
10329
10362
 
10330
10363
  /**
@@ -10332,10 +10365,10 @@ var CollectionList = function CollectionList(props) {
10332
10365
  */
10333
10366
 
10334
10367
  var CollectionEditor = function CollectionEditor(props) {
10335
- React.useContext(CollectionContext);
10368
+ var customEditor = props.customEditor;
10336
10369
  return /*#__PURE__*/React__default["default"].createElement("div", {
10337
10370
  className: "collection-editor"
10338
- }, "editor");
10371
+ }, customEditor);
10339
10372
  };
10340
10373
 
10341
10374
  /**
@@ -10347,18 +10380,29 @@ var CollectionPage = function CollectionPage(props) {
10347
10380
  url = props.url,
10348
10381
  schema = props.schema,
10349
10382
  layout = props.layout,
10383
+ title = props.title,
10350
10384
  canFilter = props.canFilter,
10351
- customFilters = props.customFilters;
10385
+ customFilters = props.customFilters,
10386
+ listGroupBy = props.listGroupBy,
10387
+ listSearchBy = props.listSearchBy,
10388
+ listItemRenderer = props.listItemRenderer,
10389
+ customEditor = props.customEditor;
10352
10390
  return /*#__PURE__*/React__default["default"].createElement("div", {
10353
10391
  className: "collection-page " + layout
10354
10392
  }, /*#__PURE__*/React__default["default"].createElement(CollectionContextProvider, {
10355
10393
  host: host,
10356
10394
  url: url
10357
10395
  }, /*#__PURE__*/React__default["default"].createElement(Header, {
10358
- title: "CollectionPage"
10396
+ title: title
10359
10397
  }), canFilter ? /*#__PURE__*/React__default["default"].createElement(CollectionFilters, {
10360
10398
  schema: schema
10361
- }, customFilters) : null, /*#__PURE__*/React__default["default"].createElement(CollectionList, null), /*#__PURE__*/React__default["default"].createElement(CollectionEditor, null)));
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, {
10404
+ customEditor: customEditor
10405
+ })));
10362
10406
  };
10363
10407
 
10364
10408
  /**