ketcher-react 2.9.0-rc.8 → 2.10.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.js +726 -531
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +728 -533
- package/dist/index.modern.js.map +1 -1
- package/dist/script/editor/Editor.d.ts +2 -1
- package/dist/script/editor/shared/closest.d.ts +3 -1
- package/dist/script/editor/tool/helper/dropAndMerge.d.ts +1 -6
- package/dist/script/editor/tool/select.d.ts +3 -1
- package/dist/script/editor/tool/template.d.ts +8 -1
- package/dist/script/ui/data/schema/struct-schema.d.ts +115 -98
- package/dist/script/ui/dialog/template/template-attach.d.ts +5 -0
- package/dist/script/ui/state/editor/index.d.ts +1 -1
- package/dist/script/ui/state/editor/utils/generateCommonProperties.d.ts +6 -0
- package/dist/script/ui/state/editor/utils/index.d.ts +1 -0
- package/dist/script/ui/state/modal/atoms.d.ts +0 -6
- package/dist/script/ui/state/modal/bonds.d.ts +6 -0
- package/dist/script/ui/state/modal/utils/index.d.ts +1 -0
- package/dist/script/ui/state/modal/utils/updateOnlyChangedProperties.d.ts +1 -0
- package/dist/script/ui/views/modal/components/ExtendedTable/components/GenericGroups/BoxWithLines.d.ts +1 -1
- package/dist/script/ui/views/modal/components/ExtendedTable/components/GenericGroups/GenGroup.d.ts +3 -2
- package/dist/script/ui/views/modal/components/ExtendedTable/components/GenericGroups/GenSet.d.ts +3 -2
- package/dist/script/ui/views/modal/components/ExtendedTable/components/GenericGroups/GenericGroups.d.ts +3 -2
- package/dist/script/ui/views/modal/components/ExtendedTable/components/GenericGroups/components/ButtonGenSet/ButtonGenSet.d.ts +25 -0
- package/dist/script/ui/views/modal/components/ExtendedTable/components/GenericGroups/components/ButtonGenSet/index.d.ts +16 -0
- package/dist/script/ui/views/modal/components/ExtendedTable/components/GenericGroups/index.d.ts +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -39,8 +39,8 @@ var _typeof = require('@babel/runtime/helpers/typeof');
|
|
|
39
39
|
var Ajv = require('ajv');
|
|
40
40
|
var fp = require('lodash/fp');
|
|
41
41
|
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
42
|
-
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
43
42
|
var reactDeviceDetect = require('react-device-detect');
|
|
43
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
44
44
|
var ReactDOM = require('react-dom');
|
|
45
45
|
var reactRedux = require('react-redux');
|
|
46
46
|
var redux = require('redux');
|
|
@@ -328,7 +328,7 @@ var debugObj = {
|
|
|
328
328
|
}
|
|
329
329
|
};
|
|
330
330
|
|
|
331
|
-
var classes$
|
|
331
|
+
var classes$O = {"cliparea":"cliparea-module_cliparea__GdPrN"};
|
|
332
332
|
|
|
333
333
|
function _createSuper$c(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$c(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
|
|
334
334
|
function _isNativeReflectConstruct$c() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
@@ -402,7 +402,7 @@ var ClipArea = function (_Component) {
|
|
|
402
402
|
value: function render() {
|
|
403
403
|
return jsxRuntime.jsx("textarea", {
|
|
404
404
|
ref: this.textAreaRef,
|
|
405
|
-
className: clsx__default["default"]('cliparea', classes$
|
|
405
|
+
className: clsx__default["default"]('cliparea', classes$O.cliparea),
|
|
406
406
|
contentEditable: true,
|
|
407
407
|
autoFocus: true
|
|
408
408
|
,
|
|
@@ -596,8 +596,8 @@ var render = {
|
|
|
596
596
|
},
|
|
597
597
|
showHydrogenLabels: {
|
|
598
598
|
title: 'Show hydrogen labels',
|
|
599
|
-
"enum":
|
|
600
|
-
"default":
|
|
599
|
+
"enum": Object.values(ketcherCore.ShowHydrogenLabels),
|
|
600
|
+
"default": ketcherCore.ShowHydrogenLabels.TerminalAndHetero
|
|
601
601
|
},
|
|
602
602
|
aromaticCircle: {
|
|
603
603
|
title: 'Aromatic Bonds as circle',
|
|
@@ -1494,6 +1494,11 @@ var atom = {
|
|
|
1494
1494
|
enumNames: ['', 'Monoradical', 'Diradical (singlet)', 'Diradical (triplet)'],
|
|
1495
1495
|
"default": 0
|
|
1496
1496
|
},
|
|
1497
|
+
cip: {
|
|
1498
|
+
title: 'CIP',
|
|
1499
|
+
type: 'string',
|
|
1500
|
+
"enum": ['R', 'S', 'r', 's']
|
|
1501
|
+
},
|
|
1497
1502
|
ringBondCount: {
|
|
1498
1503
|
title: 'Ring bond count',
|
|
1499
1504
|
"enum": [0, -2, -1, 2, 3, 4],
|
|
@@ -1580,8 +1585,8 @@ var bond = {
|
|
|
1580
1585
|
properties: {
|
|
1581
1586
|
type: {
|
|
1582
1587
|
title: 'Type',
|
|
1583
|
-
"enum": ['single', 'up', 'down', 'updown', 'double', 'crossed', 'triple', 'aromatic', 'any', 'hydrogen', 'singledouble', 'singlearomatic', 'doublearomatic', 'dative'],
|
|
1584
|
-
enumNames: ['Single', 'Single Up', 'Single Down', 'Single Up/Down', 'Double', 'Double Cis/Trans', 'Triple', 'Aromatic', 'Any', 'Hydrogen', 'Single/Double', 'Single/Aromatic', 'Double/Aromatic', 'Dative'],
|
|
1588
|
+
"enum": ['', 'single', 'up', 'down', 'updown', 'double', 'crossed', 'triple', 'aromatic', 'any', 'hydrogen', 'singledouble', 'singlearomatic', 'doublearomatic', 'dative'],
|
|
1589
|
+
enumNames: ['', 'Single', 'Single Up', 'Single Down', 'Single Up/Down', 'Double', 'Double Cis/Trans', 'Triple', 'Aromatic', 'Any', 'Hydrogen', 'Single/Double', 'Single/Aromatic', 'Double/Aromatic', 'Dative'],
|
|
1585
1590
|
"default": 'single'
|
|
1586
1591
|
},
|
|
1587
1592
|
topology: {
|
|
@@ -1595,6 +1600,11 @@ var bond = {
|
|
|
1595
1600
|
"enum": [0, -1, 1, 2, 4, 8, 12],
|
|
1596
1601
|
enumNames: ['Unmarked', 'Not center', 'Center', 'No change', 'Made/broken', 'Order changes', 'Made/broken and changes'],
|
|
1597
1602
|
"default": 0
|
|
1603
|
+
},
|
|
1604
|
+
cip: {
|
|
1605
|
+
title: 'CIP',
|
|
1606
|
+
type: 'string',
|
|
1607
|
+
"enum": ['E', 'Z', 'M', 'P']
|
|
1598
1608
|
}
|
|
1599
1609
|
}
|
|
1600
1610
|
};
|
|
@@ -1875,7 +1885,7 @@ function fromBondType(type, stereo) {
|
|
|
1875
1885
|
for (var caption in bondCaptionMap) {
|
|
1876
1886
|
if (bondCaptionMap[caption].type === type && bondCaptionMap[caption].stereo === stereo) return caption;
|
|
1877
1887
|
}
|
|
1878
|
-
|
|
1888
|
+
return '';
|
|
1879
1889
|
}
|
|
1880
1890
|
var bondCaptionMap = {
|
|
1881
1891
|
single: {
|
|
@@ -1998,74 +2008,54 @@ function isFlipDisabled(editor) {
|
|
|
1998
2008
|
bonds = _selection$bonds === void 0 ? [] : _selection$bonds,
|
|
1999
2009
|
_selection$atoms = selection.atoms,
|
|
2000
2010
|
atoms = _selection$atoms === void 0 ? [] : _selection$atoms;
|
|
2001
|
-
var
|
|
2011
|
+
var getBondIdsForAttachmentAtoms = function getBondIdsForAttachmentAtoms() {
|
|
2002
2012
|
var result = [];
|
|
2003
|
-
var _iterator = _createForOfIteratorHelper$e(
|
|
2013
|
+
var _iterator = _createForOfIteratorHelper$e(atoms),
|
|
2004
2014
|
_step;
|
|
2005
2015
|
try {
|
|
2006
2016
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
2007
|
-
var
|
|
2008
|
-
|
|
2009
|
-
|
|
2010
|
-
|
|
2011
|
-
result.push(bondId);
|
|
2012
|
-
}
|
|
2013
|
-
}
|
|
2014
|
-
} catch (err) {
|
|
2015
|
-
_iterator.e(err);
|
|
2016
|
-
} finally {
|
|
2017
|
-
_iterator.f();
|
|
2018
|
-
}
|
|
2019
|
-
return result;
|
|
2020
|
-
};
|
|
2021
|
-
var getBondIdsForAttachmentAtoms = function getBondIdsForAttachmentAtoms() {
|
|
2022
|
-
var result = [];
|
|
2023
|
-
var _iterator2 = _createForOfIteratorHelper$e(atoms),
|
|
2024
|
-
_step2;
|
|
2025
|
-
try {
|
|
2026
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
2027
|
-
var atomId = _step2.value;
|
|
2028
|
-
var atomBondIds = getBondIdsForAtom(atomId);
|
|
2029
|
-
var _iterator3 = _createForOfIteratorHelper$e(atomBondIds),
|
|
2030
|
-
_step3;
|
|
2017
|
+
var atomId = _step.value;
|
|
2018
|
+
var atomBondIds = ketcherCore.Atom.getConnectedBondIds(restruct.molecule, atomId);
|
|
2019
|
+
var _iterator2 = _createForOfIteratorHelper$e(atomBondIds),
|
|
2020
|
+
_step2;
|
|
2031
2021
|
try {
|
|
2032
|
-
for (
|
|
2033
|
-
var atomBondId =
|
|
2022
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
2023
|
+
var atomBondId = _step2.value;
|
|
2034
2024
|
var bond = restruct.bonds.get(atomBondId);
|
|
2035
2025
|
if (bond && ketcherCore.isAttachmentBond(bond.b, selection)) {
|
|
2036
2026
|
result.push(atomBondId);
|
|
2037
2027
|
}
|
|
2038
2028
|
}
|
|
2039
2029
|
} catch (err) {
|
|
2040
|
-
|
|
2030
|
+
_iterator2.e(err);
|
|
2041
2031
|
} finally {
|
|
2042
|
-
|
|
2032
|
+
_iterator2.f();
|
|
2043
2033
|
}
|
|
2044
2034
|
}
|
|
2045
2035
|
} catch (err) {
|
|
2046
|
-
|
|
2036
|
+
_iterator.e(err);
|
|
2047
2037
|
} finally {
|
|
2048
|
-
|
|
2038
|
+
_iterator.f();
|
|
2049
2039
|
}
|
|
2050
2040
|
return result;
|
|
2051
2041
|
};
|
|
2052
2042
|
var getAmountOfAttachmentBonds = function getAmountOfAttachmentBonds() {
|
|
2053
2043
|
var amountOfAttachmentBonds = 0;
|
|
2054
2044
|
var totalBondIds = new Set([].concat(_toConsumableArray__default["default"](bonds), _toConsumableArray__default["default"](getBondIdsForAttachmentAtoms())));
|
|
2055
|
-
var
|
|
2056
|
-
|
|
2045
|
+
var _iterator3 = _createForOfIteratorHelper$e(totalBondIds),
|
|
2046
|
+
_step3;
|
|
2057
2047
|
try {
|
|
2058
|
-
for (
|
|
2059
|
-
var bondId =
|
|
2048
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
2049
|
+
var bondId = _step3.value;
|
|
2060
2050
|
var bond = restruct.bonds.get(bondId);
|
|
2061
2051
|
if (bond && ketcherCore.isAttachmentBond(bond.b, selection)) {
|
|
2062
2052
|
amountOfAttachmentBonds++;
|
|
2063
2053
|
}
|
|
2064
2054
|
}
|
|
2065
2055
|
} catch (err) {
|
|
2066
|
-
|
|
2056
|
+
_iterator3.e(err);
|
|
2067
2057
|
} finally {
|
|
2068
|
-
|
|
2058
|
+
_iterator3.f();
|
|
2069
2059
|
}
|
|
2070
2060
|
return amountOfAttachmentBonds;
|
|
2071
2061
|
};
|
|
@@ -3022,7 +3012,7 @@ var templates = templates$1.reduce(function (res, struct, i) {
|
|
|
3022
3012
|
var zoomList = [0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1, 1.1, 1.2, 1.3, 1.4, 1.5, 1.7, 2, 2.5, 3, 3.5, 4];
|
|
3023
3013
|
var zoom = {
|
|
3024
3014
|
zoom: {
|
|
3025
|
-
shortcut: ['Mod+
|
|
3015
|
+
shortcut: ['Mod+0'],
|
|
3026
3016
|
selected: function selected(editor) {
|
|
3027
3017
|
return editor.zoom();
|
|
3028
3018
|
},
|
|
@@ -3076,7 +3066,7 @@ var zoom = {
|
|
|
3076
3066
|
|
|
3077
3067
|
var openHelpLink = function openHelpLink() {
|
|
3078
3068
|
var _window$open;
|
|
3079
|
-
return (_window$open = window.open("https://github.com/epam/ketcher/blob/".concat("v2.
|
|
3069
|
+
return (_window$open = window.open("https://github.com/epam/ketcher/blob/".concat("v2.10.0-rc.1\n", "/documentation/help.md#ketcher-overview"))) === null || _window$open === void 0 ? void 0 : _window$open.focus();
|
|
3080
3070
|
};
|
|
3081
3071
|
var help = {
|
|
3082
3072
|
help: {
|
|
@@ -7055,7 +7045,7 @@ function Icon(_ref) {
|
|
|
7055
7045
|
return jsxRuntime.jsx(Component, _objectSpread$17({}, props));
|
|
7056
7046
|
}
|
|
7057
7047
|
|
|
7058
|
-
var classes$
|
|
7048
|
+
var classes$N = {"button-common-styles":"ActionButton-module_button-common-styles__y-hng","scrollbar":"ActionButton-module_scrollbar__lD3MH","button":"ActionButton-module_button__nfoWQ","selected":"ActionButton-module_selected__kPCxA"};
|
|
7059
7049
|
|
|
7060
7050
|
var shortcutAliasMap = {
|
|
7061
7051
|
Escape: 'Esc',
|
|
@@ -7094,10 +7084,11 @@ var ActionButton = function ActionButton(props) {
|
|
|
7094
7084
|
}
|
|
7095
7085
|
};
|
|
7096
7086
|
return jsxRuntime.jsxs("button", {
|
|
7087
|
+
"data-testid": name,
|
|
7097
7088
|
disabled: disabled,
|
|
7098
7089
|
onClick: handleClick,
|
|
7099
7090
|
title: shortcut ? "".concat(action === null || action === void 0 ? void 0 : action.title, " (").concat(shortcut, ")") : action === null || action === void 0 ? void 0 : action.title,
|
|
7100
|
-
className: clsx__default["default"](classes$
|
|
7091
|
+
className: clsx__default["default"](classes$N.button, _defineProperty__default["default"]({}, classes$N.selected, selected), className),
|
|
7101
7092
|
children: [jsxRuntime.jsx(Icon, {
|
|
7102
7093
|
name: name
|
|
7103
7094
|
}), jsxRuntime.jsx("kbd", {
|
|
@@ -7253,7 +7244,7 @@ var DefaultMultiTool = function DefaultMultiTool(props) {
|
|
|
7253
7244
|
});
|
|
7254
7245
|
};
|
|
7255
7246
|
|
|
7256
|
-
var classes$
|
|
7247
|
+
var classes$M = {"group":"GroupedMultiTool-module_group__BJQAU"};
|
|
7257
7248
|
|
|
7258
7249
|
var GroupedMultiTool = function GroupedMultiTool(props) {
|
|
7259
7250
|
var groups = props.groups,
|
|
@@ -7268,7 +7259,7 @@ var GroupedMultiTool = function GroupedMultiTool(props) {
|
|
|
7268
7259
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
7269
7260
|
children: groups.map(function (descriptor) {
|
|
7270
7261
|
return jsxRuntime.jsx("div", {
|
|
7271
|
-
className: classes$
|
|
7262
|
+
className: classes$M.group,
|
|
7272
7263
|
children: options.slice(descriptor.start, descriptor.end).map(function (toolbarItem) {
|
|
7273
7264
|
var currentStatus = status[toolbarItem.id];
|
|
7274
7265
|
return jsxRuntime.jsx(ActionButton, {
|
|
@@ -7298,7 +7289,7 @@ function chooseMultiTool() {
|
|
|
7298
7289
|
}
|
|
7299
7290
|
}
|
|
7300
7291
|
|
|
7301
|
-
var classes$
|
|
7292
|
+
var classes$L = {"button-common-styles":"ToolbarMultiToolItem-module_button-common-styles__Fuxbo","scrollbar":"ToolbarMultiToolItem-module_scrollbar__XTmfz","icon":"ToolbarMultiToolItem-module_icon__-HQal","iconSelected":"ToolbarMultiToolItem-module_iconSelected__hlO0J","portal":"ToolbarMultiToolItem-module_portal__2XJgz","portal-vertical":"ToolbarMultiToolItem-module_portal-vertical__A0DVe"};
|
|
7302
7293
|
|
|
7303
7294
|
function usePortalOpening(_ref) {
|
|
7304
7295
|
var _ref2 = _slicedToArray__default["default"](_ref, 3),
|
|
@@ -7417,7 +7408,7 @@ var ToolbarMultiToolItem = function ToolbarMultiToolItem(props) {
|
|
|
7417
7408
|
portalClassName = _chooseMultiTool2[1];
|
|
7418
7409
|
return displayMultiToolItem ? jsxRuntime.jsxs("div", {
|
|
7419
7410
|
ref: ref,
|
|
7420
|
-
className: classes$
|
|
7411
|
+
className: classes$L.root,
|
|
7421
7412
|
children: [jsxRuntime.jsx(ActionButton, _objectSpread$16(_objectSpread$16({}, actionButtonProps), {}, {
|
|
7422
7413
|
className: className,
|
|
7423
7414
|
name: currentId,
|
|
@@ -7425,12 +7416,12 @@ var ToolbarMultiToolItem = function ToolbarMultiToolItem(props) {
|
|
|
7425
7416
|
status: currentStatus,
|
|
7426
7417
|
selected: selected
|
|
7427
7418
|
})), !isOpen && jsxRuntime.jsx(Icon, {
|
|
7428
|
-
className: "".concat(classes$
|
|
7419
|
+
className: "".concat(classes$L.icon, " ").concat((currentStatus === null || currentStatus === void 0 ? void 0 : currentStatus.selected) && classes$L.iconSelected),
|
|
7429
7420
|
name: "dropdown",
|
|
7430
7421
|
onClick: onOpenOptions
|
|
7431
7422
|
}), isOpen ? jsxRuntime.jsx(Portal, {
|
|
7432
7423
|
isOpen: isOpen,
|
|
7433
|
-
className: clsx__default["default"](classes$
|
|
7424
|
+
className: clsx__default["default"](classes$L.portal, vertical && classes$L['portal-vertical'], portalClassName),
|
|
7434
7425
|
style: portalStyle,
|
|
7435
7426
|
children: jsxRuntime.jsx(Component, {
|
|
7436
7427
|
options: options,
|
|
@@ -7515,7 +7506,7 @@ var TemplatesList = function TemplatesList(props) {
|
|
|
7515
7506
|
});
|
|
7516
7507
|
};
|
|
7517
7508
|
|
|
7518
|
-
var classes$
|
|
7509
|
+
var classes$K = {"button-common-styles":"BottomToolbar-module_button-common-styles__PbtE9","scrollbar":"BottomToolbar-module_scrollbar__i1f8P","group":"BottomToolbar-module_group__b-pGt","root":"BottomToolbar-module_root__kjkSm"};
|
|
7519
7510
|
|
|
7520
7511
|
var _excluded$A = ["className"];
|
|
7521
7512
|
function ownKeys$15(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -7524,7 +7515,7 @@ var Group$1 = function Group(_ref) {
|
|
|
7524
7515
|
var children = _ref.children,
|
|
7525
7516
|
className = _ref.className;
|
|
7526
7517
|
return jsxRuntime.jsx("div", {
|
|
7527
|
-
className: clsx__default["default"](classes$
|
|
7518
|
+
className: clsx__default["default"](classes$K.group, className),
|
|
7528
7519
|
children: children
|
|
7529
7520
|
});
|
|
7530
7521
|
};
|
|
@@ -7536,7 +7527,7 @@ var BottomToolbar = function BottomToolbar(props) {
|
|
|
7536
7527
|
indigoVerification = rest.indigoVerification,
|
|
7537
7528
|
onAction = rest.onAction;
|
|
7538
7529
|
return jsxRuntime.jsxs("div", {
|
|
7539
|
-
className: clsx__default["default"](classes$
|
|
7530
|
+
className: clsx__default["default"](classes$K.root, className),
|
|
7540
7531
|
children: [jsxRuntime.jsx(Group$1, {
|
|
7541
7532
|
children: jsxRuntime.jsx(TemplatesList, {
|
|
7542
7533
|
active: active,
|
|
@@ -8113,7 +8104,7 @@ function showFunctionalGroupsTooltip(editor) {
|
|
|
8113
8104
|
if (closestCollapsibleStructures) {
|
|
8114
8105
|
var _editor$struct;
|
|
8115
8106
|
var sGroup = (_editor$struct = editor.struct()) === null || _editor$struct === void 0 ? void 0 : _editor$struct.sgroups.get(closestCollapsibleStructures.id);
|
|
8116
|
-
if (sGroup && !sGroup.data.expanded) {
|
|
8107
|
+
if (sGroup && !sGroup.data.expanded && sGroup.hovering) {
|
|
8117
8108
|
var groupName = sGroup.data.name;
|
|
8118
8109
|
var groupStruct = ketcherCore.FunctionalGroup.getFunctionalGroupByName(groupName);
|
|
8119
8110
|
infoPanelData = {
|
|
@@ -8522,7 +8513,7 @@ var selectOptions$2 = makeItems(['select-rectangle', 'select-lasso', 'select-fra
|
|
|
8522
8513
|
var arrowsOptions = makeItems(['reaction-arrow-open-angle', 'reaction-arrow-filled-triangle', 'reaction-arrow-filled-bow', 'reaction-arrow-dashed-open-angle', 'reaction-arrow-failed', 'reaction-arrow-both-ends-filled-triangle', 'reaction-arrow-equilibrium-filled-half-bow', 'reaction-arrow-equilibrium-filled-triangle', 'reaction-arrow-equilibrium-open-angle', 'reaction-arrow-unbalanced-equilibrium-filled-half-bow', 'reaction-arrow-unbalanced-equilibrium-open-half-angle', 'reaction-arrow-unbalanced-equilibrium-large-filled-half-bow', 'reaction-arrow-unbalanced-equilibrium-filled-half-triangle', 'reaction-arrow-elliptical-arc-arrow-filled-bow', 'reaction-arrow-elliptical-arc-arrow-filled-triangle', 'reaction-arrow-elliptical-arc-arrow-open-angle', 'reaction-arrow-elliptical-arc-arrow-open-half-angle']);
|
|
8523
8514
|
var mappingOptions = makeItems(['reaction-map', 'reaction-unmap', 'reaction-automap']);
|
|
8524
8515
|
|
|
8525
|
-
var classes$
|
|
8516
|
+
var classes$J = {"scroll":"ArrowScroll-module_scroll__h9kCx","button":"ArrowScroll-module_button__ygMgL","down":"ArrowScroll-module_down__yDzZX","up":"ArrowScroll-module_up__Q1ubd"};
|
|
8526
8517
|
|
|
8527
8518
|
function useSettingsContext() {
|
|
8528
8519
|
return React__default["default"].useContext(settingsContext);
|
|
@@ -8641,7 +8632,7 @@ var ArrowScroll = function ArrowScroll(_ref) {
|
|
|
8641
8632
|
};
|
|
8642
8633
|
}, [endInView]);
|
|
8643
8634
|
return jsxRuntime.jsxs("div", {
|
|
8644
|
-
className: classes$
|
|
8635
|
+
className: classes$J.scroll,
|
|
8645
8636
|
children: [endInView ? jsxRuntime.jsx(jsxRuntime.Fragment, {}) : jsxRuntime.jsx("button", {
|
|
8646
8637
|
onClick: function onClick() {
|
|
8647
8638
|
return scrollDown();
|
|
@@ -8652,7 +8643,7 @@ var ArrowScroll = function ArrowScroll(_ref) {
|
|
|
8652
8643
|
onMouseDown: function onMouseDown() {
|
|
8653
8644
|
return setScrollDown(true);
|
|
8654
8645
|
},
|
|
8655
|
-
className: clsx__default["default"](classes$
|
|
8646
|
+
className: clsx__default["default"](classes$J.button, classes$J.down),
|
|
8656
8647
|
children: "\u25BC"
|
|
8657
8648
|
}), startInView ? jsxRuntime.jsx(jsxRuntime.Fragment, {}) : jsxRuntime.jsx("button", {
|
|
8658
8649
|
onClick: function onClick() {
|
|
@@ -8664,7 +8655,7 @@ var ArrowScroll = function ArrowScroll(_ref) {
|
|
|
8664
8655
|
onMouseDown: function onMouseDown() {
|
|
8665
8656
|
return setScrollUp(true);
|
|
8666
8657
|
},
|
|
8667
|
-
className: clsx__default["default"](classes$
|
|
8658
|
+
className: clsx__default["default"](classes$J.button, classes$J.up),
|
|
8668
8659
|
children: "\u25B2"
|
|
8669
8660
|
})]
|
|
8670
8661
|
});
|
|
@@ -8750,7 +8741,7 @@ var Transform = function Transform(props) {
|
|
|
8750
8741
|
});
|
|
8751
8742
|
};
|
|
8752
8743
|
|
|
8753
|
-
var classes$
|
|
8744
|
+
var classes$I = {"button-common-styles":"LeftToolbar-module_button-common-styles__WgnON","scrollbar":"LeftToolbar-module_scrollbar__OBwid","group":"LeftToolbar-module_group__0s41t","root":"LeftToolbar-module_root__yhhZm","buttons":"LeftToolbar-module_buttons__lnIjn","borderOff":"LeftToolbar-module_borderOff__om425","groupItem":"LeftToolbar-module_groupItem__OqQu0"};
|
|
8754
8745
|
|
|
8755
8746
|
var _excluded$v = ["className"];
|
|
8756
8747
|
function ownKeys$T(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -8810,7 +8801,7 @@ var LeftToolbar = function LeftToolbar(props) {
|
|
|
8810
8801
|
});
|
|
8811
8802
|
}
|
|
8812
8803
|
return visibleItems.length ? jsxRuntime.jsx("div", {
|
|
8813
|
-
className: clsx__default["default"](classes$
|
|
8804
|
+
className: clsx__default["default"](classes$I.group, className),
|
|
8814
8805
|
children: visibleItems.map(function (item) {
|
|
8815
8806
|
switch (item.id) {
|
|
8816
8807
|
case 'bond-common':
|
|
@@ -8841,16 +8832,16 @@ var LeftToolbar = function LeftToolbar(props) {
|
|
|
8841
8832
|
}) : null;
|
|
8842
8833
|
};
|
|
8843
8834
|
return jsxRuntime.jsxs("div", {
|
|
8844
|
-
className: clsx__default["default"](classes$
|
|
8835
|
+
className: clsx__default["default"](classes$I.root, className),
|
|
8845
8836
|
ref: ref,
|
|
8846
8837
|
children: [jsxRuntime.jsxs("div", {
|
|
8847
|
-
className: classes$
|
|
8838
|
+
className: classes$I.buttons,
|
|
8848
8839
|
ref: scrollRef,
|
|
8849
8840
|
children: [jsxRuntime.jsx("div", {
|
|
8850
|
-
className: classes$
|
|
8841
|
+
className: classes$I.listener,
|
|
8851
8842
|
ref: startRef,
|
|
8852
8843
|
children: jsxRuntime.jsx(Group, {
|
|
8853
|
-
className: classes$
|
|
8844
|
+
className: classes$I.groupItem,
|
|
8854
8845
|
items: [{
|
|
8855
8846
|
id: 'hand'
|
|
8856
8847
|
}, {
|
|
@@ -8861,7 +8852,7 @@ var LeftToolbar = function LeftToolbar(props) {
|
|
|
8861
8852
|
}]
|
|
8862
8853
|
})
|
|
8863
8854
|
}), jsxRuntime.jsx(Group, {
|
|
8864
|
-
className: classes$
|
|
8855
|
+
className: classes$I.groupItem,
|
|
8865
8856
|
items: [{
|
|
8866
8857
|
id: 'bonds',
|
|
8867
8858
|
options: [].concat(_toConsumableArray__default["default"](bondCommon), _toConsumableArray__default["default"](bondQuery), _toConsumableArray__default["default"](bondSpecial), _toConsumableArray__default["default"](bondStereo))
|
|
@@ -8869,30 +8860,30 @@ var LeftToolbar = function LeftToolbar(props) {
|
|
|
8869
8860
|
id: 'chain'
|
|
8870
8861
|
}]
|
|
8871
8862
|
}), jsxRuntime.jsx(Group, {
|
|
8872
|
-
className: classes$
|
|
8863
|
+
className: classes$I.groupItem,
|
|
8873
8864
|
items: [{
|
|
8874
8865
|
id: 'enhanced-stereo'
|
|
8875
8866
|
}]
|
|
8876
8867
|
}), jsxRuntime.jsx(Group, {
|
|
8877
|
-
className: classes$
|
|
8868
|
+
className: classes$I.groupItem,
|
|
8878
8869
|
items: [{
|
|
8879
8870
|
id: 'charge-plus'
|
|
8880
8871
|
}, {
|
|
8881
8872
|
id: 'charge-minus'
|
|
8882
8873
|
}]
|
|
8883
8874
|
}), jsxRuntime.jsx(Group, {
|
|
8884
|
-
className: classes$
|
|
8875
|
+
className: classes$I.groupItem,
|
|
8885
8876
|
items: [{
|
|
8886
8877
|
id: 'transforms',
|
|
8887
8878
|
options: transformOptions
|
|
8888
8879
|
}]
|
|
8889
8880
|
}), jsxRuntime.jsx(Group, {
|
|
8890
|
-
className: classes$
|
|
8881
|
+
className: classes$I.groupItem,
|
|
8891
8882
|
items: [{
|
|
8892
8883
|
id: 'sgroup'
|
|
8893
8884
|
}]
|
|
8894
8885
|
}), jsxRuntime.jsx(Group, {
|
|
8895
|
-
className: classes$
|
|
8886
|
+
className: classes$I.groupItem,
|
|
8896
8887
|
items: [{
|
|
8897
8888
|
id: 'reaction-plus'
|
|
8898
8889
|
}, {
|
|
@@ -8903,17 +8894,17 @@ var LeftToolbar = function LeftToolbar(props) {
|
|
|
8903
8894
|
options: mappingOptions
|
|
8904
8895
|
}]
|
|
8905
8896
|
}), jsxRuntime.jsx("div", {
|
|
8906
|
-
className: classes$
|
|
8897
|
+
className: classes$I.listener,
|
|
8907
8898
|
ref: sizeRef,
|
|
8908
8899
|
children: jsxRuntime.jsx(Group, {
|
|
8909
|
-
className: classes$
|
|
8900
|
+
className: classes$I.groupItem,
|
|
8910
8901
|
items: [{
|
|
8911
8902
|
id: 'rgroup',
|
|
8912
8903
|
options: rGroupOptions
|
|
8913
8904
|
}]
|
|
8914
8905
|
})
|
|
8915
8906
|
}), jsxRuntime.jsx(Group, {
|
|
8916
|
-
className: classes$
|
|
8907
|
+
className: classes$I.groupItem,
|
|
8917
8908
|
items: [{
|
|
8918
8909
|
id: 'shapes',
|
|
8919
8910
|
options: shapeOptions
|
|
@@ -8921,7 +8912,7 @@ var LeftToolbar = function LeftToolbar(props) {
|
|
|
8921
8912
|
}), jsxRuntime.jsx("div", {
|
|
8922
8913
|
ref: endRef,
|
|
8923
8914
|
children: jsxRuntime.jsx(Group, {
|
|
8924
|
-
className: classes$
|
|
8915
|
+
className: classes$I.groupItem,
|
|
8925
8916
|
items: [{
|
|
8926
8917
|
id: 'text'
|
|
8927
8918
|
}]
|
|
@@ -8962,7 +8953,7 @@ var mapDispatchToProps$h = function mapDispatchToProps(dispatch) {
|
|
|
8962
8953
|
};
|
|
8963
8954
|
var LeftToolbarContainer = reactRedux.connect(mapStateToProps$i, mapDispatchToProps$h)(LeftToolbar);
|
|
8964
8955
|
|
|
8965
|
-
var classes$
|
|
8956
|
+
var classes$H = {"button-common-styles":"Atom-module_button-common-styles__j3EUJ","scrollbar":"Atom-module_scrollbar__iO-Ni","atom":"Atom-module_atom__g2RUu"};
|
|
8966
8957
|
|
|
8967
8958
|
var _excluded$u = ["el", "shortcut", "selected"];
|
|
8968
8959
|
function ownKeys$S(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -8974,7 +8965,7 @@ function Atom$1(_ref) {
|
|
|
8974
8965
|
props = _objectWithoutProperties__default["default"](_ref, _excluded$u);
|
|
8975
8966
|
return jsxRuntime.jsx("button", _objectSpread$S(_objectSpread$S({
|
|
8976
8967
|
title: shortcut ? "".concat(el.title, " (").concat(shortcut, ")") : el.title,
|
|
8977
|
-
className: clsx__default["default"](classes$
|
|
8968
|
+
className: clsx__default["default"](classes$H.atom, {
|
|
8978
8969
|
selected: selected
|
|
8979
8970
|
}),
|
|
8980
8971
|
value: el.number
|
|
@@ -9353,7 +9344,7 @@ var AtomsList = React.forwardRef(function (props, ref) {
|
|
|
9353
9344
|
});
|
|
9354
9345
|
});
|
|
9355
9346
|
|
|
9356
|
-
var classes$
|
|
9347
|
+
var classes$G = {"button-common-styles":"RightToolbar-module_button-common-styles__fNlqY","scrollbar":"RightToolbar-module_scrollbar__2Q0UU","group":"RightToolbar-module_group__3mhUx","root":"RightToolbar-module_root__1D5hp","atomsList":"RightToolbar-module_atomsList__ar08-","buttons":"RightToolbar-module_buttons__YxRHI"};
|
|
9357
9348
|
|
|
9358
9349
|
var _excluded$t = ["className"];
|
|
9359
9350
|
function ownKeys$R(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -9362,7 +9353,7 @@ var Group = function Group(_ref) {
|
|
|
9362
9353
|
var children = _ref.children,
|
|
9363
9354
|
className = _ref.className;
|
|
9364
9355
|
return jsxRuntime.jsx("div", {
|
|
9365
|
-
className: clsx__default["default"](classes$
|
|
9356
|
+
className: clsx__default["default"](classes$G.group, className),
|
|
9366
9357
|
children: children
|
|
9367
9358
|
});
|
|
9368
9359
|
};
|
|
@@ -9393,12 +9384,12 @@ var RightToolbar = function RightToolbar(props) {
|
|
|
9393
9384
|
scrollRef.current.scrollTop += sizeRef.current.offsetHeight;
|
|
9394
9385
|
};
|
|
9395
9386
|
return jsxRuntime.jsxs("div", {
|
|
9396
|
-
className: clsx__default["default"](classes$
|
|
9387
|
+
className: clsx__default["default"](classes$G.root, className),
|
|
9397
9388
|
children: [jsxRuntime.jsxs("div", {
|
|
9398
|
-
className: classes$
|
|
9389
|
+
className: classes$G.buttons,
|
|
9399
9390
|
ref: scrollRef,
|
|
9400
9391
|
children: [jsxRuntime.jsxs(Group, {
|
|
9401
|
-
className: classes$
|
|
9392
|
+
className: classes$G.atomsList,
|
|
9402
9393
|
children: [jsxRuntime.jsx(AtomsList, {
|
|
9403
9394
|
ref: startRef,
|
|
9404
9395
|
atoms: basicAtoms,
|
|
@@ -10520,12 +10511,14 @@ var AtomTool = function () {
|
|
|
10520
10511
|
}, {
|
|
10521
10512
|
key: "mousemove",
|
|
10522
10513
|
value: function mousemove(event) {
|
|
10523
|
-
this.editor.hoverIcon.show();
|
|
10524
10514
|
var rnd = this.editor.render;
|
|
10525
10515
|
if (!this.dragCtx || !this.dragCtx.item) {
|
|
10516
|
+
this.editor.hoverIcon.show();
|
|
10526
10517
|
this.editor.hoverIcon.updatePosition();
|
|
10527
10518
|
this.editor.hover(this.editor.findItem(event, ['atoms', 'functionalGroups']), null, event);
|
|
10528
10519
|
return;
|
|
10520
|
+
} else {
|
|
10521
|
+
this.editor.hoverIcon.hide();
|
|
10529
10522
|
}
|
|
10530
10523
|
var dragCtx = this.dragCtx;
|
|
10531
10524
|
var ci = this.editor.findItem(event, ['atoms']);
|
|
@@ -10542,7 +10535,7 @@ var AtomTool = function () {
|
|
|
10542
10535
|
});
|
|
10543
10536
|
var newAtomPos = utils.calcNewAtomPos(atom === null || atom === void 0 ? void 0 : atom.pp, rnd.page2obj(event), event.ctrlKey);
|
|
10544
10537
|
if (dragCtx.action) dragCtx.action.perform(rnd.ctab);
|
|
10545
|
-
dragCtx.action = ketcherCore.fromBondAddition(rnd.ctab, _classPrivateFieldGet__default["default"](this, _bondProps), dragCtx.item.id, Object.assign({}, this.atomProps),
|
|
10538
|
+
dragCtx.action = ketcherCore.fromBondAddition(rnd.ctab, _classPrivateFieldGet__default["default"](this, _bondProps), dragCtx.item.id, Object.assign({}, this.atomProps), undefined, newAtomPos)[0];
|
|
10546
10539
|
this.editor.update(dragCtx.action, true);
|
|
10547
10540
|
}
|
|
10548
10541
|
}, {
|
|
@@ -10765,7 +10758,7 @@ var BondTool = function () {
|
|
|
10765
10758
|
var struct = this.editor.render.ctab;
|
|
10766
10759
|
var molecule = struct.molecule;
|
|
10767
10760
|
var functionalGroups = molecule.functionalGroups;
|
|
10768
|
-
var ci = this.editor.findItem(event, ['atoms', 'bonds']);
|
|
10761
|
+
var ci = this.editor.findItem(event, ['atoms', 'bonds', 'functionalGroups']);
|
|
10769
10762
|
var atomResult = [];
|
|
10770
10763
|
var bondResult = [];
|
|
10771
10764
|
var result = [];
|
|
@@ -10818,12 +10811,19 @@ var BondTool = function () {
|
|
|
10818
10811
|
});
|
|
10819
10812
|
return;
|
|
10820
10813
|
}
|
|
10814
|
+
var attachmentAtomId;
|
|
10815
|
+
if ((ci === null || ci === void 0 ? void 0 : ci.map) === 'functionalGroups') {
|
|
10816
|
+
attachmentAtomId = ketcherCore.SGroup.getAttachmentAtomIdBySGroupId(ci.id, molecule);
|
|
10817
|
+
}
|
|
10821
10818
|
var rnd = this.editor.render;
|
|
10822
10819
|
this.editor.hover(null);
|
|
10823
10820
|
this.editor.selection(null);
|
|
10824
10821
|
this.dragCtx = {
|
|
10825
10822
|
xy0: rnd.page2obj(event),
|
|
10826
|
-
item:
|
|
10823
|
+
item: attachmentAtomId === undefined ? ci : {
|
|
10824
|
+
map: 'atoms',
|
|
10825
|
+
id: attachmentAtomId
|
|
10826
|
+
}
|
|
10827
10827
|
};
|
|
10828
10828
|
if (!this.dragCtx.item)
|
|
10829
10829
|
delete this.dragCtx.item;
|
|
@@ -10848,24 +10848,26 @@ var BondTool = function () {
|
|
|
10848
10848
|
info: degrees + 'º'
|
|
10849
10849
|
});
|
|
10850
10850
|
if (!('item' in dragCtx) || dragCtx.item.map === 'atoms') {
|
|
10851
|
-
var
|
|
10851
|
+
var _endAtom2;
|
|
10852
10852
|
if ('action' in dragCtx) dragCtx.action.perform(rnd.ctab);
|
|
10853
10853
|
var beginAtom;
|
|
10854
10854
|
var endAtom;
|
|
10855
10855
|
var beginPos;
|
|
10856
10856
|
var endPos;
|
|
10857
|
-
var extraNeighbour = [];
|
|
10858
10857
|
if ('item' in dragCtx && dragCtx.item.map === 'atoms') {
|
|
10859
10858
|
beginAtom = dragCtx.item.id;
|
|
10860
10859
|
endAtom = editor.findItem(event, ['atoms'], dragCtx.item);
|
|
10861
10860
|
var closestSGroup = editor.findItem(event, ['functionalGroups']);
|
|
10862
10861
|
if (closestSGroup && ketcherCore.FunctionalGroup.isContractedFunctionalGroup(closestSGroup.id, functionalGroups)) {
|
|
10863
|
-
var
|
|
10864
|
-
var
|
|
10865
|
-
|
|
10866
|
-
|
|
10867
|
-
|
|
10868
|
-
|
|
10862
|
+
var closestAttachmentAtomId = ketcherCore.SGroup.getAttachmentAtomIdBySGroupId(closestSGroup.id, molecule);
|
|
10863
|
+
var isSaltOrSolvent = closestAttachmentAtomId === undefined;
|
|
10864
|
+
var isBeginFunctionalGroupItself = closestAttachmentAtomId === beginAtom;
|
|
10865
|
+
if (!isSaltOrSolvent && !isBeginFunctionalGroupItself) {
|
|
10866
|
+
endAtom = {
|
|
10867
|
+
id: closestAttachmentAtomId,
|
|
10868
|
+
map: 'atoms'
|
|
10869
|
+
};
|
|
10870
|
+
}
|
|
10869
10871
|
}
|
|
10870
10872
|
var fGroupId = endAtom && ketcherCore.FunctionalGroup.findFunctionalGroupByAtom(functionalGroups, endAtom.id);
|
|
10871
10873
|
var fGroup = typeof fGroupId === 'number' && sgroups.get(fGroupId);
|
|
@@ -10876,24 +10878,25 @@ var BondTool = function () {
|
|
|
10876
10878
|
});
|
|
10877
10879
|
endAtom = null;
|
|
10878
10880
|
}
|
|
10879
|
-
if (endAtom && fGroup && endAtom.id === (fGroupAtoms === null || fGroupAtoms === void 0 ? void 0 : fGroupAtoms[0])) {
|
|
10880
|
-
var atomNeighbours = molecule.atomGetNeighbors(endAtom.id);
|
|
10881
|
-
atomNeighbours === null || atomNeighbours === void 0 ? void 0 : atomNeighbours.forEach(function (nei) {
|
|
10882
|
-
!(fGroupAtoms !== null && fGroupAtoms !== void 0 && fGroupAtoms.includes(nei.aid)) && !extraNeighbour.includes(nei.aid) && extraNeighbour.push(nei.aid);
|
|
10883
|
-
});
|
|
10884
|
-
}
|
|
10885
|
-
if (extraNeighbour.length >= 1) {
|
|
10886
|
-
endAtom = null;
|
|
10887
|
-
}
|
|
10888
10881
|
} else {
|
|
10882
|
+
var _endAtom;
|
|
10889
10883
|
beginAtom = this.atomProps;
|
|
10890
10884
|
beginPos = dragCtx.xy0;
|
|
10891
|
-
endAtom = editor.findItem(event, ['atoms']);
|
|
10885
|
+
endAtom = editor.findItem(event, ['atoms', 'functionalGroups']);
|
|
10892
10886
|
var atomResult = [];
|
|
10893
10887
|
var result = [];
|
|
10894
10888
|
if (endAtom && endAtom.map === 'atoms' && functionalGroups.size && this.dragCtx) {
|
|
10895
10889
|
var atomId = ketcherCore.FunctionalGroup.atomsInFunctionalGroup(functionalGroups, endAtom.id);
|
|
10896
10890
|
if (atomId !== null) atomResult.push(atomId);
|
|
10891
|
+
} else if (((_endAtom = endAtom) === null || _endAtom === void 0 ? void 0 : _endAtom.map) === 'functionalGroups') {
|
|
10892
|
+
var functionalGroup = molecule.functionalGroups.get(endAtom.id);
|
|
10893
|
+
if (!ketcherCore.SGroup.isSaltOrSolvent((functionalGroup === null || functionalGroup === void 0 ? void 0 : functionalGroup.name) || '')) {
|
|
10894
|
+
var attachmentAtomId = ketcherCore.SGroup.getAttachmentAtomIdBySGroupId(endAtom.id, molecule);
|
|
10895
|
+
endAtom = attachmentAtomId === undefined ? null : {
|
|
10896
|
+
map: 'atoms',
|
|
10897
|
+
id: attachmentAtomId
|
|
10898
|
+
};
|
|
10899
|
+
}
|
|
10897
10900
|
}
|
|
10898
10901
|
if (atomResult.length > 0) {
|
|
10899
10902
|
var _iterator3 = _createForOfIteratorHelper$a(atomResult),
|
|
@@ -10919,7 +10922,7 @@ var BondTool = function () {
|
|
|
10919
10922
|
}
|
|
10920
10923
|
}
|
|
10921
10924
|
var dist = Number.MAX_VALUE;
|
|
10922
|
-
if (((
|
|
10925
|
+
if (((_endAtom2 = endAtom) === null || _endAtom2 === void 0 ? void 0 : _endAtom2.map) === 'atoms') {
|
|
10923
10926
|
endAtom = endAtom.id;
|
|
10924
10927
|
} else {
|
|
10925
10928
|
endAtom = this.atomProps;
|
|
@@ -10929,7 +10932,7 @@ var BondTool = function () {
|
|
|
10929
10932
|
endPos = utils.calcNewAtomPos(beginPos, xy1, event.ctrlKey);
|
|
10930
10933
|
} else {
|
|
10931
10934
|
var atom = rnd.ctab.molecule.atoms.get(beginAtom);
|
|
10932
|
-
|
|
10935
|
+
endPos = utils.calcNewAtomPos(atom === null || atom === void 0 ? void 0 : atom.pp.get_xy0(), xy1, event.ctrlKey);
|
|
10933
10936
|
}
|
|
10934
10937
|
}
|
|
10935
10938
|
if (dist > 0.3) {
|
|
@@ -10950,7 +10953,7 @@ var BondTool = function () {
|
|
|
10950
10953
|
return true;
|
|
10951
10954
|
}
|
|
10952
10955
|
}
|
|
10953
|
-
this.editor.hover(this.editor.findItem(event, ['atoms', 'bonds']), null, event);
|
|
10956
|
+
this.editor.hover(this.editor.findItem(event, ['atoms', 'bonds', 'functionalGroups']), null, event);
|
|
10954
10957
|
return true;
|
|
10955
10958
|
}
|
|
10956
10959
|
}, {
|
|
@@ -10973,7 +10976,9 @@ var BondTool = function () {
|
|
|
10973
10976
|
}, ketcherCore.Vec2.diff(xy, v), ketcherCore.Vec2.sum(xy, v));
|
|
10974
10977
|
this.editor.update(bondAddition[0]);
|
|
10975
10978
|
} else if (dragCtx.item.map === 'atoms') {
|
|
10976
|
-
this.editor.update(ketcherCore.fromBondAddition(rnd.ctab, this.bondProps, dragCtx.item.id,
|
|
10979
|
+
this.editor.update(ketcherCore.fromBondAddition(rnd.ctab, this.bondProps, dragCtx.item.id, {
|
|
10980
|
+
label: 'C'
|
|
10981
|
+
})[0]);
|
|
10977
10982
|
delete this.dragCtx.existedBond;
|
|
10978
10983
|
} else if (dragCtx.item.map === 'bonds') {
|
|
10979
10984
|
var bondProps = Object.assign({}, this.bondProps);
|
|
@@ -11047,7 +11052,7 @@ var ChainTool = function () {
|
|
|
11047
11052
|
var molecule = struct.molecule;
|
|
11048
11053
|
var functionalGroups = molecule.functionalGroups;
|
|
11049
11054
|
var rnd = this.editor.render;
|
|
11050
|
-
var ci = this.editor.findItem(event, ['atoms', 'bonds']);
|
|
11055
|
+
var ci = this.editor.findItem(event, ['atoms', 'bonds', 'functionalGroups']);
|
|
11051
11056
|
var atomResult = [];
|
|
11052
11057
|
var bondResult = [];
|
|
11053
11058
|
var result = [];
|
|
@@ -11115,6 +11120,18 @@ var ChainTool = function () {
|
|
|
11115
11120
|
});
|
|
11116
11121
|
atomLongtapEvent(this, rnd);
|
|
11117
11122
|
}
|
|
11123
|
+
if ((ci === null || ci === void 0 ? void 0 : ci.map) === 'functionalGroups') {
|
|
11124
|
+
var functionalGroup = molecule.functionalGroups.get(ci.id);
|
|
11125
|
+
if (!ketcherCore.SGroup.isSaltOrSolvent((functionalGroup === null || functionalGroup === void 0 ? void 0 : functionalGroup.name) || '')) {
|
|
11126
|
+
var sGroupId = ci.id;
|
|
11127
|
+
var sGroup = molecule.sgroups.get(sGroupId);
|
|
11128
|
+
var attachmentAtomId = sGroup === null || sGroup === void 0 ? void 0 : sGroup.getAttAtomId(molecule);
|
|
11129
|
+
this.dragCtx.item = {
|
|
11130
|
+
map: 'atoms',
|
|
11131
|
+
id: attachmentAtomId
|
|
11132
|
+
};
|
|
11133
|
+
}
|
|
11134
|
+
}
|
|
11118
11135
|
if (!this.dragCtx.item)
|
|
11119
11136
|
delete this.dragCtx.item;
|
|
11120
11137
|
return true;
|
|
@@ -11125,7 +11142,7 @@ var ChainTool = function () {
|
|
|
11125
11142
|
var editor = this.editor;
|
|
11126
11143
|
var restruct = editor.render.ctab;
|
|
11127
11144
|
var dragCtx = this.dragCtx;
|
|
11128
|
-
editor.hover(this.editor.findItem(event, ['atoms', 'bonds']), null, event);
|
|
11145
|
+
editor.hover(this.editor.findItem(event, ['atoms', 'bonds', 'functionalGroups']), null, event);
|
|
11129
11146
|
if (!dragCtx) {
|
|
11130
11147
|
return true;
|
|
11131
11148
|
}
|
|
@@ -11704,7 +11721,7 @@ var SGroupTool = function () {
|
|
|
11704
11721
|
_iterator2.f();
|
|
11705
11722
|
}
|
|
11706
11723
|
}
|
|
11707
|
-
if (atomFromStruct && ketcherCore.FunctionalGroup.isAtomInContractedFunctionalGroup(atomFromStruct, sgroups, functionalGroups, false)) {
|
|
11724
|
+
if (atomFromStruct && (ketcherCore.FunctionalGroup.isAtomInContractedFunctionalGroup(atomFromStruct, sgroups, functionalGroups, false) || ketcherCore.SGroup.isAtomInContractedSGroup(atomFromStruct, sgroups))) {
|
|
11708
11725
|
var _newSelected$atoms, _newSelected$bonds;
|
|
11709
11726
|
var sgroupAtoms = actualSgroupId !== undefined && ketcherCore.SGroup.getAtoms(molecule, sgroups.get(actualSgroupId));
|
|
11710
11727
|
var sgroupBonds = actualSgroupId !== undefined && ketcherCore.SGroup.getBonds(molecule, sgroups.get(actualSgroupId));
|
|
@@ -11766,7 +11783,7 @@ var SGroupTool = function () {
|
|
|
11766
11783
|
var _struct$atoms$get2;
|
|
11767
11784
|
var atomId = ketcherCore.FunctionalGroup.atomsInFunctionalGroup(functionalGroups, ci.id);
|
|
11768
11785
|
var atomFromStruct = atomId !== null && ((_struct$atoms$get2 = struct.atoms.get(atomId)) === null || _struct$atoms$get2 === void 0 ? void 0 : _struct$atoms$get2.a);
|
|
11769
|
-
if (atomFromStruct && !ketcherCore.FunctionalGroup.isAtomInContractedFunctionalGroup(atomFromStruct, sgroups, functionalGroups, true)) {
|
|
11786
|
+
if (atomFromStruct && !(ketcherCore.FunctionalGroup.isAtomInContractedFunctionalGroup(atomFromStruct, sgroups, functionalGroups, true) || ketcherCore.SGroup.isAtomInContractedSGroup(atomFromStruct, sgroups))) {
|
|
11770
11787
|
atomResult.push(atomId);
|
|
11771
11788
|
}
|
|
11772
11789
|
}
|
|
@@ -11774,7 +11791,7 @@ var SGroupTool = function () {
|
|
|
11774
11791
|
var _struct$bonds$get;
|
|
11775
11792
|
var bondId = ketcherCore.FunctionalGroup.bondsInFunctionalGroup(molecule, functionalGroups, ci.id);
|
|
11776
11793
|
var bondFromStruct = bondId !== null && ((_struct$bonds$get = struct.bonds.get(bondId)) === null || _struct$bonds$get === void 0 ? void 0 : _struct$bonds$get.b);
|
|
11777
|
-
if (bondFromStruct && !ketcherCore.FunctionalGroup.isBondInContractedFunctionalGroup(bondFromStruct, sgroups, functionalGroups)) {
|
|
11794
|
+
if (bondFromStruct && !(ketcherCore.FunctionalGroup.isBondInContractedFunctionalGroup(bondFromStruct, sgroups, functionalGroups) || ketcherCore.SGroup.isBondInContractedSGroup(bondFromStruct, sgroups))) {
|
|
11778
11795
|
bondResult.push(bondId);
|
|
11779
11796
|
}
|
|
11780
11797
|
}
|
|
@@ -11895,7 +11912,7 @@ var SGroupTool = function () {
|
|
|
11895
11912
|
_iterator7.f();
|
|
11896
11913
|
}
|
|
11897
11914
|
}
|
|
11898
|
-
if (atomFromStruct && ketcherCore.FunctionalGroup.isAtomInContractedFunctionalGroup(atomFromStruct, sgroups, functionalGroups, true)) {
|
|
11915
|
+
if (atomFromStruct && (ketcherCore.FunctionalGroup.isAtomInContractedFunctionalGroup(atomFromStruct, sgroups, functionalGroups, true) || ketcherCore.SGroup.isAtomInContractedSGroup(atomFromStruct, sgroups))) {
|
|
11899
11916
|
var _struct$sgroups$get, _struct$sgroups$get2, _newSelected$atoms2, _newSelected$bonds2;
|
|
11900
11917
|
var sgroupAtoms = actualSgroupId !== undefined && ketcherCore.SGroup.getAtoms(molecule, (_struct$sgroups$get = struct.sgroups.get(actualSgroupId)) === null || _struct$sgroups$get === void 0 ? void 0 : _struct$sgroups$get.item);
|
|
11901
11918
|
var sgroupBonds = actualSgroupId !== undefined && ketcherCore.SGroup.getBonds(molecule, (_struct$sgroups$get2 = struct.sgroups.get(actualSgroupId)) === null || _struct$sgroups$get2 === void 0 ? void 0 : _struct$sgroups$get2.item);
|
|
@@ -12184,7 +12201,7 @@ function getGroupIdsFromItemMaps(struct, mergeMaps) {
|
|
|
12184
12201
|
});
|
|
12185
12202
|
}
|
|
12186
12203
|
|
|
12187
|
-
function dropAndMerge(editor, mergeItems, action
|
|
12204
|
+
function dropAndMerge(editor, mergeItems, action) {
|
|
12188
12205
|
var _dropItemAction;
|
|
12189
12206
|
var restruct = editor.render.ctab;
|
|
12190
12207
|
var isMerging = !!mergeItems;
|
|
@@ -12192,8 +12209,16 @@ function dropAndMerge(editor, mergeItems, action, isPaste) {
|
|
|
12192
12209
|
if (isMerging) {
|
|
12193
12210
|
var expandGroupsAction = getExpandGroupsInMergeAction(editor.render.ctab, mergeItems);
|
|
12194
12211
|
dropItemAction = dropItemAction.mergeWith(expandGroupsAction);
|
|
12212
|
+
if (mergeItems.atomToFunctionalGroup) {
|
|
12213
|
+
var _extractAttachmentAto = extractAttachmentAtom(mergeItems, editor),
|
|
12214
|
+
_extractAttachmentAto2 = _slicedToArray__default["default"](_extractAttachmentAto, 2),
|
|
12215
|
+
newMergeItems = _extractAttachmentAto2[0],
|
|
12216
|
+
extractAttachmentAtomAction = _extractAttachmentAto2[1];
|
|
12217
|
+
mergeItems = newMergeItems;
|
|
12218
|
+
dropItemAction = dropItemAction.mergeWith(extractAttachmentAtomAction);
|
|
12219
|
+
}
|
|
12220
|
+
dropItemAction = ketcherCore.fromItemsFuse(restruct, mergeItems).mergeWith(dropItemAction);
|
|
12195
12221
|
}
|
|
12196
|
-
dropItemAction = ketcherCore.fromItemsFuse(restruct, mergeItems).mergeWith(dropItemAction);
|
|
12197
12222
|
if (action) {
|
|
12198
12223
|
dropItemAction = dropItemAction.mergeWith(action);
|
|
12199
12224
|
}
|
|
@@ -12201,9 +12226,10 @@ function dropAndMerge(editor, mergeItems, action, isPaste) {
|
|
|
12201
12226
|
if (isMerging) editor.selection(null);
|
|
12202
12227
|
if (((_dropItemAction = dropItemAction) === null || _dropItemAction === void 0 ? void 0 : _dropItemAction.operations.length) > 0) {
|
|
12203
12228
|
editor.update(dropItemAction, false, {
|
|
12204
|
-
resizeCanvas:
|
|
12229
|
+
resizeCanvas: false
|
|
12205
12230
|
});
|
|
12206
12231
|
}
|
|
12232
|
+
return dropItemAction;
|
|
12207
12233
|
}
|
|
12208
12234
|
function getExpandGroupsInMergeAction(restruct, mergeItems) {
|
|
12209
12235
|
var action = new ketcherCore.Action();
|
|
@@ -12217,6 +12243,36 @@ function getExpandGroupsInMergeAction(restruct, mergeItems) {
|
|
|
12217
12243
|
}
|
|
12218
12244
|
return action;
|
|
12219
12245
|
}
|
|
12246
|
+
function extractAttachmentAtom(mergeItems, editor) {
|
|
12247
|
+
var _mergeItems$atomToFun;
|
|
12248
|
+
var struct = editor.struct();
|
|
12249
|
+
var reStruct = editor.render.ctab;
|
|
12250
|
+
var newMergeItems = {
|
|
12251
|
+
atoms: new Map(mergeItems.atoms),
|
|
12252
|
+
bonds: new Map(mergeItems.bonds)
|
|
12253
|
+
};
|
|
12254
|
+
var removeNonAttachmentAtoms = new ketcherCore.Action();
|
|
12255
|
+
var removeSGroup = new ketcherCore.Action();
|
|
12256
|
+
(_mergeItems$atomToFun = mergeItems.atomToFunctionalGroup) === null || _mergeItems$atomToFun === void 0 ? void 0 : _mergeItems$atomToFun.forEach(function (functionalGroupId, srcAtomId) {
|
|
12257
|
+
var sGroup = struct.sgroups.get(functionalGroupId);
|
|
12258
|
+
var attachmentAtomId = sGroup === null || sGroup === void 0 ? void 0 : sGroup.getAttAtomId(struct);
|
|
12259
|
+
if (attachmentAtomId) {
|
|
12260
|
+
var attachmentAtom = struct.atoms.get(attachmentAtomId);
|
|
12261
|
+
if (ketcherCore.SGroup.isAtomInContractedSGroup(attachmentAtom, struct.sgroups)) {
|
|
12262
|
+
return;
|
|
12263
|
+
}
|
|
12264
|
+
newMergeItems.atoms.set(srcAtomId, attachmentAtomId);
|
|
12265
|
+
removeNonAttachmentAtoms.mergeWith(ketcherCore.fromFragmentDeletion(reStruct, {
|
|
12266
|
+
atoms: _toConsumableArray__default["default"](ketcherCore.SGroup.getAtoms(struct, sGroup)).filter(function (atomId) {
|
|
12267
|
+
return atomId !== attachmentAtomId;
|
|
12268
|
+
}),
|
|
12269
|
+
bonds: _toConsumableArray__default["default"](ketcherCore.SGroup.getBonds(struct, sGroup))
|
|
12270
|
+
}));
|
|
12271
|
+
removeSGroup.mergeWith(ketcherCore.fromSgroupDeletion(reStruct, functionalGroupId));
|
|
12272
|
+
}
|
|
12273
|
+
});
|
|
12274
|
+
return [newMergeItems, removeNonAttachmentAtoms];
|
|
12275
|
+
}
|
|
12220
12276
|
|
|
12221
12277
|
function ownKeys$Q(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
12222
12278
|
function _objectSpread$Q(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$Q(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$Q(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -12225,29 +12281,6 @@ function getMergeItems(editor, items) {
|
|
|
12225
12281
|
return ketcherCore.getItemsToFuse(editor, nonGroupItemsAndAttachPoints);
|
|
12226
12282
|
}
|
|
12227
12283
|
|
|
12228
|
-
function isAtomsArray(selectedElements) {
|
|
12229
|
-
return Array.isArray(selectedElements) && (selectedElements === null || selectedElements === void 0 ? void 0 : selectedElements.every(function (element) {
|
|
12230
|
-
return element instanceof ketcherCore.Atom;
|
|
12231
|
-
}));
|
|
12232
|
-
}
|
|
12233
|
-
function generateCommonProperties(selectedElements) {
|
|
12234
|
-
var normalizedAtom = fromElement(selectedElements[0]);
|
|
12235
|
-
var properties = Object.getOwnPropertyNames(normalizedAtom);
|
|
12236
|
-
var resultAtomAttributes = {};
|
|
12237
|
-
properties.forEach(function (property) {
|
|
12238
|
-
var uniqueValues = new Set();
|
|
12239
|
-
selectedElements.forEach(function (element) {
|
|
12240
|
-
uniqueValues.add(element[property]);
|
|
12241
|
-
});
|
|
12242
|
-
var allAtomsHaveTheSameValue = uniqueValues.size === 1;
|
|
12243
|
-
if (allAtomsHaveTheSameValue) {
|
|
12244
|
-
resultAtomAttributes[property] = normalizedAtom[property];
|
|
12245
|
-
} else {
|
|
12246
|
-
resultAtomAttributes[property] = '';
|
|
12247
|
-
}
|
|
12248
|
-
});
|
|
12249
|
-
return resultAtomAttributes;
|
|
12250
|
-
}
|
|
12251
12284
|
function castAtomPropToType(property, value) {
|
|
12252
12285
|
var typesMapping = {
|
|
12253
12286
|
charge: Number,
|
|
@@ -12259,21 +12292,21 @@ function castAtomPropToType(property, value) {
|
|
|
12259
12292
|
}
|
|
12260
12293
|
return value;
|
|
12261
12294
|
}
|
|
12262
|
-
function updateOnlyChangedProperties(
|
|
12263
|
-
var
|
|
12264
|
-
|
|
12265
|
-
return userChangedAtom[key] !== '';
|
|
12295
|
+
function updateOnlyChangedProperties(unchangedElement, userChangedElement) {
|
|
12296
|
+
var updatedKeys = Object.getOwnPropertyNames(userChangedElement).filter(function (key) {
|
|
12297
|
+
return userChangedElement[key] !== '';
|
|
12266
12298
|
});
|
|
12267
|
-
return Object.getOwnPropertyNames(
|
|
12268
|
-
|
|
12269
|
-
|
|
12270
|
-
updatedAtom[key] = castAtomPropToType(key, userChangedAtom[key]);
|
|
12271
|
-
} else {
|
|
12272
|
-
updatedAtom[key] = unchangedAtom[key];
|
|
12273
|
-
}
|
|
12274
|
-
return updatedAtom;
|
|
12299
|
+
return Object.getOwnPropertyNames(unchangedElement).reduce(function (updatedElement, key) {
|
|
12300
|
+
updatedElement[key] = updatedKeys.includes(key) ? castAtomPropToType(key, userChangedElement[key]) : unchangedElement[key];
|
|
12301
|
+
return updatedElement;
|
|
12275
12302
|
}, {});
|
|
12276
12303
|
}
|
|
12304
|
+
|
|
12305
|
+
function isAtomsArray(selectedElements) {
|
|
12306
|
+
return Array.isArray(selectedElements) && (selectedElements === null || selectedElements === void 0 ? void 0 : selectedElements.every(function (element) {
|
|
12307
|
+
return element instanceof ketcherCore.Atom;
|
|
12308
|
+
}));
|
|
12309
|
+
}
|
|
12277
12310
|
function updateSelectedAtoms(_ref) {
|
|
12278
12311
|
var atoms = _ref.atoms,
|
|
12279
12312
|
changeAtomPromise = _ref.changeAtomPromise,
|
|
@@ -12284,7 +12317,8 @@ function updateSelectedAtoms(_ref) {
|
|
|
12284
12317
|
if (atoms) {
|
|
12285
12318
|
Promise.resolve(changeAtomPromise).then(function (userChangedAtom) {
|
|
12286
12319
|
atoms.forEach(function (atomId) {
|
|
12287
|
-
var
|
|
12320
|
+
var unchangedAtom = molecule.atoms.get(atomId);
|
|
12321
|
+
var atomWithChangedProperties = updateOnlyChangedProperties(unchangedAtom, userChangedAtom);
|
|
12288
12322
|
action.mergeWith(ketcherCore.fromAtomsAttrs(struct, atomId, atomWithChangedProperties, false));
|
|
12289
12323
|
});
|
|
12290
12324
|
editor.update(action);
|
|
@@ -12294,6 +12328,27 @@ function updateSelectedAtoms(_ref) {
|
|
|
12294
12328
|
}
|
|
12295
12329
|
}
|
|
12296
12330
|
|
|
12331
|
+
function updateSelectedBonds(_ref) {
|
|
12332
|
+
var bonds = _ref.bonds,
|
|
12333
|
+
changeBondPromise = _ref.changeBondPromise,
|
|
12334
|
+
editor = _ref.editor;
|
|
12335
|
+
var action = new ketcherCore.Action();
|
|
12336
|
+
var struct = editor.render.ctab;
|
|
12337
|
+
var molecule = struct.molecule;
|
|
12338
|
+
if (bonds) {
|
|
12339
|
+
Promise.resolve(changeBondPromise).then(function (userChangedBond) {
|
|
12340
|
+
bonds.forEach(function (bondId) {
|
|
12341
|
+
var unchangedBond = molecule.bonds.get(bondId);
|
|
12342
|
+
var bondWithChangedProperties = updateOnlyChangedProperties(unchangedBond, userChangedBond);
|
|
12343
|
+
action.mergeWith(ketcherCore.fromBondsAttrs(struct, bondId, bondWithChangedProperties, false));
|
|
12344
|
+
});
|
|
12345
|
+
editor.update(action);
|
|
12346
|
+
})["catch"](function () {
|
|
12347
|
+
return null;
|
|
12348
|
+
});
|
|
12349
|
+
}
|
|
12350
|
+
}
|
|
12351
|
+
|
|
12297
12352
|
function _createForOfIteratorHelper$6(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$6(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
12298
12353
|
function _unsupportedIterableToArray$6(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$6(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray$6(o, minLen); }
|
|
12299
12354
|
function _arrayLikeToArray$6(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
@@ -12461,7 +12516,8 @@ var SelectTool = function () {
|
|
|
12461
12516
|
if ((_this$dragCtx = this.dragCtx) !== null && _this$dragCtx !== void 0 && _this$dragCtx.stopTapping) this.dragCtx.stopTapping();
|
|
12462
12517
|
var possibleSaltOrSolvent = struct.sgroups.get(selectedSgroups[selectedSgroups.length - 1]);
|
|
12463
12518
|
var isDraggingSaltOrSolventOnStructure = ketcherCore.SGroup.isSaltOrSolvent(possibleSaltOrSolvent === null || possibleSaltOrSolvent === void 0 ? void 0 : possibleSaltOrSolvent.item.data.name);
|
|
12464
|
-
|
|
12519
|
+
var isDraggingCustomSgroupOnStructure = ketcherCore.SGroup.isSuperAtom(possibleSaltOrSolvent === null || possibleSaltOrSolvent === void 0 ? void 0 : possibleSaltOrSolvent.item) && !ketcherCore.FunctionalGroup.isFunctionalGroup(possibleSaltOrSolvent === null || possibleSaltOrSolvent === void 0 ? void 0 : possibleSaltOrSolvent.item);
|
|
12520
|
+
if (this.dragCtx && (isDraggingCustomSgroupOnStructure || isDraggingSaltOrSolventOnStructure || this.isDraggingStructureOnSaltOrSolvent(this.dragCtx, struct.sgroups))) {
|
|
12465
12521
|
preventSaltAndSolventsMerge(struct, this.dragCtx, editor);
|
|
12466
12522
|
delete this.dragCtx;
|
|
12467
12523
|
}
|
|
@@ -12485,7 +12541,6 @@ var SelectTool = function () {
|
|
|
12485
12541
|
var molecule = struct.molecule,
|
|
12486
12542
|
sgroups = struct.sgroups;
|
|
12487
12543
|
var functionalGroups = molecule.functionalGroups;
|
|
12488
|
-
var rnd = editor.render;
|
|
12489
12544
|
var ci = editor.findItem(event, ['atoms', 'bonds', 'sgroups', 'functionalGroups', 'sgroupData', 'texts'], null);
|
|
12490
12545
|
var atomResult = [];
|
|
12491
12546
|
var bondResult = [];
|
|
@@ -12494,7 +12549,7 @@ var SelectTool = function () {
|
|
|
12494
12549
|
var _struct$atoms$get;
|
|
12495
12550
|
var atomId = ketcherCore.FunctionalGroup.atomsInFunctionalGroup(functionalGroups, ci.id);
|
|
12496
12551
|
var atomFromStruct = atomId !== null && ((_struct$atoms$get = struct.atoms.get(atomId)) === null || _struct$atoms$get === void 0 ? void 0 : _struct$atoms$get.a);
|
|
12497
|
-
if (
|
|
12552
|
+
if (atomFromStruct && !ketcherCore.FunctionalGroup.isAtomInContractedFunctionalGroup(
|
|
12498
12553
|
atomFromStruct, sgroups, functionalGroups, true)) atomResult.push(atomId);
|
|
12499
12554
|
}
|
|
12500
12555
|
if (ci && functionalGroups && ci.map === 'bonds') {
|
|
@@ -12556,21 +12611,13 @@ var SelectTool = function () {
|
|
|
12556
12611
|
changeAtomPromise: changeAtomPromise
|
|
12557
12612
|
});
|
|
12558
12613
|
} else if (ci.map === 'bonds') {
|
|
12559
|
-
var
|
|
12560
|
-
var
|
|
12561
|
-
|
|
12562
|
-
|
|
12563
|
-
|
|
12564
|
-
|
|
12565
|
-
|
|
12566
|
-
bondsSelection.forEach(function (bid) {
|
|
12567
|
-
action.mergeWith(ketcherCore.fromBondsAttrs(struct, bid, newbond));
|
|
12568
|
-
});
|
|
12569
|
-
editor.update(action);
|
|
12570
|
-
})["catch"](function () {
|
|
12571
|
-
return null;
|
|
12572
|
-
});
|
|
12573
|
-
}
|
|
12614
|
+
var bonds = getSelectedBonds(selection, molecule);
|
|
12615
|
+
var changeBondPromise = editor.event.bondEdit.dispatch(bonds);
|
|
12616
|
+
updateSelectedBonds({
|
|
12617
|
+
bonds: (selection === null || selection === void 0 ? void 0 : selection.bonds) || [],
|
|
12618
|
+
changeBondPromise: changeBondPromise,
|
|
12619
|
+
editor: editor
|
|
12620
|
+
});
|
|
12574
12621
|
} else if (ci.map === 'sgroups' && !ketcherCore.FunctionalGroup.isFunctionalGroup(molecule.sgroups.get(ci.id)) || ci.map === 'sgroupData') {
|
|
12575
12622
|
editor.selection(closestToSel(ci));
|
|
12576
12623
|
SGroupTool.sgroupDialog(editor, ci.id);
|
|
@@ -12705,12 +12752,24 @@ function getSelectedAtoms(selection, molecule) {
|
|
|
12705
12752
|
}
|
|
12706
12753
|
return [];
|
|
12707
12754
|
}
|
|
12755
|
+
function getSelectedBonds(selection, molecule) {
|
|
12756
|
+
if (selection !== null && selection !== void 0 && selection.bonds) {
|
|
12757
|
+
return mapBondIdsToBonds(selection === null || selection === void 0 ? void 0 : selection.bonds, molecule);
|
|
12758
|
+
}
|
|
12759
|
+
return [];
|
|
12760
|
+
}
|
|
12708
12761
|
function mapAtomIdsToAtoms(atomsIds, molecule) {
|
|
12709
12762
|
return atomsIds.map(function (atomId) {
|
|
12710
12763
|
var atomOrReAtom = molecule.atoms.get(atomId);
|
|
12711
12764
|
return atomOrReAtom.a || atomOrReAtom;
|
|
12712
12765
|
});
|
|
12713
12766
|
}
|
|
12767
|
+
function mapBondIdsToBonds(bondsIds, molecule) {
|
|
12768
|
+
return bondsIds.map(function (bondId) {
|
|
12769
|
+
var bondOrReBond = molecule.bonds.get(bondId);
|
|
12770
|
+
return (bondOrReBond === null || bondOrReBond === void 0 ? void 0 : bondOrReBond.b) || bondOrReBond;
|
|
12771
|
+
});
|
|
12772
|
+
}
|
|
12714
12773
|
function uniqArray(dest, add, reversible) {
|
|
12715
12774
|
return add.reduce(function (_, item) {
|
|
12716
12775
|
if (reversible) dest = fp.xor(dest, [item]);else if (!dest.includes(item)) dest.push(item);
|
|
@@ -13256,7 +13315,9 @@ var PasteTool = function () {
|
|
|
13256
13315
|
} else {
|
|
13257
13316
|
var action = this.action;
|
|
13258
13317
|
delete this.action;
|
|
13259
|
-
|
|
13318
|
+
if (!this.isSingleContractedGroup || !this.mergeItems) {
|
|
13319
|
+
this.editor.update(dropAndMerge(this.editor, this.mergeItems, action));
|
|
13320
|
+
}
|
|
13260
13321
|
}
|
|
13261
13322
|
}
|
|
13262
13323
|
}, {
|
|
@@ -14118,6 +14179,47 @@ var TemplateTool = function () {
|
|
|
14118
14179
|
editor.hoverIcon.updatePosition();
|
|
14119
14180
|
}
|
|
14120
14181
|
_createClass__default["default"](TemplateTool, [{
|
|
14182
|
+
key: "struct",
|
|
14183
|
+
get: function get() {
|
|
14184
|
+
return this.editor.render.ctab.molecule;
|
|
14185
|
+
}
|
|
14186
|
+
}, {
|
|
14187
|
+
key: "functionalGroups",
|
|
14188
|
+
get: function get() {
|
|
14189
|
+
return this.struct.functionalGroups;
|
|
14190
|
+
}
|
|
14191
|
+
}, {
|
|
14192
|
+
key: "isModeFunctionalGroup",
|
|
14193
|
+
get: function get() {
|
|
14194
|
+
return this.mode === MODES.FG;
|
|
14195
|
+
}
|
|
14196
|
+
}, {
|
|
14197
|
+
key: "closestItem",
|
|
14198
|
+
get: function get() {
|
|
14199
|
+
return this.editor.findItem(this.event, ['atoms', 'bonds', 'sgroups', 'functionalGroups']);
|
|
14200
|
+
}
|
|
14201
|
+
}, {
|
|
14202
|
+
key: "isNeedToShowRemoveAbbreviationPopup",
|
|
14203
|
+
get: function get() {
|
|
14204
|
+
var _this$closestItem, _this$functionalGroup;
|
|
14205
|
+
var targetId = this.findKeyOfRelatedGroupId((_this$closestItem = this.closestItem) === null || _this$closestItem === void 0 ? void 0 : _this$closestItem.id);
|
|
14206
|
+
var isTargetExpanded = (_this$functionalGroup = this.functionalGroups.get(targetId)) === null || _this$functionalGroup === void 0 ? void 0 : _this$functionalGroup.isExpanded;
|
|
14207
|
+
var isTargetAtomOrBond = this.targetGroupsIds.length && !this.isModeFunctionalGroup;
|
|
14208
|
+
return Boolean(isTargetExpanded || isTargetAtomOrBond);
|
|
14209
|
+
}
|
|
14210
|
+
}, {
|
|
14211
|
+
key: "findKeyOfRelatedGroupId",
|
|
14212
|
+
value: function findKeyOfRelatedGroupId(clickedClosestItemId) {
|
|
14213
|
+
var targetId;
|
|
14214
|
+
var relatedGroupId = ketcherCore.FunctionalGroup.findFunctionalGroupByAtom(this.functionalGroups, clickedClosestItemId);
|
|
14215
|
+
this.functionalGroups.forEach(function (fg, key) {
|
|
14216
|
+
if (fg.relatedSGroupId === relatedGroupId) {
|
|
14217
|
+
targetId = key;
|
|
14218
|
+
}
|
|
14219
|
+
});
|
|
14220
|
+
return targetId;
|
|
14221
|
+
}
|
|
14222
|
+
}, {
|
|
14121
14223
|
key: "showRemoveAbbreviationPopup",
|
|
14122
14224
|
value: function showRemoveAbbreviationPopup() {
|
|
14123
14225
|
var _this = this;
|
|
@@ -14128,77 +14230,68 @@ var TemplateTool = function () {
|
|
|
14128
14230
|
return Promise.resolve();
|
|
14129
14231
|
});
|
|
14130
14232
|
}
|
|
14131
|
-
}, {
|
|
14132
|
-
key: "isModeFunctionalGroup",
|
|
14133
|
-
get: function get() {
|
|
14134
|
-
return this.mode === MODES.FG;
|
|
14135
|
-
}
|
|
14136
14233
|
}, {
|
|
14137
14234
|
key: "mousedown",
|
|
14138
14235
|
value: function () {
|
|
14139
14236
|
var _mousedown = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee(event) {
|
|
14140
|
-
var
|
|
14141
|
-
var
|
|
14237
|
+
var _this2 = this;
|
|
14238
|
+
var _this$closestItem2, _this$closestItem3, _this$closestItem4, dragCtx, ci, _this$struct$atoms$ge, _this$struct$halfBond, xy0, bond, frid, frIds, count, loop, _this$struct$halfBond2, _this$struct$loops$ge, loopHbs, sign;
|
|
14142
14239
|
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
14143
14240
|
while (1) {
|
|
14144
14241
|
switch (_context.prev = _context.next) {
|
|
14145
14242
|
case 0:
|
|
14146
|
-
|
|
14147
|
-
|
|
14148
|
-
|
|
14149
|
-
|
|
14150
|
-
|
|
14151
|
-
|
|
14152
|
-
}), (closestItem === null || closestItem === void 0 ? void 0 : closestItem.map) === 'bonds' && {
|
|
14153
|
-
bonds: [closestItem.id]
|
|
14243
|
+
this.event = event;
|
|
14244
|
+
if (this.functionalGroups.size) {
|
|
14245
|
+
this.targetGroupsIds = getGroupIdsFromItemArrays(this.struct, _objectSpread$N(_objectSpread$N({}, ((_this$closestItem2 = this.closestItem) === null || _this$closestItem2 === void 0 ? void 0 : _this$closestItem2.map) === 'atoms' && {
|
|
14246
|
+
atoms: [this.closestItem.id]
|
|
14247
|
+
}), ((_this$closestItem3 = this.closestItem) === null || _this$closestItem3 === void 0 ? void 0 : _this$closestItem3.map) === 'bonds' && {
|
|
14248
|
+
bonds: [this.closestItem.id]
|
|
14154
14249
|
}));
|
|
14155
14250
|
if (
|
|
14156
|
-
(closestItem === null ||
|
|
14157
|
-
this.targetGroupsIds.push(closestItem.id);
|
|
14251
|
+
((_this$closestItem4 = this.closestItem) === null || _this$closestItem4 === void 0 ? void 0 : _this$closestItem4.map) === 'functionalGroups' && ketcherCore.FunctionalGroup.isContractedFunctionalGroup(this.closestItem.id, this.functionalGroups)) {
|
|
14252
|
+
this.targetGroupsIds.push(this.closestItem.id);
|
|
14158
14253
|
}
|
|
14159
14254
|
}
|
|
14160
|
-
|
|
14161
|
-
|
|
14162
|
-
if (!(isTargetAtomOrBond || isTargetExpanded)) {
|
|
14163
|
-
_context.next = 10;
|
|
14255
|
+
if (!this.isNeedToShowRemoveAbbreviationPopup) {
|
|
14256
|
+
_context.next = 6;
|
|
14164
14257
|
break;
|
|
14165
14258
|
}
|
|
14166
|
-
_context.next =
|
|
14259
|
+
_context.next = 5;
|
|
14167
14260
|
return this.showRemoveAbbreviationPopup();
|
|
14168
|
-
case
|
|
14261
|
+
case 5:
|
|
14169
14262
|
return _context.abrupt("return");
|
|
14170
|
-
case
|
|
14263
|
+
case 6:
|
|
14171
14264
|
this.editor.hover(null);
|
|
14172
14265
|
this.dragCtx = {
|
|
14173
|
-
xy0: this.editor.render.page2obj(event),
|
|
14174
|
-
item: this.editor.findItem(event, this.findItems)
|
|
14266
|
+
xy0: this.editor.render.page2obj(this.event),
|
|
14267
|
+
item: this.editor.findItem(this.event, this.findItems)
|
|
14175
14268
|
};
|
|
14176
14269
|
dragCtx = this.dragCtx;
|
|
14177
14270
|
ci = dragCtx.item;
|
|
14178
14271
|
if (!(!ci || this.isSaltOrSolvent)) {
|
|
14179
|
-
_context.next =
|
|
14272
|
+
_context.next = 13;
|
|
14180
14273
|
break;
|
|
14181
14274
|
}
|
|
14182
14275
|
delete dragCtx.item;
|
|
14183
14276
|
return _context.abrupt("return");
|
|
14184
|
-
case
|
|
14277
|
+
case 13:
|
|
14185
14278
|
if (ci.map === 'bonds' && !this.isModeFunctionalGroup) {
|
|
14186
14279
|
xy0 = new ketcherCore.Vec2();
|
|
14187
|
-
bond = struct.bonds.get(ci.id);
|
|
14188
|
-
frid = (
|
|
14189
|
-
frIds = struct.getFragmentIds(frid);
|
|
14280
|
+
bond = this.struct.bonds.get(ci.id);
|
|
14281
|
+
frid = (_this$struct$atoms$ge = this.struct.atoms.get(bond === null || bond === void 0 ? void 0 : bond.begin)) === null || _this$struct$atoms$ge === void 0 ? void 0 : _this$struct$atoms$ge.fragment;
|
|
14282
|
+
frIds = this.struct.getFragmentIds(frid);
|
|
14190
14283
|
count = 0;
|
|
14191
|
-
loop = (
|
|
14284
|
+
loop = (_this$struct$halfBond = this.struct.halfBonds.get(bond === null || bond === void 0 ? void 0 : bond.hb1)) === null || _this$struct$halfBond === void 0 ? void 0 : _this$struct$halfBond.loop;
|
|
14192
14285
|
if (loop && loop < 0) {
|
|
14193
|
-
loop = (
|
|
14286
|
+
loop = (_this$struct$halfBond2 = this.struct.halfBonds.get(bond === null || bond === void 0 ? void 0 : bond.hb2)) === null || _this$struct$halfBond2 === void 0 ? void 0 : _this$struct$halfBond2.loop;
|
|
14194
14287
|
}
|
|
14195
14288
|
if (loop && loop >= 0) {
|
|
14196
|
-
loopHbs = (
|
|
14289
|
+
loopHbs = (_this$struct$loops$ge = this.struct.loops.get(loop)) === null || _this$struct$loops$ge === void 0 ? void 0 : _this$struct$loops$ge.hbs;
|
|
14197
14290
|
loopHbs === null || loopHbs === void 0 ? void 0 : loopHbs.forEach(function (hb) {
|
|
14198
|
-
var
|
|
14199
|
-
var halfBondBegin = (
|
|
14291
|
+
var _this2$struct$halfBon;
|
|
14292
|
+
var halfBondBegin = (_this2$struct$halfBon = _this2.struct.halfBonds.get(hb)) === null || _this2$struct$halfBon === void 0 ? void 0 : _this2$struct$halfBon.begin;
|
|
14200
14293
|
if (halfBondBegin) {
|
|
14201
|
-
var hbbAtom = struct.atoms.get(halfBondBegin);
|
|
14294
|
+
var hbbAtom = _this2.struct.atoms.get(halfBondBegin);
|
|
14202
14295
|
if (hbbAtom) {
|
|
14203
14296
|
xy0.add_(hbbAtom.pp);
|
|
14204
14297
|
count++;
|
|
@@ -14207,7 +14300,7 @@ var TemplateTool = function () {
|
|
|
14207
14300
|
});
|
|
14208
14301
|
} else {
|
|
14209
14302
|
frIds.forEach(function (id) {
|
|
14210
|
-
var atomById = struct.atoms.get(id);
|
|
14303
|
+
var atomById = _this2.struct.atoms.get(id);
|
|
14211
14304
|
if (atomById) {
|
|
14212
14305
|
xy0.add_(atomById.pp);
|
|
14213
14306
|
count++;
|
|
@@ -14215,11 +14308,11 @@ var TemplateTool = function () {
|
|
|
14215
14308
|
});
|
|
14216
14309
|
}
|
|
14217
14310
|
dragCtx.v0 = xy0.scaled(1 / count);
|
|
14218
|
-
sign = getSign(struct, bond, dragCtx.v0);
|
|
14311
|
+
sign = getSign(this.struct, bond, dragCtx.v0);
|
|
14219
14312
|
dragCtx.sign1 = sign || 1;
|
|
14220
14313
|
dragCtx.sign2 = this.template.sign;
|
|
14221
14314
|
}
|
|
14222
|
-
case
|
|
14315
|
+
case 14:
|
|
14223
14316
|
case "end":
|
|
14224
14317
|
return _context.stop();
|
|
14225
14318
|
}
|
|
@@ -14244,10 +14337,9 @@ var TemplateTool = function () {
|
|
|
14244
14337
|
var ci = dragCtx.item;
|
|
14245
14338
|
var targetPos = null;
|
|
14246
14339
|
var eventPos = this.editor.render.page2obj(event);
|
|
14247
|
-
var struct = this.editor.render.ctab.molecule;
|
|
14248
14340
|
if (ci && ci.map === 'bonds' && !this.isModeFunctionalGroup) {
|
|
14249
|
-
var bond = struct.bonds.get(ci.id);
|
|
14250
|
-
var sign = getSign(struct, bond, eventPos);
|
|
14341
|
+
var bond = this.struct.bonds.get(ci.id);
|
|
14342
|
+
var sign = getSign(this.struct, bond, eventPos);
|
|
14251
14343
|
if (dragCtx.sign1 * this.template.sign > 0) {
|
|
14252
14344
|
sign = -sign;
|
|
14253
14345
|
}
|
|
@@ -14271,9 +14363,9 @@ var TemplateTool = function () {
|
|
|
14271
14363
|
if (!ci) {
|
|
14272
14364
|
targetPos = dragCtx.xy0;
|
|
14273
14365
|
} else if (ci.map === 'atoms' || ci.map === 'functionalGroups') {
|
|
14274
|
-
var atomId = getTargetAtomId(struct, ci);
|
|
14366
|
+
var atomId = getTargetAtomId(this.struct, ci);
|
|
14275
14367
|
if (atomId !== undefined) {
|
|
14276
|
-
var atom = struct.atoms.get(atomId);
|
|
14368
|
+
var atom = this.struct.atoms.get(atomId);
|
|
14277
14369
|
targetPos = atom === null || atom === void 0 ? void 0 : atom.pp;
|
|
14278
14370
|
if (targetPos) {
|
|
14279
14371
|
extraBond = this.isModeFunctionalGroup ? true : ketcherCore.Vec2.dist(targetPos, eventPos) > 1;
|
|
@@ -14313,7 +14405,7 @@ var TemplateTool = function () {
|
|
|
14313
14405
|
action = _fromTemplateOnCanvas2[0];
|
|
14314
14406
|
pasteItems = _fromTemplateOnCanvas2[1];
|
|
14315
14407
|
} else if ((ci === null || ci === void 0 ? void 0 : ci.map) === 'atoms' || (ci === null || ci === void 0 ? void 0 : ci.map) === 'functionalGroups') {
|
|
14316
|
-
var _atomId = getTargetAtomId(struct, ci);
|
|
14408
|
+
var _atomId = getTargetAtomId(this.struct, ci);
|
|
14317
14409
|
var _fromTemplateOnAtom = ketcherCore.fromTemplateOnAtom(this.editor.render.ctab, this.template, _atomId, angle, extraBond);
|
|
14318
14410
|
var _fromTemplateOnAtom2 = _slicedToArray__default["default"](_fromTemplateOnAtom, 2);
|
|
14319
14411
|
action = _fromTemplateOnAtom2[0];
|
|
@@ -14332,7 +14424,7 @@ var TemplateTool = function () {
|
|
|
14332
14424
|
}, {
|
|
14333
14425
|
key: "mouseup",
|
|
14334
14426
|
value: function mouseup(event) {
|
|
14335
|
-
var
|
|
14427
|
+
var _this3 = this,
|
|
14336
14428
|
_ci;
|
|
14337
14429
|
var dragCtx = this.dragCtx;
|
|
14338
14430
|
if (!dragCtx) {
|
|
@@ -14340,9 +14432,7 @@ var TemplateTool = function () {
|
|
|
14340
14432
|
}
|
|
14341
14433
|
delete this.dragCtx;
|
|
14342
14434
|
var restruct = this.editor.render.ctab;
|
|
14343
|
-
var struct = restruct.molecule;
|
|
14344
14435
|
var ci = dragCtx.item;
|
|
14345
|
-
var functionalGroups = struct.functionalGroups;
|
|
14346
14436
|
if (dragCtx.action && ci && ci.map === 'bonds' && !this.isModeFunctionalGroup) {
|
|
14347
14437
|
dragCtx.action.perform(restruct);
|
|
14348
14438
|
var promise = ketcherCore.fromTemplateOnBondAction(restruct, this.template, ci.id, this.editor.event, dragCtx.sign1 * dragCtx.sign2 > 0, true);
|
|
@@ -14350,9 +14440,9 @@ var TemplateTool = function () {
|
|
|
14350
14440
|
var _ref2 = _slicedToArray__default["default"](_ref, 2),
|
|
14351
14441
|
action = _ref2[0],
|
|
14352
14442
|
pasteItems = _ref2[1];
|
|
14353
|
-
var mergeItems = ketcherCore.getItemsToFuse(
|
|
14443
|
+
var mergeItems = ketcherCore.getItemsToFuse(_this3.editor, pasteItems);
|
|
14354
14444
|
action = ketcherCore.fromItemsFuse(restruct, mergeItems).mergeWith(action);
|
|
14355
|
-
|
|
14445
|
+
_this3.editor.update(action);
|
|
14356
14446
|
});
|
|
14357
14447
|
return true;
|
|
14358
14448
|
}
|
|
@@ -14360,14 +14450,14 @@ var TemplateTool = function () {
|
|
|
14360
14450
|
var pasteItems = null;
|
|
14361
14451
|
if (this.isSaltOrSolvent) {
|
|
14362
14452
|
addSaltsAndSolventsOnCanvasWithoutMerge(restruct, this.template, dragCtx, this.editor);
|
|
14453
|
+
this.editor.hover(this.editor.findItem(event, this.findItems), null, event);
|
|
14363
14454
|
return true;
|
|
14364
|
-
} else if (((_ci = ci) === null || _ci === void 0 ? void 0 : _ci.map) === 'functionalGroups' && ketcherCore.FunctionalGroup.isContractedFunctionalGroup(ci.id, functionalGroups) && this.isModeFunctionalGroup && this.targetGroupsIds.length) {
|
|
14455
|
+
} else if (((_ci = ci) === null || _ci === void 0 ? void 0 : _ci.map) === 'functionalGroups' && ketcherCore.FunctionalGroup.isContractedFunctionalGroup(ci.id, this.functionalGroups) && this.isModeFunctionalGroup && this.targetGroupsIds.length) {
|
|
14365
14456
|
functionalGroupRemoveAction = new ketcherCore.Action();
|
|
14366
|
-
var _struct = this.editor.struct();
|
|
14367
14457
|
var _restruct = this.editor.render.ctab;
|
|
14368
|
-
var functionalGroupToReplace =
|
|
14369
|
-
var attachmentAtomId = functionalGroupToReplace.getAttAtomId(
|
|
14370
|
-
var atomsWithoutAttachmentAtom = ketcherCore.SGroup.getAtoms(
|
|
14458
|
+
var functionalGroupToReplace = this.struct.sgroups.get(ci.id);
|
|
14459
|
+
var attachmentAtomId = functionalGroupToReplace.getAttAtomId(this.struct);
|
|
14460
|
+
var atomsWithoutAttachmentAtom = ketcherCore.SGroup.getAtoms(this.struct, functionalGroupToReplace).filter(function (id) {
|
|
14371
14461
|
return id !== attachmentAtomId;
|
|
14372
14462
|
});
|
|
14373
14463
|
functionalGroupRemoveAction.mergeWith(ketcherCore.fromSgroupDeletion(_restruct, ci.id));
|
|
@@ -14393,10 +14483,10 @@ var TemplateTool = function () {
|
|
|
14393
14483
|
if (degree && degree > 1) {
|
|
14394
14484
|
angle = null;
|
|
14395
14485
|
} else if (degree === 1) {
|
|
14396
|
-
var
|
|
14397
|
-
var atom = struct.atoms.get(ci.id);
|
|
14398
|
-
var neiId = atom && ((
|
|
14399
|
-
var nei = (neiId || neiId === 0) && struct.atoms.get(neiId);
|
|
14486
|
+
var _this$struct$halfBond3;
|
|
14487
|
+
var atom = this.struct.atoms.get(ci.id);
|
|
14488
|
+
var neiId = atom && ((_this$struct$halfBond3 = this.struct.halfBonds.get(atom.neighbors[0])) === null || _this$struct$halfBond3 === void 0 ? void 0 : _this$struct$halfBond3.end);
|
|
14489
|
+
var nei = (neiId || neiId === 0) && this.struct.atoms.get(neiId);
|
|
14400
14490
|
angle = event.ctrlKey ? utils.calcAngle(nei === null || nei === void 0 ? void 0 : nei.pp, atom === null || atom === void 0 ? void 0 : atom.pp) : utils.fracAngle(utils.calcAngle(nei.pp, atom === null || atom === void 0 ? void 0 : atom.pp), null);
|
|
14401
14491
|
} else {
|
|
14402
14492
|
angle = 0;
|
|
@@ -14415,10 +14505,10 @@ var TemplateTool = function () {
|
|
|
14415
14505
|
var _ref4 = _slicedToArray__default["default"](_ref3, 2),
|
|
14416
14506
|
action = _ref4[0],
|
|
14417
14507
|
pasteItems = _ref4[1];
|
|
14418
|
-
if (!
|
|
14419
|
-
var mergeItems = ketcherCore.getItemsToFuse(
|
|
14508
|
+
if (!_this3.isModeFunctionalGroup) {
|
|
14509
|
+
var mergeItems = ketcherCore.getItemsToFuse(_this3.editor, pasteItems);
|
|
14420
14510
|
action = ketcherCore.fromItemsFuse(restruct, mergeItems).mergeWith(action);
|
|
14421
|
-
|
|
14511
|
+
_this3.editor.update(action);
|
|
14422
14512
|
}
|
|
14423
14513
|
});
|
|
14424
14514
|
return true;
|
|
@@ -14628,20 +14718,27 @@ function handleHotkeyOverItem(props) {
|
|
|
14628
14718
|
handleDialog(props);
|
|
14629
14719
|
} else if (props.newAction.tool) {
|
|
14630
14720
|
handleTool(props);
|
|
14721
|
+
} else {
|
|
14722
|
+
handleOtherActions(props);
|
|
14631
14723
|
}
|
|
14632
14724
|
}
|
|
14633
|
-
function
|
|
14634
|
-
var
|
|
14635
|
-
|
|
14725
|
+
function handleOtherActions(_ref) {
|
|
14726
|
+
var dispatch = _ref.dispatch,
|
|
14727
|
+
newAction = _ref.newAction;
|
|
14728
|
+
dispatch(onAction(newAction));
|
|
14729
|
+
}
|
|
14730
|
+
function handleEraser(_ref2) {
|
|
14731
|
+
var editor = _ref2.editor,
|
|
14732
|
+
hoveredItem = _ref2.hoveredItem;
|
|
14636
14733
|
var action = ketcherCore.fromFragmentDeletion(editor.render.ctab, mapItemsToArrays(hoveredItem));
|
|
14637
14734
|
editor.update(action);
|
|
14638
14735
|
editor.hover(null);
|
|
14639
14736
|
}
|
|
14640
|
-
function handleDialog(
|
|
14641
|
-
var hoveredItem =
|
|
14642
|
-
newAction =
|
|
14643
|
-
editor =
|
|
14644
|
-
dispatch =
|
|
14737
|
+
function handleDialog(_ref3) {
|
|
14738
|
+
var hoveredItem = _ref3.hoveredItem,
|
|
14739
|
+
newAction = _ref3.newAction,
|
|
14740
|
+
editor = _ref3.editor,
|
|
14741
|
+
dispatch = _ref3.dispatch;
|
|
14645
14742
|
var dialogType = Object.keys(hoveredItem)[0];
|
|
14646
14743
|
var dialogHandler = getDialogHandler(dialogType);
|
|
14647
14744
|
var hoveredItemId = hoveredItem[dialogType];
|
|
@@ -14667,11 +14764,11 @@ function getDialogHandler(itemType) {
|
|
|
14667
14764
|
var dialog = dialogs[itemType];
|
|
14668
14765
|
return dialog;
|
|
14669
14766
|
}
|
|
14670
|
-
function handleAtomPropsDialog(
|
|
14671
|
-
var hoveredItemId =
|
|
14672
|
-
newAction =
|
|
14673
|
-
editor =
|
|
14674
|
-
dispatch =
|
|
14767
|
+
function handleAtomPropsDialog(_ref4) {
|
|
14768
|
+
var hoveredItemId = _ref4.hoveredItemId,
|
|
14769
|
+
newAction = _ref4.newAction,
|
|
14770
|
+
editor = _ref4.editor,
|
|
14771
|
+
dispatch = _ref4.dispatch;
|
|
14675
14772
|
var selection = editor.selection();
|
|
14676
14773
|
var atomsSelected = selection === null || selection === void 0 ? void 0 : selection.atoms;
|
|
14677
14774
|
var restruct = editor.render.ctab;
|
|
@@ -14694,11 +14791,11 @@ function handleAtomPropsDialog(_ref3) {
|
|
|
14694
14791
|
});
|
|
14695
14792
|
}
|
|
14696
14793
|
}
|
|
14697
|
-
function handleBondPropsDialog(
|
|
14698
|
-
var hoveredItemId =
|
|
14699
|
-
newAction =
|
|
14700
|
-
editor =
|
|
14701
|
-
dispatch =
|
|
14794
|
+
function handleBondPropsDialog(_ref5) {
|
|
14795
|
+
var hoveredItemId = _ref5.hoveredItemId,
|
|
14796
|
+
newAction = _ref5.newAction,
|
|
14797
|
+
editor = _ref5.editor,
|
|
14798
|
+
dispatch = _ref5.dispatch;
|
|
14702
14799
|
var restruct = editor.render.ctab;
|
|
14703
14800
|
var bondFromStruct = restruct.bonds.get(hoveredItemId);
|
|
14704
14801
|
var convertedBondForModal = fromBond(bondFromStruct === null || bondFromStruct === void 0 ? void 0 : bondFromStruct.b);
|
|
@@ -14709,11 +14806,11 @@ function handleBondPropsDialog(_ref4) {
|
|
|
14709
14806
|
return null;
|
|
14710
14807
|
});
|
|
14711
14808
|
}
|
|
14712
|
-
function handleTool(
|
|
14713
|
-
var hoveredItem =
|
|
14714
|
-
newAction =
|
|
14715
|
-
editor =
|
|
14716
|
-
dispatch =
|
|
14809
|
+
function handleTool(_ref6) {
|
|
14810
|
+
var hoveredItem = _ref6.hoveredItem,
|
|
14811
|
+
newAction = _ref6.newAction,
|
|
14812
|
+
editor = _ref6.editor,
|
|
14813
|
+
dispatch = _ref6.dispatch;
|
|
14717
14814
|
var _loop = function _loop(item) {
|
|
14718
14815
|
var toolHandler = getToolHandler(item, newAction.tool);
|
|
14719
14816
|
var isChangeStructureTool = newAction.tool !== 'hand';
|
|
@@ -14773,13 +14870,13 @@ function getToolHandler(itemType) {
|
|
|
14773
14870
|
rgroupatom: function rgroupatom(props) {
|
|
14774
14871
|
return handleRGroupAtomTool(props);
|
|
14775
14872
|
},
|
|
14776
|
-
sgroup: function sgroup(
|
|
14777
|
-
var editor =
|
|
14778
|
-
hoveredItemId =
|
|
14873
|
+
sgroup: function sgroup(_ref7) {
|
|
14874
|
+
var editor = _ref7.editor,
|
|
14875
|
+
hoveredItemId = _ref7.hoveredItemId;
|
|
14779
14876
|
tools.sgroup.sgroupDialog(editor, hoveredItemId);
|
|
14780
14877
|
},
|
|
14781
|
-
hand: function hand(
|
|
14782
|
-
var dispatch =
|
|
14878
|
+
hand: function hand(_ref8) {
|
|
14879
|
+
var dispatch = _ref8.dispatch;
|
|
14783
14880
|
return dispatch(onAction({
|
|
14784
14881
|
tool: 'hand'
|
|
14785
14882
|
}));
|
|
@@ -14793,26 +14890,28 @@ function getToolHandler(itemType) {
|
|
|
14793
14890
|
}
|
|
14794
14891
|
return items._default[toolName];
|
|
14795
14892
|
}
|
|
14796
|
-
function handleAtomTool(
|
|
14797
|
-
var hoveredItemId = _ref8.hoveredItemId,
|
|
14798
|
-
newAction = _ref8.newAction,
|
|
14799
|
-
editor = _ref8.editor;
|
|
14800
|
-
var atomProps = _objectSpread$M({}, newAction.opts);
|
|
14801
|
-
var updatedAtoms = ketcherCore.fromAtomsAttrs(editor.render.ctab, hoveredItemId, atomProps, true);
|
|
14802
|
-
editor.update(updatedAtoms);
|
|
14803
|
-
}
|
|
14804
|
-
function handleBondTool(_ref9) {
|
|
14893
|
+
function handleAtomTool(_ref9) {
|
|
14805
14894
|
var hoveredItemId = _ref9.hoveredItemId,
|
|
14806
14895
|
newAction = _ref9.newAction,
|
|
14807
14896
|
editor = _ref9.editor;
|
|
14808
|
-
var
|
|
14809
|
-
editor.
|
|
14897
|
+
var atomProps = _objectSpread$M({}, newAction.opts);
|
|
14898
|
+
var updatedAtoms = ketcherCore.fromAtomsAttrs(editor.render.ctab, hoveredItemId, atomProps, true);
|
|
14899
|
+
editor.update(updatedAtoms);
|
|
14810
14900
|
}
|
|
14811
|
-
function
|
|
14812
|
-
var _editor$render$ctab$a;
|
|
14901
|
+
function handleBondTool(_ref10) {
|
|
14813
14902
|
var hoveredItemId = _ref10.hoveredItemId,
|
|
14814
14903
|
newAction = _ref10.newAction,
|
|
14815
14904
|
editor = _ref10.editor;
|
|
14905
|
+
var newBond = ketcherCore.fromBondAddition(editor.render.ctab, newAction.opts, hoveredItemId, {
|
|
14906
|
+
label: 'C'
|
|
14907
|
+
})[0];
|
|
14908
|
+
editor.update(newBond);
|
|
14909
|
+
}
|
|
14910
|
+
function handleChargeTool(_ref11) {
|
|
14911
|
+
var _editor$render$ctab$a;
|
|
14912
|
+
var hoveredItemId = _ref11.hoveredItemId,
|
|
14913
|
+
newAction = _ref11.newAction,
|
|
14914
|
+
editor = _ref11.editor;
|
|
14816
14915
|
var existingAtom = (_editor$render$ctab$a = editor.render.ctab.atoms.get(hoveredItemId)) === null || _editor$render$ctab$a === void 0 ? void 0 : _editor$render$ctab$a.a;
|
|
14817
14916
|
if (existingAtom) {
|
|
14818
14917
|
var updatedAtom = ketcherCore.fromAtomsAttrs(editor.render.ctab, hoveredItemId, {
|
|
@@ -14832,13 +14931,13 @@ function handleRGroupAtomTool(_x2) {
|
|
|
14832
14931
|
return _handleRGroupAtomTool.apply(this, arguments);
|
|
14833
14932
|
}
|
|
14834
14933
|
function _handleRGroupAtomTool() {
|
|
14835
|
-
_handleRGroupAtomTool = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee2(
|
|
14934
|
+
_handleRGroupAtomTool = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee2(_ref12) {
|
|
14836
14935
|
var hoveredItemId, editor, struct, atom, rglabel, label, element;
|
|
14837
14936
|
return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context2) {
|
|
14838
14937
|
while (1) {
|
|
14839
14938
|
switch (_context2.prev = _context2.next) {
|
|
14840
14939
|
case 0:
|
|
14841
|
-
hoveredItemId =
|
|
14940
|
+
hoveredItemId = _ref12.hoveredItemId, editor = _ref12.editor;
|
|
14842
14941
|
struct = editor.render.ctab.molecule;
|
|
14843
14942
|
atom = hoveredItemId || hoveredItemId === 0 ? struct.atoms.get(hoveredItemId) : null;
|
|
14844
14943
|
rglabel = atom ? atom.rglabel : 0;
|
|
@@ -14879,14 +14978,14 @@ function isChangingFunctionalGroup(_x3) {
|
|
|
14879
14978
|
return _isChangingFunctionalGroup.apply(this, arguments);
|
|
14880
14979
|
}
|
|
14881
14980
|
function _isChangingFunctionalGroup() {
|
|
14882
|
-
_isChangingFunctionalGroup = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee3(
|
|
14981
|
+
_isChangingFunctionalGroup = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee3(_ref13) {
|
|
14883
14982
|
var _editor$render$ctab$a2;
|
|
14884
14983
|
var hoveredItemId, editor, atomResult, result, atom, molecule, functionalGroups, sgroupsOnCanvas, atomId, isFunctionalGroup, _iterator, _step, id, fgId;
|
|
14885
14984
|
return _regeneratorRuntime__default["default"].wrap(function _callee3$(_context3) {
|
|
14886
14985
|
while (1) {
|
|
14887
14986
|
switch (_context3.prev = _context3.next) {
|
|
14888
14987
|
case 0:
|
|
14889
|
-
hoveredItemId =
|
|
14988
|
+
hoveredItemId = _ref13.hoveredItemId, editor = _ref13.editor;
|
|
14890
14989
|
atomResult = [];
|
|
14891
14990
|
result = [];
|
|
14892
14991
|
atom = (_editor$render$ctab$a2 = editor.render.ctab.atoms.get(hoveredItemId)) === null || _editor$render$ctab$a2 === void 0 ? void 0 : _editor$render$ctab$a2.a;
|
|
@@ -14950,10 +15049,9 @@ function initKeydownListener(element) {
|
|
|
14950
15049
|
});
|
|
14951
15050
|
};
|
|
14952
15051
|
}
|
|
14953
|
-
function removeNotRenderedStruct(actionTool,
|
|
14954
|
-
var
|
|
14955
|
-
|
|
14956
|
-
if (actionTool.tool === 'paste' && code === 'KeyS' && metaKey) {
|
|
15052
|
+
function removeNotRenderedStruct(actionTool, group, dispatch) {
|
|
15053
|
+
var affectedTools = ['paste', 'template'];
|
|
15054
|
+
if (affectedTools.includes(actionTool.tool) && group !== null && group !== void 0 && group.includes('save')) {
|
|
14957
15055
|
var savedSelectedTool = SettingsManager.selectionTool;
|
|
14958
15056
|
dispatch({
|
|
14959
15057
|
type: 'ACTION',
|
|
@@ -15010,7 +15108,7 @@ function keyHandle(dispatch, state, hotKeys, event) {
|
|
|
15010
15108
|
event.preventDefault();
|
|
15011
15109
|
return;
|
|
15012
15110
|
}
|
|
15013
|
-
removeNotRenderedStruct(actionTool,
|
|
15111
|
+
removeNotRenderedStruct(actionTool, group, dispatch);
|
|
15014
15112
|
if (actions.indexOf(actName) === -1) {
|
|
15015
15113
|
var newAction = config[actName].action;
|
|
15016
15114
|
var _hoveredItem = getHoveredItem(render.ctab);
|
|
@@ -15180,7 +15278,7 @@ var mapDispatchToProps$d = function mapDispatchToProps(dispatch) {
|
|
|
15180
15278
|
};
|
|
15181
15279
|
var AppHiddenContainer = reactRedux.connect(null, mapDispatchToProps$d)(AppHidden);
|
|
15182
15280
|
|
|
15183
|
-
var classes$
|
|
15281
|
+
var classes$F = {"button-common-styles":"Modal-module_button-common-styles__ko9E5","scrollbar":"Modal-module_scrollbar__yPIJc","modalOverlay":"Modal-module_modalOverlay__AzVeg","animate":"Modal-module_animate__pnPNj","hide":"Modal-module_hide__0CTey","smallScreen":"Modal-module_smallScreen__nzt2L"};
|
|
15184
15282
|
|
|
15185
15283
|
var selectClasses = {"button-common-styles":"Select-module_button-common-styles__cgaVz","scrollbar":"Select-module_scrollbar__cA89D","dropdownList":"Select-module_dropdownList__rdcrH","listDivider":"Select-module_listDivider__4vJyh","selectContainer":"Select-module_selectContainer__yXT-t"};
|
|
15186
15284
|
|
|
@@ -15439,7 +15537,7 @@ function findClosestBond(restruct, pos, skip, minDist, scale) {
|
|
|
15439
15537
|
if (bid === skipId) return;
|
|
15440
15538
|
var a1 = restruct.atoms.get(bond.b.begin).a;
|
|
15441
15539
|
var a2 = restruct.atoms.get(bond.b.end).a;
|
|
15442
|
-
if (ketcherCore.FunctionalGroup.isBondInContractedFunctionalGroup(bond.b, sGroups, functionalGroups)) return null;
|
|
15540
|
+
if (ketcherCore.FunctionalGroup.isBondInContractedFunctionalGroup(bond.b, sGroups, functionalGroups) || ketcherCore.SGroup.isBondInContractedSGroup(bond.b, sGroups)) return null;
|
|
15443
15541
|
var mid = ketcherCore.Vec2.lc2(a1.pp, 0.5, a2.pp, 0.5);
|
|
15444
15542
|
var cdist = ketcherCore.Vec2.dist(pos, mid);
|
|
15445
15543
|
if (cdist < minCDist) {
|
|
@@ -15449,7 +15547,7 @@ function findClosestBond(restruct, pos, skip, minDist, scale) {
|
|
|
15449
15547
|
});
|
|
15450
15548
|
restruct.bonds.forEach(function (bond, bid) {
|
|
15451
15549
|
if (bid === skipId) return;
|
|
15452
|
-
if (ketcherCore.FunctionalGroup.isBondInContractedFunctionalGroup(bond.b, sGroups, functionalGroups)) return null;
|
|
15550
|
+
if (ketcherCore.FunctionalGroup.isBondInContractedFunctionalGroup(bond.b, sGroups, functionalGroups) || ketcherCore.SGroup.isBondInContractedSGroup(bond.b, sGroups)) return null;
|
|
15453
15551
|
var hb = restruct.molecule.halfBonds.get(bond.b.hb1);
|
|
15454
15552
|
var dir = hb.dir;
|
|
15455
15553
|
var norm = hb.norm;
|
|
@@ -15685,20 +15783,55 @@ function findCloseMerge(restruct, selected) {
|
|
|
15685
15783
|
var bond = struct.bonds.get(bid);
|
|
15686
15784
|
pos.bonds.set(bid, ketcherCore.Vec2.lc2(struct.atoms.get(bond.begin).pp, 0.5, struct.atoms.get(bond.end).pp, 0.5));
|
|
15687
15785
|
});
|
|
15688
|
-
var result = {
|
|
15689
|
-
|
|
15690
|
-
|
|
15691
|
-
|
|
15692
|
-
|
|
15693
|
-
|
|
15694
|
-
|
|
15695
|
-
|
|
15696
|
-
|
|
15697
|
-
|
|
15698
|
-
}
|
|
15786
|
+
var result = {
|
|
15787
|
+
atoms: new Map(),
|
|
15788
|
+
atomToFunctionalGroup: new Map()
|
|
15789
|
+
};
|
|
15790
|
+
maps.forEach(function (map) {
|
|
15791
|
+
if (map === 'atoms') {
|
|
15792
|
+
Array.from(pos.atoms.keys()).forEach(function (atomId) {
|
|
15793
|
+
var atomPosition = pos.atoms.get(atomId);
|
|
15794
|
+
mergeAtomToAtom(atomId, restruct, atomPosition, selected, result) || mergeAtomToFunctionalGroup(atomId, restruct, atomPosition, result);
|
|
15795
|
+
});
|
|
15796
|
+
} else {
|
|
15797
|
+
result[map] = Array.from(pos[map].keys()).reduce(function (res, srcId) {
|
|
15798
|
+
var skip = {
|
|
15799
|
+
map: map,
|
|
15800
|
+
id: srcId
|
|
15801
|
+
};
|
|
15802
|
+
var item = findMaps[map](restruct, pos[map].get(srcId), skip, null, scale);
|
|
15803
|
+
if (item && !selected[map].includes(item.id)) {
|
|
15804
|
+
res.set(srcId, item.id);
|
|
15805
|
+
}
|
|
15806
|
+
return res;
|
|
15807
|
+
}, new Map());
|
|
15808
|
+
}
|
|
15699
15809
|
});
|
|
15700
15810
|
return result;
|
|
15701
15811
|
}
|
|
15812
|
+
function mergeAtomToAtom(atomId, restruct, atomPosition, selected, result) {
|
|
15813
|
+
var skip = {
|
|
15814
|
+
map: 'atoms',
|
|
15815
|
+
id: atomId
|
|
15816
|
+
};
|
|
15817
|
+
var closestAtom = findClosestAtom(restruct, atomPosition, skip, null);
|
|
15818
|
+
if (closestAtom && !selected.atoms.includes(closestAtom.id)) {
|
|
15819
|
+
result.atoms.set(atomId, closestAtom.id);
|
|
15820
|
+
return true;
|
|
15821
|
+
}
|
|
15822
|
+
return false;
|
|
15823
|
+
}
|
|
15824
|
+
function mergeAtomToFunctionalGroup(atomId, restruct, atomPosition, result) {
|
|
15825
|
+
if (ketcherCore.FunctionalGroup.isAttachmentPointAtom(atomId, restruct.molecule)) {
|
|
15826
|
+
return false;
|
|
15827
|
+
}
|
|
15828
|
+
var closestFunctionalGroup = findClosestFG(restruct, atomPosition, null);
|
|
15829
|
+
if (closestFunctionalGroup) {
|
|
15830
|
+
result.atomToFunctionalGroup.set(atomId, closestFunctionalGroup.id);
|
|
15831
|
+
return true;
|
|
15832
|
+
}
|
|
15833
|
+
return false;
|
|
15834
|
+
}
|
|
15702
15835
|
var closest = {
|
|
15703
15836
|
atom: findClosestAtom,
|
|
15704
15837
|
item: findClosestItem,
|
|
@@ -16577,7 +16710,7 @@ function setHover(ci, visible, render) {
|
|
|
16577
16710
|
return true;
|
|
16578
16711
|
}
|
|
16579
16712
|
|
|
16580
|
-
var classes$
|
|
16713
|
+
var classes$E = {"button-common-styles":"StructEditor-module_button-common-styles__3P7PO","scrollbar":"StructEditor-module_scrollbar__SUs-o","spinnerOverlay":"StructEditor-module_spinnerOverlay__5H1IM","canvas":"StructEditor-module_canvas__LLnzh","measureLog":"StructEditor-module_measureLog__B2wuy","visible":"StructEditor-module_visible__3eFNB","intermediateCanvas":"StructEditor-module_intermediateCanvas__fR3ws","enableCursor":"StructEditor-module_enableCursor__Qla0A"};
|
|
16581
16714
|
|
|
16582
16715
|
var Cursor = function Cursor(_ref) {
|
|
16583
16716
|
var Icon = _ref.Icon,
|
|
@@ -16839,8 +16972,7 @@ var useBondEdit = function useBondEdit() {
|
|
|
16839
16972
|
getKetcherInstance = _useAppContext.getKetcherInstance;
|
|
16840
16973
|
var handler = React.useCallback( function () {
|
|
16841
16974
|
var _ref2 = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee(_ref) {
|
|
16842
|
-
var
|
|
16843
|
-
var props, editor, bondIds, bond, newBond;
|
|
16975
|
+
var props, editor, bondIds, molecule, bonds, changeBondPromise;
|
|
16844
16976
|
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
16845
16977
|
while (1) {
|
|
16846
16978
|
switch (_context.prev = _context.next) {
|
|
@@ -16848,24 +16980,29 @@ var useBondEdit = function useBondEdit() {
|
|
|
16848
16980
|
props = _ref.props;
|
|
16849
16981
|
editor = getKetcherInstance().editor;
|
|
16850
16982
|
bondIds = (props === null || props === void 0 ? void 0 : props.bondIds) || [];
|
|
16851
|
-
|
|
16983
|
+
molecule = editor.render.ctab;
|
|
16852
16984
|
_context.prev = 4;
|
|
16853
|
-
|
|
16854
|
-
|
|
16855
|
-
|
|
16856
|
-
|
|
16857
|
-
|
|
16858
|
-
|
|
16985
|
+
bonds = mapBondIdsToBonds(bondIds, molecule);
|
|
16986
|
+
_context.next = 8;
|
|
16987
|
+
return editor.event.bondEdit.dispatch(bonds);
|
|
16988
|
+
case 8:
|
|
16989
|
+
changeBondPromise = _context.sent;
|
|
16990
|
+
updateSelectedBonds({
|
|
16991
|
+
bonds: bondIds,
|
|
16992
|
+
changeBondPromise: changeBondPromise,
|
|
16993
|
+
editor: editor
|
|
16994
|
+
});
|
|
16995
|
+
_context.next = 15;
|
|
16859
16996
|
break;
|
|
16860
|
-
case
|
|
16861
|
-
_context.prev =
|
|
16997
|
+
case 12:
|
|
16998
|
+
_context.prev = 12;
|
|
16862
16999
|
_context.t0 = _context["catch"](4);
|
|
16863
|
-
case
|
|
17000
|
+
case 15:
|
|
16864
17001
|
case "end":
|
|
16865
17002
|
return _context.stop();
|
|
16866
17003
|
}
|
|
16867
17004
|
}
|
|
16868
|
-
}, _callee, null, [[4,
|
|
17005
|
+
}, _callee, null, [[4, 12]]);
|
|
16869
17006
|
}));
|
|
16870
17007
|
return function (_x) {
|
|
16871
17008
|
return _ref2.apply(this, arguments);
|
|
@@ -17393,7 +17530,7 @@ var StructRender = function (_Component) {
|
|
|
17393
17530
|
return StructRender;
|
|
17394
17531
|
}(React.Component);
|
|
17395
17532
|
|
|
17396
|
-
var classes$
|
|
17533
|
+
var classes$D = {"infoPanel":"InfoPanel-module_infoPanel__irvZL"};
|
|
17397
17534
|
|
|
17398
17535
|
var X_COORD_INDEX = 0;
|
|
17399
17536
|
var Y_COORD_INDEX = 1;
|
|
@@ -17498,7 +17635,7 @@ var SGroupDataRender = function SGroupDataRender(props) {
|
|
|
17498
17635
|
left: panelCoordinate.x + 'px',
|
|
17499
17636
|
top: panelCoordinate.y + 'px'
|
|
17500
17637
|
},
|
|
17501
|
-
className: clsx__default["default"](classes$
|
|
17638
|
+
className: clsx__default["default"](classes$D.infoPanel, className),
|
|
17502
17639
|
children: sGroupData
|
|
17503
17640
|
}) : null;
|
|
17504
17641
|
};
|
|
@@ -17574,11 +17711,9 @@ var InfoPanel = function InfoPanel(props) {
|
|
|
17574
17711
|
var childRef = React.useRef(null);
|
|
17575
17712
|
var groupName = sGroup === null || sGroup === void 0 ? void 0 : (_sGroup$data = sGroup.data) === null || _sGroup$data === void 0 ? void 0 : _sGroup$data.name;
|
|
17576
17713
|
React.useEffect(function () {
|
|
17577
|
-
|
|
17578
|
-
|
|
17579
|
-
|
|
17580
|
-
var _sGroup$data3, _sGroup$data4;
|
|
17581
|
-
setSGroupData("".concat((_sGroup$data3 = sGroup.data) === null || _sGroup$data3 === void 0 ? void 0 : _sGroup$data3.fieldName, "=").concat((_sGroup$data4 = sGroup.data) === null || _sGroup$data4 === void 0 ? void 0 : _sGroup$data4.fieldValue));
|
|
17714
|
+
if (!groupStruct && (sGroup === null || sGroup === void 0 ? void 0 : sGroup.type) === 'DAT') {
|
|
17715
|
+
var _sGroup$data2, _sGroup$data3;
|
|
17716
|
+
setSGroupData("".concat((_sGroup$data2 = sGroup.data) === null || _sGroup$data2 === void 0 ? void 0 : _sGroup$data2.fieldName, "=").concat((_sGroup$data3 = sGroup.data) === null || _sGroup$data3 === void 0 ? void 0 : _sGroup$data3.fieldValue));
|
|
17582
17717
|
} else {
|
|
17583
17718
|
setSGroupData(null);
|
|
17584
17719
|
}
|
|
@@ -17602,7 +17737,7 @@ var InfoPanel = function InfoPanel(props) {
|
|
|
17602
17737
|
left: x + 'px',
|
|
17603
17738
|
top: y + 'px'
|
|
17604
17739
|
},
|
|
17605
|
-
className: clsx__default["default"](classes$
|
|
17740
|
+
className: clsx__default["default"](classes$D.infoPanel, className),
|
|
17606
17741
|
children: jsxRuntime.jsx(StructRender, {
|
|
17607
17742
|
struct: molecule,
|
|
17608
17743
|
id: groupName,
|
|
@@ -17719,15 +17854,15 @@ var StructEditor = function (_Component) {
|
|
|
17719
17854
|
} catch (_unused) {
|
|
17720
17855
|
el.innerHTML = msg.info;
|
|
17721
17856
|
}
|
|
17722
|
-
el.classList.add(classes$
|
|
17857
|
+
el.classList.add(classes$E.visible);
|
|
17723
17858
|
} else {
|
|
17724
|
-
el.classList.remove(classes$
|
|
17859
|
+
el.classList.remove(classes$E.visible);
|
|
17725
17860
|
}
|
|
17726
17861
|
});
|
|
17727
17862
|
this.editor.event.cursor.add(function (csr) {
|
|
17728
17863
|
switch (csr.status) {
|
|
17729
17864
|
case 'enable':
|
|
17730
|
-
_this2.editorRef.current.classList.add(classes$
|
|
17865
|
+
_this2.editorRef.current.classList.add(classes$E.enableCursor);
|
|
17731
17866
|
var _this2$editorRef$curr = _this2.editorRef.current.getBoundingClientRect(),
|
|
17732
17867
|
left = _this2$editorRef$curr.left,
|
|
17733
17868
|
top = _this2$editorRef$curr.top,
|
|
@@ -17744,7 +17879,7 @@ var StructEditor = function (_Component) {
|
|
|
17744
17879
|
}
|
|
17745
17880
|
break;
|
|
17746
17881
|
case 'move':
|
|
17747
|
-
_this2.editorRef.current.classList.add(classes$
|
|
17882
|
+
_this2.editorRef.current.classList.add(classes$E.enableCursor);
|
|
17748
17883
|
_this2.setState({
|
|
17749
17884
|
enableCursor: true,
|
|
17750
17885
|
clientX: clientX,
|
|
@@ -17752,19 +17887,19 @@ var StructEditor = function (_Component) {
|
|
|
17752
17887
|
});
|
|
17753
17888
|
break;
|
|
17754
17889
|
case 'disable':
|
|
17755
|
-
_this2.editorRef.current.classList.remove(classes$
|
|
17890
|
+
_this2.editorRef.current.classList.remove(classes$E.enableCursor);
|
|
17756
17891
|
_this2.setState({
|
|
17757
17892
|
enableCursor: false
|
|
17758
17893
|
});
|
|
17759
17894
|
break;
|
|
17760
17895
|
case 'leave':
|
|
17761
|
-
_this2.editorRef.current.classList.remove(classes$
|
|
17896
|
+
_this2.editorRef.current.classList.remove(classes$E.enableCursor);
|
|
17762
17897
|
_this2.setState({
|
|
17763
17898
|
enableCursor: false
|
|
17764
17899
|
});
|
|
17765
17900
|
break;
|
|
17766
17901
|
case 'mouseover':
|
|
17767
|
-
_this2.editorRef.current.classList.add(classes$
|
|
17902
|
+
_this2.editorRef.current.classList.add(classes$E.enableCursor);
|
|
17768
17903
|
_this2.setState({
|
|
17769
17904
|
enableCursor: true
|
|
17770
17905
|
});
|
|
@@ -17817,22 +17952,22 @@ var StructEditor = function (_Component) {
|
|
|
17817
17952
|
_this$state$clientY = _this$state.clientY,
|
|
17818
17953
|
clientY = _this$state$clientY === void 0 ? 0 : _this$state$clientY;
|
|
17819
17954
|
return jsxRuntime.jsxs(Tag, _objectSpread$B(_objectSpread$B({
|
|
17820
|
-
className: clsx__default["default"](classes$
|
|
17955
|
+
className: clsx__default["default"](classes$E.canvas, className)
|
|
17821
17956
|
}, props), {}, {
|
|
17822
17957
|
children: [jsxRuntime.jsx(ContextMenuTrigger, {
|
|
17823
17958
|
children: jsxRuntime.jsx("div", {
|
|
17824
17959
|
ref: this.editorRef,
|
|
17825
|
-
className: clsx__default["default"](classes$
|
|
17960
|
+
className: clsx__default["default"](classes$E.intermediateCanvas)
|
|
17826
17961
|
})
|
|
17827
17962
|
}), jsxRuntime.jsx(Cursor, {
|
|
17828
17963
|
Icon: SvgHand,
|
|
17829
17964
|
PressedIcon: SvgCompressedHand,
|
|
17830
17965
|
enableHandTool: this.state.enableCursor
|
|
17831
17966
|
}), jsxRuntime.jsx("div", {
|
|
17832
|
-
className: classes$
|
|
17967
|
+
className: classes$E.measureLog,
|
|
17833
17968
|
ref: this.logRef
|
|
17834
17969
|
}), indigoVerification && jsxRuntime.jsx("div", {
|
|
17835
|
-
className: "".concat(classes$
|
|
17970
|
+
className: "".concat(classes$E.spinnerOverlay, " loading-spinner"),
|
|
17836
17971
|
children: jsxRuntime.jsx(LoadingCircles, {})
|
|
17837
17972
|
}), jsxRuntime.jsx(InfoPanel$1, {
|
|
17838
17973
|
clientX: clientX,
|
|
@@ -17897,35 +18032,35 @@ function SvgLogo(props) {
|
|
|
17897
18032
|
})))));
|
|
17898
18033
|
}
|
|
17899
18034
|
|
|
17900
|
-
var classes$
|
|
18035
|
+
var classes$C = {"button-common-styles":"About-module_button-common-styles__XmSbT","scrollbar":"About-module_scrollbar__4-AeI","dialog_body":"About-module_dialog_body__ebQu-","about":"About-module_about__ZVesh","body":"About-module_body__8VOc3","versionName":"About-module_versionName__1gqJr","firstline":"About-module_firstline__h5XMW","links":"About-module_links__sMpyx","infoLinks":"About-module_infoLinks__4-Tot","indigoVersion":"About-module_indigoVersion__WKFlu","headerContent":"About-module_headerContent__YclOx","title":"About-module_title__k-6Zg","indigoFirstLine":"About-module_indigoFirstLine__-86rb","okButton":"About-module_okButton__FMcEk"};
|
|
17901
18036
|
|
|
17902
18037
|
function AboutDialog(props) {
|
|
17903
18038
|
var indigoInfo = props.indigoVersion && props.indigoVersion.split('.r');
|
|
17904
18039
|
return jsxRuntime.jsxs(Dialog, {
|
|
17905
|
-
className: "".concat(classes$
|
|
18040
|
+
className: "".concat(classes$C.about, " ").concat(classes$C.dialog_body),
|
|
17906
18041
|
params: props,
|
|
17907
18042
|
buttons: [jsxRuntime.jsx("button", {
|
|
17908
18043
|
onClick: props.onOk,
|
|
17909
|
-
className: classes$
|
|
18044
|
+
className: classes$C.okButton,
|
|
17910
18045
|
children: "Ok"
|
|
17911
18046
|
}, "ok")],
|
|
17912
18047
|
children: [jsxRuntime.jsx("div", {
|
|
17913
|
-
className: classes$
|
|
18048
|
+
className: classes$C.headerContent,
|
|
17914
18049
|
children: jsxRuntime.jsxs("a", {
|
|
17915
18050
|
href: props.overviewLink,
|
|
17916
18051
|
target: "_blank",
|
|
17917
18052
|
rel: "noopener noreferrer",
|
|
17918
18053
|
children: [jsxRuntime.jsx(SvgLogo, {}), jsxRuntime.jsx("span", {
|
|
17919
|
-
className: classes$
|
|
18054
|
+
className: classes$C.title,
|
|
17920
18055
|
children: "Ketcher"
|
|
17921
18056
|
})]
|
|
17922
18057
|
})
|
|
17923
18058
|
}), jsxRuntime.jsx("div", {
|
|
17924
|
-
className: classes$
|
|
18059
|
+
className: classes$C.body,
|
|
17925
18060
|
children: jsxRuntime.jsx("div", {
|
|
17926
|
-
className: classes$
|
|
18061
|
+
className: classes$C.verionsInfo,
|
|
17927
18062
|
children: jsxRuntime.jsxs("dl", {
|
|
17928
|
-
className: classes$
|
|
18063
|
+
className: classes$C.ketcherVersionInfo,
|
|
17929
18064
|
children: [jsxRuntime.jsx("dt", {
|
|
17930
18065
|
children: jsxRuntime.jsxs("a", {
|
|
17931
18066
|
href: props.overviewLink,
|
|
@@ -17938,7 +18073,7 @@ function AboutDialog(props) {
|
|
|
17938
18073
|
children: props.date
|
|
17939
18074
|
})]
|
|
17940
18075
|
}), jsxRuntime.jsxs("div", {
|
|
17941
|
-
className: classes$
|
|
18076
|
+
className: classes$C.infoLinks,
|
|
17942
18077
|
children: [jsxRuntime.jsx("dt", {
|
|
17943
18078
|
children: jsxRuntime.jsx("a", {
|
|
17944
18079
|
href: props.feedbackLink,
|
|
@@ -17955,7 +18090,7 @@ function AboutDialog(props) {
|
|
|
17955
18090
|
})
|
|
17956
18091
|
})]
|
|
17957
18092
|
}), jsxRuntime.jsx("br", {}), jsxRuntime.jsxs("div", {
|
|
17958
|
-
className: classes$
|
|
18093
|
+
className: classes$C.indigoVersion,
|
|
17959
18094
|
children: [jsxRuntime.jsxs("a", {
|
|
17960
18095
|
href: "http://lifescience.opensource.epam.com/indigo/",
|
|
17961
18096
|
target: "_blank",
|
|
@@ -18033,7 +18168,7 @@ var ErrorPopover = function ErrorPopover(_ref) {
|
|
|
18033
18168
|
});
|
|
18034
18169
|
};
|
|
18035
18170
|
|
|
18036
|
-
var classes$
|
|
18171
|
+
var classes$B = {"fieldSetLabel":"input-module_fieldSetLabel__DxKa5","input":"input-module_input__WzHgL","checkbox":"input-module_checkbox__CowSc","radioButton":"input-module_radioButton__2eHO0","slider":"input-module_slider__-Xsc0","select":"input-module_select__GhgBs","genericInput":"input-module_genericInput__XdZ2R"};
|
|
18037
18172
|
|
|
18038
18173
|
var _excluded$o = ["schema", "value", "onChange", "innerRef", "type", "isFocused"],
|
|
18039
18174
|
_excluded2$4 = ["schema", "value", "onChange"],
|
|
@@ -18073,12 +18208,12 @@ function GenericInput(_ref) {
|
|
|
18073
18208
|
value: value !== null && value !== void 0 ? value : '',
|
|
18074
18209
|
onInput: onChange,
|
|
18075
18210
|
onChange: onChange,
|
|
18076
|
-
className: clsx__default["default"](classes$
|
|
18211
|
+
className: clsx__default["default"](classes$B.input, classes$B.genericInput),
|
|
18077
18212
|
ref: inputRef
|
|
18078
18213
|
}, props)), type === 'checkbox' && jsxRuntime.jsx("span", {
|
|
18079
|
-
className: classes$
|
|
18214
|
+
className: classes$B.checkbox
|
|
18080
18215
|
}), type === 'radio' && jsxRuntime.jsx("span", {
|
|
18081
|
-
className: classes$
|
|
18216
|
+
className: classes$B.radioButton
|
|
18082
18217
|
})]
|
|
18083
18218
|
});
|
|
18084
18219
|
}
|
|
@@ -18109,16 +18244,16 @@ function CheckBox(_ref3) {
|
|
|
18109
18244
|
innerRef = _ref3.innerRef,
|
|
18110
18245
|
rest = _objectWithoutProperties__default["default"](_ref3, _excluded3$1);
|
|
18111
18246
|
return jsxRuntime.jsxs("div", {
|
|
18112
|
-
className: classes$
|
|
18247
|
+
className: classes$B.fieldSetItem,
|
|
18113
18248
|
children: [jsxRuntime.jsx("input", _objectSpread$A({
|
|
18114
18249
|
type: "checkbox",
|
|
18115
18250
|
checked: Boolean(value),
|
|
18116
18251
|
onClick: onChange,
|
|
18117
18252
|
onChange: onChange,
|
|
18118
|
-
className: classes$
|
|
18253
|
+
className: classes$B.input,
|
|
18119
18254
|
ref: innerRef
|
|
18120
18255
|
}, rest)), jsxRuntime.jsx("span", {
|
|
18121
|
-
className: classes$
|
|
18256
|
+
className: classes$B.checkbox
|
|
18122
18257
|
})]
|
|
18123
18258
|
});
|
|
18124
18259
|
}
|
|
@@ -18139,7 +18274,7 @@ function Select$1(_ref4) {
|
|
|
18139
18274
|
value: value,
|
|
18140
18275
|
name: name,
|
|
18141
18276
|
multiple: multiple,
|
|
18142
|
-
className: clsx__default["default"](classes$
|
|
18277
|
+
className: clsx__default["default"](classes$B.select, className),
|
|
18143
18278
|
children: enumSchema(schema, function (title, val) {
|
|
18144
18279
|
return jsxRuntime.jsx("option", {
|
|
18145
18280
|
value: val,
|
|
@@ -18169,18 +18304,18 @@ function FieldSet(_ref5) {
|
|
|
18169
18304
|
onClick: onSelect,
|
|
18170
18305
|
children: enumSchema(schema, function (title, val) {
|
|
18171
18306
|
return jsxRuntime.jsx("li", {
|
|
18172
|
-
className: classes$
|
|
18307
|
+
className: classes$B.fieldSetItem,
|
|
18173
18308
|
children: jsxRuntime.jsxs("label", {
|
|
18174
|
-
className: classes$
|
|
18309
|
+
className: classes$B.fieldSetLabel,
|
|
18175
18310
|
children: [jsxRuntime.jsx("input", _objectSpread$A({
|
|
18176
18311
|
type: type,
|
|
18177
18312
|
defaultChecked: type === 'radio' ? selected(val, checked) : selected(val, value),
|
|
18178
18313
|
value: _typeof__default["default"](val) !== 'object' && val,
|
|
18179
|
-
className: classes$
|
|
18314
|
+
className: classes$B.input
|
|
18180
18315
|
}, rest)), type === 'checkbox' && jsxRuntime.jsx("span", {
|
|
18181
|
-
className: classes$
|
|
18316
|
+
className: classes$B.checkbox
|
|
18182
18317
|
}), type === 'radio' && jsxRuntime.jsx("span", {
|
|
18183
|
-
className: classes$
|
|
18318
|
+
className: classes$B.radioButton
|
|
18184
18319
|
}), title]
|
|
18185
18320
|
})
|
|
18186
18321
|
}, title);
|
|
@@ -18210,7 +18345,7 @@ function Slider(_ref6) {
|
|
|
18210
18345
|
name = _ref6.name,
|
|
18211
18346
|
rest = _objectWithoutProperties__default["default"](_ref6, _excluded5$1);
|
|
18212
18347
|
return jsxRuntime.jsxs("div", {
|
|
18213
|
-
className: classes$
|
|
18348
|
+
className: classes$B.slider,
|
|
18214
18349
|
children: [jsxRuntime.jsx("input", _objectSpread$A({
|
|
18215
18350
|
type: "checkbox",
|
|
18216
18351
|
checked: value,
|
|
@@ -18397,7 +18532,7 @@ var Select = function Select(_ref2) {
|
|
|
18397
18532
|
});
|
|
18398
18533
|
};
|
|
18399
18534
|
|
|
18400
|
-
var classes$
|
|
18535
|
+
var classes$A = {"button-common-styles":"form-module_button-common-styles__BvKSn","scrollbar":"form-module_scrollbar__MgLtc","dataError":"form-module_dataError__IXK1h","inputWrapper":"form-module_inputWrapper__sIDHH"};
|
|
18401
18536
|
|
|
18402
18537
|
var _excluded$n = ["schema", "result", "customValid"],
|
|
18403
18538
|
_excluded2$3 = ["labelPos", "title", "children"],
|
|
@@ -18556,13 +18691,13 @@ function Field(props) {
|
|
|
18556
18691
|
}, fieldOpts), rest));
|
|
18557
18692
|
if (labelPos === false) return formField;
|
|
18558
18693
|
return jsxRuntime.jsxs(Label, {
|
|
18559
|
-
className: clsx__default["default"](_defineProperty__default["default"]({}, classes$
|
|
18694
|
+
className: clsx__default["default"](_defineProperty__default["default"]({}, classes$A.dataError, dataError), className),
|
|
18560
18695
|
error: dataError,
|
|
18561
18696
|
title: rest.title || desc.title,
|
|
18562
18697
|
labelPos: labelPos,
|
|
18563
18698
|
tooltip: rest === null || rest === void 0 ? void 0 : rest.tooltip,
|
|
18564
18699
|
children: [jsxRuntime.jsx("span", {
|
|
18565
|
-
className: classes$
|
|
18700
|
+
className: classes$A.inputWrapper,
|
|
18566
18701
|
onMouseEnter: handlePopoverOpen,
|
|
18567
18702
|
onMouseLeave: handlePopoverClose,
|
|
18568
18703
|
children: formField
|
|
@@ -18669,7 +18804,7 @@ function getErrorsObj(errors) {
|
|
|
18669
18804
|
return errs;
|
|
18670
18805
|
}
|
|
18671
18806
|
|
|
18672
|
-
var classes$
|
|
18807
|
+
var classes$z = {"colorPickerInput":"ColorPicker-module_colorPickerInput__voi2r","selectedInput":"ColorPicker-module_selectedInput__Ykcjd","colorPickerWrap":"ColorPicker-module_colorPickerWrap__IAQVo","withPalette":"ColorPicker-module_withPalette__gTwNu","colorPicker":"ColorPicker-module_colorPicker__Uz3PM","colorPickerBtn":"ColorPicker-module_colorPickerBtn__nr6ph","colorPickerPreview":"ColorPicker-module_colorPickerPreview__-Rf-i","colorPickerOverlay":"ColorPicker-module_colorPickerOverlay__WzC-w","colorContainer":"ColorPicker-module_colorContainer__ib5up","hex":"ColorPicker-module_hex__mE9my","presetColors":"ColorPicker-module_presetColors__J-ysq","chooseColor":"ColorPicker-module_chooseColor__fdzt8","clicked":"ColorPicker-module_clicked__8BNoN","expandIcon":"ColorPicker-module_expandIcon__oH4ka","turnedIcon":"ColorPicker-module_turnedIcon__-zaq-","colorPickerWrapper":"ColorPicker-module_colorPickerWrapper__GJm87"};
|
|
18673
18808
|
|
|
18674
18809
|
var presetColors = ['#FF4545', '#FFAD31', '#68D442', '#3ACACC', '#4434FF', '#9C9C9C', '#000000'];
|
|
18675
18810
|
var ColorPicker = function ColorPicker(props) {
|
|
@@ -18718,32 +18853,32 @@ var ColorPicker = function ColorPicker(props) {
|
|
|
18718
18853
|
}
|
|
18719
18854
|
};
|
|
18720
18855
|
return jsxRuntime.jsxs("div", {
|
|
18721
|
-
className: classes$
|
|
18856
|
+
className: classes$z.colorPickerWrapper,
|
|
18722
18857
|
"data-testid": isOpen ? 'color-picker-field-open' : 'color-picker-field',
|
|
18723
18858
|
onClick: function onClick(e) {
|
|
18724
18859
|
return e.preventDefault();
|
|
18725
18860
|
},
|
|
18726
18861
|
children: [jsxRuntime.jsxs("div", {
|
|
18727
|
-
className: clsx__default["default"]((_clsx = {}, _defineProperty__default["default"](_clsx, classes$
|
|
18862
|
+
className: clsx__default["default"]((_clsx = {}, _defineProperty__default["default"](_clsx, classes$z.colorPickerInput, true), _defineProperty__default["default"](_clsx, classes$z.selectedInput, isOpen), _clsx)),
|
|
18728
18863
|
onClick: handleClick,
|
|
18729
18864
|
children: [jsxRuntime.jsx("div", {
|
|
18730
|
-
className: classes$
|
|
18865
|
+
className: classes$z.colorPickerPreview,
|
|
18731
18866
|
"data-testid": "color-picker-preview",
|
|
18732
18867
|
style: {
|
|
18733
18868
|
backgroundColor: value
|
|
18734
18869
|
}
|
|
18735
18870
|
}), jsxRuntime.jsx(Icon, {
|
|
18736
|
-
className: clsx__default["default"]((_clsx2 = {}, _defineProperty__default["default"](_clsx2, classes$
|
|
18871
|
+
className: clsx__default["default"]((_clsx2 = {}, _defineProperty__default["default"](_clsx2, classes$z.expandIcon, true), _defineProperty__default["default"](_clsx2, classes$z.turnedIcon, !isOpen), _clsx2)),
|
|
18737
18872
|
name: "chevron"
|
|
18738
18873
|
})]
|
|
18739
18874
|
}), isOpen && jsxRuntime.jsxs("div", {
|
|
18740
|
-
className: clsx__default["default"](classes$
|
|
18875
|
+
className: clsx__default["default"](classes$z.colorPickerWrap, isPaletteOpen && classes$z.withPalette),
|
|
18741
18876
|
onBlur: handleBlur,
|
|
18742
18877
|
"data-testid": "color-picker-preset",
|
|
18743
18878
|
children: [jsxRuntime.jsxs("div", {
|
|
18744
|
-
className: classes$
|
|
18879
|
+
className: classes$z.presetColors,
|
|
18745
18880
|
children: [jsxRuntime.jsx("button", {
|
|
18746
|
-
className: clsx__default["default"](classes$
|
|
18881
|
+
className: clsx__default["default"](classes$z.chooseColor, isPaletteOpen && classes$z.clicked),
|
|
18747
18882
|
onClick: handlePaletteOpen,
|
|
18748
18883
|
autoFocus: true,
|
|
18749
18884
|
"data-testid": "color-picker-btn"
|
|
@@ -18755,19 +18890,19 @@ var ColorPicker = function ColorPicker(props) {
|
|
|
18755
18890
|
style: {
|
|
18756
18891
|
backgroundColor: color
|
|
18757
18892
|
},
|
|
18758
|
-
className: classes$
|
|
18893
|
+
className: classes$z.presetColor
|
|
18759
18894
|
}, color);
|
|
18760
18895
|
})]
|
|
18761
18896
|
}), isPaletteOpen && jsxRuntime.jsxs("div", {
|
|
18762
|
-
className: classes$
|
|
18897
|
+
className: classes$z.colorPicker,
|
|
18763
18898
|
"data-testid": "color-palette",
|
|
18764
18899
|
children: [jsxRuntime.jsx(reactColorful.HexColorPicker, {
|
|
18765
18900
|
color: value,
|
|
18766
18901
|
onChange: handleChange
|
|
18767
18902
|
}), jsxRuntime.jsxs("div", {
|
|
18768
|
-
className: classes$
|
|
18903
|
+
className: classes$z.colorContainer,
|
|
18769
18904
|
children: [jsxRuntime.jsx("span", {
|
|
18770
|
-
className: classes$
|
|
18905
|
+
className: classes$z.hex,
|
|
18771
18906
|
children: "HEX"
|
|
18772
18907
|
}), jsxRuntime.jsx(reactColorful.HexColorInput, {
|
|
18773
18908
|
"data-testid": "color-picker-input",
|
|
@@ -18861,7 +18996,7 @@ function convertValue(value, measureFrom, measureTo) {
|
|
|
18861
18996
|
return measureTo === 'px' || measureTo === 'pt' ? (value * measureMap[measureFrom] / measureMap[measureTo]).toFixed() - 0 : (value * measureMap[measureFrom] / measureMap[measureTo]).toFixed(3) - 0;
|
|
18862
18997
|
}
|
|
18863
18998
|
|
|
18864
|
-
var classes$
|
|
18999
|
+
var classes$y = {"button-common-styles":"buttons-module_button-common-styles__qWDOz","scrollbar":"buttons-module_scrollbar__SpaVV","openButton":"buttons-module_openButton__wErm9"};
|
|
18865
19000
|
|
|
18866
19001
|
var _excluded$l = ["children", "type", "server", "className"];
|
|
18867
19002
|
function ownKeys$x(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -18915,7 +19050,7 @@ var OpenButton = function (_Component) {
|
|
|
18915
19050
|
onClick: function onClick() {
|
|
18916
19051
|
return _this2.btn.click();
|
|
18917
19052
|
},
|
|
18918
|
-
className: clsx__default["default"](classes$
|
|
19053
|
+
className: clsx__default["default"](classes$y.openButton, className)
|
|
18919
19054
|
}, props), {}, {
|
|
18920
19055
|
children: [jsxRuntime.jsx("input", {
|
|
18921
19056
|
onChange: function onChange(ev) {
|
|
@@ -19017,7 +19152,7 @@ var fileSaver = function fileSaver(server) {
|
|
|
19017
19152
|
});
|
|
19018
19153
|
};
|
|
19019
19154
|
|
|
19020
|
-
var classes$
|
|
19155
|
+
var classes$x = {"button-common-styles":"Accordion-module_button-common-styles__enTfZ","scrollbar":"Accordion-module_scrollbar__lJTa6","accordionWrapper":"Accordion-module_accordionWrapper__RKk00","expandIcon":"Accordion-module_expandIcon__ncUKv","turnedIcon":"Accordion-module_turnedIcon__v1sCA","accordionSummaryWrapper":"Accordion-module_accordionSummaryWrapper__roIRd","accordionSummary":"Accordion-module_accordionSummary__1Gq0d","accordionDetailsWrapper":"Accordion-module_accordionDetailsWrapper__fnSnc","hiddenAccordion":"Accordion-module_hiddenAccordion__WZFcJ","accordionDetails":"Accordion-module_accordionDetails__g2RM0","groupIcon":"Accordion-module_groupIcon__1g1lx","groupLabel":"Accordion-module_groupLabel__23y4U","changeMarker":"Accordion-module_changeMarker__UPtGx"};
|
|
19021
19156
|
|
|
19022
19157
|
var Accordion = function Accordion(_ref) {
|
|
19023
19158
|
var tabs = _ref.tabs,
|
|
@@ -19036,7 +19171,7 @@ var Accordion = function Accordion(_ref) {
|
|
|
19036
19171
|
};
|
|
19037
19172
|
};
|
|
19038
19173
|
return jsxRuntime.jsx("div", {
|
|
19039
|
-
className: clsx__default["default"](classes$
|
|
19174
|
+
className: clsx__default["default"](classes$x.accordionWrapper, className),
|
|
19040
19175
|
children: tabs.map(function (_ref2) {
|
|
19041
19176
|
var _clsx, _clsx2;
|
|
19042
19177
|
var label = _ref2.label,
|
|
@@ -19046,28 +19181,28 @@ var Accordion = function Accordion(_ref) {
|
|
|
19046
19181
|
return jsxRuntime.jsxs("div", {
|
|
19047
19182
|
children: [jsxRuntime.jsx("div", {
|
|
19048
19183
|
onClick: handleAccordionChange(label),
|
|
19049
|
-
className: classes$
|
|
19184
|
+
className: classes$x.accordionSummaryWrapper,
|
|
19050
19185
|
children: jsxRuntime.jsxs("div", {
|
|
19051
|
-
className: classes$
|
|
19186
|
+
className: classes$x.accordionSummary,
|
|
19052
19187
|
children: [jsxRuntime.jsx(Icon, {
|
|
19053
|
-
className: clsx__default["default"]((_clsx = {}, _defineProperty__default["default"](_clsx, classes$
|
|
19188
|
+
className: clsx__default["default"]((_clsx = {}, _defineProperty__default["default"](_clsx, classes$x.expandIcon, true), _defineProperty__default["default"](_clsx, classes$x.turnedIcon, !shouldGroupBeRended), _clsx)),
|
|
19054
19189
|
name: "chevron"
|
|
19055
19190
|
}), jsxRuntime.jsxs("div", {
|
|
19056
|
-
className: classes$
|
|
19191
|
+
className: classes$x.groupLabel,
|
|
19057
19192
|
children: [jsxRuntime.jsx(Icon, {
|
|
19058
19193
|
name: "elements-group",
|
|
19059
|
-
className: classes$
|
|
19194
|
+
className: classes$x.groupIcon
|
|
19060
19195
|
}), jsxRuntime.jsx("span", {
|
|
19061
19196
|
children: label
|
|
19062
19197
|
})]
|
|
19063
19198
|
}), changedGroups.has(label) && jsxRuntime.jsx("span", {
|
|
19064
|
-
className: classes$
|
|
19199
|
+
className: classes$x.changeMarker
|
|
19065
19200
|
})]
|
|
19066
19201
|
})
|
|
19067
19202
|
}), jsxRuntime.jsx("div", {
|
|
19068
|
-
className: clsx__default["default"]((_clsx2 = {}, _defineProperty__default["default"](_clsx2, classes$
|
|
19203
|
+
className: clsx__default["default"]((_clsx2 = {}, _defineProperty__default["default"](_clsx2, classes$x.accordionDetailsWrapper, true), _defineProperty__default["default"](_clsx2, classes$x.hiddenAccordion, !shouldGroupBeRended), _clsx2)),
|
|
19069
19204
|
children: jsxRuntime.jsx("div", {
|
|
19070
|
-
className: classes$
|
|
19205
|
+
className: classes$x.accordionDetails,
|
|
19071
19206
|
children: content
|
|
19072
19207
|
})
|
|
19073
19208
|
})]
|
|
@@ -19125,7 +19260,7 @@ function SystemFonts(props) {
|
|
|
19125
19260
|
});
|
|
19126
19261
|
}
|
|
19127
19262
|
|
|
19128
|
-
var classes$
|
|
19263
|
+
var classes$w = {"headerContent":"Settings-module_headerContent__wBYFf","title":"Settings-module_title__a6mod","button":"Settings-module_button__VZ2w7","accordion":"Settings-module_accordion__1uSYy","settings":"Settings-module_settings__Z5btc"};
|
|
19129
19264
|
|
|
19130
19265
|
var fieldGroups = {
|
|
19131
19266
|
resetToSelect: 'General',
|
|
@@ -19183,15 +19318,15 @@ var HeaderContent$1 = function HeaderContent(_ref) {
|
|
|
19183
19318
|
if (formState.result.init) return _.isEqual(defaultSettings, initState);else return _.isEqual(defaultSettings, formState.result);
|
|
19184
19319
|
};
|
|
19185
19320
|
return jsxRuntime.jsxs("div", {
|
|
19186
|
-
className: classes$
|
|
19321
|
+
className: classes$w.headerContent,
|
|
19187
19322
|
children: [jsxRuntime.jsx("span", {
|
|
19188
|
-
className: classes$
|
|
19323
|
+
className: classes$w.title,
|
|
19189
19324
|
children: " Settings"
|
|
19190
19325
|
}), jsxRuntime.jsx(OpenButton, {
|
|
19191
19326
|
title: "Open from File",
|
|
19192
19327
|
server: server,
|
|
19193
19328
|
onLoad: onOpenFile,
|
|
19194
|
-
className: classes$
|
|
19329
|
+
className: classes$w.button,
|
|
19195
19330
|
children: jsxRuntime.jsx(Icon, {
|
|
19196
19331
|
name: "open-1"
|
|
19197
19332
|
})
|
|
@@ -19199,14 +19334,14 @@ var HeaderContent$1 = function HeaderContent(_ref) {
|
|
|
19199
19334
|
title: "Save to File",
|
|
19200
19335
|
data: JSON.stringify(formState.result),
|
|
19201
19336
|
filename: "ketcher-settings",
|
|
19202
|
-
className: classes$
|
|
19337
|
+
className: classes$w.button,
|
|
19203
19338
|
children: jsxRuntime.jsx(Icon, {
|
|
19204
19339
|
name: "save-1"
|
|
19205
19340
|
})
|
|
19206
19341
|
}, "ketcher-settings"), jsxRuntime.jsx("button", {
|
|
19207
19342
|
title: "Reset",
|
|
19208
19343
|
onClick: onReset,
|
|
19209
|
-
className: classes$
|
|
19344
|
+
className: classes$w.button,
|
|
19210
19345
|
disabled: getIsResetDisabled(),
|
|
19211
19346
|
children: jsxRuntime.jsx(Icon, {
|
|
19212
19347
|
name: "reset"
|
|
@@ -19365,7 +19500,7 @@ var SettingsDialog = function SettingsDialog(props) {
|
|
|
19365
19500
|
label: '3D Viewer',
|
|
19366
19501
|
content:
|
|
19367
19502
|
jsxRuntime.jsxs("fieldset", {
|
|
19368
|
-
className: classes$
|
|
19503
|
+
className: classes$w.viewer,
|
|
19369
19504
|
children: [jsxRuntime.jsx(Field, {
|
|
19370
19505
|
name: "miewMode",
|
|
19371
19506
|
component: Select,
|
|
@@ -19398,7 +19533,7 @@ var SettingsDialog = function SettingsDialog(props) {
|
|
|
19398
19533
|
};
|
|
19399
19534
|
var tabs = [generalTab, stereoTab, atomsTab, bondsTab, serverTab, threeDViewerTab, debuggingTab];
|
|
19400
19535
|
return jsxRuntime.jsx(Dialog, {
|
|
19401
|
-
className: classes$
|
|
19536
|
+
className: classes$w.settings,
|
|
19402
19537
|
result: function result() {
|
|
19403
19538
|
return formState.result;
|
|
19404
19539
|
},
|
|
@@ -19425,7 +19560,7 @@ var SettingsDialog = function SettingsDialog(props) {
|
|
|
19425
19560
|
}, formState), {}, {
|
|
19426
19561
|
children: jsxRuntime.jsx(Accordion, {
|
|
19427
19562
|
tabs: tabs,
|
|
19428
|
-
className: classes$
|
|
19563
|
+
className: classes$w.accordion,
|
|
19429
19564
|
changedGroups: changedGroups
|
|
19430
19565
|
})
|
|
19431
19566
|
}))
|
|
@@ -19722,7 +19857,7 @@ function FrozenInput(_ref) {
|
|
|
19722
19857
|
});
|
|
19723
19858
|
}
|
|
19724
19859
|
|
|
19725
|
-
var classes$
|
|
19860
|
+
var classes$v = {"button-common-styles":"Analyse-module_button-common-styles__8No07","scrollbar":"Analyse-module_scrollbar__UAaIN","analyse":"Analyse-module_analyse__MR-Tu","inputWrapper":"Analyse-module_inputWrapper__uR995","contentWrapper":"Analyse-module_contentWrapper__B4WCi","selectWrapper":"Analyse-module_selectWrapper__xEkKL","select":"Analyse-module_select__c6hFt"};
|
|
19726
19861
|
|
|
19727
19862
|
var _excluded$i = ["values", "round", "loading", "onAnalyse", "onChangeRound"];
|
|
19728
19863
|
function _createSuper$5(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$5(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
|
|
@@ -19760,7 +19895,7 @@ var AnalyseDialog = function (_Component) {
|
|
|
19760
19895
|
props = _objectWithoutProperties__default["default"](_this$props, _excluded$i);
|
|
19761
19896
|
return jsxRuntime.jsx(Dialog, {
|
|
19762
19897
|
title: "Calculated Values",
|
|
19763
|
-
className: classes$
|
|
19898
|
+
className: classes$v.analyse,
|
|
19764
19899
|
withDivider: true,
|
|
19765
19900
|
needMargin: true,
|
|
19766
19901
|
valid: function valid() {
|
|
@@ -19793,9 +19928,9 @@ var AnalyseDialog = function (_Component) {
|
|
|
19793
19928
|
withSelector: false
|
|
19794
19929
|
}].map(function (item) {
|
|
19795
19930
|
return jsxRuntime.jsxs("li", {
|
|
19796
|
-
className: classes$
|
|
19931
|
+
className: classes$v.contentWrapper,
|
|
19797
19932
|
children: [jsxRuntime.jsxs("div", {
|
|
19798
|
-
className: classes$
|
|
19933
|
+
className: classes$v.inputWrapper,
|
|
19799
19934
|
children: [jsxRuntime.jsxs("label", {
|
|
19800
19935
|
children: [item.name, ":"]
|
|
19801
19936
|
}), item.key === 'gross' ? jsxRuntime.jsx(FormulaInput, {
|
|
@@ -19808,7 +19943,7 @@ var AnalyseDialog = function (_Component) {
|
|
|
19808
19943
|
value: values && !loading ? roundOff(values[item.key], round[item.round]) : 0
|
|
19809
19944
|
})]
|
|
19810
19945
|
}), item.withSelector ? jsxRuntime.jsxs("div", {
|
|
19811
|
-
className: classes$
|
|
19946
|
+
className: classes$v.selectWrapper,
|
|
19812
19947
|
children: [jsxRuntime.jsx("span", {
|
|
19813
19948
|
children: "Decimal places"
|
|
19814
19949
|
}), jsxRuntime.jsx(Select, {
|
|
@@ -19817,7 +19952,7 @@ var AnalyseDialog = function (_Component) {
|
|
|
19817
19952
|
onChange: function onChange(val) {
|
|
19818
19953
|
return onChangeRound(item.round, val);
|
|
19819
19954
|
},
|
|
19820
|
-
className: classes$
|
|
19955
|
+
className: classes$v.select
|
|
19821
19956
|
})]
|
|
19822
19957
|
}) : null]
|
|
19823
19958
|
}, item.key);
|
|
@@ -19852,7 +19987,7 @@ var mapDispatchToProps$9 = function mapDispatchToProps(dispatch) {
|
|
|
19852
19987
|
};
|
|
19853
19988
|
var Analyse = reactRedux.connect(mapStateToProps$c, mapDispatchToProps$9)(AnalyseDialog);
|
|
19854
19989
|
|
|
19855
|
-
var classes$
|
|
19990
|
+
var classes$u = {"button-common-styles":"Recognize-module_button-common-styles__B04E6","scrollbar":"Recognize-module_scrollbar__rohcP","recognize":"Recognize-module_recognize__66jG2","footerContent":"Recognize-module_footerContent__0MAC7","imagoVersion":"Recognize-module_imagoVersion__nBIj6","openButton":"Recognize-module_openButton__H-j5I","imagesContainer":"Recognize-module_imagesContainer__rXWWk","topBody":"Recognize-module_topBody__ZCCjN","output":"Recognize-module_output__WgRnP","picture":"Recognize-module_picture__x2Y7S","filename":"Recognize-module_filename__-1HIU","messageContainer":"Recognize-module_messageContainer__tMvyb","primaryButton":"Recognize-module_primaryButton__rzm03","secondaryButton":"Recognize-module_secondaryButton__H1Q28","struct":"Recognize-module_struct__W55TL"};
|
|
19856
19991
|
|
|
19857
19992
|
var DialogActionButton = function DialogActionButton(_ref) {
|
|
19858
19993
|
var clickHandler = _ref.clickHandler,
|
|
@@ -19884,11 +20019,11 @@ function FooterContent$3(_ref) {
|
|
|
19884
20019
|
openHandler = _ref.openHandler,
|
|
19885
20020
|
copyHandler = _ref.copyHandler;
|
|
19886
20021
|
return jsxRuntime.jsxs("div", {
|
|
19887
|
-
className: classes$
|
|
20022
|
+
className: classes$u.footerContent,
|
|
19888
20023
|
children: [jsxRuntime.jsxs(OpenButton, {
|
|
19889
20024
|
onLoad: onImage,
|
|
19890
20025
|
type: "image/*",
|
|
19891
|
-
className: classes$
|
|
20026
|
+
className: classes$u.openButton,
|
|
19892
20027
|
children: [jsxRuntime.jsx(Icon, {
|
|
19893
20028
|
name: "open"
|
|
19894
20029
|
}), jsxRuntime.jsx("span", {
|
|
@@ -19898,12 +20033,12 @@ function FooterContent$3(_ref) {
|
|
|
19898
20033
|
children: [jsxRuntime.jsx(DialogActionButton, {
|
|
19899
20034
|
disabled: !structStr,
|
|
19900
20035
|
clickHandler: openHandler,
|
|
19901
|
-
styles: classes$
|
|
20036
|
+
styles: classes$u.secondaryButton,
|
|
19902
20037
|
label: "Open as new Project"
|
|
19903
20038
|
}, "openButton"), jsxRuntime.jsx(DialogActionButton, {
|
|
19904
20039
|
disabled: !structStr,
|
|
19905
20040
|
clickHandler: copyHandler,
|
|
19906
|
-
styles: classes$
|
|
20041
|
+
styles: classes$u.primaryButton,
|
|
19907
20042
|
label: "Add to Canvas",
|
|
19908
20043
|
title: "Structure will be loaded as fragment and added to Clipboard"
|
|
19909
20044
|
}, "copyButton")]
|
|
@@ -19954,7 +20089,7 @@ function RecognizeDialog(prop) {
|
|
|
19954
20089
|
};
|
|
19955
20090
|
return jsxRuntime.jsxs(Dialog, {
|
|
19956
20091
|
title: "Import Structure from Image",
|
|
19957
|
-
className: classes$
|
|
20092
|
+
className: classes$u.recognize,
|
|
19958
20093
|
params: _objectSpread$u(_objectSpread$u({}, props), {}, {
|
|
19959
20094
|
onOk: onOk
|
|
19960
20095
|
}),
|
|
@@ -19971,9 +20106,9 @@ function RecognizeDialog(prop) {
|
|
|
19971
20106
|
}),
|
|
19972
20107
|
buttons: [],
|
|
19973
20108
|
children: [jsxRuntime.jsxs("div", {
|
|
19974
|
-
className: classes$
|
|
20109
|
+
className: classes$u.topBody,
|
|
19975
20110
|
children: [jsxRuntime.jsxs("label", {
|
|
19976
|
-
className: classes$
|
|
20111
|
+
className: classes$u.imagoVersion,
|
|
19977
20112
|
children: ["Imago version", jsxRuntime.jsx(Input$1, {
|
|
19978
20113
|
schema: {
|
|
19979
20114
|
"enum": imagoVersions,
|
|
@@ -19990,9 +20125,9 @@ function RecognizeDialog(prop) {
|
|
|
19990
20125
|
children: "Recognized structure preview"
|
|
19991
20126
|
})]
|
|
19992
20127
|
}), jsxRuntime.jsxs("div", {
|
|
19993
|
-
className: classes$
|
|
20128
|
+
className: classes$u.imagesContainer,
|
|
19994
20129
|
children: [jsxRuntime.jsxs("div", {
|
|
19995
|
-
className: classes$
|
|
20130
|
+
className: classes$u.picture,
|
|
19996
20131
|
children: [file && isImage(file) && canPreviewImage && jsxRuntime.jsx("img", {
|
|
19997
20132
|
alt: "",
|
|
19998
20133
|
id: "pic",
|
|
@@ -20001,27 +20136,27 @@ function RecognizeDialog(prop) {
|
|
|
20001
20136
|
setCanPreviewImage(false);
|
|
20002
20137
|
}
|
|
20003
20138
|
}), jsxRuntime.jsxs("span", {
|
|
20004
|
-
className: classes$
|
|
20139
|
+
className: classes$u.filename,
|
|
20005
20140
|
children: [" ", file ? file.name : null, " "]
|
|
20006
20141
|
}), file && isImage(file) && !canPreviewImage && jsxRuntime.jsx("div", {
|
|
20007
|
-
className: classes$
|
|
20142
|
+
className: classes$u.messageContainer,
|
|
20008
20143
|
children: jsxRuntime.jsxs("p", {
|
|
20009
20144
|
children: ["Preview of '", file.type, "' MIME type is not supported by current browser"]
|
|
20010
20145
|
})
|
|
20011
20146
|
}), (!file || !isImage(file) && clearFile()) && jsxRuntime.jsx("div", {
|
|
20012
|
-
className: classes$
|
|
20147
|
+
className: classes$u.messageContainer,
|
|
20013
20148
|
children: jsxRuntime.jsx("p", {
|
|
20014
20149
|
children: "Please choose image"
|
|
20015
20150
|
})
|
|
20016
20151
|
})]
|
|
20017
20152
|
}), jsxRuntime.jsx("div", {
|
|
20018
|
-
className: classes$
|
|
20153
|
+
className: classes$u.output,
|
|
20019
20154
|
children: structStr && (
|
|
20020
20155
|
structStr instanceof Promise || typeof structStr !== 'string' ? jsxRuntime.jsx("div", {
|
|
20021
|
-
className: classes$
|
|
20156
|
+
className: classes$u.messageContainer,
|
|
20022
20157
|
children: jsxRuntime.jsx(LoadingCircles, {})
|
|
20023
20158
|
}) : jsxRuntime.jsx(StructRender, {
|
|
20024
|
-
className: classes$
|
|
20159
|
+
className: classes$u.struct,
|
|
20025
20160
|
struct: structStr
|
|
20026
20161
|
}))
|
|
20027
20162
|
})]
|
|
@@ -20067,7 +20202,7 @@ var mapDispatchToProps$8 = function mapDispatchToProps(dispatch) {
|
|
|
20067
20202
|
};
|
|
20068
20203
|
var Recognize = reactRedux.connect(mapStateToProps$b, mapDispatchToProps$8)(RecognizeDialog);
|
|
20069
20204
|
|
|
20070
|
-
var classes$
|
|
20205
|
+
var classes$t = {"button-common-styles":"Miew-module_button-common-styles__8FE-p","scrollbar":"Miew-module_scrollbar__ZMWH-","warning":"Miew-module_warning__IDl5F","applyButton":"Miew-module_applyButton__ZDE-i","miewDialog":"Miew-module_miewDialog__gHvYc","miewContainer":"Miew-module_miewContainer__2SNw3","miewDarkTheme":"Miew-module_miewDarkTheme__kMFzc"};
|
|
20071
20206
|
|
|
20072
20207
|
var _excluded$g = ["miewOpts", "server", "struct", "onExportCML", "miewTheme"];
|
|
20073
20208
|
var BACKGROUND_COLOR = {
|
|
@@ -20125,7 +20260,7 @@ function createMiewOptions(userOpts) {
|
|
|
20125
20260
|
var CHANGING_WARNING = 'Stereocenters can be changed after the strong 3D rotation';
|
|
20126
20261
|
var FooterContent$2 = function FooterContent() {
|
|
20127
20262
|
return jsxRuntime.jsx("div", {
|
|
20128
|
-
className: classes$
|
|
20263
|
+
className: classes$t.warning,
|
|
20129
20264
|
children: CHANGING_WARNING
|
|
20130
20265
|
});
|
|
20131
20266
|
};
|
|
@@ -20167,14 +20302,14 @@ var MiewDialog = function MiewDialog(_ref) {
|
|
|
20167
20302
|
params: prop,
|
|
20168
20303
|
buttons: ['Cancel', jsxRuntime.jsx("button", {
|
|
20169
20304
|
onClick: exportCML,
|
|
20170
|
-
className: classes$
|
|
20305
|
+
className: classes$t.applyButton,
|
|
20171
20306
|
children: "Apply"
|
|
20172
20307
|
}, "apply")],
|
|
20173
20308
|
footerContent: jsxRuntime.jsx(FooterContent$2, {}),
|
|
20174
|
-
className: classes$
|
|
20309
|
+
className: classes$t.miewDialog,
|
|
20175
20310
|
children: jsxRuntime.jsx("div", {
|
|
20176
20311
|
children: jsxRuntime.jsx("div", {
|
|
20177
|
-
className: "".concat(classes$
|
|
20312
|
+
className: "".concat(classes$t.miewContainer, " ").concat(miewTheme === 'dark' ? classes$t.miewDarkTheme : ''),
|
|
20178
20313
|
children: jsxRuntime.jsx(Viewer__default["default"], {
|
|
20179
20314
|
onInit: onMiewInit
|
|
20180
20315
|
})
|
|
@@ -20214,7 +20349,7 @@ var ElementNumber = function ElementNumber(props) {
|
|
|
20214
20349
|
});
|
|
20215
20350
|
};
|
|
20216
20351
|
|
|
20217
|
-
var classes$
|
|
20352
|
+
var classes$s = {"button-common-styles":"Atom-module_button-common-styles__ipWaI","scrollbar":"Atom-module_scrollbar__z5cVx","atomProps":"Atom-module_atomProps__pqBjY","accordionWrapper":"Atom-module_accordionWrapper__MSuU7","expandIcon":"Atom-module_expandIcon__mPszC","turnedIcon":"Atom-module_turnedIcon__0Kzwy","accordionSummaryWrapper":"Atom-module_accordionSummaryWrapper__MGqsq","accordionSummary":"Atom-module_accordionSummary__HMKzl","accordionDetailsWrapper":"Atom-module_accordionDetailsWrapper__p6EI7","hiddenAccordion":"Atom-module_hiddenAccordion__pDNdM","accordionDetails":"Atom-module_accordionDetails__-B3jK","checkbox":"Atom-module_checkbox__Vup40","reactionFlags":"Atom-module_reactionFlags__gdNb1","querySpecific":"Atom-module_querySpecific__7XxMr"};
|
|
20218
20353
|
|
|
20219
20354
|
var _excluded$f = ["formState", "stereoParity", "isMultipleAtoms"];
|
|
20220
20355
|
function ownKeys$t(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -20274,7 +20409,7 @@ var Atom = function Atom(props) {
|
|
|
20274
20409
|
}, {
|
|
20275
20410
|
groupName: 'Query specific',
|
|
20276
20411
|
component: jsxRuntime.jsxs("div", {
|
|
20277
|
-
className: classes$
|
|
20412
|
+
className: classes$s.querySpecific,
|
|
20278
20413
|
children: [jsxRuntime.jsx(Field, {
|
|
20279
20414
|
name: "ringBondCount",
|
|
20280
20415
|
component: Select,
|
|
@@ -20290,13 +20425,13 @@ var Atom = function Atom(props) {
|
|
|
20290
20425
|
}), jsxRuntime.jsx(Field, {
|
|
20291
20426
|
name: "unsaturatedAtom",
|
|
20292
20427
|
labelPos: "before",
|
|
20293
|
-
className: classes$
|
|
20428
|
+
className: classes$s.checkbox
|
|
20294
20429
|
})]
|
|
20295
20430
|
})
|
|
20296
20431
|
}, {
|
|
20297
20432
|
groupName: 'Reaction flags',
|
|
20298
20433
|
component: jsxRuntime.jsxs("div", {
|
|
20299
|
-
className: classes$
|
|
20434
|
+
className: classes$s.reactionFlags,
|
|
20300
20435
|
children: [jsxRuntime.jsx(Field, {
|
|
20301
20436
|
name: "invRet",
|
|
20302
20437
|
component: Select,
|
|
@@ -20304,13 +20439,13 @@ var Atom = function Atom(props) {
|
|
|
20304
20439
|
}), jsxRuntime.jsx(Field, {
|
|
20305
20440
|
name: "exactChangeFlag",
|
|
20306
20441
|
labelPos: "before",
|
|
20307
|
-
className: classes$
|
|
20442
|
+
className: classes$s.checkbox
|
|
20308
20443
|
})]
|
|
20309
20444
|
})
|
|
20310
20445
|
}];
|
|
20311
20446
|
return jsxRuntime.jsx(Dialog, {
|
|
20312
20447
|
title: "Atom Properties",
|
|
20313
|
-
className: classes$
|
|
20448
|
+
className: classes$s.atomProps,
|
|
20314
20449
|
result: function result() {
|
|
20315
20450
|
return formState.result;
|
|
20316
20451
|
},
|
|
@@ -20336,7 +20471,7 @@ var Atom = function Atom(props) {
|
|
|
20336
20471
|
init: rest
|
|
20337
20472
|
}, formState), {}, {
|
|
20338
20473
|
children: jsxRuntime.jsx("div", {
|
|
20339
|
-
className: classes$
|
|
20474
|
+
className: classes$s.accordionWrapper,
|
|
20340
20475
|
children: itemGroups.map(function (_ref) {
|
|
20341
20476
|
var _clsx, _clsx2;
|
|
20342
20477
|
var groupName = _ref.groupName,
|
|
@@ -20345,20 +20480,20 @@ var Atom = function Atom(props) {
|
|
|
20345
20480
|
return jsxRuntime.jsxs("div", {
|
|
20346
20481
|
children: [jsxRuntime.jsx("div", {
|
|
20347
20482
|
onClick: handleAccordionChange(groupName),
|
|
20348
|
-
className: classes$
|
|
20483
|
+
className: classes$s.accordionSummaryWrapper,
|
|
20349
20484
|
children: jsxRuntime.jsxs("div", {
|
|
20350
|
-
className: classes$
|
|
20485
|
+
className: classes$s.accordionSummary,
|
|
20351
20486
|
children: [jsxRuntime.jsx("span", {
|
|
20352
20487
|
children: groupName
|
|
20353
20488
|
}), jsxRuntime.jsx(Icon, {
|
|
20354
|
-
className: clsx__default["default"]((_clsx = {}, _defineProperty__default["default"](_clsx, classes$
|
|
20489
|
+
className: clsx__default["default"]((_clsx = {}, _defineProperty__default["default"](_clsx, classes$s.expandIcon, true), _defineProperty__default["default"](_clsx, classes$s.turnedIcon, !shouldGroupBeRended), _clsx)),
|
|
20355
20490
|
name: "chevron"
|
|
20356
20491
|
})]
|
|
20357
20492
|
})
|
|
20358
20493
|
}), jsxRuntime.jsx("div", {
|
|
20359
|
-
className: clsx__default["default"]((_clsx2 = {}, _defineProperty__default["default"](_clsx2, classes$
|
|
20494
|
+
className: clsx__default["default"]((_clsx2 = {}, _defineProperty__default["default"](_clsx2, classes$s.accordionDetailsWrapper, true), _defineProperty__default["default"](_clsx2, classes$s.hiddenAccordion, !shouldGroupBeRended), _clsx2)),
|
|
20360
20495
|
children: jsxRuntime.jsx("div", {
|
|
20361
|
-
className: classes$
|
|
20496
|
+
className: classes$s.accordionDetails,
|
|
20362
20497
|
children: component
|
|
20363
20498
|
})
|
|
20364
20499
|
})]
|
|
@@ -20392,7 +20527,7 @@ var mapStateToProps$9 = function mapStateToProps(state) {
|
|
|
20392
20527
|
};
|
|
20393
20528
|
var AtomContainer = reactRedux.connect(mapStateToProps$9)(Atom);
|
|
20394
20529
|
|
|
20395
|
-
var classes$
|
|
20530
|
+
var classes$r = {"attachPoints":"Attach-module_attachPoints__5QEAv"};
|
|
20396
20531
|
|
|
20397
20532
|
var _excluded$e = ["formState"];
|
|
20398
20533
|
function ownKeys$s(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -20402,7 +20537,7 @@ var AttachPoints = function AttachPoints(props) {
|
|
|
20402
20537
|
rest = _objectWithoutProperties__default["default"](props, _excluded$e);
|
|
20403
20538
|
return jsxRuntime.jsx(Dialog, {
|
|
20404
20539
|
title: "Attachment Points",
|
|
20405
|
-
className: classes$
|
|
20540
|
+
className: classes$r.attachPoints,
|
|
20406
20541
|
result: function result() {
|
|
20407
20542
|
return formState.result;
|
|
20408
20543
|
},
|
|
@@ -20435,7 +20570,7 @@ var mapStateToProps$8 = function mapStateToProps(state) {
|
|
|
20435
20570
|
};
|
|
20436
20571
|
var AttachPointsContainer = reactRedux.connect(mapStateToProps$8)(AttachPoints);
|
|
20437
20572
|
|
|
20438
|
-
var classes$
|
|
20573
|
+
var classes$q = {"automap":"Automap-module_automap__531ko"};
|
|
20439
20574
|
|
|
20440
20575
|
var _excluded$d = ["formState"];
|
|
20441
20576
|
function ownKeys$r(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -20458,7 +20593,7 @@ var Automap = function Automap(props) {
|
|
|
20458
20593
|
rest = _objectWithoutProperties__default["default"](props, _excluded$d);
|
|
20459
20594
|
return jsxRuntime.jsx(Dialog, {
|
|
20460
20595
|
title: "Reaction Auto-Mapping",
|
|
20461
|
-
className: classes$
|
|
20596
|
+
className: classes$q.automap,
|
|
20462
20597
|
result: function result() {
|
|
20463
20598
|
return formState.result;
|
|
20464
20599
|
},
|
|
@@ -20499,7 +20634,7 @@ var mapDispatchToProps$6 = function mapDispatchToProps(dispatch, ownProps) {
|
|
|
20499
20634
|
};
|
|
20500
20635
|
var AutomapContainer = reactRedux.connect(mapStateToProps$7, mapDispatchToProps$6)(Automap);
|
|
20501
20636
|
|
|
20502
|
-
var classes$
|
|
20637
|
+
var classes$p = {"bond":"Bond-module_bond__EDfLY"};
|
|
20503
20638
|
|
|
20504
20639
|
var _excluded$c = ["formState"];
|
|
20505
20640
|
function ownKeys$q(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -20510,7 +20645,7 @@ var Bond = function Bond(props) {
|
|
|
20510
20645
|
var bondProps = bond.properties;
|
|
20511
20646
|
return jsxRuntime.jsx(Dialog, {
|
|
20512
20647
|
title: "Bond Properties",
|
|
20513
|
-
className: classes$
|
|
20648
|
+
className: classes$p.bond,
|
|
20514
20649
|
result: function result() {
|
|
20515
20650
|
return formState.result;
|
|
20516
20651
|
},
|
|
@@ -20551,7 +20686,7 @@ var mapStateToProps$6 = function mapStateToProps(state) {
|
|
|
20551
20686
|
};
|
|
20552
20687
|
var BondContainer = reactRedux.connect(mapStateToProps$6)(Bond);
|
|
20553
20688
|
|
|
20554
|
-
var classes$
|
|
20689
|
+
var classes$o = {"field":"IfThenSelect-module_field__9YaPA"};
|
|
20555
20690
|
|
|
20556
20691
|
function ownKeys$p(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
20557
20692
|
function _objectSpread$p(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$p(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$p(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -20574,14 +20709,14 @@ var IfThenSelect = function IfThenSelect(props) {
|
|
|
20574
20709
|
});
|
|
20575
20710
|
return jsxRuntime.jsx(Field, _objectSpread$p(_objectSpread$p({
|
|
20576
20711
|
schema: desc,
|
|
20577
|
-
className: classes$
|
|
20712
|
+
className: classes$o.field
|
|
20578
20713
|
}, props), {}, {
|
|
20579
20714
|
component: Select,
|
|
20580
20715
|
options: getSelectOptionsFromSchema(desc)
|
|
20581
20716
|
}));
|
|
20582
20717
|
};
|
|
20583
20718
|
|
|
20584
|
-
var classes$
|
|
20719
|
+
var classes$n = {"button-common-styles":"RgroupLogic-module_button-common-styles__P-ABP","scrollbar":"RgroupLogic-module_scrollbar__gDniy","rgroupLogic":"RgroupLogic-module_rgroupLogic__q4RTy","resth":"RgroupLogic-module_resth__RL2qE"};
|
|
20585
20720
|
|
|
20586
20721
|
var _excluded$b = ["formState", "label", "rgroupLabels"];
|
|
20587
20722
|
function ownKeys$o(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -20593,7 +20728,7 @@ var RgroupLogic = function RgroupLogic(props) {
|
|
|
20593
20728
|
rest = _objectWithoutProperties__default["default"](props, _excluded$b);
|
|
20594
20729
|
return jsxRuntime.jsx(Dialog, {
|
|
20595
20730
|
title: "R-Group Logic Condition",
|
|
20596
|
-
className: classes$
|
|
20731
|
+
className: classes$n.rgroupLogic,
|
|
20597
20732
|
result: function result() {
|
|
20598
20733
|
return formState.result;
|
|
20599
20734
|
},
|
|
@@ -20620,7 +20755,7 @@ var RgroupLogic = function RgroupLogic(props) {
|
|
|
20620
20755
|
}), jsxRuntime.jsx(Field, {
|
|
20621
20756
|
name: "resth",
|
|
20622
20757
|
labelPos: "after",
|
|
20623
|
-
className: classes$
|
|
20758
|
+
className: classes$n.resth
|
|
20624
20759
|
}), jsxRuntime.jsx(IfThenSelect, {
|
|
20625
20760
|
name: "ifthen",
|
|
20626
20761
|
label: label,
|
|
@@ -20643,7 +20778,7 @@ var mapStateToProps$5 = function mapStateToProps(state) {
|
|
|
20643
20778
|
};
|
|
20644
20779
|
var RgroupLogicContainer = reactRedux.connect(mapStateToProps$5)(RgroupLogic);
|
|
20645
20780
|
|
|
20646
|
-
var classes$
|
|
20781
|
+
var classes$m = {"button-common-styles":"Open-module_button-common-styles__NBSQP","scrollbar":"Open-module_scrollbar__sRvYM","open":"Open-module_open__m8V9g","textareaEditor":"Open-module_textareaEditor__ZbEVj","footerContent":"Open-module_footerContent__Q0hTw","buttonsContainer":"Open-module_buttonsContainer__L1HqU","openButton":"Open-module_openButton__cj3oU","cancelButton":"Open-module_cancelButton__0TQzA","copyButton":"Open-module_copyButton__KlXKd"};
|
|
20647
20782
|
|
|
20648
20783
|
var styles$8 = {"analyzingFileWrapper":"AnalyzingFile-module_analyzingFileWrapper__j0Ltf","fileBox":"AnalyzingFile-module_fileBox__ywFIh"};
|
|
20649
20784
|
|
|
@@ -20780,7 +20915,7 @@ var TextEditor = function TextEditor(_ref) {
|
|
|
20780
20915
|
autoFocus = _ref$autoFocus === void 0 ? false : _ref$autoFocus;
|
|
20781
20916
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
20782
20917
|
children: jsxRuntime.jsx("textarea", {
|
|
20783
|
-
className: classes$
|
|
20918
|
+
className: classes$m.textareaEditor,
|
|
20784
20919
|
value: structStr,
|
|
20785
20920
|
onChange: function onChange(event) {
|
|
20786
20921
|
return inputHandler(event.target.value);
|
|
@@ -20823,22 +20958,22 @@ var FooterContent$1 = function FooterContent(_ref) {
|
|
|
20823
20958
|
copyHandler = _ref.copyHandler,
|
|
20824
20959
|
onCancel = _ref.onCancel;
|
|
20825
20960
|
return jsxRuntime.jsxs("div", {
|
|
20826
|
-
className: classes$
|
|
20961
|
+
className: classes$m.footerContent,
|
|
20827
20962
|
children: [jsxRuntime.jsx("button", {
|
|
20828
20963
|
onClick: onCancel,
|
|
20829
|
-
className: classes$
|
|
20964
|
+
className: classes$m.cancelButton,
|
|
20830
20965
|
children: "Cancel"
|
|
20831
20966
|
}), jsxRuntime.jsxs("div", {
|
|
20832
|
-
className: classes$
|
|
20967
|
+
className: classes$m.buttonsContainer,
|
|
20833
20968
|
children: [jsxRuntime.jsx(DialogActionButton, {
|
|
20834
20969
|
disabled: !structStr,
|
|
20835
20970
|
clickHandler: openHandler,
|
|
20836
|
-
styles: classes$
|
|
20971
|
+
styles: classes$m.openButton,
|
|
20837
20972
|
label: "Open as New Project"
|
|
20838
20973
|
}, "openButton"), jsxRuntime.jsx(DialogActionButton, {
|
|
20839
20974
|
disabled: !structStr,
|
|
20840
20975
|
clickHandler: copyHandler,
|
|
20841
|
-
styles: classes$
|
|
20976
|
+
styles: classes$m.copyButton,
|
|
20842
20977
|
label: "Add to Canvas",
|
|
20843
20978
|
title: "Structure will be loaded as fragment and added to Clipboard"
|
|
20844
20979
|
}, "copyButton")]
|
|
@@ -20912,7 +21047,7 @@ var Open = function Open(props) {
|
|
|
20912
21047
|
}
|
|
20913
21048
|
return jsxRuntime.jsx(Dialog, {
|
|
20914
21049
|
title: "Open structure",
|
|
20915
|
-
className: classes$
|
|
21050
|
+
className: classes$m.open,
|
|
20916
21051
|
params: rest,
|
|
20917
21052
|
result: function result() {
|
|
20918
21053
|
return null;
|
|
@@ -21036,7 +21171,7 @@ function couldBeSaved(struct, format) {
|
|
|
21036
21171
|
return null;
|
|
21037
21172
|
}
|
|
21038
21173
|
|
|
21039
|
-
var classes$
|
|
21174
|
+
var classes$l = {"tabs":"Tabs-module_tabs__PuztJ","active":"Tabs-module_active__eeyNd"};
|
|
21040
21175
|
|
|
21041
21176
|
function ownKeys$k(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
21042
21177
|
function _objectSpread$k(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$k(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$k(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -21088,10 +21223,10 @@ var Tabs = function (_Component) {
|
|
|
21088
21223
|
className: className,
|
|
21089
21224
|
tabIndex: tabIndex,
|
|
21090
21225
|
children: jsxRuntime.jsx("li", {
|
|
21091
|
-
className: classes$
|
|
21226
|
+
className: classes$l.tabs,
|
|
21092
21227
|
children: tabs.map(function (tabPanel, index) {
|
|
21093
21228
|
return jsxRuntime.jsx("a", {
|
|
21094
|
-
className: clsx__default["default"](_defineProperty__default["default"]({}, classes$
|
|
21229
|
+
className: clsx__default["default"](_defineProperty__default["default"]({}, classes$l.active, _this2.state.tabIndex === index)),
|
|
21095
21230
|
onClick: function onClick(ev) {
|
|
21096
21231
|
return _this2.changeTab(ev, index);
|
|
21097
21232
|
},
|
|
@@ -21109,7 +21244,7 @@ var Tabs = function (_Component) {
|
|
|
21109
21244
|
return Tabs;
|
|
21110
21245
|
}(React.Component);
|
|
21111
21246
|
|
|
21112
|
-
var classes$
|
|
21247
|
+
var classes$k = {"button-common-styles":"Save-module_button-common-styles__mpLS8","scrollbar":"Save-module_scrollbar__XMf7I","dialog":"Save-module_dialog__of-0M","formContainer":"Save-module_formContainer__v1pIq","tabs":"Save-module_tabs__TOB-R","warnings":"Save-module_warnings__1PxJT","warningsContainer":"Save-module_warningsContainer__-3yVy","warningsArr":"Save-module_warningsArr__bKUFY","previewBackground":"Save-module_previewBackground__AbaUf","previewArea":"Save-module_previewArea__-0SLb","loadingCirclesContainer":"Save-module_loadingCirclesContainer__COUKN","imageContainer":"Save-module_imageContainer__gFELk","previewMessage":"Save-module_previewMessage__CZfZB","ok":"Save-module_ok__SgeCM","cancel":"Save-module_cancel__SMkEV","saveTmpl":"Save-module_saveTmpl__O-d0T"};
|
|
21113
21248
|
|
|
21114
21249
|
function ownKeys$j(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
21115
21250
|
function _objectSpread$j(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$j(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$j(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -21261,7 +21396,7 @@ var SaveDialog = function (_Component) {
|
|
|
21261
21396
|
tabIndex: 1
|
|
21262
21397
|
}];
|
|
21263
21398
|
return jsxRuntime.jsxs("div", {
|
|
21264
|
-
className: classes$
|
|
21399
|
+
className: classes$k.formContainer,
|
|
21265
21400
|
children: [jsxRuntime.jsxs(Form$1, _objectSpread$j(_objectSpread$j({
|
|
21266
21401
|
schema: _this.saveSchema,
|
|
21267
21402
|
init: {
|
|
@@ -21278,7 +21413,7 @@ var SaveDialog = function (_Component) {
|
|
|
21278
21413
|
component: Select
|
|
21279
21414
|
})]
|
|
21280
21415
|
})), jsxRuntime.jsx(Tabs, {
|
|
21281
|
-
className: classes$
|
|
21416
|
+
className: classes$k.tabs,
|
|
21282
21417
|
captions: tabs,
|
|
21283
21418
|
tabIndex: _this.state.tabIndex,
|
|
21284
21419
|
changeTab: _this.changeTab,
|
|
@@ -21299,13 +21434,13 @@ var SaveDialog = function (_Component) {
|
|
|
21299
21434
|
var isCleanStruct = _this.props.struct.isBlank();
|
|
21300
21435
|
var LoadingState = function LoadingState() {
|
|
21301
21436
|
return jsxRuntime.jsx("div", {
|
|
21302
|
-
className: classes$
|
|
21437
|
+
className: classes$k.loadingCirclesContainer,
|
|
21303
21438
|
children: jsxRuntime.jsx(LoadingCircles, {})
|
|
21304
21439
|
});
|
|
21305
21440
|
};
|
|
21306
21441
|
var ImageContent = function ImageContent() {
|
|
21307
21442
|
return jsxRuntime.jsx("div", {
|
|
21308
|
-
className: classes$
|
|
21443
|
+
className: classes$k.imageContainer,
|
|
21309
21444
|
children: !isCleanStruct && jsxRuntime.jsx("img", {
|
|
21310
21445
|
src: "data:image/".concat(format, "+xml;base64,").concat(imageSrc),
|
|
21311
21446
|
alt: "".concat(format, " preview")
|
|
@@ -21314,10 +21449,10 @@ var SaveDialog = function (_Component) {
|
|
|
21314
21449
|
};
|
|
21315
21450
|
var BinaryContent = function BinaryContent() {
|
|
21316
21451
|
return jsxRuntime.jsx("div", {
|
|
21317
|
-
className: classes$
|
|
21452
|
+
className: classes$k.previewBackground,
|
|
21318
21453
|
children: jsxRuntime.jsx("textarea", {
|
|
21319
21454
|
value: "Can not display binary content",
|
|
21320
|
-
className: classes$
|
|
21455
|
+
className: classes$k.previewArea,
|
|
21321
21456
|
readOnly: true,
|
|
21322
21457
|
ref: _this.textAreaRef
|
|
21323
21458
|
})
|
|
@@ -21325,10 +21460,10 @@ var SaveDialog = function (_Component) {
|
|
|
21325
21460
|
};
|
|
21326
21461
|
var PreviewContent = function PreviewContent() {
|
|
21327
21462
|
return jsxRuntime.jsx("div", {
|
|
21328
|
-
className: classes$
|
|
21463
|
+
className: classes$k.previewBackground,
|
|
21329
21464
|
children: jsxRuntime.jsx("textarea", {
|
|
21330
21465
|
value: structStr,
|
|
21331
|
-
className: classes$
|
|
21466
|
+
className: classes$k.previewArea,
|
|
21332
21467
|
readOnly: true,
|
|
21333
21468
|
ref: _this.textAreaRef
|
|
21334
21469
|
})
|
|
@@ -21351,12 +21486,12 @@ var SaveDialog = function (_Component) {
|
|
|
21351
21486
|
var format = _formState$result3.format;
|
|
21352
21487
|
var warnings = _this.getWarnings(format);
|
|
21353
21488
|
return warnings.length ? jsxRuntime.jsx("div", {
|
|
21354
|
-
className: classes$
|
|
21489
|
+
className: classes$k.warnings,
|
|
21355
21490
|
children: warnings.map(function (warning) {
|
|
21356
21491
|
return jsxRuntime.jsx("div", {
|
|
21357
|
-
className: classes$
|
|
21492
|
+
className: classes$k.warningsContainer,
|
|
21358
21493
|
children: jsxRuntime.jsx("span", {
|
|
21359
|
-
className: classes$
|
|
21494
|
+
className: classes$k.warningsArr,
|
|
21360
21495
|
children: warning
|
|
21361
21496
|
})
|
|
21362
21497
|
});
|
|
@@ -21377,7 +21512,7 @@ var SaveDialog = function (_Component) {
|
|
|
21377
21512
|
var savingStruct = _this.isBinaryCdxFormat(format) && !isLoading ? ketcherCore.b64toBlob(structStr) : structStr;
|
|
21378
21513
|
var isMoleculeContain = _this.props.struct.atoms.size && _this.props.struct.bonds.size;
|
|
21379
21514
|
var buttons = [jsxRuntime.jsx("button", {
|
|
21380
|
-
className: classes$
|
|
21515
|
+
className: classes$k.saveTmpl,
|
|
21381
21516
|
disabled: disableControls || isCleanStruct || !isMoleculeContain,
|
|
21382
21517
|
onClick: function onClick() {
|
|
21383
21518
|
return _this.props.onTmplSave(_this.props.struct);
|
|
@@ -21386,7 +21521,7 @@ var SaveDialog = function (_Component) {
|
|
|
21386
21521
|
}, "save-tmpl")];
|
|
21387
21522
|
buttons.push( jsxRuntime.jsx("button", {
|
|
21388
21523
|
mode: "onCancel",
|
|
21389
|
-
className: classes$
|
|
21524
|
+
className: classes$k.cancel,
|
|
21390
21525
|
onClick: function onClick() {
|
|
21391
21526
|
return _this.props.onOk({});
|
|
21392
21527
|
},
|
|
@@ -21402,7 +21537,7 @@ var SaveDialog = function (_Component) {
|
|
|
21402
21537
|
type: "image/".concat(format, "+xml"),
|
|
21403
21538
|
onSave: _this.props.onOk,
|
|
21404
21539
|
disabled: disableControls || !formState.valid || isCleanStruct || !_this.props.server,
|
|
21405
|
-
className: classes$
|
|
21540
|
+
className: classes$k.ok,
|
|
21406
21541
|
children: "Save"
|
|
21407
21542
|
}, "save-image-button"));
|
|
21408
21543
|
} else {
|
|
@@ -21414,7 +21549,7 @@ var SaveDialog = function (_Component) {
|
|
|
21414
21549
|
server: _this.props.server,
|
|
21415
21550
|
onSave: _this.props.onOk,
|
|
21416
21551
|
disabled: disableControls || !formState.valid || isCleanStruct,
|
|
21417
|
-
className: classes$
|
|
21552
|
+
className: classes$k.ok,
|
|
21418
21553
|
children: "Save"
|
|
21419
21554
|
}, "save-file-button"));
|
|
21420
21555
|
}
|
|
@@ -21458,7 +21593,7 @@ var SaveDialog = function (_Component) {
|
|
|
21458
21593
|
key: "render",
|
|
21459
21594
|
value: function render() {
|
|
21460
21595
|
return jsxRuntime.jsx(Dialog, {
|
|
21461
|
-
className: classes$
|
|
21596
|
+
className: classes$k.dialog,
|
|
21462
21597
|
title: "Save Structure",
|
|
21463
21598
|
params: this.props,
|
|
21464
21599
|
buttons: this.getButtons(),
|
|
@@ -21497,7 +21632,7 @@ var mapDispatchToProps$4 = function mapDispatchToProps(dispatch) {
|
|
|
21497
21632
|
};
|
|
21498
21633
|
var Save = reactRedux.connect(mapStateToProps$3, mapDispatchToProps$4)(SaveDialog);
|
|
21499
21634
|
|
|
21500
|
-
var classes$
|
|
21635
|
+
var classes$j = {"enhancedStereo":"enhancedStereo-module_enhancedStereo__8FLSY","stereoLabelItem":"enhancedStereo-module_stereoLabelItem__lEf-0","labelGroupSelect":"enhancedStereo-module_labelGroupSelect__K7TYC"};
|
|
21501
21636
|
|
|
21502
21637
|
var _excluded$8 = ["struct", "formState", "init"];
|
|
21503
21638
|
function ownKeys$i(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
@@ -21529,7 +21664,7 @@ var EnhancedStereo = function EnhancedStereo(props) {
|
|
|
21529
21664
|
};
|
|
21530
21665
|
return jsxRuntime.jsx(Dialog, {
|
|
21531
21666
|
title: "Enhanced Stereochemistry",
|
|
21532
|
-
className: classes$
|
|
21667
|
+
className: classes$j.enhancedStereo,
|
|
21533
21668
|
params: rest,
|
|
21534
21669
|
result: function result() {
|
|
21535
21670
|
return _result;
|
|
@@ -21566,7 +21701,7 @@ var EnhancedStereo = function EnhancedStereo(props) {
|
|
|
21566
21701
|
name: "andNumber",
|
|
21567
21702
|
schema: _.range(1, maxAnd + 1),
|
|
21568
21703
|
type: "text",
|
|
21569
|
-
className: classes$
|
|
21704
|
+
className: classes$j.labelGroupSelect
|
|
21570
21705
|
}), "Group"]
|
|
21571
21706
|
}), maxOr !== 0 && jsxRuntime.jsxs("label", {
|
|
21572
21707
|
children: [jsxRuntime.jsx(Field, {
|
|
@@ -21579,7 +21714,7 @@ var EnhancedStereo = function EnhancedStereo(props) {
|
|
|
21579
21714
|
name: "orNumber",
|
|
21580
21715
|
schema: _.range(1, maxOr + 1),
|
|
21581
21716
|
type: "text",
|
|
21582
|
-
className: classes$
|
|
21717
|
+
className: classes$j.labelGroupSelect
|
|
21583
21718
|
}), "Group"]
|
|
21584
21719
|
}), jsxRuntime.jsxs("label", {
|
|
21585
21720
|
children: [jsxRuntime.jsx(Field, {
|
|
@@ -21724,7 +21859,7 @@ var LabelEdit$1 = reactRedux.connect(function (store) {
|
|
|
21724
21859
|
};
|
|
21725
21860
|
})(LabelEdit);
|
|
21726
21861
|
|
|
21727
|
-
var classes$
|
|
21862
|
+
var classes$i = {"button-common-styles":"AtomInfo-module_button-common-styles__x3ucv","scrollbar":"AtomInfo-module_scrollbar__8GiyC","ket_atom_info":"AtomInfo-module_ket_atom_info__GOuZ6","none":"AtomInfo-module_none__PRuzx"};
|
|
21728
21863
|
|
|
21729
21864
|
function AtomInfo(_ref) {
|
|
21730
21865
|
var el = _ref.el,
|
|
@@ -21739,7 +21874,7 @@ function AtomInfo(_ref) {
|
|
|
21739
21874
|
fontSize: '18px'
|
|
21740
21875
|
};
|
|
21741
21876
|
return jsxRuntime.jsxs("div", {
|
|
21742
|
-
className: clsx__default["default"](classes$
|
|
21877
|
+
className: clsx__default["default"](classes$i.ket_atom_info, !isInfo && classes$i.none),
|
|
21743
21878
|
children: [jsxRuntime.jsx("div", {
|
|
21744
21879
|
style: numberStyle,
|
|
21745
21880
|
children: el.number
|
|
@@ -21972,13 +22107,35 @@ var VerticalBoxWithLines = function VerticalBoxWithLines() {
|
|
|
21972
22107
|
});
|
|
21973
22108
|
};
|
|
21974
22109
|
|
|
21975
|
-
var classes$
|
|
22110
|
+
var classes$h = {"button-common-styles":"GenSet-module_button-common-styles__0Ro-U","scrollbar":"GenSet-module_scrollbar__Ev8Uz","genGroupLegendBox":"GenSet-module_genGroupLegendBox__CSTQr","legendBox":"GenSet-module_legendBox__0zIAk","SpecialNodes":"GenSet-module_SpecialNodes__oFKp3","AtomGenerics":"GenSet-module_AtomGenerics__MoQCf","GroupGenerics":"GenSet-module_GroupGenerics__pFPtX","Cyclic":"GenSet-module_Cyclic__VJRtt","Acyclic":"GenSet-module_Acyclic__R97MM","CyclicCarbo":"GenSet-module_CyclicCarbo__Aanb0","AcyclicCarbo":"GenSet-module_AcyclicCarbo__nowGn","CyclicHetero":"GenSet-module_CyclicHetero__bbOnT","AcyclicHetero":"GenSet-module_AcyclicHetero__hnr4G"};
|
|
21976
22111
|
|
|
21977
22112
|
var isGenericGroup = function isGenericGroup(group) {
|
|
21978
22113
|
var cyclicGroups = ['Acyclic', 'Cyclic', 'Acyclic Carbo', 'Cyclic Carbo', 'Acyclic Hetero', 'Cyclic Hetero'];
|
|
21979
22114
|
return cyclicGroups.includes(group);
|
|
21980
22115
|
};
|
|
21981
22116
|
|
|
22117
|
+
var classes$g = {"button-common-styles":"ButtonGenSet-module_button-common-styles__3bEj7","scrollbar":"ButtonGenSet-module_scrollbar__CKIcM","button":"ButtonGenSet-module_button__hBoCQ","selected":"ButtonGenSet-module_selected__XAfYj"};
|
|
22118
|
+
|
|
22119
|
+
var ButtonGenSet = function ButtonGenSet(_ref) {
|
|
22120
|
+
var button = _ref.button,
|
|
22121
|
+
onAtomSelect = _ref.onAtomSelect,
|
|
22122
|
+
selected = _ref.selected,
|
|
22123
|
+
disabled = _ref.disabled;
|
|
22124
|
+
var titleText = disabled ? "".concat(button.label, " is disabled") : button.description || button.label;
|
|
22125
|
+
return jsxRuntime.jsx("button", {
|
|
22126
|
+
onClick: function onClick() {
|
|
22127
|
+
return onAtomSelect(button.label, false);
|
|
22128
|
+
},
|
|
22129
|
+
onDoubleClick: function onDoubleClick() {
|
|
22130
|
+
return onAtomSelect(button.label, true);
|
|
22131
|
+
},
|
|
22132
|
+
title: titleText,
|
|
22133
|
+
disabled: disabled,
|
|
22134
|
+
className: clsx__default["default"](_defineProperty__default["default"]({}, classes$g.selected, selected(button.label)), classes$g.button),
|
|
22135
|
+
children: button.label
|
|
22136
|
+
});
|
|
22137
|
+
};
|
|
22138
|
+
|
|
21982
22139
|
var getGroupClassName = function getGroupClassName(groupName) {
|
|
21983
22140
|
return groupName.replaceAll(' ', '');
|
|
21984
22141
|
};
|
|
@@ -21987,7 +22144,8 @@ function GenSet(_ref) {
|
|
|
21987
22144
|
selected = _ref.selected,
|
|
21988
22145
|
onAtomSelect = _ref.onAtomSelect,
|
|
21989
22146
|
className = _ref.className,
|
|
21990
|
-
group = _ref.group
|
|
22147
|
+
group = _ref.group,
|
|
22148
|
+
disabledQueryElements = _ref.disabledQueryElements;
|
|
21991
22149
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
21992
22150
|
children: labels.map(function (item, index) {
|
|
21993
22151
|
var buttons = item.items;
|
|
@@ -21995,29 +22153,24 @@ function GenSet(_ref) {
|
|
|
21995
22153
|
return jsxRuntime.jsxs("fieldset", {
|
|
21996
22154
|
className: className,
|
|
21997
22155
|
children: [jsxRuntime.jsx("div", {
|
|
21998
|
-
className: classes$
|
|
22156
|
+
className: classes$h[getGroupClassName(group)],
|
|
21999
22157
|
children: buttons.map(function (button, index) {
|
|
22000
|
-
return jsxRuntime.jsx(
|
|
22001
|
-
|
|
22002
|
-
|
|
22003
|
-
|
|
22004
|
-
|
|
22005
|
-
return onAtomSelect(button.label, true);
|
|
22006
|
-
},
|
|
22007
|
-
title: button.description || button.label,
|
|
22008
|
-
className: clsx__default["default"](_defineProperty__default["default"]({}, classes$g.selected, selected(button.label)), classes$g.button),
|
|
22009
|
-
children: button.label
|
|
22158
|
+
return jsxRuntime.jsx(ButtonGenSet, {
|
|
22159
|
+
button: button,
|
|
22160
|
+
onAtomSelect: onAtomSelect,
|
|
22161
|
+
selected: selected,
|
|
22162
|
+
disabled: Boolean(disabledQueryElements === null || disabledQueryElements === void 0 ? void 0 : disabledQueryElements.includes(button.label))
|
|
22010
22163
|
}, index);
|
|
22011
22164
|
})
|
|
22012
22165
|
}), !isGenericGroup(group) && caption && jsxRuntime.jsx("div", {
|
|
22013
|
-
className: classes$
|
|
22166
|
+
className: classes$h.legendBox,
|
|
22014
22167
|
children: jsxRuntime.jsx("legend", {
|
|
22015
22168
|
children: caption
|
|
22016
22169
|
})
|
|
22017
22170
|
}), isGenericGroup(group) && caption && jsxRuntime.jsx("div", {
|
|
22018
|
-
className: classes$
|
|
22171
|
+
className: classes$h.genGroupLegendBox,
|
|
22019
22172
|
children: jsxRuntime.jsx("legend", {
|
|
22020
|
-
className: classes$
|
|
22173
|
+
className: classes$h.genGroupLegend,
|
|
22021
22174
|
children: caption
|
|
22022
22175
|
})
|
|
22023
22176
|
})]
|
|
@@ -22036,7 +22189,8 @@ var getLegendClassname = function getLegendClassname(title) {
|
|
|
22036
22189
|
var GenGroup = function GenGroup(_ref) {
|
|
22037
22190
|
var group = _ref.group,
|
|
22038
22191
|
onAtomSelect = _ref.onAtomSelect,
|
|
22039
|
-
selected = _ref.selected
|
|
22192
|
+
selected = _ref.selected,
|
|
22193
|
+
disabledQueryElements = _ref.disabledQueryElements;
|
|
22040
22194
|
return jsxRuntime.jsx("div", {
|
|
22041
22195
|
className: styles$2.fieldFlexWrapper,
|
|
22042
22196
|
children: jsxRuntime.jsxs("fieldset", {
|
|
@@ -22051,7 +22205,8 @@ var GenGroup = function GenGroup(_ref) {
|
|
|
22051
22205
|
selected: selected,
|
|
22052
22206
|
onAtomSelect: onAtomSelect,
|
|
22053
22207
|
className: styles$2.subGroup,
|
|
22054
|
-
group: group.title
|
|
22208
|
+
group: group.title,
|
|
22209
|
+
disabledQueryElements: disabledQueryElements
|
|
22055
22210
|
})
|
|
22056
22211
|
})]
|
|
22057
22212
|
})
|
|
@@ -22074,36 +22229,38 @@ var getGenericsGroupsMap = function getGenericsGroupsMap(tree) {
|
|
|
22074
22229
|
}
|
|
22075
22230
|
return newGroups;
|
|
22076
22231
|
};
|
|
22077
|
-
var renderGenGroupComponent = function renderGenGroupComponent(group, selected, onAtomSelect) {
|
|
22232
|
+
var renderGenGroupComponent = function renderGenGroupComponent(group, selected, onAtomSelect, disabledQueryElements) {
|
|
22078
22233
|
return jsxRuntime.jsx(GenGroup, {
|
|
22079
22234
|
group: groupsMap[group],
|
|
22080
22235
|
selected: selected,
|
|
22081
|
-
onAtomSelect: onAtomSelect
|
|
22236
|
+
onAtomSelect: onAtomSelect,
|
|
22237
|
+
disabledQueryElements: disabledQueryElements
|
|
22082
22238
|
});
|
|
22083
22239
|
};
|
|
22084
22240
|
var groupsMap = getGenericsGroupsMap(ketcherCore.Generics);
|
|
22085
22241
|
function GenericGroups(_ref) {
|
|
22086
22242
|
var selected = _ref.selected,
|
|
22087
|
-
onAtomSelect = _ref.onAtomSelect
|
|
22243
|
+
onAtomSelect = _ref.onAtomSelect,
|
|
22244
|
+
disabledQueryElements = _ref.disabledQueryElements;
|
|
22088
22245
|
return jsxRuntime.jsxs("div", {
|
|
22089
22246
|
className: classes$f.genericGroups,
|
|
22090
22247
|
children: [jsxRuntime.jsxs("div", {
|
|
22091
22248
|
className: classes$f.topGroupsContainer,
|
|
22092
|
-
children: [renderGenGroupComponent(groupNames.atomsGen, selected, onAtomSelect), renderGenGroupComponent(groupNames.specialNodes, selected, onAtomSelect)]
|
|
22093
|
-
}), renderGenGroupComponent(groupNames.groupGen, selected, onAtomSelect), jsxRuntime.jsx(HorizontalBoxWithLines, {}), jsxRuntime.jsxs("div", {
|
|
22249
|
+
children: [renderGenGroupComponent(groupNames.atomsGen, selected, onAtomSelect, disabledQueryElements), renderGenGroupComponent(groupNames.specialNodes, selected, onAtomSelect, disabledQueryElements)]
|
|
22250
|
+
}), renderGenGroupComponent(groupNames.groupGen, selected, onAtomSelect, disabledQueryElements), jsxRuntime.jsx(HorizontalBoxWithLines, {}), jsxRuntime.jsxs("div", {
|
|
22094
22251
|
className: classes$f.groupGenerics,
|
|
22095
22252
|
children: [jsxRuntime.jsxs("div", {
|
|
22096
|
-
children: [renderGenGroupComponent(groupNames.groupAcyclic, selected, onAtomSelect), jsxRuntime.jsxs("div", {
|
|
22253
|
+
children: [renderGenGroupComponent(groupNames.groupAcyclic, selected, onAtomSelect, disabledQueryElements), jsxRuntime.jsxs("div", {
|
|
22097
22254
|
className: classes$f.subgroupContainer,
|
|
22098
22255
|
children: [jsxRuntime.jsx(VerticalBoxWithLines, {}), jsxRuntime.jsxs("div", {
|
|
22099
|
-
children: [renderGenGroupComponent(groupNames.acyclicCarbo, selected, onAtomSelect), renderGenGroupComponent(groupNames.acyclicHetero, selected, onAtomSelect)]
|
|
22256
|
+
children: [renderGenGroupComponent(groupNames.acyclicCarbo, selected, onAtomSelect, disabledQueryElements), renderGenGroupComponent(groupNames.acyclicHetero, selected, onAtomSelect, disabledQueryElements)]
|
|
22100
22257
|
})]
|
|
22101
22258
|
})]
|
|
22102
22259
|
}), jsxRuntime.jsxs("div", {
|
|
22103
|
-
children: [renderGenGroupComponent(groupNames.groupCyclic, selected, onAtomSelect), jsxRuntime.jsxs("div", {
|
|
22260
|
+
children: [renderGenGroupComponent(groupNames.groupCyclic, selected, onAtomSelect, disabledQueryElements), jsxRuntime.jsxs("div", {
|
|
22104
22261
|
className: classes$f.subgroupContainer,
|
|
22105
22262
|
children: [jsxRuntime.jsx(VerticalBoxWithLines, {}), jsxRuntime.jsxs("div", {
|
|
22106
|
-
children: [renderGenGroupComponent(groupNames.cyclicCarbo, selected, onAtomSelect), renderGenGroupComponent(groupNames.cyclicHetero, selected, onAtomSelect)]
|
|
22263
|
+
children: [renderGenGroupComponent(groupNames.cyclicCarbo, selected, onAtomSelect, disabledQueryElements), renderGenGroupComponent(groupNames.cyclicHetero, selected, onAtomSelect, disabledQueryElements)]
|
|
22107
22264
|
})]
|
|
22108
22265
|
})]
|
|
22109
22266
|
})]
|
|
@@ -22384,7 +22541,8 @@ var Table = function Table(props) {
|
|
|
22384
22541
|
needMargin: false,
|
|
22385
22542
|
children: jsxRuntime.jsx(GenericGroups, {
|
|
22386
22543
|
selected: selected,
|
|
22387
|
-
onAtomSelect: onAtomSelect
|
|
22544
|
+
onAtomSelect: onAtomSelect,
|
|
22545
|
+
disabledQueryElements: props.disabledQueryElements
|
|
22388
22546
|
})
|
|
22389
22547
|
});
|
|
22390
22548
|
};
|
|
@@ -22399,10 +22557,14 @@ function mapSelectionToProps(editor) {
|
|
|
22399
22557
|
return {};
|
|
22400
22558
|
}
|
|
22401
22559
|
var mapStateToProps$1 = function mapStateToProps(state, ownProps) {
|
|
22560
|
+
var editor = state.editor;
|
|
22402
22561
|
if (ownProps.values || ownProps.label) {
|
|
22403
22562
|
return {};
|
|
22404
22563
|
}
|
|
22405
|
-
|
|
22564
|
+
var disabledQueryElements = editor.render.options.disableQueryElements;
|
|
22565
|
+
return _objectSpread$a({
|
|
22566
|
+
disabledQueryElements: disabledQueryElements
|
|
22567
|
+
}, mapSelectionToProps(editor));
|
|
22406
22568
|
};
|
|
22407
22569
|
var mapDispatchToProps$2 = function mapDispatchToProps(dispatch, ownProps) {
|
|
22408
22570
|
return {
|
|
@@ -22701,7 +22863,7 @@ var classes$8 = {"button-common-styles":"template-lib-module_button-common-style
|
|
|
22701
22863
|
|
|
22702
22864
|
var _excluded$3 = ["onInit"],
|
|
22703
22865
|
_excluded2$1 = ["name", "onNameEdit", "onAttachEdit"];
|
|
22704
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
|
|
22866
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
|
|
22705
22867
|
function ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
22706
22868
|
function _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
22707
22869
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf__default["default"](Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf__default["default"](this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn__default["default"](this, result); }; }
|
|
@@ -22709,14 +22871,15 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
22709
22871
|
var TemplateEditDialog = styled__default["default"](Dialog)(_templateObject || (_templateObject = _taggedTemplateLiteral__default["default"](["\n background-color: #fff;\n\n & header {\n text-transform: none;\n border-bottom: 1px solid #e1e5ea;\n margin: 0;\n padding: 12px;\n }\n\n & form {\n display: flex;\n\n & label::after {\n top: 92px;\n margin-right: 12px;\n }\n }\n"])));
|
|
22710
22872
|
var Editor$2 = styled__default["default"]('div')(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral__default["default"](["\n border: 1px solid #b4b9d6;\n background-color: #ffff;\n border-radius: 5px;\n position: relative;\n height: 300px;\n width: 330px;\n overflow: hidden;\n\n & .structEditor {\n height: 100%;\n width: 100%;\n border: none;\n }\n"])));
|
|
22711
22873
|
var Warning = styled__default["default"]('div')(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral__default["default"](["\n padding: 0 5px;\n"])));
|
|
22712
|
-
var
|
|
22713
|
-
var
|
|
22714
|
-
var
|
|
22715
|
-
var
|
|
22716
|
-
var
|
|
22717
|
-
var
|
|
22718
|
-
var
|
|
22719
|
-
var
|
|
22874
|
+
var Message = styled__default["default"]('div')(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral__default["default"](["\n background-color: #e1e5ea;\n color: #333333;\n padding: 10px 12px;\n border-top: 1px solid #cad3dd;\n border-bottom: 1px solid #cad3dd;\n"])));
|
|
22875
|
+
var LeftColumn = styled__default["default"]('div')(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral__default["default"](["\n padding: 12px;\n border-radius: 0 0 0 8px;\n background-color: #eff2f5;\n"])));
|
|
22876
|
+
var RightColumn = styled__default["default"]('div')(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral__default["default"](["\n width: 40%;\n min-width: 200px;\n box-sizing: border-box;\n padding: 12px;\n display: flex;\n flex-direction: column;\n"])));
|
|
22877
|
+
var NameInput = styled__default["default"](Field)(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral__default["default"](["\n display: flex;\n flex-direction: column;\n margin-bottom: 12px;\n\n & input[type='text'] {\n display: block;\n width: 100%;\n box-sizing: border-box;\n border: 1px solid #cad3dd;\n border-radius: 4px;\n line-height: 16px;\n font-size: 14px;\n margin-top: 4px;\n\n &:hover {\n border-color: #43b5c0;\n }\n\n &:hover,\n :focus {\n box-shadow: none;\n }\n }\n\n & span {\n display: block;\n width: 100%;\n }\n"])));
|
|
22878
|
+
var AttachmentOutput = styled__default["default"]('span')(_templateObject8 || (_templateObject8 = _taggedTemplateLiteral__default["default"](["\n display: block;\n width: 100%;\n height: 24px;\n box-sizing: border-box;\n padding: 4px 8px;\n border: 1px solid #cad3dd;\n border-radius: 4px;\n line-height: 14px;\n font-size: 14px;\n background-color: #eff2f5;\n margin-top: 4px;\n"])));
|
|
22879
|
+
var Buttons = styled__default["default"]('div')(_templateObject9 || (_templateObject9 = _taggedTemplateLiteral__default["default"](["\n display: flex;\n flex-direction: row;\n margin-top: auto;\n justify-content: flex-end;\n gap: 8px;\n"])));
|
|
22880
|
+
var buttonCommonStyles = react.css(_templateObject10 || (_templateObject10 = _taggedTemplateLiteral__default["default"](["\n width: fit-content;\n padding: 5px 8px;\n text-transform: none;\n font-size: 12px;\n line-height: 14px;\n box-shadow: none;\n"])));
|
|
22881
|
+
var SaveButton = styled__default["default"](material.Button)(_templateObject11 || (_templateObject11 = _taggedTemplateLiteral__default["default"](["\n ", "\n background-color: #167782;\n\n &:hover {\n background-color: #43b5c0;\n box-shadow: none;\n }\n\n &:disabled {\n background-color: #e1e5ea;\n color: #333333;\n }\n"])), buttonCommonStyles);
|
|
22882
|
+
var CancelButton = styled__default["default"](material.Button)(_templateObject12 || (_templateObject12 = _taggedTemplateLiteral__default["default"](["\n ", "\n border-color: #585858;\n color: #585858;\n\n &:hover {\n border-color: #333333;\n color: #333333;\n box-shadow: none;\n }\n"])), buttonCommonStyles);
|
|
22720
22883
|
var editorStyles = {
|
|
22721
22884
|
selectionStyle: {
|
|
22722
22885
|
fill: '#167782',
|
|
@@ -22740,6 +22903,11 @@ var Attach = function (_Component) {
|
|
|
22740
22903
|
props = _objectWithoutProperties__default["default"](_ref, _excluded$3);
|
|
22741
22904
|
_classCallCheck__default["default"](this, Attach);
|
|
22742
22905
|
_this = _super.call(this);
|
|
22906
|
+
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "MODES", {
|
|
22907
|
+
SAVE: 'save',
|
|
22908
|
+
EDIT: 'edit'
|
|
22909
|
+
});
|
|
22910
|
+
_this.mode = _.isEmpty(props.tmpl.props) ? _this.MODES.SAVE : _this.MODES.EDIT;
|
|
22743
22911
|
_this.tmpl = initTmpl(props.tmpl);
|
|
22744
22912
|
onInit(_this.tmpl.struct.name, _this.tmpl.props);
|
|
22745
22913
|
_this.onResult = _this.onResult.bind(_assertThisInitialized__default["default"](_this));
|
|
@@ -22783,8 +22951,10 @@ var Attach = function (_Component) {
|
|
|
22783
22951
|
var options = Object.assign(editorStyles, this.props.globalSettings, {
|
|
22784
22952
|
scale: getScale(struct)
|
|
22785
22953
|
});
|
|
22786
|
-
|
|
22787
|
-
|
|
22954
|
+
var dialogTitle = this.mode === this.MODES.SAVE ? 'Save to Templates' : 'Template Edit';
|
|
22955
|
+
var warningObject = this.mode === this.MODES.SAVE ? 'Templates' : 'Edited templates';
|
|
22956
|
+
return jsxRuntime.jsxs(TemplateEditDialog, {
|
|
22957
|
+
title: dialogTitle,
|
|
22788
22958
|
result: this.onResult,
|
|
22789
22959
|
valid: function valid() {
|
|
22790
22960
|
return _this2.props.formState.valid && name;
|
|
@@ -22792,7 +22962,13 @@ var Attach = function (_Component) {
|
|
|
22792
22962
|
params: prop,
|
|
22793
22963
|
buttons: [],
|
|
22794
22964
|
needMargin: false,
|
|
22795
|
-
children: jsxRuntime.jsxs(
|
|
22965
|
+
children: [jsxRuntime.jsxs(Message, {
|
|
22966
|
+
children: [jsxRuntime.jsxs("div", {
|
|
22967
|
+
children: [warningObject, " are saved locally and cannot be accessed on different browsers or computers."]
|
|
22968
|
+
}), jsxRuntime.jsx("div", {
|
|
22969
|
+
children: "Be aware that other users of the same computer and browser can access them as well."
|
|
22970
|
+
})]
|
|
22971
|
+
}), jsxRuntime.jsxs(Form$1, _objectSpread$6(_objectSpread$6({
|
|
22796
22972
|
schema: attachSchema,
|
|
22797
22973
|
customValid: {
|
|
22798
22974
|
name: function name(_name) {
|
|
@@ -22844,11 +23020,11 @@ var Attach = function (_Component) {
|
|
|
22844
23020
|
},
|
|
22845
23021
|
className: classes$8.button,
|
|
22846
23022
|
disabled: !this.checkIsValidName(name),
|
|
22847
|
-
children:
|
|
23023
|
+
children: this.mode === this.MODES.SAVE ? 'Save' : 'Edit'
|
|
22848
23024
|
})]
|
|
22849
23025
|
})]
|
|
22850
23026
|
})]
|
|
22851
|
-
}))
|
|
23027
|
+
}))]
|
|
22852
23028
|
});
|
|
22853
23029
|
}
|
|
22854
23030
|
}]);
|
|
@@ -23743,10 +23919,10 @@ function Modal(props) {
|
|
|
23743
23919
|
var Component = modals[modal.name];
|
|
23744
23920
|
if (!Component) throw new Error("There is no modal window named ".concat(modal.name));
|
|
23745
23921
|
return jsxRuntime.jsx("div", {
|
|
23746
|
-
className: clsx__default["default"](classes$
|
|
23922
|
+
className: clsx__default["default"](classes$F.modalOverlay, selectClasses.selectContainer),
|
|
23747
23923
|
ref: containerRef,
|
|
23748
23924
|
children: jsxRuntime.jsx(Component, _objectSpread$3({
|
|
23749
|
-
className: clsx__default["default"](_defineProperty__default["default"]({}, classes$
|
|
23925
|
+
className: clsx__default["default"](_defineProperty__default["default"]({}, classes$F.smallScreen, height && height <= mediaSizes$1.smallHeight || width && width <= mediaSizes$1.smallWidth))
|
|
23750
23926
|
}, rest))
|
|
23751
23927
|
});
|
|
23752
23928
|
}
|
|
@@ -23790,6 +23966,24 @@ var mergeProps = function mergeProps(stateProps, dispatchProps) {
|
|
|
23790
23966
|
};
|
|
23791
23967
|
var ModalContainer = reactRedux.connect(mapStateToProps, mapDispatchToProps$1, mergeProps)(Modal);
|
|
23792
23968
|
|
|
23969
|
+
function generateCommonProperties(selectedElements, normalizedElement) {
|
|
23970
|
+
var properties = Object.getOwnPropertyNames(normalizedElement);
|
|
23971
|
+
var resultElementAttributes = {};
|
|
23972
|
+
properties.forEach(function (property) {
|
|
23973
|
+
var uniqueValues = new Set();
|
|
23974
|
+
selectedElements.forEach(function (element) {
|
|
23975
|
+
uniqueValues.add(element[property]);
|
|
23976
|
+
});
|
|
23977
|
+
var allElementsHaveTheSameValue = uniqueValues.size === 1;
|
|
23978
|
+
if (allElementsHaveTheSameValue) {
|
|
23979
|
+
resultElementAttributes[property] = normalizedElement[property];
|
|
23980
|
+
} else {
|
|
23981
|
+
resultElementAttributes[property] = '';
|
|
23982
|
+
}
|
|
23983
|
+
});
|
|
23984
|
+
return resultElementAttributes;
|
|
23985
|
+
}
|
|
23986
|
+
|
|
23793
23987
|
function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
23794
23988
|
function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
23795
23989
|
function initEditor(dispatch, getState) {
|
|
@@ -23833,7 +24027,7 @@ function initEditor(dispatch, getState) {
|
|
|
23833
24027
|
},
|
|
23834
24028
|
onElementEdit: function onElementEdit(selem) {
|
|
23835
24029
|
if (isAtomsArray(selem)) {
|
|
23836
|
-
var atomAttributes = generateCommonProperties(selem);
|
|
24030
|
+
var atomAttributes = generateCommonProperties(selem, fromAtom(selem[0]));
|
|
23837
24031
|
return openDialog(dispatch, 'atomProps', _objectSpread$1(_objectSpread$1({}, atomAttributes), {}, {
|
|
23838
24032
|
isMultipleAtoms: true
|
|
23839
24033
|
})).then(toElement);
|
|
@@ -23896,8 +24090,9 @@ function initEditor(dispatch, getState) {
|
|
|
23896
24090
|
onQuickEdit: function onQuickEdit(atom) {
|
|
23897
24091
|
return openDialog(dispatch, 'labelEdit', atom);
|
|
23898
24092
|
},
|
|
23899
|
-
onBondEdit: function onBondEdit(
|
|
23900
|
-
|
|
24093
|
+
onBondEdit: function onBondEdit(bonds) {
|
|
24094
|
+
var bondsAttributes = generateCommonProperties(bonds, bonds[0]);
|
|
24095
|
+
return openDialog(dispatch, 'bondProps', fromBond(bondsAttributes)).then(toBond);
|
|
23901
24096
|
},
|
|
23902
24097
|
onRgroupEdit: function onRgroupEdit(rgroup) {
|
|
23903
24098
|
var struct = getState().editor.struct();
|
|
@@ -24111,8 +24306,8 @@ var KetcherBuilder = function () {
|
|
|
24111
24306
|
initApp(element, staticResourcesUrl, {
|
|
24112
24307
|
buttons: buttons || {},
|
|
24113
24308
|
errorHandler: errorHandler || null,
|
|
24114
|
-
version: "2.
|
|
24115
|
-
buildDate: "2023-04-
|
|
24309
|
+
version: "2.10.0-rc.1" ,
|
|
24310
|
+
buildDate: "2023-04-21T11:09:47" ,
|
|
24116
24311
|
buildNumber: ''
|
|
24117
24312
|
}, structService, resolve);
|
|
24118
24313
|
});
|