chem-generic-ui 0.1.35 → 0.1.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.babelrc +11 -0
- package/.eslintrc +23 -0
- package/.tool-versions +3 -0
- package/package.json +45 -34
- package/public/ds_details.json +57 -0
- package/public/ds_klass.json +102 -0
- package/public/ds_props.json +54 -0
- package/public/favicon.ico +0 -0
- package/public/images/not_available.svg +1 -0
- package/public/index.html +47 -0
- package/public/logo192.png +0 -0
- package/public/logo512.png +0 -0
- package/public/manifest.json +25 -0
- package/public/robots.txt +3 -0
- package/public/sg_details.json +2036 -0
- package/public/sg_klass.json +850 -0
- package/public/test/ds_props.json +54 -0
- package/{dist/data/systemUnits.json → public/units_system.json} +0 -0
- package/src/app.js +50 -0
- package/{dist → src}/asserts/main.css +0 -7
- package/{dist → src}/asserts/main.scss +1 -7
- package/src/components/admin/ElementManager.js +28 -0
- package/src/components/details/GenDSDetails.js +164 -0
- package/src/components/details/GenSgDetails.js +396 -0
- package/{dist → src}/components/dnd/DragDropItemTypes.js +1 -9
- package/src/components/dnd/GenericElDropTarget.js +160 -0
- package/src/components/dnd/GridDnD.js +42 -0
- package/src/components/dnd/PanelDnD.js +85 -0
- package/src/components/fields/ButtonConfirm.js +45 -0
- package/src/components/fields/ButtonTooltip.js +46 -0
- package/src/components/fields/FieldLabel.js +18 -0
- package/src/components/fields/GenDSMisType.js +20 -0
- package/src/components/fields/GenFormGroupCb.js +17 -0
- package/src/components/fields/GenProperties.js +56 -0
- package/src/components/fields/GenPropertiesFields.js +318 -0
- package/src/components/layers/GenPropertiesLayer.js +176 -0
- package/src/components/layers/LayerModal.js +52 -0
- package/src/components/layers/LayersLayout.js +68 -0
- package/src/components/models/Attachment.js +37 -0
- package/src/components/models/GenericSubField.js +10 -0
- package/src/components/table/DropLinkRenderer.js +35 -0
- package/src/components/table/DropRenderer.js +31 -0
- package/src/components/table/DropTextRenderer.js +25 -0
- package/src/components/table/GenericElTableDropTarget.js +131 -0
- package/src/components/table/GridBtn.js +41 -0
- package/src/components/table/GridEntry.js +75 -0
- package/src/components/table/SamOption.js +53 -0
- package/src/components/table/SelectRenderer.js +34 -0
- package/src/components/table/TableRecord.js +254 -0
- package/src/components/table/UConverterRenderer.js +24 -0
- package/src/components/tools/collate.js +65 -0
- package/src/components/tools/orten.js +171 -0
- package/src/components/tools/utils.js +414 -0
- package/src/data/SystemUnits.js +434 -0
- package/src/data/systemUnits.json +430 -0
- package/{dist → src}/index.css +0 -0
- package/src/index.html +1 -0
- package/src/index.js +45 -0
- package/{dist → src}/logo.svg +0 -0
- package/src/simulations/SimuDS.js +52 -0
- package/src/simulations/SimuSG.js +54 -0
- package/webpack.config.js +52 -0
- package/dist/app.js +0 -106
- package/dist/app.js.map +0 -1
- package/dist/components/admin/ElementManager.js +0 -55
- package/dist/components/admin/ElementManager.js.map +0 -1
- package/dist/components/details/GenDSDetails.js +0 -274
- package/dist/components/details/GenDSDetails.js.map +0 -1
- package/dist/components/details/GenSgDetails.js +0 -567
- package/dist/components/details/GenSgDetails.js.map +0 -1
- package/dist/components/dnd/DragDropItemTypes.js.map +0 -1
- package/dist/components/dnd/GenericElDropTarget.js +0 -275
- package/dist/components/dnd/GenericElDropTarget.js.map +0 -1
- package/dist/components/dnd/GridDnD.js +0 -78
- package/dist/components/dnd/GridDnD.js.map +0 -1
- package/dist/components/dnd/PanelDnD.js +0 -172
- package/dist/components/dnd/PanelDnD.js.map +0 -1
- package/dist/components/fields/ButtonConfirm.js +0 -77
- package/dist/components/fields/ButtonConfirm.js.map +0 -1
- package/dist/components/fields/ButtonTooltip.js +0 -89
- package/dist/components/fields/ButtonTooltip.js.map +0 -1
- package/dist/components/fields/FieldLabel.js +0 -39
- package/dist/components/fields/FieldLabel.js.map +0 -1
- package/dist/components/fields/GenDSMisType.js +0 -45
- package/dist/components/fields/GenDSMisType.js.map +0 -1
- package/dist/components/fields/GenFormGroupCb.js +0 -32
- package/dist/components/fields/GenFormGroupCb.js.map +0 -1
- package/dist/components/fields/GenProperties.js +0 -84
- package/dist/components/fields/GenProperties.js.map +0 -1
- package/dist/components/fields/GenPropertiesFields.js +0 -617
- package/dist/components/fields/GenPropertiesFields.js.map +0 -1
- package/dist/components/flow/FlowView.js +0 -89
- package/dist/components/flow/FlowView.js.map +0 -1
- package/dist/components/flow/FlowViewerModal.js +0 -82
- package/dist/components/flow/FlowViewerModal.js.map +0 -1
- package/dist/components/flow/LayerNode.js +0 -60
- package/dist/components/flow/LayerNode.js.map +0 -1
- package/dist/components/layers/GenPropertiesLayer.js +0 -281
- package/dist/components/layers/GenPropertiesLayer.js.map +0 -1
- package/dist/components/layers/LayerModal.js +0 -82
- package/dist/components/layers/LayerModal.js.map +0 -1
- package/dist/components/layers/LayersLayout.js +0 -89
- package/dist/components/layers/LayersLayout.js.map +0 -1
- package/dist/components/models/Attachment.js +0 -74
- package/dist/components/models/Attachment.js.map +0 -1
- package/dist/components/models/GenericSubField.js +0 -38
- package/dist/components/models/GenericSubField.js.map +0 -1
- package/dist/components/table/DropLinkRenderer.js +0 -56
- package/dist/components/table/DropLinkRenderer.js.map +0 -1
- package/dist/components/table/DropRenderer.js +0 -46
- package/dist/components/table/DropRenderer.js.map +0 -1
- package/dist/components/table/DropTextRenderer.js +0 -46
- package/dist/components/table/DropTextRenderer.js.map +0 -1
- package/dist/components/table/GenericElTableDropTarget.js +0 -253
- package/dist/components/table/GenericElTableDropTarget.js.map +0 -1
- package/dist/components/table/GridBtn.js +0 -103
- package/dist/components/table/GridBtn.js.map +0 -1
- package/dist/components/table/GridEntry.js +0 -164
- package/dist/components/table/GridEntry.js.map +0 -1
- package/dist/components/table/SamOption.js +0 -88
- package/dist/components/table/SamOption.js.map +0 -1
- package/dist/components/table/SelectRenderer.js +0 -53
- package/dist/components/table/SelectRenderer.js.map +0 -1
- package/dist/components/table/TableRecord.js +0 -455
- package/dist/components/table/TableRecord.js.map +0 -1
- package/dist/components/table/UConverterRenderer.js +0 -42
- package/dist/components/table/UConverterRenderer.js.map +0 -1
- package/dist/components/tools/collate.js +0 -104
- package/dist/components/tools/collate.js.map +0 -1
- package/dist/components/tools/orten.js +0 -295
- package/dist/components/tools/orten.js.map +0 -1
- package/dist/components/tools/utils.js +0 -594
- package/dist/components/tools/utils.js.map +0 -1
- package/dist/data/SystemUnits.js +0 -589
- package/dist/data/SystemUnits.js.map +0 -1
- package/dist/index.js +0 -40
- package/dist/index.js.map +0 -1
- package/dist/simulations/SimWF.js +0 -124
- package/dist/simulations/SimWF.js.map +0 -1
- package/dist/simulations/SimuDS.js +0 -119
- package/dist/simulations/SimuDS.js.map +0 -1
- package/dist/simulations/SimuSG.js +0 -124
- 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":";;;;;;;AAGA;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAEMA,c;;;;;AACJ,0BAAYC,KAAZ,EAAmB;AAAA;;AAAA;;AACjB,8BAAMA,KAAN;AACA,UAAKC,KAAL,GAAa;AAAEC,MAAAA,aAAa,EAAE,KAAjB;AAAwBC,MAAAA,gBAAgB,EAAE;AAA1C,KAAb;AACA,UAAKC,iBAAL,GAAyB,MAAKA,iBAAL,CAAuBC,IAAvB,+BAAzB;AACA,UAAKC,eAAL,GAAuB,MAAKA,eAAL,CAAqBD,IAArB,+BAAvB;AACA,UAAKE,eAAL,GAAuB,MAAKA,eAAL,CAAqBF,IAArB,+BAAvB;AACA,UAAKG,YAAL,GAAoB,MAAKA,YAAL,CAAkBH,IAAlB,+BAApB;AACA,UAAKI,cAAL,GAAsB,MAAKA,cAAL,CAAoBJ,IAApB,+BAAtB;AACA,UAAKK,YAAL,GAAoB,MAAKA,YAAL,CAAkBL,IAAlB,+BAApB;AACA,UAAKM,SAAL,GAAiB,MAAKA,SAAL,CAAeN,IAAf,+BAAjB;AACA,UAAKO,WAAL,GAAmB,MAAKA,WAAL,CAAiBP,IAAjB,+BAAnB;AACA,UAAKQ,YAAL,GAAoB,MAAKA,YAAL,CAAkBR,IAAlB,+BAApB;AAXiB;AAYlB;;;;WAED,wBAAe;AACb,WAAKS,QAAL,CAAc;AAAEZ,QAAAA,aAAa,EAAE,CAAC,KAAKD,KAAL,CAAWC;AAA7B,OAAd;AACD;;;WAED,yBAAgBa,KAAhB,EAAuBC,GAAvB,EAA+C;AAAA,UAAnBC,SAAmB,uEAAP,KAAO;AAC7C,UAAQC,OAAR,GAAoB,KAAKlB,KAAzB,CAAQkB,OAAR;AACA,UAAQC,UAAR,GAAuBD,OAAvB,CAAQC,UAAR;;AACA,UAAI,CAACF,SAAL,EAAgB;AACd,YAAMG,SAAS,GAAGD,UAAU,CAACE,MAAX,WAAqBN,KAArB,GAA8BO,MAA9B,CACfC,IADe,CACV,UAAAC,CAAC;AAAA,iBAAIA,CAAC,CAACC,KAAF,KAAYT,GAAG,CAACU,CAAJ,CAAMD,KAAtB;AAAA,SADS,EACoBE,UADpB,IACkC,EADpD;AAEA,YAAMC,MAAM,GAAGR,SAAS,CAACS,SAAV,CAAoB,UAAAL,CAAC;AAAA,iBAAIA,CAAC,CAACM,EAAF,KAASd,GAAG,CAACe,GAAJ,CAAQD,EAArB;AAAA,SAArB,CAAf;AACAV,QAAAA,SAAS,CAACY,MAAV,CAAiBJ,MAAjB,EAAyB,CAAzB,EAA4BZ,GAAG,CAACe,GAAhC;AACAZ,QAAAA,UAAU,CAACE,MAAX,WAAqBN,KAArB,GAA8BO,MAA9B,CACGC,IADH,CACQ,UAAAU,CAAC;AAAA,iBAAIA,CAAC,CAACR,KAAF,KAAYT,GAAG,CAACU,CAAJ,CAAMD,KAAtB;AAAA,SADT,EACsCE,UADtC,GACmDP,SADnD;AAED;;AACDD,MAAAA,UAAU,CAACE,MAAX,WAAqBN,KAArB,GAA8BO,MAA9B,CACGC,IADH,CACQ,UAAAU,CAAC;AAAA,eAAIA,CAAC,CAACR,KAAF,KAAYT,GAAG,CAACU,CAAJ,CAAMD,KAAtB;AAAA,OADT,EACsCS,UADtC,GACmDlB,GAAG,CAACU,CAAJ,CAAMQ,UAAN,IAAoB,EADvE;AAEAhB,MAAAA,OAAO,CAACC,UAAR,GAAqBA,UAArB;AACAD,MAAAA,OAAO,CAACiB,OAAR,GAAkB,IAAlB;AACA,WAAKnC,KAAL,CAAWoC,QAAX,CAAoBlB,OAApB;AACD;;;WAED,2BAAkBmB,KAAlB,EAAyBZ,KAAzB,EAAgCV,KAAhC,EAAsD;AAAA,UAAfuB,IAAe,uEAAR,MAAQ;AACpD,UAAQpB,OAAR,GAAoB,KAAKlB,KAAzB,CAAQkB,OAAR;AACA,UAAQC,UAAR,GAAuBD,OAAvB,CAAQC,UAAR;AACA,UAAIoB,KAAK,GAAG,EAAZ;AACA,UAAIC,WAAW,GAAG,IAAlB;;AACA,cAAQF,IAAR;AACE,aAAK,YAAL;AACE,eAAK3B,SAAL,CAAec,KAAf,EAAsBV,KAAtB;AACAyB,UAAAA,WAAW,GAAG,KAAd;AACA;;AACF,aAAK,cAAL;AACEH,UAAAA,KAAK,CAACI,eAAN;AACA,eAAK7B,WAAL,CAAiBa,KAAjB,EAAwBV,KAAxB;AACAyB,UAAAA,WAAW,GAAG,KAAd;AACA;;AACF,aAAK,aAAL;AACEH,UAAAA,KAAK,CAACI,eAAN;AACAD,UAAAA,WAAW,GAAG,KAAd;AACA,eAAK1B,QAAL,CAAc;AAAEX,YAAAA,gBAAgB,EAAEY,KAAK,CAAC2B,GAA1B;AAA+BxC,YAAAA,aAAa,EAAE;AAA9C,WAAd;AACA;;AACF,aAAK,SAAL;AACEsC,UAAAA,WAAW,GAAG,KAAd;AACA,eAAK3B,YAAL,CAAkBwB,KAAlB,EAAyBtB,KAAzB;AACA;;AACF,aAAK,UAAL;AACEwB,UAAAA,KAAK,GAAGF,KAAK,CAACM,MAAN,CAAaC,OAArB;AACA;;AACF,aAAK,eAAL;AACE,cAAIP,KAAK,CAACM,MAAV,EAAkB;AACbJ,YAAAA,KADa,GACHF,KAAK,CAACM,MADH,CACbJ,KADa;AAEjB,WAFD,MAEO;AACLA,YAAAA,KAAK,GAAGF,KAAR;AACD;;AACD;;AACF,aAAK,QAAL;AAAe;AACb,gBAAMQ,IAAI,GAAG,wBAAY1B,UAAZ,EAAwBkB,KAAxB,EAA+BZ,KAA/B,EAAsCV,KAAtC,CAAb;AACAwB,YAAAA,KAAK,GAAGM,IAAI,CAAC,CAAD,CAAZ;AACA,gBAAIA,IAAI,CAAC,CAAD,CAAJ,CAAQC,MAAR,GAAiB,CAArB,EAAwB5B,OAAO,CAAC6B,KAAR,GAAgB,CAAC7B,OAAO,CAAC6B,KAAR,IAAiB,EAAlB,EAAsBC,MAAtB,CAA6BH,IAAI,CAAC,CAAD,CAAjC,CAAhB;;AACxB,gBAAIA,IAAI,CAACC,MAAL,GAAc,CAAlB,EAAqB;AACnB,kBAAMG,OAAO,GAAG,uBAAW/B,OAAO,CAAC6B,KAAR,IAAiB,EAA5B,EAAiC,UAAAG,CAAC;AAAA,uBAAIA,CAAC,CAACC,GAAF,KAAUd,KAAK,CAACc,GAApB;AAAA,eAAlC,CAAhB;;AACA,kBAAIF,OAAO,IAAI,CAAX,IAAgB/B,OAAO,CAAC6B,KAAxB,IAAiC7B,OAAO,CAAC6B,KAAR,CAAcD,MAAd,GAAuB,CAA5D,EAA+D;AAC7D5B,gBAAAA,OAAO,CAAC6B,KAAR,CAAcf,MAAd,CAAqBiB,OAArB,EAA8B,CAA9B;AACD;AACF;;AACD;AACD;;AACD,aAAK,QAAL;AACEV,UAAAA,KAAK,GAAGF,KAAK,GAAGA,KAAK,CAACE,KAAT,GAAiB,IAA9B;AACA;;AACF,aAAK,eAAL;AACEA,UAAAA,KAAK,GAAGF,KAAR;AACA;;AACF,aAAK,SAAL;AACKE,UAAAA,KADL,GACeF,KAAK,CAACM,MADrB,CACKJ,KADL;AAEEA,UAAAA,KAAK,GAAGa,IAAI,CAACC,KAAL,CAAWd,KAAX,CAAR;AACA;;AACF;AACKA,UAAAA,KADL,GACeF,KAAK,CAACM,MADrB,CACKJ,KADL;AAnDF;;AAsDA,UAAIC,WAAJ,EAAiB;AACfrB,QAAAA,UAAU,CAACE,MAAX,WAAqBN,KAArB,GAA8BO,MAA9B,CAAqCC,IAArC,CAA0C,UAAAU,CAAC;AAAA,iBAAIA,CAAC,CAACR,KAAF,KAAYA,KAAhB;AAAA,SAA3C,EAAkEc,KAAlE,GAA0EA,KAA1E;;AACA,YAAID,IAAI,KAAK,gBAAT,KAA8B,CAACnB,UAAU,CAACE,MAAX,WAAqBN,KAArB,GAA8BO,MAA9B,CAAqCC,IAArC,CAA0C,UAAAU,CAAC;AAAA,iBAAIA,CAAC,CAACR,KAAF,KAAYA,KAAhB;AAAA,SAA3C,EAAkE6B,YAAnE,IAAmFnC,UAAU,CAACE,MAAX,WAAqBN,KAArB,GAA8BO,MAA9B,CAAqCC,IAArC,CAA0C,UAAAU,CAAC;AAAA,iBAAIA,CAAC,CAACR,KAAF,KAAYA,KAAhB;AAAA,SAA3C,EAAkE6B,YAAlE,KAAmF,EAApM,CAAJ,EAA6M;AAC3M,cAAMC,GAAG,GAAGpC,UAAU,CAACE,MAAX,WAAqBN,KAArB,GAA8BO,MAA9B,CACTC,IADS,CACJ,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAACR,KAAF,KAAYA,KAAhB;AAAA,WADG,EACoB+B,aADhC;AAEArC,UAAAA,UAAU,CAACE,MAAX,WAAqBN,KAArB,GAA8BO,MAA9B,CACGC,IADH,CACQ,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAACR,KAAF,KAAYA,KAAhB;AAAA,WADT,EACgC6B,YADhC,GAC+C,qBAASC,GAAT,EAAc,CAAd,EAAiBb,GADhE;AAED;;AACDxB,QAAAA,OAAO,CAACC,UAAR,GAAqBA,UAArB;AACAD,QAAAA,OAAO,CAACiB,OAAR,GAAkB,IAAlB;AACA,aAAKnC,KAAL,CAAWoC,QAAX,CAAoBlB,OAApB;AACD;AACF;;;WAED,yBAAgBH,KAAhB,EAAuBC,GAAvB,EAA4B;AAC1B,UAAQE,OAAR,GAAoB,KAAKlB,KAAzB,CAAQkB,OAAR;AACA,UAAQC,UAAR,GAAuBD,OAAvB,CAAQC,UAAR;AACA,UAAMsC,MAAM,GAAG,2BAAezC,GAAG,CAACwC,aAAnB,EAAkCxC,GAAG,CAACsC,YAAtC,EAAoDtC,GAAG,CAACuB,KAAxD,CAAf;AACApB,MAAAA,UAAU,CAACE,MAAX,WAAqBN,KAArB,GAA8BO,MAA9B,CACGC,IADH,CACQ,UAAAU,CAAC;AAAA,eAAIA,CAAC,CAACR,KAAF,KAAYT,GAAG,CAACS,KAApB;AAAA,OADT,EACoC6B,YADpC,GACmDtC,GAAG,CAACsC,YADvD;AAEAnC,MAAAA,UAAU,CAACE,MAAX,WAAqBN,KAArB,GAA8BO,MAA9B,CAAqCC,IAArC,CAA0C,UAAAU,CAAC;AAAA,eAAIA,CAAC,CAACR,KAAF,KAAYT,GAAG,CAACS,KAApB;AAAA,OAA3C,EAAsEc,KAAtE,GAA8EkB,MAA9E;AACAvC,MAAAA,OAAO,CAACC,UAAR,GAAqBA,UAArB;AACAD,MAAAA,OAAO,CAACiB,OAAR,GAAkB,IAAlB;AACA,WAAKnC,KAAL,CAAWoC,QAAX,CAAoBlB,OAApB;AACD;;;WAED,wBAAe;AACb,wBAA2B,KAAKlB,KAAhC;AAAA,UAAQ0D,KAAR,eAAQA,KAAR;AAAA,UAAexC,OAAf,eAAeA,OAAf;AACA,UAAMyC,QAAQ,GAAG,uBAAUD,KAAK,CAACE,kBAAhB,CAAjB;AACAD,MAAAA,QAAQ,CAACE,UAAT,GAAsBH,KAAK,CAACI,IAA5B;AACAC,MAAAA,MAAM,CAACC,IAAP,CAAYL,QAAQ,CAACtC,MAArB,EAA6B4C,OAA7B,CAAqC,UAACvB,GAAD,EAAS;AAC5C,YAAMwB,QAAQ,GAAGP,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,KAAwB,EAAzC;AACA,YAAMyB,SAAS,GAAIjD,OAAO,CAACC,UAAR,CAAmBE,MAAnB,CAA0BqB,GAA1B,KAAkCxB,OAAO,CAACC,UAAR,CAAmBE,MAAnB,CAA0BqB,GAA1B,EAA+BpB,MAAlE,IACb,EADL;AAEA,SAAC4C,QAAQ,CAAC5C,MAAT,IAAmB,EAApB,EAAwB2C,OAAxB,CAAgC,UAACvC,CAAD,EAAI0C,GAAJ,EAAY;AAC1C,cAAMC,MAAM,GAAG,uBAAUF,SAAV,EAAqB,UAAAjB,CAAC;AAAA,mBAAIA,CAAC,CAACzB,KAAF,KAAYC,CAAC,CAACD,KAAlB;AAAA,WAAtB,CAAf;;AACA,cAAI4C,MAAM,IAAI,CAAd,EAAiB;AACf,gBAAMC,MAAM,GAAGpD,OAAO,CAACC,UAAR,CAAmBE,MAAnB,CAA0BqB,GAA1B,EAA+BpB,MAA/B,CAAsC+C,MAAtC,EAA8C9B,KAA7D;;AACA,gBAAMgC,OAAO,WAAUD,MAAV,CAAb;;AACA,gBAAI,CAAC,QAAD,EAAW,MAAX,EAAmB,UAAnB,EAA+B,eAA/B,EAAgDE,QAAhD,CAAyDb,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,EAAiC9B,IAA1F,CAAJ,EAAqG;AACnGqB,cAAAA,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,EAAiC7B,KAAjC,GAAyCgC,OAAO,KAAK,WAAZ,GAA0BD,MAAM,CAACG,QAAP,EAA1B,GAA8C,EAAvF;AACD;;AACD,gBAAId,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,EAAiC9B,IAAjC,KAA0C,SAA9C,EAAyD;AACvDqB,cAAAA,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,EAAiC7B,KAAjC,GAA0CgC,OAAO,KAAK,WAAZ,IAA2BA,OAAO,KAAK,SAAvC,IAAoDG,KAAK,CAACJ,MAAD,CAA1D,GAAsE,CAAtE,GAA0EK,QAAQ,CAACL,MAAD,EAAS,EAAT,CAA3H;AACD;;AACD,gBAAIX,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,EAAiC9B,IAAjC,KAA0C,UAA9C,EAA0D;AACxDqB,cAAAA,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,EAAiC7B,KAAjC,GAAyCgC,OAAO,KAAK,WAAZ,GAA0B,mBAAOD,MAAP,CAA1B,GAA2C,KAApF;AACD;;AACD,gBAAIX,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,EAAiC9B,IAAjC,KAA0C,gBAA9C,EAAgE;AAC9D,kBAAMsC,KAAK,GAAG,qBAASjB,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,EAAiCZ,aAA1C,CAAd;AACA,kBAAMqB,EAAE,GAAGD,KAAK,CAACrD,IAAN,CAAW,UAAAuD,CAAC;AAAA,uBACrBA,CAAC,CAACpC,GAAF,KAAUxB,OAAO,CAACC,UAAR,CAAmBE,MAAnB,CAA0BqB,GAA1B,EAA+BpB,MAA/B,CAAsC+C,MAAtC,EAA8Cf,YADnC;AAAA,eAAZ,CAAX;AAEAK,cAAAA,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,EAAiCd,YAAjC,GAAiDuB,EAAE,IAAIA,EAAE,CAACnC,GAAV,IAAkBkC,KAAK,CAAC,CAAD,CAAL,CAASlC,GAA3E;AACAiB,cAAAA,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,EAAiC7B,KAAjC,GAAyC,kBAAM+B,MAAN,CAAzC;AACD;;AACD,gBAAIX,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,EAAiC9B,IAAjC,KAA0C,aAA9C,EAA6D;AAC3D,kBAAIpB,OAAO,CAACC,UAAR,CAAmBE,MAAnB,CAA0BqB,GAA1B,EAA+BpB,MAA/B,CAAsC+C,MAAtC,EAA8C/B,IAA9C,KACFqB,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,EAAiC9B,IADnC,EACyC;AACvCqB,gBAAAA,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,EAAiC7B,KAAjC,GAAyCwC,SAAzC;AACD,eAHD,MAGO;AACL,oBAAMC,KAAK,GAAGrB,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,EAAiCzC,UAAjC,IAA+C,EAA7D;AACA,oBAAMsD,KAAK,GAAG/D,OAAO,CAACC,UAAR,CAAmBE,MAAnB,CAA0BqB,GAA1B,EAA+BpB,MAA/B,CAAsC+C,MAAtC,EAA8C1C,UAA9C,IAA4D,EAA1E;AACA,oBAAMuD,MAAM,GAAG,EAAf;;AACA,oBAAIF,KAAK,CAAClC,MAAN,GAAe,CAAnB,EAAsB;AACpBa,kBAAAA,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,EAAiC7B,KAAjC,GAAyCwC,SAAzC;AACD,iBAFD,MAEO;AACLC,kBAAAA,KAAK,CAACf,OAAN,CAAc,UAACkB,IAAD,EAAU;AACtB,wBAAMC,MAAM,GAAGH,KAAK,CAAC1D,IAAN,CAAW,UAAA8D,CAAC;AAAA,6BAAIA,CAAC,CAACvD,EAAF,KAASqD,IAAI,CAACrD,EAAlB;AAAA,qBAAZ,KAAqC,EAApD;;AACA,wBAAIqD,IAAI,CAAC7C,IAAL,KAAc,OAAlB,EAA2B;AAAE4C,sBAAAA,MAAM,CAACI,IAAP,CAAYH,IAAZ;AAAoB;;AACjD,wBAAIA,IAAI,CAAC7C,IAAL,KAAc,MAAlB,EAA0B;AACxB,0BAAI8C,MAAM,CAAC9C,IAAP,KAAgB,OAApB,EAA6B;AAC3B4C,wBAAAA,MAAM,CAACI,IAAP,CAAYH,IAAZ;AACD,uBAFD,MAEO;AAAED,wBAAAA,MAAM,CAACI,IAAP,iCAAiBH,IAAjB;AAAuB5C,0BAAAA,KAAK,EAAE,CAAC6C,MAAM,CAAC7C,KAAP,IAAgB,EAAjB,EAAqBkC,QAArB;AAA9B;AAAmE;AAC7E;;AAED,wBAAI,CAAC,QAAD,EAAW,gBAAX,EAA6BD,QAA7B,CAAsCW,IAAI,CAAC7C,IAA3C,CAAJ,EAAsD;AACpD,0BAAMiD,GAAG,GAAI,OAAOH,MAAM,CAAC7C,KAAd,KAAwB,WAAxB,IAAuC6C,MAAM,CAAC7C,KAAP,IAAgB,IAAvD,IAA+D6C,MAAM,CAAC7C,KAAP,CAAaO,MAAb,KAAwB,CAAxF,GAA6F,EAA7F,GAAkG,kBAAMsC,MAAM,CAAC7C,KAAb,CAA9G;;AACA,0BAAI4C,IAAI,CAAC3B,aAAL,KAAuB4B,MAAM,CAAC5B,aAAlC,EAAiD;AAC/C0B,wBAAAA,MAAM,CAACI,IAAP,iCAAiBH,IAAjB;AAAuB5C,0BAAAA,KAAK,EAAEgD,GAA9B;AAAmCjC,0BAAAA,YAAY,EAAE8B,MAAM,CAAC9B;AAAxD;AACD,uBAFD,MAEO;AACL4B,wBAAAA,MAAM,CAACI,IAAP,iCAAiBH,IAAjB;AAAuB5C,0BAAAA,KAAK,EAAEgD;AAA9B;AACD;AACF;AACF,mBAjBD;AAkBD;;AACD5B,gBAAAA,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,EAAiCzC,UAAjC,GAA8CuD,MAA9C;AACD;AACF;;AACD,gBAAIvB,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,EAAiC9B,IAAjC,KAA0C,QAA9C,EAAwD;AACtD,kBAAIpB,OAAO,CAACC,UAAR,CAAmBE,MAAnB,CAA0BqB,GAA1B,EAA+BpB,MAA/B,CAAsC+C,MAAtC,EAA8C/B,IAA9C,KACFqB,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,EAAiC9B,IADnC,EACyC;AACvCqB,gBAAAA,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,EAAiC7B,KAAjC,GACArB,OAAO,CAACC,UAAR,CAAmBE,MAAnB,CAA0BqB,GAA1B,EAA+BpB,MAA/B,CAAsC+C,MAAtC,EAA8C9B,KAD9C;AAED,eAJD,MAIO;AACLoB,gBAAAA,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,EAAiC7B,KAAjC,GAAyC,EAAzC;AACD;AACF;;AACD,gBAAIoB,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,EAAiC9B,IAAjC,KAA0C,OAA9C,EAAuD;AACrD,kBAAIpB,OAAO,CAACC,UAAR,CAAmBE,MAAnB,CAA0BqB,GAA1B,EAA+BpB,MAA/B,CAAsC+C,MAAtC,EAA8C/B,IAA9C,KACFqB,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,EAAiC9B,IADnC,EACyC;AACvCqB,gBAAAA,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,EAAiClC,UAAjC,GAA8C,EAA9C;AACD,eAHD,MAGO;AACLyB,gBAAAA,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,EAAiClC,UAAjC,GACA,sBACEyB,QAAQ,CAACtC,MAAT,CAAgBqB,GAAhB,EAAqBpB,MAArB,CAA4B8C,GAA5B,CADF,EAEElD,OAAO,CAACC,UAAR,CAAmBE,MAAnB,CAA0BqB,GAA1B,EAA+BpB,MAA/B,CAAsC+C,MAAtC,CAFF,CADA;AAKD;AACF;AACF;AACF,SA5ED;AA6ED,OAjFD;AAkFAnD,MAAAA,OAAO,CAACC,UAAR,GAAqBwC,QAArB;AACAzC,MAAAA,OAAO,CAACiB,OAAR,GAAkB,IAAlB;AACA,WAAKnC,KAAL,CAAWoC,QAAX,CAAoBlB,OAApB;AACD;;;WAED,wBAAemB,KAAf,EAAsBmD,MAAtB,EAA8B;AAC5B,UAAQtE,OAAR,GAAoB,KAAKlB,KAAzB,CAAQkB,OAAR;AACA,UAAQf,gBAAR,GAA6B,KAAKF,KAAlC,CAAQE,gBAAR;AACA,UAAMY,KAAK,GAAGyE,MAAd;AACA,UAAQnE,MAAR,GAAmBH,OAAO,CAACC,UAA3B,CAAQE,MAAR;AACA,UAAMoE,YAAY,GAAG,oBAAOpE,MAAP,EAAe,CAAC,UAAD,EAAa,aAAb,CAAf,CAArB;AACA,UAAM+C,GAAG,GAAGqB,YAAY,CAAC5D,SAAb,CAAuB,UAAAI,CAAC;AAAA,eAAIA,CAAC,CAACS,GAAF,KAAUvC,gBAAd;AAAA,OAAxB,CAAZ,CAN4B,CAO5B;;AACA,UAAMuF,aAAa,GAAGD,YAAY,CAACrB,GAAD,CAAlC;AACArD,MAAAA,KAAK,CAAC4E,QAAN,GAAiBD,aAAa,CAACC,QAA/B;AACA5E,MAAAA,KAAK,CAAC6E,WAAN,GAAoBF,aAAa,CAACE,WAAd,GAA4B,CAAhD;AACA7E,MAAAA,KAAK,CAAC8E,EAAN,GAAW,KAAX;AACA9E,MAAAA,KAAK,CAAC+E,OAAN,GAAgB,IAAhB,CAZ4B,CAa5B;;AACA,UAAMC,GAAG,GAAGN,YAAY,CACrBO,MADS,CACF,UAAA/D,CAAC;AAAA,eAAIA,CAAC,CAACS,GAAF,KAAU3B,KAAK,CAAC2B,GAAhB,IAAuBT,CAAC,CAACS,GAAF,CAAMuD,UAAN,WAAoBlF,KAAK,CAAC2B,GAA1B,OAA3B;AAAA,OADC,EAC6DI,MADzE;;AAEA,UAAIiD,GAAG,GAAG,CAAV,EAAa;AACX,YAAMG,OAAO,GAAGnF,KAAK,CAAC2B,GAAtB;AACA3B,QAAAA,KAAK,CAAC2B,GAAN,aAAe3B,KAAK,CAAC2B,GAArB,cAA4BqD,GAA5B;AACAhF,QAAAA,KAAK,CAACO,MAAN,GAAe,6BAAiBP,KAAjB,EAAwBmF,OAAxB,CAAf;AACD,OApB2B,CAqB5B;;;AACAT,MAAAA,YAAY,CAACzD,MAAb,CAAoBoC,GAAG,GAAG,CAA1B,EAA6B,CAA7B,EAAgCrD,KAAhC,EAtB4B,CAuB5B;;AACA0E,MAAAA,YAAY,CAACO,MAAb,CAAoB,UAAA/D,CAAC;AAAA,eAAIA,CAAC,CAAC0D,QAAF,KAAeD,aAAa,CAACC,QAAjC;AAAA,OAArB,EAAgEQ,GAAhE,CAAoE,UAAClE,CAAD,EAAImE,EAAJ,EAAW;AAC7E,YAAMC,EAAE,GAAGpE,CAAX;AACAoE,QAAAA,EAAE,CAACT,WAAH,GAAiBQ,EAAjB;AACA,eAAOC,EAAP;AACD,OAJD;AAKA,UAAMC,EAAE,GAAG,2BAAeb,YAAf,CAAX;AACAvE,MAAAA,OAAO,CAACC,UAAR,CAAmBE,MAAnB,GAA4BiF,EAA5B;AACA,WAAKxF,QAAL,CACE;AAAEX,QAAAA,gBAAgB,EAAEY,KAAK,CAAC2B,GAA1B;AAA+BxC,QAAAA,aAAa,EAAE;AAA9C,OADF,EAEE,KAAKF,KAAL,CAAWoC,QAAX,CAAoBlB,OAApB,CAFF;AAID;;;WAED,mBAAUqF,OAAV,EAAmBC,OAAnB,EAA4B;AAC1B,UAAQtF,OAAR,GAAoB,KAAKlB,KAAzB,CAAQkB,OAAR;AACA,UAAQG,MAAR,GAAmBH,OAAO,CAACC,UAA3B,CAAQE,MAAR;AACA,UAAIoE,YAAY,GAAG,oBAAOpE,MAAP,EAAe,CAAC,UAAD,EAAa,aAAb,CAAf,CAAnB,CAH0B,CAI1B;;AACA,UAAMoF,MAAM,GAAGhB,YAAY,CAAC5D,SAAb,CAAuB,UAAAI,CAAC;AAAA,eAAIA,CAAC,CAACS,GAAF,KAAU6D,OAAd;AAAA,OAAxB,CAAf;AACA,UAAMG,MAAM,GAAGjB,YAAY,CAACgB,MAAD,CAA3B;AACA,UAAIE,MAAM,GAAGlB,YAAY,CAAC5D,SAAb,CAAuB,UAAAI,CAAC;AAAA,eAAIA,CAAC,CAACS,GAAF,KAAU8D,OAAd;AAAA,OAAxB,CAAb;;AACA,UAAIpD,IAAI,CAACwD,GAAL,CAASH,MAAM,GAAGE,MAAlB,MAA8B,CAAlC,EAAqC;AACnClB,QAAAA,YAAY,GAAG,uBAAWA,YAAX,EAAyBgB,MAAzB,EAAiCE,MAAjC,CAAf;AACD,OAFD,MAEO;AACL;AACAlB,QAAAA,YAAY,CAACzD,MAAb,CAAoByE,MAApB,EAA4B,CAA5B,EAFK,CAGL;;AACAE,QAAAA,MAAM,GAAGlB,YAAY,CAAC5D,SAAb,CAAuB,UAAAI,CAAC;AAAA,iBAAIA,CAAC,CAACS,GAAF,KAAU8D,OAAd;AAAA,SAAxB,CAAT;AACA,YAAMK,MAAM,GAAGpB,YAAY,CAACkB,MAAD,CAA3B,CALK,CAML;;AACAD,QAAAA,MAAM,CAACf,QAAP,GAAkBkB,MAAM,CAAClB,QAAzB;AACAe,QAAAA,MAAM,CAACd,WAAP,GAAqB,CAACiB,MAAM,CAACjB,WAAP,IAAsB,CAAvB,IAA4B,CAAjD,CARK,CASL;;AACAH,QAAAA,YAAY,CAACzD,MAAb,CAAoB2E,MAAM,GAAG,CAA7B,EAAgC,CAAhC,EAAmCD,MAAnC;AACD,OArByB,CAsB1B;;;AACAjB,MAAAA,YAAY,CAACO,MAAb,CAAoB,UAAA/D,CAAC;AAAA,eAAIA,CAAC,CAAC0D,QAAF,KAAee,MAAM,CAACf,QAA1B;AAAA,OAArB,EAAyDQ,GAAzD,CAA6D,UAAClE,CAAD,EAAImC,GAAJ,EAAY;AACvE,YAAMiC,EAAE,GAAGpE,CAAX;AACAoE,QAAAA,EAAE,CAACT,WAAH,GAAiBxB,GAAjB;AACA,eAAOiC,EAAP;AACD,OAJD;AAKA,UAAMC,EAAE,GAAG,2BAAeb,YAAf,CAAX;AACAvE,MAAAA,OAAO,CAACC,UAAR,CAAmBE,MAAnB,GAA4BiF,EAA5B;AACApF,MAAAA,OAAO,CAACiB,OAAR,GAAkB,IAAlB;AACA,WAAKnC,KAAL,CAAWoC,QAAX,CAAoBlB,OAApB;AACD;;;WAED,qBAAY4F,IAAZ,EAAkB/F,KAAlB,EAAyB;AACvB,UAAQG,OAAR,GAAoB,KAAKlB,KAAzB,CAAQkB,OAAR;AACA,UAAQG,MAAR,GAAmBH,OAAO,CAACC,UAA3B,CAAQE,MAAR;AACA,UAAMoE,YAAY,GAAG,oBAAOpE,MAAP,EAAe,CAAC,UAAD,EAAa,aAAb,CAAf,CAArB;AACA,UAAM0F,WAAW,GAAGtB,YAAY,CAAC5D,SAAb,CAAuB,UAAAI,CAAC;AAAA,eAAIA,CAAC,CAACS,GAAF,KAAU3B,KAAK,CAAC2B,GAApB;AAAA,OAAxB,CAApB;AACA,UAAMsE,QAAQ,GAAGvB,YAAY,CAACsB,WAAD,CAA7B;AACAtB,MAAAA,YAAY,CAACzD,MAAb,CAAoB+E,WAApB,EAAiC,CAAjC;AACAtB,MAAAA,YAAY,CAACO,MAAb,CAAoB,UAAA/D,CAAC;AAAA,eAAIA,CAAC,CAAC0D,QAAF,KAAeqB,QAAQ,CAACrB,QAA5B;AAAA,OAArB,EAA2DQ,GAA3D,CAA+D,UAAClE,CAAD,EAAImC,GAAJ,EAAY;AACzE,YAAMiC,EAAE,GAAGpE,CAAX;AACAoE,QAAAA,EAAE,CAACT,WAAH,GAAiBxB,GAAjB;AACA,eAAOiC,EAAP;AACD,OAJD;AAKAnF,MAAAA,OAAO,CAACC,UAAR,CAAmBE,MAAnB,GAA4B,2BAAeoE,YAAf,CAA5B;AACAvE,MAAAA,OAAO,CAACiB,OAAR,GAAkB,IAAlB;AACA,WAAKnC,KAAL,CAAWoC,QAAX,CAAoBlB,OAApB;AACD;;;WAED,sBAAamB,KAAb,EAAoBtB,KAApB,EAA2B;AACzB,UAAMwB,KAAK,GAAGF,KAAK,GAAGA,KAAK,CAACE,KAAT,GAAiB,IAApC;;AACA,UAAIA,KAAJ,EAAW;AACT,YAAQrB,OAAR,GAAoB,KAAKlB,KAAzB,CAAQkB,OAAR;AACA,YAAQC,UAAR,GAA2CD,OAA3C,CAAQC,UAAR;AAAA,YAAoByC,kBAApB,GAA2C1C,OAA3C,CAAoB0C,kBAApB,CAFS,CAGT;;AACA,YAAIqD,QAAQ,GAAG,KAAf;AACA,YAAMC,QAAQ,GAAG/F,UAAU,CAACE,MAAX,WAAqBN,KAArB,GAA8BO,MAA9B,CAAqCC,IAArC,CAA0C,UAAAU,CAAC;AAAA,iBAAIA,CAAC,CAACR,KAAF,KAAY,UAAhB;AAAA,SAA3C,EAAuEc,KAAxF;;AACA,YAAIA,KAAK,KAAK2E,QAAd,EAAwB;AACtB,cAAIA,QAAQ,IAAIA,QAAQ,KAAK,EAAzB,IAA+BA,QAAQ,KAAK3E,KAAhD,EAAuD;AACrD0E,YAAAA,QAAQ,GAAG,IAAX;AACD;;AACD,cAAQE,IAAR,GAAiBvD,kBAAjB,CAAQuD,IAAR;AACA,cAAMC,QAAQ,GAAGjG,UAAU,CAACE,MAAX,WAAqBN,KAArB,EAAjB,CALsB,CAMtB;;AACA,cAAMsG,OAAO,GAAG,yBAAaF,IAAb,EAAmB5E,KAAnB,EAA0BxB,KAA1B,EAAiCqG,QAAQ,CAACxB,WAA1C,CAAhB;;AACA,cAAIyB,OAAJ,EAAa;AACXlG,YAAAA,UAAU,CAACE,MAAX,GAAoB,wBAAYF,UAAU,CAACE,MAAvB,EAA+BN,KAA/B,EAAsCsG,OAAtC,CAApB;AACD;;AACD,cAAIJ,QAAJ,EAAc;AACZ9F,YAAAA,UAAU,CAACE,MAAX,GAAoB,6BAAiBF,UAAU,CAACE,MAA5B,EAAoCN,KAApC,EAA2C,sBAAUoG,IAAV,EAAgBD,QAAhB,CAA3C,CAApB;AACD,WAbqB,CActB;;;AACA/F,UAAAA,UAAU,CAACE,MAAX,WAAqBN,KAArB,GAA8BO,MAA9B,CAAqCC,IAArC,CAA0C,UAAAU,CAAC;AAAA,mBAAIA,CAAC,CAACR,KAAF,KAAY,UAAhB;AAAA,WAA3C,EAAuEc,KAAvE,GAA+EA,KAA/E;AACArB,UAAAA,OAAO,CAACC,UAAR,GAAqBA,UAArB;AACAD,UAAAA,OAAO,CAACiB,OAAR,GAAkB,IAAlB,CAjBsB,CAkBtB;;AACA,eAAKnC,KAAL,CAAWoC,QAAX,CAAoBlB,OAApB,EAnBsB,CAmBQ;AAC/B;AACF;AACF;;;WAED,iCAAwBA,OAAxB,EAAiC;AAC/B,UAAMoG,YAAY,GAAG,2BACnBpG,OAAO,CAACC,UAAR,CAAmBE,MADA,EAEnBH,OAAO,CAAC0C,kBAAR,CAA2B2D,cAA3B,IAA6C,EAF1B,EAGnB,KAAKnH,iBAHc,EAInB,KAAKE,eAJc,EAKnB,KAAKC,eALc,EAMnB,EANmB,EAMf,CANe,EAMZ,KANY,EAML,IANK,CAArB;AAQA,0BAAQ;AAAK,QAAA,KAAK,EAAE;AAAEiH,UAAAA,MAAM,EAAE;AAAV;AAAZ,SAAgCF,YAAhC,CAAR;AACD;;;WAED,kBAAS;AACP,yBAA4B,KAAKtH,KAAjC;AAAA,UAAQyH,MAAR,gBAAQA,MAAR;AAAA,UAAgBvG,OAAhB,gBAAgBA,OAAhB;AACA,UAAI,CAACuG,MAAD,IAAW1D,MAAM,CAACC,IAAP,CAAY9C,OAAZ,EAAqB4B,MAArB,KAAgC,CAA/C,EAAkD,OAAO,IAAP;AAClD,UAAQ5C,aAAR,GAA0B,KAAKD,KAA/B,CAAQC,aAAR;;AACA,UAAMwH,aAAa,gBACjB,6BAAC,mBAAD;AACE,QAAA,IAAI,EAAExH,aADR;AAEE,QAAA,MAAM,EAAE,uBAAUgB,OAAO,CAAC0C,kBAAR,CAA2BvC,MAArC,KAAgD,EAF1D;AAGE,QAAA,OAAO,EAAE,KAAKX,YAHhB;AAIE,QAAA,KAAK,EAAE,KAAKD;AAJd,QADF;;AAQA,0BACE,uDACE,6BAAC,qBAAD,qBACE,6BAAC,qBAAD,CAAO,IAAP;AAAY,QAAA,KAAK,EAAE;AAAEkF,UAAAA,QAAQ,EAAE,UAAZ;AAAwBgC,UAAAA,SAAS,EAAE,GAAnC;AAAwCC,UAAAA,SAAS,EAAE;AAAnD;AAAnB,SACG,KAAKC,uBAAL,CAA6B3G,OAA7B,CADH,CADF,CADF,EAMGwG,aANH,CADF;AAUD;;;;EA/W0BI,gB;;AAkX7B/H,cAAc,CAACgI,SAAf,GAA2B;AACzBN,EAAAA,MAAM,EAAEO,mBAAUC,IAAV,CAAeC,UADE;AAEzBhH,EAAAA,OAAO,EAAE8G,mBAAUG,MAFM;AAGzBzE,EAAAA,KAAK,EAAEsE,mBAAUG,MAHQ;AAIzB/F,EAAAA,QAAQ,EAAE4F,mBAAUI,IAAV,CAAeF;AAJA,CAA3B;AAOAnI,cAAc,CAACsI,YAAf,GAA8B;AAAEnH,EAAAA,OAAO,EAAE,EAAX;AAAewC,EAAAA,KAAK,EAAE;AAAtB,CAA9B,C,CAEA;;eACe3D,c","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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/dnd/DragDropItemTypes.js"],"names":["ELEMENT","SAMPLE","MOLECULE","LAYOUT","GENERAL","DATA","UNLINKED_DATA","DATASET","CONTAINER","ELEMENT_FIELD","GENERIC_GRID"],"mappings":";;;;;;eAAe;AACbA,EAAAA,OAAO,EAAE,SADI;AAEbC,EAAAA,MAAM,EAAE,QAFK;AAGbC,EAAAA,QAAQ,EAAE,UAHG;AAIbC,EAAAA,MAAM,EAAE,QAJK;AAKbC,EAAAA,OAAO,EAAE,SALI;AAMbC,EAAAA,IAAI,EAAE,MANO;AAObC,EAAAA,aAAa,EAAE,eAPF;AAQbC,EAAAA,OAAO,EAAE,SARI;AASbC,EAAAA,SAAS,EAAE,WATE;AAUbC,EAAAA,aAAa,EAAE,eAVF;AAWbC,EAAAA,YAAY,EAAE;AAXD,C","sourcesContent":["export default {\n ELEMENT: 'element',\n SAMPLE: 'sample',\n MOLECULE: 'molecule',\n LAYOUT: 'layout',\n GENERAL: 'general',\n DATA: 'data',\n UNLINKED_DATA: 'unlinked_data',\n DATASET: 'dataset',\n CONTAINER: 'container',\n ELEMENT_FIELD: 'element_field',\n GENERIC_GRID: 'generic_grid'\n};\n"],"file":"DragDropItemTypes.js"}
|