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.modern.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import 'material-design-icons-iconfont/dist/material-design-icons.css';
|
2
|
-
import React, {
|
2
|
+
import React, { useState, useContext, useEffect, Fragment, useMemo, useRef, Children } from 'react';
|
3
3
|
import RSwitch from 'react-switch';
|
4
4
|
import moment$1 from 'moment';
|
5
5
|
import { extendMoment } from 'moment-range';
|
@@ -9,7 +9,7 @@ import { ReactNotifications, Store } from 'react-notifications-component';
|
|
9
9
|
import 'react-notifications-component/dist/theme.css';
|
10
10
|
import equal from 'deep-equal';
|
11
11
|
|
12
|
-
function _catch$
|
12
|
+
function _catch$4(body, recover) {
|
13
13
|
try {
|
14
14
|
var result = body();
|
15
15
|
} catch (e) {
|
@@ -41,7 +41,7 @@ var fetchAsync = function fetchAsync(method, URL, body, token, headers) {
|
|
41
41
|
body: body
|
42
42
|
};
|
43
43
|
if (headers) request.headers = request.headers;
|
44
|
-
return Promise.resolve(_catch$
|
44
|
+
return Promise.resolve(_catch$4(function () {
|
45
45
|
return Promise.resolve(fetch(URL, request)).then(function (response) {
|
46
46
|
var _exit;
|
47
47
|
|
@@ -142,6 +142,24 @@ var Session = {
|
|
142
142
|
}
|
143
143
|
};
|
144
144
|
|
145
|
+
function _extends() {
|
146
|
+
_extends = Object.assign || function (target) {
|
147
|
+
for (var i = 1; i < arguments.length; i++) {
|
148
|
+
var source = arguments[i];
|
149
|
+
|
150
|
+
for (var key in source) {
|
151
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
152
|
+
target[key] = source[key];
|
153
|
+
}
|
154
|
+
}
|
155
|
+
}
|
156
|
+
|
157
|
+
return target;
|
158
|
+
};
|
159
|
+
|
160
|
+
return _extends.apply(this, arguments);
|
161
|
+
}
|
162
|
+
|
145
163
|
/**
|
146
164
|
* Icon
|
147
165
|
*/
|
@@ -174,6 +192,99 @@ var Icon = function Icon(_ref) {
|
|
174
192
|
}, icon);
|
175
193
|
};
|
176
194
|
|
195
|
+
var Accordion = function Accordion(props) {
|
196
|
+
var className = props.className,
|
197
|
+
_props$sections = props.sections,
|
198
|
+
sections = _props$sections === void 0 ? [] : _props$sections,
|
199
|
+
onCheck = props.onCheck;
|
200
|
+
|
201
|
+
var _useState = useState(sections.map(function (section) {
|
202
|
+
return section.open;
|
203
|
+
})),
|
204
|
+
openSections = _useState[0],
|
205
|
+
setOpenSections = _useState[1];
|
206
|
+
|
207
|
+
var _useState2 = useState(sections.map(function (section) {
|
208
|
+
return section.checked;
|
209
|
+
})),
|
210
|
+
checkedSections = _useState2[0],
|
211
|
+
setCheckedSections = _useState2[1];
|
212
|
+
|
213
|
+
function toggle(index) {
|
214
|
+
var next = openSections.map(function (open, i) {
|
215
|
+
return i === index ? !open : open;
|
216
|
+
});
|
217
|
+
setOpenSections(next);
|
218
|
+
}
|
219
|
+
|
220
|
+
function check(index) {
|
221
|
+
var next = checkedSections.map(function (checked, i) {
|
222
|
+
return i === index ? !checked : checked;
|
223
|
+
});
|
224
|
+
setCheckedSections(next);
|
225
|
+
if (onCheck) onCheck(index, next[index], sections[index].id);
|
226
|
+
}
|
227
|
+
|
228
|
+
return /*#__PURE__*/React.createElement("div", {
|
229
|
+
className: "accordion " + className
|
230
|
+
}, sections.map(function (section, index) {
|
231
|
+
var isOpen = openSections[index];
|
232
|
+
var isChecked = checkedSections[index];
|
233
|
+
return /*#__PURE__*/React.createElement(AccordionSection, _extends({
|
234
|
+
key: index
|
235
|
+
}, section, {
|
236
|
+
open: isOpen,
|
237
|
+
checked: isChecked,
|
238
|
+
onToggle: function onToggle() {
|
239
|
+
return toggle(index);
|
240
|
+
},
|
241
|
+
onCheck: function onCheck() {
|
242
|
+
return check(index);
|
243
|
+
}
|
244
|
+
}), section.children);
|
245
|
+
}));
|
246
|
+
};
|
247
|
+
|
248
|
+
var AccordionSection = function AccordionSection(props) {
|
249
|
+
var checked = props.checked,
|
250
|
+
icon = props.icon,
|
251
|
+
title = props.title,
|
252
|
+
subtitle = props.subtitle,
|
253
|
+
_props$open = props.open,
|
254
|
+
open = _props$open === void 0 ? false : _props$open,
|
255
|
+
onToggle = props.onToggle,
|
256
|
+
onCheck = props.onCheck,
|
257
|
+
toolbar = props.toolbar,
|
258
|
+
info = props.info,
|
259
|
+
children = props.children;
|
260
|
+
var togglerIcon = open ? "expand_less" : "expand_more";
|
261
|
+
var checkedIcon = checked === undefined || checked === null ? null : checked === false ? "check_box_outline_blank" : "check_box";
|
262
|
+
return /*#__PURE__*/React.createElement("section", {
|
263
|
+
className: "accordion-section"
|
264
|
+
}, /*#__PURE__*/React.createElement("header", null, checkedIcon ? /*#__PURE__*/React.createElement(Icon, {
|
265
|
+
className: "accordion-section-checker",
|
266
|
+
icon: checkedIcon,
|
267
|
+
clickable: true,
|
268
|
+
action: onCheck
|
269
|
+
}) : '', icon ? /*#__PURE__*/React.createElement(Icon, {
|
270
|
+
className: "accordion-section-icon",
|
271
|
+
icon: icon
|
272
|
+
}) : '', title ? /*#__PURE__*/React.createElement("div", {
|
273
|
+
className: "accordion-section--title"
|
274
|
+
}, title) : '', subtitle ? /*#__PURE__*/React.createElement("div", {
|
275
|
+
className: "accordion-section--subtitle"
|
276
|
+
}, subtitle) : '', info ? /*#__PURE__*/React.createElement("div", {
|
277
|
+
className: "accordion-section--info"
|
278
|
+
}, info) : '', toolbar ? /*#__PURE__*/React.createElement("div", {
|
279
|
+
className: "accordion-section--toolbar"
|
280
|
+
}, toolbar) : '', /*#__PURE__*/React.createElement(Icon, {
|
281
|
+
className: "accordion-section-toggler",
|
282
|
+
icon: togglerIcon,
|
283
|
+
clickable: true,
|
284
|
+
action: onToggle
|
285
|
+
})), open ? /*#__PURE__*/React.createElement("main", null, children) : '');
|
286
|
+
};
|
287
|
+
|
177
288
|
/**
|
178
289
|
* HTML Button
|
179
290
|
*/
|
@@ -493,24 +604,6 @@ var Header = function Header(props) {
|
|
493
604
|
}, props.children));
|
494
605
|
};
|
495
606
|
|
496
|
-
function _extends() {
|
497
|
-
_extends = Object.assign || function (target) {
|
498
|
-
for (var i = 1; i < arguments.length; i++) {
|
499
|
-
var source = arguments[i];
|
500
|
-
|
501
|
-
for (var key in source) {
|
502
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
503
|
-
target[key] = source[key];
|
504
|
-
}
|
505
|
-
}
|
506
|
-
}
|
507
|
-
|
508
|
-
return target;
|
509
|
-
};
|
510
|
-
|
511
|
-
return _extends.apply(this, arguments);
|
512
|
-
}
|
513
|
-
|
514
607
|
/**
|
515
608
|
* List
|
516
609
|
*/
|
@@ -851,7 +944,7 @@ var Section = function Section(props) {
|
|
851
944
|
};
|
852
945
|
|
853
946
|
return /*#__PURE__*/React.createElement("section", {
|
854
|
-
className: "
|
947
|
+
className: "section " + className
|
855
948
|
}, /*#__PURE__*/React.createElement(Header, {
|
856
949
|
icon: icon,
|
857
950
|
title: title
|
@@ -1382,7 +1475,6 @@ var DropDown = function DropDown(props) {
|
|
1382
1475
|
setOpen(false);
|
1383
1476
|
var label = verbose ? option.label : "";
|
1384
1477
|
setLabel(label);
|
1385
|
-
console.log("dd.select", value);
|
1386
1478
|
if (onChange) onChange(id, next);
|
1387
1479
|
}
|
1388
1480
|
|
@@ -2043,7 +2135,6 @@ var TokenField = function TokenField(_ref) {
|
|
2043
2135
|
|
2044
2136
|
function changeDropDown(fid, value) {
|
2045
2137
|
var next = Array.isArray(tokens) ? tokens.concat(value) : [value];
|
2046
|
-
console.log("next", next);
|
2047
2138
|
if (onChange) onChange(id, next);
|
2048
2139
|
setValue('');
|
2049
2140
|
}
|
@@ -2069,7 +2160,6 @@ var TokenField = function TokenField(_ref) {
|
|
2069
2160
|
}
|
2070
2161
|
|
2071
2162
|
var tks = Array.isArray(tokens) ? tokens : [];
|
2072
|
-
console.log("render", tks);
|
2073
2163
|
return /*#__PURE__*/React.createElement("div", {
|
2074
2164
|
className: "tokenField"
|
2075
2165
|
}, /*#__PURE__*/React.createElement("label", null, label), tks.map(function (text, index) {
|
@@ -3622,7 +3712,9 @@ var SiteMenu = function SiteMenu(_ref6) {
|
|
3622
3712
|
return _goto(id);
|
3623
3713
|
}
|
3624
3714
|
}, /*#__PURE__*/React.createElement(Tooltip, {
|
3625
|
-
text: title
|
3715
|
+
text: title,
|
3716
|
+
top: ".5rem",
|
3717
|
+
left: "2rem"
|
3626
3718
|
}, /*#__PURE__*/React.createElement(Icon, {
|
3627
3719
|
key: id,
|
3628
3720
|
icon: icon,
|
@@ -4193,13 +4285,13 @@ var ContentEditor = function ContentEditor(_ref) {
|
|
4193
4285
|
* Tabbed Content Editor
|
4194
4286
|
*/
|
4195
4287
|
|
4196
|
-
var TabbedContentEditor = function TabbedContentEditor(
|
4197
|
-
var content =
|
4198
|
-
filter =
|
4199
|
-
|
4200
|
-
grouped =
|
4201
|
-
onChange =
|
4202
|
-
onReload =
|
4288
|
+
var TabbedContentEditor = function TabbedContentEditor(_ref3) {
|
4289
|
+
var content = _ref3.content,
|
4290
|
+
filter = _ref3.filter,
|
4291
|
+
_ref3$grouped = _ref3.grouped,
|
4292
|
+
grouped = _ref3$grouped === void 0 ? false : _ref3$grouped,
|
4293
|
+
onChange = _ref3.onChange,
|
4294
|
+
onReload = _ref3.onReload;
|
4203
4295
|
|
4204
4296
|
var _useState = useState(0),
|
4205
4297
|
tab = _useState[0],
|
@@ -4284,9 +4376,9 @@ var TabbedContentEditor = function TabbedContentEditor(_ref2) {
|
|
4284
4376
|
* TreededContentEditor
|
4285
4377
|
*/
|
4286
4378
|
|
4287
|
-
var TreededContentEditor = function TreededContentEditor(
|
4288
|
-
var content =
|
4289
|
-
onChange =
|
4379
|
+
var TreededContentEditor = function TreededContentEditor(_ref4) {
|
4380
|
+
var content = _ref4.content,
|
4381
|
+
onChange = _ref4.onChange;
|
4290
4382
|
var value = content.value();
|
4291
4383
|
var nodes = Object.values(content.type).filter(function (field) {
|
4292
4384
|
return field.type === TYPES.ARRAY;
|
@@ -4351,13 +4443,13 @@ var TreededContentEditor = function TreededContentEditor(_ref3) {
|
|
4351
4443
|
* FieldEditor
|
4352
4444
|
*/
|
4353
4445
|
|
4354
|
-
var FieldEditor = function FieldEditor(
|
4355
|
-
var field =
|
4356
|
-
onChange =
|
4357
|
-
content =
|
4358
|
-
|
4359
|
-
outlined =
|
4360
|
-
onReload =
|
4446
|
+
var FieldEditor = function FieldEditor(_ref5) {
|
4447
|
+
var field = _ref5.field,
|
4448
|
+
onChange = _ref5.onChange,
|
4449
|
+
content = _ref5.content,
|
4450
|
+
_ref5$outlined = _ref5.outlined,
|
4451
|
+
outlined = _ref5$outlined === void 0 ? false : _ref5$outlined,
|
4452
|
+
onReload = _ref5.onReload;
|
4361
4453
|
var id = field.id,
|
4362
4454
|
type = field.type,
|
4363
4455
|
item = field.item,
|
@@ -4444,11 +4536,11 @@ var FieldEditor = function FieldEditor(_ref4) {
|
|
4444
4536
|
* Entity Editor
|
4445
4537
|
*/
|
4446
4538
|
|
4447
|
-
var EntityEditor = function EntityEditor(
|
4448
|
-
var field =
|
4449
|
-
|
4450
|
-
value =
|
4451
|
-
onChange =
|
4539
|
+
var EntityEditor = function EntityEditor(_ref6) {
|
4540
|
+
var field = _ref6.field,
|
4541
|
+
_ref6$value = _ref6.value,
|
4542
|
+
value = _ref6$value === void 0 ? {} : _ref6$value,
|
4543
|
+
onChange = _ref6.onChange;
|
4452
4544
|
var id = field.id,
|
4453
4545
|
item = field.item,
|
4454
4546
|
label = field.label;
|
@@ -4508,13 +4600,13 @@ var EntityEditor = function EntityEditor(_ref5) {
|
|
4508
4600
|
*/
|
4509
4601
|
|
4510
4602
|
|
4511
|
-
var StringEditor = function StringEditor(
|
4512
|
-
var field =
|
4513
|
-
|
4514
|
-
value =
|
4515
|
-
onChange =
|
4516
|
-
content =
|
4517
|
-
outlined =
|
4603
|
+
var StringEditor = function StringEditor(_ref7) {
|
4604
|
+
var field = _ref7.field,
|
4605
|
+
_ref7$value = _ref7.value,
|
4606
|
+
value = _ref7$value === void 0 ? '' : _ref7$value,
|
4607
|
+
onChange = _ref7.onChange,
|
4608
|
+
content = _ref7.content,
|
4609
|
+
outlined = _ref7.outlined;
|
4518
4610
|
var id = field.id,
|
4519
4611
|
format = field.format,
|
4520
4612
|
label = field.label,
|
@@ -4630,12 +4722,12 @@ var StringEditor = function StringEditor(_ref6) {
|
|
4630
4722
|
* Number Editor
|
4631
4723
|
*/
|
4632
4724
|
|
4633
|
-
var NumberEditor = function NumberEditor(
|
4634
|
-
var field =
|
4635
|
-
value =
|
4636
|
-
onChange =
|
4637
|
-
|
4638
|
-
outlined =
|
4725
|
+
var NumberEditor = function NumberEditor(_ref8) {
|
4726
|
+
var field = _ref8.field,
|
4727
|
+
value = _ref8.value,
|
4728
|
+
onChange = _ref8.onChange,
|
4729
|
+
_ref8$outlined = _ref8.outlined,
|
4730
|
+
outlined = _ref8$outlined === void 0 ? false : _ref8$outlined;
|
4639
4731
|
var id = field.id,
|
4640
4732
|
label = field.label,
|
4641
4733
|
_field$editable2 = field.editable,
|
@@ -4668,11 +4760,11 @@ var NumberEditor = function NumberEditor(_ref7) {
|
|
4668
4760
|
*/
|
4669
4761
|
|
4670
4762
|
|
4671
|
-
var ListEditor = function ListEditor(
|
4672
|
-
var field =
|
4673
|
-
|
4674
|
-
value =
|
4675
|
-
onChange =
|
4763
|
+
var ListEditor = function ListEditor(_ref9) {
|
4764
|
+
var field = _ref9.field,
|
4765
|
+
_ref9$value = _ref9.value,
|
4766
|
+
value = _ref9$value === void 0 ? [] : _ref9$value,
|
4767
|
+
onChange = _ref9.onChange;
|
4676
4768
|
var label = field.label;
|
4677
4769
|
|
4678
4770
|
function change(id, value) {
|
@@ -4692,12 +4784,12 @@ var ListEditor = function ListEditor(_ref8) {
|
|
4692
4784
|
* Multi Selection Editor
|
4693
4785
|
*/
|
4694
4786
|
|
4695
|
-
var MultiSelectionEditor = function MultiSelectionEditor(
|
4696
|
-
var field =
|
4697
|
-
|
4698
|
-
value =
|
4699
|
-
content =
|
4700
|
-
onChange =
|
4787
|
+
var MultiSelectionEditor = function MultiSelectionEditor(_ref10) {
|
4788
|
+
var field = _ref10.field,
|
4789
|
+
_ref10$value = _ref10.value,
|
4790
|
+
value = _ref10$value === void 0 ? [] : _ref10$value,
|
4791
|
+
content = _ref10.content,
|
4792
|
+
onChange = _ref10.onChange;
|
4701
4793
|
var id = field.id,
|
4702
4794
|
label = field.label,
|
4703
4795
|
options = field.options;
|
@@ -4736,15 +4828,17 @@ var MultiSelectionEditor = function MultiSelectionEditor(_ref9) {
|
|
4736
4828
|
* Collection Editor
|
4737
4829
|
*/
|
4738
4830
|
|
4739
|
-
var CollectionEditor$1 = function CollectionEditor(
|
4740
|
-
var field =
|
4741
|
-
|
4742
|
-
value =
|
4743
|
-
onChange =
|
4744
|
-
onReload =
|
4831
|
+
var CollectionEditor$1 = function CollectionEditor(_ref11) {
|
4832
|
+
var field = _ref11.field,
|
4833
|
+
_ref11$value = _ref11.value,
|
4834
|
+
value = _ref11$value === void 0 ? [] : _ref11$value,
|
4835
|
+
onChange = _ref11.onChange,
|
4836
|
+
onReload = _ref11.onReload;
|
4745
4837
|
var id = field.id,
|
4746
4838
|
item = field.item,
|
4747
4839
|
label = field.label,
|
4840
|
+
_field$groupBy = field.groupBy,
|
4841
|
+
groupBy = _field$groupBy === void 0 ? "field1" : _field$groupBy,
|
4748
4842
|
Feeder = field.Feeder,
|
4749
4843
|
Renderer = field.Renderer,
|
4750
4844
|
_field$Adder = field.Adder,
|
@@ -4766,42 +4860,24 @@ var CollectionEditor$1 = function CollectionEditor(_ref10) {
|
|
4766
4860
|
}
|
4767
4861
|
}
|
4768
4862
|
|
4769
|
-
function change(index, cellId, cellValue) {
|
4770
|
-
if (onChange) {
|
4771
|
-
var next = value.slice();
|
4772
|
-
next[index][cellId] = cellValue;
|
4773
|
-
onChange(id, next);
|
4774
|
-
}
|
4775
|
-
}
|
4776
|
-
|
4777
4863
|
function reload() {
|
4778
4864
|
if (onReload) onReload();
|
4779
4865
|
}
|
4866
|
+
/* const columns = Object.values(item)
|
4867
|
+
.filter(field => field.column === true)
|
4868
|
+
.map((item) => ({ ...item, onChange: change }))
|
4869
|
+
columns.push({ id: 'actions', label: 'Actions' })
|
4870
|
+
const rows = value.map((item, index) => ({
|
4871
|
+
...item,
|
4872
|
+
id: index,
|
4873
|
+
actions: [
|
4874
|
+
<Icon icon='delete' clickable action={() => remove(index)} size="small" />
|
4875
|
+
]
|
4876
|
+
}))
|
4877
|
+
const table = { columns, rows }
|
4878
|
+
*/
|
4879
|
+
|
4780
4880
|
|
4781
|
-
var columns = Object.values(item).filter(function (field) {
|
4782
|
-
return field.column === true;
|
4783
|
-
}).map(function (item) {
|
4784
|
-
return _extends({}, item, {
|
4785
|
-
onChange: change
|
4786
|
-
});
|
4787
|
-
});
|
4788
|
-
columns.push({
|
4789
|
-
id: 'actions',
|
4790
|
-
label: 'Actions'
|
4791
|
-
});
|
4792
|
-
value.map(function (item, index) {
|
4793
|
-
return _extends({}, item, {
|
4794
|
-
id: index,
|
4795
|
-
actions: [/*#__PURE__*/React.createElement(Icon, {
|
4796
|
-
icon: "delete",
|
4797
|
-
clickable: true,
|
4798
|
-
action: function action() {
|
4799
|
-
return remove(index);
|
4800
|
-
},
|
4801
|
-
size: "small"
|
4802
|
-
})]
|
4803
|
-
});
|
4804
|
-
});
|
4805
4881
|
return /*#__PURE__*/React.createElement("div", {
|
4806
4882
|
className: "collection-editor"
|
4807
4883
|
}, Renderer ? /*#__PURE__*/React.createElement(Renderer, {
|
@@ -4811,12 +4887,12 @@ var CollectionEditor$1 = function CollectionEditor(_ref10) {
|
|
4811
4887
|
onChange: onChange,
|
4812
4888
|
onReload: reload
|
4813
4889
|
}) // : <DataTable {...table} editable={editable} />
|
4814
|
-
: /*#__PURE__*/React.createElement(TableEditor$
|
4890
|
+
: /*#__PURE__*/React.createElement(TableEditor$3, {
|
4815
4891
|
icon: "info",
|
4816
4892
|
title: label,
|
4817
4893
|
data: value,
|
4818
4894
|
schema: item,
|
4819
|
-
groupBy:
|
4895
|
+
groupBy: groupBy,
|
4820
4896
|
canDelete: true,
|
4821
4897
|
remove: remove
|
4822
4898
|
}), /*#__PURE__*/React.createElement("footer", null, Feeder ? /*#__PURE__*/React.createElement(Feeder, {
|
@@ -4831,9 +4907,9 @@ var CollectionEditor$1 = function CollectionEditor(_ref10) {
|
|
4831
4907
|
* Collection Adder
|
4832
4908
|
*/
|
4833
4909
|
|
4834
|
-
var CollectionAdder = function CollectionAdder(
|
4835
|
-
var item =
|
4836
|
-
onAdd =
|
4910
|
+
var CollectionAdder = function CollectionAdder(_ref12) {
|
4911
|
+
var item = _ref12.item,
|
4912
|
+
onAdd = _ref12.onAdd;
|
4837
4913
|
|
4838
4914
|
var _useState3 = useState(false),
|
4839
4915
|
edit = _useState3[0],
|
@@ -4902,7 +4978,7 @@ var CollectionAdder = function CollectionAdder(_ref11) {
|
|
4902
4978
|
*/
|
4903
4979
|
|
4904
4980
|
|
4905
|
-
var TableEditor$
|
4981
|
+
var TableEditor$3 = function TableEditor(props) {
|
4906
4982
|
var select = function select(row) {
|
4907
4983
|
try {
|
4908
4984
|
if (onSelect) onSelect(row.id);
|
@@ -5246,7 +5322,7 @@ var EditContentDialog = function EditContentDialog(_ref) {
|
|
5246
5322
|
* Collection Page
|
5247
5323
|
*/
|
5248
5324
|
|
5249
|
-
function _catch$
|
5325
|
+
function _catch$3(body, recover) {
|
5250
5326
|
try {
|
5251
5327
|
var result = body();
|
5252
5328
|
} catch (e) {
|
@@ -5823,7 +5899,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5823
5899
|
try {
|
5824
5900
|
var _this2 = this;
|
5825
5901
|
|
5826
|
-
var _temp2 = _catch$
|
5902
|
+
var _temp2 = _catch$3(function () {
|
5827
5903
|
return Promise.resolve(API.all(null, page)).then(function (data) {
|
5828
5904
|
_this2.all = field ? data[field] : data;
|
5829
5905
|
});
|
@@ -5872,7 +5948,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5872
5948
|
},
|
5873
5949
|
fetch: function fetch(id) {
|
5874
5950
|
try {
|
5875
|
-
return Promise.resolve(_catch$
|
5951
|
+
return Promise.resolve(_catch$3(function () {
|
5876
5952
|
return Promise.resolve(API.find(id));
|
5877
5953
|
}, function (error) {
|
5878
5954
|
console.log(error);
|
@@ -5888,7 +5964,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5888
5964
|
try {
|
5889
5965
|
var _this8 = this;
|
5890
5966
|
|
5891
|
-
var _temp6 = _catch$
|
5967
|
+
var _temp6 = _catch$3(function () {
|
5892
5968
|
return Promise.resolve(API.create(form)).then(function () {
|
5893
5969
|
return Promise.resolve(_this8.load()).then(function () {});
|
5894
5970
|
});
|
@@ -5905,7 +5981,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5905
5981
|
try {
|
5906
5982
|
var _this10 = this;
|
5907
5983
|
|
5908
|
-
var _temp8 = _catch$
|
5984
|
+
var _temp8 = _catch$3(function () {
|
5909
5985
|
return Promise.resolve(API.update(form)).then(function () {
|
5910
5986
|
return Promise.resolve(_this10.load()).then(function () {});
|
5911
5987
|
});
|
@@ -5922,7 +5998,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5922
5998
|
try {
|
5923
5999
|
var _this12 = this;
|
5924
6000
|
|
5925
|
-
var _temp10 = _catch$
|
6001
|
+
var _temp10 = _catch$3(function () {
|
5926
6002
|
return Promise.resolve(API.patch(id, form)).then(function () {
|
5927
6003
|
return Promise.resolve(_this12.load()).then(function () {});
|
5928
6004
|
});
|
@@ -5939,7 +6015,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5939
6015
|
try {
|
5940
6016
|
var _this14 = this;
|
5941
6017
|
|
5942
|
-
var _temp12 = _catch$
|
6018
|
+
var _temp12 = _catch$3(function () {
|
5943
6019
|
return Promise.resolve(API.updateProperty(id, propertyName, form)).then(function () {
|
5944
6020
|
return Promise.resolve(_this14.load()).then(function () {});
|
5945
6021
|
});
|
@@ -5956,7 +6032,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5956
6032
|
try {
|
5957
6033
|
var _this16 = this;
|
5958
6034
|
|
5959
|
-
var _temp14 = _catch$
|
6035
|
+
var _temp14 = _catch$3(function () {
|
5960
6036
|
return Promise.resolve(API.remove(id)).then(function () {
|
5961
6037
|
return Promise.resolve(_this16.load()).then(function () {});
|
5962
6038
|
});
|
@@ -6169,7 +6245,7 @@ var QUERY = {
|
|
6169
6245
|
* Table Page
|
6170
6246
|
*/
|
6171
6247
|
|
6172
|
-
function _catch$
|
6248
|
+
function _catch$2(body, recover) {
|
6173
6249
|
try {
|
6174
6250
|
var result = body();
|
6175
6251
|
} catch (e) {
|
@@ -6296,7 +6372,7 @@ var TablePage = function TablePage(props) {
|
|
6296
6372
|
pageContext = _useContext[0],
|
6297
6373
|
setPageContext = _useContext[1];
|
6298
6374
|
|
6299
|
-
var context = TableContext$
|
6375
|
+
var context = TableContext$2(url, field, host, urlQuery, params);
|
6300
6376
|
var selected = pageContext.selected;
|
6301
6377
|
var timer = useRef(null);
|
6302
6378
|
|
@@ -6396,13 +6472,13 @@ var TablePage = function TablePage(props) {
|
|
6396
6472
|
if (rowSelected || rowChecked) {
|
6397
6473
|
return /*#__PURE__*/React.createElement("aside", {
|
6398
6474
|
className: "table-page"
|
6399
|
-
}, rowSelected ? /*#__PURE__*/React.createElement(TableRowEditor$
|
6475
|
+
}, rowSelected ? /*#__PURE__*/React.createElement(TableRowEditor$2, {
|
6400
6476
|
content: new Content(schema, form),
|
6401
6477
|
filter: editorFilter,
|
6402
6478
|
onChange: change,
|
6403
6479
|
onClose: closeAside,
|
6404
6480
|
editable: canEdit
|
6405
|
-
}) : null, rowChecked ? /*#__PURE__*/React.createElement(TableSelector$
|
6481
|
+
}) : null, rowChecked ? /*#__PURE__*/React.createElement(TableSelector$2, {
|
6406
6482
|
schema: schema,
|
6407
6483
|
actions: selectionActions
|
6408
6484
|
}) : null);
|
@@ -6443,17 +6519,17 @@ var TablePage = function TablePage(props) {
|
|
6443
6519
|
onSelect: playScenario
|
6444
6520
|
})) : null, renderActions()), canQuery || canFilter ? /*#__PURE__*/React.createElement("menu", {
|
6445
6521
|
className: "table-page"
|
6446
|
-
}, canQuery ? /*#__PURE__*/React.createElement(TableQueries$
|
6522
|
+
}, canQuery ? /*#__PURE__*/React.createElement(TableQueries$2, {
|
6447
6523
|
schema: schema,
|
6448
6524
|
url: url,
|
6449
6525
|
user: user
|
6450
|
-
}) : null, canFilter ? /*#__PURE__*/React.createElement(TableFilters$
|
6526
|
+
}) : null, canFilter ? /*#__PURE__*/React.createElement(TableFilters$2, {
|
6451
6527
|
schema: schema,
|
6452
6528
|
onSave: canQuery ? saveQuery : null
|
6453
6529
|
}) : null) : null, /*#__PURE__*/React.createElement("main", {
|
6454
6530
|
key: id,
|
6455
6531
|
className: "table-page"
|
6456
|
-
}, /*#__PURE__*/React.createElement(TableEditor$
|
6532
|
+
}, /*#__PURE__*/React.createElement(TableEditor$2, {
|
6457
6533
|
icon: icon,
|
6458
6534
|
title: name,
|
6459
6535
|
schema: schema,
|
@@ -6467,7 +6543,7 @@ var TablePage = function TablePage(props) {
|
|
6467
6543
|
}), children ? /*#__PURE__*/React.createElement("article", null, children) : null), renderAside());
|
6468
6544
|
};
|
6469
6545
|
|
6470
|
-
var TableRowEditor$
|
6546
|
+
var TableRowEditor$2 = function TableRowEditor(props) {
|
6471
6547
|
var name = props.name,
|
6472
6548
|
content = props.content,
|
6473
6549
|
filter = props.filter,
|
@@ -6496,7 +6572,7 @@ var TableRowEditor$1 = function TableRowEditor(props) {
|
|
6496
6572
|
*/
|
6497
6573
|
|
6498
6574
|
|
6499
|
-
var TableSelector$
|
6575
|
+
var TableSelector$2 = function TableSelector(props) {
|
6500
6576
|
var schema = props.schema,
|
6501
6577
|
_props$actions2 = props.actions,
|
6502
6578
|
actions = _props$actions2 === void 0 ? [] : _props$actions2;
|
@@ -6534,8 +6610,10 @@ var TableSelector$1 = function TableSelector(props) {
|
|
6534
6610
|
action: function action() {
|
6535
6611
|
return _action(checked, pageContext, function () {
|
6536
6612
|
try {
|
6537
|
-
return Promise.resolve(pageContext.
|
6538
|
-
|
6613
|
+
return Promise.resolve(pageContext.clearChecks()).then(function () {
|
6614
|
+
return Promise.resolve(pageContext.load()).then(function () {
|
6615
|
+
setPageContext(Object.assign({}, pageContext));
|
6616
|
+
});
|
6539
6617
|
});
|
6540
6618
|
} catch (e) {
|
6541
6619
|
return Promise.reject(e);
|
@@ -6559,7 +6637,7 @@ var TableSelector$1 = function TableSelector(props) {
|
|
6559
6637
|
*/
|
6560
6638
|
|
6561
6639
|
|
6562
|
-
var TableQueries$
|
6640
|
+
var TableQueries$2 = function TableQueries(props) {
|
6563
6641
|
var remove = function remove(id) {
|
6564
6642
|
try {
|
6565
6643
|
return Promise.resolve(pageContext.removeQuery(id, user)).then(function () {
|
@@ -6621,7 +6699,7 @@ var TableQueries$1 = function TableQueries(props) {
|
|
6621
6699
|
*/
|
6622
6700
|
|
6623
6701
|
|
6624
|
-
var TableFilters$
|
6702
|
+
var TableFilters$2 = function TableFilters(props) {
|
6625
6703
|
var reload = function reload() {
|
6626
6704
|
try {
|
6627
6705
|
return Promise.resolve(pageContext.load(form)).then(function () {
|
@@ -6717,7 +6795,7 @@ var TableFilters$1 = function TableFilters(props) {
|
|
6717
6795
|
*/
|
6718
6796
|
|
6719
6797
|
|
6720
|
-
var TableEditor$
|
6798
|
+
var TableEditor$2 = function TableEditor(props) {
|
6721
6799
|
var checkOne = function checkOne(id, field, value) {
|
6722
6800
|
check([id], value);
|
6723
6801
|
return Promise.resolve();
|
@@ -6949,8 +7027,8 @@ var TableEditor$1 = function TableEditor(props) {
|
|
6949
7027
|
* Table Context
|
6950
7028
|
*/
|
6951
7029
|
|
6952
|
-
var TableContext$
|
6953
|
-
var API = TableAPI$
|
7030
|
+
var TableContext$2 = function TableContext(url, field, host, urlQuery, params) {
|
7031
|
+
var API = TableAPI$2(url, host, params);
|
6954
7032
|
return {
|
6955
7033
|
all: [],
|
6956
7034
|
checked: new Set([]),
|
@@ -6961,7 +7039,7 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
6961
7039
|
try {
|
6962
7040
|
var _this2 = this;
|
6963
7041
|
|
6964
|
-
var _temp5 = _catch$
|
7042
|
+
var _temp5 = _catch$2(function () {
|
6965
7043
|
var filters = filter ? Object.keys(filter).reduce(function (filters, key) {
|
6966
7044
|
var field = filter[key];
|
6967
7045
|
|
@@ -7007,6 +7085,9 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
7007
7085
|
});
|
7008
7086
|
}
|
7009
7087
|
},
|
7088
|
+
clearChecks: function clearChecks() {
|
7089
|
+
this.checked = new Set([]);
|
7090
|
+
},
|
7010
7091
|
select: function select(id) {
|
7011
7092
|
var result = this.all.find(function (item) {
|
7012
7093
|
return item.id === id;
|
@@ -7020,7 +7101,7 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
7020
7101
|
try {
|
7021
7102
|
var _this5 = this;
|
7022
7103
|
|
7023
|
-
var _temp7 = _catch$
|
7104
|
+
var _temp7 = _catch$2(function () {
|
7024
7105
|
return Promise.resolve(API.create(form)).then(function () {
|
7025
7106
|
return Promise.resolve(_this5.load()).then(function () {});
|
7026
7107
|
});
|
@@ -7037,7 +7118,7 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
7037
7118
|
try {
|
7038
7119
|
var _this7 = this;
|
7039
7120
|
|
7040
|
-
var _temp9 = _catch$
|
7121
|
+
var _temp9 = _catch$2(function () {
|
7041
7122
|
return Promise.resolve(API.update(form)).then(function () {
|
7042
7123
|
return Promise.resolve(_this7.load()).then(function () {});
|
7043
7124
|
});
|
@@ -7054,7 +7135,7 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
7054
7135
|
try {
|
7055
7136
|
var _this9 = this;
|
7056
7137
|
|
7057
|
-
var _temp11 = _catch$
|
7138
|
+
var _temp11 = _catch$2(function () {
|
7058
7139
|
return Promise.resolve(API.remove(id)).then(function () {
|
7059
7140
|
return Promise.resolve(_this9.load()).then(function () {});
|
7060
7141
|
});
|
@@ -7074,7 +7155,7 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
7074
7155
|
try {
|
7075
7156
|
var _this11 = this;
|
7076
7157
|
|
7077
|
-
var _temp13 = _catch$
|
7158
|
+
var _temp13 = _catch$2(function () {
|
7078
7159
|
return Promise.resolve(API.queries(user, urlQuery)).then(function (_API$queries) {
|
7079
7160
|
_this11.queries = _API$queries;
|
7080
7161
|
});
|
@@ -7091,7 +7172,7 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
7091
7172
|
try {
|
7092
7173
|
var _this13 = this;
|
7093
7174
|
|
7094
|
-
var _temp15 = _catch$
|
7175
|
+
var _temp15 = _catch$2(function () {
|
7095
7176
|
return Promise.resolve(API.createQuery(query, urlQuery)).then(function () {
|
7096
7177
|
return Promise.resolve(_this13.loadQueries(user)).then(function () {});
|
7097
7178
|
});
|
@@ -7108,7 +7189,7 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
7108
7189
|
try {
|
7109
7190
|
var _this15 = this;
|
7110
7191
|
|
7111
|
-
var _temp17 = _catch$
|
7192
|
+
var _temp17 = _catch$2(function () {
|
7112
7193
|
return Promise.resolve(API.removeQuery(id, urlQuery)).then(function () {
|
7113
7194
|
return Promise.resolve(_this15.loadQueries(user)).then(function () {});
|
7114
7195
|
});
|
@@ -7128,6 +7209,1023 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
7128
7209
|
*/
|
7129
7210
|
|
7130
7211
|
|
7212
|
+
var TableAPI$2 = function TableAPI(url, host, params) {
|
7213
|
+
if (params === void 0) {
|
7214
|
+
params = "";
|
7215
|
+
}
|
7216
|
+
|
7217
|
+
var http = HTTPClient(host || window.API || process.env.REACT_APP_API, Session);
|
7218
|
+
return {
|
7219
|
+
all: function all(filters) {
|
7220
|
+
var queryParams = "?" + params;
|
7221
|
+
|
7222
|
+
if (filters) {
|
7223
|
+
var filterQuery = Object.keys(filters).reduce(function (query, key) {
|
7224
|
+
var value = filters[key];
|
7225
|
+
|
7226
|
+
if (typeof value === 'boolean') {
|
7227
|
+
return query.concat(key + "=" + value + "&");
|
7228
|
+
} else if (Array.isArray(value)) {
|
7229
|
+
var param = value.length === 0 ? '' : value.reduce(function (param, item) {
|
7230
|
+
param = param.concat(key + "=" + item + "&");
|
7231
|
+
return param;
|
7232
|
+
}, "");
|
7233
|
+
return query.concat(param);
|
7234
|
+
} else {
|
7235
|
+
return query.concat(key + "=%" + filters[key] + "%&");
|
7236
|
+
}
|
7237
|
+
}, "");
|
7238
|
+
queryParams = queryParams.concat(filterQuery);
|
7239
|
+
}
|
7240
|
+
|
7241
|
+
return http.GET(url + queryParams);
|
7242
|
+
},
|
7243
|
+
find: function find(id) {
|
7244
|
+
return http.GET(url + "/" + id);
|
7245
|
+
},
|
7246
|
+
create: function create(form) {
|
7247
|
+
var body = JSON.stringify(form);
|
7248
|
+
return http.POST(url, body);
|
7249
|
+
},
|
7250
|
+
update: function update(form) {
|
7251
|
+
var body = JSON.stringify(form);
|
7252
|
+
return http.PUT(url + "/" + form.id, body);
|
7253
|
+
},
|
7254
|
+
remove: function remove(id) {
|
7255
|
+
return http.DELETE(url + "/" + id);
|
7256
|
+
},
|
7257
|
+
queries: function queries(user, url2) {
|
7258
|
+
var url3 = url2 ? url2 : url;
|
7259
|
+
url3 = url3 + "queries";
|
7260
|
+
if (user) url3 = url3 + ("?user=" + user);
|
7261
|
+
return http.GET(url3);
|
7262
|
+
},
|
7263
|
+
createQuery: function createQuery(form, url2) {
|
7264
|
+
var url3 = url2 ? url2 : url;
|
7265
|
+
var body = JSON.stringify(form);
|
7266
|
+
return http.POST(url3 + "queries", body);
|
7267
|
+
},
|
7268
|
+
removeQuery: function removeQuery(id, url2) {
|
7269
|
+
var url3 = url2 ? url2 : url;
|
7270
|
+
return http.DELETE(url3 + "queries/" + id);
|
7271
|
+
}
|
7272
|
+
};
|
7273
|
+
};
|
7274
|
+
|
7275
|
+
/**
|
7276
|
+
* Table Page
|
7277
|
+
*/
|
7278
|
+
|
7279
|
+
function _catch$1(body, recover) {
|
7280
|
+
try {
|
7281
|
+
var result = body();
|
7282
|
+
} catch (e) {
|
7283
|
+
return recover(e);
|
7284
|
+
}
|
7285
|
+
|
7286
|
+
if (result && result.then) {
|
7287
|
+
return result.then(void 0, recover);
|
7288
|
+
}
|
7289
|
+
|
7290
|
+
return result;
|
7291
|
+
}
|
7292
|
+
/**
|
7293
|
+
* TableRowEditor
|
7294
|
+
*/
|
7295
|
+
|
7296
|
+
|
7297
|
+
var TablePage2 = function TablePage2(props) {
|
7298
|
+
var save = function save() {
|
7299
|
+
try {
|
7300
|
+
return Promise.resolve(pageContext.update(form)).then(function () {
|
7301
|
+
setPageContext(Object.assign({}, pageContext));
|
7302
|
+
});
|
7303
|
+
} catch (e) {
|
7304
|
+
return Promise.reject(e);
|
7305
|
+
}
|
7306
|
+
};
|
7307
|
+
|
7308
|
+
var reload = function reload() {
|
7309
|
+
try {
|
7310
|
+
return Promise.resolve(pageContext.load()).then(function () {
|
7311
|
+
setPageContext(Object.assign({}, pageContext));
|
7312
|
+
});
|
7313
|
+
} catch (e) {
|
7314
|
+
return Promise.reject(e);
|
7315
|
+
}
|
7316
|
+
};
|
7317
|
+
|
7318
|
+
var site = useContext(SiteContext);
|
7319
|
+
var _props$id = props.id,
|
7320
|
+
id = _props$id === void 0 ? "table" : _props$id,
|
7321
|
+
icon = props.icon,
|
7322
|
+
title = props.title,
|
7323
|
+
name = props.name,
|
7324
|
+
schema = props.schema,
|
7325
|
+
url = props.url,
|
7326
|
+
field = props.field,
|
7327
|
+
host = props.host,
|
7328
|
+
_props$params = props.params,
|
7329
|
+
params = _props$params === void 0 ? "" : _props$params,
|
7330
|
+
_props$canQuery = props.canQuery,
|
7331
|
+
canQuery = _props$canQuery === void 0 ? false : _props$canQuery,
|
7332
|
+
urlQuery = props.urlQuery,
|
7333
|
+
user = props.user,
|
7334
|
+
editable = props.editable,
|
7335
|
+
_props$autosave = props.autosave,
|
7336
|
+
autosave = _props$autosave === void 0 ? true : _props$autosave,
|
7337
|
+
_props$delay = props.delay,
|
7338
|
+
delay = _props$delay === void 0 ? 1000 : _props$delay,
|
7339
|
+
_props$actions = props.actions,
|
7340
|
+
actions = _props$actions === void 0 ? [] : _props$actions,
|
7341
|
+
tableActions = props.tableActions,
|
7342
|
+
_props$selectionActio = props.selectionActions,
|
7343
|
+
selectionActions = _props$selectionActio === void 0 ? [] : _props$selectionActio,
|
7344
|
+
_props$canFilter = props.canFilter,
|
7345
|
+
canFilter = _props$canFilter === void 0 ? false : _props$canFilter,
|
7346
|
+
_props$canAdd = props.canAdd,
|
7347
|
+
canAdd = _props$canAdd === void 0 ? true : _props$canAdd,
|
7348
|
+
_props$canDelete = props.canDelete,
|
7349
|
+
canDelete = _props$canDelete === void 0 ? true : _props$canDelete,
|
7350
|
+
_props$canEdit = props.canEdit,
|
7351
|
+
canEdit = _props$canEdit === void 0 ? true : _props$canEdit,
|
7352
|
+
groupBy = props.groupBy,
|
7353
|
+
validator = props.validator,
|
7354
|
+
formFilter = props.formFilter,
|
7355
|
+
tableFilter = props.tableFilter,
|
7356
|
+
_props$editorFilter = props.editorFilter,
|
7357
|
+
editorFilter = _props$editorFilter === void 0 ? false : _props$editorFilter,
|
7358
|
+
tabbedBy = props.tabbedBy,
|
7359
|
+
tableClassName = props.tableClassName,
|
7360
|
+
children = props.children;
|
7361
|
+
|
7362
|
+
var _useContext = useContext(PageContext),
|
7363
|
+
setPageContext = _useContext[1];
|
7364
|
+
|
7365
|
+
var context = TableContext$1(url, field, host, urlQuery, params);
|
7366
|
+
var _pageContext = pageContext,
|
7367
|
+
selected = _pageContext.selected;
|
7368
|
+
var timer = useRef(null);
|
7369
|
+
|
7370
|
+
var _useState = useState(selected),
|
7371
|
+
form = _useState[0],
|
7372
|
+
setForm = _useState[1];
|
7373
|
+
|
7374
|
+
useEffect(function () {
|
7375
|
+
try {
|
7376
|
+
return Promise.resolve(context.load()).then(function () {
|
7377
|
+
function _temp2() {
|
7378
|
+
setPageContext(context);
|
7379
|
+
}
|
7380
|
+
|
7381
|
+
var _temp = function () {
|
7382
|
+
if (canQuery) return Promise.resolve(context.loadQueries(user)).then(function () {});
|
7383
|
+
}();
|
7384
|
+
|
7385
|
+
return _temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp);
|
7386
|
+
});
|
7387
|
+
} catch (e) {
|
7388
|
+
return Promise.reject(e);
|
7389
|
+
}
|
7390
|
+
}, []);
|
7391
|
+
useEffect(function () {
|
7392
|
+
setForm(selected);
|
7393
|
+
}, [selected]);
|
7394
|
+
useEffect(function () {
|
7395
|
+
if (autosave) {
|
7396
|
+
clearTimeout(timer.current);
|
7397
|
+
timer.current = setTimeout(function () {
|
7398
|
+
if (canSave()) save();
|
7399
|
+
}, delay);
|
7400
|
+
}
|
7401
|
+
}, [form]);
|
7402
|
+
|
7403
|
+
function add() {
|
7404
|
+
var onOK = function onOK(form) {
|
7405
|
+
try {
|
7406
|
+
return Promise.resolve(pageContext.create(form)).then(function () {
|
7407
|
+
setPageContext(Object.assign({}, pageContext));
|
7408
|
+
});
|
7409
|
+
} catch (e) {
|
7410
|
+
return Promise.reject(e);
|
7411
|
+
}
|
7412
|
+
};
|
7413
|
+
|
7414
|
+
site.openDialog( /*#__PURE__*/React.createElement(CreateContentDialog, {
|
7415
|
+
label: "Crear " + name,
|
7416
|
+
type: schema,
|
7417
|
+
onOK: onOK,
|
7418
|
+
validator: validator,
|
7419
|
+
filter: formFilter
|
7420
|
+
}));
|
7421
|
+
}
|
7422
|
+
|
7423
|
+
function saveQuery(filters) {
|
7424
|
+
var onOK = function onOK(form) {
|
7425
|
+
try {
|
7426
|
+
form.filters = filters;
|
7427
|
+
form.layout = {};
|
7428
|
+
form.user = user;
|
7429
|
+
form.url = url;
|
7430
|
+
return Promise.resolve(pageContext.createQuery(form, user)).then(function () {
|
7431
|
+
setPageContext(Object.assign({}, pageContext));
|
7432
|
+
});
|
7433
|
+
} catch (e) {
|
7434
|
+
return Promise.reject(e);
|
7435
|
+
}
|
7436
|
+
};
|
7437
|
+
|
7438
|
+
site.openDialog( /*#__PURE__*/React.createElement(CreateContentDialog, {
|
7439
|
+
label: "Nueva query",
|
7440
|
+
type: QUERY,
|
7441
|
+
onOK: onOK
|
7442
|
+
}));
|
7443
|
+
}
|
7444
|
+
|
7445
|
+
function change(next) {
|
7446
|
+
setForm(next);
|
7447
|
+
}
|
7448
|
+
|
7449
|
+
function canSave() {
|
7450
|
+
var can = !equal(form, selected);
|
7451
|
+
return can;
|
7452
|
+
}
|
7453
|
+
|
7454
|
+
function closeAside() {
|
7455
|
+
pageContext.select(null);
|
7456
|
+
setPageContext(Object.assign({}, pageContext));
|
7457
|
+
}
|
7458
|
+
|
7459
|
+
function renderAside() {
|
7460
|
+
var rowSelected = selected && form;
|
7461
|
+
var rowChecked = pageContext.checked && pageContext.checked.size > 0;
|
7462
|
+
|
7463
|
+
if (rowSelected || rowChecked) {
|
7464
|
+
return /*#__PURE__*/React.createElement("aside", {
|
7465
|
+
className: "table-page"
|
7466
|
+
}, rowSelected ? /*#__PURE__*/React.createElement(TableRowEditor$1, {
|
7467
|
+
content: new Content(schema, form),
|
7468
|
+
filter: editorFilter,
|
7469
|
+
onChange: change,
|
7470
|
+
onClose: closeAside,
|
7471
|
+
editable: canEdit
|
7472
|
+
}) : null, rowChecked ? /*#__PURE__*/React.createElement(TableSelector$1, {
|
7473
|
+
schema: schema,
|
7474
|
+
actions: selectionActions
|
7475
|
+
}) : null);
|
7476
|
+
}
|
7477
|
+
|
7478
|
+
return null;
|
7479
|
+
}
|
7480
|
+
|
7481
|
+
function renderActions() {
|
7482
|
+
return actions.map(function (element) {
|
7483
|
+
var action = function action() {
|
7484
|
+
return element.props.action(pageContext);
|
7485
|
+
};
|
7486
|
+
|
7487
|
+
var clone = React.cloneElement(element, {
|
7488
|
+
action: action
|
7489
|
+
});
|
7490
|
+
return clone;
|
7491
|
+
});
|
7492
|
+
}
|
7493
|
+
|
7494
|
+
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Header, {
|
7495
|
+
className: "table-page",
|
7496
|
+
title: /*#__PURE__*/React.createElement(Text, null, title)
|
7497
|
+
}, canAdd ? /*#__PURE__*/React.createElement(Button, {
|
7498
|
+
icon: "add",
|
7499
|
+
label: "A\xF1adir",
|
7500
|
+
action: add,
|
7501
|
+
raised: true
|
7502
|
+
}) : null, "\xA0", /*#__PURE__*/React.createElement(Button, {
|
7503
|
+
icon: "refresh",
|
7504
|
+
label: "Reload",
|
7505
|
+
action: reload
|
7506
|
+
}), renderActions()), canQuery || canFilter ? /*#__PURE__*/React.createElement("menu", {
|
7507
|
+
className: "table-page"
|
7508
|
+
}, canQuery ? /*#__PURE__*/React.createElement(TableQueries$1, {
|
7509
|
+
schema: schema,
|
7510
|
+
url: url,
|
7511
|
+
user: user
|
7512
|
+
}) : null, canFilter ? /*#__PURE__*/React.createElement(TableFilters$1, {
|
7513
|
+
schema: schema,
|
7514
|
+
onSave: canQuery ? saveQuery : null
|
7515
|
+
}) : null) : null, /*#__PURE__*/React.createElement("main", {
|
7516
|
+
key: id,
|
7517
|
+
className: "table-page"
|
7518
|
+
}, /*#__PURE__*/React.createElement(TableEditor$1, {
|
7519
|
+
icon: icon,
|
7520
|
+
title: name,
|
7521
|
+
schema: schema,
|
7522
|
+
delay: delay,
|
7523
|
+
editable: editable,
|
7524
|
+
tabbedBy: tabbedBy,
|
7525
|
+
groupBy: groupBy,
|
7526
|
+
filter: tableFilter,
|
7527
|
+
actions: tableActions,
|
7528
|
+
canDelete: canDelete,
|
7529
|
+
className: tableClassName
|
7530
|
+
}), children ? /*#__PURE__*/React.createElement("article", null, children) : null), renderAside());
|
7531
|
+
};
|
7532
|
+
|
7533
|
+
var TableRowEditor$1 = function TableRowEditor(props) {
|
7534
|
+
var name = props.name,
|
7535
|
+
content = props.content,
|
7536
|
+
filter = props.filter,
|
7537
|
+
editable = props.editable,
|
7538
|
+
onChange = props.onChange,
|
7539
|
+
onClose = props.onClose;
|
7540
|
+
return /*#__PURE__*/React.createElement("div", {
|
7541
|
+
className: "table-row-editor"
|
7542
|
+
}, /*#__PURE__*/React.createElement(Header, {
|
7543
|
+
icon: "local_offer",
|
7544
|
+
title: name || "Propiedades"
|
7545
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
7546
|
+
icon: "close",
|
7547
|
+
clickable: true,
|
7548
|
+
action: onClose
|
7549
|
+
})), /*#__PURE__*/React.createElement("main", null, editable ? /*#__PURE__*/React.createElement(ContentEditor, {
|
7550
|
+
content: content,
|
7551
|
+
onChange: onChange,
|
7552
|
+
filter: filter
|
7553
|
+
}) : /*#__PURE__*/React.createElement(ContentViewer, {
|
7554
|
+
content: content
|
7555
|
+
})));
|
7556
|
+
};
|
7557
|
+
/**
|
7558
|
+
* Table Selector
|
7559
|
+
*/
|
7560
|
+
|
7561
|
+
|
7562
|
+
var TableSelector$1 = function TableSelector(props) {
|
7563
|
+
var schema = props.schema,
|
7564
|
+
_props$actions2 = props.actions,
|
7565
|
+
actions = _props$actions2 === void 0 ? [] : _props$actions2;
|
7566
|
+
|
7567
|
+
var _useContext2 = useContext(PageContext),
|
7568
|
+
pageContext = _useContext2[0],
|
7569
|
+
setPageContext = _useContext2[1];
|
7570
|
+
|
7571
|
+
var all = pageContext.all,
|
7572
|
+
checked = pageContext.checked;
|
7573
|
+
var count = checked.size + "/" + all.length;
|
7574
|
+
var columns = Object.keys(schema).filter(function (key) {
|
7575
|
+
return schema[key].selectorColumn === true;
|
7576
|
+
}).map(function (key) {
|
7577
|
+
var field = schema[key];
|
7578
|
+
return {
|
7579
|
+
id: field.id,
|
7580
|
+
label: field.label
|
7581
|
+
};
|
7582
|
+
});
|
7583
|
+
var rows = all.filter(function (item) {
|
7584
|
+
return checked.has(item.id);
|
7585
|
+
});
|
7586
|
+
var table = {
|
7587
|
+
columns: columns,
|
7588
|
+
rows: rows || []
|
7589
|
+
};
|
7590
|
+
var buttons = actions.map(function (_ref) {
|
7591
|
+
var label = _ref.label,
|
7592
|
+
_action = _ref.action,
|
7593
|
+
validate = _ref.validate;
|
7594
|
+
return /*#__PURE__*/React.createElement(Button, {
|
7595
|
+
label: label,
|
7596
|
+
raised: true,
|
7597
|
+
action: function action() {
|
7598
|
+
return _action(checked, pageContext, function () {
|
7599
|
+
try {
|
7600
|
+
return Promise.resolve(pageContext.load()).then(function () {
|
7601
|
+
setPageContext(Object.assign({}, pageContext));
|
7602
|
+
});
|
7603
|
+
} catch (e) {
|
7604
|
+
return Promise.reject(e);
|
7605
|
+
}
|
7606
|
+
}, rows);
|
7607
|
+
},
|
7608
|
+
disabled: !validate(checked, rows)
|
7609
|
+
});
|
7610
|
+
});
|
7611
|
+
return /*#__PURE__*/React.createElement("div", {
|
7612
|
+
className: "table-selector"
|
7613
|
+
}, /*#__PURE__*/React.createElement(Header, {
|
7614
|
+
icon: "checklist_rtl",
|
7615
|
+
title: "Selecci\xF3n"
|
7616
|
+
}, /*#__PURE__*/React.createElement("span", {
|
7617
|
+
className: "size"
|
7618
|
+
}, count)), /*#__PURE__*/React.createElement("main", null, /*#__PURE__*/React.createElement(DataTable, table)), /*#__PURE__*/React.createElement("footer", null, buttons));
|
7619
|
+
};
|
7620
|
+
/**
|
7621
|
+
* Table Queries
|
7622
|
+
*/
|
7623
|
+
|
7624
|
+
|
7625
|
+
var TableQueries$1 = function TableQueries(props) {
|
7626
|
+
var remove = function remove(id) {
|
7627
|
+
try {
|
7628
|
+
return Promise.resolve(pageContext.removeQuery(id, user)).then(function () {
|
7629
|
+
setPageContext(Object.assign({}, pageContext));
|
7630
|
+
});
|
7631
|
+
} catch (e) {
|
7632
|
+
return Promise.reject(e);
|
7633
|
+
}
|
7634
|
+
};
|
7635
|
+
|
7636
|
+
var _useContext3 = useContext(PageContext),
|
7637
|
+
pageContext = _useContext3[0],
|
7638
|
+
setPageContext = _useContext3[1];
|
7639
|
+
|
7640
|
+
var url = props.url,
|
7641
|
+
user = props.user;
|
7642
|
+
var _pageContext$queries = pageContext.queries,
|
7643
|
+
queries = _pageContext$queries === void 0 ? [] : _pageContext$queries;
|
7644
|
+
|
7645
|
+
var _useState2 = useState(),
|
7646
|
+
selected = _useState2[0],
|
7647
|
+
setSelected = _useState2[1];
|
7648
|
+
|
7649
|
+
function select(query) {
|
7650
|
+
setSelected(query.id);
|
7651
|
+
pageContext.changeFilters(query.filters);
|
7652
|
+
setPageContext(Object.assign({}, pageContext));
|
7653
|
+
}
|
7654
|
+
|
7655
|
+
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Header, {
|
7656
|
+
className: "table-queries",
|
7657
|
+
title: /*#__PURE__*/React.createElement(Text, null, "Queries")
|
7658
|
+
}), /*#__PURE__*/React.createElement("main", {
|
7659
|
+
className: "table-queries"
|
7660
|
+
}, queries ? queries.filter(function (query) {
|
7661
|
+
return query.url === url;
|
7662
|
+
}).map(function (query) {
|
7663
|
+
var style = selected === query.id ? "selected" : "";
|
7664
|
+
return /*#__PURE__*/React.createElement("div", {
|
7665
|
+
className: "table-queries-item " + style,
|
7666
|
+
onClick: function onClick() {
|
7667
|
+
return select(query);
|
7668
|
+
}
|
7669
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
7670
|
+
icon: "star",
|
7671
|
+
size: "small"
|
7672
|
+
}), /*#__PURE__*/React.createElement("label", null, query.name), /*#__PURE__*/React.createElement(Icon, {
|
7673
|
+
icon: "close",
|
7674
|
+
clickable: true,
|
7675
|
+
size: "small",
|
7676
|
+
action: function action() {
|
7677
|
+
return remove(query.id);
|
7678
|
+
}
|
7679
|
+
}));
|
7680
|
+
}) : /*#__PURE__*/React.createElement("div", null, "...empty...")));
|
7681
|
+
};
|
7682
|
+
/**
|
7683
|
+
* Table Filters
|
7684
|
+
*/
|
7685
|
+
|
7686
|
+
|
7687
|
+
var TableFilters$1 = function TableFilters(props) {
|
7688
|
+
var reload = function reload() {
|
7689
|
+
try {
|
7690
|
+
return Promise.resolve(pageContext.load(form)).then(function () {
|
7691
|
+
setPageContext(Object.assign({}, pageContext));
|
7692
|
+
});
|
7693
|
+
} catch (e) {
|
7694
|
+
return Promise.reject(e);
|
7695
|
+
}
|
7696
|
+
};
|
7697
|
+
|
7698
|
+
var change = function change(next) {
|
7699
|
+
try {
|
7700
|
+
setForm(next);
|
7701
|
+
return Promise.resolve();
|
7702
|
+
} catch (e) {
|
7703
|
+
return Promise.reject(e);
|
7704
|
+
}
|
7705
|
+
};
|
7706
|
+
|
7707
|
+
var _useContext4 = useContext(PageContext),
|
7708
|
+
pageContext = _useContext4[0],
|
7709
|
+
setPageContext = _useContext4[1];
|
7710
|
+
|
7711
|
+
var filters = pageContext.filters;
|
7712
|
+
var schema = props.schema,
|
7713
|
+
onSave = props.onSave;
|
7714
|
+
|
7715
|
+
var _useState3 = useState({}),
|
7716
|
+
form = _useState3[0],
|
7717
|
+
setForm = _useState3[1];
|
7718
|
+
|
7719
|
+
var filterSchema = useMemo(function () {
|
7720
|
+
var filterSchema = Object.assign({}, schema);
|
7721
|
+
|
7722
|
+
for (var key in filterSchema) {
|
7723
|
+
if (filterSchema[key].filter === false) {
|
7724
|
+
delete filterSchema[key];
|
7725
|
+
} else {
|
7726
|
+
if (filterSchema[key].type === TYPES.ENTITY) {
|
7727
|
+
var fs = filterSchema[key].item;
|
7728
|
+
|
7729
|
+
for (var key in fs) {
|
7730
|
+
if (fs[key].filter === false) delete fs[key];
|
7731
|
+
}
|
7732
|
+
}
|
7733
|
+
}
|
7734
|
+
} //Object.values(filterSchema).forEach(field => field.section = null)
|
7735
|
+
|
7736
|
+
|
7737
|
+
delete filterSchema.flows;
|
7738
|
+
return filterSchema;
|
7739
|
+
}, [schema]);
|
7740
|
+
useEffect(function () {
|
7741
|
+
if (filters) setForm(filters);
|
7742
|
+
}, [filters]);
|
7743
|
+
useEffect(function () {
|
7744
|
+
reload();
|
7745
|
+
}, [form]);
|
7746
|
+
|
7747
|
+
function clear() {
|
7748
|
+
change({});
|
7749
|
+
}
|
7750
|
+
|
7751
|
+
function save() {
|
7752
|
+
if (onSave) {
|
7753
|
+
onSave(form);
|
7754
|
+
}
|
7755
|
+
}
|
7756
|
+
|
7757
|
+
var content = new Content(filterSchema, form);
|
7758
|
+
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Header, {
|
7759
|
+
className: "table-filters",
|
7760
|
+
title: /*#__PURE__*/React.createElement(Text, null, "Filters")
|
7761
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
7762
|
+
icon: "filter_list_off",
|
7763
|
+
size: "small",
|
7764
|
+
clickable: true,
|
7765
|
+
action: clear
|
7766
|
+
}), onSave ? /*#__PURE__*/React.createElement(Icon, {
|
7767
|
+
icon: "save",
|
7768
|
+
size: "small",
|
7769
|
+
clickable: true,
|
7770
|
+
action: save
|
7771
|
+
}) : null), /*#__PURE__*/React.createElement("main", {
|
7772
|
+
className: "table-filters"
|
7773
|
+
}, /*#__PURE__*/React.createElement(ContentEditor, {
|
7774
|
+
content: content,
|
7775
|
+
onChange: change
|
7776
|
+
})));
|
7777
|
+
};
|
7778
|
+
/**
|
7779
|
+
* Table Editor
|
7780
|
+
*/
|
7781
|
+
|
7782
|
+
|
7783
|
+
var TableEditor$1 = function TableEditor(props) {
|
7784
|
+
var checkOne = function checkOne(id, field, value) {
|
7785
|
+
check([id], value);
|
7786
|
+
return Promise.resolve();
|
7787
|
+
};
|
7788
|
+
|
7789
|
+
var check = function check(ids, value) {
|
7790
|
+
try {
|
7791
|
+
pageContext.check(ids, value);
|
7792
|
+
setPageContext(Object.assign({}, pageContext));
|
7793
|
+
return Promise.resolve();
|
7794
|
+
} catch (e) {
|
7795
|
+
return Promise.reject(e);
|
7796
|
+
}
|
7797
|
+
};
|
7798
|
+
|
7799
|
+
var select = function select(row, event) {
|
7800
|
+
try {
|
7801
|
+
clear();
|
7802
|
+
return Promise.resolve(pageContext.select(row.id)).then(function () {
|
7803
|
+
setPageContext(Object.assign({}, pageContext));
|
7804
|
+
});
|
7805
|
+
} catch (e) {
|
7806
|
+
return Promise.reject(e);
|
7807
|
+
}
|
7808
|
+
};
|
7809
|
+
|
7810
|
+
var remove = function remove(id) {
|
7811
|
+
try {
|
7812
|
+
return Promise.resolve(site.confirm("Are you sure ?")).then(function (confirm) {
|
7813
|
+
var _temp5 = function () {
|
7814
|
+
if (confirm) {
|
7815
|
+
return Promise.resolve(pageContext.remove(id)).then(function () {
|
7816
|
+
pageContext.clear();
|
7817
|
+
setPageContext(Object.assign({}, pageContext));
|
7818
|
+
});
|
7819
|
+
}
|
7820
|
+
}();
|
7821
|
+
|
7822
|
+
if (_temp5 && _temp5.then) return _temp5.then(function () {});
|
7823
|
+
});
|
7824
|
+
} catch (e) {
|
7825
|
+
return Promise.reject(e);
|
7826
|
+
}
|
7827
|
+
};
|
7828
|
+
|
7829
|
+
var site = useContext(SiteContext);
|
7830
|
+
|
7831
|
+
var _useContext5 = useContext(PageContext),
|
7832
|
+
pageContext = _useContext5[0],
|
7833
|
+
setPageContext = _useContext5[1];
|
7834
|
+
|
7835
|
+
var _pageContext$all = pageContext.all,
|
7836
|
+
all = _pageContext$all === void 0 ? [] : _pageContext$all;
|
7837
|
+
var icon = props.icon,
|
7838
|
+
title = props.title,
|
7839
|
+
schema = props.schema,
|
7840
|
+
editable = props.editable,
|
7841
|
+
canDelete = props.canDelete,
|
7842
|
+
filter = props.filter,
|
7843
|
+
actions = props.actions,
|
7844
|
+
className = props.className;
|
7845
|
+
|
7846
|
+
var _useState4 = useState(props.groupBy),
|
7847
|
+
groupBy = _useState4[0],
|
7848
|
+
setGroupBy = _useState4[1];
|
7849
|
+
|
7850
|
+
var _useState5 = useState(0),
|
7851
|
+
tab = _useState5[0];
|
7852
|
+
|
7853
|
+
useEffect(function () {
|
7854
|
+
try {
|
7855
|
+
var _temp4 = function () {
|
7856
|
+
if (tab) {
|
7857
|
+
var _filter2;
|
7858
|
+
|
7859
|
+
var _filter = (_filter2 = {}, _filter2[tab.field] = tab.value, _filter2);
|
7860
|
+
|
7861
|
+
return Promise.resolve(pageContext.load(_filter, [])).then(function () {
|
7862
|
+
setPageContext(Object.assign({}, pageContext));
|
7863
|
+
});
|
7864
|
+
}
|
7865
|
+
}();
|
7866
|
+
|
7867
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
|
7868
|
+
} catch (e) {
|
7869
|
+
return Promise.reject(e);
|
7870
|
+
}
|
7871
|
+
}, [tab]);
|
7872
|
+
|
7873
|
+
function changeGroup(id, value) {
|
7874
|
+
setGroupBy(value);
|
7875
|
+
}
|
7876
|
+
|
7877
|
+
function change(rowID, cellID, value) {
|
7878
|
+
var _Object$assign;
|
7879
|
+
|
7880
|
+
var row = all.find(function (r) {
|
7881
|
+
return r.id === rowID;
|
7882
|
+
});
|
7883
|
+
var next = Object.assign({}, row, (_Object$assign = {}, _Object$assign[cellID] = value, _Object$assign));
|
7884
|
+
delete next.actions;
|
7885
|
+
pageContext.update(next);
|
7886
|
+
setPageContext(Object.assign({}, pageContext));
|
7887
|
+
}
|
7888
|
+
|
7889
|
+
function clear() {
|
7890
|
+
pageContext.clear();
|
7891
|
+
setPageContext(Object.assign({}, pageContext));
|
7892
|
+
}
|
7893
|
+
|
7894
|
+
function run(action, item) {
|
7895
|
+
action.action(item.id, pageContext, function () {
|
7896
|
+
try {
|
7897
|
+
return Promise.resolve(pageContext.load()).then(function () {
|
7898
|
+
setPageContext(Object.assign({}, pageContext));
|
7899
|
+
});
|
7900
|
+
} catch (e) {
|
7901
|
+
return Promise.reject(e);
|
7902
|
+
}
|
7903
|
+
});
|
7904
|
+
}
|
7905
|
+
|
7906
|
+
function buildGroupOptions(schema) {
|
7907
|
+
return Object.values(schema).filter(function (field) {
|
7908
|
+
return field.grouper === true;
|
7909
|
+
}).map(function (field) {
|
7910
|
+
return {
|
7911
|
+
label: field.label,
|
7912
|
+
value: field.id
|
7913
|
+
};
|
7914
|
+
});
|
7915
|
+
}
|
7916
|
+
|
7917
|
+
function renderGroupLabel(groupName) {
|
7918
|
+
var grouper = schema[groupBy];
|
7919
|
+
if (!groupName || !grouper) return "";
|
7920
|
+
|
7921
|
+
if (grouper.options) {
|
7922
|
+
var options = CHECK['isFunction'](grouper.options) ? grouper.options() : grouper.options;
|
7923
|
+
var option = options.find(function (option) {
|
7924
|
+
return option.value === groupName;
|
7925
|
+
});
|
7926
|
+
return option ? option.label : groupName;
|
7927
|
+
} else {
|
7928
|
+
return groupName;
|
7929
|
+
}
|
7930
|
+
}
|
7931
|
+
|
7932
|
+
var tabField = Object.values(schema).find(function (field) {
|
7933
|
+
return field.tab === true;
|
7934
|
+
});
|
7935
|
+
var tabs = tabField ? tabField.options.map(function (option) {
|
7936
|
+
return Object.assign({}, option, {
|
7937
|
+
field: tabField.id
|
7938
|
+
});
|
7939
|
+
}) : [];
|
7940
|
+
var table = useMemo(function () {
|
7941
|
+
return {
|
7942
|
+
columns: Object.values(schema).filter(function (field) {
|
7943
|
+
return field.column === true;
|
7944
|
+
}).map(function (field) {
|
7945
|
+
var options = field.options;
|
7946
|
+
|
7947
|
+
if (options && typeof options == 'function') {
|
7948
|
+
options = options();
|
7949
|
+
}
|
7950
|
+
|
7951
|
+
return {
|
7952
|
+
id: field.id,
|
7953
|
+
label: field.label,
|
7954
|
+
type: field.type,
|
7955
|
+
format: field.format,
|
7956
|
+
item: field.item ? field.item : [],
|
7957
|
+
onChange: field.id === "checked" ? checkOne : field.editable ? change : null,
|
7958
|
+
|
7959
|
+
/* checked has it´s own handler */
|
7960
|
+
options: options
|
7961
|
+
};
|
7962
|
+
}),
|
7963
|
+
rows: []
|
7964
|
+
};
|
7965
|
+
}, [schema]);
|
7966
|
+
var items = filter ? filter(all) : all;
|
7967
|
+
if (items.length === 0) return /*#__PURE__*/React.createElement("div", {
|
7968
|
+
className: "empty-message"
|
7969
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
7970
|
+
icon: "search_off"
|
7971
|
+
}), /*#__PURE__*/React.createElement(Text, null, "No Result Found"));
|
7972
|
+
var groups = items.reduce(function (groups, item) {
|
7973
|
+
var groupName = item[groupBy];
|
7974
|
+
if (!groups[groupName]) groups[groupName] = [];
|
7975
|
+
groups[groupName].push(item);
|
7976
|
+
return groups;
|
7977
|
+
}, {});
|
7978
|
+
var sections = Object.keys(groups).map(function (groupName) {
|
7979
|
+
var rows = groups[groupName].map(function (item) {
|
7980
|
+
item.checked = pageContext.checked ? pageContext.checked.has(item.id) : false;
|
7981
|
+
item.actions = actions ? actions.map(function (_action2) {
|
7982
|
+
return _action2.filter ? _action2.filter(item) ? /*#__PURE__*/React.createElement(Icon, {
|
7983
|
+
icon: _action2.icon,
|
7984
|
+
clickable: true,
|
7985
|
+
size: "small",
|
7986
|
+
action: function action() {
|
7987
|
+
return run(_action2, item);
|
7988
|
+
}
|
7989
|
+
}) : null : /*#__PURE__*/React.createElement(Icon, {
|
7990
|
+
icon: _action2.icon,
|
7991
|
+
clickable: true,
|
7992
|
+
size: "small",
|
7993
|
+
action: function action() {
|
7994
|
+
return run(_action2, item);
|
7995
|
+
}
|
7996
|
+
});
|
7997
|
+
}) : [];
|
7998
|
+
if (canDelete) item.actions.push( /*#__PURE__*/React.createElement(Icon, {
|
7999
|
+
icon: "delete",
|
8000
|
+
size: "small",
|
8001
|
+
clickable: true,
|
8002
|
+
action: function action() {
|
8003
|
+
return remove(item.id);
|
8004
|
+
}
|
8005
|
+
}));
|
8006
|
+
return item;
|
8007
|
+
});
|
8008
|
+
table.rows = rows;
|
8009
|
+
return {
|
8010
|
+
id: groupName,
|
8011
|
+
checked: false,
|
8012
|
+
title: renderGroupLabel(groupName),
|
8013
|
+
info: groups[groupName].length,
|
8014
|
+
open: true,
|
8015
|
+
children: /*#__PURE__*/React.createElement(DataTable, _extends({}, table, {
|
8016
|
+
onRowSelection: select,
|
8017
|
+
editable: editable,
|
8018
|
+
onCheckAll: check,
|
8019
|
+
className: className
|
8020
|
+
}))
|
8021
|
+
};
|
8022
|
+
});
|
8023
|
+
return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(Header, {
|
8024
|
+
icon: icon,
|
8025
|
+
title: /*#__PURE__*/React.createElement(Text, null, title)
|
8026
|
+
}, groupBy ? /*#__PURE__*/React.createElement(DropDown, {
|
8027
|
+
id: "groupBy",
|
8028
|
+
label: "Agrupar Por",
|
8029
|
+
value: groupBy,
|
8030
|
+
options: buildGroupOptions(schema),
|
8031
|
+
onChange: changeGroup
|
8032
|
+
}) : null, tabbedBy ? /*#__PURE__*/React.createElement(Tabs, {
|
8033
|
+
fillRight: true,
|
8034
|
+
fillLeft: false
|
8035
|
+
}, tabs.map(function (tab) {
|
8036
|
+
return /*#__PURE__*/React.createElement(Tab, {
|
8037
|
+
id: tab.value,
|
8038
|
+
label: tab.label
|
8039
|
+
});
|
8040
|
+
})) : ''), /*#__PURE__*/React.createElement("main", {
|
8041
|
+
className: "table-editor"
|
8042
|
+
}, /*#__PURE__*/React.createElement(Accordion, {
|
8043
|
+
sections: sections
|
8044
|
+
})));
|
8045
|
+
};
|
8046
|
+
/**
|
8047
|
+
* Table Context
|
8048
|
+
*/
|
8049
|
+
|
8050
|
+
var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
8051
|
+
var API = TableAPI$1(url, host, params);
|
8052
|
+
return {
|
8053
|
+
all: [],
|
8054
|
+
checked: new Set([]),
|
8055
|
+
selected: null,
|
8056
|
+
filters: {},
|
8057
|
+
queries: [],
|
8058
|
+
load: function load(filter) {
|
8059
|
+
try {
|
8060
|
+
var _this2 = this;
|
8061
|
+
|
8062
|
+
var _temp7 = _catch$1(function () {
|
8063
|
+
var filters = filter ? Object.keys(filter).reduce(function (filters, key) {
|
8064
|
+
var field = filter[key];
|
8065
|
+
|
8066
|
+
if (field) {
|
8067
|
+
if (CHECK['isObject'](field)) {
|
8068
|
+
Object.keys(field).forEach(function (key2) {
|
8069
|
+
var subfield = field[key2];
|
8070
|
+
if (subfield) filters[key + "." + key2] = subfield;
|
8071
|
+
});
|
8072
|
+
} else {
|
8073
|
+
filters[key] = field;
|
8074
|
+
}
|
8075
|
+
}
|
8076
|
+
|
8077
|
+
return filters;
|
8078
|
+
}, {}) : [];
|
8079
|
+
return Promise.resolve(API.all(filters)).then(function (data) {
|
8080
|
+
_this2.all = field ? data[field] : data;
|
8081
|
+
});
|
8082
|
+
}, function (error) {
|
8083
|
+
console.log(error);
|
8084
|
+
});
|
8085
|
+
|
8086
|
+
return Promise.resolve(_temp7 && _temp7.then ? _temp7.then(function () {}) : void 0);
|
8087
|
+
} catch (e) {
|
8088
|
+
return Promise.reject(e);
|
8089
|
+
}
|
8090
|
+
},
|
8091
|
+
check: function check(ids, isChecked) {
|
8092
|
+
var _this3 = this;
|
8093
|
+
|
8094
|
+
if (isChecked === void 0) {
|
8095
|
+
isChecked = true;
|
8096
|
+
}
|
8097
|
+
|
8098
|
+
if (isChecked) {
|
8099
|
+
ids.forEach(function (id) {
|
8100
|
+
return _this3.checked.add(id);
|
8101
|
+
});
|
8102
|
+
} else {
|
8103
|
+
ids.forEach(function (id) {
|
8104
|
+
return _this3.checked["delete"](id);
|
8105
|
+
});
|
8106
|
+
}
|
8107
|
+
},
|
8108
|
+
select: function select(id) {
|
8109
|
+
var result = this.all.find(function (item) {
|
8110
|
+
return item.id === id;
|
8111
|
+
});
|
8112
|
+
this.selected = result;
|
8113
|
+
},
|
8114
|
+
clear: function clear() {
|
8115
|
+
this.selected = null;
|
8116
|
+
},
|
8117
|
+
create: function create(form) {
|
8118
|
+
try {
|
8119
|
+
var _this5 = this;
|
8120
|
+
|
8121
|
+
var _temp9 = _catch$1(function () {
|
8122
|
+
return Promise.resolve(API.create(form)).then(function () {
|
8123
|
+
return Promise.resolve(_this5.load()).then(function () {});
|
8124
|
+
});
|
8125
|
+
}, function (error) {
|
8126
|
+
console.log(error);
|
8127
|
+
});
|
8128
|
+
|
8129
|
+
return Promise.resolve(_temp9 && _temp9.then ? _temp9.then(function () {}) : void 0);
|
8130
|
+
} catch (e) {
|
8131
|
+
return Promise.reject(e);
|
8132
|
+
}
|
8133
|
+
},
|
8134
|
+
update: function update(form) {
|
8135
|
+
try {
|
8136
|
+
var _this7 = this;
|
8137
|
+
|
8138
|
+
var _temp11 = _catch$1(function () {
|
8139
|
+
return Promise.resolve(API.update(form)).then(function () {
|
8140
|
+
return Promise.resolve(_this7.load()).then(function () {});
|
8141
|
+
});
|
8142
|
+
}, function (error) {
|
8143
|
+
console.log(error);
|
8144
|
+
});
|
8145
|
+
|
8146
|
+
return Promise.resolve(_temp11 && _temp11.then ? _temp11.then(function () {}) : void 0);
|
8147
|
+
} catch (e) {
|
8148
|
+
return Promise.reject(e);
|
8149
|
+
}
|
8150
|
+
},
|
8151
|
+
remove: function remove(id) {
|
8152
|
+
try {
|
8153
|
+
var _this9 = this;
|
8154
|
+
|
8155
|
+
var _temp13 = _catch$1(function () {
|
8156
|
+
return Promise.resolve(API.remove(id)).then(function () {
|
8157
|
+
return Promise.resolve(_this9.load()).then(function () {});
|
8158
|
+
});
|
8159
|
+
}, function (error) {
|
8160
|
+
console.log(error);
|
8161
|
+
});
|
8162
|
+
|
8163
|
+
return Promise.resolve(_temp13 && _temp13.then ? _temp13.then(function () {}) : void 0);
|
8164
|
+
} catch (e) {
|
8165
|
+
return Promise.reject(e);
|
8166
|
+
}
|
8167
|
+
},
|
8168
|
+
changeFilters: function changeFilters(filters) {
|
8169
|
+
this.filters = filters;
|
8170
|
+
},
|
8171
|
+
loadQueries: function loadQueries(user) {
|
8172
|
+
try {
|
8173
|
+
var _this11 = this;
|
8174
|
+
|
8175
|
+
var _temp15 = _catch$1(function () {
|
8176
|
+
return Promise.resolve(API.queries(user, urlQuery)).then(function (_API$queries) {
|
8177
|
+
_this11.queries = _API$queries;
|
8178
|
+
});
|
8179
|
+
}, function (error) {
|
8180
|
+
console.log(error);
|
8181
|
+
});
|
8182
|
+
|
8183
|
+
return Promise.resolve(_temp15 && _temp15.then ? _temp15.then(function () {}) : void 0);
|
8184
|
+
} catch (e) {
|
8185
|
+
return Promise.reject(e);
|
8186
|
+
}
|
8187
|
+
},
|
8188
|
+
createQuery: function createQuery(query, user) {
|
8189
|
+
try {
|
8190
|
+
var _this13 = this;
|
8191
|
+
|
8192
|
+
var _temp17 = _catch$1(function () {
|
8193
|
+
return Promise.resolve(API.createQuery(query, urlQuery)).then(function () {
|
8194
|
+
return Promise.resolve(_this13.loadQueries(user)).then(function () {});
|
8195
|
+
});
|
8196
|
+
}, function (error) {
|
8197
|
+
console.log(error);
|
8198
|
+
});
|
8199
|
+
|
8200
|
+
return Promise.resolve(_temp17 && _temp17.then ? _temp17.then(function () {}) : void 0);
|
8201
|
+
} catch (e) {
|
8202
|
+
return Promise.reject(e);
|
8203
|
+
}
|
8204
|
+
},
|
8205
|
+
removeQuery: function removeQuery(id, user) {
|
8206
|
+
try {
|
8207
|
+
var _this15 = this;
|
8208
|
+
|
8209
|
+
var _temp19 = _catch$1(function () {
|
8210
|
+
return Promise.resolve(API.removeQuery(id, urlQuery)).then(function () {
|
8211
|
+
return Promise.resolve(_this15.loadQueries(user)).then(function () {});
|
8212
|
+
});
|
8213
|
+
}, function (error) {
|
8214
|
+
console.log(error);
|
8215
|
+
});
|
8216
|
+
|
8217
|
+
return Promise.resolve(_temp19 && _temp19.then ? _temp19.then(function () {}) : void 0);
|
8218
|
+
} catch (e) {
|
8219
|
+
return Promise.reject(e);
|
8220
|
+
}
|
8221
|
+
}
|
8222
|
+
};
|
8223
|
+
};
|
8224
|
+
/**
|
8225
|
+
* Table API
|
8226
|
+
*/
|
8227
|
+
|
8228
|
+
|
7131
8229
|
var TableAPI$1 = function TableAPI(url, host, params) {
|
7132
8230
|
if (params === void 0) {
|
7133
8231
|
params = "";
|
@@ -8293,5 +9391,5 @@ var isFunction = function isFunction(value) {
|
|
8293
9391
|
return value && (Object.prototype.toString.call(value) === "[object Function]" || "function" === typeof value || value instanceof Function);
|
8294
9392
|
};
|
8295
9393
|
|
8296
|
-
export { Avatar, Button, Calendar, CheckBox, Chip, Chips, CircularProgress, CollectionContext, CollectionEditor$1 as CollectionEditor, CollectionFilters, CollectionPage, CollectionTree, Content, ContentEditor, ContentForm, CreateContentDialog, DataTable, Dialog, DropDown, EditContentDialog, FORMATS, FieldEditor, FileExplorer, FileIconsView, Form, HTTPClient, Header, Icon, Kanban, KanbanCard, KanbanColumn, LinearProgress, List, ListEditor, LoginBox, Menu, MenuIcon, MenuItem, MenuSeparator, Page, PageContext, PageProvider, Planner, Property, RadioButton, ResetPasswordBox, Section, Session, Site, SiteContext, SiteProvider, Stack, Switch, TEXTFORMATS, TYPES, Tab, TabbedContentEditor, TabbedTablePage, TabbedView, TableEditor$
|
9394
|
+
export { Accordion, Avatar, Button, Calendar, CheckBox, Chip, Chips, CircularProgress, CollectionContext, CollectionEditor$1 as CollectionEditor, CollectionFilters, CollectionPage, CollectionTree, Content, ContentEditor, ContentForm, CreateContentDialog, DataTable, Dialog, DropDown, EditContentDialog, FORMATS, FieldEditor, FileExplorer, FileIconsView, Form, HTTPClient, Header, Icon, Kanban, KanbanCard, KanbanColumn, LinearProgress, List, ListEditor, LoginBox, Menu, MenuIcon, MenuItem, MenuSeparator, Page, PageContext, PageProvider, Planner, Property, RadioButton, ResetPasswordBox, Section, Session, Site, SiteContext, SiteProvider, Stack, Switch, TEXTFORMATS, TYPES, Tab, TabbedContentEditor, TabbedTablePage, TabbedView, TableEditor$2 as TableEditor, TablePage, TablePage2, Tabs, Text, TextArea, TextField, Thumbnail, TokenField, Tooltip, Tree, TreeItem, TreeNode, TreededContentEditor, UploadArea, UploadDialog, UploadFile, UploadIcon, Uploader, View, Viewer, WaitScreen, isFunction };
|
8297
9395
|
//# sourceMappingURL=index.modern.js.map
|