ywana-core8 0.0.570 → 0.0.573
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 +1247 -147
- 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 +1246 -148
- package/dist/index.modern.js.map +1 -1
- package/dist/index.umd.js +1247 -147
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/domain/ContentEditor.js +16 -4
- package/src/domain/TablePage.js +8 -1
- package/src/domain/TablePage2.js +679 -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 +0 -1
- package/src/html/tokenfield.js +0 -2
- package/src/site/site.css +13 -0
- package/src/site/site.js +1 -1
- package/src/site/site.test.js +16 -16
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
|
@@ -1390,7 +1483,6 @@ var DropDown = function DropDown(props) {
|
|
1390
1483
|
setOpen(false);
|
1391
1484
|
var label = verbose ? option.label : "";
|
1392
1485
|
setLabel(label);
|
1393
|
-
console.log("dd.select", value);
|
1394
1486
|
if (onChange) onChange(id, next);
|
1395
1487
|
}
|
1396
1488
|
|
@@ -2051,7 +2143,6 @@ var TokenField = function TokenField(_ref) {
|
|
2051
2143
|
|
2052
2144
|
function changeDropDown(fid, value) {
|
2053
2145
|
var next = Array.isArray(tokens) ? tokens.concat(value) : [value];
|
2054
|
-
console.log("next", next);
|
2055
2146
|
if (onChange) onChange(id, next);
|
2056
2147
|
setValue('');
|
2057
2148
|
}
|
@@ -2077,7 +2168,6 @@ var TokenField = function TokenField(_ref) {
|
|
2077
2168
|
}
|
2078
2169
|
|
2079
2170
|
var tks = Array.isArray(tokens) ? tokens : [];
|
2080
|
-
console.log("render", tks);
|
2081
2171
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
2082
2172
|
className: "tokenField"
|
2083
2173
|
}, /*#__PURE__*/React__default["default"].createElement("label", null, label), tks.map(function (text, index) {
|
@@ -3630,7 +3720,9 @@ var SiteMenu = function SiteMenu(_ref6) {
|
|
3630
3720
|
return _goto(id);
|
3631
3721
|
}
|
3632
3722
|
}, /*#__PURE__*/React__default["default"].createElement(Tooltip, {
|
3633
|
-
text: title
|
3723
|
+
text: title,
|
3724
|
+
top: ".5rem",
|
3725
|
+
left: "2rem"
|
3634
3726
|
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
3635
3727
|
key: id,
|
3636
3728
|
icon: icon,
|
@@ -4201,13 +4293,13 @@ var ContentEditor = function ContentEditor(_ref) {
|
|
4201
4293
|
* Tabbed Content Editor
|
4202
4294
|
*/
|
4203
4295
|
|
4204
|
-
var TabbedContentEditor = function TabbedContentEditor(
|
4205
|
-
var content =
|
4206
|
-
filter =
|
4207
|
-
|
4208
|
-
grouped =
|
4209
|
-
onChange =
|
4210
|
-
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;
|
4211
4303
|
|
4212
4304
|
var _useState = React.useState(0),
|
4213
4305
|
tab = _useState[0],
|
@@ -4292,9 +4384,9 @@ var TabbedContentEditor = function TabbedContentEditor(_ref2) {
|
|
4292
4384
|
* TreededContentEditor
|
4293
4385
|
*/
|
4294
4386
|
|
4295
|
-
var TreededContentEditor = function TreededContentEditor(
|
4296
|
-
var content =
|
4297
|
-
onChange =
|
4387
|
+
var TreededContentEditor = function TreededContentEditor(_ref4) {
|
4388
|
+
var content = _ref4.content,
|
4389
|
+
onChange = _ref4.onChange;
|
4298
4390
|
var value = content.value();
|
4299
4391
|
var nodes = Object.values(content.type).filter(function (field) {
|
4300
4392
|
return field.type === TYPES.ARRAY;
|
@@ -4359,13 +4451,13 @@ var TreededContentEditor = function TreededContentEditor(_ref3) {
|
|
4359
4451
|
* FieldEditor
|
4360
4452
|
*/
|
4361
4453
|
|
4362
|
-
var FieldEditor = function FieldEditor(
|
4363
|
-
var field =
|
4364
|
-
onChange =
|
4365
|
-
content =
|
4366
|
-
|
4367
|
-
outlined =
|
4368
|
-
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;
|
4369
4461
|
var id = field.id,
|
4370
4462
|
type = field.type,
|
4371
4463
|
item = field.item,
|
@@ -4452,11 +4544,11 @@ var FieldEditor = function FieldEditor(_ref4) {
|
|
4452
4544
|
* Entity Editor
|
4453
4545
|
*/
|
4454
4546
|
|
4455
|
-
var EntityEditor = function EntityEditor(
|
4456
|
-
var field =
|
4457
|
-
|
4458
|
-
value =
|
4459
|
-
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;
|
4460
4552
|
var id = field.id,
|
4461
4553
|
item = field.item,
|
4462
4554
|
label = field.label;
|
@@ -4516,13 +4608,13 @@ var EntityEditor = function EntityEditor(_ref5) {
|
|
4516
4608
|
*/
|
4517
4609
|
|
4518
4610
|
|
4519
|
-
var StringEditor = function StringEditor(
|
4520
|
-
var field =
|
4521
|
-
|
4522
|
-
value =
|
4523
|
-
onChange =
|
4524
|
-
content =
|
4525
|
-
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;
|
4526
4618
|
var id = field.id,
|
4527
4619
|
format = field.format,
|
4528
4620
|
label = field.label,
|
@@ -4638,12 +4730,12 @@ var StringEditor = function StringEditor(_ref6) {
|
|
4638
4730
|
* Number Editor
|
4639
4731
|
*/
|
4640
4732
|
|
4641
|
-
var NumberEditor = function NumberEditor(
|
4642
|
-
var field =
|
4643
|
-
value =
|
4644
|
-
onChange =
|
4645
|
-
|
4646
|
-
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;
|
4647
4739
|
var id = field.id,
|
4648
4740
|
label = field.label,
|
4649
4741
|
_field$editable2 = field.editable,
|
@@ -4676,11 +4768,11 @@ var NumberEditor = function NumberEditor(_ref7) {
|
|
4676
4768
|
*/
|
4677
4769
|
|
4678
4770
|
|
4679
|
-
var ListEditor = function ListEditor(
|
4680
|
-
var field =
|
4681
|
-
|
4682
|
-
value =
|
4683
|
-
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;
|
4684
4776
|
var label = field.label;
|
4685
4777
|
|
4686
4778
|
function change(id, value) {
|
@@ -4700,12 +4792,12 @@ var ListEditor = function ListEditor(_ref8) {
|
|
4700
4792
|
* Multi Selection Editor
|
4701
4793
|
*/
|
4702
4794
|
|
4703
|
-
var MultiSelectionEditor = function MultiSelectionEditor(
|
4704
|
-
var field =
|
4705
|
-
|
4706
|
-
value =
|
4707
|
-
content =
|
4708
|
-
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;
|
4709
4801
|
var id = field.id,
|
4710
4802
|
label = field.label,
|
4711
4803
|
options = field.options;
|
@@ -4744,15 +4836,17 @@ var MultiSelectionEditor = function MultiSelectionEditor(_ref9) {
|
|
4744
4836
|
* Collection Editor
|
4745
4837
|
*/
|
4746
4838
|
|
4747
|
-
var CollectionEditor$1 = function CollectionEditor(
|
4748
|
-
var field =
|
4749
|
-
|
4750
|
-
value =
|
4751
|
-
onChange =
|
4752
|
-
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;
|
4753
4845
|
var id = field.id,
|
4754
4846
|
item = field.item,
|
4755
4847
|
label = field.label,
|
4848
|
+
_field$groupBy = field.groupBy,
|
4849
|
+
groupBy = _field$groupBy === void 0 ? "field1" : _field$groupBy,
|
4756
4850
|
Feeder = field.Feeder,
|
4757
4851
|
Renderer = field.Renderer,
|
4758
4852
|
_field$Adder = field.Adder,
|
@@ -4774,42 +4868,24 @@ var CollectionEditor$1 = function CollectionEditor(_ref10) {
|
|
4774
4868
|
}
|
4775
4869
|
}
|
4776
4870
|
|
4777
|
-
function change(index, cellId, cellValue) {
|
4778
|
-
if (onChange) {
|
4779
|
-
var next = value.slice();
|
4780
|
-
next[index][cellId] = cellValue;
|
4781
|
-
onChange(id, next);
|
4782
|
-
}
|
4783
|
-
}
|
4784
|
-
|
4785
4871
|
function reload() {
|
4786
4872
|
if (onReload) onReload();
|
4787
4873
|
}
|
4874
|
+
/* const columns = Object.values(item)
|
4875
|
+
.filter(field => field.column === true)
|
4876
|
+
.map((item) => ({ ...item, onChange: change }))
|
4877
|
+
columns.push({ id: 'actions', label: 'Actions' })
|
4878
|
+
const rows = value.map((item, index) => ({
|
4879
|
+
...item,
|
4880
|
+
id: index,
|
4881
|
+
actions: [
|
4882
|
+
<Icon icon='delete' clickable action={() => remove(index)} size="small" />
|
4883
|
+
]
|
4884
|
+
}))
|
4885
|
+
const table = { columns, rows }
|
4886
|
+
*/
|
4887
|
+
|
4788
4888
|
|
4789
|
-
var columns = Object.values(item).filter(function (field) {
|
4790
|
-
return field.column === true;
|
4791
|
-
}).map(function (item) {
|
4792
|
-
return _extends({}, item, {
|
4793
|
-
onChange: change
|
4794
|
-
});
|
4795
|
-
});
|
4796
|
-
columns.push({
|
4797
|
-
id: 'actions',
|
4798
|
-
label: 'Actions'
|
4799
|
-
});
|
4800
|
-
value.map(function (item, index) {
|
4801
|
-
return _extends({}, item, {
|
4802
|
-
id: index,
|
4803
|
-
actions: [/*#__PURE__*/React__default["default"].createElement(Icon, {
|
4804
|
-
icon: "delete",
|
4805
|
-
clickable: true,
|
4806
|
-
action: function action() {
|
4807
|
-
return remove(index);
|
4808
|
-
},
|
4809
|
-
size: "small"
|
4810
|
-
})]
|
4811
|
-
});
|
4812
|
-
});
|
4813
4889
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
4814
4890
|
className: "collection-editor"
|
4815
4891
|
}, Renderer ? /*#__PURE__*/React__default["default"].createElement(Renderer, {
|
@@ -4819,12 +4895,12 @@ var CollectionEditor$1 = function CollectionEditor(_ref10) {
|
|
4819
4895
|
onChange: onChange,
|
4820
4896
|
onReload: reload
|
4821
4897
|
}) // : <DataTable {...table} editable={editable} />
|
4822
|
-
: /*#__PURE__*/React__default["default"].createElement(TableEditor$
|
4898
|
+
: /*#__PURE__*/React__default["default"].createElement(TableEditor$3, {
|
4823
4899
|
icon: "info",
|
4824
4900
|
title: label,
|
4825
4901
|
data: value,
|
4826
4902
|
schema: item,
|
4827
|
-
groupBy:
|
4903
|
+
groupBy: groupBy,
|
4828
4904
|
canDelete: true,
|
4829
4905
|
remove: remove
|
4830
4906
|
}), /*#__PURE__*/React__default["default"].createElement("footer", null, Feeder ? /*#__PURE__*/React__default["default"].createElement(Feeder, {
|
@@ -4839,9 +4915,9 @@ var CollectionEditor$1 = function CollectionEditor(_ref10) {
|
|
4839
4915
|
* Collection Adder
|
4840
4916
|
*/
|
4841
4917
|
|
4842
|
-
var CollectionAdder = function CollectionAdder(
|
4843
|
-
var item =
|
4844
|
-
onAdd =
|
4918
|
+
var CollectionAdder = function CollectionAdder(_ref12) {
|
4919
|
+
var item = _ref12.item,
|
4920
|
+
onAdd = _ref12.onAdd;
|
4845
4921
|
|
4846
4922
|
var _useState3 = React.useState(false),
|
4847
4923
|
edit = _useState3[0],
|
@@ -4910,7 +4986,7 @@ var CollectionAdder = function CollectionAdder(_ref11) {
|
|
4910
4986
|
*/
|
4911
4987
|
|
4912
4988
|
|
4913
|
-
var TableEditor$
|
4989
|
+
var TableEditor$3 = function TableEditor(props) {
|
4914
4990
|
var select = function select(row) {
|
4915
4991
|
try {
|
4916
4992
|
if (onSelect) onSelect(row.id);
|
@@ -5254,7 +5330,7 @@ var EditContentDialog = function EditContentDialog(_ref) {
|
|
5254
5330
|
* Collection Page
|
5255
5331
|
*/
|
5256
5332
|
|
5257
|
-
function _catch$
|
5333
|
+
function _catch$3(body, recover) {
|
5258
5334
|
try {
|
5259
5335
|
var result = body();
|
5260
5336
|
} catch (e) {
|
@@ -5831,7 +5907,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5831
5907
|
try {
|
5832
5908
|
var _this2 = this;
|
5833
5909
|
|
5834
|
-
var _temp2 = _catch$
|
5910
|
+
var _temp2 = _catch$3(function () {
|
5835
5911
|
return Promise.resolve(API.all(null, page)).then(function (data) {
|
5836
5912
|
_this2.all = field ? data[field] : data;
|
5837
5913
|
});
|
@@ -5880,7 +5956,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5880
5956
|
},
|
5881
5957
|
fetch: function fetch(id) {
|
5882
5958
|
try {
|
5883
|
-
return Promise.resolve(_catch$
|
5959
|
+
return Promise.resolve(_catch$3(function () {
|
5884
5960
|
return Promise.resolve(API.find(id));
|
5885
5961
|
}, function (error) {
|
5886
5962
|
console.log(error);
|
@@ -5896,7 +5972,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5896
5972
|
try {
|
5897
5973
|
var _this8 = this;
|
5898
5974
|
|
5899
|
-
var _temp6 = _catch$
|
5975
|
+
var _temp6 = _catch$3(function () {
|
5900
5976
|
return Promise.resolve(API.create(form)).then(function () {
|
5901
5977
|
return Promise.resolve(_this8.load()).then(function () {});
|
5902
5978
|
});
|
@@ -5913,7 +5989,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5913
5989
|
try {
|
5914
5990
|
var _this10 = this;
|
5915
5991
|
|
5916
|
-
var _temp8 = _catch$
|
5992
|
+
var _temp8 = _catch$3(function () {
|
5917
5993
|
return Promise.resolve(API.update(form)).then(function () {
|
5918
5994
|
return Promise.resolve(_this10.load()).then(function () {});
|
5919
5995
|
});
|
@@ -5930,7 +6006,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5930
6006
|
try {
|
5931
6007
|
var _this12 = this;
|
5932
6008
|
|
5933
|
-
var _temp10 = _catch$
|
6009
|
+
var _temp10 = _catch$3(function () {
|
5934
6010
|
return Promise.resolve(API.patch(id, form)).then(function () {
|
5935
6011
|
return Promise.resolve(_this12.load()).then(function () {});
|
5936
6012
|
});
|
@@ -5947,7 +6023,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5947
6023
|
try {
|
5948
6024
|
var _this14 = this;
|
5949
6025
|
|
5950
|
-
var _temp12 = _catch$
|
6026
|
+
var _temp12 = _catch$3(function () {
|
5951
6027
|
return Promise.resolve(API.updateProperty(id, propertyName, form)).then(function () {
|
5952
6028
|
return Promise.resolve(_this14.load()).then(function () {});
|
5953
6029
|
});
|
@@ -5964,7 +6040,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5964
6040
|
try {
|
5965
6041
|
var _this16 = this;
|
5966
6042
|
|
5967
|
-
var _temp14 = _catch$
|
6043
|
+
var _temp14 = _catch$3(function () {
|
5968
6044
|
return Promise.resolve(API.remove(id)).then(function () {
|
5969
6045
|
return Promise.resolve(_this16.load()).then(function () {});
|
5970
6046
|
});
|
@@ -6177,7 +6253,7 @@ var QUERY = {
|
|
6177
6253
|
* Table Page
|
6178
6254
|
*/
|
6179
6255
|
|
6180
|
-
function _catch$
|
6256
|
+
function _catch$2(body, recover) {
|
6181
6257
|
try {
|
6182
6258
|
var result = body();
|
6183
6259
|
} catch (e) {
|
@@ -6304,7 +6380,7 @@ var TablePage = function TablePage(props) {
|
|
6304
6380
|
pageContext = _useContext[0],
|
6305
6381
|
setPageContext = _useContext[1];
|
6306
6382
|
|
6307
|
-
var context = TableContext$
|
6383
|
+
var context = TableContext$2(url, field, host, urlQuery, params);
|
6308
6384
|
var selected = pageContext.selected;
|
6309
6385
|
var timer = React.useRef(null);
|
6310
6386
|
|
@@ -6404,13 +6480,13 @@ var TablePage = function TablePage(props) {
|
|
6404
6480
|
if (rowSelected || rowChecked) {
|
6405
6481
|
return /*#__PURE__*/React__default["default"].createElement("aside", {
|
6406
6482
|
className: "table-page"
|
6407
|
-
}, rowSelected ? /*#__PURE__*/React__default["default"].createElement(TableRowEditor$
|
6483
|
+
}, rowSelected ? /*#__PURE__*/React__default["default"].createElement(TableRowEditor$2, {
|
6408
6484
|
content: new Content(schema, form),
|
6409
6485
|
filter: editorFilter,
|
6410
6486
|
onChange: change,
|
6411
6487
|
onClose: closeAside,
|
6412
6488
|
editable: canEdit
|
6413
|
-
}) : null, rowChecked ? /*#__PURE__*/React__default["default"].createElement(TableSelector$
|
6489
|
+
}) : null, rowChecked ? /*#__PURE__*/React__default["default"].createElement(TableSelector$2, {
|
6414
6490
|
schema: schema,
|
6415
6491
|
actions: selectionActions
|
6416
6492
|
}) : null);
|
@@ -6451,17 +6527,17 @@ var TablePage = function TablePage(props) {
|
|
6451
6527
|
onSelect: playScenario
|
6452
6528
|
})) : null, renderActions()), canQuery || canFilter ? /*#__PURE__*/React__default["default"].createElement("menu", {
|
6453
6529
|
className: "table-page"
|
6454
|
-
}, canQuery ? /*#__PURE__*/React__default["default"].createElement(TableQueries$
|
6530
|
+
}, canQuery ? /*#__PURE__*/React__default["default"].createElement(TableQueries$2, {
|
6455
6531
|
schema: schema,
|
6456
6532
|
url: url,
|
6457
6533
|
user: user
|
6458
|
-
}) : null, canFilter ? /*#__PURE__*/React__default["default"].createElement(TableFilters$
|
6534
|
+
}) : null, canFilter ? /*#__PURE__*/React__default["default"].createElement(TableFilters$2, {
|
6459
6535
|
schema: schema,
|
6460
6536
|
onSave: canQuery ? saveQuery : null
|
6461
6537
|
}) : null) : null, /*#__PURE__*/React__default["default"].createElement("main", {
|
6462
6538
|
key: id,
|
6463
6539
|
className: "table-page"
|
6464
|
-
}, /*#__PURE__*/React__default["default"].createElement(TableEditor$
|
6540
|
+
}, /*#__PURE__*/React__default["default"].createElement(TableEditor$2, {
|
6465
6541
|
icon: icon,
|
6466
6542
|
title: name,
|
6467
6543
|
schema: schema,
|
@@ -6475,7 +6551,7 @@ var TablePage = function TablePage(props) {
|
|
6475
6551
|
}), children ? /*#__PURE__*/React__default["default"].createElement("article", null, children) : null), renderAside());
|
6476
6552
|
};
|
6477
6553
|
|
6478
|
-
var TableRowEditor$
|
6554
|
+
var TableRowEditor$2 = function TableRowEditor(props) {
|
6479
6555
|
var name = props.name,
|
6480
6556
|
content = props.content,
|
6481
6557
|
filter = props.filter,
|
@@ -6504,7 +6580,7 @@ var TableRowEditor$1 = function TableRowEditor(props) {
|
|
6504
6580
|
*/
|
6505
6581
|
|
6506
6582
|
|
6507
|
-
var TableSelector$
|
6583
|
+
var TableSelector$2 = function TableSelector(props) {
|
6508
6584
|
var schema = props.schema,
|
6509
6585
|
_props$actions2 = props.actions,
|
6510
6586
|
actions = _props$actions2 === void 0 ? [] : _props$actions2;
|
@@ -6542,8 +6618,10 @@ var TableSelector$1 = function TableSelector(props) {
|
|
6542
6618
|
action: function action() {
|
6543
6619
|
return _action(checked, pageContext, function () {
|
6544
6620
|
try {
|
6545
|
-
return Promise.resolve(pageContext.
|
6546
|
-
|
6621
|
+
return Promise.resolve(pageContext.clearChecks()).then(function () {
|
6622
|
+
return Promise.resolve(pageContext.load()).then(function () {
|
6623
|
+
setPageContext(Object.assign({}, pageContext));
|
6624
|
+
});
|
6547
6625
|
});
|
6548
6626
|
} catch (e) {
|
6549
6627
|
return Promise.reject(e);
|
@@ -6567,7 +6645,7 @@ var TableSelector$1 = function TableSelector(props) {
|
|
6567
6645
|
*/
|
6568
6646
|
|
6569
6647
|
|
6570
|
-
var TableQueries$
|
6648
|
+
var TableQueries$2 = function TableQueries(props) {
|
6571
6649
|
var remove = function remove(id) {
|
6572
6650
|
try {
|
6573
6651
|
return Promise.resolve(pageContext.removeQuery(id, user)).then(function () {
|
@@ -6629,7 +6707,7 @@ var TableQueries$1 = function TableQueries(props) {
|
|
6629
6707
|
*/
|
6630
6708
|
|
6631
6709
|
|
6632
|
-
var TableFilters$
|
6710
|
+
var TableFilters$2 = function TableFilters(props) {
|
6633
6711
|
var reload = function reload() {
|
6634
6712
|
try {
|
6635
6713
|
return Promise.resolve(pageContext.load(form)).then(function () {
|
@@ -6725,7 +6803,7 @@ var TableFilters$1 = function TableFilters(props) {
|
|
6725
6803
|
*/
|
6726
6804
|
|
6727
6805
|
|
6728
|
-
var TableEditor$
|
6806
|
+
var TableEditor$2 = function TableEditor(props) {
|
6729
6807
|
var checkOne = function checkOne(id, field, value) {
|
6730
6808
|
check([id], value);
|
6731
6809
|
return Promise.resolve();
|
@@ -6957,8 +7035,8 @@ var TableEditor$1 = function TableEditor(props) {
|
|
6957
7035
|
* Table Context
|
6958
7036
|
*/
|
6959
7037
|
|
6960
|
-
var TableContext$
|
6961
|
-
var API = TableAPI$
|
7038
|
+
var TableContext$2 = function TableContext(url, field, host, urlQuery, params) {
|
7039
|
+
var API = TableAPI$2(url, host, params);
|
6962
7040
|
return {
|
6963
7041
|
all: [],
|
6964
7042
|
checked: new Set([]),
|
@@ -6969,7 +7047,7 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
6969
7047
|
try {
|
6970
7048
|
var _this2 = this;
|
6971
7049
|
|
6972
|
-
var _temp5 = _catch$
|
7050
|
+
var _temp5 = _catch$2(function () {
|
6973
7051
|
var filters = filter ? Object.keys(filter).reduce(function (filters, key) {
|
6974
7052
|
var field = filter[key];
|
6975
7053
|
|
@@ -7015,6 +7093,9 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
7015
7093
|
});
|
7016
7094
|
}
|
7017
7095
|
},
|
7096
|
+
clearChecks: function clearChecks() {
|
7097
|
+
this.checked = new Set([]);
|
7098
|
+
},
|
7018
7099
|
select: function select(id) {
|
7019
7100
|
var result = this.all.find(function (item) {
|
7020
7101
|
return item.id === id;
|
@@ -7028,7 +7109,7 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
7028
7109
|
try {
|
7029
7110
|
var _this5 = this;
|
7030
7111
|
|
7031
|
-
var _temp7 = _catch$
|
7112
|
+
var _temp7 = _catch$2(function () {
|
7032
7113
|
return Promise.resolve(API.create(form)).then(function () {
|
7033
7114
|
return Promise.resolve(_this5.load()).then(function () {});
|
7034
7115
|
});
|
@@ -7045,7 +7126,7 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
7045
7126
|
try {
|
7046
7127
|
var _this7 = this;
|
7047
7128
|
|
7048
|
-
var _temp9 = _catch$
|
7129
|
+
var _temp9 = _catch$2(function () {
|
7049
7130
|
return Promise.resolve(API.update(form)).then(function () {
|
7050
7131
|
return Promise.resolve(_this7.load()).then(function () {});
|
7051
7132
|
});
|
@@ -7062,7 +7143,7 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
7062
7143
|
try {
|
7063
7144
|
var _this9 = this;
|
7064
7145
|
|
7065
|
-
var _temp11 = _catch$
|
7146
|
+
var _temp11 = _catch$2(function () {
|
7066
7147
|
return Promise.resolve(API.remove(id)).then(function () {
|
7067
7148
|
return Promise.resolve(_this9.load()).then(function () {});
|
7068
7149
|
});
|
@@ -7082,7 +7163,7 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
7082
7163
|
try {
|
7083
7164
|
var _this11 = this;
|
7084
7165
|
|
7085
|
-
var _temp13 = _catch$
|
7166
|
+
var _temp13 = _catch$2(function () {
|
7086
7167
|
return Promise.resolve(API.queries(user, urlQuery)).then(function (_API$queries) {
|
7087
7168
|
_this11.queries = _API$queries;
|
7088
7169
|
});
|
@@ -7099,7 +7180,7 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
7099
7180
|
try {
|
7100
7181
|
var _this13 = this;
|
7101
7182
|
|
7102
|
-
var _temp15 = _catch$
|
7183
|
+
var _temp15 = _catch$2(function () {
|
7103
7184
|
return Promise.resolve(API.createQuery(query, urlQuery)).then(function () {
|
7104
7185
|
return Promise.resolve(_this13.loadQueries(user)).then(function () {});
|
7105
7186
|
});
|
@@ -7116,7 +7197,7 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
7116
7197
|
try {
|
7117
7198
|
var _this15 = this;
|
7118
7199
|
|
7119
|
-
var _temp17 = _catch$
|
7200
|
+
var _temp17 = _catch$2(function () {
|
7120
7201
|
return Promise.resolve(API.removeQuery(id, urlQuery)).then(function () {
|
7121
7202
|
return Promise.resolve(_this15.loadQueries(user)).then(function () {});
|
7122
7203
|
});
|
@@ -7136,6 +7217,1023 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
7136
7217
|
*/
|
7137
7218
|
|
7138
7219
|
|
7220
|
+
var TableAPI$2 = function TableAPI(url, host, params) {
|
7221
|
+
if (params === void 0) {
|
7222
|
+
params = "";
|
7223
|
+
}
|
7224
|
+
|
7225
|
+
var http = HTTPClient(host || window.API || process.env.REACT_APP_API, Session);
|
7226
|
+
return {
|
7227
|
+
all: function all(filters) {
|
7228
|
+
var queryParams = "?" + params;
|
7229
|
+
|
7230
|
+
if (filters) {
|
7231
|
+
var filterQuery = Object.keys(filters).reduce(function (query, key) {
|
7232
|
+
var value = filters[key];
|
7233
|
+
|
7234
|
+
if (typeof value === 'boolean') {
|
7235
|
+
return query.concat(key + "=" + value + "&");
|
7236
|
+
} else if (Array.isArray(value)) {
|
7237
|
+
var param = value.length === 0 ? '' : value.reduce(function (param, item) {
|
7238
|
+
param = param.concat(key + "=" + item + "&");
|
7239
|
+
return param;
|
7240
|
+
}, "");
|
7241
|
+
return query.concat(param);
|
7242
|
+
} else {
|
7243
|
+
return query.concat(key + "=%" + filters[key] + "%&");
|
7244
|
+
}
|
7245
|
+
}, "");
|
7246
|
+
queryParams = queryParams.concat(filterQuery);
|
7247
|
+
}
|
7248
|
+
|
7249
|
+
return http.GET(url + queryParams);
|
7250
|
+
},
|
7251
|
+
find: function find(id) {
|
7252
|
+
return http.GET(url + "/" + id);
|
7253
|
+
},
|
7254
|
+
create: function create(form) {
|
7255
|
+
var body = JSON.stringify(form);
|
7256
|
+
return http.POST(url, body);
|
7257
|
+
},
|
7258
|
+
update: function update(form) {
|
7259
|
+
var body = JSON.stringify(form);
|
7260
|
+
return http.PUT(url + "/" + form.id, body);
|
7261
|
+
},
|
7262
|
+
remove: function remove(id) {
|
7263
|
+
return http.DELETE(url + "/" + id);
|
7264
|
+
},
|
7265
|
+
queries: function queries(user, url2) {
|
7266
|
+
var url3 = url2 ? url2 : url;
|
7267
|
+
url3 = url3 + "queries";
|
7268
|
+
if (user) url3 = url3 + ("?user=" + user);
|
7269
|
+
return http.GET(url3);
|
7270
|
+
},
|
7271
|
+
createQuery: function createQuery(form, url2) {
|
7272
|
+
var url3 = url2 ? url2 : url;
|
7273
|
+
var body = JSON.stringify(form);
|
7274
|
+
return http.POST(url3 + "queries", body);
|
7275
|
+
},
|
7276
|
+
removeQuery: function removeQuery(id, url2) {
|
7277
|
+
var url3 = url2 ? url2 : url;
|
7278
|
+
return http.DELETE(url3 + "queries/" + id);
|
7279
|
+
}
|
7280
|
+
};
|
7281
|
+
};
|
7282
|
+
|
7283
|
+
/**
|
7284
|
+
* Table Page
|
7285
|
+
*/
|
7286
|
+
|
7287
|
+
function _catch$1(body, recover) {
|
7288
|
+
try {
|
7289
|
+
var result = body();
|
7290
|
+
} catch (e) {
|
7291
|
+
return recover(e);
|
7292
|
+
}
|
7293
|
+
|
7294
|
+
if (result && result.then) {
|
7295
|
+
return result.then(void 0, recover);
|
7296
|
+
}
|
7297
|
+
|
7298
|
+
return result;
|
7299
|
+
}
|
7300
|
+
/**
|
7301
|
+
* TableRowEditor
|
7302
|
+
*/
|
7303
|
+
|
7304
|
+
|
7305
|
+
var TablePage2 = function TablePage2(props) {
|
7306
|
+
var save = function save() {
|
7307
|
+
try {
|
7308
|
+
return Promise.resolve(pageContext.update(form)).then(function () {
|
7309
|
+
setPageContext(Object.assign({}, pageContext));
|
7310
|
+
});
|
7311
|
+
} catch (e) {
|
7312
|
+
return Promise.reject(e);
|
7313
|
+
}
|
7314
|
+
};
|
7315
|
+
|
7316
|
+
var reload = function reload() {
|
7317
|
+
try {
|
7318
|
+
return Promise.resolve(pageContext.load()).then(function () {
|
7319
|
+
setPageContext(Object.assign({}, pageContext));
|
7320
|
+
});
|
7321
|
+
} catch (e) {
|
7322
|
+
return Promise.reject(e);
|
7323
|
+
}
|
7324
|
+
};
|
7325
|
+
|
7326
|
+
var site = React.useContext(SiteContext);
|
7327
|
+
var _props$id = props.id,
|
7328
|
+
id = _props$id === void 0 ? "table" : _props$id,
|
7329
|
+
icon = props.icon,
|
7330
|
+
title = props.title,
|
7331
|
+
name = props.name,
|
7332
|
+
schema = props.schema,
|
7333
|
+
url = props.url,
|
7334
|
+
field = props.field,
|
7335
|
+
host = props.host,
|
7336
|
+
_props$params = props.params,
|
7337
|
+
params = _props$params === void 0 ? "" : _props$params,
|
7338
|
+
_props$canQuery = props.canQuery,
|
7339
|
+
canQuery = _props$canQuery === void 0 ? false : _props$canQuery,
|
7340
|
+
urlQuery = props.urlQuery,
|
7341
|
+
user = props.user,
|
7342
|
+
editable = props.editable,
|
7343
|
+
_props$autosave = props.autosave,
|
7344
|
+
autosave = _props$autosave === void 0 ? true : _props$autosave,
|
7345
|
+
_props$delay = props.delay,
|
7346
|
+
delay = _props$delay === void 0 ? 1000 : _props$delay,
|
7347
|
+
_props$actions = props.actions,
|
7348
|
+
actions = _props$actions === void 0 ? [] : _props$actions,
|
7349
|
+
tableActions = props.tableActions,
|
7350
|
+
_props$selectionActio = props.selectionActions,
|
7351
|
+
selectionActions = _props$selectionActio === void 0 ? [] : _props$selectionActio,
|
7352
|
+
_props$canFilter = props.canFilter,
|
7353
|
+
canFilter = _props$canFilter === void 0 ? false : _props$canFilter,
|
7354
|
+
_props$canAdd = props.canAdd,
|
7355
|
+
canAdd = _props$canAdd === void 0 ? true : _props$canAdd,
|
7356
|
+
_props$canDelete = props.canDelete,
|
7357
|
+
canDelete = _props$canDelete === void 0 ? true : _props$canDelete,
|
7358
|
+
_props$canEdit = props.canEdit,
|
7359
|
+
canEdit = _props$canEdit === void 0 ? true : _props$canEdit,
|
7360
|
+
groupBy = props.groupBy,
|
7361
|
+
validator = props.validator,
|
7362
|
+
formFilter = props.formFilter,
|
7363
|
+
tableFilter = props.tableFilter,
|
7364
|
+
_props$editorFilter = props.editorFilter,
|
7365
|
+
editorFilter = _props$editorFilter === void 0 ? false : _props$editorFilter,
|
7366
|
+
tabbedBy = props.tabbedBy,
|
7367
|
+
tableClassName = props.tableClassName,
|
7368
|
+
children = props.children;
|
7369
|
+
|
7370
|
+
var _useContext = React.useContext(PageContext),
|
7371
|
+
setPageContext = _useContext[1];
|
7372
|
+
|
7373
|
+
var context = TableContext$1(url, field, host, urlQuery, params);
|
7374
|
+
var _pageContext = pageContext,
|
7375
|
+
selected = _pageContext.selected;
|
7376
|
+
var timer = React.useRef(null);
|
7377
|
+
|
7378
|
+
var _useState = React.useState(selected),
|
7379
|
+
form = _useState[0],
|
7380
|
+
setForm = _useState[1];
|
7381
|
+
|
7382
|
+
React.useEffect(function () {
|
7383
|
+
try {
|
7384
|
+
return Promise.resolve(context.load()).then(function () {
|
7385
|
+
function _temp2() {
|
7386
|
+
setPageContext(context);
|
7387
|
+
}
|
7388
|
+
|
7389
|
+
var _temp = function () {
|
7390
|
+
if (canQuery) return Promise.resolve(context.loadQueries(user)).then(function () {});
|
7391
|
+
}();
|
7392
|
+
|
7393
|
+
return _temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp);
|
7394
|
+
});
|
7395
|
+
} catch (e) {
|
7396
|
+
return Promise.reject(e);
|
7397
|
+
}
|
7398
|
+
}, []);
|
7399
|
+
React.useEffect(function () {
|
7400
|
+
setForm(selected);
|
7401
|
+
}, [selected]);
|
7402
|
+
React.useEffect(function () {
|
7403
|
+
if (autosave) {
|
7404
|
+
clearTimeout(timer.current);
|
7405
|
+
timer.current = setTimeout(function () {
|
7406
|
+
if (canSave()) save();
|
7407
|
+
}, delay);
|
7408
|
+
}
|
7409
|
+
}, [form]);
|
7410
|
+
|
7411
|
+
function add() {
|
7412
|
+
var onOK = function onOK(form) {
|
7413
|
+
try {
|
7414
|
+
return Promise.resolve(pageContext.create(form)).then(function () {
|
7415
|
+
setPageContext(Object.assign({}, pageContext));
|
7416
|
+
});
|
7417
|
+
} catch (e) {
|
7418
|
+
return Promise.reject(e);
|
7419
|
+
}
|
7420
|
+
};
|
7421
|
+
|
7422
|
+
site.openDialog( /*#__PURE__*/React__default["default"].createElement(CreateContentDialog, {
|
7423
|
+
label: "Crear " + name,
|
7424
|
+
type: schema,
|
7425
|
+
onOK: onOK,
|
7426
|
+
validator: validator,
|
7427
|
+
filter: formFilter
|
7428
|
+
}));
|
7429
|
+
}
|
7430
|
+
|
7431
|
+
function saveQuery(filters) {
|
7432
|
+
var onOK = function onOK(form) {
|
7433
|
+
try {
|
7434
|
+
form.filters = filters;
|
7435
|
+
form.layout = {};
|
7436
|
+
form.user = user;
|
7437
|
+
form.url = url;
|
7438
|
+
return Promise.resolve(pageContext.createQuery(form, user)).then(function () {
|
7439
|
+
setPageContext(Object.assign({}, pageContext));
|
7440
|
+
});
|
7441
|
+
} catch (e) {
|
7442
|
+
return Promise.reject(e);
|
7443
|
+
}
|
7444
|
+
};
|
7445
|
+
|
7446
|
+
site.openDialog( /*#__PURE__*/React__default["default"].createElement(CreateContentDialog, {
|
7447
|
+
label: "Nueva query",
|
7448
|
+
type: QUERY,
|
7449
|
+
onOK: onOK
|
7450
|
+
}));
|
7451
|
+
}
|
7452
|
+
|
7453
|
+
function change(next) {
|
7454
|
+
setForm(next);
|
7455
|
+
}
|
7456
|
+
|
7457
|
+
function canSave() {
|
7458
|
+
var can = !equal__default["default"](form, selected);
|
7459
|
+
return can;
|
7460
|
+
}
|
7461
|
+
|
7462
|
+
function closeAside() {
|
7463
|
+
pageContext.select(null);
|
7464
|
+
setPageContext(Object.assign({}, pageContext));
|
7465
|
+
}
|
7466
|
+
|
7467
|
+
function renderAside() {
|
7468
|
+
var rowSelected = selected && form;
|
7469
|
+
var rowChecked = pageContext.checked && pageContext.checked.size > 0;
|
7470
|
+
|
7471
|
+
if (rowSelected || rowChecked) {
|
7472
|
+
return /*#__PURE__*/React__default["default"].createElement("aside", {
|
7473
|
+
className: "table-page"
|
7474
|
+
}, rowSelected ? /*#__PURE__*/React__default["default"].createElement(TableRowEditor$1, {
|
7475
|
+
content: new Content(schema, form),
|
7476
|
+
filter: editorFilter,
|
7477
|
+
onChange: change,
|
7478
|
+
onClose: closeAside,
|
7479
|
+
editable: canEdit
|
7480
|
+
}) : null, rowChecked ? /*#__PURE__*/React__default["default"].createElement(TableSelector$1, {
|
7481
|
+
schema: schema,
|
7482
|
+
actions: selectionActions
|
7483
|
+
}) : null);
|
7484
|
+
}
|
7485
|
+
|
7486
|
+
return null;
|
7487
|
+
}
|
7488
|
+
|
7489
|
+
function renderActions() {
|
7490
|
+
return actions.map(function (element) {
|
7491
|
+
var action = function action() {
|
7492
|
+
return element.props.action(pageContext);
|
7493
|
+
};
|
7494
|
+
|
7495
|
+
var clone = React__default["default"].cloneElement(element, {
|
7496
|
+
action: action
|
7497
|
+
});
|
7498
|
+
return clone;
|
7499
|
+
});
|
7500
|
+
}
|
7501
|
+
|
7502
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
|
7503
|
+
className: "table-page",
|
7504
|
+
title: /*#__PURE__*/React__default["default"].createElement(Text, null, title)
|
7505
|
+
}, canAdd ? /*#__PURE__*/React__default["default"].createElement(Button, {
|
7506
|
+
icon: "add",
|
7507
|
+
label: "A\xF1adir",
|
7508
|
+
action: add,
|
7509
|
+
raised: true
|
7510
|
+
}) : null, "\xA0", /*#__PURE__*/React__default["default"].createElement(Button, {
|
7511
|
+
icon: "refresh",
|
7512
|
+
label: "Reload",
|
7513
|
+
action: reload
|
7514
|
+
}), renderActions()), canQuery || canFilter ? /*#__PURE__*/React__default["default"].createElement("menu", {
|
7515
|
+
className: "table-page"
|
7516
|
+
}, canQuery ? /*#__PURE__*/React__default["default"].createElement(TableQueries$1, {
|
7517
|
+
schema: schema,
|
7518
|
+
url: url,
|
7519
|
+
user: user
|
7520
|
+
}) : null, canFilter ? /*#__PURE__*/React__default["default"].createElement(TableFilters$1, {
|
7521
|
+
schema: schema,
|
7522
|
+
onSave: canQuery ? saveQuery : null
|
7523
|
+
}) : null) : null, /*#__PURE__*/React__default["default"].createElement("main", {
|
7524
|
+
key: id,
|
7525
|
+
className: "table-page"
|
7526
|
+
}, /*#__PURE__*/React__default["default"].createElement(TableEditor$1, {
|
7527
|
+
icon: icon,
|
7528
|
+
title: name,
|
7529
|
+
schema: schema,
|
7530
|
+
delay: delay,
|
7531
|
+
editable: editable,
|
7532
|
+
tabbedBy: tabbedBy,
|
7533
|
+
groupBy: groupBy,
|
7534
|
+
filter: tableFilter,
|
7535
|
+
actions: tableActions,
|
7536
|
+
canDelete: canDelete,
|
7537
|
+
className: tableClassName
|
7538
|
+
}), children ? /*#__PURE__*/React__default["default"].createElement("article", null, children) : null), renderAside());
|
7539
|
+
};
|
7540
|
+
|
7541
|
+
var TableRowEditor$1 = function TableRowEditor(props) {
|
7542
|
+
var name = props.name,
|
7543
|
+
content = props.content,
|
7544
|
+
filter = props.filter,
|
7545
|
+
editable = props.editable,
|
7546
|
+
onChange = props.onChange,
|
7547
|
+
onClose = props.onClose;
|
7548
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
7549
|
+
className: "table-row-editor"
|
7550
|
+
}, /*#__PURE__*/React__default["default"].createElement(Header, {
|
7551
|
+
icon: "local_offer",
|
7552
|
+
title: name || "Propiedades"
|
7553
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7554
|
+
icon: "close",
|
7555
|
+
clickable: true,
|
7556
|
+
action: onClose
|
7557
|
+
})), /*#__PURE__*/React__default["default"].createElement("main", null, editable ? /*#__PURE__*/React__default["default"].createElement(ContentEditor, {
|
7558
|
+
content: content,
|
7559
|
+
onChange: onChange,
|
7560
|
+
filter: filter
|
7561
|
+
}) : /*#__PURE__*/React__default["default"].createElement(ContentViewer, {
|
7562
|
+
content: content
|
7563
|
+
})));
|
7564
|
+
};
|
7565
|
+
/**
|
7566
|
+
* Table Selector
|
7567
|
+
*/
|
7568
|
+
|
7569
|
+
|
7570
|
+
var TableSelector$1 = function TableSelector(props) {
|
7571
|
+
var schema = props.schema,
|
7572
|
+
_props$actions2 = props.actions,
|
7573
|
+
actions = _props$actions2 === void 0 ? [] : _props$actions2;
|
7574
|
+
|
7575
|
+
var _useContext2 = React.useContext(PageContext),
|
7576
|
+
pageContext = _useContext2[0],
|
7577
|
+
setPageContext = _useContext2[1];
|
7578
|
+
|
7579
|
+
var all = pageContext.all,
|
7580
|
+
checked = pageContext.checked;
|
7581
|
+
var count = checked.size + "/" + all.length;
|
7582
|
+
var columns = Object.keys(schema).filter(function (key) {
|
7583
|
+
return schema[key].selectorColumn === true;
|
7584
|
+
}).map(function (key) {
|
7585
|
+
var field = schema[key];
|
7586
|
+
return {
|
7587
|
+
id: field.id,
|
7588
|
+
label: field.label
|
7589
|
+
};
|
7590
|
+
});
|
7591
|
+
var rows = all.filter(function (item) {
|
7592
|
+
return checked.has(item.id);
|
7593
|
+
});
|
7594
|
+
var table = {
|
7595
|
+
columns: columns,
|
7596
|
+
rows: rows || []
|
7597
|
+
};
|
7598
|
+
var buttons = actions.map(function (_ref) {
|
7599
|
+
var label = _ref.label,
|
7600
|
+
_action = _ref.action,
|
7601
|
+
validate = _ref.validate;
|
7602
|
+
return /*#__PURE__*/React__default["default"].createElement(Button, {
|
7603
|
+
label: label,
|
7604
|
+
raised: true,
|
7605
|
+
action: function action() {
|
7606
|
+
return _action(checked, pageContext, function () {
|
7607
|
+
try {
|
7608
|
+
return Promise.resolve(pageContext.load()).then(function () {
|
7609
|
+
setPageContext(Object.assign({}, pageContext));
|
7610
|
+
});
|
7611
|
+
} catch (e) {
|
7612
|
+
return Promise.reject(e);
|
7613
|
+
}
|
7614
|
+
}, rows);
|
7615
|
+
},
|
7616
|
+
disabled: !validate(checked, rows)
|
7617
|
+
});
|
7618
|
+
});
|
7619
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
7620
|
+
className: "table-selector"
|
7621
|
+
}, /*#__PURE__*/React__default["default"].createElement(Header, {
|
7622
|
+
icon: "checklist_rtl",
|
7623
|
+
title: "Selecci\xF3n"
|
7624
|
+
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
7625
|
+
className: "size"
|
7626
|
+
}, count)), /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(DataTable, table)), /*#__PURE__*/React__default["default"].createElement("footer", null, buttons));
|
7627
|
+
};
|
7628
|
+
/**
|
7629
|
+
* Table Queries
|
7630
|
+
*/
|
7631
|
+
|
7632
|
+
|
7633
|
+
var TableQueries$1 = function TableQueries(props) {
|
7634
|
+
var remove = function remove(id) {
|
7635
|
+
try {
|
7636
|
+
return Promise.resolve(pageContext.removeQuery(id, user)).then(function () {
|
7637
|
+
setPageContext(Object.assign({}, pageContext));
|
7638
|
+
});
|
7639
|
+
} catch (e) {
|
7640
|
+
return Promise.reject(e);
|
7641
|
+
}
|
7642
|
+
};
|
7643
|
+
|
7644
|
+
var _useContext3 = React.useContext(PageContext),
|
7645
|
+
pageContext = _useContext3[0],
|
7646
|
+
setPageContext = _useContext3[1];
|
7647
|
+
|
7648
|
+
var url = props.url,
|
7649
|
+
user = props.user;
|
7650
|
+
var _pageContext$queries = pageContext.queries,
|
7651
|
+
queries = _pageContext$queries === void 0 ? [] : _pageContext$queries;
|
7652
|
+
|
7653
|
+
var _useState2 = React.useState(),
|
7654
|
+
selected = _useState2[0],
|
7655
|
+
setSelected = _useState2[1];
|
7656
|
+
|
7657
|
+
function select(query) {
|
7658
|
+
setSelected(query.id);
|
7659
|
+
pageContext.changeFilters(query.filters);
|
7660
|
+
setPageContext(Object.assign({}, pageContext));
|
7661
|
+
}
|
7662
|
+
|
7663
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
|
7664
|
+
className: "table-queries",
|
7665
|
+
title: /*#__PURE__*/React__default["default"].createElement(Text, null, "Queries")
|
7666
|
+
}), /*#__PURE__*/React__default["default"].createElement("main", {
|
7667
|
+
className: "table-queries"
|
7668
|
+
}, queries ? queries.filter(function (query) {
|
7669
|
+
return query.url === url;
|
7670
|
+
}).map(function (query) {
|
7671
|
+
var style = selected === query.id ? "selected" : "";
|
7672
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
7673
|
+
className: "table-queries-item " + style,
|
7674
|
+
onClick: function onClick() {
|
7675
|
+
return select(query);
|
7676
|
+
}
|
7677
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7678
|
+
icon: "star",
|
7679
|
+
size: "small"
|
7680
|
+
}), /*#__PURE__*/React__default["default"].createElement("label", null, query.name), /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7681
|
+
icon: "close",
|
7682
|
+
clickable: true,
|
7683
|
+
size: "small",
|
7684
|
+
action: function action() {
|
7685
|
+
return remove(query.id);
|
7686
|
+
}
|
7687
|
+
}));
|
7688
|
+
}) : /*#__PURE__*/React__default["default"].createElement("div", null, "...empty...")));
|
7689
|
+
};
|
7690
|
+
/**
|
7691
|
+
* Table Filters
|
7692
|
+
*/
|
7693
|
+
|
7694
|
+
|
7695
|
+
var TableFilters$1 = function TableFilters(props) {
|
7696
|
+
var reload = function reload() {
|
7697
|
+
try {
|
7698
|
+
return Promise.resolve(pageContext.load(form)).then(function () {
|
7699
|
+
setPageContext(Object.assign({}, pageContext));
|
7700
|
+
});
|
7701
|
+
} catch (e) {
|
7702
|
+
return Promise.reject(e);
|
7703
|
+
}
|
7704
|
+
};
|
7705
|
+
|
7706
|
+
var change = function change(next) {
|
7707
|
+
try {
|
7708
|
+
setForm(next);
|
7709
|
+
return Promise.resolve();
|
7710
|
+
} catch (e) {
|
7711
|
+
return Promise.reject(e);
|
7712
|
+
}
|
7713
|
+
};
|
7714
|
+
|
7715
|
+
var _useContext4 = React.useContext(PageContext),
|
7716
|
+
pageContext = _useContext4[0],
|
7717
|
+
setPageContext = _useContext4[1];
|
7718
|
+
|
7719
|
+
var filters = pageContext.filters;
|
7720
|
+
var schema = props.schema,
|
7721
|
+
onSave = props.onSave;
|
7722
|
+
|
7723
|
+
var _useState3 = React.useState({}),
|
7724
|
+
form = _useState3[0],
|
7725
|
+
setForm = _useState3[1];
|
7726
|
+
|
7727
|
+
var filterSchema = React.useMemo(function () {
|
7728
|
+
var filterSchema = Object.assign({}, schema);
|
7729
|
+
|
7730
|
+
for (var key in filterSchema) {
|
7731
|
+
if (filterSchema[key].filter === false) {
|
7732
|
+
delete filterSchema[key];
|
7733
|
+
} else {
|
7734
|
+
if (filterSchema[key].type === TYPES.ENTITY) {
|
7735
|
+
var fs = filterSchema[key].item;
|
7736
|
+
|
7737
|
+
for (var key in fs) {
|
7738
|
+
if (fs[key].filter === false) delete fs[key];
|
7739
|
+
}
|
7740
|
+
}
|
7741
|
+
}
|
7742
|
+
} //Object.values(filterSchema).forEach(field => field.section = null)
|
7743
|
+
|
7744
|
+
|
7745
|
+
delete filterSchema.flows;
|
7746
|
+
return filterSchema;
|
7747
|
+
}, [schema]);
|
7748
|
+
React.useEffect(function () {
|
7749
|
+
if (filters) setForm(filters);
|
7750
|
+
}, [filters]);
|
7751
|
+
React.useEffect(function () {
|
7752
|
+
reload();
|
7753
|
+
}, [form]);
|
7754
|
+
|
7755
|
+
function clear() {
|
7756
|
+
change({});
|
7757
|
+
}
|
7758
|
+
|
7759
|
+
function save() {
|
7760
|
+
if (onSave) {
|
7761
|
+
onSave(form);
|
7762
|
+
}
|
7763
|
+
}
|
7764
|
+
|
7765
|
+
var content = new Content(filterSchema, form);
|
7766
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
|
7767
|
+
className: "table-filters",
|
7768
|
+
title: /*#__PURE__*/React__default["default"].createElement(Text, null, "Filters")
|
7769
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7770
|
+
icon: "filter_list_off",
|
7771
|
+
size: "small",
|
7772
|
+
clickable: true,
|
7773
|
+
action: clear
|
7774
|
+
}), onSave ? /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7775
|
+
icon: "save",
|
7776
|
+
size: "small",
|
7777
|
+
clickable: true,
|
7778
|
+
action: save
|
7779
|
+
}) : null), /*#__PURE__*/React__default["default"].createElement("main", {
|
7780
|
+
className: "table-filters"
|
7781
|
+
}, /*#__PURE__*/React__default["default"].createElement(ContentEditor, {
|
7782
|
+
content: content,
|
7783
|
+
onChange: change
|
7784
|
+
})));
|
7785
|
+
};
|
7786
|
+
/**
|
7787
|
+
* Table Editor
|
7788
|
+
*/
|
7789
|
+
|
7790
|
+
|
7791
|
+
var TableEditor$1 = function TableEditor(props) {
|
7792
|
+
var checkOne = function checkOne(id, field, value) {
|
7793
|
+
check([id], value);
|
7794
|
+
return Promise.resolve();
|
7795
|
+
};
|
7796
|
+
|
7797
|
+
var check = function check(ids, value) {
|
7798
|
+
try {
|
7799
|
+
pageContext.check(ids, value);
|
7800
|
+
setPageContext(Object.assign({}, pageContext));
|
7801
|
+
return Promise.resolve();
|
7802
|
+
} catch (e) {
|
7803
|
+
return Promise.reject(e);
|
7804
|
+
}
|
7805
|
+
};
|
7806
|
+
|
7807
|
+
var select = function select(row, event) {
|
7808
|
+
try {
|
7809
|
+
clear();
|
7810
|
+
return Promise.resolve(pageContext.select(row.id)).then(function () {
|
7811
|
+
setPageContext(Object.assign({}, pageContext));
|
7812
|
+
});
|
7813
|
+
} catch (e) {
|
7814
|
+
return Promise.reject(e);
|
7815
|
+
}
|
7816
|
+
};
|
7817
|
+
|
7818
|
+
var remove = function remove(id) {
|
7819
|
+
try {
|
7820
|
+
return Promise.resolve(site.confirm("Are you sure ?")).then(function (confirm) {
|
7821
|
+
var _temp5 = function () {
|
7822
|
+
if (confirm) {
|
7823
|
+
return Promise.resolve(pageContext.remove(id)).then(function () {
|
7824
|
+
pageContext.clear();
|
7825
|
+
setPageContext(Object.assign({}, pageContext));
|
7826
|
+
});
|
7827
|
+
}
|
7828
|
+
}();
|
7829
|
+
|
7830
|
+
if (_temp5 && _temp5.then) return _temp5.then(function () {});
|
7831
|
+
});
|
7832
|
+
} catch (e) {
|
7833
|
+
return Promise.reject(e);
|
7834
|
+
}
|
7835
|
+
};
|
7836
|
+
|
7837
|
+
var site = React.useContext(SiteContext);
|
7838
|
+
|
7839
|
+
var _useContext5 = React.useContext(PageContext),
|
7840
|
+
pageContext = _useContext5[0],
|
7841
|
+
setPageContext = _useContext5[1];
|
7842
|
+
|
7843
|
+
var _pageContext$all = pageContext.all,
|
7844
|
+
all = _pageContext$all === void 0 ? [] : _pageContext$all;
|
7845
|
+
var icon = props.icon,
|
7846
|
+
title = props.title,
|
7847
|
+
schema = props.schema,
|
7848
|
+
editable = props.editable,
|
7849
|
+
canDelete = props.canDelete,
|
7850
|
+
filter = props.filter,
|
7851
|
+
actions = props.actions,
|
7852
|
+
className = props.className;
|
7853
|
+
|
7854
|
+
var _useState4 = React.useState(props.groupBy),
|
7855
|
+
groupBy = _useState4[0],
|
7856
|
+
setGroupBy = _useState4[1];
|
7857
|
+
|
7858
|
+
var _useState5 = React.useState(0),
|
7859
|
+
tab = _useState5[0];
|
7860
|
+
|
7861
|
+
React.useEffect(function () {
|
7862
|
+
try {
|
7863
|
+
var _temp4 = function () {
|
7864
|
+
if (tab) {
|
7865
|
+
var _filter2;
|
7866
|
+
|
7867
|
+
var _filter = (_filter2 = {}, _filter2[tab.field] = tab.value, _filter2);
|
7868
|
+
|
7869
|
+
return Promise.resolve(pageContext.load(_filter, [])).then(function () {
|
7870
|
+
setPageContext(Object.assign({}, pageContext));
|
7871
|
+
});
|
7872
|
+
}
|
7873
|
+
}();
|
7874
|
+
|
7875
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
|
7876
|
+
} catch (e) {
|
7877
|
+
return Promise.reject(e);
|
7878
|
+
}
|
7879
|
+
}, [tab]);
|
7880
|
+
|
7881
|
+
function changeGroup(id, value) {
|
7882
|
+
setGroupBy(value);
|
7883
|
+
}
|
7884
|
+
|
7885
|
+
function change(rowID, cellID, value) {
|
7886
|
+
var _Object$assign;
|
7887
|
+
|
7888
|
+
var row = all.find(function (r) {
|
7889
|
+
return r.id === rowID;
|
7890
|
+
});
|
7891
|
+
var next = Object.assign({}, row, (_Object$assign = {}, _Object$assign[cellID] = value, _Object$assign));
|
7892
|
+
delete next.actions;
|
7893
|
+
pageContext.update(next);
|
7894
|
+
setPageContext(Object.assign({}, pageContext));
|
7895
|
+
}
|
7896
|
+
|
7897
|
+
function clear() {
|
7898
|
+
pageContext.clear();
|
7899
|
+
setPageContext(Object.assign({}, pageContext));
|
7900
|
+
}
|
7901
|
+
|
7902
|
+
function run(action, item) {
|
7903
|
+
action.action(item.id, pageContext, function () {
|
7904
|
+
try {
|
7905
|
+
return Promise.resolve(pageContext.load()).then(function () {
|
7906
|
+
setPageContext(Object.assign({}, pageContext));
|
7907
|
+
});
|
7908
|
+
} catch (e) {
|
7909
|
+
return Promise.reject(e);
|
7910
|
+
}
|
7911
|
+
});
|
7912
|
+
}
|
7913
|
+
|
7914
|
+
function buildGroupOptions(schema) {
|
7915
|
+
return Object.values(schema).filter(function (field) {
|
7916
|
+
return field.grouper === true;
|
7917
|
+
}).map(function (field) {
|
7918
|
+
return {
|
7919
|
+
label: field.label,
|
7920
|
+
value: field.id
|
7921
|
+
};
|
7922
|
+
});
|
7923
|
+
}
|
7924
|
+
|
7925
|
+
function renderGroupLabel(groupName) {
|
7926
|
+
var grouper = schema[groupBy];
|
7927
|
+
if (!groupName || !grouper) return "";
|
7928
|
+
|
7929
|
+
if (grouper.options) {
|
7930
|
+
var options = CHECK['isFunction'](grouper.options) ? grouper.options() : grouper.options;
|
7931
|
+
var option = options.find(function (option) {
|
7932
|
+
return option.value === groupName;
|
7933
|
+
});
|
7934
|
+
return option ? option.label : groupName;
|
7935
|
+
} else {
|
7936
|
+
return groupName;
|
7937
|
+
}
|
7938
|
+
}
|
7939
|
+
|
7940
|
+
var tabField = Object.values(schema).find(function (field) {
|
7941
|
+
return field.tab === true;
|
7942
|
+
});
|
7943
|
+
var tabs = tabField ? tabField.options.map(function (option) {
|
7944
|
+
return Object.assign({}, option, {
|
7945
|
+
field: tabField.id
|
7946
|
+
});
|
7947
|
+
}) : [];
|
7948
|
+
var table = React.useMemo(function () {
|
7949
|
+
return {
|
7950
|
+
columns: Object.values(schema).filter(function (field) {
|
7951
|
+
return field.column === true;
|
7952
|
+
}).map(function (field) {
|
7953
|
+
var options = field.options;
|
7954
|
+
|
7955
|
+
if (options && typeof options == 'function') {
|
7956
|
+
options = options();
|
7957
|
+
}
|
7958
|
+
|
7959
|
+
return {
|
7960
|
+
id: field.id,
|
7961
|
+
label: field.label,
|
7962
|
+
type: field.type,
|
7963
|
+
format: field.format,
|
7964
|
+
item: field.item ? field.item : [],
|
7965
|
+
onChange: field.id === "checked" ? checkOne : field.editable ? change : null,
|
7966
|
+
|
7967
|
+
/* checked has it´s own handler */
|
7968
|
+
options: options
|
7969
|
+
};
|
7970
|
+
}),
|
7971
|
+
rows: []
|
7972
|
+
};
|
7973
|
+
}, [schema]);
|
7974
|
+
var items = filter ? filter(all) : all;
|
7975
|
+
if (items.length === 0) return /*#__PURE__*/React__default["default"].createElement("div", {
|
7976
|
+
className: "empty-message"
|
7977
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7978
|
+
icon: "search_off"
|
7979
|
+
}), /*#__PURE__*/React__default["default"].createElement(Text, null, "No Result Found"));
|
7980
|
+
var groups = items.reduce(function (groups, item) {
|
7981
|
+
var groupName = item[groupBy];
|
7982
|
+
if (!groups[groupName]) groups[groupName] = [];
|
7983
|
+
groups[groupName].push(item);
|
7984
|
+
return groups;
|
7985
|
+
}, {});
|
7986
|
+
var sections = Object.keys(groups).map(function (groupName) {
|
7987
|
+
var rows = groups[groupName].map(function (item) {
|
7988
|
+
item.checked = pageContext.checked ? pageContext.checked.has(item.id) : false;
|
7989
|
+
item.actions = actions ? actions.map(function (_action2) {
|
7990
|
+
return _action2.filter ? _action2.filter(item) ? /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7991
|
+
icon: _action2.icon,
|
7992
|
+
clickable: true,
|
7993
|
+
size: "small",
|
7994
|
+
action: function action() {
|
7995
|
+
return run(_action2, item);
|
7996
|
+
}
|
7997
|
+
}) : null : /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7998
|
+
icon: _action2.icon,
|
7999
|
+
clickable: true,
|
8000
|
+
size: "small",
|
8001
|
+
action: function action() {
|
8002
|
+
return run(_action2, item);
|
8003
|
+
}
|
8004
|
+
});
|
8005
|
+
}) : [];
|
8006
|
+
if (canDelete) item.actions.push( /*#__PURE__*/React__default["default"].createElement(Icon, {
|
8007
|
+
icon: "delete",
|
8008
|
+
size: "small",
|
8009
|
+
clickable: true,
|
8010
|
+
action: function action() {
|
8011
|
+
return remove(item.id);
|
8012
|
+
}
|
8013
|
+
}));
|
8014
|
+
return item;
|
8015
|
+
});
|
8016
|
+
table.rows = rows;
|
8017
|
+
return {
|
8018
|
+
id: groupName,
|
8019
|
+
checked: false,
|
8020
|
+
title: renderGroupLabel(groupName),
|
8021
|
+
info: groups[groupName].length,
|
8022
|
+
open: true,
|
8023
|
+
children: /*#__PURE__*/React__default["default"].createElement(DataTable, _extends({}, table, {
|
8024
|
+
onRowSelection: select,
|
8025
|
+
editable: editable,
|
8026
|
+
onCheckAll: check,
|
8027
|
+
className: className
|
8028
|
+
}))
|
8029
|
+
};
|
8030
|
+
});
|
8031
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
|
8032
|
+
icon: icon,
|
8033
|
+
title: /*#__PURE__*/React__default["default"].createElement(Text, null, title)
|
8034
|
+
}, groupBy ? /*#__PURE__*/React__default["default"].createElement(DropDown, {
|
8035
|
+
id: "groupBy",
|
8036
|
+
label: "Agrupar Por",
|
8037
|
+
value: groupBy,
|
8038
|
+
options: buildGroupOptions(schema),
|
8039
|
+
onChange: changeGroup
|
8040
|
+
}) : null, tabbedBy ? /*#__PURE__*/React__default["default"].createElement(Tabs, {
|
8041
|
+
fillRight: true,
|
8042
|
+
fillLeft: false
|
8043
|
+
}, tabs.map(function (tab) {
|
8044
|
+
return /*#__PURE__*/React__default["default"].createElement(Tab, {
|
8045
|
+
id: tab.value,
|
8046
|
+
label: tab.label
|
8047
|
+
});
|
8048
|
+
})) : ''), /*#__PURE__*/React__default["default"].createElement("main", {
|
8049
|
+
className: "table-editor"
|
8050
|
+
}, /*#__PURE__*/React__default["default"].createElement(Accordion, {
|
8051
|
+
sections: sections
|
8052
|
+
})));
|
8053
|
+
};
|
8054
|
+
/**
|
8055
|
+
* Table Context
|
8056
|
+
*/
|
8057
|
+
|
8058
|
+
var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
8059
|
+
var API = TableAPI$1(url, host, params);
|
8060
|
+
return {
|
8061
|
+
all: [],
|
8062
|
+
checked: new Set([]),
|
8063
|
+
selected: null,
|
8064
|
+
filters: {},
|
8065
|
+
queries: [],
|
8066
|
+
load: function load(filter) {
|
8067
|
+
try {
|
8068
|
+
var _this2 = this;
|
8069
|
+
|
8070
|
+
var _temp7 = _catch$1(function () {
|
8071
|
+
var filters = filter ? Object.keys(filter).reduce(function (filters, key) {
|
8072
|
+
var field = filter[key];
|
8073
|
+
|
8074
|
+
if (field) {
|
8075
|
+
if (CHECK['isObject'](field)) {
|
8076
|
+
Object.keys(field).forEach(function (key2) {
|
8077
|
+
var subfield = field[key2];
|
8078
|
+
if (subfield) filters[key + "." + key2] = subfield;
|
8079
|
+
});
|
8080
|
+
} else {
|
8081
|
+
filters[key] = field;
|
8082
|
+
}
|
8083
|
+
}
|
8084
|
+
|
8085
|
+
return filters;
|
8086
|
+
}, {}) : [];
|
8087
|
+
return Promise.resolve(API.all(filters)).then(function (data) {
|
8088
|
+
_this2.all = field ? data[field] : data;
|
8089
|
+
});
|
8090
|
+
}, function (error) {
|
8091
|
+
console.log(error);
|
8092
|
+
});
|
8093
|
+
|
8094
|
+
return Promise.resolve(_temp7 && _temp7.then ? _temp7.then(function () {}) : void 0);
|
8095
|
+
} catch (e) {
|
8096
|
+
return Promise.reject(e);
|
8097
|
+
}
|
8098
|
+
},
|
8099
|
+
check: function check(ids, isChecked) {
|
8100
|
+
var _this3 = this;
|
8101
|
+
|
8102
|
+
if (isChecked === void 0) {
|
8103
|
+
isChecked = true;
|
8104
|
+
}
|
8105
|
+
|
8106
|
+
if (isChecked) {
|
8107
|
+
ids.forEach(function (id) {
|
8108
|
+
return _this3.checked.add(id);
|
8109
|
+
});
|
8110
|
+
} else {
|
8111
|
+
ids.forEach(function (id) {
|
8112
|
+
return _this3.checked["delete"](id);
|
8113
|
+
});
|
8114
|
+
}
|
8115
|
+
},
|
8116
|
+
select: function select(id) {
|
8117
|
+
var result = this.all.find(function (item) {
|
8118
|
+
return item.id === id;
|
8119
|
+
});
|
8120
|
+
this.selected = result;
|
8121
|
+
},
|
8122
|
+
clear: function clear() {
|
8123
|
+
this.selected = null;
|
8124
|
+
},
|
8125
|
+
create: function create(form) {
|
8126
|
+
try {
|
8127
|
+
var _this5 = this;
|
8128
|
+
|
8129
|
+
var _temp9 = _catch$1(function () {
|
8130
|
+
return Promise.resolve(API.create(form)).then(function () {
|
8131
|
+
return Promise.resolve(_this5.load()).then(function () {});
|
8132
|
+
});
|
8133
|
+
}, function (error) {
|
8134
|
+
console.log(error);
|
8135
|
+
});
|
8136
|
+
|
8137
|
+
return Promise.resolve(_temp9 && _temp9.then ? _temp9.then(function () {}) : void 0);
|
8138
|
+
} catch (e) {
|
8139
|
+
return Promise.reject(e);
|
8140
|
+
}
|
8141
|
+
},
|
8142
|
+
update: function update(form) {
|
8143
|
+
try {
|
8144
|
+
var _this7 = this;
|
8145
|
+
|
8146
|
+
var _temp11 = _catch$1(function () {
|
8147
|
+
return Promise.resolve(API.update(form)).then(function () {
|
8148
|
+
return Promise.resolve(_this7.load()).then(function () {});
|
8149
|
+
});
|
8150
|
+
}, function (error) {
|
8151
|
+
console.log(error);
|
8152
|
+
});
|
8153
|
+
|
8154
|
+
return Promise.resolve(_temp11 && _temp11.then ? _temp11.then(function () {}) : void 0);
|
8155
|
+
} catch (e) {
|
8156
|
+
return Promise.reject(e);
|
8157
|
+
}
|
8158
|
+
},
|
8159
|
+
remove: function remove(id) {
|
8160
|
+
try {
|
8161
|
+
var _this9 = this;
|
8162
|
+
|
8163
|
+
var _temp13 = _catch$1(function () {
|
8164
|
+
return Promise.resolve(API.remove(id)).then(function () {
|
8165
|
+
return Promise.resolve(_this9.load()).then(function () {});
|
8166
|
+
});
|
8167
|
+
}, function (error) {
|
8168
|
+
console.log(error);
|
8169
|
+
});
|
8170
|
+
|
8171
|
+
return Promise.resolve(_temp13 && _temp13.then ? _temp13.then(function () {}) : void 0);
|
8172
|
+
} catch (e) {
|
8173
|
+
return Promise.reject(e);
|
8174
|
+
}
|
8175
|
+
},
|
8176
|
+
changeFilters: function changeFilters(filters) {
|
8177
|
+
this.filters = filters;
|
8178
|
+
},
|
8179
|
+
loadQueries: function loadQueries(user) {
|
8180
|
+
try {
|
8181
|
+
var _this11 = this;
|
8182
|
+
|
8183
|
+
var _temp15 = _catch$1(function () {
|
8184
|
+
return Promise.resolve(API.queries(user, urlQuery)).then(function (_API$queries) {
|
8185
|
+
_this11.queries = _API$queries;
|
8186
|
+
});
|
8187
|
+
}, function (error) {
|
8188
|
+
console.log(error);
|
8189
|
+
});
|
8190
|
+
|
8191
|
+
return Promise.resolve(_temp15 && _temp15.then ? _temp15.then(function () {}) : void 0);
|
8192
|
+
} catch (e) {
|
8193
|
+
return Promise.reject(e);
|
8194
|
+
}
|
8195
|
+
},
|
8196
|
+
createQuery: function createQuery(query, user) {
|
8197
|
+
try {
|
8198
|
+
var _this13 = this;
|
8199
|
+
|
8200
|
+
var _temp17 = _catch$1(function () {
|
8201
|
+
return Promise.resolve(API.createQuery(query, urlQuery)).then(function () {
|
8202
|
+
return Promise.resolve(_this13.loadQueries(user)).then(function () {});
|
8203
|
+
});
|
8204
|
+
}, function (error) {
|
8205
|
+
console.log(error);
|
8206
|
+
});
|
8207
|
+
|
8208
|
+
return Promise.resolve(_temp17 && _temp17.then ? _temp17.then(function () {}) : void 0);
|
8209
|
+
} catch (e) {
|
8210
|
+
return Promise.reject(e);
|
8211
|
+
}
|
8212
|
+
},
|
8213
|
+
removeQuery: function removeQuery(id, user) {
|
8214
|
+
try {
|
8215
|
+
var _this15 = this;
|
8216
|
+
|
8217
|
+
var _temp19 = _catch$1(function () {
|
8218
|
+
return Promise.resolve(API.removeQuery(id, urlQuery)).then(function () {
|
8219
|
+
return Promise.resolve(_this15.loadQueries(user)).then(function () {});
|
8220
|
+
});
|
8221
|
+
}, function (error) {
|
8222
|
+
console.log(error);
|
8223
|
+
});
|
8224
|
+
|
8225
|
+
return Promise.resolve(_temp19 && _temp19.then ? _temp19.then(function () {}) : void 0);
|
8226
|
+
} catch (e) {
|
8227
|
+
return Promise.reject(e);
|
8228
|
+
}
|
8229
|
+
}
|
8230
|
+
};
|
8231
|
+
};
|
8232
|
+
/**
|
8233
|
+
* Table API
|
8234
|
+
*/
|
8235
|
+
|
8236
|
+
|
7139
8237
|
var TableAPI$1 = function TableAPI(url, host, params) {
|
7140
8238
|
if (params === void 0) {
|
7141
8239
|
params = "";
|
@@ -8301,6 +9399,7 @@ var isFunction = function isFunction(value) {
|
|
8301
9399
|
return value && (Object.prototype.toString.call(value) === "[object Function]" || "function" === typeof value || value instanceof Function);
|
8302
9400
|
};
|
8303
9401
|
|
9402
|
+
exports.Accordion = Accordion;
|
8304
9403
|
exports.Avatar = Avatar;
|
8305
9404
|
exports.Button = Button;
|
8306
9405
|
exports.Calendar = Calendar;
|
@@ -8360,8 +9459,9 @@ exports.Tab = Tab;
|
|
8360
9459
|
exports.TabbedContentEditor = TabbedContentEditor;
|
8361
9460
|
exports.TabbedTablePage = TabbedTablePage;
|
8362
9461
|
exports.TabbedView = TabbedView;
|
8363
|
-
exports.TableEditor = TableEditor$
|
9462
|
+
exports.TableEditor = TableEditor$2;
|
8364
9463
|
exports.TablePage = TablePage;
|
9464
|
+
exports.TablePage2 = TablePage2;
|
8365
9465
|
exports.Tabs = Tabs;
|
8366
9466
|
exports.Text = Text;
|
8367
9467
|
exports.TextArea = TextArea;
|