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