ywana-core8 0.0.468 → 0.0.471

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.
@@ -8,7 +8,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
10
 
11
- function _catch$2(body, recover) {
11
+ function _catch$3(body, recover) {
12
12
  try {
13
13
  var result = body();
14
14
  } catch (e) {
@@ -40,7 +40,7 @@ var fetchAsync = function fetchAsync(method, URL, body, token, headers) {
40
40
  body: body
41
41
  };
42
42
  if (headers) request.headers = request.headers;
43
- return Promise.resolve(_catch$2(function () {
43
+ return Promise.resolve(_catch$3(function () {
44
44
  return Promise.resolve(fetch(URL, request)).then(function (response) {
45
45
  var _exit;
46
46
 
@@ -4646,7 +4646,7 @@ var EditContentDialog = function EditContentDialog(_ref) {
4646
4646
  * Collection Page
4647
4647
  */
4648
4648
 
4649
- function _catch$1(body, recover) {
4649
+ function _catch$2(body, recover) {
4650
4650
  try {
4651
4651
  var result = body();
4652
4652
  } catch (e) {
@@ -5033,7 +5033,7 @@ var CollectionContext = function CollectionContext(url, field, host, page) {
5033
5033
  try {
5034
5034
  var _this2 = this;
5035
5035
 
5036
- var _temp2 = _catch$1(function () {
5036
+ var _temp2 = _catch$2(function () {
5037
5037
  return Promise.resolve(API.all(null, page)).then(function (data) {
5038
5038
  _this2.all = field ? data[field] : data;
5039
5039
  });
@@ -5059,7 +5059,7 @@ var CollectionContext = function CollectionContext(url, field, host, page) {
5059
5059
  try {
5060
5060
  var _this4 = this;
5061
5061
 
5062
- var _temp4 = _catch$1(function () {
5062
+ var _temp4 = _catch$2(function () {
5063
5063
  return Promise.resolve(API.create(form)).then(function () {
5064
5064
  return Promise.resolve(_this4.load()).then(function () {});
5065
5065
  });
@@ -5076,7 +5076,7 @@ var CollectionContext = function CollectionContext(url, field, host, page) {
5076
5076
  try {
5077
5077
  var _this6 = this;
5078
5078
 
5079
- var _temp6 = _catch$1(function () {
5079
+ var _temp6 = _catch$2(function () {
5080
5080
  return Promise.resolve(API.update(form)).then(function () {
5081
5081
  return Promise.resolve(_this6.load()).then(function () {});
5082
5082
  });
@@ -5093,7 +5093,7 @@ var CollectionContext = function CollectionContext(url, field, host, page) {
5093
5093
  try {
5094
5094
  var _this8 = this;
5095
5095
 
5096
- var _temp8 = _catch$1(function () {
5096
+ var _temp8 = _catch$2(function () {
5097
5097
  return Promise.resolve(API.patch(id, form)).then(function () {
5098
5098
  return Promise.resolve(_this8.load()).then(function () {});
5099
5099
  });
@@ -5110,7 +5110,7 @@ var CollectionContext = function CollectionContext(url, field, host, page) {
5110
5110
  try {
5111
5111
  var _this10 = this;
5112
5112
 
5113
- var _temp10 = _catch$1(function () {
5113
+ var _temp10 = _catch$2(function () {
5114
5114
  return Promise.resolve(API.updateProperty(id, propertyName, form)).then(function () {
5115
5115
  return Promise.resolve(_this10.load()).then(function () {});
5116
5116
  });
@@ -5127,7 +5127,7 @@ var CollectionContext = function CollectionContext(url, field, host, page) {
5127
5127
  try {
5128
5128
  var _this12 = this;
5129
5129
 
5130
- var _temp12 = _catch$1(function () {
5130
+ var _temp12 = _catch$2(function () {
5131
5131
  return Promise.resolve(API.remove(id)).then(function () {
5132
5132
  return Promise.resolve(_this12.load()).then(function () {});
5133
5133
  });
@@ -5339,7 +5339,7 @@ var QUERY = {
5339
5339
  * Table Page
5340
5340
  */
5341
5341
 
5342
- function _catch(body, recover) {
5342
+ function _catch$1(body, recover) {
5343
5343
  try {
5344
5344
  var result = body();
5345
5345
  } catch (e) {
@@ -5464,7 +5464,7 @@ var TablePage = function TablePage(props) {
5464
5464
  pageContext = _useContext[0],
5465
5465
  setPageContext = _useContext[1];
5466
5466
 
5467
- var context = TableContext(url, field, host, urlQuery);
5467
+ var context = TableContext$1(url, field, host, urlQuery);
5468
5468
  var selected = pageContext.selected;
5469
5469
  var timer = useRef(null);
5470
5470
 
@@ -5564,13 +5564,13 @@ var TablePage = function TablePage(props) {
5564
5564
  if (rowSelected || rowChecked) {
5565
5565
  return /*#__PURE__*/React.createElement("aside", {
5566
5566
  className: "table-page"
5567
- }, rowSelected ? /*#__PURE__*/React.createElement(TableRowEditor, {
5567
+ }, rowSelected ? /*#__PURE__*/React.createElement(TableRowEditor$1, {
5568
5568
  content: new Content(schema, form),
5569
5569
  filter: editorFilter,
5570
5570
  onChange: change,
5571
5571
  onClose: closeAside,
5572
5572
  editable: canEdit
5573
- }) : null, rowChecked ? /*#__PURE__*/React.createElement(TableSelector, {
5573
+ }) : null, rowChecked ? /*#__PURE__*/React.createElement(TableSelector$1, {
5574
5574
  schema: schema,
5575
5575
  actions: selectionActions
5576
5576
  }) : null);
@@ -5611,17 +5611,17 @@ var TablePage = function TablePage(props) {
5611
5611
  onSelect: playScenario
5612
5612
  })) : null, renderActions()), canQuery || canFilter ? /*#__PURE__*/React.createElement("menu", {
5613
5613
  className: "table-page"
5614
- }, canQuery ? /*#__PURE__*/React.createElement(TableQueries, {
5614
+ }, canQuery ? /*#__PURE__*/React.createElement(TableQueries$1, {
5615
5615
  schema: schema,
5616
5616
  url: url,
5617
5617
  user: user
5618
- }) : null, canFilter ? /*#__PURE__*/React.createElement(TableFilters, {
5618
+ }) : null, canFilter ? /*#__PURE__*/React.createElement(TableFilters$1, {
5619
5619
  schema: schema,
5620
5620
  onSave: canQuery ? saveQuery : null
5621
5621
  }) : null) : null, /*#__PURE__*/React.createElement("main", {
5622
5622
  key: id,
5623
5623
  className: "table-page"
5624
- }, /*#__PURE__*/React.createElement(TableEditor, {
5624
+ }, /*#__PURE__*/React.createElement(TableEditor$1, {
5625
5625
  icon: icon,
5626
5626
  title: name,
5627
5627
  schema: schema,
@@ -5634,7 +5634,7 @@ var TablePage = function TablePage(props) {
5634
5634
  }), children ? /*#__PURE__*/React.createElement("article", null, children) : null), renderAside());
5635
5635
  };
5636
5636
 
5637
- var TableRowEditor = function TableRowEditor(props) {
5637
+ var TableRowEditor$1 = function TableRowEditor(props) {
5638
5638
  var name = props.name,
5639
5639
  content = props.content,
5640
5640
  filter = props.filter,
@@ -5663,7 +5663,7 @@ var TableRowEditor = function TableRowEditor(props) {
5663
5663
  */
5664
5664
 
5665
5665
 
5666
- var TableSelector = function TableSelector(props) {
5666
+ var TableSelector$1 = function TableSelector(props) {
5667
5667
  var schema = props.schema,
5668
5668
  _props$actions2 = props.actions,
5669
5669
  actions = _props$actions2 === void 0 ? [] : _props$actions2;
@@ -5726,7 +5726,7 @@ var TableSelector = function TableSelector(props) {
5726
5726
  */
5727
5727
 
5728
5728
 
5729
- var TableQueries = function TableQueries(props) {
5729
+ var TableQueries$1 = function TableQueries(props) {
5730
5730
  var remove = function remove(id) {
5731
5731
  try {
5732
5732
  return Promise.resolve(pageContext.removeQuery(id, user)).then(function () {
@@ -5788,7 +5788,7 @@ var TableQueries = function TableQueries(props) {
5788
5788
  */
5789
5789
 
5790
5790
 
5791
- var TableFilters = function TableFilters(props) {
5791
+ var TableFilters$1 = function TableFilters(props) {
5792
5792
  var reload = function reload() {
5793
5793
  try {
5794
5794
  return Promise.resolve(pageContext.load(form)).then(function () {
@@ -5884,7 +5884,7 @@ var TableFilters = function TableFilters(props) {
5884
5884
  */
5885
5885
 
5886
5886
 
5887
- var TableEditor = function TableEditor(props) {
5887
+ var TableEditor$1 = function TableEditor(props) {
5888
5888
  var checkOne = function checkOne(id, field, value) {
5889
5889
  check([id], value);
5890
5890
  return Promise.resolve();
@@ -6109,8 +6109,8 @@ var TableEditor = function TableEditor(props) {
6109
6109
  * Table Context
6110
6110
  */
6111
6111
 
6112
- var TableContext = function TableContext(url, field, host, urlQuery) {
6113
- var API = TableAPI(url, host);
6112
+ var TableContext$1 = function TableContext(url, field, host, urlQuery) {
6113
+ var API = TableAPI$1(url, host);
6114
6114
  return {
6115
6115
  all: [],
6116
6116
  checked: new Set([]),
@@ -6121,7 +6121,7 @@ var TableContext = function TableContext(url, field, host, urlQuery) {
6121
6121
  try {
6122
6122
  var _this2 = this;
6123
6123
 
6124
- var _temp5 = _catch(function () {
6124
+ var _temp5 = _catch$1(function () {
6125
6125
  var filters = filter ? Object.keys(filter).reduce(function (filters, key) {
6126
6126
  var field = filter[key];
6127
6127
 
@@ -6180,7 +6180,7 @@ var TableContext = function TableContext(url, field, host, urlQuery) {
6180
6180
  try {
6181
6181
  var _this5 = this;
6182
6182
 
6183
- var _temp7 = _catch(function () {
6183
+ var _temp7 = _catch$1(function () {
6184
6184
  return Promise.resolve(API.create(form)).then(function () {
6185
6185
  return Promise.resolve(_this5.load()).then(function () {});
6186
6186
  });
@@ -6197,7 +6197,7 @@ var TableContext = function TableContext(url, field, host, urlQuery) {
6197
6197
  try {
6198
6198
  var _this7 = this;
6199
6199
 
6200
- var _temp9 = _catch(function () {
6200
+ var _temp9 = _catch$1(function () {
6201
6201
  return Promise.resolve(API.update(form)).then(function () {
6202
6202
  return Promise.resolve(_this7.load()).then(function () {});
6203
6203
  });
@@ -6214,7 +6214,7 @@ var TableContext = function TableContext(url, field, host, urlQuery) {
6214
6214
  try {
6215
6215
  var _this9 = this;
6216
6216
 
6217
- var _temp11 = _catch(function () {
6217
+ var _temp11 = _catch$1(function () {
6218
6218
  return Promise.resolve(API.remove(id)).then(function () {
6219
6219
  return Promise.resolve(_this9.load()).then(function () {});
6220
6220
  });
@@ -6234,7 +6234,7 @@ var TableContext = function TableContext(url, field, host, urlQuery) {
6234
6234
  try {
6235
6235
  var _this11 = this;
6236
6236
 
6237
- var _temp13 = _catch(function () {
6237
+ var _temp13 = _catch$1(function () {
6238
6238
  return Promise.resolve(API.queries(user, urlQuery)).then(function (_API$queries) {
6239
6239
  _this11.queries = _API$queries;
6240
6240
  });
@@ -6251,7 +6251,7 @@ var TableContext = function TableContext(url, field, host, urlQuery) {
6251
6251
  try {
6252
6252
  var _this13 = this;
6253
6253
 
6254
- var _temp15 = _catch(function () {
6254
+ var _temp15 = _catch$1(function () {
6255
6255
  return Promise.resolve(API.createQuery(query, urlQuery)).then(function () {
6256
6256
  return Promise.resolve(_this13.loadQueries(user)).then(function () {});
6257
6257
  });
@@ -6268,7 +6268,7 @@ var TableContext = function TableContext(url, field, host, urlQuery) {
6268
6268
  try {
6269
6269
  var _this15 = this;
6270
6270
 
6271
- var _temp17 = _catch(function () {
6271
+ var _temp17 = _catch$1(function () {
6272
6272
  return Promise.resolve(API.removeQuery(id, urlQuery)).then(function () {
6273
6273
  return Promise.resolve(_this15.loadQueries(user)).then(function () {});
6274
6274
  });
@@ -6288,7 +6288,7 @@ var TableContext = function TableContext(url, field, host, urlQuery) {
6288
6288
  */
6289
6289
 
6290
6290
 
6291
- var TableAPI = function TableAPI(url, host) {
6291
+ var TableAPI$1 = function TableAPI(url, host) {
6292
6292
  var http = HTTPClient(host || window.API || process.env.REACT_APP_API, Session);
6293
6293
  return {
6294
6294
  all: function all(filters) {
@@ -6347,9 +6347,1087 @@ var TableAPI = function TableAPI(url, host) {
6347
6347
  };
6348
6348
  };
6349
6349
 
6350
+ /**
6351
+ * Tabbed Table Page
6352
+ */
6353
+
6354
+ function _catch(body, recover) {
6355
+ try {
6356
+ var result = body();
6357
+ } catch (e) {
6358
+ return recover(e);
6359
+ }
6360
+
6361
+ if (result && result.then) {
6362
+ return result.then(void 0, recover);
6363
+ }
6364
+
6365
+ return result;
6366
+ }
6367
+ /**
6368
+ * TableRowEditor
6369
+ */
6370
+
6371
+
6372
+ var TabbedTablePage = function TabbedTablePage(props) {
6373
+ var playScenario = function playScenario() {
6374
+ try {
6375
+ var promises1 = pageContext.all.map(function (item) {
6376
+ try {
6377
+ return Promise.resolve(pageContext.remove(item.id));
6378
+ } catch (e) {
6379
+ return Promise.reject(e);
6380
+ }
6381
+ });
6382
+ Promise.all(promises1).then(function () {
6383
+ try {
6384
+ var promises2 = scenario.map(function (item) {
6385
+ try {
6386
+ return Promise.resolve(pageContext.create(item));
6387
+ } catch (e) {
6388
+ return Promise.reject(e);
6389
+ }
6390
+ });
6391
+ Promise.all(promises2).then(function () {
6392
+ try {
6393
+ return Promise.resolve(pageContext.load()).then(function () {
6394
+ setPageContext(Object.assign({}, pageContext));
6395
+ });
6396
+ } catch (e) {
6397
+ return Promise.reject(e);
6398
+ }
6399
+ });
6400
+ return Promise.resolve();
6401
+ } catch (e) {
6402
+ return Promise.reject(e);
6403
+ }
6404
+ });
6405
+ return Promise.resolve();
6406
+ } catch (e) {
6407
+ return Promise.reject(e);
6408
+ }
6409
+ };
6410
+
6411
+ var save = function save() {
6412
+ try {
6413
+ console.log('saving.....');
6414
+ return Promise.resolve(pageContext.update(form)).then(function () {
6415
+ setPageContext(Object.assign({}, pageContext));
6416
+ });
6417
+ } catch (e) {
6418
+ return Promise.reject(e);
6419
+ }
6420
+ };
6421
+
6422
+ var reload = function reload() {
6423
+ try {
6424
+ var _filter2;
6425
+
6426
+ var filter = (_filter2 = {}, _filter2[tab.field] = tab.value, _filter2);
6427
+ return Promise.resolve(pageContext.load(filter, false)).then(function () {
6428
+ setPageContext(Object.assign({}, pageContext));
6429
+ });
6430
+ } catch (e) {
6431
+ return Promise.reject(e);
6432
+ }
6433
+ };
6434
+
6435
+ var site = useContext(SiteContext);
6436
+ var _props$id = props.id,
6437
+ id = _props$id === void 0 ? "table" : _props$id,
6438
+ icon = props.icon,
6439
+ title = props.title,
6440
+ name = props.name,
6441
+ schema = props.schema,
6442
+ url = props.url,
6443
+ field = props.field,
6444
+ host = props.host,
6445
+ _props$autosave = props.autosave,
6446
+ autosave = _props$autosave === void 0 ? true : _props$autosave,
6447
+ _props$delay = props.delay,
6448
+ delay = _props$delay === void 0 ? 1000 : _props$delay,
6449
+ editable = props.editable,
6450
+ _props$actions = props.actions,
6451
+ actions = _props$actions === void 0 ? [] : _props$actions,
6452
+ _props$dev = props.dev,
6453
+ dev = _props$dev === void 0 ? false : _props$dev,
6454
+ tableActions = props.tableActions,
6455
+ _props$selectionActio = props.selectionActions,
6456
+ selectionActions = _props$selectionActio === void 0 ? [] : _props$selectionActio,
6457
+ _props$canFilter = props.canFilter,
6458
+ canFilter = _props$canFilter === void 0 ? false : _props$canFilter,
6459
+ _props$canAdd = props.canAdd,
6460
+ canAdd = _props$canAdd === void 0 ? true : _props$canAdd,
6461
+ _props$canDelete = props.canDelete,
6462
+ canDelete = _props$canDelete === void 0 ? true : _props$canDelete,
6463
+ _props$canEdit = props.canEdit,
6464
+ canEdit = _props$canEdit === void 0 ? true : _props$canEdit,
6465
+ _props$canQuery = props.canQuery,
6466
+ canQuery = _props$canQuery === void 0 ? false : _props$canQuery,
6467
+ urlQuery = props.urlQuery,
6468
+ user = props.user,
6469
+ groupBy = props.groupBy,
6470
+ validator = props.validator,
6471
+ scenario = props.scenario,
6472
+ formFilter = props.formFilter,
6473
+ tableFilter = props.tableFilter,
6474
+ _props$editorFilter = props.editorFilter,
6475
+ editorFilter = _props$editorFilter === void 0 ? false : _props$editorFilter,
6476
+ children = props.children;
6477
+
6478
+ var _useContext = useContext(PageContext),
6479
+ pageContext = _useContext[0],
6480
+ setPageContext = _useContext[1];
6481
+
6482
+ var context = TableContext(url, field, host, urlQuery);
6483
+ var selected = pageContext.selected,
6484
+ tab = pageContext.tab;
6485
+ var timer = useRef(null);
6486
+
6487
+ var _useState = useState(selected),
6488
+ form = _useState[0],
6489
+ setForm = _useState[1];
6490
+
6491
+ var _useState2 = useState([]),
6492
+ tabs = _useState2[0],
6493
+ setTabs = _useState2[1];
6494
+
6495
+ useEffect(function () {
6496
+ try {
6497
+ var _field = Object.values(schema).find(function (field) {
6498
+ return field.tab && field.tab === true;
6499
+ });
6500
+
6501
+ var _tabs = _field.options.map(function (option) {
6502
+ return Object.assign({}, option, {
6503
+ field: _field.id
6504
+ });
6505
+ });
6506
+
6507
+ setTabs(_tabs);
6508
+ context.changeTab(_tabs[0]);
6509
+ setPageContext(context);
6510
+ return Promise.resolve();
6511
+ } catch (e) {
6512
+ return Promise.reject(e);
6513
+ }
6514
+ }, []);
6515
+ useEffect(function () {
6516
+ try {
6517
+ console.log("TAB", tab);
6518
+
6519
+ var _temp2 = function () {
6520
+ if (tab) {
6521
+ var _filter;
6522
+
6523
+ var filter = (_filter = {}, _filter[tab.field] = tab.value, _filter);
6524
+ return Promise.resolve(pageContext.load(filter, false)).then(function () {
6525
+ setPageContext(Object.assign({}, pageContext));
6526
+ });
6527
+ }
6528
+ }();
6529
+
6530
+ return Promise.resolve(_temp2 && _temp2.then ? _temp2.then(function () {}) : void 0);
6531
+ } catch (e) {
6532
+ return Promise.reject(e);
6533
+ }
6534
+ }, [tab]);
6535
+ useEffect(function () {
6536
+ setForm(selected);
6537
+ }, [selected]);
6538
+ useEffect(function () {
6539
+ if (autosave) {
6540
+ clearTimeout(timer.current);
6541
+ timer.current = setTimeout(function () {
6542
+ if (canSave()) save();
6543
+ }, delay);
6544
+ }
6545
+ }, [form]);
6546
+
6547
+ function add() {
6548
+ var onOK = function onOK(form) {
6549
+ try {
6550
+ return Promise.resolve(pageContext.create(form)).then(function () {
6551
+ setPageContext(Object.assign({}, pageContext));
6552
+ });
6553
+ } catch (e) {
6554
+ return Promise.reject(e);
6555
+ }
6556
+ };
6557
+
6558
+ site.openDialog( /*#__PURE__*/React.createElement(CreateContentDialog, {
6559
+ label: "Crear " + name,
6560
+ type: schema,
6561
+ onOK: onOK,
6562
+ validator: validator,
6563
+ filter: formFilter
6564
+ }));
6565
+ }
6566
+
6567
+ function saveQuery(filters) {
6568
+ var onOK = function onOK(form) {
6569
+ try {
6570
+ form.filters = filters;
6571
+ form.layout = {};
6572
+ form.user = user;
6573
+ form.url = url;
6574
+ return Promise.resolve(pageContext.createQuery(form, user)).then(function () {
6575
+ setPageContext(Object.assign({}, pageContext));
6576
+ });
6577
+ } catch (e) {
6578
+ return Promise.reject(e);
6579
+ }
6580
+ };
6581
+
6582
+ site.openDialog( /*#__PURE__*/React.createElement(CreateContentDialog, {
6583
+ label: "Nueva query",
6584
+ type: QUERY,
6585
+ onOK: onOK
6586
+ }));
6587
+ }
6588
+
6589
+ function change(next) {
6590
+ setForm(next);
6591
+ }
6592
+
6593
+ function canSave() {
6594
+ var can = !equal(form, selected);
6595
+ return can;
6596
+ }
6597
+
6598
+ function closeAside() {
6599
+ pageContext.select(null);
6600
+ setPageContext(Object.assign({}, pageContext));
6601
+ }
6602
+
6603
+ function renderAside() {
6604
+ var rowSelected = selected && form;
6605
+ var rowChecked = pageContext.checked && pageContext.checked.size > 0;
6606
+
6607
+ if (rowSelected || rowChecked) {
6608
+ return /*#__PURE__*/React.createElement("aside", {
6609
+ className: "table-page"
6610
+ }, rowSelected ? /*#__PURE__*/React.createElement(TableRowEditor, {
6611
+ content: new Content(schema, form),
6612
+ filter: editorFilter,
6613
+ onChange: change,
6614
+ onClose: closeAside,
6615
+ editable: canEdit
6616
+ }) : null, rowChecked ? /*#__PURE__*/React.createElement(TableSelector, {
6617
+ schema: schema,
6618
+ actions: selectionActions
6619
+ }) : null);
6620
+ }
6621
+
6622
+ return null;
6623
+ }
6624
+
6625
+ function renderActions() {
6626
+ return actions.map(function (element) {
6627
+ var action = function action() {
6628
+ return element.props.action(pageContext);
6629
+ };
6630
+
6631
+ var clone = React.cloneElement(element, {
6632
+ action: action
6633
+ });
6634
+ return clone;
6635
+ });
6636
+ }
6637
+
6638
+ function changeTab(id) {
6639
+ var tab = tabs.find(function (tab) {
6640
+ return tab.value === id;
6641
+ });
6642
+ pageContext.changeTab(tab);
6643
+ setPageContext(Object.assign({}, pageContext));
6644
+ }
6645
+
6646
+ function renderTabs() {
6647
+ var selected = tab ? tab.value : null;
6648
+ console.log(selected);
6649
+ return /*#__PURE__*/React.createElement(Tabs, {
6650
+ selected: selected,
6651
+ onChange: changeTab
6652
+ }, tabs.map(function (tab) {
6653
+ return /*#__PURE__*/React.createElement(Tab, {
6654
+ id: tab.value,
6655
+ label: tab.label
6656
+ });
6657
+ }));
6658
+ }
6659
+
6660
+ return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Header, {
6661
+ className: "table-page",
6662
+ title: /*#__PURE__*/React.createElement(Text, null, title)
6663
+ }, canAdd ? /*#__PURE__*/React.createElement(Button, {
6664
+ icon: "add",
6665
+ label: "A\xF1adir",
6666
+ action: add,
6667
+ raised: true
6668
+ }) : null, "\xA0", /*#__PURE__*/React.createElement(Button, {
6669
+ icon: "refresh",
6670
+ label: "Reload",
6671
+ action: reload
6672
+ }), dev ? /*#__PURE__*/React.createElement(MenuIcon, {
6673
+ align: "alignRight"
6674
+ }, /*#__PURE__*/React.createElement(MenuItem, {
6675
+ label: "Cargar Escenario 1",
6676
+ onSelect: playScenario
6677
+ })) : null, renderActions(), renderTabs()), canQuery || canFilter ? /*#__PURE__*/React.createElement("menu", {
6678
+ className: "table-page"
6679
+ }, canQuery ? /*#__PURE__*/React.createElement(TableQueries, {
6680
+ schema: schema,
6681
+ url: url,
6682
+ user: user
6683
+ }) : null, canFilter ? /*#__PURE__*/React.createElement(TableFilters, {
6684
+ schema: schema,
6685
+ onSave: canQuery ? saveQuery : null
6686
+ }) : null) : null, /*#__PURE__*/React.createElement("main", {
6687
+ key: id,
6688
+ className: "table-page"
6689
+ }, /*#__PURE__*/React.createElement(TableEditor, {
6690
+ icon: icon,
6691
+ title: name,
6692
+ schema: schema,
6693
+ delay: delay,
6694
+ editable: editable,
6695
+ groupBy: groupBy,
6696
+ filter: tableFilter,
6697
+ actions: tableActions,
6698
+ canDelete: canDelete
6699
+ }), children ? /*#__PURE__*/React.createElement("article", null, children) : null), renderAside());
6700
+ };
6701
+
6702
+ var TableRowEditor = function TableRowEditor(props) {
6703
+ var name = props.name,
6704
+ content = props.content,
6705
+ filter = props.filter,
6706
+ editable = props.editable,
6707
+ onChange = props.onChange,
6708
+ onClose = props.onClose;
6709
+ return /*#__PURE__*/React.createElement("div", {
6710
+ className: "table-row-editor"
6711
+ }, /*#__PURE__*/React.createElement(Header, {
6712
+ icon: "local_offer",
6713
+ title: name || "Propiedades"
6714
+ }, /*#__PURE__*/React.createElement(Icon, {
6715
+ icon: "close",
6716
+ clickable: true,
6717
+ action: onClose
6718
+ })), /*#__PURE__*/React.createElement("main", null, editable ? /*#__PURE__*/React.createElement(ContentEditor, {
6719
+ content: content,
6720
+ onChange: onChange,
6721
+ filter: filter
6722
+ }) : /*#__PURE__*/React.createElement(ContentViewer, {
6723
+ content: content
6724
+ })));
6725
+ };
6726
+ /**
6727
+ * Table Selector
6728
+ */
6729
+
6730
+
6731
+ var TableSelector = function TableSelector(props) {
6732
+ var schema = props.schema,
6733
+ _props$actions2 = props.actions,
6734
+ actions = _props$actions2 === void 0 ? [] : _props$actions2;
6735
+
6736
+ var _useContext2 = useContext(PageContext),
6737
+ pageContext = _useContext2[0],
6738
+ setPageContext = _useContext2[1];
6739
+
6740
+ var all = pageContext.all,
6741
+ checked = pageContext.checked;
6742
+ var count = checked.size + "/" + all.length;
6743
+ var columns = Object.keys(schema).filter(function (key) {
6744
+ return schema[key].selectorColumn === true;
6745
+ }).map(function (key) {
6746
+ var field = schema[key];
6747
+ return {
6748
+ id: field.id,
6749
+ label: field.label
6750
+ };
6751
+ });
6752
+ var rows = all.filter(function (item) {
6753
+ return checked.has(item.id);
6754
+ });
6755
+ var table = {
6756
+ columns: columns,
6757
+ rows: rows || []
6758
+ };
6759
+ var buttons = actions.map(function (_ref) {
6760
+ var label = _ref.label,
6761
+ _action = _ref.action,
6762
+ validate = _ref.validate;
6763
+ return /*#__PURE__*/React.createElement(Button, {
6764
+ label: label,
6765
+ raised: true,
6766
+ action: function action() {
6767
+ return _action(checked, pageContext, function () {
6768
+ try {
6769
+ return Promise.resolve(pageContext.load()).then(function () {
6770
+ setPageContext(Object.assign({}, pageContext));
6771
+ });
6772
+ } catch (e) {
6773
+ return Promise.reject(e);
6774
+ }
6775
+ }, rows);
6776
+ },
6777
+ disabled: !validate(checked, rows)
6778
+ });
6779
+ });
6780
+ return /*#__PURE__*/React.createElement("div", {
6781
+ className: "table-selector"
6782
+ }, /*#__PURE__*/React.createElement(Header, {
6783
+ icon: "checklist_rtl",
6784
+ title: "Selecci\xF3n"
6785
+ }, /*#__PURE__*/React.createElement("span", {
6786
+ className: "size"
6787
+ }, count)), /*#__PURE__*/React.createElement("main", null, /*#__PURE__*/React.createElement(DataTable, table)), /*#__PURE__*/React.createElement("footer", null, buttons));
6788
+ };
6789
+ /**
6790
+ * Table Queries
6791
+ */
6792
+
6793
+
6794
+ var TableQueries = function TableQueries(props) {
6795
+ var remove = function remove(id) {
6796
+ try {
6797
+ return Promise.resolve(pageContext.removeQuery(id, user)).then(function () {
6798
+ setPageContext(Object.assign({}, pageContext));
6799
+ });
6800
+ } catch (e) {
6801
+ return Promise.reject(e);
6802
+ }
6803
+ };
6804
+
6805
+ var _useContext3 = useContext(PageContext),
6806
+ pageContext = _useContext3[0],
6807
+ setPageContext = _useContext3[1];
6808
+
6809
+ var url = props.url,
6810
+ user = props.user;
6811
+ var _pageContext$queries = pageContext.queries,
6812
+ queries = _pageContext$queries === void 0 ? [] : _pageContext$queries;
6813
+
6814
+ var _useState3 = useState(),
6815
+ selected = _useState3[0],
6816
+ setSelected = _useState3[1];
6817
+
6818
+ function select(query) {
6819
+ setSelected(query.id);
6820
+ pageContext.changeFilters(query.filters);
6821
+ setPageContext(Object.assign({}, pageContext));
6822
+ }
6823
+
6824
+ return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Header, {
6825
+ className: "table-queries",
6826
+ title: /*#__PURE__*/React.createElement(Text, null, "Queries")
6827
+ }), /*#__PURE__*/React.createElement("main", {
6828
+ className: "table-queries"
6829
+ }, queries ? queries.filter(function (query) {
6830
+ return query.url === url;
6831
+ }).map(function (query) {
6832
+ var style = selected === query.id ? "selected" : "";
6833
+ return /*#__PURE__*/React.createElement("div", {
6834
+ className: "table-queries-item " + style,
6835
+ onClick: function onClick() {
6836
+ return select(query);
6837
+ }
6838
+ }, /*#__PURE__*/React.createElement(Icon, {
6839
+ icon: "star",
6840
+ size: "small"
6841
+ }), /*#__PURE__*/React.createElement("label", null, query.name), /*#__PURE__*/React.createElement(Icon, {
6842
+ icon: "close",
6843
+ clickable: true,
6844
+ size: "small",
6845
+ action: function action() {
6846
+ return remove(query.id);
6847
+ }
6848
+ }));
6849
+ }) : /*#__PURE__*/React.createElement("div", null, "...empty...")));
6850
+ };
6851
+ /**
6852
+ * Table Filters
6853
+ */
6854
+
6855
+
6856
+ var TableFilters = function TableFilters(props) {
6857
+ var reload = function reload() {
6858
+ try {
6859
+ return Promise.resolve(pageContext.load(form)).then(function () {
6860
+ setPageContext(Object.assign({}, pageContext));
6861
+ });
6862
+ } catch (e) {
6863
+ return Promise.reject(e);
6864
+ }
6865
+ };
6866
+
6867
+ var change = function change(next) {
6868
+ try {
6869
+ setForm(next);
6870
+ return Promise.resolve();
6871
+ } catch (e) {
6872
+ return Promise.reject(e);
6873
+ }
6874
+ };
6875
+
6876
+ var _useContext4 = useContext(PageContext),
6877
+ pageContext = _useContext4[0],
6878
+ setPageContext = _useContext4[1];
6879
+
6880
+ var filters = pageContext.filters;
6881
+ var schema = props.schema,
6882
+ onSave = props.onSave;
6883
+
6884
+ var _useState4 = useState({}),
6885
+ form = _useState4[0],
6886
+ setForm = _useState4[1];
6887
+
6888
+ var filterSchema = useMemo(function () {
6889
+ var filterSchema = Object.assign({}, schema);
6890
+
6891
+ for (var key in filterSchema) {
6892
+ if (filterSchema[key].filter === false) {
6893
+ delete filterSchema[key];
6894
+ } else {
6895
+ if (filterSchema[key].type === TYPES.ENTITY) {
6896
+ var fs = filterSchema[key].item;
6897
+
6898
+ for (var key in fs) {
6899
+ if (fs[key].filter === false) delete fs[key];
6900
+ }
6901
+ }
6902
+ }
6903
+ } //Object.values(filterSchema).forEach(field => field.section = null)
6904
+
6905
+
6906
+ delete filterSchema.flows;
6907
+ return filterSchema;
6908
+ }, [schema]);
6909
+ useEffect(function () {
6910
+ if (filters) setForm(filters);
6911
+ }, [filters]);
6912
+ useEffect(function () {
6913
+ reload();
6914
+ }, [form]);
6915
+
6916
+ function clear() {
6917
+ change({});
6918
+ }
6919
+
6920
+ function save() {
6921
+ if (onSave) {
6922
+ onSave(form);
6923
+ }
6924
+ }
6925
+
6926
+ var content = new Content(filterSchema, form);
6927
+ return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Header, {
6928
+ className: "table-filters",
6929
+ title: /*#__PURE__*/React.createElement(Text, null, "Filters")
6930
+ }, /*#__PURE__*/React.createElement(Icon, {
6931
+ icon: "filter_list_off",
6932
+ size: "small",
6933
+ clickable: true,
6934
+ action: clear
6935
+ }), onSave ? /*#__PURE__*/React.createElement(Icon, {
6936
+ icon: "save",
6937
+ size: "small",
6938
+ clickable: true,
6939
+ action: save
6940
+ }) : null), /*#__PURE__*/React.createElement("main", {
6941
+ className: "table-filters"
6942
+ }, /*#__PURE__*/React.createElement(ContentEditor, {
6943
+ content: content,
6944
+ onChange: change
6945
+ })));
6946
+ };
6947
+ /**
6948
+ * Table Editor
6949
+ */
6950
+
6951
+
6952
+ var TableEditor = function TableEditor(props) {
6953
+ var checkOne = function checkOne(id, field, value) {
6954
+ check([id], value);
6955
+ return Promise.resolve();
6956
+ };
6957
+
6958
+ var check = function check(ids, value) {
6959
+ try {
6960
+ pageContext.check(ids, value);
6961
+ setPageContext(Object.assign({}, pageContext));
6962
+ return Promise.resolve();
6963
+ } catch (e) {
6964
+ return Promise.reject(e);
6965
+ }
6966
+ };
6967
+
6968
+ var select = function select(row, event) {
6969
+ try {
6970
+ clear();
6971
+ return Promise.resolve(pageContext.select(row.id)).then(function () {
6972
+ setPageContext(Object.assign({}, pageContext));
6973
+ });
6974
+ } catch (e) {
6975
+ return Promise.reject(e);
6976
+ }
6977
+ };
6978
+
6979
+ var remove = function remove(id) {
6980
+ try {
6981
+ return Promise.resolve(site.confirm("Are you sure ?")).then(function (confirm) {
6982
+ var _temp3 = function () {
6983
+ if (confirm) {
6984
+ return Promise.resolve(pageContext.remove(id)).then(function () {
6985
+ pageContext.clear();
6986
+ setPageContext(Object.assign({}, pageContext));
6987
+ });
6988
+ }
6989
+ }();
6990
+
6991
+ if (_temp3 && _temp3.then) return _temp3.then(function () {});
6992
+ });
6993
+ } catch (e) {
6994
+ return Promise.reject(e);
6995
+ }
6996
+ };
6997
+
6998
+ var site = useContext(SiteContext);
6999
+
7000
+ var _useContext5 = useContext(PageContext),
7001
+ pageContext = _useContext5[0],
7002
+ setPageContext = _useContext5[1];
7003
+
7004
+ var _pageContext$all = pageContext.all,
7005
+ all = _pageContext$all === void 0 ? [] : _pageContext$all;
7006
+ var icon = props.icon,
7007
+ title = props.title,
7008
+ schema = props.schema,
7009
+ editable = props.editable,
7010
+ canDelete = props.canDelete,
7011
+ filter = props.filter,
7012
+ actions = props.actions;
7013
+
7014
+ var _useState5 = useState(props.groupBy),
7015
+ groupBy = _useState5[0],
7016
+ setGroupBy = _useState5[1];
7017
+
7018
+ function changeGroup(id, value) {
7019
+ setGroupBy(value);
7020
+ }
7021
+
7022
+ function change(rowID, cellID, value) {
7023
+ var _Object$assign;
7024
+
7025
+ var row = all.find(function (r) {
7026
+ return r.id === rowID;
7027
+ });
7028
+ var next = Object.assign({}, row, (_Object$assign = {}, _Object$assign[cellID] = value, _Object$assign));
7029
+ delete next.actions;
7030
+ pageContext.update(next);
7031
+ setPageContext(Object.assign({}, pageContext));
7032
+ }
7033
+
7034
+ function clear() {
7035
+ pageContext.clear();
7036
+ setPageContext(Object.assign({}, pageContext));
7037
+ }
7038
+
7039
+ function run(action, item) {
7040
+ action.action(item.id, pageContext, function () {
7041
+ try {
7042
+ return Promise.resolve(pageContext.load()).then(function () {
7043
+ setPageContext(Object.assign({}, pageContext));
7044
+ });
7045
+ } catch (e) {
7046
+ return Promise.reject(e);
7047
+ }
7048
+ });
7049
+ }
7050
+
7051
+ function renderGroupLabel(groupName) {
7052
+ var grouper = schema[groupBy];
7053
+ if (!groupName || !grouper) return "";
7054
+
7055
+ if (grouper.options) {
7056
+ var options = CHECK['isFunction'](grouper.options) ? grouper.options() : grouper.options;
7057
+ var option = options.find(function (option) {
7058
+ return option.value === groupName;
7059
+ });
7060
+ return option ? option.label : groupName;
7061
+ } else {
7062
+ return groupName;
7063
+ }
7064
+ }
7065
+
7066
+ function renderGroups() {
7067
+ var items = filter ? filter(all) : all;
7068
+ var groups = items.reduce(function (groups, item) {
7069
+ var groupName = item[groupBy];
7070
+ var group = groups[groupName];
7071
+ if (!group) groups[groupName] = [];
7072
+ groups[groupName].push(item);
7073
+ return groups;
7074
+ }, {});
7075
+ return Object.keys(groups).map(function (groupName) {
7076
+ var table = {
7077
+ columns: Object.values(schema).filter(function (field) {
7078
+ return field.column === true;
7079
+ }).map(function (field) {
7080
+ var options = field.options;
7081
+
7082
+ if (options && typeof options == 'function') {
7083
+ options = options();
7084
+ }
7085
+
7086
+ return {
7087
+ id: field.id,
7088
+ label: field.label,
7089
+ type: field.type,
7090
+ format: field.format,
7091
+ item: field.item ? field.item : [],
7092
+ onChange: field.id === "checked" ? checkOne : field.editable ? change : null,
7093
+
7094
+ /* checked has it´s own handler */
7095
+ options: options
7096
+ };
7097
+ }),
7098
+ rows: groups[groupName].map(function (item) {
7099
+ item.checked = pageContext.checked ? pageContext.checked.has(item.id) : false;
7100
+ item.actions = actions ? actions.map(function (_action2) {
7101
+ return _action2.filter ? _action2.filter(item) ? /*#__PURE__*/React.createElement(Icon, {
7102
+ icon: _action2.icon,
7103
+ clickable: true,
7104
+ size: "small",
7105
+ action: function action() {
7106
+ return run(_action2, item);
7107
+ }
7108
+ }) : null : /*#__PURE__*/React.createElement(Icon, {
7109
+ icon: _action2.icon,
7110
+ clickable: true,
7111
+ size: "small",
7112
+ action: function action() {
7113
+ return run(_action2, item);
7114
+ }
7115
+ });
7116
+ }) : [];
7117
+ if (canDelete) item.actions.push( /*#__PURE__*/React.createElement(Icon, {
7118
+ icon: "delete",
7119
+ size: "small",
7120
+ clickable: true,
7121
+ action: function action() {
7122
+ return remove(item.id);
7123
+ }
7124
+ }));
7125
+ return item;
7126
+ })
7127
+ };
7128
+ table.columns.push({
7129
+ id: "actions"
7130
+ });
7131
+ var groupSize = groups[groupName].length;
7132
+ var title = /*#__PURE__*/React.createElement("span", null, /*#__PURE__*/React.createElement("span", {
7133
+ className: "size"
7134
+ }, groupSize), renderGroupLabel(groupName));
7135
+ return /*#__PURE__*/React.createElement(Fragment, {
7136
+ key: groupName
7137
+ }, /*#__PURE__*/React.createElement(Header, {
7138
+ title: title
7139
+ }, /*#__PURE__*/React.createElement("span", {
7140
+ className: "size"
7141
+ }, groupSize)), /*#__PURE__*/React.createElement(DataTable, _extends({}, table, {
7142
+ onRowSelection: select,
7143
+ editable: editable,
7144
+ onCheckAll: check
7145
+ })));
7146
+ });
7147
+ }
7148
+
7149
+ function buildGroupOptions(schema) {
7150
+ return Object.values(schema).filter(function (field) {
7151
+ return field.grouper === true;
7152
+ }).map(function (field) {
7153
+ return {
7154
+ label: field.label,
7155
+ value: field.id
7156
+ };
7157
+ });
7158
+ }
7159
+
7160
+ return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Header, {
7161
+ icon: icon,
7162
+ title: /*#__PURE__*/React.createElement(Text, null, title)
7163
+ }, /*#__PURE__*/React.createElement(DropDown, {
7164
+ id: "groupBy",
7165
+ label: "Agrupar Por",
7166
+ value: groupBy,
7167
+ options: buildGroupOptions(schema),
7168
+ onChange: changeGroup
7169
+ })), /*#__PURE__*/React.createElement("main", {
7170
+ className: "table-editor"
7171
+ }, renderGroups()));
7172
+ };
7173
+ /**
7174
+ * Table Context
7175
+ */
7176
+
7177
+ var TableContext = function TableContext(url, field, host, urlQuery) {
7178
+ var API = TableAPI(url, host);
7179
+ return {
7180
+ all: [],
7181
+ checked: new Set([]),
7182
+ selected: null,
7183
+ filters: {},
7184
+ queries: [],
7185
+ tab: null,
7186
+ load: function load(filter, like) {
7187
+ try {
7188
+ var _this2 = this;
7189
+
7190
+ var _temp5 = _catch(function () {
7191
+ var filters = filter ? Object.keys(filter).reduce(function (filters, key) {
7192
+ var field = filter[key];
7193
+
7194
+ if (field) {
7195
+ if (CHECK['isObject'](field)) {
7196
+ Object.keys(field).forEach(function (key2) {
7197
+ var subfield = field[key2];
7198
+ if (subfield) filters[key + "." + key2] = subfield;
7199
+ });
7200
+ } else {
7201
+ filters[key] = field;
7202
+ }
7203
+ }
7204
+
7205
+ return filters;
7206
+ }, {}) : [];
7207
+
7208
+ if (_this2.tab) {
7209
+ filters[_this2.tab.field] = _this2.tab.value;
7210
+ }
7211
+
7212
+ return Promise.resolve(API.all(filters, like)).then(function (data) {
7213
+ _this2.all = field ? data[field] : data;
7214
+ });
7215
+ }, function (error) {
7216
+ console.log(error);
7217
+ });
7218
+
7219
+ return Promise.resolve(_temp5 && _temp5.then ? _temp5.then(function () {}) : void 0);
7220
+ } catch (e) {
7221
+ return Promise.reject(e);
7222
+ }
7223
+ },
7224
+ check: function check(ids, isChecked) {
7225
+ var _this3 = this;
7226
+
7227
+ if (isChecked === void 0) {
7228
+ isChecked = true;
7229
+ }
7230
+
7231
+ if (isChecked) {
7232
+ ids.forEach(function (id) {
7233
+ return _this3.checked.add(id);
7234
+ });
7235
+ } else {
7236
+ ids.forEach(function (id) {
7237
+ return _this3.checked["delete"](id);
7238
+ });
7239
+ }
7240
+ },
7241
+ changeTab: function changeTab(tab) {
7242
+ this.tab = tab;
7243
+ },
7244
+ select: function select(id) {
7245
+ var result = this.all.find(function (item) {
7246
+ return item.id === id;
7247
+ });
7248
+ this.selected = result;
7249
+ },
7250
+ clear: function clear() {
7251
+ this.selected = null;
7252
+ },
7253
+ create: function create(form) {
7254
+ try {
7255
+ var _this5 = this;
7256
+
7257
+ var _temp7 = _catch(function () {
7258
+ return Promise.resolve(API.create(form)).then(function () {
7259
+ return Promise.resolve(_this5.load({}, false)).then(function () {});
7260
+ });
7261
+ }, function (error) {
7262
+ console.log(error);
7263
+ });
7264
+
7265
+ return Promise.resolve(_temp7 && _temp7.then ? _temp7.then(function () {}) : void 0);
7266
+ } catch (e) {
7267
+ return Promise.reject(e);
7268
+ }
7269
+ },
7270
+ update: function update(form) {
7271
+ try {
7272
+ var _this7 = this;
7273
+
7274
+ var _temp9 = _catch(function () {
7275
+ return Promise.resolve(API.update(form)).then(function () {
7276
+ return Promise.resolve(_this7.load()).then(function () {});
7277
+ });
7278
+ }, function (error) {
7279
+ console.log(error);
7280
+ });
7281
+
7282
+ return Promise.resolve(_temp9 && _temp9.then ? _temp9.then(function () {}) : void 0);
7283
+ } catch (e) {
7284
+ return Promise.reject(e);
7285
+ }
7286
+ },
7287
+ remove: function remove(id) {
7288
+ try {
7289
+ var _this9 = this;
7290
+
7291
+ var _temp11 = _catch(function () {
7292
+ return Promise.resolve(API.remove(id)).then(function () {
7293
+ return Promise.resolve(_this9.load()).then(function () {});
7294
+ });
7295
+ }, function (error) {
7296
+ console.log(error);
7297
+ });
7298
+
7299
+ return Promise.resolve(_temp11 && _temp11.then ? _temp11.then(function () {}) : void 0);
7300
+ } catch (e) {
7301
+ return Promise.reject(e);
7302
+ }
7303
+ },
7304
+ changeFilters: function changeFilters(filters) {
7305
+ this.filters = filters;
7306
+ },
7307
+ loadQueries: function loadQueries(user) {
7308
+ try {
7309
+ var _this11 = this;
7310
+
7311
+ var _temp13 = _catch(function () {
7312
+ return Promise.resolve(API.queries(user, urlQuery)).then(function (_API$queries) {
7313
+ _this11.queries = _API$queries;
7314
+ });
7315
+ }, function (error) {
7316
+ console.log(error);
7317
+ });
7318
+
7319
+ return Promise.resolve(_temp13 && _temp13.then ? _temp13.then(function () {}) : void 0);
7320
+ } catch (e) {
7321
+ return Promise.reject(e);
7322
+ }
7323
+ },
7324
+ createQuery: function createQuery(query, user) {
7325
+ try {
7326
+ var _this13 = this;
7327
+
7328
+ var _temp15 = _catch(function () {
7329
+ return Promise.resolve(API.createQuery(query, urlQuery)).then(function () {
7330
+ return Promise.resolve(_this13.loadQueries(user)).then(function () {});
7331
+ });
7332
+ }, function (error) {
7333
+ console.log(error);
7334
+ });
7335
+
7336
+ return Promise.resolve(_temp15 && _temp15.then ? _temp15.then(function () {}) : void 0);
7337
+ } catch (e) {
7338
+ return Promise.reject(e);
7339
+ }
7340
+ },
7341
+ removeQuery: function removeQuery(id, user) {
7342
+ try {
7343
+ var _this15 = this;
7344
+
7345
+ var _temp17 = _catch(function () {
7346
+ return Promise.resolve(API.removeQuery(id, urlQuery)).then(function () {
7347
+ return Promise.resolve(_this15.loadQueries(user)).then(function () {});
7348
+ });
7349
+ }, function (error) {
7350
+ console.log(error);
7351
+ });
7352
+
7353
+ return Promise.resolve(_temp17 && _temp17.then ? _temp17.then(function () {}) : void 0);
7354
+ } catch (e) {
7355
+ return Promise.reject(e);
7356
+ }
7357
+ }
7358
+ };
7359
+ };
7360
+ /**
7361
+ * table API
7362
+ */
7363
+
7364
+
7365
+ var TableAPI = function TableAPI(url, host) {
7366
+ var http = HTTPClient(host || window.API || process.env.REACT_APP_API, Session);
7367
+ return {
7368
+ all: function all(filters, like) {
7369
+ if (like === void 0) {
7370
+ like = true;
7371
+ }
7372
+
7373
+ var queryParams = "?";
7374
+
7375
+ if (filters) {
7376
+ var filterQuery = Object.keys(filters).reduce(function (query, key) {
7377
+ var value = filters[key];
7378
+
7379
+ if (typeof value === 'boolean') {
7380
+ return query.concat(key + "=" + value + "&");
7381
+ } else if (Array.isArray(value)) {
7382
+ var param = value.length === 0 ? '' : value.reduce(function (param, item) {
7383
+ param = param.concat(key + "=" + item + "&");
7384
+ return param;
7385
+ }, "");
7386
+ return query.concat(param);
7387
+ } else {
7388
+ return like ? query.concat(key + "=%" + filters[key] + "%&") : query.concat(key + "=" + filters[key] + "&");
7389
+ }
7390
+ }, "");
7391
+ queryParams = queryParams.concat(filterQuery);
7392
+ }
7393
+
7394
+ return http.GET(url + queryParams);
7395
+ },
7396
+ find: function find(id) {
7397
+ return http.GET(url + "/" + id);
7398
+ },
7399
+ create: function create(form) {
7400
+ var body = JSON.stringify(form);
7401
+ return http.POST(url, body);
7402
+ },
7403
+ update: function update(form) {
7404
+ var body = JSON.stringify(form);
7405
+ return http.PUT(url + "/" + form.id, body);
7406
+ },
7407
+ remove: function remove(id) {
7408
+ return http.DELETE(url + "/" + id);
7409
+ },
7410
+ queries: function queries(user, url2) {
7411
+ var url3 = url2 ? url2 : url;
7412
+ url3 = url3 + "queries";
7413
+ if (user) url3 = url3 + ("?user=" + user);
7414
+ return http.GET(url3);
7415
+ },
7416
+ createQuery: function createQuery(form, url2) {
7417
+ var url3 = url2 ? url2 : url;
7418
+ var body = JSON.stringify(form);
7419
+ return http.POST(url3 + "queries", body);
7420
+ },
7421
+ removeQuery: function removeQuery(id, url2) {
7422
+ var url3 = url2 ? url2 : url;
7423
+ return http.DELETE(url3 + "queries/" + id);
7424
+ }
7425
+ };
7426
+ };
7427
+
6350
7428
  var isFunction = function isFunction(value) {
6351
7429
  return value && (Object.prototype.toString.call(value) === "[object Function]" || "function" === typeof value || value instanceof Function);
6352
7430
  };
6353
7431
 
6354
- export { Avatar, Button, CheckBox, Chip, Chips, CircularProgress, CollectionContext, CollectionEditor$1 as CollectionEditor, CollectionPage, CollectionTree, Content, ContentEditor, ContentForm, CreateContentDialog, DataTable, Dialog, DropDown, EditContentDialog, FORMATS, FieldEditor, FileExplorer, FileIconsView, Form, HTTPClient, Header, Icon, Kanban, KanbanCard, KanbanColumn, LinearProgress, List, ListEditor, LoginBox, Menu, MenuIcon, MenuItem, MenuSeparator, Page, PageContext, PageProvider, Planner, Property, RadioButton, ResetPasswordBox, Section, Session, Site, SiteContext, SiteProvider, Stack, Switch, TEXTFORMATS, TYPES, Tab, TabbedContentEditor, TableEditor, TablePage, Tabs, Text, TextArea, TextField, Thumbnail, TokenField, Tooltip, Tree, TreeItem, TreeNode, TreededContentEditor, UploadArea, UploadDialog, UploadFile, UploadIcon, Uploader, View, Viewer, WaitScreen, isFunction };
7432
+ export { Avatar, Button, CheckBox, Chip, Chips, CircularProgress, CollectionContext, CollectionEditor$1 as CollectionEditor, CollectionPage, CollectionTree, Content, ContentEditor, ContentForm, CreateContentDialog, DataTable, Dialog, DropDown, EditContentDialog, FORMATS, FieldEditor, FileExplorer, FileIconsView, Form, HTTPClient, Header, Icon, Kanban, KanbanCard, KanbanColumn, LinearProgress, List, ListEditor, LoginBox, Menu, MenuIcon, MenuItem, MenuSeparator, Page, PageContext, PageProvider, Planner, Property, RadioButton, ResetPasswordBox, Section, Session, Site, SiteContext, SiteProvider, Stack, Switch, TEXTFORMATS, TYPES, Tab, TabbedContentEditor, TabbedTablePage, TableEditor$1 as TableEditor, TablePage, Tabs, Text, TextArea, TextField, Thumbnail, TokenField, Tooltip, Tree, TreeItem, TreeNode, TreededContentEditor, UploadArea, UploadDialog, UploadFile, UploadIcon, Uploader, View, Viewer, WaitScreen, isFunction };
6355
7433
  //# sourceMappingURL=index.modern.js.map