ywana-core8 0.0.295 → 0.0.298

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.
@@ -7,6 +7,7 @@ import ResumableJS from 'resumablejs';
7
7
  import { ReactNotifications, Store } from 'react-notifications-component';
8
8
  import 'react-notifications-component/dist/theme.css';
9
9
  import equal from 'deep-equal';
10
+ import { TYPES as TYPES$1 } from 'ywana-core8';
10
11
 
11
12
  function _catch$2(body, recover) {
12
13
  try {
@@ -4999,6 +5000,22 @@ var EntityViewer = function EntityViewer(props) {
4999
5000
  })));
5000
5001
  };
5001
5002
 
5003
+ var QUERY = {
5004
+ id: {
5005
+ section: "Info",
5006
+ id: "id",
5007
+ type: TYPES$1.STRING,
5008
+ editable: false
5009
+ },
5010
+ name: {
5011
+ section: "Info",
5012
+ id: "name",
5013
+ type: TYPES$1.STRING,
5014
+ required: true,
5015
+ label: "Name"
5016
+ }
5017
+ };
5018
+
5002
5019
  /**
5003
5020
  * Table Page
5004
5021
  */
@@ -5137,7 +5154,15 @@ var TablePage = function TablePage(props) {
5137
5154
  try {
5138
5155
  var context = TableContext(url, field, host);
5139
5156
  return Promise.resolve(context.load()).then(function () {
5140
- setPageContext(context);
5157
+ function _temp2() {
5158
+ setPageContext(context);
5159
+ }
5160
+
5161
+ var _temp = function () {
5162
+ if (canQuery) return Promise.resolve(context.loadQueries()).then(function () {});
5163
+ }();
5164
+
5165
+ return _temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp);
5141
5166
  });
5142
5167
  } catch (e) {
5143
5168
  return Promise.reject(e);
@@ -5164,6 +5189,25 @@ var TablePage = function TablePage(props) {
5164
5189
  }));
5165
5190
  }
5166
5191
 
5192
+ function saveQuery(filters) {
5193
+ var onOK = function onOK(form) {
5194
+ try {
5195
+ form.filters = filters;
5196
+ return Promise.resolve(pageContext.createQuery(form)).then(function () {
5197
+ setPageContext(Object.assign({}, pageContext));
5198
+ });
5199
+ } catch (e) {
5200
+ return Promise.reject(e);
5201
+ }
5202
+ };
5203
+
5204
+ site.openDialog( /*#__PURE__*/React.createElement(CreateContentDialog, {
5205
+ label: "Nueva query",
5206
+ type: QUERY,
5207
+ onOK: onOK
5208
+ }));
5209
+ }
5210
+
5167
5211
  function change(next) {
5168
5212
  setForm(next);
5169
5213
  }
@@ -5231,7 +5275,8 @@ var TablePage = function TablePage(props) {
5231
5275
  }, canQuery ? /*#__PURE__*/React.createElement(TableQueries, {
5232
5276
  schema: schema
5233
5277
  }) : null, canFilter ? /*#__PURE__*/React.createElement(TableFilters, {
5234
- schema: schema
5278
+ schema: schema,
5279
+ onSave: saveQuery
5235
5280
  }) : null) : null, /*#__PURE__*/React.createElement("main", {
5236
5281
  key: id,
5237
5282
  className: "table-page"
@@ -5332,12 +5377,39 @@ var TableSelector = function TableSelector(props) {
5332
5377
 
5333
5378
 
5334
5379
  var TableQueries = function TableQueries(props) {
5380
+ function remove(id) {
5381
+ alert("TODO: remove query");
5382
+ }
5383
+
5384
+ var queries = [{
5385
+ name: "Query 1",
5386
+ filters: {}
5387
+ }, {
5388
+ name: "Query 2",
5389
+ filters: {}
5390
+ }, {
5391
+ name: "Query 3",
5392
+ filters: {}
5393
+ }];
5335
5394
  return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Header, {
5336
5395
  className: "table-queries",
5337
5396
  title: /*#__PURE__*/React.createElement(Text, null, "Queries")
5338
5397
  }), /*#__PURE__*/React.createElement("main", {
5339
5398
  className: "table-queries"
5340
- }, "..."));
5399
+ }, queries.map(function (query) {
5400
+ return /*#__PURE__*/React.createElement("div", {
5401
+ className: "table-queries-item"
5402
+ }, /*#__PURE__*/React.createElement(Icon, {
5403
+ icon: "star"
5404
+ }), /*#__PURE__*/React.createElement("label", null, query.name), /*#__PURE__*/React.createElement(Icon, {
5405
+ icon: "close",
5406
+ clickable: true,
5407
+ size: "small",
5408
+ action: function action() {
5409
+ return remove();
5410
+ }
5411
+ }));
5412
+ })));
5341
5413
  };
5342
5414
  /**
5343
5415
  * Table Filters
@@ -5360,7 +5432,8 @@ var TableFilters = function TableFilters(props) {
5360
5432
  pageContext = _useContext3[0],
5361
5433
  setPageContext = _useContext3[1];
5362
5434
 
5363
- var schema = props.schema;
5435
+ var schema = props.schema,
5436
+ onSave = props.onSave;
5364
5437
 
5365
5438
  var _useState2 = useState({}),
5366
5439
  form = _useState2[0],
@@ -5384,6 +5457,10 @@ var TableFilters = function TableFilters(props) {
5384
5457
  change({});
5385
5458
  }
5386
5459
 
5460
+ function save() {
5461
+ if (onSave) onSave(form);
5462
+ }
5463
+
5387
5464
  var content = new Content(filterSchema, form);
5388
5465
  return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Header, {
5389
5466
  className: "table-filters",
@@ -5398,7 +5475,12 @@ var TableFilters = function TableFilters(props) {
5398
5475
  }, /*#__PURE__*/React.createElement(ContentEditor, {
5399
5476
  content: content,
5400
5477
  onChange: change
5401
- })));
5478
+ })), /*#__PURE__*/React.createElement("footer", null, onSave ? /*#__PURE__*/React.createElement(Button, {
5479
+ icon: "playlist_add",
5480
+ label: "CREAR BUSQUEDA",
5481
+ action: save,
5482
+ outlined: true
5483
+ }) : null));
5402
5484
  };
5403
5485
  /**
5404
5486
  * Table Editor
@@ -5435,7 +5517,7 @@ var TableEditor = function TableEditor(props) {
5435
5517
  var remove = function remove(id) {
5436
5518
  try {
5437
5519
  return Promise.resolve(site.confirm("Are you sure ?")).then(function (confirm) {
5438
- var _temp = function () {
5520
+ var _temp3 = function () {
5439
5521
  if (confirm) {
5440
5522
  return Promise.resolve(pageContext.remove(id)).then(function () {
5441
5523
  pageContext.clear();
@@ -5444,7 +5526,7 @@ var TableEditor = function TableEditor(props) {
5444
5526
  }
5445
5527
  }();
5446
5528
 
5447
- if (_temp && _temp.then) return _temp.then(function () {});
5529
+ if (_temp3 && _temp3.then) return _temp3.then(function () {});
5448
5530
  });
5449
5531
  } catch (e) {
5450
5532
  return Promise.reject(e);
@@ -5634,11 +5716,12 @@ var TableContext = function TableContext(url, field, host) {
5634
5716
  checked: new Set([]),
5635
5717
  selected: null,
5636
5718
  filters: {},
5719
+ queries: [],
5637
5720
  load: function load(filter) {
5638
5721
  try {
5639
5722
  var _this2 = this;
5640
5723
 
5641
- var _temp3 = _catch(function () {
5724
+ var _temp5 = _catch(function () {
5642
5725
  var filters = filter ? Object.keys(filter).reduce(function (filters, key) {
5643
5726
  var field = filter[key];
5644
5727
  if (field) filters[key] = field;
@@ -5651,7 +5734,7 @@ var TableContext = function TableContext(url, field, host) {
5651
5734
  console.log(error);
5652
5735
  });
5653
5736
 
5654
- return Promise.resolve(_temp3 && _temp3.then ? _temp3.then(function () {}) : void 0);
5737
+ return Promise.resolve(_temp5 && _temp5.then ? _temp5.then(function () {}) : void 0);
5655
5738
  } catch (e) {
5656
5739
  return Promise.reject(e);
5657
5740
  }
@@ -5686,7 +5769,7 @@ var TableContext = function TableContext(url, field, host) {
5686
5769
  try {
5687
5770
  var _this5 = this;
5688
5771
 
5689
- var _temp5 = _catch(function () {
5772
+ var _temp7 = _catch(function () {
5690
5773
  return Promise.resolve(API.create(form)).then(function () {
5691
5774
  return Promise.resolve(_this5.load()).then(function () {});
5692
5775
  });
@@ -5694,7 +5777,7 @@ var TableContext = function TableContext(url, field, host) {
5694
5777
  console.log(error);
5695
5778
  });
5696
5779
 
5697
- return Promise.resolve(_temp5 && _temp5.then ? _temp5.then(function () {}) : void 0);
5780
+ return Promise.resolve(_temp7 && _temp7.then ? _temp7.then(function () {}) : void 0);
5698
5781
  } catch (e) {
5699
5782
  return Promise.reject(e);
5700
5783
  }
@@ -5703,7 +5786,7 @@ var TableContext = function TableContext(url, field, host) {
5703
5786
  try {
5704
5787
  var _this7 = this;
5705
5788
 
5706
- var _temp7 = _catch(function () {
5789
+ var _temp9 = _catch(function () {
5707
5790
  return Promise.resolve(API.update(form)).then(function () {
5708
5791
  return Promise.resolve(_this7.load()).then(function () {});
5709
5792
  });
@@ -5711,7 +5794,7 @@ var TableContext = function TableContext(url, field, host) {
5711
5794
  console.log(error);
5712
5795
  });
5713
5796
 
5714
- return Promise.resolve(_temp7 && _temp7.then ? _temp7.then(function () {}) : void 0);
5797
+ return Promise.resolve(_temp9 && _temp9.then ? _temp9.then(function () {}) : void 0);
5715
5798
  } catch (e) {
5716
5799
  return Promise.reject(e);
5717
5800
  }
@@ -5720,7 +5803,7 @@ var TableContext = function TableContext(url, field, host) {
5720
5803
  try {
5721
5804
  var _this9 = this;
5722
5805
 
5723
- var _temp9 = _catch(function () {
5806
+ var _temp11 = _catch(function () {
5724
5807
  return Promise.resolve(API.remove(id)).then(function () {
5725
5808
  return Promise.resolve(_this9.load()).then(function () {});
5726
5809
  });
@@ -5728,13 +5811,64 @@ var TableContext = function TableContext(url, field, host) {
5728
5811
  console.log(error);
5729
5812
  });
5730
5813
 
5731
- return Promise.resolve(_temp9 && _temp9.then ? _temp9.then(function () {}) : void 0);
5814
+ return Promise.resolve(_temp11 && _temp11.then ? _temp11.then(function () {}) : void 0);
5732
5815
  } catch (e) {
5733
5816
  return Promise.reject(e);
5734
5817
  }
5735
5818
  },
5736
5819
  changeFilters: function changeFilters(filters) {
5737
5820
  this.filters = filters;
5821
+ },
5822
+ loadQueries: function loadQueries() {
5823
+ try {
5824
+ var _this11 = this;
5825
+
5826
+ var _temp13 = _catch(function () {
5827
+ return Promise.resolve(API.queries()).then(function (_API$queries) {
5828
+ _this11.queries = _API$queries;
5829
+ });
5830
+ }, function (error) {
5831
+ console.log(error);
5832
+ });
5833
+
5834
+ return Promise.resolve(_temp13 && _temp13.then ? _temp13.then(function () {}) : void 0);
5835
+ } catch (e) {
5836
+ return Promise.reject(e);
5837
+ }
5838
+ },
5839
+ createQuery: function createQuery(query) {
5840
+ try {
5841
+ var _this13 = this;
5842
+
5843
+ var _temp15 = _catch(function () {
5844
+ return Promise.resolve(API.createQuery(query)).then(function () {
5845
+ _this13.loadQueries();
5846
+ });
5847
+ }, function (error) {
5848
+ console.log(error);
5849
+ });
5850
+
5851
+ return Promise.resolve(_temp15 && _temp15.then ? _temp15.then(function () {}) : void 0);
5852
+ } catch (e) {
5853
+ return Promise.reject(e);
5854
+ }
5855
+ },
5856
+ removeQuery: function removeQuery(id) {
5857
+ try {
5858
+ var _this15 = this;
5859
+
5860
+ var _temp17 = _catch(function () {
5861
+ return Promise.resolve(API.removeQuery(id)).then(function () {
5862
+ return Promise.resolve(_this15.loadQueries()).then(function () {});
5863
+ });
5864
+ }, function (error) {
5865
+ console.log(error);
5866
+ });
5867
+
5868
+ return Promise.resolve(_temp17 && _temp17.then ? _temp17.then(function () {}) : void 0);
5869
+ } catch (e) {
5870
+ return Promise.reject(e);
5871
+ }
5738
5872
  }
5739
5873
  };
5740
5874
  };
@@ -5783,6 +5917,16 @@ var TableAPI = function TableAPI(url, host) {
5783
5917
  },
5784
5918
  remove: function remove(id) {
5785
5919
  return http.DELETE(url + "/" + id);
5920
+ },
5921
+ queries: function queries() {
5922
+ return http.GET(url + "/queries");
5923
+ },
5924
+ createQuery: function createQuery(form) {
5925
+ var body = JSON.stringify(form);
5926
+ return http.POST(url + "/queries", body);
5927
+ },
5928
+ removeQuery: function removeQuery(id) {
5929
+ return http.DELETE(url + "/queries/" + id);
5786
5930
  }
5787
5931
  };
5788
5932
  };