ywana-core8 0.0.537 → 0.0.538
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/db/db.json +17 -1
- package/dist/index.cjs +178 -21
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +66 -59
- package/dist/index.css.map +1 -1
- package/dist/index.modern.js +178 -21
- package/dist/index.modern.js.map +1 -1
- package/dist/index.umd.js +178 -21
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/domain/CollectionPage.css +1 -19
- package/src/domain/ContentEditor.css +47 -22
- package/src/domain/ContentEditor.js +147 -41
- package/src/domain/TablePage.js +1 -0
- package/src/site/site.test.js +12 -9
package/dist/index.umd.js
CHANGED
@@ -4047,7 +4047,7 @@
|
|
4047
4047
|
fields = section.fields;
|
4048
4048
|
return /*#__PURE__*/React__default["default"].createElement("section", {
|
4049
4049
|
key: title
|
4050
|
-
},
|
4050
|
+
}, grouped ? group(section).map(function (group) {
|
4051
4051
|
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, group.name.length > 0 ? /*#__PURE__*/React__default["default"].createElement("div", {
|
4052
4052
|
className: "group-caption"
|
4053
4053
|
}, group.name) : null, group.fields.filter(function (field) {
|
@@ -4073,7 +4073,7 @@
|
|
4073
4073
|
onChange: change,
|
4074
4074
|
content: content
|
4075
4075
|
});
|
4076
|
-
}))
|
4076
|
+
}));
|
4077
4077
|
})));
|
4078
4078
|
};
|
4079
4079
|
/**
|
@@ -4536,9 +4536,7 @@
|
|
4536
4536
|
Feeder = field.Feeder,
|
4537
4537
|
Renderer = field.Renderer,
|
4538
4538
|
_field$Adder = field.Adder,
|
4539
|
-
Adder = _field$Adder === void 0 ? true : _field$Adder
|
4540
|
-
_field$editable3 = field.editable,
|
4541
|
-
editable = _field$editable3 === void 0 ? true : _field$editable3;
|
4539
|
+
Adder = _field$Adder === void 0 ? true : _field$Adder;
|
4542
4540
|
|
4543
4541
|
function add(rows) {
|
4544
4542
|
if (onChange) {
|
@@ -4564,7 +4562,9 @@
|
|
4564
4562
|
}
|
4565
4563
|
}
|
4566
4564
|
|
4567
|
-
var columns = Object.values(item).
|
4565
|
+
var columns = Object.values(item).filter(function (field) {
|
4566
|
+
return field.column === true;
|
4567
|
+
}).map(function (item) {
|
4568
4568
|
return _extends({}, item, {
|
4569
4569
|
onChange: change
|
4570
4570
|
});
|
@@ -4573,7 +4573,7 @@
|
|
4573
4573
|
id: 'actions',
|
4574
4574
|
label: 'Actions'
|
4575
4575
|
});
|
4576
|
-
|
4576
|
+
value.map(function (item, index) {
|
4577
4577
|
return _extends({}, item, {
|
4578
4578
|
id: index,
|
4579
4579
|
actions: [/*#__PURE__*/React__default["default"].createElement(Icon, {
|
@@ -4586,26 +4586,23 @@
|
|
4586
4586
|
})]
|
4587
4587
|
});
|
4588
4588
|
});
|
4589
|
-
var table = {
|
4590
|
-
columns: columns,
|
4591
|
-
rows: rows
|
4592
|
-
};
|
4593
4589
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
4594
4590
|
className: "collection-editor"
|
4595
|
-
},
|
4596
|
-
use: "caption"
|
4597
|
-
}, label), /*#__PURE__*/React__default["default"].createElement("div", {
|
4598
|
-
className: "actions"
|
4599
|
-
}, Feeder ? /*#__PURE__*/React__default["default"].createElement(Feeder, {
|
4600
|
-
onAdd: add
|
4601
|
-
}) : null)), Renderer ? /*#__PURE__*/React__default["default"].createElement(Renderer, {
|
4591
|
+
}, Renderer ? /*#__PURE__*/React__default["default"].createElement(Renderer, {
|
4602
4592
|
field: field,
|
4603
4593
|
value: value,
|
4604
4594
|
onRemove: remove,
|
4605
4595
|
onChange: onChange
|
4606
|
-
}) :
|
4607
|
-
|
4608
|
-
|
4596
|
+
}) // : <DataTable {...table} editable={editable} />
|
4597
|
+
: /*#__PURE__*/React__default["default"].createElement(TableEditor$2, {
|
4598
|
+
icon: "info",
|
4599
|
+
title: label,
|
4600
|
+
data: value,
|
4601
|
+
schema: item,
|
4602
|
+
groupBy: "field1"
|
4603
|
+
}), /*#__PURE__*/React__default["default"].createElement("footer", null, Feeder ? /*#__PURE__*/React__default["default"].createElement(Feeder, {
|
4604
|
+
onAdd: add
|
4605
|
+
}) : null, Adder ? /*#__PURE__*/React__default["default"].createElement(CollectionAdder, {
|
4609
4606
|
item: item,
|
4610
4607
|
onAdd: add
|
4611
4608
|
}) : null));
|
@@ -4680,6 +4677,166 @@
|
|
4680
4677
|
action: toggle
|
4681
4678
|
}));
|
4682
4679
|
};
|
4680
|
+
/**
|
4681
|
+
* Table Editor
|
4682
|
+
*/
|
4683
|
+
|
4684
|
+
|
4685
|
+
var TableEditor$2 = function TableEditor(props) {
|
4686
|
+
var select = function select(row) {
|
4687
|
+
try {
|
4688
|
+
if (onSelect) onSelect(row.id);
|
4689
|
+
return Promise.resolve();
|
4690
|
+
} catch (e) {
|
4691
|
+
return Promise.reject(e);
|
4692
|
+
}
|
4693
|
+
};
|
4694
|
+
|
4695
|
+
var _props$data = props.data,
|
4696
|
+
data = _props$data === void 0 ? [] : _props$data,
|
4697
|
+
icon = props.icon,
|
4698
|
+
title = props.title,
|
4699
|
+
schema = props.schema,
|
4700
|
+
editable = props.editable,
|
4701
|
+
canDelete = props.canDelete,
|
4702
|
+
filter = props.filter,
|
4703
|
+
actions = props.actions,
|
4704
|
+
className = props.className;
|
4705
|
+
|
4706
|
+
var _useState5 = React.useState(props.groupBy),
|
4707
|
+
groupBy = _useState5[0],
|
4708
|
+
setGroupBy = _useState5[1];
|
4709
|
+
|
4710
|
+
function changeGroup(id, value) {
|
4711
|
+
setGroupBy(value);
|
4712
|
+
}
|
4713
|
+
|
4714
|
+
function renderGroupLabel(groupName) {
|
4715
|
+
var grouper = schema[groupBy];
|
4716
|
+
if (!groupName || !grouper) return "";
|
4717
|
+
|
4718
|
+
if (grouper.options) {
|
4719
|
+
var options = CHECK['isFunction'](grouper.options) ? grouper.options() : grouper.options;
|
4720
|
+
var option = options.find(function (option) {
|
4721
|
+
return option.value === groupName;
|
4722
|
+
});
|
4723
|
+
return option ? option.label : groupName;
|
4724
|
+
} else {
|
4725
|
+
return groupName;
|
4726
|
+
}
|
4727
|
+
}
|
4728
|
+
|
4729
|
+
function renderGroups() {
|
4730
|
+
var items = filter ? filter(data) : data;
|
4731
|
+
if (items.length === 0) return /*#__PURE__*/React__default["default"].createElement("div", {
|
4732
|
+
className: "empty-message"
|
4733
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
4734
|
+
icon: "search_off"
|
4735
|
+
}), /*#__PURE__*/React__default["default"].createElement(Text, null, "No Result Found"));
|
4736
|
+
var groups = items.reduce(function (groups, item) {
|
4737
|
+
var groupName = item[groupBy];
|
4738
|
+
var group = groups[groupName];
|
4739
|
+
if (!group) groups[groupName] = [];
|
4740
|
+
groups[groupName].push(item);
|
4741
|
+
return groups;
|
4742
|
+
}, {});
|
4743
|
+
return Object.keys(groups).map(function (groupName) {
|
4744
|
+
var table = {
|
4745
|
+
columns: Object.values(schema).filter(function (field) {
|
4746
|
+
return field.column === true;
|
4747
|
+
}).map(function (field) {
|
4748
|
+
var options = field.options;
|
4749
|
+
|
4750
|
+
if (options && typeof options == 'function') {
|
4751
|
+
options = options();
|
4752
|
+
}
|
4753
|
+
|
4754
|
+
return {
|
4755
|
+
id: field.id,
|
4756
|
+
label: field.label,
|
4757
|
+
type: field.type,
|
4758
|
+
format: field.format,
|
4759
|
+
item: field.item ? field.item : [],
|
4760
|
+
onChange: field.id === "checked" ? checkOne : field.editable ? change : null,
|
4761
|
+
|
4762
|
+
/* checked has it´s own handler */
|
4763
|
+
options: options
|
4764
|
+
};
|
4765
|
+
}),
|
4766
|
+
rows: groups[groupName].map(function (item) {
|
4767
|
+
item.actions = actions ? actions.map(function (_action) {
|
4768
|
+
return _action.filter ? _action.filter(item) ? /*#__PURE__*/React__default["default"].createElement(Icon, {
|
4769
|
+
icon: _action.icon,
|
4770
|
+
clickable: true,
|
4771
|
+
size: "small",
|
4772
|
+
action: function action() {
|
4773
|
+
return run(_action, item);
|
4774
|
+
}
|
4775
|
+
}) : null : /*#__PURE__*/React__default["default"].createElement(Icon, {
|
4776
|
+
icon: _action.icon,
|
4777
|
+
clickable: true,
|
4778
|
+
size: "small",
|
4779
|
+
action: function action() {
|
4780
|
+
return run(_action, item);
|
4781
|
+
}
|
4782
|
+
});
|
4783
|
+
}) : [];
|
4784
|
+
if (canDelete) item.actions.push( /*#__PURE__*/React__default["default"].createElement(Icon, {
|
4785
|
+
icon: "delete",
|
4786
|
+
size: "small",
|
4787
|
+
clickable: true,
|
4788
|
+
action: function action() {
|
4789
|
+
return remove(item.id);
|
4790
|
+
}
|
4791
|
+
}));
|
4792
|
+
return item;
|
4793
|
+
})
|
4794
|
+
};
|
4795
|
+
table.columns.push({
|
4796
|
+
id: "actions"
|
4797
|
+
});
|
4798
|
+
var groupSize = groups[groupName].length;
|
4799
|
+
var title = /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement("span", {
|
4800
|
+
className: "size"
|
4801
|
+
}, groupSize), renderGroupLabel(groupName));
|
4802
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, {
|
4803
|
+
key: groupName
|
4804
|
+
}, /*#__PURE__*/React__default["default"].createElement(Header, {
|
4805
|
+
title: title
|
4806
|
+
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
4807
|
+
className: "size"
|
4808
|
+
}, groupSize)), /*#__PURE__*/React__default["default"].createElement(DataTable, _extends({}, table, {
|
4809
|
+
onRowSelection: select,
|
4810
|
+
editable: editable,
|
4811
|
+
className: className
|
4812
|
+
})));
|
4813
|
+
});
|
4814
|
+
}
|
4815
|
+
|
4816
|
+
function buildGroupOptions(schema) {
|
4817
|
+
return Object.values(schema).filter(function (field) {
|
4818
|
+
return field.grouper === true;
|
4819
|
+
}).map(function (field) {
|
4820
|
+
return {
|
4821
|
+
label: field.label,
|
4822
|
+
value: field.id
|
4823
|
+
};
|
4824
|
+
});
|
4825
|
+
}
|
4826
|
+
|
4827
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
|
4828
|
+
icon: icon,
|
4829
|
+
title: /*#__PURE__*/React__default["default"].createElement(Text, null, title)
|
4830
|
+
}, /*#__PURE__*/React__default["default"].createElement(DropDown, {
|
4831
|
+
id: "groupBy",
|
4832
|
+
label: "Agrupar Por",
|
4833
|
+
value: groupBy,
|
4834
|
+
options: buildGroupOptions(schema),
|
4835
|
+
onChange: changeGroup
|
4836
|
+
})), /*#__PURE__*/React__default["default"].createElement("main", {
|
4837
|
+
className: "table-editor"
|
4838
|
+
}, renderGroups()));
|
4839
|
+
};
|
4683
4840
|
|
4684
4841
|
/**
|
4685
4842
|
* Create Content Dialog
|