ywana-core8 0.0.536 → 0.0.539
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 +19 -3
- package/dist/index.cjs +218 -36
- 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 +218 -36
- package/dist/index.modern.js.map +1 -1
- package/dist/index.umd.js +218 -36
- package/dist/index.umd.js.map +1 -1
- package/package.json +1 -1
- package/src/domain/CollectionPage.css +1 -19
- package/src/domain/CollectionPage.js +33 -11
- 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 -7
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
|
@@ -4919,6 +5076,7 @@
|
|
4919
5076
|
canFilter = _props$canFilter === void 0 ? false : _props$canFilter,
|
4920
5077
|
_props$canAdd = props.canAdd,
|
4921
5078
|
canAdd = _props$canAdd === void 0 ? false : _props$canAdd,
|
5079
|
+
searchBy = props.searchBy,
|
4922
5080
|
_props$autosave = props.autosave,
|
4923
5081
|
autosave = _props$autosave === void 0 ? false : _props$autosave,
|
4924
5082
|
_props$delay = props.delay,
|
@@ -4996,10 +5154,12 @@
|
|
4996
5154
|
icon: icon,
|
4997
5155
|
levels: levels,
|
4998
5156
|
onSelect: onSelect,
|
4999
|
-
sorter: sorter
|
5157
|
+
sorter: sorter,
|
5158
|
+
searchBy: searchBy
|
5000
5159
|
}) : /*#__PURE__*/React__default["default"].createElement(CollectionList, {
|
5001
5160
|
groupBy: groupBy,
|
5002
|
-
onSelect: onSelect
|
5161
|
+
onSelect: onSelect,
|
5162
|
+
searchBy: searchBy
|
5003
5163
|
})), /*#__PURE__*/React__default["default"].createElement("main", {
|
5004
5164
|
key: id,
|
5005
5165
|
className: "collection-page " + className
|
@@ -5089,7 +5249,9 @@
|
|
5089
5249
|
};
|
5090
5250
|
|
5091
5251
|
var groupBy = props.groupBy,
|
5092
|
-
onSelect = props.onSelect
|
5252
|
+
onSelect = props.onSelect,
|
5253
|
+
_props$searchBy = props.searchBy,
|
5254
|
+
searchBy = _props$searchBy === void 0 ? [] : _props$searchBy;
|
5093
5255
|
|
5094
5256
|
var _useContext2 = React.useContext(PageContext),
|
5095
5257
|
pageContext = _useContext2[0],
|
@@ -5107,13 +5269,22 @@
|
|
5107
5269
|
setPageContext(Object.assign({}, pageContext));
|
5108
5270
|
}
|
5109
5271
|
|
5110
|
-
function
|
5272
|
+
function changeSearch(id, value) {
|
5111
5273
|
setFilter(value);
|
5112
5274
|
}
|
5113
5275
|
|
5114
|
-
|
5115
|
-
|
5116
|
-
|
5276
|
+
function search() {
|
5277
|
+
var items = filter ? all.filter(function (item) {
|
5278
|
+
var result = searchBy.some(function (fieldName) {
|
5279
|
+
var value = item[fieldName];
|
5280
|
+
return value ? value.indexOf(filter.toUpperCase()) >= 0 : false;
|
5281
|
+
});
|
5282
|
+
return result;
|
5283
|
+
}) : all;
|
5284
|
+
return items;
|
5285
|
+
}
|
5286
|
+
|
5287
|
+
var items = search();
|
5117
5288
|
var items2 = items.map(function (content) {
|
5118
5289
|
return {
|
5119
5290
|
id: content.id,
|
@@ -5132,7 +5303,7 @@
|
|
5132
5303
|
}, /*#__PURE__*/React__default["default"].createElement(TextField, {
|
5133
5304
|
icon: "search",
|
5134
5305
|
label: "Search",
|
5135
|
-
onChange:
|
5306
|
+
onChange: changeSearch,
|
5136
5307
|
outlined: true,
|
5137
5308
|
className: "search-box"
|
5138
5309
|
}))));
|
@@ -5159,7 +5330,9 @@
|
|
5159
5330
|
icon = _props$icon === void 0 ? "description" : _props$icon,
|
5160
5331
|
levels = props.levels,
|
5161
5332
|
onSelect = props.onSelect,
|
5162
|
-
sorter = props.sorter
|
5333
|
+
sorter = props.sorter,
|
5334
|
+
_props$searchBy2 = props.searchBy,
|
5335
|
+
searchBy = _props$searchBy2 === void 0 ? [] : _props$searchBy2;
|
5163
5336
|
|
5164
5337
|
var _useContext3 = React.useContext(PageContext),
|
5165
5338
|
pageContext = _useContext3[0],
|
@@ -5177,7 +5350,7 @@
|
|
5177
5350
|
setPageContext(Object.assign({}, pageContext));
|
5178
5351
|
}
|
5179
5352
|
|
5180
|
-
function
|
5353
|
+
function changeSearch(id, value) {
|
5181
5354
|
setFilter(value);
|
5182
5355
|
}
|
5183
5356
|
|
@@ -5231,17 +5404,26 @@
|
|
5231
5404
|
});
|
5232
5405
|
}
|
5233
5406
|
|
5234
|
-
|
5235
|
-
|
5236
|
-
|
5237
|
-
|
5407
|
+
function search() {
|
5408
|
+
var items = filter ? all.filter(function (item) {
|
5409
|
+
var result = searchBy.some(function (fieldName) {
|
5410
|
+
var value = item[fieldName];
|
5411
|
+
return value ? value.indexOf(filter.toUpperCase()) >= 0 : false;
|
5412
|
+
});
|
5413
|
+
return result;
|
5414
|
+
}) : all;
|
5415
|
+
return items;
|
5416
|
+
}
|
5417
|
+
|
5418
|
+
var items = search();
|
5419
|
+
var items2 = sorter ? sorter(items) : items;
|
5238
5420
|
var nodes = generateNodes(levels, items2);
|
5239
5421
|
return /*#__PURE__*/React__default["default"].createElement(React.Fragment, null, /*#__PURE__*/React__default["default"].createElement("main", null, /*#__PURE__*/React__default["default"].createElement(Tree, null, renderNodes(nodes))), /*#__PURE__*/React__default["default"].createElement("footer", null, /*#__PURE__*/React__default["default"].createElement("div", {
|
5240
5422
|
className: "search-box"
|
5241
5423
|
}, /*#__PURE__*/React__default["default"].createElement(TextField, {
|
5242
5424
|
icon: "search",
|
5243
5425
|
label: "Search",
|
5244
|
-
onChange:
|
5426
|
+
onChange: changeSearch,
|
5245
5427
|
outlined: true,
|
5246
5428
|
className: "search-box"
|
5247
5429
|
}))));
|