ketcher-react 3.4.0-rc.1 → 3.4.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/cjs/index.js +32 -14
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/{index.modern-a314d918.js → index.modern-a1a24bea.js} +212 -179
- package/dist/cjs/index.modern-a1a24bea.js.map +1 -0
- package/dist/cjs/script/ui/views/components/ContextMenu/hooks/useMonomerExpansionHandlers.d.ts +2 -0
- package/dist/index.js +32 -14
- package/dist/index.js.map +1 -1
- package/dist/{index.modern-ac2ddbd4.js → index.modern-e737524e.js} +213 -180
- package/dist/index.modern-e737524e.js.map +1 -0
- package/dist/script/ui/views/components/ContextMenu/hooks/useMonomerExpansionHandlers.d.ts +2 -0
- package/package.json +1 -1
- package/dist/cjs/index.modern-a314d918.js.map +0 -1
- package/dist/index.modern-ac2ddbd4.js.map +0 -1
package/dist/cjs/script/ui/views/components/ContextMenu/hooks/useMonomerExpansionHandlers.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { FunctionalGroup } from 'ketcher-core';
|
|
1
2
|
import { ItemEventParams, MacromoleculeContextMenuProps } from '../contextMenu.types';
|
|
2
3
|
declare type Params = ItemEventParams<MacromoleculeContextMenuProps>;
|
|
4
|
+
export declare const canExpandMonomer: (functionalGroup: FunctionalGroup) => boolean;
|
|
3
5
|
declare const useMonomerExpansionHandlers: () => readonly [({ props }: Params, toExpand: boolean) => void, ({ props }: Params, toExpand: boolean) => boolean];
|
|
4
6
|
export default useMonomerExpansionHandlers;
|
package/dist/index.js
CHANGED
|
@@ -3745,7 +3745,7 @@ var zoom = {
|
|
|
3745
3745
|
|
|
3746
3746
|
var openHelpLink = function openHelpLink() {
|
|
3747
3747
|
var _window$open;
|
|
3748
|
-
return (_window$open = window.open("https://github.com/epam/ketcher/blob/".concat("v3.4.0-rc.
|
|
3748
|
+
return (_window$open = window.open("https://github.com/epam/ketcher/blob/".concat("v3.4.0-rc.2\n", "/documentation/help.md#ketcher-overview"))) === null || _window$open === void 0 ? void 0 : _window$open.focus();
|
|
3749
3749
|
};
|
|
3750
3750
|
var help = {
|
|
3751
3751
|
help: {
|
|
@@ -24534,18 +24534,26 @@ var SCALE = provideEditorSettings().microModeScale;
|
|
|
24534
24534
|
var HISTORY_SIZE = 32;
|
|
24535
24535
|
var structObjects = ['atoms', 'bonds', 'frags', 'sgroups', 'sgroupData', 'rgroups', 'rxnArrows', 'rxnPluses', 'enhancedFlags', 'simpleObjects', 'texts', 'rgroupAttachmentPoints', IMAGE_KEY, MULTITAIL_ARROW_KEY];
|
|
24536
24536
|
var highlightTargets = ['atoms', 'bonds', 'rxnArrows', 'rxnPluses', 'functionalGroups', 'frags', 'merge', 'rgroups', 'rgroupAttachmentPoints', 'sgroups', 'sgroupData', 'enhancedFlags', 'simpleObjects', 'texts', IMAGE_KEY, MULTITAIL_ARROW_KEY];
|
|
24537
|
-
function selectStereoFlagsIfNecessary(atoms,
|
|
24538
|
-
var
|
|
24537
|
+
function selectStereoFlagsIfNecessary(atoms, explicitlySelectedAtoms) {
|
|
24538
|
+
var fragmentToAtoms = new Map();
|
|
24539
24539
|
atoms.forEach(function (atom, atomId) {
|
|
24540
|
-
|
|
24540
|
+
var _fragmentToAtoms$get;
|
|
24541
|
+
var atomFragment = atom.fragment;
|
|
24542
|
+
if (atomFragment === -1) {
|
|
24543
|
+
return;
|
|
24544
|
+
}
|
|
24545
|
+
var currentAtoms = (_fragmentToAtoms$get = fragmentToAtoms.get(atomFragment)) !== null && _fragmentToAtoms$get !== void 0 ? _fragmentToAtoms$get : [];
|
|
24546
|
+
var updatedAtoms = currentAtoms.concat(atomId);
|
|
24547
|
+
fragmentToAtoms.set(atomFragment, updatedAtoms);
|
|
24541
24548
|
});
|
|
24542
24549
|
var stereoFlags = [];
|
|
24543
|
-
|
|
24544
|
-
var
|
|
24545
|
-
|
|
24546
|
-
if (!expAtoms.includes(atomId)) shouldSelSFlag = false;
|
|
24550
|
+
fragmentToAtoms.forEach(function (fragmentAtoms, fragmentId) {
|
|
24551
|
+
var shouldSelectStereoFlag = fragmentAtoms.every(function (atomId) {
|
|
24552
|
+
return explicitlySelectedAtoms.includes(atomId);
|
|
24547
24553
|
});
|
|
24548
|
-
|
|
24554
|
+
if (shouldSelectStereoFlag) {
|
|
24555
|
+
stereoFlags = stereoFlags.concat(fragmentId);
|
|
24556
|
+
}
|
|
24549
24557
|
});
|
|
24550
24558
|
return stereoFlags;
|
|
24551
24559
|
}
|
|
@@ -26495,6 +26503,9 @@ function MultitailArrowMenuItems(props) {
|
|
|
26495
26503
|
});
|
|
26496
26504
|
}
|
|
26497
26505
|
|
|
26506
|
+
var canExpandMonomer = function canExpandMonomer(functionalGroup) {
|
|
26507
|
+
return functionalGroup.relatedSGroup instanceof MonomerMicromolecule && !(functionalGroup.relatedSGroup.monomer instanceof AmbiguousMonomer) && !(functionalGroup.relatedSGroup.monomer instanceof UnresolvedMonomer);
|
|
26508
|
+
};
|
|
26498
26509
|
var useMonomerExpansionHandlers = function useMonomerExpansionHandlers() {
|
|
26499
26510
|
var _useAppContext = useAppContext(),
|
|
26500
26511
|
getKetcherInstance = _useAppContext.getKetcherInstance;
|
|
@@ -26505,6 +26516,9 @@ var useMonomerExpansionHandlers = function useMonomerExpansionHandlers() {
|
|
|
26505
26516
|
var selectedFunctionalGroups = props === null || props === void 0 ? void 0 : props.functionalGroups;
|
|
26506
26517
|
var action = new Action();
|
|
26507
26518
|
selectedFunctionalGroups === null || selectedFunctionalGroups === void 0 || selectedFunctionalGroups.forEach(function (fg) {
|
|
26519
|
+
if (!canExpandMonomer(fg)) {
|
|
26520
|
+
return;
|
|
26521
|
+
}
|
|
26508
26522
|
action.mergeWith(setExpandMonomerSGroup(molecule, fg.relatedSGroupId, {
|
|
26509
26523
|
expanded: toExpand
|
|
26510
26524
|
}));
|
|
@@ -26525,12 +26539,15 @@ var useMonomerExpansionHandlers = function useMonomerExpansionHandlers() {
|
|
|
26525
26539
|
function ownKeys$J(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
26526
26540
|
function _objectSpread$J(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$J(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$J(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
26527
26541
|
var MacromoleculeMenuItems = function MacromoleculeMenuItems(props) {
|
|
26528
|
-
var _props$propsFromTrigg;
|
|
26542
|
+
var _props$propsFromTrigg, _props$propsFromTrigg2;
|
|
26529
26543
|
var _useMonomerExpansionH = useMonomerExpansionHandlers(),
|
|
26530
26544
|
_useMonomerExpansionH2 = _slicedToArray$1(_useMonomerExpansionH, 2),
|
|
26531
26545
|
action = _useMonomerExpansionH2[0],
|
|
26532
26546
|
_hidden = _useMonomerExpansionH2[1];
|
|
26533
|
-
var multipleMonomersSelected = (props === null || props === void 0 || (_props$propsFromTrigg = props.propsFromTrigger) === null || _props$propsFromTrigg === void 0 ? void 0 : _props$propsFromTrigg.functionalGroups) && props.propsFromTrigger.functionalGroups.length > 1;
|
|
26547
|
+
var multipleMonomersSelected = (props === null || props === void 0 || (_props$propsFromTrigg = props.propsFromTrigger) === null || _props$propsFromTrigg === void 0 ? void 0 : _props$propsFromTrigg.functionalGroups) !== undefined && props.propsFromTrigger.functionalGroups.length > 1;
|
|
26548
|
+
var expandingDisabled = ((_props$propsFromTrigg2 = props.propsFromTrigger) === null || _props$propsFromTrigg2 === void 0 ? void 0 : _props$propsFromTrigg2.functionalGroups) !== undefined && props.propsFromTrigger.functionalGroups.every(function (fg) {
|
|
26549
|
+
return !canExpandMonomer(fg);
|
|
26550
|
+
});
|
|
26534
26551
|
var expandText = multipleMonomersSelected ? 'Expand monomers' : 'Expand monomer';
|
|
26535
26552
|
var collapseText = multipleMonomersSelected ? 'Collapse monomers' : 'Collapse monomer';
|
|
26536
26553
|
return jsxs(Fragment, {
|
|
@@ -26541,6 +26558,7 @@ var MacromoleculeMenuItems = function MacromoleculeMenuItems(props) {
|
|
|
26541
26558
|
onClick: function onClick(params) {
|
|
26542
26559
|
return action(params, true);
|
|
26543
26560
|
},
|
|
26561
|
+
disabled: expandingDisabled,
|
|
26544
26562
|
children: expandText
|
|
26545
26563
|
})), jsx(Item, _objectSpread$J(_objectSpread$J({}, props), {}, {
|
|
26546
26564
|
hidden: function hidden(params) {
|
|
@@ -35193,8 +35211,8 @@ var KetcherBuilder = function () {
|
|
|
35193
35211
|
cleanup = initApp(element, appRoot, staticResourcesUrl, {
|
|
35194
35212
|
buttons: buttons || {},
|
|
35195
35213
|
errorHandler: errorHandler || null,
|
|
35196
|
-
version: "3.4.0-rc.
|
|
35197
|
-
buildDate: "2025-05-
|
|
35214
|
+
version: "3.4.0-rc.2" ,
|
|
35215
|
+
buildDate: "2025-05-09T17:24:54" ,
|
|
35198
35216
|
buildNumber: '',
|
|
35199
35217
|
customButtons: customButtons || []
|
|
35200
35218
|
}, structService, resolve, togglerComponent);
|
|
@@ -35486,7 +35504,7 @@ var ModeControl = function ModeControl(_ref3) {
|
|
|
35486
35504
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
35487
35505
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty$1(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
35488
35506
|
var MacromoleculesEditor = lazy(function () {
|
|
35489
|
-
return import('./index.modern-
|
|
35507
|
+
return import('./index.modern-e737524e.js');
|
|
35490
35508
|
});
|
|
35491
35509
|
var Editor = function Editor(props) {
|
|
35492
35510
|
var _useState = useState(false),
|