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/dist/index.umd.js
CHANGED
@@ -2060,8 +2060,18 @@
|
|
2060
2060
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
2061
2061
|
className: "tokenField"
|
2062
2062
|
}, /*#__PURE__*/React__default["default"].createElement("label", null, label), tks.map(function (text, index) {
|
2063
|
+
var text2 = text;
|
2064
|
+
|
2065
|
+
if (options) {
|
2066
|
+
var lbl = options.find(function (opt) {
|
2067
|
+
return opt.value == text;
|
2068
|
+
});
|
2069
|
+
if (lbl) text2 = lbl.label;
|
2070
|
+
console.log(text, lbl, text2, options);
|
2071
|
+
}
|
2072
|
+
|
2063
2073
|
return /*#__PURE__*/React__default["default"].createElement(Token, {
|
2064
|
-
text:
|
2074
|
+
text: text2,
|
2065
2075
|
onDelete: function onDelete() {
|
2066
2076
|
return remove(index);
|
2067
2077
|
}
|
@@ -4047,7 +4057,7 @@
|
|
4047
4057
|
fields = section.fields;
|
4048
4058
|
return /*#__PURE__*/React__default["default"].createElement("section", {
|
4049
4059
|
key: title
|
4050
|
-
},
|
4060
|
+
}, grouped ? group(section).map(function (group) {
|
4051
4061
|
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, group.name.length > 0 ? /*#__PURE__*/React__default["default"].createElement("div", {
|
4052
4062
|
className: "group-caption"
|
4053
4063
|
}, group.name) : null, group.fields.filter(function (field) {
|
@@ -4073,7 +4083,7 @@
|
|
4073
4083
|
onChange: change,
|
4074
4084
|
content: content
|
4075
4085
|
});
|
4076
|
-
}))
|
4086
|
+
}));
|
4077
4087
|
})));
|
4078
4088
|
};
|
4079
4089
|
/**
|
@@ -4536,9 +4546,7 @@
|
|
4536
4546
|
Feeder = field.Feeder,
|
4537
4547
|
Renderer = field.Renderer,
|
4538
4548
|
_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;
|
4549
|
+
Adder = _field$Adder === void 0 ? true : _field$Adder;
|
4542
4550
|
|
4543
4551
|
function add(rows) {
|
4544
4552
|
if (onChange) {
|
@@ -4564,7 +4572,9 @@
|
|
4564
4572
|
}
|
4565
4573
|
}
|
4566
4574
|
|
4567
|
-
var columns = Object.values(item).
|
4575
|
+
var columns = Object.values(item).filter(function (field) {
|
4576
|
+
return field.column === true;
|
4577
|
+
}).map(function (item) {
|
4568
4578
|
return _extends({}, item, {
|
4569
4579
|
onChange: change
|
4570
4580
|
});
|
@@ -4573,7 +4583,7 @@
|
|
4573
4583
|
id: 'actions',
|
4574
4584
|
label: 'Actions'
|
4575
4585
|
});
|
4576
|
-
|
4586
|
+
value.map(function (item, index) {
|
4577
4587
|
return _extends({}, item, {
|
4578
4588
|
id: index,
|
4579
4589
|
actions: [/*#__PURE__*/React__default["default"].createElement(Icon, {
|
@@ -4586,26 +4596,23 @@
|
|
4586
4596
|
})]
|
4587
4597
|
});
|
4588
4598
|
});
|
4589
|
-
var table = {
|
4590
|
-
columns: columns,
|
4591
|
-
rows: rows
|
4592
|
-
};
|
4593
4599
|
return /*#__PURE__*/React__default["default"].createElement("div", {
|
4594
4600
|
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, {
|
4601
|
+
}, Renderer ? /*#__PURE__*/React__default["default"].createElement(Renderer, {
|
4602
4602
|
field: field,
|
4603
4603
|
value: value,
|
4604
4604
|
onRemove: remove,
|
4605
4605
|
onChange: onChange
|
4606
|
-
}) :
|
4607
|
-
|
4608
|
-
|
4606
|
+
}) // : <DataTable {...table} editable={editable} />
|
4607
|
+
: /*#__PURE__*/React__default["default"].createElement(TableEditor$2, {
|
4608
|
+
icon: "info",
|
4609
|
+
title: label,
|
4610
|
+
data: value,
|
4611
|
+
schema: item,
|
4612
|
+
groupBy: "field1"
|
4613
|
+
}), /*#__PURE__*/React__default["default"].createElement("footer", null, Feeder ? /*#__PURE__*/React__default["default"].createElement(Feeder, {
|
4614
|
+
onAdd: add
|
4615
|
+
}) : null, Adder ? /*#__PURE__*/React__default["default"].createElement(CollectionAdder, {
|
4609
4616
|
item: item,
|
4610
4617
|
onAdd: add
|
4611
4618
|
}) : null));
|
@@ -4680,6 +4687,166 @@
|
|
4680
4687
|
action: toggle
|
4681
4688
|
}));
|
4682
4689
|
};
|
4690
|
+
/**
|
4691
|
+
* Table Editor
|
4692
|
+
*/
|
4693
|
+
|
4694
|
+
|
4695
|
+
var TableEditor$2 = function TableEditor(props) {
|
4696
|
+
var select = function select(row) {
|
4697
|
+
try {
|
4698
|
+
if (onSelect) onSelect(row.id);
|
4699
|
+
return Promise.resolve();
|
4700
|
+
} catch (e) {
|
4701
|
+
return Promise.reject(e);
|
4702
|
+
}
|
4703
|
+
};
|
4704
|
+
|
4705
|
+
var _props$data = props.data,
|
4706
|
+
data = _props$data === void 0 ? [] : _props$data,
|
4707
|
+
icon = props.icon,
|
4708
|
+
title = props.title,
|
4709
|
+
schema = props.schema,
|
4710
|
+
editable = props.editable,
|
4711
|
+
canDelete = props.canDelete,
|
4712
|
+
filter = props.filter,
|
4713
|
+
actions = props.actions,
|
4714
|
+
className = props.className;
|
4715
|
+
|
4716
|
+
var _useState5 = React.useState(props.groupBy),
|
4717
|
+
groupBy = _useState5[0],
|
4718
|
+
setGroupBy = _useState5[1];
|
4719
|
+
|
4720
|
+
function changeGroup(id, value) {
|
4721
|
+
setGroupBy(value);
|
4722
|
+
}
|
4723
|
+
|
4724
|
+
function renderGroupLabel(groupName) {
|
4725
|
+
var grouper = schema[groupBy];
|
4726
|
+
if (!groupName || !grouper) return "";
|
4727
|
+
|
4728
|
+
if (grouper.options) {
|
4729
|
+
var options = CHECK['isFunction'](grouper.options) ? grouper.options() : grouper.options;
|
4730
|
+
var option = options.find(function (option) {
|
4731
|
+
return option.value === groupName;
|
4732
|
+
});
|
4733
|
+
return option ? option.label : groupName;
|
4734
|
+
} else {
|
4735
|
+
return groupName;
|
4736
|
+
}
|
4737
|
+
}
|
4738
|
+
|
4739
|
+
function renderGroups() {
|
4740
|
+
var items = filter ? filter(data) : data;
|
4741
|
+
if (items.length === 0) return /*#__PURE__*/React__default["default"].createElement("div", {
|
4742
|
+
className: "empty-message"
|
4743
|
+
}, /*#__PURE__*/React__default["default"].createElement(Icon, {
|
4744
|
+
icon: "search_off"
|
4745
|
+
}), /*#__PURE__*/React__default["default"].createElement(Text, null, "No Result Found"));
|
4746
|
+
var groups = items.reduce(function (groups, item) {
|
4747
|
+
var groupName = item[groupBy];
|
4748
|
+
var group = groups[groupName];
|
4749
|
+
if (!group) groups[groupName] = [];
|
4750
|
+
groups[groupName].push(item);
|
4751
|
+
return groups;
|
4752
|
+
}, {});
|
4753
|
+
return Object.keys(groups).map(function (groupName) {
|
4754
|
+
var table = {
|
4755
|
+
columns: Object.values(schema).filter(function (field) {
|
4756
|
+
return field.column === true;
|
4757
|
+
}).map(function (field) {
|
4758
|
+
var options = field.options;
|
4759
|
+
|
4760
|
+
if (options && typeof options == 'function') {
|
4761
|
+
options = options();
|
4762
|
+
}
|
4763
|
+
|
4764
|
+
return {
|
4765
|
+
id: field.id,
|
4766
|
+
label: field.label,
|
4767
|
+
type: field.type,
|
4768
|
+
format: field.format,
|
4769
|
+
item: field.item ? field.item : [],
|
4770
|
+
onChange: field.id === "checked" ? checkOne : field.editable ? change : null,
|
4771
|
+
|
4772
|
+
/* checked has it´s own handler */
|
4773
|
+
options: options
|
4774
|
+
};
|
4775
|
+
}),
|
4776
|
+
rows: groups[groupName].map(function (item) {
|
4777
|
+
item.actions = actions ? actions.map(function (_action) {
|
4778
|
+
return _action.filter ? _action.filter(item) ? /*#__PURE__*/React__default["default"].createElement(Icon, {
|
4779
|
+
icon: _action.icon,
|
4780
|
+
clickable: true,
|
4781
|
+
size: "small",
|
4782
|
+
action: function action() {
|
4783
|
+
return run(_action, item);
|
4784
|
+
}
|
4785
|
+
}) : null : /*#__PURE__*/React__default["default"].createElement(Icon, {
|
4786
|
+
icon: _action.icon,
|
4787
|
+
clickable: true,
|
4788
|
+
size: "small",
|
4789
|
+
action: function action() {
|
4790
|
+
return run(_action, item);
|
4791
|
+
}
|
4792
|
+
});
|
4793
|
+
}) : [];
|
4794
|
+
if (canDelete) item.actions.push( /*#__PURE__*/React__default["default"].createElement(Icon, {
|
4795
|
+
icon: "delete",
|
4796
|
+
size: "small",
|
4797
|
+
clickable: true,
|
4798
|
+
action: function action() {
|
4799
|
+
return remove(item.id);
|
4800
|
+
}
|
4801
|
+
}));
|
4802
|
+
return item;
|
4803
|
+
})
|
4804
|
+
};
|
4805
|
+
table.columns.push({
|
4806
|
+
id: "actions"
|
4807
|
+
});
|
4808
|
+
var groupSize = groups[groupName].length;
|
4809
|
+
var title = /*#__PURE__*/React__default["default"].createElement("span", null, /*#__PURE__*/React__default["default"].createElement("span", {
|
4810
|
+
className: "size"
|
4811
|
+
}, groupSize), renderGroupLabel(groupName));
|
4812
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, {
|
4813
|
+
key: groupName
|
4814
|
+
}, /*#__PURE__*/React__default["default"].createElement(Header, {
|
4815
|
+
title: title
|
4816
|
+
}, /*#__PURE__*/React__default["default"].createElement("span", {
|
4817
|
+
className: "size"
|
4818
|
+
}, groupSize)), /*#__PURE__*/React__default["default"].createElement(DataTable, _extends({}, table, {
|
4819
|
+
onRowSelection: select,
|
4820
|
+
editable: editable,
|
4821
|
+
className: className
|
4822
|
+
})));
|
4823
|
+
});
|
4824
|
+
}
|
4825
|
+
|
4826
|
+
function buildGroupOptions(schema) {
|
4827
|
+
return Object.values(schema).filter(function (field) {
|
4828
|
+
return field.grouper === true;
|
4829
|
+
}).map(function (field) {
|
4830
|
+
return {
|
4831
|
+
label: field.label,
|
4832
|
+
value: field.id
|
4833
|
+
};
|
4834
|
+
});
|
4835
|
+
}
|
4836
|
+
|
4837
|
+
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement(Header, {
|
4838
|
+
icon: icon,
|
4839
|
+
title: /*#__PURE__*/React__default["default"].createElement(Text, null, title)
|
4840
|
+
}, /*#__PURE__*/React__default["default"].createElement(DropDown, {
|
4841
|
+
id: "groupBy",
|
4842
|
+
label: "Agrupar Por",
|
4843
|
+
value: groupBy,
|
4844
|
+
options: buildGroupOptions(schema),
|
4845
|
+
onChange: changeGroup
|
4846
|
+
})), /*#__PURE__*/React__default["default"].createElement("main", {
|
4847
|
+
className: "table-editor"
|
4848
|
+
}, renderGroups()));
|
4849
|
+
};
|
4683
4850
|
|
4684
4851
|
/**
|
4685
4852
|
* Create Content Dialog
|