ywana-core8 0.0.569 → 0.0.572
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 +1226 -106
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +50 -1
- package/dist/index.css.map +1 -1
- package/dist/index.modern.js +1225 -107
- package/dist/index.modern.js.map +1 -1
- package/dist/index.umd.js +1226 -106
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/domain/ContentEditor.js +12 -1
- package/src/domain/TablePage.js +2 -1
- package/src/domain/TablePage2.js +680 -0
- package/src/domain/index.js +1 -0
- package/src/html/accordion.css +36 -0
- package/src/html/accordion.js +58 -0
- package/src/html/accordion.test.js +37 -0
- package/src/html/index.js +1 -0
- package/src/html/section.css +1 -1
- package/src/html/section.js +1 -1
- package/src/html/table.test.js +2 -2
- package/src/html/textfield.js +4 -4
- package/src/html/textfield.test.js +1 -0
- package/src/html/tokenfield.js +1 -2
- package/src/site/site.css +13 -0
- package/src/site/site.js +1 -1
- package/src/site/site.test.js +7 -6
package/dist/index.cjs
CHANGED
@@ -17,7 +17,7 @@ var moment__default = /*#__PURE__*/_interopDefaultLegacy(moment$1);
|
|
17
17
|
var ResumableJS__default = /*#__PURE__*/_interopDefaultLegacy(ResumableJS);
|
18
18
|
var equal__default = /*#__PURE__*/_interopDefaultLegacy(equal);
|
19
19
|
|
20
|
-
function _catch$
|
20
|
+
function _catch$4(body, recover) {
|
21
21
|
try {
|
22
22
|
var result = body();
|
23
23
|
} catch (e) {
|
@@ -49,7 +49,7 @@ var fetchAsync = function fetchAsync(method, URL, body, token, headers) {
|
|
49
49
|
body: body
|
50
50
|
};
|
51
51
|
if (headers) request.headers = request.headers;
|
52
|
-
return Promise.resolve(_catch$
|
52
|
+
return Promise.resolve(_catch$4(function () {
|
53
53
|
return Promise.resolve(fetch(URL, request)).then(function (response) {
|
54
54
|
var _exit;
|
55
55
|
|
@@ -150,6 +150,24 @@ var Session = {
|
|
150
150
|
}
|
151
151
|
};
|
152
152
|
|
153
|
+
function _extends() {
|
154
|
+
_extends = Object.assign || function (target) {
|
155
|
+
for (var i = 1; i < arguments.length; i++) {
|
156
|
+
var source = arguments[i];
|
157
|
+
|
158
|
+
for (var key in source) {
|
159
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
160
|
+
target[key] = source[key];
|
161
|
+
}
|
162
|
+
}
|
163
|
+
}
|
164
|
+
|
165
|
+
return target;
|
166
|
+
};
|
167
|
+
|
168
|
+
return _extends.apply(this, arguments);
|
169
|
+
}
|
170
|
+
|
153
171
|
/**
|
154
172
|
* Icon
|
155
173
|
*/
|
@@ -182,6 +200,99 @@ var Icon = function Icon(_ref) {
|
|
182
200
|
}, icon);
|
183
201
|
};
|
184
202
|
|
203
|
+
var Accordion = function Accordion(props) {
|
204
|
+
var className = props.className,
|
205
|
+
_props$sections = props.sections,
|
206
|
+
sections = _props$sections === void 0 ? [] : _props$sections,
|
207
|
+
onCheck = props.onCheck;
|
208
|
+
|
209
|
+
var _useState = React.useState(sections.map(function (section) {
|
210
|
+
return section.open;
|
211
|
+
})),
|
212
|
+
openSections = _useState[0],
|
213
|
+
setOpenSections = _useState[1];
|
214
|
+
|
215
|
+
var _useState2 = React.useState(sections.map(function (section) {
|
216
|
+
return section.checked;
|
217
|
+
})),
|
218
|
+
checkedSections = _useState2[0],
|
219
|
+
setCheckedSections = _useState2[1];
|
220
|
+
|
221
|
+
function toggle(index) {
|
222
|
+
var next = openSections.map(function (open, i) {
|
223
|
+
return i === index ? !open : open;
|
224
|
+
});
|
225
|
+
setOpenSections(next);
|
226
|
+
}
|
227
|
+
|
228
|
+
function check(index) {
|
229
|
+
var next = checkedSections.map(function (checked, i) {
|
230
|
+
return i === index ? !checked : checked;
|
231
|
+
});
|
232
|
+
setCheckedSections(next);
|
233
|
+
if (onCheck) onCheck(index, next[index], sections[index].id);
|
234
|
+
}
|
235
|
+
|
236
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
237
|
+
className: "accordion " + className
|
238
|
+
}, sections.map(function (section, index) {
|
239
|
+
var isOpen = openSections[index];
|
240
|
+
var isChecked = checkedSections[index];
|
241
|
+
return /*#__PURE__*/React__default["default"].createElement(AccordionSection, _extends({
|
242
|
+
key: index
|
243
|
+
}, section, {
|
244
|
+
open: isOpen,
|
245
|
+
checked: isChecked,
|
246
|
+
onToggle: function onToggle() {
|
247
|
+
return toggle(index);
|
248
|
+
},
|
249
|
+
onCheck: function onCheck() {
|
250
|
+
return check(index);
|
251
|
+
}
|
252
|
+
}), section.children);
|
253
|
+
}));
|
254
|
+
};
|
255
|
+
|
256
|
+
var AccordionSection = function AccordionSection(props) {
|
257
|
+
var checked = props.checked,
|
258
|
+
icon = props.icon,
|
259
|
+
title = props.title,
|
260
|
+
subtitle = props.subtitle,
|
261
|
+
_props$open = props.open,
|
262
|
+
open = _props$open === void 0 ? false : _props$open,
|
263
|
+
onToggle = props.onToggle,
|
264
|
+
onCheck = props.onCheck,
|
265
|
+
toolbar = props.toolbar,
|
266
|
+
info = props.info,
|
267
|
+
children = props.children;
|
268
|
+
var togglerIcon = open ? "expand_less" : "expand_more";
|
269
|
+
var checkedIcon = checked === undefined || checked === null ? null : checked === false ? "check_box_outline_blank" : "check_box";
|
270
|
+
return /*#__PURE__*/React__default["default"].createElement("section", {
|
271
|
+
className: "accordion-section"
|
272
|
+
}, /*#__PURE__*/React__default["default"].createElement("header", null, checkedIcon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
|
273
|
+
className: "accordion-section-checker",
|
274
|
+
icon: checkedIcon,
|
275
|
+
clickable: true,
|
276
|
+
action: onCheck
|
277
|
+
}) : '', icon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
|
278
|
+
className: "accordion-section-icon",
|
279
|
+
icon: icon
|
280
|
+
}) : '', title ? /*#__PURE__*/React__default["default"].createElement("div", {
|
281
|
+
className: "accordion-section--title"
|
282
|
+
}, title) : '', subtitle ? /*#__PURE__*/React__default["default"].createElement("div", {
|
283
|
+
className: "accordion-section--subtitle"
|
284
|
+
}, subtitle) : '', info ? /*#__PURE__*/React__default["default"].createElement("div", {
|
285
|
+
className: "accordion-section--info"
|
286
|
+
}, info) : '', toolbar ? /*#__PURE__*/React__default["default"].createElement("div", {
|
287
|
+
className: "accordion-section--toolbar"
|
288
|
+
}, toolbar) : '', /*#__PURE__*/React__default["default"].createElement(Icon, {
|
289
|
+
className: "accordion-section-toggler",
|
290
|
+
icon: togglerIcon,
|
291
|
+
clickable: true,
|
292
|
+
action: onToggle
|
293
|
+
})), open ? /*#__PURE__*/React__default["default"].createElement("main", null, children) : '');
|
294
|
+
};
|
295
|
+
|
185
296
|
/**
|
186
297
|
* HTML Button
|
187
298
|
*/
|
@@ -501,24 +612,6 @@ var Header = function Header(props) {
|
|
501
612
|
}, props.children));
|
502
613
|
};
|
503
614
|
|
504
|
-
function _extends() {
|
505
|
-
_extends = Object.assign || function (target) {
|
506
|
-
for (var i = 1; i < arguments.length; i++) {
|
507
|
-
var source = arguments[i];
|
508
|
-
|
509
|
-
for (var key in source) {
|
510
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
511
|
-
target[key] = source[key];
|
512
|
-
}
|
513
|
-
}
|
514
|
-
}
|
515
|
-
|
516
|
-
return target;
|
517
|
-
};
|
518
|
-
|
519
|
-
return _extends.apply(this, arguments);
|
520
|
-
}
|
521
|
-
|
522
615
|
/**
|
523
616
|
* List
|
524
617
|
*/
|
@@ -859,7 +952,7 @@ var Section = function Section(props) {
|
|
859
952
|
};
|
860
953
|
|
861
954
|
return /*#__PURE__*/React__default["default"].createElement("section", {
|
862
|
-
className: "
|
955
|
+
className: "section " + className
|
863
956
|
}, /*#__PURE__*/React__default["default"].createElement(Header, {
|
864
957
|
icon: icon,
|
865
958
|
title: title
|
@@ -1382,8 +1475,8 @@ var DropDown = function DropDown(props) {
|
|
1382
1475
|
if (!readOnly) setOpen(!open);
|
1383
1476
|
}
|
1384
1477
|
|
1385
|
-
function select(
|
1386
|
-
var next =
|
1478
|
+
function select(value) {
|
1479
|
+
var next = value;
|
1387
1480
|
var option = options.find(function (option) {
|
1388
1481
|
return option.value === next;
|
1389
1482
|
});
|
@@ -1408,12 +1501,13 @@ var DropDown = function DropDown(props) {
|
|
1408
1501
|
var lis = items.map(function (option) {
|
1409
1502
|
return /*#__PURE__*/React__default["default"].createElement("li", {
|
1410
1503
|
key: option.value,
|
1411
|
-
value: option.value
|
1504
|
+
value: option.value,
|
1505
|
+
onClick: function onClick() {
|
1506
|
+
return select(option.value);
|
1507
|
+
}
|
1412
1508
|
}, /*#__PURE__*/React__default["default"].createElement(Text, null, option.label));
|
1413
1509
|
});
|
1414
|
-
return /*#__PURE__*/React__default["default"].createElement("menu", null, /*#__PURE__*/React__default["default"].createElement("ul",
|
1415
|
-
onMouseDown: select
|
1416
|
-
}, lis));
|
1510
|
+
return /*#__PURE__*/React__default["default"].createElement("menu", null, /*#__PURE__*/React__default["default"].createElement("ul", null, lis));
|
1417
1511
|
} else {
|
1418
1512
|
return null;
|
1419
1513
|
}
|
@@ -3626,7 +3720,9 @@ var SiteMenu = function SiteMenu(_ref6) {
|
|
3626
3720
|
return _goto(id);
|
3627
3721
|
}
|
3628
3722
|
}, /*#__PURE__*/React__default["default"].createElement(Tooltip, {
|
3629
|
-
text: title
|
3723
|
+
text: title,
|
3724
|
+
top: ".5rem",
|
3725
|
+
left: "2rem"
|
3630
3726
|
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
3631
3727
|
key: id,
|
3632
3728
|
icon: icon,
|
@@ -4197,13 +4293,13 @@ var ContentEditor = function ContentEditor(_ref) {
|
|
4197
4293
|
* Tabbed Content Editor
|
4198
4294
|
*/
|
4199
4295
|
|
4200
|
-
var TabbedContentEditor = function TabbedContentEditor(
|
4201
|
-
var content =
|
4202
|
-
filter =
|
4203
|
-
|
4204
|
-
grouped =
|
4205
|
-
onChange =
|
4206
|
-
onReload =
|
4296
|
+
var TabbedContentEditor = function TabbedContentEditor(_ref3) {
|
4297
|
+
var content = _ref3.content,
|
4298
|
+
filter = _ref3.filter,
|
4299
|
+
_ref3$grouped = _ref3.grouped,
|
4300
|
+
grouped = _ref3$grouped === void 0 ? false : _ref3$grouped,
|
4301
|
+
onChange = _ref3.onChange,
|
4302
|
+
onReload = _ref3.onReload;
|
4207
4303
|
|
4208
4304
|
var _useState = React.useState(0),
|
4209
4305
|
tab = _useState[0],
|
@@ -4288,9 +4384,9 @@ var TabbedContentEditor = function TabbedContentEditor(_ref2) {
|
|
4288
4384
|
* TreededContentEditor
|
4289
4385
|
*/
|
4290
4386
|
|
4291
|
-
var TreededContentEditor = function TreededContentEditor(
|
4292
|
-
var content =
|
4293
|
-
onChange =
|
4387
|
+
var TreededContentEditor = function TreededContentEditor(_ref4) {
|
4388
|
+
var content = _ref4.content,
|
4389
|
+
onChange = _ref4.onChange;
|
4294
4390
|
var value = content.value();
|
4295
4391
|
var nodes = Object.values(content.type).filter(function (field) {
|
4296
4392
|
return field.type === TYPES.ARRAY;
|
@@ -4355,13 +4451,13 @@ var TreededContentEditor = function TreededContentEditor(_ref3) {
|
|
4355
4451
|
* FieldEditor
|
4356
4452
|
*/
|
4357
4453
|
|
4358
|
-
var FieldEditor = function FieldEditor(
|
4359
|
-
var field =
|
4360
|
-
onChange =
|
4361
|
-
content =
|
4362
|
-
|
4363
|
-
outlined =
|
4364
|
-
onReload =
|
4454
|
+
var FieldEditor = function FieldEditor(_ref5) {
|
4455
|
+
var field = _ref5.field,
|
4456
|
+
onChange = _ref5.onChange,
|
4457
|
+
content = _ref5.content,
|
4458
|
+
_ref5$outlined = _ref5.outlined,
|
4459
|
+
outlined = _ref5$outlined === void 0 ? false : _ref5$outlined,
|
4460
|
+
onReload = _ref5.onReload;
|
4365
4461
|
var id = field.id,
|
4366
4462
|
type = field.type,
|
4367
4463
|
item = field.item,
|
@@ -4448,11 +4544,11 @@ var FieldEditor = function FieldEditor(_ref4) {
|
|
4448
4544
|
* Entity Editor
|
4449
4545
|
*/
|
4450
4546
|
|
4451
|
-
var EntityEditor = function EntityEditor(
|
4452
|
-
var field =
|
4453
|
-
|
4454
|
-
value =
|
4455
|
-
onChange =
|
4547
|
+
var EntityEditor = function EntityEditor(_ref6) {
|
4548
|
+
var field = _ref6.field,
|
4549
|
+
_ref6$value = _ref6.value,
|
4550
|
+
value = _ref6$value === void 0 ? {} : _ref6$value,
|
4551
|
+
onChange = _ref6.onChange;
|
4456
4552
|
var id = field.id,
|
4457
4553
|
item = field.item,
|
4458
4554
|
label = field.label;
|
@@ -4512,13 +4608,13 @@ var EntityEditor = function EntityEditor(_ref5) {
|
|
4512
4608
|
*/
|
4513
4609
|
|
4514
4610
|
|
4515
|
-
var StringEditor = function StringEditor(
|
4516
|
-
var field =
|
4517
|
-
|
4518
|
-
value =
|
4519
|
-
onChange =
|
4520
|
-
content =
|
4521
|
-
outlined =
|
4611
|
+
var StringEditor = function StringEditor(_ref7) {
|
4612
|
+
var field = _ref7.field,
|
4613
|
+
_ref7$value = _ref7.value,
|
4614
|
+
value = _ref7$value === void 0 ? '' : _ref7$value,
|
4615
|
+
onChange = _ref7.onChange,
|
4616
|
+
content = _ref7.content,
|
4617
|
+
outlined = _ref7.outlined;
|
4522
4618
|
var id = field.id,
|
4523
4619
|
format = field.format,
|
4524
4620
|
label = field.label,
|
@@ -4634,12 +4730,12 @@ var StringEditor = function StringEditor(_ref6) {
|
|
4634
4730
|
* Number Editor
|
4635
4731
|
*/
|
4636
4732
|
|
4637
|
-
var NumberEditor = function NumberEditor(
|
4638
|
-
var field =
|
4639
|
-
value =
|
4640
|
-
onChange =
|
4641
|
-
|
4642
|
-
outlined =
|
4733
|
+
var NumberEditor = function NumberEditor(_ref8) {
|
4734
|
+
var field = _ref8.field,
|
4735
|
+
value = _ref8.value,
|
4736
|
+
onChange = _ref8.onChange,
|
4737
|
+
_ref8$outlined = _ref8.outlined,
|
4738
|
+
outlined = _ref8$outlined === void 0 ? false : _ref8$outlined;
|
4643
4739
|
var id = field.id,
|
4644
4740
|
label = field.label,
|
4645
4741
|
_field$editable2 = field.editable,
|
@@ -4672,11 +4768,11 @@ var NumberEditor = function NumberEditor(_ref7) {
|
|
4672
4768
|
*/
|
4673
4769
|
|
4674
4770
|
|
4675
|
-
var ListEditor = function ListEditor(
|
4676
|
-
var field =
|
4677
|
-
|
4678
|
-
value =
|
4679
|
-
onChange =
|
4771
|
+
var ListEditor = function ListEditor(_ref9) {
|
4772
|
+
var field = _ref9.field,
|
4773
|
+
_ref9$value = _ref9.value,
|
4774
|
+
value = _ref9$value === void 0 ? [] : _ref9$value,
|
4775
|
+
onChange = _ref9.onChange;
|
4680
4776
|
var label = field.label;
|
4681
4777
|
|
4682
4778
|
function change(id, value) {
|
@@ -4696,12 +4792,12 @@ var ListEditor = function ListEditor(_ref8) {
|
|
4696
4792
|
* Multi Selection Editor
|
4697
4793
|
*/
|
4698
4794
|
|
4699
|
-
var MultiSelectionEditor = function MultiSelectionEditor(
|
4700
|
-
var field =
|
4701
|
-
|
4702
|
-
value =
|
4703
|
-
content =
|
4704
|
-
onChange =
|
4795
|
+
var MultiSelectionEditor = function MultiSelectionEditor(_ref10) {
|
4796
|
+
var field = _ref10.field,
|
4797
|
+
_ref10$value = _ref10.value,
|
4798
|
+
value = _ref10$value === void 0 ? [] : _ref10$value,
|
4799
|
+
content = _ref10.content,
|
4800
|
+
onChange = _ref10.onChange;
|
4705
4801
|
var id = field.id,
|
4706
4802
|
label = field.label,
|
4707
4803
|
options = field.options;
|
@@ -4740,12 +4836,12 @@ var MultiSelectionEditor = function MultiSelectionEditor(_ref9) {
|
|
4740
4836
|
* Collection Editor
|
4741
4837
|
*/
|
4742
4838
|
|
4743
|
-
var CollectionEditor$1 = function CollectionEditor(
|
4744
|
-
var field =
|
4745
|
-
|
4746
|
-
value =
|
4747
|
-
onChange =
|
4748
|
-
onReload =
|
4839
|
+
var CollectionEditor$1 = function CollectionEditor(_ref11) {
|
4840
|
+
var field = _ref11.field,
|
4841
|
+
_ref11$value = _ref11.value,
|
4842
|
+
value = _ref11$value === void 0 ? [] : _ref11$value,
|
4843
|
+
onChange = _ref11.onChange,
|
4844
|
+
onReload = _ref11.onReload;
|
4749
4845
|
var id = field.id,
|
4750
4846
|
item = field.item,
|
4751
4847
|
label = field.label,
|
@@ -4815,7 +4911,7 @@ var CollectionEditor$1 = function CollectionEditor(_ref10) {
|
|
4815
4911
|
onChange: onChange,
|
4816
4912
|
onReload: reload
|
4817
4913
|
}) // : <DataTable {...table} editable={editable} />
|
4818
|
-
: /*#__PURE__*/React__default["default"].createElement(TableEditor$
|
4914
|
+
: /*#__PURE__*/React__default["default"].createElement(TableEditor$3, {
|
4819
4915
|
icon: "info",
|
4820
4916
|
title: label,
|
4821
4917
|
data: value,
|
@@ -4835,9 +4931,9 @@ var CollectionEditor$1 = function CollectionEditor(_ref10) {
|
|
4835
4931
|
* Collection Adder
|
4836
4932
|
*/
|
4837
4933
|
|
4838
|
-
var CollectionAdder = function CollectionAdder(
|
4839
|
-
var item =
|
4840
|
-
onAdd =
|
4934
|
+
var CollectionAdder = function CollectionAdder(_ref12) {
|
4935
|
+
var item = _ref12.item,
|
4936
|
+
onAdd = _ref12.onAdd;
|
4841
4937
|
|
4842
4938
|
var _useState3 = React.useState(false),
|
4843
4939
|
edit = _useState3[0],
|
@@ -4906,7 +5002,7 @@ var CollectionAdder = function CollectionAdder(_ref11) {
|
|
4906
5002
|
*/
|
4907
5003
|
|
4908
5004
|
|
4909
|
-
var TableEditor$
|
5005
|
+
var TableEditor$3 = function TableEditor(props) {
|
4910
5006
|
var select = function select(row) {
|
4911
5007
|
try {
|
4912
5008
|
if (onSelect) onSelect(row.id);
|
@@ -5250,7 +5346,7 @@ var EditContentDialog = function EditContentDialog(_ref) {
|
|
5250
5346
|
* Collection Page
|
5251
5347
|
*/
|
5252
5348
|
|
5253
|
-
function _catch$
|
5349
|
+
function _catch$3(body, recover) {
|
5254
5350
|
try {
|
5255
5351
|
var result = body();
|
5256
5352
|
} catch (e) {
|
@@ -5827,7 +5923,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5827
5923
|
try {
|
5828
5924
|
var _this2 = this;
|
5829
5925
|
|
5830
|
-
var _temp2 = _catch$
|
5926
|
+
var _temp2 = _catch$3(function () {
|
5831
5927
|
return Promise.resolve(API.all(null, page)).then(function (data) {
|
5832
5928
|
_this2.all = field ? data[field] : data;
|
5833
5929
|
});
|
@@ -5876,7 +5972,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5876
5972
|
},
|
5877
5973
|
fetch: function fetch(id) {
|
5878
5974
|
try {
|
5879
|
-
return Promise.resolve(_catch$
|
5975
|
+
return Promise.resolve(_catch$3(function () {
|
5880
5976
|
return Promise.resolve(API.find(id));
|
5881
5977
|
}, function (error) {
|
5882
5978
|
console.log(error);
|
@@ -5892,7 +5988,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5892
5988
|
try {
|
5893
5989
|
var _this8 = this;
|
5894
5990
|
|
5895
|
-
var _temp6 = _catch$
|
5991
|
+
var _temp6 = _catch$3(function () {
|
5896
5992
|
return Promise.resolve(API.create(form)).then(function () {
|
5897
5993
|
return Promise.resolve(_this8.load()).then(function () {});
|
5898
5994
|
});
|
@@ -5909,7 +6005,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5909
6005
|
try {
|
5910
6006
|
var _this10 = this;
|
5911
6007
|
|
5912
|
-
var _temp8 = _catch$
|
6008
|
+
var _temp8 = _catch$3(function () {
|
5913
6009
|
return Promise.resolve(API.update(form)).then(function () {
|
5914
6010
|
return Promise.resolve(_this10.load()).then(function () {});
|
5915
6011
|
});
|
@@ -5926,7 +6022,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5926
6022
|
try {
|
5927
6023
|
var _this12 = this;
|
5928
6024
|
|
5929
|
-
var _temp10 = _catch$
|
6025
|
+
var _temp10 = _catch$3(function () {
|
5930
6026
|
return Promise.resolve(API.patch(id, form)).then(function () {
|
5931
6027
|
return Promise.resolve(_this12.load()).then(function () {});
|
5932
6028
|
});
|
@@ -5943,7 +6039,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5943
6039
|
try {
|
5944
6040
|
var _this14 = this;
|
5945
6041
|
|
5946
|
-
var _temp12 = _catch$
|
6042
|
+
var _temp12 = _catch$3(function () {
|
5947
6043
|
return Promise.resolve(API.updateProperty(id, propertyName, form)).then(function () {
|
5948
6044
|
return Promise.resolve(_this14.load()).then(function () {});
|
5949
6045
|
});
|
@@ -5960,7 +6056,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5960
6056
|
try {
|
5961
6057
|
var _this16 = this;
|
5962
6058
|
|
5963
|
-
var _temp14 = _catch$
|
6059
|
+
var _temp14 = _catch$3(function () {
|
5964
6060
|
return Promise.resolve(API.remove(id)).then(function () {
|
5965
6061
|
return Promise.resolve(_this16.load()).then(function () {});
|
5966
6062
|
});
|
@@ -6173,7 +6269,7 @@ var QUERY = {
|
|
6173
6269
|
* Table Page
|
6174
6270
|
*/
|
6175
6271
|
|
6176
|
-
function _catch$
|
6272
|
+
function _catch$2(body, recover) {
|
6177
6273
|
try {
|
6178
6274
|
var result = body();
|
6179
6275
|
} catch (e) {
|
@@ -6300,7 +6396,7 @@ var TablePage = function TablePage(props) {
|
|
6300
6396
|
pageContext = _useContext[0],
|
6301
6397
|
setPageContext = _useContext[1];
|
6302
6398
|
|
6303
|
-
var context = TableContext$
|
6399
|
+
var context = TableContext$2(url, field, host, urlQuery, params);
|
6304
6400
|
var selected = pageContext.selected;
|
6305
6401
|
var timer = React.useRef(null);
|
6306
6402
|
|
@@ -6400,13 +6496,13 @@ var TablePage = function TablePage(props) {
|
|
6400
6496
|
if (rowSelected || rowChecked) {
|
6401
6497
|
return /*#__PURE__*/React__default["default"].createElement("aside", {
|
6402
6498
|
className: "table-page"
|
6403
|
-
}, rowSelected ? /*#__PURE__*/React__default["default"].createElement(TableRowEditor$
|
6499
|
+
}, rowSelected ? /*#__PURE__*/React__default["default"].createElement(TableRowEditor$2, {
|
6404
6500
|
content: new Content(schema, form),
|
6405
6501
|
filter: editorFilter,
|
6406
6502
|
onChange: change,
|
6407
6503
|
onClose: closeAside,
|
6408
6504
|
editable: canEdit
|
6409
|
-
}) : null, rowChecked ? /*#__PURE__*/React__default["default"].createElement(TableSelector$
|
6505
|
+
}) : null, rowChecked ? /*#__PURE__*/React__default["default"].createElement(TableSelector$2, {
|
6410
6506
|
schema: schema,
|
6411
6507
|
actions: selectionActions
|
6412
6508
|
}) : null);
|
@@ -6447,17 +6543,17 @@ var TablePage = function TablePage(props) {
|
|
6447
6543
|
onSelect: playScenario
|
6448
6544
|
})) : null, renderActions()), canQuery || canFilter ? /*#__PURE__*/React__default["default"].createElement("menu", {
|
6449
6545
|
className: "table-page"
|
6450
|
-
}, canQuery ? /*#__PURE__*/React__default["default"].createElement(TableQueries$
|
6546
|
+
}, canQuery ? /*#__PURE__*/React__default["default"].createElement(TableQueries$2, {
|
6451
6547
|
schema: schema,
|
6452
6548
|
url: url,
|
6453
6549
|
user: user
|
6454
|
-
}) : null, canFilter ? /*#__PURE__*/React__default["default"].createElement(TableFilters$
|
6550
|
+
}) : null, canFilter ? /*#__PURE__*/React__default["default"].createElement(TableFilters$2, {
|
6455
6551
|
schema: schema,
|
6456
6552
|
onSave: canQuery ? saveQuery : null
|
6457
6553
|
}) : null) : null, /*#__PURE__*/React__default["default"].createElement("main", {
|
6458
6554
|
key: id,
|
6459
6555
|
className: "table-page"
|
6460
|
-
}, /*#__PURE__*/React__default["default"].createElement(TableEditor$
|
6556
|
+
}, /*#__PURE__*/React__default["default"].createElement(TableEditor$2, {
|
6461
6557
|
icon: icon,
|
6462
6558
|
title: name,
|
6463
6559
|
schema: schema,
|
@@ -6471,7 +6567,7 @@ var TablePage = function TablePage(props) {
|
|
6471
6567
|
}), children ? /*#__PURE__*/React__default["default"].createElement("article", null, children) : null), renderAside());
|
6472
6568
|
};
|
6473
6569
|
|
6474
|
-
var TableRowEditor$
|
6570
|
+
var TableRowEditor$2 = function TableRowEditor(props) {
|
6475
6571
|
var name = props.name,
|
6476
6572
|
content = props.content,
|
6477
6573
|
filter = props.filter,
|
@@ -6500,7 +6596,7 @@ var TableRowEditor$1 = function TableRowEditor(props) {
|
|
6500
6596
|
*/
|
6501
6597
|
|
6502
6598
|
|
6503
|
-
var TableSelector$
|
6599
|
+
var TableSelector$2 = function TableSelector(props) {
|
6504
6600
|
var schema = props.schema,
|
6505
6601
|
_props$actions2 = props.actions,
|
6506
6602
|
actions = _props$actions2 === void 0 ? [] : _props$actions2;
|
@@ -6563,7 +6659,7 @@ var TableSelector$1 = function TableSelector(props) {
|
|
6563
6659
|
*/
|
6564
6660
|
|
6565
6661
|
|
6566
|
-
var TableQueries$
|
6662
|
+
var TableQueries$2 = function TableQueries(props) {
|
6567
6663
|
var remove = function remove(id) {
|
6568
6664
|
try {
|
6569
6665
|
return Promise.resolve(pageContext.removeQuery(id, user)).then(function () {
|
@@ -6625,7 +6721,7 @@ var TableQueries$1 = function TableQueries(props) {
|
|
6625
6721
|
*/
|
6626
6722
|
|
6627
6723
|
|
6628
|
-
var TableFilters$
|
6724
|
+
var TableFilters$2 = function TableFilters(props) {
|
6629
6725
|
var reload = function reload() {
|
6630
6726
|
try {
|
6631
6727
|
return Promise.resolve(pageContext.load(form)).then(function () {
|
@@ -6721,7 +6817,7 @@ var TableFilters$1 = function TableFilters(props) {
|
|
6721
6817
|
*/
|
6722
6818
|
|
6723
6819
|
|
6724
|
-
var TableEditor$
|
6820
|
+
var TableEditor$2 = function TableEditor(props) {
|
6725
6821
|
var checkOne = function checkOne(id, field, value) {
|
6726
6822
|
check([id], value);
|
6727
6823
|
return Promise.resolve();
|
@@ -6953,6 +7049,1028 @@ var TableEditor$1 = function TableEditor(props) {
|
|
6953
7049
|
* Table Context
|
6954
7050
|
*/
|
6955
7051
|
|
7052
|
+
var TableContext$2 = function TableContext(url, field, host, urlQuery, params) {
|
7053
|
+
var API = TableAPI$2(url, host, params);
|
7054
|
+
return {
|
7055
|
+
all: [],
|
7056
|
+
checked: new Set([]),
|
7057
|
+
selected: null,
|
7058
|
+
filters: {},
|
7059
|
+
queries: [],
|
7060
|
+
load: function load(filter) {
|
7061
|
+
try {
|
7062
|
+
var _this2 = this;
|
7063
|
+
|
7064
|
+
var _temp5 = _catch$2(function () {
|
7065
|
+
var filters = filter ? Object.keys(filter).reduce(function (filters, key) {
|
7066
|
+
var field = filter[key];
|
7067
|
+
|
7068
|
+
if (field) {
|
7069
|
+
if (CHECK['isObject'](field)) {
|
7070
|
+
Object.keys(field).forEach(function (key2) {
|
7071
|
+
var subfield = field[key2];
|
7072
|
+
if (subfield) filters[key + "." + key2] = subfield;
|
7073
|
+
});
|
7074
|
+
} else {
|
7075
|
+
filters[key] = field;
|
7076
|
+
}
|
7077
|
+
}
|
7078
|
+
|
7079
|
+
return filters;
|
7080
|
+
}, {}) : [];
|
7081
|
+
return Promise.resolve(API.all(filters)).then(function (data) {
|
7082
|
+
_this2.all = field ? data[field] : data;
|
7083
|
+
});
|
7084
|
+
}, function (error) {
|
7085
|
+
console.log(error);
|
7086
|
+
});
|
7087
|
+
|
7088
|
+
return Promise.resolve(_temp5 && _temp5.then ? _temp5.then(function () {}) : void 0);
|
7089
|
+
} catch (e) {
|
7090
|
+
return Promise.reject(e);
|
7091
|
+
}
|
7092
|
+
},
|
7093
|
+
check: function check(ids, isChecked) {
|
7094
|
+
var _this3 = this;
|
7095
|
+
|
7096
|
+
if (isChecked === void 0) {
|
7097
|
+
isChecked = true;
|
7098
|
+
}
|
7099
|
+
|
7100
|
+
if (isChecked) {
|
7101
|
+
ids.forEach(function (id) {
|
7102
|
+
return _this3.checked.add(id);
|
7103
|
+
});
|
7104
|
+
} else {
|
7105
|
+
ids.forEach(function (id) {
|
7106
|
+
return _this3.checked["delete"](id);
|
7107
|
+
});
|
7108
|
+
}
|
7109
|
+
},
|
7110
|
+
select: function select(id) {
|
7111
|
+
var result = this.all.find(function (item) {
|
7112
|
+
return item.id === id;
|
7113
|
+
});
|
7114
|
+
this.selected = result;
|
7115
|
+
},
|
7116
|
+
clear: function clear() {
|
7117
|
+
this.selected = null;
|
7118
|
+
},
|
7119
|
+
create: function create(form) {
|
7120
|
+
try {
|
7121
|
+
var _this5 = this;
|
7122
|
+
|
7123
|
+
var _temp7 = _catch$2(function () {
|
7124
|
+
return Promise.resolve(API.create(form)).then(function () {
|
7125
|
+
return Promise.resolve(_this5.load()).then(function () {});
|
7126
|
+
});
|
7127
|
+
}, function (error) {
|
7128
|
+
console.log(error);
|
7129
|
+
});
|
7130
|
+
|
7131
|
+
return Promise.resolve(_temp7 && _temp7.then ? _temp7.then(function () {}) : void 0);
|
7132
|
+
} catch (e) {
|
7133
|
+
return Promise.reject(e);
|
7134
|
+
}
|
7135
|
+
},
|
7136
|
+
update: function update(form) {
|
7137
|
+
try {
|
7138
|
+
var _this7 = this;
|
7139
|
+
|
7140
|
+
var _temp9 = _catch$2(function () {
|
7141
|
+
return Promise.resolve(API.update(form)).then(function () {
|
7142
|
+
return Promise.resolve(_this7.load()).then(function () {});
|
7143
|
+
});
|
7144
|
+
}, function (error) {
|
7145
|
+
console.log(error);
|
7146
|
+
});
|
7147
|
+
|
7148
|
+
return Promise.resolve(_temp9 && _temp9.then ? _temp9.then(function () {}) : void 0);
|
7149
|
+
} catch (e) {
|
7150
|
+
return Promise.reject(e);
|
7151
|
+
}
|
7152
|
+
},
|
7153
|
+
remove: function remove(id) {
|
7154
|
+
try {
|
7155
|
+
var _this9 = this;
|
7156
|
+
|
7157
|
+
var _temp11 = _catch$2(function () {
|
7158
|
+
return Promise.resolve(API.remove(id)).then(function () {
|
7159
|
+
return Promise.resolve(_this9.load()).then(function () {});
|
7160
|
+
});
|
7161
|
+
}, function (error) {
|
7162
|
+
console.log(error);
|
7163
|
+
});
|
7164
|
+
|
7165
|
+
return Promise.resolve(_temp11 && _temp11.then ? _temp11.then(function () {}) : void 0);
|
7166
|
+
} catch (e) {
|
7167
|
+
return Promise.reject(e);
|
7168
|
+
}
|
7169
|
+
},
|
7170
|
+
changeFilters: function changeFilters(filters) {
|
7171
|
+
this.filters = filters;
|
7172
|
+
},
|
7173
|
+
loadQueries: function loadQueries(user) {
|
7174
|
+
try {
|
7175
|
+
var _this11 = this;
|
7176
|
+
|
7177
|
+
var _temp13 = _catch$2(function () {
|
7178
|
+
return Promise.resolve(API.queries(user, urlQuery)).then(function (_API$queries) {
|
7179
|
+
_this11.queries = _API$queries;
|
7180
|
+
});
|
7181
|
+
}, function (error) {
|
7182
|
+
console.log(error);
|
7183
|
+
});
|
7184
|
+
|
7185
|
+
return Promise.resolve(_temp13 && _temp13.then ? _temp13.then(function () {}) : void 0);
|
7186
|
+
} catch (e) {
|
7187
|
+
return Promise.reject(e);
|
7188
|
+
}
|
7189
|
+
},
|
7190
|
+
createQuery: function createQuery(query, user) {
|
7191
|
+
try {
|
7192
|
+
var _this13 = this;
|
7193
|
+
|
7194
|
+
var _temp15 = _catch$2(function () {
|
7195
|
+
return Promise.resolve(API.createQuery(query, urlQuery)).then(function () {
|
7196
|
+
return Promise.resolve(_this13.loadQueries(user)).then(function () {});
|
7197
|
+
});
|
7198
|
+
}, function (error) {
|
7199
|
+
console.log(error);
|
7200
|
+
});
|
7201
|
+
|
7202
|
+
return Promise.resolve(_temp15 && _temp15.then ? _temp15.then(function () {}) : void 0);
|
7203
|
+
} catch (e) {
|
7204
|
+
return Promise.reject(e);
|
7205
|
+
}
|
7206
|
+
},
|
7207
|
+
removeQuery: function removeQuery(id, user) {
|
7208
|
+
try {
|
7209
|
+
var _this15 = this;
|
7210
|
+
|
7211
|
+
var _temp17 = _catch$2(function () {
|
7212
|
+
return Promise.resolve(API.removeQuery(id, urlQuery)).then(function () {
|
7213
|
+
return Promise.resolve(_this15.loadQueries(user)).then(function () {});
|
7214
|
+
});
|
7215
|
+
}, function (error) {
|
7216
|
+
console.log(error);
|
7217
|
+
});
|
7218
|
+
|
7219
|
+
return Promise.resolve(_temp17 && _temp17.then ? _temp17.then(function () {}) : void 0);
|
7220
|
+
} catch (e) {
|
7221
|
+
return Promise.reject(e);
|
7222
|
+
}
|
7223
|
+
}
|
7224
|
+
};
|
7225
|
+
};
|
7226
|
+
/**
|
7227
|
+
* table API
|
7228
|
+
*/
|
7229
|
+
|
7230
|
+
|
7231
|
+
var TableAPI$2 = function TableAPI(url, host, params) {
|
7232
|
+
if (params === void 0) {
|
7233
|
+
params = "";
|
7234
|
+
}
|
7235
|
+
|
7236
|
+
var http = HTTPClient(host || window.API || process.env.REACT_APP_API, Session);
|
7237
|
+
return {
|
7238
|
+
all: function all(filters) {
|
7239
|
+
var queryParams = "?" + params;
|
7240
|
+
|
7241
|
+
if (filters) {
|
7242
|
+
var filterQuery = Object.keys(filters).reduce(function (query, key) {
|
7243
|
+
var value = filters[key];
|
7244
|
+
|
7245
|
+
if (typeof value === 'boolean') {
|
7246
|
+
return query.concat(key + "=" + value + "&");
|
7247
|
+
} else if (Array.isArray(value)) {
|
7248
|
+
var param = value.length === 0 ? '' : value.reduce(function (param, item) {
|
7249
|
+
param = param.concat(key + "=" + item + "&");
|
7250
|
+
return param;
|
7251
|
+
}, "");
|
7252
|
+
return query.concat(param);
|
7253
|
+
} else {
|
7254
|
+
return query.concat(key + "=%" + filters[key] + "%&");
|
7255
|
+
}
|
7256
|
+
}, "");
|
7257
|
+
queryParams = queryParams.concat(filterQuery);
|
7258
|
+
}
|
7259
|
+
|
7260
|
+
return http.GET(url + queryParams);
|
7261
|
+
},
|
7262
|
+
find: function find(id) {
|
7263
|
+
return http.GET(url + "/" + id);
|
7264
|
+
},
|
7265
|
+
create: function create(form) {
|
7266
|
+
var body = JSON.stringify(form);
|
7267
|
+
return http.POST(url, body);
|
7268
|
+
},
|
7269
|
+
update: function update(form) {
|
7270
|
+
var body = JSON.stringify(form);
|
7271
|
+
return http.PUT(url + "/" + form.id, body);
|
7272
|
+
},
|
7273
|
+
remove: function remove(id) {
|
7274
|
+
return http.DELETE(url + "/" + id);
|
7275
|
+
},
|
7276
|
+
queries: function queries(user, url2) {
|
7277
|
+
var url3 = url2 ? url2 : url;
|
7278
|
+
url3 = url3 + "queries";
|
7279
|
+
if (user) url3 = url3 + ("?user=" + user);
|
7280
|
+
return http.GET(url3);
|
7281
|
+
},
|
7282
|
+
createQuery: function createQuery(form, url2) {
|
7283
|
+
var url3 = url2 ? url2 : url;
|
7284
|
+
var body = JSON.stringify(form);
|
7285
|
+
return http.POST(url3 + "queries", body);
|
7286
|
+
},
|
7287
|
+
removeQuery: function removeQuery(id, url2) {
|
7288
|
+
var url3 = url2 ? url2 : url;
|
7289
|
+
return http.DELETE(url3 + "queries/" + id);
|
7290
|
+
}
|
7291
|
+
};
|
7292
|
+
};
|
7293
|
+
|
7294
|
+
/**
|
7295
|
+
* Table Page
|
7296
|
+
*/
|
7297
|
+
|
7298
|
+
function _catch$1(body, recover) {
|
7299
|
+
try {
|
7300
|
+
var result = body();
|
7301
|
+
} catch (e) {
|
7302
|
+
return recover(e);
|
7303
|
+
}
|
7304
|
+
|
7305
|
+
if (result && result.then) {
|
7306
|
+
return result.then(void 0, recover);
|
7307
|
+
}
|
7308
|
+
|
7309
|
+
return result;
|
7310
|
+
}
|
7311
|
+
/**
|
7312
|
+
* TableRowEditor
|
7313
|
+
*/
|
7314
|
+
|
7315
|
+
|
7316
|
+
var TablePage2 = function TablePage2(props) {
|
7317
|
+
var playScenario = function playScenario() {
|
7318
|
+
try {
|
7319
|
+
var promises1 = pageContext.all.map(function (item) {
|
7320
|
+
try {
|
7321
|
+
return Promise.resolve(pageContext.remove(item.id));
|
7322
|
+
} catch (e) {
|
7323
|
+
return Promise.reject(e);
|
7324
|
+
}
|
7325
|
+
});
|
7326
|
+
Promise.all(promises1).then(function () {
|
7327
|
+
try {
|
7328
|
+
var promises2 = scenario.map(function (item) {
|
7329
|
+
try {
|
7330
|
+
return Promise.resolve(pageContext.create(item));
|
7331
|
+
} catch (e) {
|
7332
|
+
return Promise.reject(e);
|
7333
|
+
}
|
7334
|
+
});
|
7335
|
+
Promise.all(promises2).then(function () {
|
7336
|
+
try {
|
7337
|
+
return Promise.resolve(pageContext.load()).then(function () {
|
7338
|
+
setPageContext(Object.assign({}, pageContext));
|
7339
|
+
});
|
7340
|
+
} catch (e) {
|
7341
|
+
return Promise.reject(e);
|
7342
|
+
}
|
7343
|
+
});
|
7344
|
+
return Promise.resolve();
|
7345
|
+
} catch (e) {
|
7346
|
+
return Promise.reject(e);
|
7347
|
+
}
|
7348
|
+
});
|
7349
|
+
return Promise.resolve();
|
7350
|
+
} catch (e) {
|
7351
|
+
return Promise.reject(e);
|
7352
|
+
}
|
7353
|
+
};
|
7354
|
+
|
7355
|
+
var save = function save() {
|
7356
|
+
try {
|
7357
|
+
return Promise.resolve(pageContext.update(form)).then(function () {
|
7358
|
+
setPageContext(Object.assign({}, pageContext));
|
7359
|
+
});
|
7360
|
+
} catch (e) {
|
7361
|
+
return Promise.reject(e);
|
7362
|
+
}
|
7363
|
+
};
|
7364
|
+
|
7365
|
+
var reload = function reload() {
|
7366
|
+
try {
|
7367
|
+
return Promise.resolve(pageContext.load()).then(function () {
|
7368
|
+
setPageContext(Object.assign({}, pageContext));
|
7369
|
+
});
|
7370
|
+
} catch (e) {
|
7371
|
+
return Promise.reject(e);
|
7372
|
+
}
|
7373
|
+
};
|
7374
|
+
|
7375
|
+
var site = React.useContext(SiteContext);
|
7376
|
+
var _props$id = props.id,
|
7377
|
+
id = _props$id === void 0 ? "table" : _props$id,
|
7378
|
+
icon = props.icon,
|
7379
|
+
title = props.title,
|
7380
|
+
name = props.name,
|
7381
|
+
schema = props.schema,
|
7382
|
+
url = props.url,
|
7383
|
+
field = props.field,
|
7384
|
+
host = props.host,
|
7385
|
+
_props$params = props.params,
|
7386
|
+
params = _props$params === void 0 ? "" : _props$params,
|
7387
|
+
_props$autosave = props.autosave,
|
7388
|
+
autosave = _props$autosave === void 0 ? true : _props$autosave,
|
7389
|
+
_props$delay = props.delay,
|
7390
|
+
delay = _props$delay === void 0 ? 1000 : _props$delay,
|
7391
|
+
editable = props.editable,
|
7392
|
+
_props$actions = props.actions,
|
7393
|
+
actions = _props$actions === void 0 ? [] : _props$actions,
|
7394
|
+
_props$dev = props.dev,
|
7395
|
+
dev = _props$dev === void 0 ? false : _props$dev,
|
7396
|
+
tableActions = props.tableActions,
|
7397
|
+
_props$selectionActio = props.selectionActions,
|
7398
|
+
selectionActions = _props$selectionActio === void 0 ? [] : _props$selectionActio,
|
7399
|
+
_props$canFilter = props.canFilter,
|
7400
|
+
canFilter = _props$canFilter === void 0 ? false : _props$canFilter,
|
7401
|
+
_props$canAdd = props.canAdd,
|
7402
|
+
canAdd = _props$canAdd === void 0 ? true : _props$canAdd,
|
7403
|
+
_props$canDelete = props.canDelete,
|
7404
|
+
canDelete = _props$canDelete === void 0 ? true : _props$canDelete,
|
7405
|
+
_props$canEdit = props.canEdit,
|
7406
|
+
canEdit = _props$canEdit === void 0 ? true : _props$canEdit,
|
7407
|
+
_props$canQuery = props.canQuery,
|
7408
|
+
canQuery = _props$canQuery === void 0 ? false : _props$canQuery,
|
7409
|
+
urlQuery = props.urlQuery,
|
7410
|
+
user = props.user,
|
7411
|
+
groupBy = props.groupBy,
|
7412
|
+
validator = props.validator,
|
7413
|
+
scenario = props.scenario,
|
7414
|
+
formFilter = props.formFilter,
|
7415
|
+
tableFilter = props.tableFilter,
|
7416
|
+
_props$editorFilter = props.editorFilter,
|
7417
|
+
editorFilter = _props$editorFilter === void 0 ? false : _props$editorFilter,
|
7418
|
+
tableClassName = props.tableClassName,
|
7419
|
+
children = props.children;
|
7420
|
+
|
7421
|
+
var _useContext = React.useContext(PageContext),
|
7422
|
+
pageContext = _useContext[0],
|
7423
|
+
setPageContext = _useContext[1];
|
7424
|
+
|
7425
|
+
var context = TableContext$1(url, field, host, urlQuery, params);
|
7426
|
+
var selected = pageContext.selected;
|
7427
|
+
var timer = React.useRef(null);
|
7428
|
+
|
7429
|
+
var _useState = React.useState(selected),
|
7430
|
+
form = _useState[0],
|
7431
|
+
setForm = _useState[1];
|
7432
|
+
|
7433
|
+
React.useEffect(function () {
|
7434
|
+
try {
|
7435
|
+
return Promise.resolve(context.load()).then(function () {
|
7436
|
+
function _temp2() {
|
7437
|
+
setPageContext(context);
|
7438
|
+
}
|
7439
|
+
|
7440
|
+
var _temp = function () {
|
7441
|
+
if (canQuery) return Promise.resolve(context.loadQueries(user)).then(function () {});
|
7442
|
+
}();
|
7443
|
+
|
7444
|
+
return _temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp);
|
7445
|
+
});
|
7446
|
+
} catch (e) {
|
7447
|
+
return Promise.reject(e);
|
7448
|
+
}
|
7449
|
+
}, []);
|
7450
|
+
React.useEffect(function () {
|
7451
|
+
setForm(selected);
|
7452
|
+
}, [selected]);
|
7453
|
+
React.useEffect(function () {
|
7454
|
+
if (autosave) {
|
7455
|
+
clearTimeout(timer.current);
|
7456
|
+
timer.current = setTimeout(function () {
|
7457
|
+
if (canSave()) save();
|
7458
|
+
}, delay);
|
7459
|
+
}
|
7460
|
+
}, [form]);
|
7461
|
+
|
7462
|
+
function add() {
|
7463
|
+
var onOK = function onOK(form) {
|
7464
|
+
try {
|
7465
|
+
return Promise.resolve(pageContext.create(form)).then(function () {
|
7466
|
+
setPageContext(Object.assign({}, pageContext));
|
7467
|
+
});
|
7468
|
+
} catch (e) {
|
7469
|
+
return Promise.reject(e);
|
7470
|
+
}
|
7471
|
+
};
|
7472
|
+
|
7473
|
+
site.openDialog( /*#__PURE__*/React__default["default"].createElement(CreateContentDialog, {
|
7474
|
+
label: "Crear " + name,
|
7475
|
+
type: schema,
|
7476
|
+
onOK: onOK,
|
7477
|
+
validator: validator,
|
7478
|
+
filter: formFilter
|
7479
|
+
}));
|
7480
|
+
}
|
7481
|
+
|
7482
|
+
function saveQuery(filters) {
|
7483
|
+
var onOK = function onOK(form) {
|
7484
|
+
try {
|
7485
|
+
form.filters = filters;
|
7486
|
+
form.layout = {};
|
7487
|
+
form.user = user;
|
7488
|
+
form.url = url;
|
7489
|
+
return Promise.resolve(pageContext.createQuery(form, user)).then(function () {
|
7490
|
+
setPageContext(Object.assign({}, pageContext));
|
7491
|
+
});
|
7492
|
+
} catch (e) {
|
7493
|
+
return Promise.reject(e);
|
7494
|
+
}
|
7495
|
+
};
|
7496
|
+
|
7497
|
+
site.openDialog( /*#__PURE__*/React__default["default"].createElement(CreateContentDialog, {
|
7498
|
+
label: "Nueva query",
|
7499
|
+
type: QUERY,
|
7500
|
+
onOK: onOK
|
7501
|
+
}));
|
7502
|
+
}
|
7503
|
+
|
7504
|
+
function change(next) {
|
7505
|
+
setForm(next);
|
7506
|
+
}
|
7507
|
+
|
7508
|
+
function canSave() {
|
7509
|
+
var can = !equal__default["default"](form, selected);
|
7510
|
+
return can;
|
7511
|
+
}
|
7512
|
+
|
7513
|
+
function closeAside() {
|
7514
|
+
pageContext.select(null);
|
7515
|
+
setPageContext(Object.assign({}, pageContext));
|
7516
|
+
}
|
7517
|
+
|
7518
|
+
function renderAside() {
|
7519
|
+
var rowSelected = selected && form;
|
7520
|
+
var rowChecked = pageContext.checked && pageContext.checked.size > 0;
|
7521
|
+
|
7522
|
+
if (rowSelected || rowChecked) {
|
7523
|
+
return /*#__PURE__*/React__default["default"].createElement("aside", {
|
7524
|
+
className: "table-page"
|
7525
|
+
}, rowSelected ? /*#__PURE__*/React__default["default"].createElement(TableRowEditor$1, {
|
7526
|
+
content: new Content(schema, form),
|
7527
|
+
filter: editorFilter,
|
7528
|
+
onChange: change,
|
7529
|
+
onClose: closeAside,
|
7530
|
+
editable: canEdit
|
7531
|
+
}) : null, rowChecked ? /*#__PURE__*/React__default["default"].createElement(TableSelector$1, {
|
7532
|
+
schema: schema,
|
7533
|
+
actions: selectionActions
|
7534
|
+
}) : null);
|
7535
|
+
}
|
7536
|
+
|
7537
|
+
return null;
|
7538
|
+
}
|
7539
|
+
|
7540
|
+
function renderActions() {
|
7541
|
+
return actions.map(function (element) {
|
7542
|
+
var action = function action() {
|
7543
|
+
return element.props.action(pageContext);
|
7544
|
+
};
|
7545
|
+
|
7546
|
+
var clone = React__default["default"].cloneElement(element, {
|
7547
|
+
action: action
|
7548
|
+
});
|
7549
|
+
return clone;
|
7550
|
+
});
|
7551
|
+
}
|
7552
|
+
|
7553
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
|
7554
|
+
className: "table-page",
|
7555
|
+
title: /*#__PURE__*/React__default["default"].createElement(Text, null, title)
|
7556
|
+
}, canAdd ? /*#__PURE__*/React__default["default"].createElement(Button, {
|
7557
|
+
icon: "add",
|
7558
|
+
label: "A\xF1adir",
|
7559
|
+
action: add,
|
7560
|
+
raised: true
|
7561
|
+
}) : null, "\xA0", /*#__PURE__*/React__default["default"].createElement(Button, {
|
7562
|
+
icon: "refresh",
|
7563
|
+
label: "Reload",
|
7564
|
+
action: reload
|
7565
|
+
}), dev ? /*#__PURE__*/React__default["default"].createElement(MenuIcon, {
|
7566
|
+
align: "alignRight"
|
7567
|
+
}, /*#__PURE__*/React__default["default"].createElement(MenuItem, {
|
7568
|
+
label: "Cargar Escenario 1",
|
7569
|
+
onSelect: playScenario
|
7570
|
+
})) : null, renderActions()), canQuery || canFilter ? /*#__PURE__*/React__default["default"].createElement("menu", {
|
7571
|
+
className: "table-page"
|
7572
|
+
}, canQuery ? /*#__PURE__*/React__default["default"].createElement(TableQueries$1, {
|
7573
|
+
schema: schema,
|
7574
|
+
url: url,
|
7575
|
+
user: user
|
7576
|
+
}) : null, canFilter ? /*#__PURE__*/React__default["default"].createElement(TableFilters$1, {
|
7577
|
+
schema: schema,
|
7578
|
+
onSave: canQuery ? saveQuery : null
|
7579
|
+
}) : null) : null, /*#__PURE__*/React__default["default"].createElement("main", {
|
7580
|
+
key: id,
|
7581
|
+
className: "table-page"
|
7582
|
+
}, /*#__PURE__*/React__default["default"].createElement(TableEditor$1, {
|
7583
|
+
icon: icon,
|
7584
|
+
title: name,
|
7585
|
+
schema: schema,
|
7586
|
+
delay: delay,
|
7587
|
+
editable: editable,
|
7588
|
+
groupBy: groupBy,
|
7589
|
+
filter: tableFilter,
|
7590
|
+
actions: tableActions,
|
7591
|
+
canDelete: canDelete,
|
7592
|
+
className: tableClassName
|
7593
|
+
}), children ? /*#__PURE__*/React__default["default"].createElement("article", null, children) : null), renderAside());
|
7594
|
+
};
|
7595
|
+
|
7596
|
+
var TableRowEditor$1 = function TableRowEditor(props) {
|
7597
|
+
var name = props.name,
|
7598
|
+
content = props.content,
|
7599
|
+
filter = props.filter,
|
7600
|
+
editable = props.editable,
|
7601
|
+
onChange = props.onChange,
|
7602
|
+
onClose = props.onClose;
|
7603
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
7604
|
+
className: "table-row-editor"
|
7605
|
+
}, /*#__PURE__*/React__default["default"].createElement(Header, {
|
7606
|
+
icon: "local_offer",
|
7607
|
+
title: name || "Propiedades"
|
7608
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7609
|
+
icon: "close",
|
7610
|
+
clickable: true,
|
7611
|
+
action: onClose
|
7612
|
+
})), /*#__PURE__*/React__default["default"].createElement("main", null, editable ? /*#__PURE__*/React__default["default"].createElement(ContentEditor, {
|
7613
|
+
content: content,
|
7614
|
+
onChange: onChange,
|
7615
|
+
filter: filter
|
7616
|
+
}) : /*#__PURE__*/React__default["default"].createElement(ContentViewer, {
|
7617
|
+
content: content
|
7618
|
+
})));
|
7619
|
+
};
|
7620
|
+
/**
|
7621
|
+
* Table Selector
|
7622
|
+
*/
|
7623
|
+
|
7624
|
+
|
7625
|
+
var TableSelector$1 = function TableSelector(props) {
|
7626
|
+
var schema = props.schema,
|
7627
|
+
_props$actions2 = props.actions,
|
7628
|
+
actions = _props$actions2 === void 0 ? [] : _props$actions2;
|
7629
|
+
|
7630
|
+
var _useContext2 = React.useContext(PageContext),
|
7631
|
+
pageContext = _useContext2[0],
|
7632
|
+
setPageContext = _useContext2[1];
|
7633
|
+
|
7634
|
+
var all = pageContext.all,
|
7635
|
+
checked = pageContext.checked;
|
7636
|
+
var count = checked.size + "/" + all.length;
|
7637
|
+
var columns = Object.keys(schema).filter(function (key) {
|
7638
|
+
return schema[key].selectorColumn === true;
|
7639
|
+
}).map(function (key) {
|
7640
|
+
var field = schema[key];
|
7641
|
+
return {
|
7642
|
+
id: field.id,
|
7643
|
+
label: field.label
|
7644
|
+
};
|
7645
|
+
});
|
7646
|
+
var rows = all.filter(function (item) {
|
7647
|
+
return checked.has(item.id);
|
7648
|
+
});
|
7649
|
+
var table = {
|
7650
|
+
columns: columns,
|
7651
|
+
rows: rows || []
|
7652
|
+
};
|
7653
|
+
var buttons = actions.map(function (_ref) {
|
7654
|
+
var label = _ref.label,
|
7655
|
+
_action = _ref.action,
|
7656
|
+
validate = _ref.validate;
|
7657
|
+
return /*#__PURE__*/React__default["default"].createElement(Button, {
|
7658
|
+
label: label,
|
7659
|
+
raised: true,
|
7660
|
+
action: function action() {
|
7661
|
+
return _action(checked, pageContext, function () {
|
7662
|
+
try {
|
7663
|
+
return Promise.resolve(pageContext.load()).then(function () {
|
7664
|
+
setPageContext(Object.assign({}, pageContext));
|
7665
|
+
});
|
7666
|
+
} catch (e) {
|
7667
|
+
return Promise.reject(e);
|
7668
|
+
}
|
7669
|
+
}, rows);
|
7670
|
+
},
|
7671
|
+
disabled: !validate(checked, rows)
|
7672
|
+
});
|
7673
|
+
});
|
7674
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
7675
|
+
className: "table-selector"
|
7676
|
+
}, /*#__PURE__*/React__default["default"].createElement(Header, {
|
7677
|
+
icon: "checklist_rtl",
|
7678
|
+
title: "Selecci\xF3n"
|
7679
|
+
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
7680
|
+
className: "size"
|
7681
|
+
}, count)), /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(DataTable, table)), /*#__PURE__*/React__default["default"].createElement("footer", null, buttons));
|
7682
|
+
};
|
7683
|
+
/**
|
7684
|
+
* Table Queries
|
7685
|
+
*/
|
7686
|
+
|
7687
|
+
|
7688
|
+
var TableQueries$1 = function TableQueries(props) {
|
7689
|
+
var remove = function remove(id) {
|
7690
|
+
try {
|
7691
|
+
return Promise.resolve(pageContext.removeQuery(id, user)).then(function () {
|
7692
|
+
setPageContext(Object.assign({}, pageContext));
|
7693
|
+
});
|
7694
|
+
} catch (e) {
|
7695
|
+
return Promise.reject(e);
|
7696
|
+
}
|
7697
|
+
};
|
7698
|
+
|
7699
|
+
var _useContext3 = React.useContext(PageContext),
|
7700
|
+
pageContext = _useContext3[0],
|
7701
|
+
setPageContext = _useContext3[1];
|
7702
|
+
|
7703
|
+
var url = props.url,
|
7704
|
+
user = props.user;
|
7705
|
+
var _pageContext$queries = pageContext.queries,
|
7706
|
+
queries = _pageContext$queries === void 0 ? [] : _pageContext$queries;
|
7707
|
+
|
7708
|
+
var _useState2 = React.useState(),
|
7709
|
+
selected = _useState2[0],
|
7710
|
+
setSelected = _useState2[1];
|
7711
|
+
|
7712
|
+
function select(query) {
|
7713
|
+
setSelected(query.id);
|
7714
|
+
pageContext.changeFilters(query.filters);
|
7715
|
+
setPageContext(Object.assign({}, pageContext));
|
7716
|
+
}
|
7717
|
+
|
7718
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
|
7719
|
+
className: "table-queries",
|
7720
|
+
title: /*#__PURE__*/React__default["default"].createElement(Text, null, "Queries")
|
7721
|
+
}), /*#__PURE__*/React__default["default"].createElement("main", {
|
7722
|
+
className: "table-queries"
|
7723
|
+
}, queries ? queries.filter(function (query) {
|
7724
|
+
return query.url === url;
|
7725
|
+
}).map(function (query) {
|
7726
|
+
var style = selected === query.id ? "selected" : "";
|
7727
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
7728
|
+
className: "table-queries-item " + style,
|
7729
|
+
onClick: function onClick() {
|
7730
|
+
return select(query);
|
7731
|
+
}
|
7732
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7733
|
+
icon: "star",
|
7734
|
+
size: "small"
|
7735
|
+
}), /*#__PURE__*/React__default["default"].createElement("label", null, query.name), /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7736
|
+
icon: "close",
|
7737
|
+
clickable: true,
|
7738
|
+
size: "small",
|
7739
|
+
action: function action() {
|
7740
|
+
return remove(query.id);
|
7741
|
+
}
|
7742
|
+
}));
|
7743
|
+
}) : /*#__PURE__*/React__default["default"].createElement("div", null, "...empty...")));
|
7744
|
+
};
|
7745
|
+
/**
|
7746
|
+
* Table Filters
|
7747
|
+
*/
|
7748
|
+
|
7749
|
+
|
7750
|
+
var TableFilters$1 = function TableFilters(props) {
|
7751
|
+
var reload = function reload() {
|
7752
|
+
try {
|
7753
|
+
return Promise.resolve(pageContext.load(form)).then(function () {
|
7754
|
+
setPageContext(Object.assign({}, pageContext));
|
7755
|
+
});
|
7756
|
+
} catch (e) {
|
7757
|
+
return Promise.reject(e);
|
7758
|
+
}
|
7759
|
+
};
|
7760
|
+
|
7761
|
+
var change = function change(next) {
|
7762
|
+
try {
|
7763
|
+
setForm(next);
|
7764
|
+
return Promise.resolve();
|
7765
|
+
} catch (e) {
|
7766
|
+
return Promise.reject(e);
|
7767
|
+
}
|
7768
|
+
};
|
7769
|
+
|
7770
|
+
var _useContext4 = React.useContext(PageContext),
|
7771
|
+
pageContext = _useContext4[0],
|
7772
|
+
setPageContext = _useContext4[1];
|
7773
|
+
|
7774
|
+
var filters = pageContext.filters;
|
7775
|
+
var schema = props.schema,
|
7776
|
+
onSave = props.onSave;
|
7777
|
+
|
7778
|
+
var _useState3 = React.useState({}),
|
7779
|
+
form = _useState3[0],
|
7780
|
+
setForm = _useState3[1];
|
7781
|
+
|
7782
|
+
var filterSchema = React.useMemo(function () {
|
7783
|
+
var filterSchema = Object.assign({}, schema);
|
7784
|
+
|
7785
|
+
for (var key in filterSchema) {
|
7786
|
+
if (filterSchema[key].filter === false) {
|
7787
|
+
delete filterSchema[key];
|
7788
|
+
} else {
|
7789
|
+
if (filterSchema[key].type === TYPES.ENTITY) {
|
7790
|
+
var fs = filterSchema[key].item;
|
7791
|
+
|
7792
|
+
for (var key in fs) {
|
7793
|
+
if (fs[key].filter === false) delete fs[key];
|
7794
|
+
}
|
7795
|
+
}
|
7796
|
+
}
|
7797
|
+
} //Object.values(filterSchema).forEach(field => field.section = null)
|
7798
|
+
|
7799
|
+
|
7800
|
+
delete filterSchema.flows;
|
7801
|
+
return filterSchema;
|
7802
|
+
}, [schema]);
|
7803
|
+
React.useEffect(function () {
|
7804
|
+
if (filters) setForm(filters);
|
7805
|
+
}, [filters]);
|
7806
|
+
React.useEffect(function () {
|
7807
|
+
reload();
|
7808
|
+
}, [form]);
|
7809
|
+
|
7810
|
+
function clear() {
|
7811
|
+
change({});
|
7812
|
+
}
|
7813
|
+
|
7814
|
+
function save() {
|
7815
|
+
if (onSave) {
|
7816
|
+
onSave(form);
|
7817
|
+
}
|
7818
|
+
}
|
7819
|
+
|
7820
|
+
var content = new Content(filterSchema, form);
|
7821
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
|
7822
|
+
className: "table-filters",
|
7823
|
+
title: /*#__PURE__*/React__default["default"].createElement(Text, null, "Filters")
|
7824
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7825
|
+
icon: "filter_list_off",
|
7826
|
+
size: "small",
|
7827
|
+
clickable: true,
|
7828
|
+
action: clear
|
7829
|
+
}), onSave ? /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7830
|
+
icon: "save",
|
7831
|
+
size: "small",
|
7832
|
+
clickable: true,
|
7833
|
+
action: save
|
7834
|
+
}) : null), /*#__PURE__*/React__default["default"].createElement("main", {
|
7835
|
+
className: "table-filters"
|
7836
|
+
}, /*#__PURE__*/React__default["default"].createElement(ContentEditor, {
|
7837
|
+
content: content,
|
7838
|
+
onChange: change
|
7839
|
+
})));
|
7840
|
+
};
|
7841
|
+
/**
|
7842
|
+
* Table Editor
|
7843
|
+
*/
|
7844
|
+
|
7845
|
+
|
7846
|
+
var TableEditor$1 = function TableEditor(props) {
|
7847
|
+
var checkOne = function checkOne(id, field, value) {
|
7848
|
+
check([id], value);
|
7849
|
+
return Promise.resolve();
|
7850
|
+
};
|
7851
|
+
|
7852
|
+
var check = function check(ids, value) {
|
7853
|
+
try {
|
7854
|
+
pageContext.check(ids, value);
|
7855
|
+
setPageContext(Object.assign({}, pageContext));
|
7856
|
+
return Promise.resolve();
|
7857
|
+
} catch (e) {
|
7858
|
+
return Promise.reject(e);
|
7859
|
+
}
|
7860
|
+
};
|
7861
|
+
|
7862
|
+
var select = function select(row, event) {
|
7863
|
+
try {
|
7864
|
+
clear();
|
7865
|
+
return Promise.resolve(pageContext.select(row.id)).then(function () {
|
7866
|
+
setPageContext(Object.assign({}, pageContext));
|
7867
|
+
});
|
7868
|
+
} catch (e) {
|
7869
|
+
return Promise.reject(e);
|
7870
|
+
}
|
7871
|
+
};
|
7872
|
+
|
7873
|
+
var remove = function remove(id) {
|
7874
|
+
try {
|
7875
|
+
return Promise.resolve(site.confirm("Are you sure ?")).then(function (confirm) {
|
7876
|
+
var _temp3 = function () {
|
7877
|
+
if (confirm) {
|
7878
|
+
return Promise.resolve(pageContext.remove(id)).then(function () {
|
7879
|
+
pageContext.clear();
|
7880
|
+
setPageContext(Object.assign({}, pageContext));
|
7881
|
+
});
|
7882
|
+
}
|
7883
|
+
}();
|
7884
|
+
|
7885
|
+
if (_temp3 && _temp3.then) return _temp3.then(function () {});
|
7886
|
+
});
|
7887
|
+
} catch (e) {
|
7888
|
+
return Promise.reject(e);
|
7889
|
+
}
|
7890
|
+
};
|
7891
|
+
|
7892
|
+
var site = React.useContext(SiteContext);
|
7893
|
+
|
7894
|
+
var _useContext5 = React.useContext(PageContext),
|
7895
|
+
pageContext = _useContext5[0],
|
7896
|
+
setPageContext = _useContext5[1];
|
7897
|
+
|
7898
|
+
var _pageContext$all = pageContext.all,
|
7899
|
+
all = _pageContext$all === void 0 ? [] : _pageContext$all;
|
7900
|
+
var icon = props.icon,
|
7901
|
+
title = props.title,
|
7902
|
+
schema = props.schema,
|
7903
|
+
editable = props.editable,
|
7904
|
+
canDelete = props.canDelete,
|
7905
|
+
filter = props.filter,
|
7906
|
+
actions = props.actions,
|
7907
|
+
className = props.className;
|
7908
|
+
|
7909
|
+
var _useState4 = React.useState(props.groupBy),
|
7910
|
+
groupBy = _useState4[0],
|
7911
|
+
setGroupBy = _useState4[1];
|
7912
|
+
|
7913
|
+
function changeGroup(id, value) {
|
7914
|
+
setGroupBy(value);
|
7915
|
+
}
|
7916
|
+
|
7917
|
+
function change(rowID, cellID, value) {
|
7918
|
+
var _Object$assign;
|
7919
|
+
|
7920
|
+
var row = all.find(function (r) {
|
7921
|
+
return r.id === rowID;
|
7922
|
+
});
|
7923
|
+
var next = Object.assign({}, row, (_Object$assign = {}, _Object$assign[cellID] = value, _Object$assign));
|
7924
|
+
delete next.actions;
|
7925
|
+
pageContext.update(next);
|
7926
|
+
setPageContext(Object.assign({}, pageContext));
|
7927
|
+
}
|
7928
|
+
|
7929
|
+
function clear() {
|
7930
|
+
pageContext.clear();
|
7931
|
+
setPageContext(Object.assign({}, pageContext));
|
7932
|
+
}
|
7933
|
+
|
7934
|
+
function run(action, item) {
|
7935
|
+
action.action(item.id, pageContext, function () {
|
7936
|
+
try {
|
7937
|
+
return Promise.resolve(pageContext.load()).then(function () {
|
7938
|
+
setPageContext(Object.assign({}, pageContext));
|
7939
|
+
});
|
7940
|
+
} catch (e) {
|
7941
|
+
return Promise.reject(e);
|
7942
|
+
}
|
7943
|
+
});
|
7944
|
+
}
|
7945
|
+
|
7946
|
+
function buildGroupOptions(schema) {
|
7947
|
+
return Object.values(schema).filter(function (field) {
|
7948
|
+
return field.grouper === true;
|
7949
|
+
}).map(function (field) {
|
7950
|
+
return {
|
7951
|
+
label: field.label,
|
7952
|
+
value: field.id
|
7953
|
+
};
|
7954
|
+
});
|
7955
|
+
}
|
7956
|
+
|
7957
|
+
function renderGroupLabel(groupName) {
|
7958
|
+
var grouper = schema[groupBy];
|
7959
|
+
if (!groupName || !grouper) return "";
|
7960
|
+
|
7961
|
+
if (grouper.options) {
|
7962
|
+
var options = CHECK['isFunction'](grouper.options) ? grouper.options() : grouper.options;
|
7963
|
+
var option = options.find(function (option) {
|
7964
|
+
return option.value === groupName;
|
7965
|
+
});
|
7966
|
+
return option ? option.label : groupName;
|
7967
|
+
} else {
|
7968
|
+
return groupName;
|
7969
|
+
}
|
7970
|
+
}
|
7971
|
+
|
7972
|
+
var table = React.useMemo(function () {
|
7973
|
+
return {
|
7974
|
+
columns: Object.values(schema).filter(function (field) {
|
7975
|
+
return field.column === true;
|
7976
|
+
}).map(function (field) {
|
7977
|
+
var options = field.options;
|
7978
|
+
|
7979
|
+
if (options && typeof options == 'function') {
|
7980
|
+
options = options();
|
7981
|
+
}
|
7982
|
+
|
7983
|
+
return {
|
7984
|
+
id: field.id,
|
7985
|
+
label: field.label,
|
7986
|
+
type: field.type,
|
7987
|
+
format: field.format,
|
7988
|
+
item: field.item ? field.item : [],
|
7989
|
+
onChange: field.id === "checked" ? checkOne : field.editable ? change : null,
|
7990
|
+
|
7991
|
+
/* checked has it´s own handler */
|
7992
|
+
options: options
|
7993
|
+
};
|
7994
|
+
}),
|
7995
|
+
rows: []
|
7996
|
+
};
|
7997
|
+
}, [schema]);
|
7998
|
+
var items = filter ? filter(all) : all;
|
7999
|
+
if (items.length === 0) return /*#__PURE__*/React__default["default"].createElement("div", {
|
8000
|
+
className: "empty-message"
|
8001
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
8002
|
+
icon: "search_off"
|
8003
|
+
}), /*#__PURE__*/React__default["default"].createElement(Text, null, "No Result Found"));
|
8004
|
+
var groups = items.reduce(function (groups, item) {
|
8005
|
+
var groupName = item[groupBy];
|
8006
|
+
if (!groups[groupName]) groups[groupName] = [];
|
8007
|
+
groups[groupName].push(item);
|
8008
|
+
return groups;
|
8009
|
+
}, {});
|
8010
|
+
var sections = Object.keys(groups).map(function (groupName) {
|
8011
|
+
var rows = groups[groupName].map(function (item) {
|
8012
|
+
item.checked = pageContext.checked ? pageContext.checked.has(item.id) : false;
|
8013
|
+
item.actions = actions ? actions.map(function (_action2) {
|
8014
|
+
return _action2.filter ? _action2.filter(item) ? /*#__PURE__*/React__default["default"].createElement(Icon, {
|
8015
|
+
icon: _action2.icon,
|
8016
|
+
clickable: true,
|
8017
|
+
size: "small",
|
8018
|
+
action: function action() {
|
8019
|
+
return run(_action2, item);
|
8020
|
+
}
|
8021
|
+
}) : null : /*#__PURE__*/React__default["default"].createElement(Icon, {
|
8022
|
+
icon: _action2.icon,
|
8023
|
+
clickable: true,
|
8024
|
+
size: "small",
|
8025
|
+
action: function action() {
|
8026
|
+
return run(_action2, item);
|
8027
|
+
}
|
8028
|
+
});
|
8029
|
+
}) : [];
|
8030
|
+
if (canDelete) item.actions.push( /*#__PURE__*/React__default["default"].createElement(Icon, {
|
8031
|
+
icon: "delete",
|
8032
|
+
size: "small",
|
8033
|
+
clickable: true,
|
8034
|
+
action: function action() {
|
8035
|
+
return remove(item.id);
|
8036
|
+
}
|
8037
|
+
}));
|
8038
|
+
return item;
|
8039
|
+
});
|
8040
|
+
table.rows = rows;
|
8041
|
+
return {
|
8042
|
+
id: groupName,
|
8043
|
+
checked: false,
|
8044
|
+
title: renderGroupLabel(groupName),
|
8045
|
+
info: groups[groupName].length,
|
8046
|
+
open: true,
|
8047
|
+
children: /*#__PURE__*/React__default["default"].createElement(DataTable, _extends({}, table, {
|
8048
|
+
onRowSelection: select,
|
8049
|
+
editable: editable,
|
8050
|
+
onCheckAll: check,
|
8051
|
+
className: className
|
8052
|
+
}))
|
8053
|
+
};
|
8054
|
+
});
|
8055
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
|
8056
|
+
icon: icon,
|
8057
|
+
title: /*#__PURE__*/React__default["default"].createElement(Text, null, title)
|
8058
|
+
}, groupBy ? /*#__PURE__*/React__default["default"].createElement(DropDown, {
|
8059
|
+
id: "groupBy",
|
8060
|
+
label: "Agrupar Por",
|
8061
|
+
value: groupBy,
|
8062
|
+
options: buildGroupOptions(schema),
|
8063
|
+
onChange: changeGroup
|
8064
|
+
}) : null), /*#__PURE__*/React__default["default"].createElement("main", {
|
8065
|
+
className: "table-editor"
|
8066
|
+
}, /*#__PURE__*/React__default["default"].createElement(Accordion, {
|
8067
|
+
sections: sections
|
8068
|
+
})));
|
8069
|
+
};
|
8070
|
+
/**
|
8071
|
+
* Table Context
|
8072
|
+
*/
|
8073
|
+
|
6956
8074
|
var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
6957
8075
|
var API = TableAPI$1(url, host, params);
|
6958
8076
|
return {
|
@@ -8297,6 +9415,7 @@ var isFunction = function isFunction(value) {
|
|
8297
9415
|
return value && (Object.prototype.toString.call(value) === "[object Function]" || "function" === typeof value || value instanceof Function);
|
8298
9416
|
};
|
8299
9417
|
|
9418
|
+
exports.Accordion = Accordion;
|
8300
9419
|
exports.Avatar = Avatar;
|
8301
9420
|
exports.Button = Button;
|
8302
9421
|
exports.Calendar = Calendar;
|
@@ -8356,8 +9475,9 @@ exports.Tab = Tab;
|
|
8356
9475
|
exports.TabbedContentEditor = TabbedContentEditor;
|
8357
9476
|
exports.TabbedTablePage = TabbedTablePage;
|
8358
9477
|
exports.TabbedView = TabbedView;
|
8359
|
-
exports.TableEditor = TableEditor$
|
9478
|
+
exports.TableEditor = TableEditor$2;
|
8360
9479
|
exports.TablePage = TablePage;
|
9480
|
+
exports.TablePage2 = TablePage2;
|
8361
9481
|
exports.Tabs = Tabs;
|
8362
9482
|
exports.Text = Text;
|
8363
9483
|
exports.TextArea = TextArea;
|