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.umd.js
CHANGED
@@ -11,7 +11,7 @@
|
|
11
11
|
var ResumableJS__default = /*#__PURE__*/_interopDefaultLegacy(ResumableJS);
|
12
12
|
var equal__default = /*#__PURE__*/_interopDefaultLegacy(equal);
|
13
13
|
|
14
|
-
function _catch$
|
14
|
+
function _catch$4(body, recover) {
|
15
15
|
try {
|
16
16
|
var result = body();
|
17
17
|
} catch (e) {
|
@@ -43,7 +43,7 @@
|
|
43
43
|
body: body
|
44
44
|
};
|
45
45
|
if (headers) request.headers = request.headers;
|
46
|
-
return Promise.resolve(_catch$
|
46
|
+
return Promise.resolve(_catch$4(function () {
|
47
47
|
return Promise.resolve(fetch(URL, request)).then(function (response) {
|
48
48
|
var _exit;
|
49
49
|
|
@@ -144,6 +144,24 @@
|
|
144
144
|
}
|
145
145
|
};
|
146
146
|
|
147
|
+
function _extends() {
|
148
|
+
_extends = Object.assign || function (target) {
|
149
|
+
for (var i = 1; i < arguments.length; i++) {
|
150
|
+
var source = arguments[i];
|
151
|
+
|
152
|
+
for (var key in source) {
|
153
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
154
|
+
target[key] = source[key];
|
155
|
+
}
|
156
|
+
}
|
157
|
+
}
|
158
|
+
|
159
|
+
return target;
|
160
|
+
};
|
161
|
+
|
162
|
+
return _extends.apply(this, arguments);
|
163
|
+
}
|
164
|
+
|
147
165
|
/**
|
148
166
|
* Icon
|
149
167
|
*/
|
@@ -176,6 +194,99 @@
|
|
176
194
|
}, icon);
|
177
195
|
};
|
178
196
|
|
197
|
+
var Accordion = function Accordion(props) {
|
198
|
+
var className = props.className,
|
199
|
+
_props$sections = props.sections,
|
200
|
+
sections = _props$sections === void 0 ? [] : _props$sections,
|
201
|
+
onCheck = props.onCheck;
|
202
|
+
|
203
|
+
var _useState = React.useState(sections.map(function (section) {
|
204
|
+
return section.open;
|
205
|
+
})),
|
206
|
+
openSections = _useState[0],
|
207
|
+
setOpenSections = _useState[1];
|
208
|
+
|
209
|
+
var _useState2 = React.useState(sections.map(function (section) {
|
210
|
+
return section.checked;
|
211
|
+
})),
|
212
|
+
checkedSections = _useState2[0],
|
213
|
+
setCheckedSections = _useState2[1];
|
214
|
+
|
215
|
+
function toggle(index) {
|
216
|
+
var next = openSections.map(function (open, i) {
|
217
|
+
return i === index ? !open : open;
|
218
|
+
});
|
219
|
+
setOpenSections(next);
|
220
|
+
}
|
221
|
+
|
222
|
+
function check(index) {
|
223
|
+
var next = checkedSections.map(function (checked, i) {
|
224
|
+
return i === index ? !checked : checked;
|
225
|
+
});
|
226
|
+
setCheckedSections(next);
|
227
|
+
if (onCheck) onCheck(index, next[index], sections[index].id);
|
228
|
+
}
|
229
|
+
|
230
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
231
|
+
className: "accordion " + className
|
232
|
+
}, sections.map(function (section, index) {
|
233
|
+
var isOpen = openSections[index];
|
234
|
+
var isChecked = checkedSections[index];
|
235
|
+
return /*#__PURE__*/React__default["default"].createElement(AccordionSection, _extends({
|
236
|
+
key: index
|
237
|
+
}, section, {
|
238
|
+
open: isOpen,
|
239
|
+
checked: isChecked,
|
240
|
+
onToggle: function onToggle() {
|
241
|
+
return toggle(index);
|
242
|
+
},
|
243
|
+
onCheck: function onCheck() {
|
244
|
+
return check(index);
|
245
|
+
}
|
246
|
+
}), section.children);
|
247
|
+
}));
|
248
|
+
};
|
249
|
+
|
250
|
+
var AccordionSection = function AccordionSection(props) {
|
251
|
+
var checked = props.checked,
|
252
|
+
icon = props.icon,
|
253
|
+
title = props.title,
|
254
|
+
subtitle = props.subtitle,
|
255
|
+
_props$open = props.open,
|
256
|
+
open = _props$open === void 0 ? false : _props$open,
|
257
|
+
onToggle = props.onToggle,
|
258
|
+
onCheck = props.onCheck,
|
259
|
+
toolbar = props.toolbar,
|
260
|
+
info = props.info,
|
261
|
+
children = props.children;
|
262
|
+
var togglerIcon = open ? "expand_less" : "expand_more";
|
263
|
+
var checkedIcon = checked === undefined || checked === null ? null : checked === false ? "check_box_outline_blank" : "check_box";
|
264
|
+
return /*#__PURE__*/React__default["default"].createElement("section", {
|
265
|
+
className: "accordion-section"
|
266
|
+
}, /*#__PURE__*/React__default["default"].createElement("header", null, checkedIcon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
|
267
|
+
className: "accordion-section-checker",
|
268
|
+
icon: checkedIcon,
|
269
|
+
clickable: true,
|
270
|
+
action: onCheck
|
271
|
+
}) : '', icon ? /*#__PURE__*/React__default["default"].createElement(Icon, {
|
272
|
+
className: "accordion-section-icon",
|
273
|
+
icon: icon
|
274
|
+
}) : '', title ? /*#__PURE__*/React__default["default"].createElement("div", {
|
275
|
+
className: "accordion-section--title"
|
276
|
+
}, title) : '', subtitle ? /*#__PURE__*/React__default["default"].createElement("div", {
|
277
|
+
className: "accordion-section--subtitle"
|
278
|
+
}, subtitle) : '', info ? /*#__PURE__*/React__default["default"].createElement("div", {
|
279
|
+
className: "accordion-section--info"
|
280
|
+
}, info) : '', toolbar ? /*#__PURE__*/React__default["default"].createElement("div", {
|
281
|
+
className: "accordion-section--toolbar"
|
282
|
+
}, toolbar) : '', /*#__PURE__*/React__default["default"].createElement(Icon, {
|
283
|
+
className: "accordion-section-toggler",
|
284
|
+
icon: togglerIcon,
|
285
|
+
clickable: true,
|
286
|
+
action: onToggle
|
287
|
+
})), open ? /*#__PURE__*/React__default["default"].createElement("main", null, children) : '');
|
288
|
+
};
|
289
|
+
|
179
290
|
/**
|
180
291
|
* HTML Button
|
181
292
|
*/
|
@@ -495,24 +606,6 @@
|
|
495
606
|
}, props.children));
|
496
607
|
};
|
497
608
|
|
498
|
-
function _extends() {
|
499
|
-
_extends = Object.assign || function (target) {
|
500
|
-
for (var i = 1; i < arguments.length; i++) {
|
501
|
-
var source = arguments[i];
|
502
|
-
|
503
|
-
for (var key in source) {
|
504
|
-
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
505
|
-
target[key] = source[key];
|
506
|
-
}
|
507
|
-
}
|
508
|
-
}
|
509
|
-
|
510
|
-
return target;
|
511
|
-
};
|
512
|
-
|
513
|
-
return _extends.apply(this, arguments);
|
514
|
-
}
|
515
|
-
|
516
609
|
/**
|
517
610
|
* List
|
518
611
|
*/
|
@@ -853,7 +946,7 @@
|
|
853
946
|
};
|
854
947
|
|
855
948
|
return /*#__PURE__*/React__default["default"].createElement("section", {
|
856
|
-
className: "
|
949
|
+
className: "section " + className
|
857
950
|
}, /*#__PURE__*/React__default["default"].createElement(Header, {
|
858
951
|
icon: icon,
|
859
952
|
title: title
|
@@ -2799,9 +2892,14 @@
|
|
2799
2892
|
to = _useState3[0],
|
2800
2893
|
setTo = _useState3[1];
|
2801
2894
|
|
2895
|
+
var thisMondayElement = React.useRef(null);
|
2802
2896
|
React.useEffect(function () {
|
2803
|
-
|
2804
|
-
|
2897
|
+
console.log(thisMondayElement.current);
|
2898
|
+
|
2899
|
+
if (thisMondayElement.current) {
|
2900
|
+
showThisWeek();
|
2901
|
+
}
|
2902
|
+
});
|
2805
2903
|
React.useEffect(function () {
|
2806
2904
|
var element = document.getElementById(focusEvent);
|
2807
2905
|
if (element) element.scrollIntoView({
|
@@ -2955,7 +3053,8 @@
|
|
2955
3053
|
events: events,
|
2956
3054
|
period: period,
|
2957
3055
|
onSelectCell: selectCell,
|
2958
|
-
onChange: onChange
|
3056
|
+
onChange: onChange,
|
3057
|
+
thisMondayRef: thisMondayElement
|
2959
3058
|
});
|
2960
3059
|
}))));
|
2961
3060
|
};
|
@@ -2969,7 +3068,8 @@
|
|
2969
3068
|
events = _props$events === void 0 ? [] : _props$events,
|
2970
3069
|
period = props.period,
|
2971
3070
|
onSelectCell = props.onSelectCell,
|
2972
|
-
onChange = props.onChange
|
3071
|
+
onChange = props.onChange,
|
3072
|
+
thisMondayRef = props.thisMondayRef;
|
2973
3073
|
var rowEvents = events.filter(function (event) {
|
2974
3074
|
return event.lane === lane.id;
|
2975
3075
|
});
|
@@ -2994,7 +3094,8 @@
|
|
2994
3094
|
date: date,
|
2995
3095
|
events: cellEvents,
|
2996
3096
|
onSelect: onSelectCell,
|
2997
|
-
onDrop: change
|
3097
|
+
onDrop: change,
|
3098
|
+
thisMondayRef: thisMondayRef
|
2998
3099
|
});
|
2999
3100
|
}));
|
3000
3101
|
};
|
@@ -3008,7 +3109,8 @@
|
|
3008
3109
|
events = _ref2.events,
|
3009
3110
|
date = _ref2.date,
|
3010
3111
|
onSelect = _ref2.onSelect,
|
3011
|
-
onDrop = _ref2.onDrop
|
3112
|
+
onDrop = _ref2.onDrop,
|
3113
|
+
thisMondayRef = _ref2.thisMondayRef;
|
3012
3114
|
|
3013
3115
|
var _useState4 = React.useState(false),
|
3014
3116
|
dragOver = _useState4[0],
|
@@ -3046,10 +3148,12 @@
|
|
3046
3148
|
var weekend = isWekend ? "weekend" : "";
|
3047
3149
|
var today = moment__default["default"]();
|
3048
3150
|
var weekStart = today.clone().startOf('week');
|
3151
|
+
var isThisMonday = date.moment.isSame(weekStart);
|
3049
3152
|
var thisMonday = date.moment.isSame(weekStart) ? "thisMonday" : "";
|
3050
3153
|
var dragOverStyle = dragOver ? "drag-over" : "";
|
3051
3154
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
3052
3155
|
className: "cell " + thisMonday + " " + weekend + " " + dragOverStyle,
|
3156
|
+
ref: isThisMonday ? thisMondayRef : null,
|
3053
3157
|
onDragOver: onDragOver,
|
3054
3158
|
onDragLeave: onDragLeave,
|
3055
3159
|
onDrop: drop,
|
@@ -4194,13 +4298,13 @@
|
|
4194
4298
|
* Tabbed Content Editor
|
4195
4299
|
*/
|
4196
4300
|
|
4197
|
-
var TabbedContentEditor = function TabbedContentEditor(
|
4198
|
-
var content =
|
4199
|
-
filter =
|
4200
|
-
|
4201
|
-
grouped =
|
4202
|
-
onChange =
|
4203
|
-
onReload =
|
4301
|
+
var TabbedContentEditor = function TabbedContentEditor(_ref3) {
|
4302
|
+
var content = _ref3.content,
|
4303
|
+
filter = _ref3.filter,
|
4304
|
+
_ref3$grouped = _ref3.grouped,
|
4305
|
+
grouped = _ref3$grouped === void 0 ? false : _ref3$grouped,
|
4306
|
+
onChange = _ref3.onChange,
|
4307
|
+
onReload = _ref3.onReload;
|
4204
4308
|
|
4205
4309
|
var _useState = React.useState(0),
|
4206
4310
|
tab = _useState[0],
|
@@ -4285,9 +4389,9 @@
|
|
4285
4389
|
* TreededContentEditor
|
4286
4390
|
*/
|
4287
4391
|
|
4288
|
-
var TreededContentEditor = function TreededContentEditor(
|
4289
|
-
var content =
|
4290
|
-
onChange =
|
4392
|
+
var TreededContentEditor = function TreededContentEditor(_ref4) {
|
4393
|
+
var content = _ref4.content,
|
4394
|
+
onChange = _ref4.onChange;
|
4291
4395
|
var value = content.value();
|
4292
4396
|
var nodes = Object.values(content.type).filter(function (field) {
|
4293
4397
|
return field.type === TYPES.ARRAY;
|
@@ -4352,13 +4456,13 @@
|
|
4352
4456
|
* FieldEditor
|
4353
4457
|
*/
|
4354
4458
|
|
4355
|
-
var FieldEditor = function FieldEditor(
|
4356
|
-
var field =
|
4357
|
-
onChange =
|
4358
|
-
content =
|
4359
|
-
|
4360
|
-
outlined =
|
4361
|
-
onReload =
|
4459
|
+
var FieldEditor = function FieldEditor(_ref5) {
|
4460
|
+
var field = _ref5.field,
|
4461
|
+
onChange = _ref5.onChange,
|
4462
|
+
content = _ref5.content,
|
4463
|
+
_ref5$outlined = _ref5.outlined,
|
4464
|
+
outlined = _ref5$outlined === void 0 ? false : _ref5$outlined,
|
4465
|
+
onReload = _ref5.onReload;
|
4362
4466
|
var id = field.id,
|
4363
4467
|
type = field.type,
|
4364
4468
|
item = field.item,
|
@@ -4445,11 +4549,11 @@
|
|
4445
4549
|
* Entity Editor
|
4446
4550
|
*/
|
4447
4551
|
|
4448
|
-
var EntityEditor = function EntityEditor(
|
4449
|
-
var field =
|
4450
|
-
|
4451
|
-
value =
|
4452
|
-
onChange =
|
4552
|
+
var EntityEditor = function EntityEditor(_ref6) {
|
4553
|
+
var field = _ref6.field,
|
4554
|
+
_ref6$value = _ref6.value,
|
4555
|
+
value = _ref6$value === void 0 ? {} : _ref6$value,
|
4556
|
+
onChange = _ref6.onChange;
|
4453
4557
|
var id = field.id,
|
4454
4558
|
item = field.item,
|
4455
4559
|
label = field.label;
|
@@ -4509,13 +4613,13 @@
|
|
4509
4613
|
*/
|
4510
4614
|
|
4511
4615
|
|
4512
|
-
var StringEditor = function StringEditor(
|
4513
|
-
var field =
|
4514
|
-
|
4515
|
-
value =
|
4516
|
-
onChange =
|
4517
|
-
content =
|
4518
|
-
outlined =
|
4616
|
+
var StringEditor = function StringEditor(_ref7) {
|
4617
|
+
var field = _ref7.field,
|
4618
|
+
_ref7$value = _ref7.value,
|
4619
|
+
value = _ref7$value === void 0 ? '' : _ref7$value,
|
4620
|
+
onChange = _ref7.onChange,
|
4621
|
+
content = _ref7.content,
|
4622
|
+
outlined = _ref7.outlined;
|
4519
4623
|
var id = field.id,
|
4520
4624
|
format = field.format,
|
4521
4625
|
label = field.label,
|
@@ -4631,12 +4735,12 @@
|
|
4631
4735
|
* Number Editor
|
4632
4736
|
*/
|
4633
4737
|
|
4634
|
-
var NumberEditor = function NumberEditor(
|
4635
|
-
var field =
|
4636
|
-
value =
|
4637
|
-
onChange =
|
4638
|
-
|
4639
|
-
outlined =
|
4738
|
+
var NumberEditor = function NumberEditor(_ref8) {
|
4739
|
+
var field = _ref8.field,
|
4740
|
+
value = _ref8.value,
|
4741
|
+
onChange = _ref8.onChange,
|
4742
|
+
_ref8$outlined = _ref8.outlined,
|
4743
|
+
outlined = _ref8$outlined === void 0 ? false : _ref8$outlined;
|
4640
4744
|
var id = field.id,
|
4641
4745
|
label = field.label,
|
4642
4746
|
_field$editable2 = field.editable,
|
@@ -4669,11 +4773,11 @@
|
|
4669
4773
|
*/
|
4670
4774
|
|
4671
4775
|
|
4672
|
-
var ListEditor = function ListEditor(
|
4673
|
-
var field =
|
4674
|
-
|
4675
|
-
value =
|
4676
|
-
onChange =
|
4776
|
+
var ListEditor = function ListEditor(_ref9) {
|
4777
|
+
var field = _ref9.field,
|
4778
|
+
_ref9$value = _ref9.value,
|
4779
|
+
value = _ref9$value === void 0 ? [] : _ref9$value,
|
4780
|
+
onChange = _ref9.onChange;
|
4677
4781
|
var label = field.label;
|
4678
4782
|
|
4679
4783
|
function change(id, value) {
|
@@ -4693,12 +4797,12 @@
|
|
4693
4797
|
* Multi Selection Editor
|
4694
4798
|
*/
|
4695
4799
|
|
4696
|
-
var MultiSelectionEditor = function MultiSelectionEditor(
|
4697
|
-
var field =
|
4698
|
-
|
4699
|
-
value =
|
4700
|
-
content =
|
4701
|
-
onChange =
|
4800
|
+
var MultiSelectionEditor = function MultiSelectionEditor(_ref10) {
|
4801
|
+
var field = _ref10.field,
|
4802
|
+
_ref10$value = _ref10.value,
|
4803
|
+
value = _ref10$value === void 0 ? [] : _ref10$value,
|
4804
|
+
content = _ref10.content,
|
4805
|
+
onChange = _ref10.onChange;
|
4702
4806
|
var id = field.id,
|
4703
4807
|
label = field.label,
|
4704
4808
|
options = field.options;
|
@@ -4737,15 +4841,17 @@
|
|
4737
4841
|
* Collection Editor
|
4738
4842
|
*/
|
4739
4843
|
|
4740
|
-
var CollectionEditor$1 = function CollectionEditor(
|
4741
|
-
var field =
|
4742
|
-
|
4743
|
-
value =
|
4744
|
-
onChange =
|
4745
|
-
onReload =
|
4844
|
+
var CollectionEditor$1 = function CollectionEditor(_ref11) {
|
4845
|
+
var field = _ref11.field,
|
4846
|
+
_ref11$value = _ref11.value,
|
4847
|
+
value = _ref11$value === void 0 ? [] : _ref11$value,
|
4848
|
+
onChange = _ref11.onChange,
|
4849
|
+
onReload = _ref11.onReload;
|
4746
4850
|
var id = field.id,
|
4747
4851
|
item = field.item,
|
4748
4852
|
label = field.label,
|
4853
|
+
_field$groupBy = field.groupBy,
|
4854
|
+
groupBy = _field$groupBy === void 0 ? "field1" : _field$groupBy,
|
4749
4855
|
Feeder = field.Feeder,
|
4750
4856
|
Renderer = field.Renderer,
|
4751
4857
|
_field$Adder = field.Adder,
|
@@ -4767,42 +4873,24 @@
|
|
4767
4873
|
}
|
4768
4874
|
}
|
4769
4875
|
|
4770
|
-
function change(index, cellId, cellValue) {
|
4771
|
-
if (onChange) {
|
4772
|
-
var next = value.slice();
|
4773
|
-
next[index][cellId] = cellValue;
|
4774
|
-
onChange(id, next);
|
4775
|
-
}
|
4776
|
-
}
|
4777
|
-
|
4778
4876
|
function reload() {
|
4779
4877
|
if (onReload) onReload();
|
4780
4878
|
}
|
4879
|
+
/* const columns = Object.values(item)
|
4880
|
+
.filter(field => field.column === true)
|
4881
|
+
.map((item) => ({ ...item, onChange: change }))
|
4882
|
+
columns.push({ id: 'actions', label: 'Actions' })
|
4883
|
+
const rows = value.map((item, index) => ({
|
4884
|
+
...item,
|
4885
|
+
id: index,
|
4886
|
+
actions: [
|
4887
|
+
<Icon icon='delete' clickable action={() => remove(index)} size="small" />
|
4888
|
+
]
|
4889
|
+
}))
|
4890
|
+
const table = { columns, rows }
|
4891
|
+
*/
|
4892
|
+
|
4781
4893
|
|
4782
|
-
var columns = Object.values(item).filter(function (field) {
|
4783
|
-
return field.column === true;
|
4784
|
-
}).map(function (item) {
|
4785
|
-
return _extends({}, item, {
|
4786
|
-
onChange: change
|
4787
|
-
});
|
4788
|
-
});
|
4789
|
-
columns.push({
|
4790
|
-
id: 'actions',
|
4791
|
-
label: 'Actions'
|
4792
|
-
});
|
4793
|
-
value.map(function (item, index) {
|
4794
|
-
return _extends({}, item, {
|
4795
|
-
id: index,
|
4796
|
-
actions: [/*#__PURE__*/React__default["default"].createElement(Icon, {
|
4797
|
-
icon: "delete",
|
4798
|
-
clickable: true,
|
4799
|
-
action: function action() {
|
4800
|
-
return remove(index);
|
4801
|
-
},
|
4802
|
-
size: "small"
|
4803
|
-
})]
|
4804
|
-
});
|
4805
|
-
});
|
4806
4894
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
4807
4895
|
className: "collection-editor"
|
4808
4896
|
}, Renderer ? /*#__PURE__*/React__default["default"].createElement(Renderer, {
|
@@ -4812,12 +4900,12 @@
|
|
4812
4900
|
onChange: onChange,
|
4813
4901
|
onReload: reload
|
4814
4902
|
}) // : <DataTable {...table} editable={editable} />
|
4815
|
-
: /*#__PURE__*/React__default["default"].createElement(TableEditor$
|
4903
|
+
: /*#__PURE__*/React__default["default"].createElement(TableEditor$3, {
|
4816
4904
|
icon: "info",
|
4817
4905
|
title: label,
|
4818
4906
|
data: value,
|
4819
4907
|
schema: item,
|
4820
|
-
groupBy:
|
4908
|
+
groupBy: groupBy,
|
4821
4909
|
canDelete: true,
|
4822
4910
|
remove: remove
|
4823
4911
|
}), /*#__PURE__*/React__default["default"].createElement("footer", null, Feeder ? /*#__PURE__*/React__default["default"].createElement(Feeder, {
|
@@ -4832,9 +4920,9 @@
|
|
4832
4920
|
* Collection Adder
|
4833
4921
|
*/
|
4834
4922
|
|
4835
|
-
var CollectionAdder = function CollectionAdder(
|
4836
|
-
var item =
|
4837
|
-
onAdd =
|
4923
|
+
var CollectionAdder = function CollectionAdder(_ref12) {
|
4924
|
+
var item = _ref12.item,
|
4925
|
+
onAdd = _ref12.onAdd;
|
4838
4926
|
|
4839
4927
|
var _useState3 = React.useState(false),
|
4840
4928
|
edit = _useState3[0],
|
@@ -4903,7 +4991,7 @@
|
|
4903
4991
|
*/
|
4904
4992
|
|
4905
4993
|
|
4906
|
-
var TableEditor$
|
4994
|
+
var TableEditor$3 = function TableEditor(props) {
|
4907
4995
|
var select = function select(row) {
|
4908
4996
|
try {
|
4909
4997
|
if (onSelect) onSelect(row.id);
|
@@ -5247,7 +5335,7 @@
|
|
5247
5335
|
* Collection Page
|
5248
5336
|
*/
|
5249
5337
|
|
5250
|
-
function _catch$
|
5338
|
+
function _catch$3(body, recover) {
|
5251
5339
|
try {
|
5252
5340
|
var result = body();
|
5253
5341
|
} catch (e) {
|
@@ -5824,7 +5912,7 @@
|
|
5824
5912
|
try {
|
5825
5913
|
var _this2 = this;
|
5826
5914
|
|
5827
|
-
var _temp2 = _catch$
|
5915
|
+
var _temp2 = _catch$3(function () {
|
5828
5916
|
return Promise.resolve(API.all(null, page)).then(function (data) {
|
5829
5917
|
_this2.all = field ? data[field] : data;
|
5830
5918
|
});
|
@@ -5873,7 +5961,7 @@
|
|
5873
5961
|
},
|
5874
5962
|
fetch: function fetch(id) {
|
5875
5963
|
try {
|
5876
|
-
return Promise.resolve(_catch$
|
5964
|
+
return Promise.resolve(_catch$3(function () {
|
5877
5965
|
return Promise.resolve(API.find(id));
|
5878
5966
|
}, function (error) {
|
5879
5967
|
console.log(error);
|
@@ -5889,7 +5977,7 @@
|
|
5889
5977
|
try {
|
5890
5978
|
var _this8 = this;
|
5891
5979
|
|
5892
|
-
var _temp6 = _catch$
|
5980
|
+
var _temp6 = _catch$3(function () {
|
5893
5981
|
return Promise.resolve(API.create(form)).then(function () {
|
5894
5982
|
return Promise.resolve(_this8.load()).then(function () {});
|
5895
5983
|
});
|
@@ -5906,7 +5994,7 @@
|
|
5906
5994
|
try {
|
5907
5995
|
var _this10 = this;
|
5908
5996
|
|
5909
|
-
var _temp8 = _catch$
|
5997
|
+
var _temp8 = _catch$3(function () {
|
5910
5998
|
return Promise.resolve(API.update(form)).then(function () {
|
5911
5999
|
return Promise.resolve(_this10.load()).then(function () {});
|
5912
6000
|
});
|
@@ -5923,7 +6011,7 @@
|
|
5923
6011
|
try {
|
5924
6012
|
var _this12 = this;
|
5925
6013
|
|
5926
|
-
var _temp10 = _catch$
|
6014
|
+
var _temp10 = _catch$3(function () {
|
5927
6015
|
return Promise.resolve(API.patch(id, form)).then(function () {
|
5928
6016
|
return Promise.resolve(_this12.load()).then(function () {});
|
5929
6017
|
});
|
@@ -5940,7 +6028,7 @@
|
|
5940
6028
|
try {
|
5941
6029
|
var _this14 = this;
|
5942
6030
|
|
5943
|
-
var _temp12 = _catch$
|
6031
|
+
var _temp12 = _catch$3(function () {
|
5944
6032
|
return Promise.resolve(API.updateProperty(id, propertyName, form)).then(function () {
|
5945
6033
|
return Promise.resolve(_this14.load()).then(function () {});
|
5946
6034
|
});
|
@@ -5957,7 +6045,7 @@
|
|
5957
6045
|
try {
|
5958
6046
|
var _this16 = this;
|
5959
6047
|
|
5960
|
-
var _temp14 = _catch$
|
6048
|
+
var _temp14 = _catch$3(function () {
|
5961
6049
|
return Promise.resolve(API.remove(id)).then(function () {
|
5962
6050
|
return Promise.resolve(_this16.load()).then(function () {});
|
5963
6051
|
});
|
@@ -6170,7 +6258,7 @@
|
|
6170
6258
|
* Table Page
|
6171
6259
|
*/
|
6172
6260
|
|
6173
|
-
function _catch$
|
6261
|
+
function _catch$2(body, recover) {
|
6174
6262
|
try {
|
6175
6263
|
var result = body();
|
6176
6264
|
} catch (e) {
|
@@ -6297,7 +6385,7 @@
|
|
6297
6385
|
pageContext = _useContext[0],
|
6298
6386
|
setPageContext = _useContext[1];
|
6299
6387
|
|
6300
|
-
var context = TableContext$
|
6388
|
+
var context = TableContext$2(url, field, host, urlQuery, params);
|
6301
6389
|
var selected = pageContext.selected;
|
6302
6390
|
var timer = React.useRef(null);
|
6303
6391
|
|
@@ -6397,13 +6485,13 @@
|
|
6397
6485
|
if (rowSelected || rowChecked) {
|
6398
6486
|
return /*#__PURE__*/React__default["default"].createElement("aside", {
|
6399
6487
|
className: "table-page"
|
6400
|
-
}, rowSelected ? /*#__PURE__*/React__default["default"].createElement(TableRowEditor$
|
6488
|
+
}, rowSelected ? /*#__PURE__*/React__default["default"].createElement(TableRowEditor$2, {
|
6401
6489
|
content: new Content(schema, form),
|
6402
6490
|
filter: editorFilter,
|
6403
6491
|
onChange: change,
|
6404
6492
|
onClose: closeAside,
|
6405
6493
|
editable: canEdit
|
6406
|
-
}) : null, rowChecked ? /*#__PURE__*/React__default["default"].createElement(TableSelector$
|
6494
|
+
}) : null, rowChecked ? /*#__PURE__*/React__default["default"].createElement(TableSelector$2, {
|
6407
6495
|
schema: schema,
|
6408
6496
|
actions: selectionActions
|
6409
6497
|
}) : null);
|
@@ -6444,17 +6532,17 @@
|
|
6444
6532
|
onSelect: playScenario
|
6445
6533
|
})) : null, renderActions()), canQuery || canFilter ? /*#__PURE__*/React__default["default"].createElement("menu", {
|
6446
6534
|
className: "table-page"
|
6447
|
-
}, canQuery ? /*#__PURE__*/React__default["default"].createElement(TableQueries$
|
6535
|
+
}, canQuery ? /*#__PURE__*/React__default["default"].createElement(TableQueries$2, {
|
6448
6536
|
schema: schema,
|
6449
6537
|
url: url,
|
6450
6538
|
user: user
|
6451
|
-
}) : null, canFilter ? /*#__PURE__*/React__default["default"].createElement(TableFilters$
|
6539
|
+
}) : null, canFilter ? /*#__PURE__*/React__default["default"].createElement(TableFilters$2, {
|
6452
6540
|
schema: schema,
|
6453
6541
|
onSave: canQuery ? saveQuery : null
|
6454
6542
|
}) : null) : null, /*#__PURE__*/React__default["default"].createElement("main", {
|
6455
6543
|
key: id,
|
6456
6544
|
className: "table-page"
|
6457
|
-
}, /*#__PURE__*/React__default["default"].createElement(TableEditor$
|
6545
|
+
}, /*#__PURE__*/React__default["default"].createElement(TableEditor$2, {
|
6458
6546
|
icon: icon,
|
6459
6547
|
title: name,
|
6460
6548
|
schema: schema,
|
@@ -6468,7 +6556,7 @@
|
|
6468
6556
|
}), children ? /*#__PURE__*/React__default["default"].createElement("article", null, children) : null), renderAside());
|
6469
6557
|
};
|
6470
6558
|
|
6471
|
-
var TableRowEditor$
|
6559
|
+
var TableRowEditor$2 = function TableRowEditor(props) {
|
6472
6560
|
var name = props.name,
|
6473
6561
|
content = props.content,
|
6474
6562
|
filter = props.filter,
|
@@ -6497,7 +6585,7 @@
|
|
6497
6585
|
*/
|
6498
6586
|
|
6499
6587
|
|
6500
|
-
var TableSelector$
|
6588
|
+
var TableSelector$2 = function TableSelector(props) {
|
6501
6589
|
var schema = props.schema,
|
6502
6590
|
_props$actions2 = props.actions,
|
6503
6591
|
actions = _props$actions2 === void 0 ? [] : _props$actions2;
|
@@ -6535,8 +6623,10 @@
|
|
6535
6623
|
action: function action() {
|
6536
6624
|
return _action(checked, pageContext, function () {
|
6537
6625
|
try {
|
6538
|
-
return Promise.resolve(pageContext.
|
6539
|
-
|
6626
|
+
return Promise.resolve(pageContext.clearChecks()).then(function () {
|
6627
|
+
return Promise.resolve(pageContext.load()).then(function () {
|
6628
|
+
setPageContext(Object.assign({}, pageContext));
|
6629
|
+
});
|
6540
6630
|
});
|
6541
6631
|
} catch (e) {
|
6542
6632
|
return Promise.reject(e);
|
@@ -6560,7 +6650,7 @@
|
|
6560
6650
|
*/
|
6561
6651
|
|
6562
6652
|
|
6563
|
-
var TableQueries$
|
6653
|
+
var TableQueries$2 = function TableQueries(props) {
|
6564
6654
|
var remove = function remove(id) {
|
6565
6655
|
try {
|
6566
6656
|
return Promise.resolve(pageContext.removeQuery(id, user)).then(function () {
|
@@ -6622,7 +6712,7 @@
|
|
6622
6712
|
*/
|
6623
6713
|
|
6624
6714
|
|
6625
|
-
var TableFilters$
|
6715
|
+
var TableFilters$2 = function TableFilters(props) {
|
6626
6716
|
var reload = function reload() {
|
6627
6717
|
try {
|
6628
6718
|
return Promise.resolve(pageContext.load(form)).then(function () {
|
@@ -6718,7 +6808,7 @@
|
|
6718
6808
|
*/
|
6719
6809
|
|
6720
6810
|
|
6721
|
-
var TableEditor$
|
6811
|
+
var TableEditor$2 = function TableEditor(props) {
|
6722
6812
|
var checkOne = function checkOne(id, field, value) {
|
6723
6813
|
check([id], value);
|
6724
6814
|
return Promise.resolve();
|
@@ -6950,8 +7040,8 @@
|
|
6950
7040
|
* Table Context
|
6951
7041
|
*/
|
6952
7042
|
|
6953
|
-
var TableContext$
|
6954
|
-
var API = TableAPI$
|
7043
|
+
var TableContext$2 = function TableContext(url, field, host, urlQuery, params) {
|
7044
|
+
var API = TableAPI$2(url, host, params);
|
6955
7045
|
return {
|
6956
7046
|
all: [],
|
6957
7047
|
checked: new Set([]),
|
@@ -6962,7 +7052,7 @@
|
|
6962
7052
|
try {
|
6963
7053
|
var _this2 = this;
|
6964
7054
|
|
6965
|
-
var _temp5 = _catch$
|
7055
|
+
var _temp5 = _catch$2(function () {
|
6966
7056
|
var filters = filter ? Object.keys(filter).reduce(function (filters, key) {
|
6967
7057
|
var field = filter[key];
|
6968
7058
|
|
@@ -7008,6 +7098,9 @@
|
|
7008
7098
|
});
|
7009
7099
|
}
|
7010
7100
|
},
|
7101
|
+
clearChecks: function clearChecks() {
|
7102
|
+
this.checked = new Set([]);
|
7103
|
+
},
|
7011
7104
|
select: function select(id) {
|
7012
7105
|
var result = this.all.find(function (item) {
|
7013
7106
|
return item.id === id;
|
@@ -7021,7 +7114,7 @@
|
|
7021
7114
|
try {
|
7022
7115
|
var _this5 = this;
|
7023
7116
|
|
7024
|
-
var _temp7 = _catch$
|
7117
|
+
var _temp7 = _catch$2(function () {
|
7025
7118
|
return Promise.resolve(API.create(form)).then(function () {
|
7026
7119
|
return Promise.resolve(_this5.load()).then(function () {});
|
7027
7120
|
});
|
@@ -7038,7 +7131,7 @@
|
|
7038
7131
|
try {
|
7039
7132
|
var _this7 = this;
|
7040
7133
|
|
7041
|
-
var _temp9 = _catch$
|
7134
|
+
var _temp9 = _catch$2(function () {
|
7042
7135
|
return Promise.resolve(API.update(form)).then(function () {
|
7043
7136
|
return Promise.resolve(_this7.load()).then(function () {});
|
7044
7137
|
});
|
@@ -7055,7 +7148,7 @@
|
|
7055
7148
|
try {
|
7056
7149
|
var _this9 = this;
|
7057
7150
|
|
7058
|
-
var _temp11 = _catch$
|
7151
|
+
var _temp11 = _catch$2(function () {
|
7059
7152
|
return Promise.resolve(API.remove(id)).then(function () {
|
7060
7153
|
return Promise.resolve(_this9.load()).then(function () {});
|
7061
7154
|
});
|
@@ -7075,7 +7168,7 @@
|
|
7075
7168
|
try {
|
7076
7169
|
var _this11 = this;
|
7077
7170
|
|
7078
|
-
var _temp13 = _catch$
|
7171
|
+
var _temp13 = _catch$2(function () {
|
7079
7172
|
return Promise.resolve(API.queries(user, urlQuery)).then(function (_API$queries) {
|
7080
7173
|
_this11.queries = _API$queries;
|
7081
7174
|
});
|
@@ -7092,7 +7185,7 @@
|
|
7092
7185
|
try {
|
7093
7186
|
var _this13 = this;
|
7094
7187
|
|
7095
|
-
var _temp15 = _catch$
|
7188
|
+
var _temp15 = _catch$2(function () {
|
7096
7189
|
return Promise.resolve(API.createQuery(query, urlQuery)).then(function () {
|
7097
7190
|
return Promise.resolve(_this13.loadQueries(user)).then(function () {});
|
7098
7191
|
});
|
@@ -7109,7 +7202,7 @@
|
|
7109
7202
|
try {
|
7110
7203
|
var _this15 = this;
|
7111
7204
|
|
7112
|
-
var _temp17 = _catch$
|
7205
|
+
var _temp17 = _catch$2(function () {
|
7113
7206
|
return Promise.resolve(API.removeQuery(id, urlQuery)).then(function () {
|
7114
7207
|
return Promise.resolve(_this15.loadQueries(user)).then(function () {});
|
7115
7208
|
});
|
@@ -7129,6 +7222,1023 @@
|
|
7129
7222
|
*/
|
7130
7223
|
|
7131
7224
|
|
7225
|
+
var TableAPI$2 = function TableAPI(url, host, params) {
|
7226
|
+
if (params === void 0) {
|
7227
|
+
params = "";
|
7228
|
+
}
|
7229
|
+
|
7230
|
+
var http = HTTPClient(host || window.API || process.env.REACT_APP_API, Session);
|
7231
|
+
return {
|
7232
|
+
all: function all(filters) {
|
7233
|
+
var queryParams = "?" + params;
|
7234
|
+
|
7235
|
+
if (filters) {
|
7236
|
+
var filterQuery = Object.keys(filters).reduce(function (query, key) {
|
7237
|
+
var value = filters[key];
|
7238
|
+
|
7239
|
+
if (typeof value === 'boolean') {
|
7240
|
+
return query.concat(key + "=" + value + "&");
|
7241
|
+
} else if (Array.isArray(value)) {
|
7242
|
+
var param = value.length === 0 ? '' : value.reduce(function (param, item) {
|
7243
|
+
param = param.concat(key + "=" + item + "&");
|
7244
|
+
return param;
|
7245
|
+
}, "");
|
7246
|
+
return query.concat(param);
|
7247
|
+
} else {
|
7248
|
+
return query.concat(key + "=%" + filters[key] + "%&");
|
7249
|
+
}
|
7250
|
+
}, "");
|
7251
|
+
queryParams = queryParams.concat(filterQuery);
|
7252
|
+
}
|
7253
|
+
|
7254
|
+
return http.GET(url + queryParams);
|
7255
|
+
},
|
7256
|
+
find: function find(id) {
|
7257
|
+
return http.GET(url + "/" + id);
|
7258
|
+
},
|
7259
|
+
create: function create(form) {
|
7260
|
+
var body = JSON.stringify(form);
|
7261
|
+
return http.POST(url, body);
|
7262
|
+
},
|
7263
|
+
update: function update(form) {
|
7264
|
+
var body = JSON.stringify(form);
|
7265
|
+
return http.PUT(url + "/" + form.id, body);
|
7266
|
+
},
|
7267
|
+
remove: function remove(id) {
|
7268
|
+
return http.DELETE(url + "/" + id);
|
7269
|
+
},
|
7270
|
+
queries: function queries(user, url2) {
|
7271
|
+
var url3 = url2 ? url2 : url;
|
7272
|
+
url3 = url3 + "queries";
|
7273
|
+
if (user) url3 = url3 + ("?user=" + user);
|
7274
|
+
return http.GET(url3);
|
7275
|
+
},
|
7276
|
+
createQuery: function createQuery(form, url2) {
|
7277
|
+
var url3 = url2 ? url2 : url;
|
7278
|
+
var body = JSON.stringify(form);
|
7279
|
+
return http.POST(url3 + "queries", body);
|
7280
|
+
},
|
7281
|
+
removeQuery: function removeQuery(id, url2) {
|
7282
|
+
var url3 = url2 ? url2 : url;
|
7283
|
+
return http.DELETE(url3 + "queries/" + id);
|
7284
|
+
}
|
7285
|
+
};
|
7286
|
+
};
|
7287
|
+
|
7288
|
+
/**
|
7289
|
+
* Table Page
|
7290
|
+
*/
|
7291
|
+
|
7292
|
+
function _catch$1(body, recover) {
|
7293
|
+
try {
|
7294
|
+
var result = body();
|
7295
|
+
} catch (e) {
|
7296
|
+
return recover(e);
|
7297
|
+
}
|
7298
|
+
|
7299
|
+
if (result && result.then) {
|
7300
|
+
return result.then(void 0, recover);
|
7301
|
+
}
|
7302
|
+
|
7303
|
+
return result;
|
7304
|
+
}
|
7305
|
+
/**
|
7306
|
+
* TableRowEditor
|
7307
|
+
*/
|
7308
|
+
|
7309
|
+
|
7310
|
+
var TablePage2 = function TablePage2(props) {
|
7311
|
+
var save = function save() {
|
7312
|
+
try {
|
7313
|
+
return Promise.resolve(pageContext.update(form)).then(function () {
|
7314
|
+
setPageContext(Object.assign({}, pageContext));
|
7315
|
+
});
|
7316
|
+
} catch (e) {
|
7317
|
+
return Promise.reject(e);
|
7318
|
+
}
|
7319
|
+
};
|
7320
|
+
|
7321
|
+
var reload = function reload() {
|
7322
|
+
try {
|
7323
|
+
return Promise.resolve(pageContext.load()).then(function () {
|
7324
|
+
setPageContext(Object.assign({}, pageContext));
|
7325
|
+
});
|
7326
|
+
} catch (e) {
|
7327
|
+
return Promise.reject(e);
|
7328
|
+
}
|
7329
|
+
};
|
7330
|
+
|
7331
|
+
var site = React.useContext(SiteContext);
|
7332
|
+
var _props$id = props.id,
|
7333
|
+
id = _props$id === void 0 ? "table" : _props$id,
|
7334
|
+
icon = props.icon,
|
7335
|
+
title = props.title,
|
7336
|
+
name = props.name,
|
7337
|
+
schema = props.schema,
|
7338
|
+
url = props.url,
|
7339
|
+
field = props.field,
|
7340
|
+
host = props.host,
|
7341
|
+
_props$params = props.params,
|
7342
|
+
params = _props$params === void 0 ? "" : _props$params,
|
7343
|
+
_props$canQuery = props.canQuery,
|
7344
|
+
canQuery = _props$canQuery === void 0 ? false : _props$canQuery,
|
7345
|
+
urlQuery = props.urlQuery,
|
7346
|
+
user = props.user,
|
7347
|
+
editable = props.editable,
|
7348
|
+
_props$autosave = props.autosave,
|
7349
|
+
autosave = _props$autosave === void 0 ? true : _props$autosave,
|
7350
|
+
_props$delay = props.delay,
|
7351
|
+
delay = _props$delay === void 0 ? 1000 : _props$delay,
|
7352
|
+
_props$actions = props.actions,
|
7353
|
+
actions = _props$actions === void 0 ? [] : _props$actions,
|
7354
|
+
tableActions = props.tableActions,
|
7355
|
+
_props$selectionActio = props.selectionActions,
|
7356
|
+
selectionActions = _props$selectionActio === void 0 ? [] : _props$selectionActio,
|
7357
|
+
_props$canFilter = props.canFilter,
|
7358
|
+
canFilter = _props$canFilter === void 0 ? false : _props$canFilter,
|
7359
|
+
_props$canAdd = props.canAdd,
|
7360
|
+
canAdd = _props$canAdd === void 0 ? true : _props$canAdd,
|
7361
|
+
_props$canDelete = props.canDelete,
|
7362
|
+
canDelete = _props$canDelete === void 0 ? true : _props$canDelete,
|
7363
|
+
_props$canEdit = props.canEdit,
|
7364
|
+
canEdit = _props$canEdit === void 0 ? true : _props$canEdit,
|
7365
|
+
groupBy = props.groupBy,
|
7366
|
+
validator = props.validator,
|
7367
|
+
formFilter = props.formFilter,
|
7368
|
+
tableFilter = props.tableFilter,
|
7369
|
+
_props$editorFilter = props.editorFilter,
|
7370
|
+
editorFilter = _props$editorFilter === void 0 ? false : _props$editorFilter,
|
7371
|
+
tabbedBy = props.tabbedBy,
|
7372
|
+
tableClassName = props.tableClassName,
|
7373
|
+
children = props.children;
|
7374
|
+
|
7375
|
+
var _useContext = React.useContext(PageContext),
|
7376
|
+
setPageContext = _useContext[1];
|
7377
|
+
|
7378
|
+
var context = TableContext$1(url, field, host, urlQuery, params);
|
7379
|
+
var _pageContext = pageContext,
|
7380
|
+
selected = _pageContext.selected;
|
7381
|
+
var timer = React.useRef(null);
|
7382
|
+
|
7383
|
+
var _useState = React.useState(selected),
|
7384
|
+
form = _useState[0],
|
7385
|
+
setForm = _useState[1];
|
7386
|
+
|
7387
|
+
React.useEffect(function () {
|
7388
|
+
try {
|
7389
|
+
return Promise.resolve(context.load()).then(function () {
|
7390
|
+
function _temp2() {
|
7391
|
+
setPageContext(context);
|
7392
|
+
}
|
7393
|
+
|
7394
|
+
var _temp = function () {
|
7395
|
+
if (canQuery) return Promise.resolve(context.loadQueries(user)).then(function () {});
|
7396
|
+
}();
|
7397
|
+
|
7398
|
+
return _temp && _temp.then ? _temp.then(_temp2) : _temp2(_temp);
|
7399
|
+
});
|
7400
|
+
} catch (e) {
|
7401
|
+
return Promise.reject(e);
|
7402
|
+
}
|
7403
|
+
}, []);
|
7404
|
+
React.useEffect(function () {
|
7405
|
+
setForm(selected);
|
7406
|
+
}, [selected]);
|
7407
|
+
React.useEffect(function () {
|
7408
|
+
if (autosave) {
|
7409
|
+
clearTimeout(timer.current);
|
7410
|
+
timer.current = setTimeout(function () {
|
7411
|
+
if (canSave()) save();
|
7412
|
+
}, delay);
|
7413
|
+
}
|
7414
|
+
}, [form]);
|
7415
|
+
|
7416
|
+
function add() {
|
7417
|
+
var onOK = function onOK(form) {
|
7418
|
+
try {
|
7419
|
+
return Promise.resolve(pageContext.create(form)).then(function () {
|
7420
|
+
setPageContext(Object.assign({}, pageContext));
|
7421
|
+
});
|
7422
|
+
} catch (e) {
|
7423
|
+
return Promise.reject(e);
|
7424
|
+
}
|
7425
|
+
};
|
7426
|
+
|
7427
|
+
site.openDialog( /*#__PURE__*/React__default["default"].createElement(CreateContentDialog, {
|
7428
|
+
label: "Crear " + name,
|
7429
|
+
type: schema,
|
7430
|
+
onOK: onOK,
|
7431
|
+
validator: validator,
|
7432
|
+
filter: formFilter
|
7433
|
+
}));
|
7434
|
+
}
|
7435
|
+
|
7436
|
+
function saveQuery(filters) {
|
7437
|
+
var onOK = function onOK(form) {
|
7438
|
+
try {
|
7439
|
+
form.filters = filters;
|
7440
|
+
form.layout = {};
|
7441
|
+
form.user = user;
|
7442
|
+
form.url = url;
|
7443
|
+
return Promise.resolve(pageContext.createQuery(form, user)).then(function () {
|
7444
|
+
setPageContext(Object.assign({}, pageContext));
|
7445
|
+
});
|
7446
|
+
} catch (e) {
|
7447
|
+
return Promise.reject(e);
|
7448
|
+
}
|
7449
|
+
};
|
7450
|
+
|
7451
|
+
site.openDialog( /*#__PURE__*/React__default["default"].createElement(CreateContentDialog, {
|
7452
|
+
label: "Nueva query",
|
7453
|
+
type: QUERY,
|
7454
|
+
onOK: onOK
|
7455
|
+
}));
|
7456
|
+
}
|
7457
|
+
|
7458
|
+
function change(next) {
|
7459
|
+
setForm(next);
|
7460
|
+
}
|
7461
|
+
|
7462
|
+
function canSave() {
|
7463
|
+
var can = !equal__default["default"](form, selected);
|
7464
|
+
return can;
|
7465
|
+
}
|
7466
|
+
|
7467
|
+
function closeAside() {
|
7468
|
+
pageContext.select(null);
|
7469
|
+
setPageContext(Object.assign({}, pageContext));
|
7470
|
+
}
|
7471
|
+
|
7472
|
+
function renderAside() {
|
7473
|
+
var rowSelected = selected && form;
|
7474
|
+
var rowChecked = pageContext.checked && pageContext.checked.size > 0;
|
7475
|
+
|
7476
|
+
if (rowSelected || rowChecked) {
|
7477
|
+
return /*#__PURE__*/React__default["default"].createElement("aside", {
|
7478
|
+
className: "table-page"
|
7479
|
+
}, rowSelected ? /*#__PURE__*/React__default["default"].createElement(TableRowEditor$1, {
|
7480
|
+
content: new Content(schema, form),
|
7481
|
+
filter: editorFilter,
|
7482
|
+
onChange: change,
|
7483
|
+
onClose: closeAside,
|
7484
|
+
editable: canEdit
|
7485
|
+
}) : null, rowChecked ? /*#__PURE__*/React__default["default"].createElement(TableSelector$1, {
|
7486
|
+
schema: schema,
|
7487
|
+
actions: selectionActions
|
7488
|
+
}) : null);
|
7489
|
+
}
|
7490
|
+
|
7491
|
+
return null;
|
7492
|
+
}
|
7493
|
+
|
7494
|
+
function renderActions() {
|
7495
|
+
return actions.map(function (element) {
|
7496
|
+
var action = function action() {
|
7497
|
+
return element.props.action(pageContext);
|
7498
|
+
};
|
7499
|
+
|
7500
|
+
var clone = React__default["default"].cloneElement(element, {
|
7501
|
+
action: action
|
7502
|
+
});
|
7503
|
+
return clone;
|
7504
|
+
});
|
7505
|
+
}
|
7506
|
+
|
7507
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
|
7508
|
+
className: "table-page",
|
7509
|
+
title: /*#__PURE__*/React__default["default"].createElement(Text, null, title)
|
7510
|
+
}, canAdd ? /*#__PURE__*/React__default["default"].createElement(Button, {
|
7511
|
+
icon: "add",
|
7512
|
+
label: "A\xF1adir",
|
7513
|
+
action: add,
|
7514
|
+
raised: true
|
7515
|
+
}) : null, "\xA0", /*#__PURE__*/React__default["default"].createElement(Button, {
|
7516
|
+
icon: "refresh",
|
7517
|
+
label: "Reload",
|
7518
|
+
action: reload
|
7519
|
+
}), renderActions()), canQuery || canFilter ? /*#__PURE__*/React__default["default"].createElement("menu", {
|
7520
|
+
className: "table-page"
|
7521
|
+
}, canQuery ? /*#__PURE__*/React__default["default"].createElement(TableQueries$1, {
|
7522
|
+
schema: schema,
|
7523
|
+
url: url,
|
7524
|
+
user: user
|
7525
|
+
}) : null, canFilter ? /*#__PURE__*/React__default["default"].createElement(TableFilters$1, {
|
7526
|
+
schema: schema,
|
7527
|
+
onSave: canQuery ? saveQuery : null
|
7528
|
+
}) : null) : null, /*#__PURE__*/React__default["default"].createElement("main", {
|
7529
|
+
key: id,
|
7530
|
+
className: "table-page"
|
7531
|
+
}, /*#__PURE__*/React__default["default"].createElement(TableEditor$1, {
|
7532
|
+
icon: icon,
|
7533
|
+
title: name,
|
7534
|
+
schema: schema,
|
7535
|
+
delay: delay,
|
7536
|
+
editable: editable,
|
7537
|
+
tabbedBy: tabbedBy,
|
7538
|
+
groupBy: groupBy,
|
7539
|
+
filter: tableFilter,
|
7540
|
+
actions: tableActions,
|
7541
|
+
canDelete: canDelete,
|
7542
|
+
className: tableClassName
|
7543
|
+
}), children ? /*#__PURE__*/React__default["default"].createElement("article", null, children) : null), renderAside());
|
7544
|
+
};
|
7545
|
+
|
7546
|
+
var TableRowEditor$1 = function TableRowEditor(props) {
|
7547
|
+
var name = props.name,
|
7548
|
+
content = props.content,
|
7549
|
+
filter = props.filter,
|
7550
|
+
editable = props.editable,
|
7551
|
+
onChange = props.onChange,
|
7552
|
+
onClose = props.onClose;
|
7553
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
7554
|
+
className: "table-row-editor"
|
7555
|
+
}, /*#__PURE__*/React__default["default"].createElement(Header, {
|
7556
|
+
icon: "local_offer",
|
7557
|
+
title: name || "Propiedades"
|
7558
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7559
|
+
icon: "close",
|
7560
|
+
clickable: true,
|
7561
|
+
action: onClose
|
7562
|
+
})), /*#__PURE__*/React__default["default"].createElement("main", null, editable ? /*#__PURE__*/React__default["default"].createElement(ContentEditor, {
|
7563
|
+
content: content,
|
7564
|
+
onChange: onChange,
|
7565
|
+
filter: filter
|
7566
|
+
}) : /*#__PURE__*/React__default["default"].createElement(ContentViewer, {
|
7567
|
+
content: content
|
7568
|
+
})));
|
7569
|
+
};
|
7570
|
+
/**
|
7571
|
+
* Table Selector
|
7572
|
+
*/
|
7573
|
+
|
7574
|
+
|
7575
|
+
var TableSelector$1 = function TableSelector(props) {
|
7576
|
+
var schema = props.schema,
|
7577
|
+
_props$actions2 = props.actions,
|
7578
|
+
actions = _props$actions2 === void 0 ? [] : _props$actions2;
|
7579
|
+
|
7580
|
+
var _useContext2 = React.useContext(PageContext),
|
7581
|
+
pageContext = _useContext2[0],
|
7582
|
+
setPageContext = _useContext2[1];
|
7583
|
+
|
7584
|
+
var all = pageContext.all,
|
7585
|
+
checked = pageContext.checked;
|
7586
|
+
var count = checked.size + "/" + all.length;
|
7587
|
+
var columns = Object.keys(schema).filter(function (key) {
|
7588
|
+
return schema[key].selectorColumn === true;
|
7589
|
+
}).map(function (key) {
|
7590
|
+
var field = schema[key];
|
7591
|
+
return {
|
7592
|
+
id: field.id,
|
7593
|
+
label: field.label
|
7594
|
+
};
|
7595
|
+
});
|
7596
|
+
var rows = all.filter(function (item) {
|
7597
|
+
return checked.has(item.id);
|
7598
|
+
});
|
7599
|
+
var table = {
|
7600
|
+
columns: columns,
|
7601
|
+
rows: rows || []
|
7602
|
+
};
|
7603
|
+
var buttons = actions.map(function (_ref) {
|
7604
|
+
var label = _ref.label,
|
7605
|
+
_action = _ref.action,
|
7606
|
+
validate = _ref.validate;
|
7607
|
+
return /*#__PURE__*/React__default["default"].createElement(Button, {
|
7608
|
+
label: label,
|
7609
|
+
raised: true,
|
7610
|
+
action: function action() {
|
7611
|
+
return _action(checked, pageContext, function () {
|
7612
|
+
try {
|
7613
|
+
return Promise.resolve(pageContext.load()).then(function () {
|
7614
|
+
setPageContext(Object.assign({}, pageContext));
|
7615
|
+
});
|
7616
|
+
} catch (e) {
|
7617
|
+
return Promise.reject(e);
|
7618
|
+
}
|
7619
|
+
}, rows);
|
7620
|
+
},
|
7621
|
+
disabled: !validate(checked, rows)
|
7622
|
+
});
|
7623
|
+
});
|
7624
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
7625
|
+
className: "table-selector"
|
7626
|
+
}, /*#__PURE__*/React__default["default"].createElement(Header, {
|
7627
|
+
icon: "checklist_rtl",
|
7628
|
+
title: "Selecci\xF3n"
|
7629
|
+
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
7630
|
+
className: "size"
|
7631
|
+
}, count)), /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(DataTable, table)), /*#__PURE__*/React__default["default"].createElement("footer", null, buttons));
|
7632
|
+
};
|
7633
|
+
/**
|
7634
|
+
* Table Queries
|
7635
|
+
*/
|
7636
|
+
|
7637
|
+
|
7638
|
+
var TableQueries$1 = function TableQueries(props) {
|
7639
|
+
var remove = function remove(id) {
|
7640
|
+
try {
|
7641
|
+
return Promise.resolve(pageContext.removeQuery(id, user)).then(function () {
|
7642
|
+
setPageContext(Object.assign({}, pageContext));
|
7643
|
+
});
|
7644
|
+
} catch (e) {
|
7645
|
+
return Promise.reject(e);
|
7646
|
+
}
|
7647
|
+
};
|
7648
|
+
|
7649
|
+
var _useContext3 = React.useContext(PageContext),
|
7650
|
+
pageContext = _useContext3[0],
|
7651
|
+
setPageContext = _useContext3[1];
|
7652
|
+
|
7653
|
+
var url = props.url,
|
7654
|
+
user = props.user;
|
7655
|
+
var _pageContext$queries = pageContext.queries,
|
7656
|
+
queries = _pageContext$queries === void 0 ? [] : _pageContext$queries;
|
7657
|
+
|
7658
|
+
var _useState2 = React.useState(),
|
7659
|
+
selected = _useState2[0],
|
7660
|
+
setSelected = _useState2[1];
|
7661
|
+
|
7662
|
+
function select(query) {
|
7663
|
+
setSelected(query.id);
|
7664
|
+
pageContext.changeFilters(query.filters);
|
7665
|
+
setPageContext(Object.assign({}, pageContext));
|
7666
|
+
}
|
7667
|
+
|
7668
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
|
7669
|
+
className: "table-queries",
|
7670
|
+
title: /*#__PURE__*/React__default["default"].createElement(Text, null, "Queries")
|
7671
|
+
}), /*#__PURE__*/React__default["default"].createElement("main", {
|
7672
|
+
className: "table-queries"
|
7673
|
+
}, queries ? queries.filter(function (query) {
|
7674
|
+
return query.url === url;
|
7675
|
+
}).map(function (query) {
|
7676
|
+
var style = selected === query.id ? "selected" : "";
|
7677
|
+
return /*#__PURE__*/React__default["default"].createElement("div", {
|
7678
|
+
className: "table-queries-item " + style,
|
7679
|
+
onClick: function onClick() {
|
7680
|
+
return select(query);
|
7681
|
+
}
|
7682
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7683
|
+
icon: "star",
|
7684
|
+
size: "small"
|
7685
|
+
}), /*#__PURE__*/React__default["default"].createElement("label", null, query.name), /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7686
|
+
icon: "close",
|
7687
|
+
clickable: true,
|
7688
|
+
size: "small",
|
7689
|
+
action: function action() {
|
7690
|
+
return remove(query.id);
|
7691
|
+
}
|
7692
|
+
}));
|
7693
|
+
}) : /*#__PURE__*/React__default["default"].createElement("div", null, "...empty...")));
|
7694
|
+
};
|
7695
|
+
/**
|
7696
|
+
* Table Filters
|
7697
|
+
*/
|
7698
|
+
|
7699
|
+
|
7700
|
+
var TableFilters$1 = function TableFilters(props) {
|
7701
|
+
var reload = function reload() {
|
7702
|
+
try {
|
7703
|
+
return Promise.resolve(pageContext.load(form)).then(function () {
|
7704
|
+
setPageContext(Object.assign({}, pageContext));
|
7705
|
+
});
|
7706
|
+
} catch (e) {
|
7707
|
+
return Promise.reject(e);
|
7708
|
+
}
|
7709
|
+
};
|
7710
|
+
|
7711
|
+
var change = function change(next) {
|
7712
|
+
try {
|
7713
|
+
setForm(next);
|
7714
|
+
return Promise.resolve();
|
7715
|
+
} catch (e) {
|
7716
|
+
return Promise.reject(e);
|
7717
|
+
}
|
7718
|
+
};
|
7719
|
+
|
7720
|
+
var _useContext4 = React.useContext(PageContext),
|
7721
|
+
pageContext = _useContext4[0],
|
7722
|
+
setPageContext = _useContext4[1];
|
7723
|
+
|
7724
|
+
var filters = pageContext.filters;
|
7725
|
+
var schema = props.schema,
|
7726
|
+
onSave = props.onSave;
|
7727
|
+
|
7728
|
+
var _useState3 = React.useState({}),
|
7729
|
+
form = _useState3[0],
|
7730
|
+
setForm = _useState3[1];
|
7731
|
+
|
7732
|
+
var filterSchema = React.useMemo(function () {
|
7733
|
+
var filterSchema = Object.assign({}, schema);
|
7734
|
+
|
7735
|
+
for (var key in filterSchema) {
|
7736
|
+
if (filterSchema[key].filter === false) {
|
7737
|
+
delete filterSchema[key];
|
7738
|
+
} else {
|
7739
|
+
if (filterSchema[key].type === TYPES.ENTITY) {
|
7740
|
+
var fs = filterSchema[key].item;
|
7741
|
+
|
7742
|
+
for (var key in fs) {
|
7743
|
+
if (fs[key].filter === false) delete fs[key];
|
7744
|
+
}
|
7745
|
+
}
|
7746
|
+
}
|
7747
|
+
} //Object.values(filterSchema).forEach(field => field.section = null)
|
7748
|
+
|
7749
|
+
|
7750
|
+
delete filterSchema.flows;
|
7751
|
+
return filterSchema;
|
7752
|
+
}, [schema]);
|
7753
|
+
React.useEffect(function () {
|
7754
|
+
if (filters) setForm(filters);
|
7755
|
+
}, [filters]);
|
7756
|
+
React.useEffect(function () {
|
7757
|
+
reload();
|
7758
|
+
}, [form]);
|
7759
|
+
|
7760
|
+
function clear() {
|
7761
|
+
change({});
|
7762
|
+
}
|
7763
|
+
|
7764
|
+
function save() {
|
7765
|
+
if (onSave) {
|
7766
|
+
onSave(form);
|
7767
|
+
}
|
7768
|
+
}
|
7769
|
+
|
7770
|
+
var content = new Content(filterSchema, form);
|
7771
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
|
7772
|
+
className: "table-filters",
|
7773
|
+
title: /*#__PURE__*/React__default["default"].createElement(Text, null, "Filters")
|
7774
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7775
|
+
icon: "filter_list_off",
|
7776
|
+
size: "small",
|
7777
|
+
clickable: true,
|
7778
|
+
action: clear
|
7779
|
+
}), onSave ? /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7780
|
+
icon: "save",
|
7781
|
+
size: "small",
|
7782
|
+
clickable: true,
|
7783
|
+
action: save
|
7784
|
+
}) : null), /*#__PURE__*/React__default["default"].createElement("main", {
|
7785
|
+
className: "table-filters"
|
7786
|
+
}, /*#__PURE__*/React__default["default"].createElement(ContentEditor, {
|
7787
|
+
content: content,
|
7788
|
+
onChange: change
|
7789
|
+
})));
|
7790
|
+
};
|
7791
|
+
/**
|
7792
|
+
* Table Editor
|
7793
|
+
*/
|
7794
|
+
|
7795
|
+
|
7796
|
+
var TableEditor$1 = function TableEditor(props) {
|
7797
|
+
var checkOne = function checkOne(id, field, value) {
|
7798
|
+
check([id], value);
|
7799
|
+
return Promise.resolve();
|
7800
|
+
};
|
7801
|
+
|
7802
|
+
var check = function check(ids, value) {
|
7803
|
+
try {
|
7804
|
+
pageContext.check(ids, value);
|
7805
|
+
setPageContext(Object.assign({}, pageContext));
|
7806
|
+
return Promise.resolve();
|
7807
|
+
} catch (e) {
|
7808
|
+
return Promise.reject(e);
|
7809
|
+
}
|
7810
|
+
};
|
7811
|
+
|
7812
|
+
var select = function select(row, event) {
|
7813
|
+
try {
|
7814
|
+
clear();
|
7815
|
+
return Promise.resolve(pageContext.select(row.id)).then(function () {
|
7816
|
+
setPageContext(Object.assign({}, pageContext));
|
7817
|
+
});
|
7818
|
+
} catch (e) {
|
7819
|
+
return Promise.reject(e);
|
7820
|
+
}
|
7821
|
+
};
|
7822
|
+
|
7823
|
+
var remove = function remove(id) {
|
7824
|
+
try {
|
7825
|
+
return Promise.resolve(site.confirm("Are you sure ?")).then(function (confirm) {
|
7826
|
+
var _temp5 = function () {
|
7827
|
+
if (confirm) {
|
7828
|
+
return Promise.resolve(pageContext.remove(id)).then(function () {
|
7829
|
+
pageContext.clear();
|
7830
|
+
setPageContext(Object.assign({}, pageContext));
|
7831
|
+
});
|
7832
|
+
}
|
7833
|
+
}();
|
7834
|
+
|
7835
|
+
if (_temp5 && _temp5.then) return _temp5.then(function () {});
|
7836
|
+
});
|
7837
|
+
} catch (e) {
|
7838
|
+
return Promise.reject(e);
|
7839
|
+
}
|
7840
|
+
};
|
7841
|
+
|
7842
|
+
var site = React.useContext(SiteContext);
|
7843
|
+
|
7844
|
+
var _useContext5 = React.useContext(PageContext),
|
7845
|
+
pageContext = _useContext5[0],
|
7846
|
+
setPageContext = _useContext5[1];
|
7847
|
+
|
7848
|
+
var _pageContext$all = pageContext.all,
|
7849
|
+
all = _pageContext$all === void 0 ? [] : _pageContext$all;
|
7850
|
+
var icon = props.icon,
|
7851
|
+
title = props.title,
|
7852
|
+
schema = props.schema,
|
7853
|
+
editable = props.editable,
|
7854
|
+
canDelete = props.canDelete,
|
7855
|
+
filter = props.filter,
|
7856
|
+
actions = props.actions,
|
7857
|
+
className = props.className;
|
7858
|
+
|
7859
|
+
var _useState4 = React.useState(props.groupBy),
|
7860
|
+
groupBy = _useState4[0],
|
7861
|
+
setGroupBy = _useState4[1];
|
7862
|
+
|
7863
|
+
var _useState5 = React.useState(0),
|
7864
|
+
tab = _useState5[0];
|
7865
|
+
|
7866
|
+
React.useEffect(function () {
|
7867
|
+
try {
|
7868
|
+
var _temp4 = function () {
|
7869
|
+
if (tab) {
|
7870
|
+
var _filter2;
|
7871
|
+
|
7872
|
+
var _filter = (_filter2 = {}, _filter2[tab.field] = tab.value, _filter2);
|
7873
|
+
|
7874
|
+
return Promise.resolve(pageContext.load(_filter, [])).then(function () {
|
7875
|
+
setPageContext(Object.assign({}, pageContext));
|
7876
|
+
});
|
7877
|
+
}
|
7878
|
+
}();
|
7879
|
+
|
7880
|
+
return Promise.resolve(_temp4 && _temp4.then ? _temp4.then(function () {}) : void 0);
|
7881
|
+
} catch (e) {
|
7882
|
+
return Promise.reject(e);
|
7883
|
+
}
|
7884
|
+
}, [tab]);
|
7885
|
+
|
7886
|
+
function changeGroup(id, value) {
|
7887
|
+
setGroupBy(value);
|
7888
|
+
}
|
7889
|
+
|
7890
|
+
function change(rowID, cellID, value) {
|
7891
|
+
var _Object$assign;
|
7892
|
+
|
7893
|
+
var row = all.find(function (r) {
|
7894
|
+
return r.id === rowID;
|
7895
|
+
});
|
7896
|
+
var next = Object.assign({}, row, (_Object$assign = {}, _Object$assign[cellID] = value, _Object$assign));
|
7897
|
+
delete next.actions;
|
7898
|
+
pageContext.update(next);
|
7899
|
+
setPageContext(Object.assign({}, pageContext));
|
7900
|
+
}
|
7901
|
+
|
7902
|
+
function clear() {
|
7903
|
+
pageContext.clear();
|
7904
|
+
setPageContext(Object.assign({}, pageContext));
|
7905
|
+
}
|
7906
|
+
|
7907
|
+
function run(action, item) {
|
7908
|
+
action.action(item.id, pageContext, function () {
|
7909
|
+
try {
|
7910
|
+
return Promise.resolve(pageContext.load()).then(function () {
|
7911
|
+
setPageContext(Object.assign({}, pageContext));
|
7912
|
+
});
|
7913
|
+
} catch (e) {
|
7914
|
+
return Promise.reject(e);
|
7915
|
+
}
|
7916
|
+
});
|
7917
|
+
}
|
7918
|
+
|
7919
|
+
function buildGroupOptions(schema) {
|
7920
|
+
return Object.values(schema).filter(function (field) {
|
7921
|
+
return field.grouper === true;
|
7922
|
+
}).map(function (field) {
|
7923
|
+
return {
|
7924
|
+
label: field.label,
|
7925
|
+
value: field.id
|
7926
|
+
};
|
7927
|
+
});
|
7928
|
+
}
|
7929
|
+
|
7930
|
+
function renderGroupLabel(groupName) {
|
7931
|
+
var grouper = schema[groupBy];
|
7932
|
+
if (!groupName || !grouper) return "";
|
7933
|
+
|
7934
|
+
if (grouper.options) {
|
7935
|
+
var options = CHECK['isFunction'](grouper.options) ? grouper.options() : grouper.options;
|
7936
|
+
var option = options.find(function (option) {
|
7937
|
+
return option.value === groupName;
|
7938
|
+
});
|
7939
|
+
return option ? option.label : groupName;
|
7940
|
+
} else {
|
7941
|
+
return groupName;
|
7942
|
+
}
|
7943
|
+
}
|
7944
|
+
|
7945
|
+
var tabField = Object.values(schema).find(function (field) {
|
7946
|
+
return field.tab === true;
|
7947
|
+
});
|
7948
|
+
var tabs = tabField ? tabField.options.map(function (option) {
|
7949
|
+
return Object.assign({}, option, {
|
7950
|
+
field: tabField.id
|
7951
|
+
});
|
7952
|
+
}) : [];
|
7953
|
+
var table = React.useMemo(function () {
|
7954
|
+
return {
|
7955
|
+
columns: Object.values(schema).filter(function (field) {
|
7956
|
+
return field.column === true;
|
7957
|
+
}).map(function (field) {
|
7958
|
+
var options = field.options;
|
7959
|
+
|
7960
|
+
if (options && typeof options == 'function') {
|
7961
|
+
options = options();
|
7962
|
+
}
|
7963
|
+
|
7964
|
+
return {
|
7965
|
+
id: field.id,
|
7966
|
+
label: field.label,
|
7967
|
+
type: field.type,
|
7968
|
+
format: field.format,
|
7969
|
+
item: field.item ? field.item : [],
|
7970
|
+
onChange: field.id === "checked" ? checkOne : field.editable ? change : null,
|
7971
|
+
|
7972
|
+
/* checked has it´s own handler */
|
7973
|
+
options: options
|
7974
|
+
};
|
7975
|
+
}),
|
7976
|
+
rows: []
|
7977
|
+
};
|
7978
|
+
}, [schema]);
|
7979
|
+
var items = filter ? filter(all) : all;
|
7980
|
+
if (items.length === 0) return /*#__PURE__*/React__default["default"].createElement("div", {
|
7981
|
+
className: "empty-message"
|
7982
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7983
|
+
icon: "search_off"
|
7984
|
+
}), /*#__PURE__*/React__default["default"].createElement(Text, null, "No Result Found"));
|
7985
|
+
var groups = items.reduce(function (groups, item) {
|
7986
|
+
var groupName = item[groupBy];
|
7987
|
+
if (!groups[groupName]) groups[groupName] = [];
|
7988
|
+
groups[groupName].push(item);
|
7989
|
+
return groups;
|
7990
|
+
}, {});
|
7991
|
+
var sections = Object.keys(groups).map(function (groupName) {
|
7992
|
+
var rows = groups[groupName].map(function (item) {
|
7993
|
+
item.checked = pageContext.checked ? pageContext.checked.has(item.id) : false;
|
7994
|
+
item.actions = actions ? actions.map(function (_action2) {
|
7995
|
+
return _action2.filter ? _action2.filter(item) ? /*#__PURE__*/React__default["default"].createElement(Icon, {
|
7996
|
+
icon: _action2.icon,
|
7997
|
+
clickable: true,
|
7998
|
+
size: "small",
|
7999
|
+
action: function action() {
|
8000
|
+
return run(_action2, item);
|
8001
|
+
}
|
8002
|
+
}) : null : /*#__PURE__*/React__default["default"].createElement(Icon, {
|
8003
|
+
icon: _action2.icon,
|
8004
|
+
clickable: true,
|
8005
|
+
size: "small",
|
8006
|
+
action: function action() {
|
8007
|
+
return run(_action2, item);
|
8008
|
+
}
|
8009
|
+
});
|
8010
|
+
}) : [];
|
8011
|
+
if (canDelete) item.actions.push( /*#__PURE__*/React__default["default"].createElement(Icon, {
|
8012
|
+
icon: "delete",
|
8013
|
+
size: "small",
|
8014
|
+
clickable: true,
|
8015
|
+
action: function action() {
|
8016
|
+
return remove(item.id);
|
8017
|
+
}
|
8018
|
+
}));
|
8019
|
+
return item;
|
8020
|
+
});
|
8021
|
+
table.rows = rows;
|
8022
|
+
return {
|
8023
|
+
id: groupName,
|
8024
|
+
checked: false,
|
8025
|
+
title: renderGroupLabel(groupName),
|
8026
|
+
info: groups[groupName].length,
|
8027
|
+
open: true,
|
8028
|
+
children: /*#__PURE__*/React__default["default"].createElement(DataTable, _extends({}, table, {
|
8029
|
+
onRowSelection: select,
|
8030
|
+
editable: editable,
|
8031
|
+
onCheckAll: check,
|
8032
|
+
className: className
|
8033
|
+
}))
|
8034
|
+
};
|
8035
|
+
});
|
8036
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
|
8037
|
+
icon: icon,
|
8038
|
+
title: /*#__PURE__*/React__default["default"].createElement(Text, null, title)
|
8039
|
+
}, groupBy ? /*#__PURE__*/React__default["default"].createElement(DropDown, {
|
8040
|
+
id: "groupBy",
|
8041
|
+
label: "Agrupar Por",
|
8042
|
+
value: groupBy,
|
8043
|
+
options: buildGroupOptions(schema),
|
8044
|
+
onChange: changeGroup
|
8045
|
+
}) : null, tabbedBy ? /*#__PURE__*/React__default["default"].createElement(Tabs, {
|
8046
|
+
fillRight: true,
|
8047
|
+
fillLeft: false
|
8048
|
+
}, tabs.map(function (tab) {
|
8049
|
+
return /*#__PURE__*/React__default["default"].createElement(Tab, {
|
8050
|
+
id: tab.value,
|
8051
|
+
label: tab.label
|
8052
|
+
});
|
8053
|
+
})) : ''), /*#__PURE__*/React__default["default"].createElement("main", {
|
8054
|
+
className: "table-editor"
|
8055
|
+
}, /*#__PURE__*/React__default["default"].createElement(Accordion, {
|
8056
|
+
sections: sections
|
8057
|
+
})));
|
8058
|
+
};
|
8059
|
+
/**
|
8060
|
+
* Table Context
|
8061
|
+
*/
|
8062
|
+
|
8063
|
+
var TableContext$1 = function TableContext(url, field, host, urlQuery, params) {
|
8064
|
+
var API = TableAPI$1(url, host, params);
|
8065
|
+
return {
|
8066
|
+
all: [],
|
8067
|
+
checked: new Set([]),
|
8068
|
+
selected: null,
|
8069
|
+
filters: {},
|
8070
|
+
queries: [],
|
8071
|
+
load: function load(filter) {
|
8072
|
+
try {
|
8073
|
+
var _this2 = this;
|
8074
|
+
|
8075
|
+
var _temp7 = _catch$1(function () {
|
8076
|
+
var filters = filter ? Object.keys(filter).reduce(function (filters, key) {
|
8077
|
+
var field = filter[key];
|
8078
|
+
|
8079
|
+
if (field) {
|
8080
|
+
if (CHECK['isObject'](field)) {
|
8081
|
+
Object.keys(field).forEach(function (key2) {
|
8082
|
+
var subfield = field[key2];
|
8083
|
+
if (subfield) filters[key + "." + key2] = subfield;
|
8084
|
+
});
|
8085
|
+
} else {
|
8086
|
+
filters[key] = field;
|
8087
|
+
}
|
8088
|
+
}
|
8089
|
+
|
8090
|
+
return filters;
|
8091
|
+
}, {}) : [];
|
8092
|
+
return Promise.resolve(API.all(filters)).then(function (data) {
|
8093
|
+
_this2.all = field ? data[field] : data;
|
8094
|
+
});
|
8095
|
+
}, function (error) {
|
8096
|
+
console.log(error);
|
8097
|
+
});
|
8098
|
+
|
8099
|
+
return Promise.resolve(_temp7 && _temp7.then ? _temp7.then(function () {}) : void 0);
|
8100
|
+
} catch (e) {
|
8101
|
+
return Promise.reject(e);
|
8102
|
+
}
|
8103
|
+
},
|
8104
|
+
check: function check(ids, isChecked) {
|
8105
|
+
var _this3 = this;
|
8106
|
+
|
8107
|
+
if (isChecked === void 0) {
|
8108
|
+
isChecked = true;
|
8109
|
+
}
|
8110
|
+
|
8111
|
+
if (isChecked) {
|
8112
|
+
ids.forEach(function (id) {
|
8113
|
+
return _this3.checked.add(id);
|
8114
|
+
});
|
8115
|
+
} else {
|
8116
|
+
ids.forEach(function (id) {
|
8117
|
+
return _this3.checked["delete"](id);
|
8118
|
+
});
|
8119
|
+
}
|
8120
|
+
},
|
8121
|
+
select: function select(id) {
|
8122
|
+
var result = this.all.find(function (item) {
|
8123
|
+
return item.id === id;
|
8124
|
+
});
|
8125
|
+
this.selected = result;
|
8126
|
+
},
|
8127
|
+
clear: function clear() {
|
8128
|
+
this.selected = null;
|
8129
|
+
},
|
8130
|
+
create: function create(form) {
|
8131
|
+
try {
|
8132
|
+
var _this5 = this;
|
8133
|
+
|
8134
|
+
var _temp9 = _catch$1(function () {
|
8135
|
+
return Promise.resolve(API.create(form)).then(function () {
|
8136
|
+
return Promise.resolve(_this5.load()).then(function () {});
|
8137
|
+
});
|
8138
|
+
}, function (error) {
|
8139
|
+
console.log(error);
|
8140
|
+
});
|
8141
|
+
|
8142
|
+
return Promise.resolve(_temp9 && _temp9.then ? _temp9.then(function () {}) : void 0);
|
8143
|
+
} catch (e) {
|
8144
|
+
return Promise.reject(e);
|
8145
|
+
}
|
8146
|
+
},
|
8147
|
+
update: function update(form) {
|
8148
|
+
try {
|
8149
|
+
var _this7 = this;
|
8150
|
+
|
8151
|
+
var _temp11 = _catch$1(function () {
|
8152
|
+
return Promise.resolve(API.update(form)).then(function () {
|
8153
|
+
return Promise.resolve(_this7.load()).then(function () {});
|
8154
|
+
});
|
8155
|
+
}, function (error) {
|
8156
|
+
console.log(error);
|
8157
|
+
});
|
8158
|
+
|
8159
|
+
return Promise.resolve(_temp11 && _temp11.then ? _temp11.then(function () {}) : void 0);
|
8160
|
+
} catch (e) {
|
8161
|
+
return Promise.reject(e);
|
8162
|
+
}
|
8163
|
+
},
|
8164
|
+
remove: function remove(id) {
|
8165
|
+
try {
|
8166
|
+
var _this9 = this;
|
8167
|
+
|
8168
|
+
var _temp13 = _catch$1(function () {
|
8169
|
+
return Promise.resolve(API.remove(id)).then(function () {
|
8170
|
+
return Promise.resolve(_this9.load()).then(function () {});
|
8171
|
+
});
|
8172
|
+
}, function (error) {
|
8173
|
+
console.log(error);
|
8174
|
+
});
|
8175
|
+
|
8176
|
+
return Promise.resolve(_temp13 && _temp13.then ? _temp13.then(function () {}) : void 0);
|
8177
|
+
} catch (e) {
|
8178
|
+
return Promise.reject(e);
|
8179
|
+
}
|
8180
|
+
},
|
8181
|
+
changeFilters: function changeFilters(filters) {
|
8182
|
+
this.filters = filters;
|
8183
|
+
},
|
8184
|
+
loadQueries: function loadQueries(user) {
|
8185
|
+
try {
|
8186
|
+
var _this11 = this;
|
8187
|
+
|
8188
|
+
var _temp15 = _catch$1(function () {
|
8189
|
+
return Promise.resolve(API.queries(user, urlQuery)).then(function (_API$queries) {
|
8190
|
+
_this11.queries = _API$queries;
|
8191
|
+
});
|
8192
|
+
}, function (error) {
|
8193
|
+
console.log(error);
|
8194
|
+
});
|
8195
|
+
|
8196
|
+
return Promise.resolve(_temp15 && _temp15.then ? _temp15.then(function () {}) : void 0);
|
8197
|
+
} catch (e) {
|
8198
|
+
return Promise.reject(e);
|
8199
|
+
}
|
8200
|
+
},
|
8201
|
+
createQuery: function createQuery(query, user) {
|
8202
|
+
try {
|
8203
|
+
var _this13 = this;
|
8204
|
+
|
8205
|
+
var _temp17 = _catch$1(function () {
|
8206
|
+
return Promise.resolve(API.createQuery(query, urlQuery)).then(function () {
|
8207
|
+
return Promise.resolve(_this13.loadQueries(user)).then(function () {});
|
8208
|
+
});
|
8209
|
+
}, function (error) {
|
8210
|
+
console.log(error);
|
8211
|
+
});
|
8212
|
+
|
8213
|
+
return Promise.resolve(_temp17 && _temp17.then ? _temp17.then(function () {}) : void 0);
|
8214
|
+
} catch (e) {
|
8215
|
+
return Promise.reject(e);
|
8216
|
+
}
|
8217
|
+
},
|
8218
|
+
removeQuery: function removeQuery(id, user) {
|
8219
|
+
try {
|
8220
|
+
var _this15 = this;
|
8221
|
+
|
8222
|
+
var _temp19 = _catch$1(function () {
|
8223
|
+
return Promise.resolve(API.removeQuery(id, urlQuery)).then(function () {
|
8224
|
+
return Promise.resolve(_this15.loadQueries(user)).then(function () {});
|
8225
|
+
});
|
8226
|
+
}, function (error) {
|
8227
|
+
console.log(error);
|
8228
|
+
});
|
8229
|
+
|
8230
|
+
return Promise.resolve(_temp19 && _temp19.then ? _temp19.then(function () {}) : void 0);
|
8231
|
+
} catch (e) {
|
8232
|
+
return Promise.reject(e);
|
8233
|
+
}
|
8234
|
+
}
|
8235
|
+
};
|
8236
|
+
};
|
8237
|
+
/**
|
8238
|
+
* Table API
|
8239
|
+
*/
|
8240
|
+
|
8241
|
+
|
7132
8242
|
var TableAPI$1 = function TableAPI(url, host, params) {
|
7133
8243
|
if (params === void 0) {
|
7134
8244
|
params = "";
|
@@ -8294,6 +9404,7 @@
|
|
8294
9404
|
return value && (Object.prototype.toString.call(value) === "[object Function]" || "function" === typeof value || value instanceof Function);
|
8295
9405
|
};
|
8296
9406
|
|
9407
|
+
exports.Accordion = Accordion;
|
8297
9408
|
exports.Avatar = Avatar;
|
8298
9409
|
exports.Button = Button;
|
8299
9410
|
exports.Calendar = Calendar;
|
@@ -8353,8 +9464,9 @@
|
|
8353
9464
|
exports.TabbedContentEditor = TabbedContentEditor;
|
8354
9465
|
exports.TabbedTablePage = TabbedTablePage;
|
8355
9466
|
exports.TabbedView = TabbedView;
|
8356
|
-
exports.TableEditor = TableEditor$
|
9467
|
+
exports.TableEditor = TableEditor$2;
|
8357
9468
|
exports.TablePage = TablePage;
|
9469
|
+
exports.TablePage2 = TablePage2;
|
8358
9470
|
exports.Tabs = Tabs;
|
8359
9471
|
exports.Text = Text;
|
8360
9472
|
exports.TextArea = TextArea;
|