ywana-core8 0.0.680 → 0.0.682

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
@@ -17,6 +17,41 @@ var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment$1);
17
17
  var ResumableJS__default = /*#__PURE__*/_interopDefaultLegacy(ResumableJS);
18
18
  var equal__default = /*#__PURE__*/_interopDefaultLegacy(equal);
19
19
 
20
+ /**
21
+ * isEmpty
22
+ *
23
+ * @param {*} obj
24
+ * @returns
25
+ */
26
+ function isEmpty(obj) {
27
+ // null
28
+ if (obj === null) {
29
+ return true;
30
+ } // undefined
31
+
32
+
33
+ if (obj === undefined) {
34
+ return true;
35
+ } // empty string
36
+
37
+
38
+ if (typeof obj === "string" && obj.length === 0) {
39
+ return true;
40
+ } // empty array
41
+
42
+
43
+ if (Array.isArray(obj) && obj.length === 0) {
44
+ return true;
45
+ } // empty object
46
+
47
+
48
+ if (typeof obj === "object" && Object.keys(obj).length === 0 && obj.constructor === Object) {
49
+ return true;
50
+ }
51
+
52
+ return false;
53
+ }
54
+
20
55
  function _catch$5(body, recover) {
21
56
  try {
22
57
  var result = body();
@@ -5607,6 +5642,82 @@ var EditContentDialog = function EditContentDialog(_ref) {
5607
5642
  }));
5608
5643
  };
5609
5644
 
5645
+ /**
5646
+ * Collection API
5647
+ */
5648
+
5649
+ var CollectionAPI = function CollectionAPI(url, host) {
5650
+ var http = HTTPClient(host || window.API || process.env.REACT_APP_API, Session);
5651
+ /**
5652
+ * objectToQueryParamString
5653
+ *
5654
+ * @param {*} obj
5655
+ * @returns
5656
+ */
5657
+
5658
+ function objectToQueryParamString(obj, likes) {
5659
+ if (isEmpty(obj)) {
5660
+ return "";
5661
+ }
5662
+
5663
+ var notEmptyFields = Object.keys(obj).filter(function (key) {
5664
+ return !isEmpty(obj[key]);
5665
+ });
5666
+ var paramString = notEmptyFields.reduce(function (query, key) {
5667
+ var value = obj[key];
5668
+ var like = likes.includes(key) ? '%' : '';
5669
+
5670
+ if (Array.isArray(value)) {
5671
+ var values = value.map(function (v) {
5672
+ return key + "=" + like + v + like;
5673
+ }).join("&");
5674
+ return "" + query + values + "&";
5675
+ } else if (typeof value === "object") {
5676
+ var params = objectToQueryParamString(value, likes);
5677
+ params.split("&").forEach(function (param) {
5678
+ query = query.concat(key + "." + param + "&");
5679
+ });
5680
+ return query;
5681
+ } else {
5682
+ return "" + query + key + "=" + like + value + like + "&";
5683
+ }
5684
+ }, "");
5685
+ return paramString;
5686
+ }
5687
+
5688
+ return {
5689
+ all: function all(filters, likes, page) {
5690
+ var queryParams = page ? "?page=" + page + "&" : "?";
5691
+ var filterQuery = objectToQueryParamString(filters, likes);
5692
+ queryParams = "" + queryParams + filterQuery;
5693
+ queryParams = queryParams.substring(0, queryParams.length - 1);
5694
+ return http.GET("" + url + queryParams);
5695
+ },
5696
+ find: function find(id) {
5697
+ return http.GET(url + "/" + id);
5698
+ },
5699
+ create: function create(form) {
5700
+ var body = JSON.stringify(form);
5701
+ return http.POST(url, body);
5702
+ },
5703
+ update: function update(form) {
5704
+ var body = JSON.stringify(form);
5705
+ return http.PUT(url + "/" + form.id, body);
5706
+ },
5707
+ updateProperty: function updateProperty(id, propertyName, form) {
5708
+ var body = JSON.stringify(form);
5709
+ return http.PUT(url + "/" + id + "/" + propertyName, body);
5710
+ },
5711
+ patch: function patch(id, form) {
5712
+ var body = JSON.stringify(form);
5713
+ return http.PATCH(url + "/" + id, body);
5714
+ },
5715
+ remove: function remove(id) {
5716
+ return http.DELETE(url + "/" + id);
5717
+ }
5718
+ };
5719
+ };
5720
+
5610
5721
  /**
5611
5722
  * Collection Page
5612
5723
  */
@@ -5799,9 +5910,11 @@ var CollectionFilters = function CollectionFilters(props) {
5799
5910
  };
5800
5911
 
5801
5912
  var schema = props.schema,
5913
+ _props$initial = props.initial,
5914
+ initial = _props$initial === void 0 ? {} : _props$initial,
5802
5915
  onChange = props.onChange;
5803
5916
 
5804
- var _useState = React.useState({}),
5917
+ var _useState = React.useState(initial),
5805
5918
  form = _useState[0],
5806
5919
  setForm = _useState[1];
5807
5920
 
@@ -5841,9 +5954,10 @@ var CollectionFilters = function CollectionFilters(props) {
5841
5954
  }
5842
5955
 
5843
5956
  var content = new Content(filterSchema, form);
5957
+ var expanded = showFilters ? "expanded" : "";
5844
5958
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
5845
5959
  icon: "filter_list",
5846
- className: "filters-header"
5960
+ className: "filters-header " + expanded
5847
5961
  }, showFilters ? /*#__PURE__*/React__default["default"].createElement(Icon, {
5848
5962
  icon: "expand_less",
5849
5963
  size: "small",
@@ -5855,39 +5969,43 @@ var CollectionFilters = function CollectionFilters(props) {
5855
5969
  clickable: true,
5856
5970
  action: toggleFilters
5857
5971
  }), /*#__PURE__*/React__default["default"].createElement(FilterResume, {
5858
- form: form
5859
- })), showFilters ? /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement("nav", {
5860
- className: "collection-filters"
5861
- }, /*#__PURE__*/React__default["default"].createElement(Icon, {
5862
- icon: "clear_all",
5863
- size: "small",
5864
- clickable: true,
5865
- action: clear
5866
- })), /*#__PURE__*/React__default["default"].createElement("main", {
5972
+ schema: filterSchema,
5973
+ form: form,
5974
+ onClear: clear
5975
+ })), showFilters ? /*#__PURE__*/React__default["default"].createElement("div", {
5867
5976
  className: "collection-filters"
5868
5977
  }, /*#__PURE__*/React__default["default"].createElement(ContentEditor, {
5869
5978
  content: content,
5870
5979
  onChange: change
5871
- }))) : null);
5980
+ })) : null);
5872
5981
  };
5873
5982
 
5874
5983
  var FilterResume = function FilterResume(props) {
5875
- var _props$form = props.form,
5876
- form = _props$form === void 0 ? {} : _props$form;
5984
+ var schema = props.schema,
5985
+ _props$form = props.form,
5986
+ form = _props$form === void 0 ? {} : _props$form,
5987
+ onClear = props.onClear;
5877
5988
  var fields = Object.keys(form).filter(function (key) {
5878
5989
  return form[key] !== undefined && form[key] !== null && form[key] !== "";
5879
5990
  });
5880
- return /*#__PURE__*/React__default["default"].createElement("div", {
5991
+ return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, fields.length > 0 ? /*#__PURE__*/React__default["default"].createElement(Tooltip, {
5992
+ text: "Limpiar Filtros"
5993
+ }, /*#__PURE__*/React__default["default"].createElement(Icon, {
5994
+ icon: "clear_all",
5995
+ size: "small",
5996
+ clickable: true,
5997
+ action: onClear
5998
+ })) : null, /*#__PURE__*/React__default["default"].createElement("div", {
5881
5999
  className: "filters-resume"
5882
6000
  }, fields.length > 0 ? fields.map(function (key) {
5883
6001
  return /*#__PURE__*/React__default["default"].createElement("div", {
5884
6002
  className: "filter-field"
5885
- }, /*#__PURE__*/React__default["default"].createElement("label", null, key), /*#__PURE__*/React__default["default"].createElement("div", {
6003
+ }, /*#__PURE__*/React__default["default"].createElement("label", null, schema[key].label), /*#__PURE__*/React__default["default"].createElement("div", {
5886
6004
  className: "value"
5887
6005
  }, form[key]));
5888
6006
  }) : /*#__PURE__*/React__default["default"].createElement("div", {
5889
6007
  className: "placeholder"
5890
- }, "No se aplican filtros"));
6008
+ }, "No se aplican filtros")));
5891
6009
  };
5892
6010
  /**
5893
6011
  * Collection List
@@ -6097,7 +6215,6 @@ var CollectionTree = function CollectionTree(props) {
6097
6215
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(Tree, null, renderNodes(nodes))), /*#__PURE__*/React__default["default"].createElement("footer", null, /*#__PURE__*/React__default["default"].createElement("div", {
6098
6216
  className: "search-box"
6099
6217
  }, /*#__PURE__*/React__default["default"].createElement(TextField, {
6100
- icon: "search",
6101
6218
  label: "Search",
6102
6219
  onChange: changeSearch,
6103
6220
  outlined: true,
@@ -6410,61 +6527,6 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
6410
6527
  }
6411
6528
  };
6412
6529
  };
6413
- /**
6414
- * Collection API
6415
- */
6416
-
6417
- var CollectionAPI = function CollectionAPI(url, host) {
6418
- var http = HTTPClient(host || window.API || process.env.REACT_APP_API, Session);
6419
- return {
6420
- all: function all(filters, page) {
6421
- var queryParams = page ? "?page=" + page + "&" : "?";
6422
-
6423
- if (filters) {
6424
- var filterQuery = Object.keys(filters).reduce(function (query, key) {
6425
- var value = filters[key];
6426
-
6427
- if (typeof value === 'boolean') {
6428
- return query.concat(key + "=" + value + "&");
6429
- } else if (Array.isArray(value)) {
6430
- var param = value.length === 0 ? '' : value.reduce(function (param, item) {
6431
- param = param.concat(key + "=" + item + "&");
6432
- return param;
6433
- }, "");
6434
- return query.concat(param);
6435
- } else {
6436
- return query.concat(key + "=%" + filters[key] + "%&");
6437
- }
6438
- }, "");
6439
- queryParams = queryParams.concat(filterQuery);
6440
- }
6441
-
6442
- return http.GET(url + queryParams);
6443
- },
6444
- find: function find(id) {
6445
- return http.GET(url + "/" + id);
6446
- },
6447
- create: function create(form) {
6448
- var body = JSON.stringify(form);
6449
- return http.POST(url, body);
6450
- },
6451
- update: function update(form) {
6452
- var body = JSON.stringify(form);
6453
- return http.PUT(url + "/" + form.id, body);
6454
- },
6455
- patch: function patch(id, form) {
6456
- var body = JSON.stringify(form);
6457
- return http.PATCH(url + "/" + id, body);
6458
- },
6459
- updateProperty: function updateProperty(id, propertyName, form) {
6460
- var body = JSON.stringify(form);
6461
- return http.PUT(url + "/" + id + "/" + propertyName, body);
6462
- },
6463
- remove: function remove(id) {
6464
- return http.DELETE(url + "/" + id);
6465
- }
6466
- };
6467
- };
6468
6530
 
6469
6531
  var QUERY = {
6470
6532
  id: {
@@ -10141,5 +10203,6 @@ exports.Viewer = Viewer;
10141
10203
  exports.WaitScreen = WaitScreen;
10142
10204
  exports.Wizard = Wizard;
10143
10205
  exports.WizardContext = WizardContext;
10206
+ exports.isEmpty = isEmpty;
10144
10207
  exports.isFunction = isFunction;
10145
10208
  //# sourceMappingURL=index.cjs.map