ywana-core8 0.0.293 → 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.
package/dist/index.cjs CHANGED
@@ -7,6 +7,7 @@ var ResumableJS = require('resumablejs');
7
7
  var reactNotificationsComponent = require('react-notifications-component');
8
8
  require('react-notifications-component/dist/theme.css');
9
9
  var equal = require('deep-equal');
10
+ var ywanaCore8 = require('ywana-core8');
10
11
 
11
12
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
13
 
@@ -5007,6 +5008,22 @@ var EntityViewer = function EntityViewer(props) {
5007
5008
  })));
5008
5009
  };
5009
5010
 
5011
+ var QUERY = {
5012
+ id: {
5013
+ section: "Info",
5014
+ id: "id",
5015
+ type: ywanaCore8.TYPES.STRING,
5016
+ editable: false
5017
+ },
5018
+ name: {
5019
+ section: "Info",
5020
+ id: "name",
5021
+ type: ywanaCore8.TYPES.STRING,
5022
+ required: true,
5023
+ label: "Name"
5024
+ }
5025
+ };
5026
+
5010
5027
  /**
5011
5028
  * Table Page
5012
5029
  */
@@ -5172,6 +5189,25 @@ var TablePage = function TablePage(props) {
5172
5189
  }));
5173
5190
  }
5174
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__default["default"].createElement(CreateContentDialog, {
5205
+ label: "Nueva query",
5206
+ type: QUERY,
5207
+ onOK: onOK
5208
+ }));
5209
+ }
5210
+
5175
5211
  function change(next) {
5176
5212
  setForm(next);
5177
5213
  }
@@ -5239,7 +5275,8 @@ var TablePage = function TablePage(props) {
5239
5275
  }, canQuery ? /*#__PURE__*/React__default["default"].createElement(TableQueries, {
5240
5276
  schema: schema
5241
5277
  }) : null, canFilter ? /*#__PURE__*/React__default["default"].createElement(TableFilters, {
5242
- schema: schema
5278
+ schema: schema,
5279
+ onSave: saveQuery
5243
5280
  }) : null) : null, /*#__PURE__*/React__default["default"].createElement("main", {
5244
5281
  key: id,
5245
5282
  className: "table-page"
@@ -5340,12 +5377,23 @@ var TableSelector = function TableSelector(props) {
5340
5377
 
5341
5378
 
5342
5379
  var TableQueries = function TableQueries(props) {
5380
+ var _useContext3 = React.useContext(PageContext),
5381
+ pageContext = _useContext3[0];
5382
+
5383
+ React.useEffect(function () {
5384
+ pageContext.loadQueries();
5385
+ }, []);
5386
+ var queries = [1, 2, 3];
5343
5387
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
5344
5388
  className: "table-queries",
5345
5389
  title: /*#__PURE__*/React__default["default"].createElement(Text, null, "Queries")
5346
5390
  }), /*#__PURE__*/React__default["default"].createElement("main", {
5347
5391
  className: "table-queries"
5348
- }, "..."));
5392
+ }, queries.map(function (query) {
5393
+ return /*#__PURE__*/React__default["default"].createElement("div", {
5394
+ className: "table-queries-item"
5395
+ });
5396
+ })));
5349
5397
  };
5350
5398
  /**
5351
5399
  * Table Filters
@@ -5364,11 +5412,12 @@ var TableFilters = function TableFilters(props) {
5364
5412
  }
5365
5413
  };
5366
5414
 
5367
- var _useContext3 = React.useContext(PageContext),
5368
- pageContext = _useContext3[0],
5369
- setPageContext = _useContext3[1];
5415
+ var _useContext4 = React.useContext(PageContext),
5416
+ pageContext = _useContext4[0],
5417
+ setPageContext = _useContext4[1];
5370
5418
 
5371
- var schema = props.schema;
5419
+ var schema = props.schema,
5420
+ onSave = props.onSave;
5372
5421
 
5373
5422
  var _useState2 = React.useState({}),
5374
5423
  form = _useState2[0],
@@ -5392,6 +5441,10 @@ var TableFilters = function TableFilters(props) {
5392
5441
  change({});
5393
5442
  }
5394
5443
 
5444
+ function save() {
5445
+ if (onSave) onSave(form);
5446
+ }
5447
+
5395
5448
  var content = new Content(filterSchema, form);
5396
5449
  return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
5397
5450
  className: "table-filters",
@@ -5406,7 +5459,12 @@ var TableFilters = function TableFilters(props) {
5406
5459
  }, /*#__PURE__*/React__default["default"].createElement(ContentEditor, {
5407
5460
  content: content,
5408
5461
  onChange: change
5409
- })));
5462
+ })), /*#__PURE__*/React__default["default"].createElement("footer", null, canQuery ? /*#__PURE__*/React__default["default"].createElement(Button, {
5463
+ icon: "playlist_add",
5464
+ label: "CREAR BUSQUEDA",
5465
+ action: save,
5466
+ outlined: true
5467
+ }) : null));
5410
5468
  };
5411
5469
  /**
5412
5470
  * Table Editor
@@ -5461,9 +5519,9 @@ var TableEditor = function TableEditor(props) {
5461
5519
 
5462
5520
  var site = React.useContext(SiteContext);
5463
5521
 
5464
- var _useContext4 = React.useContext(PageContext),
5465
- pageContext = _useContext4[0],
5466
- setPageContext = _useContext4[1];
5522
+ var _useContext5 = React.useContext(PageContext),
5523
+ pageContext = _useContext5[0],
5524
+ setPageContext = _useContext5[1];
5467
5525
 
5468
5526
  var _pageContext$all = pageContext.all,
5469
5527
  all = _pageContext$all === void 0 ? [] : _pageContext$all;
@@ -5642,6 +5700,7 @@ var TableContext = function TableContext(url, field, host) {
5642
5700
  checked: new Set([]),
5643
5701
  selected: null,
5644
5702
  filters: {},
5703
+ queries: [],
5645
5704
  load: function load(filter) {
5646
5705
  try {
5647
5706
  var _this2 = this;
@@ -5743,6 +5802,57 @@ var TableContext = function TableContext(url, field, host) {
5743
5802
  },
5744
5803
  changeFilters: function changeFilters(filters) {
5745
5804
  this.filters = filters;
5805
+ },
5806
+ loadQueries: function loadQueries() {
5807
+ try {
5808
+ var _this11 = this;
5809
+
5810
+ var _temp11 = _catch(function () {
5811
+ return Promise.resolve(API.queries()).then(function (_API$queries) {
5812
+ _this11.queries = _API$queries;
5813
+ });
5814
+ }, function (error) {
5815
+ console.log(error);
5816
+ });
5817
+
5818
+ return Promise.resolve(_temp11 && _temp11.then ? _temp11.then(function () {}) : void 0);
5819
+ } catch (e) {
5820
+ return Promise.reject(e);
5821
+ }
5822
+ },
5823
+ createQuery: function createQuery(query) {
5824
+ try {
5825
+ var _this13 = this;
5826
+
5827
+ var _temp13 = _catch(function () {
5828
+ return Promise.resolve(API.createQuery(query)).then(function () {
5829
+ _this13.loadQueries();
5830
+ });
5831
+ }, function (error) {
5832
+ console.log(error);
5833
+ });
5834
+
5835
+ return Promise.resolve(_temp13 && _temp13.then ? _temp13.then(function () {}) : void 0);
5836
+ } catch (e) {
5837
+ return Promise.reject(e);
5838
+ }
5839
+ },
5840
+ removeQuery: function removeQuery(id) {
5841
+ try {
5842
+ var _this15 = this;
5843
+
5844
+ var _temp15 = _catch(function () {
5845
+ return Promise.resolve(API.removeQuery(id)).then(function () {
5846
+ return Promise.resolve(_this15.loadQueries()).then(function () {});
5847
+ });
5848
+ }, function (error) {
5849
+ console.log(error);
5850
+ });
5851
+
5852
+ return Promise.resolve(_temp15 && _temp15.then ? _temp15.then(function () {}) : void 0);
5853
+ } catch (e) {
5854
+ return Promise.reject(e);
5855
+ }
5746
5856
  }
5747
5857
  };
5748
5858
  };
@@ -5791,6 +5901,16 @@ var TableAPI = function TableAPI(url, host) {
5791
5901
  },
5792
5902
  remove: function remove(id) {
5793
5903
  return http.DELETE(url + "/" + id);
5904
+ },
5905
+ queries: function queries() {
5906
+ return http.GET(url + "/queries");
5907
+ },
5908
+ createQuery: function createQuery(form) {
5909
+ var body = JSON.stringify(form);
5910
+ return http.POST(url + "/queries", body);
5911
+ },
5912
+ removeQuery: function removeQuery(id) {
5913
+ return http.DELETE(url + "/queries/" + id);
5794
5914
  }
5795
5915
  };
5796
5916
  };