ywana-core8 0.0.470 → 0.0.473

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