ywana-core8 0.0.571 → 0.0.574
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 +1261 -149
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +38 -1
- package/dist/index.css.map +1 -1
- package/dist/index.modern.js +1260 -150
- package/dist/index.modern.js.map +1 -1
- package/dist/index.umd.js +1261 -149
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/domain/CollectionPage.css +1 -0
- 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/domain2/Content.js +33 -0
- package/src/domain2/ContentFilters.js +74 -0
- package/src/domain2/ContentPage.js +96 -0
- package/src/domain2/FORMATS.js +15 -0
- package/src/domain2/TYPES.js +11 -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/site/site.test.js +16 -16
- package/src/widgets/planner/Planner.js +16 -17
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
|
@@ -2805,9 +2898,14 @@ var Planner = function Planner(_ref) {
|
|
2805
2898
|
to = _useState3[0],
|
2806
2899
|
setTo = _useState3[1];
|
2807
2900
|
|
2901
|
+
var thisMondayElement = React.useRef(null);
|
2808
2902
|
React.useEffect(function () {
|
2809
|
-
|
2810
|
-
|
2903
|
+
console.log(thisMondayElement.current);
|
2904
|
+
|
2905
|
+
if (thisMondayElement.current) {
|
2906
|
+
showThisWeek();
|
2907
|
+
}
|
2908
|
+
});
|
2811
2909
|
React.useEffect(function () {
|
2812
2910
|
var element = document.getElementById(focusEvent);
|
2813
2911
|
if (element) element.scrollIntoView({
|
@@ -2961,7 +3059,8 @@ var Planner = function Planner(_ref) {
|
|
2961
3059
|
events: events,
|
2962
3060
|
period: period,
|
2963
3061
|
onSelectCell: selectCell,
|
2964
|
-
onChange: onChange
|
3062
|
+
onChange: onChange,
|
3063
|
+
thisMondayRef: thisMondayElement
|
2965
3064
|
});
|
2966
3065
|
}))));
|
2967
3066
|
};
|
@@ -2975,7 +3074,8 @@ var PlannerRow = function PlannerRow(props) {
|
|
2975
3074
|
events = _props$events === void 0 ? [] : _props$events,
|
2976
3075
|
period = props.period,
|
2977
3076
|
onSelectCell = props.onSelectCell,
|
2978
|
-
onChange = props.onChange
|
3077
|
+
onChange = props.onChange,
|
3078
|
+
thisMondayRef = props.thisMondayRef;
|
2979
3079
|
var rowEvents = events.filter(function (event) {
|
2980
3080
|
return event.lane === lane.id;
|
2981
3081
|
});
|
@@ -3000,7 +3100,8 @@ var PlannerRow = function PlannerRow(props) {
|
|
3000
3100
|
date: date,
|
3001
3101
|
events: cellEvents,
|
3002
3102
|
onSelect: onSelectCell,
|
3003
|
-
onDrop: change
|
3103
|
+
onDrop: change,
|
3104
|
+
thisMondayRef: thisMondayRef
|
3004
3105
|
});
|
3005
3106
|
}));
|
3006
3107
|
};
|
@@ -3014,7 +3115,8 @@ var PlannerCell = function PlannerCell(_ref2) {
|
|
3014
3115
|
events = _ref2.events,
|
3015
3116
|
date = _ref2.date,
|
3016
3117
|
onSelect = _ref2.onSelect,
|
3017
|
-
onDrop = _ref2.onDrop
|
3118
|
+
onDrop = _ref2.onDrop,
|
3119
|
+
thisMondayRef = _ref2.thisMondayRef;
|
3018
3120
|
|
3019
3121
|
var _useState4 = React.useState(false),
|
3020
3122
|
dragOver = _useState4[0],
|
@@ -3052,10 +3154,12 @@ var PlannerCell = function PlannerCell(_ref2) {
|
|
3052
3154
|
var weekend = isWekend ? "weekend" : "";
|
3053
3155
|
var today = moment__default["default"]();
|
3054
3156
|
var weekStart = today.clone().startOf('week');
|
3157
|
+
var isThisMonday = date.moment.isSame(weekStart);
|
3055
3158
|
var thisMonday = date.moment.isSame(weekStart) ? "thisMonday" : "";
|
3056
3159
|
var dragOverStyle = dragOver ? "drag-over" : "";
|
3057
3160
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
3058
3161
|
className: "cell " + thisMonday + " " + weekend + " " + dragOverStyle,
|
3162
|
+
ref: isThisMonday ? thisMondayRef : null,
|
3059
3163
|
onDragOver: onDragOver,
|
3060
3164
|
onDragLeave: onDragLeave,
|
3061
3165
|
onDrop: drop,
|
@@ -4200,13 +4304,13 @@ var ContentEditor = function ContentEditor(_ref) {
|
|
4200
4304
|
* Tabbed Content Editor
|
4201
4305
|
*/
|
4202
4306
|
|
4203
|
-
var TabbedContentEditor = function TabbedContentEditor(
|
4204
|
-
var content =
|
4205
|
-
filter =
|
4206
|
-
|
4207
|
-
grouped =
|
4208
|
-
onChange =
|
4209
|
-
onReload =
|
4307
|
+
var TabbedContentEditor = function TabbedContentEditor(_ref3) {
|
4308
|
+
var content = _ref3.content,
|
4309
|
+
filter = _ref3.filter,
|
4310
|
+
_ref3$grouped = _ref3.grouped,
|
4311
|
+
grouped = _ref3$grouped === void 0 ? false : _ref3$grouped,
|
4312
|
+
onChange = _ref3.onChange,
|
4313
|
+
onReload = _ref3.onReload;
|
4210
4314
|
|
4211
4315
|
var _useState = React.useState(0),
|
4212
4316
|
tab = _useState[0],
|
@@ -4291,9 +4395,9 @@ var TabbedContentEditor = function TabbedContentEditor(_ref2) {
|
|
4291
4395
|
* TreededContentEditor
|
4292
4396
|
*/
|
4293
4397
|
|
4294
|
-
var TreededContentEditor = function TreededContentEditor(
|
4295
|
-
var content =
|
4296
|
-
onChange =
|
4398
|
+
var TreededContentEditor = function TreededContentEditor(_ref4) {
|
4399
|
+
var content = _ref4.content,
|
4400
|
+
onChange = _ref4.onChange;
|
4297
4401
|
var value = content.value();
|
4298
4402
|
var nodes = Object.values(content.type).filter(function (field) {
|
4299
4403
|
return field.type === TYPES.ARRAY;
|
@@ -4358,13 +4462,13 @@ var TreededContentEditor = function TreededContentEditor(_ref3) {
|
|
4358
4462
|
* FieldEditor
|
4359
4463
|
*/
|
4360
4464
|
|
4361
|
-
var FieldEditor = function FieldEditor(
|
4362
|
-
var field =
|
4363
|
-
onChange =
|
4364
|
-
content =
|
4365
|
-
|
4366
|
-
outlined =
|
4367
|
-
onReload =
|
4465
|
+
var FieldEditor = function FieldEditor(_ref5) {
|
4466
|
+
var field = _ref5.field,
|
4467
|
+
onChange = _ref5.onChange,
|
4468
|
+
content = _ref5.content,
|
4469
|
+
_ref5$outlined = _ref5.outlined,
|
4470
|
+
outlined = _ref5$outlined === void 0 ? false : _ref5$outlined,
|
4471
|
+
onReload = _ref5.onReload;
|
4368
4472
|
var id = field.id,
|
4369
4473
|
type = field.type,
|
4370
4474
|
item = field.item,
|
@@ -4451,11 +4555,11 @@ var FieldEditor = function FieldEditor(_ref4) {
|
|
4451
4555
|
* Entity Editor
|
4452
4556
|
*/
|
4453
4557
|
|
4454
|
-
var EntityEditor = function EntityEditor(
|
4455
|
-
var field =
|
4456
|
-
|
4457
|
-
value =
|
4458
|
-
onChange =
|
4558
|
+
var EntityEditor = function EntityEditor(_ref6) {
|
4559
|
+
var field = _ref6.field,
|
4560
|
+
_ref6$value = _ref6.value,
|
4561
|
+
value = _ref6$value === void 0 ? {} : _ref6$value,
|
4562
|
+
onChange = _ref6.onChange;
|
4459
4563
|
var id = field.id,
|
4460
4564
|
item = field.item,
|
4461
4565
|
label = field.label;
|
@@ -4515,13 +4619,13 @@ var EntityEditor = function EntityEditor(_ref5) {
|
|
4515
4619
|
*/
|
4516
4620
|
|
4517
4621
|
|
4518
|
-
var StringEditor = function StringEditor(
|
4519
|
-
var field =
|
4520
|
-
|
4521
|
-
value =
|
4522
|
-
onChange =
|
4523
|
-
content =
|
4524
|
-
outlined =
|
4622
|
+
var StringEditor = function StringEditor(_ref7) {
|
4623
|
+
var field = _ref7.field,
|
4624
|
+
_ref7$value = _ref7.value,
|
4625
|
+
value = _ref7$value === void 0 ? '' : _ref7$value,
|
4626
|
+
onChange = _ref7.onChange,
|
4627
|
+
content = _ref7.content,
|
4628
|
+
outlined = _ref7.outlined;
|
4525
4629
|
var id = field.id,
|
4526
4630
|
format = field.format,
|
4527
4631
|
label = field.label,
|
@@ -4637,12 +4741,12 @@ var StringEditor = function StringEditor(_ref6) {
|
|
4637
4741
|
* Number Editor
|
4638
4742
|
*/
|
4639
4743
|
|
4640
|
-
var NumberEditor = function NumberEditor(
|
4641
|
-
var field =
|
4642
|
-
value =
|
4643
|
-
onChange =
|
4644
|
-
|
4645
|
-
outlined =
|
4744
|
+
var NumberEditor = function NumberEditor(_ref8) {
|
4745
|
+
var field = _ref8.field,
|
4746
|
+
value = _ref8.value,
|
4747
|
+
onChange = _ref8.onChange,
|
4748
|
+
_ref8$outlined = _ref8.outlined,
|
4749
|
+
outlined = _ref8$outlined === void 0 ? false : _ref8$outlined;
|
4646
4750
|
var id = field.id,
|
4647
4751
|
label = field.label,
|
4648
4752
|
_field$editable2 = field.editable,
|
@@ -4675,11 +4779,11 @@ var NumberEditor = function NumberEditor(_ref7) {
|
|
4675
4779
|
*/
|
4676
4780
|
|
4677
4781
|
|
4678
|
-
var ListEditor = function ListEditor(
|
4679
|
-
var field =
|
4680
|
-
|
4681
|
-
value =
|
4682
|
-
onChange =
|
4782
|
+
var ListEditor = function ListEditor(_ref9) {
|
4783
|
+
var field = _ref9.field,
|
4784
|
+
_ref9$value = _ref9.value,
|
4785
|
+
value = _ref9$value === void 0 ? [] : _ref9$value,
|
4786
|
+
onChange = _ref9.onChange;
|
4683
4787
|
var label = field.label;
|
4684
4788
|
|
4685
4789
|
function change(id, value) {
|
@@ -4699,12 +4803,12 @@ var ListEditor = function ListEditor(_ref8) {
|
|
4699
4803
|
* Multi Selection Editor
|
4700
4804
|
*/
|
4701
4805
|
|
4702
|
-
var MultiSelectionEditor = function MultiSelectionEditor(
|
4703
|
-
var field =
|
4704
|
-
|
4705
|
-
value =
|
4706
|
-
content =
|
4707
|
-
onChange =
|
4806
|
+
var MultiSelectionEditor = function MultiSelectionEditor(_ref10) {
|
4807
|
+
var field = _ref10.field,
|
4808
|
+
_ref10$value = _ref10.value,
|
4809
|
+
value = _ref10$value === void 0 ? [] : _ref10$value,
|
4810
|
+
content = _ref10.content,
|
4811
|
+
onChange = _ref10.onChange;
|
4708
4812
|
var id = field.id,
|
4709
4813
|
label = field.label,
|
4710
4814
|
options = field.options;
|
@@ -4743,15 +4847,17 @@ var MultiSelectionEditor = function MultiSelectionEditor(_ref9) {
|
|
4743
4847
|
* Collection Editor
|
4744
4848
|
*/
|
4745
4849
|
|
4746
|
-
var CollectionEditor$1 = function CollectionEditor(
|
4747
|
-
var field =
|
4748
|
-
|
4749
|
-
value =
|
4750
|
-
onChange =
|
4751
|
-
onReload =
|
4850
|
+
var CollectionEditor$1 = function CollectionEditor(_ref11) {
|
4851
|
+
var field = _ref11.field,
|
4852
|
+
_ref11$value = _ref11.value,
|
4853
|
+
value = _ref11$value === void 0 ? [] : _ref11$value,
|
4854
|
+
onChange = _ref11.onChange,
|
4855
|
+
onReload = _ref11.onReload;
|
4752
4856
|
var id = field.id,
|
4753
4857
|
item = field.item,
|
4754
4858
|
label = field.label,
|
4859
|
+
_field$groupBy = field.groupBy,
|
4860
|
+
groupBy = _field$groupBy === void 0 ? "field1" : _field$groupBy,
|
4755
4861
|
Feeder = field.Feeder,
|
4756
4862
|
Renderer = field.Renderer,
|
4757
4863
|
_field$Adder = field.Adder,
|
@@ -4773,42 +4879,24 @@ var CollectionEditor$1 = function CollectionEditor(_ref10) {
|
|
4773
4879
|
}
|
4774
4880
|
}
|
4775
4881
|
|
4776
|
-
function change(index, cellId, cellValue) {
|
4777
|
-
if (onChange) {
|
4778
|
-
var next = value.slice();
|
4779
|
-
next[index][cellId] = cellValue;
|
4780
|
-
onChange(id, next);
|
4781
|
-
}
|
4782
|
-
}
|
4783
|
-
|
4784
4882
|
function reload() {
|
4785
4883
|
if (onReload) onReload();
|
4786
4884
|
}
|
4885
|
+
/* const columns = Object.values(item)
|
4886
|
+
.filter(field => field.column === true)
|
4887
|
+
.map((item) => ({ ...item, onChange: change }))
|
4888
|
+
columns.push({ id: 'actions', label: 'Actions' })
|
4889
|
+
const rows = value.map((item, index) => ({
|
4890
|
+
...item,
|
4891
|
+
id: index,
|
4892
|
+
actions: [
|
4893
|
+
<Icon icon='delete' clickable action={() => remove(index)} size="small" />
|
4894
|
+
]
|
4895
|
+
}))
|
4896
|
+
const table = { columns, rows }
|
4897
|
+
*/
|
4898
|
+
|
4787
4899
|
|
4788
|
-
var columns = Object.values(item).filter(function (field) {
|
4789
|
-
return field.column === true;
|
4790
|
-
}).map(function (item) {
|
4791
|
-
return _extends({}, item, {
|
4792
|
-
onChange: change
|
4793
|
-
});
|
4794
|
-
});
|
4795
|
-
columns.push({
|
4796
|
-
id: 'actions',
|
4797
|
-
label: 'Actions'
|
4798
|
-
});
|
4799
|
-
value.map(function (item, index) {
|
4800
|
-
return _extends({}, item, {
|
4801
|
-
id: index,
|
4802
|
-
actions: [/*#__PURE__*/React__default["default"].createElement(Icon, {
|
4803
|
-
icon: "delete",
|
4804
|
-
clickable: true,
|
4805
|
-
action: function action() {
|
4806
|
-
return remove(index);
|
4807
|
-
},
|
4808
|
-
size: "small"
|
4809
|
-
})]
|
4810
|
-
});
|
4811
|
-
});
|
4812
4900
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
4813
4901
|
className: "collection-editor"
|
4814
4902
|
}, Renderer ? /*#__PURE__*/React__default["default"].createElement(Renderer, {
|
@@ -4818,12 +4906,12 @@ var CollectionEditor$1 = function CollectionEditor(_ref10) {
|
|
4818
4906
|
onChange: onChange,
|
4819
4907
|
onReload: reload
|
4820
4908
|
}) // : <DataTable {...table} editable={editable} />
|
4821
|
-
: /*#__PURE__*/React__default["default"].createElement(TableEditor$
|
4909
|
+
: /*#__PURE__*/React__default["default"].createElement(TableEditor$3, {
|
4822
4910
|
icon: "info",
|
4823
4911
|
title: label,
|
4824
4912
|
data: value,
|
4825
4913
|
schema: item,
|
4826
|
-
groupBy:
|
4914
|
+
groupBy: groupBy,
|
4827
4915
|
canDelete: true,
|
4828
4916
|
remove: remove
|
4829
4917
|
}), /*#__PURE__*/React__default["default"].createElement("footer", null, Feeder ? /*#__PURE__*/React__default["default"].createElement(Feeder, {
|
@@ -4838,9 +4926,9 @@ var CollectionEditor$1 = function CollectionEditor(_ref10) {
|
|
4838
4926
|
* Collection Adder
|
4839
4927
|
*/
|
4840
4928
|
|
4841
|
-
var CollectionAdder = function CollectionAdder(
|
4842
|
-
var item =
|
4843
|
-
onAdd =
|
4929
|
+
var CollectionAdder = function CollectionAdder(_ref12) {
|
4930
|
+
var item = _ref12.item,
|
4931
|
+
onAdd = _ref12.onAdd;
|
4844
4932
|
|
4845
4933
|
var _useState3 = React.useState(false),
|
4846
4934
|
edit = _useState3[0],
|
@@ -4909,7 +4997,7 @@ var CollectionAdder = function CollectionAdder(_ref11) {
|
|
4909
4997
|
*/
|
4910
4998
|
|
4911
4999
|
|
4912
|
-
var TableEditor$
|
5000
|
+
var TableEditor$3 = function TableEditor(props) {
|
4913
5001
|
var select = function select(row) {
|
4914
5002
|
try {
|
4915
5003
|
if (onSelect) onSelect(row.id);
|
@@ -5253,7 +5341,7 @@ var EditContentDialog = function EditContentDialog(_ref) {
|
|
5253
5341
|
* Collection Page
|
5254
5342
|
*/
|
5255
5343
|
|
5256
|
-
function _catch$
|
5344
|
+
function _catch$3(body, recover) {
|
5257
5345
|
try {
|
5258
5346
|
var result = body();
|
5259
5347
|
} catch (e) {
|
@@ -5830,7 +5918,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5830
5918
|
try {
|
5831
5919
|
var _this2 = this;
|
5832
5920
|
|
5833
|
-
var _temp2 = _catch$
|
5921
|
+
var _temp2 = _catch$3(function () {
|
5834
5922
|
return Promise.resolve(API.all(null, page)).then(function (data) {
|
5835
5923
|
_this2.all = field ? data[field] : data;
|
5836
5924
|
});
|
@@ -5879,7 +5967,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5879
5967
|
},
|
5880
5968
|
fetch: function fetch(id) {
|
5881
5969
|
try {
|
5882
|
-
return Promise.resolve(_catch$
|
5970
|
+
return Promise.resolve(_catch$3(function () {
|
5883
5971
|
return Promise.resolve(API.find(id));
|
5884
5972
|
}, function (error) {
|
5885
5973
|
console.log(error);
|
@@ -5895,7 +5983,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5895
5983
|
try {
|
5896
5984
|
var _this8 = this;
|
5897
5985
|
|
5898
|
-
var _temp6 = _catch$
|
5986
|
+
var _temp6 = _catch$3(function () {
|
5899
5987
|
return Promise.resolve(API.create(form)).then(function () {
|
5900
5988
|
return Promise.resolve(_this8.load()).then(function () {});
|
5901
5989
|
});
|
@@ -5912,7 +6000,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5912
6000
|
try {
|
5913
6001
|
var _this10 = this;
|
5914
6002
|
|
5915
|
-
var _temp8 = _catch$
|
6003
|
+
var _temp8 = _catch$3(function () {
|
5916
6004
|
return Promise.resolve(API.update(form)).then(function () {
|
5917
6005
|
return Promise.resolve(_this10.load()).then(function () {});
|
5918
6006
|
});
|
@@ -5929,7 +6017,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5929
6017
|
try {
|
5930
6018
|
var _this12 = this;
|
5931
6019
|
|
5932
|
-
var _temp10 = _catch$
|
6020
|
+
var _temp10 = _catch$3(function () {
|
5933
6021
|
return Promise.resolve(API.patch(id, form)).then(function () {
|
5934
6022
|
return Promise.resolve(_this12.load()).then(function () {});
|
5935
6023
|
});
|
@@ -5946,7 +6034,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5946
6034
|
try {
|
5947
6035
|
var _this14 = this;
|
5948
6036
|
|
5949
|
-
var _temp12 = _catch$
|
6037
|
+
var _temp12 = _catch$3(function () {
|
5950
6038
|
return Promise.resolve(API.updateProperty(id, propertyName, form)).then(function () {
|
5951
6039
|
return Promise.resolve(_this14.load()).then(function () {});
|
5952
6040
|
});
|
@@ -5963,7 +6051,7 @@ var CollectionContext = function CollectionContext(url, field, host, page, fetch
|
|
5963
6051
|
try {
|
5964
6052
|
var _this16 = this;
|
5965
6053
|
|
5966
|
-
var _temp14 = _catch$
|
6054
|
+
var _temp14 = _catch$3(function () {
|
5967
6055
|
return Promise.resolve(API.remove(id)).then(function () {
|
5968
6056
|
return Promise.resolve(_this16.load()).then(function () {});
|
5969
6057
|
});
|
@@ -6176,7 +6264,7 @@ var QUERY = {
|
|
6176
6264
|
* Table Page
|
6177
6265
|
*/
|
6178
6266
|
|
6179
|
-
function _catch$
|
6267
|
+
function _catch$2(body, recover) {
|
6180
6268
|
try {
|
6181
6269
|
var result = body();
|
6182
6270
|
} catch (e) {
|
@@ -6303,7 +6391,7 @@ var TablePage = function TablePage(props) {
|
|
6303
6391
|
pageContext = _useContext[0],
|
6304
6392
|
setPageContext = _useContext[1];
|
6305
6393
|
|
6306
|
-
var context = TableContext$
|
6394
|
+
var context = TableContext$2(url, field, host, urlQuery, params);
|
6307
6395
|
var selected = pageContext.selected;
|
6308
6396
|
var timer = React.useRef(null);
|
6309
6397
|
|
@@ -6403,13 +6491,13 @@ var TablePage = function TablePage(props) {
|
|
6403
6491
|
if (rowSelected || rowChecked) {
|
6404
6492
|
return /*#__PURE__*/React__default["default"].createElement("aside", {
|
6405
6493
|
className: "table-page"
|
6406
|
-
}, rowSelected ? /*#__PURE__*/React__default["default"].createElement(TableRowEditor$
|
6494
|
+
}, rowSelected ? /*#__PURE__*/React__default["default"].createElement(TableRowEditor$2, {
|
6407
6495
|
content: new Content(schema, form),
|
6408
6496
|
filter: editorFilter,
|
6409
6497
|
onChange: change,
|
6410
6498
|
onClose: closeAside,
|
6411
6499
|
editable: canEdit
|
6412
|
-
}) : null, rowChecked ? /*#__PURE__*/React__default["default"].createElement(TableSelector$
|
6500
|
+
}) : null, rowChecked ? /*#__PURE__*/React__default["default"].createElement(TableSelector$2, {
|
6413
6501
|
schema: schema,
|
6414
6502
|
actions: selectionActions
|
6415
6503
|
}) : null);
|
@@ -6450,17 +6538,17 @@ var TablePage = function TablePage(props) {
|
|
6450
6538
|
onSelect: playScenario
|
6451
6539
|
})) : null, renderActions()), canQuery || canFilter ? /*#__PURE__*/React__default["default"].createElement("menu", {
|
6452
6540
|
className: "table-page"
|
6453
|
-
}, canQuery ? /*#__PURE__*/React__default["default"].createElement(TableQueries$
|
6541
|
+
}, canQuery ? /*#__PURE__*/React__default["default"].createElement(TableQueries$2, {
|
6454
6542
|
schema: schema,
|
6455
6543
|
url: url,
|
6456
6544
|
user: user
|
6457
|
-
}) : null, canFilter ? /*#__PURE__*/React__default["default"].createElement(TableFilters$
|
6545
|
+
}) : null, canFilter ? /*#__PURE__*/React__default["default"].createElement(TableFilters$2, {
|
6458
6546
|
schema: schema,
|
6459
6547
|
onSave: canQuery ? saveQuery : null
|
6460
6548
|
}) : null) : null, /*#__PURE__*/React__default["default"].createElement("main", {
|
6461
6549
|
key: id,
|
6462
6550
|
className: "table-page"
|
6463
|
-
}, /*#__PURE__*/React__default["default"].createElement(TableEditor$
|
6551
|
+
}, /*#__PURE__*/React__default["default"].createElement(TableEditor$2, {
|
6464
6552
|
icon: icon,
|
6465
6553
|
title: name,
|
6466
6554
|
schema: schema,
|
@@ -6474,7 +6562,7 @@ var TablePage = function TablePage(props) {
|
|
6474
6562
|
}), children ? /*#__PURE__*/React__default["default"].createElement("article", null, children) : null), renderAside());
|
6475
6563
|
};
|
6476
6564
|
|
6477
|
-
var TableRowEditor$
|
6565
|
+
var TableRowEditor$2 = function TableRowEditor(props) {
|
6478
6566
|
var name = props.name,
|
6479
6567
|
content = props.content,
|
6480
6568
|
filter = props.filter,
|
@@ -6503,7 +6591,7 @@ var TableRowEditor$1 = function TableRowEditor(props) {
|
|
6503
6591
|
*/
|
6504
6592
|
|
6505
6593
|
|
6506
|
-
var TableSelector$
|
6594
|
+
var TableSelector$2 = function TableSelector(props) {
|
6507
6595
|
var schema = props.schema,
|
6508
6596
|
_props$actions2 = props.actions,
|
6509
6597
|
actions = _props$actions2 === void 0 ? [] : _props$actions2;
|
@@ -6541,8 +6629,10 @@ var TableSelector$1 = function TableSelector(props) {
|
|
6541
6629
|
action: function action() {
|
6542
6630
|
return _action(checked, pageContext, function () {
|
6543
6631
|
try {
|
6544
|
-
return Promise.resolve(pageContext.
|
6545
|
-
|
6632
|
+
return Promise.resolve(pageContext.clearChecks()).then(function () {
|
6633
|
+
return Promise.resolve(pageContext.load()).then(function () {
|
6634
|
+
setPageContext(Object.assign({}, pageContext));
|
6635
|
+
});
|
6546
6636
|
});
|
6547
6637
|
} catch (e) {
|
6548
6638
|
return Promise.reject(e);
|
@@ -6566,7 +6656,7 @@ var TableSelector$1 = function TableSelector(props) {
|
|
6566
6656
|
*/
|
6567
6657
|
|
6568
6658
|
|
6569
|
-
var TableQueries$
|
6659
|
+
var TableQueries$2 = function TableQueries(props) {
|
6570
6660
|
var remove = function remove(id) {
|
6571
6661
|
try {
|
6572
6662
|
return Promise.resolve(pageContext.removeQuery(id, user)).then(function () {
|
@@ -6628,7 +6718,7 @@ var TableQueries$1 = function TableQueries(props) {
|
|
6628
6718
|
*/
|
6629
6719
|
|
6630
6720
|
|
6631
|
-
var TableFilters$
|
6721
|
+
var TableFilters$2 = function TableFilters(props) {
|
6632
6722
|
var reload = function reload() {
|
6633
6723
|
try {
|
6634
6724
|
return Promise.resolve(pageContext.load(form)).then(function () {
|
@@ -6724,7 +6814,7 @@ var TableFilters$1 = function TableFilters(props) {
|
|
6724
6814
|
*/
|
6725
6815
|
|
6726
6816
|
|
6727
|
-
var TableEditor$
|
6817
|
+
var TableEditor$2 = function TableEditor(props) {
|
6728
6818
|
var checkOne = function checkOne(id, field, value) {
|
6729
6819
|
check([id], value);
|
6730
6820
|
return Promise.resolve();
|
@@ -6956,8 +7046,8 @@ var TableEditor$1 = function TableEditor(props) {
|
|
6956
7046
|
* Table Context
|
6957
7047
|
*/
|
6958
7048
|
|
6959
|
-
var TableContext$
|
6960
|
-
var API = TableAPI$
|
7049
|
+
var TableContext$2 = function TableContext(url, field, host, urlQuery, params) {
|
7050
|
+
var API = TableAPI$2(url, host, params);
|
6961
7051
|
return {
|
6962
7052
|
all: [],
|
6963
7053
|
checked: new Set([]),
|
@@ -6968,7 +7058,7 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
6968
7058
|
try {
|
6969
7059
|
var _this2 = this;
|
6970
7060
|
|
6971
|
-
var _temp5 = _catch$
|
7061
|
+
var _temp5 = _catch$2(function () {
|
6972
7062
|
var filters = filter ? Object.keys(filter).reduce(function (filters, key) {
|
6973
7063
|
var field = filter[key];
|
6974
7064
|
|
@@ -7014,6 +7104,9 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
7014
7104
|
});
|
7015
7105
|
}
|
7016
7106
|
},
|
7107
|
+
clearChecks: function clearChecks() {
|
7108
|
+
this.checked = new Set([]);
|
7109
|
+
},
|
7017
7110
|
select: function select(id) {
|
7018
7111
|
var result = this.all.find(function (item) {
|
7019
7112
|
return item.id === id;
|
@@ -7027,7 +7120,7 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
7027
7120
|
try {
|
7028
7121
|
var _this5 = this;
|
7029
7122
|
|
7030
|
-
var _temp7 = _catch$
|
7123
|
+
var _temp7 = _catch$2(function () {
|
7031
7124
|
return Promise.resolve(API.create(form)).then(function () {
|
7032
7125
|
return Promise.resolve(_this5.load()).then(function () {});
|
7033
7126
|
});
|
@@ -7044,7 +7137,7 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
7044
7137
|
try {
|
7045
7138
|
var _this7 = this;
|
7046
7139
|
|
7047
|
-
var _temp9 = _catch$
|
7140
|
+
var _temp9 = _catch$2(function () {
|
7048
7141
|
return Promise.resolve(API.update(form)).then(function () {
|
7049
7142
|
return Promise.resolve(_this7.load()).then(function () {});
|
7050
7143
|
});
|
@@ -7061,7 +7154,7 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
7061
7154
|
try {
|
7062
7155
|
var _this9 = this;
|
7063
7156
|
|
7064
|
-
var _temp11 = _catch$
|
7157
|
+
var _temp11 = _catch$2(function () {
|
7065
7158
|
return Promise.resolve(API.remove(id)).then(function () {
|
7066
7159
|
return Promise.resolve(_this9.load()).then(function () {});
|
7067
7160
|
});
|
@@ -7081,7 +7174,7 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
7081
7174
|
try {
|
7082
7175
|
var _this11 = this;
|
7083
7176
|
|
7084
|
-
var _temp13 = _catch$
|
7177
|
+
var _temp13 = _catch$2(function () {
|
7085
7178
|
return Promise.resolve(API.queries(user, urlQuery)).then(function (_API$queries) {
|
7086
7179
|
_this11.queries = _API$queries;
|
7087
7180
|
});
|
@@ -7098,7 +7191,7 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
7098
7191
|
try {
|
7099
7192
|
var _this13 = this;
|
7100
7193
|
|
7101
|
-
var _temp15 = _catch$
|
7194
|
+
var _temp15 = _catch$2(function () {
|
7102
7195
|
return Promise.resolve(API.createQuery(query, urlQuery)).then(function () {
|
7103
7196
|
return Promise.resolve(_this13.loadQueries(user)).then(function () {});
|
7104
7197
|
});
|
@@ -7115,7 +7208,7 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
7115
7208
|
try {
|
7116
7209
|
var _this15 = this;
|
7117
7210
|
|
7118
|
-
var _temp17 = _catch$
|
7211
|
+
var _temp17 = _catch$2(function () {
|
7119
7212
|
return Promise.resolve(API.removeQuery(id, urlQuery)).then(function () {
|
7120
7213
|
return Promise.resolve(_this15.loadQueries(user)).then(function () {});
|
7121
7214
|
});
|
@@ -7135,6 +7228,1023 @@ var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
|
7135
7228
|
*/
|
7136
7229
|
|
7137
7230
|
|
7231
|
+
var TableAPI$2 = function TableAPI(url, host, params) {
|
7232
|
+
if (params === void 0) {
|
7233
|
+
params = "";
|
7234
|
+
}
|
7235
|
+
|
7236
|
+
var http = HTTPClient(host || window.API || process.env.REACT_APP_API, Session);
|
7237
|
+
return {
|
7238
|
+
all: function all(filters) {
|
7239
|
+
var queryParams = "?" + params;
|
7240
|
+
|
7241
|
+
if (filters) {
|
7242
|
+
var filterQuery = Object.keys(filters).reduce(function (query, key) {
|
7243
|
+
var value = filters[key];
|
7244
|
+
|
7245
|
+
if (typeof value === 'boolean') {
|
7246
|
+
return query.concat(key + "=" + value + "&");
|
7247
|
+
} else if (Array.isArray(value)) {
|
7248
|
+
var param = value.length === 0 ? '' : value.reduce(function (param, item) {
|
7249
|
+
param = param.concat(key + "=" + item + "&");
|
7250
|
+
return param;
|
7251
|
+
}, "");
|
7252
|
+
return query.concat(param);
|
7253
|
+
} else {
|
7254
|
+
return query.concat(key + "=%" + filters[key] + "%&");
|
7255
|
+
}
|
7256
|
+
}, "");
|
7257
|
+
queryParams = queryParams.concat(filterQuery);
|
7258
|
+
}
|
7259
|
+
|
7260
|
+
return http.GET(url + queryParams);
|
7261
|
+
},
|
7262
|
+
find: function find(id) {
|
7263
|
+
return http.GET(url + "/" + id);
|
7264
|
+
},
|
7265
|
+
create: function create(form) {
|
7266
|
+
var body = JSON.stringify(form);
|
7267
|
+
return http.POST(url, body);
|
7268
|
+
},
|
7269
|
+
update: function update(form) {
|
7270
|
+
var body = JSON.stringify(form);
|
7271
|
+
return http.PUT(url + "/" + form.id, body);
|
7272
|
+
},
|
7273
|
+
remove: function remove(id) {
|
7274
|
+
return http.DELETE(url + "/" + id);
|
7275
|
+
},
|
7276
|
+
queries: function queries(user, url2) {
|
7277
|
+
var url3 = url2 ? url2 : url;
|
7278
|
+
url3 = url3 + "queries";
|
7279
|
+
if (user) url3 = url3 + ("?user=" + user);
|
7280
|
+
return http.GET(url3);
|
7281
|
+
},
|
7282
|
+
createQuery: function createQuery(form, url2) {
|
7283
|
+
var url3 = url2 ? url2 : url;
|
7284
|
+
var body = JSON.stringify(form);
|
7285
|
+
return http.POST(url3 + "queries", body);
|
7286
|
+
},
|
7287
|
+
removeQuery: function removeQuery(id, url2) {
|
7288
|
+
var url3 = url2 ? url2 : url;
|
7289
|
+
return http.DELETE(url3 + "queries/" + id);
|
7290
|
+
}
|
7291
|
+
};
|
7292
|
+
};
|
7293
|
+
|
7294
|
+
/**
|
7295
|
+
* Table Page
|
7296
|
+
*/
|
7297
|
+
|
7298
|
+
function _catch$1(body, recover) {
|
7299
|
+
try {
|
7300
|
+
var result = body();
|
7301
|
+
} catch (e) {
|
7302
|
+
return recover(e);
|
7303
|
+
}
|
7304
|
+
|
7305
|
+
if (result && result.then) {
|
7306
|
+
return result.then(void 0, recover);
|
7307
|
+
}
|
7308
|
+
|
7309
|
+
return result;
|
7310
|
+
}
|
7311
|
+
/**
|
7312
|
+
* TableRowEditor
|
7313
|
+
*/
|
7314
|
+
|
7315
|
+
|
7316
|
+
var TablePage2 = function TablePage2(props) {
|
7317
|
+
var save = function save() {
|
7318
|
+
try {
|
7319
|
+
return Promise.resolve(pageContext.update(form)).then(function () {
|
7320
|
+
setPageContext(Object.assign({}, pageContext));
|
7321
|
+
});
|
7322
|
+
} catch (e) {
|
7323
|
+
return Promise.reject(e);
|
7324
|
+
}
|
7325
|
+
};
|
7326
|
+
|
7327
|
+
var reload = function reload() {
|
7328
|
+
try {
|
7329
|
+
return Promise.resolve(pageContext.load()).then(function () {
|
7330
|
+
setPageContext(Object.assign({}, pageContext));
|
7331
|
+
});
|
7332
|
+
} catch (e) {
|
7333
|
+
return Promise.reject(e);
|
7334
|
+
}
|
7335
|
+
};
|
7336
|
+
|
7337
|
+
var site = React.useContext(SiteContext);
|
7338
|
+
var _props$id = props.id,
|
7339
|
+
id = _props$id === void 0 ? "table" : _props$id,
|
7340
|
+
icon = props.icon,
|
7341
|
+
title = props.title,
|
7342
|
+
name = props.name,
|
7343
|
+
schema = props.schema,
|
7344
|
+
url = props.url,
|
7345
|
+
field = props.field,
|
7346
|
+
host = props.host,
|
7347
|
+
_props$params = props.params,
|
7348
|
+
params = _props$params === void 0 ? "" : _props$params,
|
7349
|
+
_props$canQuery = props.canQuery,
|
7350
|
+
canQuery = _props$canQuery === void 0 ? false : _props$canQuery,
|
7351
|
+
urlQuery = props.urlQuery,
|
7352
|
+
user = props.user,
|
7353
|
+
editable = props.editable,
|
7354
|
+
_props$autosave = props.autosave,
|
7355
|
+
autosave = _props$autosave === void 0 ? true : _props$autosave,
|
7356
|
+
_props$delay = props.delay,
|
7357
|
+
delay = _props$delay === void 0 ? 1000 : _props$delay,
|
7358
|
+
_props$actions = props.actions,
|
7359
|
+
actions = _props$actions === void 0 ? [] : _props$actions,
|
7360
|
+
tableActions = props.tableActions,
|
7361
|
+
_props$selectionActio = props.selectionActions,
|
7362
|
+
selectionActions = _props$selectionActio === void 0 ? [] : _props$selectionActio,
|
7363
|
+
_props$canFilter = props.canFilter,
|
7364
|
+
canFilter = _props$canFilter === void 0 ? false : _props$canFilter,
|
7365
|
+
_props$canAdd = props.canAdd,
|
7366
|
+
canAdd = _props$canAdd === void 0 ? true : _props$canAdd,
|
7367
|
+
_props$canDelete = props.canDelete,
|
7368
|
+
canDelete = _props$canDelete === void 0 ? true : _props$canDelete,
|
7369
|
+
_props$canEdit = props.canEdit,
|
7370
|
+
canEdit = _props$canEdit === void 0 ? true : _props$canEdit,
|
7371
|
+
groupBy = props.groupBy,
|
7372
|
+
validator = props.validator,
|
7373
|
+
formFilter = props.formFilter,
|
7374
|
+
tableFilter = props.tableFilter,
|
7375
|
+
_props$editorFilter = props.editorFilter,
|
7376
|
+
editorFilter = _props$editorFilter === void 0 ? false : _props$editorFilter,
|
7377
|
+
tabbedBy = props.tabbedBy,
|
7378
|
+
tableClassName = props.tableClassName,
|
7379
|
+
children = props.children;
|
7380
|
+
|
7381
|
+
var _useContext = React.useContext(PageContext),
|
7382
|
+
setPageContext = _useContext[1];
|
7383
|
+
|
7384
|
+
var context = TableContext$1(url, field, host, urlQuery, params);
|
7385
|
+
var _pageContext = pageContext,
|
7386
|
+
selected = _pageContext.selected;
|
7387
|
+
var timer = React.useRef(null);
|
7388
|
+
|
7389
|
+
var _useState = React.useState(selected),
|
7390
|
+
form = _useState[0],
|
7391
|
+
setForm = _useState[1];
|
7392
|
+
|
7393
|
+
React.useEffect(function () {
|
7394
|
+
try {
|
7395
|
+
return Promise.resolve(context.load()).then(function () {
|
7396
|
+
function _temp2() {
|
7397
|
+
setPageContext(context);
|
7398
|
+
}
|
7399
|
+
|
7400
|
+
var _temp = function () {
|
7401
|
+
if (canQuery) return Promise.resolve(context.loadQueries(user)).then(function () {});
|
7402
|
+
}();
|
7403
|
+
|
7404
|
+
return _temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp);
|
7405
|
+
});
|
7406
|
+
} catch (e) {
|
7407
|
+
return Promise.reject(e);
|
7408
|
+
}
|
7409
|
+
}, []);
|
7410
|
+
React.useEffect(function () {
|
7411
|
+
setForm(selected);
|
7412
|
+
}, [selected]);
|
7413
|
+
React.useEffect(function () {
|
7414
|
+
if (autosave) {
|
7415
|
+
clearTimeout(timer.current);
|
7416
|
+
timer.current = setTimeout(function () {
|
7417
|
+
if (canSave()) save();
|
7418
|
+
}, delay);
|
7419
|
+
}
|
7420
|
+
}, [form]);
|
7421
|
+
|
7422
|
+
function add() {
|
7423
|
+
var onOK = function onOK(form) {
|
7424
|
+
try {
|
7425
|
+
return Promise.resolve(pageContext.create(form)).then(function () {
|
7426
|
+
setPageContext(Object.assign({}, pageContext));
|
7427
|
+
});
|
7428
|
+
} catch (e) {
|
7429
|
+
return Promise.reject(e);
|
7430
|
+
}
|
7431
|
+
};
|
7432
|
+
|
7433
|
+
site.openDialog( /*#__PURE__*/React__default["default"].createElement(CreateContentDialog, {
|
7434
|
+
label: "Crear " + name,
|
7435
|
+
type: schema,
|
7436
|
+
onOK: onOK,
|
7437
|
+
validator: validator,
|
7438
|
+
filter: formFilter
|
7439
|
+
}));
|
7440
|
+
}
|
7441
|
+
|
7442
|
+
function saveQuery(filters) {
|
7443
|
+
var onOK = function onOK(form) {
|
7444
|
+
try {
|
7445
|
+
form.filters = filters;
|
7446
|
+
form.layout = {};
|
7447
|
+
form.user = user;
|
7448
|
+
form.url = url;
|
7449
|
+
return Promise.resolve(pageContext.createQuery(form, user)).then(function () {
|
7450
|
+
setPageContext(Object.assign({}, pageContext));
|
7451
|
+
});
|
7452
|
+
} catch (e) {
|
7453
|
+
return Promise.reject(e);
|
7454
|
+
}
|
7455
|
+
};
|
7456
|
+
|
7457
|
+
site.openDialog( /*#__PURE__*/React__default["default"].createElement(CreateContentDialog, {
|
7458
|
+
label: "Nueva query",
|
7459
|
+
type: QUERY,
|
7460
|
+
onOK: onOK
|
7461
|
+
}));
|
7462
|
+
}
|
7463
|
+
|
7464
|
+
function change(next) {
|
7465
|
+
setForm(next);
|
7466
|
+
}
|
7467
|
+
|
7468
|
+
function canSave() {
|
7469
|
+
var can = !equal__default["default"](form, selected);
|
7470
|
+
return can;
|
7471
|
+
}
|
7472
|
+
|
7473
|
+
function closeAside() {
|
7474
|
+
pageContext.select(null);
|
7475
|
+
setPageContext(Object.assign({}, pageContext));
|
7476
|
+
}
|
7477
|
+
|
7478
|
+
function renderAside() {
|
7479
|
+
var rowSelected = selected && form;
|
7480
|
+
var rowChecked = pageContext.checked && pageContext.checked.size > 0;
|
7481
|
+
|
7482
|
+
if (rowSelected || rowChecked) {
|
7483
|
+
return /*#__PURE__*/React__default["default"].createElement("aside", {
|
7484
|
+
className: "table-page"
|
7485
|
+
}, rowSelected ? /*#__PURE__*/React__default["default"].createElement(TableRowEditor$1, {
|
7486
|
+
content: new Content(schema, form),
|
7487
|
+
filter: editorFilter,
|
7488
|
+
onChange: change,
|
7489
|
+
onClose: closeAside,
|
7490
|
+
editable: canEdit
|
7491
|
+
}) : null, rowChecked ? /*#__PURE__*/React__default["default"].createElement(TableSelector$1, {
|
7492
|
+
schema: schema,
|
7493
|
+
actions: selectionActions
|
7494
|
+
}) : null);
|
7495
|
+
}
|
7496
|
+
|
7497
|
+
return null;
|
7498
|
+
}
|
7499
|
+
|
7500
|
+
function renderActions() {
|
7501
|
+
return actions.map(function (element) {
|
7502
|
+
var action = function action() {
|
7503
|
+
return element.props.action(pageContext);
|
7504
|
+
};
|
7505
|
+
|
7506
|
+
var clone = React__default["default"].cloneElement(element, {
|
7507
|
+
action: action
|
7508
|
+
});
|
7509
|
+
return clone;
|
7510
|
+
});
|
7511
|
+
}
|
7512
|
+
|
7513
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
|
7514
|
+
className: "table-page",
|
7515
|
+
title: /*#__PURE__*/React__default["default"].createElement(Text, null, title)
|
7516
|
+
}, canAdd ? /*#__PURE__*/React__default["default"].createElement(Button, {
|
7517
|
+
icon: "add",
|
7518
|
+
label: "A\xF1adir",
|
7519
|
+
action: add,
|
7520
|
+
raised: true
|
7521
|
+
}) : null, "\xA0", /*#__PURE__*/React__default["default"].createElement(Button, {
|
7522
|
+
icon: "refresh",
|
7523
|
+
label: "Reload",
|
7524
|
+
action: reload
|
7525
|
+
}), renderActions()), canQuery || canFilter ? /*#__PURE__*/React__default["default"].createElement("menu", {
|
7526
|
+
className: "table-page"
|
7527
|
+
}, canQuery ? /*#__PURE__*/React__default["default"].createElement(TableQueries$1, {
|
7528
|
+
schema: schema,
|
7529
|
+
url: url,
|
7530
|
+
user: user
|
7531
|
+
}) : null, canFilter ? /*#__PURE__*/React__default["default"].createElement(TableFilters$1, {
|
7532
|
+
schema: schema,
|
7533
|
+
onSave: canQuery ? saveQuery : null
|
7534
|
+
}) : null) : null, /*#__PURE__*/React__default["default"].createElement("main", {
|
7535
|
+
key: id,
|
7536
|
+
className: "table-page"
|
7537
|
+
}, /*#__PURE__*/React__default["default"].createElement(TableEditor$1, {
|
7538
|
+
icon: icon,
|
7539
|
+
title: name,
|
7540
|
+
schema: schema,
|
7541
|
+
delay: delay,
|
7542
|
+
editable: editable,
|
7543
|
+
tabbedBy: tabbedBy,
|
7544
|
+
groupBy: groupBy,
|
7545
|
+
filter: tableFilter,
|
7546
|
+
actions: tableActions,
|
7547
|
+
canDelete: canDelete,
|
7548
|
+
className: tableClassName
|
7549
|
+
}), children ? /*#__PURE__*/React__default["default"].createElement("article", null, children) : null), renderAside());
|
7550
|
+
};
|
7551
|
+
|
7552
|
+
var TableRowEditor$1 = function TableRowEditor(props) {
|
7553
|
+
var name = props.name,
|
7554
|
+
content = props.content,
|
7555
|
+
filter = props.filter,
|
7556
|
+
editable = props.editable,
|
7557
|
+
onChange = props.onChange,
|
7558
|
+
onClose = props.onClose;
|
7559
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
7560
|
+
className: "table-row-editor"
|
7561
|
+
}, /*#__PURE__*/React__default["default"].createElement(Header, {
|
7562
|
+
icon: "local_offer",
|
7563
|
+
title: name || "Propiedades"
|
7564
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7565
|
+
icon: "close",
|
7566
|
+
clickable: true,
|
7567
|
+
action: onClose
|
7568
|
+
})), /*#__PURE__*/React__default["default"].createElement("main", null, editable ? /*#__PURE__*/React__default["default"].createElement(ContentEditor, {
|
7569
|
+
content: content,
|
7570
|
+
onChange: onChange,
|
7571
|
+
filter: filter
|
7572
|
+
}) : /*#__PURE__*/React__default["default"].createElement(ContentViewer, {
|
7573
|
+
content: content
|
7574
|
+
})));
|
7575
|
+
};
|
7576
|
+
/**
|
7577
|
+
* Table Selector
|
7578
|
+
*/
|
7579
|
+
|
7580
|
+
|
7581
|
+
var TableSelector$1 = function TableSelector(props) {
|
7582
|
+
var schema = props.schema,
|
7583
|
+
_props$actions2 = props.actions,
|
7584
|
+
actions = _props$actions2 === void 0 ? [] : _props$actions2;
|
7585
|
+
|
7586
|
+
var _useContext2 = React.useContext(PageContext),
|
7587
|
+
pageContext = _useContext2[0],
|
7588
|
+
setPageContext = _useContext2[1];
|
7589
|
+
|
7590
|
+
var all = pageContext.all,
|
7591
|
+
checked = pageContext.checked;
|
7592
|
+
var count = checked.size + "/" + all.length;
|
7593
|
+
var columns = Object.keys(schema).filter(function (key) {
|
7594
|
+
return schema[key].selectorColumn === true;
|
7595
|
+
}).map(function (key) {
|
7596
|
+
var field = schema[key];
|
7597
|
+
return {
|
7598
|
+
id: field.id,
|
7599
|
+
label: field.label
|
7600
|
+
};
|
7601
|
+
});
|
7602
|
+
var rows = all.filter(function (item) {
|
7603
|
+
return checked.has(item.id);
|
7604
|
+
});
|
7605
|
+
var table = {
|
7606
|
+
columns: columns,
|
7607
|
+
rows: rows || []
|
7608
|
+
};
|
7609
|
+
var buttons = actions.map(function (_ref) {
|
7610
|
+
var label = _ref.label,
|
7611
|
+
_action = _ref.action,
|
7612
|
+
validate = _ref.validate;
|
7613
|
+
return /*#__PURE__*/React__default["default"].createElement(Button, {
|
7614
|
+
label: label,
|
7615
|
+
raised: true,
|
7616
|
+
action: function action() {
|
7617
|
+
return _action(checked, pageContext, function () {
|
7618
|
+
try {
|
7619
|
+
return Promise.resolve(pageContext.load()).then(function () {
|
7620
|
+
setPageContext(Object.assign({}, pageContext));
|
7621
|
+
});
|
7622
|
+
} catch (e) {
|
7623
|
+
return Promise.reject(e);
|
7624
|
+
}
|
7625
|
+
}, rows);
|
7626
|
+
},
|
7627
|
+
disabled: !validate(checked, rows)
|
7628
|
+
});
|
7629
|
+
});
|
7630
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
7631
|
+
className: "table-selector"
|
7632
|
+
}, /*#__PURE__*/React__default["default"].createElement(Header, {
|
7633
|
+
icon: "checklist_rtl",
|
7634
|
+
title: "Selecci\xF3n"
|
7635
|
+
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
7636
|
+
className: "size"
|
7637
|
+
}, count)), /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(DataTable, table)), /*#__PURE__*/React__default["default"].createElement("footer", null, buttons));
|
7638
|
+
};
|
7639
|
+
/**
|
7640
|
+
* Table Queries
|
7641
|
+
*/
|
7642
|
+
|
7643
|
+
|
7644
|
+
var TableQueries$1 = function TableQueries(props) {
|
7645
|
+
var remove = function remove(id) {
|
7646
|
+
try {
|
7647
|
+
return Promise.resolve(pageContext.removeQuery(id, user)).then(function () {
|
7648
|
+
setPageContext(Object.assign({}, pageContext));
|
7649
|
+
});
|
7650
|
+
} catch (e) {
|
7651
|
+
return Promise.reject(e);
|
7652
|
+
}
|
7653
|
+
};
|
7654
|
+
|
7655
|
+
var _useContext3 = React.useContext(PageContext),
|
7656
|
+
pageContext = _useContext3[0],
|
7657
|
+
setPageContext = _useContext3[1];
|
7658
|
+
|
7659
|
+
var url = props.url,
|
7660
|
+
user = props.user;
|
7661
|
+
var _pageContext$queries = pageContext.queries,
|
7662
|
+
queries = _pageContext$queries === void 0 ? [] : _pageContext$queries;
|
7663
|
+
|
7664
|
+
var _useState2 = React.useState(),
|
7665
|
+
selected = _useState2[0],
|
7666
|
+
setSelected = _useState2[1];
|
7667
|
+
|
7668
|
+
function select(query) {
|
7669
|
+
setSelected(query.id);
|
7670
|
+
pageContext.changeFilters(query.filters);
|
7671
|
+
setPageContext(Object.assign({}, pageContext));
|
7672
|
+
}
|
7673
|
+
|
7674
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
|
7675
|
+
className: "table-queries",
|
7676
|
+
title: /*#__PURE__*/React__default["default"].createElement(Text, null, "Queries")
|
7677
|
+
}), /*#__PURE__*/React__default["default"].createElement("main", {
|
7678
|
+
className: "table-queries"
|
7679
|
+
}, queries ? queries.filter(function (query) {
|
7680
|
+
return query.url === url;
|
7681
|
+
}).map(function (query) {
|
7682
|
+
var style = selected === query.id ? "selected" : "";
|
7683
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
7684
|
+
className: "table-queries-item " + style,
|
7685
|
+
onClick: function onClick() {
|
7686
|
+
return select(query);
|
7687
|
+
}
|
7688
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7689
|
+
icon: "star",
|
7690
|
+
size: "small"
|
7691
|
+
}), /*#__PURE__*/React__default["default"].createElement("label", null, query.name), /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7692
|
+
icon: "close",
|
7693
|
+
clickable: true,
|
7694
|
+
size: "small",
|
7695
|
+
action: function action() {
|
7696
|
+
return remove(query.id);
|
7697
|
+
}
|
7698
|
+
}));
|
7699
|
+
}) : /*#__PURE__*/React__default["default"].createElement("div", null, "...empty...")));
|
7700
|
+
};
|
7701
|
+
/**
|
7702
|
+
* Table Filters
|
7703
|
+
*/
|
7704
|
+
|
7705
|
+
|
7706
|
+
var TableFilters$1 = function TableFilters(props) {
|
7707
|
+
var reload = function reload() {
|
7708
|
+
try {
|
7709
|
+
return Promise.resolve(pageContext.load(form)).then(function () {
|
7710
|
+
setPageContext(Object.assign({}, pageContext));
|
7711
|
+
});
|
7712
|
+
} catch (e) {
|
7713
|
+
return Promise.reject(e);
|
7714
|
+
}
|
7715
|
+
};
|
7716
|
+
|
7717
|
+
var change = function change(next) {
|
7718
|
+
try {
|
7719
|
+
setForm(next);
|
7720
|
+
return Promise.resolve();
|
7721
|
+
} catch (e) {
|
7722
|
+
return Promise.reject(e);
|
7723
|
+
}
|
7724
|
+
};
|
7725
|
+
|
7726
|
+
var _useContext4 = React.useContext(PageContext),
|
7727
|
+
pageContext = _useContext4[0],
|
7728
|
+
setPageContext = _useContext4[1];
|
7729
|
+
|
7730
|
+
var filters = pageContext.filters;
|
7731
|
+
var schema = props.schema,
|
7732
|
+
onSave = props.onSave;
|
7733
|
+
|
7734
|
+
var _useState3 = React.useState({}),
|
7735
|
+
form = _useState3[0],
|
7736
|
+
setForm = _useState3[1];
|
7737
|
+
|
7738
|
+
var filterSchema = React.useMemo(function () {
|
7739
|
+
var filterSchema = Object.assign({}, schema);
|
7740
|
+
|
7741
|
+
for (var key in filterSchema) {
|
7742
|
+
if (filterSchema[key].filter === false) {
|
7743
|
+
delete filterSchema[key];
|
7744
|
+
} else {
|
7745
|
+
if (filterSchema[key].type === TYPES.ENTITY) {
|
7746
|
+
var fs = filterSchema[key].item;
|
7747
|
+
|
7748
|
+
for (var key in fs) {
|
7749
|
+
if (fs[key].filter === false) delete fs[key];
|
7750
|
+
}
|
7751
|
+
}
|
7752
|
+
}
|
7753
|
+
} //Object.values(filterSchema).forEach(field => field.section = null)
|
7754
|
+
|
7755
|
+
|
7756
|
+
delete filterSchema.flows;
|
7757
|
+
return filterSchema;
|
7758
|
+
}, [schema]);
|
7759
|
+
React.useEffect(function () {
|
7760
|
+
if (filters) setForm(filters);
|
7761
|
+
}, [filters]);
|
7762
|
+
React.useEffect(function () {
|
7763
|
+
reload();
|
7764
|
+
}, [form]);
|
7765
|
+
|
7766
|
+
function clear() {
|
7767
|
+
change({});
|
7768
|
+
}
|
7769
|
+
|
7770
|
+
function save() {
|
7771
|
+
if (onSave) {
|
7772
|
+
onSave(form);
|
7773
|
+
}
|
7774
|
+
}
|
7775
|
+
|
7776
|
+
var content = new Content(filterSchema, form);
|
7777
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
|
7778
|
+
className: "table-filters",
|
7779
|
+
title: /*#__PURE__*/React__default["default"].createElement(Text, null, "Filters")
|
7780
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7781
|
+
icon: "filter_list_off",
|
7782
|
+
size: "small",
|
7783
|
+
clickable: true,
|
7784
|
+
action: clear
|
7785
|
+
}), onSave ? /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7786
|
+
icon: "save",
|
7787
|
+
size: "small",
|
7788
|
+
clickable: true,
|
7789
|
+
action: save
|
7790
|
+
}) : null), /*#__PURE__*/React__default["default"].createElement("main", {
|
7791
|
+
className: "table-filters"
|
7792
|
+
}, /*#__PURE__*/React__default["default"].createElement(ContentEditor, {
|
7793
|
+
content: content,
|
7794
|
+
onChange: change
|
7795
|
+
})));
|
7796
|
+
};
|
7797
|
+
/**
|
7798
|
+
* Table Editor
|
7799
|
+
*/
|
7800
|
+
|
7801
|
+
|
7802
|
+
var TableEditor$1 = function TableEditor(props) {
|
7803
|
+
var checkOne = function checkOne(id, field, value) {
|
7804
|
+
check([id], value);
|
7805
|
+
return Promise.resolve();
|
7806
|
+
};
|
7807
|
+
|
7808
|
+
var check = function check(ids, value) {
|
7809
|
+
try {
|
7810
|
+
pageContext.check(ids, value);
|
7811
|
+
setPageContext(Object.assign({}, pageContext));
|
7812
|
+
return Promise.resolve();
|
7813
|
+
} catch (e) {
|
7814
|
+
return Promise.reject(e);
|
7815
|
+
}
|
7816
|
+
};
|
7817
|
+
|
7818
|
+
var select = function select(row, event) {
|
7819
|
+
try {
|
7820
|
+
clear();
|
7821
|
+
return Promise.resolve(pageContext.select(row.id)).then(function () {
|
7822
|
+
setPageContext(Object.assign({}, pageContext));
|
7823
|
+
});
|
7824
|
+
} catch (e) {
|
7825
|
+
return Promise.reject(e);
|
7826
|
+
}
|
7827
|
+
};
|
7828
|
+
|
7829
|
+
var remove = function remove(id) {
|
7830
|
+
try {
|
7831
|
+
return Promise.resolve(site.confirm("Are you sure ?")).then(function (confirm) {
|
7832
|
+
var _temp5 = function () {
|
7833
|
+
if (confirm) {
|
7834
|
+
return Promise.resolve(pageContext.remove(id)).then(function () {
|
7835
|
+
pageContext.clear();
|
7836
|
+
setPageContext(Object.assign({}, pageContext));
|
7837
|
+
});
|
7838
|
+
}
|
7839
|
+
}();
|
7840
|
+
|
7841
|
+
if (_temp5 && _temp5.then) return _temp5.then(function () {});
|
7842
|
+
});
|
7843
|
+
} catch (e) {
|
7844
|
+
return Promise.reject(e);
|
7845
|
+
}
|
7846
|
+
};
|
7847
|
+
|
7848
|
+
var site = React.useContext(SiteContext);
|
7849
|
+
|
7850
|
+
var _useContext5 = React.useContext(PageContext),
|
7851
|
+
pageContext = _useContext5[0],
|
7852
|
+
setPageContext = _useContext5[1];
|
7853
|
+
|
7854
|
+
var _pageContext$all = pageContext.all,
|
7855
|
+
all = _pageContext$all === void 0 ? [] : _pageContext$all;
|
7856
|
+
var icon = props.icon,
|
7857
|
+
title = props.title,
|
7858
|
+
schema = props.schema,
|
7859
|
+
editable = props.editable,
|
7860
|
+
canDelete = props.canDelete,
|
7861
|
+
filter = props.filter,
|
7862
|
+
actions = props.actions,
|
7863
|
+
className = props.className;
|
7864
|
+
|
7865
|
+
var _useState4 = React.useState(props.groupBy),
|
7866
|
+
groupBy = _useState4[0],
|
7867
|
+
setGroupBy = _useState4[1];
|
7868
|
+
|
7869
|
+
var _useState5 = React.useState(0),
|
7870
|
+
tab = _useState5[0];
|
7871
|
+
|
7872
|
+
React.useEffect(function () {
|
7873
|
+
try {
|
7874
|
+
var _temp4 = function () {
|
7875
|
+
if (tab) {
|
7876
|
+
var _filter2;
|
7877
|
+
|
7878
|
+
var _filter = (_filter2 = {}, _filter2[tab.field] = tab.value, _filter2);
|
7879
|
+
|
7880
|
+
return Promise.resolve(pageContext.load(_filter, [])).then(function () {
|
7881
|
+
setPageContext(Object.assign({}, pageContext));
|
7882
|
+
});
|
7883
|
+
}
|
7884
|
+
}();
|
7885
|
+
|
7886
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
|
7887
|
+
} catch (e) {
|
7888
|
+
return Promise.reject(e);
|
7889
|
+
}
|
7890
|
+
}, [tab]);
|
7891
|
+
|
7892
|
+
function changeGroup(id, value) {
|
7893
|
+
setGroupBy(value);
|
7894
|
+
}
|
7895
|
+
|
7896
|
+
function change(rowID, cellID, value) {
|
7897
|
+
var _Object$assign;
|
7898
|
+
|
7899
|
+
var row = all.find(function (r) {
|
7900
|
+
return r.id === rowID;
|
7901
|
+
});
|
7902
|
+
var next = Object.assign({}, row, (_Object$assign = {}, _Object$assign[cellID] = value, _Object$assign));
|
7903
|
+
delete next.actions;
|
7904
|
+
pageContext.update(next);
|
7905
|
+
setPageContext(Object.assign({}, pageContext));
|
7906
|
+
}
|
7907
|
+
|
7908
|
+
function clear() {
|
7909
|
+
pageContext.clear();
|
7910
|
+
setPageContext(Object.assign({}, pageContext));
|
7911
|
+
}
|
7912
|
+
|
7913
|
+
function run(action, item) {
|
7914
|
+
action.action(item.id, pageContext, function () {
|
7915
|
+
try {
|
7916
|
+
return Promise.resolve(pageContext.load()).then(function () {
|
7917
|
+
setPageContext(Object.assign({}, pageContext));
|
7918
|
+
});
|
7919
|
+
} catch (e) {
|
7920
|
+
return Promise.reject(e);
|
7921
|
+
}
|
7922
|
+
});
|
7923
|
+
}
|
7924
|
+
|
7925
|
+
function buildGroupOptions(schema) {
|
7926
|
+
return Object.values(schema).filter(function (field) {
|
7927
|
+
return field.grouper === true;
|
7928
|
+
}).map(function (field) {
|
7929
|
+
return {
|
7930
|
+
label: field.label,
|
7931
|
+
value: field.id
|
7932
|
+
};
|
7933
|
+
});
|
7934
|
+
}
|
7935
|
+
|
7936
|
+
function renderGroupLabel(groupName) {
|
7937
|
+
var grouper = schema[groupBy];
|
7938
|
+
if (!groupName || !grouper) return "";
|
7939
|
+
|
7940
|
+
if (grouper.options) {
|
7941
|
+
var options = CHECK['isFunction'](grouper.options) ? grouper.options() : grouper.options;
|
7942
|
+
var option = options.find(function (option) {
|
7943
|
+
return option.value === groupName;
|
7944
|
+
});
|
7945
|
+
return option ? option.label : groupName;
|
7946
|
+
} else {
|
7947
|
+
return groupName;
|
7948
|
+
}
|
7949
|
+
}
|
7950
|
+
|
7951
|
+
var tabField = Object.values(schema).find(function (field) {
|
7952
|
+
return field.tab === true;
|
7953
|
+
});
|
7954
|
+
var tabs = tabField ? tabField.options.map(function (option) {
|
7955
|
+
return Object.assign({}, option, {
|
7956
|
+
field: tabField.id
|
7957
|
+
});
|
7958
|
+
}) : [];
|
7959
|
+
var table = React.useMemo(function () {
|
7960
|
+
return {
|
7961
|
+
columns: Object.values(schema).filter(function (field) {
|
7962
|
+
return field.column === true;
|
7963
|
+
}).map(function (field) {
|
7964
|
+
var options = field.options;
|
7965
|
+
|
7966
|
+
if (options && typeof options == 'function') {
|
7967
|
+
options = options();
|
7968
|
+
}
|
7969
|
+
|
7970
|
+
return {
|
7971
|
+
id: field.id,
|
7972
|
+
label: field.label,
|
7973
|
+
type: field.type,
|
7974
|
+
format: field.format,
|
7975
|
+
item: field.item ? field.item : [],
|
7976
|
+
onChange: field.id === "checked" ? checkOne : field.editable ? change : null,
|
7977
|
+
|
7978
|
+
/* checked has it´s own handler */
|
7979
|
+
options: options
|
7980
|
+
};
|
7981
|
+
}),
|
7982
|
+
rows: []
|
7983
|
+
};
|
7984
|
+
}, [schema]);
|
7985
|
+
var items = filter ? filter(all) : all;
|
7986
|
+
if (items.length === 0) return /*#__PURE__*/React__default["default"].createElement("div", {
|
7987
|
+
className: "empty-message"
|
7988
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7989
|
+
icon: "search_off"
|
7990
|
+
}), /*#__PURE__*/React__default["default"].createElement(Text, null, "No Result Found"));
|
7991
|
+
var groups = items.reduce(function (groups, item) {
|
7992
|
+
var groupName = item[groupBy];
|
7993
|
+
if (!groups[groupName]) groups[groupName] = [];
|
7994
|
+
groups[groupName].push(item);
|
7995
|
+
return groups;
|
7996
|
+
}, {});
|
7997
|
+
var sections = Object.keys(groups).map(function (groupName) {
|
7998
|
+
var rows = groups[groupName].map(function (item) {
|
7999
|
+
item.checked = pageContext.checked ? pageContext.checked.has(item.id) : false;
|
8000
|
+
item.actions = actions ? actions.map(function (_action2) {
|
8001
|
+
return _action2.filter ? _action2.filter(item) ? /*#__PURE__*/React__default["default"].createElement(Icon, {
|
8002
|
+
icon: _action2.icon,
|
8003
|
+
clickable: true,
|
8004
|
+
size: "small",
|
8005
|
+
action: function action() {
|
8006
|
+
return run(_action2, item);
|
8007
|
+
}
|
8008
|
+
}) : null : /*#__PURE__*/React__default["default"].createElement(Icon, {
|
8009
|
+
icon: _action2.icon,
|
8010
|
+
clickable: true,
|
8011
|
+
size: "small",
|
8012
|
+
action: function action() {
|
8013
|
+
return run(_action2, item);
|
8014
|
+
}
|
8015
|
+
});
|
8016
|
+
}) : [];
|
8017
|
+
if (canDelete) item.actions.push( /*#__PURE__*/React__default["default"].createElement(Icon, {
|
8018
|
+
icon: "delete",
|
8019
|
+
size: "small",
|
8020
|
+
clickable: true,
|
8021
|
+
action: function action() {
|
8022
|
+
return remove(item.id);
|
8023
|
+
}
|
8024
|
+
}));
|
8025
|
+
return item;
|
8026
|
+
});
|
8027
|
+
table.rows = rows;
|
8028
|
+
return {
|
8029
|
+
id: groupName,
|
8030
|
+
checked: false,
|
8031
|
+
title: renderGroupLabel(groupName),
|
8032
|
+
info: groups[groupName].length,
|
8033
|
+
open: true,
|
8034
|
+
children: /*#__PURE__*/React__default["default"].createElement(DataTable, _extends({}, table, {
|
8035
|
+
onRowSelection: select,
|
8036
|
+
editable: editable,
|
8037
|
+
onCheckAll: check,
|
8038
|
+
className: className
|
8039
|
+
}))
|
8040
|
+
};
|
8041
|
+
});
|
8042
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
|
8043
|
+
icon: icon,
|
8044
|
+
title: /*#__PURE__*/React__default["default"].createElement(Text, null, title)
|
8045
|
+
}, groupBy ? /*#__PURE__*/React__default["default"].createElement(DropDown, {
|
8046
|
+
id: "groupBy",
|
8047
|
+
label: "Agrupar Por",
|
8048
|
+
value: groupBy,
|
8049
|
+
options: buildGroupOptions(schema),
|
8050
|
+
onChange: changeGroup
|
8051
|
+
}) : null, tabbedBy ? /*#__PURE__*/React__default["default"].createElement(Tabs, {
|
8052
|
+
fillRight: true,
|
8053
|
+
fillLeft: false
|
8054
|
+
}, tabs.map(function (tab) {
|
8055
|
+
return /*#__PURE__*/React__default["default"].createElement(Tab, {
|
8056
|
+
id: tab.value,
|
8057
|
+
label: tab.label
|
8058
|
+
});
|
8059
|
+
})) : ''), /*#__PURE__*/React__default["default"].createElement("main", {
|
8060
|
+
className: "table-editor"
|
8061
|
+
}, /*#__PURE__*/React__default["default"].createElement(Accordion, {
|
8062
|
+
sections: sections
|
8063
|
+
})));
|
8064
|
+
};
|
8065
|
+
/**
|
8066
|
+
* Table Context
|
8067
|
+
*/
|
8068
|
+
|
8069
|
+
var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
8070
|
+
var API = TableAPI$1(url, host, params);
|
8071
|
+
return {
|
8072
|
+
all: [],
|
8073
|
+
checked: new Set([]),
|
8074
|
+
selected: null,
|
8075
|
+
filters: {},
|
8076
|
+
queries: [],
|
8077
|
+
load: function load(filter) {
|
8078
|
+
try {
|
8079
|
+
var _this2 = this;
|
8080
|
+
|
8081
|
+
var _temp7 = _catch$1(function () {
|
8082
|
+
var filters = filter ? Object.keys(filter).reduce(function (filters, key) {
|
8083
|
+
var field = filter[key];
|
8084
|
+
|
8085
|
+
if (field) {
|
8086
|
+
if (CHECK['isObject'](field)) {
|
8087
|
+
Object.keys(field).forEach(function (key2) {
|
8088
|
+
var subfield = field[key2];
|
8089
|
+
if (subfield) filters[key + "." + key2] = subfield;
|
8090
|
+
});
|
8091
|
+
} else {
|
8092
|
+
filters[key] = field;
|
8093
|
+
}
|
8094
|
+
}
|
8095
|
+
|
8096
|
+
return filters;
|
8097
|
+
}, {}) : [];
|
8098
|
+
return Promise.resolve(API.all(filters)).then(function (data) {
|
8099
|
+
_this2.all = field ? data[field] : data;
|
8100
|
+
});
|
8101
|
+
}, function (error) {
|
8102
|
+
console.log(error);
|
8103
|
+
});
|
8104
|
+
|
8105
|
+
return Promise.resolve(_temp7 && _temp7.then ? _temp7.then(function () {}) : void 0);
|
8106
|
+
} catch (e) {
|
8107
|
+
return Promise.reject(e);
|
8108
|
+
}
|
8109
|
+
},
|
8110
|
+
check: function check(ids, isChecked) {
|
8111
|
+
var _this3 = this;
|
8112
|
+
|
8113
|
+
if (isChecked === void 0) {
|
8114
|
+
isChecked = true;
|
8115
|
+
}
|
8116
|
+
|
8117
|
+
if (isChecked) {
|
8118
|
+
ids.forEach(function (id) {
|
8119
|
+
return _this3.checked.add(id);
|
8120
|
+
});
|
8121
|
+
} else {
|
8122
|
+
ids.forEach(function (id) {
|
8123
|
+
return _this3.checked["delete"](id);
|
8124
|
+
});
|
8125
|
+
}
|
8126
|
+
},
|
8127
|
+
select: function select(id) {
|
8128
|
+
var result = this.all.find(function (item) {
|
8129
|
+
return item.id === id;
|
8130
|
+
});
|
8131
|
+
this.selected = result;
|
8132
|
+
},
|
8133
|
+
clear: function clear() {
|
8134
|
+
this.selected = null;
|
8135
|
+
},
|
8136
|
+
create: function create(form) {
|
8137
|
+
try {
|
8138
|
+
var _this5 = this;
|
8139
|
+
|
8140
|
+
var _temp9 = _catch$1(function () {
|
8141
|
+
return Promise.resolve(API.create(form)).then(function () {
|
8142
|
+
return Promise.resolve(_this5.load()).then(function () {});
|
8143
|
+
});
|
8144
|
+
}, function (error) {
|
8145
|
+
console.log(error);
|
8146
|
+
});
|
8147
|
+
|
8148
|
+
return Promise.resolve(_temp9 && _temp9.then ? _temp9.then(function () {}) : void 0);
|
8149
|
+
} catch (e) {
|
8150
|
+
return Promise.reject(e);
|
8151
|
+
}
|
8152
|
+
},
|
8153
|
+
update: function update(form) {
|
8154
|
+
try {
|
8155
|
+
var _this7 = this;
|
8156
|
+
|
8157
|
+
var _temp11 = _catch$1(function () {
|
8158
|
+
return Promise.resolve(API.update(form)).then(function () {
|
8159
|
+
return Promise.resolve(_this7.load()).then(function () {});
|
8160
|
+
});
|
8161
|
+
}, function (error) {
|
8162
|
+
console.log(error);
|
8163
|
+
});
|
8164
|
+
|
8165
|
+
return Promise.resolve(_temp11 && _temp11.then ? _temp11.then(function () {}) : void 0);
|
8166
|
+
} catch (e) {
|
8167
|
+
return Promise.reject(e);
|
8168
|
+
}
|
8169
|
+
},
|
8170
|
+
remove: function remove(id) {
|
8171
|
+
try {
|
8172
|
+
var _this9 = this;
|
8173
|
+
|
8174
|
+
var _temp13 = _catch$1(function () {
|
8175
|
+
return Promise.resolve(API.remove(id)).then(function () {
|
8176
|
+
return Promise.resolve(_this9.load()).then(function () {});
|
8177
|
+
});
|
8178
|
+
}, function (error) {
|
8179
|
+
console.log(error);
|
8180
|
+
});
|
8181
|
+
|
8182
|
+
return Promise.resolve(_temp13 && _temp13.then ? _temp13.then(function () {}) : void 0);
|
8183
|
+
} catch (e) {
|
8184
|
+
return Promise.reject(e);
|
8185
|
+
}
|
8186
|
+
},
|
8187
|
+
changeFilters: function changeFilters(filters) {
|
8188
|
+
this.filters = filters;
|
8189
|
+
},
|
8190
|
+
loadQueries: function loadQueries(user) {
|
8191
|
+
try {
|
8192
|
+
var _this11 = this;
|
8193
|
+
|
8194
|
+
var _temp15 = _catch$1(function () {
|
8195
|
+
return Promise.resolve(API.queries(user, urlQuery)).then(function (_API$queries) {
|
8196
|
+
_this11.queries = _API$queries;
|
8197
|
+
});
|
8198
|
+
}, function (error) {
|
8199
|
+
console.log(error);
|
8200
|
+
});
|
8201
|
+
|
8202
|
+
return Promise.resolve(_temp15 && _temp15.then ? _temp15.then(function () {}) : void 0);
|
8203
|
+
} catch (e) {
|
8204
|
+
return Promise.reject(e);
|
8205
|
+
}
|
8206
|
+
},
|
8207
|
+
createQuery: function createQuery(query, user) {
|
8208
|
+
try {
|
8209
|
+
var _this13 = this;
|
8210
|
+
|
8211
|
+
var _temp17 = _catch$1(function () {
|
8212
|
+
return Promise.resolve(API.createQuery(query, urlQuery)).then(function () {
|
8213
|
+
return Promise.resolve(_this13.loadQueries(user)).then(function () {});
|
8214
|
+
});
|
8215
|
+
}, function (error) {
|
8216
|
+
console.log(error);
|
8217
|
+
});
|
8218
|
+
|
8219
|
+
return Promise.resolve(_temp17 && _temp17.then ? _temp17.then(function () {}) : void 0);
|
8220
|
+
} catch (e) {
|
8221
|
+
return Promise.reject(e);
|
8222
|
+
}
|
8223
|
+
},
|
8224
|
+
removeQuery: function removeQuery(id, user) {
|
8225
|
+
try {
|
8226
|
+
var _this15 = this;
|
8227
|
+
|
8228
|
+
var _temp19 = _catch$1(function () {
|
8229
|
+
return Promise.resolve(API.removeQuery(id, urlQuery)).then(function () {
|
8230
|
+
return Promise.resolve(_this15.loadQueries(user)).then(function () {});
|
8231
|
+
});
|
8232
|
+
}, function (error) {
|
8233
|
+
console.log(error);
|
8234
|
+
});
|
8235
|
+
|
8236
|
+
return Promise.resolve(_temp19 && _temp19.then ? _temp19.then(function () {}) : void 0);
|
8237
|
+
} catch (e) {
|
8238
|
+
return Promise.reject(e);
|
8239
|
+
}
|
8240
|
+
}
|
8241
|
+
};
|
8242
|
+
};
|
8243
|
+
/**
|
8244
|
+
* Table API
|
8245
|
+
*/
|
8246
|
+
|
8247
|
+
|
7138
8248
|
var TableAPI$1 = function TableAPI(url, host, params) {
|
7139
8249
|
if (params === void 0) {
|
7140
8250
|
params = "";
|
@@ -8300,6 +9410,7 @@ var isFunction = function isFunction(value) {
|
|
8300
9410
|
return value && (Object.prototype.toString.call(value) === "[object Function]" || "function" === typeof value || value instanceof Function);
|
8301
9411
|
};
|
8302
9412
|
|
9413
|
+
exports.Accordion = Accordion;
|
8303
9414
|
exports.Avatar = Avatar;
|
8304
9415
|
exports.Button = Button;
|
8305
9416
|
exports.Calendar = Calendar;
|
@@ -8359,8 +9470,9 @@ exports.Tab = Tab;
|
|
8359
9470
|
exports.TabbedContentEditor = TabbedContentEditor;
|
8360
9471
|
exports.TabbedTablePage = TabbedTablePage;
|
8361
9472
|
exports.TabbedView = TabbedView;
|
8362
|
-
exports.TableEditor = TableEditor$
|
9473
|
+
exports.TableEditor = TableEditor$2;
|
8363
9474
|
exports.TablePage = TablePage;
|
9475
|
+
exports.TablePage2 = TablePage2;
|
8364
9476
|
exports.Tabs = Tabs;
|
8365
9477
|
exports.Text = Text;
|
8366
9478
|
exports.TextArea = TextArea;
|