chem-generic-ui 0.1.35 → 0.1.36

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/bundle.min.js +1 -0
  2. package/package.json +6 -2
  3. package/dist/app.js +0 -106
  4. package/dist/app.js.map +0 -1
  5. package/dist/asserts/main.css +0 -465
  6. package/dist/asserts/main.scss +0 -496
  7. package/dist/components/admin/ElementManager.js +0 -55
  8. package/dist/components/admin/ElementManager.js.map +0 -1
  9. package/dist/components/details/GenDSDetails.js +0 -274
  10. package/dist/components/details/GenDSDetails.js.map +0 -1
  11. package/dist/components/details/GenSgDetails.js +0 -567
  12. package/dist/components/details/GenSgDetails.js.map +0 -1
  13. package/dist/components/dnd/DragDropItemTypes.js +0 -21
  14. package/dist/components/dnd/DragDropItemTypes.js.map +0 -1
  15. package/dist/components/dnd/GenericElDropTarget.js +0 -275
  16. package/dist/components/dnd/GenericElDropTarget.js.map +0 -1
  17. package/dist/components/dnd/GridDnD.js +0 -78
  18. package/dist/components/dnd/GridDnD.js.map +0 -1
  19. package/dist/components/dnd/PanelDnD.js +0 -172
  20. package/dist/components/dnd/PanelDnD.js.map +0 -1
  21. package/dist/components/fields/ButtonConfirm.js +0 -77
  22. package/dist/components/fields/ButtonConfirm.js.map +0 -1
  23. package/dist/components/fields/ButtonTooltip.js +0 -89
  24. package/dist/components/fields/ButtonTooltip.js.map +0 -1
  25. package/dist/components/fields/FieldLabel.js +0 -39
  26. package/dist/components/fields/FieldLabel.js.map +0 -1
  27. package/dist/components/fields/GenDSMisType.js +0 -45
  28. package/dist/components/fields/GenDSMisType.js.map +0 -1
  29. package/dist/components/fields/GenFormGroupCb.js +0 -32
  30. package/dist/components/fields/GenFormGroupCb.js.map +0 -1
  31. package/dist/components/fields/GenProperties.js +0 -84
  32. package/dist/components/fields/GenProperties.js.map +0 -1
  33. package/dist/components/fields/GenPropertiesFields.js +0 -617
  34. package/dist/components/fields/GenPropertiesFields.js.map +0 -1
  35. package/dist/components/flow/FlowView.js +0 -89
  36. package/dist/components/flow/FlowView.js.map +0 -1
  37. package/dist/components/flow/FlowViewerModal.js +0 -82
  38. package/dist/components/flow/FlowViewerModal.js.map +0 -1
  39. package/dist/components/flow/LayerNode.js +0 -60
  40. package/dist/components/flow/LayerNode.js.map +0 -1
  41. package/dist/components/layers/GenPropertiesLayer.js +0 -281
  42. package/dist/components/layers/GenPropertiesLayer.js.map +0 -1
  43. package/dist/components/layers/LayerModal.js +0 -82
  44. package/dist/components/layers/LayerModal.js.map +0 -1
  45. package/dist/components/layers/LayersLayout.js +0 -89
  46. package/dist/components/layers/LayersLayout.js.map +0 -1
  47. package/dist/components/models/Attachment.js +0 -74
  48. package/dist/components/models/Attachment.js.map +0 -1
  49. package/dist/components/models/GenericSubField.js +0 -38
  50. package/dist/components/models/GenericSubField.js.map +0 -1
  51. package/dist/components/table/DropLinkRenderer.js +0 -56
  52. package/dist/components/table/DropLinkRenderer.js.map +0 -1
  53. package/dist/components/table/DropRenderer.js +0 -46
  54. package/dist/components/table/DropRenderer.js.map +0 -1
  55. package/dist/components/table/DropTextRenderer.js +0 -46
  56. package/dist/components/table/DropTextRenderer.js.map +0 -1
  57. package/dist/components/table/GenericElTableDropTarget.js +0 -253
  58. package/dist/components/table/GenericElTableDropTarget.js.map +0 -1
  59. package/dist/components/table/GridBtn.js +0 -103
  60. package/dist/components/table/GridBtn.js.map +0 -1
  61. package/dist/components/table/GridEntry.js +0 -164
  62. package/dist/components/table/GridEntry.js.map +0 -1
  63. package/dist/components/table/SamOption.js +0 -88
  64. package/dist/components/table/SamOption.js.map +0 -1
  65. package/dist/components/table/SelectRenderer.js +0 -53
  66. package/dist/components/table/SelectRenderer.js.map +0 -1
  67. package/dist/components/table/TableRecord.js +0 -455
  68. package/dist/components/table/TableRecord.js.map +0 -1
  69. package/dist/components/table/UConverterRenderer.js +0 -42
  70. package/dist/components/table/UConverterRenderer.js.map +0 -1
  71. package/dist/components/tools/collate.js +0 -104
  72. package/dist/components/tools/collate.js.map +0 -1
  73. package/dist/components/tools/orten.js +0 -295
  74. package/dist/components/tools/orten.js.map +0 -1
  75. package/dist/components/tools/utils.js +0 -594
  76. package/dist/components/tools/utils.js.map +0 -1
  77. package/dist/data/SystemUnits.js +0 -589
  78. package/dist/data/SystemUnits.js.map +0 -1
  79. package/dist/data/systemUnits.json +0 -430
  80. package/dist/index.css +0 -13
  81. package/dist/index.js +0 -40
  82. package/dist/index.js.map +0 -1
  83. package/dist/logo.svg +0 -1
  84. package/dist/simulations/SimWF.js +0 -124
  85. package/dist/simulations/SimWF.js.map +0 -1
  86. package/dist/simulations/SimuDS.js +0 -119
  87. package/dist/simulations/SimuDS.js.map +0 -1
  88. package/dist/simulations/SimuSG.js +0 -124
  89. package/dist/simulations/SimuSG.js.map +0 -1
@@ -1,567 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _react = _interopRequireWildcard(require("react"));
9
-
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
- var _lodash = require("lodash");
13
-
14
- var _reactBootstrap = require("react-bootstrap");
15
-
16
- var _LayersLayout = _interopRequireDefault(require("../layers/LayersLayout"));
17
-
18
- var _utils = require("../tools/utils");
19
-
20
- var _orten = require("../tools/orten");
21
-
22
- var _collate = _interopRequireDefault(require("../tools/collate"));
23
-
24
- var _LayerModal = _interopRequireDefault(require("../layers/LayerModal"));
25
-
26
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
-
28
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
-
30
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
-
32
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
33
-
34
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
35
-
36
- 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; }
37
-
38
- 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); }
39
-
40
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
41
-
42
- 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); } }
43
-
44
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
45
-
46
- 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); }
47
-
48
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
49
-
50
- 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); }; }
51
-
52
- 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); }
53
-
54
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
55
-
56
- 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; } }
57
-
58
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
59
-
60
- var SegmentDetails = /*#__PURE__*/function (_Component) {
61
- _inherits(SegmentDetails, _Component);
62
-
63
- var _super = _createSuper(SegmentDetails);
64
-
65
- function SegmentDetails(props) {
66
- var _this;
67
-
68
- _classCallCheck(this, SegmentDetails);
69
-
70
- _this = _super.call(this, props);
71
- _this.state = {
72
- showViewLayer: false,
73
- selectedLayerKey: ''
74
- };
75
- _this.handleInputChange = _this.handleInputChange.bind(_assertThisInitialized(_this));
76
- _this.handleSubChange = _this.handleSubChange.bind(_assertThisInitialized(_this));
77
- _this.handleUnitClick = _this.handleUnitClick.bind(_assertThisInitialized(_this));
78
- _this.handleReload = _this.handleReload.bind(_assertThisInitialized(_this));
79
- _this.handleAddLayer = _this.handleAddLayer.bind(_assertThisInitialized(_this));
80
- _this.setViewLayer = _this.setViewLayer.bind(_assertThisInitialized(_this));
81
- _this.dropLayer = _this.dropLayer.bind(_assertThisInitialized(_this));
82
- _this.removeLayer = _this.removeLayer.bind(_assertThisInitialized(_this));
83
- _this.handleWFNext = _this.handleWFNext.bind(_assertThisInitialized(_this));
84
- return _this;
85
- }
86
-
87
- _createClass(SegmentDetails, [{
88
- key: "setViewLayer",
89
- value: function setViewLayer() {
90
- this.setState({
91
- showViewLayer: !this.state.showViewLayer
92
- });
93
- }
94
- }, {
95
- key: "handleSubChange",
96
- value: function handleSubChange(layer, obj) {
97
- var valueOnly = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
98
- var segment = this.props.segment;
99
- var properties = segment.properties;
100
-
101
- if (!valueOnly) {
102
- var subFields = properties.layers["".concat(layer)].fields.find(function (m) {
103
- return m.field === obj.f.field;
104
- }).sub_fields || [];
105
- var idxSub = subFields.findIndex(function (m) {
106
- return m.id === obj.sub.id;
107
- });
108
- subFields.splice(idxSub, 1, obj.sub);
109
- properties.layers["".concat(layer)].fields.find(function (e) {
110
- return e.field === obj.f.field;
111
- }).sub_fields = subFields;
112
- }
113
-
114
- properties.layers["".concat(layer)].fields.find(function (e) {
115
- return e.field === obj.f.field;
116
- }).sub_values = obj.f.sub_values || [];
117
- segment.properties = properties;
118
- segment.changed = true;
119
- this.props.onChange(segment);
120
- }
121
- }, {
122
- key: "handleInputChange",
123
- value: function handleInputChange(event, field, layer) {
124
- var type = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'text';
125
- var segment = this.props.segment;
126
- var properties = segment.properties;
127
- var value = '';
128
- var propsChange = true;
129
-
130
- switch (type) {
131
- case 'drop-layer':
132
- this.dropLayer(field, layer);
133
- propsChange = false;
134
- break;
135
-
136
- case 'layer-remove':
137
- event.stopPropagation();
138
- this.removeLayer(field, layer);
139
- propsChange = false;
140
- break;
141
-
142
- case 'layer-modal':
143
- event.stopPropagation();
144
- propsChange = false;
145
- this.setState({
146
- selectedLayerKey: layer.key,
147
- showViewLayer: true
148
- });
149
- break;
150
-
151
- case 'wf-next':
152
- propsChange = false;
153
- this.handleWFNext(event, layer);
154
- break;
155
-
156
- case 'checkbox':
157
- value = event.target.checked;
158
- break;
159
-
160
- case 'formula-field':
161
- if (event.target) {
162
- value = event.target.value;
163
- } else {
164
- value = event;
165
- }
166
-
167
- break;
168
-
169
- case 'upload':
170
- {
171
- var vals = (0, _utils.uploadFiles)(properties, event, field, layer);
172
- value = vals[0];
173
- if (vals[1].length > 0) segment.files = (segment.files || []).concat(vals[1]);
174
-
175
- if (vals.length > 2) {
176
- var fileIdx = (0, _lodash.findIndex)(segment.files || [], function (o) {
177
- return o.uid === event.uid;
178
- });
179
-
180
- if (fileIdx >= 0 && segment.files && segment.files.length > 0) {
181
- segment.files.splice(fileIdx, 1);
182
- }
183
- }
184
-
185
- break;
186
- }
187
-
188
- case 'select':
189
- value = event ? event.value : null;
190
- break;
191
-
192
- case 'drag_molecule':
193
- value = event;
194
- break;
195
-
196
- case 'integer':
197
- value = event.target.value;
198
- value = Math.trunc(value);
199
- break;
200
-
201
- default:
202
- value = event.target.value;
203
- }
204
-
205
- if (propsChange) {
206
- properties.layers["".concat(layer)].fields.find(function (e) {
207
- return e.field === field;
208
- }).value = value;
209
-
210
- if (type === 'system-defined' && (!properties.layers["".concat(layer)].fields.find(function (e) {
211
- return e.field === field;
212
- }).value_system || properties.layers["".concat(layer)].fields.find(function (e) {
213
- return e.field === field;
214
- }).value_system === '')) {
215
- var opt = properties.layers["".concat(layer)].fields.find(function (e) {
216
- return e.field === field;
217
- }).option_layers;
218
- properties.layers["".concat(layer)].fields.find(function (e) {
219
- return e.field === field;
220
- }).value_system = (0, _utils.genUnits)(opt)[0].key;
221
- }
222
-
223
- segment.properties = properties;
224
- segment.changed = true;
225
- this.props.onChange(segment);
226
- }
227
- }
228
- }, {
229
- key: "handleUnitClick",
230
- value: function handleUnitClick(layer, obj) {
231
- var segment = this.props.segment;
232
- var properties = segment.properties;
233
- var newVal = (0, _utils.unitConversion)(obj.option_layers, obj.value_system, obj.value);
234
- properties.layers["".concat(layer)].fields.find(function (e) {
235
- return e.field === obj.field;
236
- }).value_system = obj.value_system;
237
- properties.layers["".concat(layer)].fields.find(function (e) {
238
- return e.field === obj.field;
239
- }).value = newVal;
240
- segment.properties = properties;
241
- segment.changed = true;
242
- this.props.onChange(segment);
243
- }
244
- }, {
245
- key: "handleReload",
246
- value: function handleReload() {
247
- var _this$props = this.props,
248
- klass = _this$props.klass,
249
- segment = _this$props.segment;
250
- var newProps = (0, _lodash.cloneDeep)(klass.properties_release);
251
- newProps.klass_uuid = klass.uuid;
252
- Object.keys(newProps.layers).forEach(function (key) {
253
- var newLayer = newProps.layers[key] || {};
254
- var curFields = segment.properties.layers[key] && segment.properties.layers[key].fields || [];
255
- (newLayer.fields || []).forEach(function (f, idx) {
256
- var curIdx = (0, _lodash.findIndex)(curFields, function (o) {
257
- return o.field === f.field;
258
- });
259
-
260
- if (curIdx >= 0) {
261
- var curVal = segment.properties.layers[key].fields[curIdx].value;
262
-
263
- var curType = _typeof(curVal);
264
-
265
- if (['select', 'text', 'textarea', 'formula-field'].includes(newProps.layers[key].fields[idx].type)) {
266
- newProps.layers[key].fields[idx].value = curType !== 'undefined' ? curVal.toString() : '';
267
- }
268
-
269
- if (newProps.layers[key].fields[idx].type === 'integer') {
270
- newProps.layers[key].fields[idx].value = curType === 'undefined' || curType === 'boolean' || isNaN(curVal) ? 0 : parseInt(curVal, 10);
271
- }
272
-
273
- if (newProps.layers[key].fields[idx].type === 'checkbox') {
274
- newProps.layers[key].fields[idx].value = curType !== 'undefined' ? (0, _utils.toBool)(curVal) : false;
275
- }
276
-
277
- if (newProps.layers[key].fields[idx].type === 'system-defined') {
278
- var units = (0, _utils.genUnits)(newProps.layers[key].fields[idx].option_layers);
279
- var vs = units.find(function (u) {
280
- return u.key === segment.properties.layers[key].fields[curIdx].value_system;
281
- });
282
- newProps.layers[key].fields[idx].value_system = vs && vs.key || units[0].key;
283
- newProps.layers[key].fields[idx].value = (0, _utils.toNum)(curVal);
284
- }
285
-
286
- if (newProps.layers[key].fields[idx].type === 'input-group') {
287
- if (segment.properties.layers[key].fields[curIdx].type !== newProps.layers[key].fields[idx].type) {
288
- newProps.layers[key].fields[idx].value = undefined;
289
- } else {
290
- var nSubs = newProps.layers[key].fields[idx].sub_fields || [];
291
- var cSubs = segment.properties.layers[key].fields[curIdx].sub_fields || [];
292
- var exSubs = [];
293
-
294
- if (nSubs.length < 1) {
295
- newProps.layers[key].fields[idx].value = undefined;
296
- } else {
297
- nSubs.forEach(function (nSub) {
298
- var hitSub = cSubs.find(function (c) {
299
- return c.id === nSub.id;
300
- }) || {};
301
-
302
- if (nSub.type === 'label') {
303
- exSubs.push(nSub);
304
- }
305
-
306
- if (nSub.type === 'text') {
307
- if (hitSub.type === 'label') {
308
- exSubs.push(nSub);
309
- } else {
310
- exSubs.push(_objectSpread(_objectSpread({}, nSub), {}, {
311
- value: (hitSub.value || '').toString()
312
- }));
313
- }
314
- }
315
-
316
- if (['number', 'system-defined'].includes(nSub.type)) {
317
- var nvl = typeof hitSub.value === 'undefined' || hitSub.value == null || hitSub.value.length === 0 ? '' : (0, _utils.toNum)(hitSub.value);
318
-
319
- if (nSub.option_layers === hitSub.option_layers) {
320
- exSubs.push(_objectSpread(_objectSpread({}, nSub), {}, {
321
- value: nvl,
322
- value_system: hitSub.value_system
323
- }));
324
- } else {
325
- exSubs.push(_objectSpread(_objectSpread({}, nSub), {}, {
326
- value: nvl
327
- }));
328
- }
329
- }
330
- });
331
- }
332
-
333
- newProps.layers[key].fields[idx].sub_fields = exSubs;
334
- }
335
- }
336
-
337
- if (newProps.layers[key].fields[idx].type === 'upload') {
338
- if (segment.properties.layers[key].fields[curIdx].type === newProps.layers[key].fields[idx].type) {
339
- newProps.layers[key].fields[idx].value = segment.properties.layers[key].fields[curIdx].value;
340
- } else {
341
- newProps.layers[key].fields[idx].value = {};
342
- }
343
- }
344
-
345
- if (newProps.layers[key].fields[idx].type === 'table') {
346
- if (segment.properties.layers[key].fields[curIdx].type !== newProps.layers[key].fields[idx].type) {
347
- newProps.layers[key].fields[idx].sub_values = [];
348
- } else {
349
- newProps.layers[key].fields[idx].sub_values = (0, _collate.default)(newProps.layers[key].fields[idx], segment.properties.layers[key].fields[curIdx]);
350
- }
351
- }
352
- }
353
- });
354
- });
355
- segment.properties = newProps;
356
- segment.changed = true;
357
- this.props.onChange(segment);
358
- }
359
- }, {
360
- key: "handleAddLayer",
361
- value: function handleAddLayer(event, _layer) {
362
- var segment = this.props.segment;
363
- var selectedLayerKey = this.state.selectedLayerKey;
364
- var layer = _layer;
365
- var layers = segment.properties.layers;
366
- var sortedLayers = (0, _lodash.sortBy)(layers, ['position', 'wf_position']);
367
- var idx = sortedLayers.findIndex(function (e) {
368
- return e.key === selectedLayerKey;
369
- }); // re-set added layer attributes
370
-
371
- var selectedLayer = sortedLayers[idx];
372
- layer.position = selectedLayer.position;
373
- layer.wf_position = selectedLayer.wf_position + 1;
374
- layer.wf = false;
375
- layer.wf_uuid = null; // layer is standard layer (from released)
376
-
377
- var cnt = sortedLayers.filter(function (e) {
378
- return e.key === layer.key || e.key.startsWith("".concat(layer.key, "."));
379
- }).length;
380
-
381
- if (cnt > 0) {
382
- var origKey = layer.key;
383
- layer.key = "".concat(layer.key, ".").concat(cnt);
384
- layer.fields = (0, _orten.reformCondFields)(layer, origKey);
385
- } // insert new layer
386
-
387
-
388
- sortedLayers.splice(idx + 1, 0, layer); // re-count wf_position
389
-
390
- sortedLayers.filter(function (e) {
391
- return e.position === selectedLayer.position;
392
- }).map(function (e, ix) {
393
- var el = e;
394
- el.wf_position = ix;
395
- return el;
396
- });
397
- var ll = (0, _orten.orgLayerObject)(sortedLayers);
398
- segment.properties.layers = ll;
399
- this.setState({
400
- selectedLayerKey: layer.key,
401
- showViewLayer: false
402
- }, this.props.onChange(segment));
403
- }
404
- }, {
405
- key: "dropLayer",
406
- value: function dropLayer(_source, _target) {
407
- var segment = this.props.segment;
408
- var layers = segment.properties.layers;
409
- var sortedLayers = (0, _lodash.sortBy)(layers, ['position', 'wf_position']); // swap or move
410
-
411
- var srcIdx = sortedLayers.findIndex(function (e) {
412
- return e.key === _source;
413
- });
414
- var tmpSrc = sortedLayers[srcIdx];
415
- var tarIdx = sortedLayers.findIndex(function (e) {
416
- return e.key === _target;
417
- });
418
-
419
- if (Math.abs(srcIdx - tarIdx) === 1) {
420
- sortedLayers = (0, _utils.swapAryEls)(sortedLayers, srcIdx, tarIdx);
421
- } else {
422
- // delete src
423
- sortedLayers.splice(srcIdx, 1); // keep tar
424
-
425
- tarIdx = sortedLayers.findIndex(function (e) {
426
- return e.key === _target;
427
- });
428
- var tmpTar = sortedLayers[tarIdx]; // prepare new layer
429
-
430
- tmpSrc.position = tmpTar.position;
431
- tmpSrc.wf_position = (tmpTar.wf_position || 0) + 1; // insert new layer
432
-
433
- sortedLayers.splice(tarIdx + 1, 0, tmpSrc);
434
- } // re-count wf_position
435
-
436
-
437
- sortedLayers.filter(function (e) {
438
- return e.position === tmpSrc.position;
439
- }).map(function (e, idx) {
440
- var el = e;
441
- el.wf_position = idx;
442
- return el;
443
- });
444
- var ll = (0, _orten.orgLayerObject)(sortedLayers);
445
- segment.properties.layers = ll;
446
- segment.changed = true;
447
- this.props.onChange(segment);
448
- }
449
- }, {
450
- key: "removeLayer",
451
- value: function removeLayer(elId, layer) {
452
- var segment = this.props.segment;
453
- var layers = segment.properties.layers;
454
- var sortedLayers = (0, _lodash.sortBy)(layers, ['position', 'wf_position']);
455
- var selectedIdx = sortedLayers.findIndex(function (e) {
456
- return e.key === layer.key;
457
- });
458
- var selected = sortedLayers[selectedIdx];
459
- sortedLayers.splice(selectedIdx, 1);
460
- sortedLayers.filter(function (e) {
461
- return e.position === selected.position;
462
- }).map(function (e, idx) {
463
- var el = e;
464
- el.wf_position = idx;
465
- return el;
466
- });
467
- segment.properties.layers = (0, _orten.orgLayerObject)(sortedLayers);
468
- segment.changed = true;
469
- this.props.onChange(segment);
470
- }
471
- }, {
472
- key: "handleWFNext",
473
- value: function handleWFNext(event, layer) {
474
- var value = event ? event.value : null;
475
-
476
- if (value) {
477
- var segment = this.props.segment;
478
- var properties = segment.properties,
479
- properties_release = segment.properties_release; // next step value if exists
480
-
481
- var rmNeeded = false;
482
- var preValue = properties.layers["".concat(layer)].fields.find(function (e) {
483
- return e.field === '_wf_next';
484
- }).value;
485
-
486
- if (value !== preValue) {
487
- if (preValue && preValue !== '' && preValue !== value) {
488
- rmNeeded = true;
489
- }
490
-
491
- var flow = properties_release.flow;
492
- var preLayer = properties.layers["".concat(layer)]; // value is the next node's id
493
-
494
- var nxLayer = (0, _orten.getFlowLayer)(flow, value, layer, preLayer.wf_position);
495
-
496
- if (nxLayer) {
497
- properties.layers = (0, _orten.addToObject)(properties.layers, layer, nxLayer);
498
- }
499
-
500
- if (rmNeeded) {
501
- properties.layers = (0, _orten.removeFromObject)(properties.layers, layer, (0, _orten.getWFNode)(flow, preValue));
502
- } // update next step value
503
-
504
-
505
- properties.layers["".concat(layer)].fields.find(function (e) {
506
- return e.field === '_wf_next';
507
- }).value = value;
508
- segment.properties = properties;
509
- segment.changed = true; // this.props.onChange(segment, () => renderFlowModal(segment, false));
510
-
511
- this.props.onChange(segment); // cb move to e.g. SampleDetails.js
512
- }
513
- }
514
- }
515
- }, {
516
- key: "elementalPropertiesItem",
517
- value: function elementalPropertiesItem(segment) {
518
- var layersLayout = (0, _LayersLayout.default)(segment.properties.layers, segment.properties_release.select_options || {}, this.handleInputChange, this.handleSubChange, this.handleUnitClick, [], 0, false, true);
519
- return /*#__PURE__*/_react.default.createElement("div", {
520
- style: {
521
- margin: '5px'
522
- }
523
- }, layersLayout);
524
- }
525
- }, {
526
- key: "render",
527
- value: function render() {
528
- var _this$props2 = this.props,
529
- uiCtrl = _this$props2.uiCtrl,
530
- segment = _this$props2.segment;
531
- if (!uiCtrl || Object.keys(segment).length === 0) return null;
532
- var showViewLayer = this.state.showViewLayer;
533
-
534
- var addLayerModal = /*#__PURE__*/_react.default.createElement(_LayerModal.default, {
535
- show: showViewLayer,
536
- layers: (0, _lodash.cloneDeep)(segment.properties_release.layers) || {},
537
- fnClose: this.setViewLayer,
538
- fnAdd: this.handleAddLayer
539
- });
540
-
541
- return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Panel, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Panel.Body, {
542
- style: {
543
- position: 'relative',
544
- minHeight: 260,
545
- overflowY: 'unset'
546
- }
547
- }, this.elementalPropertiesItem(segment))), addLayerModal);
548
- }
549
- }]);
550
-
551
- return SegmentDetails;
552
- }(_react.Component);
553
-
554
- SegmentDetails.propTypes = {
555
- uiCtrl: _propTypes.default.bool.isRequired,
556
- segment: _propTypes.default.object,
557
- klass: _propTypes.default.object,
558
- onChange: _propTypes.default.func.isRequired
559
- };
560
- SegmentDetails.defaultProps = {
561
- segment: {},
562
- klass: {}
563
- }; // export default DragDropContext(HTML5Backend)(SegmentDetails);
564
-
565
- var _default = SegmentDetails;
566
- exports.default = _default;
567
- //# sourceMappingURL=GenSgDetails.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/details/GenSgDetails.js"],"names":["SegmentDetails","props","state","showViewLayer","selectedLayerKey","handleInputChange","bind","handleSubChange","handleUnitClick","handleReload","handleAddLayer","setViewLayer","dropLayer","removeLayer","handleWFNext","setState","layer","obj","valueOnly","segment","properties","subFields","layers","fields","find","m","field","f","sub_fields","idxSub","findIndex","id","sub","splice","e","sub_values","changed","onChange","event","type","value","propsChange","stopPropagation","key","target","checked","vals","length","files","concat","fileIdx","o","uid","Math","trunc","value_system","opt","option_layers","newVal","klass","newProps","properties_release","klass_uuid","uuid","Object","keys","forEach","newLayer","curFields","idx","curIdx","curVal","curType","includes","toString","isNaN","parseInt","units","vs","u","undefined","nSubs","cSubs","exSubs","nSub","hitSub","c","push","nvl","_layer","sortedLayers","selectedLayer","position","wf_position","wf","wf_uuid","cnt","filter","startsWith","origKey","map","ix","el","ll","_source","_target","srcIdx","tmpSrc","tarIdx","abs","tmpTar","elId","selectedIdx","selected","rmNeeded","preValue","flow","preLayer","nxLayer","layersLayout","select_options","margin","uiCtrl","addLayerModal","minHeight","overflowY","elementalPropertiesItem","Component","propTypes","PropTypes","bool","isRequired","object","func","defaultProps"],"mappings":"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","sourcesContent":["/* eslint-disable no-restricted-globals */\n/* eslint-disable camelcase */\n/* eslint-disable react/forbid-prop-types */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { findIndex, cloneDeep, sortBy } from 'lodash';\nimport { Panel } from 'react-bootstrap';\n// import { DragDropContext } from 'react-dnd';\n// import HTML5Backend from 'react-dnd-html5-backend';\nimport LayersLayout from '../layers/LayersLayout';\nimport { genUnits, toBool, toNum, swapAryEls, unitConversion, uploadFiles } from '../tools/utils';\nimport { getWFNode, orgLayerObject, getFlowLayer, addToObject, removeFromObject, reformCondFields } from '../tools/orten';\nimport organizeSubValues from '../tools/collate';\nimport LayerModal from '../layers/LayerModal';\n\nclass SegmentDetails extends Component {\n constructor(props) {\n super(props);\n this.state = { showViewLayer: false, selectedLayerKey: '' };\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleSubChange = this.handleSubChange.bind(this);\n this.handleUnitClick = this.handleUnitClick.bind(this);\n this.handleReload = this.handleReload.bind(this);\n this.handleAddLayer = this.handleAddLayer.bind(this);\n this.setViewLayer = this.setViewLayer.bind(this);\n this.dropLayer = this.dropLayer.bind(this);\n this.removeLayer = this.removeLayer.bind(this);\n this.handleWFNext = this.handleWFNext.bind(this);\n }\n\n setViewLayer() {\n this.setState({ showViewLayer: !this.state.showViewLayer });\n }\n\n handleSubChange(layer, obj, valueOnly = false) {\n const { segment } = this.props;\n const { properties } = segment;\n if (!valueOnly) {\n const subFields = properties.layers[`${layer}`].fields\n .find(m => m.field === obj.f.field).sub_fields || [];\n const idxSub = subFields.findIndex(m => m.id === obj.sub.id);\n subFields.splice(idxSub, 1, obj.sub);\n properties.layers[`${layer}`].fields\n .find(e => e.field === obj.f.field).sub_fields = subFields;\n }\n properties.layers[`${layer}`].fields\n .find(e => e.field === obj.f.field).sub_values = obj.f.sub_values || [];\n segment.properties = properties;\n segment.changed = true;\n this.props.onChange(segment);\n }\n\n handleInputChange(event, field, layer, type = 'text') {\n const { segment } = this.props;\n const { properties } = segment;\n let value = '';\n let propsChange = true;\n switch (type) {\n case 'drop-layer':\n this.dropLayer(field, layer);\n propsChange = false;\n break;\n case 'layer-remove':\n event.stopPropagation();\n this.removeLayer(field, layer);\n propsChange = false;\n break;\n case 'layer-modal':\n event.stopPropagation();\n propsChange = false;\n this.setState({ selectedLayerKey: layer.key, showViewLayer: true });\n break;\n case 'wf-next':\n propsChange = false;\n this.handleWFNext(event, layer);\n break;\n case 'checkbox':\n value = event.target.checked;\n break;\n case 'formula-field':\n if (event.target) {\n ({ value } = event.target);\n } else {\n value = event;\n }\n break;\n case 'upload': {\n const vals = uploadFiles(properties, event, field, layer);\n value = vals[0];\n if (vals[1].length > 0) segment.files = (segment.files || []).concat(vals[1]);\n if (vals.length > 2) {\n const fileIdx = findIndex((segment.files || []), o => o.uid === event.uid);\n if (fileIdx >= 0 && segment.files && segment.files.length > 0) {\n segment.files.splice(fileIdx, 1);\n }\n }\n break;\n }\n case 'select':\n value = event ? event.value : null;\n break;\n case 'drag_molecule':\n value = event;\n break;\n case 'integer':\n ({ value } = event.target);\n value = Math.trunc(value);\n break;\n default:\n ({ value } = event.target);\n }\n if (propsChange) {\n properties.layers[`${layer}`].fields.find(e => e.field === field).value = value;\n if (type === 'system-defined' && (!properties.layers[`${layer}`].fields.find(e => e.field === field).value_system || properties.layers[`${layer}`].fields.find(e => e.field === field).value_system === '')) {\n const opt = properties.layers[`${layer}`].fields\n .find(e => e.field === field).option_layers;\n properties.layers[`${layer}`].fields\n .find(e => e.field === field).value_system = genUnits(opt)[0].key;\n }\n segment.properties = properties;\n segment.changed = true;\n this.props.onChange(segment);\n }\n }\n\n handleUnitClick(layer, obj) {\n const { segment } = this.props;\n const { properties } = segment;\n const newVal = unitConversion(obj.option_layers, obj.value_system, obj.value);\n properties.layers[`${layer}`].fields\n .find(e => e.field === obj.field).value_system = obj.value_system;\n properties.layers[`${layer}`].fields.find(e => e.field === obj.field).value = newVal;\n segment.properties = properties;\n segment.changed = true;\n this.props.onChange(segment);\n }\n\n handleReload() {\n const { klass, segment } = this.props;\n const newProps = cloneDeep(klass.properties_release);\n newProps.klass_uuid = klass.uuid;\n Object.keys(newProps.layers).forEach((key) => {\n const newLayer = newProps.layers[key] || {};\n const curFields = (segment.properties.layers[key] && segment.properties.layers[key].fields)\n || [];\n (newLayer.fields || []).forEach((f, idx) => {\n const curIdx = findIndex(curFields, o => o.field === f.field);\n if (curIdx >= 0) {\n const curVal = segment.properties.layers[key].fields[curIdx].value;\n const curType = typeof curVal;\n if (['select', 'text', 'textarea', 'formula-field'].includes(newProps.layers[key].fields[idx].type)) {\n newProps.layers[key].fields[idx].value = curType !== 'undefined' ? curVal.toString() : '';\n }\n if (newProps.layers[key].fields[idx].type === 'integer') {\n newProps.layers[key].fields[idx].value = (curType === 'undefined' || curType === 'boolean' || isNaN(curVal)) ? 0 : parseInt(curVal, 10);\n }\n if (newProps.layers[key].fields[idx].type === 'checkbox') {\n newProps.layers[key].fields[idx].value = curType !== 'undefined' ? toBool(curVal) : false;\n }\n if (newProps.layers[key].fields[idx].type === 'system-defined') {\n const units = genUnits(newProps.layers[key].fields[idx].option_layers);\n const vs = units.find(u =>\n u.key === segment.properties.layers[key].fields[curIdx].value_system);\n newProps.layers[key].fields[idx].value_system = (vs && vs.key) || units[0].key;\n newProps.layers[key].fields[idx].value = toNum(curVal);\n }\n if (newProps.layers[key].fields[idx].type === 'input-group') {\n if (segment.properties.layers[key].fields[curIdx].type !==\n newProps.layers[key].fields[idx].type) {\n newProps.layers[key].fields[idx].value = undefined;\n } else {\n const nSubs = newProps.layers[key].fields[idx].sub_fields || [];\n const cSubs = segment.properties.layers[key].fields[curIdx].sub_fields || [];\n const exSubs = [];\n if (nSubs.length < 1) {\n newProps.layers[key].fields[idx].value = undefined;\n } else {\n nSubs.forEach((nSub) => {\n const hitSub = cSubs.find(c => c.id === nSub.id) || {};\n if (nSub.type === 'label') { exSubs.push(nSub); }\n if (nSub.type === 'text') {\n if (hitSub.type === 'label') {\n exSubs.push(nSub);\n } else { exSubs.push({ ...nSub, value: (hitSub.value || '').toString() }); }\n }\n\n if (['number', 'system-defined'].includes(nSub.type)) {\n const nvl = (typeof hitSub.value === 'undefined' || hitSub.value == null || hitSub.value.length === 0) ? '' : toNum(hitSub.value);\n if (nSub.option_layers === hitSub.option_layers) {\n exSubs.push({ ...nSub, value: nvl, value_system: hitSub.value_system });\n } else {\n exSubs.push({ ...nSub, value: nvl });\n }\n }\n });\n }\n newProps.layers[key].fields[idx].sub_fields = exSubs;\n }\n }\n if (newProps.layers[key].fields[idx].type === 'upload') {\n if (segment.properties.layers[key].fields[curIdx].type ===\n newProps.layers[key].fields[idx].type) {\n newProps.layers[key].fields[idx].value =\n segment.properties.layers[key].fields[curIdx].value;\n } else {\n newProps.layers[key].fields[idx].value = {};\n }\n }\n if (newProps.layers[key].fields[idx].type === 'table') {\n if (segment.properties.layers[key].fields[curIdx].type !==\n newProps.layers[key].fields[idx].type) {\n newProps.layers[key].fields[idx].sub_values = [];\n } else {\n newProps.layers[key].fields[idx].sub_values =\n organizeSubValues(\n newProps.layers[key].fields[idx],\n segment.properties.layers[key].fields[curIdx]\n );\n }\n }\n }\n });\n });\n segment.properties = newProps;\n segment.changed = true;\n this.props.onChange(segment);\n }\n\n handleAddLayer(event, _layer) {\n const { segment } = this.props;\n const { selectedLayerKey } = this.state;\n const layer = _layer;\n const { layers } = segment.properties;\n const sortedLayers = sortBy(layers, ['position', 'wf_position']);\n const idx = sortedLayers.findIndex(e => e.key === selectedLayerKey);\n // re-set added layer attributes\n const selectedLayer = sortedLayers[idx];\n layer.position = selectedLayer.position;\n layer.wf_position = selectedLayer.wf_position + 1;\n layer.wf = false;\n layer.wf_uuid = null;\n // layer is standard layer (from released)\n const cnt = sortedLayers\n .filter(e => e.key === layer.key || e.key.startsWith(`${layer.key}.`)).length;\n if (cnt > 0) {\n const origKey = layer.key;\n layer.key = `${layer.key}.${cnt}`;\n layer.fields = reformCondFields(layer, origKey);\n }\n // insert new layer\n sortedLayers.splice(idx + 1, 0, layer);\n // re-count wf_position\n sortedLayers.filter(e => e.position === selectedLayer.position).map((e, ix) => {\n const el = e;\n el.wf_position = ix;\n return el;\n });\n const ll = orgLayerObject(sortedLayers);\n segment.properties.layers = ll;\n this.setState(\n { selectedLayerKey: layer.key, showViewLayer: false },\n this.props.onChange(segment)\n );\n }\n\n dropLayer(_source, _target) {\n const { segment } = this.props;\n const { layers } = segment.properties;\n let sortedLayers = sortBy(layers, ['position', 'wf_position']);\n // swap or move\n const srcIdx = sortedLayers.findIndex(e => e.key === _source);\n const tmpSrc = sortedLayers[srcIdx];\n let tarIdx = sortedLayers.findIndex(e => e.key === _target);\n if (Math.abs(srcIdx - tarIdx) === 1) {\n sortedLayers = swapAryEls(sortedLayers, srcIdx, tarIdx);\n } else {\n // delete src\n sortedLayers.splice(srcIdx, 1);\n // keep tar\n tarIdx = sortedLayers.findIndex(e => e.key === _target);\n const tmpTar = sortedLayers[tarIdx];\n // prepare new layer\n tmpSrc.position = tmpTar.position;\n tmpSrc.wf_position = (tmpTar.wf_position || 0) + 1;\n // insert new layer\n sortedLayers.splice(tarIdx + 1, 0, tmpSrc);\n }\n // re-count wf_position\n sortedLayers.filter(e => e.position === tmpSrc.position).map((e, idx) => {\n const el = e;\n el.wf_position = idx;\n return el;\n });\n const ll = orgLayerObject(sortedLayers);\n segment.properties.layers = ll;\n segment.changed = true;\n this.props.onChange(segment);\n }\n\n removeLayer(elId, layer) {\n const { segment } = this.props;\n const { layers } = segment.properties;\n const sortedLayers = sortBy(layers, ['position', 'wf_position']);\n const selectedIdx = sortedLayers.findIndex(e => e.key === layer.key);\n const selected = sortedLayers[selectedIdx];\n sortedLayers.splice(selectedIdx, 1);\n sortedLayers.filter(e => e.position === selected.position).map((e, idx) => {\n const el = e;\n el.wf_position = idx;\n return el;\n });\n segment.properties.layers = orgLayerObject(sortedLayers);\n segment.changed = true;\n this.props.onChange(segment);\n }\n\n handleWFNext(event, layer) {\n const value = event ? event.value : null;\n if (value) {\n const { segment } = this.props;\n const { properties, properties_release } = segment;\n // next step value if exists\n let rmNeeded = false;\n const preValue = properties.layers[`${layer}`].fields.find(e => e.field === '_wf_next').value;\n if (value !== preValue) {\n if (preValue && preValue !== '' && preValue !== value) {\n rmNeeded = true;\n }\n const { flow } = properties_release;\n const preLayer = properties.layers[`${layer}`];\n // value is the next node's id\n const nxLayer = getFlowLayer(flow, value, layer, preLayer.wf_position);\n if (nxLayer) {\n properties.layers = addToObject(properties.layers, layer, nxLayer);\n }\n if (rmNeeded) {\n properties.layers = removeFromObject(properties.layers, layer, getWFNode(flow, preValue));\n }\n // update next step value\n properties.layers[`${layer}`].fields.find(e => e.field === '_wf_next').value = value;\n segment.properties = properties;\n segment.changed = true;\n // this.props.onChange(segment, () => renderFlowModal(segment, false));\n this.props.onChange(segment); // cb move to e.g. SampleDetails.js\n }\n }\n }\n\n elementalPropertiesItem(segment) {\n const layersLayout = LayersLayout(\n segment.properties.layers,\n segment.properties_release.select_options || {},\n this.handleInputChange,\n this.handleSubChange,\n this.handleUnitClick,\n [], 0, false, true\n );\n return (<div style={{ margin: '5px' }}>{layersLayout}</div>);\n }\n\n render() {\n const { uiCtrl, segment } = this.props;\n if (!uiCtrl || Object.keys(segment).length === 0) return null;\n const { showViewLayer } = this.state;\n const addLayerModal = (\n <LayerModal\n show={showViewLayer}\n layers={cloneDeep(segment.properties_release.layers) || {}}\n fnClose={this.setViewLayer}\n fnAdd={this.handleAddLayer}\n />\n );\n return (\n <div>\n <Panel>\n <Panel.Body style={{ position: 'relative', minHeight: 260, overflowY: 'unset' }}>\n {this.elementalPropertiesItem(segment)}\n </Panel.Body>\n </Panel>\n {addLayerModal}\n </div>\n );\n }\n}\n\nSegmentDetails.propTypes = {\n uiCtrl: PropTypes.bool.isRequired,\n segment: PropTypes.object,\n klass: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n};\n\nSegmentDetails.defaultProps = { segment: {}, klass: {} };\n\n// export default DragDropContext(HTML5Backend)(SegmentDetails);\nexport default SegmentDetails;\n"],"file":"GenSgDetails.js"}