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