ketcher-react 2.10.0-rc.1 → 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.js +280 -212
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +281 -214
- package/dist/index.modern.js.map +1 -1
- package/dist/script/editor/tool/helper/dropAndMerge.d.ts +7 -1
- package/dist/script/editor/tool/helper/isAtomOutSideCanvas.d.ts +2 -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/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1995,9 +1995,9 @@ function toSgroup(sgroup) {
|
|
|
1995
1995
|
};
|
|
1996
1996
|
}
|
|
1997
1997
|
|
|
1998
|
-
function _createForOfIteratorHelper$
|
|
1999
|
-
function _unsupportedIterableToArray$
|
|
2000
|
-
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; }
|
|
2001
2001
|
function isFlipDisabled(editor) {
|
|
2002
2002
|
var selection = editor.selection();
|
|
2003
2003
|
var restruct = editor.render.ctab;
|
|
@@ -2010,13 +2010,13 @@ function isFlipDisabled(editor) {
|
|
|
2010
2010
|
atoms = _selection$atoms === void 0 ? [] : _selection$atoms;
|
|
2011
2011
|
var getBondIdsForAttachmentAtoms = function getBondIdsForAttachmentAtoms() {
|
|
2012
2012
|
var result = [];
|
|
2013
|
-
var _iterator = _createForOfIteratorHelper$
|
|
2013
|
+
var _iterator = _createForOfIteratorHelper$d(atoms),
|
|
2014
2014
|
_step;
|
|
2015
2015
|
try {
|
|
2016
2016
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
2017
2017
|
var atomId = _step.value;
|
|
2018
2018
|
var atomBondIds = ketcherCore.Atom.getConnectedBondIds(restruct.molecule, atomId);
|
|
2019
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
2019
|
+
var _iterator2 = _createForOfIteratorHelper$d(atomBondIds),
|
|
2020
2020
|
_step2;
|
|
2021
2021
|
try {
|
|
2022
2022
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -2042,7 +2042,7 @@ function isFlipDisabled(editor) {
|
|
|
2042
2042
|
var getAmountOfAttachmentBonds = function getAmountOfAttachmentBonds() {
|
|
2043
2043
|
var amountOfAttachmentBonds = 0;
|
|
2044
2044
|
var totalBondIds = new Set([].concat(_toConsumableArray__default["default"](bonds), _toConsumableArray__default["default"](getBondIdsForAttachmentAtoms())));
|
|
2045
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
2045
|
+
var _iterator3 = _createForOfIteratorHelper$d(totalBondIds),
|
|
2046
2046
|
_step3;
|
|
2047
2047
|
try {
|
|
2048
2048
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -2532,6 +2532,10 @@ var KETCHER_SAVED_SETTINGS_KEY = 'ketcher_editor_saved_settings';
|
|
|
2532
2532
|
var MODES = {
|
|
2533
2533
|
FG: 'fg'
|
|
2534
2534
|
};
|
|
2535
|
+
var STRUCT_TYPE = {
|
|
2536
|
+
atoms: 'atoms',
|
|
2537
|
+
bonds: 'bonds'
|
|
2538
|
+
};
|
|
2535
2539
|
|
|
2536
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; }
|
|
2537
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; }
|
|
@@ -2612,10 +2616,14 @@ function parseStruct(struct, server, options) {
|
|
|
2612
2616
|
return Promise.resolve(struct);
|
|
2613
2617
|
}
|
|
2614
2618
|
}
|
|
2619
|
+
function removeStructAction() {
|
|
2620
|
+
var savedSelectedTool = SettingsManager.selectionTool;
|
|
2621
|
+
return onAction(savedSelectedTool || tools$1['select-rectangle'].action);
|
|
2622
|
+
}
|
|
2615
2623
|
function load(struct, options) {
|
|
2616
2624
|
return function () {
|
|
2617
2625
|
var _ref = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee(dispatch, getState) {
|
|
2618
|
-
var state, editor, server, errorHandler, parsedStruct, _options2, fragment, hasUnsupportedGroups, oldStruct, stereAtomsMap
|
|
2626
|
+
var state, editor, server, errorHandler, parsedStruct, _options2, fragment, hasUnsupportedGroups, oldStruct, stereAtomsMap;
|
|
2619
2627
|
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
2620
2628
|
while (1) {
|
|
2621
2629
|
switch (_context.prev = _context.next) {
|
|
@@ -2680,11 +2688,7 @@ function load(struct, options) {
|
|
|
2680
2688
|
parsedStruct.markFragments();
|
|
2681
2689
|
if (fragment) {
|
|
2682
2690
|
if (parsedStruct.isBlank()) {
|
|
2683
|
-
|
|
2684
|
-
dispatch({
|
|
2685
|
-
type: 'ACTION',
|
|
2686
|
-
action: savedSelectedTool || tools$1['select-rectangle'].action
|
|
2687
|
-
});
|
|
2691
|
+
dispatch(removeStructAction());
|
|
2688
2692
|
} else {
|
|
2689
2693
|
dispatch(onAction({
|
|
2690
2694
|
tool: 'paste',
|
|
@@ -3066,7 +3070,7 @@ var zoom = {
|
|
|
3066
3070
|
|
|
3067
3071
|
var openHelpLink = function openHelpLink() {
|
|
3068
3072
|
var _window$open;
|
|
3069
|
-
return (_window$open = window.open("https://github.com/epam/ketcher/blob/".concat("v2.10.0-rc.
|
|
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();
|
|
3070
3074
|
};
|
|
3071
3075
|
var help = {
|
|
3072
3076
|
help: {
|
|
@@ -7943,9 +7947,11 @@ var RenderStruct = function () {
|
|
|
7943
7947
|
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
7944
7948
|
if (el && struct) {
|
|
7945
7949
|
var _options$cachePrefix = options.cachePrefix,
|
|
7946
|
-
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;
|
|
7947
7953
|
var cacheKey = "".concat(cachePrefix).concat(struct.name);
|
|
7948
|
-
if (renderCache.has(cacheKey)) {
|
|
7954
|
+
if (renderCache.has(cacheKey) && needCache) {
|
|
7949
7955
|
el.innerHTML = renderCache.get(cacheKey);
|
|
7950
7956
|
return;
|
|
7951
7957
|
}
|
|
@@ -7959,7 +7965,9 @@ var RenderStruct = function () {
|
|
|
7959
7965
|
}, options));
|
|
7960
7966
|
rnd.setMolecule(preparedStruct);
|
|
7961
7967
|
rnd.update(true, options.viewSz);
|
|
7962
|
-
|
|
7968
|
+
if (needCache) {
|
|
7969
|
+
renderCache.set(cacheKey, rnd.clientArea.innerHTML);
|
|
7970
|
+
}
|
|
7963
7971
|
}
|
|
7964
7972
|
}
|
|
7965
7973
|
}]);
|
|
@@ -8086,6 +8094,26 @@ function memoizedDebounce(func) {
|
|
|
8086
8094
|
|
|
8087
8095
|
var showTooltipTimer = null;
|
|
8088
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
|
+
}
|
|
8089
8117
|
function showTooltip(editor, infoPanelData) {
|
|
8090
8118
|
editor.event.showInfo.dispatch(null);
|
|
8091
8119
|
if (showTooltipTimer) {
|
|
@@ -8106,7 +8134,8 @@ function showFunctionalGroupsTooltip(editor) {
|
|
|
8106
8134
|
var sGroup = (_editor$struct = editor.struct()) === null || _editor$struct === void 0 ? void 0 : _editor$struct.sgroups.get(closestCollapsibleStructures.id);
|
|
8107
8135
|
if (sGroup && !sGroup.data.expanded && sGroup.hovering) {
|
|
8108
8136
|
var groupName = sGroup.data.name;
|
|
8109
|
-
var groupStruct =
|
|
8137
|
+
var groupStruct = makeStruct(editor, sGroup);
|
|
8138
|
+
groupStruct.name = groupName;
|
|
8110
8139
|
infoPanelData = {
|
|
8111
8140
|
groupStruct: groupStruct,
|
|
8112
8141
|
event: event,
|
|
@@ -10102,7 +10131,8 @@ var mapDispatchToProps$e = function mapDispatchToProps(dispatch) {
|
|
|
10102
10131
|
return dispatchAction('open');
|
|
10103
10132
|
},
|
|
10104
10133
|
onSave: function onSave() {
|
|
10105
|
-
|
|
10134
|
+
dispatch(removeStructAction());
|
|
10135
|
+
dispatchAction('save');
|
|
10106
10136
|
},
|
|
10107
10137
|
onUndo: function onUndo() {
|
|
10108
10138
|
return dispatchAction('undo');
|
|
@@ -10252,9 +10282,9 @@ function lookup(map, event) {
|
|
|
10252
10282
|
}
|
|
10253
10283
|
keyNorm.lookup = lookup;
|
|
10254
10284
|
|
|
10255
|
-
function _createForOfIteratorHelper$
|
|
10256
|
-
function _unsupportedIterableToArray$
|
|
10257
|
-
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; }
|
|
10258
10288
|
var APointTool = function () {
|
|
10259
10289
|
function APointTool(editor) {
|
|
10260
10290
|
_classCallCheck__default["default"](this, APointTool);
|
|
@@ -10290,7 +10320,7 @@ var APointTool = function () {
|
|
|
10290
10320
|
}
|
|
10291
10321
|
}
|
|
10292
10322
|
if (atomResult.length > 0) {
|
|
10293
|
-
var _iterator = _createForOfIteratorHelper$
|
|
10323
|
+
var _iterator = _createForOfIteratorHelper$c(atomResult),
|
|
10294
10324
|
_step;
|
|
10295
10325
|
try {
|
|
10296
10326
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -10401,9 +10431,9 @@ var utils = {
|
|
|
10401
10431
|
getNonGroupItemsAndAttachmentPoints: getNonGroupItemsAndAttachmentPoints
|
|
10402
10432
|
};
|
|
10403
10433
|
|
|
10404
|
-
function _createForOfIteratorHelper$
|
|
10405
|
-
function _unsupportedIterableToArray$
|
|
10406
|
-
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; }
|
|
10407
10437
|
function _classPrivateFieldInitSpec$2(obj, privateMap, value) { _checkPrivateRedeclaration$2(obj, privateMap); privateMap.set(obj, value); }
|
|
10408
10438
|
function _checkPrivateRedeclaration$2(obj, privateCollection) { if (privateCollection.has(obj)) { throw new TypeError("Cannot initialize the same private elements twice on an object"); } }
|
|
10409
10439
|
var _bondProps = new WeakMap();
|
|
@@ -10480,7 +10510,7 @@ var AtomTool = function () {
|
|
|
10480
10510
|
if (atomId !== null) atomResult.push(atomId);
|
|
10481
10511
|
}
|
|
10482
10512
|
if (atomResult.length > 0) {
|
|
10483
|
-
var _iterator = _createForOfIteratorHelper$
|
|
10513
|
+
var _iterator = _createForOfIteratorHelper$b(atomResult),
|
|
10484
10514
|
_step;
|
|
10485
10515
|
try {
|
|
10486
10516
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -10552,7 +10582,7 @@ var AtomTool = function () {
|
|
|
10552
10582
|
if (atomId !== null) atomResult.push(atomId);
|
|
10553
10583
|
}
|
|
10554
10584
|
if (atomResult.length > 0) {
|
|
10555
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
10585
|
+
var _iterator2 = _createForOfIteratorHelper$b(atomResult),
|
|
10556
10586
|
_step2;
|
|
10557
10587
|
try {
|
|
10558
10588
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -10621,9 +10651,9 @@ function atomLongtapEvent(tool, render) {
|
|
|
10621
10651
|
};
|
|
10622
10652
|
}
|
|
10623
10653
|
|
|
10624
|
-
function _createForOfIteratorHelper$
|
|
10625
|
-
function _unsupportedIterableToArray$
|
|
10626
|
-
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; }
|
|
10627
10657
|
var AttachTool = function () {
|
|
10628
10658
|
function AttachTool(editor, attachPoints) {
|
|
10629
10659
|
_classCallCheck__default["default"](this, AttachTool);
|
|
@@ -10676,7 +10706,7 @@ var AttachTool = function () {
|
|
|
10676
10706
|
}
|
|
10677
10707
|
}
|
|
10678
10708
|
if (atomResult.length > 0) {
|
|
10679
|
-
var _iterator = _createForOfIteratorHelper$
|
|
10709
|
+
var _iterator = _createForOfIteratorHelper$a(atomResult),
|
|
10680
10710
|
_step;
|
|
10681
10711
|
try {
|
|
10682
10712
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -10696,7 +10726,7 @@ var AttachTool = function () {
|
|
|
10696
10726
|
});
|
|
10697
10727
|
return;
|
|
10698
10728
|
} else if (bondResult.length > 0) {
|
|
10699
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
10729
|
+
var _iterator2 = _createForOfIteratorHelper$a(bondResult),
|
|
10700
10730
|
_step2;
|
|
10701
10731
|
try {
|
|
10702
10732
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -10732,9 +10762,9 @@ var AttachTool = function () {
|
|
|
10732
10762
|
return AttachTool;
|
|
10733
10763
|
}();
|
|
10734
10764
|
|
|
10735
|
-
function _createForOfIteratorHelper$
|
|
10736
|
-
function _unsupportedIterableToArray$
|
|
10737
|
-
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; }
|
|
10738
10768
|
var BondTool = function () {
|
|
10739
10769
|
function BondTool(editor, bondProps) {
|
|
10740
10770
|
var _editor$selection;
|
|
@@ -10771,7 +10801,7 @@ var BondTool = function () {
|
|
|
10771
10801
|
if (bondId !== null) bondResult.push(bondId);
|
|
10772
10802
|
}
|
|
10773
10803
|
if (atomResult.length > 0) {
|
|
10774
|
-
var _iterator = _createForOfIteratorHelper$
|
|
10804
|
+
var _iterator = _createForOfIteratorHelper$9(atomResult),
|
|
10775
10805
|
_step;
|
|
10776
10806
|
try {
|
|
10777
10807
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -10791,7 +10821,7 @@ var BondTool = function () {
|
|
|
10791
10821
|
});
|
|
10792
10822
|
return;
|
|
10793
10823
|
} else if (bondResult.length > 0) {
|
|
10794
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
10824
|
+
var _iterator2 = _createForOfIteratorHelper$9(bondResult),
|
|
10795
10825
|
_step2;
|
|
10796
10826
|
try {
|
|
10797
10827
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -10899,7 +10929,7 @@ var BondTool = function () {
|
|
|
10899
10929
|
}
|
|
10900
10930
|
}
|
|
10901
10931
|
if (atomResult.length > 0) {
|
|
10902
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
10932
|
+
var _iterator3 = _createForOfIteratorHelper$9(atomResult),
|
|
10903
10933
|
_step3;
|
|
10904
10934
|
try {
|
|
10905
10935
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -11012,7 +11042,7 @@ var BondTool = function () {
|
|
|
11012
11042
|
}, {
|
|
11013
11043
|
key: "getExistingBond",
|
|
11014
11044
|
value: function getExistingBond(struct, begin, end) {
|
|
11015
|
-
var _iterator4 = _createForOfIteratorHelper$
|
|
11045
|
+
var _iterator4 = _createForOfIteratorHelper$9(struct.bonds.entries()),
|
|
11016
11046
|
_step4;
|
|
11017
11047
|
try {
|
|
11018
11048
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
@@ -11035,9 +11065,9 @@ var BondTool = function () {
|
|
|
11035
11065
|
return BondTool;
|
|
11036
11066
|
}();
|
|
11037
11067
|
|
|
11038
|
-
function _createForOfIteratorHelper$
|
|
11039
|
-
function _unsupportedIterableToArray$
|
|
11040
|
-
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; }
|
|
11041
11071
|
var ChainTool = function () {
|
|
11042
11072
|
function ChainTool(editor) {
|
|
11043
11073
|
_classCallCheck__default["default"](this, ChainTool);
|
|
@@ -11069,7 +11099,7 @@ var ChainTool = function () {
|
|
|
11069
11099
|
}
|
|
11070
11100
|
}
|
|
11071
11101
|
if (atomResult.length > 0) {
|
|
11072
|
-
var _iterator = _createForOfIteratorHelper$
|
|
11102
|
+
var _iterator = _createForOfIteratorHelper$8(atomResult),
|
|
11073
11103
|
_step;
|
|
11074
11104
|
try {
|
|
11075
11105
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -11089,7 +11119,7 @@ var ChainTool = function () {
|
|
|
11089
11119
|
});
|
|
11090
11120
|
return;
|
|
11091
11121
|
} else if (bondResult.length > 0) {
|
|
11092
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
11122
|
+
var _iterator2 = _createForOfIteratorHelper$8(bondResult),
|
|
11093
11123
|
_step2;
|
|
11094
11124
|
try {
|
|
11095
11125
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -11194,7 +11224,7 @@ var ChainTool = function () {
|
|
|
11194
11224
|
}
|
|
11195
11225
|
}
|
|
11196
11226
|
if (atomResult.length > 0) {
|
|
11197
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
11227
|
+
var _iterator3 = _createForOfIteratorHelper$8(atomResult),
|
|
11198
11228
|
_step3;
|
|
11199
11229
|
try {
|
|
11200
11230
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -11256,9 +11286,9 @@ var ChainTool = function () {
|
|
|
11256
11286
|
return ChainTool;
|
|
11257
11287
|
}();
|
|
11258
11288
|
|
|
11259
|
-
function _createForOfIteratorHelper$
|
|
11260
|
-
function _unsupportedIterableToArray$
|
|
11261
|
-
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; }
|
|
11262
11292
|
var ChargeTool = function () {
|
|
11263
11293
|
function ChargeTool(editor, charge) {
|
|
11264
11294
|
_classCallCheck__default["default"](this, ChargeTool);
|
|
@@ -11299,7 +11329,7 @@ var ChargeTool = function () {
|
|
|
11299
11329
|
}
|
|
11300
11330
|
}
|
|
11301
11331
|
if (atomResult.length > 0) {
|
|
11302
|
-
var _iterator = _createForOfIteratorHelper$
|
|
11332
|
+
var _iterator = _createForOfIteratorHelper$7(atomResult),
|
|
11303
11333
|
_step;
|
|
11304
11334
|
try {
|
|
11305
11335
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -11662,9 +11692,9 @@ var LassoHelper = function () {
|
|
|
11662
11692
|
return LassoHelper;
|
|
11663
11693
|
}();
|
|
11664
11694
|
|
|
11665
|
-
function _createForOfIteratorHelper$
|
|
11666
|
-
function _unsupportedIterableToArray$
|
|
11667
|
-
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; }
|
|
11668
11698
|
var searchMaps = ['atoms', 'bonds', 'sgroups', 'functionalGroups', 'sgroupData'];
|
|
11669
11699
|
var SGroupTool = function () {
|
|
11670
11700
|
function SGroupTool(editor) {
|
|
@@ -11696,7 +11726,7 @@ var SGroupTool = function () {
|
|
|
11696
11726
|
return fp.isEqual(sgroup.atoms, selectedAtoms);
|
|
11697
11727
|
});
|
|
11698
11728
|
if (selectedAtoms && functionalGroups.size) {
|
|
11699
|
-
var _iterator = _createForOfIteratorHelper$
|
|
11729
|
+
var _iterator = _createForOfIteratorHelper$6(selectedAtoms),
|
|
11700
11730
|
_step;
|
|
11701
11731
|
try {
|
|
11702
11732
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -11708,7 +11738,7 @@ var SGroupTool = function () {
|
|
|
11708
11738
|
}
|
|
11709
11739
|
var atomFromStruct = atomId !== null && ((_struct$atoms$get = struct.atoms.get(atomId)) === null || _struct$atoms$get === void 0 ? void 0 : _struct$atoms$get.a);
|
|
11710
11740
|
if (atomFromStruct) {
|
|
11711
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
11741
|
+
var _iterator2 = _createForOfIteratorHelper$6(atomFromStruct.sgs.values()),
|
|
11712
11742
|
_step2;
|
|
11713
11743
|
try {
|
|
11714
11744
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -11741,7 +11771,7 @@ var SGroupTool = function () {
|
|
|
11741
11771
|
atomsResult = [];
|
|
11742
11772
|
}
|
|
11743
11773
|
if (atomsResult && atomsResult.length > 0) {
|
|
11744
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
11774
|
+
var _iterator3 = _createForOfIteratorHelper$6(atomsResult),
|
|
11745
11775
|
_step3;
|
|
11746
11776
|
try {
|
|
11747
11777
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -11805,7 +11835,7 @@ var SGroupTool = function () {
|
|
|
11805
11835
|
}
|
|
11806
11836
|
}
|
|
11807
11837
|
if (atomResult.length > 0) {
|
|
11808
|
-
var _iterator4 = _createForOfIteratorHelper$
|
|
11838
|
+
var _iterator4 = _createForOfIteratorHelper$6(atomResult),
|
|
11809
11839
|
_step4;
|
|
11810
11840
|
try {
|
|
11811
11841
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
@@ -11825,7 +11855,7 @@ var SGroupTool = function () {
|
|
|
11825
11855
|
});
|
|
11826
11856
|
return;
|
|
11827
11857
|
} else if (bondResult.length > 0) {
|
|
11828
|
-
var _iterator5 = _createForOfIteratorHelper$
|
|
11858
|
+
var _iterator5 = _createForOfIteratorHelper$6(bondResult),
|
|
11829
11859
|
_step5;
|
|
11830
11860
|
try {
|
|
11831
11861
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
@@ -11887,7 +11917,7 @@ var SGroupTool = function () {
|
|
|
11887
11917
|
var result = [];
|
|
11888
11918
|
if (ci && ci.map === 'functionalGroups' && functionalGroups.size && ketcherCore.FunctionalGroup.isContractedFunctionalGroup(ci.id, functionalGroups)) return;
|
|
11889
11919
|
if (selected && functionalGroups.size && selected.atoms) {
|
|
11890
|
-
var _iterator6 = _createForOfIteratorHelper$
|
|
11920
|
+
var _iterator6 = _createForOfIteratorHelper$6(selected.atoms),
|
|
11891
11921
|
_step6;
|
|
11892
11922
|
try {
|
|
11893
11923
|
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
@@ -11899,7 +11929,7 @@ var SGroupTool = function () {
|
|
|
11899
11929
|
}
|
|
11900
11930
|
var atomFromStruct = atomId !== null && ((_struct$atoms$get3 = struct.atoms.get(atomId)) === null || _struct$atoms$get3 === void 0 ? void 0 : _struct$atoms$get3.a);
|
|
11901
11931
|
if (atomFromStruct) {
|
|
11902
|
-
var _iterator7 = _createForOfIteratorHelper$
|
|
11932
|
+
var _iterator7 = _createForOfIteratorHelper$6(atomFromStruct.sgs.values()),
|
|
11903
11933
|
_step7;
|
|
11904
11934
|
try {
|
|
11905
11935
|
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
|
|
@@ -11929,7 +11959,7 @@ var SGroupTool = function () {
|
|
|
11929
11959
|
}
|
|
11930
11960
|
}
|
|
11931
11961
|
if (selected && functionalGroups.size && selected.bonds) {
|
|
11932
|
-
var _iterator8 = _createForOfIteratorHelper$
|
|
11962
|
+
var _iterator8 = _createForOfIteratorHelper$6(selected.bonds),
|
|
11933
11963
|
_step8;
|
|
11934
11964
|
try {
|
|
11935
11965
|
for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
|
|
@@ -11971,7 +12001,7 @@ var SGroupTool = function () {
|
|
|
11971
12001
|
bondsResult = null;
|
|
11972
12002
|
}
|
|
11973
12003
|
if (atomsResult && atomsResult.length > 0) {
|
|
11974
|
-
var _iterator9 = _createForOfIteratorHelper$
|
|
12004
|
+
var _iterator9 = _createForOfIteratorHelper$6(atomsResult),
|
|
11975
12005
|
_step9;
|
|
11976
12006
|
try {
|
|
11977
12007
|
for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
|
|
@@ -11988,7 +12018,7 @@ var SGroupTool = function () {
|
|
|
11988
12018
|
}
|
|
11989
12019
|
}
|
|
11990
12020
|
if (bondsResult && bondsResult.length > 0) {
|
|
11991
|
-
var _iterator10 = _createForOfIteratorHelper$
|
|
12021
|
+
var _iterator10 = _createForOfIteratorHelper$6(bondsResult),
|
|
11992
12022
|
_step10;
|
|
11993
12023
|
try {
|
|
11994
12024
|
for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
|
|
@@ -12141,6 +12171,9 @@ function fromContextType(id, editor, newSg, currSelection) {
|
|
|
12141
12171
|
var sg = restruct.molecule.sgroups.get(id);
|
|
12142
12172
|
var sourceAtoms = sg && sg.atoms || currSelection.atoms || [];
|
|
12143
12173
|
var context = newSg.attrs.context;
|
|
12174
|
+
if (newSg.type === ketcherCore.SGroup.TYPES.SUP) {
|
|
12175
|
+
newSg.attrs.expanded = true;
|
|
12176
|
+
}
|
|
12144
12177
|
var result = ketcherCore.fromSgroupAction(context, restruct, newSg, sourceAtoms, currSelection);
|
|
12145
12178
|
result.selection = result.selection || currSelection;
|
|
12146
12179
|
if (id !== null && id !== undefined) {
|
|
@@ -12201,7 +12234,7 @@ function getGroupIdsFromItemMaps(struct, mergeMaps) {
|
|
|
12201
12234
|
});
|
|
12202
12235
|
}
|
|
12203
12236
|
|
|
12204
|
-
function dropAndMerge(editor, mergeItems, action) {
|
|
12237
|
+
function dropAndMerge(editor, mergeItems, action, resizeCanvas) {
|
|
12205
12238
|
var _dropItemAction;
|
|
12206
12239
|
var restruct = editor.render.ctab;
|
|
12207
12240
|
var isMerging = !!mergeItems;
|
|
@@ -12226,7 +12259,7 @@ function dropAndMerge(editor, mergeItems, action) {
|
|
|
12226
12259
|
if (isMerging) editor.selection(null);
|
|
12227
12260
|
if (((_dropItemAction = dropItemAction) === null || _dropItemAction === void 0 ? void 0 : _dropItemAction.operations.length) > 0) {
|
|
12228
12261
|
editor.update(dropItemAction, false, {
|
|
12229
|
-
resizeCanvas:
|
|
12262
|
+
resizeCanvas: !!resizeCanvas
|
|
12230
12263
|
});
|
|
12231
12264
|
}
|
|
12232
12265
|
return dropItemAction;
|
|
@@ -12251,27 +12284,24 @@ function extractAttachmentAtom(mergeItems, editor) {
|
|
|
12251
12284
|
atoms: new Map(mergeItems.atoms),
|
|
12252
12285
|
bonds: new Map(mergeItems.bonds)
|
|
12253
12286
|
};
|
|
12254
|
-
var
|
|
12255
|
-
var removeSGroup = new ketcherCore.Action();
|
|
12287
|
+
var action = new ketcherCore.Action();
|
|
12256
12288
|
(_mergeItems$atomToFun = mergeItems.atomToFunctionalGroup) === null || _mergeItems$atomToFun === void 0 ? void 0 : _mergeItems$atomToFun.forEach(function (functionalGroupId, srcAtomId) {
|
|
12257
12289
|
var sGroup = struct.sgroups.get(functionalGroupId);
|
|
12258
12290
|
var attachmentAtomId = sGroup === null || sGroup === void 0 ? void 0 : sGroup.getAttAtomId(struct);
|
|
12259
|
-
if (attachmentAtomId) {
|
|
12260
|
-
var
|
|
12261
|
-
|
|
12262
|
-
|
|
12263
|
-
|
|
12264
|
-
|
|
12265
|
-
|
|
12266
|
-
atoms:
|
|
12267
|
-
|
|
12268
|
-
}),
|
|
12269
|
-
bonds: _toConsumableArray__default["default"](ketcherCore.SGroup.getBonds(struct, sGroup))
|
|
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
|
|
12270
12300
|
}));
|
|
12271
|
-
|
|
12301
|
+
newMergeItems.atoms.set(srcAtomId, attachmentAtomId);
|
|
12272
12302
|
}
|
|
12273
12303
|
});
|
|
12274
|
-
return [newMergeItems,
|
|
12304
|
+
return [newMergeItems, action];
|
|
12275
12305
|
}
|
|
12276
12306
|
|
|
12277
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; }
|
|
@@ -12349,9 +12379,19 @@ function updateSelectedBonds(_ref) {
|
|
|
12349
12379
|
}
|
|
12350
12380
|
}
|
|
12351
12381
|
|
|
12352
|
-
function
|
|
12353
|
-
|
|
12354
|
-
|
|
12382
|
+
function hasAtomsOutsideCanvas(atoms, render, scale) {
|
|
12383
|
+
return atoms.some(function (atom) {
|
|
12384
|
+
var canvasSize = render.sz;
|
|
12385
|
+
var offset = render.options.offset;
|
|
12386
|
+
var xSize = atom.pp.x * scale;
|
|
12387
|
+
var ySize = atom.pp.y * scale;
|
|
12388
|
+
return xSize > canvasSize.x || xSize + offset.x < 0 || ySize > canvasSize.y || ySize + offset.y < 0;
|
|
12389
|
+
});
|
|
12390
|
+
}
|
|
12391
|
+
|
|
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; }
|
|
12355
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; }
|
|
12356
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; }
|
|
12357
12397
|
function _classPrivateFieldInitSpec$1(obj, privateMap, value) { _checkPrivateRedeclaration$1(obj, privateMap); privateMap.set(obj, value); }
|
|
@@ -12522,7 +12562,9 @@ var SelectTool = function () {
|
|
|
12522
12562
|
delete this.dragCtx;
|
|
12523
12563
|
}
|
|
12524
12564
|
if ((_this$dragCtx2 = this.dragCtx) !== null && _this$dragCtx2 !== void 0 && _this$dragCtx2.item) {
|
|
12525
|
-
|
|
12565
|
+
var atoms = Array.from(editor.struct().atoms.values());
|
|
12566
|
+
var shouldResizeCanvas = hasAtomsOutsideCanvas(atoms, editor.render, editor.options().scale);
|
|
12567
|
+
dropAndMerge(editor, this.dragCtx.mergeItems, this.dragCtx.action, shouldResizeCanvas);
|
|
12526
12568
|
delete this.dragCtx;
|
|
12527
12569
|
} else if (_classPrivateFieldGet__default["default"](this, _lassoHelper).running()) {
|
|
12528
12570
|
this.selectElementsOnCanvas(newSelected, editor, event);
|
|
@@ -12560,7 +12602,7 @@ var SelectTool = function () {
|
|
|
12560
12602
|
bondFromStruct, sgroups, functionalGroups)) bondResult.push(bondId);
|
|
12561
12603
|
}
|
|
12562
12604
|
if (atomResult.length > 0) {
|
|
12563
|
-
var _iterator = _createForOfIteratorHelper$
|
|
12605
|
+
var _iterator = _createForOfIteratorHelper$5(atomResult),
|
|
12564
12606
|
_step;
|
|
12565
12607
|
try {
|
|
12566
12608
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -12580,7 +12622,7 @@ var SelectTool = function () {
|
|
|
12580
12622
|
});
|
|
12581
12623
|
return;
|
|
12582
12624
|
} else if (bondResult.length > 0) {
|
|
12583
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
12625
|
+
var _iterator2 = _createForOfIteratorHelper$5(bondResult),
|
|
12584
12626
|
_step2;
|
|
12585
12627
|
try {
|
|
12586
12628
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -12800,7 +12842,7 @@ function getNewSelectedItems(editor, selectedSgroups) {
|
|
|
12800
12842
|
atoms: [],
|
|
12801
12843
|
bonds: []
|
|
12802
12844
|
};
|
|
12803
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
12845
|
+
var _iterator3 = _createForOfIteratorHelper$5(selectedSgroups),
|
|
12804
12846
|
_step3;
|
|
12805
12847
|
try {
|
|
12806
12848
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -12822,9 +12864,9 @@ function getNewSelectedItems(editor, selectedSgroups) {
|
|
|
12822
12864
|
return newSelected;
|
|
12823
12865
|
}
|
|
12824
12866
|
|
|
12825
|
-
function _createForOfIteratorHelper$
|
|
12826
|
-
function _unsupportedIterableToArray$
|
|
12827
|
-
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; }
|
|
12828
12870
|
var EraserTool = function () {
|
|
12829
12871
|
function EraserTool(editor, mode) {
|
|
12830
12872
|
_classCallCheck__default["default"](this, EraserTool);
|
|
@@ -12872,7 +12914,7 @@ var EraserTool = function () {
|
|
|
12872
12914
|
var bondsResult = [];
|
|
12873
12915
|
var preResult = [];
|
|
12874
12916
|
if (selected && functionalGroups.size && selected.atoms) {
|
|
12875
|
-
var _iterator = _createForOfIteratorHelper$
|
|
12917
|
+
var _iterator = _createForOfIteratorHelper$4(selected.atoms),
|
|
12876
12918
|
_step;
|
|
12877
12919
|
try {
|
|
12878
12920
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -12881,7 +12923,7 @@ var EraserTool = function () {
|
|
|
12881
12923
|
var atomId = ketcherCore.FunctionalGroup.atomsInFunctionalGroup(functionalGroups, atom);
|
|
12882
12924
|
var atomFromStruct = atomId !== null && ((_struct$atoms$get = struct.atoms.get(atomId)) === null || _struct$atoms$get === void 0 ? void 0 : _struct$atoms$get.a);
|
|
12883
12925
|
if (atomFromStruct) {
|
|
12884
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
12926
|
+
var _iterator2 = _createForOfIteratorHelper$4(atomFromStruct.sgs.values()),
|
|
12885
12927
|
_step2;
|
|
12886
12928
|
try {
|
|
12887
12929
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -12911,7 +12953,7 @@ var EraserTool = function () {
|
|
|
12911
12953
|
}
|
|
12912
12954
|
}
|
|
12913
12955
|
if (selected && functionalGroups.size && selected.bonds) {
|
|
12914
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
12956
|
+
var _iterator3 = _createForOfIteratorHelper$4(selected.bonds),
|
|
12915
12957
|
_step3;
|
|
12916
12958
|
try {
|
|
12917
12959
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -12930,7 +12972,7 @@ var EraserTool = function () {
|
|
|
12930
12972
|
}
|
|
12931
12973
|
}
|
|
12932
12974
|
if (atomsResult.length > 0) {
|
|
12933
|
-
var _iterator4 = _createForOfIteratorHelper$
|
|
12975
|
+
var _iterator4 = _createForOfIteratorHelper$4(atomsResult),
|
|
12934
12976
|
_step4;
|
|
12935
12977
|
try {
|
|
12936
12978
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
@@ -12945,7 +12987,7 @@ var EraserTool = function () {
|
|
|
12945
12987
|
}
|
|
12946
12988
|
}
|
|
12947
12989
|
if (bondsResult.length > 0) {
|
|
12948
|
-
var _iterator5 = _createForOfIteratorHelper$
|
|
12990
|
+
var _iterator5 = _createForOfIteratorHelper$4(bondsResult),
|
|
12949
12991
|
_step5;
|
|
12950
12992
|
try {
|
|
12951
12993
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
@@ -13016,7 +13058,7 @@ var EraserTool = function () {
|
|
|
13016
13058
|
}
|
|
13017
13059
|
}
|
|
13018
13060
|
if (atomResult.length) {
|
|
13019
|
-
var _iterator6 = _createForOfIteratorHelper$
|
|
13061
|
+
var _iterator6 = _createForOfIteratorHelper$4(atomResult),
|
|
13020
13062
|
_step6;
|
|
13021
13063
|
try {
|
|
13022
13064
|
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
@@ -13032,7 +13074,7 @@ var EraserTool = function () {
|
|
|
13032
13074
|
_iterator6.f();
|
|
13033
13075
|
}
|
|
13034
13076
|
} else if (bondResult.length) {
|
|
13035
|
-
var _iterator7 = _createForOfIteratorHelper$
|
|
13077
|
+
var _iterator7 = _createForOfIteratorHelper$4(bondResult),
|
|
13036
13078
|
_step7;
|
|
13037
13079
|
try {
|
|
13038
13080
|
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
|
|
@@ -13193,7 +13235,8 @@ function ownKeys$O(object, enumerableOnly) { var keys = Object.keys(object); if
|
|
|
13193
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; }
|
|
13194
13236
|
var PasteTool = function () {
|
|
13195
13237
|
function PasteTool(editor, struct) {
|
|
13196
|
-
var _struct$functionalGro
|
|
13238
|
+
var _struct$functionalGro,
|
|
13239
|
+
_this = this;
|
|
13197
13240
|
_classCallCheck__default["default"](this, PasteTool);
|
|
13198
13241
|
this.editor = editor;
|
|
13199
13242
|
this.editor.selection(null);
|
|
@@ -13213,6 +13256,15 @@ var PasteTool = function () {
|
|
|
13213
13256
|
pasteItems = _fromPaste2[1];
|
|
13214
13257
|
this.action = action;
|
|
13215
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);
|
|
13216
13268
|
this.findItems = ['functionalGroups'];
|
|
13217
13269
|
this.mergeItems = ketcherCore.getItemsToFuse(this.editor, pasteItems);
|
|
13218
13270
|
this.editor.hover(ketcherCore.getHoverToFuse(this.mergeItems), this);
|
|
@@ -13246,6 +13298,7 @@ var PasteTool = function () {
|
|
|
13246
13298
|
}, {
|
|
13247
13299
|
key: "mousemove",
|
|
13248
13300
|
value: function mousemove(event) {
|
|
13301
|
+
var _this2 = this;
|
|
13249
13302
|
if (this.action) {
|
|
13250
13303
|
var _this$action2;
|
|
13251
13304
|
(_this$action2 = this.action) === null || _this$action2 === void 0 ? void 0 : _this$action2.perform(this.editor.render.ctab);
|
|
@@ -13276,6 +13329,12 @@ var PasteTool = function () {
|
|
|
13276
13329
|
this.dragCtx.action = action;
|
|
13277
13330
|
this.editor.update(this.dragCtx.action, true);
|
|
13278
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
|
+
});
|
|
13279
13338
|
var _fromPaste5 = ketcherCore.fromPaste(this.editor.render.ctab, this.struct, this.editor.render.page2obj(event)),
|
|
13280
13339
|
_fromPaste6 = _slicedToArray__default["default"](_fromPaste5, 2),
|
|
13281
13340
|
_action = _fromPaste6[0],
|
|
@@ -13316,7 +13375,7 @@ var PasteTool = function () {
|
|
|
13316
13375
|
var action = this.action;
|
|
13317
13376
|
delete this.action;
|
|
13318
13377
|
if (!this.isSingleContractedGroup || !this.mergeItems) {
|
|
13319
|
-
this.editor.update(dropAndMerge(this.editor, this.mergeItems, action));
|
|
13378
|
+
this.editor.update(dropAndMerge(this.editor, this.mergeItems, action, true));
|
|
13320
13379
|
}
|
|
13321
13380
|
}
|
|
13322
13381
|
}
|
|
@@ -13356,9 +13415,9 @@ function prepareTemplateFromSingleGroup(molecule) {
|
|
|
13356
13415
|
return template;
|
|
13357
13416
|
}
|
|
13358
13417
|
|
|
13359
|
-
function _createForOfIteratorHelper$
|
|
13360
|
-
function _unsupportedIterableToArray$
|
|
13361
|
-
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; }
|
|
13362
13421
|
var RGroupAtomTool = function () {
|
|
13363
13422
|
function RGroupAtomTool(editor) {
|
|
13364
13423
|
_classCallCheck__default["default"](this, RGroupAtomTool);
|
|
@@ -13394,7 +13453,7 @@ var RGroupAtomTool = function () {
|
|
|
13394
13453
|
}
|
|
13395
13454
|
}
|
|
13396
13455
|
if (atomResult.length > 0) {
|
|
13397
|
-
var _iterator = _createForOfIteratorHelper$
|
|
13456
|
+
var _iterator = _createForOfIteratorHelper$3(atomResult),
|
|
13398
13457
|
_step;
|
|
13399
13458
|
try {
|
|
13400
13459
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -13458,9 +13517,9 @@ function propsDialog$1(editor, id, pos) {
|
|
|
13458
13517
|
});
|
|
13459
13518
|
}
|
|
13460
13519
|
|
|
13461
|
-
function _createForOfIteratorHelper$
|
|
13462
|
-
function _unsupportedIterableToArray$
|
|
13463
|
-
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; }
|
|
13464
13523
|
var RGroupFragmentTool = function () {
|
|
13465
13524
|
function RGroupFragmentTool(editor) {
|
|
13466
13525
|
_classCallCheck__default["default"](this, RGroupFragmentTool);
|
|
@@ -13497,7 +13556,7 @@ var RGroupFragmentTool = function () {
|
|
|
13497
13556
|
}
|
|
13498
13557
|
}
|
|
13499
13558
|
if (atomResult.length > 0) {
|
|
13500
|
-
var _iterator = _createForOfIteratorHelper$
|
|
13559
|
+
var _iterator = _createForOfIteratorHelper$2(atomResult),
|
|
13501
13560
|
_step;
|
|
13502
13561
|
try {
|
|
13503
13562
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -13517,7 +13576,7 @@ var RGroupFragmentTool = function () {
|
|
|
13517
13576
|
});
|
|
13518
13577
|
return;
|
|
13519
13578
|
} else if (bondResult.length > 0) {
|
|
13520
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
13579
|
+
var _iterator2 = _createForOfIteratorHelper$2(bondResult),
|
|
13521
13580
|
_step2;
|
|
13522
13581
|
try {
|
|
13523
13582
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -14706,9 +14765,6 @@ var tools = {
|
|
|
14706
14765
|
text: TextTool
|
|
14707
14766
|
};
|
|
14708
14767
|
|
|
14709
|
-
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; } } }; }
|
|
14710
|
-
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); }
|
|
14711
|
-
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; }
|
|
14712
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; }
|
|
14713
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; }
|
|
14714
14770
|
function handleHotkeyOverItem(props) {
|
|
@@ -14727,18 +14783,44 @@ function handleOtherActions(_ref) {
|
|
|
14727
14783
|
newAction = _ref.newAction;
|
|
14728
14784
|
dispatch(onAction(newAction));
|
|
14729
14785
|
}
|
|
14730
|
-
function
|
|
14786
|
+
function eraseItem(_ref2) {
|
|
14731
14787
|
var editor = _ref2.editor,
|
|
14732
|
-
|
|
14733
|
-
var action = ketcherCore.fromFragmentDeletion(editor.render.ctab,
|
|
14788
|
+
item = _ref2.item;
|
|
14789
|
+
var action = ketcherCore.fromFragmentDeletion(editor.render.ctab, item);
|
|
14734
14790
|
editor.update(action);
|
|
14735
14791
|
editor.hover(null);
|
|
14736
14792
|
}
|
|
14737
|
-
function
|
|
14738
|
-
var
|
|
14793
|
+
function handleEraser(_ref3) {
|
|
14794
|
+
var editor = _ref3.editor,
|
|
14795
|
+
hoveredItem = _ref3.hoveredItem,
|
|
14739
14796
|
newAction = _ref3.newAction,
|
|
14740
|
-
editor = _ref3.editor,
|
|
14741
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;
|
|
14742
14824
|
var dialogType = Object.keys(hoveredItem)[0];
|
|
14743
14825
|
var dialogHandler = getDialogHandler(dialogType);
|
|
14744
14826
|
var hoveredItemId = hoveredItem[dialogType];
|
|
@@ -14764,11 +14846,11 @@ function getDialogHandler(itemType) {
|
|
|
14764
14846
|
var dialog = dialogs[itemType];
|
|
14765
14847
|
return dialog;
|
|
14766
14848
|
}
|
|
14767
|
-
function handleAtomPropsDialog(
|
|
14768
|
-
var hoveredItemId =
|
|
14769
|
-
newAction =
|
|
14770
|
-
editor =
|
|
14771
|
-
dispatch =
|
|
14849
|
+
function handleAtomPropsDialog(_ref5) {
|
|
14850
|
+
var hoveredItemId = _ref5.hoveredItemId,
|
|
14851
|
+
newAction = _ref5.newAction,
|
|
14852
|
+
editor = _ref5.editor,
|
|
14853
|
+
dispatch = _ref5.dispatch;
|
|
14772
14854
|
var selection = editor.selection();
|
|
14773
14855
|
var atomsSelected = selection === null || selection === void 0 ? void 0 : selection.atoms;
|
|
14774
14856
|
var restruct = editor.render.ctab;
|
|
@@ -14791,11 +14873,11 @@ function handleAtomPropsDialog(_ref4) {
|
|
|
14791
14873
|
});
|
|
14792
14874
|
}
|
|
14793
14875
|
}
|
|
14794
|
-
function handleBondPropsDialog(
|
|
14795
|
-
var hoveredItemId =
|
|
14796
|
-
newAction =
|
|
14797
|
-
editor =
|
|
14798
|
-
dispatch =
|
|
14876
|
+
function handleBondPropsDialog(_ref6) {
|
|
14877
|
+
var hoveredItemId = _ref6.hoveredItemId,
|
|
14878
|
+
newAction = _ref6.newAction,
|
|
14879
|
+
editor = _ref6.editor,
|
|
14880
|
+
dispatch = _ref6.dispatch;
|
|
14799
14881
|
var restruct = editor.render.ctab;
|
|
14800
14882
|
var bondFromStruct = restruct.bonds.get(hoveredItemId);
|
|
14801
14883
|
var convertedBondForModal = fromBond(bondFromStruct === null || bondFromStruct === void 0 ? void 0 : bondFromStruct.b);
|
|
@@ -14806,11 +14888,11 @@ function handleBondPropsDialog(_ref5) {
|
|
|
14806
14888
|
return null;
|
|
14807
14889
|
});
|
|
14808
14890
|
}
|
|
14809
|
-
function handleTool(
|
|
14810
|
-
var hoveredItem =
|
|
14811
|
-
newAction =
|
|
14812
|
-
editor =
|
|
14813
|
-
dispatch =
|
|
14891
|
+
function handleTool(_ref7) {
|
|
14892
|
+
var hoveredItem = _ref7.hoveredItem,
|
|
14893
|
+
newAction = _ref7.newAction,
|
|
14894
|
+
editor = _ref7.editor,
|
|
14895
|
+
dispatch = _ref7.dispatch;
|
|
14814
14896
|
var _loop = function _loop(item) {
|
|
14815
14897
|
var toolHandler = getToolHandler(item, newAction.tool);
|
|
14816
14898
|
var isChangeStructureTool = newAction.tool !== 'hand';
|
|
@@ -14822,7 +14904,7 @@ function handleTool(_ref6) {
|
|
|
14822
14904
|
newAction: newAction,
|
|
14823
14905
|
dispatch: dispatch
|
|
14824
14906
|
};
|
|
14825
|
-
isFunctionalGroupChange(props).then(function (result) {
|
|
14907
|
+
isFunctionalGroupChange(props, item).then(function (result) {
|
|
14826
14908
|
if (!result && isChangeStructureTool) return;
|
|
14827
14909
|
toolHandler(props);
|
|
14828
14910
|
});
|
|
@@ -14832,17 +14914,17 @@ function handleTool(_ref6) {
|
|
|
14832
14914
|
_loop(item);
|
|
14833
14915
|
}
|
|
14834
14916
|
}
|
|
14835
|
-
function isFunctionalGroupChange(_x) {
|
|
14917
|
+
function isFunctionalGroupChange(_x, _x2) {
|
|
14836
14918
|
return _isFunctionalGroupChange.apply(this, arguments);
|
|
14837
14919
|
}
|
|
14838
14920
|
function _isFunctionalGroupChange() {
|
|
14839
|
-
_isFunctionalGroupChange = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee(props) {
|
|
14921
|
+
_isFunctionalGroupChange = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee(props, type) {
|
|
14840
14922
|
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
14841
14923
|
while (1) {
|
|
14842
14924
|
switch (_context.prev = _context.next) {
|
|
14843
14925
|
case 0:
|
|
14844
14926
|
_context.next = 2;
|
|
14845
|
-
return isChangingFunctionalGroup(props);
|
|
14927
|
+
return isChangingFunctionalGroup(props, type);
|
|
14846
14928
|
case 2:
|
|
14847
14929
|
return _context.abrupt("return", _context.sent);
|
|
14848
14930
|
case 3:
|
|
@@ -14870,13 +14952,13 @@ function getToolHandler(itemType) {
|
|
|
14870
14952
|
rgroupatom: function rgroupatom(props) {
|
|
14871
14953
|
return handleRGroupAtomTool(props);
|
|
14872
14954
|
},
|
|
14873
|
-
sgroup: function sgroup(
|
|
14874
|
-
var editor =
|
|
14875
|
-
hoveredItemId =
|
|
14955
|
+
sgroup: function sgroup(_ref8) {
|
|
14956
|
+
var editor = _ref8.editor,
|
|
14957
|
+
hoveredItemId = _ref8.hoveredItemId;
|
|
14876
14958
|
tools.sgroup.sgroupDialog(editor, hoveredItemId);
|
|
14877
14959
|
},
|
|
14878
|
-
hand: function hand(
|
|
14879
|
-
var dispatch =
|
|
14960
|
+
hand: function hand(_ref9) {
|
|
14961
|
+
var dispatch = _ref9.dispatch;
|
|
14880
14962
|
return dispatch(onAction({
|
|
14881
14963
|
tool: 'hand'
|
|
14882
14964
|
}));
|
|
@@ -14890,28 +14972,28 @@ function getToolHandler(itemType) {
|
|
|
14890
14972
|
}
|
|
14891
14973
|
return items._default[toolName];
|
|
14892
14974
|
}
|
|
14893
|
-
function handleAtomTool(
|
|
14894
|
-
var hoveredItemId =
|
|
14895
|
-
newAction =
|
|
14896
|
-
editor =
|
|
14975
|
+
function handleAtomTool(_ref10) {
|
|
14976
|
+
var hoveredItemId = _ref10.hoveredItemId,
|
|
14977
|
+
newAction = _ref10.newAction,
|
|
14978
|
+
editor = _ref10.editor;
|
|
14897
14979
|
var atomProps = _objectSpread$M({}, newAction.opts);
|
|
14898
14980
|
var updatedAtoms = ketcherCore.fromAtomsAttrs(editor.render.ctab, hoveredItemId, atomProps, true);
|
|
14899
14981
|
editor.update(updatedAtoms);
|
|
14900
14982
|
}
|
|
14901
|
-
function handleBondTool(
|
|
14902
|
-
var hoveredItemId =
|
|
14903
|
-
newAction =
|
|
14904
|
-
editor =
|
|
14983
|
+
function handleBondTool(_ref11) {
|
|
14984
|
+
var hoveredItemId = _ref11.hoveredItemId,
|
|
14985
|
+
newAction = _ref11.newAction,
|
|
14986
|
+
editor = _ref11.editor;
|
|
14905
14987
|
var newBond = ketcherCore.fromBondAddition(editor.render.ctab, newAction.opts, hoveredItemId, {
|
|
14906
14988
|
label: 'C'
|
|
14907
14989
|
})[0];
|
|
14908
14990
|
editor.update(newBond);
|
|
14909
14991
|
}
|
|
14910
|
-
function handleChargeTool(
|
|
14992
|
+
function handleChargeTool(_ref12) {
|
|
14911
14993
|
var _editor$render$ctab$a;
|
|
14912
|
-
var hoveredItemId =
|
|
14913
|
-
newAction =
|
|
14914
|
-
editor =
|
|
14994
|
+
var hoveredItemId = _ref12.hoveredItemId,
|
|
14995
|
+
newAction = _ref12.newAction,
|
|
14996
|
+
editor = _ref12.editor;
|
|
14915
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;
|
|
14916
14998
|
if (existingAtom) {
|
|
14917
14999
|
var updatedAtom = ketcherCore.fromAtomsAttrs(editor.render.ctab, hoveredItemId, {
|
|
@@ -14927,17 +15009,17 @@ function mapItemsToArrays(items) {
|
|
|
14927
15009
|
}
|
|
14928
15010
|
return mappedItems;
|
|
14929
15011
|
}
|
|
14930
|
-
function handleRGroupAtomTool(
|
|
15012
|
+
function handleRGroupAtomTool(_x3) {
|
|
14931
15013
|
return _handleRGroupAtomTool.apply(this, arguments);
|
|
14932
15014
|
}
|
|
14933
15015
|
function _handleRGroupAtomTool() {
|
|
14934
|
-
_handleRGroupAtomTool = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee2(
|
|
15016
|
+
_handleRGroupAtomTool = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee2(_ref13) {
|
|
14935
15017
|
var hoveredItemId, editor, struct, atom, rglabel, label, element;
|
|
14936
15018
|
return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context2) {
|
|
14937
15019
|
while (1) {
|
|
14938
15020
|
switch (_context2.prev = _context2.next) {
|
|
14939
15021
|
case 0:
|
|
14940
|
-
hoveredItemId =
|
|
15022
|
+
hoveredItemId = _ref13.hoveredItemId, editor = _ref13.editor;
|
|
14941
15023
|
struct = editor.render.ctab.molecule;
|
|
14942
15024
|
atom = hoveredItemId || hoveredItemId === 0 ? struct.atoms.get(hoveredItemId) : null;
|
|
14943
15025
|
rglabel = atom ? atom.rglabel : 0;
|
|
@@ -14974,64 +15056,36 @@ function _handleRGroupAtomTool() {
|
|
|
14974
15056
|
}));
|
|
14975
15057
|
return _handleRGroupAtomTool.apply(this, arguments);
|
|
14976
15058
|
}
|
|
14977
|
-
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) {
|
|
14978
15065
|
return _isChangingFunctionalGroup.apply(this, arguments);
|
|
14979
15066
|
}
|
|
14980
15067
|
function _isChangingFunctionalGroup() {
|
|
14981
|
-
_isChangingFunctionalGroup = _asyncToGenerator__default["default"]( _regeneratorRuntime__default["default"].mark(function _callee3(
|
|
14982
|
-
var
|
|
14983
|
-
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;
|
|
14984
15070
|
return _regeneratorRuntime__default["default"].wrap(function _callee3$(_context3) {
|
|
14985
15071
|
while (1) {
|
|
14986
15072
|
switch (_context3.prev = _context3.next) {
|
|
14987
15073
|
case 0:
|
|
14988
|
-
hoveredItemId =
|
|
14989
|
-
|
|
14990
|
-
|
|
14991
|
-
|
|
14992
|
-
molecule = editor.render.ctab.molecule;
|
|
14993
|
-
functionalGroups = molecule.functionalGroups;
|
|
14994
|
-
sgroupsOnCanvas = Array.from(molecule.sgroups.values());
|
|
14995
|
-
if (atom && functionalGroups) {
|
|
14996
|
-
atomId = ketcherCore.FunctionalGroup.atomsInFunctionalGroup(functionalGroups, hoveredItemId);
|
|
14997
|
-
if (atomId !== null) {
|
|
14998
|
-
atomResult.push(atomId);
|
|
14999
|
-
}
|
|
15000
|
-
}
|
|
15001
|
-
isFunctionalGroup = atomResult.length > 0;
|
|
15002
|
-
if (!isFunctionalGroup) {
|
|
15003
|
-
_context3.next = 17;
|
|
15004
|
-
break;
|
|
15005
|
-
}
|
|
15006
|
-
if (!ketcherCore.SGroup.isAtomInSaltOrSolvent(hoveredItemId, sgroupsOnCanvas)) {
|
|
15007
|
-
_context3.next = 12;
|
|
15074
|
+
hoveredItemId = _ref14.hoveredItemId, editor = _ref14.editor;
|
|
15075
|
+
fgId = getFunctionalGroupIdByItem(editor, hoveredItemId, type);
|
|
15076
|
+
if (!(fgId !== null)) {
|
|
15077
|
+
_context3.next = 6;
|
|
15008
15078
|
break;
|
|
15009
15079
|
}
|
|
15010
|
-
|
|
15011
|
-
case 12:
|
|
15012
|
-
_iterator = _createForOfIteratorHelper$2(atomResult);
|
|
15013
|
-
try {
|
|
15014
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
15015
|
-
id = _step.value;
|
|
15016
|
-
fgId = ketcherCore.FunctionalGroup.findFunctionalGroupByAtom(functionalGroups, id);
|
|
15017
|
-
if (fgId !== null && !result.includes(fgId)) {
|
|
15018
|
-
result.push(fgId);
|
|
15019
|
-
}
|
|
15020
|
-
}
|
|
15021
|
-
} catch (err) {
|
|
15022
|
-
_iterator.e(err);
|
|
15023
|
-
} finally {
|
|
15024
|
-
_iterator.f();
|
|
15025
|
-
}
|
|
15026
|
-
_context3.next = 16;
|
|
15080
|
+
_context3.next = 5;
|
|
15027
15081
|
return editor.event.removeFG.dispatch({
|
|
15028
|
-
fgIds:
|
|
15082
|
+
fgIds: [fgId]
|
|
15029
15083
|
});
|
|
15030
|
-
case
|
|
15031
|
-
return _context3.abrupt("return",
|
|
15032
|
-
case
|
|
15084
|
+
case 5:
|
|
15085
|
+
return _context3.abrupt("return", false);
|
|
15086
|
+
case 6:
|
|
15033
15087
|
return _context3.abrupt("return", true);
|
|
15034
|
-
case
|
|
15088
|
+
case 7:
|
|
15035
15089
|
case "end":
|
|
15036
15090
|
return _context3.stop();
|
|
15037
15091
|
}
|
|
@@ -15052,11 +15106,7 @@ function initKeydownListener(element) {
|
|
|
15052
15106
|
function removeNotRenderedStruct(actionTool, group, dispatch) {
|
|
15053
15107
|
var affectedTools = ['paste', 'template'];
|
|
15054
15108
|
if (affectedTools.includes(actionTool.tool) && group !== null && group !== void 0 && group.includes('save')) {
|
|
15055
|
-
|
|
15056
|
-
dispatch({
|
|
15057
|
-
type: 'ACTION',
|
|
15058
|
-
action: savedSelectedTool || tools$1['select-rectangle'].action
|
|
15059
|
-
});
|
|
15109
|
+
dispatch(removeStructAction());
|
|
15060
15110
|
}
|
|
15061
15111
|
}
|
|
15062
15112
|
function keyHandle(dispatch, state, hotKeys, event) {
|
|
@@ -15722,7 +15772,7 @@ function findClosestFG(restruct, pos, skip) {
|
|
|
15722
15772
|
reSGroupId = _step$value[0],
|
|
15723
15773
|
reSGroup = _step$value[1];
|
|
15724
15774
|
if (reSGroupId === skipId) continue;
|
|
15725
|
-
var _reSGroup$getTextHigh = reSGroup.getTextHighlightDimensions(),
|
|
15775
|
+
var _reSGroup$getTextHigh = reSGroup.getTextHighlightDimensions(0, restruct.render),
|
|
15726
15776
|
startX = _reSGroup$getTextHigh.startX,
|
|
15727
15777
|
startY = _reSGroup$getTextHigh.startY,
|
|
15728
15778
|
width = _reSGroup$getTextHigh.width,
|
|
@@ -17194,7 +17244,16 @@ var useFunctionalGroupEoc = function useFunctionalGroupEoc() {
|
|
|
17194
17244
|
return toExpand ? functionalGroup.isExpanded : !functionalGroup.isExpanded;
|
|
17195
17245
|
}));
|
|
17196
17246
|
}, []);
|
|
17197
|
-
|
|
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];
|
|
17198
17257
|
};
|
|
17199
17258
|
|
|
17200
17259
|
var useFunctionalGroupRemove = function useFunctionalGroupRemove() {
|
|
@@ -17222,12 +17281,16 @@ function ownKeys$G(object, enumerableOnly) { var keys = Object.keys(object); if
|
|
|
17222
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; }
|
|
17223
17282
|
var FunctionalGroupMenuItems = function FunctionalGroupMenuItems(props) {
|
|
17224
17283
|
var _useFunctionalGroupEo = useFunctionalGroupEoc(),
|
|
17225
|
-
_useFunctionalGroupEo2 = _slicedToArray__default["default"](_useFunctionalGroupEo,
|
|
17284
|
+
_useFunctionalGroupEo2 = _slicedToArray__default["default"](_useFunctionalGroupEo, 3),
|
|
17226
17285
|
handleExpandOrContract = _useFunctionalGroupEo2[0],
|
|
17227
|
-
ExpandOrContractHidden = _useFunctionalGroupEo2[1]
|
|
17286
|
+
ExpandOrContractHidden = _useFunctionalGroupEo2[1],
|
|
17287
|
+
ExpandOrContractDisabled = _useFunctionalGroupEo2[2];
|
|
17228
17288
|
var handleRemove = useFunctionalGroupRemove();
|
|
17229
17289
|
return jsxRuntime.jsxs(jsxRuntime.Fragment, {
|
|
17230
17290
|
children: [jsxRuntime.jsx(reactContexify.Item, _objectSpread$G(_objectSpread$G({}, props), {}, {
|
|
17291
|
+
disabled: function disabled(params) {
|
|
17292
|
+
return ExpandOrContractDisabled(params);
|
|
17293
|
+
},
|
|
17231
17294
|
hidden: function hidden(params) {
|
|
17232
17295
|
return ExpandOrContractHidden(params, true);
|
|
17233
17296
|
},
|
|
@@ -17236,6 +17299,9 @@ var FunctionalGroupMenuItems = function FunctionalGroupMenuItems(props) {
|
|
|
17236
17299
|
},
|
|
17237
17300
|
children: "Expand Abbreviation"
|
|
17238
17301
|
})), jsxRuntime.jsx(reactContexify.Item, _objectSpread$G(_objectSpread$G({}, props), {}, {
|
|
17302
|
+
disabled: function disabled(params) {
|
|
17303
|
+
return ExpandOrContractDisabled(params);
|
|
17304
|
+
},
|
|
17239
17305
|
hidden: function hidden(params) {
|
|
17240
17306
|
return ExpandOrContractHidden(params, false);
|
|
17241
17307
|
},
|
|
@@ -17747,6 +17813,7 @@ var InfoPanel = function InfoPanel(props) {
|
|
|
17747
17813
|
autoScaleMargin: 0,
|
|
17748
17814
|
rescaleAmount: 1,
|
|
17749
17815
|
cachePrefix: 'infoPanel',
|
|
17816
|
+
needCache: false,
|
|
17750
17817
|
viewSz: new ketcherCore.Vec2(width, height),
|
|
17751
17818
|
width: width,
|
|
17752
17819
|
height: height
|
|
@@ -24306,8 +24373,8 @@ var KetcherBuilder = function () {
|
|
|
24306
24373
|
initApp(element, staticResourcesUrl, {
|
|
24307
24374
|
buttons: buttons || {},
|
|
24308
24375
|
errorHandler: errorHandler || null,
|
|
24309
|
-
version: "2.10.0-rc.
|
|
24310
|
-
buildDate: "2023-
|
|
24376
|
+
version: "2.10.0-rc.2" ,
|
|
24377
|
+
buildDate: "2023-05-03T14:52:11" ,
|
|
24311
24378
|
buildNumber: ''
|
|
24312
24379
|
}, structService, resolve);
|
|
24313
24380
|
});
|
|
@@ -24421,4 +24488,5 @@ exports.Editor = Editor;
|
|
|
24421
24488
|
exports.KETCHER_INIT_EVENT_NAME = KETCHER_INIT_EVENT_NAME;
|
|
24422
24489
|
exports.KETCHER_SAVED_SETTINGS_KEY = KETCHER_SAVED_SETTINGS_KEY;
|
|
24423
24490
|
exports.MODES = MODES;
|
|
24491
|
+
exports.STRUCT_TYPE = STRUCT_TYPE;
|
|
24424
24492
|
//# sourceMappingURL=index.js.map
|