chem-generic-ui 0.2.3 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bundle.js +3 -0
- package/dist/{369.bundle.js.LICENSE.txt → bundle.js.LICENSE.txt} +0 -0
- package/dist/bundle.js.map +1 -0
- package/package.json +1 -1
- package/dist/369.bundle.js +0 -3
- package/dist/369.bundle.js.map +0 -1
- package/dist/main.bundle.js +0 -2
- package/dist/main.bundle.js.map +0 -1
package/dist/main.bundle.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"main.bundle.js","mappings":"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","sources":["webpack://chem-generic-ui/webpack/universalModuleDefinition","webpack://chem-generic-ui/./src/components/dnd/GenericElDropTarget.js","webpack://chem-generic-ui/./src/components/fields/FieldLabel.js","webpack://chem-generic-ui/./src/components/fields/GenPropertiesFields.js","webpack://chem-generic-ui/./src/components/models/GenericSubField.js","webpack://chem-generic-ui/./src/components/table/GridBtn.js","webpack://chem-generic-ui/./src/components/dnd/GridDnD.js","webpack://chem-generic-ui/./src/components/table/UConverterRenderer.js","webpack://chem-generic-ui/./src/components/table/GridEntry.js","webpack://chem-generic-ui/./src/components/table/GenericElTableDropTarget.js","webpack://chem-generic-ui/./src/components/table/DropRenderer.js","webpack://chem-generic-ui/./src/components/table/DropTextRenderer.js","webpack://chem-generic-ui/./src/components/table/DropLinkRenderer.js","webpack://chem-generic-ui/./src/components/table/SamOption.js","webpack://chem-generic-ui/./src/components/table/SelectRenderer.js","webpack://chem-generic-ui/./src/components/table/TableRecord.js","webpack://chem-generic-ui/./src/components/dnd/DragDropItemTypes.js","webpack://chem-generic-ui/./src/data/SystemUnits.js","webpack://chem-generic-ui/./src/components/models/Attachment.js","webpack://chem-generic-ui/./src/components/tools/utils.js","webpack://chem-generic-ui/./src/asserts/main.css?bcb4","webpack://chem-generic-ui/./src/components/fields/ButtonTooltip.js","webpack://chem-generic-ui/./src/components/fields/ButtonConfirm.js","webpack://chem-generic-ui/./src/components/admin/ElementManager.js","webpack://chem-generic-ui/./src/components/fields/GenProperties.js","webpack://chem-generic-ui/./src/components/dnd/PanelDnD.js","webpack://chem-generic-ui/./src/components/layers/LayerModal.js","webpack://chem-generic-ui/./src/components/tools/orten.js","webpack://chem-generic-ui/./src/components/layers/GenPropertiesLayer.js","webpack://chem-generic-ui/./src/components/layers/LayersLayout.js","webpack://chem-generic-ui/./src/components/details/GenInterface.js","webpack://chem-generic-ui/./src/components/tools/useReducerWithCallback.js","webpack://chem-generic-ui/./src/components/details/GenDSDetails.js","webpack://chem-generic-ui/./src/components/details/GenSgDetails.js","webpack://chem-generic-ui/./src/components/tools/collate.js","webpack://chem-generic-ui/./src/components/flow/LayerNode.js","webpack://chem-generic-ui/./src/components/flow/FlowView.js","webpack://chem-generic-ui/./src/components/flow/FlowViewerModal.js","webpack://chem-generic-ui/./src/entry.js","webpack://chem-generic-ui/./src/asserts/main.css","webpack://chem-generic-ui/external umd {\"commonjs\":\"lodash\",\"commonjs2\":\"lodash\",\"amd\":\"lodash\",\"root\":\"_\"}","webpack://chem-generic-ui/external umd {\"commonjs\":\"react\",\"commonjs2\":\"react\",\"amd\":\"React\",\"root\":\"React\"}","webpack://chem-generic-ui/external umd {\"commonjs\":\"react-dom\",\"commonjs2\":\"react-dom\",\"amd\":\"ReactDOM\",\"root\":\"ReactDOM\"}","webpack://chem-generic-ui/webpack/bootstrap","webpack://chem-generic-ui/webpack/runtime/chunk loaded","webpack://chem-generic-ui/webpack/runtime/compat get default export","webpack://chem-generic-ui/webpack/runtime/define property getters","webpack://chem-generic-ui/webpack/runtime/global","webpack://chem-generic-ui/webpack/runtime/harmony module decorator","webpack://chem-generic-ui/webpack/runtime/hasOwnProperty shorthand","webpack://chem-generic-ui/webpack/runtime/make namespace object","webpack://chem-generic-ui/webpack/runtime/jsonp chunk loading","webpack://chem-generic-ui/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"react\"), require(\"react-dom\"), require(\"lodash\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"React\", \"ReactDOM\", \"lodash\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory(require(\"react\"), require(\"react-dom\"), require(\"lodash\")) : factory(root[\"React\"], root[\"ReactDOM\"], root[\"_\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(self, function(__WEBPACK_EXTERNAL_MODULE__4639__, __WEBPACK_EXTERNAL_MODULE__1346__, __WEBPACK_EXTERNAL_MODULE__7607__) {\nreturn ","import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { v4 as uuid } from 'uuid';\nimport { DropTarget } from 'react-dnd';\n// import Aviator from 'aviator';\nimport { Tooltip, OverlayTrigger, Popover } from 'react-bootstrap';\n// import UIStore from '../stores/UIStore';\n\n// const handleSampleClick = (type, id) => {\n// const { currentCollection, isSync } = UIStore.getState();\n// if (!isNaN(id)) type += `/${id}`;\n// const collectionUrl = `${currentCollection.id}/${type}`;\n// Aviator.navigate(isSync ? `/scollection/${collectionUrl}` : `/collection/${collectionUrl}`);\n// };\n\n// const handleElementClick = (type, id) => {\n// const { currentCollection, isSync } = UIStore.getState();\n// if (!isNaN(id)) type += `/${id}`;\n// const collectionUrl = `${currentCollection.id}/${type}`;\n// Aviator.navigate(isSync ? `/scollection/${collectionUrl}` : `/collection/${collectionUrl}`);\n// };\n\nconst show = (opt, iconClass, onLink) => {\n if (opt.value && opt.value.el_id) {\n const tips = opt.value.el_tip && opt.value.el_tip.split('@@');\n const tip1 = (tips && tips.length >= 1 && tips[0]) || '';\n const tip2 = (tips && tips.length >= 2 && tips[1]) || '';\n const tit = (\n <div>\n {tip1}\n <br />\n {tip2}\n </div>\n );\n const pop = (\n <Popover id=\"popover-svg\" title={tit} style={{ maxWidth: 'none', maxHeight: 'none' }}>\n <img src={opt.value.el_svg} style={{ height: '26vh', width: '26vh' }} alt=\"\" />\n </Popover>\n );\n let label = opt.value.el_label;\n const simg = (path, tip, txt) => ((path && path !== '') ? (\n <div className=\"s-img\">\n <OverlayTrigger trigger={['hover']} placement=\"left\" rootClose onHide={null} overlay={pop}>\n <img src={path} alt=\"\" />\n </OverlayTrigger>\n <span className=\"data\">{txt}</span>\n </div>\n ) : (\n <OverlayTrigger\n placement=\"top\"\n overlay={(\n <Tooltip id={uuid()}>\n {tip1}\n <br />\n {tip2}\n </Tooltip>\n)}\n >\n <div className=\"data\">{txt}</div>\n </OverlayTrigger>\n ));\n if (opt.value.el_type === 'sample') {\n if (opt.value.is_new !== true) {\n label = (\n // <a role=\"link\"\n // onClick={() => handleSampleClick(opt.value.el_type, opt.value.el_id)}\n // style={{ cursor: 'pointer' }}>\n <a role=\"link\" onClick={() => onLink(opt.value.el_type, opt.value.el_id)} style={{ cursor: 'pointer' }}>\n <span className=\"reaction-material-link\">{label}</span>\n </a>\n );\n }\n }\n if (opt.value.el_type === 'element') {\n label = (\n // <a role=\"link\"\n // onClick={() => handleElementClick(opt.value.el_klass, opt.value.el_id)}\n // style={{ cursor: 'pointer' }}>\n <a role=\"link\" onClick={() => onLink(opt.value.el_klass, opt.value.el_id)} style={{ cursor: 'pointer' }}>\n <i className={opt.value.icon_name} />\n \n <span className=\"reaction-material-link\">{label}</span>\n </a>\n );\n }\n return simg(opt.value.el_svg, opt.value.el_tip, label);\n }\n if (iconClass === 'element') {\n return (<span className=\"fa fa-link icon_generic_nav indicator\" />);\n }\n return (<span className={`icon-${iconClass} indicator`} />);\n};\n\nconst source = (type, props, id) => {\n let isAssoc = false;\n const taggable = (props && props.tag && props.tag.taggable_data) || {};\n if (taggable.element && taggable.element.id === id) {\n isAssoc = false;\n } else {\n isAssoc = !!(taggable.reaction_id || taggable.wellplate_id || taggable.element);\n }\n\n switch (type) {\n case 'molecule':\n return {\n el_id: props.molecule.id,\n el_type: 'molecule',\n el_label: props.molecule_name_label,\n el_tip: `${props.molecule.inchikey}@@${props.molecule.cano_smiles}`,\n };\n case 'sample':\n return {\n el_id: props.id,\n is_new: true,\n cr_opt: isAssoc === true ? 1 : 0,\n isAssoc,\n el_type: 'sample',\n el_label: props.short_label,\n el_tip: props.short_label\n };\n case 'element':\n return {\n el_id: props.id,\n el_type: 'element',\n icon_name: (props.element_klass && props.element_klass.icon_name) || '',\n el_klass: props.type,\n el_label: props.short_label,\n el_tip: `${props.label}@@${props.name}`\n };\n default:\n return {\n el_id: props.id,\n el_type: props.type,\n el_label: props.short_label,\n el_tip: props.short_label,\n };\n }\n};\n\nconst dropTarget = {\n drop(targetProps, monitor) {\n const sourceProps = monitor.getItem().element;\n const sourceTag = source(targetProps.opt.type.split('_')[1], sourceProps, targetProps.opt.id);\n targetProps.onDrop(sourceTag);\n },\n canDrop(_targetProps, _monitor) {\n return true;\n },\n};\n\nconst dropCollect = (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver(),\n canDrop: monitor.canDrop()\n});\n\nclass GenericElDropTarget extends Component {\n render() {\n const {\n connectDropTarget, isOver, canDrop, opt, onLink\n } = this.props;\n const iconClass = (opt.dndItems && opt.dndItems[0] === 'molecule' ? 'sample' : opt.dndItems[0]);\n const className = `target${isOver ? ' is-over' : ''}${canDrop ? ' can-drop' : ''}`;\n return connectDropTarget(<div className={className}>{show(opt, iconClass, onLink)}</div>);\n }\n}\n\nexport default\nDropTarget(props => props.opt.dndItems, dropTarget, dropCollect)(GenericElDropTarget);\n\nGenericElDropTarget.propTypes = {\n connectDropTarget: PropTypes.func.isRequired,\n isOver: PropTypes.bool.isRequired,\n canDrop: PropTypes.bool.isRequired,\n};\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { OverlayTrigger, Tooltip } from 'react-bootstrap';\nimport { v4 as uuid } from 'uuid';\n\nconst FieldLabel = props => {\n const { label, desc } = props;\n return (desc && desc !== '') ? (\n <OverlayTrigger placement=\"top\" delayShow={1000} overlay={<Tooltip id={uuid()}>{desc}</Tooltip>}>\n <span>{label}</span>\n </OverlayTrigger>\n ) : <span>{label}</span>;\n};\n\nFieldLabel.propTypes = { label: PropTypes.string.isRequired, desc: PropTypes.string };\nFieldLabel.defaultProps = { desc: '' };\n\nexport default FieldLabel;\n","/* eslint-disable react/destructuring-assignment */\n/* eslint-disable jsx-a11y/no-static-element-interactions */\n/* eslint-disable jsx-a11y/anchor-is-valid */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable no-eval */\n/* eslint-disable no-restricted-globals */\n\nimport React from 'react';\nimport {\n Button, Checkbox, FormGroup, FormControl,\n InputGroup, ListGroup, ListGroupItem, OverlayTrigger, Radio, Tooltip\n} from 'react-bootstrap';\nimport Select from 'react-select';\nimport Dropzone from 'react-dropzone';\nimport { v4 as uuid } from 'uuid';\nimport { filter } from 'lodash';\nimport FieldLabel from './FieldLabel';\nimport {\n downloadFile, genUnit, genUnitSup, unitConvToBase\n} from '../tools/utils';\nimport GenericElDropTarget from '../dnd/GenericElDropTarget';\nimport TableRecord from '../table/TableRecord';\n\nconst GenPropertiesCalculate = opt => {\n const fields = (opt.layer && opt.layer.fields) || [];\n let showVal = 0;\n let showTxt = null;\n let newFormula = opt.formula;\n\n const calFields = filter(fields, o => (o.type === 'integer' || o.type === 'system-defined'));\n const regF = /[a-zA-Z0-9]+/gm;\n // eslint-disable-next-line max-len\n const varFields = (opt.formula && opt.formula.match(regF)) ? opt.formula.match(regF).sort((a, b) => b.length - a.length) : [];\n\n varFields.forEach(fi => {\n if (!isNaN(fi)) return;\n\n const tmpField = calFields.find(e => e.field === fi);\n if (typeof tmpField === 'undefined' || tmpField == null) {\n newFormula = newFormula.replace(fi, 0);\n } else {\n newFormula = (tmpField.type === 'system-defined') ? newFormula.replace(fi, parseFloat(unitConvToBase(tmpField) || 0)) : newFormula.replace(fi, parseFloat(tmpField.value || 0));\n }\n });\n\n if (opt.type === 'formula-field') {\n try {\n showVal = eval(newFormula);\n showTxt = !isNaN(showVal) ? parseFloat(showVal.toFixed(5)) : 0;\n } catch (e) {\n if (e instanceof SyntaxError) {\n showTxt = e.message;\n }\n }\n }\n\n const fieldHeader = opt.label === '' ? null : (<FieldLabel label={opt.label} desc={opt.description} />);\n return (\n <FormGroup>\n {fieldHeader}\n <InputGroup>\n <FormControl\n type=\"text\"\n value={showTxt}\n onChange={opt.onChange}\n className=\"readonly\"\n readOnly=\"readonly\"\n required={false}\n placeholder={opt.placeholder}\n min={0}\n />\n <InputGroup.Button>\n <OverlayTrigger\n placement=\"bottom\"\n overlay={<Tooltip id=\"update_calculation_field\">adjust</Tooltip>}\n >\n <Button active className=\"clipboardBtn\" onClick={() => opt.onChange(showTxt)}>\n <i className=\"fa fa-arrow-right\" aria-hidden=\"true\" />\n </Button>\n </OverlayTrigger>\n </InputGroup.Button>\n <FormControl\n type=\"text\"\n value={opt.value}\n onChange={opt.onChange}\n required={false}\n placeholder={opt.placeholder}\n min={0}\n />\n </InputGroup>\n </FormGroup>\n );\n};\n\nconst GenPropertiesCheckbox = opt => (\n <FormGroup>\n <Checkbox\n name={opt.field}\n checked={opt.value}\n onChange={opt.onChange}\n disabled={opt.readOnly}\n >\n <FormControl.Static>{opt.label}</FormControl.Static>\n </Checkbox>\n </FormGroup>\n);\n\nconst GenPropertiesDrop = opt => {\n const className = opt.isRequired ? 'drop_generic_properties field_required' : 'drop_generic_properties';\n\n let createOpt = null;\n if (opt.value.is_new === true) {\n createOpt = (\n <div className=\"sample_radios\">\n <OverlayTrigger placement=\"top\" overlay={<Tooltip id={uuid()}>associate with this sample</Tooltip>}>\n <Radio name={`dropS_${opt.value.el_id}`} disabled={opt.value.isAssoc === true} checked={opt.value.cr_opt === 0} onChange={() => opt.onChange({ ...opt.value, cr_opt: 0 })} inline>Current</Radio>\n </OverlayTrigger>\n <OverlayTrigger placement=\"top\" overlay={<Tooltip id={uuid()}>split from the sample first and then associate with it</Tooltip>}>\n <Radio name={`dropS_${opt.value.el_id}`} checked={opt.value.cr_opt === 1} onChange={() => opt.onChange({ ...opt.value, cr_opt: 1 })} inline>Split</Radio>\n </OverlayTrigger>\n <OverlayTrigger placement=\"top\" overlay={<Tooltip id={uuid()}>duplicate the sample first and then associate with it</Tooltip>}>\n <Radio name={`dropS_${opt.value.el_id}`} checked={opt.value.cr_opt === 2} onChange={() => opt.onChange({ ...opt.value, cr_opt: 2 })} inline>Copy</Radio>\n </OverlayTrigger>\n </div>\n );\n }\n const fieldHeader = opt.label === '' ? null : <FieldLabel label={opt.label} desc={opt.description} />;\n const defaultIcon = opt.type === 'drag_element' ? <span className=\"fa fa-link icon_generic_nav indicator\" /> : <span className=\"icon-sample indicator\" />;\n const dragTarget = opt.isPreview === true ? <div className=\"target\">{defaultIcon}</div> : <GenericElDropTarget opt={opt} onDrop={opt.onChange} />;\n\n return (\n <FormGroup>\n {fieldHeader}\n <FormControl.Static style={{ paddingBottom: '0px' }}>\n <div className={className}>\n {dragTarget}\n {createOpt}\n <div>\n <OverlayTrigger placement=\"top\" overlay={<Tooltip id={uuid()}>remove</Tooltip>}>\n <Button className=\"btn_del\" bsStyle=\"danger\" bsSize=\"xsmall\" onClick={() => opt.onChange({})}><i className=\"fa fa-trash-o\" aria-hidden=\"true\" /></Button>\n </OverlayTrigger>\n </div>\n </div>\n </FormControl.Static>\n </FormGroup>\n );\n};\n\nconst GenDummy = () => (\n <FormGroup className=\"text_generic_properties\">\n <FormControl type=\"text\" className=\"dummy\" readOnly />\n </FormGroup>\n);\n\nconst GenPropertiesInputGroup = opt => {\n const fieldHeader = opt.label === '' ? null : <FieldLabel label={opt.label} desc={opt.description} />;\n const fLab = e => <div key={uuid()} className=\"form-control g_input_group_label\">{e.value}</div>;\n const fTxt = e => <FormControl className=\"g_input_group\" key={e.id} type={e.type} name={e.id} value={e.value} onChange={o => opt.onSubChange(o, e.id, opt.f_obj)} />;\n const fUnit = e => (\n <span key={`${e.id}_GenPropertiesInputGroup`} className=\"input-group\" style={{ width: '100%' }}>\n <FormControl key={e.id} type=\"number\" name={e.id} value={e.value} onChange={o => opt.onSubChange(o, e.id, opt.f_obj)} min={1} />\n <InputGroup.Button>\n <Button active onClick={() => opt.onSubChange(e, e.id, opt.f_obj)} bsStyle=\"success\">\n {genUnitSup(genUnit(e.option_layers, e.value_system).label) || ''}\n </Button>\n </InputGroup.Button>\n </span>\n );\n const subs = opt.f_obj && opt.f_obj.sub_fields && opt.f_obj.sub_fields.map(e => {\n if (e.type === 'label') { return fLab(e); } if (e.type === 'system-defined') { return fUnit(e); } return fTxt(e);\n });\n return (\n <FormGroup>\n {fieldHeader}\n <InputGroup style={{ display: 'flex' }}>\n {subs}\n </InputGroup>\n </FormGroup>\n );\n};\n\nconst GenPropertiesNumber = opt => {\n let className = opt.isEditable ? 'editable' : 'readonly';\n className = opt.isRequired && opt.isEditable ? 'required' : className;\n const fieldHeader = opt.label === '' ? null : <FieldLabel label={opt.label} desc={opt.description} />;\n return (\n <FormGroup>\n {fieldHeader}\n <FormControl\n type=\"number\"\n value={opt.value}\n onChange={opt.onChange}\n className={className}\n readOnly={opt.readOnly}\n required={opt.isRequired}\n placeholder={opt.placeholder}\n min={1}\n />\n </FormGroup>\n );\n};\n\nconst GenPropertiesSelect = opt => {\n const options = opt.options.map(op => ({ value: op.key, name: op.key, label: op.label }));\n let className = opt.isEditable ? 'select_generic_properties_editable' : 'select_generic_properties_readonly';\n className = opt.isRequired && opt.isEditable ? 'select_generic_properties_required' : className;\n className = `${className} status-select`;\n const fieldHeader = opt.label === '' ? null : <FieldLabel label={opt.label} desc={opt.description} />;\n const val = options.find(o => o.value === opt.value) || null;\n return (\n <FormGroup>\n {fieldHeader}\n <Select\n isClearable\n menuContainerStyle={{ position: 'absolute' }}\n name={opt.field}\n multi={false}\n options={options}\n value={val}\n onChange={opt.onChange}\n className={className}\n disabled={opt.readOnly}\n />\n </FormGroup>\n );\n};\n\nconst GenPropertiesSystemDefined = opt => {\n let className = opt.isEditable ? 'editable' : 'readonly';\n className = opt.isRequired && opt.isEditable ? 'required' : className;\n const fieldHeader = opt.label === '' ? null : <FieldLabel label={opt.label} desc={opt.description} />;\n return (\n <FormGroup>\n {fieldHeader}\n <InputGroup>\n <FormControl\n type=\"number\"\n value={opt.value}\n onChange={opt.onChange}\n className={className}\n readOnly={opt.readOnly}\n required={opt.isRequired}\n placeholder={opt.placeholder}\n min={1}\n />\n <InputGroup.Button>\n <Button disabled={opt.readOnly} active onClick={opt.onClick} bsStyle=\"success\">\n {genUnitSup(genUnit(opt.option_layers, opt.value_system).label) || ''}\n </Button>\n </InputGroup.Button>\n </InputGroup>\n </FormGroup>\n );\n};\n\nconst GenPropertiesTable = opt => {\n const fieldHeader = opt.label === '' ? null : <FieldLabel label={opt.label} desc={opt.description} />;\n return (\n <FormGroup>\n {fieldHeader}\n <TableRecord key={`grid_${opt.f_obj.field}`} opt={opt} />\n </FormGroup>\n );\n};\n\nconst GenPropertiesText = opt => {\n let className = opt.isEditable ? 'editable' : 'readonly';\n className = opt.isRequired && opt.isEditable ? 'required' : className;\n const fieldHeader = opt.label === '' ? null : <FieldLabel label={opt.label} desc={opt.description} />;\n return (\n <FormGroup className=\"text_generic_properties\">\n {fieldHeader}\n <FormControl\n type=\"text\"\n value={opt.value}\n onChange={opt.onChange}\n className={className}\n readOnly={opt.readOnly}\n required={opt.isRequired}\n placeholder={opt.placeholder}\n />\n </FormGroup>\n );\n};\n\nconst GenPropertiesTextArea = opt => {\n let className = opt.isEditable ? 'editable' : 'readonly';\n className = opt.isRequired && opt.isEditable ? 'required' : className;\n const fieldHeader = opt.label === '' ? null : <FieldLabel label={opt.label} desc={opt.description} />;\n return (\n <FormGroup className=\"text_generic_properties\">\n {fieldHeader}\n <FormControl\n componentClass=\"textarea\"\n value={opt.value}\n onChange={opt.onChange}\n className={className}\n readOnly={opt.readOnly}\n required={opt.isRequired}\n placeholder={opt.placeholder}\n />\n </FormGroup>\n );\n};\n\nconst GenTextFormula = opt => {\n const { layers } = opt;\n const fieldHeader = opt.label === '' ? null : <FieldLabel label={opt.label} desc={opt.description} />;\n const subs = [];\n (opt.f_obj && opt.f_obj.text_sub_fields).map(e => {\n const { layer, field, separator } = e;\n if (field && field !== '') {\n if (field.includes('[@@]')) {\n const fds = field.split('[@@]');\n if (fds && fds.length === 2) {\n const fdt = ((layers[layer] || {}).fields || []).find(f => f.field === fds[0] && f.type === 'table');\n ((fdt && fdt.sub_values) || []).forEach(svv => {\n if (svv && svv[fds[1]] && svv[fds[1]] !== '') { subs.push(svv[fds[1]]); subs.push(separator); }\n });\n }\n } else {\n const fd = ((layers[layer] || {}).fields || []).find(f => f.field === field);\n if (fd && fd.value && fd.value !== '') { subs.push(fd.value); subs.push(separator); }\n }\n }\n return true;\n });\n return (\n <FormGroup className=\"text_generic_properties\">\n {fieldHeader}\n <FormControl\n type=\"text\"\n value={subs.join('')}\n className=\"readonly\"\n readOnly\n required={false}\n />\n </FormGroup>\n );\n};\n\nconst renderListGroupItem = (opt, attachment) => {\n const delBtn = (\n <Button bsSize=\"xsmall\" id={attachment.uid} className=\"button-right\" onClick={() => opt.onChange({ ...opt.value, action: 'd', uid: attachment.uid })}>\n <i className=\"fa fa-times\" aria-hidden=\"true\" />\n </Button>\n );\n const filename = attachment.aid\n ? (<a onClick={() => downloadFile({ contents: `/api/v1/attachments/${attachment.aid}`, name: attachment.filename })} style={{ cursor: 'pointer' }}>{attachment.filename}</a>) : attachment.filename;\n return (\n <div className=\"generic_grid\">\n <div>\n <div>{delBtn}</div>\n <div className=\"generic_grid_row\">{filename}</div>\n <div className=\"generic_grid_row\">\n <FormGroup bsSize=\"small\">\n <FormControl\n type=\"text\"\n value={attachment.label || ''}\n onChange={e => opt.onChange({\n ...opt.value, action: 'l', uid: attachment.uid, val: e\n })}\n />\n </FormGroup>\n </div>\n </div>\n </div>\n );\n};\n\nconst GenPropertiesUpload = opt => {\n const fieldHeader = opt.label === '' ? null : <FieldLabel label={opt.label} desc={opt.description} />;\n const attachments = (opt.value && opt.value.files) || [];\n if (opt.isSearchCriteria) return (<div>(This is an upload)</div>);\n\n return (\n <FormGroup className=\"text_generic_properties\">\n {fieldHeader}\n <FormControl.Static style={{ paddingBottom: '0px' }}>\n <Dropzone\n id=\"dropzone\"\n onDrop={e => opt.onChange({\n ...opt.value, action: 'f', val: e\n })}\n style={{ height: 30, width: '100%', border: '3px dashed lightgray' }}\n >\n <div style={{ textAlign: 'center', paddingTop: 6, color: 'gray' }}>\n Drop File, or Click to Select.\n </div>\n </Dropzone>\n </FormControl.Static>\n <ListGroup>\n {attachments.map(attachment => (\n <ListGroupItem key={attachment.id} className=\"generic_files\">\n {renderListGroupItem(opt, attachment)}\n </ListGroupItem>\n ))}\n </ListGroup>\n </FormGroup>\n );\n};\n\nconst GenWFNext = opt => {\n const options = (opt.f_obj.wf_options || []).map(op => {\n const label = op.label.match(/(.*)\\(.*\\)/);\n return ({ value: op.key, name: op.key, label: label[1] === '' ? label[0] : label[1] });\n });\n let className = opt.isEditable ? 'select_generic_properties_editable' : 'select_generic_properties_readonly';\n className = opt.isRequired && opt.isEditable ? 'select_generic_properties_required' : className;\n className = `${className} status-select`;\n const fieldHeader = opt.label === '' ? null : <FieldLabel label={opt.label} desc={opt.description} />;\n const val = options.find(o => o.value === opt.value) || null;\n return (\n <FormGroup>\n {fieldHeader}\n <Select\n menuContainerStyle={{ position: 'absolute' }}\n name={opt.field}\n multi={false}\n options={options}\n value={val}\n onChange={opt.onChange}\n className={className}\n disabled={opt.readOnly}\n />\n </FormGroup>\n );\n};\n\nexport {\n GenPropertiesCalculate,\n GenPropertiesCheckbox,\n GenPropertiesDrop,\n GenDummy,\n GenTextFormula,\n GenPropertiesInputGroup,\n GenPropertiesNumber,\n GenPropertiesSelect,\n GenPropertiesSystemDefined,\n GenPropertiesTable,\n GenPropertiesText,\n GenPropertiesTextArea,\n GenPropertiesUpload,\n GenWFNext\n};\n","import { v4 as uuid } from 'uuid';\n\nexport default class GenericSubField {\n constructor(args) {\n Object.assign(this, args);\n if (!this.id) { this.id = GenericSubField.buildID(); }\n }\n\n static buildID() { return uuid(); }\n}\n","/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { v4 as uuid } from 'uuid';\nimport { Button, OverlayTrigger, Tooltip } from 'react-bootstrap';\nimport GridDnD from '../dnd/GridDnD';\n\nconst AddRowBtn = ({ addRow }) => (\n <OverlayTrigger delayShow={1000} placement=\"top\" overlay={<Tooltip id={uuid()}>add entry</Tooltip>}>\n <Button onClick={() => addRow()} bsSize=\"xsmall\" bsStyle=\"primary\"><i className=\"fa fa-plus\" aria-hidden=\"true\" /></Button>\n </OverlayTrigger>\n);\n\nAddRowBtn.propTypes = { addRow: PropTypes.func.isRequired };\n\nconst DelRowBtn = ({ delRow, node }) => {\n const { data } = node;\n return (\n <OverlayTrigger delayShow={1000} placement=\"top\" overlay={<Tooltip id={uuid()}>remove</Tooltip>}>\n <Button onClick={() => delRow(data)} bsSize=\"xsmall\"><i className=\"fa fa-times\" aria-hidden=\"true\" /></Button>\n </OverlayTrigger>\n );\n};\n\nDelRowBtn.propTypes = { delRow: PropTypes.func.isRequired, node: PropTypes.object.isRequired };\n\nconst NullRowBtn = () => (<div className=\"grid-btn-none\"><span className=\"fa fa-arrows\" /></div>);\n\nconst DnDRowBtn = ({\n moveRow, field, type, node\n}) => (\n <GridDnD field={field} type={type} rowValue={node.data} handleMove={moveRow} />\n);\n\nDnDRowBtn.propTypes = {\n moveRow: PropTypes.func.isRequired,\n field: PropTypes.string.isRequired,\n type: PropTypes.string.isRequired,\n node: PropTypes.object.isRequired\n};\n\nexport {\n AddRowBtn, DelRowBtn, DnDRowBtn, NullRowBtn\n};\n","import React from 'react';\nimport { DragSource, DropTarget } from 'react-dnd';\nimport { compose } from 'redux';\n\nconst orderSource = {\n beginDrag(props) {\n const { field, rowValue } = props;\n return { fid: field, rId: rowValue.id };\n },\n};\n\nconst orderTarget = {\n drop(props, monitor) {\n const { field, rowValue, handleMove } = props;\n const tar = { fid: field, rId: rowValue.id };\n const src = monitor.getItem();\n if (tar.fid === src.fid && tar.rId !== src.rId) handleMove(src.rId, tar.rId);\n },\n};\n\nconst orderDragCollect = (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n});\n\nconst orderDropCollect = (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver(),\n canDrop: monitor.canDrop(),\n});\n\nconst GridDnD = ({\n connectDragSource, connectDropTarget, isDragging, isOver, canDrop,\n}) => {\n const className = `generic_grid_dnd${isOver ? ' is-over' : ''}${canDrop ? ' can-drop' : ''}${isDragging ? ' is-dragging' : ''}`;\n return compose(connectDragSource, connectDropTarget)(<div className={className}><div className=\"dnd-btn\"><span className=\"text-info fa fa-arrows\" /></div></div>);\n};\n\nexport default compose(\n DragSource(s => s.type, orderSource, orderDragCollect),\n DropTarget(s => s.type, orderTarget, orderDropCollect)\n)(GridDnD);\n","/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button } from 'react-bootstrap';\nimport { genUnit, genUnitSup } from '../tools/utils';\n\nconst UConverterRenderer = props => {\n const { sField, onChange, node } = props;\n if (sField.type !== 'system-defined') return null;\n const { data } = node;\n return (\n <Button key={`ucr_${data.id}`} active onClick={() => onChange(sField, node)} bsStyle=\"success\">\n {genUnitSup(genUnit(sField.option_layers, data[sField.id].value_system).label) || ''}\n </Button>\n );\n};\n\nUConverterRenderer.propTypes = {\n sField: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n node: PropTypes.object.isRequired\n};\n\nexport default UConverterRenderer;\n","/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport { FormControl, InputGroup } from 'react-bootstrap';\n\nconst setCell = (columnDef, rowValue) => {\n const {\n type, field, onCellChange, cellRenderer, cellParams\n } = columnDef;\n switch (type) {\n case 'text':\n return (\n <FormControl type=\"text\" value={rowValue[field] || ''} onChange={e => onCellChange({ e, columnDef, rowValue })} />\n );\n case 'system-defined':\n return (\n <InputGroup>\n <FormControl type=\"number\" value={rowValue[field].value || ''} onChange={e => onCellChange({ e, columnDef, rowValue })} />\n <InputGroup.Button>\n {cellRenderer({ ...cellParams, node: { data: rowValue } })}\n </InputGroup.Button>\n </InputGroup>\n );\n case 'select':\n case 'drag_molecule':\n case 'drag_sample':\n case 'dnd':\n return (cellRenderer({ ...cellParams, node: { data: rowValue } }));\n default:\n return <span />;\n }\n};\n\nconst ColumnHeader = _columnDefs => {\n const columnDefs = _columnDefs;\n const ch = [];\n const h = (col, idx) => {\n const {\n width, headerName, headerComponent, headerParams\n } = col;\n const colCss = {};\n if (width) { Object.assign(colCss, { width, minWidth: width }); }\n return (\n <div key={`column_header_${col.colId || col.field}_${idx}`} className=\"generic_grid_header\" style={colCss}>\n {headerComponent ? headerComponent(headerParams) : null}\n <div style={colCss}>{headerName}</div>\n </div>\n );\n };\n columnDefs.forEach((col, idx) => ch.push(h(col, idx)));\n return (<div className=\"generic_grid\" style={{ borderBottom: '1px solid #ccc' }}><div>{ch}</div></div>);\n};\n\nconst ColumnRow = (_columnDefs, _rowValue) => {\n const columnDefs = _columnDefs;\n const rowValue = _rowValue;\n const ch = [];\n const h = (col, val, idx) => {\n const {\n field, width, cellParams, cellRenderer\n } = col;\n const colCss = {};\n if (width) { Object.assign(colCss, { width, minWidth: width }); }\n return (\n <div key={`column_row_${val.id}_${col.colId || col.field}_${idx}`} className=\"generic_grid_row\" style={colCss}>\n {field ? (setCell(col, val) || '') : (cellRenderer({ ...cellParams, node: { data: val } }) || '')}\n </div>\n );\n };\n columnDefs.forEach((col, idx) => ch.push(h(col, rowValue, idx)));\n return (<div key={`column_row_${rowValue.id}`} className=\"generic_grid\"><div>{ch}</div></div>);\n};\n\nconst NoRow = rows => {\n const values = rows;\n if (values && values.length > 0) return null;\n return (<div className=\"generic_grid\"><div><div className=\"generic_grid_row\" style={{ width: '100%' }}>(No data)</div></div></div>);\n};\n\nexport { ColumnHeader, ColumnRow, NoRow };\n","/* eslint-disable no-unused-vars */\n/* eslint-disable react/forbid-prop-types */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { v4 as uuid } from 'uuid';\nimport { DropTarget } from 'react-dnd';\nimport {\n Tooltip, OverlayTrigger, Popover, Button\n} from 'react-bootstrap';\n\nconst base = (opt, iconClass, onDrop = () => {}, params = {}) => {\n const noSvg = '/images/not_available.svg';\n if (opt.value && opt.value.el_id) {\n const label = opt.value.el_label;\n const svg = (opt.value.el_svg && opt.value.el_svg.endsWith('.svg')) ? opt.value.el_svg : noSvg;\n const pop = (\n <Popover id=\"popover-svg\" title={label} style={{ maxWidth: 'none', maxHeight: 'none' }}>\n <img src={svg} style={{ height: '26vh', width: '26vh' }} alt=\"\" />\n </Popover>\n );\n const simg = (path, txt) => ((path && path !== '') ? (\n <div className=\"s-img\">\n <OverlayTrigger delayShow={1000} trigger={['hover']} placement=\"top\" rootClose onHide={null} overlay={pop}>\n <img className=\"generic_grid_img\" src={path} alt=\"\" />\n </OverlayTrigger>\n <div className=\"del_btn\">\n <OverlayTrigger delayShow={1000} placement=\"top\" overlay={<Tooltip id={uuid()}>remove this molecule</Tooltip>}>\n <Button className=\"btn_del\" bsSize=\"xsmall\" onClick={() => onDrop({}, params)}><i className=\"fa fa-trash-o\" aria-hidden=\"true\" /></Button>\n </OverlayTrigger>\n </div>\n </div>\n ) : (<div className=\"data\" style={{ width: '4vw' }}>{txt}</div>));\n return simg(svg, label);\n }\n return (<span className={`icon-${iconClass} indicator`} style={{ width: '4vw' }} />);\n};\n\nconst show = (opt, iconClass, onDrop) => {\n if (opt.type === 'table') {\n const sField = opt.sField || {};\n const subVal = opt.data[sField.id];\n const { data } = opt;\n return base(subVal, iconClass, onDrop, { sField, data });\n }\n return base(opt, iconClass);\n};\n\nconst source = (type, props, id) => {\n let isAssoc = false;\n const taggable = (props && props.tag && props.tag.taggable_data) || {};\n if (taggable.element && taggable.element.id === id) {\n isAssoc = false;\n } else {\n isAssoc = !!(taggable.reaction_id || taggable.wellplate_id || taggable.element);\n }\n\n switch (type) {\n case 'molecule':\n return {\n el_id: props.molecule.id,\n el_type: 'molecule',\n el_label: props.molecule.cano_smiles || props.molecule_formula || props.molecule_name_label,\n el_inchikey: props.molecule.inchikey,\n el_smiles: props.molecule.cano_smiles,\n el_iupac: props.molecule.iupac_name,\n el_molecular_weight: props.molecule.molecular_weight,\n el_svg: `/images/molecules/${props.molecule.molecule_svg_file}`,\n };\n case 'sample':\n return {\n el_id: props.id,\n is_new: true,\n cr_opt: 1,\n isAssoc,\n el_type: 'sample',\n el_label: props.short_label,\n el_short_label: props.short_label,\n el_name: props.name,\n el_external_label: props.external_label,\n el_molecular_weight: props.molecule_molecular_weight,\n el_svg: props.sample_svg_file ? `/images/samples/${props.sample_svg_file}` : `/images/molecules/${props.molecule.molecule_svg_file}`,\n };\n default:\n return {\n el_id: props.id,\n is_new: true,\n cr_opt: 0,\n el_type: props.type,\n el_label: props.short_label,\n };\n }\n};\n\nconst dropTarget = {\n drop(targetProps, monitor) {\n const sourceProps = monitor.getItem().element;\n const type = targetProps.opt.sField.type.split('_')[1];\n const sourceTag = source(type, sourceProps, targetProps.opt.id);\n targetProps.onDrop(sourceTag, targetProps.opt);\n },\n canDrop(targetProps, monitor) {\n return true;\n },\n};\n\nconst dropCollect = (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver(),\n canDrop: monitor.canDrop()\n});\n\nclass GenericElTableDropTarget extends Component {\n render() {\n const {\n connectDropTarget, isOver, canDrop, opt, onDrop\n } = this.props;\n const className = `target${isOver ? ' is-over' : ''}${canDrop ? ' can-drop' : ''}`;\n return connectDropTarget(<div className={className} style={{ display: 'inline-flex', justifyContent: 'center' }}>{show(opt, 'sample', onDrop)}</div>);\n }\n}\n\nexport default\nDropTarget(props => props.opt.dndItems, dropTarget, dropCollect)(GenericElTableDropTarget);\n\nGenericElTableDropTarget.propTypes = {\n connectDropTarget: PropTypes.func.isRequired,\n isOver: PropTypes.bool.isRequired,\n canDrop: PropTypes.bool.isRequired,\n opt: PropTypes.object.isRequired,\n onDrop: PropTypes.func\n};\n\nGenericElTableDropTarget.defaultProps = { onDrop: () => {} };\n","/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { cloneDeep } from 'lodash';\nimport GenericElTableDropTarget from './GenericElTableDropTarget';\n\nconst DropRenderer = props => {\n const {\n opt, sField, onChange, node\n } = props;\n if (!['drag_molecule', 'drag_sample'].includes(sField.type)) return null;\n const { data } = node;\n opt.dndItems = [sField.type.split('_')[1]];\n opt.sField = sField;\n opt.data = data;\n const oopt = cloneDeep(opt);\n return (\n <div className=\"drop_generic_properties drop_generic_table_wrap\">\n <GenericElTableDropTarget opt={oopt} onDrop={onChange} />\n </div>\n );\n};\n\nDropRenderer.propTypes = {\n sField: PropTypes.object.isRequired,\n opt: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n node: PropTypes.object.isRequired\n};\n\nexport default DropRenderer;\n","/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { OverlayTrigger, Tooltip } from 'react-bootstrap';\n\nconst DropTextRenderer = props => {\n const { attr, sField, node } = props;\n let displayValue = ((node.data[sField.id] || {}).value || {})[`el_${attr.value}`] || '';\n displayValue = (attr.value === 'molecular_weight' && displayValue !== '') ? displayValue.toFixed(6) : displayValue;\n return (\n <OverlayTrigger placement=\"top\" overlay={<Tooltip id=\"copy_clipboard\">copy to clipboard</Tooltip>}>\n <div role=\"button\" data-clipboard-text={displayValue} className=\"clipboardBtn\" style={{ wordBreak: 'break-all', cursor: 'copy' }}>\n {displayValue}\n </div>\n </OverlayTrigger>\n );\n};\n\nDropTextRenderer.propTypes = {\n attr: PropTypes.object.isRequired,\n sField: PropTypes.object.isRequired,\n node: PropTypes.object.isRequired\n};\n\nexport default DropTextRenderer;\n","/* eslint-disable jsx-a11y/anchor-is-valid */\n/* eslint-disable jsx-a11y/click-events-have-key-events */\n/* eslint-disable jsx-a11y/interactive-supports-focus */\n/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\n// import Aviator from 'aviator';\n// import UIStore from '../stores/UIStore';\n\n// const linkSample = (type, id) => {\n// const { currentCollection, isSync } = UIStore.getState();\n// const collectionUrl = (!isNaN(id)) ?\n// `${currentCollection.id}/${type}/${id}` : `${currentCollection.id}/${type}`;\n// Aviator.navigate(isSync ? `/scollection/${collectionUrl}` : `/collection/${collectionUrl}`);\n// };\n\nconst DropLinkRenderer = props => {\n const { sField, node, onLink } = props;\n const dId = ((node.data[sField.id] || {}).value || {}).el_id || '';\n const dVal = ((node.data[sField.id] || {}).value || {}).el_short_label || ' ';\n if (dId === '') return <div />;\n return (\n <a role=\"link\" onClick={() => onLink('sample', dId)} style={{ cursor: 'pointer' }}>\n <span className=\"reaction-material-link\">{dVal}</span>\n </a>\n );\n};\n\nDropLinkRenderer.propTypes = {\n sField: PropTypes.object.isRequired,\n node: PropTypes.object.isRequired,\n onLink: PropTypes.func.isRequired\n};\n\nexport default DropLinkRenderer;\n","/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { v4 as uuid } from 'uuid';\nimport { OverlayTrigger, Radio, Tooltip } from 'react-bootstrap';\n\nconst SamOption = props => {\n const { sField, node, onChange } = props;\n const { data } = node;\n const fValue = (data[sField.id] && data[sField.id].value) || {};\n if (!fValue.is_new) return <div />;\n const rUUID = uuid();\n return (\n <div className=\"generic_sam_options\">\n <OverlayTrigger delayShow={1000} placement=\"right\" overlay={<Tooltip id={uuid()}>associate with this sample</Tooltip>}>\n <Radio\n name={`dropS_${rUUID}`}\n disabled={fValue.isAssoc}\n checked={fValue.cr_opt === 0}\n onChange={() => onChange({ node, subField: sField, crOpt: 0 })}\n >\n Current\n </Radio>\n </OverlayTrigger>\n <OverlayTrigger delayShow={1000} placement=\"right\" overlay={<Tooltip id={uuid()}>split from the sample first and then associate with it</Tooltip>}>\n <Radio\n name={`dropS_${rUUID}`}\n checked={fValue.cr_opt === 1}\n onChange={() => onChange({ node, subField: sField, crOpt: 1 })}\n >\n Split\n </Radio>\n </OverlayTrigger>\n <OverlayTrigger delayShow={1000} placement=\"right\" overlay={<Tooltip id={uuid()}>duplicate the sample first and then associate with it</Tooltip>}>\n <Radio\n name={`dropS_${rUUID}`}\n checked={fValue.cr_opt === 2}\n onChange={() => onChange({ node, subField: sField, crOpt: 2 })}\n >\n Copy\n </Radio>\n </OverlayTrigger>\n </div>\n );\n};\n\nSamOption.propTypes = {\n sField: PropTypes.object.isRequired,\n node: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired\n};\n\nexport default SamOption;\n","/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Select from 'react-select';\n\nconst SelectRenderer = props => {\n const {\n sField, onChange, sOptions, node\n } = props;\n if (sField.type !== 'select' || sOptions.length < 1) return null;\n const { data } = node;\n const val = sOptions.find(o => o.value === data[sField.id].value) || null;\n return (\n <Select\n isClearable\n menuContainerStyle={{ position: 'absolute' }}\n multi={false}\n options={sOptions}\n value={val}\n onChange={e => onChange(e, sField, node)}\n className=\"status-select\"\n style={{ textAlign: 'left' }}\n />\n );\n};\n\nSelectRenderer.propTypes = {\n sField: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n node: PropTypes.object.isRequired,\n sOptions: PropTypes.arrayOf(PropTypes.object).isRequired\n};\n\nexport default SelectRenderer;\n","/* eslint-disable no-restricted-globals */\n/* eslint-disable no-empty */\n/* eslint-disable react/forbid-prop-types */\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport Numeral from 'numeral';\nimport GenericSubField from '../models/GenericSubField';\nimport {\n AddRowBtn, DelRowBtn, DnDRowBtn, NullRowBtn\n} from './GridBtn';\nimport { ColumnHeader, ColumnRow, NoRow } from './GridEntry';\nimport UConverterRenderer from './UConverterRenderer';\nimport {\n genUnits, unitConversion, molOptions, samOptions\n} from '../tools/utils';\nimport DropRenderer from './DropRenderer';\nimport DropTextRenderer from './DropTextRenderer';\nimport DropLinkRenderer from './DropLinkRenderer';\nimport SampOption from './SamOption';\nimport DragDropItemTypes from '../dnd/DragDropItemTypes';\nimport SelectRenderer from './SelectRenderer';\n\nexport default class TableRecord extends React.Component {\n constructor(props) {\n super(props);\n this.delRow = this.delRow.bind(this);\n this.addRow = this.addRow.bind(this);\n this.moveRow = this.moveRow.bind(this);\n this.onCellChange = this.onCellChange.bind(this);\n this.onSelectClick = this.onSelectClick.bind(this);\n this.onUnitClick = this.onUnitClick.bind(this);\n this.onDrop = this.onDrop.bind(this);\n this.onChk = this.onChk.bind(this);\n this.getColumns = this.getColumns.bind(this);\n }\n\n onCellChange(params) {\n const { e, columnDef, rowValue } = params;\n const newValue = e.target.value;\n const oldValue = rowValue[columnDef.field].value;\n if (oldValue === newValue) return;\n if (columnDef.type === 'text') {\n rowValue[columnDef.field] = newValue;\n }\n if (columnDef.type === 'system-defined') {\n if (isNaN(newValue)) return;\n rowValue[columnDef.field].value = Numeral(newValue).value();\n }\n const { opt } = this.props;\n const subVals = opt.f_obj.sub_values || [];\n const idx = subVals.findIndex(s => s.id === rowValue.id);\n subVals.splice(idx, 1, rowValue);\n opt.f_obj.sub_values = subVals;\n opt.onSubChange(0, 0, opt.f_obj, true);\n }\n\n onSelectClick(e, subField, node) {\n const { data } = node;\n const { opt } = this.props;\n const subVals = opt.f_obj.sub_values || [];\n const subVal = subVals.find(s => s.id === data.id);\n subVal[subField.id] = { value: e ? e.value : '' };\n const idx = subVals.findIndex(s => s.id === data.id);\n subVals.splice(idx, 1, subVal);\n opt.f_obj.sub_values = subVals;\n opt.onSubChange(subField, subField.id, opt.f_obj, true);\n }\n\n onUnitClick(subField, node) {\n const { data } = node;\n const { opt } = this.props;\n const subVals = opt.f_obj.sub_values || [];\n const subVal = subVals.find(s => s.id === data.id);\n const units = genUnits(subField.option_layers);\n let uIdx = units.findIndex(u => u.key === subVal[subField.id].value_system);\n if (uIdx < units.length - 1) uIdx += 1; else uIdx = 0;\n const vs = units.length > 0 ? units[uIdx].key : '';\n const v = unitConversion(subField.option_layers, vs, subVal[subField.id].value);\n subVal[subField.id] = { value: v, value_system: vs };\n const idx = subVals.findIndex(s => s.id === data.id);\n subVals.splice(idx, 1, subVal);\n opt.f_obj.sub_values = subVals;\n opt.onSubChange(subField, subField.id, opt.f_obj, true);\n }\n\n onDrop(targetProps, targetOpt) {\n const { opt } = this.props;\n const subField = targetOpt.sField;\n const subVals = opt.f_obj.sub_values || [];\n const subVal = subVals.find(s => s.id === targetOpt.data.id);\n subVal[subField.id] = { value: targetProps };\n const idx = subVals.findIndex(s => s.id === targetOpt.data.id);\n subVals.splice(idx, 1, subVal);\n opt.f_obj.sub_values = subVals;\n opt.onSubChange(subField, subField.id, opt.f_obj, true);\n }\n\n onChk(params) {\n const { node, subField, crOpt } = params;\n const { opt } = this.props;\n const subVals = opt.f_obj.sub_values || [];\n const subVal = subVals.find(s => s.id === node.data.id);\n node.data[subField.id].value.cr_opt = crOpt;\n subVal[subField.id] = { value: node.data[subField.id].value };\n const idx = subVals.findIndex(s => s.id === node.data.id);\n subVals.splice(idx, 1, subVal);\n opt.f_obj.sub_values = subVals;\n opt.onSubChange(subField, subField.id, opt.f_obj, true);\n }\n\n getColumns() {\n const { opt } = this.props;\n const { selectOptions } = opt;\n const sValues = (opt.f_obj.sub_values || []);\n let columnDefs = [];\n (opt.f_obj.sub_fields || []).forEach(sF => {\n let colDef = {\n type: sF.type, headerName: sF.col_name, field: sF.id\n };\n const colDefExt = [];\n if (sF.type === 'text') {\n colDef = { ...colDef, editable: true, onCellChange: this.onCellChange };\n }\n if (sF.type === 'select') {\n let sOptions = (selectOptions[sF.option_layers] && selectOptions[sF.option_layers].options) || [];\n sOptions = sOptions.map(op => ({ value: op.key, name: op.key, label: op.label }));\n const cellParams = { sField: sF, onChange: this.onSelectClick, sOptions };\n colDef = {\n ...colDef, cellRenderer: SelectRenderer, cellParams, onCellChange: this.onCellChange\n };\n }\n if (sF.type === 'system-defined') {\n const cellParams = { sField: sF, onChange: this.onUnitClick };\n colDef = {\n ...colDef, cellRenderer: UConverterRenderer, cellParams, onCellChange: this.onCellChange\n };\n }\n if (sF.type === 'drag_molecule') {\n const cellParams = { sField: sF, opt, onChange: this.onDrop };\n colDef = {\n ...colDef, cellRenderer: DropRenderer, cellParams, onCellChange: this.onCellChange, width: '5vw'\n };\n const conf = ((sF.value || '').split(';') || []);\n conf.forEach(c => {\n const attr = molOptions.find(m => m.value === c);\n if (attr) {\n const ext = {\n colId: c, editable: false, type: 'text', headerName: attr.label, cellRenderer: DropTextRenderer, cellParams: { attr, sField: sF }\n };\n colDefExt.push(ext);\n }\n });\n }\n if (sF.type === 'drag_sample') {\n const sOpt = sValues.filter(o => o[sF.id] && o[sF.id].value && o[sF.id].value.is_new);\n const cellParams = { sField: sF, opt, onChange: this.onDrop };\n colDef = {\n ...colDef, cellRenderer: DropRenderer, cellParams, onCellChange: this.onCellChange, width: '5vw'\n };\n const addOption = {\n colId: 'sam_option', editable: false, type: 'text', headerName: '', cellRenderer: SampOption, cellParams: { sField: sF, onChange: this.onChk }, width: '3vw'\n };\n if (sOpt.length > 0) colDefExt.push(addOption);\n const addLink = {\n colId: 'sam_link', editable: false, type: 'text', headerName: 'Short label', cellRenderer: DropLinkRenderer, cellParams: { sField: sF }, width: '5vw'\n };\n colDefExt.push(addLink);\n const conf = ((sF.value || '').split(';') || []);\n conf.forEach(c => {\n const attr = samOptions.find(m => m.value === c);\n if (attr) {\n const ext = {\n colId: c, editable: false, type: 'text', headerName: attr.label, cellRenderer: DropTextRenderer, cellParams: { attr, sField: sF }\n };\n colDefExt.push(ext);\n }\n });\n }\n columnDefs.push(colDef);\n if (colDefExt.length > 0) columnDefs = columnDefs.concat(colDefExt);\n });\n const act = {\n type: 'button',\n headerName: '',\n colId: opt.f_obj.field,\n headerComponent: AddRowBtn,\n headerParams: { addRow: this.addRow },\n cellRenderer: DelRowBtn,\n cellParams: { delRow: this.delRow },\n width: 'unset',\n };\n columnDefs.splice(0, 0, act);\n const dtype = `${DragDropItemTypes.GENERIC_GRID}_${opt.layer.key}_${opt.f_obj.field}`;\n const move = {\n type: 'dnd',\n field: opt.f_obj.field,\n headerName: '',\n colId: `${opt.f_obj.field}_dnd`,\n headerComponent: NullRowBtn,\n cellRenderer: DnDRowBtn,\n cellParams: { moveRow: this.moveRow, field: opt.f_obj.field, type: dtype },\n width: 'unset',\n };\n columnDefs.splice(0, 0, move);\n return columnDefs;\n }\n\n moveRow(source, target) {\n const { opt } = this.props;\n const alles = opt.f_obj.sub_values;\n const sid = alles.findIndex(e => e.id === source);\n const tid = alles.findIndex(e => e.id === target);\n const temp = alles[sid];\n alles[sid] = alles[tid];\n alles[tid] = temp;\n opt.onSubChange(0, 0, opt.f_obj, true);\n }\n\n delRow(rowData) {\n const { opt } = this.props;\n opt.f_obj.sub_values = opt.f_obj.sub_values.filter(s => s.id !== rowData.id);\n opt.onSubChange(0, 0, opt.f_obj, true);\n }\n\n addRow() {\n const { opt } = this.props;\n const subFields = opt.f_obj.sub_fields || [];\n const newSub = new GenericSubField();\n subFields.map(e => {\n if (e.type === 'text') return Object.assign(newSub, { [e.id]: '' });\n return Object.assign(newSub, { [e.id]: { value: '', value_system: e.value_system } });\n });\n opt.f_obj.sub_values = opt.f_obj.sub_values || [];\n opt.f_obj.sub_values.push(newSub);\n opt.onSubChange(0, 0, opt.f_obj, true);\n }\n\n render() {\n const { opt } = this.props;\n if (opt.isSearchCriteria) return (<div>(This is a table)</div>);\n if ((opt.f_obj.sub_fields || []).length < 1) return null;\n const columnDefs = this.getColumns();\n return (\n <div>\n {ColumnHeader(columnDefs)}\n <div>{NoRow(opt.f_obj.sub_values)}</div>\n <div>{(opt.f_obj.sub_values || []).map(s => ColumnRow(columnDefs, s))}</div>\n </div>\n );\n }\n}\n\nTableRecord.propTypes = {\n opt: PropTypes.object.isRequired,\n};\n","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","export default {\n SYSTEM_UNITS:\n {\n fields: [\n {\n type: 'numeric',\n field: 'acceleration',\n label: 'Acceleration',\n default: '',\n position: 10,\n placeholder: 'acceleration',\n units: [\n { key: 'mm_s2', label: 'mm/s<sup>2</sup>' }\n ]\n },\n {\n type: 'numeric',\n field: 'agitation',\n label: 'Agitation',\n default: '',\n position: 20,\n placeholder: 'agitation',\n units: [\n { key: 'rpm', label: 'rpm' }\n ]\n },\n {\n type: 'numeric',\n field: 'amount_enzyme',\n label: 'Amount enzyme as nmol/min',\n default: '',\n position: 30,\n placeholder: 'amount enzyme as nmol/min',\n units: [\n { key: 'u', label: 'U', nm: 1 },\n { key: 'mu', label: 'mU', nm: 1000 }\n ]\n },\n {\n type: 'numeric',\n field: 'molarity',\n label: 'Chem. concentration (Molarity)',\n default: '',\n position: 40,\n placeholder: 'molarity',\n units: [\n { key: 'mol_l', label: 'mol/L (M)', nm: 1 },\n { key: 'mmol_l', label: 'mmol/L (mM)', nm: 1000 },\n { key: 'nmol_l', label: 'nmol/L (nM)', nm: 1000000 },\n { key: 'pmol_l', label: 'pmol/L (pM)', nm: 1000000000 }\n ]\n },\n {\n type: 'numeric',\n field: 'chem_distances',\n label: 'Chem. distances',\n default: '',\n position: 50,\n placeholder: 'Chem. distances',\n units: [\n { key: 'angstrom', label: 'Å' }\n ]\n },\n {\n type: 'numeric',\n field: 'concentration',\n label: 'Concentration',\n default: '',\n position: 60,\n placeholder: 'concentration',\n units: [\n { key: 'ng_l', label: 'ng/L', nm: 1000000 },\n { key: 'mg_l', label: 'mg/L', nm: 1000 },\n { key: 'g_l', label: 'g/L', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'conductivity',\n label: 'Conductivity',\n default: '',\n position: 66,\n placeholder: 'conductivity',\n units: [\n { key: 's_m', label: 'S/m', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'current',\n label: 'Current',\n default: '',\n position: 60,\n placeholder: 'Current',\n units: [\n { key: 'A', label: 'A', nm: 1 },\n { key: 'mA', label: 'mA', nm: 1000 },\n { key: 'uA', label: 'µA', nm: 1000000 },\n { key: 'nA', label: 'nA', nm: 1000000000 }\n ]\n },\n {\n type: 'numeric',\n field: 'degree',\n label: 'Degree',\n default: '',\n position: 70,\n placeholder: 'degree',\n units: [\n { key: 'degree', label: '°' }\n ]\n },\n {\n type: 'numeric',\n field: 'density',\n label: 'Density',\n default: '',\n position: 75,\n placeholder: 'density',\n units: [\n { key: 'g_cm3', label: 'g/cm<sup>3</sup>', nm: 1 },\n { key: 'kg_l', label: 'kg/l', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'duration',\n label: 'Duration',\n default: '',\n position: 80,\n placeholder: 'duration',\n units: [\n { key: 'd', label: 'd', nm: 1 },\n { key: 'h', label: 'h', nm: 24 },\n { key: 'min', label: 'm', nm: 1440 },\n { key: 's', label: 's', nm: 86400 }\n ]\n },\n {\n type: 'numeric',\n field: 'elastic_modulus',\n label: 'Elastic modulus',\n default: '',\n position: 86,\n placeholder: 'Elastic modulus',\n units: [\n { key: 'm_pa', label: 'MPa', nm: 1 },\n { key: 'k_pa', label: 'kPa', nm: 1000 },\n { key: 'pa', label: 'Pa', nm: 1000000 }\n ]\n },\n {\n type: 'numeric',\n field: 'electric_field',\n label: 'Electric field',\n default: '',\n position: 86,\n placeholder: 'Electric field',\n units: [\n { key: 'v_m', label: 'V/m', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'energy',\n label: 'Energy',\n default: '',\n position: 88,\n placeholder: 'Joule',\n units: [\n { key: 'j', label: 'J', nm: 1000 },\n { key: 'k_j', label: 'kJ', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'enzyme_activity',\n label: 'Enzyme activity',\n default: '',\n position: 90,\n placeholder: 'Enzyme activity',\n units: [\n { key: 'u_l', label: 'U/L', nm: 1 },\n { key: 'u_ml', label: 'U/mL', nm: 1000 }\n ]\n },\n {\n type: 'numeric',\n field: 'flow_rate',\n label: 'Flow rate',\n default: '',\n position: 100,\n placeholder: 'Flow rate',\n units: [\n { key: 'ul_min', label: 'µl/min', nm: 1000000 },\n { key: 'ml_min', label: 'ml/min', nm: 1000 },\n { key: 'l_m', label: 'l/m', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'frequency',\n label: 'Frequency',\n default: '',\n position: 100,\n placeholder: 'frequency',\n units: [\n { key: 'hz', label: 'Hz', nm: 1000 },\n { key: 'khz', label: 'kHz', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'heating_rate',\n label: 'Heating rate',\n default: '',\n position: 106,\n placeholder: 'heating rate',\n units: [\n { key: 'k_min', label: 'K/min', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'length',\n label: 'Length',\n default: '',\n position: 110,\n placeholder: 'length',\n units: [\n { key: 'pm', label: 'pm', nm: 100000 },\n { key: 'nm', label: 'nm', nm: 10000 },\n { key: 'mm', label: 'mm', nm: 1000 },\n { key: 'cm', label: 'cm', nm: 100 },\n { key: 'm', label: 'm', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'magnetic_flux_density',\n label: 'Magnetic flux density/inductivity',\n default: '',\n position: 120,\n placeholder: '',\n units: [\n { key: 'T', label: 'T', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'mass',\n label: 'Mass',\n default: '',\n position: 120,\n placeholder: 'mass',\n units: [\n { key: 'g', label: 'g', nm: 1 },\n { key: 'mg', label: 'mg', nm: 1000 },\n { key: 'ug', label: 'µg', nm: 1000000 }\n ]\n },\n {\n type: 'numeric',\n field: 'mass_molecule',\n label: 'Mass of molecule',\n default: '',\n position: 126,\n placeholder: 'mass of molecule',\n units: [\n { key: 'dalton', label: 'D', nm: 1000 },\n { key: 'kilo_dalton', label: 'kD', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'molecular_weight',\n label: 'Molecular weight',\n default: '',\n position: 130,\n placeholder: 'Molecular weight',\n units: [\n { key: 'g_mol', label: 'g/mol' }\n ]\n },\n {\n type: 'numeric',\n field: 'percentage',\n label: 'Percentage',\n default: '',\n position: 136,\n placeholder: 'percentage',\n units: [\n { key: 'p', label: '%', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'pressure',\n label: 'Pressure',\n default: '',\n position: 140,\n placeholder: 'pressure',\n units: [\n { key: 'atm', label: 'atm', nm: 1 },\n { key: 'pa', label: 'Pa', nm: 101325 },\n { key: 'torr', label: 'Torr', nm: 760 }\n ]\n },\n {\n type: 'numeric',\n field: 'reaction_rate',\n label: 'Reaction rate',\n default: '',\n position: 150,\n placeholder: 'Reaction rate',\n units: [\n { key: 'mol_lmin', label: 'mol/Lmin', nm: 1 },\n { key: 'mol_lsec', label: 'mol/Ls', nm: 60 }\n ]\n },\n {\n type: 'numeric',\n field: 'specific_volume',\n label: 'Specific Volume',\n default: '',\n position: 160,\n placeholder: 'Specific Volume',\n units: [\n { key: 'cm3_g', label: 'cm<sup>3</sup>/g', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'speed',\n label: 'Speed',\n default: '',\n position: 165,\n placeholder: 'speed',\n units: [\n { key: 'cm_s', label: 'cm/s', nm: 1 },\n { key: 'mm_s', label: 'mm/s', nm: 10 },\n { key: 'cm_h', label: 'cm/h', nm: 3600 },\n { key: 'mm_h', label: 'mm/h', nm: 36000 }\n ]\n },\n {\n type: 'numeric',\n field: 'surface',\n label: 'Surface',\n default: '',\n position: 170,\n placeholder: 'surface',\n units: [\n { key: 'a_2', label: 'A<sup>2</sup>' },\n { key: 'mm_2', label: 'mm<sup>2</sup>' },\n { key: 'cm_2', label: 'cm<sup>2</sup>' }\n ]\n },\n {\n type: 'numeric',\n field: 'temperature',\n label: 'Temperature',\n default: '',\n position: 180,\n placeholder: 'temperature',\n units: [\n { key: 'C', label: '°C' },\n { key: 'F', label: '°F' },\n { key: 'K', label: '°K' }\n ]\n },\n {\n type: 'numeric',\n field: 'turnover_number',\n label: 'Turnover number',\n default: '',\n position: 190,\n placeholder: 'Turnover number',\n units: [\n { key: '1_s', label: '1/s' }\n ]\n },\n {\n type: 'numeric',\n field: 'viscosity',\n label: 'Dynamic Viscosity',\n default: '',\n position: 200,\n placeholder: 'Dynamic Viscosity',\n units: [\n { key: 'pas', label: 'Pas', nm: 1 },\n { key: 'mpas', label: 'mPas', nm: 1000 }\n ]\n },\n {\n type: 'numeric',\n field: 'kinematic_viscosity',\n label: 'Kinematic Viscosity',\n default: '',\n position: 205,\n placeholder: 'Kinematic Viscosity',\n units: [\n { key: 'm2_s', label: 'm<sup>2</sup>/s', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'voltage',\n label: 'Voltage',\n default: '',\n position: 200,\n placeholder: 'voltage',\n units: [\n { key: 'mv', label: 'mV', nm: 1000 },\n { key: 'v', label: 'V', nm: 1 }\n ]\n },\n {\n type: 'numeric',\n field: 'volumes',\n label: 'Volumes',\n default: '',\n position: 210,\n placeholder: 'volume',\n units: [\n { key: 'l', label: 'l', nm: 1 },\n { key: 'ml', label: 'ml', nm: 1000 },\n { key: 'ul', label: 'µl', nm: 1000000 },\n { key: 'nl', label: 'nl', nm: 1000000000 }\n ]\n }\n ]\n }\n};\n","import { v4 as uuid } from 'uuid';\n\nexport default class Attachment {\n constructor(args) {\n Object.assign(this, args);\n if (!this.id) { this.id = Attachment.buildID(); }\n }\n\n static buildID() { return uuid(); }\n\n static fromFile(file) {\n return new Attachment({\n file,\n name: file.name,\n filename: file.name,\n identifier: file.id,\n is_deleted: false,\n });\n }\n\n get isNew() {\n return this.is_new === true;\n }\n\n serialize() {\n return super.serialize({\n filename: this.filename,\n identifier: this.identifier,\n file: this.file,\n thumb: this.thumb,\n content_type: this.content_type,\n is_deleted: this.is_deleted,\n id: this.id,\n is_new: this.isNew || false\n });\n }\n}\n","import React from 'react';\n// import PropTypes from 'prop-types';\n// import { Button, OverlayTrigger, Tooltip, Popover, ControlLabel } from 'react-bootstrap';\n// import uuid from 'uuid';\nimport { v4 as uuid } from 'uuid';\nimport { findIndex, findKey, cloneDeep } from 'lodash';\n// import NotificationActions from '../../components/actions/NotificationActions';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport SystemUnits from '../../data/SystemUnits';\nimport Attachment from '../models/Attachment';\n\n// move from GenericElCommon.js\nconst uploadFiles = (properties, event, field, layer) => {\n const files = [];\n const fieldObj = properties.layers[`${layer}`].fields.find(e => e.field === field) || {};\n const value = fieldObj.value || {};\n switch (event.action) {\n case 'l': {\n const valIdx = findIndex((value.files || []), o => o.uid === event.uid);\n const label = event && event.val && event.val.target && event.val.target.value;\n if (value.files[valIdx] && label) value.files[valIdx].label = label;\n break;\n }\n case 'f': {\n (event.val || []).forEach(file => {\n const uid = uuid();\n if (typeof value.files === 'undefined' || value.files === null) value.files = [];\n value.files.push({ uid, filename: file.name });\n files.push({ uid, filename: file.name, file: Attachment.fromFile(file) });\n });\n break;\n }\n case 'd': {\n const valIdx = findIndex((value.files || []), o => o.uid === event.uid);\n if (valIdx >= 0 && value.files && value.files.length > 0) value.files.splice(valIdx, 1);\n return [value, files, event.uid];\n }\n default:\n console.log(event);\n }\n return [value, files];\n};\n\n// move from GenPropertiesLayer.js\nconst showProperties = (fObj, layers) => {\n let showField = true;\n if (fObj && fObj.cond_fields && fObj.cond_fields.length > 0) {\n showField = false;\n for (let i = 0; i < fObj.cond_fields.length; i += 1) {\n const cond = fObj.cond_fields[i] || {};\n const { layer, field, value } = cond;\n if (field && field !== '') {\n const fd = ((layers[layer] || {}).fields || []).find(f => f.field === field) || {};\n if (fd.type === 'checkbox' && ((['false', 'no', 'f', '0'].includes((value || '').trim().toLowerCase()) && (typeof (fd && fd.value) === 'undefined' || fd.value === false))\n || (['true', 'yes', 't', '1'].includes((value || '').trim().toLowerCase()) && (typeof (fd && fd.value) !== 'undefined' && fd.value === true)))) {\n showField = true;\n break;\n } else if (['text', 'select'].includes(fd && fd.type) && (typeof (fd && fd.value) !== 'undefined' && ((fd && fd.value) || '').trim() === (value || '').trim())) {\n showField = true;\n break;\n }\n }\n }\n }\n return showField;\n};\n\nclass GenericDummy {\n constructor() {\n this.type = 'dummy';\n this.field = uuid();\n this.position = 100;\n this.label = '';\n this.default = '';\n this.required = false;\n }\n}\n\nconst inputEventVal = (event, type) => {\n if (type === 'select') {\n return event ? event.value : null;\n } if (type.startsWith('drag')) {\n return event;\n } if (type === 'checkbox') {\n return event.target.checked;\n } if (type === 'formula-field') {\n if (event.target) {\n return event.target.value;\n }\n return event;\n }\n return event.target && event.target.value;\n};\n\nconst absOlsTermId = val => (val || '').split('|')[0].trim();\nconst absOlsTermLabel = val => val.replace(absOlsTermId(val), '').replace('|', '').trim();\nconst toNum = val => {\n const parse = Number((val || ''));\n return Number.isNaN(parse) ? 0 : parse;\n};\n\nconst genUnitSup = val => {\n if (typeof val === 'undefined' || val === null) return '';\n const vals = val.match(/<\\s*(\\w+\\b)(?:(?!<\\s*\\/\\s*\\1\\b)[\\s\\S])*<\\s*\\/\\s*\\1\\s*>|[^<]+/g);\n const reV = vals.map(v => {\n const supVal = v.match(/<sup[^>]*>([^<]+)<\\/sup>/);\n if (supVal) return <sup key={uuid()}>{supVal[1]}</sup>;\n const subVal = v.match(/<sub[^>]*>([^<]+)<\\/sub>/);\n if (subVal) return <sub key={uuid()}>{subVal[1]}</sub>;\n return v;\n });\n return <span>{reV}</span>;\n};\n\nconst toBool = val => {\n const valLower = String(val).toLowerCase();\n return !(!valLower || valLower === 'false' || valLower === '0');\n};\n\nconst genUnitsSystem = () => (SystemUnits.SYSTEM_UNITS || {}).fields || [];\n\nconst genUnits = field => (genUnitsSystem().find(u => u.field === field) || {}).units || [];\n\nconst genUnit = (field, key) => {\n const units = genUnits(field);\n return units.find(u => u.key === key) || {};\n};\n\nconst reUnit = (unitsSystem, optionLayers) => {\n const uniFileds = (unitsSystem.fields || []);\n const uniObj = uniFileds.find(fiel => fiel.field === optionLayers);\n const defaultUnit = ((uniObj && uniObj.field) || '');\n const preUnit = uniFileds.length > 0 ? uniFileds[0].field : '';\n return defaultUnit === '' ? preUnit : defaultUnit;\n};\n\nconst convertTemp = (key, val) => {\n switch (key) {\n case 'F':\n return ((parseFloat(val) * 1.8) + 32).toFixed(2);\n case 'K':\n return (((parseFloat(val) + 459.67) * 5) / 9).toFixed(2);\n case 'C':\n return (parseFloat(val) - 273.15).toFixed(2);\n default:\n return val;\n }\n};\n\nconst unitConvToBase = (field = {}) => {\n const units = genUnits(field.option_layers);\n if (units.length <= 1) {\n return field.value;\n }\n const idx = findIndex(units, u => u.key === field.value_system);\n if (idx <= 0) return field.value;\n return ((field.value * units[0].nm) / ((units[idx] && units[idx].nm) || 1) || 0);\n};\n\nconst unitConversion = (field, key, val) => {\n if (typeof val === 'undefined' || val == null || val === 0 || val === '') {\n return val;\n }\n if (field === 'temperature') {\n return convertTemp(key, val);\n }\n const units = genUnits(field);\n if (units.length <= 1) {\n return val;\n }\n const idx = findIndex(units, u => u.key === key);\n if (idx === -1) {\n return val;\n }\n const pIdx = idx === 0 ? (units.length) : idx;\n const pre = (units[pIdx - 1] && units[pIdx - 1].nm) || 1;\n const curr = (units[idx] && units[idx].nm) || 1;\n return parseFloat((parseFloat(val) * (curr / pre)).toFixed(5));\n};\n\n// const notification = props =>\n// (\n// NotificationActions.add({\n// title: props.title,\n// message: props.msg,\n// level: props.lvl,\n// position: 'tc',\n// dismissible: 'button',\n// autoDismiss: props.autoDismiss || 5,\n// uid: props.uid || uuid.v4()\n// })\n// );\n\n// const validateLayerInput = (layer, act = 'new') => {\n// if (layer.key === '') {\n// notification({ title: `Layer [${layer.key}]`, lvl: 'error', msg: 'Please input Name.' });\n// return false;\n// }\n// if (act === 'new' && !(/^[a-z][a-z_]+[a-z]$/g.test(layer.key))) {\n// notification({ title: `Layer [${layer.key}]`, lvl: 'error', msg: 'This Name is invalid, please try a different one.' });\n// return false;\n// }\n// if (parseInt((layer.cols || 1), 10) < 1) {\n// notification({ title: `Layer [${layer.key}]`, lvl: 'error', msg: 'The minimun of Column per Row is 1, please input a different one.' });\n// return false;\n// }\n// return true;\n// };\n\n// const validateSelectList = (selectName, element) => {\n// if (selectName === '') {\n// notification({ title: `Select List [${selectName}]`, lvl: 'error', msg: 'Please input Name.' });\n// return false;\n// }\n// if (!(/^[a-z][a-z_]+[a-z]$/g.test(selectName))) {\n// notification({ title: `Select List [${selectName}]`, lvl: 'error', msg: 'This Name is invalid, please try a different one.' });\n// return false;\n// }\n// if (element.properties_template.select_options[`${selectName}`]) {\n// notification({ title: `Select List [${selectName}]`, lvl: 'error', msg: 'This name of Select List is already taken. Please choose another one.' });\n// return false;\n// }\n// return true;\n// };\n\nconst clsInputGroup = el => {\n if (!el) return el;\n const genericEl = el;\n const { layers } = genericEl.properties_template;\n const keys = Object.keys(layers);\n keys.forEach(key => {\n const layer = layers[key];\n layer.fields.filter(e => e.type === 'input-group')\n .forEach(e => {\n e.sub_fields.forEach(s => {\n const ff = s;\n if (ff.type === 'text') { ff.value = ''; }\n });\n });\n });\n return genericEl;\n};\n\nconst molOptions = [{ label: 'InChiKey', value: 'inchikey' }, { label: 'SMILES', value: 'smiles' }, { label: 'IUPAC', value: 'iupac' }, { label: 'Mass', value: 'molecular_weight' }];\nconst samOptions = [{ label: 'Name', value: 'name' }, { label: 'Ext. Label', value: 'external_label' }, { label: 'Mass', value: 'molecular_weight' }];\n\nconst findCurrentNode = (_srcKey, _layerVals) => {\n const result = [];\n const fs = _layerVals.filter(o => o.wf && o.wf_info && o.wf_info.source_layer === _srcKey);\n if (fs.length > 1) {\n fs.forEach(o => {\n findCurrentNode(o, _layerVals);\n });\n } else if (fs.length === 1) {\n return findCurrentNode(fs[0].key, _layerVals);\n }\n return [_srcKey];\n};\n\nconst decorateNode = (_elements, _layers) => {\n if (!_elements || _elements.length < 1) return _elements;\n const m = {\n background: '#D6D5E6',\n color: '#333',\n // border: '1px solid #222138',\n // width: 180,\n };\n const elements = _elements;\n elements.map(e => {\n if (['input', 'output'].includes(e.type) || e.animated) return e;\n const lk = e.data.lKey;\n const fk = findKey(_layers, o => o.wf && (o.key === lk || o.key.startsWith(`${lk}.`)));\n if (fk) {\n e.style = m;\n return e;\n }\n return e;\n });\n return elements;\n};\n\nconst conFlowEls = props => {\n const { properties, properties_release } = props;\n const { flow, layers } = properties_release;\n const deep = cloneDeep(flow);\n const els = (deep && deep.elements) || [];\n els.map(d => {\n if (['default'].includes(d.type) && d.data) {\n const { lKey } = d.data;\n const fk = findKey((properties.layers || {}), o => o.wf && (o.key === lKey || o.key.startsWith(`${lKey}.`)));\n const chk = fk ? (<div style={{ position: 'absolute', top: '0px', right: '2px', color: 'green', zIndex: '100' }}><FontAwesomeIcon icon=\"far fa-check-circle\" /></div>) : null;\n const layer = layers[lKey] || {};\n const ll = (\n <div>\n {chk}\n <div style={{ borderWidth: '0px 0px 1px 0px', borderColor: 'black', borderStyle: 'solid' }}><b>{layer.label}</b></div>\n <div>\n (\n {layer.key}\n )\n </div>\n </div>\n );\n d.data = { label: ll, lKey: layer.key };\n }\n return d;\n });\n return els;\n};\n\nconst storeFlow = props => {\n const { elements } = props;\n const els = cloneDeep(elements);\n els.map(d => {\n if (['default'].includes(d.type) && d.data) {\n delete d.data.label;\n delete d.data.layer;\n }\n return d;\n });\n return els;\n};\n\nconst flowDefault = [\n {\n id: '1', type: 'input', data: { label: 'Start' }, position: { x: 250, y: 15 }\n },\n {\n id: '2', type: 'output', data: { label: 'End' }, position: { x: 250, y: 255 }\n }\n];\n\nconst isLayerInWF = (_element, _layerKey) => {\n const { flow } = _element.properties_template;\n const finds = ((flow || {}).elements || []).filter(e => e.type === 'default' && (e.data || {}).lKey === _layerKey);\n return (finds.length > 0);\n};\n\n// const validateLayerDeletion = (_element, _delKey) => {\n// if (isLayerInWF(_element, _delKey)) {\n// notification({ title: `Layer [${_delKey}]`, lvl: 'warning', msg: `This layer [${_delKey}] can not be removed because it is currently used in workflow.` });\n// return false;\n// }\n// return true;\n// };\n\n// const validateLayerUpdation = (_element, _updates) => {\n// const { key, wf } = _updates;\n// if (isLayerInWF(_element, key)) {\n// if (!wf) {\n// notification({ title: `Layer [${key}]`, lvl: 'warning', msg: `Can not change the attribute 'used in Workflow?' because this layer [${key}] is currently used in workflow.` });\n// return false;\n// }\n// }\n// const { layers } = _element.properties_template;\n// if (wf && layers[key] && (layers[key].cond_fields || []).length > 0) {\n// notification({ title: `Layer [${key}]`, lvl: 'warning', msg: 'Can not use in Workflow because the Layer Restriction has been set.' });\n// return false;\n// }\n// return true;\n// };\n\nconst swapAryEls = (_ary, idx1, idx2) => {\n const ary = _ary;\n const temp = ary[idx1];\n ary[idx1] = ary[idx2];\n ary[idx2] = temp;\n return ary;\n};\n\n// re-fetch workflow and set to state of store, should be out-of this project\n// const renderFlowModal = (generic, isToggle) => {\n// const segmentKlasses = (UserStore.getState() && UserStore.getState().segmentKlasses) || [];\n// let shortLabel = generic.short_label;\n// if (!shortLabel) {\n// shortLabel = segmentKlasses.filter(s => s.id === generic.segment_klass_id);\n// shortLabel = shortLabel.length > 0 ? shortLabel[0].label : '';\n// }\n// const params = {\n// properties_release: cloneDeep(generic.properties_release) || {},\n// properties: cloneDeep(generic.properties) || {},\n// shortLabel,\n// toggle: isToggle\n// };\n// UIActions.rerenderGenericWorkflow(params);\n// };\n\nconst downloadFile = file => {\n const { contents, name } = file;\n const link = document.createElement('a');\n link.download = name;\n link.href = contents;\n const event = new window.MouseEvent('click', {\n view: window,\n bubbles: true,\n cancelable: true\n });\n link.dispatchEvent(event);\n};\n\nexport {\n GenericDummy,\n // validateLayerInput,\n // validateSelectList,\n // notification,\n genUnitsSystem, genUnits, genUnit,\n unitConvToBase, unitConversion, toBool, toNum, genUnitSup, absOlsTermId, absOlsTermLabel, reUnit,\n clsInputGroup, inputEventVal, molOptions, samOptions, conFlowEls, storeFlow, flowDefault,\n // validateLayerUpdation,\n // validateLayerDeletion,\n swapAryEls, decorateNode, showProperties, downloadFile, uploadFiles\n};\n","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!./main.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js!./main.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, OverlayTrigger, Tooltip } from 'react-bootstrap';\nimport { v4 as uuid } from 'uuid';\n\nconst ButtonTooltip = props => {\n const { tip } = props;\n const tooltip = <Tooltip id={uuid()}>{tip}</Tooltip>;\n const {\n size, bs, fnClick, element, place, fa, disabled, txt\n } = props;\n const content = txt ? (\n <span>\n {txt}\n \n </span>\n ) : '';\n if (bs === '') {\n return (\n <OverlayTrigger delayShow={1000} placement={place} overlay={tooltip}>\n <Button bsSize={size} onClick={() => fnClick(element)} disabled={disabled}>\n {content}\n <i className={`fa ${fa}`} aria-hidden=\"true\" />\n </Button>\n </OverlayTrigger>\n );\n }\n return (\n <OverlayTrigger delayShow={1000} placement={place} overlay={tooltip}>\n <Button bsSize={size} bsStyle={bs} onClick={() => fnClick(element)} disabled={disabled}>\n {content}\n <i className={`fa ${fa}`} aria-hidden=\"true\" />\n </Button>\n </OverlayTrigger>\n );\n};\n\nButtonTooltip.propTypes = {\n tip: PropTypes.string.isRequired,\n element: PropTypes.oneOfType([PropTypes.object, PropTypes.bool]),\n fnClick: PropTypes.func.isRequired,\n bs: PropTypes.string,\n size: PropTypes.string,\n place: PropTypes.string,\n fa: PropTypes.string,\n disabled: PropTypes.bool,\n txt: PropTypes.string,\n};\n\nButtonTooltip.defaultProps = {\n bs: '', size: 'xs', place: 'right', fa: 'fa-pencil-square-o', disabled: false, txt: null, element: {}\n};\n\nexport default ButtonTooltip;\n","/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, OverlayTrigger, Popover } from 'react-bootstrap';\n\nconst ButtonConfirm = props => {\n const {\n msg, size, bs, fnClick, fnParams, place, fa, disabled\n } = props;\n const popover = (\n <Popover id=\"popover-button-confirm\">\n {msg}\n {' '}\n <br />\n <div className=\"btn-toolbar\">\n <Button bsSize=\"xsmall\" bsStyle=\"danger\" aria-hidden=\"true\" onClick={() => fnClick(fnParams)}>\n Yes\n </Button>\n <span> </span>\n <Button bsSize=\"xsmall\" bsStyle=\"warning\">No</Button>\n </div>\n </Popover>\n );\n\n return (\n <OverlayTrigger animation placement={place} root trigger=\"focus\" overlay={popover}>\n <Button bsSize={size} bsStyle={bs} disabled={disabled}>\n <i className={`fa ${fa}`} aria-hidden=\"true\" />\n </Button>\n </OverlayTrigger>\n );\n};\n\nButtonConfirm.propTypes = {\n msg: PropTypes.string.isRequired,\n fnParams: PropTypes.object.isRequired,\n fnClick: PropTypes.func.isRequired,\n bs: PropTypes.string,\n size: PropTypes.string,\n place: PropTypes.string,\n fa: PropTypes.string,\n disabled: PropTypes.bool,\n};\n\nButtonConfirm.defaultProps = {\n bs: 'danger', size: 'xs', place: 'right', fa: 'fa-trash-o', disabled: false\n};\n\nexport default ButtonConfirm;\n","import React, { useState } from 'react';\nimport { Button } from 'react-bootstrap';\n\nconst ElementManager = () => {\n const [count, setCount] = useState(0);\n return (\n <div>\n <p>\n You clicked\n {count}\n {' '}\n times\n </p>\n <Button bsStyle=\"primary\" onClick={() => setCount(count + 1)}>\n Click me\n </Button>\n </div>\n );\n};\n\nexport default ElementManager;\n","import {\n GenPropertiesCheckbox,\n GenPropertiesCalculate,\n GenPropertiesSelect,\n GenPropertiesDrop,\n GenPropertiesNumber,\n GenPropertiesSystemDefined,\n GenPropertiesInputGroup,\n GenPropertiesTextArea,\n GenPropertiesUpload,\n GenDummy,\n GenPropertiesTable,\n GenTextFormula,\n GenWFNext,\n GenPropertiesText\n} from './GenPropertiesFields';\n\nconst GenProperties = opt => {\n const fieldProps = { ...opt, dndItems: [] };\n const type = fieldProps.type.split('_');\n if (opt.isSearchCriteria && type[0] === 'drag') type[0] = 'text';\n // if (opt.isPreview && (type[0] === 'drag' || type[0] === 'upload')) type[0] = 'text';\n switch (type[0]) {\n case 'checkbox':\n return GenPropertiesCheckbox(fieldProps);\n case 'formula-field':\n return GenPropertiesCalculate(fieldProps);\n case 'select':\n return GenPropertiesSelect(fieldProps);\n case 'drag':\n fieldProps.dndItems = [...fieldProps.dndItems, type[1]];\n return GenPropertiesDrop(fieldProps);\n case 'integer':\n return GenPropertiesNumber(fieldProps);\n case 'system-defined':\n return GenPropertiesSystemDefined(fieldProps);\n case 'input-group':\n return GenPropertiesInputGroup(fieldProps);\n case 'textarea':\n return GenPropertiesTextArea(fieldProps);\n case 'upload':\n return GenPropertiesUpload(fieldProps);\n case 'dummy':\n return GenDummy();\n case 'table':\n return GenPropertiesTable(fieldProps);\n case 'text-formula':\n return GenTextFormula(fieldProps);\n case 'wf-next':\n return GenWFNext(fieldProps);\n default:\n return GenPropertiesText(fieldProps);\n }\n};\n\nexport default GenProperties;\n","import React from 'react';\nimport { DragSource, DropTarget } from 'react-dnd';\nimport { compose } from 'redux';\nimport {\n Panel, ButtonGroup, OverlayTrigger, Tooltip, Button\n} from 'react-bootstrap';\nimport { v4 as uuid } from 'uuid';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nconst orderSource = {\n canDrag(props) {\n return !props.layer.wf;\n },\n beginDrag(props) {\n const { layer, field, rowValue } = props;\n return { wf: layer.wf, fid: field, rId: rowValue.id };\n },\n};\n\nconst orderTarget = {\n canDrop(props, monitor) {\n const src = monitor.getItem();\n return !props.layer.wf || !src.wf;\n },\n drop(props, monitor) {\n const {\n layer, field, rowValue, handleMove\n } = props;\n const tar = { wf: layer.wf, fid: field, rId: rowValue.id };\n const src = monitor.getItem();\n if (tar.fid === src.fid && tar.rId !== src.rId) handleMove(src.rId, tar.rId);\n },\n};\n\nconst orderDragCollect = (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n});\n\nconst orderDropCollect = (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver(),\n canDrop: monitor.canDrop(),\n});\n\nconst PanelDnD = ({\n connectDragSource, connectDropTarget, isDragging, isOver, canDrop,\n layer, id, handleChange, bs\n}) => {\n const className = `generic_grid_dnd${isOver ? ' is-over' : ''}${canDrop ? ' can-drop' : ''}${isDragging ? ' is-dragging' : ''}`;\n const {\n style, label, wf, key\n } = layer;\n const klz = (style || 'panel_generic_heading').replace('panel_generic_heading', 'panel_generic_heading_slim');\n const btnAdd = (\n <OverlayTrigger delayShow={1000} placement=\"top\" overlay={<Tooltip id=\"_tooltip_add_layer\">add layer</Tooltip>}>\n <Button bsSize=\"xsmall\" onClick={event => handleChange(event, id, layer, 'layer-modal')}><FontAwesomeIcon icon=\"fas fa-plus\" /></Button>\n </OverlayTrigger>\n );\n const btnRemove = (\n <OverlayTrigger delayShow={1000} placement=\"top\" overlay={<Tooltip id=\"_tooltip_remove_layer\">remove layer</Tooltip>}>\n <Button bsSize=\"xsmall\" onClick={event => handleChange(event, id, layer, 'layer-remove')}><FontAwesomeIcon icon=\"fas fa-minus\" /></Button>\n </OverlayTrigger>\n );\n const wfIcon = wf ? (\n <span>\n <FontAwesomeIcon icon=\"fas fa-sitemap\" />\n </span>\n ) : null;\n const moveIcon = (\n <OverlayTrigger delayShow={1000} placement=\"top\" overlay={<Tooltip id={uuid()}>drag and drop to move position</Tooltip>}>\n <Button onClick={() => {}} bsSize=\"xsmall\"><FontAwesomeIcon icon=\"fas fa-arrows-alt\" /></Button>\n </OverlayTrigger>\n );\n const btnLayer = wf ? (<ButtonGroup className=\"pull-right\">{btnAdd}</ButtonGroup>) : (\n <ButtonGroup className=\"pull-right\">\n {btnAdd}\n {btnRemove}\n {moveIcon}\n </ButtonGroup>\n );\n const extHead = (/\\./g.test(key)) ? (\n <>\n (\n {key}\n {wfIcon}\n )\n </>\n ) : null;\n const panelHeader = (\n <Panel.Heading className={klz}>\n <Panel.Title toggle style={{ float: 'left', lineHeight: 'normal' }}>\n {label}\n \n {extHead}\n </Panel.Title>\n {btnLayer}\n <div className=\"clearfix\" />\n </Panel.Heading>\n );\n const panelHColor = bs !== 'none' ? `panel-${bs}` : '';\n const dndKlz = wf ? `dnd-none ${panelHColor}` : `dnd ${panelHColor}`;\n return compose(connectDragSource, connectDropTarget)(<div className={className}><div className={dndKlz}>{panelHeader}</div></div>);\n};\n\nexport default compose(\n DragSource(s => s.type, orderSource, orderDragCollect),\n DropTarget(s => s.type, orderTarget, orderDropCollect)\n)(PanelDnD);\n","/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Button, Tooltip, Modal, OverlayTrigger\n} from 'react-bootstrap';\nimport { sortBy } from 'lodash';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\n\nconst block = (layer, fnAdd) => (\n <div className=\"generic_layer_column\">\n <div>\n <div>\n <b>{layer.label}</b>\n <br />\n (\n {layer.key}\n )\n </div>\n <OverlayTrigger delayShow={1000} placement=\"top\" overlay={<Tooltip id=\"_tooltip_layers\">click to add layer</Tooltip>}>\n <Button bsStyle=\"primary\" onClick={event => fnAdd(event, layer)}><FontAwesomeIcon icon=\"fas fa-plus\" /></Button>\n </OverlayTrigger>\n </div>\n </div>\n);\n\nconst drawLayout = (layers, fnAdd) => {\n const layout = [];\n layers.forEach(layer => { layout.push(<div key={layer.key}>{block(layer, fnAdd)}</div>); });\n return layout;\n};\n\nconst LayerModal = props => {\n const {\n show, layers, fnClose, fnAdd\n } = props;\n if (!show) return null;\n const sortedLayers = sortBy(layers, ['position', 'wf_position']) || [];\n if (sortedLayers.length < 1) return null;\n const layout = drawLayout(sortedLayers, fnAdd);\n return (\n <Modal show={show} onHide={fnClose}>\n <Modal.Header closeButton><Modal.Title>Choose Layer</Modal.Title></Modal.Header>\n <Modal.Body>\n <div style={{ maxHeight: '80vh', overflow: 'auto' }}>\n <div className=\"generic_grid\">{layout}</div>\n </div>\n </Modal.Body>\n </Modal>\n );\n};\n\nLayerModal.propTypes = {\n show: PropTypes.bool.isRequired,\n layers: PropTypes.object.isRequired,\n fnClose: PropTypes.func.isRequired,\n fnAdd: PropTypes.func.isRequired\n};\n\nexport default LayerModal;\n","import { cloneDeep, sortBy } from 'lodash';\nimport { v4 as uuid } from 'uuid';\n\nconst getWFNode = (_flow, nodeId) => _flow.elements.filter(e => e.id === nodeId)[0];\n\n// full-flow, node id\nconst getFlowLayer = (templateFlow, nodeId, sourceLayer, sIdx) => {\n const flow = cloneDeep(templateFlow);\n const nd = flow.elements.filter(e => e.id === nodeId); // fetch node\n if (nd.length < 1) return null;\n const { layer } = nd[0].data;\n const ls = flow.elements.filter(e => e.animated); // lines\n const ns = flow.elements.filter(e => e.type === 'default' && e.data); // nodes - Start - End\n const ndNs = ls.filter(e => e.source === nodeId).map(e => e.target); // next nodes' id\n const wfOpts = ns.filter(n => ndNs.includes(n.id)).map(e => ({ key: e.id, label: `${e.data.layer.label}(${e.data.layer.key})` })); // next nodes\n if (wfOpts.length > 0) {\n const position = (layer.fields || []).length + 1;\n layer.fields.push({\n type: 'wf-next', default: '', field: '_wf_next', label: 'Next', required: false, sub_fields: [], text_sub_fields: [], position, wf_options: wfOpts\n });\n }\n layer.wf_info = { node_id: nodeId, source_layer: sourceLayer };\n layer.wf_position = sIdx + 1;\n return layer;\n};\n\nconst orgLayerObject = (_layers = []) => {\n const layers = _layers;\n return layers.reduce((alles, name) => {\n const all = alles;\n const ok = Object.keys(all);\n if (ok.includes(name.key)) {\n const cnt = ok.filter(e => e === name.key || e.startsWith(`${name.key}.`)).length;\n const nName = `${name.key}.${cnt}`;\n name.key = nName;\n all[nName] = name;\n } else {\n all[name.key] = name;\n }\n return all;\n }, {});\n};\n\nconst reformCondFields = (_layer, _oKey) => {\n const layer = _layer;\n layer.fields.map(_f => {\n const f = _f;\n let conds = f.cond_fields;\n // no cond_fields\n if (!conds || conds.length < 1 || conds.filter(o => !o.field || o.field === '').length === conds.length) return f;\n conds = conds.filter(o => o.layer === _oKey);\n // no same layer, remove cond_fields\n if (conds.length < 1) {\n delete f.cond_fields;\n return f;\n }\n // rename layer\n conds = conds.map(o => {\n const n = o;\n n.layer = layer.key;\n return n;\n });\n f.cond_fields = conds;\n return f;\n });\n return layer.fields;\n};\n\nconst addToObject = (obj, key, addAfter) => {\n const temp = {};\n const ok = Object.keys(obj);\n Object.keys(obj).forEach(e => {\n if (Object.prototype.hasOwnProperty.call(obj, e)) {\n temp[e] = obj[e];\n if (e === key) {\n const srcPosition = temp[e].position;\n const cnt = ok.filter(o => o === addAfter.key || o.startsWith(`${addAfter.key}.`)).length;\n if (cnt === 0) {\n temp[addAfter.key] = addAfter;\n temp[addAfter.key].position = srcPosition;\n } else {\n const oKey = addAfter.key;\n temp[`${addAfter.key}.${cnt}`] = addAfter;\n temp[`${addAfter.key}.${cnt}`].position = srcPosition;\n temp[`${addAfter.key}.${cnt}`].key = `${addAfter.key}.${cnt}`;\n temp[addAfter.key].fields = reformCondFields(addAfter, oKey);\n }\n }\n }\n });\n if (Object.keys(obj).length === 0) temp[addAfter.key] = addAfter;\n return temp;\n};\n\nconst traverseToRemove = (layers, rmKey) => {\n let rms = [];\n Object.keys(layers).forEach(e => {\n if (Object.prototype.hasOwnProperty.call(layers, e)) {\n if (layers[e].key === rmKey) rms = rms.concat(rmKey);\n else if (layers[e].wf_info && (layers[e].wf_info.source_layer === rmKey)) {\n rms = rms.concat(traverseToRemove(layers, layers[e].key));\n }\n }\n });\n return rms;\n};\n\nconst removeFromObject = (_propertiesLayers = {}, srcLayer = '', rmNode = {}) => {\n const layers = _propertiesLayers;\n const rmLayer = rmNode.data && rmNode.data.layer ? rmNode.data.layer.key : null;\n if (!rmLayer) return [];\n let rms = [];\n Object.keys(layers).forEach(e => {\n if (Object.prototype.hasOwnProperty.call(layers, e)) {\n const wf = layers[e].wf_info;\n if (wf && (wf.source_layer === srcLayer) && (wf.node_id === rmNode.id)) {\n rms = rms.concat(traverseToRemove(layers, layers[e].key));\n }\n }\n });\n rms.forEach(e => delete layers[e]);\n return layers;\n};\n\nconst buildInitWF = template => {\n const orig = cloneDeep(template);\n const { layers, flow } = orig;\n const sortedLayers = sortBy(layers, l => l.position);\n if (flow && flow.elements.filter(e => !['input', 'output'].includes(e.type).length > 0)) {\n // id = 1 Start, id = 2 End\n const nls = flow.elements; // nodes + lines\n const ls = nls.filter(e => e.animated); // lines\n const ns = nls.filter(e => e.type === 'default' && e.data); // nodes - Start - End\n const nNs = ls.filter(e => e.source === '1').map(e => e.target); // get target ids from Start\n const nextNodes = ns.filter(n => nNs.includes(n.id)); // target nodes\n const result = [];\n sortedLayers.forEach(sortedLayer => {\n const fLayer = sortedLayer;\n if (fLayer.wf) {\n const position = (fLayer.fields || []).length + 1;\n const passen = nextNodes.filter(n => n.data.layer.key === fLayer.key);\n passen.forEach(pas => {\n const nextOptions = ls.filter(e => e.source === pas.id && e.source !== e.target).map(e => e.target);\n const wfOpts = ns.filter(n => nextOptions.includes(n.id)).map(e => ({ key: e.id, label: `${e.data.layer.label}(${e.data.layer.key})` })); // next nodes\n fLayer.fields.push({\n type: 'wf-next', default: '', field: '_wf_next', label: 'Next', required: false, sub_fields: [], text_sub_fields: [], position, wf_options: wfOpts\n });\n fLayer.wf_info = { node_id: pas.id };\n fLayer.wf_position = 1;\n fLayer.wf_uuid = uuid();\n result.push(fLayer);\n });\n } else {\n result.push(fLayer);\n }\n });\n const ll = orgLayerObject(result);\n orig.layers = ll;\n } else {\n orig.layers = layers;\n }\n return orig;\n};\n\nexport {\n getWFNode, getFlowLayer, orgLayerObject,\n addToObject, removeFromObject, reformCondFields, buildInitWF\n};\n","/* eslint-disable max-len */\n/* eslint-disable react/require-default-props */\n/* eslint-disable react/forbid-prop-types */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n Panel, Col, PanelGroup, Row\n} from 'react-bootstrap';\nimport GenProperties from '../fields/GenProperties';\nimport { genUnits, showProperties, unitConversion } from '../tools/utils';\nimport PanelDnD from '../dnd/PanelDnD';\n\nexport default class GenPropertiesLayer extends Component {\n constructor(props) {\n super(props);\n this.handleChange = this.handleChange.bind(this);\n this.handleSubChange = this.handleSubChange.bind(this);\n this.moveLayer = this.moveLayer.bind(this);\n }\n\n handleChange(e, f, k, t) {\n const { onChange } = this.props;\n onChange(e, f, k, t);\n }\n\n handleSubChange(e, id, f, valueOnly = false) {\n const { onSubChange } = this.props;\n const sub = f.sub_fields.find(m => m.id === id);\n if (!valueOnly) {\n if (e.type === 'system-defined') {\n const units = genUnits(e.option_layers);\n let uIdx = units.findIndex(u => u.key === e.value_system);\n if (uIdx < units.length - 1) uIdx += 1; else uIdx = 0;\n sub.value_system = units.length > 0 ? units[uIdx].key : '';\n sub.value = unitConversion(e.option_layers, sub.value_system, e.value);\n } else {\n sub.value = e.target.value;\n }\n }\n const { layer } = this.props;\n const obj = { f, sub };\n onSubChange(layer.key, obj, valueOnly);\n }\n\n handleClick(keyLayer, obj, val) {\n const { onClick } = this.props;\n const units = genUnits(obj.option_layers);\n let uIdx = units.findIndex(e => e.key === val);\n if (uIdx < units.length - 1) uIdx += 1; else uIdx = 0;\n const update = obj;\n update.value_system = units.length > 0 ? units[uIdx].key : '';\n onClick(keyLayer, update);\n }\n\n views() {\n const {\n layer, selectOptions, id, layers, isPreview\n } = this.props;\n const { cols, fields, key } = layer;\n const perRow = cols || 1;\n const col = Math.floor(12 / perRow);\n const klaz = (12 % perRow) > 0 ? 'g_col_w' : '';\n const vs = [];\n let op = [];\n let newRow = 0;\n let rowId = 1;\n (fields || []).forEach((f, i) => {\n if (showProperties(f, layers)) {\n const unit = genUnits(f.option_layers)[0] || {};\n const tabCol = (f.cols || 1) * 1;\n const rCol = (f.type === 'table') ? (12 / (tabCol || 1)) : col;\n newRow = (f.type === 'table') ? newRow += (perRow / (tabCol || 1)) : newRow += 1;\n\n if (newRow > perRow) {\n vs.push(<Row key={rowId}>{op}</Row>);\n rowId += 1;\n op = [];\n newRow = (f.type === 'table') ? newRow = (perRow / (tabCol || 1)) : newRow = 1;\n }\n const eachCol = (\n <Col key={`prop_${key}_${f.priority}_${f.field}`} md={rCol} lg={rCol} className={f.type === 'table' ? '' : klaz}>\n <GenProperties\n key={`${id}_${layer}_${f.field}_GenPropertiesLayer`}\n layers={layers}\n id={id}\n layer={layer}\n f_obj={f}\n label={f.label}\n value={f.value || ''}\n description={f.description || ''}\n type={f.type || 'text'}\n field={f.field || 'field'}\n formula={f.formula || ''}\n options={(selectOptions && selectOptions[f.option_layers] && selectOptions[f.option_layers].options) || []}\n onChange={event => this.handleChange(event, f.field, key, f.type)}\n onSubChange={this.handleSubChange}\n isEditable\n isPreview={isPreview}\n readOnly={false}\n isRequired={f.required || false}\n placeholder={f.placeholder || ''}\n option_layers={f.option_layers}\n value_system={f.value_system || unit.key}\n onClick={() => this.handleClick(key, f, (f.value_system || unit.key))}\n selectOptions={selectOptions || {}}\n />\n </Col>\n );\n op.push(eachCol);\n if (newRow % perRow === 0) newRow = 0;\n if ((newRow === 0) || (fields.length === (i + 1))) {\n vs.push(<Row key={rowId}>{op}</Row>);\n rowId += 1;\n op = [];\n }\n } else if (fields.length === (i + 1)) {\n vs.push(<Row key={rowId}>{op}</Row>);\n rowId += 1;\n op = [];\n }\n });\n return vs;\n }\n\n moveLayer(src, tar) {\n this.handleChange(null, src, tar, 'drop-layer');\n }\n\n render() {\n const { id, layer, activeWF } = this.props;\n const { color, style, label } = layer;\n let bs = color || 'default';\n const cl = (style || 'panel_generic_heading').replace('panel_generic_heading', 'panel_generic_heading_slim');\n // panel header color is based on input bs value\n const panelDnD = (\n <PanelDnD\n type=\"gen_panel\"\n layer={layer}\n field=\"layer\"\n rowValue={{ id: layer.key }}\n handleMove={this.moveLayer}\n id={id}\n handleChange={this.handleChange}\n bs={bs}\n />\n );\n const panelHeader = label === '' ? (<span />) : (\n <Panel.Heading className={cl}>\n <Panel.Title toggle>{label}</Panel.Title>\n </Panel.Heading>\n );\n const noneKlass = bs === 'none' ? 'generic_panel_none' : '';\n if (bs === 'none') bs = 'default';\n return (\n <PanelGroup accordion id=\"accordion_generic_layer\" defaultActiveKey=\"1\" style={{ marginBottom: '0px' }}>\n <Panel bsStyle={bs} className={`panel_generic_properties ${noneKlass}`} eventKey=\"1\">\n {activeWF ? panelDnD : panelHeader}\n <Panel.Collapse>\n <Panel.Body className=\"panel_generic_properties_body\">{this.views()}</Panel.Body>\n </Panel.Collapse>\n </Panel>\n </PanelGroup>\n );\n }\n}\n\nGenPropertiesLayer.propTypes = {\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]), // element id or new id\n layer: PropTypes.object,\n selectOptions: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n onSubChange: PropTypes.func.isRequired,\n onClick: PropTypes.func,\n layers: PropTypes.object.isRequired,\n isPreview: PropTypes.bool,\n activeWF: PropTypes.bool\n};\n\nGenPropertiesLayer.defaultProps = {\n id: 0,\n selectOptions: {},\n onClick: () => {},\n isPreview: false,\n activeWF: false\n};\n","import React from 'react';\nimport { sortBy } from 'lodash';\nimport GenPropertiesLayer from './GenPropertiesLayer';\n\nconst LayersLayout = (\n layers, options, funcChange,\n funcSubChange = () => {}, funcClick = () => {}, layout = [], id = 0, isPreview = false,\n activeWF = false\n) => {\n const sortedLayers = sortBy(layers, ['position', 'wf_position']) || [];\n sortedLayers.forEach((layer, idx) => {\n const uk = `${layer.key}_${idx}`;\n if (typeof layer.cond_fields === 'undefined' || layer.cond_fields == null || layer.cond_fields.length === 0) {\n const ig = (\n <GenPropertiesLayer\n id={id}\n key={uk}\n layer={layer}\n onChange={funcChange}\n onSubChange={funcSubChange}\n selectOptions={options}\n onClick={funcClick}\n layers={layers}\n isPreview={isPreview}\n activeWF={activeWF}\n />\n );\n layout.push(ig);\n } else if (layer.cond_fields && layer.cond_fields.length > 0) {\n let showLayer = false;\n\n for (let i = 0; i < layer.cond_fields.length; i += 1) {\n const cond = layer.cond_fields[i] || {};\n const fd = ((layers[cond.layer] || {}).fields || [])\n .find(f => f.field === cond.field) || {};\n if (fd.type === 'checkbox' && ((['false', 'no', 'f', '0'].includes((cond.value || '').trim().toLowerCase()) && (typeof (fd && fd.value) === 'undefined' || fd.value === false))\n || (['true', 'yes', 't', '1'].includes((cond.value || '').trim().toLowerCase()) && (typeof fd.value !== 'undefined' && fd.value === true)))) {\n showLayer = true;\n break;\n } else if (['text', 'select'].includes(fd.type) && (typeof (fd && fd.value) !== 'undefined' && (fd.value || '').trim() === (cond.value || '').trim())) {\n showLayer = true;\n break;\n }\n }\n\n if (showLayer === true) {\n const igs = (\n <GenPropertiesLayer\n id={id}\n key={uk}\n layer={layer}\n onChange={funcChange}\n onSubChange={funcSubChange}\n selectOptions={options}\n onClick={funcClick}\n layers={layers}\n isPreview={isPreview}\n activeWF={activeWF}\n />\n );\n layout.push(igs);\n }\n }\n });\n return layout;\n};\n\nexport default LayersLayout;\n","/* eslint-disable camelcase */\n/* eslint-disable react/forbid-prop-types */\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { cloneDeep, findIndex, sortBy } from 'lodash';\nimport LayersLayout from '../layers/LayersLayout';\nimport LayerModal from '../layers/LayerModal';\nimport {\n getWFNode, getFlowLayer, addToObject, removeFromObject, orgLayerObject, reformCondFields\n} from '../tools/orten';\nimport {\n genUnits, swapAryEls, unitConversion, uploadFiles\n} from '../tools/utils';\nimport useReducerWithCallback from '../tools/useReducerWithCallback';\n\nconst initialState = { showViewLayer: false, selectedLayerKey: '' };\n\nconst reducer = (state, action) => ({ ...state, ...action });\n\nconst GenInterface = props => {\n const [state, dispatch] = useReducerWithCallback(reducer, initialState);\n const {\n generic, fnChange, extLayers, genId, isPreview, isActiveWF\n } = props;\n\n if (Object.keys(generic).length === 0) return null;\n\n const layerDrop = (_source, _target) => {\n const { layers } = generic.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 generic.properties.layers = ll;\n generic.changed = true;\n fnChange(generic);\n };\n\n const layerRemove = (elId, layer) => {\n const { layers } = generic.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 generic.properties.layers = orgLayerObject(sortedLayers);\n generic.changed = true;\n fnChange(generic);\n };\n\n const layerNext = (event, layer) => {\n const value = event ? event.value : null;\n if (value) {\n const { properties, properties_release } = generic;\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 generic.properties = properties;\n generic.changed = true;\n // this.props.onChange(segment, () => renderFlowModal(segment, false));\n fnChange(generic); // cb move to e.g. SampleDetails.js\n }\n }\n };\n\n const handleAddLayer = (event, _layer) => {\n console.log('handleAddLayer');\n console.log(state);\n const layer = _layer;\n const { layers } = generic.properties;\n const sortedLayers = sortBy(layers, ['position', 'wf_position']);\n const idx = sortedLayers.findIndex(e => e.key === state.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 generic.properties.layers = ll;\n dispatch({ showViewLayer: false, selectedLayerKey: layer.key }, () => {\n fnChange(generic);\n });\n };\n\n const handleInputChange = (event, field, layer, type = 'text') => {\n const { properties } = generic;\n let value = '';\n let propsChange = true;\n switch (type) {\n case 'drop-layer':\n layerDrop(field, layer);\n propsChange = false;\n break;\n case 'layer-remove':\n event.stopPropagation();\n layerRemove(field, layer);\n propsChange = false;\n break;\n case 'layer-modal':\n event.stopPropagation();\n propsChange = false;\n dispatch({ showViewLayer: true, selectedLayerKey: layer.key });\n break;\n case 'wf-next':\n propsChange = false;\n layerNext(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) generic.files = (generic.files || []).concat(vals[1]);\n if (vals.length > 2) {\n const fileIdx = findIndex((generic.files || []), o => o.uid === event.uid);\n if (fileIdx >= 0 && generic.files && generic.files.length > 0) {\n generic.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 'drag_sample':\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 (field === 'name' && layer === '') {\n generic.name = value;\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 generic.properties = properties;\n generic.changed = true;\n fnChange(generic);\n }\n };\n\n const handleSubChange = (layer, obj, valueOnly = false) => {\n const { properties } = generic;\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 generic.properties = properties;\n generic.changed = true;\n fnChange(generic);\n };\n\n const handleUnitClick = (layer, obj) => {\n const { properties } = generic;\n const newVal = unitConversion(obj.option_layers, obj.value_system, obj.value);\n properties.layers[`${layer}`].fields.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 generic.properties = properties;\n generic.changed = true;\n fnChange(generic);\n };\n\n const layersLayout = LayersLayout(\n generic.properties.layers,\n generic.properties_release.select_options || {},\n handleInputChange,\n handleSubChange,\n handleUnitClick,\n extLayers,\n genId,\n isPreview,\n isActiveWF\n );\n\n const addLayerModal = (\n <LayerModal\n show={state.showViewLayer}\n layers={cloneDeep(generic.properties_release.layers) || {}}\n fnClose={() => dispatch({ showViewLayer: !state.showViewLayer })}\n fnAdd={handleAddLayer}\n />\n );\n\n return (\n <>\n {layersLayout}\n {addLayerModal}\n </>\n );\n};\n\nGenInterface.propTypes = {\n generic: PropTypes.object.isRequired,\n fnChange: PropTypes.func.isRequired,\n extLayers: PropTypes.array,\n genId: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n isPreview: PropTypes.bool.isRequired,\n isActiveWF: PropTypes.bool.isRequired,\n};\n\nGenInterface.defaultProps = {\n extLayers: [],\n genId: 0\n};\n\nexport default GenInterface;\n","import { useEffect, useReducer, useRef } from 'react';\n\nconst useReducerWithCallback = (reducer, initialState, initializer) => {\n const callbackRef = useRef();\n const [state, dispatch] = useReducer(reducer, initialState, initializer);\n\n useEffect(() => {\n if (callbackRef.current) {\n callbackRef.current(state);\n callbackRef.current = null;\n }\n }, [state]);\n\n const customDispatch = (action, callback) => {\n callbackRef.current = callback;\n dispatch(action);\n };\n\n return [state, customDispatch];\n};\n\nexport default useReducerWithCallback;\n","/* eslint-disable react/forbid-prop-types */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { findIndex, cloneDeep } from 'lodash';\nimport {\n Panel, Button, ButtonToolbar, OverlayTrigger, Tooltip\n} from 'react-bootstrap';\nimport GenInterface from './GenInterface';\nimport {\n genUnits, toBool, toNum, absOlsTermLabel\n} from '../tools/utils';\n\nclass GenericDSDetails extends Component {\n constructor(props) {\n super(props);\n this.handleReload = this.handleReload.bind(this);\n }\n\n handleReload() {\n const { klass, genericDS, onChange } = this.props;\n if (klass.properties_release) {\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 = (genericDS.properties.layers[key] && genericDS.properties.layers[key].fields) || [];\n (newLayer.fields || []).forEach((f, idx) => {\n const curIdx = findIndex(curFields, o => o.field === f.field);\n if (curIdx >= 0) {\n const curVal = genericDS.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 // eslint-disable-next-line no-restricted-globals\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 => u.key === genericDS.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 }\n });\n });\n genericDS.properties = newProps;\n genericDS.dataset_klass_id = klass.id;\n genericDS.klass_ols = klass.ols_term_id;\n genericDS.klass_label = klass.label;\n genericDS.changed = true;\n onChange(genericDS);\n } else {\n onChange(undefined);\n }\n }\n\n elementalPropertiesItem(genericDS) {\n const { onChange } = this.props;\n const layersLayout = (\n <GenInterface\n generic={genericDS}\n fnChange={onChange}\n extLayers={[]}\n genId={0}\n isPreview={false}\n isActiveWF={false}\n />\n );\n return (<div style={{ margin: '5px' }}>{layersLayout}</div>);\n }\n\n render() {\n const { uiCtrl, genericDS, kind } = this.props;\n if (uiCtrl && Object.keys(genericDS).length !== 0 && kind && kind !== '') {\n return (\n <Panel className=\"panel-detail\">\n <Panel.Body style={{ position: 'relative', minHeight: 260, overflowY: 'unset' }}>\n {this.elementalPropertiesItem(genericDS)}\n <span className=\"g-ds-note label\">\n <span className=\"g-ds-title\">Note</span>\n <br />\n Selected analysis type:\n {' '}\n {absOlsTermLabel(kind)}\n <br />\n Content is designed for:\n {' '}\n {genericDS.klass_label}\n </span>\n <ButtonToolbar className=\"pull-right\">\n <OverlayTrigger placement=\"top\" overlay={<Tooltip id=\"_tooltip_reload\">click to reload the content template</Tooltip>}>\n <Button bsSize=\"xsmall\" bsStyle=\"danger\" onClick={() => this.handleReload()}>Reload</Button>\n </OverlayTrigger>\n </ButtonToolbar>\n </Panel.Body>\n </Panel>\n );\n }\n return null;\n }\n}\n\nGenericDSDetails.propTypes = {\n uiCtrl: PropTypes.bool.isRequired, // MatrixCheck(currentUser.matrix, 'genericDataset')\n kind: PropTypes.string, // selected analysis type\n genericDS: PropTypes.object,\n klass: PropTypes.object, // dataset_klass\n onChange: PropTypes.func.isRequired // change callback\n};\nGenericDSDetails.defaultProps = { kind: '', genericDS: {}, klass: {} };\n\n// export default DragDropContext(HTML5Backend)(GenericDSDetails);\nexport default GenericDSDetails;\n","/* eslint-disable react/forbid-prop-types */\nimport React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { findIndex, cloneDeep } from 'lodash';\nimport { Panel } from 'react-bootstrap';\nimport GenInterface from './GenInterface';\nimport {\n genUnits, toBool, toNum\n} from '../tools/utils';\nimport organizeSubValues from '../tools/collate';\n\nclass SegmentDetails extends Component {\n constructor(props) {\n super(props);\n this.handleReload = this.handleReload.bind(this);\n }\n\n handleReload() {\n const { klass, segment, onChange } = 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 => 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 = 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 = 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 onChange(segment);\n }\n\n elementalPropertiesItem(segment) {\n const { onChange } = this.props;\n const layersLayout = (\n <GenInterface\n generic={segment}\n fnChange={onChange}\n extLayers={[]}\n genId={0}\n isPreview={false}\n isActiveWF\n />\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 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 </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\nexport default SegmentDetails;\n","import { cloneDeep } from 'lodash';\nimport { unitConversion } from './utils';\nimport GenericSubField from '../models/GenericSubField';\n\nconst collateValues = (currentFields, previousFields, previousValues) => {\n const result = [];\n let newSub = new GenericSubField();\n currentFields.map(e => Object.assign(newSub, { [e.id]: '' }));\n const currentValuKeys = Object.keys(newSub);\n const previousValueKeys = Object.keys(previousValues[0]);\n const notInCurrent = previousValueKeys.filter(e => !currentValuKeys.includes(e));\n const currObj = {};\n currentFields.map(c => {\n if (c.type === 'text') return Object.assign(currObj, { [c.id]: '' });\n return Object.assign(currObj, { [c.id]: { value: '', value_system: c.value_system } });\n });\n previousValues.forEach(e => {\n newSub = new GenericSubField();\n Object.assign(newSub, currObj, e);\n notInCurrent.forEach(c => delete newSub[c]);\n previousValueKeys.forEach(preKey => {\n if (newSub[preKey] === undefined || preKey === 'id') return;\n const curr = currentFields.find(f => f.id === preKey);\n const prev = previousFields.find(f => f.id === preKey);\n if (curr.type === 'drag_molecule') {\n if (['text', 'system-defined', 'drag_sample'].includes(prev.type)) {\n newSub[preKey] = { value: undefined };\n }\n }\n if (curr.type === 'text') {\n if (prev.type === 'system-defined') {\n newSub[preKey] = newSub[preKey].value;\n }\n if (['drag_molecule', 'drag_sample'].includes(prev.type)) {\n newSub[preKey] = '';\n }\n }\n if (curr.type === 'system-defined') {\n if (prev.type === 'system-defined' && (curr.option_layers !== prev.option_layers)) {\n newSub[preKey].value_system = curr.value_system;\n }\n if (['text', 'drag_molecule', 'drag_sample'].includes(prev.type)) {\n newSub[preKey] = { value: '', value_system: curr.value_system };\n }\n newSub[preKey].value = unitConversion(curr.option_layer, newSub[preKey].value_system, newSub[preKey].value);\n }\n });\n result.push(newSub);\n });\n return result;\n};\n\nconst organizeSubValues = (cur, pre) => {\n const currentFields = cloneDeep(cur.sub_fields || []);\n const previousFields = cloneDeep(pre.sub_fields || []);\n const previousValues = cloneDeep(pre.sub_values || []);\n if (currentFields.length < 1\n || previousFields.length < 1 || previousValues.length < 1) {\n return [];\n }\n return collateValues(currentFields, previousFields, previousValues);\n};\n\nexport default organizeSubValues;\n","import React, { memo } from 'react';\nimport { Handle, Position } from 'react-flow-renderer';\n\nconst targetHandleStyle = { background: '#555' };\nconst sourceHandleStyleA = { ...targetHandleStyle, top: 10 };\nconst onConnect = params => console.log('handle onConnect', params);\n\nconst LayerNode = ({ data }) => (\n <>\n <Handle type=\"target\" position={Position.Top} style={targetHandleStyle} onConnect={onConnect} />\n <div>\n <div style={{ borderWidth: '0px 0px 1px 0px', borderColor: 'black', borderStyle: 'solid' }}><b>{data.layer.label}</b></div>\n <div>\n (\n {data.layer.key}\n )\n </div>\n </div>\n <Handle type=\"source\" position={Position.Bottom} id=\"a\" style={sourceHandleStyleA} />\n </>\n);\n\nexport default memo(LayerNode);\n","import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport ReactFlow, { ReactFlowProvider, Controls, ConnectionMode } from 'react-flow-renderer';\nimport LayerNode from './LayerNode';\nimport { conFlowEls, flowDefault } from '../tools/utils';\n\nconst FlowView = props => {\n const { properties, properties_release } = props;\n const [reactFlowInstance, setReactFlowInstance] = useState(null);\n const [elements, setElements] = useState([]);\n const onLoad = _reactFlowInstance => {\n setReactFlowInstance(_reactFlowInstance);\n };\n\n useEffect(() => {\n let flowEls = conFlowEls(props);\n flowEls = flowEls.length > 0 ? flowEls : flowDefault;\n // flowEls = decorateNode(flowEls, properties.layers || {});\n setElements(flowEls);\n }, [properties, properties_release]);\n\n useEffect(() => {\n let flowEls = conFlowEls(props);\n flowEls = flowEls.length > 0 ? flowEls : flowDefault;\n // flowEls = decorateNode(flowEls, properties.layers || {});\n setElements(flowEls);\n }, []);\n\n useEffect(() => {\n if (reactFlowInstance && elements.length) {\n reactFlowInstance.fitView();\n }\n }, [reactFlowInstance, elements.length]);\n\n return (\n <ReactFlowProvider>\n <ReactFlow\n elements={elements}\n onLoad={onLoad}\n connectionMode={ConnectionMode.Loose}\n nodeTypes={{ selectorNode: LayerNode }}\n deleteKeyCode={46}\n >\n <Controls />\n </ReactFlow>\n </ReactFlowProvider>\n );\n};\n\nFlowView.propTypes = {\n properties: PropTypes.object.isRequired,\n};\n\nexport default FlowView;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { Button, Modal, Panel } from 'react-bootstrap';\nimport Draggable from 'react-draggable';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport FlowView from './FlowView';\n\nconst FlowViewerModal = props => {\n const { show, data, fnHide } = props;\n if (!show) return null;\n const { properties_release, properties, shortLabel } = data;\n if (Object.keys(properties_release).length < 1) return null;\n if ((Object.keys(properties_release.flow || {}).length < 1)\n || ((properties_release.flow.elements || []).length < 3)) {\n return (\n <Modal show={show} bsSize=\"small\" onHide={fnHide}>\n <Modal.Header closeButton>\n <Modal.Title>{`${shortLabel} workflow`}</Modal.Title>\n </Modal.Header>\n <Modal.Body>No defined workflow</Modal.Body>\n </Modal>\n );\n }\n\n return (\n <Draggable handle=\".layer_header\" bounds=\"body\">\n <div className=\"flow_view_draggable\">\n <Panel bsStyle=\"primary\">\n <Panel.Heading className=\"layer_header\">\n {`${shortLabel} workflow`}\n <Button bsStyle=\"danger\" bsSize=\"xsmall\" className=\"gu_button_right\" onClick={fnHide}><FontAwesomeIcon icon=\"fas fa-times\" /></Button>\n </Panel.Heading>\n <Panel.Body>\n <div className=\"body_bg\">\n <div className=\"body_canvas\"><FlowView properties={properties} properties_release={properties_release} /></div>\n </div>\n </Panel.Body>\n </Panel>\n </div>\n </Draggable>\n );\n};\n\nFlowViewerModal.propTypes = {\n show: PropTypes.bool.isRequired,\n data: PropTypes.shape({\n properties_release: PropTypes.object, properties: PropTypes.object, shortLabel: PropTypes.string\n }).isRequired,\n fnHide: PropTypes.func.isRequired\n};\n\nexport default FlowViewerModal;\n","import { library } from '@fortawesome/fontawesome-svg-core';\nimport { fas } from '@fortawesome/free-solid-svg-icons';\nimport { far } from '@fortawesome/free-regular-svg-icons';\nimport './asserts/main.css';\n\nlibrary.add(fas, far);\n\nexport { default as ElementManager } from './components/admin/ElementManager';\nexport { default as ButtonTooltip } from './components/fields/ButtonTooltip';\nexport { default as ButtonConfirm } from './components/fields/ButtonConfirm';\nexport { default as GenInterface } from './components/details/GenInterface';\nexport { default as GenericDSDetails } from './components/details/GenDSDetails';\nexport { default as SegmentDetails } from './components/details/GenSgDetails';\nexport { default as FlowViewerModal } from './components/flow/FlowViewerModal';\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".gu_button_right{float:right;right:0px;z-index:1;margin-left:2px}.bg-bs-primary{background-color:#337ab7 !important}.bg-bs-warning{background-color:#f0ad4e !important}.icon_generic_nav{font-family:FontAwesome,Helvetica,Arial,sans-serif !important}.field_required{background-color:#ffffe0}.template_panel_heading{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:5px 10px 5px 10px !important}.panel_generic_properties{border-left:unset !important;border-right:unset !important;border-bottom:unset !important;line-height:26px !important;-webkit-box-shadow:unset !important;box-shadow:unset !important;margin-bottom:unset !important}.panel_generic_properties .panel-title{font-weight:bold}.panel_generic_properties .default_style{font-size:14px;line-height:normal}.panel_generic_properties_body{padding-left:unset !important;padding-right:unset !important}.panel_generic_heading_slim{padding:5px 0px !important}.panel_generic_heading{font-weight:bold;padding:10px 0px !important}.panel_generic_heading_bu{font-weight:bold;padding:10px 0px !important;text-decoration:underline}.panel_generic_heading_bui{font-weight:bold;padding:10px 0px !important;text-decoration:underline;font-style:italic}.text_generic_properties .dummy{background-color:unset !important;border:unset !important;-webkit-box-shadow:unset !important;box-shadow:unset !important}.text_generic_properties .editable{background-color:#fff}.text_generic_properties .readonly{background-color:#ddd}.text_generic_properties .required{background-color:#ffffe0}.text_generic_properties input:invalid{border:1px solid #f08080}.select_generic_properties_editable .Select-control{background-color:#fff}.select_generic_properties_readonly .Select-control{background-color:#ddd}.select_generic_properties_required .Select-control{background-color:#ffffe0}.drop_generic_properties{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.drop_generic_properties .target{height:100%;width:100%;margin:0px 10px 0px 10px;display:inline-block}.drop_generic_properties .target .indicator{font-size:x-large}.drop_generic_properties .target .s-img{display:-webkit-box;display:-ms-flexbox;display:flex}.drop_generic_properties .target .s-img img{height:4vh;width:4vw}.drop_generic_properties .target .data{font-size:medium;line-height:normal !important;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;-ms-flex-item-align:center;align-self:center;width:100%}.drop_generic_properties .target.can-drop .indicator{border:2px dashed #d3d3d3;color:#d3d3d3}.drop_generic_properties .target.can-drop .data{border:2px dashed #d3d3d3;color:#d3d3d3}.drop_generic_properties .target.is-over .indicator{border:2px dashed #31708f;color:#31708f}.drop_generic_properties .target.is-over .data{border:2px dashed #31708f;color:#31708f}.drop_generic_properties .btn_del{float:right;-ms-flex-item-align:center;align-self:center}.drop_generic_properties .sample_radios{font-size:xx-small;line-height:2;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;padding-right:5px}.generic_criteria_modal{display:block;padding-left:0px;top:45% !important;width:75vw !important}.search_criteria_mof .modal_body{max-height:70vh;height:70vh;overflow:auto}.search_criteria_mof .btn_footer{margin-top:10px}.input-form .input-group-addon{font-weight:bold}.input-form .help{font-size:80%;margin:6px;font-style:italic}.g-ds-note{color:#000 !important;float:left !important;text-align:left !important;font-weight:lighter !important}.g-ds-note .g-ds-title{text-decoration:underline;font-weight:700;line-height:1.5}.g_input_group{padding:6px 6px !important}.g_input_group_label{background-color:#d3d3d3 !important;width:unset !important;white-space:nowrap !important;padding:6px 6px !important}.g_col_w{width:20% !important}.generic_grid{display:block}.generic_grid>div{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.generic_grid_header{width:100%;margin:6px 0px 6px 6px;text-align:center;line-height:15px;-ms-flex-item-align:center;align-self:center;font-weight:bolder;font-family:\\\"Franklin Gothic Medium\\\",\\\"Arial Narrow\\\",Arial,sans-serif}.generic_grid_row{width:100%;margin:6px 0px 6px 6px;text-align:center;line-height:15px;-ms-flex-item-align:center;align-self:center}.generic_version{background-color:#777;display:inline-block;padding:.35em .65em;font-size:.75em;text-align:center;vertical-align:baseline;white-space:nowrap;border-radius:.5rem;color:#fff;background-color:unset;color:blue}.generic_version_draft{background-color:#777;display:inline-block;padding:.35em .65em;font-size:.75em;text-align:center;vertical-align:baseline;white-space:nowrap;border-radius:.5rem;color:#fff;background-color:unset;color:#000}.generic_version_block{display:block;padding:6px 10px;margin:10px;border-radius:10px;border:thin solid #d3d3d3;font-size:1.2em}.generic_version_block>div{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.generic_block_select{border-width:medium;border-style:groove}.generic_panel_none{border-color:#ddd !important}.generic_panel_none>.panel-heading{background-color:#fff !important}.generic_tbl_chks{line-height:1em;margin:0px -10px !important}.generic_tbl_chks>label{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-line-pack:center;align-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.generic_tbl_chks>label>input{margin-top:0px}.generic_btn_default{background-color:#777 !important;color:#fff !important}.drop_generic_table_wrap .target .s-img{position:relative;border:1px solid transparent}.drop_generic_table_wrap .target .s-img img{height:4vw;width:4vw}.drop_generic_table_wrap .target .s-img .del_btn{position:absolute;top:0%;left:0%}.drop_generic_table_wrap .target .s-img .link_btn{position:absolute;bottom:0%;left:0%}.drop_generic_table_wrap .target .s-img:hover{border:1px solid #0dcaf0}.drop_generic_table_wrap .target .data{font-size:unset;white-space:unset;text-align:left}.drop_generic_table_wrap .target.can-drop .s-img{border:2px dashed #d3d3d3;color:#d3d3d3}.drop_generic_table_wrap .target.is-over .s-img{border:2px dashed #31708f;color:#31708f}.generic_grid_img{border:#ddd solid thin}.generic_sam_options{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;text-align:left;font-size:x-small}.generic_sam_options .radio{margin-top:unset;margin-bottom:unset}.generic_files{padding:0px 5px !important}.generic_files>div>div>div{text-align:left;-ms-flex-item-align:center;align-self:center}.generic_files>div>div>div .form-group{margin-bottom:0px}.grid-btn-none{font-size:large;color:#fff}.generic_grid_dnd .dnd{cursor:move}.generic_grid_dnd .dnd-btn{font-size:large}.generic_grid_dnd .dnd-btn span{cursor:move}.generic_grid_dnd.can-drop{border:2px dashed #d3d3d3;color:#d3d3d3}.generic_grid_dnd.is-over{border:2px dashed #31708f;color:#31708f}.generic_grid_dnd.is-dragging{opacity:.2}.generic_layer_modal>.layer_header{background-color:#fff;color:#337ab7;font-size:20px}.generic_layer_modal>.panel-body{background-color:#d9edf7}.generic_layer_column{width:100%;margin:6px 0px 6px 6px;text-align:center;line-height:15px;-ms-flex-item-align:center;align-self:center;border:1px solid #337ab7;background-color:#fff;margin:5px;padding:10px;color:#337ab7;border-radius:4px}.generic_layer_column>div:first-child{display:-webkit-box;display:-ms-flexbox;display:flex}.generic_layer_column>div:first-child>button{float:right;border-radius:50%}.generic_layer_column>div:first-child>div{width:100%}.generic_wf_modal{max-height:100%;overflow:auto}.generic_wf_modal>div:first-child{height:85vh;width:100%}.flow_view_draggable{z-index:100;position:absolute;top:12%;left:10%}.flow_view_draggable .panel-body{padding:5px}.flow_view_draggable .panel-body>.body_bg{max-height:100%;overflow:auto;background-color:#d9edf7}.flow_view_draggable .panel-body>.body_bg>.body_canvas{resize:both;overflow:auto;height:70vh;width:40vw;min-height:250px;min-width:300px;max-width:1600px;max-height:840px}\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/asserts/main.css\"],\"names\":[],\"mappings\":\"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\",\"sourcesContent\":[\".gu_button_right {\\n float: right;\\n right: 0px;\\n z-index: 1;\\n margin-left: 2px;\\n}\\n\\n.bg-bs-primary {\\n background-color: #337ab7 !important;\\n}\\n\\n.bg-bs-warning {\\n background-color: #f0ad4e !important;\\n}\\n\\n.icon_generic_nav {\\n font-family: FontAwesome, Helvetica, Arial, sans-serif !important;\\n}\\n\\n.field_required {\\n background-color: lightyellow;\\n}\\n\\n.template_panel_heading {\\n display: flex;\\n justify-content: space-between;\\n align-items: center;\\n padding: 5px 10px 5px 10px !important;\\n}\\n\\n.panel_generic_properties {\\n border-left: unset !important;\\n border-right: unset !important;\\n border-bottom: unset !important;\\n line-height: 26px !important;\\n box-shadow: unset !important;\\n margin-bottom: unset !important;\\n}\\n.panel_generic_properties .panel-title {\\n font-weight: bold;\\n}\\n.panel_generic_properties .default_style {\\n font-size: 14px;\\n line-height: normal;\\n}\\n\\n.panel_generic_properties_body {\\n padding-left: unset !important;\\n padding-right: unset !important;\\n}\\n\\n.panel_generic_heading_slim {\\n padding: 5px 0px !important;\\n}\\n\\n.panel_generic_heading {\\n font-weight: bold;\\n padding: 10px 0px !important;\\n}\\n\\n.panel_generic_heading_bu {\\n font-weight: bold;\\n padding: 10px 0px !important;\\n text-decoration: underline;\\n}\\n\\n.panel_generic_heading_bui {\\n font-weight: bold;\\n padding: 10px 0px !important;\\n text-decoration: underline;\\n font-style: italic;\\n}\\n\\n.text_generic_properties .dummy {\\n background-color: unset !important;\\n border: unset !important;\\n box-shadow: unset !important;\\n}\\n.text_generic_properties .editable {\\n background-color: #fff;\\n}\\n.text_generic_properties .readonly {\\n background-color: #ddd;\\n}\\n.text_generic_properties .required {\\n background-color: lightyellow;\\n}\\n.text_generic_properties input:invalid {\\n border: 1px solid lightcoral;\\n}\\n\\n.select_generic_properties_editable .Select-control {\\n background-color: #fff;\\n}\\n\\n.select_generic_properties_readonly .Select-control {\\n background-color: #ddd;\\n}\\n\\n.select_generic_properties_required .Select-control {\\n background-color: lightyellow;\\n}\\n\\n.drop_generic_properties {\\n display: flex;\\n align-items: center;\\n}\\n.drop_generic_properties .target {\\n height: 100%;\\n width: 100%;\\n margin: 0px 10px 0px 10px;\\n display: inline-block;\\n}\\n.drop_generic_properties .target .indicator {\\n font-size: x-large;\\n}\\n.drop_generic_properties .target .s-img {\\n display: flex;\\n}\\n.drop_generic_properties .target .s-img img {\\n height: 4vh;\\n width: 4vw;\\n}\\n.drop_generic_properties .target .data {\\n font-size: medium;\\n line-height: normal !important;\\n text-overflow: ellipsis;\\n overflow: hidden;\\n white-space: nowrap;\\n align-self: center;\\n width: 100%;\\n}\\n.drop_generic_properties .target.can-drop .indicator {\\n border: 2px dashed lightgray;\\n color: lightgray;\\n}\\n.drop_generic_properties .target.can-drop .data {\\n border: 2px dashed lightgray;\\n color: lightgray;\\n}\\n.drop_generic_properties .target.is-over .indicator {\\n border: 2px dashed #31708f;\\n color: #31708f;\\n}\\n.drop_generic_properties .target.is-over .data {\\n border: 2px dashed #31708f;\\n color: #31708f;\\n}\\n.drop_generic_properties .btn_del {\\n float: right;\\n align-self: center;\\n}\\n.drop_generic_properties .sample_radios {\\n font-size: xx-small;\\n line-height: 2;\\n display: inline-flex;\\n padding-right: 5px;\\n}\\n\\n.generic_criteria_modal {\\n display: block;\\n padding-left: 0px;\\n top: 45% !important;\\n width: 75vw !important;\\n}\\n\\n.search_criteria_mof .modal_body {\\n max-height: 70vh;\\n height: 70vh;\\n overflow: auto;\\n}\\n.search_criteria_mof .btn_footer {\\n margin-top: 10px;\\n}\\n\\n.input-form .input-group-addon {\\n font-weight: bold;\\n}\\n.input-form .help {\\n font-size: 80%;\\n margin: 6px;\\n font-style: italic;\\n}\\n\\n.g-ds-note {\\n color: black !important;\\n float: left !important;\\n text-align: left !important;\\n font-weight: lighter !important;\\n}\\n.g-ds-note .g-ds-title {\\n text-decoration: underline;\\n font-weight: 700;\\n line-height: 1.5;\\n}\\n\\n.g_input_group {\\n padding: 6px 6px !important;\\n}\\n\\n.g_input_group_label {\\n background-color: lightgray !important;\\n width: unset !important;\\n white-space: nowrap !important;\\n padding: 6px 6px !important;\\n}\\n\\n.g_col_w {\\n width: 20% !important;\\n}\\n\\n.generic_grid {\\n display: block;\\n}\\n.generic_grid > div {\\n display: flex;\\n flex-wrap: nowrap;\\n}\\n\\n.generic_grid_header {\\n width: 100%;\\n margin: 6px 0px 6px 6px;\\n text-align: center;\\n line-height: 15px;\\n align-self: center;\\n font-weight: bolder;\\n font-family: \\\"Franklin Gothic Medium\\\", \\\"Arial Narrow\\\", Arial, sans-serif;\\n}\\n\\n.generic_grid_row {\\n width: 100%;\\n margin: 6px 0px 6px 6px;\\n text-align: center;\\n line-height: 15px;\\n align-self: center;\\n}\\n\\n.generic_version {\\n background-color: #777;\\n display: inline-block;\\n padding: 0.35em 0.65em;\\n font-size: 0.75em;\\n text-align: center;\\n vertical-align: baseline;\\n white-space: nowrap;\\n border-radius: 0.5rem;\\n color: white;\\n background-color: unset;\\n color: blue;\\n}\\n\\n.generic_version_draft {\\n background-color: #777;\\n display: inline-block;\\n padding: 0.35em 0.65em;\\n font-size: 0.75em;\\n text-align: center;\\n vertical-align: baseline;\\n white-space: nowrap;\\n border-radius: 0.5rem;\\n color: white;\\n background-color: unset;\\n color: black;\\n}\\n\\n.generic_version_block {\\n display: block;\\n padding: 6px 10px;\\n margin: 10px;\\n border-radius: 10px;\\n border: thin solid lightgray;\\n font-size: 1.2em;\\n}\\n.generic_version_block > div {\\n display: flex;\\n flex-wrap: nowrap;\\n}\\n\\n.generic_block_select {\\n border-width: medium;\\n border-style: groove;\\n}\\n\\n.generic_panel_none {\\n border-color: #ddd !important;\\n}\\n.generic_panel_none > .panel-heading {\\n background-color: white !important;\\n}\\n\\n.generic_tbl_chks {\\n line-height: 1em;\\n margin: 0px -10px !important;\\n}\\n.generic_tbl_chks > label {\\n display: inline-flex;\\n align-content: center;\\n align-items: center;\\n}\\n.generic_tbl_chks > label > input {\\n margin-top: 0px;\\n}\\n\\n.generic_btn_default {\\n background-color: #777 !important;\\n color: #fff !important;\\n}\\n\\n.drop_generic_table_wrap .target .s-img {\\n position: relative;\\n border: 1px solid transparent;\\n}\\n.drop_generic_table_wrap .target .s-img img {\\n height: 4vw;\\n width: 4vw;\\n}\\n.drop_generic_table_wrap .target .s-img .del_btn {\\n position: absolute;\\n top: 0%;\\n left: 0%;\\n}\\n.drop_generic_table_wrap .target .s-img .link_btn {\\n position: absolute;\\n bottom: 0%;\\n left: 0%;\\n}\\n.drop_generic_table_wrap .target .s-img:hover {\\n border: 1px solid #0dcaf0;\\n}\\n.drop_generic_table_wrap .target .data {\\n font-size: unset;\\n white-space: unset;\\n text-align: left;\\n}\\n.drop_generic_table_wrap .target.can-drop .s-img {\\n border: 2px dashed lightgray;\\n color: lightgray;\\n}\\n.drop_generic_table_wrap .target.is-over .s-img {\\n border: 2px dashed #31708f;\\n color: #31708f;\\n}\\n\\n.generic_grid_img {\\n border: #ddd solid thin;\\n}\\n\\n.generic_sam_options {\\n display: flex;\\n flex-direction: column;\\n text-align: left;\\n font-size: x-small;\\n}\\n.generic_sam_options .radio {\\n margin-top: unset;\\n margin-bottom: unset;\\n}\\n\\n.generic_files {\\n padding: 0px 5px !important;\\n}\\n.generic_files > div > div > div {\\n text-align: left;\\n align-self: center;\\n}\\n.generic_files > div > div > div .form-group {\\n margin-bottom: 0px;\\n}\\n\\n.grid-btn-none {\\n font-size: large;\\n color: white;\\n}\\n\\n.generic_grid_dnd .dnd {\\n cursor: move;\\n}\\n.generic_grid_dnd .dnd-btn {\\n font-size: large;\\n}\\n.generic_grid_dnd .dnd-btn span {\\n cursor: move;\\n}\\n.generic_grid_dnd.can-drop {\\n border: 2px dashed lightgray;\\n color: lightgray;\\n}\\n.generic_grid_dnd.is-over {\\n border: 2px dashed #31708f;\\n color: #31708f;\\n}\\n.generic_grid_dnd.is-dragging {\\n opacity: 0.2;\\n}\\n\\n.generic_layer_modal > .layer_header {\\n background-color: white;\\n color: #337ab7;\\n font-size: 20px;\\n}\\n.generic_layer_modal > .panel-body {\\n background-color: #d9edf7;\\n}\\n\\n.generic_layer_column {\\n width: 100%;\\n margin: 6px 0px 6px 6px;\\n text-align: center;\\n line-height: 15px;\\n align-self: center;\\n border: 1px solid #337ab7;\\n background-color: white;\\n margin: 5px;\\n padding: 10px;\\n color: #337ab7;\\n border-radius: 4px;\\n}\\n\\n.generic_layer_column > div:first-child {\\n display: flex;\\n}\\n\\n.generic_layer_column > div:first-child > button {\\n float: right;\\n border-radius: 50%;\\n}\\n\\n.generic_layer_column > div:first-child > div {\\n width: 100%;\\n}\\n\\n.generic_wf_modal {\\n max-height: 100%;\\n overflow: auto;\\n}\\n\\n.generic_wf_modal > div:first-child {\\n height: 85vh;\\n width: 100%;\\n}\\n\\n.flow_view_draggable {\\n z-index: 100;\\n position: absolute;\\n top: 12%;\\n left: 10%;\\n}\\n.flow_view_draggable .panel-body {\\n padding: 5px;\\n}\\n.flow_view_draggable .panel-body > .body_bg {\\n max-height: 100%;\\n overflow: auto;\\n background-color: #d9edf7;\\n}\\n.flow_view_draggable .panel-body > .body_bg > .body_canvas {\\n resize: both;\\n overflow: auto;\\n height: 70vh;\\n width: 40vw;\\n min-height: 250px;\\n min-width: 300px;\\n max-width: 1600px;\\n max-height: 840px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","module.exports = __WEBPACK_EXTERNAL_MODULE__7607__;","module.exports = __WEBPACK_EXTERNAL_MODULE__4639__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1346__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.hmd = function(module) {\n\tmodule = Object.create(module);\n\tif (!module.children) module.children = [];\n\tObject.defineProperty(module, 'exports', {\n\t\tenumerable: true,\n\t\tset: function() {\n\t\t\tthrow new Error('ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: ' + module.id);\n\t\t}\n\t});\n\treturn module;\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t179: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkchem_generic_ui\"] = self[\"webpackChunkchem_generic_ui\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [369], function() { return __webpack_require__(5257); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["root","factory","exports","module","require","define","amd","i","a","self","__WEBPACK_EXTERNAL_MODULE__4639__","__WEBPACK_EXTERNAL_MODULE__1346__","__WEBPACK_EXTERNAL_MODULE__7607__","dropTarget","drop","targetProps","monitor","sourceProps","getItem","element","sourceTag","type","props","id","taggable","tag","taggable_data","isAssoc","reaction_id","wellplate_id","el_id","molecule","el_type","el_label","molecule_name_label","el_tip","inchikey","cano_smiles","is_new","cr_opt","short_label","icon_name","element_klass","el_klass","label","name","opt","split","onDrop","canDrop","_targetProps","_monitor","GenericElDropTarget","onLink","connectDropTarget","this","isOver","iconClass","dndItems","className","value","tip1","tips","length","tip2","tit","pop","title","style","maxWidth","maxHeight","src","el_svg","height","width","alt","role","onClick","cursor","path","txt","trigger","placement","rootClose","onHide","overlay","uuid","Component","DropTarget","connect","propTypes","PropTypes","FieldLabel","desc","delayShow","defaultProps","GenPropertiesCalculate","fields","layer","showVal","showTxt","newFormula","formula","calFields","filter","o","regF","varFields","match","sort","b","forEach","fi","tmpField","isNaN","find","e","field","replace","parseFloat","unitConvToBase","eval","toFixed","SyntaxError","message","fieldHeader","description","onChange","readOnly","required","placeholder","min","active","aria-hidden","GenPropertiesCheckbox","checked","disabled","GenPropertiesDrop","isRequired","createOpt","inline","defaultIcon","dragTarget","isPreview","paddingBottom","bsStyle","bsSize","GenDummy","GenPropertiesInputGroup","subs","f_obj","sub_fields","map","key","onSubChange","genUnitSup","genUnit","option_layers","value_system","display","GenPropertiesNumber","isEditable","GenPropertiesSelect","options","op","val","isClearable","menuContainerStyle","position","multi","GenPropertiesSystemDefined","GenPropertiesTable","GenPropertiesText","GenPropertiesTextArea","componentClass","GenTextFormula","layers","text_sub_fields","fds","separator","includes","fdt","f","sub_values","svv","push","fd","join","renderListGroupItem","attachment","delBtn","uid","action","filename","aid","downloadFile","contents","GenPropertiesUpload","attachments","files","isSearchCriteria","border","textAlign","paddingTop","color","GenWFNext","wf_options","GenericSubField","args","Object","assign","buildID","AddRowBtn","addRow","OverlayTrigger","Tooltip","Button","DelRowBtn","delRow","data","node","NullRowBtn","DnDRowBtn","moveRow","rowValue","handleMove","compose","DragSource","s","beginDrag","fid","rId","connectDragSource","dragSource","isDragging","tar","UConverterRenderer","sField","base","params","svg","endsWith","Popover","DropRenderer","oopt","cloneDeep","DropTextRenderer","attr","displayValue","data-clipboard-text","wordBreak","DropLinkRenderer","dId","dVal","el_short_label","SamOption","fValue","rUUID","Radio","subField","crOpt","SelectRenderer","sOptions","GenericElTableDropTarget","justifyContent","subVal","molecule_formula","el_inchikey","el_smiles","el_iupac","iupac_name","el_molecular_weight","molecular_weight","molecule_svg_file","el_name","el_external_label","external_label","molecule_molecular_weight","sample_svg_file","TableRecord","bind","onCellChange","onSelectClick","onUnitClick","onChk","getColumns","columnDef","newValue","target","oldValue","Numeral","idx","subVals","findIndex","splice","uIdx","units","genUnits","u","vs","v","unitConversion","targetOpt","selectOptions","sValues","columnDefs","act","sF","sOpt","addOption","colDef","headerName","col_name","colDefExt","editable","cellParams","cellRenderer","c","molOptions","m","ext","colId","SampOption","samOptions","concat","headerComponent","headerParams","dtype","move","source","alles","sid","tid","temp","rowData","subFields","newSub","rows","_columnDefs","ch","col","colCss","minWidth","borderBottom","ColumnHeader","_rowValue","FormControl","InputGroup","h","ColumnRow","React","default","nm","Attachment","file","identifier","is_deleted","thumb","content_type","isNew","uploadFiles","properties","event","valIdx","console","log","showProperties","fObj","showField","cond_fields","cond","trim","toLowerCase","absOlsTermLabel","toNum","parse","Number","reV","supVal","toBool","valLower","String","SystemUnits","pre","pIdx","curr","convertTemp","conFlowEls","flow","properties_release","els","deep","elements","d","lKey","ll","chk","findKey","wf","startsWith","top","right","zIndex","icon","borderWidth","borderColor","borderStyle","flowDefault","x","y","swapAryEls","_ary","idx1","idx2","ary","link","document","createElement","download","href","window","MouseEvent","view","bubbles","cancelable","dispatchEvent","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","ButtonTooltip","tip","size","tooltip","bs","fnClick","place","fa","content","ButtonConfirm","msg","fnParams","popover","animation","useState","count","setCount","fieldProps","canDrag","handleChange","btnAdd","klz","btnRemove","wfIcon","moveIcon","btnLayer","ButtonGroup","extHead","test","panelHeader","Panel","toggle","float","lineHeight","panelHColor","dndKlz","LayerModal","fnAdd","layout","show","fnClose","sortedLayers","sortBy","block","Modal","closeButton","overflow","orgLayerObject","reduce","ok","keys","all","cnt","nName","GenPropertiesLayer","handleSubChange","moveLayer","k","t","valueOnly","sub","keyLayer","obj","update","cols","perRow","Math","floor","klaz","newRow","rowId","unit","rCol","eachCol","tabCol","Row","Col","priority","md","lg","handleClick","activeWF","cl","panelDnD","noneKlass","PanelGroup","accordion","defaultActiveKey","marginBottom","eventKey","views","funcChange","funcSubChange","funcClick","uk","showLayer","reformCondFields","_layer","_oKey","_f","conds","n","traverseToRemove","rmKey","rms","prototype","hasOwnProperty","call","wf_info","source_layer","reducer","state","GenInterface","initialState","initializer","callbackRef","useRef","useReducer","dispatch","useEffect","current","callback","useReducerWithCallback","generic","fnChange","extLayers","genId","isActiveWF","layersLayout","LayersLayout","select_options","selected","_source","_target","tmpSrc","tarIdx","propsChange","srcIdx","abs","tmpTar","wf_position","el","changed","stopPropagation","selectedIdx","showViewLayer","selectedLayerKey","layerNext","fileIdx","vals","trunc","idxSub","newVal","addLayerModal","origKey","selectedLayer","wf_uuid","ix","rmNeeded","preValue","nxLayer","nodeId","addAfter","templateFlow","sourceLayer","sIdx","nd","ls","animated","ndNs","ns","wfOpts","node_id","preLayer","oKey","srcPosition","_propertiesLayers","srcLayer","rmNode","GenericDSDetails","handleReload","newProps","klass","genericDS","klass_uuid","newLayer","curFields","curVal","curIdx","curType","toString","parseInt","dataset_klass_id","klass_ols","ols_term_id","klass_label","margin","uiCtrl","kind","minHeight","overflowY","elementalPropertiesItem","ButtonToolbar","SegmentDetails","segment","nSubs","cSubs","exSubs","nSub","nvl","hitSub","cur","currentFields","previousFields","result","currentValuKeys","previousValueKeys","notInCurrent","currObj","previousValues","preKey","prev","option_layer","organizeSubValues","onConnect","targetHandleStyle","background","sourceHandleStyleA","memo","Position","FlowView","reactFlowInstance","setReactFlowInstance","setElements","flowEls","fitView","onLoad","_reactFlowInstance","connectionMode","ConnectionMode","nodeTypes","selectorNode","LayerNode","deleteKeyCode","FlowViewerModal","fnHide","shortLabel","handle","bounds","library","fas","far","___CSS_LOADER_EXPORT___","__webpack_module_cache__","deferred","__webpack_require__","moduleId","cachedModule","loaded","__webpack_modules__","O","chunkIds","fn","notFulfilled","Infinity","r","fulfilled","j","every","getter","__esModule","definition","defineProperty","enumerable","get","g","globalThis","Function","hmd","create","children","set","Error","prop","Symbol","toStringTag","webpackJsonpCallback","parentChunkLoadingFunction","chunkId","moreModules","runtime","some","installedChunks","179","chunkLoadingGlobal","__webpack_exports__"],"sourceRoot":""}
|