ywana-core8 0.0.469 → 0.0.472

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