chem-generic-ui 0.1.33 → 0.1.35

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.
Files changed (89) hide show
  1. package/dist/app.js +106 -0
  2. package/dist/app.js.map +1 -0
  3. package/dist/asserts/main.css +465 -0
  4. package/dist/asserts/main.scss +496 -0
  5. package/dist/components/admin/ElementManager.js +55 -0
  6. package/dist/components/admin/ElementManager.js.map +1 -0
  7. package/dist/components/details/GenDSDetails.js +274 -0
  8. package/dist/components/details/GenDSDetails.js.map +1 -0
  9. package/dist/components/details/GenSgDetails.js +567 -0
  10. package/dist/components/details/GenSgDetails.js.map +1 -0
  11. package/dist/components/dnd/DragDropItemTypes.js +21 -0
  12. package/dist/components/dnd/DragDropItemTypes.js.map +1 -0
  13. package/dist/components/dnd/GenericElDropTarget.js +275 -0
  14. package/dist/components/dnd/GenericElDropTarget.js.map +1 -0
  15. package/dist/components/dnd/GridDnD.js +78 -0
  16. package/dist/components/dnd/GridDnD.js.map +1 -0
  17. package/dist/components/dnd/PanelDnD.js +172 -0
  18. package/dist/components/dnd/PanelDnD.js.map +1 -0
  19. package/dist/components/fields/ButtonConfirm.js +77 -0
  20. package/dist/components/fields/ButtonConfirm.js.map +1 -0
  21. package/dist/components/fields/ButtonTooltip.js +89 -0
  22. package/dist/components/fields/ButtonTooltip.js.map +1 -0
  23. package/dist/components/fields/FieldLabel.js +39 -0
  24. package/dist/components/fields/FieldLabel.js.map +1 -0
  25. package/dist/components/fields/GenDSMisType.js +45 -0
  26. package/dist/components/fields/GenDSMisType.js.map +1 -0
  27. package/dist/components/fields/GenFormGroupCb.js +32 -0
  28. package/dist/components/fields/GenFormGroupCb.js.map +1 -0
  29. package/dist/components/fields/GenProperties.js +84 -0
  30. package/dist/components/fields/GenProperties.js.map +1 -0
  31. package/dist/components/fields/GenPropertiesFields.js +617 -0
  32. package/dist/components/fields/GenPropertiesFields.js.map +1 -0
  33. package/dist/components/flow/FlowView.js +89 -0
  34. package/dist/components/flow/FlowView.js.map +1 -0
  35. package/dist/components/flow/FlowViewerModal.js +82 -0
  36. package/dist/components/flow/FlowViewerModal.js.map +1 -0
  37. package/dist/components/flow/LayerNode.js +60 -0
  38. package/dist/components/flow/LayerNode.js.map +1 -0
  39. package/dist/components/layers/GenPropertiesLayer.js +281 -0
  40. package/dist/components/layers/GenPropertiesLayer.js.map +1 -0
  41. package/dist/components/layers/LayerModal.js +82 -0
  42. package/dist/components/layers/LayerModal.js.map +1 -0
  43. package/dist/components/layers/LayersLayout.js +89 -0
  44. package/dist/components/layers/LayersLayout.js.map +1 -0
  45. package/dist/components/models/Attachment.js +74 -0
  46. package/dist/components/models/Attachment.js.map +1 -0
  47. package/dist/components/models/GenericSubField.js +38 -0
  48. package/dist/components/models/GenericSubField.js.map +1 -0
  49. package/dist/components/table/DropLinkRenderer.js +56 -0
  50. package/dist/components/table/DropLinkRenderer.js.map +1 -0
  51. package/dist/components/table/DropRenderer.js +46 -0
  52. package/dist/components/table/DropRenderer.js.map +1 -0
  53. package/dist/components/table/DropTextRenderer.js +46 -0
  54. package/dist/components/table/DropTextRenderer.js.map +1 -0
  55. package/dist/components/table/GenericElTableDropTarget.js +253 -0
  56. package/dist/components/table/GenericElTableDropTarget.js.map +1 -0
  57. package/dist/components/table/GridBtn.js +103 -0
  58. package/dist/components/table/GridBtn.js.map +1 -0
  59. package/dist/components/table/GridEntry.js +164 -0
  60. package/dist/components/table/GridEntry.js.map +1 -0
  61. package/dist/components/table/SamOption.js +88 -0
  62. package/dist/components/table/SamOption.js.map +1 -0
  63. package/dist/components/table/SelectRenderer.js +53 -0
  64. package/dist/components/table/SelectRenderer.js.map +1 -0
  65. package/dist/components/table/TableRecord.js +455 -0
  66. package/dist/components/table/TableRecord.js.map +1 -0
  67. package/dist/components/table/UConverterRenderer.js +42 -0
  68. package/dist/components/table/UConverterRenderer.js.map +1 -0
  69. package/dist/components/tools/collate.js +104 -0
  70. package/dist/components/tools/collate.js.map +1 -0
  71. package/dist/components/tools/orten.js +295 -0
  72. package/dist/components/tools/orten.js.map +1 -0
  73. package/dist/components/tools/utils.js +594 -0
  74. package/dist/components/tools/utils.js.map +1 -0
  75. package/dist/data/SystemUnits.js +589 -0
  76. package/dist/data/SystemUnits.js.map +1 -0
  77. package/dist/data/systemUnits.json +430 -0
  78. package/dist/index.css +13 -0
  79. package/dist/index.js +40 -0
  80. package/dist/index.js.map +1 -0
  81. package/dist/logo.svg +1 -0
  82. package/dist/simulations/SimWF.js +124 -0
  83. package/dist/simulations/SimWF.js.map +1 -0
  84. package/dist/simulations/SimuDS.js +119 -0
  85. package/dist/simulations/SimuDS.js.map +1 -0
  86. package/dist/simulations/SimuSG.js +124 -0
  87. package/dist/simulations/SimuSG.js.map +1 -0
  88. package/package.json +11 -8
  89. package/dist/generic.js +0 -6219
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/table/SamOption.js"],"names":["SamOption","props","sField","node","onChange","data","fValue","id","value","is_new","rUUID","isAssoc","cr_opt","subField","crOpt","propTypes","PropTypes","object","isRequired","func"],"mappings":";;;;;;;AACA;;AACA;;AACA;;AACA;;;;AAJA;AAMA,IAAMA,SAAS,GAAG,SAAZA,SAAY,CAACC,KAAD,EAAW;AAC3B,MAAQC,MAAR,GAAmCD,KAAnC,CAAQC,MAAR;AAAA,MAAgBC,IAAhB,GAAmCF,KAAnC,CAAgBE,IAAhB;AAAA,MAAsBC,SAAtB,GAAmCH,KAAnC,CAAsBG,QAAtB;AACA,MAAQC,IAAR,GAAiBF,IAAjB,CAAQE,IAAR;AACA,MAAMC,MAAM,GAAID,IAAI,CAACH,MAAM,CAACK,EAAR,CAAJ,IAAmBF,IAAI,CAACH,MAAM,CAACK,EAAR,CAAJ,CAAgBC,KAApC,IAA8C,EAA7D;AACA,MAAI,CAACF,MAAM,CAACG,MAAZ,EAAoB,oBAAO,yCAAP;AACpB,MAAMC,KAAK,GAAG,eAAd;AACA,sBACE;AAAK,IAAA,SAAS,EAAC;AAAf,kBACE,6BAAC,8BAAD;AAAgB,IAAA,SAAS,EAAE,IAA3B;AAAiC,IAAA,SAAS,EAAC,OAA3C;AAAmD,IAAA,OAAO,eAAE,6BAAC,uBAAD;AAAS,MAAA,EAAE,EAAE;AAAb;AAA5D,kBACE,6BAAC,qBAAD;AACE,IAAA,IAAI,kBAAWA,KAAX,CADN;AAEE,IAAA,QAAQ,EAAEJ,MAAM,CAACK,OAFnB;AAGE,IAAA,OAAO,EAAEL,MAAM,CAACM,MAAP,KAAkB,CAH7B;AAIE,IAAA,QAAQ,EAAE;AAAA,aAAMR,SAAQ,CAAC;AAAED,QAAAA,IAAI,EAAJA,IAAF;AAAQU,QAAAA,QAAQ,EAAEX,MAAlB;AAA0BY,QAAAA,KAAK,EAAE;AAAjC,OAAD,CAAd;AAAA;AAJZ,eADF,CADF,eAWE,6BAAC,8BAAD;AAAgB,IAAA,SAAS,EAAE,IAA3B;AAAiC,IAAA,SAAS,EAAC,OAA3C;AAAmD,IAAA,OAAO,eAAE,6BAAC,uBAAD;AAAS,MAAA,EAAE,EAAE;AAAb;AAA5D,kBACE,6BAAC,qBAAD;AACE,IAAA,IAAI,kBAAWJ,KAAX,CADN;AAEE,IAAA,OAAO,EAAEJ,MAAM,CAACM,MAAP,KAAkB,CAF7B;AAGE,IAAA,QAAQ,EAAE;AAAA,aAAMR,SAAQ,CAAC;AAAED,QAAAA,IAAI,EAAJA,IAAF;AAAQU,QAAAA,QAAQ,EAAEX,MAAlB;AAA0BY,QAAAA,KAAK,EAAE;AAAjC,OAAD,CAAd;AAAA;AAHZ,aADF,CAXF,eAoBE,6BAAC,8BAAD;AAAgB,IAAA,SAAS,EAAE,IAA3B;AAAiC,IAAA,SAAS,EAAC,OAA3C;AAAmD,IAAA,OAAO,eAAE,6BAAC,uBAAD;AAAS,MAAA,EAAE,EAAE;AAAb;AAA5D,kBACE,6BAAC,qBAAD;AACE,IAAA,IAAI,kBAAWJ,KAAX,CADN;AAEE,IAAA,OAAO,EAAEJ,MAAM,CAACM,MAAP,KAAkB,CAF7B;AAGE,IAAA,QAAQ,EAAE;AAAA,aAAMR,SAAQ,CAAC;AAAED,QAAAA,IAAI,EAAJA,IAAF;AAAQU,QAAAA,QAAQ,EAAEX,MAAlB;AAA0BY,QAAAA,KAAK,EAAE;AAAjC,OAAD,CAAd;AAAA;AAHZ,YADF,CApBF,CADF;AAgCD,CAtCD;;AAwCAd,SAAS,CAACe,SAAV,GAAsB;AACpBb,EAAAA,MAAM,EAAEc,mBAAUC,MAAV,CAAiBC,UADL;AAEpBf,EAAAA,IAAI,EAAEa,mBAAUC,MAAV,CAAiBC,UAFH;AAGpBd,EAAAA,QAAQ,EAAEY,mBAAUG,IAAV,CAAeD;AAHL,CAAtB;eAMelB,S","sourcesContent":["/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { v4 as uuid } from 'uuid';\nimport { OverlayTrigger, Radio, Tooltip } from 'react-bootstrap';\n\nconst SamOption = (props) => {\n const { sField, node, onChange } = props;\n const { data } = node;\n const fValue = (data[sField.id] && data[sField.id].value) || {};\n if (!fValue.is_new) return <div />;\n const rUUID = uuid();\n return (\n <div className=\"generic_sam_options\">\n <OverlayTrigger delayShow={1000} placement=\"right\" overlay={<Tooltip id={uuid()}>associate with this sample</Tooltip>}>\n <Radio\n name={`dropS_${rUUID}`}\n disabled={fValue.isAssoc}\n checked={fValue.cr_opt === 0}\n onChange={() => onChange({ node, subField: sField, crOpt: 0 })}\n >\n Current\n </Radio>\n </OverlayTrigger>\n <OverlayTrigger delayShow={1000} placement=\"right\" overlay={<Tooltip id={uuid()}>split from the sample first and then associate with it</Tooltip>}>\n <Radio\n name={`dropS_${rUUID}`}\n checked={fValue.cr_opt === 1}\n onChange={() => onChange({ node, subField: sField, crOpt: 1 })}\n >\n Split\n </Radio>\n </OverlayTrigger>\n <OverlayTrigger delayShow={1000} placement=\"right\" overlay={<Tooltip id={uuid()}>duplicate the sample first and then associate with it</Tooltip>}>\n <Radio\n name={`dropS_${rUUID}`}\n checked={fValue.cr_opt === 2}\n onChange={() => onChange({ node, subField: sField, crOpt: 2 })}\n >\n Copy\n </Radio>\n </OverlayTrigger>\n </div>\n );\n};\n\nSamOption.propTypes = {\n sField: PropTypes.object.isRequired,\n node: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired\n};\n\nexport default SamOption;\n"],"file":"SamOption.js"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _reactSelect = _interopRequireDefault(require("react-select"));
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ /* eslint-disable react/forbid-prop-types */
17
+ var SelectRenderer = function SelectRenderer(props) {
18
+ var sField = props.sField,
19
+ _onChange = props.onChange,
20
+ sOptions = props.sOptions,
21
+ node = props.node;
22
+ if (sField.type !== 'select' || sOptions.length < 1) return null;
23
+ var data = node.data;
24
+ var val = sOptions.find(function (o) {
25
+ return o.value === data[sField.id].value;
26
+ }) || null;
27
+ return /*#__PURE__*/_react.default.createElement(_reactSelect.default, {
28
+ isClearable: true,
29
+ menuContainerStyle: {
30
+ position: 'absolute'
31
+ },
32
+ multi: false,
33
+ options: sOptions,
34
+ value: val,
35
+ onChange: function onChange(e) {
36
+ return _onChange(e, sField, node);
37
+ },
38
+ className: "status-select",
39
+ style: {
40
+ textAlign: 'left'
41
+ }
42
+ });
43
+ };
44
+
45
+ SelectRenderer.propTypes = {
46
+ sField: _propTypes.default.object.isRequired,
47
+ onChange: _propTypes.default.func.isRequired,
48
+ node: _propTypes.default.object.isRequired,
49
+ sOptions: _propTypes.default.arrayOf(_propTypes.default.object).isRequired
50
+ };
51
+ var _default = SelectRenderer;
52
+ exports.default = _default;
53
+ //# sourceMappingURL=SelectRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/table/SelectRenderer.js"],"names":["SelectRenderer","props","sField","onChange","sOptions","node","type","length","data","val","find","o","value","id","position","e","textAlign","propTypes","PropTypes","object","isRequired","func","arrayOf"],"mappings":";;;;;;;AACA;;AACA;;AACA;;;;AAHA;AAKA,IAAMA,cAAc,GAAG,SAAjBA,cAAiB,CAACC,KAAD,EAAW;AAChC,MACEC,MADF,GAEID,KAFJ,CACEC,MADF;AAAA,MACUC,SADV,GAEIF,KAFJ,CACUE,QADV;AAAA,MACoBC,QADpB,GAEIH,KAFJ,CACoBG,QADpB;AAAA,MAC8BC,IAD9B,GAEIJ,KAFJ,CAC8BI,IAD9B;AAGA,MAAIH,MAAM,CAACI,IAAP,KAAgB,QAAhB,IAA4BF,QAAQ,CAACG,MAAT,GAAkB,CAAlD,EAAqD,OAAO,IAAP;AACrD,MAAQC,IAAR,GAAiBH,IAAjB,CAAQG,IAAR;AACA,MAAMC,GAAG,GAAGL,QAAQ,CAACM,IAAT,CAAc,UAAAC,CAAC;AAAA,WAAIA,CAAC,CAACC,KAAF,KAAYJ,IAAI,CAACN,MAAM,CAACW,EAAR,CAAJ,CAAgBD,KAAhC;AAAA,GAAf,KAAyD,IAArE;AACA,sBACE,6BAAC,oBAAD;AACE,IAAA,WAAW,MADb;AAEE,IAAA,kBAAkB,EAAE;AAAEE,MAAAA,QAAQ,EAAE;AAAZ,KAFtB;AAGE,IAAA,KAAK,EAAE,KAHT;AAIE,IAAA,OAAO,EAAEV,QAJX;AAKE,IAAA,KAAK,EAAEK,GALT;AAME,IAAA,QAAQ,EAAE,kBAAAM,CAAC;AAAA,aAAIZ,SAAQ,CAACY,CAAD,EAAIb,MAAJ,EAAYG,IAAZ,CAAZ;AAAA,KANb;AAOE,IAAA,SAAS,EAAC,eAPZ;AAQE,IAAA,KAAK,EAAE;AAAEW,MAAAA,SAAS,EAAE;AAAb;AART,IADF;AAYD,CAnBD;;AAqBAhB,cAAc,CAACiB,SAAf,GAA2B;AACzBf,EAAAA,MAAM,EAAEgB,mBAAUC,MAAV,CAAiBC,UADA;AAEzBjB,EAAAA,QAAQ,EAAEe,mBAAUG,IAAV,CAAeD,UAFA;AAGzBf,EAAAA,IAAI,EAAEa,mBAAUC,MAAV,CAAiBC,UAHE;AAIzBhB,EAAAA,QAAQ,EAAEc,mBAAUI,OAAV,CAAkBJ,mBAAUC,MAA5B,EAAoCC;AAJrB,CAA3B;eAOepB,c","sourcesContent":["/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Select from 'react-select';\n\nconst SelectRenderer = (props) => {\n const {\n sField, onChange, sOptions, node\n } = props;\n if (sField.type !== 'select' || sOptions.length < 1) return null;\n const { data } = node;\n const val = sOptions.find(o => o.value === data[sField.id].value) || null;\n return (\n <Select\n isClearable\n menuContainerStyle={{ position: 'absolute' }}\n multi={false}\n options={sOptions}\n value={val}\n onChange={e => onChange(e, sField, node)}\n className=\"status-select\"\n style={{ textAlign: 'left' }}\n />\n );\n};\n\nSelectRenderer.propTypes = {\n sField: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n node: PropTypes.object.isRequired,\n sOptions: PropTypes.arrayOf(PropTypes.object).isRequired\n};\n\nexport default SelectRenderer;\n"],"file":"SelectRenderer.js"}
@@ -0,0 +1,455 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _numeral = _interopRequireDefault(require("numeral"));
15
+
16
+ var _GenericSubField = _interopRequireDefault(require("../models/GenericSubField"));
17
+
18
+ var _GridBtn = require("./GridBtn");
19
+
20
+ var _GridEntry = require("./GridEntry");
21
+
22
+ var _UConverterRenderer = _interopRequireDefault(require("./UConverterRenderer"));
23
+
24
+ var _utils = require("../tools/utils");
25
+
26
+ var _DropRenderer = _interopRequireDefault(require("./DropRenderer"));
27
+
28
+ var _DropTextRenderer = _interopRequireDefault(require("./DropTextRenderer"));
29
+
30
+ var _DropLinkRenderer = _interopRequireDefault(require("./DropLinkRenderer"));
31
+
32
+ var _SamOption = _interopRequireDefault(require("./SamOption"));
33
+
34
+ var _DragDropItemTypes = _interopRequireDefault(require("../dnd/DragDropItemTypes"));
35
+
36
+ var _SelectRenderer = _interopRequireDefault(require("./SelectRenderer"));
37
+
38
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
39
+
40
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
41
+
42
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
43
+
44
+ function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
45
+
46
+ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
47
+
48
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
49
+
50
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
51
+
52
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
53
+
54
+ function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
55
+
56
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
57
+
58
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
59
+
60
+ function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
61
+
62
+ var TableRecord = /*#__PURE__*/function (_React$Component) {
63
+ _inherits(TableRecord, _React$Component);
64
+
65
+ var _super = _createSuper(TableRecord);
66
+
67
+ function TableRecord(props) {
68
+ var _this;
69
+
70
+ _classCallCheck(this, TableRecord);
71
+
72
+ _this = _super.call(this, props);
73
+ _this.delRow = _this.delRow.bind(_assertThisInitialized(_this));
74
+ _this.addRow = _this.addRow.bind(_assertThisInitialized(_this));
75
+ _this.moveRow = _this.moveRow.bind(_assertThisInitialized(_this));
76
+ _this.onCellChange = _this.onCellChange.bind(_assertThisInitialized(_this));
77
+ _this.onSelectClick = _this.onSelectClick.bind(_assertThisInitialized(_this));
78
+ _this.onUnitClick = _this.onUnitClick.bind(_assertThisInitialized(_this));
79
+ _this.onDrop = _this.onDrop.bind(_assertThisInitialized(_this));
80
+ _this.onChk = _this.onChk.bind(_assertThisInitialized(_this));
81
+ _this.getColumns = _this.getColumns.bind(_assertThisInitialized(_this));
82
+ return _this;
83
+ }
84
+
85
+ _createClass(TableRecord, [{
86
+ key: "onCellChange",
87
+ value: function onCellChange(params) {
88
+ var e = params.e,
89
+ columnDef = params.columnDef,
90
+ rowValue = params.rowValue;
91
+ var newValue = e.target.value;
92
+ var oldValue = rowValue[columnDef.field].value;
93
+ if (oldValue === newValue) return;
94
+
95
+ if (columnDef.type === 'text') {
96
+ rowValue[columnDef.field] = newValue;
97
+ }
98
+
99
+ if (columnDef.type === 'system-defined') {
100
+ if (isNaN(newValue)) return;
101
+ rowValue[columnDef.field].value = (0, _numeral.default)(newValue).value();
102
+ }
103
+
104
+ var opt = this.props.opt;
105
+ var subVals = opt.f_obj.sub_values || [];
106
+ var idx = subVals.findIndex(function (s) {
107
+ return s.id === rowValue.id;
108
+ });
109
+ subVals.splice(idx, 1, rowValue);
110
+ opt.f_obj.sub_values = subVals;
111
+ opt.onSubChange(0, 0, opt.f_obj, true);
112
+ }
113
+ }, {
114
+ key: "onSelectClick",
115
+ value: function onSelectClick(e, subField, node) {
116
+ var data = node.data;
117
+ var opt = this.props.opt;
118
+ var subVals = opt.f_obj.sub_values || [];
119
+ var subVal = subVals.find(function (s) {
120
+ return s.id === data.id;
121
+ });
122
+ subVal[subField.id] = {
123
+ value: e ? e.value : ''
124
+ };
125
+ var idx = subVals.findIndex(function (s) {
126
+ return s.id === data.id;
127
+ });
128
+ subVals.splice(idx, 1, subVal);
129
+ opt.f_obj.sub_values = subVals;
130
+ opt.onSubChange(subField, subField.id, opt.f_obj, true);
131
+ }
132
+ }, {
133
+ key: "onUnitClick",
134
+ value: function onUnitClick(subField, node) {
135
+ var data = node.data;
136
+ var opt = this.props.opt;
137
+ var subVals = opt.f_obj.sub_values || [];
138
+ var subVal = subVals.find(function (s) {
139
+ return s.id === data.id;
140
+ });
141
+ var units = (0, _utils.genUnits)(subField.option_layers);
142
+ var uIdx = units.findIndex(function (u) {
143
+ return u.key === subVal[subField.id].value_system;
144
+ });
145
+ if (uIdx < units.length - 1) uIdx += 1;else uIdx = 0;
146
+ var vs = units.length > 0 ? units[uIdx].key : '';
147
+ var v = (0, _utils.unitConversion)(subField.option_layers, vs, subVal[subField.id].value);
148
+ subVal[subField.id] = {
149
+ value: v,
150
+ value_system: vs
151
+ };
152
+ var idx = subVals.findIndex(function (s) {
153
+ return s.id === data.id;
154
+ });
155
+ subVals.splice(idx, 1, subVal);
156
+ opt.f_obj.sub_values = subVals;
157
+ opt.onSubChange(subField, subField.id, opt.f_obj, true);
158
+ }
159
+ }, {
160
+ key: "onDrop",
161
+ value: function onDrop(targetProps, targetOpt) {
162
+ var opt = this.props.opt;
163
+ var subField = targetOpt.sField;
164
+ var subVals = opt.f_obj.sub_values || [];
165
+ var subVal = subVals.find(function (s) {
166
+ return s.id === targetOpt.data.id;
167
+ });
168
+ subVal[subField.id] = {
169
+ value: targetProps
170
+ };
171
+ var idx = subVals.findIndex(function (s) {
172
+ return s.id === targetOpt.data.id;
173
+ });
174
+ subVals.splice(idx, 1, subVal);
175
+ opt.f_obj.sub_values = subVals;
176
+ opt.onSubChange(subField, subField.id, opt.f_obj, true);
177
+ }
178
+ }, {
179
+ key: "onChk",
180
+ value: function onChk(params) {
181
+ var node = params.node,
182
+ subField = params.subField,
183
+ crOpt = params.crOpt;
184
+ var opt = this.props.opt;
185
+ var subVals = opt.f_obj.sub_values || [];
186
+ var subVal = subVals.find(function (s) {
187
+ return s.id === node.data.id;
188
+ });
189
+ node.data[subField.id].value.cr_opt = crOpt;
190
+ subVal[subField.id] = {
191
+ value: node.data[subField.id].value
192
+ };
193
+ var idx = subVals.findIndex(function (s) {
194
+ return s.id === node.data.id;
195
+ });
196
+ subVals.splice(idx, 1, subVal);
197
+ opt.f_obj.sub_values = subVals;
198
+ opt.onSubChange(subField, subField.id, opt.f_obj, true);
199
+ }
200
+ }, {
201
+ key: "getColumns",
202
+ value: function getColumns() {
203
+ var _this2 = this;
204
+
205
+ var opt = this.props.opt;
206
+ var selectOptions = opt.selectOptions;
207
+ var sValues = opt.f_obj.sub_values || [];
208
+ var columnDefs = [];
209
+ (opt.f_obj.sub_fields || []).forEach(function (sF) {
210
+ var colDef = {
211
+ type: sF.type,
212
+ headerName: sF.col_name,
213
+ field: sF.id
214
+ };
215
+ var colDefExt = [];
216
+
217
+ if (sF.type === 'text') {
218
+ colDef = Object.assign({}, colDef, {
219
+ editable: true,
220
+ onCellChange: _this2.onCellChange
221
+ });
222
+ }
223
+
224
+ if (sF.type === 'select') {
225
+ var sOptions = selectOptions[sF.option_layers] && selectOptions[sF.option_layers].options || [];
226
+ sOptions = sOptions.map(function (op) {
227
+ return {
228
+ value: op.key,
229
+ name: op.key,
230
+ label: op.label
231
+ };
232
+ });
233
+ var cellParams = {
234
+ sField: sF,
235
+ onChange: _this2.onSelectClick,
236
+ sOptions: sOptions
237
+ };
238
+ colDef = Object.assign({}, colDef, {
239
+ cellRenderer: _SelectRenderer.default,
240
+ cellParams: cellParams,
241
+ onCellChange: _this2.onCellChange
242
+ });
243
+ }
244
+
245
+ if (sF.type === 'system-defined') {
246
+ var _cellParams = {
247
+ sField: sF,
248
+ onChange: _this2.onUnitClick
249
+ };
250
+ colDef = Object.assign({}, colDef, {
251
+ cellRenderer: _UConverterRenderer.default,
252
+ cellParams: _cellParams,
253
+ onCellChange: _this2.onCellChange
254
+ });
255
+ }
256
+
257
+ if (sF.type === 'drag_molecule') {
258
+ var _cellParams2 = {
259
+ sField: sF,
260
+ opt: opt,
261
+ onChange: _this2.onDrop
262
+ };
263
+ colDef = Object.assign({}, colDef, {
264
+ cellRenderer: _DropRenderer.default,
265
+ cellParams: _cellParams2,
266
+ onCellChange: _this2.onCellChange,
267
+ width: '5vw'
268
+ });
269
+ var conf = (sF.value || '').split(';') || [];
270
+ conf.forEach(function (c) {
271
+ var attr = _utils.molOptions.find(function (m) {
272
+ return m.value === c;
273
+ });
274
+
275
+ if (attr) {
276
+ var ext = {
277
+ colId: c,
278
+ editable: false,
279
+ type: 'text',
280
+ headerName: attr.label,
281
+ cellRenderer: _DropTextRenderer.default,
282
+ cellParams: {
283
+ attr: attr,
284
+ sField: sF
285
+ }
286
+ };
287
+ colDefExt.push(ext);
288
+ }
289
+ });
290
+ }
291
+
292
+ if (sF.type === 'drag_sample') {
293
+ var sOpt = sValues.filter(function (o) {
294
+ return o[sF.id] && o[sF.id].value && o[sF.id].value.is_new;
295
+ });
296
+ var _cellParams3 = {
297
+ sField: sF,
298
+ opt: opt,
299
+ onChange: _this2.onDrop
300
+ };
301
+ colDef = Object.assign({}, colDef, {
302
+ cellRenderer: _DropRenderer.default,
303
+ cellParams: _cellParams3,
304
+ onCellChange: _this2.onCellChange,
305
+ width: '5vw'
306
+ });
307
+ var addOption = {
308
+ colId: 'sam_option',
309
+ editable: false,
310
+ type: 'text',
311
+ headerName: '',
312
+ cellRenderer: _SamOption.default,
313
+ cellParams: {
314
+ sField: sF,
315
+ onChange: _this2.onChk
316
+ },
317
+ width: '3vw'
318
+ };
319
+ if (sOpt.length > 0) colDefExt.push(addOption);
320
+ var addLink = {
321
+ colId: 'sam_link',
322
+ editable: false,
323
+ type: 'text',
324
+ headerName: 'Short label',
325
+ cellRenderer: _DropLinkRenderer.default,
326
+ cellParams: {
327
+ sField: sF
328
+ },
329
+ width: '5vw'
330
+ };
331
+ colDefExt.push(addLink);
332
+
333
+ var _conf = (sF.value || '').split(';') || [];
334
+
335
+ _conf.forEach(function (c) {
336
+ var attr = _utils.samOptions.find(function (m) {
337
+ return m.value === c;
338
+ });
339
+
340
+ if (attr) {
341
+ var ext = {
342
+ colId: c,
343
+ editable: false,
344
+ type: 'text',
345
+ headerName: attr.label,
346
+ cellRenderer: _DropTextRenderer.default,
347
+ cellParams: {
348
+ attr: attr,
349
+ sField: sF
350
+ }
351
+ };
352
+ colDefExt.push(ext);
353
+ }
354
+ });
355
+ }
356
+
357
+ columnDefs.push(colDef);
358
+ if (colDefExt.length > 0) columnDefs = columnDefs.concat(colDefExt);
359
+ });
360
+ var act = {
361
+ type: 'button',
362
+ headerName: '',
363
+ colId: opt.f_obj.field,
364
+ headerComponent: _GridBtn.AddRowBtn,
365
+ headerParams: {
366
+ addRow: this.addRow
367
+ },
368
+ cellRenderer: _GridBtn.DelRowBtn,
369
+ cellParams: {
370
+ delRow: this.delRow
371
+ },
372
+ width: 'unset'
373
+ };
374
+ columnDefs.splice(0, 0, act);
375
+ var dtype = "".concat(_DragDropItemTypes.default.GENERIC_GRID, "_").concat(opt.layer.key, "_").concat(opt.f_obj.field);
376
+ var move = {
377
+ type: 'dnd',
378
+ field: opt.f_obj.field,
379
+ headerName: '',
380
+ colId: "".concat(opt.f_obj.field, "_dnd"),
381
+ headerComponent: _GridBtn.NullRowBtn,
382
+ cellRenderer: _GridBtn.DnDRowBtn,
383
+ cellParams: {
384
+ moveRow: this.moveRow,
385
+ field: opt.f_obj.field,
386
+ type: dtype
387
+ },
388
+ width: 'unset'
389
+ };
390
+ columnDefs.splice(0, 0, move);
391
+ return columnDefs;
392
+ }
393
+ }, {
394
+ key: "moveRow",
395
+ value: function moveRow(source, target) {
396
+ var opt = this.props.opt;
397
+ var alles = opt.f_obj.sub_values;
398
+ var sid = alles.findIndex(function (e) {
399
+ return e.id === source;
400
+ });
401
+ var tid = alles.findIndex(function (e) {
402
+ return e.id === target;
403
+ });
404
+ var temp = alles[sid];
405
+ alles[sid] = alles[tid];
406
+ alles[tid] = temp;
407
+ opt.onSubChange(0, 0, opt.f_obj, true);
408
+ }
409
+ }, {
410
+ key: "delRow",
411
+ value: function delRow(rowData) {
412
+ var opt = this.props.opt;
413
+ opt.f_obj.sub_values = opt.f_obj.sub_values.filter(function (s) {
414
+ return s.id !== rowData.id;
415
+ });
416
+ opt.onSubChange(0, 0, opt.f_obj, true);
417
+ }
418
+ }, {
419
+ key: "addRow",
420
+ value: function addRow() {
421
+ var opt = this.props.opt;
422
+ var subFields = opt.f_obj.sub_fields || [];
423
+ var newSub = new _GenericSubField.default();
424
+ subFields.map(function (e) {
425
+ if (e.type === 'text') return Object.assign(newSub, _defineProperty({}, e.id, ''));
426
+ return Object.assign(newSub, _defineProperty({}, e.id, {
427
+ value: '',
428
+ value_system: e.value_system
429
+ }));
430
+ });
431
+ opt.f_obj.sub_values = opt.f_obj.sub_values || [];
432
+ opt.f_obj.sub_values.push(newSub);
433
+ opt.onSubChange(0, 0, opt.f_obj, true);
434
+ }
435
+ }, {
436
+ key: "render",
437
+ value: function render() {
438
+ var opt = this.props.opt;
439
+ if (opt.isSearchCriteria) return /*#__PURE__*/_react.default.createElement("div", null, "(This is a table)");
440
+ if ((opt.f_obj.sub_fields || []).length < 1) return null;
441
+ var columnDefs = this.getColumns();
442
+ return /*#__PURE__*/_react.default.createElement("div", null, (0, _GridEntry.ColumnHeader)(columnDefs), /*#__PURE__*/_react.default.createElement("div", null, (0, _GridEntry.NoRow)(opt.f_obj.sub_values)), /*#__PURE__*/_react.default.createElement("div", null, (opt.f_obj.sub_values || []).map(function (s) {
443
+ return (0, _GridEntry.ColumnRow)(columnDefs, s);
444
+ })));
445
+ }
446
+ }]);
447
+
448
+ return TableRecord;
449
+ }(_react.default.Component);
450
+
451
+ exports.default = TableRecord;
452
+ TableRecord.propTypes = {
453
+ opt: _propTypes.default.object.isRequired
454
+ };
455
+ //# sourceMappingURL=TableRecord.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/table/TableRecord.js"],"names":["TableRecord","props","delRow","bind","addRow","moveRow","onCellChange","onSelectClick","onUnitClick","onDrop","onChk","getColumns","params","e","columnDef","rowValue","newValue","target","value","oldValue","field","type","isNaN","opt","subVals","f_obj","sub_values","idx","findIndex","s","id","splice","onSubChange","subField","node","data","subVal","find","units","option_layers","uIdx","u","key","value_system","length","vs","v","targetProps","targetOpt","sField","crOpt","cr_opt","selectOptions","sValues","columnDefs","sub_fields","forEach","sF","colDef","headerName","col_name","colDefExt","Object","assign","editable","sOptions","options","map","op","name","label","cellParams","onChange","cellRenderer","SelectRenderer","UConverterRenderer","DropRenderer","width","conf","split","c","attr","molOptions","m","ext","colId","DropTextRenderer","push","sOpt","filter","o","is_new","addOption","SampOption","addLink","DropLinkRenderer","samOptions","concat","act","headerComponent","AddRowBtn","headerParams","DelRowBtn","dtype","DragDropItemTypes","GENERIC_GRID","layer","move","NullRowBtn","DnDRowBtn","source","alles","sid","tid","temp","rowData","subFields","newSub","GenericSubField","isSearchCriteria","React","Component","propTypes","PropTypes","object","isRequired"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;IAEqBA,W;;;;;AACnB,uBAAYC,KAAZ,EAAmB;AAAA;;AAAA;;AACjB,8BAAMA,KAAN;AACA,UAAKC,MAAL,GAAc,MAAKA,MAAL,CAAYC,IAAZ,+BAAd;AACA,UAAKC,MAAL,GAAc,MAAKA,MAAL,CAAYD,IAAZ,+BAAd;AACA,UAAKE,OAAL,GAAe,MAAKA,OAAL,CAAaF,IAAb,+BAAf;AACA,UAAKG,YAAL,GAAoB,MAAKA,YAAL,CAAkBH,IAAlB,+BAApB;AACA,UAAKI,aAAL,GAAqB,MAAKA,aAAL,CAAmBJ,IAAnB,+BAArB;AACA,UAAKK,WAAL,GAAmB,MAAKA,WAAL,CAAiBL,IAAjB,+BAAnB;AACA,UAAKM,MAAL,GAAc,MAAKA,MAAL,CAAYN,IAAZ,+BAAd;AACA,UAAKO,KAAL,GAAa,MAAKA,KAAL,CAAWP,IAAX,+BAAb;AACA,UAAKQ,UAAL,GAAkB,MAAKA,UAAL,CAAgBR,IAAhB,+BAAlB;AAViB;AAWlB;;;;WAED,sBAAaS,MAAb,EAAqB;AACnB,UAAQC,CAAR,GAAmCD,MAAnC,CAAQC,CAAR;AAAA,UAAWC,SAAX,GAAmCF,MAAnC,CAAWE,SAAX;AAAA,UAAsBC,QAAtB,GAAmCH,MAAnC,CAAsBG,QAAtB;AACA,UAAMC,QAAQ,GAAGH,CAAC,CAACI,MAAF,CAASC,KAA1B;AACA,UAAMC,QAAQ,GAAGJ,QAAQ,CAACD,SAAS,CAACM,KAAX,CAAR,CAA0BF,KAA3C;AACA,UAAIC,QAAQ,KAAKH,QAAjB,EAA2B;;AAC3B,UAAIF,SAAS,CAACO,IAAV,KAAmB,MAAvB,EAA+B;AAC7BN,QAAAA,QAAQ,CAACD,SAAS,CAACM,KAAX,CAAR,GAA4BJ,QAA5B;AACD;;AACD,UAAIF,SAAS,CAACO,IAAV,KAAmB,gBAAvB,EAAyC;AACvC,YAAIC,KAAK,CAACN,QAAD,CAAT,EAAqB;AACrBD,QAAAA,QAAQ,CAACD,SAAS,CAACM,KAAX,CAAR,CAA0BF,KAA1B,GAAkC,sBAAQF,QAAR,EAAkBE,KAAlB,EAAlC;AACD;;AACD,UAAQK,GAAR,GAAgB,KAAKtB,KAArB,CAAQsB,GAAR;AACA,UAAMC,OAAO,GAAGD,GAAG,CAACE,KAAJ,CAAUC,UAAV,IAAwB,EAAxC;AACA,UAAMC,GAAG,GAAGH,OAAO,CAACI,SAAR,CAAkB,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACC,EAAF,KAASf,QAAQ,CAACe,EAAtB;AAAA,OAAnB,CAAZ;AACAN,MAAAA,OAAO,CAACO,MAAR,CAAeJ,GAAf,EAAoB,CAApB,EAAuBZ,QAAvB;AACAQ,MAAAA,GAAG,CAACE,KAAJ,CAAUC,UAAV,GAAuBF,OAAvB;AACAD,MAAAA,GAAG,CAACS,WAAJ,CAAgB,CAAhB,EAAmB,CAAnB,EAAsBT,GAAG,CAACE,KAA1B,EAAiC,IAAjC;AACD;;;WAED,uBAAcZ,CAAd,EAAiBoB,QAAjB,EAA2BC,IAA3B,EAAiC;AAC/B,UAAQC,IAAR,GAAiBD,IAAjB,CAAQC,IAAR;AACA,UAAQZ,GAAR,GAAgB,KAAKtB,KAArB,CAAQsB,GAAR;AACA,UAAMC,OAAO,GAAGD,GAAG,CAACE,KAAJ,CAAUC,UAAV,IAAwB,EAAxC;AACA,UAAMU,MAAM,GAAGZ,OAAO,CAACa,IAAR,CAAa,UAAAR,CAAC;AAAA,eAAIA,CAAC,CAACC,EAAF,KAASK,IAAI,CAACL,EAAlB;AAAA,OAAd,CAAf;AACAM,MAAAA,MAAM,CAACH,QAAQ,CAACH,EAAV,CAAN,GAAsB;AAAEZ,QAAAA,KAAK,EAAEL,CAAC,GAAGA,CAAC,CAACK,KAAL,GAAa;AAAvB,OAAtB;AACA,UAAMS,GAAG,GAAGH,OAAO,CAACI,SAAR,CAAkB,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACC,EAAF,KAASK,IAAI,CAACL,EAAlB;AAAA,OAAnB,CAAZ;AACAN,MAAAA,OAAO,CAACO,MAAR,CAAeJ,GAAf,EAAoB,CAApB,EAAuBS,MAAvB;AACAb,MAAAA,GAAG,CAACE,KAAJ,CAAUC,UAAV,GAAuBF,OAAvB;AACAD,MAAAA,GAAG,CAACS,WAAJ,CAAgBC,QAAhB,EAA0BA,QAAQ,CAACH,EAAnC,EAAuCP,GAAG,CAACE,KAA3C,EAAkD,IAAlD;AACD;;;WAED,qBAAYQ,QAAZ,EAAsBC,IAAtB,EAA4B;AAC1B,UAAQC,IAAR,GAAiBD,IAAjB,CAAQC,IAAR;AACA,UAAQZ,GAAR,GAAgB,KAAKtB,KAArB,CAAQsB,GAAR;AACA,UAAMC,OAAO,GAAGD,GAAG,CAACE,KAAJ,CAAUC,UAAV,IAAwB,EAAxC;AACA,UAAMU,MAAM,GAAGZ,OAAO,CAACa,IAAR,CAAa,UAAAR,CAAC;AAAA,eAAIA,CAAC,CAACC,EAAF,KAASK,IAAI,CAACL,EAAlB;AAAA,OAAd,CAAf;AACA,UAAMQ,KAAK,GAAG,qBAASL,QAAQ,CAACM,aAAlB,CAAd;AACA,UAAIC,IAAI,GAAGF,KAAK,CAACV,SAAN,CAAgB,UAAAa,CAAC;AAAA,eAAIA,CAAC,CAACC,GAAF,KAAUN,MAAM,CAACH,QAAQ,CAACH,EAAV,CAAN,CAAoBa,YAAlC;AAAA,OAAjB,CAAX;AACA,UAAIH,IAAI,GAAGF,KAAK,CAACM,MAAN,GAAe,CAA1B,EAA6BJ,IAAI,IAAI,CAAR,CAA7B,KAA6CA,IAAI,GAAG,CAAP;AAC7C,UAAMK,EAAE,GAAGP,KAAK,CAACM,MAAN,GAAe,CAAf,GAAmBN,KAAK,CAACE,IAAD,CAAL,CAAYE,GAA/B,GAAqC,EAAhD;AACA,UAAMI,CAAC,GAAG,2BAAeb,QAAQ,CAACM,aAAxB,EAAuCM,EAAvC,EAA2CT,MAAM,CAACH,QAAQ,CAACH,EAAV,CAAN,CAAoBZ,KAA/D,CAAV;AACAkB,MAAAA,MAAM,CAACH,QAAQ,CAACH,EAAV,CAAN,GAAsB;AAAEZ,QAAAA,KAAK,EAAE4B,CAAT;AAAYH,QAAAA,YAAY,EAAEE;AAA1B,OAAtB;AACA,UAAMlB,GAAG,GAAGH,OAAO,CAACI,SAAR,CAAkB,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACC,EAAF,KAASK,IAAI,CAACL,EAAlB;AAAA,OAAnB,CAAZ;AACAN,MAAAA,OAAO,CAACO,MAAR,CAAeJ,GAAf,EAAoB,CAApB,EAAuBS,MAAvB;AACAb,MAAAA,GAAG,CAACE,KAAJ,CAAUC,UAAV,GAAuBF,OAAvB;AACAD,MAAAA,GAAG,CAACS,WAAJ,CAAgBC,QAAhB,EAA0BA,QAAQ,CAACH,EAAnC,EAAuCP,GAAG,CAACE,KAA3C,EAAkD,IAAlD;AACD;;;WAED,gBAAOsB,WAAP,EAAoBC,SAApB,EAA+B;AAC7B,UAAQzB,GAAR,GAAgB,KAAKtB,KAArB,CAAQsB,GAAR;AACA,UAAMU,QAAQ,GAAGe,SAAS,CAACC,MAA3B;AACA,UAAMzB,OAAO,GAAGD,GAAG,CAACE,KAAJ,CAAUC,UAAV,IAAwB,EAAxC;AACA,UAAMU,MAAM,GAAGZ,OAAO,CAACa,IAAR,CAAa,UAAAR,CAAC;AAAA,eAAIA,CAAC,CAACC,EAAF,KAASkB,SAAS,CAACb,IAAV,CAAeL,EAA5B;AAAA,OAAd,CAAf;AACAM,MAAAA,MAAM,CAACH,QAAQ,CAACH,EAAV,CAAN,GAAsB;AAAEZ,QAAAA,KAAK,EAAE6B;AAAT,OAAtB;AACA,UAAMpB,GAAG,GAAGH,OAAO,CAACI,SAAR,CAAkB,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACC,EAAF,KAASkB,SAAS,CAACb,IAAV,CAAeL,EAA5B;AAAA,OAAnB,CAAZ;AACAN,MAAAA,OAAO,CAACO,MAAR,CAAeJ,GAAf,EAAoB,CAApB,EAAuBS,MAAvB;AACAb,MAAAA,GAAG,CAACE,KAAJ,CAAUC,UAAV,GAAuBF,OAAvB;AACAD,MAAAA,GAAG,CAACS,WAAJ,CAAgBC,QAAhB,EAA0BA,QAAQ,CAACH,EAAnC,EAAuCP,GAAG,CAACE,KAA3C,EAAkD,IAAlD;AACD;;;WAED,eAAMb,MAAN,EAAc;AACZ,UAAQsB,IAAR,GAAkCtB,MAAlC,CAAQsB,IAAR;AAAA,UAAcD,QAAd,GAAkCrB,MAAlC,CAAcqB,QAAd;AAAA,UAAwBiB,KAAxB,GAAkCtC,MAAlC,CAAwBsC,KAAxB;AACA,UAAQ3B,GAAR,GAAgB,KAAKtB,KAArB,CAAQsB,GAAR;AACA,UAAMC,OAAO,GAAGD,GAAG,CAACE,KAAJ,CAAUC,UAAV,IAAwB,EAAxC;AACA,UAAMU,MAAM,GAAGZ,OAAO,CAACa,IAAR,CAAa,UAAAR,CAAC;AAAA,eAAIA,CAAC,CAACC,EAAF,KAASI,IAAI,CAACC,IAAL,CAAUL,EAAvB;AAAA,OAAd,CAAf;AACAI,MAAAA,IAAI,CAACC,IAAL,CAAUF,QAAQ,CAACH,EAAnB,EAAuBZ,KAAvB,CAA6BiC,MAA7B,GAAsCD,KAAtC;AACAd,MAAAA,MAAM,CAACH,QAAQ,CAACH,EAAV,CAAN,GAAsB;AAAEZ,QAAAA,KAAK,EAAEgB,IAAI,CAACC,IAAL,CAAUF,QAAQ,CAACH,EAAnB,EAAuBZ;AAAhC,OAAtB;AACA,UAAMS,GAAG,GAAGH,OAAO,CAACI,SAAR,CAAkB,UAAAC,CAAC;AAAA,eAAIA,CAAC,CAACC,EAAF,KAASI,IAAI,CAACC,IAAL,CAAUL,EAAvB;AAAA,OAAnB,CAAZ;AACAN,MAAAA,OAAO,CAACO,MAAR,CAAeJ,GAAf,EAAoB,CAApB,EAAuBS,MAAvB;AACAb,MAAAA,GAAG,CAACE,KAAJ,CAAUC,UAAV,GAAuBF,OAAvB;AACAD,MAAAA,GAAG,CAACS,WAAJ,CAAgBC,QAAhB,EAA0BA,QAAQ,CAACH,EAAnC,EAAuCP,GAAG,CAACE,KAA3C,EAAkD,IAAlD;AACD;;;WAED,sBAAa;AAAA;;AACX,UAAQF,GAAR,GAAgB,KAAKtB,KAArB,CAAQsB,GAAR;AACA,UAAQ6B,aAAR,GAA0B7B,GAA1B,CAAQ6B,aAAR;AACA,UAAMC,OAAO,GAAI9B,GAAG,CAACE,KAAJ,CAAUC,UAAV,IAAwB,EAAzC;AACA,UAAI4B,UAAU,GAAG,EAAjB;AACA,OAAC/B,GAAG,CAACE,KAAJ,CAAU8B,UAAV,IAAwB,EAAzB,EAA6BC,OAA7B,CAAqC,UAACC,EAAD,EAAQ;AAC3C,YAAIC,MAAM,GAAG;AACXrC,UAAAA,IAAI,EAAEoC,EAAE,CAACpC,IADE;AACIsC,UAAAA,UAAU,EAAEF,EAAE,CAACG,QADnB;AAC6BxC,UAAAA,KAAK,EAAEqC,EAAE,CAAC3B;AADvC,SAAb;AAGA,YAAM+B,SAAS,GAAG,EAAlB;;AACA,YAAIJ,EAAE,CAACpC,IAAH,KAAY,MAAhB,EAAwB;AACtBqC,UAAAA,MAAM,GAAGI,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBL,MAAlB,EAA0B;AACjCM,YAAAA,QAAQ,EAAE,IADuB;AACjB1D,YAAAA,YAAY,EAAE,MAAI,CAACA;AADF,WAA1B,CAAT;AAGD;;AACD,YAAImD,EAAE,CAACpC,IAAH,KAAY,QAAhB,EAA0B;AACxB,cAAI4C,QAAQ,GACTb,aAAa,CAACK,EAAE,CAAClB,aAAJ,CAAb,IAAmCa,aAAa,CAACK,EAAE,CAAClB,aAAJ,CAAb,CAAgC2B,OAApE,IAAgF,EADlF;AAEAD,UAAAA,QAAQ,GAAGA,QAAQ,CAACE,GAAT,CAAa,UAAAC,EAAE;AAAA,mBAAK;AAAElD,cAAAA,KAAK,EAAEkD,EAAE,CAAC1B,GAAZ;AAAiB2B,cAAAA,IAAI,EAAED,EAAE,CAAC1B,GAA1B;AAA+B4B,cAAAA,KAAK,EAAEF,EAAE,CAACE;AAAzC,aAAL;AAAA,WAAf,CAAX;AACA,cAAMC,UAAU,GAAG;AAAEtB,YAAAA,MAAM,EAAEQ,EAAV;AAAce,YAAAA,QAAQ,EAAE,MAAI,CAACjE,aAA7B;AAA4C0D,YAAAA,QAAQ,EAARA;AAA5C,WAAnB;AACAP,UAAAA,MAAM,GAAGI,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBL,MAAlB,EAA0B;AACjCe,YAAAA,YAAY,EAAEC,uBADmB;AACHH,YAAAA,UAAU,EAAVA,UADG;AACSjE,YAAAA,YAAY,EAAE,MAAI,CAACA;AAD5B,WAA1B,CAAT;AAGD;;AACD,YAAImD,EAAE,CAACpC,IAAH,KAAY,gBAAhB,EAAkC;AAChC,cAAMkD,WAAU,GAAG;AAAEtB,YAAAA,MAAM,EAAEQ,EAAV;AAAce,YAAAA,QAAQ,EAAE,MAAI,CAAChE;AAA7B,WAAnB;AACAkD,UAAAA,MAAM,GAAGI,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBL,MAAlB,EAA0B;AACjCe,YAAAA,YAAY,EAAEE,2BADmB;AACCJ,YAAAA,UAAU,EAAVA,WADD;AACajE,YAAAA,YAAY,EAAE,MAAI,CAACA;AADhC,WAA1B,CAAT;AAGD;;AACD,YAAImD,EAAE,CAACpC,IAAH,KAAY,eAAhB,EAAiC;AAC/B,cAAMkD,YAAU,GAAG;AAAEtB,YAAAA,MAAM,EAAEQ,EAAV;AAAclC,YAAAA,GAAG,EAAHA,GAAd;AAAmBiD,YAAAA,QAAQ,EAAE,MAAI,CAAC/D;AAAlC,WAAnB;AACAiD,UAAAA,MAAM,GAAGI,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBL,MAAlB,EAA0B;AACjCe,YAAAA,YAAY,EAAEG,qBADmB;AACLL,YAAAA,UAAU,EAAVA,YADK;AACOjE,YAAAA,YAAY,EAAE,MAAI,CAACA,YAD1B;AACwCuE,YAAAA,KAAK,EAAE;AAD/C,WAA1B,CAAT;AAGA,cAAMC,IAAI,GAAI,CAACrB,EAAE,CAACvC,KAAH,IAAY,EAAb,EAAiB6D,KAAjB,CAAuB,GAAvB,KAA+B,EAA7C;AACAD,UAAAA,IAAI,CAACtB,OAAL,CAAa,UAACwB,CAAD,EAAO;AAClB,gBAAMC,IAAI,GAAGC,kBAAW7C,IAAX,CAAgB,UAAA8C,CAAC;AAAA,qBAAIA,CAAC,CAACjE,KAAF,KAAY8D,CAAhB;AAAA,aAAjB,CAAb;;AACA,gBAAIC,IAAJ,EAAU;AACR,kBAAMG,GAAG,GAAG;AACVC,gBAAAA,KAAK,EAAEL,CADG;AACAhB,gBAAAA,QAAQ,EAAE,KADV;AACiB3C,gBAAAA,IAAI,EAAE,MADvB;AAC+BsC,gBAAAA,UAAU,EAAEsB,IAAI,CAACX,KADhD;AACuDG,gBAAAA,YAAY,EAAEa,yBADrE;AACuFf,gBAAAA,UAAU,EAAE;AAAEU,kBAAAA,IAAI,EAAJA,IAAF;AAAQhC,kBAAAA,MAAM,EAAEQ;AAAhB;AADnG,eAAZ;AAGAI,cAAAA,SAAS,CAAC0B,IAAV,CAAeH,GAAf;AACD;AACF,WARD;AASD;;AACD,YAAI3B,EAAE,CAACpC,IAAH,KAAY,aAAhB,EAA+B;AAC7B,cAAMmE,IAAI,GAAGnC,OAAO,CAACoC,MAAR,CAAe,UAAAC,CAAC;AAAA,mBAAIA,CAAC,CAACjC,EAAE,CAAC3B,EAAJ,CAAD,IAAY4D,CAAC,CAACjC,EAAE,CAAC3B,EAAJ,CAAD,CAASZ,KAArB,IAA8BwE,CAAC,CAACjC,EAAE,CAAC3B,EAAJ,CAAD,CAASZ,KAAT,CAAeyE,MAAjD;AAAA,WAAhB,CAAb;AACA,cAAMpB,YAAU,GAAG;AAAEtB,YAAAA,MAAM,EAAEQ,EAAV;AAAclC,YAAAA,GAAG,EAAHA,GAAd;AAAmBiD,YAAAA,QAAQ,EAAE,MAAI,CAAC/D;AAAlC,WAAnB;AACAiD,UAAAA,MAAM,GAAGI,MAAM,CAACC,MAAP,CAAc,EAAd,EAAkBL,MAAlB,EAA0B;AACjCe,YAAAA,YAAY,EAAEG,qBADmB;AACLL,YAAAA,UAAU,EAAVA,YADK;AACOjE,YAAAA,YAAY,EAAE,MAAI,CAACA,YAD1B;AACwCuE,YAAAA,KAAK,EAAE;AAD/C,WAA1B,CAAT;AAGA,cAAMe,SAAS,GAAG;AAChBP,YAAAA,KAAK,EAAE,YADS;AACKrB,YAAAA,QAAQ,EAAE,KADf;AACsB3C,YAAAA,IAAI,EAAE,MAD5B;AACoCsC,YAAAA,UAAU,EAAE,EADhD;AACoDc,YAAAA,YAAY,EAAEoB,kBADlE;AAC8EtB,YAAAA,UAAU,EAAE;AAAEtB,cAAAA,MAAM,EAAEQ,EAAV;AAAce,cAAAA,QAAQ,EAAE,MAAI,CAAC9D;AAA7B,aAD1F;AACgImE,YAAAA,KAAK,EAAE;AADvI,WAAlB;AAGA,cAAIW,IAAI,CAAC5C,MAAL,GAAc,CAAlB,EAAqBiB,SAAS,CAAC0B,IAAV,CAAeK,SAAf;AACrB,cAAME,OAAO,GAAG;AACdT,YAAAA,KAAK,EAAE,UADO;AACKrB,YAAAA,QAAQ,EAAE,KADf;AACsB3C,YAAAA,IAAI,EAAE,MAD5B;AACoCsC,YAAAA,UAAU,EAAE,aADhD;AAC+Dc,YAAAA,YAAY,EAAEsB,yBAD7E;AAC+FxB,YAAAA,UAAU,EAAE;AAAEtB,cAAAA,MAAM,EAAEQ;AAAV,aAD3G;AAC2HoB,YAAAA,KAAK,EAAE;AADlI,WAAhB;AAGAhB,UAAAA,SAAS,CAAC0B,IAAV,CAAeO,OAAf;;AACA,cAAMhB,KAAI,GAAI,CAACrB,EAAE,CAACvC,KAAH,IAAY,EAAb,EAAiB6D,KAAjB,CAAuB,GAAvB,KAA+B,EAA7C;;AACAD,UAAAA,KAAI,CAACtB,OAAL,CAAa,UAACwB,CAAD,EAAO;AAClB,gBAAMC,IAAI,GAAGe,kBAAW3D,IAAX,CAAgB,UAAA8C,CAAC;AAAA,qBAAIA,CAAC,CAACjE,KAAF,KAAY8D,CAAhB;AAAA,aAAjB,CAAb;;AACA,gBAAIC,IAAJ,EAAU;AACR,kBAAMG,GAAG,GAAG;AACVC,gBAAAA,KAAK,EAAEL,CADG;AACAhB,gBAAAA,QAAQ,EAAE,KADV;AACiB3C,gBAAAA,IAAI,EAAE,MADvB;AAC+BsC,gBAAAA,UAAU,EAAEsB,IAAI,CAACX,KADhD;AACuDG,gBAAAA,YAAY,EAAEa,yBADrE;AACuFf,gBAAAA,UAAU,EAAE;AAAEU,kBAAAA,IAAI,EAAJA,IAAF;AAAQhC,kBAAAA,MAAM,EAAEQ;AAAhB;AADnG,eAAZ;AAGAI,cAAAA,SAAS,CAAC0B,IAAV,CAAeH,GAAf;AACD;AACF,WARD;AASD;;AACD9B,QAAAA,UAAU,CAACiC,IAAX,CAAgB7B,MAAhB;AACA,YAAIG,SAAS,CAACjB,MAAV,GAAmB,CAAvB,EAA0BU,UAAU,GAAGA,UAAU,CAAC2C,MAAX,CAAkBpC,SAAlB,CAAb;AAC3B,OApED;AAqEA,UAAMqC,GAAG,GAAG;AACV7E,QAAAA,IAAI,EAAE,QADI;AAEVsC,QAAAA,UAAU,EAAE,EAFF;AAGV0B,QAAAA,KAAK,EAAE9D,GAAG,CAACE,KAAJ,CAAUL,KAHP;AAIV+E,QAAAA,eAAe,EAAEC,kBAJP;AAKVC,QAAAA,YAAY,EAAE;AAAEjG,UAAAA,MAAM,EAAE,KAAKA;AAAf,SALJ;AAMVqE,QAAAA,YAAY,EAAE6B,kBANJ;AAOV/B,QAAAA,UAAU,EAAE;AAAErE,UAAAA,MAAM,EAAE,KAAKA;AAAf,SAPF;AAQV2E,QAAAA,KAAK,EAAE;AARG,OAAZ;AAUAvB,MAAAA,UAAU,CAACvB,MAAX,CAAkB,CAAlB,EAAqB,CAArB,EAAwBmE,GAAxB;AACA,UAAMK,KAAK,aAAMC,2BAAkBC,YAAxB,cAAwClF,GAAG,CAACmF,KAAJ,CAAUhE,GAAlD,cAAyDnB,GAAG,CAACE,KAAJ,CAAUL,KAAnE,CAAX;AACA,UAAMuF,IAAI,GAAG;AACXtF,QAAAA,IAAI,EAAE,KADK;AAEXD,QAAAA,KAAK,EAAEG,GAAG,CAACE,KAAJ,CAAUL,KAFN;AAGXuC,QAAAA,UAAU,EAAE,EAHD;AAIX0B,QAAAA,KAAK,YAAK9D,GAAG,CAACE,KAAJ,CAAUL,KAAf,SAJM;AAKX+E,QAAAA,eAAe,EAAES,mBALN;AAMXnC,QAAAA,YAAY,EAAEoC,kBANH;AAOXtC,QAAAA,UAAU,EAAE;AAAElE,UAAAA,OAAO,EAAE,KAAKA,OAAhB;AAAyBe,UAAAA,KAAK,EAAEG,GAAG,CAACE,KAAJ,CAAUL,KAA1C;AAAiDC,UAAAA,IAAI,EAAEkF;AAAvD,SAPD;AAQX1B,QAAAA,KAAK,EAAE;AARI,OAAb;AAUAvB,MAAAA,UAAU,CAACvB,MAAX,CAAkB,CAAlB,EAAqB,CAArB,EAAwB4E,IAAxB;AACA,aAAOrD,UAAP;AACD;;;WAED,iBAAQwD,MAAR,EAAgB7F,MAAhB,EAAwB;AACtB,UAAQM,GAAR,GAAgB,KAAKtB,KAArB,CAAQsB,GAAR;AACA,UAAMwF,KAAK,GAAGxF,GAAG,CAACE,KAAJ,CAAUC,UAAxB;AACA,UAAMsF,GAAG,GAAGD,KAAK,CAACnF,SAAN,CAAgB,UAAAf,CAAC;AAAA,eAAIA,CAAC,CAACiB,EAAF,KAASgF,MAAb;AAAA,OAAjB,CAAZ;AACA,UAAMG,GAAG,GAAGF,KAAK,CAACnF,SAAN,CAAgB,UAAAf,CAAC;AAAA,eAAIA,CAAC,CAACiB,EAAF,KAASb,MAAb;AAAA,OAAjB,CAAZ;AACA,UAAMiG,IAAI,GAAGH,KAAK,CAACC,GAAD,CAAlB;AACAD,MAAAA,KAAK,CAACC,GAAD,CAAL,GAAaD,KAAK,CAACE,GAAD,CAAlB;AACAF,MAAAA,KAAK,CAACE,GAAD,CAAL,GAAaC,IAAb;AACA3F,MAAAA,GAAG,CAACS,WAAJ,CAAgB,CAAhB,EAAmB,CAAnB,EAAsBT,GAAG,CAACE,KAA1B,EAAiC,IAAjC;AACD;;;WAED,gBAAO0F,OAAP,EAAgB;AACd,UAAQ5F,GAAR,GAAgB,KAAKtB,KAArB,CAAQsB,GAAR;AACAA,MAAAA,GAAG,CAACE,KAAJ,CAAUC,UAAV,GAAuBH,GAAG,CAACE,KAAJ,CAAUC,UAAV,CAAqB+D,MAArB,CAA4B,UAAA5D,CAAC;AAAA,eAAIA,CAAC,CAACC,EAAF,KAASqF,OAAO,CAACrF,EAArB;AAAA,OAA7B,CAAvB;AACAP,MAAAA,GAAG,CAACS,WAAJ,CAAgB,CAAhB,EAAmB,CAAnB,EAAsBT,GAAG,CAACE,KAA1B,EAAiC,IAAjC;AACD;;;WAED,kBAAS;AACP,UAAQF,GAAR,GAAgB,KAAKtB,KAArB,CAAQsB,GAAR;AACA,UAAM6F,SAAS,GAAG7F,GAAG,CAACE,KAAJ,CAAU8B,UAAV,IAAwB,EAA1C;AACA,UAAM8D,MAAM,GAAG,IAAIC,wBAAJ,EAAf;AACAF,MAAAA,SAAS,CAACjD,GAAV,CAAc,UAACtD,CAAD,EAAO;AACnB,YAAIA,CAAC,CAACQ,IAAF,KAAW,MAAf,EAAuB,OAAOyC,MAAM,CAACC,MAAP,CAAcsD,MAAd,sBAAyBxG,CAAC,CAACiB,EAA3B,EAAgC,EAAhC,EAAP;AACvB,eAAOgC,MAAM,CAACC,MAAP,CAAcsD,MAAd,sBAAyBxG,CAAC,CAACiB,EAA3B,EAAgC;AAAEZ,UAAAA,KAAK,EAAE,EAAT;AAAayB,UAAAA,YAAY,EAAE9B,CAAC,CAAC8B;AAA7B,SAAhC,EAAP;AACD,OAHD;AAIApB,MAAAA,GAAG,CAACE,KAAJ,CAAUC,UAAV,GAAuBH,GAAG,CAACE,KAAJ,CAAUC,UAAV,IAAwB,EAA/C;AACAH,MAAAA,GAAG,CAACE,KAAJ,CAAUC,UAAV,CAAqB6D,IAArB,CAA0B8B,MAA1B;AACA9F,MAAAA,GAAG,CAACS,WAAJ,CAAgB,CAAhB,EAAmB,CAAnB,EAAsBT,GAAG,CAACE,KAA1B,EAAiC,IAAjC;AACD;;;WAED,kBAAS;AACP,UAAQF,GAAR,GAAgB,KAAKtB,KAArB,CAAQsB,GAAR;AACA,UAAIA,GAAG,CAACgG,gBAAR,EAA0B,oBAAQ,8DAAR;AAC1B,UAAI,CAAChG,GAAG,CAACE,KAAJ,CAAU8B,UAAV,IAAwB,EAAzB,EAA6BX,MAA7B,GAAsC,CAA1C,EAA6C,OAAO,IAAP;AAC7C,UAAMU,UAAU,GAAG,KAAK3C,UAAL,EAAnB;AACA,0BACE,0CACG,6BAAa2C,UAAb,CADH,eAEE,0CAAM,sBAAM/B,GAAG,CAACE,KAAJ,CAAUC,UAAhB,CAAN,CAFF,eAGE,0CAAM,CAACH,GAAG,CAACE,KAAJ,CAAUC,UAAV,IAAwB,EAAzB,EAA6ByC,GAA7B,CAAiC,UAAAtC,CAAC;AAAA,eAAI,0BAAUyB,UAAV,EAAsBzB,CAAtB,CAAJ;AAAA,OAAlC,CAAN,CAHF,CADF;AAOD;;;;EAtOsC2F,eAAMC,S;;;AAyO/CzH,WAAW,CAAC0H,SAAZ,GAAwB;AACtBnG,EAAAA,GAAG,EAAEoG,mBAAUC,MAAV,CAAiBC;AADA,CAAxB","sourcesContent":["/* eslint-disable no-restricted-globals */\n/* eslint-disable no-empty */\n/* eslint-disable react/forbid-prop-types */\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport Numeral from 'numeral';\nimport GenericSubField from '../models/GenericSubField';\nimport { AddRowBtn, DelRowBtn, DnDRowBtn, NullRowBtn } from './GridBtn';\nimport { ColumnHeader, ColumnRow, NoRow } from './GridEntry';\nimport UConverterRenderer from './UConverterRenderer';\nimport { genUnits, unitConversion, molOptions, samOptions } from '../tools/utils';\nimport DropRenderer from './DropRenderer';\nimport DropTextRenderer from './DropTextRenderer';\nimport DropLinkRenderer from './DropLinkRenderer';\nimport SampOption from './SamOption';\nimport DragDropItemTypes from '../dnd/DragDropItemTypes';\nimport SelectRenderer from './SelectRenderer';\n\nexport default class TableRecord extends React.Component {\n constructor(props) {\n super(props);\n this.delRow = this.delRow.bind(this);\n this.addRow = this.addRow.bind(this);\n this.moveRow = this.moveRow.bind(this);\n this.onCellChange = this.onCellChange.bind(this);\n this.onSelectClick = this.onSelectClick.bind(this);\n this.onUnitClick = this.onUnitClick.bind(this);\n this.onDrop = this.onDrop.bind(this);\n this.onChk = this.onChk.bind(this);\n this.getColumns = this.getColumns.bind(this);\n }\n\n onCellChange(params) {\n const { e, columnDef, rowValue } = params;\n const newValue = e.target.value;\n const oldValue = rowValue[columnDef.field].value;\n if (oldValue === newValue) return;\n if (columnDef.type === 'text') {\n rowValue[columnDef.field] = newValue;\n }\n if (columnDef.type === 'system-defined') {\n if (isNaN(newValue)) return;\n rowValue[columnDef.field].value = Numeral(newValue).value();\n }\n const { opt } = this.props;\n const subVals = opt.f_obj.sub_values || [];\n const idx = subVals.findIndex(s => s.id === rowValue.id);\n subVals.splice(idx, 1, rowValue);\n opt.f_obj.sub_values = subVals;\n opt.onSubChange(0, 0, opt.f_obj, true);\n }\n\n onSelectClick(e, subField, node) {\n const { data } = node;\n const { opt } = this.props;\n const subVals = opt.f_obj.sub_values || [];\n const subVal = subVals.find(s => s.id === data.id);\n subVal[subField.id] = { value: e ? e.value : '' };\n const idx = subVals.findIndex(s => s.id === data.id);\n subVals.splice(idx, 1, subVal);\n opt.f_obj.sub_values = subVals;\n opt.onSubChange(subField, subField.id, opt.f_obj, true);\n }\n\n onUnitClick(subField, node) {\n const { data } = node;\n const { opt } = this.props;\n const subVals = opt.f_obj.sub_values || [];\n const subVal = subVals.find(s => s.id === data.id);\n const units = genUnits(subField.option_layers);\n let uIdx = units.findIndex(u => u.key === subVal[subField.id].value_system);\n if (uIdx < units.length - 1) uIdx += 1; else uIdx = 0;\n const vs = units.length > 0 ? units[uIdx].key : '';\n const v = unitConversion(subField.option_layers, vs, subVal[subField.id].value);\n subVal[subField.id] = { value: v, value_system: vs };\n const idx = subVals.findIndex(s => s.id === data.id);\n subVals.splice(idx, 1, subVal);\n opt.f_obj.sub_values = subVals;\n opt.onSubChange(subField, subField.id, opt.f_obj, true);\n }\n\n onDrop(targetProps, targetOpt) {\n const { opt } = this.props;\n const subField = targetOpt.sField;\n const subVals = opt.f_obj.sub_values || [];\n const subVal = subVals.find(s => s.id === targetOpt.data.id);\n subVal[subField.id] = { value: targetProps };\n const idx = subVals.findIndex(s => s.id === targetOpt.data.id);\n subVals.splice(idx, 1, subVal);\n opt.f_obj.sub_values = subVals;\n opt.onSubChange(subField, subField.id, opt.f_obj, true);\n }\n\n onChk(params) {\n const { node, subField, crOpt } = params;\n const { opt } = this.props;\n const subVals = opt.f_obj.sub_values || [];\n const subVal = subVals.find(s => s.id === node.data.id);\n node.data[subField.id].value.cr_opt = crOpt;\n subVal[subField.id] = { value: node.data[subField.id].value };\n const idx = subVals.findIndex(s => s.id === node.data.id);\n subVals.splice(idx, 1, subVal);\n opt.f_obj.sub_values = subVals;\n opt.onSubChange(subField, subField.id, opt.f_obj, true);\n }\n\n getColumns() {\n const { opt } = this.props;\n const { selectOptions } = opt;\n const sValues = (opt.f_obj.sub_values || []);\n let columnDefs = [];\n (opt.f_obj.sub_fields || []).forEach((sF) => {\n let colDef = {\n type: sF.type, headerName: sF.col_name, field: sF.id\n };\n const colDefExt = [];\n if (sF.type === 'text') {\n colDef = Object.assign({}, colDef, {\n editable: true, onCellChange: this.onCellChange\n });\n }\n if (sF.type === 'select') {\n let sOptions =\n (selectOptions[sF.option_layers] && selectOptions[sF.option_layers].options) || [];\n sOptions = sOptions.map(op => ({ value: op.key, name: op.key, label: op.label }));\n const cellParams = { sField: sF, onChange: this.onSelectClick, sOptions };\n colDef = Object.assign({}, colDef, {\n cellRenderer: SelectRenderer, cellParams, onCellChange: this.onCellChange\n });\n }\n if (sF.type === 'system-defined') {\n const cellParams = { sField: sF, onChange: this.onUnitClick };\n colDef = Object.assign({}, colDef, {\n cellRenderer: UConverterRenderer, cellParams, onCellChange: this.onCellChange\n });\n }\n if (sF.type === 'drag_molecule') {\n const cellParams = { sField: sF, opt, onChange: this.onDrop };\n colDef = Object.assign({}, colDef, {\n cellRenderer: DropRenderer, cellParams, onCellChange: this.onCellChange, width: '5vw'\n });\n const conf = ((sF.value || '').split(';') || []);\n conf.forEach((c) => {\n const attr = molOptions.find(m => m.value === c);\n if (attr) {\n const ext = {\n colId: c, editable: false, type: 'text', headerName: attr.label, cellRenderer: DropTextRenderer, cellParams: { attr, sField: sF }\n };\n colDefExt.push(ext);\n }\n });\n }\n if (sF.type === 'drag_sample') {\n const sOpt = sValues.filter(o => o[sF.id] && o[sF.id].value && o[sF.id].value.is_new);\n const cellParams = { sField: sF, opt, onChange: this.onDrop };\n colDef = Object.assign({}, colDef, {\n cellRenderer: DropRenderer, cellParams, onCellChange: this.onCellChange, width: '5vw'\n });\n const addOption = {\n colId: 'sam_option', editable: false, type: 'text', headerName: '', cellRenderer: SampOption, cellParams: { sField: sF, onChange: this.onChk }, width: '3vw'\n };\n if (sOpt.length > 0) colDefExt.push(addOption);\n const addLink = {\n colId: 'sam_link', editable: false, type: 'text', headerName: 'Short label', cellRenderer: DropLinkRenderer, cellParams: { sField: sF }, width: '5vw'\n };\n colDefExt.push(addLink);\n const conf = ((sF.value || '').split(';') || []);\n conf.forEach((c) => {\n const attr = samOptions.find(m => m.value === c);\n if (attr) {\n const ext = {\n colId: c, editable: false, type: 'text', headerName: attr.label, cellRenderer: DropTextRenderer, cellParams: { attr, sField: sF }\n };\n colDefExt.push(ext);\n }\n });\n }\n columnDefs.push(colDef);\n if (colDefExt.length > 0) columnDefs = columnDefs.concat(colDefExt);\n });\n const act = {\n type: 'button',\n headerName: '',\n colId: opt.f_obj.field,\n headerComponent: AddRowBtn,\n headerParams: { addRow: this.addRow },\n cellRenderer: DelRowBtn,\n cellParams: { delRow: this.delRow },\n width: 'unset',\n };\n columnDefs.splice(0, 0, act);\n const dtype = `${DragDropItemTypes.GENERIC_GRID}_${opt.layer.key}_${opt.f_obj.field}`;\n const move = {\n type: 'dnd',\n field: opt.f_obj.field,\n headerName: '',\n colId: `${opt.f_obj.field}_dnd`,\n headerComponent: NullRowBtn,\n cellRenderer: DnDRowBtn,\n cellParams: { moveRow: this.moveRow, field: opt.f_obj.field, type: dtype },\n width: 'unset',\n };\n columnDefs.splice(0, 0, move);\n return columnDefs;\n }\n\n moveRow(source, target) {\n const { opt } = this.props;\n const alles = opt.f_obj.sub_values;\n const sid = alles.findIndex(e => e.id === source);\n const tid = alles.findIndex(e => e.id === target);\n const temp = alles[sid];\n alles[sid] = alles[tid];\n alles[tid] = temp;\n opt.onSubChange(0, 0, opt.f_obj, true);\n }\n\n delRow(rowData) {\n const { opt } = this.props;\n opt.f_obj.sub_values = opt.f_obj.sub_values.filter(s => s.id !== rowData.id);\n opt.onSubChange(0, 0, opt.f_obj, true);\n }\n\n addRow() {\n const { opt } = this.props;\n const subFields = opt.f_obj.sub_fields || [];\n const newSub = new GenericSubField();\n subFields.map((e) => {\n if (e.type === 'text') return Object.assign(newSub, { [e.id]: '' });\n return Object.assign(newSub, { [e.id]: { value: '', value_system: e.value_system } });\n });\n opt.f_obj.sub_values = opt.f_obj.sub_values || [];\n opt.f_obj.sub_values.push(newSub);\n opt.onSubChange(0, 0, opt.f_obj, true);\n }\n\n render() {\n const { opt } = this.props;\n if (opt.isSearchCriteria) return (<div>(This is a table)</div>);\n if ((opt.f_obj.sub_fields || []).length < 1) return null;\n const columnDefs = this.getColumns();\n return (\n <div>\n {ColumnHeader(columnDefs)}\n <div>{NoRow(opt.f_obj.sub_values)}</div>\n <div>{(opt.f_obj.sub_values || []).map(s => ColumnRow(columnDefs, s))}</div>\n </div>\n );\n }\n}\n\nTableRecord.propTypes = {\n opt: PropTypes.object.isRequired,\n};\n"],"file":"TableRecord.js"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _reactBootstrap = require("react-bootstrap");
13
+
14
+ var _utils = require("../tools/utils");
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ /* eslint-disable react/forbid-prop-types */
19
+ var UConverterRenderer = function UConverterRenderer(props) {
20
+ var sField = props.sField,
21
+ onChange = props.onChange,
22
+ node = props.node;
23
+ if (sField.type !== 'system-defined') return null;
24
+ var data = node.data;
25
+ return /*#__PURE__*/_react.default.createElement(_reactBootstrap.Button, {
26
+ key: "ucr_".concat(data.id),
27
+ active: true,
28
+ onClick: function onClick() {
29
+ return onChange(sField, node);
30
+ },
31
+ bsStyle: "success"
32
+ }, (0, _utils.genUnitSup)((0, _utils.genUnit)(sField.option_layers, data[sField.id].value_system).label) || '');
33
+ };
34
+
35
+ UConverterRenderer.propTypes = {
36
+ sField: _propTypes.default.object.isRequired,
37
+ onChange: _propTypes.default.func.isRequired,
38
+ node: _propTypes.default.object.isRequired
39
+ };
40
+ var _default = UConverterRenderer;
41
+ exports.default = _default;
42
+ //# sourceMappingURL=UConverterRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/table/UConverterRenderer.js"],"names":["UConverterRenderer","props","sField","onChange","node","type","data","id","option_layers","value_system","label","propTypes","PropTypes","object","isRequired","func"],"mappings":";;;;;;;AACA;;AACA;;AACA;;AACA;;;;AAJA;AAMA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAqB,CAACC,KAAD,EAAW;AACpC,MAAQC,MAAR,GAAmCD,KAAnC,CAAQC,MAAR;AAAA,MAAgBC,QAAhB,GAAmCF,KAAnC,CAAgBE,QAAhB;AAAA,MAA0BC,IAA1B,GAAmCH,KAAnC,CAA0BG,IAA1B;AACA,MAAIF,MAAM,CAACG,IAAP,KAAgB,gBAApB,EAAsC,OAAO,IAAP;AACtC,MAAQC,IAAR,GAAiBF,IAAjB,CAAQE,IAAR;AACA,sBACE,6BAAC,sBAAD;AAAQ,IAAA,GAAG,gBAASA,IAAI,CAACC,EAAd,CAAX;AAA+B,IAAA,MAAM,MAArC;AAAsC,IAAA,OAAO,EAAE;AAAA,aAAMJ,QAAQ,CAACD,MAAD,EAASE,IAAT,CAAd;AAAA,KAA/C;AAA6E,IAAA,OAAO,EAAC;AAArF,KACG,uBAAW,oBAAQF,MAAM,CAACM,aAAf,EAA8BF,IAAI,CAACJ,MAAM,CAACK,EAAR,CAAJ,CAAgBE,YAA9C,EAA4DC,KAAvE,KAAiF,EADpF,CADF;AAKD,CATD;;AAWAV,kBAAkB,CAACW,SAAnB,GAA+B;AAC7BT,EAAAA,MAAM,EAAEU,mBAAUC,MAAV,CAAiBC,UADI;AAE7BX,EAAAA,QAAQ,EAAES,mBAAUG,IAAV,CAAeD,UAFI;AAG7BV,EAAAA,IAAI,EAAEQ,mBAAUC,MAAV,CAAiBC;AAHM,CAA/B;eAMed,kB","sourcesContent":["/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'react-bootstrap';\nimport { genUnit, genUnitSup } from '../tools/utils';\n\nconst UConverterRenderer = (props) => {\n const { sField, onChange, node } = props;\n if (sField.type !== 'system-defined') return null;\n const { data } = node;\n return (\n <Button key={`ucr_${data.id}`} active onClick={() => onChange(sField, node)} bsStyle=\"success\">\n {genUnitSup(genUnit(sField.option_layers, data[sField.id].value_system).label) || ''}\n </Button>\n );\n};\n\nUConverterRenderer.propTypes = {\n sField: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n node: PropTypes.object.isRequired\n};\n\nexport default UConverterRenderer;\n"],"file":"UConverterRenderer.js"}