ywana-core8 0.0.537 → 0.0.540
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 +189 -22
- 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 +189 -22
- package/dist/index.modern.js.map +1 -1
- package/dist/index.umd.js +189 -22
- 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/html/tokenfield.js +12 -2
- package/src/site/site.test.js +12 -9
package/db/db.json
CHANGED
@@ -2,12 +2,28 @@
|
|
2
2
|
"references": [
|
3
3
|
{
|
4
4
|
"id": 1,
|
5
|
+
"field6": [
|
6
|
+
{
|
7
|
+
"name": "aaa",
|
8
|
+
"field1": "aaa",
|
9
|
+
"field2": "aaa",
|
10
|
+
"field3": "aaa"
|
11
|
+
},
|
12
|
+
{
|
13
|
+
"name": "aaa",
|
14
|
+
"field1": "bbb",
|
15
|
+
"field2": "bbb",
|
16
|
+
"field3": "bbb"
|
17
|
+
}
|
18
|
+
],
|
5
19
|
"name": "111111",
|
6
20
|
"state": "NOT_CLASSIFIED",
|
7
21
|
"field1": "1111114444",
|
8
22
|
"field2": "111111",
|
9
23
|
"field4": "#ce1212",
|
10
|
-
"field5": {
|
24
|
+
"field5": {
|
25
|
+
"name": "xxx"
|
26
|
+
}
|
11
27
|
},
|
12
28
|
{
|
13
29
|
"name": "2222",
|
package/dist/index.cjs
CHANGED
@@ -2065,8 +2065,18 @@ var TokenField = function TokenField(_ref) {
|
|
2065
2065
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
2066
2066
|
className: "tokenField"
|
2067
2067
|
}, /*#__PURE__*/React__default["default"].createElement("label", null, label), tks.map(function (text, index) {
|
2068
|
+
var text2 = text;
|
2069
|
+
|
2070
|
+
if (options) {
|
2071
|
+
var lbl = options.find(function (opt) {
|
2072
|
+
return opt.value == text;
|
2073
|
+
});
|
2074
|
+
if (lbl) text2 = lbl.label;
|
2075
|
+
console.log(text, lbl, text2, options);
|
2076
|
+
}
|
2077
|
+
|
2068
2078
|
return /*#__PURE__*/React__default["default"].createElement(Token, {
|
2069
|
-
text:
|
2079
|
+
text: text2,
|
2070
2080
|
onDelete: function onDelete() {
|
2071
2081
|
return remove(index);
|
2072
2082
|
}
|
@@ -4052,7 +4062,7 @@ var TabbedContentEditor = function TabbedContentEditor(_ref2) {
|
|
4052
4062
|
fields = section.fields;
|
4053
4063
|
return /*#__PURE__*/React__default["default"].createElement("section", {
|
4054
4064
|
key: title
|
4055
|
-
},
|
4065
|
+
}, grouped ? group(section).map(function (group) {
|
4056
4066
|
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, group.name.length > 0 ? /*#__PURE__*/React__default["default"].createElement("div", {
|
4057
4067
|
className: "group-caption"
|
4058
4068
|
}, group.name) : null, group.fields.filter(function (field) {
|
@@ -4078,7 +4088,7 @@ var TabbedContentEditor = function TabbedContentEditor(_ref2) {
|
|
4078
4088
|
onChange: change,
|
4079
4089
|
content: content
|
4080
4090
|
});
|
4081
|
-
}))
|
4091
|
+
}));
|
4082
4092
|
})));
|
4083
4093
|
};
|
4084
4094
|
/**
|
@@ -4541,9 +4551,7 @@ var CollectionEditor$1 = function CollectionEditor(_ref10) {
|
|
4541
4551
|
Feeder = field.Feeder,
|
4542
4552
|
Renderer = field.Renderer,
|
4543
4553
|
_field$Adder = field.Adder,
|
4544
|
-
Adder = _field$Adder === void 0 ? true : _field$Adder
|
4545
|
-
_field$editable3 = field.editable,
|
4546
|
-
editable = _field$editable3 === void 0 ? true : _field$editable3;
|
4554
|
+
Adder = _field$Adder === void 0 ? true : _field$Adder;
|
4547
4555
|
|
4548
4556
|
function add(rows) {
|
4549
4557
|
if (onChange) {
|
@@ -4569,7 +4577,9 @@ var CollectionEditor$1 = function CollectionEditor(_ref10) {
|
|
4569
4577
|
}
|
4570
4578
|
}
|
4571
4579
|
|
4572
|
-
var columns = Object.values(item).
|
4580
|
+
var columns = Object.values(item).filter(function (field) {
|
4581
|
+
return field.column === true;
|
4582
|
+
}).map(function (item) {
|
4573
4583
|
return _extends({}, item, {
|
4574
4584
|
onChange: change
|
4575
4585
|
});
|
@@ -4578,7 +4588,7 @@ var CollectionEditor$1 = function CollectionEditor(_ref10) {
|
|
4578
4588
|
id: 'actions',
|
4579
4589
|
label: 'Actions'
|
4580
4590
|
});
|
4581
|
-
|
4591
|
+
value.map(function (item, index) {
|
4582
4592
|
return _extends({}, item, {
|
4583
4593
|
id: index,
|
4584
4594
|
actions: [/*#__PURE__*/React__default["default"].createElement(Icon, {
|
@@ -4591,26 +4601,23 @@ var CollectionEditor$1 = function CollectionEditor(_ref10) {
|
|
4591
4601
|
})]
|
4592
4602
|
});
|
4593
4603
|
});
|
4594
|
-
var table = {
|
4595
|
-
columns: columns,
|
4596
|
-
rows: rows
|
4597
|
-
};
|
4598
4604
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
4599
4605
|
className: "collection-editor"
|
4600
|
-
},
|
4601
|
-
use: "caption"
|
4602
|
-
}, label), /*#__PURE__*/React__default["default"].createElement("div", {
|
4603
|
-
className: "actions"
|
4604
|
-
}, Feeder ? /*#__PURE__*/React__default["default"].createElement(Feeder, {
|
4605
|
-
onAdd: add
|
4606
|
-
}) : null)), Renderer ? /*#__PURE__*/React__default["default"].createElement(Renderer, {
|
4606
|
+
}, Renderer ? /*#__PURE__*/React__default["default"].createElement(Renderer, {
|
4607
4607
|
field: field,
|
4608
4608
|
value: value,
|
4609
4609
|
onRemove: remove,
|
4610
4610
|
onChange: onChange
|
4611
|
-
}) :
|
4612
|
-
|
4613
|
-
|
4611
|
+
}) // : <DataTable {...table} editable={editable} />
|
4612
|
+
: /*#__PURE__*/React__default["default"].createElement(TableEditor$2, {
|
4613
|
+
icon: "info",
|
4614
|
+
title: label,
|
4615
|
+
data: value,
|
4616
|
+
schema: item,
|
4617
|
+
groupBy: "field1"
|
4618
|
+
}), /*#__PURE__*/React__default["default"].createElement("footer", null, Feeder ? /*#__PURE__*/React__default["default"].createElement(Feeder, {
|
4619
|
+
onAdd: add
|
4620
|
+
}) : null, Adder ? /*#__PURE__*/React__default["default"].createElement(CollectionAdder, {
|
4614
4621
|
item: item,
|
4615
4622
|
onAdd: add
|
4616
4623
|
}) : null));
|
@@ -4685,6 +4692,166 @@ var CollectionAdder = function CollectionAdder(_ref11) {
|
|
4685
4692
|
action: toggle
|
4686
4693
|
}));
|
4687
4694
|
};
|
4695
|
+
/**
|
4696
|
+
* Table Editor
|
4697
|
+
*/
|
4698
|
+
|
4699
|
+
|
4700
|
+
var TableEditor$2 = function TableEditor(props) {
|
4701
|
+
var select = function select(row) {
|
4702
|
+
try {
|
4703
|
+
if (onSelect) onSelect(row.id);
|
4704
|
+
return Promise.resolve();
|
4705
|
+
} catch (e) {
|
4706
|
+
return Promise.reject(e);
|
4707
|
+
}
|
4708
|
+
};
|
4709
|
+
|
4710
|
+
var _props$data = props.data,
|
4711
|
+
data = _props$data === void 0 ? [] : _props$data,
|
4712
|
+
icon = props.icon,
|
4713
|
+
title = props.title,
|
4714
|
+
schema = props.schema,
|
4715
|
+
editable = props.editable,
|
4716
|
+
canDelete = props.canDelete,
|
4717
|
+
filter = props.filter,
|
4718
|
+
actions = props.actions,
|
4719
|
+
className = props.className;
|
4720
|
+
|
4721
|
+
var _useState5 = React.useState(props.groupBy),
|
4722
|
+
groupBy = _useState5[0],
|
4723
|
+
setGroupBy = _useState5[1];
|
4724
|
+
|
4725
|
+
function changeGroup(id, value) {
|
4726
|
+
setGroupBy(value);
|
4727
|
+
}
|
4728
|
+
|
4729
|
+
function renderGroupLabel(groupName) {
|
4730
|
+
var grouper = schema[groupBy];
|
4731
|
+
if (!groupName || !grouper) return "";
|
4732
|
+
|
4733
|
+
if (grouper.options) {
|
4734
|
+
var options = CHECK['isFunction'](grouper.options) ? grouper.options() : grouper.options;
|
4735
|
+
var option = options.find(function (option) {
|
4736
|
+
return option.value === groupName;
|
4737
|
+
});
|
4738
|
+
return option ? option.label : groupName;
|
4739
|
+
} else {
|
4740
|
+
return groupName;
|
4741
|
+
}
|
4742
|
+
}
|
4743
|
+
|
4744
|
+
function renderGroups() {
|
4745
|
+
var items = filter ? filter(data) : data;
|
4746
|
+
if (items.length === 0) return /*#__PURE__*/React__default["default"].createElement("div", {
|
4747
|
+
className: "empty-message"
|
4748
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
4749
|
+
icon: "search_off"
|
4750
|
+
}), /*#__PURE__*/React__default["default"].createElement(Text, null, "No Result Found"));
|
4751
|
+
var groups = items.reduce(function (groups, item) {
|
4752
|
+
var groupName = item[groupBy];
|
4753
|
+
var group = groups[groupName];
|
4754
|
+
if (!group) groups[groupName] = [];
|
4755
|
+
groups[groupName].push(item);
|
4756
|
+
return groups;
|
4757
|
+
}, {});
|
4758
|
+
return Object.keys(groups).map(function (groupName) {
|
4759
|
+
var table = {
|
4760
|
+
columns: Object.values(schema).filter(function (field) {
|
4761
|
+
return field.column === true;
|
4762
|
+
}).map(function (field) {
|
4763
|
+
var options = field.options;
|
4764
|
+
|
4765
|
+
if (options && typeof options == 'function') {
|
4766
|
+
options = options();
|
4767
|
+
}
|
4768
|
+
|
4769
|
+
return {
|
4770
|
+
id: field.id,
|
4771
|
+
label: field.label,
|
4772
|
+
type: field.type,
|
4773
|
+
format: field.format,
|
4774
|
+
item: field.item ? field.item : [],
|
4775
|
+
onChange: field.id === "checked" ? checkOne : field.editable ? change : null,
|
4776
|
+
|
4777
|
+
/* checked has it´s own handler */
|
4778
|
+
options: options
|
4779
|
+
};
|
4780
|
+
}),
|
4781
|
+
rows: groups[groupName].map(function (item) {
|
4782
|
+
item.actions = actions ? actions.map(function (_action) {
|
4783
|
+
return _action.filter ? _action.filter(item) ? /*#__PURE__*/React__default["default"].createElement(Icon, {
|
4784
|
+
icon: _action.icon,
|
4785
|
+
clickable: true,
|
4786
|
+
size: "small",
|
4787
|
+
action: function action() {
|
4788
|
+
return run(_action, item);
|
4789
|
+
}
|
4790
|
+
}) : null : /*#__PURE__*/React__default["default"].createElement(Icon, {
|
4791
|
+
icon: _action.icon,
|
4792
|
+
clickable: true,
|
4793
|
+
size: "small",
|
4794
|
+
action: function action() {
|
4795
|
+
return run(_action, item);
|
4796
|
+
}
|
4797
|
+
});
|
4798
|
+
}) : [];
|
4799
|
+
if (canDelete) item.actions.push( /*#__PURE__*/React__default["default"].createElement(Icon, {
|
4800
|
+
icon: "delete",
|
4801
|
+
size: "small",
|
4802
|
+
clickable: true,
|
4803
|
+
action: function action() {
|
4804
|
+
return remove(item.id);
|
4805
|
+
}
|
4806
|
+
}));
|
4807
|
+
return item;
|
4808
|
+
})
|
4809
|
+
};
|
4810
|
+
table.columns.push({
|
4811
|
+
id: "actions"
|
4812
|
+
});
|
4813
|
+
var groupSize = groups[groupName].length;
|
4814
|
+
var title = /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement("span", {
|
4815
|
+
className: "size"
|
4816
|
+
}, groupSize), renderGroupLabel(groupName));
|
4817
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, {
|
4818
|
+
key: groupName
|
4819
|
+
}, /*#__PURE__*/React__default["default"].createElement(Header, {
|
4820
|
+
title: title
|
4821
|
+
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
4822
|
+
className: "size"
|
4823
|
+
}, groupSize)), /*#__PURE__*/React__default["default"].createElement(DataTable, _extends({}, table, {
|
4824
|
+
onRowSelection: select,
|
4825
|
+
editable: editable,
|
4826
|
+
className: className
|
4827
|
+
})));
|
4828
|
+
});
|
4829
|
+
}
|
4830
|
+
|
4831
|
+
function buildGroupOptions(schema) {
|
4832
|
+
return Object.values(schema).filter(function (field) {
|
4833
|
+
return field.grouper === true;
|
4834
|
+
}).map(function (field) {
|
4835
|
+
return {
|
4836
|
+
label: field.label,
|
4837
|
+
value: field.id
|
4838
|
+
};
|
4839
|
+
});
|
4840
|
+
}
|
4841
|
+
|
4842
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
|
4843
|
+
icon: icon,
|
4844
|
+
title: /*#__PURE__*/React__default["default"].createElement(Text, null, title)
|
4845
|
+
}, /*#__PURE__*/React__default["default"].createElement(DropDown, {
|
4846
|
+
id: "groupBy",
|
4847
|
+
label: "Agrupar Por",
|
4848
|
+
value: groupBy,
|
4849
|
+
options: buildGroupOptions(schema),
|
4850
|
+
onChange: changeGroup
|
4851
|
+
})), /*#__PURE__*/React__default["default"].createElement("main", {
|
4852
|
+
className: "table-editor"
|
4853
|
+
}, renderGroups()));
|
4854
|
+
};
|
4688
4855
|
|
4689
4856
|
/**
|
4690
4857
|
* Create Content Dialog
|