ketcher-react 2.9.0-rc.9 → 2.10.0-rc.2
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/constants.d.ts +4 -0
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.js +926 -675
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +928 -678
- 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 +2 -1
- 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/state/shared.d.ts +4 -0
- package/dist/script/ui/views/components/ContextMenu/hooks/useFunctionalGroupEoc.d.ts +1 -1
- 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: {
|
|
@@ -1985,9 +1995,9 @@ function toSgroup(sgroup) {
|
|
|
1985
1995
|
};
|
|
1986
1996
|
}
|
|
1987
1997
|
|
|
1988
|
-
function _createForOfIteratorHelper$
|
|
1989
|
-
function _unsupportedIterableToArray$
|
|
1990
|
-
function _arrayLikeToArray$
|
|
1998
|
+
function _createForOfIteratorHelper$d(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$d(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; } } }; }
|
|
1999
|
+
function _unsupportedIterableToArray$d(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$d(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$d(o, minLen); }
|
|
2000
|
+
function _arrayLikeToArray$d(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; }
|
|
1991
2001
|
function isFlipDisabled(editor) {
|
|
1992
2002
|
var selection = editor.selection();
|
|
1993
2003
|
var restruct = editor.render.ctab;
|
|
@@ -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$
|
|
2013
|
+
var _iterator = _createForOfIteratorHelper$d(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$d(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$d(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
|
};
|
|
@@ -2542,6 +2532,10 @@ var KETCHER_SAVED_SETTINGS_KEY = 'ketcher_editor_saved_settings';
|
|
|
2542
2532
|
var MODES = {
|
|
2543
2533
|
FG: 'fg'
|
|
2544
2534
|
};
|
|
2535
|
+
var STRUCT_TYPE = {
|
|
2536
|
+
atoms: 'atoms',
|
|
2537
|
+
bonds: 'bonds'
|
|
2538
|
+
};
|
|
2545
2539
|
|
|
2546
2540
|
function ownKeys$1a(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; }
|
|
2547
2541
|
function _objectSpread$1a(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1a(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1a(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
@@ -2622,10 +2616,14 @@ function parseStruct(struct, server, options) {
|
|
|
2622
2616
|
return Promise.resolve(struct);
|
|
2623
2617
|
}
|
|
2624
2618
|
}
|
|
2619
|
+
function removeStructAction() {
|
|
2620
|
+
var savedSelectedTool = SettingsManager.selectionTool;
|
|
2621
|
+
return onAction(savedSelectedTool || tools$1['select-rectangle'].action);
|
|
2622
|
+
}
|
|
2625
2623
|
function load(struct, options) {
|
|
2626
2624
|
return function () {
|
|
2627
2625
|
var _ref = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee(dispatch, getState) {
|
|
2628
|
-
var state, editor, server, errorHandler, parsedStruct, _options2, fragment, hasUnsupportedGroups, oldStruct, stereAtomsMap
|
|
2626
|
+
var state, editor, server, errorHandler, parsedStruct, _options2, fragment, hasUnsupportedGroups, oldStruct, stereAtomsMap;
|
|
2629
2627
|
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
2630
2628
|
while (1) {
|
|
2631
2629
|
switch (_context.prev = _context.next) {
|
|
@@ -2690,11 +2688,7 @@ function load(struct, options) {
|
|
|
2690
2688
|
parsedStruct.markFragments();
|
|
2691
2689
|
if (fragment) {
|
|
2692
2690
|
if (parsedStruct.isBlank()) {
|
|
2693
|
-
|
|
2694
|
-
dispatch({
|
|
2695
|
-
type: 'ACTION',
|
|
2696
|
-
action: savedSelectedTool || tools$1['select-rectangle'].action
|
|
2697
|
-
});
|
|
2691
|
+
dispatch(removeStructAction());
|
|
2698
2692
|
} else {
|
|
2699
2693
|
dispatch(onAction({
|
|
2700
2694
|
tool: 'paste',
|
|
@@ -3022,7 +3016,7 @@ var templates = templates$1.reduce(function (res, struct, i) {
|
|
|
3022
3016
|
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
3017
|
var zoom = {
|
|
3024
3018
|
zoom: {
|
|
3025
|
-
shortcut: ['Mod+
|
|
3019
|
+
shortcut: ['Mod+0'],
|
|
3026
3020
|
selected: function selected(editor) {
|
|
3027
3021
|
return editor.zoom();
|
|
3028
3022
|
},
|
|
@@ -3076,7 +3070,7 @@ var zoom = {
|
|
|
3076
3070
|
|
|
3077
3071
|
var openHelpLink = function openHelpLink() {
|
|
3078
3072
|
var _window$open;
|
|
3079
|
-
return (_window$open = window.open("https://github.com/epam/ketcher/blob/".concat("v2.
|
|
3073
|
+
return (_window$open = window.open("https://github.com/epam/ketcher/blob/".concat("v2.10.0-rc.2\n", "/documentation/help.md#ketcher-overview"))) === null || _window$open === void 0 ? void 0 : _window$open.focus();
|
|
3080
3074
|
};
|
|
3081
3075
|
var help = {
|
|
3082
3076
|
help: {
|
|
@@ -7055,7 +7049,7 @@ function Icon(_ref) {
|
|
|
7055
7049
|
return jsxRuntime.jsx(Component, _objectSpread$17({}, props));
|
|
7056
7050
|
}
|
|
7057
7051
|
|
|
7058
|
-
var classes$
|
|
7052
|
+
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
7053
|
|
|
7060
7054
|
var shortcutAliasMap = {
|
|
7061
7055
|
Escape: 'Esc',
|
|
@@ -7094,10 +7088,11 @@ var ActionButton = function ActionButton(props) {
|
|
|
7094
7088
|
}
|
|
7095
7089
|
};
|
|
7096
7090
|
return jsxRuntime.jsxs("button", {
|
|
7091
|
+
"data-testid": name,
|
|
7097
7092
|
disabled: disabled,
|
|
7098
7093
|
onClick: handleClick,
|
|
7099
7094
|
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$
|
|
7095
|
+
className: clsx__default["default"](classes$N.button, _defineProperty__default["default"]({}, classes$N.selected, selected), className),
|
|
7101
7096
|
children: [jsxRuntime.jsx(Icon, {
|
|
7102
7097
|
name: name
|
|
7103
7098
|
}), jsxRuntime.jsx("kbd", {
|
|
@@ -7253,7 +7248,7 @@ var DefaultMultiTool = function DefaultMultiTool(props) {
|
|
|
7253
7248
|
});
|
|
7254
7249
|
};
|
|
7255
7250
|
|
|
7256
|
-
var classes$
|
|
7251
|
+
var classes$M = {"group":"GroupedMultiTool-module_group__BJQAU"};
|
|
7257
7252
|
|
|
7258
7253
|
var GroupedMultiTool = function GroupedMultiTool(props) {
|
|
7259
7254
|
var groups = props.groups,
|
|
@@ -7268,7 +7263,7 @@ var GroupedMultiTool = function GroupedMultiTool(props) {
|
|
|
7268
7263
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
7269
7264
|
children: groups.map(function (descriptor) {
|
|
7270
7265
|
return jsxRuntime.jsx("div", {
|
|
7271
|
-
className: classes$
|
|
7266
|
+
className: classes$M.group,
|
|
7272
7267
|
children: options.slice(descriptor.start, descriptor.end).map(function (toolbarItem) {
|
|
7273
7268
|
var currentStatus = status[toolbarItem.id];
|
|
7274
7269
|
return jsxRuntime.jsx(ActionButton, {
|
|
@@ -7298,7 +7293,7 @@ function chooseMultiTool() {
|
|
|
7298
7293
|
}
|
|
7299
7294
|
}
|
|
7300
7295
|
|
|
7301
|
-
var classes$
|
|
7296
|
+
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
7297
|
|
|
7303
7298
|
function usePortalOpening(_ref) {
|
|
7304
7299
|
var _ref2 = _slicedToArray__default["default"](_ref, 3),
|
|
@@ -7417,7 +7412,7 @@ var ToolbarMultiToolItem = function ToolbarMultiToolItem(props) {
|
|
|
7417
7412
|
portalClassName = _chooseMultiTool2[1];
|
|
7418
7413
|
return displayMultiToolItem ? jsxRuntime.jsxs("div", {
|
|
7419
7414
|
ref: ref,
|
|
7420
|
-
className: classes$
|
|
7415
|
+
className: classes$L.root,
|
|
7421
7416
|
children: [jsxRuntime.jsx(ActionButton, _objectSpread$16(_objectSpread$16({}, actionButtonProps), {}, {
|
|
7422
7417
|
className: className,
|
|
7423
7418
|
name: currentId,
|
|
@@ -7425,12 +7420,12 @@ var ToolbarMultiToolItem = function ToolbarMultiToolItem(props) {
|
|
|
7425
7420
|
status: currentStatus,
|
|
7426
7421
|
selected: selected
|
|
7427
7422
|
})), !isOpen && jsxRuntime.jsx(Icon, {
|
|
7428
|
-
className: "".concat(classes$
|
|
7423
|
+
className: "".concat(classes$L.icon, " ").concat((currentStatus === null || currentStatus === void 0 ? void 0 : currentStatus.selected) && classes$L.iconSelected),
|
|
7429
7424
|
name: "dropdown",
|
|
7430
7425
|
onClick: onOpenOptions
|
|
7431
7426
|
}), isOpen ? jsxRuntime.jsx(Portal, {
|
|
7432
7427
|
isOpen: isOpen,
|
|
7433
|
-
className: clsx__default["default"](classes$
|
|
7428
|
+
className: clsx__default["default"](classes$L.portal, vertical && classes$L['portal-vertical'], portalClassName),
|
|
7434
7429
|
style: portalStyle,
|
|
7435
7430
|
children: jsxRuntime.jsx(Component, {
|
|
7436
7431
|
options: options,
|
|
@@ -7515,7 +7510,7 @@ var TemplatesList = function TemplatesList(props) {
|
|
|
7515
7510
|
});
|
|
7516
7511
|
};
|
|
7517
7512
|
|
|
7518
|
-
var classes$
|
|
7513
|
+
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
7514
|
|
|
7520
7515
|
var _excluded$A = ["className"];
|
|
7521
7516
|
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 +7519,7 @@ var Group$1 = function Group(_ref) {
|
|
|
7524
7519
|
var children = _ref.children,
|
|
7525
7520
|
className = _ref.className;
|
|
7526
7521
|
return jsxRuntime.jsx("div", {
|
|
7527
|
-
className: clsx__default["default"](classes$
|
|
7522
|
+
className: clsx__default["default"](classes$K.group, className),
|
|
7528
7523
|
children: children
|
|
7529
7524
|
});
|
|
7530
7525
|
};
|
|
@@ -7536,7 +7531,7 @@ var BottomToolbar = function BottomToolbar(props) {
|
|
|
7536
7531
|
indigoVerification = rest.indigoVerification,
|
|
7537
7532
|
onAction = rest.onAction;
|
|
7538
7533
|
return jsxRuntime.jsxs("div", {
|
|
7539
|
-
className: clsx__default["default"](classes$
|
|
7534
|
+
className: clsx__default["default"](classes$K.root, className),
|
|
7540
7535
|
children: [jsxRuntime.jsx(Group$1, {
|
|
7541
7536
|
children: jsxRuntime.jsx(TemplatesList, {
|
|
7542
7537
|
active: active,
|
|
@@ -7952,9 +7947,11 @@ var RenderStruct = function () {
|
|
|
7952
7947
|
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
7953
7948
|
if (el && struct) {
|
|
7954
7949
|
var _options$cachePrefix = options.cachePrefix,
|
|
7955
|
-
cachePrefix = _options$cachePrefix === void 0 ? '' : _options$cachePrefix
|
|
7950
|
+
cachePrefix = _options$cachePrefix === void 0 ? '' : _options$cachePrefix,
|
|
7951
|
+
_options$needCache = options.needCache,
|
|
7952
|
+
needCache = _options$needCache === void 0 ? true : _options$needCache;
|
|
7956
7953
|
var cacheKey = "".concat(cachePrefix).concat(struct.name);
|
|
7957
|
-
if (renderCache.has(cacheKey)) {
|
|
7954
|
+
if (renderCache.has(cacheKey) && needCache) {
|
|
7958
7955
|
el.innerHTML = renderCache.get(cacheKey);
|
|
7959
7956
|
return;
|
|
7960
7957
|
}
|
|
@@ -7968,7 +7965,9 @@ var RenderStruct = function () {
|
|
|
7968
7965
|
}, options));
|
|
7969
7966
|
rnd.setMolecule(preparedStruct);
|
|
7970
7967
|
rnd.update(true, options.viewSz);
|
|
7971
|
-
|
|
7968
|
+
if (needCache) {
|
|
7969
|
+
renderCache.set(cacheKey, rnd.clientArea.innerHTML);
|
|
7970
|
+
}
|
|
7972
7971
|
}
|
|
7973
7972
|
}
|
|
7974
7973
|
}]);
|
|
@@ -8095,6 +8094,26 @@ function memoizedDebounce(func) {
|
|
|
8095
8094
|
|
|
8096
8095
|
var showTooltipTimer = null;
|
|
8097
8096
|
var TOOLTIP_DELAY = 300;
|
|
8097
|
+
function makeStruct(editor, sGroup) {
|
|
8098
|
+
var existingStruct = editor.struct();
|
|
8099
|
+
var struct = new ketcherCore.Struct();
|
|
8100
|
+
var atomsIdMapping = new Map();
|
|
8101
|
+
sGroup.atoms.forEach(function (atomId) {
|
|
8102
|
+
var atomIdInTooltip = struct.atoms.add(existingStruct.atoms.get(atomId));
|
|
8103
|
+
atomsIdMapping.set(atomId, atomIdInTooltip);
|
|
8104
|
+
});
|
|
8105
|
+
Array.from(existingStruct.bonds).forEach(function (value) {
|
|
8106
|
+
var _value = _slicedToArray__default["default"](value, 2);
|
|
8107
|
+
_value[0];
|
|
8108
|
+
var bond = _value[1];
|
|
8109
|
+
var clonedBond = bond.clone(atomsIdMapping);
|
|
8110
|
+
var isInsideSGroup = sGroup.atoms.includes(bond.begin) || sGroup.atoms.includes(bond.end);
|
|
8111
|
+
if (isInsideSGroup) {
|
|
8112
|
+
struct.bonds.add(clonedBond);
|
|
8113
|
+
}
|
|
8114
|
+
});
|
|
8115
|
+
return struct;
|
|
8116
|
+
}
|
|
8098
8117
|
function showTooltip(editor, infoPanelData) {
|
|
8099
8118
|
editor.event.showInfo.dispatch(null);
|
|
8100
8119
|
if (showTooltipTimer) {
|
|
@@ -8113,9 +8132,10 @@ function showFunctionalGroupsTooltip(editor) {
|
|
|
8113
8132
|
if (closestCollapsibleStructures) {
|
|
8114
8133
|
var _editor$struct;
|
|
8115
8134
|
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) {
|
|
8135
|
+
if (sGroup && !sGroup.data.expanded && sGroup.hovering) {
|
|
8117
8136
|
var groupName = sGroup.data.name;
|
|
8118
|
-
var groupStruct =
|
|
8137
|
+
var groupStruct = makeStruct(editor, sGroup);
|
|
8138
|
+
groupStruct.name = groupName;
|
|
8119
8139
|
infoPanelData = {
|
|
8120
8140
|
groupStruct: groupStruct,
|
|
8121
8141
|
event: event,
|
|
@@ -8522,7 +8542,7 @@ var selectOptions$2 = makeItems(['select-rectangle', 'select-lasso', 'select-fra
|
|
|
8522
8542
|
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
8543
|
var mappingOptions = makeItems(['reaction-map', 'reaction-unmap', 'reaction-automap']);
|
|
8524
8544
|
|
|
8525
|
-
var classes$
|
|
8545
|
+
var classes$J = {"scroll":"ArrowScroll-module_scroll__h9kCx","button":"ArrowScroll-module_button__ygMgL","down":"ArrowScroll-module_down__yDzZX","up":"ArrowScroll-module_up__Q1ubd"};
|
|
8526
8546
|
|
|
8527
8547
|
function useSettingsContext() {
|
|
8528
8548
|
return React__default["default"].useContext(settingsContext);
|
|
@@ -8641,7 +8661,7 @@ var ArrowScroll = function ArrowScroll(_ref) {
|
|
|
8641
8661
|
};
|
|
8642
8662
|
}, [endInView]);
|
|
8643
8663
|
return jsxRuntime.jsxs("div", {
|
|
8644
|
-
className: classes$
|
|
8664
|
+
className: classes$J.scroll,
|
|
8645
8665
|
children: [endInView ? jsxRuntime.jsx(jsxRuntime.Fragment, {}) : jsxRuntime.jsx("button", {
|
|
8646
8666
|
onClick: function onClick() {
|
|
8647
8667
|
return scrollDown();
|
|
@@ -8652,7 +8672,7 @@ var ArrowScroll = function ArrowScroll(_ref) {
|
|
|
8652
8672
|
onMouseDown: function onMouseDown() {
|
|
8653
8673
|
return setScrollDown(true);
|
|
8654
8674
|
},
|
|
8655
|
-
className: clsx__default["default"](classes$
|
|
8675
|
+
className: clsx__default["default"](classes$J.button, classes$J.down),
|
|
8656
8676
|
children: "\u25BC"
|
|
8657
8677
|
}), startInView ? jsxRuntime.jsx(jsxRuntime.Fragment, {}) : jsxRuntime.jsx("button", {
|
|
8658
8678
|
onClick: function onClick() {
|
|
@@ -8664,7 +8684,7 @@ var ArrowScroll = function ArrowScroll(_ref) {
|
|
|
8664
8684
|
onMouseDown: function onMouseDown() {
|
|
8665
8685
|
return setScrollUp(true);
|
|
8666
8686
|
},
|
|
8667
|
-
className: clsx__default["default"](classes$
|
|
8687
|
+
className: clsx__default["default"](classes$J.button, classes$J.up),
|
|
8668
8688
|
children: "\u25B2"
|
|
8669
8689
|
})]
|
|
8670
8690
|
});
|
|
@@ -8750,7 +8770,7 @@ var Transform = function Transform(props) {
|
|
|
8750
8770
|
});
|
|
8751
8771
|
};
|
|
8752
8772
|
|
|
8753
|
-
var classes$
|
|
8773
|
+
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
8774
|
|
|
8755
8775
|
var _excluded$v = ["className"];
|
|
8756
8776
|
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 +8830,7 @@ var LeftToolbar = function LeftToolbar(props) {
|
|
|
8810
8830
|
});
|
|
8811
8831
|
}
|
|
8812
8832
|
return visibleItems.length ? jsxRuntime.jsx("div", {
|
|
8813
|
-
className: clsx__default["default"](classes$
|
|
8833
|
+
className: clsx__default["default"](classes$I.group, className),
|
|
8814
8834
|
children: visibleItems.map(function (item) {
|
|
8815
8835
|
switch (item.id) {
|
|
8816
8836
|
case 'bond-common':
|
|
@@ -8841,16 +8861,16 @@ var LeftToolbar = function LeftToolbar(props) {
|
|
|
8841
8861
|
}) : null;
|
|
8842
8862
|
};
|
|
8843
8863
|
return jsxRuntime.jsxs("div", {
|
|
8844
|
-
className: clsx__default["default"](classes$
|
|
8864
|
+
className: clsx__default["default"](classes$I.root, className),
|
|
8845
8865
|
ref: ref,
|
|
8846
8866
|
children: [jsxRuntime.jsxs("div", {
|
|
8847
|
-
className: classes$
|
|
8867
|
+
className: classes$I.buttons,
|
|
8848
8868
|
ref: scrollRef,
|
|
8849
8869
|
children: [jsxRuntime.jsx("div", {
|
|
8850
|
-
className: classes$
|
|
8870
|
+
className: classes$I.listener,
|
|
8851
8871
|
ref: startRef,
|
|
8852
8872
|
children: jsxRuntime.jsx(Group, {
|
|
8853
|
-
className: classes$
|
|
8873
|
+
className: classes$I.groupItem,
|
|
8854
8874
|
items: [{
|
|
8855
8875
|
id: 'hand'
|
|
8856
8876
|
}, {
|
|
@@ -8861,7 +8881,7 @@ var LeftToolbar = function LeftToolbar(props) {
|
|
|
8861
8881
|
}]
|
|
8862
8882
|
})
|
|
8863
8883
|
}), jsxRuntime.jsx(Group, {
|
|
8864
|
-
className: classes$
|
|
8884
|
+
className: classes$I.groupItem,
|
|
8865
8885
|
items: [{
|
|
8866
8886
|
id: 'bonds',
|
|
8867
8887
|
options: [].concat(_toConsumableArray__default["default"](bondCommon), _toConsumableArray__default["default"](bondQuery), _toConsumableArray__default["default"](bondSpecial), _toConsumableArray__default["default"](bondStereo))
|
|
@@ -8869,30 +8889,30 @@ var LeftToolbar = function LeftToolbar(props) {
|
|
|
8869
8889
|
id: 'chain'
|
|
8870
8890
|
}]
|
|
8871
8891
|
}), jsxRuntime.jsx(Group, {
|
|
8872
|
-
className: classes$
|
|
8892
|
+
className: classes$I.groupItem,
|
|
8873
8893
|
items: [{
|
|
8874
8894
|
id: 'enhanced-stereo'
|
|
8875
8895
|
}]
|
|
8876
8896
|
}), jsxRuntime.jsx(Group, {
|
|
8877
|
-
className: classes$
|
|
8897
|
+
className: classes$I.groupItem,
|
|
8878
8898
|
items: [{
|
|
8879
8899
|
id: 'charge-plus'
|
|
8880
8900
|
}, {
|
|
8881
8901
|
id: 'charge-minus'
|
|
8882
8902
|
}]
|
|
8883
8903
|
}), jsxRuntime.jsx(Group, {
|
|
8884
|
-
className: classes$
|
|
8904
|
+
className: classes$I.groupItem,
|
|
8885
8905
|
items: [{
|
|
8886
8906
|
id: 'transforms',
|
|
8887
8907
|
options: transformOptions
|
|
8888
8908
|
}]
|
|
8889
8909
|
}), jsxRuntime.jsx(Group, {
|
|
8890
|
-
className: classes$
|
|
8910
|
+
className: classes$I.groupItem,
|
|
8891
8911
|
items: [{
|
|
8892
8912
|
id: 'sgroup'
|
|
8893
8913
|
}]
|
|
8894
8914
|
}), jsxRuntime.jsx(Group, {
|
|
8895
|
-
className: classes$
|
|
8915
|
+
className: classes$I.groupItem,
|
|
8896
8916
|
items: [{
|
|
8897
8917
|
id: 'reaction-plus'
|
|
8898
8918
|
}, {
|
|
@@ -8903,17 +8923,17 @@ var LeftToolbar = function LeftToolbar(props) {
|
|
|
8903
8923
|
options: mappingOptions
|
|
8904
8924
|
}]
|
|
8905
8925
|
}), jsxRuntime.jsx("div", {
|
|
8906
|
-
className: classes$
|
|
8926
|
+
className: classes$I.listener,
|
|
8907
8927
|
ref: sizeRef,
|
|
8908
8928
|
children: jsxRuntime.jsx(Group, {
|
|
8909
|
-
className: classes$
|
|
8929
|
+
className: classes$I.groupItem,
|
|
8910
8930
|
items: [{
|
|
8911
8931
|
id: 'rgroup',
|
|
8912
8932
|
options: rGroupOptions
|
|
8913
8933
|
}]
|
|
8914
8934
|
})
|
|
8915
8935
|
}), jsxRuntime.jsx(Group, {
|
|
8916
|
-
className: classes$
|
|
8936
|
+
className: classes$I.groupItem,
|
|
8917
8937
|
items: [{
|
|
8918
8938
|
id: 'shapes',
|
|
8919
8939
|
options: shapeOptions
|
|
@@ -8921,7 +8941,7 @@ var LeftToolbar = function LeftToolbar(props) {
|
|
|
8921
8941
|
}), jsxRuntime.jsx("div", {
|
|
8922
8942
|
ref: endRef,
|
|
8923
8943
|
children: jsxRuntime.jsx(Group, {
|
|
8924
|
-
className: classes$
|
|
8944
|
+
className: classes$I.groupItem,
|
|
8925
8945
|
items: [{
|
|
8926
8946
|
id: 'text'
|
|
8927
8947
|
}]
|
|
@@ -8962,7 +8982,7 @@ var mapDispatchToProps$h = function mapDispatchToProps(dispatch) {
|
|
|
8962
8982
|
};
|
|
8963
8983
|
var LeftToolbarContainer = reactRedux.connect(mapStateToProps$i, mapDispatchToProps$h)(LeftToolbar);
|
|
8964
8984
|
|
|
8965
|
-
var classes$
|
|
8985
|
+
var classes$H = {"button-common-styles":"Atom-module_button-common-styles__j3EUJ","scrollbar":"Atom-module_scrollbar__iO-Ni","atom":"Atom-module_atom__g2RUu"};
|
|
8966
8986
|
|
|
8967
8987
|
var _excluded$u = ["el", "shortcut", "selected"];
|
|
8968
8988
|
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 +8994,7 @@ function Atom$1(_ref) {
|
|
|
8974
8994
|
props = _objectWithoutProperties__default["default"](_ref, _excluded$u);
|
|
8975
8995
|
return jsxRuntime.jsx("button", _objectSpread$S(_objectSpread$S({
|
|
8976
8996
|
title: shortcut ? "".concat(el.title, " (").concat(shortcut, ")") : el.title,
|
|
8977
|
-
className: clsx__default["default"](classes$
|
|
8997
|
+
className: clsx__default["default"](classes$H.atom, {
|
|
8978
8998
|
selected: selected
|
|
8979
8999
|
}),
|
|
8980
9000
|
value: el.number
|
|
@@ -9353,7 +9373,7 @@ var AtomsList = React.forwardRef(function (props, ref) {
|
|
|
9353
9373
|
});
|
|
9354
9374
|
});
|
|
9355
9375
|
|
|
9356
|
-
var classes$
|
|
9376
|
+
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
9377
|
|
|
9358
9378
|
var _excluded$t = ["className"];
|
|
9359
9379
|
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 +9382,7 @@ var Group = function Group(_ref) {
|
|
|
9362
9382
|
var children = _ref.children,
|
|
9363
9383
|
className = _ref.className;
|
|
9364
9384
|
return jsxRuntime.jsx("div", {
|
|
9365
|
-
className: clsx__default["default"](classes$
|
|
9385
|
+
className: clsx__default["default"](classes$G.group, className),
|
|
9366
9386
|
children: children
|
|
9367
9387
|
});
|
|
9368
9388
|
};
|
|
@@ -9393,12 +9413,12 @@ var RightToolbar = function RightToolbar(props) {
|
|
|
9393
9413
|
scrollRef.current.scrollTop += sizeRef.current.offsetHeight;
|
|
9394
9414
|
};
|
|
9395
9415
|
return jsxRuntime.jsxs("div", {
|
|
9396
|
-
className: clsx__default["default"](classes$
|
|
9416
|
+
className: clsx__default["default"](classes$G.root, className),
|
|
9397
9417
|
children: [jsxRuntime.jsxs("div", {
|
|
9398
|
-
className: classes$
|
|
9418
|
+
className: classes$G.buttons,
|
|
9399
9419
|
ref: scrollRef,
|
|
9400
9420
|
children: [jsxRuntime.jsxs(Group, {
|
|
9401
|
-
className: classes$
|
|
9421
|
+
className: classes$G.atomsList,
|
|
9402
9422
|
children: [jsxRuntime.jsx(AtomsList, {
|
|
9403
9423
|
ref: startRef,
|
|
9404
9424
|
atoms: basicAtoms,
|
|
@@ -10111,7 +10131,8 @@ var mapDispatchToProps$e = function mapDispatchToProps(dispatch) {
|
|
|
10111
10131
|
return dispatchAction('open');
|
|
10112
10132
|
},
|
|
10113
10133
|
onSave: function onSave() {
|
|
10114
|
-
|
|
10134
|
+
dispatch(removeStructAction());
|
|
10135
|
+
dispatchAction('save');
|
|
10115
10136
|
},
|
|
10116
10137
|
onUndo: function onUndo() {
|
|
10117
10138
|
return dispatchAction('undo');
|
|
@@ -10261,9 +10282,9 @@ function lookup(map, event) {
|
|
|
10261
10282
|
}
|
|
10262
10283
|
keyNorm.lookup = lookup;
|
|
10263
10284
|
|
|
10264
|
-
function _createForOfIteratorHelper$
|
|
10265
|
-
function _unsupportedIterableToArray$
|
|
10266
|
-
function _arrayLikeToArray$
|
|
10285
|
+
function _createForOfIteratorHelper$c(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$c(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; } } }; }
|
|
10286
|
+
function _unsupportedIterableToArray$c(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$c(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$c(o, minLen); }
|
|
10287
|
+
function _arrayLikeToArray$c(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; }
|
|
10267
10288
|
var APointTool = function () {
|
|
10268
10289
|
function APointTool(editor) {
|
|
10269
10290
|
_classCallCheck__default["default"](this, APointTool);
|
|
@@ -10299,7 +10320,7 @@ var APointTool = function () {
|
|
|
10299
10320
|
}
|
|
10300
10321
|
}
|
|
10301
10322
|
if (atomResult.length > 0) {
|
|
10302
|
-
var _iterator = _createForOfIteratorHelper$
|
|
10323
|
+
var _iterator = _createForOfIteratorHelper$c(atomResult),
|
|
10303
10324
|
_step;
|
|
10304
10325
|
try {
|
|
10305
10326
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -10410,9 +10431,9 @@ var utils = {
|
|
|
10410
10431
|
getNonGroupItemsAndAttachmentPoints: getNonGroupItemsAndAttachmentPoints
|
|
10411
10432
|
};
|
|
10412
10433
|
|
|
10413
|
-
function _createForOfIteratorHelper$
|
|
10414
|
-
function _unsupportedIterableToArray$
|
|
10415
|
-
function _arrayLikeToArray$
|
|
10434
|
+
function _createForOfIteratorHelper$b(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$b(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; } } }; }
|
|
10435
|
+
function _unsupportedIterableToArray$b(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$b(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$b(o, minLen); }
|
|
10436
|
+
function _arrayLikeToArray$b(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; }
|
|
10416
10437
|
function _classPrivateFieldInitSpec$2(obj, privateMap, value) { _checkPrivateRedeclaration$2(obj, privateMap); privateMap.set(obj, value); }
|
|
10417
10438
|
function _checkPrivateRedeclaration$2(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
|
10418
10439
|
var _bondProps = new WeakMap();
|
|
@@ -10489,7 +10510,7 @@ var AtomTool = function () {
|
|
|
10489
10510
|
if (atomId !== null) atomResult.push(atomId);
|
|
10490
10511
|
}
|
|
10491
10512
|
if (atomResult.length > 0) {
|
|
10492
|
-
var _iterator = _createForOfIteratorHelper$
|
|
10513
|
+
var _iterator = _createForOfIteratorHelper$b(atomResult),
|
|
10493
10514
|
_step;
|
|
10494
10515
|
try {
|
|
10495
10516
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -10520,12 +10541,14 @@ var AtomTool = function () {
|
|
|
10520
10541
|
}, {
|
|
10521
10542
|
key: "mousemove",
|
|
10522
10543
|
value: function mousemove(event) {
|
|
10523
|
-
this.editor.hoverIcon.show();
|
|
10524
10544
|
var rnd = this.editor.render;
|
|
10525
10545
|
if (!this.dragCtx || !this.dragCtx.item) {
|
|
10546
|
+
this.editor.hoverIcon.show();
|
|
10526
10547
|
this.editor.hoverIcon.updatePosition();
|
|
10527
10548
|
this.editor.hover(this.editor.findItem(event, ['atoms', 'functionalGroups']), null, event);
|
|
10528
10549
|
return;
|
|
10550
|
+
} else {
|
|
10551
|
+
this.editor.hoverIcon.hide();
|
|
10529
10552
|
}
|
|
10530
10553
|
var dragCtx = this.dragCtx;
|
|
10531
10554
|
var ci = this.editor.findItem(event, ['atoms']);
|
|
@@ -10542,7 +10565,7 @@ var AtomTool = function () {
|
|
|
10542
10565
|
});
|
|
10543
10566
|
var newAtomPos = utils.calcNewAtomPos(atom === null || atom === void 0 ? void 0 : atom.pp, rnd.page2obj(event), event.ctrlKey);
|
|
10544
10567
|
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),
|
|
10568
|
+
dragCtx.action = ketcherCore.fromBondAddition(rnd.ctab, _classPrivateFieldGet__default["default"](this, _bondProps), dragCtx.item.id, Object.assign({}, this.atomProps), undefined, newAtomPos)[0];
|
|
10546
10569
|
this.editor.update(dragCtx.action, true);
|
|
10547
10570
|
}
|
|
10548
10571
|
}, {
|
|
@@ -10559,7 +10582,7 @@ var AtomTool = function () {
|
|
|
10559
10582
|
if (atomId !== null) atomResult.push(atomId);
|
|
10560
10583
|
}
|
|
10561
10584
|
if (atomResult.length > 0) {
|
|
10562
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
10585
|
+
var _iterator2 = _createForOfIteratorHelper$b(atomResult),
|
|
10563
10586
|
_step2;
|
|
10564
10587
|
try {
|
|
10565
10588
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -10628,9 +10651,9 @@ function atomLongtapEvent(tool, render) {
|
|
|
10628
10651
|
};
|
|
10629
10652
|
}
|
|
10630
10653
|
|
|
10631
|
-
function _createForOfIteratorHelper$
|
|
10632
|
-
function _unsupportedIterableToArray$
|
|
10633
|
-
function _arrayLikeToArray$
|
|
10654
|
+
function _createForOfIteratorHelper$a(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$a(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; } } }; }
|
|
10655
|
+
function _unsupportedIterableToArray$a(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$a(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$a(o, minLen); }
|
|
10656
|
+
function _arrayLikeToArray$a(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; }
|
|
10634
10657
|
var AttachTool = function () {
|
|
10635
10658
|
function AttachTool(editor, attachPoints) {
|
|
10636
10659
|
_classCallCheck__default["default"](this, AttachTool);
|
|
@@ -10683,7 +10706,7 @@ var AttachTool = function () {
|
|
|
10683
10706
|
}
|
|
10684
10707
|
}
|
|
10685
10708
|
if (atomResult.length > 0) {
|
|
10686
|
-
var _iterator = _createForOfIteratorHelper$
|
|
10709
|
+
var _iterator = _createForOfIteratorHelper$a(atomResult),
|
|
10687
10710
|
_step;
|
|
10688
10711
|
try {
|
|
10689
10712
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -10703,7 +10726,7 @@ var AttachTool = function () {
|
|
|
10703
10726
|
});
|
|
10704
10727
|
return;
|
|
10705
10728
|
} else if (bondResult.length > 0) {
|
|
10706
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
10729
|
+
var _iterator2 = _createForOfIteratorHelper$a(bondResult),
|
|
10707
10730
|
_step2;
|
|
10708
10731
|
try {
|
|
10709
10732
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -10739,9 +10762,9 @@ var AttachTool = function () {
|
|
|
10739
10762
|
return AttachTool;
|
|
10740
10763
|
}();
|
|
10741
10764
|
|
|
10742
|
-
function _createForOfIteratorHelper$
|
|
10743
|
-
function _unsupportedIterableToArray$
|
|
10744
|
-
function _arrayLikeToArray$
|
|
10765
|
+
function _createForOfIteratorHelper$9(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$9(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; } } }; }
|
|
10766
|
+
function _unsupportedIterableToArray$9(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$9(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$9(o, minLen); }
|
|
10767
|
+
function _arrayLikeToArray$9(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; }
|
|
10745
10768
|
var BondTool = function () {
|
|
10746
10769
|
function BondTool(editor, bondProps) {
|
|
10747
10770
|
var _editor$selection;
|
|
@@ -10765,7 +10788,7 @@ var BondTool = function () {
|
|
|
10765
10788
|
var struct = this.editor.render.ctab;
|
|
10766
10789
|
var molecule = struct.molecule;
|
|
10767
10790
|
var functionalGroups = molecule.functionalGroups;
|
|
10768
|
-
var ci = this.editor.findItem(event, ['atoms', 'bonds']);
|
|
10791
|
+
var ci = this.editor.findItem(event, ['atoms', 'bonds', 'functionalGroups']);
|
|
10769
10792
|
var atomResult = [];
|
|
10770
10793
|
var bondResult = [];
|
|
10771
10794
|
var result = [];
|
|
@@ -10778,7 +10801,7 @@ var BondTool = function () {
|
|
|
10778
10801
|
if (bondId !== null) bondResult.push(bondId);
|
|
10779
10802
|
}
|
|
10780
10803
|
if (atomResult.length > 0) {
|
|
10781
|
-
var _iterator = _createForOfIteratorHelper$
|
|
10804
|
+
var _iterator = _createForOfIteratorHelper$9(atomResult),
|
|
10782
10805
|
_step;
|
|
10783
10806
|
try {
|
|
10784
10807
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -10798,7 +10821,7 @@ var BondTool = function () {
|
|
|
10798
10821
|
});
|
|
10799
10822
|
return;
|
|
10800
10823
|
} else if (bondResult.length > 0) {
|
|
10801
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
10824
|
+
var _iterator2 = _createForOfIteratorHelper$9(bondResult),
|
|
10802
10825
|
_step2;
|
|
10803
10826
|
try {
|
|
10804
10827
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -10818,12 +10841,19 @@ var BondTool = function () {
|
|
|
10818
10841
|
});
|
|
10819
10842
|
return;
|
|
10820
10843
|
}
|
|
10844
|
+
var attachmentAtomId;
|
|
10845
|
+
if ((ci === null || ci === void 0 ? void 0 : ci.map) === 'functionalGroups') {
|
|
10846
|
+
attachmentAtomId = ketcherCore.SGroup.getAttachmentAtomIdBySGroupId(ci.id, molecule);
|
|
10847
|
+
}
|
|
10821
10848
|
var rnd = this.editor.render;
|
|
10822
10849
|
this.editor.hover(null);
|
|
10823
10850
|
this.editor.selection(null);
|
|
10824
10851
|
this.dragCtx = {
|
|
10825
10852
|
xy0: rnd.page2obj(event),
|
|
10826
|
-
item:
|
|
10853
|
+
item: attachmentAtomId === undefined ? ci : {
|
|
10854
|
+
map: 'atoms',
|
|
10855
|
+
id: attachmentAtomId
|
|
10856
|
+
}
|
|
10827
10857
|
};
|
|
10828
10858
|
if (!this.dragCtx.item)
|
|
10829
10859
|
delete this.dragCtx.item;
|
|
@@ -10848,24 +10878,26 @@ var BondTool = function () {
|
|
|
10848
10878
|
info: degrees + 'º'
|
|
10849
10879
|
});
|
|
10850
10880
|
if (!('item' in dragCtx) || dragCtx.item.map === 'atoms') {
|
|
10851
|
-
var
|
|
10881
|
+
var _endAtom2;
|
|
10852
10882
|
if ('action' in dragCtx) dragCtx.action.perform(rnd.ctab);
|
|
10853
10883
|
var beginAtom;
|
|
10854
10884
|
var endAtom;
|
|
10855
10885
|
var beginPos;
|
|
10856
10886
|
var endPos;
|
|
10857
|
-
var extraNeighbour = [];
|
|
10858
10887
|
if ('item' in dragCtx && dragCtx.item.map === 'atoms') {
|
|
10859
10888
|
beginAtom = dragCtx.item.id;
|
|
10860
10889
|
endAtom = editor.findItem(event, ['atoms'], dragCtx.item);
|
|
10861
10890
|
var closestSGroup = editor.findItem(event, ['functionalGroups']);
|
|
10862
10891
|
if (closestSGroup && ketcherCore.FunctionalGroup.isContractedFunctionalGroup(closestSGroup.id, functionalGroups)) {
|
|
10863
|
-
var
|
|
10864
|
-
var
|
|
10865
|
-
|
|
10866
|
-
|
|
10867
|
-
|
|
10868
|
-
|
|
10892
|
+
var closestAttachmentAtomId = ketcherCore.SGroup.getAttachmentAtomIdBySGroupId(closestSGroup.id, molecule);
|
|
10893
|
+
var isSaltOrSolvent = closestAttachmentAtomId === undefined;
|
|
10894
|
+
var isBeginFunctionalGroupItself = closestAttachmentAtomId === beginAtom;
|
|
10895
|
+
if (!isSaltOrSolvent && !isBeginFunctionalGroupItself) {
|
|
10896
|
+
endAtom = {
|
|
10897
|
+
id: closestAttachmentAtomId,
|
|
10898
|
+
map: 'atoms'
|
|
10899
|
+
};
|
|
10900
|
+
}
|
|
10869
10901
|
}
|
|
10870
10902
|
var fGroupId = endAtom && ketcherCore.FunctionalGroup.findFunctionalGroupByAtom(functionalGroups, endAtom.id);
|
|
10871
10903
|
var fGroup = typeof fGroupId === 'number' && sgroups.get(fGroupId);
|
|
@@ -10876,27 +10908,28 @@ var BondTool = function () {
|
|
|
10876
10908
|
});
|
|
10877
10909
|
endAtom = null;
|
|
10878
10910
|
}
|
|
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
10911
|
} else {
|
|
10912
|
+
var _endAtom;
|
|
10889
10913
|
beginAtom = this.atomProps;
|
|
10890
10914
|
beginPos = dragCtx.xy0;
|
|
10891
|
-
endAtom = editor.findItem(event, ['atoms']);
|
|
10915
|
+
endAtom = editor.findItem(event, ['atoms', 'functionalGroups']);
|
|
10892
10916
|
var atomResult = [];
|
|
10893
10917
|
var result = [];
|
|
10894
10918
|
if (endAtom && endAtom.map === 'atoms' && functionalGroups.size && this.dragCtx) {
|
|
10895
10919
|
var atomId = ketcherCore.FunctionalGroup.atomsInFunctionalGroup(functionalGroups, endAtom.id);
|
|
10896
10920
|
if (atomId !== null) atomResult.push(atomId);
|
|
10921
|
+
} else if (((_endAtom = endAtom) === null || _endAtom === void 0 ? void 0 : _endAtom.map) === 'functionalGroups') {
|
|
10922
|
+
var functionalGroup = molecule.functionalGroups.get(endAtom.id);
|
|
10923
|
+
if (!ketcherCore.SGroup.isSaltOrSolvent((functionalGroup === null || functionalGroup === void 0 ? void 0 : functionalGroup.name) || '')) {
|
|
10924
|
+
var attachmentAtomId = ketcherCore.SGroup.getAttachmentAtomIdBySGroupId(endAtom.id, molecule);
|
|
10925
|
+
endAtom = attachmentAtomId === undefined ? null : {
|
|
10926
|
+
map: 'atoms',
|
|
10927
|
+
id: attachmentAtomId
|
|
10928
|
+
};
|
|
10929
|
+
}
|
|
10897
10930
|
}
|
|
10898
10931
|
if (atomResult.length > 0) {
|
|
10899
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
10932
|
+
var _iterator3 = _createForOfIteratorHelper$9(atomResult),
|
|
10900
10933
|
_step3;
|
|
10901
10934
|
try {
|
|
10902
10935
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -10919,7 +10952,7 @@ var BondTool = function () {
|
|
|
10919
10952
|
}
|
|
10920
10953
|
}
|
|
10921
10954
|
var dist = Number.MAX_VALUE;
|
|
10922
|
-
if (((
|
|
10955
|
+
if (((_endAtom2 = endAtom) === null || _endAtom2 === void 0 ? void 0 : _endAtom2.map) === 'atoms') {
|
|
10923
10956
|
endAtom = endAtom.id;
|
|
10924
10957
|
} else {
|
|
10925
10958
|
endAtom = this.atomProps;
|
|
@@ -10929,7 +10962,7 @@ var BondTool = function () {
|
|
|
10929
10962
|
endPos = utils.calcNewAtomPos(beginPos, xy1, event.ctrlKey);
|
|
10930
10963
|
} else {
|
|
10931
10964
|
var atom = rnd.ctab.molecule.atoms.get(beginAtom);
|
|
10932
|
-
|
|
10965
|
+
endPos = utils.calcNewAtomPos(atom === null || atom === void 0 ? void 0 : atom.pp.get_xy0(), xy1, event.ctrlKey);
|
|
10933
10966
|
}
|
|
10934
10967
|
}
|
|
10935
10968
|
if (dist > 0.3) {
|
|
@@ -10950,7 +10983,7 @@ var BondTool = function () {
|
|
|
10950
10983
|
return true;
|
|
10951
10984
|
}
|
|
10952
10985
|
}
|
|
10953
|
-
this.editor.hover(this.editor.findItem(event, ['atoms', 'bonds']), null, event);
|
|
10986
|
+
this.editor.hover(this.editor.findItem(event, ['atoms', 'bonds', 'functionalGroups']), null, event);
|
|
10954
10987
|
return true;
|
|
10955
10988
|
}
|
|
10956
10989
|
}, {
|
|
@@ -10973,7 +11006,9 @@ var BondTool = function () {
|
|
|
10973
11006
|
}, ketcherCore.Vec2.diff(xy, v), ketcherCore.Vec2.sum(xy, v));
|
|
10974
11007
|
this.editor.update(bondAddition[0]);
|
|
10975
11008
|
} else if (dragCtx.item.map === 'atoms') {
|
|
10976
|
-
this.editor.update(ketcherCore.fromBondAddition(rnd.ctab, this.bondProps, dragCtx.item.id,
|
|
11009
|
+
this.editor.update(ketcherCore.fromBondAddition(rnd.ctab, this.bondProps, dragCtx.item.id, {
|
|
11010
|
+
label: 'C'
|
|
11011
|
+
})[0]);
|
|
10977
11012
|
delete this.dragCtx.existedBond;
|
|
10978
11013
|
} else if (dragCtx.item.map === 'bonds') {
|
|
10979
11014
|
var bondProps = Object.assign({}, this.bondProps);
|
|
@@ -11007,7 +11042,7 @@ var BondTool = function () {
|
|
|
11007
11042
|
}, {
|
|
11008
11043
|
key: "getExistingBond",
|
|
11009
11044
|
value: function getExistingBond(struct, begin, end) {
|
|
11010
|
-
var _iterator4 = _createForOfIteratorHelper$
|
|
11045
|
+
var _iterator4 = _createForOfIteratorHelper$9(struct.bonds.entries()),
|
|
11011
11046
|
_step4;
|
|
11012
11047
|
try {
|
|
11013
11048
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
@@ -11030,9 +11065,9 @@ var BondTool = function () {
|
|
|
11030
11065
|
return BondTool;
|
|
11031
11066
|
}();
|
|
11032
11067
|
|
|
11033
|
-
function _createForOfIteratorHelper$
|
|
11034
|
-
function _unsupportedIterableToArray$
|
|
11035
|
-
function _arrayLikeToArray$
|
|
11068
|
+
function _createForOfIteratorHelper$8(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$8(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; } } }; }
|
|
11069
|
+
function _unsupportedIterableToArray$8(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$8(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$8(o, minLen); }
|
|
11070
|
+
function _arrayLikeToArray$8(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; }
|
|
11036
11071
|
var ChainTool = function () {
|
|
11037
11072
|
function ChainTool(editor) {
|
|
11038
11073
|
_classCallCheck__default["default"](this, ChainTool);
|
|
@@ -11047,7 +11082,7 @@ var ChainTool = function () {
|
|
|
11047
11082
|
var molecule = struct.molecule;
|
|
11048
11083
|
var functionalGroups = molecule.functionalGroups;
|
|
11049
11084
|
var rnd = this.editor.render;
|
|
11050
|
-
var ci = this.editor.findItem(event, ['atoms', 'bonds']);
|
|
11085
|
+
var ci = this.editor.findItem(event, ['atoms', 'bonds', 'functionalGroups']);
|
|
11051
11086
|
var atomResult = [];
|
|
11052
11087
|
var bondResult = [];
|
|
11053
11088
|
var result = [];
|
|
@@ -11064,7 +11099,7 @@ var ChainTool = function () {
|
|
|
11064
11099
|
}
|
|
11065
11100
|
}
|
|
11066
11101
|
if (atomResult.length > 0) {
|
|
11067
|
-
var _iterator = _createForOfIteratorHelper$
|
|
11102
|
+
var _iterator = _createForOfIteratorHelper$8(atomResult),
|
|
11068
11103
|
_step;
|
|
11069
11104
|
try {
|
|
11070
11105
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -11084,7 +11119,7 @@ var ChainTool = function () {
|
|
|
11084
11119
|
});
|
|
11085
11120
|
return;
|
|
11086
11121
|
} else if (bondResult.length > 0) {
|
|
11087
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
11122
|
+
var _iterator2 = _createForOfIteratorHelper$8(bondResult),
|
|
11088
11123
|
_step2;
|
|
11089
11124
|
try {
|
|
11090
11125
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -11115,6 +11150,18 @@ var ChainTool = function () {
|
|
|
11115
11150
|
});
|
|
11116
11151
|
atomLongtapEvent(this, rnd);
|
|
11117
11152
|
}
|
|
11153
|
+
if ((ci === null || ci === void 0 ? void 0 : ci.map) === 'functionalGroups') {
|
|
11154
|
+
var functionalGroup = molecule.functionalGroups.get(ci.id);
|
|
11155
|
+
if (!ketcherCore.SGroup.isSaltOrSolvent((functionalGroup === null || functionalGroup === void 0 ? void 0 : functionalGroup.name) || '')) {
|
|
11156
|
+
var sGroupId = ci.id;
|
|
11157
|
+
var sGroup = molecule.sgroups.get(sGroupId);
|
|
11158
|
+
var attachmentAtomId = sGroup === null || sGroup === void 0 ? void 0 : sGroup.getAttAtomId(molecule);
|
|
11159
|
+
this.dragCtx.item = {
|
|
11160
|
+
map: 'atoms',
|
|
11161
|
+
id: attachmentAtomId
|
|
11162
|
+
};
|
|
11163
|
+
}
|
|
11164
|
+
}
|
|
11118
11165
|
if (!this.dragCtx.item)
|
|
11119
11166
|
delete this.dragCtx.item;
|
|
11120
11167
|
return true;
|
|
@@ -11125,7 +11172,7 @@ var ChainTool = function () {
|
|
|
11125
11172
|
var editor = this.editor;
|
|
11126
11173
|
var restruct = editor.render.ctab;
|
|
11127
11174
|
var dragCtx = this.dragCtx;
|
|
11128
|
-
editor.hover(this.editor.findItem(event, ['atoms', 'bonds']), null, event);
|
|
11175
|
+
editor.hover(this.editor.findItem(event, ['atoms', 'bonds', 'functionalGroups']), null, event);
|
|
11129
11176
|
if (!dragCtx) {
|
|
11130
11177
|
return true;
|
|
11131
11178
|
}
|
|
@@ -11177,7 +11224,7 @@ var ChainTool = function () {
|
|
|
11177
11224
|
}
|
|
11178
11225
|
}
|
|
11179
11226
|
if (atomResult.length > 0) {
|
|
11180
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
11227
|
+
var _iterator3 = _createForOfIteratorHelper$8(atomResult),
|
|
11181
11228
|
_step3;
|
|
11182
11229
|
try {
|
|
11183
11230
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -11239,9 +11286,9 @@ var ChainTool = function () {
|
|
|
11239
11286
|
return ChainTool;
|
|
11240
11287
|
}();
|
|
11241
11288
|
|
|
11242
|
-
function _createForOfIteratorHelper$
|
|
11243
|
-
function _unsupportedIterableToArray$
|
|
11244
|
-
function _arrayLikeToArray$
|
|
11289
|
+
function _createForOfIteratorHelper$7(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$7(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; } } }; }
|
|
11290
|
+
function _unsupportedIterableToArray$7(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$7(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$7(o, minLen); }
|
|
11291
|
+
function _arrayLikeToArray$7(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; }
|
|
11245
11292
|
var ChargeTool = function () {
|
|
11246
11293
|
function ChargeTool(editor, charge) {
|
|
11247
11294
|
_classCallCheck__default["default"](this, ChargeTool);
|
|
@@ -11282,7 +11329,7 @@ var ChargeTool = function () {
|
|
|
11282
11329
|
}
|
|
11283
11330
|
}
|
|
11284
11331
|
if (atomResult.length > 0) {
|
|
11285
|
-
var _iterator = _createForOfIteratorHelper$
|
|
11332
|
+
var _iterator = _createForOfIteratorHelper$7(atomResult),
|
|
11286
11333
|
_step;
|
|
11287
11334
|
try {
|
|
11288
11335
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -11645,9 +11692,9 @@ var LassoHelper = function () {
|
|
|
11645
11692
|
return LassoHelper;
|
|
11646
11693
|
}();
|
|
11647
11694
|
|
|
11648
|
-
function _createForOfIteratorHelper$
|
|
11649
|
-
function _unsupportedIterableToArray$
|
|
11650
|
-
function _arrayLikeToArray$
|
|
11695
|
+
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; } } }; }
|
|
11696
|
+
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); }
|
|
11697
|
+
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; }
|
|
11651
11698
|
var searchMaps = ['atoms', 'bonds', 'sgroups', 'functionalGroups', 'sgroupData'];
|
|
11652
11699
|
var SGroupTool = function () {
|
|
11653
11700
|
function SGroupTool(editor) {
|
|
@@ -11679,7 +11726,7 @@ var SGroupTool = function () {
|
|
|
11679
11726
|
return fp.isEqual(sgroup.atoms, selectedAtoms);
|
|
11680
11727
|
});
|
|
11681
11728
|
if (selectedAtoms && functionalGroups.size) {
|
|
11682
|
-
var _iterator = _createForOfIteratorHelper$
|
|
11729
|
+
var _iterator = _createForOfIteratorHelper$6(selectedAtoms),
|
|
11683
11730
|
_step;
|
|
11684
11731
|
try {
|
|
11685
11732
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -11691,7 +11738,7 @@ var SGroupTool = function () {
|
|
|
11691
11738
|
}
|
|
11692
11739
|
var atomFromStruct = atomId !== null && ((_struct$atoms$get = struct.atoms.get(atomId)) === null || _struct$atoms$get === void 0 ? void 0 : _struct$atoms$get.a);
|
|
11693
11740
|
if (atomFromStruct) {
|
|
11694
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
11741
|
+
var _iterator2 = _createForOfIteratorHelper$6(atomFromStruct.sgs.values()),
|
|
11695
11742
|
_step2;
|
|
11696
11743
|
try {
|
|
11697
11744
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -11704,7 +11751,7 @@ var SGroupTool = function () {
|
|
|
11704
11751
|
_iterator2.f();
|
|
11705
11752
|
}
|
|
11706
11753
|
}
|
|
11707
|
-
if (atomFromStruct && ketcherCore.FunctionalGroup.isAtomInContractedFunctionalGroup(atomFromStruct, sgroups, functionalGroups, false)) {
|
|
11754
|
+
if (atomFromStruct && (ketcherCore.FunctionalGroup.isAtomInContractedFunctionalGroup(atomFromStruct, sgroups, functionalGroups, false) || ketcherCore.SGroup.isAtomInContractedSGroup(atomFromStruct, sgroups))) {
|
|
11708
11755
|
var _newSelected$atoms, _newSelected$bonds;
|
|
11709
11756
|
var sgroupAtoms = actualSgroupId !== undefined && ketcherCore.SGroup.getAtoms(molecule, sgroups.get(actualSgroupId));
|
|
11710
11757
|
var sgroupBonds = actualSgroupId !== undefined && ketcherCore.SGroup.getBonds(molecule, sgroups.get(actualSgroupId));
|
|
@@ -11724,7 +11771,7 @@ var SGroupTool = function () {
|
|
|
11724
11771
|
atomsResult = [];
|
|
11725
11772
|
}
|
|
11726
11773
|
if (atomsResult && atomsResult.length > 0) {
|
|
11727
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
11774
|
+
var _iterator3 = _createForOfIteratorHelper$6(atomsResult),
|
|
11728
11775
|
_step3;
|
|
11729
11776
|
try {
|
|
11730
11777
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -11766,7 +11813,7 @@ var SGroupTool = function () {
|
|
|
11766
11813
|
var _struct$atoms$get2;
|
|
11767
11814
|
var atomId = ketcherCore.FunctionalGroup.atomsInFunctionalGroup(functionalGroups, ci.id);
|
|
11768
11815
|
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)) {
|
|
11816
|
+
if (atomFromStruct && !(ketcherCore.FunctionalGroup.isAtomInContractedFunctionalGroup(atomFromStruct, sgroups, functionalGroups, true) || ketcherCore.SGroup.isAtomInContractedSGroup(atomFromStruct, sgroups))) {
|
|
11770
11817
|
atomResult.push(atomId);
|
|
11771
11818
|
}
|
|
11772
11819
|
}
|
|
@@ -11774,7 +11821,7 @@ var SGroupTool = function () {
|
|
|
11774
11821
|
var _struct$bonds$get;
|
|
11775
11822
|
var bondId = ketcherCore.FunctionalGroup.bondsInFunctionalGroup(molecule, functionalGroups, ci.id);
|
|
11776
11823
|
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)) {
|
|
11824
|
+
if (bondFromStruct && !(ketcherCore.FunctionalGroup.isBondInContractedFunctionalGroup(bondFromStruct, sgroups, functionalGroups) || ketcherCore.SGroup.isBondInContractedSGroup(bondFromStruct, sgroups))) {
|
|
11778
11825
|
bondResult.push(bondId);
|
|
11779
11826
|
}
|
|
11780
11827
|
}
|
|
@@ -11788,7 +11835,7 @@ var SGroupTool = function () {
|
|
|
11788
11835
|
}
|
|
11789
11836
|
}
|
|
11790
11837
|
if (atomResult.length > 0) {
|
|
11791
|
-
var _iterator4 = _createForOfIteratorHelper$
|
|
11838
|
+
var _iterator4 = _createForOfIteratorHelper$6(atomResult),
|
|
11792
11839
|
_step4;
|
|
11793
11840
|
try {
|
|
11794
11841
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
@@ -11808,7 +11855,7 @@ var SGroupTool = function () {
|
|
|
11808
11855
|
});
|
|
11809
11856
|
return;
|
|
11810
11857
|
} else if (bondResult.length > 0) {
|
|
11811
|
-
var _iterator5 = _createForOfIteratorHelper$
|
|
11858
|
+
var _iterator5 = _createForOfIteratorHelper$6(bondResult),
|
|
11812
11859
|
_step5;
|
|
11813
11860
|
try {
|
|
11814
11861
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
@@ -11870,7 +11917,7 @@ var SGroupTool = function () {
|
|
|
11870
11917
|
var result = [];
|
|
11871
11918
|
if (ci && ci.map === 'functionalGroups' && functionalGroups.size && ketcherCore.FunctionalGroup.isContractedFunctionalGroup(ci.id, functionalGroups)) return;
|
|
11872
11919
|
if (selected && functionalGroups.size && selected.atoms) {
|
|
11873
|
-
var _iterator6 = _createForOfIteratorHelper$
|
|
11920
|
+
var _iterator6 = _createForOfIteratorHelper$6(selected.atoms),
|
|
11874
11921
|
_step6;
|
|
11875
11922
|
try {
|
|
11876
11923
|
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
@@ -11882,7 +11929,7 @@ var SGroupTool = function () {
|
|
|
11882
11929
|
}
|
|
11883
11930
|
var atomFromStruct = atomId !== null && ((_struct$atoms$get3 = struct.atoms.get(atomId)) === null || _struct$atoms$get3 === void 0 ? void 0 : _struct$atoms$get3.a);
|
|
11884
11931
|
if (atomFromStruct) {
|
|
11885
|
-
var _iterator7 = _createForOfIteratorHelper$
|
|
11932
|
+
var _iterator7 = _createForOfIteratorHelper$6(atomFromStruct.sgs.values()),
|
|
11886
11933
|
_step7;
|
|
11887
11934
|
try {
|
|
11888
11935
|
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
|
|
@@ -11895,7 +11942,7 @@ var SGroupTool = function () {
|
|
|
11895
11942
|
_iterator7.f();
|
|
11896
11943
|
}
|
|
11897
11944
|
}
|
|
11898
|
-
if (atomFromStruct && ketcherCore.FunctionalGroup.isAtomInContractedFunctionalGroup(atomFromStruct, sgroups, functionalGroups, true)) {
|
|
11945
|
+
if (atomFromStruct && (ketcherCore.FunctionalGroup.isAtomInContractedFunctionalGroup(atomFromStruct, sgroups, functionalGroups, true) || ketcherCore.SGroup.isAtomInContractedSGroup(atomFromStruct, sgroups))) {
|
|
11899
11946
|
var _struct$sgroups$get, _struct$sgroups$get2, _newSelected$atoms2, _newSelected$bonds2;
|
|
11900
11947
|
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
11948
|
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);
|
|
@@ -11912,7 +11959,7 @@ var SGroupTool = function () {
|
|
|
11912
11959
|
}
|
|
11913
11960
|
}
|
|
11914
11961
|
if (selected && functionalGroups.size && selected.bonds) {
|
|
11915
|
-
var _iterator8 = _createForOfIteratorHelper$
|
|
11962
|
+
var _iterator8 = _createForOfIteratorHelper$6(selected.bonds),
|
|
11916
11963
|
_step8;
|
|
11917
11964
|
try {
|
|
11918
11965
|
for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
|
|
@@ -11954,7 +12001,7 @@ var SGroupTool = function () {
|
|
|
11954
12001
|
bondsResult = null;
|
|
11955
12002
|
}
|
|
11956
12003
|
if (atomsResult && atomsResult.length > 0) {
|
|
11957
|
-
var _iterator9 = _createForOfIteratorHelper$
|
|
12004
|
+
var _iterator9 = _createForOfIteratorHelper$6(atomsResult),
|
|
11958
12005
|
_step9;
|
|
11959
12006
|
try {
|
|
11960
12007
|
for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
|
|
@@ -11971,7 +12018,7 @@ var SGroupTool = function () {
|
|
|
11971
12018
|
}
|
|
11972
12019
|
}
|
|
11973
12020
|
if (bondsResult && bondsResult.length > 0) {
|
|
11974
|
-
var _iterator10 = _createForOfIteratorHelper$
|
|
12021
|
+
var _iterator10 = _createForOfIteratorHelper$6(bondsResult),
|
|
11975
12022
|
_step10;
|
|
11976
12023
|
try {
|
|
11977
12024
|
for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
|
|
@@ -12124,6 +12171,9 @@ function fromContextType(id, editor, newSg, currSelection) {
|
|
|
12124
12171
|
var sg = restruct.molecule.sgroups.get(id);
|
|
12125
12172
|
var sourceAtoms = sg && sg.atoms || currSelection.atoms || [];
|
|
12126
12173
|
var context = newSg.attrs.context;
|
|
12174
|
+
if (newSg.type === ketcherCore.SGroup.TYPES.SUP) {
|
|
12175
|
+
newSg.attrs.expanded = true;
|
|
12176
|
+
}
|
|
12127
12177
|
var result = ketcherCore.fromSgroupAction(context, restruct, newSg, sourceAtoms, currSelection);
|
|
12128
12178
|
result.selection = result.selection || currSelection;
|
|
12129
12179
|
if (id !== null && id !== undefined) {
|
|
@@ -12192,8 +12242,16 @@ function dropAndMerge(editor, mergeItems, action, resizeCanvas) {
|
|
|
12192
12242
|
if (isMerging) {
|
|
12193
12243
|
var expandGroupsAction = getExpandGroupsInMergeAction(editor.render.ctab, mergeItems);
|
|
12194
12244
|
dropItemAction = dropItemAction.mergeWith(expandGroupsAction);
|
|
12245
|
+
if (mergeItems.atomToFunctionalGroup) {
|
|
12246
|
+
var _extractAttachmentAto = extractAttachmentAtom(mergeItems, editor),
|
|
12247
|
+
_extractAttachmentAto2 = _slicedToArray__default["default"](_extractAttachmentAto, 2),
|
|
12248
|
+
newMergeItems = _extractAttachmentAto2[0],
|
|
12249
|
+
extractAttachmentAtomAction = _extractAttachmentAto2[1];
|
|
12250
|
+
mergeItems = newMergeItems;
|
|
12251
|
+
dropItemAction = dropItemAction.mergeWith(extractAttachmentAtomAction);
|
|
12252
|
+
}
|
|
12253
|
+
dropItemAction = ketcherCore.fromItemsFuse(restruct, mergeItems).mergeWith(dropItemAction);
|
|
12195
12254
|
}
|
|
12196
|
-
dropItemAction = ketcherCore.fromItemsFuse(restruct, mergeItems).mergeWith(dropItemAction);
|
|
12197
12255
|
if (action) {
|
|
12198
12256
|
dropItemAction = dropItemAction.mergeWith(action);
|
|
12199
12257
|
}
|
|
@@ -12204,6 +12262,7 @@ function dropAndMerge(editor, mergeItems, action, resizeCanvas) {
|
|
|
12204
12262
|
resizeCanvas: !!resizeCanvas
|
|
12205
12263
|
});
|
|
12206
12264
|
}
|
|
12265
|
+
return dropItemAction;
|
|
12207
12266
|
}
|
|
12208
12267
|
function getExpandGroupsInMergeAction(restruct, mergeItems) {
|
|
12209
12268
|
var action = new ketcherCore.Action();
|
|
@@ -12217,6 +12276,33 @@ function getExpandGroupsInMergeAction(restruct, mergeItems) {
|
|
|
12217
12276
|
}
|
|
12218
12277
|
return action;
|
|
12219
12278
|
}
|
|
12279
|
+
function extractAttachmentAtom(mergeItems, editor) {
|
|
12280
|
+
var _mergeItems$atomToFun;
|
|
12281
|
+
var struct = editor.struct();
|
|
12282
|
+
var reStruct = editor.render.ctab;
|
|
12283
|
+
var newMergeItems = {
|
|
12284
|
+
atoms: new Map(mergeItems.atoms),
|
|
12285
|
+
bonds: new Map(mergeItems.bonds)
|
|
12286
|
+
};
|
|
12287
|
+
var action = new ketcherCore.Action();
|
|
12288
|
+
(_mergeItems$atomToFun = mergeItems.atomToFunctionalGroup) === null || _mergeItems$atomToFun === void 0 ? void 0 : _mergeItems$atomToFun.forEach(function (functionalGroupId, srcAtomId) {
|
|
12289
|
+
var sGroup = struct.sgroups.get(functionalGroupId);
|
|
12290
|
+
var attachmentAtomId = sGroup === null || sGroup === void 0 ? void 0 : sGroup.getAttAtomId(struct);
|
|
12291
|
+
if (attachmentAtomId !== undefined) {
|
|
12292
|
+
var atomsToDelete = _toConsumableArray__default["default"](ketcherCore.SGroup.getAtoms(struct, sGroup)).filter(function (atomId) {
|
|
12293
|
+
return atomId !== attachmentAtomId;
|
|
12294
|
+
});
|
|
12295
|
+
var bondsToDelete = _toConsumableArray__default["default"](ketcherCore.SGroup.getBonds(struct, sGroup));
|
|
12296
|
+
action.mergeWith(ketcherCore.fromSgroupDeletion(reStruct, functionalGroupId));
|
|
12297
|
+
action.mergeWith(ketcherCore.fromFragmentDeletion(reStruct, {
|
|
12298
|
+
atoms: atomsToDelete,
|
|
12299
|
+
bonds: bondsToDelete
|
|
12300
|
+
}));
|
|
12301
|
+
newMergeItems.atoms.set(srcAtomId, attachmentAtomId);
|
|
12302
|
+
}
|
|
12303
|
+
});
|
|
12304
|
+
return [newMergeItems, action];
|
|
12305
|
+
}
|
|
12220
12306
|
|
|
12221
12307
|
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
12308
|
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 +12311,6 @@ function getMergeItems(editor, items) {
|
|
|
12225
12311
|
return ketcherCore.getItemsToFuse(editor, nonGroupItemsAndAttachPoints);
|
|
12226
12312
|
}
|
|
12227
12313
|
|
|
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
12314
|
function castAtomPropToType(property, value) {
|
|
12252
12315
|
var typesMapping = {
|
|
12253
12316
|
charge: Number,
|
|
@@ -12259,21 +12322,21 @@ function castAtomPropToType(property, value) {
|
|
|
12259
12322
|
}
|
|
12260
12323
|
return value;
|
|
12261
12324
|
}
|
|
12262
|
-
function updateOnlyChangedProperties(
|
|
12263
|
-
var
|
|
12264
|
-
|
|
12265
|
-
return userChangedAtom[key] !== '';
|
|
12325
|
+
function updateOnlyChangedProperties(unchangedElement, userChangedElement) {
|
|
12326
|
+
var updatedKeys = Object.getOwnPropertyNames(userChangedElement).filter(function (key) {
|
|
12327
|
+
return userChangedElement[key] !== '';
|
|
12266
12328
|
});
|
|
12267
|
-
return Object.getOwnPropertyNames(
|
|
12268
|
-
|
|
12269
|
-
|
|
12270
|
-
updatedAtom[key] = castAtomPropToType(key, userChangedAtom[key]);
|
|
12271
|
-
} else {
|
|
12272
|
-
updatedAtom[key] = unchangedAtom[key];
|
|
12273
|
-
}
|
|
12274
|
-
return updatedAtom;
|
|
12329
|
+
return Object.getOwnPropertyNames(unchangedElement).reduce(function (updatedElement, key) {
|
|
12330
|
+
updatedElement[key] = updatedKeys.includes(key) ? castAtomPropToType(key, userChangedElement[key]) : unchangedElement[key];
|
|
12331
|
+
return updatedElement;
|
|
12275
12332
|
}, {});
|
|
12276
12333
|
}
|
|
12334
|
+
|
|
12335
|
+
function isAtomsArray(selectedElements) {
|
|
12336
|
+
return Array.isArray(selectedElements) && (selectedElements === null || selectedElements === void 0 ? void 0 : selectedElements.every(function (element) {
|
|
12337
|
+
return element instanceof ketcherCore.Atom;
|
|
12338
|
+
}));
|
|
12339
|
+
}
|
|
12277
12340
|
function updateSelectedAtoms(_ref) {
|
|
12278
12341
|
var atoms = _ref.atoms,
|
|
12279
12342
|
changeAtomPromise = _ref.changeAtomPromise,
|
|
@@ -12284,7 +12347,8 @@ function updateSelectedAtoms(_ref) {
|
|
|
12284
12347
|
if (atoms) {
|
|
12285
12348
|
Promise.resolve(changeAtomPromise).then(function (userChangedAtom) {
|
|
12286
12349
|
atoms.forEach(function (atomId) {
|
|
12287
|
-
var
|
|
12350
|
+
var unchangedAtom = molecule.atoms.get(atomId);
|
|
12351
|
+
var atomWithChangedProperties = updateOnlyChangedProperties(unchangedAtom, userChangedAtom);
|
|
12288
12352
|
action.mergeWith(ketcherCore.fromAtomsAttrs(struct, atomId, atomWithChangedProperties, false));
|
|
12289
12353
|
});
|
|
12290
12354
|
editor.update(action);
|
|
@@ -12294,6 +12358,27 @@ function updateSelectedAtoms(_ref) {
|
|
|
12294
12358
|
}
|
|
12295
12359
|
}
|
|
12296
12360
|
|
|
12361
|
+
function updateSelectedBonds(_ref) {
|
|
12362
|
+
var bonds = _ref.bonds,
|
|
12363
|
+
changeBondPromise = _ref.changeBondPromise,
|
|
12364
|
+
editor = _ref.editor;
|
|
12365
|
+
var action = new ketcherCore.Action();
|
|
12366
|
+
var struct = editor.render.ctab;
|
|
12367
|
+
var molecule = struct.molecule;
|
|
12368
|
+
if (bonds) {
|
|
12369
|
+
Promise.resolve(changeBondPromise).then(function (userChangedBond) {
|
|
12370
|
+
bonds.forEach(function (bondId) {
|
|
12371
|
+
var unchangedBond = molecule.bonds.get(bondId);
|
|
12372
|
+
var bondWithChangedProperties = updateOnlyChangedProperties(unchangedBond, userChangedBond);
|
|
12373
|
+
action.mergeWith(ketcherCore.fromBondsAttrs(struct, bondId, bondWithChangedProperties, false));
|
|
12374
|
+
});
|
|
12375
|
+
editor.update(action);
|
|
12376
|
+
})["catch"](function () {
|
|
12377
|
+
return null;
|
|
12378
|
+
});
|
|
12379
|
+
}
|
|
12380
|
+
}
|
|
12381
|
+
|
|
12297
12382
|
function hasAtomsOutsideCanvas(atoms, render, scale) {
|
|
12298
12383
|
return atoms.some(function (atom) {
|
|
12299
12384
|
var canvasSize = render.sz;
|
|
@@ -12304,9 +12389,9 @@ function hasAtomsOutsideCanvas(atoms, render, scale) {
|
|
|
12304
12389
|
});
|
|
12305
12390
|
}
|
|
12306
12391
|
|
|
12307
|
-
function _createForOfIteratorHelper$
|
|
12308
|
-
function _unsupportedIterableToArray$
|
|
12309
|
-
function _arrayLikeToArray$
|
|
12392
|
+
function _createForOfIteratorHelper$5(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$5(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; } } }; }
|
|
12393
|
+
function _unsupportedIterableToArray$5(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$5(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$5(o, minLen); }
|
|
12394
|
+
function _arrayLikeToArray$5(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; }
|
|
12310
12395
|
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; }
|
|
12311
12396
|
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; }
|
|
12312
12397
|
function _classPrivateFieldInitSpec$1(obj, privateMap, value) { _checkPrivateRedeclaration$1(obj, privateMap); privateMap.set(obj, value); }
|
|
@@ -12471,7 +12556,8 @@ var SelectTool = function () {
|
|
|
12471
12556
|
if ((_this$dragCtx = this.dragCtx) !== null && _this$dragCtx !== void 0 && _this$dragCtx.stopTapping) this.dragCtx.stopTapping();
|
|
12472
12557
|
var possibleSaltOrSolvent = struct.sgroups.get(selectedSgroups[selectedSgroups.length - 1]);
|
|
12473
12558
|
var isDraggingSaltOrSolventOnStructure = ketcherCore.SGroup.isSaltOrSolvent(possibleSaltOrSolvent === null || possibleSaltOrSolvent === void 0 ? void 0 : possibleSaltOrSolvent.item.data.name);
|
|
12474
|
-
|
|
12559
|
+
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);
|
|
12560
|
+
if (this.dragCtx && (isDraggingCustomSgroupOnStructure || isDraggingSaltOrSolventOnStructure || this.isDraggingStructureOnSaltOrSolvent(this.dragCtx, struct.sgroups))) {
|
|
12475
12561
|
preventSaltAndSolventsMerge(struct, this.dragCtx, editor);
|
|
12476
12562
|
delete this.dragCtx;
|
|
12477
12563
|
}
|
|
@@ -12497,7 +12583,6 @@ var SelectTool = function () {
|
|
|
12497
12583
|
var molecule = struct.molecule,
|
|
12498
12584
|
sgroups = struct.sgroups;
|
|
12499
12585
|
var functionalGroups = molecule.functionalGroups;
|
|
12500
|
-
var rnd = editor.render;
|
|
12501
12586
|
var ci = editor.findItem(event, ['atoms', 'bonds', 'sgroups', 'functionalGroups', 'sgroupData', 'texts'], null);
|
|
12502
12587
|
var atomResult = [];
|
|
12503
12588
|
var bondResult = [];
|
|
@@ -12506,7 +12591,7 @@ var SelectTool = function () {
|
|
|
12506
12591
|
var _struct$atoms$get;
|
|
12507
12592
|
var atomId = ketcherCore.FunctionalGroup.atomsInFunctionalGroup(functionalGroups, ci.id);
|
|
12508
12593
|
var atomFromStruct = atomId !== null && ((_struct$atoms$get = struct.atoms.get(atomId)) === null || _struct$atoms$get === void 0 ? void 0 : _struct$atoms$get.a);
|
|
12509
|
-
if (
|
|
12594
|
+
if (atomFromStruct && !ketcherCore.FunctionalGroup.isAtomInContractedFunctionalGroup(
|
|
12510
12595
|
atomFromStruct, sgroups, functionalGroups, true)) atomResult.push(atomId);
|
|
12511
12596
|
}
|
|
12512
12597
|
if (ci && functionalGroups && ci.map === 'bonds') {
|
|
@@ -12517,7 +12602,7 @@ var SelectTool = function () {
|
|
|
12517
12602
|
bondFromStruct, sgroups, functionalGroups)) bondResult.push(bondId);
|
|
12518
12603
|
}
|
|
12519
12604
|
if (atomResult.length > 0) {
|
|
12520
|
-
var _iterator = _createForOfIteratorHelper$
|
|
12605
|
+
var _iterator = _createForOfIteratorHelper$5(atomResult),
|
|
12521
12606
|
_step;
|
|
12522
12607
|
try {
|
|
12523
12608
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -12537,7 +12622,7 @@ var SelectTool = function () {
|
|
|
12537
12622
|
});
|
|
12538
12623
|
return;
|
|
12539
12624
|
} else if (bondResult.length > 0) {
|
|
12540
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
12625
|
+
var _iterator2 = _createForOfIteratorHelper$5(bondResult),
|
|
12541
12626
|
_step2;
|
|
12542
12627
|
try {
|
|
12543
12628
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -12568,21 +12653,13 @@ var SelectTool = function () {
|
|
|
12568
12653
|
changeAtomPromise: changeAtomPromise
|
|
12569
12654
|
});
|
|
12570
12655
|
} else if (ci.map === 'bonds') {
|
|
12571
|
-
var
|
|
12572
|
-
var
|
|
12573
|
-
|
|
12574
|
-
|
|
12575
|
-
|
|
12576
|
-
|
|
12577
|
-
|
|
12578
|
-
bondsSelection.forEach(function (bid) {
|
|
12579
|
-
action.mergeWith(ketcherCore.fromBondsAttrs(struct, bid, newbond));
|
|
12580
|
-
});
|
|
12581
|
-
editor.update(action);
|
|
12582
|
-
})["catch"](function () {
|
|
12583
|
-
return null;
|
|
12584
|
-
});
|
|
12585
|
-
}
|
|
12656
|
+
var bonds = getSelectedBonds(selection, molecule);
|
|
12657
|
+
var changeBondPromise = editor.event.bondEdit.dispatch(bonds);
|
|
12658
|
+
updateSelectedBonds({
|
|
12659
|
+
bonds: (selection === null || selection === void 0 ? void 0 : selection.bonds) || [],
|
|
12660
|
+
changeBondPromise: changeBondPromise,
|
|
12661
|
+
editor: editor
|
|
12662
|
+
});
|
|
12586
12663
|
} else if (ci.map === 'sgroups' && !ketcherCore.FunctionalGroup.isFunctionalGroup(molecule.sgroups.get(ci.id)) || ci.map === 'sgroupData') {
|
|
12587
12664
|
editor.selection(closestToSel(ci));
|
|
12588
12665
|
SGroupTool.sgroupDialog(editor, ci.id);
|
|
@@ -12717,12 +12794,24 @@ function getSelectedAtoms(selection, molecule) {
|
|
|
12717
12794
|
}
|
|
12718
12795
|
return [];
|
|
12719
12796
|
}
|
|
12797
|
+
function getSelectedBonds(selection, molecule) {
|
|
12798
|
+
if (selection !== null && selection !== void 0 && selection.bonds) {
|
|
12799
|
+
return mapBondIdsToBonds(selection === null || selection === void 0 ? void 0 : selection.bonds, molecule);
|
|
12800
|
+
}
|
|
12801
|
+
return [];
|
|
12802
|
+
}
|
|
12720
12803
|
function mapAtomIdsToAtoms(atomsIds, molecule) {
|
|
12721
12804
|
return atomsIds.map(function (atomId) {
|
|
12722
12805
|
var atomOrReAtom = molecule.atoms.get(atomId);
|
|
12723
12806
|
return atomOrReAtom.a || atomOrReAtom;
|
|
12724
12807
|
});
|
|
12725
12808
|
}
|
|
12809
|
+
function mapBondIdsToBonds(bondsIds, molecule) {
|
|
12810
|
+
return bondsIds.map(function (bondId) {
|
|
12811
|
+
var bondOrReBond = molecule.bonds.get(bondId);
|
|
12812
|
+
return (bondOrReBond === null || bondOrReBond === void 0 ? void 0 : bondOrReBond.b) || bondOrReBond;
|
|
12813
|
+
});
|
|
12814
|
+
}
|
|
12726
12815
|
function uniqArray(dest, add, reversible) {
|
|
12727
12816
|
return add.reduce(function (_, item) {
|
|
12728
12817
|
if (reversible) dest = fp.xor(dest, [item]);else if (!dest.includes(item)) dest.push(item);
|
|
@@ -12753,7 +12842,7 @@ function getNewSelectedItems(editor, selectedSgroups) {
|
|
|
12753
12842
|
atoms: [],
|
|
12754
12843
|
bonds: []
|
|
12755
12844
|
};
|
|
12756
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
12845
|
+
var _iterator3 = _createForOfIteratorHelper$5(selectedSgroups),
|
|
12757
12846
|
_step3;
|
|
12758
12847
|
try {
|
|
12759
12848
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -12775,9 +12864,9 @@ function getNewSelectedItems(editor, selectedSgroups) {
|
|
|
12775
12864
|
return newSelected;
|
|
12776
12865
|
}
|
|
12777
12866
|
|
|
12778
|
-
function _createForOfIteratorHelper$
|
|
12779
|
-
function _unsupportedIterableToArray$
|
|
12780
|
-
function _arrayLikeToArray$
|
|
12867
|
+
function _createForOfIteratorHelper$4(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$4(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; } } }; }
|
|
12868
|
+
function _unsupportedIterableToArray$4(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$4(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$4(o, minLen); }
|
|
12869
|
+
function _arrayLikeToArray$4(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; }
|
|
12781
12870
|
var EraserTool = function () {
|
|
12782
12871
|
function EraserTool(editor, mode) {
|
|
12783
12872
|
_classCallCheck__default["default"](this, EraserTool);
|
|
@@ -12825,7 +12914,7 @@ var EraserTool = function () {
|
|
|
12825
12914
|
var bondsResult = [];
|
|
12826
12915
|
var preResult = [];
|
|
12827
12916
|
if (selected && functionalGroups.size && selected.atoms) {
|
|
12828
|
-
var _iterator = _createForOfIteratorHelper$
|
|
12917
|
+
var _iterator = _createForOfIteratorHelper$4(selected.atoms),
|
|
12829
12918
|
_step;
|
|
12830
12919
|
try {
|
|
12831
12920
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -12834,7 +12923,7 @@ var EraserTool = function () {
|
|
|
12834
12923
|
var atomId = ketcherCore.FunctionalGroup.atomsInFunctionalGroup(functionalGroups, atom);
|
|
12835
12924
|
var atomFromStruct = atomId !== null && ((_struct$atoms$get = struct.atoms.get(atomId)) === null || _struct$atoms$get === void 0 ? void 0 : _struct$atoms$get.a);
|
|
12836
12925
|
if (atomFromStruct) {
|
|
12837
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
12926
|
+
var _iterator2 = _createForOfIteratorHelper$4(atomFromStruct.sgs.values()),
|
|
12838
12927
|
_step2;
|
|
12839
12928
|
try {
|
|
12840
12929
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -12864,7 +12953,7 @@ var EraserTool = function () {
|
|
|
12864
12953
|
}
|
|
12865
12954
|
}
|
|
12866
12955
|
if (selected && functionalGroups.size && selected.bonds) {
|
|
12867
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
12956
|
+
var _iterator3 = _createForOfIteratorHelper$4(selected.bonds),
|
|
12868
12957
|
_step3;
|
|
12869
12958
|
try {
|
|
12870
12959
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -12883,7 +12972,7 @@ var EraserTool = function () {
|
|
|
12883
12972
|
}
|
|
12884
12973
|
}
|
|
12885
12974
|
if (atomsResult.length > 0) {
|
|
12886
|
-
var _iterator4 = _createForOfIteratorHelper$
|
|
12975
|
+
var _iterator4 = _createForOfIteratorHelper$4(atomsResult),
|
|
12887
12976
|
_step4;
|
|
12888
12977
|
try {
|
|
12889
12978
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
@@ -12898,7 +12987,7 @@ var EraserTool = function () {
|
|
|
12898
12987
|
}
|
|
12899
12988
|
}
|
|
12900
12989
|
if (bondsResult.length > 0) {
|
|
12901
|
-
var _iterator5 = _createForOfIteratorHelper$
|
|
12990
|
+
var _iterator5 = _createForOfIteratorHelper$4(bondsResult),
|
|
12902
12991
|
_step5;
|
|
12903
12992
|
try {
|
|
12904
12993
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
@@ -12969,7 +13058,7 @@ var EraserTool = function () {
|
|
|
12969
13058
|
}
|
|
12970
13059
|
}
|
|
12971
13060
|
if (atomResult.length) {
|
|
12972
|
-
var _iterator6 = _createForOfIteratorHelper$
|
|
13061
|
+
var _iterator6 = _createForOfIteratorHelper$4(atomResult),
|
|
12973
13062
|
_step6;
|
|
12974
13063
|
try {
|
|
12975
13064
|
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
@@ -12985,7 +13074,7 @@ var EraserTool = function () {
|
|
|
12985
13074
|
_iterator6.f();
|
|
12986
13075
|
}
|
|
12987
13076
|
} else if (bondResult.length) {
|
|
12988
|
-
var _iterator7 = _createForOfIteratorHelper$
|
|
13077
|
+
var _iterator7 = _createForOfIteratorHelper$4(bondResult),
|
|
12989
13078
|
_step7;
|
|
12990
13079
|
try {
|
|
12991
13080
|
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
|
|
@@ -13146,7 +13235,8 @@ function ownKeys$O(object, enumerableOnly) { var keys = Object.keys(object); if
|
|
|
13146
13235
|
function _objectSpread$O(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$O(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$O(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
13147
13236
|
var PasteTool = function () {
|
|
13148
13237
|
function PasteTool(editor, struct) {
|
|
13149
|
-
var _struct$functionalGro
|
|
13238
|
+
var _struct$functionalGro,
|
|
13239
|
+
_this = this;
|
|
13150
13240
|
_classCallCheck__default["default"](this, PasteTool);
|
|
13151
13241
|
this.editor = editor;
|
|
13152
13242
|
this.editor.selection(null);
|
|
@@ -13166,6 +13256,15 @@ var PasteTool = function () {
|
|
|
13166
13256
|
pasteItems = _fromPaste2[1];
|
|
13167
13257
|
this.action = action;
|
|
13168
13258
|
this.editor.update(this.action, true);
|
|
13259
|
+
struct.sgroups.forEach(function (sgroup) {
|
|
13260
|
+
var countAttachmentPoint = ketcherCore.FunctionalGroup.getAttachmentPointCount(sgroup, _this.editor.render.ctab.molecule);
|
|
13261
|
+
if (countAttachmentPoint > 1) {
|
|
13262
|
+
action.mergeWith(ketcherCore.setExpandSGroup(_this.editor.render.ctab, sgroup.id, {
|
|
13263
|
+
expanded: true
|
|
13264
|
+
}));
|
|
13265
|
+
}
|
|
13266
|
+
});
|
|
13267
|
+
this.editor.update(this.action, true);
|
|
13169
13268
|
this.findItems = ['functionalGroups'];
|
|
13170
13269
|
this.mergeItems = ketcherCore.getItemsToFuse(this.editor, pasteItems);
|
|
13171
13270
|
this.editor.hover(ketcherCore.getHoverToFuse(this.mergeItems), this);
|
|
@@ -13199,6 +13298,7 @@ var PasteTool = function () {
|
|
|
13199
13298
|
}, {
|
|
13200
13299
|
key: "mousemove",
|
|
13201
13300
|
value: function mousemove(event) {
|
|
13301
|
+
var _this2 = this;
|
|
13202
13302
|
if (this.action) {
|
|
13203
13303
|
var _this$action2;
|
|
13204
13304
|
(_this$action2 = this.action) === null || _this$action2 === void 0 ? void 0 : _this$action2.perform(this.editor.render.ctab);
|
|
@@ -13229,6 +13329,12 @@ var PasteTool = function () {
|
|
|
13229
13329
|
this.dragCtx.action = action;
|
|
13230
13330
|
this.editor.update(this.dragCtx.action, true);
|
|
13231
13331
|
} else {
|
|
13332
|
+
this.struct.sgroups.forEach(function (sgroup) {
|
|
13333
|
+
var countAttachmentPoint = ketcherCore.FunctionalGroup.getAttachmentPointCount(sgroup, _this2.struct);
|
|
13334
|
+
if (countAttachmentPoint > 1) {
|
|
13335
|
+
sgroup.setAttr('expanded', true);
|
|
13336
|
+
}
|
|
13337
|
+
});
|
|
13232
13338
|
var _fromPaste5 = ketcherCore.fromPaste(this.editor.render.ctab, this.struct, this.editor.render.page2obj(event)),
|
|
13233
13339
|
_fromPaste6 = _slicedToArray__default["default"](_fromPaste5, 2),
|
|
13234
13340
|
_action = _fromPaste6[0],
|
|
@@ -13268,7 +13374,9 @@ var PasteTool = function () {
|
|
|
13268
13374
|
} else {
|
|
13269
13375
|
var action = this.action;
|
|
13270
13376
|
delete this.action;
|
|
13271
|
-
|
|
13377
|
+
if (!this.isSingleContractedGroup || !this.mergeItems) {
|
|
13378
|
+
this.editor.update(dropAndMerge(this.editor, this.mergeItems, action, true));
|
|
13379
|
+
}
|
|
13272
13380
|
}
|
|
13273
13381
|
}
|
|
13274
13382
|
}, {
|
|
@@ -13307,9 +13415,9 @@ function prepareTemplateFromSingleGroup(molecule) {
|
|
|
13307
13415
|
return template;
|
|
13308
13416
|
}
|
|
13309
13417
|
|
|
13310
|
-
function _createForOfIteratorHelper$
|
|
13311
|
-
function _unsupportedIterableToArray$
|
|
13312
|
-
function _arrayLikeToArray$
|
|
13418
|
+
function _createForOfIteratorHelper$3(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$3(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; } } }; }
|
|
13419
|
+
function _unsupportedIterableToArray$3(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$3(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$3(o, minLen); }
|
|
13420
|
+
function _arrayLikeToArray$3(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; }
|
|
13313
13421
|
var RGroupAtomTool = function () {
|
|
13314
13422
|
function RGroupAtomTool(editor) {
|
|
13315
13423
|
_classCallCheck__default["default"](this, RGroupAtomTool);
|
|
@@ -13345,7 +13453,7 @@ var RGroupAtomTool = function () {
|
|
|
13345
13453
|
}
|
|
13346
13454
|
}
|
|
13347
13455
|
if (atomResult.length > 0) {
|
|
13348
|
-
var _iterator = _createForOfIteratorHelper$
|
|
13456
|
+
var _iterator = _createForOfIteratorHelper$3(atomResult),
|
|
13349
13457
|
_step;
|
|
13350
13458
|
try {
|
|
13351
13459
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -13409,9 +13517,9 @@ function propsDialog$1(editor, id, pos) {
|
|
|
13409
13517
|
});
|
|
13410
13518
|
}
|
|
13411
13519
|
|
|
13412
|
-
function _createForOfIteratorHelper$
|
|
13413
|
-
function _unsupportedIterableToArray$
|
|
13414
|
-
function _arrayLikeToArray$
|
|
13520
|
+
function _createForOfIteratorHelper$2(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$2(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; } } }; }
|
|
13521
|
+
function _unsupportedIterableToArray$2(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$2(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$2(o, minLen); }
|
|
13522
|
+
function _arrayLikeToArray$2(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; }
|
|
13415
13523
|
var RGroupFragmentTool = function () {
|
|
13416
13524
|
function RGroupFragmentTool(editor) {
|
|
13417
13525
|
_classCallCheck__default["default"](this, RGroupFragmentTool);
|
|
@@ -13448,7 +13556,7 @@ var RGroupFragmentTool = function () {
|
|
|
13448
13556
|
}
|
|
13449
13557
|
}
|
|
13450
13558
|
if (atomResult.length > 0) {
|
|
13451
|
-
var _iterator = _createForOfIteratorHelper$
|
|
13559
|
+
var _iterator = _createForOfIteratorHelper$2(atomResult),
|
|
13452
13560
|
_step;
|
|
13453
13561
|
try {
|
|
13454
13562
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -13468,7 +13576,7 @@ var RGroupFragmentTool = function () {
|
|
|
13468
13576
|
});
|
|
13469
13577
|
return;
|
|
13470
13578
|
} else if (bondResult.length > 0) {
|
|
13471
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
13579
|
+
var _iterator2 = _createForOfIteratorHelper$2(bondResult),
|
|
13472
13580
|
_step2;
|
|
13473
13581
|
try {
|
|
13474
13582
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -14130,6 +14238,47 @@ var TemplateTool = function () {
|
|
|
14130
14238
|
editor.hoverIcon.updatePosition();
|
|
14131
14239
|
}
|
|
14132
14240
|
_createClass__default["default"](TemplateTool, [{
|
|
14241
|
+
key: "struct",
|
|
14242
|
+
get: function get() {
|
|
14243
|
+
return this.editor.render.ctab.molecule;
|
|
14244
|
+
}
|
|
14245
|
+
}, {
|
|
14246
|
+
key: "functionalGroups",
|
|
14247
|
+
get: function get() {
|
|
14248
|
+
return this.struct.functionalGroups;
|
|
14249
|
+
}
|
|
14250
|
+
}, {
|
|
14251
|
+
key: "isModeFunctionalGroup",
|
|
14252
|
+
get: function get() {
|
|
14253
|
+
return this.mode === MODES.FG;
|
|
14254
|
+
}
|
|
14255
|
+
}, {
|
|
14256
|
+
key: "closestItem",
|
|
14257
|
+
get: function get() {
|
|
14258
|
+
return this.editor.findItem(this.event, ['atoms', 'bonds', 'sgroups', 'functionalGroups']);
|
|
14259
|
+
}
|
|
14260
|
+
}, {
|
|
14261
|
+
key: "isNeedToShowRemoveAbbreviationPopup",
|
|
14262
|
+
get: function get() {
|
|
14263
|
+
var _this$closestItem, _this$functionalGroup;
|
|
14264
|
+
var targetId = this.findKeyOfRelatedGroupId((_this$closestItem = this.closestItem) === null || _this$closestItem === void 0 ? void 0 : _this$closestItem.id);
|
|
14265
|
+
var isTargetExpanded = (_this$functionalGroup = this.functionalGroups.get(targetId)) === null || _this$functionalGroup === void 0 ? void 0 : _this$functionalGroup.isExpanded;
|
|
14266
|
+
var isTargetAtomOrBond = this.targetGroupsIds.length && !this.isModeFunctionalGroup;
|
|
14267
|
+
return Boolean(isTargetExpanded || isTargetAtomOrBond);
|
|
14268
|
+
}
|
|
14269
|
+
}, {
|
|
14270
|
+
key: "findKeyOfRelatedGroupId",
|
|
14271
|
+
value: function findKeyOfRelatedGroupId(clickedClosestItemId) {
|
|
14272
|
+
var targetId;
|
|
14273
|
+
var relatedGroupId = ketcherCore.FunctionalGroup.findFunctionalGroupByAtom(this.functionalGroups, clickedClosestItemId);
|
|
14274
|
+
this.functionalGroups.forEach(function (fg, key) {
|
|
14275
|
+
if (fg.relatedSGroupId === relatedGroupId) {
|
|
14276
|
+
targetId = key;
|
|
14277
|
+
}
|
|
14278
|
+
});
|
|
14279
|
+
return targetId;
|
|
14280
|
+
}
|
|
14281
|
+
}, {
|
|
14133
14282
|
key: "showRemoveAbbreviationPopup",
|
|
14134
14283
|
value: function showRemoveAbbreviationPopup() {
|
|
14135
14284
|
var _this = this;
|
|
@@ -14140,77 +14289,68 @@ var TemplateTool = function () {
|
|
|
14140
14289
|
return Promise.resolve();
|
|
14141
14290
|
});
|
|
14142
14291
|
}
|
|
14143
|
-
}, {
|
|
14144
|
-
key: "isModeFunctionalGroup",
|
|
14145
|
-
get: function get() {
|
|
14146
|
-
return this.mode === MODES.FG;
|
|
14147
|
-
}
|
|
14148
14292
|
}, {
|
|
14149
14293
|
key: "mousedown",
|
|
14150
14294
|
value: function () {
|
|
14151
14295
|
var _mousedown = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee(event) {
|
|
14152
|
-
var
|
|
14153
|
-
var
|
|
14296
|
+
var _this2 = this;
|
|
14297
|
+
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;
|
|
14154
14298
|
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
14155
14299
|
while (1) {
|
|
14156
14300
|
switch (_context.prev = _context.next) {
|
|
14157
14301
|
case 0:
|
|
14158
|
-
|
|
14159
|
-
|
|
14160
|
-
|
|
14161
|
-
|
|
14162
|
-
|
|
14163
|
-
|
|
14164
|
-
}), (closestItem === null || closestItem === void 0 ? void 0 : closestItem.map) === 'bonds' && {
|
|
14165
|
-
bonds: [closestItem.id]
|
|
14302
|
+
this.event = event;
|
|
14303
|
+
if (this.functionalGroups.size) {
|
|
14304
|
+
this.targetGroupsIds = getGroupIdsFromItemArrays(this.struct, _objectSpread$N(_objectSpread$N({}, ((_this$closestItem2 = this.closestItem) === null || _this$closestItem2 === void 0 ? void 0 : _this$closestItem2.map) === 'atoms' && {
|
|
14305
|
+
atoms: [this.closestItem.id]
|
|
14306
|
+
}), ((_this$closestItem3 = this.closestItem) === null || _this$closestItem3 === void 0 ? void 0 : _this$closestItem3.map) === 'bonds' && {
|
|
14307
|
+
bonds: [this.closestItem.id]
|
|
14166
14308
|
}));
|
|
14167
14309
|
if (
|
|
14168
|
-
(closestItem === null ||
|
|
14169
|
-
this.targetGroupsIds.push(closestItem.id);
|
|
14310
|
+
((_this$closestItem4 = this.closestItem) === null || _this$closestItem4 === void 0 ? void 0 : _this$closestItem4.map) === 'functionalGroups' && ketcherCore.FunctionalGroup.isContractedFunctionalGroup(this.closestItem.id, this.functionalGroups)) {
|
|
14311
|
+
this.targetGroupsIds.push(this.closestItem.id);
|
|
14170
14312
|
}
|
|
14171
14313
|
}
|
|
14172
|
-
|
|
14173
|
-
|
|
14174
|
-
if (!(isTargetAtomOrBond || isTargetExpanded)) {
|
|
14175
|
-
_context.next = 10;
|
|
14314
|
+
if (!this.isNeedToShowRemoveAbbreviationPopup) {
|
|
14315
|
+
_context.next = 6;
|
|
14176
14316
|
break;
|
|
14177
14317
|
}
|
|
14178
|
-
_context.next =
|
|
14318
|
+
_context.next = 5;
|
|
14179
14319
|
return this.showRemoveAbbreviationPopup();
|
|
14180
|
-
case
|
|
14320
|
+
case 5:
|
|
14181
14321
|
return _context.abrupt("return");
|
|
14182
|
-
case
|
|
14322
|
+
case 6:
|
|
14183
14323
|
this.editor.hover(null);
|
|
14184
14324
|
this.dragCtx = {
|
|
14185
|
-
xy0: this.editor.render.page2obj(event),
|
|
14186
|
-
item: this.editor.findItem(event, this.findItems)
|
|
14325
|
+
xy0: this.editor.render.page2obj(this.event),
|
|
14326
|
+
item: this.editor.findItem(this.event, this.findItems)
|
|
14187
14327
|
};
|
|
14188
14328
|
dragCtx = this.dragCtx;
|
|
14189
14329
|
ci = dragCtx.item;
|
|
14190
14330
|
if (!(!ci || this.isSaltOrSolvent)) {
|
|
14191
|
-
_context.next =
|
|
14331
|
+
_context.next = 13;
|
|
14192
14332
|
break;
|
|
14193
14333
|
}
|
|
14194
14334
|
delete dragCtx.item;
|
|
14195
14335
|
return _context.abrupt("return");
|
|
14196
|
-
case
|
|
14336
|
+
case 13:
|
|
14197
14337
|
if (ci.map === 'bonds' && !this.isModeFunctionalGroup) {
|
|
14198
14338
|
xy0 = new ketcherCore.Vec2();
|
|
14199
|
-
bond = struct.bonds.get(ci.id);
|
|
14200
|
-
frid = (
|
|
14201
|
-
frIds = struct.getFragmentIds(frid);
|
|
14339
|
+
bond = this.struct.bonds.get(ci.id);
|
|
14340
|
+
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;
|
|
14341
|
+
frIds = this.struct.getFragmentIds(frid);
|
|
14202
14342
|
count = 0;
|
|
14203
|
-
loop = (
|
|
14343
|
+
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;
|
|
14204
14344
|
if (loop && loop < 0) {
|
|
14205
|
-
loop = (
|
|
14345
|
+
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;
|
|
14206
14346
|
}
|
|
14207
14347
|
if (loop && loop >= 0) {
|
|
14208
|
-
loopHbs = (
|
|
14348
|
+
loopHbs = (_this$struct$loops$ge = this.struct.loops.get(loop)) === null || _this$struct$loops$ge === void 0 ? void 0 : _this$struct$loops$ge.hbs;
|
|
14209
14349
|
loopHbs === null || loopHbs === void 0 ? void 0 : loopHbs.forEach(function (hb) {
|
|
14210
|
-
var
|
|
14211
|
-
var halfBondBegin = (
|
|
14350
|
+
var _this2$struct$halfBon;
|
|
14351
|
+
var halfBondBegin = (_this2$struct$halfBon = _this2.struct.halfBonds.get(hb)) === null || _this2$struct$halfBon === void 0 ? void 0 : _this2$struct$halfBon.begin;
|
|
14212
14352
|
if (halfBondBegin) {
|
|
14213
|
-
var hbbAtom = struct.atoms.get(halfBondBegin);
|
|
14353
|
+
var hbbAtom = _this2.struct.atoms.get(halfBondBegin);
|
|
14214
14354
|
if (hbbAtom) {
|
|
14215
14355
|
xy0.add_(hbbAtom.pp);
|
|
14216
14356
|
count++;
|
|
@@ -14219,7 +14359,7 @@ var TemplateTool = function () {
|
|
|
14219
14359
|
});
|
|
14220
14360
|
} else {
|
|
14221
14361
|
frIds.forEach(function (id) {
|
|
14222
|
-
var atomById = struct.atoms.get(id);
|
|
14362
|
+
var atomById = _this2.struct.atoms.get(id);
|
|
14223
14363
|
if (atomById) {
|
|
14224
14364
|
xy0.add_(atomById.pp);
|
|
14225
14365
|
count++;
|
|
@@ -14227,11 +14367,11 @@ var TemplateTool = function () {
|
|
|
14227
14367
|
});
|
|
14228
14368
|
}
|
|
14229
14369
|
dragCtx.v0 = xy0.scaled(1 / count);
|
|
14230
|
-
sign = getSign(struct, bond, dragCtx.v0);
|
|
14370
|
+
sign = getSign(this.struct, bond, dragCtx.v0);
|
|
14231
14371
|
dragCtx.sign1 = sign || 1;
|
|
14232
14372
|
dragCtx.sign2 = this.template.sign;
|
|
14233
14373
|
}
|
|
14234
|
-
case
|
|
14374
|
+
case 14:
|
|
14235
14375
|
case "end":
|
|
14236
14376
|
return _context.stop();
|
|
14237
14377
|
}
|
|
@@ -14256,10 +14396,9 @@ var TemplateTool = function () {
|
|
|
14256
14396
|
var ci = dragCtx.item;
|
|
14257
14397
|
var targetPos = null;
|
|
14258
14398
|
var eventPos = this.editor.render.page2obj(event);
|
|
14259
|
-
var struct = this.editor.render.ctab.molecule;
|
|
14260
14399
|
if (ci && ci.map === 'bonds' && !this.isModeFunctionalGroup) {
|
|
14261
|
-
var bond = struct.bonds.get(ci.id);
|
|
14262
|
-
var sign = getSign(struct, bond, eventPos);
|
|
14400
|
+
var bond = this.struct.bonds.get(ci.id);
|
|
14401
|
+
var sign = getSign(this.struct, bond, eventPos);
|
|
14263
14402
|
if (dragCtx.sign1 * this.template.sign > 0) {
|
|
14264
14403
|
sign = -sign;
|
|
14265
14404
|
}
|
|
@@ -14283,9 +14422,9 @@ var TemplateTool = function () {
|
|
|
14283
14422
|
if (!ci) {
|
|
14284
14423
|
targetPos = dragCtx.xy0;
|
|
14285
14424
|
} else if (ci.map === 'atoms' || ci.map === 'functionalGroups') {
|
|
14286
|
-
var atomId = getTargetAtomId(struct, ci);
|
|
14425
|
+
var atomId = getTargetAtomId(this.struct, ci);
|
|
14287
14426
|
if (atomId !== undefined) {
|
|
14288
|
-
var atom = struct.atoms.get(atomId);
|
|
14427
|
+
var atom = this.struct.atoms.get(atomId);
|
|
14289
14428
|
targetPos = atom === null || atom === void 0 ? void 0 : atom.pp;
|
|
14290
14429
|
if (targetPos) {
|
|
14291
14430
|
extraBond = this.isModeFunctionalGroup ? true : ketcherCore.Vec2.dist(targetPos, eventPos) > 1;
|
|
@@ -14325,7 +14464,7 @@ var TemplateTool = function () {
|
|
|
14325
14464
|
action = _fromTemplateOnCanvas2[0];
|
|
14326
14465
|
pasteItems = _fromTemplateOnCanvas2[1];
|
|
14327
14466
|
} else if ((ci === null || ci === void 0 ? void 0 : ci.map) === 'atoms' || (ci === null || ci === void 0 ? void 0 : ci.map) === 'functionalGroups') {
|
|
14328
|
-
var _atomId = getTargetAtomId(struct, ci);
|
|
14467
|
+
var _atomId = getTargetAtomId(this.struct, ci);
|
|
14329
14468
|
var _fromTemplateOnAtom = ketcherCore.fromTemplateOnAtom(this.editor.render.ctab, this.template, _atomId, angle, extraBond);
|
|
14330
14469
|
var _fromTemplateOnAtom2 = _slicedToArray__default["default"](_fromTemplateOnAtom, 2);
|
|
14331
14470
|
action = _fromTemplateOnAtom2[0];
|
|
@@ -14344,7 +14483,7 @@ var TemplateTool = function () {
|
|
|
14344
14483
|
}, {
|
|
14345
14484
|
key: "mouseup",
|
|
14346
14485
|
value: function mouseup(event) {
|
|
14347
|
-
var
|
|
14486
|
+
var _this3 = this,
|
|
14348
14487
|
_ci;
|
|
14349
14488
|
var dragCtx = this.dragCtx;
|
|
14350
14489
|
if (!dragCtx) {
|
|
@@ -14352,9 +14491,7 @@ var TemplateTool = function () {
|
|
|
14352
14491
|
}
|
|
14353
14492
|
delete this.dragCtx;
|
|
14354
14493
|
var restruct = this.editor.render.ctab;
|
|
14355
|
-
var struct = restruct.molecule;
|
|
14356
14494
|
var ci = dragCtx.item;
|
|
14357
|
-
var functionalGroups = struct.functionalGroups;
|
|
14358
14495
|
if (dragCtx.action && ci && ci.map === 'bonds' && !this.isModeFunctionalGroup) {
|
|
14359
14496
|
dragCtx.action.perform(restruct);
|
|
14360
14497
|
var promise = ketcherCore.fromTemplateOnBondAction(restruct, this.template, ci.id, this.editor.event, dragCtx.sign1 * dragCtx.sign2 > 0, true);
|
|
@@ -14362,9 +14499,9 @@ var TemplateTool = function () {
|
|
|
14362
14499
|
var _ref2 = _slicedToArray__default["default"](_ref, 2),
|
|
14363
14500
|
action = _ref2[0],
|
|
14364
14501
|
pasteItems = _ref2[1];
|
|
14365
|
-
var mergeItems = ketcherCore.getItemsToFuse(
|
|
14502
|
+
var mergeItems = ketcherCore.getItemsToFuse(_this3.editor, pasteItems);
|
|
14366
14503
|
action = ketcherCore.fromItemsFuse(restruct, mergeItems).mergeWith(action);
|
|
14367
|
-
|
|
14504
|
+
_this3.editor.update(action);
|
|
14368
14505
|
});
|
|
14369
14506
|
return true;
|
|
14370
14507
|
}
|
|
@@ -14372,14 +14509,14 @@ var TemplateTool = function () {
|
|
|
14372
14509
|
var pasteItems = null;
|
|
14373
14510
|
if (this.isSaltOrSolvent) {
|
|
14374
14511
|
addSaltsAndSolventsOnCanvasWithoutMerge(restruct, this.template, dragCtx, this.editor);
|
|
14512
|
+
this.editor.hover(this.editor.findItem(event, this.findItems), null, event);
|
|
14375
14513
|
return true;
|
|
14376
|
-
} else if (((_ci = ci) === null || _ci === void 0 ? void 0 : _ci.map) === 'functionalGroups' && ketcherCore.FunctionalGroup.isContractedFunctionalGroup(ci.id, functionalGroups) && this.isModeFunctionalGroup && this.targetGroupsIds.length) {
|
|
14514
|
+
} 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) {
|
|
14377
14515
|
functionalGroupRemoveAction = new ketcherCore.Action();
|
|
14378
|
-
var _struct = this.editor.struct();
|
|
14379
14516
|
var _restruct = this.editor.render.ctab;
|
|
14380
|
-
var functionalGroupToReplace =
|
|
14381
|
-
var attachmentAtomId = functionalGroupToReplace.getAttAtomId(
|
|
14382
|
-
var atomsWithoutAttachmentAtom = ketcherCore.SGroup.getAtoms(
|
|
14517
|
+
var functionalGroupToReplace = this.struct.sgroups.get(ci.id);
|
|
14518
|
+
var attachmentAtomId = functionalGroupToReplace.getAttAtomId(this.struct);
|
|
14519
|
+
var atomsWithoutAttachmentAtom = ketcherCore.SGroup.getAtoms(this.struct, functionalGroupToReplace).filter(function (id) {
|
|
14383
14520
|
return id !== attachmentAtomId;
|
|
14384
14521
|
});
|
|
14385
14522
|
functionalGroupRemoveAction.mergeWith(ketcherCore.fromSgroupDeletion(_restruct, ci.id));
|
|
@@ -14405,10 +14542,10 @@ var TemplateTool = function () {
|
|
|
14405
14542
|
if (degree && degree > 1) {
|
|
14406
14543
|
angle = null;
|
|
14407
14544
|
} else if (degree === 1) {
|
|
14408
|
-
var
|
|
14409
|
-
var atom = struct.atoms.get(ci.id);
|
|
14410
|
-
var neiId = atom && ((
|
|
14411
|
-
var nei = (neiId || neiId === 0) && struct.atoms.get(neiId);
|
|
14545
|
+
var _this$struct$halfBond3;
|
|
14546
|
+
var atom = this.struct.atoms.get(ci.id);
|
|
14547
|
+
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);
|
|
14548
|
+
var nei = (neiId || neiId === 0) && this.struct.atoms.get(neiId);
|
|
14412
14549
|
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);
|
|
14413
14550
|
} else {
|
|
14414
14551
|
angle = 0;
|
|
@@ -14427,10 +14564,10 @@ var TemplateTool = function () {
|
|
|
14427
14564
|
var _ref4 = _slicedToArray__default["default"](_ref3, 2),
|
|
14428
14565
|
action = _ref4[0],
|
|
14429
14566
|
pasteItems = _ref4[1];
|
|
14430
|
-
if (!
|
|
14431
|
-
var mergeItems = ketcherCore.getItemsToFuse(
|
|
14567
|
+
if (!_this3.isModeFunctionalGroup) {
|
|
14568
|
+
var mergeItems = ketcherCore.getItemsToFuse(_this3.editor, pasteItems);
|
|
14432
14569
|
action = ketcherCore.fromItemsFuse(restruct, mergeItems).mergeWith(action);
|
|
14433
|
-
|
|
14570
|
+
_this3.editor.update(action);
|
|
14434
14571
|
}
|
|
14435
14572
|
});
|
|
14436
14573
|
return true;
|
|
@@ -14628,9 +14765,6 @@ var tools = {
|
|
|
14628
14765
|
text: TextTool
|
|
14629
14766
|
};
|
|
14630
14767
|
|
|
14631
|
-
function _createForOfIteratorHelper$2(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray$2(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; } } }; }
|
|
14632
|
-
function _unsupportedIterableToArray$2(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray$2(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$2(o, minLen); }
|
|
14633
|
-
function _arrayLikeToArray$2(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; }
|
|
14634
14768
|
function ownKeys$M(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; }
|
|
14635
14769
|
function _objectSpread$M(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$M(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$M(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
14636
14770
|
function handleHotkeyOverItem(props) {
|
|
@@ -14640,20 +14774,53 @@ function handleHotkeyOverItem(props) {
|
|
|
14640
14774
|
handleDialog(props);
|
|
14641
14775
|
} else if (props.newAction.tool) {
|
|
14642
14776
|
handleTool(props);
|
|
14777
|
+
} else {
|
|
14778
|
+
handleOtherActions(props);
|
|
14643
14779
|
}
|
|
14644
14780
|
}
|
|
14645
|
-
function
|
|
14646
|
-
var
|
|
14647
|
-
|
|
14648
|
-
|
|
14781
|
+
function handleOtherActions(_ref) {
|
|
14782
|
+
var dispatch = _ref.dispatch,
|
|
14783
|
+
newAction = _ref.newAction;
|
|
14784
|
+
dispatch(onAction(newAction));
|
|
14785
|
+
}
|
|
14786
|
+
function eraseItem(_ref2) {
|
|
14787
|
+
var editor = _ref2.editor,
|
|
14788
|
+
item = _ref2.item;
|
|
14789
|
+
var action = ketcherCore.fromFragmentDeletion(editor.render.ctab, item);
|
|
14649
14790
|
editor.update(action);
|
|
14650
14791
|
editor.hover(null);
|
|
14651
14792
|
}
|
|
14652
|
-
function
|
|
14653
|
-
var
|
|
14654
|
-
|
|
14655
|
-
|
|
14656
|
-
dispatch =
|
|
14793
|
+
function handleEraser(_ref3) {
|
|
14794
|
+
var editor = _ref3.editor,
|
|
14795
|
+
hoveredItem = _ref3.hoveredItem,
|
|
14796
|
+
newAction = _ref3.newAction,
|
|
14797
|
+
dispatch = _ref3.dispatch;
|
|
14798
|
+
var item = mapItemsToArrays(hoveredItem);
|
|
14799
|
+
var itemType = Object.keys(hoveredItem)[0];
|
|
14800
|
+
if ([STRUCT_TYPE.atoms, STRUCT_TYPE.bonds].includes(itemType)) {
|
|
14801
|
+
isFunctionalGroupChange({
|
|
14802
|
+
editor: editor,
|
|
14803
|
+
hoveredItemId: item[itemType][0],
|
|
14804
|
+
newAction: newAction,
|
|
14805
|
+
dispatch: dispatch
|
|
14806
|
+
}, itemType).then(function (res) {
|
|
14807
|
+
res && eraseItem({
|
|
14808
|
+
editor: editor,
|
|
14809
|
+
item: item
|
|
14810
|
+
});
|
|
14811
|
+
});
|
|
14812
|
+
return;
|
|
14813
|
+
}
|
|
14814
|
+
eraseItem({
|
|
14815
|
+
editor: editor,
|
|
14816
|
+
item: item
|
|
14817
|
+
});
|
|
14818
|
+
}
|
|
14819
|
+
function handleDialog(_ref4) {
|
|
14820
|
+
var hoveredItem = _ref4.hoveredItem,
|
|
14821
|
+
newAction = _ref4.newAction,
|
|
14822
|
+
editor = _ref4.editor,
|
|
14823
|
+
dispatch = _ref4.dispatch;
|
|
14657
14824
|
var dialogType = Object.keys(hoveredItem)[0];
|
|
14658
14825
|
var dialogHandler = getDialogHandler(dialogType);
|
|
14659
14826
|
var hoveredItemId = hoveredItem[dialogType];
|
|
@@ -14679,11 +14846,11 @@ function getDialogHandler(itemType) {
|
|
|
14679
14846
|
var dialog = dialogs[itemType];
|
|
14680
14847
|
return dialog;
|
|
14681
14848
|
}
|
|
14682
|
-
function handleAtomPropsDialog(
|
|
14683
|
-
var hoveredItemId =
|
|
14684
|
-
newAction =
|
|
14685
|
-
editor =
|
|
14686
|
-
dispatch =
|
|
14849
|
+
function handleAtomPropsDialog(_ref5) {
|
|
14850
|
+
var hoveredItemId = _ref5.hoveredItemId,
|
|
14851
|
+
newAction = _ref5.newAction,
|
|
14852
|
+
editor = _ref5.editor,
|
|
14853
|
+
dispatch = _ref5.dispatch;
|
|
14687
14854
|
var selection = editor.selection();
|
|
14688
14855
|
var atomsSelected = selection === null || selection === void 0 ? void 0 : selection.atoms;
|
|
14689
14856
|
var restruct = editor.render.ctab;
|
|
@@ -14706,11 +14873,11 @@ function handleAtomPropsDialog(_ref3) {
|
|
|
14706
14873
|
});
|
|
14707
14874
|
}
|
|
14708
14875
|
}
|
|
14709
|
-
function handleBondPropsDialog(
|
|
14710
|
-
var hoveredItemId =
|
|
14711
|
-
newAction =
|
|
14712
|
-
editor =
|
|
14713
|
-
dispatch =
|
|
14876
|
+
function handleBondPropsDialog(_ref6) {
|
|
14877
|
+
var hoveredItemId = _ref6.hoveredItemId,
|
|
14878
|
+
newAction = _ref6.newAction,
|
|
14879
|
+
editor = _ref6.editor,
|
|
14880
|
+
dispatch = _ref6.dispatch;
|
|
14714
14881
|
var restruct = editor.render.ctab;
|
|
14715
14882
|
var bondFromStruct = restruct.bonds.get(hoveredItemId);
|
|
14716
14883
|
var convertedBondForModal = fromBond(bondFromStruct === null || bondFromStruct === void 0 ? void 0 : bondFromStruct.b);
|
|
@@ -14721,11 +14888,11 @@ function handleBondPropsDialog(_ref4) {
|
|
|
14721
14888
|
return null;
|
|
14722
14889
|
});
|
|
14723
14890
|
}
|
|
14724
|
-
function handleTool(
|
|
14725
|
-
var hoveredItem =
|
|
14726
|
-
newAction =
|
|
14727
|
-
editor =
|
|
14728
|
-
dispatch =
|
|
14891
|
+
function handleTool(_ref7) {
|
|
14892
|
+
var hoveredItem = _ref7.hoveredItem,
|
|
14893
|
+
newAction = _ref7.newAction,
|
|
14894
|
+
editor = _ref7.editor,
|
|
14895
|
+
dispatch = _ref7.dispatch;
|
|
14729
14896
|
var _loop = function _loop(item) {
|
|
14730
14897
|
var toolHandler = getToolHandler(item, newAction.tool);
|
|
14731
14898
|
var isChangeStructureTool = newAction.tool !== 'hand';
|
|
@@ -14737,7 +14904,7 @@ function handleTool(_ref5) {
|
|
|
14737
14904
|
newAction: newAction,
|
|
14738
14905
|
dispatch: dispatch
|
|
14739
14906
|
};
|
|
14740
|
-
isFunctionalGroupChange(props).then(function (result) {
|
|
14907
|
+
isFunctionalGroupChange(props, item).then(function (result) {
|
|
14741
14908
|
if (!result && isChangeStructureTool) return;
|
|
14742
14909
|
toolHandler(props);
|
|
14743
14910
|
});
|
|
@@ -14747,17 +14914,17 @@ function handleTool(_ref5) {
|
|
|
14747
14914
|
_loop(item);
|
|
14748
14915
|
}
|
|
14749
14916
|
}
|
|
14750
|
-
function isFunctionalGroupChange(_x) {
|
|
14917
|
+
function isFunctionalGroupChange(_x, _x2) {
|
|
14751
14918
|
return _isFunctionalGroupChange.apply(this, arguments);
|
|
14752
14919
|
}
|
|
14753
14920
|
function _isFunctionalGroupChange() {
|
|
14754
|
-
_isFunctionalGroupChange = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee(props) {
|
|
14921
|
+
_isFunctionalGroupChange = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee(props, type) {
|
|
14755
14922
|
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
14756
14923
|
while (1) {
|
|
14757
14924
|
switch (_context.prev = _context.next) {
|
|
14758
14925
|
case 0:
|
|
14759
14926
|
_context.next = 2;
|
|
14760
|
-
return isChangingFunctionalGroup(props);
|
|
14927
|
+
return isChangingFunctionalGroup(props, type);
|
|
14761
14928
|
case 2:
|
|
14762
14929
|
return _context.abrupt("return", _context.sent);
|
|
14763
14930
|
case 3:
|
|
@@ -14785,13 +14952,13 @@ function getToolHandler(itemType) {
|
|
|
14785
14952
|
rgroupatom: function rgroupatom(props) {
|
|
14786
14953
|
return handleRGroupAtomTool(props);
|
|
14787
14954
|
},
|
|
14788
|
-
sgroup: function sgroup(
|
|
14789
|
-
var editor =
|
|
14790
|
-
hoveredItemId =
|
|
14955
|
+
sgroup: function sgroup(_ref8) {
|
|
14956
|
+
var editor = _ref8.editor,
|
|
14957
|
+
hoveredItemId = _ref8.hoveredItemId;
|
|
14791
14958
|
tools.sgroup.sgroupDialog(editor, hoveredItemId);
|
|
14792
14959
|
},
|
|
14793
|
-
hand: function hand(
|
|
14794
|
-
var dispatch =
|
|
14960
|
+
hand: function hand(_ref9) {
|
|
14961
|
+
var dispatch = _ref9.dispatch;
|
|
14795
14962
|
return dispatch(onAction({
|
|
14796
14963
|
tool: 'hand'
|
|
14797
14964
|
}));
|
|
@@ -14805,26 +14972,28 @@ function getToolHandler(itemType) {
|
|
|
14805
14972
|
}
|
|
14806
14973
|
return items._default[toolName];
|
|
14807
14974
|
}
|
|
14808
|
-
function handleAtomTool(
|
|
14809
|
-
var hoveredItemId =
|
|
14810
|
-
newAction =
|
|
14811
|
-
editor =
|
|
14975
|
+
function handleAtomTool(_ref10) {
|
|
14976
|
+
var hoveredItemId = _ref10.hoveredItemId,
|
|
14977
|
+
newAction = _ref10.newAction,
|
|
14978
|
+
editor = _ref10.editor;
|
|
14812
14979
|
var atomProps = _objectSpread$M({}, newAction.opts);
|
|
14813
14980
|
var updatedAtoms = ketcherCore.fromAtomsAttrs(editor.render.ctab, hoveredItemId, atomProps, true);
|
|
14814
14981
|
editor.update(updatedAtoms);
|
|
14815
14982
|
}
|
|
14816
|
-
function handleBondTool(
|
|
14817
|
-
var hoveredItemId =
|
|
14818
|
-
newAction =
|
|
14819
|
-
editor =
|
|
14820
|
-
var newBond = ketcherCore.fromBondAddition(editor.render.ctab, newAction.opts, hoveredItemId,
|
|
14983
|
+
function handleBondTool(_ref11) {
|
|
14984
|
+
var hoveredItemId = _ref11.hoveredItemId,
|
|
14985
|
+
newAction = _ref11.newAction,
|
|
14986
|
+
editor = _ref11.editor;
|
|
14987
|
+
var newBond = ketcherCore.fromBondAddition(editor.render.ctab, newAction.opts, hoveredItemId, {
|
|
14988
|
+
label: 'C'
|
|
14989
|
+
})[0];
|
|
14821
14990
|
editor.update(newBond);
|
|
14822
14991
|
}
|
|
14823
|
-
function handleChargeTool(
|
|
14992
|
+
function handleChargeTool(_ref12) {
|
|
14824
14993
|
var _editor$render$ctab$a;
|
|
14825
|
-
var hoveredItemId =
|
|
14826
|
-
newAction =
|
|
14827
|
-
editor =
|
|
14994
|
+
var hoveredItemId = _ref12.hoveredItemId,
|
|
14995
|
+
newAction = _ref12.newAction,
|
|
14996
|
+
editor = _ref12.editor;
|
|
14828
14997
|
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;
|
|
14829
14998
|
if (existingAtom) {
|
|
14830
14999
|
var updatedAtom = ketcherCore.fromAtomsAttrs(editor.render.ctab, hoveredItemId, {
|
|
@@ -14840,17 +15009,17 @@ function mapItemsToArrays(items) {
|
|
|
14840
15009
|
}
|
|
14841
15010
|
return mappedItems;
|
|
14842
15011
|
}
|
|
14843
|
-
function handleRGroupAtomTool(
|
|
15012
|
+
function handleRGroupAtomTool(_x3) {
|
|
14844
15013
|
return _handleRGroupAtomTool.apply(this, arguments);
|
|
14845
15014
|
}
|
|
14846
15015
|
function _handleRGroupAtomTool() {
|
|
14847
|
-
_handleRGroupAtomTool = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee2(
|
|
15016
|
+
_handleRGroupAtomTool = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee2(_ref13) {
|
|
14848
15017
|
var hoveredItemId, editor, struct, atom, rglabel, label, element;
|
|
14849
15018
|
return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context2) {
|
|
14850
15019
|
while (1) {
|
|
14851
15020
|
switch (_context2.prev = _context2.next) {
|
|
14852
15021
|
case 0:
|
|
14853
|
-
hoveredItemId =
|
|
15022
|
+
hoveredItemId = _ref13.hoveredItemId, editor = _ref13.editor;
|
|
14854
15023
|
struct = editor.render.ctab.molecule;
|
|
14855
15024
|
atom = hoveredItemId || hoveredItemId === 0 ? struct.atoms.get(hoveredItemId) : null;
|
|
14856
15025
|
rglabel = atom ? atom.rglabel : 0;
|
|
@@ -14887,64 +15056,36 @@ function _handleRGroupAtomTool() {
|
|
|
14887
15056
|
}));
|
|
14888
15057
|
return _handleRGroupAtomTool.apply(this, arguments);
|
|
14889
15058
|
}
|
|
14890
|
-
function
|
|
15059
|
+
function getFunctionalGroupIdByItem(editor, hoveredItemId, type) {
|
|
15060
|
+
var molecule = editor.render.ctab.molecule;
|
|
15061
|
+
var functionalGroups = molecule.functionalGroups;
|
|
15062
|
+
return type === 'atoms' ? ketcherCore.FunctionalGroup.findFunctionalGroupByAtom(functionalGroups, hoveredItemId) : ketcherCore.FunctionalGroup.findFunctionalGroupByBond(molecule, functionalGroups, hoveredItemId);
|
|
15063
|
+
}
|
|
15064
|
+
function isChangingFunctionalGroup(_x4, _x5) {
|
|
14891
15065
|
return _isChangingFunctionalGroup.apply(this, arguments);
|
|
14892
15066
|
}
|
|
14893
15067
|
function _isChangingFunctionalGroup() {
|
|
14894
|
-
_isChangingFunctionalGroup = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee3(
|
|
14895
|
-
var
|
|
14896
|
-
var hoveredItemId, editor, atomResult, result, atom, molecule, functionalGroups, sgroupsOnCanvas, atomId, isFunctionalGroup, _iterator, _step, id, fgId;
|
|
15068
|
+
_isChangingFunctionalGroup = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee3(_ref14, type) {
|
|
15069
|
+
var hoveredItemId, editor, fgId;
|
|
14897
15070
|
return _regeneratorRuntime__default["default"].wrap(function _callee3$(_context3) {
|
|
14898
15071
|
while (1) {
|
|
14899
15072
|
switch (_context3.prev = _context3.next) {
|
|
14900
15073
|
case 0:
|
|
14901
|
-
hoveredItemId =
|
|
14902
|
-
|
|
14903
|
-
|
|
14904
|
-
|
|
14905
|
-
molecule = editor.render.ctab.molecule;
|
|
14906
|
-
functionalGroups = molecule.functionalGroups;
|
|
14907
|
-
sgroupsOnCanvas = Array.from(molecule.sgroups.values());
|
|
14908
|
-
if (atom && functionalGroups) {
|
|
14909
|
-
atomId = ketcherCore.FunctionalGroup.atomsInFunctionalGroup(functionalGroups, hoveredItemId);
|
|
14910
|
-
if (atomId !== null) {
|
|
14911
|
-
atomResult.push(atomId);
|
|
14912
|
-
}
|
|
14913
|
-
}
|
|
14914
|
-
isFunctionalGroup = atomResult.length > 0;
|
|
14915
|
-
if (!isFunctionalGroup) {
|
|
14916
|
-
_context3.next = 17;
|
|
15074
|
+
hoveredItemId = _ref14.hoveredItemId, editor = _ref14.editor;
|
|
15075
|
+
fgId = getFunctionalGroupIdByItem(editor, hoveredItemId, type);
|
|
15076
|
+
if (!(fgId !== null)) {
|
|
15077
|
+
_context3.next = 6;
|
|
14917
15078
|
break;
|
|
14918
15079
|
}
|
|
14919
|
-
|
|
14920
|
-
_context3.next = 12;
|
|
14921
|
-
break;
|
|
14922
|
-
}
|
|
14923
|
-
return _context3.abrupt("return", false);
|
|
14924
|
-
case 12:
|
|
14925
|
-
_iterator = _createForOfIteratorHelper$2(atomResult);
|
|
14926
|
-
try {
|
|
14927
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
14928
|
-
id = _step.value;
|
|
14929
|
-
fgId = ketcherCore.FunctionalGroup.findFunctionalGroupByAtom(functionalGroups, id);
|
|
14930
|
-
if (fgId !== null && !result.includes(fgId)) {
|
|
14931
|
-
result.push(fgId);
|
|
14932
|
-
}
|
|
14933
|
-
}
|
|
14934
|
-
} catch (err) {
|
|
14935
|
-
_iterator.e(err);
|
|
14936
|
-
} finally {
|
|
14937
|
-
_iterator.f();
|
|
14938
|
-
}
|
|
14939
|
-
_context3.next = 16;
|
|
15080
|
+
_context3.next = 5;
|
|
14940
15081
|
return editor.event.removeFG.dispatch({
|
|
14941
|
-
fgIds:
|
|
15082
|
+
fgIds: [fgId]
|
|
14942
15083
|
});
|
|
14943
|
-
case
|
|
14944
|
-
return _context3.abrupt("return",
|
|
14945
|
-
case
|
|
15084
|
+
case 5:
|
|
15085
|
+
return _context3.abrupt("return", false);
|
|
15086
|
+
case 6:
|
|
14946
15087
|
return _context3.abrupt("return", true);
|
|
14947
|
-
case
|
|
15088
|
+
case 7:
|
|
14948
15089
|
case "end":
|
|
14949
15090
|
return _context3.stop();
|
|
14950
15091
|
}
|
|
@@ -14962,15 +15103,10 @@ function initKeydownListener(element) {
|
|
|
14962
15103
|
});
|
|
14963
15104
|
};
|
|
14964
15105
|
}
|
|
14965
|
-
function removeNotRenderedStruct(actionTool,
|
|
14966
|
-
var
|
|
14967
|
-
|
|
14968
|
-
|
|
14969
|
-
var savedSelectedTool = SettingsManager.selectionTool;
|
|
14970
|
-
dispatch({
|
|
14971
|
-
type: 'ACTION',
|
|
14972
|
-
action: savedSelectedTool || tools$1['select-rectangle'].action
|
|
14973
|
-
});
|
|
15106
|
+
function removeNotRenderedStruct(actionTool, group, dispatch) {
|
|
15107
|
+
var affectedTools = ['paste', 'template'];
|
|
15108
|
+
if (affectedTools.includes(actionTool.tool) && group !== null && group !== void 0 && group.includes('save')) {
|
|
15109
|
+
dispatch(removeStructAction());
|
|
14974
15110
|
}
|
|
14975
15111
|
}
|
|
14976
15112
|
function keyHandle(dispatch, state, hotKeys, event) {
|
|
@@ -15022,7 +15158,7 @@ function keyHandle(dispatch, state, hotKeys, event) {
|
|
|
15022
15158
|
event.preventDefault();
|
|
15023
15159
|
return;
|
|
15024
15160
|
}
|
|
15025
|
-
removeNotRenderedStruct(actionTool,
|
|
15161
|
+
removeNotRenderedStruct(actionTool, group, dispatch);
|
|
15026
15162
|
if (actions.indexOf(actName) === -1) {
|
|
15027
15163
|
var newAction = config[actName].action;
|
|
15028
15164
|
var _hoveredItem = getHoveredItem(render.ctab);
|
|
@@ -15192,7 +15328,7 @@ var mapDispatchToProps$d = function mapDispatchToProps(dispatch) {
|
|
|
15192
15328
|
};
|
|
15193
15329
|
var AppHiddenContainer = reactRedux.connect(null, mapDispatchToProps$d)(AppHidden);
|
|
15194
15330
|
|
|
15195
|
-
var classes$
|
|
15331
|
+
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"};
|
|
15196
15332
|
|
|
15197
15333
|
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"};
|
|
15198
15334
|
|
|
@@ -15451,7 +15587,7 @@ function findClosestBond(restruct, pos, skip, minDist, scale) {
|
|
|
15451
15587
|
if (bid === skipId) return;
|
|
15452
15588
|
var a1 = restruct.atoms.get(bond.b.begin).a;
|
|
15453
15589
|
var a2 = restruct.atoms.get(bond.b.end).a;
|
|
15454
|
-
if (ketcherCore.FunctionalGroup.isBondInContractedFunctionalGroup(bond.b, sGroups, functionalGroups)) return null;
|
|
15590
|
+
if (ketcherCore.FunctionalGroup.isBondInContractedFunctionalGroup(bond.b, sGroups, functionalGroups) || ketcherCore.SGroup.isBondInContractedSGroup(bond.b, sGroups)) return null;
|
|
15455
15591
|
var mid = ketcherCore.Vec2.lc2(a1.pp, 0.5, a2.pp, 0.5);
|
|
15456
15592
|
var cdist = ketcherCore.Vec2.dist(pos, mid);
|
|
15457
15593
|
if (cdist < minCDist) {
|
|
@@ -15461,7 +15597,7 @@ function findClosestBond(restruct, pos, skip, minDist, scale) {
|
|
|
15461
15597
|
});
|
|
15462
15598
|
restruct.bonds.forEach(function (bond, bid) {
|
|
15463
15599
|
if (bid === skipId) return;
|
|
15464
|
-
if (ketcherCore.FunctionalGroup.isBondInContractedFunctionalGroup(bond.b, sGroups, functionalGroups)) return null;
|
|
15600
|
+
if (ketcherCore.FunctionalGroup.isBondInContractedFunctionalGroup(bond.b, sGroups, functionalGroups) || ketcherCore.SGroup.isBondInContractedSGroup(bond.b, sGroups)) return null;
|
|
15465
15601
|
var hb = restruct.molecule.halfBonds.get(bond.b.hb1);
|
|
15466
15602
|
var dir = hb.dir;
|
|
15467
15603
|
var norm = hb.norm;
|
|
@@ -15636,7 +15772,7 @@ function findClosestFG(restruct, pos, skip) {
|
|
|
15636
15772
|
reSGroupId = _step$value[0],
|
|
15637
15773
|
reSGroup = _step$value[1];
|
|
15638
15774
|
if (reSGroupId === skipId) continue;
|
|
15639
|
-
var _reSGroup$getTextHigh = reSGroup.getTextHighlightDimensions(),
|
|
15775
|
+
var _reSGroup$getTextHigh = reSGroup.getTextHighlightDimensions(0, restruct.render),
|
|
15640
15776
|
startX = _reSGroup$getTextHigh.startX,
|
|
15641
15777
|
startY = _reSGroup$getTextHigh.startY,
|
|
15642
15778
|
width = _reSGroup$getTextHigh.width,
|
|
@@ -15697,20 +15833,55 @@ function findCloseMerge(restruct, selected) {
|
|
|
15697
15833
|
var bond = struct.bonds.get(bid);
|
|
15698
15834
|
pos.bonds.set(bid, ketcherCore.Vec2.lc2(struct.atoms.get(bond.begin).pp, 0.5, struct.atoms.get(bond.end).pp, 0.5));
|
|
15699
15835
|
});
|
|
15700
|
-
var result = {
|
|
15701
|
-
|
|
15702
|
-
|
|
15703
|
-
|
|
15704
|
-
|
|
15705
|
-
|
|
15706
|
-
|
|
15707
|
-
|
|
15708
|
-
|
|
15709
|
-
|
|
15710
|
-
}
|
|
15836
|
+
var result = {
|
|
15837
|
+
atoms: new Map(),
|
|
15838
|
+
atomToFunctionalGroup: new Map()
|
|
15839
|
+
};
|
|
15840
|
+
maps.forEach(function (map) {
|
|
15841
|
+
if (map === 'atoms') {
|
|
15842
|
+
Array.from(pos.atoms.keys()).forEach(function (atomId) {
|
|
15843
|
+
var atomPosition = pos.atoms.get(atomId);
|
|
15844
|
+
mergeAtomToAtom(atomId, restruct, atomPosition, selected, result) || mergeAtomToFunctionalGroup(atomId, restruct, atomPosition, result);
|
|
15845
|
+
});
|
|
15846
|
+
} else {
|
|
15847
|
+
result[map] = Array.from(pos[map].keys()).reduce(function (res, srcId) {
|
|
15848
|
+
var skip = {
|
|
15849
|
+
map: map,
|
|
15850
|
+
id: srcId
|
|
15851
|
+
};
|
|
15852
|
+
var item = findMaps[map](restruct, pos[map].get(srcId), skip, null, scale);
|
|
15853
|
+
if (item && !selected[map].includes(item.id)) {
|
|
15854
|
+
res.set(srcId, item.id);
|
|
15855
|
+
}
|
|
15856
|
+
return res;
|
|
15857
|
+
}, new Map());
|
|
15858
|
+
}
|
|
15711
15859
|
});
|
|
15712
15860
|
return result;
|
|
15713
15861
|
}
|
|
15862
|
+
function mergeAtomToAtom(atomId, restruct, atomPosition, selected, result) {
|
|
15863
|
+
var skip = {
|
|
15864
|
+
map: 'atoms',
|
|
15865
|
+
id: atomId
|
|
15866
|
+
};
|
|
15867
|
+
var closestAtom = findClosestAtom(restruct, atomPosition, skip, null);
|
|
15868
|
+
if (closestAtom && !selected.atoms.includes(closestAtom.id)) {
|
|
15869
|
+
result.atoms.set(atomId, closestAtom.id);
|
|
15870
|
+
return true;
|
|
15871
|
+
}
|
|
15872
|
+
return false;
|
|
15873
|
+
}
|
|
15874
|
+
function mergeAtomToFunctionalGroup(atomId, restruct, atomPosition, result) {
|
|
15875
|
+
if (ketcherCore.FunctionalGroup.isAttachmentPointAtom(atomId, restruct.molecule)) {
|
|
15876
|
+
return false;
|
|
15877
|
+
}
|
|
15878
|
+
var closestFunctionalGroup = findClosestFG(restruct, atomPosition, null);
|
|
15879
|
+
if (closestFunctionalGroup) {
|
|
15880
|
+
result.atomToFunctionalGroup.set(atomId, closestFunctionalGroup.id);
|
|
15881
|
+
return true;
|
|
15882
|
+
}
|
|
15883
|
+
return false;
|
|
15884
|
+
}
|
|
15714
15885
|
var closest = {
|
|
15715
15886
|
atom: findClosestAtom,
|
|
15716
15887
|
item: findClosestItem,
|
|
@@ -16589,7 +16760,7 @@ function setHover(ci, visible, render) {
|
|
|
16589
16760
|
return true;
|
|
16590
16761
|
}
|
|
16591
16762
|
|
|
16592
|
-
var classes$
|
|
16763
|
+
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"};
|
|
16593
16764
|
|
|
16594
16765
|
var Cursor = function Cursor(_ref) {
|
|
16595
16766
|
var Icon = _ref.Icon,
|
|
@@ -16851,8 +17022,7 @@ var useBondEdit = function useBondEdit() {
|
|
|
16851
17022
|
getKetcherInstance = _useAppContext.getKetcherInstance;
|
|
16852
17023
|
var handler = React.useCallback( function () {
|
|
16853
17024
|
var _ref2 = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee(_ref) {
|
|
16854
|
-
var
|
|
16855
|
-
var props, editor, bondIds, bond, newBond;
|
|
17025
|
+
var props, editor, bondIds, molecule, bonds, changeBondPromise;
|
|
16856
17026
|
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
16857
17027
|
while (1) {
|
|
16858
17028
|
switch (_context.prev = _context.next) {
|
|
@@ -16860,24 +17030,29 @@ var useBondEdit = function useBondEdit() {
|
|
|
16860
17030
|
props = _ref.props;
|
|
16861
17031
|
editor = getKetcherInstance().editor;
|
|
16862
17032
|
bondIds = (props === null || props === void 0 ? void 0 : props.bondIds) || [];
|
|
16863
|
-
|
|
17033
|
+
molecule = editor.render.ctab;
|
|
16864
17034
|
_context.prev = 4;
|
|
16865
|
-
|
|
16866
|
-
|
|
16867
|
-
|
|
16868
|
-
|
|
16869
|
-
|
|
16870
|
-
|
|
17035
|
+
bonds = mapBondIdsToBonds(bondIds, molecule);
|
|
17036
|
+
_context.next = 8;
|
|
17037
|
+
return editor.event.bondEdit.dispatch(bonds);
|
|
17038
|
+
case 8:
|
|
17039
|
+
changeBondPromise = _context.sent;
|
|
17040
|
+
updateSelectedBonds({
|
|
17041
|
+
bonds: bondIds,
|
|
17042
|
+
changeBondPromise: changeBondPromise,
|
|
17043
|
+
editor: editor
|
|
17044
|
+
});
|
|
17045
|
+
_context.next = 15;
|
|
16871
17046
|
break;
|
|
16872
|
-
case
|
|
16873
|
-
_context.prev =
|
|
17047
|
+
case 12:
|
|
17048
|
+
_context.prev = 12;
|
|
16874
17049
|
_context.t0 = _context["catch"](4);
|
|
16875
|
-
case
|
|
17050
|
+
case 15:
|
|
16876
17051
|
case "end":
|
|
16877
17052
|
return _context.stop();
|
|
16878
17053
|
}
|
|
16879
17054
|
}
|
|
16880
|
-
}, _callee, null, [[4,
|
|
17055
|
+
}, _callee, null, [[4, 12]]);
|
|
16881
17056
|
}));
|
|
16882
17057
|
return function (_x) {
|
|
16883
17058
|
return _ref2.apply(this, arguments);
|
|
@@ -17069,7 +17244,16 @@ var useFunctionalGroupEoc = function useFunctionalGroupEoc() {
|
|
|
17069
17244
|
return toExpand ? functionalGroup.isExpanded : !functionalGroup.isExpanded;
|
|
17070
17245
|
}));
|
|
17071
17246
|
}, []);
|
|
17072
|
-
|
|
17247
|
+
var disabled = React.useCallback(function (_ref3) {
|
|
17248
|
+
var _props$functionalGrou2;
|
|
17249
|
+
var props = _ref3.props;
|
|
17250
|
+
var editor = getKetcherInstance().editor;
|
|
17251
|
+
var molecule = editor.render.ctab.molecule;
|
|
17252
|
+
return Boolean(props === null || props === void 0 ? void 0 : (_props$functionalGrou2 = props.functionalGroups) === null || _props$functionalGrou2 === void 0 ? void 0 : _props$functionalGrou2.every(function (functionalGroup) {
|
|
17253
|
+
return ketcherCore.FunctionalGroup.getAttachmentPointCount(functionalGroup === null || functionalGroup === void 0 ? void 0 : functionalGroup.relatedSGroup, molecule) > 1;
|
|
17254
|
+
}));
|
|
17255
|
+
}, []);
|
|
17256
|
+
return [handler, hidden, disabled];
|
|
17073
17257
|
};
|
|
17074
17258
|
|
|
17075
17259
|
var useFunctionalGroupRemove = function useFunctionalGroupRemove() {
|
|
@@ -17097,12 +17281,16 @@ function ownKeys$G(object, enumerableOnly) { var keys = Object.keys(object); if
|
|
|
17097
17281
|
function _objectSpread$G(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$G(Object(source), !0).forEach(function (key) { _defineProperty__default["default"](target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$G(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
17098
17282
|
var FunctionalGroupMenuItems = function FunctionalGroupMenuItems(props) {
|
|
17099
17283
|
var _useFunctionalGroupEo = useFunctionalGroupEoc(),
|
|
17100
|
-
_useFunctionalGroupEo2 = _slicedToArray__default["default"](_useFunctionalGroupEo,
|
|
17284
|
+
_useFunctionalGroupEo2 = _slicedToArray__default["default"](_useFunctionalGroupEo, 3),
|
|
17101
17285
|
handleExpandOrContract = _useFunctionalGroupEo2[0],
|
|
17102
|
-
ExpandOrContractHidden = _useFunctionalGroupEo2[1]
|
|
17286
|
+
ExpandOrContractHidden = _useFunctionalGroupEo2[1],
|
|
17287
|
+
ExpandOrContractDisabled = _useFunctionalGroupEo2[2];
|
|
17103
17288
|
var handleRemove = useFunctionalGroupRemove();
|
|
17104
17289
|
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
17105
17290
|
children: [jsxRuntime.jsx(reactContexify.Item, _objectSpread$G(_objectSpread$G({}, props), {}, {
|
|
17291
|
+
disabled: function disabled(params) {
|
|
17292
|
+
return ExpandOrContractDisabled(params);
|
|
17293
|
+
},
|
|
17106
17294
|
hidden: function hidden(params) {
|
|
17107
17295
|
return ExpandOrContractHidden(params, true);
|
|
17108
17296
|
},
|
|
@@ -17111,6 +17299,9 @@ var FunctionalGroupMenuItems = function FunctionalGroupMenuItems(props) {
|
|
|
17111
17299
|
},
|
|
17112
17300
|
children: "Expand Abbreviation"
|
|
17113
17301
|
})), jsxRuntime.jsx(reactContexify.Item, _objectSpread$G(_objectSpread$G({}, props), {}, {
|
|
17302
|
+
disabled: function disabled(params) {
|
|
17303
|
+
return ExpandOrContractDisabled(params);
|
|
17304
|
+
},
|
|
17114
17305
|
hidden: function hidden(params) {
|
|
17115
17306
|
return ExpandOrContractHidden(params, false);
|
|
17116
17307
|
},
|
|
@@ -17405,7 +17596,7 @@ var StructRender = function (_Component) {
|
|
|
17405
17596
|
return StructRender;
|
|
17406
17597
|
}(React.Component);
|
|
17407
17598
|
|
|
17408
|
-
var classes$
|
|
17599
|
+
var classes$D = {"infoPanel":"InfoPanel-module_infoPanel__irvZL"};
|
|
17409
17600
|
|
|
17410
17601
|
var X_COORD_INDEX = 0;
|
|
17411
17602
|
var Y_COORD_INDEX = 1;
|
|
@@ -17510,7 +17701,7 @@ var SGroupDataRender = function SGroupDataRender(props) {
|
|
|
17510
17701
|
left: panelCoordinate.x + 'px',
|
|
17511
17702
|
top: panelCoordinate.y + 'px'
|
|
17512
17703
|
},
|
|
17513
|
-
className: clsx__default["default"](classes$
|
|
17704
|
+
className: clsx__default["default"](classes$D.infoPanel, className),
|
|
17514
17705
|
children: sGroupData
|
|
17515
17706
|
}) : null;
|
|
17516
17707
|
};
|
|
@@ -17586,11 +17777,9 @@ var InfoPanel = function InfoPanel(props) {
|
|
|
17586
17777
|
var childRef = React.useRef(null);
|
|
17587
17778
|
var groupName = sGroup === null || sGroup === void 0 ? void 0 : (_sGroup$data = sGroup.data) === null || _sGroup$data === void 0 ? void 0 : _sGroup$data.name;
|
|
17588
17779
|
React.useEffect(function () {
|
|
17589
|
-
|
|
17590
|
-
|
|
17591
|
-
|
|
17592
|
-
var _sGroup$data3, _sGroup$data4;
|
|
17593
|
-
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));
|
|
17780
|
+
if (!groupStruct && (sGroup === null || sGroup === void 0 ? void 0 : sGroup.type) === 'DAT') {
|
|
17781
|
+
var _sGroup$data2, _sGroup$data3;
|
|
17782
|
+
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));
|
|
17594
17783
|
} else {
|
|
17595
17784
|
setSGroupData(null);
|
|
17596
17785
|
}
|
|
@@ -17614,7 +17803,7 @@ var InfoPanel = function InfoPanel(props) {
|
|
|
17614
17803
|
left: x + 'px',
|
|
17615
17804
|
top: y + 'px'
|
|
17616
17805
|
},
|
|
17617
|
-
className: clsx__default["default"](classes$
|
|
17806
|
+
className: clsx__default["default"](classes$D.infoPanel, className),
|
|
17618
17807
|
children: jsxRuntime.jsx(StructRender, {
|
|
17619
17808
|
struct: molecule,
|
|
17620
17809
|
id: groupName,
|
|
@@ -17624,6 +17813,7 @@ var InfoPanel = function InfoPanel(props) {
|
|
|
17624
17813
|
autoScaleMargin: 0,
|
|
17625
17814
|
rescaleAmount: 1,
|
|
17626
17815
|
cachePrefix: 'infoPanel',
|
|
17816
|
+
needCache: false,
|
|
17627
17817
|
viewSz: new ketcherCore.Vec2(width, height),
|
|
17628
17818
|
width: width,
|
|
17629
17819
|
height: height
|
|
@@ -17731,15 +17921,15 @@ var StructEditor = function (_Component) {
|
|
|
17731
17921
|
} catch (_unused) {
|
|
17732
17922
|
el.innerHTML = msg.info;
|
|
17733
17923
|
}
|
|
17734
|
-
el.classList.add(classes$
|
|
17924
|
+
el.classList.add(classes$E.visible);
|
|
17735
17925
|
} else {
|
|
17736
|
-
el.classList.remove(classes$
|
|
17926
|
+
el.classList.remove(classes$E.visible);
|
|
17737
17927
|
}
|
|
17738
17928
|
});
|
|
17739
17929
|
this.editor.event.cursor.add(function (csr) {
|
|
17740
17930
|
switch (csr.status) {
|
|
17741
17931
|
case 'enable':
|
|
17742
|
-
_this2.editorRef.current.classList.add(classes$
|
|
17932
|
+
_this2.editorRef.current.classList.add(classes$E.enableCursor);
|
|
17743
17933
|
var _this2$editorRef$curr = _this2.editorRef.current.getBoundingClientRect(),
|
|
17744
17934
|
left = _this2$editorRef$curr.left,
|
|
17745
17935
|
top = _this2$editorRef$curr.top,
|
|
@@ -17756,7 +17946,7 @@ var StructEditor = function (_Component) {
|
|
|
17756
17946
|
}
|
|
17757
17947
|
break;
|
|
17758
17948
|
case 'move':
|
|
17759
|
-
_this2.editorRef.current.classList.add(classes$
|
|
17949
|
+
_this2.editorRef.current.classList.add(classes$E.enableCursor);
|
|
17760
17950
|
_this2.setState({
|
|
17761
17951
|
enableCursor: true,
|
|
17762
17952
|
clientX: clientX,
|
|
@@ -17764,19 +17954,19 @@ var StructEditor = function (_Component) {
|
|
|
17764
17954
|
});
|
|
17765
17955
|
break;
|
|
17766
17956
|
case 'disable':
|
|
17767
|
-
_this2.editorRef.current.classList.remove(classes$
|
|
17957
|
+
_this2.editorRef.current.classList.remove(classes$E.enableCursor);
|
|
17768
17958
|
_this2.setState({
|
|
17769
17959
|
enableCursor: false
|
|
17770
17960
|
});
|
|
17771
17961
|
break;
|
|
17772
17962
|
case 'leave':
|
|
17773
|
-
_this2.editorRef.current.classList.remove(classes$
|
|
17963
|
+
_this2.editorRef.current.classList.remove(classes$E.enableCursor);
|
|
17774
17964
|
_this2.setState({
|
|
17775
17965
|
enableCursor: false
|
|
17776
17966
|
});
|
|
17777
17967
|
break;
|
|
17778
17968
|
case 'mouseover':
|
|
17779
|
-
_this2.editorRef.current.classList.add(classes$
|
|
17969
|
+
_this2.editorRef.current.classList.add(classes$E.enableCursor);
|
|
17780
17970
|
_this2.setState({
|
|
17781
17971
|
enableCursor: true
|
|
17782
17972
|
});
|
|
@@ -17829,22 +18019,22 @@ var StructEditor = function (_Component) {
|
|
|
17829
18019
|
_this$state$clientY = _this$state.clientY,
|
|
17830
18020
|
clientY = _this$state$clientY === void 0 ? 0 : _this$state$clientY;
|
|
17831
18021
|
return jsxRuntime.jsxs(Tag, _objectSpread$B(_objectSpread$B({
|
|
17832
|
-
className: clsx__default["default"](classes$
|
|
18022
|
+
className: clsx__default["default"](classes$E.canvas, className)
|
|
17833
18023
|
}, props), {}, {
|
|
17834
18024
|
children: [jsxRuntime.jsx(ContextMenuTrigger, {
|
|
17835
18025
|
children: jsxRuntime.jsx("div", {
|
|
17836
18026
|
ref: this.editorRef,
|
|
17837
|
-
className: clsx__default["default"](classes$
|
|
18027
|
+
className: clsx__default["default"](classes$E.intermediateCanvas)
|
|
17838
18028
|
})
|
|
17839
18029
|
}), jsxRuntime.jsx(Cursor, {
|
|
17840
18030
|
Icon: SvgHand,
|
|
17841
18031
|
PressedIcon: SvgCompressedHand,
|
|
17842
18032
|
enableHandTool: this.state.enableCursor
|
|
17843
18033
|
}), jsxRuntime.jsx("div", {
|
|
17844
|
-
className: classes$
|
|
18034
|
+
className: classes$E.measureLog,
|
|
17845
18035
|
ref: this.logRef
|
|
17846
18036
|
}), indigoVerification && jsxRuntime.jsx("div", {
|
|
17847
|
-
className: "".concat(classes$
|
|
18037
|
+
className: "".concat(classes$E.spinnerOverlay, " loading-spinner"),
|
|
17848
18038
|
children: jsxRuntime.jsx(LoadingCircles, {})
|
|
17849
18039
|
}), jsxRuntime.jsx(InfoPanel$1, {
|
|
17850
18040
|
clientX: clientX,
|
|
@@ -17909,35 +18099,35 @@ function SvgLogo(props) {
|
|
|
17909
18099
|
})))));
|
|
17910
18100
|
}
|
|
17911
18101
|
|
|
17912
|
-
var classes$
|
|
18102
|
+
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"};
|
|
17913
18103
|
|
|
17914
18104
|
function AboutDialog(props) {
|
|
17915
18105
|
var indigoInfo = props.indigoVersion && props.indigoVersion.split('.r');
|
|
17916
18106
|
return jsxRuntime.jsxs(Dialog, {
|
|
17917
|
-
className: "".concat(classes$
|
|
18107
|
+
className: "".concat(classes$C.about, " ").concat(classes$C.dialog_body),
|
|
17918
18108
|
params: props,
|
|
17919
18109
|
buttons: [jsxRuntime.jsx("button", {
|
|
17920
18110
|
onClick: props.onOk,
|
|
17921
|
-
className: classes$
|
|
18111
|
+
className: classes$C.okButton,
|
|
17922
18112
|
children: "Ok"
|
|
17923
18113
|
}, "ok")],
|
|
17924
18114
|
children: [jsxRuntime.jsx("div", {
|
|
17925
|
-
className: classes$
|
|
18115
|
+
className: classes$C.headerContent,
|
|
17926
18116
|
children: jsxRuntime.jsxs("a", {
|
|
17927
18117
|
href: props.overviewLink,
|
|
17928
18118
|
target: "_blank",
|
|
17929
18119
|
rel: "noopener noreferrer",
|
|
17930
18120
|
children: [jsxRuntime.jsx(SvgLogo, {}), jsxRuntime.jsx("span", {
|
|
17931
|
-
className: classes$
|
|
18121
|
+
className: classes$C.title,
|
|
17932
18122
|
children: "Ketcher"
|
|
17933
18123
|
})]
|
|
17934
18124
|
})
|
|
17935
18125
|
}), jsxRuntime.jsx("div", {
|
|
17936
|
-
className: classes$
|
|
18126
|
+
className: classes$C.body,
|
|
17937
18127
|
children: jsxRuntime.jsx("div", {
|
|
17938
|
-
className: classes$
|
|
18128
|
+
className: classes$C.verionsInfo,
|
|
17939
18129
|
children: jsxRuntime.jsxs("dl", {
|
|
17940
|
-
className: classes$
|
|
18130
|
+
className: classes$C.ketcherVersionInfo,
|
|
17941
18131
|
children: [jsxRuntime.jsx("dt", {
|
|
17942
18132
|
children: jsxRuntime.jsxs("a", {
|
|
17943
18133
|
href: props.overviewLink,
|
|
@@ -17950,7 +18140,7 @@ function AboutDialog(props) {
|
|
|
17950
18140
|
children: props.date
|
|
17951
18141
|
})]
|
|
17952
18142
|
}), jsxRuntime.jsxs("div", {
|
|
17953
|
-
className: classes$
|
|
18143
|
+
className: classes$C.infoLinks,
|
|
17954
18144
|
children: [jsxRuntime.jsx("dt", {
|
|
17955
18145
|
children: jsxRuntime.jsx("a", {
|
|
17956
18146
|
href: props.feedbackLink,
|
|
@@ -17967,7 +18157,7 @@ function AboutDialog(props) {
|
|
|
17967
18157
|
})
|
|
17968
18158
|
})]
|
|
17969
18159
|
}), jsxRuntime.jsx("br", {}), jsxRuntime.jsxs("div", {
|
|
17970
|
-
className: classes$
|
|
18160
|
+
className: classes$C.indigoVersion,
|
|
17971
18161
|
children: [jsxRuntime.jsxs("a", {
|
|
17972
18162
|
href: "http://lifescience.opensource.epam.com/indigo/",
|
|
17973
18163
|
target: "_blank",
|
|
@@ -18045,7 +18235,7 @@ var ErrorPopover = function ErrorPopover(_ref) {
|
|
|
18045
18235
|
});
|
|
18046
18236
|
};
|
|
18047
18237
|
|
|
18048
|
-
var classes$
|
|
18238
|
+
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"};
|
|
18049
18239
|
|
|
18050
18240
|
var _excluded$o = ["schema", "value", "onChange", "innerRef", "type", "isFocused"],
|
|
18051
18241
|
_excluded2$4 = ["schema", "value", "onChange"],
|
|
@@ -18085,12 +18275,12 @@ function GenericInput(_ref) {
|
|
|
18085
18275
|
value: value !== null && value !== void 0 ? value : '',
|
|
18086
18276
|
onInput: onChange,
|
|
18087
18277
|
onChange: onChange,
|
|
18088
|
-
className: clsx__default["default"](classes$
|
|
18278
|
+
className: clsx__default["default"](classes$B.input, classes$B.genericInput),
|
|
18089
18279
|
ref: inputRef
|
|
18090
18280
|
}, props)), type === 'checkbox' && jsxRuntime.jsx("span", {
|
|
18091
|
-
className: classes$
|
|
18281
|
+
className: classes$B.checkbox
|
|
18092
18282
|
}), type === 'radio' && jsxRuntime.jsx("span", {
|
|
18093
|
-
className: classes$
|
|
18283
|
+
className: classes$B.radioButton
|
|
18094
18284
|
})]
|
|
18095
18285
|
});
|
|
18096
18286
|
}
|
|
@@ -18121,16 +18311,16 @@ function CheckBox(_ref3) {
|
|
|
18121
18311
|
innerRef = _ref3.innerRef,
|
|
18122
18312
|
rest = _objectWithoutProperties__default["default"](_ref3, _excluded3$1);
|
|
18123
18313
|
return jsxRuntime.jsxs("div", {
|
|
18124
|
-
className: classes$
|
|
18314
|
+
className: classes$B.fieldSetItem,
|
|
18125
18315
|
children: [jsxRuntime.jsx("input", _objectSpread$A({
|
|
18126
18316
|
type: "checkbox",
|
|
18127
18317
|
checked: Boolean(value),
|
|
18128
18318
|
onClick: onChange,
|
|
18129
18319
|
onChange: onChange,
|
|
18130
|
-
className: classes$
|
|
18320
|
+
className: classes$B.input,
|
|
18131
18321
|
ref: innerRef
|
|
18132
18322
|
}, rest)), jsxRuntime.jsx("span", {
|
|
18133
|
-
className: classes$
|
|
18323
|
+
className: classes$B.checkbox
|
|
18134
18324
|
})]
|
|
18135
18325
|
});
|
|
18136
18326
|
}
|
|
@@ -18151,7 +18341,7 @@ function Select$1(_ref4) {
|
|
|
18151
18341
|
value: value,
|
|
18152
18342
|
name: name,
|
|
18153
18343
|
multiple: multiple,
|
|
18154
|
-
className: clsx__default["default"](classes$
|
|
18344
|
+
className: clsx__default["default"](classes$B.select, className),
|
|
18155
18345
|
children: enumSchema(schema, function (title, val) {
|
|
18156
18346
|
return jsxRuntime.jsx("option", {
|
|
18157
18347
|
value: val,
|
|
@@ -18181,18 +18371,18 @@ function FieldSet(_ref5) {
|
|
|
18181
18371
|
onClick: onSelect,
|
|
18182
18372
|
children: enumSchema(schema, function (title, val) {
|
|
18183
18373
|
return jsxRuntime.jsx("li", {
|
|
18184
|
-
className: classes$
|
|
18374
|
+
className: classes$B.fieldSetItem,
|
|
18185
18375
|
children: jsxRuntime.jsxs("label", {
|
|
18186
|
-
className: classes$
|
|
18376
|
+
className: classes$B.fieldSetLabel,
|
|
18187
18377
|
children: [jsxRuntime.jsx("input", _objectSpread$A({
|
|
18188
18378
|
type: type,
|
|
18189
18379
|
defaultChecked: type === 'radio' ? selected(val, checked) : selected(val, value),
|
|
18190
18380
|
value: _typeof__default["default"](val) !== 'object' && val,
|
|
18191
|
-
className: classes$
|
|
18381
|
+
className: classes$B.input
|
|
18192
18382
|
}, rest)), type === 'checkbox' && jsxRuntime.jsx("span", {
|
|
18193
|
-
className: classes$
|
|
18383
|
+
className: classes$B.checkbox
|
|
18194
18384
|
}), type === 'radio' && jsxRuntime.jsx("span", {
|
|
18195
|
-
className: classes$
|
|
18385
|
+
className: classes$B.radioButton
|
|
18196
18386
|
}), title]
|
|
18197
18387
|
})
|
|
18198
18388
|
}, title);
|
|
@@ -18222,7 +18412,7 @@ function Slider(_ref6) {
|
|
|
18222
18412
|
name = _ref6.name,
|
|
18223
18413
|
rest = _objectWithoutProperties__default["default"](_ref6, _excluded5$1);
|
|
18224
18414
|
return jsxRuntime.jsxs("div", {
|
|
18225
|
-
className: classes$
|
|
18415
|
+
className: classes$B.slider,
|
|
18226
18416
|
children: [jsxRuntime.jsx("input", _objectSpread$A({
|
|
18227
18417
|
type: "checkbox",
|
|
18228
18418
|
checked: value,
|
|
@@ -18409,7 +18599,7 @@ var Select = function Select(_ref2) {
|
|
|
18409
18599
|
});
|
|
18410
18600
|
};
|
|
18411
18601
|
|
|
18412
|
-
var classes$
|
|
18602
|
+
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"};
|
|
18413
18603
|
|
|
18414
18604
|
var _excluded$n = ["schema", "result", "customValid"],
|
|
18415
18605
|
_excluded2$3 = ["labelPos", "title", "children"],
|
|
@@ -18568,13 +18758,13 @@ function Field(props) {
|
|
|
18568
18758
|
}, fieldOpts), rest));
|
|
18569
18759
|
if (labelPos === false) return formField;
|
|
18570
18760
|
return jsxRuntime.jsxs(Label, {
|
|
18571
|
-
className: clsx__default["default"](_defineProperty__default["default"]({}, classes$
|
|
18761
|
+
className: clsx__default["default"](_defineProperty__default["default"]({}, classes$A.dataError, dataError), className),
|
|
18572
18762
|
error: dataError,
|
|
18573
18763
|
title: rest.title || desc.title,
|
|
18574
18764
|
labelPos: labelPos,
|
|
18575
18765
|
tooltip: rest === null || rest === void 0 ? void 0 : rest.tooltip,
|
|
18576
18766
|
children: [jsxRuntime.jsx("span", {
|
|
18577
|
-
className: classes$
|
|
18767
|
+
className: classes$A.inputWrapper,
|
|
18578
18768
|
onMouseEnter: handlePopoverOpen,
|
|
18579
18769
|
onMouseLeave: handlePopoverClose,
|
|
18580
18770
|
children: formField
|
|
@@ -18681,7 +18871,7 @@ function getErrorsObj(errors) {
|
|
|
18681
18871
|
return errs;
|
|
18682
18872
|
}
|
|
18683
18873
|
|
|
18684
|
-
var classes$
|
|
18874
|
+
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"};
|
|
18685
18875
|
|
|
18686
18876
|
var presetColors = ['#FF4545', '#FFAD31', '#68D442', '#3ACACC', '#4434FF', '#9C9C9C', '#000000'];
|
|
18687
18877
|
var ColorPicker = function ColorPicker(props) {
|
|
@@ -18730,32 +18920,32 @@ var ColorPicker = function ColorPicker(props) {
|
|
|
18730
18920
|
}
|
|
18731
18921
|
};
|
|
18732
18922
|
return jsxRuntime.jsxs("div", {
|
|
18733
|
-
className: classes$
|
|
18923
|
+
className: classes$z.colorPickerWrapper,
|
|
18734
18924
|
"data-testid": isOpen ? 'color-picker-field-open' : 'color-picker-field',
|
|
18735
18925
|
onClick: function onClick(e) {
|
|
18736
18926
|
return e.preventDefault();
|
|
18737
18927
|
},
|
|
18738
18928
|
children: [jsxRuntime.jsxs("div", {
|
|
18739
|
-
className: clsx__default["default"]((_clsx = {}, _defineProperty__default["default"](_clsx, classes$
|
|
18929
|
+
className: clsx__default["default"]((_clsx = {}, _defineProperty__default["default"](_clsx, classes$z.colorPickerInput, true), _defineProperty__default["default"](_clsx, classes$z.selectedInput, isOpen), _clsx)),
|
|
18740
18930
|
onClick: handleClick,
|
|
18741
18931
|
children: [jsxRuntime.jsx("div", {
|
|
18742
|
-
className: classes$
|
|
18932
|
+
className: classes$z.colorPickerPreview,
|
|
18743
18933
|
"data-testid": "color-picker-preview",
|
|
18744
18934
|
style: {
|
|
18745
18935
|
backgroundColor: value
|
|
18746
18936
|
}
|
|
18747
18937
|
}), jsxRuntime.jsx(Icon, {
|
|
18748
|
-
className: clsx__default["default"]((_clsx2 = {}, _defineProperty__default["default"](_clsx2, classes$
|
|
18938
|
+
className: clsx__default["default"]((_clsx2 = {}, _defineProperty__default["default"](_clsx2, classes$z.expandIcon, true), _defineProperty__default["default"](_clsx2, classes$z.turnedIcon, !isOpen), _clsx2)),
|
|
18749
18939
|
name: "chevron"
|
|
18750
18940
|
})]
|
|
18751
18941
|
}), isOpen && jsxRuntime.jsxs("div", {
|
|
18752
|
-
className: clsx__default["default"](classes$
|
|
18942
|
+
className: clsx__default["default"](classes$z.colorPickerWrap, isPaletteOpen && classes$z.withPalette),
|
|
18753
18943
|
onBlur: handleBlur,
|
|
18754
18944
|
"data-testid": "color-picker-preset",
|
|
18755
18945
|
children: [jsxRuntime.jsxs("div", {
|
|
18756
|
-
className: classes$
|
|
18946
|
+
className: classes$z.presetColors,
|
|
18757
18947
|
children: [jsxRuntime.jsx("button", {
|
|
18758
|
-
className: clsx__default["default"](classes$
|
|
18948
|
+
className: clsx__default["default"](classes$z.chooseColor, isPaletteOpen && classes$z.clicked),
|
|
18759
18949
|
onClick: handlePaletteOpen,
|
|
18760
18950
|
autoFocus: true,
|
|
18761
18951
|
"data-testid": "color-picker-btn"
|
|
@@ -18767,19 +18957,19 @@ var ColorPicker = function ColorPicker(props) {
|
|
|
18767
18957
|
style: {
|
|
18768
18958
|
backgroundColor: color
|
|
18769
18959
|
},
|
|
18770
|
-
className: classes$
|
|
18960
|
+
className: classes$z.presetColor
|
|
18771
18961
|
}, color);
|
|
18772
18962
|
})]
|
|
18773
18963
|
}), isPaletteOpen && jsxRuntime.jsxs("div", {
|
|
18774
|
-
className: classes$
|
|
18964
|
+
className: classes$z.colorPicker,
|
|
18775
18965
|
"data-testid": "color-palette",
|
|
18776
18966
|
children: [jsxRuntime.jsx(reactColorful.HexColorPicker, {
|
|
18777
18967
|
color: value,
|
|
18778
18968
|
onChange: handleChange
|
|
18779
18969
|
}), jsxRuntime.jsxs("div", {
|
|
18780
|
-
className: classes$
|
|
18970
|
+
className: classes$z.colorContainer,
|
|
18781
18971
|
children: [jsxRuntime.jsx("span", {
|
|
18782
|
-
className: classes$
|
|
18972
|
+
className: classes$z.hex,
|
|
18783
18973
|
children: "HEX"
|
|
18784
18974
|
}), jsxRuntime.jsx(reactColorful.HexColorInput, {
|
|
18785
18975
|
"data-testid": "color-picker-input",
|
|
@@ -18873,7 +19063,7 @@ function convertValue(value, measureFrom, measureTo) {
|
|
|
18873
19063
|
return measureTo === 'px' || measureTo === 'pt' ? (value * measureMap[measureFrom] / measureMap[measureTo]).toFixed() - 0 : (value * measureMap[measureFrom] / measureMap[measureTo]).toFixed(3) - 0;
|
|
18874
19064
|
}
|
|
18875
19065
|
|
|
18876
|
-
var classes$
|
|
19066
|
+
var classes$y = {"button-common-styles":"buttons-module_button-common-styles__qWDOz","scrollbar":"buttons-module_scrollbar__SpaVV","openButton":"buttons-module_openButton__wErm9"};
|
|
18877
19067
|
|
|
18878
19068
|
var _excluded$l = ["children", "type", "server", "className"];
|
|
18879
19069
|
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; }
|
|
@@ -18927,7 +19117,7 @@ var OpenButton = function (_Component) {
|
|
|
18927
19117
|
onClick: function onClick() {
|
|
18928
19118
|
return _this2.btn.click();
|
|
18929
19119
|
},
|
|
18930
|
-
className: clsx__default["default"](classes$
|
|
19120
|
+
className: clsx__default["default"](classes$y.openButton, className)
|
|
18931
19121
|
}, props), {}, {
|
|
18932
19122
|
children: [jsxRuntime.jsx("input", {
|
|
18933
19123
|
onChange: function onChange(ev) {
|
|
@@ -19029,7 +19219,7 @@ var fileSaver = function fileSaver(server) {
|
|
|
19029
19219
|
});
|
|
19030
19220
|
};
|
|
19031
19221
|
|
|
19032
|
-
var classes$
|
|
19222
|
+
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"};
|
|
19033
19223
|
|
|
19034
19224
|
var Accordion = function Accordion(_ref) {
|
|
19035
19225
|
var tabs = _ref.tabs,
|
|
@@ -19048,7 +19238,7 @@ var Accordion = function Accordion(_ref) {
|
|
|
19048
19238
|
};
|
|
19049
19239
|
};
|
|
19050
19240
|
return jsxRuntime.jsx("div", {
|
|
19051
|
-
className: clsx__default["default"](classes$
|
|
19241
|
+
className: clsx__default["default"](classes$x.accordionWrapper, className),
|
|
19052
19242
|
children: tabs.map(function (_ref2) {
|
|
19053
19243
|
var _clsx, _clsx2;
|
|
19054
19244
|
var label = _ref2.label,
|
|
@@ -19058,28 +19248,28 @@ var Accordion = function Accordion(_ref) {
|
|
|
19058
19248
|
return jsxRuntime.jsxs("div", {
|
|
19059
19249
|
children: [jsxRuntime.jsx("div", {
|
|
19060
19250
|
onClick: handleAccordionChange(label),
|
|
19061
|
-
className: classes$
|
|
19251
|
+
className: classes$x.accordionSummaryWrapper,
|
|
19062
19252
|
children: jsxRuntime.jsxs("div", {
|
|
19063
|
-
className: classes$
|
|
19253
|
+
className: classes$x.accordionSummary,
|
|
19064
19254
|
children: [jsxRuntime.jsx(Icon, {
|
|
19065
|
-
className: clsx__default["default"]((_clsx = {}, _defineProperty__default["default"](_clsx, classes$
|
|
19255
|
+
className: clsx__default["default"]((_clsx = {}, _defineProperty__default["default"](_clsx, classes$x.expandIcon, true), _defineProperty__default["default"](_clsx, classes$x.turnedIcon, !shouldGroupBeRended), _clsx)),
|
|
19066
19256
|
name: "chevron"
|
|
19067
19257
|
}), jsxRuntime.jsxs("div", {
|
|
19068
|
-
className: classes$
|
|
19258
|
+
className: classes$x.groupLabel,
|
|
19069
19259
|
children: [jsxRuntime.jsx(Icon, {
|
|
19070
19260
|
name: "elements-group",
|
|
19071
|
-
className: classes$
|
|
19261
|
+
className: classes$x.groupIcon
|
|
19072
19262
|
}), jsxRuntime.jsx("span", {
|
|
19073
19263
|
children: label
|
|
19074
19264
|
})]
|
|
19075
19265
|
}), changedGroups.has(label) && jsxRuntime.jsx("span", {
|
|
19076
|
-
className: classes$
|
|
19266
|
+
className: classes$x.changeMarker
|
|
19077
19267
|
})]
|
|
19078
19268
|
})
|
|
19079
19269
|
}), jsxRuntime.jsx("div", {
|
|
19080
|
-
className: clsx__default["default"]((_clsx2 = {}, _defineProperty__default["default"](_clsx2, classes$
|
|
19270
|
+
className: clsx__default["default"]((_clsx2 = {}, _defineProperty__default["default"](_clsx2, classes$x.accordionDetailsWrapper, true), _defineProperty__default["default"](_clsx2, classes$x.hiddenAccordion, !shouldGroupBeRended), _clsx2)),
|
|
19081
19271
|
children: jsxRuntime.jsx("div", {
|
|
19082
|
-
className: classes$
|
|
19272
|
+
className: classes$x.accordionDetails,
|
|
19083
19273
|
children: content
|
|
19084
19274
|
})
|
|
19085
19275
|
})]
|
|
@@ -19137,7 +19327,7 @@ function SystemFonts(props) {
|
|
|
19137
19327
|
});
|
|
19138
19328
|
}
|
|
19139
19329
|
|
|
19140
|
-
var classes$
|
|
19330
|
+
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"};
|
|
19141
19331
|
|
|
19142
19332
|
var fieldGroups = {
|
|
19143
19333
|
resetToSelect: 'General',
|
|
@@ -19195,15 +19385,15 @@ var HeaderContent$1 = function HeaderContent(_ref) {
|
|
|
19195
19385
|
if (formState.result.init) return _.isEqual(defaultSettings, initState);else return _.isEqual(defaultSettings, formState.result);
|
|
19196
19386
|
};
|
|
19197
19387
|
return jsxRuntime.jsxs("div", {
|
|
19198
|
-
className: classes$
|
|
19388
|
+
className: classes$w.headerContent,
|
|
19199
19389
|
children: [jsxRuntime.jsx("span", {
|
|
19200
|
-
className: classes$
|
|
19390
|
+
className: classes$w.title,
|
|
19201
19391
|
children: " Settings"
|
|
19202
19392
|
}), jsxRuntime.jsx(OpenButton, {
|
|
19203
19393
|
title: "Open from File",
|
|
19204
19394
|
server: server,
|
|
19205
19395
|
onLoad: onOpenFile,
|
|
19206
|
-
className: classes$
|
|
19396
|
+
className: classes$w.button,
|
|
19207
19397
|
children: jsxRuntime.jsx(Icon, {
|
|
19208
19398
|
name: "open-1"
|
|
19209
19399
|
})
|
|
@@ -19211,14 +19401,14 @@ var HeaderContent$1 = function HeaderContent(_ref) {
|
|
|
19211
19401
|
title: "Save to File",
|
|
19212
19402
|
data: JSON.stringify(formState.result),
|
|
19213
19403
|
filename: "ketcher-settings",
|
|
19214
|
-
className: classes$
|
|
19404
|
+
className: classes$w.button,
|
|
19215
19405
|
children: jsxRuntime.jsx(Icon, {
|
|
19216
19406
|
name: "save-1"
|
|
19217
19407
|
})
|
|
19218
19408
|
}, "ketcher-settings"), jsxRuntime.jsx("button", {
|
|
19219
19409
|
title: "Reset",
|
|
19220
19410
|
onClick: onReset,
|
|
19221
|
-
className: classes$
|
|
19411
|
+
className: classes$w.button,
|
|
19222
19412
|
disabled: getIsResetDisabled(),
|
|
19223
19413
|
children: jsxRuntime.jsx(Icon, {
|
|
19224
19414
|
name: "reset"
|
|
@@ -19377,7 +19567,7 @@ var SettingsDialog = function SettingsDialog(props) {
|
|
|
19377
19567
|
label: '3D Viewer',
|
|
19378
19568
|
content:
|
|
19379
19569
|
jsxRuntime.jsxs("fieldset", {
|
|
19380
|
-
className: classes$
|
|
19570
|
+
className: classes$w.viewer,
|
|
19381
19571
|
children: [jsxRuntime.jsx(Field, {
|
|
19382
19572
|
name: "miewMode",
|
|
19383
19573
|
component: Select,
|
|
@@ -19410,7 +19600,7 @@ var SettingsDialog = function SettingsDialog(props) {
|
|
|
19410
19600
|
};
|
|
19411
19601
|
var tabs = [generalTab, stereoTab, atomsTab, bondsTab, serverTab, threeDViewerTab, debuggingTab];
|
|
19412
19602
|
return jsxRuntime.jsx(Dialog, {
|
|
19413
|
-
className: classes$
|
|
19603
|
+
className: classes$w.settings,
|
|
19414
19604
|
result: function result() {
|
|
19415
19605
|
return formState.result;
|
|
19416
19606
|
},
|
|
@@ -19437,7 +19627,7 @@ var SettingsDialog = function SettingsDialog(props) {
|
|
|
19437
19627
|
}, formState), {}, {
|
|
19438
19628
|
children: jsxRuntime.jsx(Accordion, {
|
|
19439
19629
|
tabs: tabs,
|
|
19440
|
-
className: classes$
|
|
19630
|
+
className: classes$w.accordion,
|
|
19441
19631
|
changedGroups: changedGroups
|
|
19442
19632
|
})
|
|
19443
19633
|
}))
|
|
@@ -19734,7 +19924,7 @@ function FrozenInput(_ref) {
|
|
|
19734
19924
|
});
|
|
19735
19925
|
}
|
|
19736
19926
|
|
|
19737
|
-
var classes$
|
|
19927
|
+
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"};
|
|
19738
19928
|
|
|
19739
19929
|
var _excluded$i = ["values", "round", "loading", "onAnalyse", "onChangeRound"];
|
|
19740
19930
|
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); }; }
|
|
@@ -19772,7 +19962,7 @@ var AnalyseDialog = function (_Component) {
|
|
|
19772
19962
|
props = _objectWithoutProperties__default["default"](_this$props, _excluded$i);
|
|
19773
19963
|
return jsxRuntime.jsx(Dialog, {
|
|
19774
19964
|
title: "Calculated Values",
|
|
19775
|
-
className: classes$
|
|
19965
|
+
className: classes$v.analyse,
|
|
19776
19966
|
withDivider: true,
|
|
19777
19967
|
needMargin: true,
|
|
19778
19968
|
valid: function valid() {
|
|
@@ -19805,9 +19995,9 @@ var AnalyseDialog = function (_Component) {
|
|
|
19805
19995
|
withSelector: false
|
|
19806
19996
|
}].map(function (item) {
|
|
19807
19997
|
return jsxRuntime.jsxs("li", {
|
|
19808
|
-
className: classes$
|
|
19998
|
+
className: classes$v.contentWrapper,
|
|
19809
19999
|
children: [jsxRuntime.jsxs("div", {
|
|
19810
|
-
className: classes$
|
|
20000
|
+
className: classes$v.inputWrapper,
|
|
19811
20001
|
children: [jsxRuntime.jsxs("label", {
|
|
19812
20002
|
children: [item.name, ":"]
|
|
19813
20003
|
}), item.key === 'gross' ? jsxRuntime.jsx(FormulaInput, {
|
|
@@ -19820,7 +20010,7 @@ var AnalyseDialog = function (_Component) {
|
|
|
19820
20010
|
value: values && !loading ? roundOff(values[item.key], round[item.round]) : 0
|
|
19821
20011
|
})]
|
|
19822
20012
|
}), item.withSelector ? jsxRuntime.jsxs("div", {
|
|
19823
|
-
className: classes$
|
|
20013
|
+
className: classes$v.selectWrapper,
|
|
19824
20014
|
children: [jsxRuntime.jsx("span", {
|
|
19825
20015
|
children: "Decimal places"
|
|
19826
20016
|
}), jsxRuntime.jsx(Select, {
|
|
@@ -19829,7 +20019,7 @@ var AnalyseDialog = function (_Component) {
|
|
|
19829
20019
|
onChange: function onChange(val) {
|
|
19830
20020
|
return onChangeRound(item.round, val);
|
|
19831
20021
|
},
|
|
19832
|
-
className: classes$
|
|
20022
|
+
className: classes$v.select
|
|
19833
20023
|
})]
|
|
19834
20024
|
}) : null]
|
|
19835
20025
|
}, item.key);
|
|
@@ -19864,7 +20054,7 @@ var mapDispatchToProps$9 = function mapDispatchToProps(dispatch) {
|
|
|
19864
20054
|
};
|
|
19865
20055
|
var Analyse = reactRedux.connect(mapStateToProps$c, mapDispatchToProps$9)(AnalyseDialog);
|
|
19866
20056
|
|
|
19867
|
-
var classes$
|
|
20057
|
+
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"};
|
|
19868
20058
|
|
|
19869
20059
|
var DialogActionButton = function DialogActionButton(_ref) {
|
|
19870
20060
|
var clickHandler = _ref.clickHandler,
|
|
@@ -19896,11 +20086,11 @@ function FooterContent$3(_ref) {
|
|
|
19896
20086
|
openHandler = _ref.openHandler,
|
|
19897
20087
|
copyHandler = _ref.copyHandler;
|
|
19898
20088
|
return jsxRuntime.jsxs("div", {
|
|
19899
|
-
className: classes$
|
|
20089
|
+
className: classes$u.footerContent,
|
|
19900
20090
|
children: [jsxRuntime.jsxs(OpenButton, {
|
|
19901
20091
|
onLoad: onImage,
|
|
19902
20092
|
type: "image/*",
|
|
19903
|
-
className: classes$
|
|
20093
|
+
className: classes$u.openButton,
|
|
19904
20094
|
children: [jsxRuntime.jsx(Icon, {
|
|
19905
20095
|
name: "open"
|
|
19906
20096
|
}), jsxRuntime.jsx("span", {
|
|
@@ -19910,12 +20100,12 @@ function FooterContent$3(_ref) {
|
|
|
19910
20100
|
children: [jsxRuntime.jsx(DialogActionButton, {
|
|
19911
20101
|
disabled: !structStr,
|
|
19912
20102
|
clickHandler: openHandler,
|
|
19913
|
-
styles: classes$
|
|
20103
|
+
styles: classes$u.secondaryButton,
|
|
19914
20104
|
label: "Open as new Project"
|
|
19915
20105
|
}, "openButton"), jsxRuntime.jsx(DialogActionButton, {
|
|
19916
20106
|
disabled: !structStr,
|
|
19917
20107
|
clickHandler: copyHandler,
|
|
19918
|
-
styles: classes$
|
|
20108
|
+
styles: classes$u.primaryButton,
|
|
19919
20109
|
label: "Add to Canvas",
|
|
19920
20110
|
title: "Structure will be loaded as fragment and added to Clipboard"
|
|
19921
20111
|
}, "copyButton")]
|
|
@@ -19966,7 +20156,7 @@ function RecognizeDialog(prop) {
|
|
|
19966
20156
|
};
|
|
19967
20157
|
return jsxRuntime.jsxs(Dialog, {
|
|
19968
20158
|
title: "Import Structure from Image",
|
|
19969
|
-
className: classes$
|
|
20159
|
+
className: classes$u.recognize,
|
|
19970
20160
|
params: _objectSpread$u(_objectSpread$u({}, props), {}, {
|
|
19971
20161
|
onOk: onOk
|
|
19972
20162
|
}),
|
|
@@ -19983,9 +20173,9 @@ function RecognizeDialog(prop) {
|
|
|
19983
20173
|
}),
|
|
19984
20174
|
buttons: [],
|
|
19985
20175
|
children: [jsxRuntime.jsxs("div", {
|
|
19986
|
-
className: classes$
|
|
20176
|
+
className: classes$u.topBody,
|
|
19987
20177
|
children: [jsxRuntime.jsxs("label", {
|
|
19988
|
-
className: classes$
|
|
20178
|
+
className: classes$u.imagoVersion,
|
|
19989
20179
|
children: ["Imago version", jsxRuntime.jsx(Input$1, {
|
|
19990
20180
|
schema: {
|
|
19991
20181
|
"enum": imagoVersions,
|
|
@@ -20002,9 +20192,9 @@ function RecognizeDialog(prop) {
|
|
|
20002
20192
|
children: "Recognized structure preview"
|
|
20003
20193
|
})]
|
|
20004
20194
|
}), jsxRuntime.jsxs("div", {
|
|
20005
|
-
className: classes$
|
|
20195
|
+
className: classes$u.imagesContainer,
|
|
20006
20196
|
children: [jsxRuntime.jsxs("div", {
|
|
20007
|
-
className: classes$
|
|
20197
|
+
className: classes$u.picture,
|
|
20008
20198
|
children: [file && isImage(file) && canPreviewImage && jsxRuntime.jsx("img", {
|
|
20009
20199
|
alt: "",
|
|
20010
20200
|
id: "pic",
|
|
@@ -20013,27 +20203,27 @@ function RecognizeDialog(prop) {
|
|
|
20013
20203
|
setCanPreviewImage(false);
|
|
20014
20204
|
}
|
|
20015
20205
|
}), jsxRuntime.jsxs("span", {
|
|
20016
|
-
className: classes$
|
|
20206
|
+
className: classes$u.filename,
|
|
20017
20207
|
children: [" ", file ? file.name : null, " "]
|
|
20018
20208
|
}), file && isImage(file) && !canPreviewImage && jsxRuntime.jsx("div", {
|
|
20019
|
-
className: classes$
|
|
20209
|
+
className: classes$u.messageContainer,
|
|
20020
20210
|
children: jsxRuntime.jsxs("p", {
|
|
20021
20211
|
children: ["Preview of '", file.type, "' MIME type is not supported by current browser"]
|
|
20022
20212
|
})
|
|
20023
20213
|
}), (!file || !isImage(file) && clearFile()) && jsxRuntime.jsx("div", {
|
|
20024
|
-
className: classes$
|
|
20214
|
+
className: classes$u.messageContainer,
|
|
20025
20215
|
children: jsxRuntime.jsx("p", {
|
|
20026
20216
|
children: "Please choose image"
|
|
20027
20217
|
})
|
|
20028
20218
|
})]
|
|
20029
20219
|
}), jsxRuntime.jsx("div", {
|
|
20030
|
-
className: classes$
|
|
20220
|
+
className: classes$u.output,
|
|
20031
20221
|
children: structStr && (
|
|
20032
20222
|
structStr instanceof Promise || typeof structStr !== 'string' ? jsxRuntime.jsx("div", {
|
|
20033
|
-
className: classes$
|
|
20223
|
+
className: classes$u.messageContainer,
|
|
20034
20224
|
children: jsxRuntime.jsx(LoadingCircles, {})
|
|
20035
20225
|
}) : jsxRuntime.jsx(StructRender, {
|
|
20036
|
-
className: classes$
|
|
20226
|
+
className: classes$u.struct,
|
|
20037
20227
|
struct: structStr
|
|
20038
20228
|
}))
|
|
20039
20229
|
})]
|
|
@@ -20079,7 +20269,7 @@ var mapDispatchToProps$8 = function mapDispatchToProps(dispatch) {
|
|
|
20079
20269
|
};
|
|
20080
20270
|
var Recognize = reactRedux.connect(mapStateToProps$b, mapDispatchToProps$8)(RecognizeDialog);
|
|
20081
20271
|
|
|
20082
|
-
var classes$
|
|
20272
|
+
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"};
|
|
20083
20273
|
|
|
20084
20274
|
var _excluded$g = ["miewOpts", "server", "struct", "onExportCML", "miewTheme"];
|
|
20085
20275
|
var BACKGROUND_COLOR = {
|
|
@@ -20137,7 +20327,7 @@ function createMiewOptions(userOpts) {
|
|
|
20137
20327
|
var CHANGING_WARNING = 'Stereocenters can be changed after the strong 3D rotation';
|
|
20138
20328
|
var FooterContent$2 = function FooterContent() {
|
|
20139
20329
|
return jsxRuntime.jsx("div", {
|
|
20140
|
-
className: classes$
|
|
20330
|
+
className: classes$t.warning,
|
|
20141
20331
|
children: CHANGING_WARNING
|
|
20142
20332
|
});
|
|
20143
20333
|
};
|
|
@@ -20179,14 +20369,14 @@ var MiewDialog = function MiewDialog(_ref) {
|
|
|
20179
20369
|
params: prop,
|
|
20180
20370
|
buttons: ['Cancel', jsxRuntime.jsx("button", {
|
|
20181
20371
|
onClick: exportCML,
|
|
20182
|
-
className: classes$
|
|
20372
|
+
className: classes$t.applyButton,
|
|
20183
20373
|
children: "Apply"
|
|
20184
20374
|
}, "apply")],
|
|
20185
20375
|
footerContent: jsxRuntime.jsx(FooterContent$2, {}),
|
|
20186
|
-
className: classes$
|
|
20376
|
+
className: classes$t.miewDialog,
|
|
20187
20377
|
children: jsxRuntime.jsx("div", {
|
|
20188
20378
|
children: jsxRuntime.jsx("div", {
|
|
20189
|
-
className: "".concat(classes$
|
|
20379
|
+
className: "".concat(classes$t.miewContainer, " ").concat(miewTheme === 'dark' ? classes$t.miewDarkTheme : ''),
|
|
20190
20380
|
children: jsxRuntime.jsx(Viewer__default["default"], {
|
|
20191
20381
|
onInit: onMiewInit
|
|
20192
20382
|
})
|
|
@@ -20226,7 +20416,7 @@ var ElementNumber = function ElementNumber(props) {
|
|
|
20226
20416
|
});
|
|
20227
20417
|
};
|
|
20228
20418
|
|
|
20229
|
-
var classes$
|
|
20419
|
+
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"};
|
|
20230
20420
|
|
|
20231
20421
|
var _excluded$f = ["formState", "stereoParity", "isMultipleAtoms"];
|
|
20232
20422
|
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; }
|
|
@@ -20286,7 +20476,7 @@ var Atom = function Atom(props) {
|
|
|
20286
20476
|
}, {
|
|
20287
20477
|
groupName: 'Query specific',
|
|
20288
20478
|
component: jsxRuntime.jsxs("div", {
|
|
20289
|
-
className: classes$
|
|
20479
|
+
className: classes$s.querySpecific,
|
|
20290
20480
|
children: [jsxRuntime.jsx(Field, {
|
|
20291
20481
|
name: "ringBondCount",
|
|
20292
20482
|
component: Select,
|
|
@@ -20302,13 +20492,13 @@ var Atom = function Atom(props) {
|
|
|
20302
20492
|
}), jsxRuntime.jsx(Field, {
|
|
20303
20493
|
name: "unsaturatedAtom",
|
|
20304
20494
|
labelPos: "before",
|
|
20305
|
-
className: classes$
|
|
20495
|
+
className: classes$s.checkbox
|
|
20306
20496
|
})]
|
|
20307
20497
|
})
|
|
20308
20498
|
}, {
|
|
20309
20499
|
groupName: 'Reaction flags',
|
|
20310
20500
|
component: jsxRuntime.jsxs("div", {
|
|
20311
|
-
className: classes$
|
|
20501
|
+
className: classes$s.reactionFlags,
|
|
20312
20502
|
children: [jsxRuntime.jsx(Field, {
|
|
20313
20503
|
name: "invRet",
|
|
20314
20504
|
component: Select,
|
|
@@ -20316,13 +20506,13 @@ var Atom = function Atom(props) {
|
|
|
20316
20506
|
}), jsxRuntime.jsx(Field, {
|
|
20317
20507
|
name: "exactChangeFlag",
|
|
20318
20508
|
labelPos: "before",
|
|
20319
|
-
className: classes$
|
|
20509
|
+
className: classes$s.checkbox
|
|
20320
20510
|
})]
|
|
20321
20511
|
})
|
|
20322
20512
|
}];
|
|
20323
20513
|
return jsxRuntime.jsx(Dialog, {
|
|
20324
20514
|
title: "Atom Properties",
|
|
20325
|
-
className: classes$
|
|
20515
|
+
className: classes$s.atomProps,
|
|
20326
20516
|
result: function result() {
|
|
20327
20517
|
return formState.result;
|
|
20328
20518
|
},
|
|
@@ -20348,7 +20538,7 @@ var Atom = function Atom(props) {
|
|
|
20348
20538
|
init: rest
|
|
20349
20539
|
}, formState), {}, {
|
|
20350
20540
|
children: jsxRuntime.jsx("div", {
|
|
20351
|
-
className: classes$
|
|
20541
|
+
className: classes$s.accordionWrapper,
|
|
20352
20542
|
children: itemGroups.map(function (_ref) {
|
|
20353
20543
|
var _clsx, _clsx2;
|
|
20354
20544
|
var groupName = _ref.groupName,
|
|
@@ -20357,20 +20547,20 @@ var Atom = function Atom(props) {
|
|
|
20357
20547
|
return jsxRuntime.jsxs("div", {
|
|
20358
20548
|
children: [jsxRuntime.jsx("div", {
|
|
20359
20549
|
onClick: handleAccordionChange(groupName),
|
|
20360
|
-
className: classes$
|
|
20550
|
+
className: classes$s.accordionSummaryWrapper,
|
|
20361
20551
|
children: jsxRuntime.jsxs("div", {
|
|
20362
|
-
className: classes$
|
|
20552
|
+
className: classes$s.accordionSummary,
|
|
20363
20553
|
children: [jsxRuntime.jsx("span", {
|
|
20364
20554
|
children: groupName
|
|
20365
20555
|
}), jsxRuntime.jsx(Icon, {
|
|
20366
|
-
className: clsx__default["default"]((_clsx = {}, _defineProperty__default["default"](_clsx, classes$
|
|
20556
|
+
className: clsx__default["default"]((_clsx = {}, _defineProperty__default["default"](_clsx, classes$s.expandIcon, true), _defineProperty__default["default"](_clsx, classes$s.turnedIcon, !shouldGroupBeRended), _clsx)),
|
|
20367
20557
|
name: "chevron"
|
|
20368
20558
|
})]
|
|
20369
20559
|
})
|
|
20370
20560
|
}), jsxRuntime.jsx("div", {
|
|
20371
|
-
className: clsx__default["default"]((_clsx2 = {}, _defineProperty__default["default"](_clsx2, classes$
|
|
20561
|
+
className: clsx__default["default"]((_clsx2 = {}, _defineProperty__default["default"](_clsx2, classes$s.accordionDetailsWrapper, true), _defineProperty__default["default"](_clsx2, classes$s.hiddenAccordion, !shouldGroupBeRended), _clsx2)),
|
|
20372
20562
|
children: jsxRuntime.jsx("div", {
|
|
20373
|
-
className: classes$
|
|
20563
|
+
className: classes$s.accordionDetails,
|
|
20374
20564
|
children: component
|
|
20375
20565
|
})
|
|
20376
20566
|
})]
|
|
@@ -20404,7 +20594,7 @@ var mapStateToProps$9 = function mapStateToProps(state) {
|
|
|
20404
20594
|
};
|
|
20405
20595
|
var AtomContainer = reactRedux.connect(mapStateToProps$9)(Atom);
|
|
20406
20596
|
|
|
20407
|
-
var classes$
|
|
20597
|
+
var classes$r = {"attachPoints":"Attach-module_attachPoints__5QEAv"};
|
|
20408
20598
|
|
|
20409
20599
|
var _excluded$e = ["formState"];
|
|
20410
20600
|
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; }
|
|
@@ -20414,7 +20604,7 @@ var AttachPoints = function AttachPoints(props) {
|
|
|
20414
20604
|
rest = _objectWithoutProperties__default["default"](props, _excluded$e);
|
|
20415
20605
|
return jsxRuntime.jsx(Dialog, {
|
|
20416
20606
|
title: "Attachment Points",
|
|
20417
|
-
className: classes$
|
|
20607
|
+
className: classes$r.attachPoints,
|
|
20418
20608
|
result: function result() {
|
|
20419
20609
|
return formState.result;
|
|
20420
20610
|
},
|
|
@@ -20447,7 +20637,7 @@ var mapStateToProps$8 = function mapStateToProps(state) {
|
|
|
20447
20637
|
};
|
|
20448
20638
|
var AttachPointsContainer = reactRedux.connect(mapStateToProps$8)(AttachPoints);
|
|
20449
20639
|
|
|
20450
|
-
var classes$
|
|
20640
|
+
var classes$q = {"automap":"Automap-module_automap__531ko"};
|
|
20451
20641
|
|
|
20452
20642
|
var _excluded$d = ["formState"];
|
|
20453
20643
|
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; }
|
|
@@ -20470,7 +20660,7 @@ var Automap = function Automap(props) {
|
|
|
20470
20660
|
rest = _objectWithoutProperties__default["default"](props, _excluded$d);
|
|
20471
20661
|
return jsxRuntime.jsx(Dialog, {
|
|
20472
20662
|
title: "Reaction Auto-Mapping",
|
|
20473
|
-
className: classes$
|
|
20663
|
+
className: classes$q.automap,
|
|
20474
20664
|
result: function result() {
|
|
20475
20665
|
return formState.result;
|
|
20476
20666
|
},
|
|
@@ -20511,7 +20701,7 @@ var mapDispatchToProps$6 = function mapDispatchToProps(dispatch, ownProps) {
|
|
|
20511
20701
|
};
|
|
20512
20702
|
var AutomapContainer = reactRedux.connect(mapStateToProps$7, mapDispatchToProps$6)(Automap);
|
|
20513
20703
|
|
|
20514
|
-
var classes$
|
|
20704
|
+
var classes$p = {"bond":"Bond-module_bond__EDfLY"};
|
|
20515
20705
|
|
|
20516
20706
|
var _excluded$c = ["formState"];
|
|
20517
20707
|
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; }
|
|
@@ -20522,7 +20712,7 @@ var Bond = function Bond(props) {
|
|
|
20522
20712
|
var bondProps = bond.properties;
|
|
20523
20713
|
return jsxRuntime.jsx(Dialog, {
|
|
20524
20714
|
title: "Bond Properties",
|
|
20525
|
-
className: classes$
|
|
20715
|
+
className: classes$p.bond,
|
|
20526
20716
|
result: function result() {
|
|
20527
20717
|
return formState.result;
|
|
20528
20718
|
},
|
|
@@ -20563,7 +20753,7 @@ var mapStateToProps$6 = function mapStateToProps(state) {
|
|
|
20563
20753
|
};
|
|
20564
20754
|
var BondContainer = reactRedux.connect(mapStateToProps$6)(Bond);
|
|
20565
20755
|
|
|
20566
|
-
var classes$
|
|
20756
|
+
var classes$o = {"field":"IfThenSelect-module_field__9YaPA"};
|
|
20567
20757
|
|
|
20568
20758
|
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; }
|
|
20569
20759
|
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; }
|
|
@@ -20586,14 +20776,14 @@ var IfThenSelect = function IfThenSelect(props) {
|
|
|
20586
20776
|
});
|
|
20587
20777
|
return jsxRuntime.jsx(Field, _objectSpread$p(_objectSpread$p({
|
|
20588
20778
|
schema: desc,
|
|
20589
|
-
className: classes$
|
|
20779
|
+
className: classes$o.field
|
|
20590
20780
|
}, props), {}, {
|
|
20591
20781
|
component: Select,
|
|
20592
20782
|
options: getSelectOptionsFromSchema(desc)
|
|
20593
20783
|
}));
|
|
20594
20784
|
};
|
|
20595
20785
|
|
|
20596
|
-
var classes$
|
|
20786
|
+
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"};
|
|
20597
20787
|
|
|
20598
20788
|
var _excluded$b = ["formState", "label", "rgroupLabels"];
|
|
20599
20789
|
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; }
|
|
@@ -20605,7 +20795,7 @@ var RgroupLogic = function RgroupLogic(props) {
|
|
|
20605
20795
|
rest = _objectWithoutProperties__default["default"](props, _excluded$b);
|
|
20606
20796
|
return jsxRuntime.jsx(Dialog, {
|
|
20607
20797
|
title: "R-Group Logic Condition",
|
|
20608
|
-
className: classes$
|
|
20798
|
+
className: classes$n.rgroupLogic,
|
|
20609
20799
|
result: function result() {
|
|
20610
20800
|
return formState.result;
|
|
20611
20801
|
},
|
|
@@ -20632,7 +20822,7 @@ var RgroupLogic = function RgroupLogic(props) {
|
|
|
20632
20822
|
}), jsxRuntime.jsx(Field, {
|
|
20633
20823
|
name: "resth",
|
|
20634
20824
|
labelPos: "after",
|
|
20635
|
-
className: classes$
|
|
20825
|
+
className: classes$n.resth
|
|
20636
20826
|
}), jsxRuntime.jsx(IfThenSelect, {
|
|
20637
20827
|
name: "ifthen",
|
|
20638
20828
|
label: label,
|
|
@@ -20655,7 +20845,7 @@ var mapStateToProps$5 = function mapStateToProps(state) {
|
|
|
20655
20845
|
};
|
|
20656
20846
|
var RgroupLogicContainer = reactRedux.connect(mapStateToProps$5)(RgroupLogic);
|
|
20657
20847
|
|
|
20658
|
-
var classes$
|
|
20848
|
+
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"};
|
|
20659
20849
|
|
|
20660
20850
|
var styles$8 = {"analyzingFileWrapper":"AnalyzingFile-module_analyzingFileWrapper__j0Ltf","fileBox":"AnalyzingFile-module_fileBox__ywFIh"};
|
|
20661
20851
|
|
|
@@ -20792,7 +20982,7 @@ var TextEditor = function TextEditor(_ref) {
|
|
|
20792
20982
|
autoFocus = _ref$autoFocus === void 0 ? false : _ref$autoFocus;
|
|
20793
20983
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
20794
20984
|
children: jsxRuntime.jsx("textarea", {
|
|
20795
|
-
className: classes$
|
|
20985
|
+
className: classes$m.textareaEditor,
|
|
20796
20986
|
value: structStr,
|
|
20797
20987
|
onChange: function onChange(event) {
|
|
20798
20988
|
return inputHandler(event.target.value);
|
|
@@ -20835,22 +21025,22 @@ var FooterContent$1 = function FooterContent(_ref) {
|
|
|
20835
21025
|
copyHandler = _ref.copyHandler,
|
|
20836
21026
|
onCancel = _ref.onCancel;
|
|
20837
21027
|
return jsxRuntime.jsxs("div", {
|
|
20838
|
-
className: classes$
|
|
21028
|
+
className: classes$m.footerContent,
|
|
20839
21029
|
children: [jsxRuntime.jsx("button", {
|
|
20840
21030
|
onClick: onCancel,
|
|
20841
|
-
className: classes$
|
|
21031
|
+
className: classes$m.cancelButton,
|
|
20842
21032
|
children: "Cancel"
|
|
20843
21033
|
}), jsxRuntime.jsxs("div", {
|
|
20844
|
-
className: classes$
|
|
21034
|
+
className: classes$m.buttonsContainer,
|
|
20845
21035
|
children: [jsxRuntime.jsx(DialogActionButton, {
|
|
20846
21036
|
disabled: !structStr,
|
|
20847
21037
|
clickHandler: openHandler,
|
|
20848
|
-
styles: classes$
|
|
21038
|
+
styles: classes$m.openButton,
|
|
20849
21039
|
label: "Open as New Project"
|
|
20850
21040
|
}, "openButton"), jsxRuntime.jsx(DialogActionButton, {
|
|
20851
21041
|
disabled: !structStr,
|
|
20852
21042
|
clickHandler: copyHandler,
|
|
20853
|
-
styles: classes$
|
|
21043
|
+
styles: classes$m.copyButton,
|
|
20854
21044
|
label: "Add to Canvas",
|
|
20855
21045
|
title: "Structure will be loaded as fragment and added to Clipboard"
|
|
20856
21046
|
}, "copyButton")]
|
|
@@ -20924,7 +21114,7 @@ var Open = function Open(props) {
|
|
|
20924
21114
|
}
|
|
20925
21115
|
return jsxRuntime.jsx(Dialog, {
|
|
20926
21116
|
title: "Open structure",
|
|
20927
|
-
className: classes$
|
|
21117
|
+
className: classes$m.open,
|
|
20928
21118
|
params: rest,
|
|
20929
21119
|
result: function result() {
|
|
20930
21120
|
return null;
|
|
@@ -21048,7 +21238,7 @@ function couldBeSaved(struct, format) {
|
|
|
21048
21238
|
return null;
|
|
21049
21239
|
}
|
|
21050
21240
|
|
|
21051
|
-
var classes$
|
|
21241
|
+
var classes$l = {"tabs":"Tabs-module_tabs__PuztJ","active":"Tabs-module_active__eeyNd"};
|
|
21052
21242
|
|
|
21053
21243
|
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; }
|
|
21054
21244
|
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; }
|
|
@@ -21100,10 +21290,10 @@ var Tabs = function (_Component) {
|
|
|
21100
21290
|
className: className,
|
|
21101
21291
|
tabIndex: tabIndex,
|
|
21102
21292
|
children: jsxRuntime.jsx("li", {
|
|
21103
|
-
className: classes$
|
|
21293
|
+
className: classes$l.tabs,
|
|
21104
21294
|
children: tabs.map(function (tabPanel, index) {
|
|
21105
21295
|
return jsxRuntime.jsx("a", {
|
|
21106
|
-
className: clsx__default["default"](_defineProperty__default["default"]({}, classes$
|
|
21296
|
+
className: clsx__default["default"](_defineProperty__default["default"]({}, classes$l.active, _this2.state.tabIndex === index)),
|
|
21107
21297
|
onClick: function onClick(ev) {
|
|
21108
21298
|
return _this2.changeTab(ev, index);
|
|
21109
21299
|
},
|
|
@@ -21121,7 +21311,7 @@ var Tabs = function (_Component) {
|
|
|
21121
21311
|
return Tabs;
|
|
21122
21312
|
}(React.Component);
|
|
21123
21313
|
|
|
21124
|
-
var classes$
|
|
21314
|
+
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"};
|
|
21125
21315
|
|
|
21126
21316
|
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; }
|
|
21127
21317
|
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; }
|
|
@@ -21273,7 +21463,7 @@ var SaveDialog = function (_Component) {
|
|
|
21273
21463
|
tabIndex: 1
|
|
21274
21464
|
}];
|
|
21275
21465
|
return jsxRuntime.jsxs("div", {
|
|
21276
|
-
className: classes$
|
|
21466
|
+
className: classes$k.formContainer,
|
|
21277
21467
|
children: [jsxRuntime.jsxs(Form$1, _objectSpread$j(_objectSpread$j({
|
|
21278
21468
|
schema: _this.saveSchema,
|
|
21279
21469
|
init: {
|
|
@@ -21290,7 +21480,7 @@ var SaveDialog = function (_Component) {
|
|
|
21290
21480
|
component: Select
|
|
21291
21481
|
})]
|
|
21292
21482
|
})), jsxRuntime.jsx(Tabs, {
|
|
21293
|
-
className: classes$
|
|
21483
|
+
className: classes$k.tabs,
|
|
21294
21484
|
captions: tabs,
|
|
21295
21485
|
tabIndex: _this.state.tabIndex,
|
|
21296
21486
|
changeTab: _this.changeTab,
|
|
@@ -21311,13 +21501,13 @@ var SaveDialog = function (_Component) {
|
|
|
21311
21501
|
var isCleanStruct = _this.props.struct.isBlank();
|
|
21312
21502
|
var LoadingState = function LoadingState() {
|
|
21313
21503
|
return jsxRuntime.jsx("div", {
|
|
21314
|
-
className: classes$
|
|
21504
|
+
className: classes$k.loadingCirclesContainer,
|
|
21315
21505
|
children: jsxRuntime.jsx(LoadingCircles, {})
|
|
21316
21506
|
});
|
|
21317
21507
|
};
|
|
21318
21508
|
var ImageContent = function ImageContent() {
|
|
21319
21509
|
return jsxRuntime.jsx("div", {
|
|
21320
|
-
className: classes$
|
|
21510
|
+
className: classes$k.imageContainer,
|
|
21321
21511
|
children: !isCleanStruct && jsxRuntime.jsx("img", {
|
|
21322
21512
|
src: "data:image/".concat(format, "+xml;base64,").concat(imageSrc),
|
|
21323
21513
|
alt: "".concat(format, " preview")
|
|
@@ -21326,10 +21516,10 @@ var SaveDialog = function (_Component) {
|
|
|
21326
21516
|
};
|
|
21327
21517
|
var BinaryContent = function BinaryContent() {
|
|
21328
21518
|
return jsxRuntime.jsx("div", {
|
|
21329
|
-
className: classes$
|
|
21519
|
+
className: classes$k.previewBackground,
|
|
21330
21520
|
children: jsxRuntime.jsx("textarea", {
|
|
21331
21521
|
value: "Can not display binary content",
|
|
21332
|
-
className: classes$
|
|
21522
|
+
className: classes$k.previewArea,
|
|
21333
21523
|
readOnly: true,
|
|
21334
21524
|
ref: _this.textAreaRef
|
|
21335
21525
|
})
|
|
@@ -21337,10 +21527,10 @@ var SaveDialog = function (_Component) {
|
|
|
21337
21527
|
};
|
|
21338
21528
|
var PreviewContent = function PreviewContent() {
|
|
21339
21529
|
return jsxRuntime.jsx("div", {
|
|
21340
|
-
className: classes$
|
|
21530
|
+
className: classes$k.previewBackground,
|
|
21341
21531
|
children: jsxRuntime.jsx("textarea", {
|
|
21342
21532
|
value: structStr,
|
|
21343
|
-
className: classes$
|
|
21533
|
+
className: classes$k.previewArea,
|
|
21344
21534
|
readOnly: true,
|
|
21345
21535
|
ref: _this.textAreaRef
|
|
21346
21536
|
})
|
|
@@ -21363,12 +21553,12 @@ var SaveDialog = function (_Component) {
|
|
|
21363
21553
|
var format = _formState$result3.format;
|
|
21364
21554
|
var warnings = _this.getWarnings(format);
|
|
21365
21555
|
return warnings.length ? jsxRuntime.jsx("div", {
|
|
21366
|
-
className: classes$
|
|
21556
|
+
className: classes$k.warnings,
|
|
21367
21557
|
children: warnings.map(function (warning) {
|
|
21368
21558
|
return jsxRuntime.jsx("div", {
|
|
21369
|
-
className: classes$
|
|
21559
|
+
className: classes$k.warningsContainer,
|
|
21370
21560
|
children: jsxRuntime.jsx("span", {
|
|
21371
|
-
className: classes$
|
|
21561
|
+
className: classes$k.warningsArr,
|
|
21372
21562
|
children: warning
|
|
21373
21563
|
})
|
|
21374
21564
|
});
|
|
@@ -21389,7 +21579,7 @@ var SaveDialog = function (_Component) {
|
|
|
21389
21579
|
var savingStruct = _this.isBinaryCdxFormat(format) && !isLoading ? ketcherCore.b64toBlob(structStr) : structStr;
|
|
21390
21580
|
var isMoleculeContain = _this.props.struct.atoms.size && _this.props.struct.bonds.size;
|
|
21391
21581
|
var buttons = [jsxRuntime.jsx("button", {
|
|
21392
|
-
className: classes$
|
|
21582
|
+
className: classes$k.saveTmpl,
|
|
21393
21583
|
disabled: disableControls || isCleanStruct || !isMoleculeContain,
|
|
21394
21584
|
onClick: function onClick() {
|
|
21395
21585
|
return _this.props.onTmplSave(_this.props.struct);
|
|
@@ -21398,7 +21588,7 @@ var SaveDialog = function (_Component) {
|
|
|
21398
21588
|
}, "save-tmpl")];
|
|
21399
21589
|
buttons.push( jsxRuntime.jsx("button", {
|
|
21400
21590
|
mode: "onCancel",
|
|
21401
|
-
className: classes$
|
|
21591
|
+
className: classes$k.cancel,
|
|
21402
21592
|
onClick: function onClick() {
|
|
21403
21593
|
return _this.props.onOk({});
|
|
21404
21594
|
},
|
|
@@ -21414,7 +21604,7 @@ var SaveDialog = function (_Component) {
|
|
|
21414
21604
|
type: "image/".concat(format, "+xml"),
|
|
21415
21605
|
onSave: _this.props.onOk,
|
|
21416
21606
|
disabled: disableControls || !formState.valid || isCleanStruct || !_this.props.server,
|
|
21417
|
-
className: classes$
|
|
21607
|
+
className: classes$k.ok,
|
|
21418
21608
|
children: "Save"
|
|
21419
21609
|
}, "save-image-button"));
|
|
21420
21610
|
} else {
|
|
@@ -21426,7 +21616,7 @@ var SaveDialog = function (_Component) {
|
|
|
21426
21616
|
server: _this.props.server,
|
|
21427
21617
|
onSave: _this.props.onOk,
|
|
21428
21618
|
disabled: disableControls || !formState.valid || isCleanStruct,
|
|
21429
|
-
className: classes$
|
|
21619
|
+
className: classes$k.ok,
|
|
21430
21620
|
children: "Save"
|
|
21431
21621
|
}, "save-file-button"));
|
|
21432
21622
|
}
|
|
@@ -21470,7 +21660,7 @@ var SaveDialog = function (_Component) {
|
|
|
21470
21660
|
key: "render",
|
|
21471
21661
|
value: function render() {
|
|
21472
21662
|
return jsxRuntime.jsx(Dialog, {
|
|
21473
|
-
className: classes$
|
|
21663
|
+
className: classes$k.dialog,
|
|
21474
21664
|
title: "Save Structure",
|
|
21475
21665
|
params: this.props,
|
|
21476
21666
|
buttons: this.getButtons(),
|
|
@@ -21509,7 +21699,7 @@ var mapDispatchToProps$4 = function mapDispatchToProps(dispatch) {
|
|
|
21509
21699
|
};
|
|
21510
21700
|
var Save = reactRedux.connect(mapStateToProps$3, mapDispatchToProps$4)(SaveDialog);
|
|
21511
21701
|
|
|
21512
|
-
var classes$
|
|
21702
|
+
var classes$j = {"enhancedStereo":"enhancedStereo-module_enhancedStereo__8FLSY","stereoLabelItem":"enhancedStereo-module_stereoLabelItem__lEf-0","labelGroupSelect":"enhancedStereo-module_labelGroupSelect__K7TYC"};
|
|
21513
21703
|
|
|
21514
21704
|
var _excluded$8 = ["struct", "formState", "init"];
|
|
21515
21705
|
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; }
|
|
@@ -21541,7 +21731,7 @@ var EnhancedStereo = function EnhancedStereo(props) {
|
|
|
21541
21731
|
};
|
|
21542
21732
|
return jsxRuntime.jsx(Dialog, {
|
|
21543
21733
|
title: "Enhanced Stereochemistry",
|
|
21544
|
-
className: classes$
|
|
21734
|
+
className: classes$j.enhancedStereo,
|
|
21545
21735
|
params: rest,
|
|
21546
21736
|
result: function result() {
|
|
21547
21737
|
return _result;
|
|
@@ -21578,7 +21768,7 @@ var EnhancedStereo = function EnhancedStereo(props) {
|
|
|
21578
21768
|
name: "andNumber",
|
|
21579
21769
|
schema: _.range(1, maxAnd + 1),
|
|
21580
21770
|
type: "text",
|
|
21581
|
-
className: classes$
|
|
21771
|
+
className: classes$j.labelGroupSelect
|
|
21582
21772
|
}), "Group"]
|
|
21583
21773
|
}), maxOr !== 0 && jsxRuntime.jsxs("label", {
|
|
21584
21774
|
children: [jsxRuntime.jsx(Field, {
|
|
@@ -21591,7 +21781,7 @@ var EnhancedStereo = function EnhancedStereo(props) {
|
|
|
21591
21781
|
name: "orNumber",
|
|
21592
21782
|
schema: _.range(1, maxOr + 1),
|
|
21593
21783
|
type: "text",
|
|
21594
|
-
className: classes$
|
|
21784
|
+
className: classes$j.labelGroupSelect
|
|
21595
21785
|
}), "Group"]
|
|
21596
21786
|
}), jsxRuntime.jsxs("label", {
|
|
21597
21787
|
children: [jsxRuntime.jsx(Field, {
|
|
@@ -21736,7 +21926,7 @@ var LabelEdit$1 = reactRedux.connect(function (store) {
|
|
|
21736
21926
|
};
|
|
21737
21927
|
})(LabelEdit);
|
|
21738
21928
|
|
|
21739
|
-
var classes$
|
|
21929
|
+
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"};
|
|
21740
21930
|
|
|
21741
21931
|
function AtomInfo(_ref) {
|
|
21742
21932
|
var el = _ref.el,
|
|
@@ -21751,7 +21941,7 @@ function AtomInfo(_ref) {
|
|
|
21751
21941
|
fontSize: '18px'
|
|
21752
21942
|
};
|
|
21753
21943
|
return jsxRuntime.jsxs("div", {
|
|
21754
|
-
className: clsx__default["default"](classes$
|
|
21944
|
+
className: clsx__default["default"](classes$i.ket_atom_info, !isInfo && classes$i.none),
|
|
21755
21945
|
children: [jsxRuntime.jsx("div", {
|
|
21756
21946
|
style: numberStyle,
|
|
21757
21947
|
children: el.number
|
|
@@ -21984,13 +22174,35 @@ var VerticalBoxWithLines = function VerticalBoxWithLines() {
|
|
|
21984
22174
|
});
|
|
21985
22175
|
};
|
|
21986
22176
|
|
|
21987
|
-
var classes$
|
|
22177
|
+
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"};
|
|
21988
22178
|
|
|
21989
22179
|
var isGenericGroup = function isGenericGroup(group) {
|
|
21990
22180
|
var cyclicGroups = ['Acyclic', 'Cyclic', 'Acyclic Carbo', 'Cyclic Carbo', 'Acyclic Hetero', 'Cyclic Hetero'];
|
|
21991
22181
|
return cyclicGroups.includes(group);
|
|
21992
22182
|
};
|
|
21993
22183
|
|
|
22184
|
+
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"};
|
|
22185
|
+
|
|
22186
|
+
var ButtonGenSet = function ButtonGenSet(_ref) {
|
|
22187
|
+
var button = _ref.button,
|
|
22188
|
+
onAtomSelect = _ref.onAtomSelect,
|
|
22189
|
+
selected = _ref.selected,
|
|
22190
|
+
disabled = _ref.disabled;
|
|
22191
|
+
var titleText = disabled ? "".concat(button.label, " is disabled") : button.description || button.label;
|
|
22192
|
+
return jsxRuntime.jsx("button", {
|
|
22193
|
+
onClick: function onClick() {
|
|
22194
|
+
return onAtomSelect(button.label, false);
|
|
22195
|
+
},
|
|
22196
|
+
onDoubleClick: function onDoubleClick() {
|
|
22197
|
+
return onAtomSelect(button.label, true);
|
|
22198
|
+
},
|
|
22199
|
+
title: titleText,
|
|
22200
|
+
disabled: disabled,
|
|
22201
|
+
className: clsx__default["default"](_defineProperty__default["default"]({}, classes$g.selected, selected(button.label)), classes$g.button),
|
|
22202
|
+
children: button.label
|
|
22203
|
+
});
|
|
22204
|
+
};
|
|
22205
|
+
|
|
21994
22206
|
var getGroupClassName = function getGroupClassName(groupName) {
|
|
21995
22207
|
return groupName.replaceAll(' ', '');
|
|
21996
22208
|
};
|
|
@@ -21999,7 +22211,8 @@ function GenSet(_ref) {
|
|
|
21999
22211
|
selected = _ref.selected,
|
|
22000
22212
|
onAtomSelect = _ref.onAtomSelect,
|
|
22001
22213
|
className = _ref.className,
|
|
22002
|
-
group = _ref.group
|
|
22214
|
+
group = _ref.group,
|
|
22215
|
+
disabledQueryElements = _ref.disabledQueryElements;
|
|
22003
22216
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {
|
|
22004
22217
|
children: labels.map(function (item, index) {
|
|
22005
22218
|
var buttons = item.items;
|
|
@@ -22007,29 +22220,24 @@ function GenSet(_ref) {
|
|
|
22007
22220
|
return jsxRuntime.jsxs("fieldset", {
|
|
22008
22221
|
className: className,
|
|
22009
22222
|
children: [jsxRuntime.jsx("div", {
|
|
22010
|
-
className: classes$
|
|
22223
|
+
className: classes$h[getGroupClassName(group)],
|
|
22011
22224
|
children: buttons.map(function (button, index) {
|
|
22012
|
-
return jsxRuntime.jsx(
|
|
22013
|
-
|
|
22014
|
-
|
|
22015
|
-
|
|
22016
|
-
|
|
22017
|
-
return onAtomSelect(button.label, true);
|
|
22018
|
-
},
|
|
22019
|
-
title: button.description || button.label,
|
|
22020
|
-
className: clsx__default["default"](_defineProperty__default["default"]({}, classes$g.selected, selected(button.label)), classes$g.button),
|
|
22021
|
-
children: button.label
|
|
22225
|
+
return jsxRuntime.jsx(ButtonGenSet, {
|
|
22226
|
+
button: button,
|
|
22227
|
+
onAtomSelect: onAtomSelect,
|
|
22228
|
+
selected: selected,
|
|
22229
|
+
disabled: Boolean(disabledQueryElements === null || disabledQueryElements === void 0 ? void 0 : disabledQueryElements.includes(button.label))
|
|
22022
22230
|
}, index);
|
|
22023
22231
|
})
|
|
22024
22232
|
}), !isGenericGroup(group) && caption && jsxRuntime.jsx("div", {
|
|
22025
|
-
className: classes$
|
|
22233
|
+
className: classes$h.legendBox,
|
|
22026
22234
|
children: jsxRuntime.jsx("legend", {
|
|
22027
22235
|
children: caption
|
|
22028
22236
|
})
|
|
22029
22237
|
}), isGenericGroup(group) && caption && jsxRuntime.jsx("div", {
|
|
22030
|
-
className: classes$
|
|
22238
|
+
className: classes$h.genGroupLegendBox,
|
|
22031
22239
|
children: jsxRuntime.jsx("legend", {
|
|
22032
|
-
className: classes$
|
|
22240
|
+
className: classes$h.genGroupLegend,
|
|
22033
22241
|
children: caption
|
|
22034
22242
|
})
|
|
22035
22243
|
})]
|
|
@@ -22048,7 +22256,8 @@ var getLegendClassname = function getLegendClassname(title) {
|
|
|
22048
22256
|
var GenGroup = function GenGroup(_ref) {
|
|
22049
22257
|
var group = _ref.group,
|
|
22050
22258
|
onAtomSelect = _ref.onAtomSelect,
|
|
22051
|
-
selected = _ref.selected
|
|
22259
|
+
selected = _ref.selected,
|
|
22260
|
+
disabledQueryElements = _ref.disabledQueryElements;
|
|
22052
22261
|
return jsxRuntime.jsx("div", {
|
|
22053
22262
|
className: styles$2.fieldFlexWrapper,
|
|
22054
22263
|
children: jsxRuntime.jsxs("fieldset", {
|
|
@@ -22063,7 +22272,8 @@ var GenGroup = function GenGroup(_ref) {
|
|
|
22063
22272
|
selected: selected,
|
|
22064
22273
|
onAtomSelect: onAtomSelect,
|
|
22065
22274
|
className: styles$2.subGroup,
|
|
22066
|
-
group: group.title
|
|
22275
|
+
group: group.title,
|
|
22276
|
+
disabledQueryElements: disabledQueryElements
|
|
22067
22277
|
})
|
|
22068
22278
|
})]
|
|
22069
22279
|
})
|
|
@@ -22086,36 +22296,38 @@ var getGenericsGroupsMap = function getGenericsGroupsMap(tree) {
|
|
|
22086
22296
|
}
|
|
22087
22297
|
return newGroups;
|
|
22088
22298
|
};
|
|
22089
|
-
var renderGenGroupComponent = function renderGenGroupComponent(group, selected, onAtomSelect) {
|
|
22299
|
+
var renderGenGroupComponent = function renderGenGroupComponent(group, selected, onAtomSelect, disabledQueryElements) {
|
|
22090
22300
|
return jsxRuntime.jsx(GenGroup, {
|
|
22091
22301
|
group: groupsMap[group],
|
|
22092
22302
|
selected: selected,
|
|
22093
|
-
onAtomSelect: onAtomSelect
|
|
22303
|
+
onAtomSelect: onAtomSelect,
|
|
22304
|
+
disabledQueryElements: disabledQueryElements
|
|
22094
22305
|
});
|
|
22095
22306
|
};
|
|
22096
22307
|
var groupsMap = getGenericsGroupsMap(ketcherCore.Generics);
|
|
22097
22308
|
function GenericGroups(_ref) {
|
|
22098
22309
|
var selected = _ref.selected,
|
|
22099
|
-
onAtomSelect = _ref.onAtomSelect
|
|
22310
|
+
onAtomSelect = _ref.onAtomSelect,
|
|
22311
|
+
disabledQueryElements = _ref.disabledQueryElements;
|
|
22100
22312
|
return jsxRuntime.jsxs("div", {
|
|
22101
22313
|
className: classes$f.genericGroups,
|
|
22102
22314
|
children: [jsxRuntime.jsxs("div", {
|
|
22103
22315
|
className: classes$f.topGroupsContainer,
|
|
22104
|
-
children: [renderGenGroupComponent(groupNames.atomsGen, selected, onAtomSelect), renderGenGroupComponent(groupNames.specialNodes, selected, onAtomSelect)]
|
|
22105
|
-
}), renderGenGroupComponent(groupNames.groupGen, selected, onAtomSelect), jsxRuntime.jsx(HorizontalBoxWithLines, {}), jsxRuntime.jsxs("div", {
|
|
22316
|
+
children: [renderGenGroupComponent(groupNames.atomsGen, selected, onAtomSelect, disabledQueryElements), renderGenGroupComponent(groupNames.specialNodes, selected, onAtomSelect, disabledQueryElements)]
|
|
22317
|
+
}), renderGenGroupComponent(groupNames.groupGen, selected, onAtomSelect, disabledQueryElements), jsxRuntime.jsx(HorizontalBoxWithLines, {}), jsxRuntime.jsxs("div", {
|
|
22106
22318
|
className: classes$f.groupGenerics,
|
|
22107
22319
|
children: [jsxRuntime.jsxs("div", {
|
|
22108
|
-
children: [renderGenGroupComponent(groupNames.groupAcyclic, selected, onAtomSelect), jsxRuntime.jsxs("div", {
|
|
22320
|
+
children: [renderGenGroupComponent(groupNames.groupAcyclic, selected, onAtomSelect, disabledQueryElements), jsxRuntime.jsxs("div", {
|
|
22109
22321
|
className: classes$f.subgroupContainer,
|
|
22110
22322
|
children: [jsxRuntime.jsx(VerticalBoxWithLines, {}), jsxRuntime.jsxs("div", {
|
|
22111
|
-
children: [renderGenGroupComponent(groupNames.acyclicCarbo, selected, onAtomSelect), renderGenGroupComponent(groupNames.acyclicHetero, selected, onAtomSelect)]
|
|
22323
|
+
children: [renderGenGroupComponent(groupNames.acyclicCarbo, selected, onAtomSelect, disabledQueryElements), renderGenGroupComponent(groupNames.acyclicHetero, selected, onAtomSelect, disabledQueryElements)]
|
|
22112
22324
|
})]
|
|
22113
22325
|
})]
|
|
22114
22326
|
}), jsxRuntime.jsxs("div", {
|
|
22115
|
-
children: [renderGenGroupComponent(groupNames.groupCyclic, selected, onAtomSelect), jsxRuntime.jsxs("div", {
|
|
22327
|
+
children: [renderGenGroupComponent(groupNames.groupCyclic, selected, onAtomSelect, disabledQueryElements), jsxRuntime.jsxs("div", {
|
|
22116
22328
|
className: classes$f.subgroupContainer,
|
|
22117
22329
|
children: [jsxRuntime.jsx(VerticalBoxWithLines, {}), jsxRuntime.jsxs("div", {
|
|
22118
|
-
children: [renderGenGroupComponent(groupNames.cyclicCarbo, selected, onAtomSelect), renderGenGroupComponent(groupNames.cyclicHetero, selected, onAtomSelect)]
|
|
22330
|
+
children: [renderGenGroupComponent(groupNames.cyclicCarbo, selected, onAtomSelect, disabledQueryElements), renderGenGroupComponent(groupNames.cyclicHetero, selected, onAtomSelect, disabledQueryElements)]
|
|
22119
22331
|
})]
|
|
22120
22332
|
})]
|
|
22121
22333
|
})]
|
|
@@ -22396,7 +22608,8 @@ var Table = function Table(props) {
|
|
|
22396
22608
|
needMargin: false,
|
|
22397
22609
|
children: jsxRuntime.jsx(GenericGroups, {
|
|
22398
22610
|
selected: selected,
|
|
22399
|
-
onAtomSelect: onAtomSelect
|
|
22611
|
+
onAtomSelect: onAtomSelect,
|
|
22612
|
+
disabledQueryElements: props.disabledQueryElements
|
|
22400
22613
|
})
|
|
22401
22614
|
});
|
|
22402
22615
|
};
|
|
@@ -22411,10 +22624,14 @@ function mapSelectionToProps(editor) {
|
|
|
22411
22624
|
return {};
|
|
22412
22625
|
}
|
|
22413
22626
|
var mapStateToProps$1 = function mapStateToProps(state, ownProps) {
|
|
22627
|
+
var editor = state.editor;
|
|
22414
22628
|
if (ownProps.values || ownProps.label) {
|
|
22415
22629
|
return {};
|
|
22416
22630
|
}
|
|
22417
|
-
|
|
22631
|
+
var disabledQueryElements = editor.render.options.disableQueryElements;
|
|
22632
|
+
return _objectSpread$a({
|
|
22633
|
+
disabledQueryElements: disabledQueryElements
|
|
22634
|
+
}, mapSelectionToProps(editor));
|
|
22418
22635
|
};
|
|
22419
22636
|
var mapDispatchToProps$2 = function mapDispatchToProps(dispatch, ownProps) {
|
|
22420
22637
|
return {
|
|
@@ -22713,7 +22930,7 @@ var classes$8 = {"button-common-styles":"template-lib-module_button-common-style
|
|
|
22713
22930
|
|
|
22714
22931
|
var _excluded$3 = ["onInit"],
|
|
22715
22932
|
_excluded2$1 = ["name", "onNameEdit", "onAttachEdit"];
|
|
22716
|
-
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11;
|
|
22933
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12;
|
|
22717
22934
|
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; }
|
|
22718
22935
|
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; }
|
|
22719
22936
|
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); }; }
|
|
@@ -22721,14 +22938,15 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Re
|
|
|
22721
22938
|
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"])));
|
|
22722
22939
|
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"])));
|
|
22723
22940
|
var Warning = styled__default["default"]('div')(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral__default["default"](["\n padding: 0 5px;\n"])));
|
|
22724
|
-
var
|
|
22725
|
-
var
|
|
22726
|
-
var
|
|
22727
|
-
var
|
|
22728
|
-
var
|
|
22729
|
-
var
|
|
22730
|
-
var
|
|
22731
|
-
var
|
|
22941
|
+
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"])));
|
|
22942
|
+
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"])));
|
|
22943
|
+
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"])));
|
|
22944
|
+
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"])));
|
|
22945
|
+
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"])));
|
|
22946
|
+
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"])));
|
|
22947
|
+
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"])));
|
|
22948
|
+
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);
|
|
22949
|
+
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);
|
|
22732
22950
|
var editorStyles = {
|
|
22733
22951
|
selectionStyle: {
|
|
22734
22952
|
fill: '#167782',
|
|
@@ -22752,6 +22970,11 @@ var Attach = function (_Component) {
|
|
|
22752
22970
|
props = _objectWithoutProperties__default["default"](_ref, _excluded$3);
|
|
22753
22971
|
_classCallCheck__default["default"](this, Attach);
|
|
22754
22972
|
_this = _super.call(this);
|
|
22973
|
+
_defineProperty__default["default"](_assertThisInitialized__default["default"](_this), "MODES", {
|
|
22974
|
+
SAVE: 'save',
|
|
22975
|
+
EDIT: 'edit'
|
|
22976
|
+
});
|
|
22977
|
+
_this.mode = _.isEmpty(props.tmpl.props) ? _this.MODES.SAVE : _this.MODES.EDIT;
|
|
22755
22978
|
_this.tmpl = initTmpl(props.tmpl);
|
|
22756
22979
|
onInit(_this.tmpl.struct.name, _this.tmpl.props);
|
|
22757
22980
|
_this.onResult = _this.onResult.bind(_assertThisInitialized__default["default"](_this));
|
|
@@ -22795,8 +23018,10 @@ var Attach = function (_Component) {
|
|
|
22795
23018
|
var options = Object.assign(editorStyles, this.props.globalSettings, {
|
|
22796
23019
|
scale: getScale(struct)
|
|
22797
23020
|
});
|
|
22798
|
-
|
|
22799
|
-
|
|
23021
|
+
var dialogTitle = this.mode === this.MODES.SAVE ? 'Save to Templates' : 'Template Edit';
|
|
23022
|
+
var warningObject = this.mode === this.MODES.SAVE ? 'Templates' : 'Edited templates';
|
|
23023
|
+
return jsxRuntime.jsxs(TemplateEditDialog, {
|
|
23024
|
+
title: dialogTitle,
|
|
22800
23025
|
result: this.onResult,
|
|
22801
23026
|
valid: function valid() {
|
|
22802
23027
|
return _this2.props.formState.valid && name;
|
|
@@ -22804,7 +23029,13 @@ var Attach = function (_Component) {
|
|
|
22804
23029
|
params: prop,
|
|
22805
23030
|
buttons: [],
|
|
22806
23031
|
needMargin: false,
|
|
22807
|
-
children: jsxRuntime.jsxs(
|
|
23032
|
+
children: [jsxRuntime.jsxs(Message, {
|
|
23033
|
+
children: [jsxRuntime.jsxs("div", {
|
|
23034
|
+
children: [warningObject, " are saved locally and cannot be accessed on different browsers or computers."]
|
|
23035
|
+
}), jsxRuntime.jsx("div", {
|
|
23036
|
+
children: "Be aware that other users of the same computer and browser can access them as well."
|
|
23037
|
+
})]
|
|
23038
|
+
}), jsxRuntime.jsxs(Form$1, _objectSpread$6(_objectSpread$6({
|
|
22808
23039
|
schema: attachSchema,
|
|
22809
23040
|
customValid: {
|
|
22810
23041
|
name: function name(_name) {
|
|
@@ -22856,11 +23087,11 @@ var Attach = function (_Component) {
|
|
|
22856
23087
|
},
|
|
22857
23088
|
className: classes$8.button,
|
|
22858
23089
|
disabled: !this.checkIsValidName(name),
|
|
22859
|
-
children:
|
|
23090
|
+
children: this.mode === this.MODES.SAVE ? 'Save' : 'Edit'
|
|
22860
23091
|
})]
|
|
22861
23092
|
})]
|
|
22862
23093
|
})]
|
|
22863
|
-
}))
|
|
23094
|
+
}))]
|
|
22864
23095
|
});
|
|
22865
23096
|
}
|
|
22866
23097
|
}]);
|
|
@@ -23755,10 +23986,10 @@ function Modal(props) {
|
|
|
23755
23986
|
var Component = modals[modal.name];
|
|
23756
23987
|
if (!Component) throw new Error("There is no modal window named ".concat(modal.name));
|
|
23757
23988
|
return jsxRuntime.jsx("div", {
|
|
23758
|
-
className: clsx__default["default"](classes$
|
|
23989
|
+
className: clsx__default["default"](classes$F.modalOverlay, selectClasses.selectContainer),
|
|
23759
23990
|
ref: containerRef,
|
|
23760
23991
|
children: jsxRuntime.jsx(Component, _objectSpread$3({
|
|
23761
|
-
className: clsx__default["default"](_defineProperty__default["default"]({}, classes$
|
|
23992
|
+
className: clsx__default["default"](_defineProperty__default["default"]({}, classes$F.smallScreen, height && height <= mediaSizes$1.smallHeight || width && width <= mediaSizes$1.smallWidth))
|
|
23762
23993
|
}, rest))
|
|
23763
23994
|
});
|
|
23764
23995
|
}
|
|
@@ -23802,6 +24033,24 @@ var mergeProps = function mergeProps(stateProps, dispatchProps) {
|
|
|
23802
24033
|
};
|
|
23803
24034
|
var ModalContainer = reactRedux.connect(mapStateToProps, mapDispatchToProps$1, mergeProps)(Modal);
|
|
23804
24035
|
|
|
24036
|
+
function generateCommonProperties(selectedElements, normalizedElement) {
|
|
24037
|
+
var properties = Object.getOwnPropertyNames(normalizedElement);
|
|
24038
|
+
var resultElementAttributes = {};
|
|
24039
|
+
properties.forEach(function (property) {
|
|
24040
|
+
var uniqueValues = new Set();
|
|
24041
|
+
selectedElements.forEach(function (element) {
|
|
24042
|
+
uniqueValues.add(element[property]);
|
|
24043
|
+
});
|
|
24044
|
+
var allElementsHaveTheSameValue = uniqueValues.size === 1;
|
|
24045
|
+
if (allElementsHaveTheSameValue) {
|
|
24046
|
+
resultElementAttributes[property] = normalizedElement[property];
|
|
24047
|
+
} else {
|
|
24048
|
+
resultElementAttributes[property] = '';
|
|
24049
|
+
}
|
|
24050
|
+
});
|
|
24051
|
+
return resultElementAttributes;
|
|
24052
|
+
}
|
|
24053
|
+
|
|
23805
24054
|
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; }
|
|
23806
24055
|
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; }
|
|
23807
24056
|
function initEditor(dispatch, getState) {
|
|
@@ -23845,7 +24094,7 @@ function initEditor(dispatch, getState) {
|
|
|
23845
24094
|
},
|
|
23846
24095
|
onElementEdit: function onElementEdit(selem) {
|
|
23847
24096
|
if (isAtomsArray(selem)) {
|
|
23848
|
-
var atomAttributes = generateCommonProperties(selem);
|
|
24097
|
+
var atomAttributes = generateCommonProperties(selem, fromAtom(selem[0]));
|
|
23849
24098
|
return openDialog(dispatch, 'atomProps', _objectSpread$1(_objectSpread$1({}, atomAttributes), {}, {
|
|
23850
24099
|
isMultipleAtoms: true
|
|
23851
24100
|
})).then(toElement);
|
|
@@ -23908,8 +24157,9 @@ function initEditor(dispatch, getState) {
|
|
|
23908
24157
|
onQuickEdit: function onQuickEdit(atom) {
|
|
23909
24158
|
return openDialog(dispatch, 'labelEdit', atom);
|
|
23910
24159
|
},
|
|
23911
|
-
onBondEdit: function onBondEdit(
|
|
23912
|
-
|
|
24160
|
+
onBondEdit: function onBondEdit(bonds) {
|
|
24161
|
+
var bondsAttributes = generateCommonProperties(bonds, bonds[0]);
|
|
24162
|
+
return openDialog(dispatch, 'bondProps', fromBond(bondsAttributes)).then(toBond);
|
|
23913
24163
|
},
|
|
23914
24164
|
onRgroupEdit: function onRgroupEdit(rgroup) {
|
|
23915
24165
|
var struct = getState().editor.struct();
|
|
@@ -24123,8 +24373,8 @@ var KetcherBuilder = function () {
|
|
|
24123
24373
|
initApp(element, staticResourcesUrl, {
|
|
24124
24374
|
buttons: buttons || {},
|
|
24125
24375
|
errorHandler: errorHandler || null,
|
|
24126
|
-
version: "2.
|
|
24127
|
-
buildDate: "2023-
|
|
24376
|
+
version: "2.10.0-rc.2" ,
|
|
24377
|
+
buildDate: "2023-05-03T14:52:11" ,
|
|
24128
24378
|
buildNumber: ''
|
|
24129
24379
|
}, structService, resolve);
|
|
24130
24380
|
});
|
|
@@ -24238,4 +24488,5 @@ exports.Editor = Editor;
|
|
|
24238
24488
|
exports.KETCHER_INIT_EVENT_NAME = KETCHER_INIT_EVENT_NAME;
|
|
24239
24489
|
exports.KETCHER_SAVED_SETTINGS_KEY = KETCHER_SAVED_SETTINGS_KEY;
|
|
24240
24490
|
exports.MODES = MODES;
|
|
24491
|
+
exports.STRUCT_TYPE = STRUCT_TYPE;
|
|
24241
24492
|
//# sourceMappingURL=index.js.map
|