ywana-core8 0.0.295 → 0.0.296

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
  */
@@ -5164,6 +5181,25 @@ var TablePage = function TablePage(props) {
5164
5181
  }));
5165
5182
  }
5166
5183
 
5184
+ function saveQuery(filters) {
5185
+ var onOK = function onOK(form) {
5186
+ try {
5187
+ form.filters = filters;
5188
+ return Promise.resolve(pageContext.createQuery(form)).then(function () {
5189
+ setPageContext(Object.assign({}, pageContext));
5190
+ });
5191
+ } catch (e) {
5192
+ return Promise.reject(e);
5193
+ }
5194
+ };
5195
+
5196
+ site.openDialog( /*#__PURE__*/React.createElement(CreateContentDialog, {
5197
+ label: "Nueva query",
5198
+ type: QUERY,
5199
+ onOK: onOK
5200
+ }));
5201
+ }
5202
+
5167
5203
  function change(next) {
5168
5204
  setForm(next);
5169
5205
  }
@@ -5231,7 +5267,8 @@ var TablePage = function TablePage(props) {
5231
5267
  }, canQuery ? /*#__PURE__*/React.createElement(TableQueries, {
5232
5268
  schema: schema
5233
5269
  }) : null, canFilter ? /*#__PURE__*/React.createElement(TableFilters, {
5234
- schema: schema
5270
+ schema: schema,
5271
+ onSave: saveQuery
5235
5272
  }) : null) : null, /*#__PURE__*/React.createElement("main", {
5236
5273
  key: id,
5237
5274
  className: "table-page"
@@ -5332,12 +5369,23 @@ var TableSelector = function TableSelector(props) {
5332
5369
 
5333
5370
 
5334
5371
  var TableQueries = function TableQueries(props) {
5372
+ var _useContext3 = useContext(PageContext),
5373
+ pageContext = _useContext3[0];
5374
+
5375
+ useEffect(function () {
5376
+ pageContext.loadQueries();
5377
+ }, []);
5378
+ var queries = [1, 2, 3];
5335
5379
  return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Header, {
5336
5380
  className: "table-queries",
5337
5381
  title: /*#__PURE__*/React.createElement(Text, null, "Queries")
5338
5382
  }), /*#__PURE__*/React.createElement("main", {
5339
5383
  className: "table-queries"
5340
- }, "..."));
5384
+ }, queries.map(function (query) {
5385
+ return /*#__PURE__*/React.createElement("div", {
5386
+ className: "table-queries-item"
5387
+ });
5388
+ })));
5341
5389
  };
5342
5390
  /**
5343
5391
  * Table Filters
@@ -5356,11 +5404,12 @@ var TableFilters = function TableFilters(props) {
5356
5404
  }
5357
5405
  };
5358
5406
 
5359
- var _useContext3 = useContext(PageContext),
5360
- pageContext = _useContext3[0],
5361
- setPageContext = _useContext3[1];
5407
+ var _useContext4 = useContext(PageContext),
5408
+ pageContext = _useContext4[0],
5409
+ setPageContext = _useContext4[1];
5362
5410
 
5363
- var schema = props.schema;
5411
+ var schema = props.schema,
5412
+ onSave = props.onSave;
5364
5413
 
5365
5414
  var _useState2 = useState({}),
5366
5415
  form = _useState2[0],
@@ -5384,6 +5433,10 @@ var TableFilters = function TableFilters(props) {
5384
5433
  change({});
5385
5434
  }
5386
5435
 
5436
+ function save() {
5437
+ if (onSave) onSave(form);
5438
+ }
5439
+
5387
5440
  var content = new Content(filterSchema, form);
5388
5441
  return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Header, {
5389
5442
  className: "table-filters",
@@ -5398,7 +5451,12 @@ var TableFilters = function TableFilters(props) {
5398
5451
  }, /*#__PURE__*/React.createElement(ContentEditor, {
5399
5452
  content: content,
5400
5453
  onChange: change
5401
- })));
5454
+ })), /*#__PURE__*/React.createElement("footer", null, canQuery ? /*#__PURE__*/React.createElement(Button, {
5455
+ icon: "playlist_add",
5456
+ label: "CREAR BUSQUEDA",
5457
+ action: save,
5458
+ outlined: true
5459
+ }) : null));
5402
5460
  };
5403
5461
  /**
5404
5462
  * Table Editor
@@ -5453,9 +5511,9 @@ var TableEditor = function TableEditor(props) {
5453
5511
 
5454
5512
  var site = useContext(SiteContext);
5455
5513
 
5456
- var _useContext4 = useContext(PageContext),
5457
- pageContext = _useContext4[0],
5458
- setPageContext = _useContext4[1];
5514
+ var _useContext5 = useContext(PageContext),
5515
+ pageContext = _useContext5[0],
5516
+ setPageContext = _useContext5[1];
5459
5517
 
5460
5518
  var _pageContext$all = pageContext.all,
5461
5519
  all = _pageContext$all === void 0 ? [] : _pageContext$all;
@@ -5634,6 +5692,7 @@ var TableContext = function TableContext(url, field, host) {
5634
5692
  checked: new Set([]),
5635
5693
  selected: null,
5636
5694
  filters: {},
5695
+ queries: [],
5637
5696
  load: function load(filter) {
5638
5697
  try {
5639
5698
  var _this2 = this;
@@ -5735,6 +5794,57 @@ var TableContext = function TableContext(url, field, host) {
5735
5794
  },
5736
5795
  changeFilters: function changeFilters(filters) {
5737
5796
  this.filters = filters;
5797
+ },
5798
+ loadQueries: function loadQueries() {
5799
+ try {
5800
+ var _this11 = this;
5801
+
5802
+ var _temp11 = _catch(function () {
5803
+ return Promise.resolve(API.queries()).then(function (_API$queries) {
5804
+ _this11.queries = _API$queries;
5805
+ });
5806
+ }, function (error) {
5807
+ console.log(error);
5808
+ });
5809
+
5810
+ return Promise.resolve(_temp11 && _temp11.then ? _temp11.then(function () {}) : void 0);
5811
+ } catch (e) {
5812
+ return Promise.reject(e);
5813
+ }
5814
+ },
5815
+ createQuery: function createQuery(query) {
5816
+ try {
5817
+ var _this13 = this;
5818
+
5819
+ var _temp13 = _catch(function () {
5820
+ return Promise.resolve(API.createQuery(query)).then(function () {
5821
+ _this13.loadQueries();
5822
+ });
5823
+ }, function (error) {
5824
+ console.log(error);
5825
+ });
5826
+
5827
+ return Promise.resolve(_temp13 && _temp13.then ? _temp13.then(function () {}) : void 0);
5828
+ } catch (e) {
5829
+ return Promise.reject(e);
5830
+ }
5831
+ },
5832
+ removeQuery: function removeQuery(id) {
5833
+ try {
5834
+ var _this15 = this;
5835
+
5836
+ var _temp15 = _catch(function () {
5837
+ return Promise.resolve(API.removeQuery(id)).then(function () {
5838
+ return Promise.resolve(_this15.loadQueries()).then(function () {});
5839
+ });
5840
+ }, function (error) {
5841
+ console.log(error);
5842
+ });
5843
+
5844
+ return Promise.resolve(_temp15 && _temp15.then ? _temp15.then(function () {}) : void 0);
5845
+ } catch (e) {
5846
+ return Promise.reject(e);
5847
+ }
5738
5848
  }
5739
5849
  };
5740
5850
  };
@@ -5783,6 +5893,16 @@ var TableAPI = function TableAPI(url, host) {
5783
5893
  },
5784
5894
  remove: function remove(id) {
5785
5895
  return http.DELETE(url + "/" + id);
5896
+ },
5897
+ queries: function queries() {
5898
+ return http.GET(url + "/queries");
5899
+ },
5900
+ createQuery: function createQuery(form) {
5901
+ var body = JSON.stringify(form);
5902
+ return http.POST(url + "/queries", body);
5903
+ },
5904
+ removeQuery: function removeQuery(id) {
5905
+ return http.DELETE(url + "/queries/" + id);
5786
5906
  }
5787
5907
  };
5788
5908
  };