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 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: 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
- }, /*#__PURE__*/React__default["default"].createElement("nav", null, "\xA0"), /*#__PURE__*/React__default["default"].createElement("main", null, grouped ? group(section).map(function (group) {
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).map(function (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
- var rows = value.map(function (item, index) {
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
- }, /*#__PURE__*/React__default["default"].createElement("header", null, /*#__PURE__*/React__default["default"].createElement(Text, {
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
- }) : /*#__PURE__*/React__default["default"].createElement(DataTable, _extends({}, table, {
4612
- editable: editable
4613
- })), /*#__PURE__*/React__default["default"].createElement("footer", null, Adder ? /*#__PURE__*/React__default["default"].createElement(CollectionAdder, {
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