ywana-core8 0.0.470 → 0.0.471
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1111 -32
- package/dist/index.cjs.map +1 -1
- package/dist/index.modern.js +1110 -32
- package/dist/index.modern.js.map +1 -1
- package/dist/index.umd.js +1111 -32
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/domain/index.js +1 -0
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$
|
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$
|
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$
|
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$
|
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$
|
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$
|
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$
|
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$
|
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$
|
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,1084 @@ 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, false)).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(), renderTabs()), 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
|
+
schema: schema,
|
6701
|
+
delay: delay,
|
6702
|
+
editable: editable,
|
6703
|
+
groupBy: groupBy,
|
6704
|
+
filter: tableFilter,
|
6705
|
+
actions: tableActions,
|
6706
|
+
canDelete: canDelete
|
6707
|
+
}), children ? /*#__PURE__*/React__default["default"].createElement("article", null, children) : null), renderAside());
|
6708
|
+
};
|
6709
|
+
|
6710
|
+
var TableRowEditor = function TableRowEditor(props) {
|
6711
|
+
var name = props.name,
|
6712
|
+
content = props.content,
|
6713
|
+
filter = props.filter,
|
6714
|
+
editable = props.editable,
|
6715
|
+
onChange = props.onChange,
|
6716
|
+
onClose = props.onClose;
|
6717
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
6718
|
+
className: "table-row-editor"
|
6719
|
+
}, /*#__PURE__*/React__default["default"].createElement(Header, {
|
6720
|
+
icon: "local_offer",
|
6721
|
+
title: name || "Propiedades"
|
6722
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
6723
|
+
icon: "close",
|
6724
|
+
clickable: true,
|
6725
|
+
action: onClose
|
6726
|
+
})), /*#__PURE__*/React__default["default"].createElement("main", null, editable ? /*#__PURE__*/React__default["default"].createElement(ContentEditor, {
|
6727
|
+
content: content,
|
6728
|
+
onChange: onChange,
|
6729
|
+
filter: filter
|
6730
|
+
}) : /*#__PURE__*/React__default["default"].createElement(ContentViewer, {
|
6731
|
+
content: content
|
6732
|
+
})));
|
6733
|
+
};
|
6734
|
+
/**
|
6735
|
+
* Table Selector
|
6736
|
+
*/
|
6737
|
+
|
6738
|
+
|
6739
|
+
var TableSelector = function TableSelector(props) {
|
6740
|
+
var schema = props.schema,
|
6741
|
+
_props$actions2 = props.actions,
|
6742
|
+
actions = _props$actions2 === void 0 ? [] : _props$actions2;
|
6743
|
+
|
6744
|
+
var _useContext2 = React.useContext(PageContext),
|
6745
|
+
pageContext = _useContext2[0],
|
6746
|
+
setPageContext = _useContext2[1];
|
6747
|
+
|
6748
|
+
var all = pageContext.all,
|
6749
|
+
checked = pageContext.checked;
|
6750
|
+
var count = checked.size + "/" + all.length;
|
6751
|
+
var columns = Object.keys(schema).filter(function (key) {
|
6752
|
+
return schema[key].selectorColumn === true;
|
6753
|
+
}).map(function (key) {
|
6754
|
+
var field = schema[key];
|
6755
|
+
return {
|
6756
|
+
id: field.id,
|
6757
|
+
label: field.label
|
6758
|
+
};
|
6759
|
+
});
|
6760
|
+
var rows = all.filter(function (item) {
|
6761
|
+
return checked.has(item.id);
|
6762
|
+
});
|
6763
|
+
var table = {
|
6764
|
+
columns: columns,
|
6765
|
+
rows: rows || []
|
6766
|
+
};
|
6767
|
+
var buttons = actions.map(function (_ref) {
|
6768
|
+
var label = _ref.label,
|
6769
|
+
_action = _ref.action,
|
6770
|
+
validate = _ref.validate;
|
6771
|
+
return /*#__PURE__*/React__default["default"].createElement(Button, {
|
6772
|
+
label: label,
|
6773
|
+
raised: true,
|
6774
|
+
action: function action() {
|
6775
|
+
return _action(checked, pageContext, function () {
|
6776
|
+
try {
|
6777
|
+
return Promise.resolve(pageContext.load()).then(function () {
|
6778
|
+
setPageContext(Object.assign({}, pageContext));
|
6779
|
+
});
|
6780
|
+
} catch (e) {
|
6781
|
+
return Promise.reject(e);
|
6782
|
+
}
|
6783
|
+
}, rows);
|
6784
|
+
},
|
6785
|
+
disabled: !validate(checked, rows)
|
6786
|
+
});
|
6787
|
+
});
|
6788
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
6789
|
+
className: "table-selector"
|
6790
|
+
}, /*#__PURE__*/React__default["default"].createElement(Header, {
|
6791
|
+
icon: "checklist_rtl",
|
6792
|
+
title: "Selecci\xF3n"
|
6793
|
+
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
6794
|
+
className: "size"
|
6795
|
+
}, count)), /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(DataTable, table)), /*#__PURE__*/React__default["default"].createElement("footer", null, buttons));
|
6796
|
+
};
|
6797
|
+
/**
|
6798
|
+
* Table Queries
|
6799
|
+
*/
|
6800
|
+
|
6801
|
+
|
6802
|
+
var TableQueries = function TableQueries(props) {
|
6803
|
+
var remove = function remove(id) {
|
6804
|
+
try {
|
6805
|
+
return Promise.resolve(pageContext.removeQuery(id, user)).then(function () {
|
6806
|
+
setPageContext(Object.assign({}, pageContext));
|
6807
|
+
});
|
6808
|
+
} catch (e) {
|
6809
|
+
return Promise.reject(e);
|
6810
|
+
}
|
6811
|
+
};
|
6812
|
+
|
6813
|
+
var _useContext3 = React.useContext(PageContext),
|
6814
|
+
pageContext = _useContext3[0],
|
6815
|
+
setPageContext = _useContext3[1];
|
6816
|
+
|
6817
|
+
var url = props.url,
|
6818
|
+
user = props.user;
|
6819
|
+
var _pageContext$queries = pageContext.queries,
|
6820
|
+
queries = _pageContext$queries === void 0 ? [] : _pageContext$queries;
|
6821
|
+
|
6822
|
+
var _useState3 = React.useState(),
|
6823
|
+
selected = _useState3[0],
|
6824
|
+
setSelected = _useState3[1];
|
6825
|
+
|
6826
|
+
function select(query) {
|
6827
|
+
setSelected(query.id);
|
6828
|
+
pageContext.changeFilters(query.filters);
|
6829
|
+
setPageContext(Object.assign({}, pageContext));
|
6830
|
+
}
|
6831
|
+
|
6832
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
|
6833
|
+
className: "table-queries",
|
6834
|
+
title: /*#__PURE__*/React__default["default"].createElement(Text, null, "Queries")
|
6835
|
+
}), /*#__PURE__*/React__default["default"].createElement("main", {
|
6836
|
+
className: "table-queries"
|
6837
|
+
}, queries ? queries.filter(function (query) {
|
6838
|
+
return query.url === url;
|
6839
|
+
}).map(function (query) {
|
6840
|
+
var style = selected === query.id ? "selected" : "";
|
6841
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
6842
|
+
className: "table-queries-item " + style,
|
6843
|
+
onClick: function onClick() {
|
6844
|
+
return select(query);
|
6845
|
+
}
|
6846
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
6847
|
+
icon: "star",
|
6848
|
+
size: "small"
|
6849
|
+
}), /*#__PURE__*/React__default["default"].createElement("label", null, query.name), /*#__PURE__*/React__default["default"].createElement(Icon, {
|
6850
|
+
icon: "close",
|
6851
|
+
clickable: true,
|
6852
|
+
size: "small",
|
6853
|
+
action: function action() {
|
6854
|
+
return remove(query.id);
|
6855
|
+
}
|
6856
|
+
}));
|
6857
|
+
}) : /*#__PURE__*/React__default["default"].createElement("div", null, "...empty...")));
|
6858
|
+
};
|
6859
|
+
/**
|
6860
|
+
* Table Filters
|
6861
|
+
*/
|
6862
|
+
|
6863
|
+
|
6864
|
+
var TableFilters = function TableFilters(props) {
|
6865
|
+
var reload = function reload() {
|
6866
|
+
try {
|
6867
|
+
return Promise.resolve(pageContext.load(form)).then(function () {
|
6868
|
+
setPageContext(Object.assign({}, pageContext));
|
6869
|
+
});
|
6870
|
+
} catch (e) {
|
6871
|
+
return Promise.reject(e);
|
6872
|
+
}
|
6873
|
+
};
|
6874
|
+
|
6875
|
+
var change = function change(next) {
|
6876
|
+
try {
|
6877
|
+
setForm(next);
|
6878
|
+
return Promise.resolve();
|
6879
|
+
} catch (e) {
|
6880
|
+
return Promise.reject(e);
|
6881
|
+
}
|
6882
|
+
};
|
6883
|
+
|
6884
|
+
var _useContext4 = React.useContext(PageContext),
|
6885
|
+
pageContext = _useContext4[0],
|
6886
|
+
setPageContext = _useContext4[1];
|
6887
|
+
|
6888
|
+
var filters = pageContext.filters;
|
6889
|
+
var schema = props.schema,
|
6890
|
+
onSave = props.onSave;
|
6891
|
+
|
6892
|
+
var _useState4 = React.useState({}),
|
6893
|
+
form = _useState4[0],
|
6894
|
+
setForm = _useState4[1];
|
6895
|
+
|
6896
|
+
var filterSchema = React.useMemo(function () {
|
6897
|
+
var filterSchema = Object.assign({}, schema);
|
6898
|
+
|
6899
|
+
for (var key in filterSchema) {
|
6900
|
+
if (filterSchema[key].filter === false) {
|
6901
|
+
delete filterSchema[key];
|
6902
|
+
} else {
|
6903
|
+
if (filterSchema[key].type === TYPES.ENTITY) {
|
6904
|
+
var fs = filterSchema[key].item;
|
6905
|
+
|
6906
|
+
for (var key in fs) {
|
6907
|
+
if (fs[key].filter === false) delete fs[key];
|
6908
|
+
}
|
6909
|
+
}
|
6910
|
+
}
|
6911
|
+
} //Object.values(filterSchema).forEach(field => field.section = null)
|
6912
|
+
|
6913
|
+
|
6914
|
+
delete filterSchema.flows;
|
6915
|
+
return filterSchema;
|
6916
|
+
}, [schema]);
|
6917
|
+
React.useEffect(function () {
|
6918
|
+
if (filters) setForm(filters);
|
6919
|
+
}, [filters]);
|
6920
|
+
React.useEffect(function () {
|
6921
|
+
reload();
|
6922
|
+
}, [form]);
|
6923
|
+
|
6924
|
+
function clear() {
|
6925
|
+
change({});
|
6926
|
+
}
|
6927
|
+
|
6928
|
+
function save() {
|
6929
|
+
if (onSave) {
|
6930
|
+
onSave(form);
|
6931
|
+
}
|
6932
|
+
}
|
6933
|
+
|
6934
|
+
var content = new Content(filterSchema, form);
|
6935
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
|
6936
|
+
className: "table-filters",
|
6937
|
+
title: /*#__PURE__*/React__default["default"].createElement(Text, null, "Filters")
|
6938
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
6939
|
+
icon: "filter_list_off",
|
6940
|
+
size: "small",
|
6941
|
+
clickable: true,
|
6942
|
+
action: clear
|
6943
|
+
}), onSave ? /*#__PURE__*/React__default["default"].createElement(Icon, {
|
6944
|
+
icon: "save",
|
6945
|
+
size: "small",
|
6946
|
+
clickable: true,
|
6947
|
+
action: save
|
6948
|
+
}) : null), /*#__PURE__*/React__default["default"].createElement("main", {
|
6949
|
+
className: "table-filters"
|
6950
|
+
}, /*#__PURE__*/React__default["default"].createElement(ContentEditor, {
|
6951
|
+
content: content,
|
6952
|
+
onChange: change
|
6953
|
+
})));
|
6954
|
+
};
|
6955
|
+
/**
|
6956
|
+
* Table Editor
|
6957
|
+
*/
|
6958
|
+
|
6959
|
+
|
6960
|
+
var TableEditor = function TableEditor(props) {
|
6961
|
+
var checkOne = function checkOne(id, field, value) {
|
6962
|
+
check([id], value);
|
6963
|
+
return Promise.resolve();
|
6964
|
+
};
|
6965
|
+
|
6966
|
+
var check = function check(ids, value) {
|
6967
|
+
try {
|
6968
|
+
pageContext.check(ids, value);
|
6969
|
+
setPageContext(Object.assign({}, pageContext));
|
6970
|
+
return Promise.resolve();
|
6971
|
+
} catch (e) {
|
6972
|
+
return Promise.reject(e);
|
6973
|
+
}
|
6974
|
+
};
|
6975
|
+
|
6976
|
+
var select = function select(row, event) {
|
6977
|
+
try {
|
6978
|
+
clear();
|
6979
|
+
return Promise.resolve(pageContext.select(row.id)).then(function () {
|
6980
|
+
setPageContext(Object.assign({}, pageContext));
|
6981
|
+
});
|
6982
|
+
} catch (e) {
|
6983
|
+
return Promise.reject(e);
|
6984
|
+
}
|
6985
|
+
};
|
6986
|
+
|
6987
|
+
var remove = function remove(id) {
|
6988
|
+
try {
|
6989
|
+
return Promise.resolve(site.confirm("Are you sure ?")).then(function (confirm) {
|
6990
|
+
var _temp3 = function () {
|
6991
|
+
if (confirm) {
|
6992
|
+
return Promise.resolve(pageContext.remove(id)).then(function () {
|
6993
|
+
pageContext.clear();
|
6994
|
+
setPageContext(Object.assign({}, pageContext));
|
6995
|
+
});
|
6996
|
+
}
|
6997
|
+
}();
|
6998
|
+
|
6999
|
+
if (_temp3 && _temp3.then) return _temp3.then(function () {});
|
7000
|
+
});
|
7001
|
+
} catch (e) {
|
7002
|
+
return Promise.reject(e);
|
7003
|
+
}
|
7004
|
+
};
|
7005
|
+
|
7006
|
+
var site = React.useContext(SiteContext);
|
7007
|
+
|
7008
|
+
var _useContext5 = React.useContext(PageContext),
|
7009
|
+
pageContext = _useContext5[0],
|
7010
|
+
setPageContext = _useContext5[1];
|
7011
|
+
|
7012
|
+
var _pageContext$all = pageContext.all,
|
7013
|
+
all = _pageContext$all === void 0 ? [] : _pageContext$all;
|
7014
|
+
var icon = props.icon,
|
7015
|
+
title = props.title,
|
7016
|
+
schema = props.schema,
|
7017
|
+
editable = props.editable,
|
7018
|
+
canDelete = props.canDelete,
|
7019
|
+
filter = props.filter,
|
7020
|
+
actions = props.actions;
|
7021
|
+
|
7022
|
+
var _useState5 = React.useState(props.groupBy),
|
7023
|
+
groupBy = _useState5[0],
|
7024
|
+
setGroupBy = _useState5[1];
|
7025
|
+
|
7026
|
+
function changeGroup(id, value) {
|
7027
|
+
setGroupBy(value);
|
7028
|
+
}
|
7029
|
+
|
7030
|
+
function change(rowID, cellID, value) {
|
7031
|
+
var _Object$assign;
|
7032
|
+
|
7033
|
+
var row = all.find(function (r) {
|
7034
|
+
return r.id === rowID;
|
7035
|
+
});
|
7036
|
+
var next = Object.assign({}, row, (_Object$assign = {}, _Object$assign[cellID] = value, _Object$assign));
|
7037
|
+
delete next.actions;
|
7038
|
+
pageContext.update(next);
|
7039
|
+
setPageContext(Object.assign({}, pageContext));
|
7040
|
+
}
|
7041
|
+
|
7042
|
+
function clear() {
|
7043
|
+
pageContext.clear();
|
7044
|
+
setPageContext(Object.assign({}, pageContext));
|
7045
|
+
}
|
7046
|
+
|
7047
|
+
function run(action, item) {
|
7048
|
+
action.action(item.id, pageContext, function () {
|
7049
|
+
try {
|
7050
|
+
return Promise.resolve(pageContext.load()).then(function () {
|
7051
|
+
setPageContext(Object.assign({}, pageContext));
|
7052
|
+
});
|
7053
|
+
} catch (e) {
|
7054
|
+
return Promise.reject(e);
|
7055
|
+
}
|
7056
|
+
});
|
7057
|
+
}
|
7058
|
+
|
7059
|
+
function renderGroupLabel(groupName) {
|
7060
|
+
var grouper = schema[groupBy];
|
7061
|
+
if (!groupName || !grouper) return "";
|
7062
|
+
|
7063
|
+
if (grouper.options) {
|
7064
|
+
var options = CHECK['isFunction'](grouper.options) ? grouper.options() : grouper.options;
|
7065
|
+
var option = options.find(function (option) {
|
7066
|
+
return option.value === groupName;
|
7067
|
+
});
|
7068
|
+
return option ? option.label : groupName;
|
7069
|
+
} else {
|
7070
|
+
return groupName;
|
7071
|
+
}
|
7072
|
+
}
|
7073
|
+
|
7074
|
+
function renderGroups() {
|
7075
|
+
var items = filter ? filter(all) : all;
|
7076
|
+
var groups = items.reduce(function (groups, item) {
|
7077
|
+
var groupName = item[groupBy];
|
7078
|
+
var group = groups[groupName];
|
7079
|
+
if (!group) groups[groupName] = [];
|
7080
|
+
groups[groupName].push(item);
|
7081
|
+
return groups;
|
7082
|
+
}, {});
|
7083
|
+
return Object.keys(groups).map(function (groupName) {
|
7084
|
+
var table = {
|
7085
|
+
columns: Object.values(schema).filter(function (field) {
|
7086
|
+
return field.column === true;
|
7087
|
+
}).map(function (field) {
|
7088
|
+
var options = field.options;
|
7089
|
+
|
7090
|
+
if (options && typeof options == 'function') {
|
7091
|
+
options = options();
|
7092
|
+
}
|
7093
|
+
|
7094
|
+
return {
|
7095
|
+
id: field.id,
|
7096
|
+
label: field.label,
|
7097
|
+
type: field.type,
|
7098
|
+
format: field.format,
|
7099
|
+
item: field.item ? field.item : [],
|
7100
|
+
onChange: field.id === "checked" ? checkOne : field.editable ? change : null,
|
7101
|
+
|
7102
|
+
/* checked has it´s own handler */
|
7103
|
+
options: options
|
7104
|
+
};
|
7105
|
+
}),
|
7106
|
+
rows: groups[groupName].map(function (item) {
|
7107
|
+
item.checked = pageContext.checked ? pageContext.checked.has(item.id) : false;
|
7108
|
+
item.actions = actions ? actions.map(function (_action2) {
|
7109
|
+
return _action2.filter ? _action2.filter(item) ? /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7110
|
+
icon: _action2.icon,
|
7111
|
+
clickable: true,
|
7112
|
+
size: "small",
|
7113
|
+
action: function action() {
|
7114
|
+
return run(_action2, item);
|
7115
|
+
}
|
7116
|
+
}) : null : /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7117
|
+
icon: _action2.icon,
|
7118
|
+
clickable: true,
|
7119
|
+
size: "small",
|
7120
|
+
action: function action() {
|
7121
|
+
return run(_action2, item);
|
7122
|
+
}
|
7123
|
+
});
|
7124
|
+
}) : [];
|
7125
|
+
if (canDelete) item.actions.push( /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7126
|
+
icon: "delete",
|
7127
|
+
size: "small",
|
7128
|
+
clickable: true,
|
7129
|
+
action: function action() {
|
7130
|
+
return remove(item.id);
|
7131
|
+
}
|
7132
|
+
}));
|
7133
|
+
return item;
|
7134
|
+
})
|
7135
|
+
};
|
7136
|
+
table.columns.push({
|
7137
|
+
id: "actions"
|
7138
|
+
});
|
7139
|
+
var groupSize = groups[groupName].length;
|
7140
|
+
var title = /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement("span", {
|
7141
|
+
className: "size"
|
7142
|
+
}, groupSize), renderGroupLabel(groupName));
|
7143
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, {
|
7144
|
+
key: groupName
|
7145
|
+
}, /*#__PURE__*/React__default["default"].createElement(Header, {
|
7146
|
+
title: title
|
7147
|
+
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
7148
|
+
className: "size"
|
7149
|
+
}, groupSize)), /*#__PURE__*/React__default["default"].createElement(DataTable, _extends({}, table, {
|
7150
|
+
onRowSelection: select,
|
7151
|
+
editable: editable,
|
7152
|
+
onCheckAll: check
|
7153
|
+
})));
|
7154
|
+
});
|
7155
|
+
}
|
7156
|
+
|
7157
|
+
function buildGroupOptions(schema) {
|
7158
|
+
return Object.values(schema).filter(function (field) {
|
7159
|
+
return field.grouper === true;
|
7160
|
+
}).map(function (field) {
|
7161
|
+
return {
|
7162
|
+
label: field.label,
|
7163
|
+
value: field.id
|
7164
|
+
};
|
7165
|
+
});
|
7166
|
+
}
|
7167
|
+
|
7168
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
|
7169
|
+
icon: icon,
|
7170
|
+
title: /*#__PURE__*/React__default["default"].createElement(Text, null, title)
|
7171
|
+
}, /*#__PURE__*/React__default["default"].createElement(DropDown, {
|
7172
|
+
id: "groupBy",
|
7173
|
+
label: "Agrupar Por",
|
7174
|
+
value: groupBy,
|
7175
|
+
options: buildGroupOptions(schema),
|
7176
|
+
onChange: changeGroup
|
7177
|
+
})), /*#__PURE__*/React__default["default"].createElement("main", {
|
7178
|
+
className: "table-editor"
|
7179
|
+
}, renderGroups()));
|
7180
|
+
};
|
7181
|
+
/**
|
7182
|
+
* Table Context
|
7183
|
+
*/
|
7184
|
+
|
7185
|
+
var TableContext = function TableContext(url, field, host, urlQuery) {
|
7186
|
+
var API = TableAPI(url, host);
|
7187
|
+
return {
|
7188
|
+
all: [],
|
7189
|
+
checked: new Set([]),
|
7190
|
+
selected: null,
|
7191
|
+
filters: {},
|
7192
|
+
queries: [],
|
7193
|
+
tab: null,
|
7194
|
+
load: function load(filter, like) {
|
7195
|
+
try {
|
7196
|
+
var _this2 = this;
|
7197
|
+
|
7198
|
+
var _temp5 = _catch(function () {
|
7199
|
+
var filters = filter ? Object.keys(filter).reduce(function (filters, key) {
|
7200
|
+
var field = filter[key];
|
7201
|
+
|
7202
|
+
if (field) {
|
7203
|
+
if (CHECK['isObject'](field)) {
|
7204
|
+
Object.keys(field).forEach(function (key2) {
|
7205
|
+
var subfield = field[key2];
|
7206
|
+
if (subfield) filters[key + "." + key2] = subfield;
|
7207
|
+
});
|
7208
|
+
} else {
|
7209
|
+
filters[key] = field;
|
7210
|
+
}
|
7211
|
+
}
|
7212
|
+
|
7213
|
+
return filters;
|
7214
|
+
}, {}) : [];
|
7215
|
+
|
7216
|
+
if (_this2.tab) {
|
7217
|
+
filters[_this2.tab.field] = _this2.tab.value;
|
7218
|
+
}
|
7219
|
+
|
7220
|
+
return Promise.resolve(API.all(filters, like)).then(function (data) {
|
7221
|
+
_this2.all = field ? data[field] : data;
|
7222
|
+
});
|
7223
|
+
}, function (error) {
|
7224
|
+
console.log(error);
|
7225
|
+
});
|
7226
|
+
|
7227
|
+
return Promise.resolve(_temp5 && _temp5.then ? _temp5.then(function () {}) : void 0);
|
7228
|
+
} catch (e) {
|
7229
|
+
return Promise.reject(e);
|
7230
|
+
}
|
7231
|
+
},
|
7232
|
+
check: function check(ids, isChecked) {
|
7233
|
+
var _this3 = this;
|
7234
|
+
|
7235
|
+
if (isChecked === void 0) {
|
7236
|
+
isChecked = true;
|
7237
|
+
}
|
7238
|
+
|
7239
|
+
if (isChecked) {
|
7240
|
+
ids.forEach(function (id) {
|
7241
|
+
return _this3.checked.add(id);
|
7242
|
+
});
|
7243
|
+
} else {
|
7244
|
+
ids.forEach(function (id) {
|
7245
|
+
return _this3.checked["delete"](id);
|
7246
|
+
});
|
7247
|
+
}
|
7248
|
+
},
|
7249
|
+
changeTab: function changeTab(tab) {
|
7250
|
+
this.tab = tab;
|
7251
|
+
},
|
7252
|
+
select: function select(id) {
|
7253
|
+
var result = this.all.find(function (item) {
|
7254
|
+
return item.id === id;
|
7255
|
+
});
|
7256
|
+
this.selected = result;
|
7257
|
+
},
|
7258
|
+
clear: function clear() {
|
7259
|
+
this.selected = null;
|
7260
|
+
},
|
7261
|
+
create: function create(form) {
|
7262
|
+
try {
|
7263
|
+
var _this5 = this;
|
7264
|
+
|
7265
|
+
var _temp7 = _catch(function () {
|
7266
|
+
return Promise.resolve(API.create(form)).then(function () {
|
7267
|
+
return Promise.resolve(_this5.load({}, false)).then(function () {});
|
7268
|
+
});
|
7269
|
+
}, function (error) {
|
7270
|
+
console.log(error);
|
7271
|
+
});
|
7272
|
+
|
7273
|
+
return Promise.resolve(_temp7 && _temp7.then ? _temp7.then(function () {}) : void 0);
|
7274
|
+
} catch (e) {
|
7275
|
+
return Promise.reject(e);
|
7276
|
+
}
|
7277
|
+
},
|
7278
|
+
update: function update(form) {
|
7279
|
+
try {
|
7280
|
+
var _this7 = this;
|
7281
|
+
|
7282
|
+
var _temp9 = _catch(function () {
|
7283
|
+
return Promise.resolve(API.update(form)).then(function () {
|
7284
|
+
return Promise.resolve(_this7.load()).then(function () {});
|
7285
|
+
});
|
7286
|
+
}, function (error) {
|
7287
|
+
console.log(error);
|
7288
|
+
});
|
7289
|
+
|
7290
|
+
return Promise.resolve(_temp9 && _temp9.then ? _temp9.then(function () {}) : void 0);
|
7291
|
+
} catch (e) {
|
7292
|
+
return Promise.reject(e);
|
7293
|
+
}
|
7294
|
+
},
|
7295
|
+
remove: function remove(id) {
|
7296
|
+
try {
|
7297
|
+
var _this9 = this;
|
7298
|
+
|
7299
|
+
var _temp11 = _catch(function () {
|
7300
|
+
return Promise.resolve(API.remove(id)).then(function () {
|
7301
|
+
return Promise.resolve(_this9.load()).then(function () {});
|
7302
|
+
});
|
7303
|
+
}, function (error) {
|
7304
|
+
console.log(error);
|
7305
|
+
});
|
7306
|
+
|
7307
|
+
return Promise.resolve(_temp11 && _temp11.then ? _temp11.then(function () {}) : void 0);
|
7308
|
+
} catch (e) {
|
7309
|
+
return Promise.reject(e);
|
7310
|
+
}
|
7311
|
+
},
|
7312
|
+
changeFilters: function changeFilters(filters) {
|
7313
|
+
this.filters = filters;
|
7314
|
+
},
|
7315
|
+
loadQueries: function loadQueries(user) {
|
7316
|
+
try {
|
7317
|
+
var _this11 = this;
|
7318
|
+
|
7319
|
+
var _temp13 = _catch(function () {
|
7320
|
+
return Promise.resolve(API.queries(user, urlQuery)).then(function (_API$queries) {
|
7321
|
+
_this11.queries = _API$queries;
|
7322
|
+
});
|
7323
|
+
}, function (error) {
|
7324
|
+
console.log(error);
|
7325
|
+
});
|
7326
|
+
|
7327
|
+
return Promise.resolve(_temp13 && _temp13.then ? _temp13.then(function () {}) : void 0);
|
7328
|
+
} catch (e) {
|
7329
|
+
return Promise.reject(e);
|
7330
|
+
}
|
7331
|
+
},
|
7332
|
+
createQuery: function createQuery(query, user) {
|
7333
|
+
try {
|
7334
|
+
var _this13 = this;
|
7335
|
+
|
7336
|
+
var _temp15 = _catch(function () {
|
7337
|
+
return Promise.resolve(API.createQuery(query, urlQuery)).then(function () {
|
7338
|
+
return Promise.resolve(_this13.loadQueries(user)).then(function () {});
|
7339
|
+
});
|
7340
|
+
}, function (error) {
|
7341
|
+
console.log(error);
|
7342
|
+
});
|
7343
|
+
|
7344
|
+
return Promise.resolve(_temp15 && _temp15.then ? _temp15.then(function () {}) : void 0);
|
7345
|
+
} catch (e) {
|
7346
|
+
return Promise.reject(e);
|
7347
|
+
}
|
7348
|
+
},
|
7349
|
+
removeQuery: function removeQuery(id, user) {
|
7350
|
+
try {
|
7351
|
+
var _this15 = this;
|
7352
|
+
|
7353
|
+
var _temp17 = _catch(function () {
|
7354
|
+
return Promise.resolve(API.removeQuery(id, urlQuery)).then(function () {
|
7355
|
+
return Promise.resolve(_this15.loadQueries(user)).then(function () {});
|
7356
|
+
});
|
7357
|
+
}, function (error) {
|
7358
|
+
console.log(error);
|
7359
|
+
});
|
7360
|
+
|
7361
|
+
return Promise.resolve(_temp17 && _temp17.then ? _temp17.then(function () {}) : void 0);
|
7362
|
+
} catch (e) {
|
7363
|
+
return Promise.reject(e);
|
7364
|
+
}
|
7365
|
+
}
|
7366
|
+
};
|
7367
|
+
};
|
7368
|
+
/**
|
7369
|
+
* table API
|
7370
|
+
*/
|
7371
|
+
|
7372
|
+
|
7373
|
+
var TableAPI = function TableAPI(url, host) {
|
7374
|
+
var http = HTTPClient(host || window.API || process.env.REACT_APP_API, Session);
|
7375
|
+
return {
|
7376
|
+
all: function all(filters, like) {
|
7377
|
+
if (like === void 0) {
|
7378
|
+
like = true;
|
7379
|
+
}
|
7380
|
+
|
7381
|
+
var queryParams = "?";
|
7382
|
+
|
7383
|
+
if (filters) {
|
7384
|
+
var filterQuery = Object.keys(filters).reduce(function (query, key) {
|
7385
|
+
var value = filters[key];
|
7386
|
+
|
7387
|
+
if (typeof value === 'boolean') {
|
7388
|
+
return query.concat(key + "=" + value + "&");
|
7389
|
+
} else if (Array.isArray(value)) {
|
7390
|
+
var param = value.length === 0 ? '' : value.reduce(function (param, item) {
|
7391
|
+
param = param.concat(key + "=" + item + "&");
|
7392
|
+
return param;
|
7393
|
+
}, "");
|
7394
|
+
return query.concat(param);
|
7395
|
+
} else {
|
7396
|
+
return like ? query.concat(key + "=%" + filters[key] + "%&") : query.concat(key + "=" + filters[key] + "&");
|
7397
|
+
}
|
7398
|
+
}, "");
|
7399
|
+
queryParams = queryParams.concat(filterQuery);
|
7400
|
+
}
|
7401
|
+
|
7402
|
+
return http.GET(url + queryParams);
|
7403
|
+
},
|
7404
|
+
find: function find(id) {
|
7405
|
+
return http.GET(url + "/" + id);
|
7406
|
+
},
|
7407
|
+
create: function create(form) {
|
7408
|
+
var body = JSON.stringify(form);
|
7409
|
+
return http.POST(url, body);
|
7410
|
+
},
|
7411
|
+
update: function update(form) {
|
7412
|
+
var body = JSON.stringify(form);
|
7413
|
+
return http.PUT(url + "/" + form.id, body);
|
7414
|
+
},
|
7415
|
+
remove: function remove(id) {
|
7416
|
+
return http.DELETE(url + "/" + id);
|
7417
|
+
},
|
7418
|
+
queries: function queries(user, url2) {
|
7419
|
+
var url3 = url2 ? url2 : url;
|
7420
|
+
url3 = url3 + "queries";
|
7421
|
+
if (user) url3 = url3 + ("?user=" + user);
|
7422
|
+
return http.GET(url3);
|
7423
|
+
},
|
7424
|
+
createQuery: function createQuery(form, url2) {
|
7425
|
+
var url3 = url2 ? url2 : url;
|
7426
|
+
var body = JSON.stringify(form);
|
7427
|
+
return http.POST(url3 + "queries", body);
|
7428
|
+
},
|
7429
|
+
removeQuery: function removeQuery(id, url2) {
|
7430
|
+
var url3 = url2 ? url2 : url;
|
7431
|
+
return http.DELETE(url3 + "queries/" + id);
|
7432
|
+
}
|
7433
|
+
};
|
7434
|
+
};
|
7435
|
+
|
6358
7436
|
var isFunction = function isFunction(value) {
|
6359
7437
|
return value && (Object.prototype.toString.call(value) === "[object Function]" || "function" === typeof value || value instanceof Function);
|
6360
7438
|
};
|
@@ -6414,7 +7492,8 @@ exports.TEXTFORMATS = TEXTFORMATS;
|
|
6414
7492
|
exports.TYPES = TYPES;
|
6415
7493
|
exports.Tab = Tab;
|
6416
7494
|
exports.TabbedContentEditor = TabbedContentEditor;
|
6417
|
-
exports.
|
7495
|
+
exports.TabbedTablePage = TabbedTablePage;
|
7496
|
+
exports.TableEditor = TableEditor$1;
|
6418
7497
|
exports.TablePage = TablePage;
|
6419
7498
|
exports.Tabs = Tabs;
|
6420
7499
|
exports.Text = Text;
|