ketcher-react 2.8.0-rc.5 → 2.8.0-rc.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +37 -28
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +37 -28
- package/dist/index.modern.js.map +1 -1
- package/dist/script/ui/action/index.d.ts +3 -0
- package/dist/script/ui/action/templates.d.ts +3 -0
- package/dist/script/ui/views/Editor.d.ts +1 -1
- package/dist/script/ui/views/modal/components/document/Save/Save.d.ts +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -2990,7 +2990,10 @@ var templateLib = {
|
|
|
2990
2990
|
shortcut: 'Shift+t',
|
|
2991
2991
|
title: 'Custom Templates',
|
|
2992
2992
|
action: {
|
|
2993
|
-
dialog: 'templates'
|
|
2993
|
+
dialog: 'templates',
|
|
2994
|
+
prop: {
|
|
2995
|
+
tab: null
|
|
2996
|
+
}
|
|
2994
2997
|
},
|
|
2995
2998
|
selected: function selected(editor) {
|
|
2996
2999
|
return editor._tool.mode === 'classic';
|
|
@@ -3070,7 +3073,7 @@ var zoom = {
|
|
|
3070
3073
|
|
|
3071
3074
|
var openHelpLink = function openHelpLink() {
|
|
3072
3075
|
var _window$open;
|
|
3073
|
-
return (_window$open = window.open("https://github.com/epam/ketcher/blob/".concat("v2.8.0-rc.
|
|
3076
|
+
return (_window$open = window.open("https://github.com/epam/ketcher/blob/".concat("v2.8.0-rc.6\n", "/documentation/help.md#ketcher-overview"))) === null || _window$open === void 0 ? void 0 : _window$open.focus();
|
|
3074
3077
|
};
|
|
3075
3078
|
var help = {
|
|
3076
3079
|
help: {
|
|
@@ -14314,25 +14317,28 @@ var TemplateTool = function () {
|
|
|
14314
14317
|
});
|
|
14315
14318
|
return true;
|
|
14316
14319
|
}
|
|
14317
|
-
var action;
|
|
14320
|
+
var action, functionalGroupRemoveAction;
|
|
14318
14321
|
var pasteItems = null;
|
|
14319
14322
|
if (ketcherCore.SGroup.isSaltOrSolvent(this.template.molecule.name)) {
|
|
14320
14323
|
addSaltsAndSolventsOnCanvasWithoutMerge(restruct, this.template, dragCtx, this.editor);
|
|
14321
14324
|
return true;
|
|
14322
14325
|
} else if (((_ci = ci) === null || _ci === void 0 ? void 0 : _ci.map) === 'functionalGroups' && ketcherCore.FunctionalGroup.isContractedFunctionalGroup(ci.id, functionalGroups) && this.mode === 'fg') {
|
|
14326
|
+
functionalGroupRemoveAction = new ketcherCore.Action();
|
|
14323
14327
|
var _struct = this.editor.struct();
|
|
14324
|
-
var
|
|
14325
|
-
var
|
|
14328
|
+
var _restruct = this.editor.render.ctab;
|
|
14329
|
+
var functionalGroupToReplace = _struct.sgroups.get(ci.id);
|
|
14330
|
+
var attachmentAtomId = functionalGroupToReplace.getAttAtomId(_struct);
|
|
14331
|
+
var atomsWithoutAttachmentAtom = ketcherCore.SGroup.getAtoms(_struct, functionalGroupToReplace).filter(function (id) {
|
|
14332
|
+
return id !== attachmentAtomId;
|
|
14333
|
+
});
|
|
14334
|
+
functionalGroupRemoveAction.mergeWith(ketcherCore.fromSgroupDeletion(_restruct, ci.id));
|
|
14335
|
+
functionalGroupRemoveAction.mergeWith(ketcherCore.fromFragmentDeletion(_restruct, {
|
|
14336
|
+
atoms: atomsWithoutAttachmentAtom
|
|
14337
|
+
}));
|
|
14326
14338
|
ci = {
|
|
14327
14339
|
map: 'atoms',
|
|
14328
14340
|
id: attachmentAtomId
|
|
14329
14341
|
};
|
|
14330
|
-
this.editor.update(ketcherCore.fromFragmentDeletion(this.editor.render.ctab, {
|
|
14331
|
-
atoms: _toConsumableArray__default["default"](ketcherCore.SGroup.getAtoms(_struct, closestGroup)).filter(function (atomId) {
|
|
14332
|
-
return atomId !== attachmentAtomId;
|
|
14333
|
-
}),
|
|
14334
|
-
bonds: _toConsumableArray__default["default"](ketcherCore.SGroup.getBonds(_struct, closestGroup))
|
|
14335
|
-
}));
|
|
14336
14342
|
}
|
|
14337
14343
|
if (!dragCtx.action) {
|
|
14338
14344
|
if (!ci) {
|
|
@@ -14364,6 +14370,9 @@ var TemplateTool = function () {
|
|
|
14364
14370
|
var _fromTemplateOnAtom4 = _slicedToArray__default["default"](_fromTemplateOnAtom3, 2);
|
|
14365
14371
|
action = _fromTemplateOnAtom4[0];
|
|
14366
14372
|
pasteItems = _fromTemplateOnAtom4[1];
|
|
14373
|
+
if (functionalGroupRemoveAction) {
|
|
14374
|
+
action = functionalGroupRemoveAction.mergeWith(action);
|
|
14375
|
+
}
|
|
14367
14376
|
dragCtx.action = action;
|
|
14368
14377
|
} else if (ci.map === 'bonds' && this.mode !== 'fg') {
|
|
14369
14378
|
var _promise = ketcherCore.fromTemplateOnBondAction(restruct, this.template, ci.id, this.editor.event, dragCtx.sign1 * dragCtx.sign2 > 0, true);
|
|
@@ -22762,19 +22771,15 @@ var TemplateDialog = function TemplateDialog(props) {
|
|
|
22762
22771
|
onSelect = props.onSelect,
|
|
22763
22772
|
rest = _objectWithoutProperties__default["default"](props, _excluded2);
|
|
22764
22773
|
var searchInputRef = React.useRef(null);
|
|
22765
|
-
var _useState = React.useState(
|
|
22774
|
+
var _useState = React.useState([props.group]),
|
|
22766
22775
|
_useState2 = _slicedToArray__default["default"](_useState, 2),
|
|
22767
|
-
|
|
22768
|
-
|
|
22769
|
-
var _useState3 = React.useState([props.group]),
|
|
22770
|
-
_useState4 = _slicedToArray__default["default"](_useState3, 2),
|
|
22771
|
-
expandedAccordions = _useState4[0],
|
|
22772
|
-
setExpandedAccordions = _useState4[1];
|
|
22776
|
+
expandedAccordions = _useState2[0],
|
|
22777
|
+
setExpandedAccordions = _useState2[1];
|
|
22773
22778
|
var filteredSaltsAndSolvents = useSaltsAndSolvents(saltsAndSolvents, filter);
|
|
22774
|
-
var
|
|
22775
|
-
|
|
22776
|
-
filteredFG =
|
|
22777
|
-
setFilteredFG =
|
|
22779
|
+
var _useState3 = React.useState(functionalGroups[FUNCTIONAL_GROUPS]),
|
|
22780
|
+
_useState4 = _slicedToArray__default["default"](_useState3, 2),
|
|
22781
|
+
filteredFG = _useState4[0],
|
|
22782
|
+
setFilteredFG = _useState4[1];
|
|
22778
22783
|
var filteredTemplateLib = filterLibSelector(props);
|
|
22779
22784
|
React.useEffect(function () {
|
|
22780
22785
|
setFilteredFG(filterFGLib(functionalGroups, filter)[FUNCTIONAL_GROUPS]);
|
|
@@ -22784,6 +22789,11 @@ var TemplateDialog = function TemplateDialog(props) {
|
|
|
22784
22789
|
(_searchInputRef$curre = searchInputRef.current) === null || _searchInputRef$curre === void 0 ? void 0 : _searchInputRef$curre.focus();
|
|
22785
22790
|
onSelect(null);
|
|
22786
22791
|
}, [tab, onSelect]);
|
|
22792
|
+
React.useEffect(function () {
|
|
22793
|
+
if (initialTab !== null) {
|
|
22794
|
+
onTabChange(initialTab);
|
|
22795
|
+
}
|
|
22796
|
+
}, [initialTab, onTabChange]);
|
|
22787
22797
|
var handleAccordionChange = function handleAccordionChange(accordion) {
|
|
22788
22798
|
return function (_, isExpanded) {
|
|
22789
22799
|
setExpandedAccordions(isExpanded ? [].concat(_toConsumableArray__default["default"](expandedAccordions), [accordion]) : _toConsumableArray__default["default"](expandedAccordions).filter(function (expandedAccordion) {
|
|
@@ -22792,7 +22802,6 @@ var TemplateDialog = function TemplateDialog(props) {
|
|
|
22792
22802
|
};
|
|
22793
22803
|
};
|
|
22794
22804
|
var handleTabChange = function handleTabChange(value) {
|
|
22795
|
-
setThisInitialTab(null);
|
|
22796
22805
|
onTabChange(value);
|
|
22797
22806
|
};
|
|
22798
22807
|
var sdfSerializer = new ketcherCore.SdfSerializer();
|
|
@@ -22829,7 +22838,7 @@ var TemplateDialog = function TemplateDialog(props) {
|
|
|
22829
22838
|
className: classes$8.searchIcon
|
|
22830
22839
|
})]
|
|
22831
22840
|
}), jsxRuntime.jsxs(Tabs__default["default"], {
|
|
22832
|
-
value:
|
|
22841
|
+
value: tab,
|
|
22833
22842
|
onChange: function onChange(_, value) {
|
|
22834
22843
|
return handleTabChange(value);
|
|
22835
22844
|
},
|
|
@@ -22844,7 +22853,7 @@ var TemplateDialog = function TemplateDialog(props) {
|
|
|
22844
22853
|
}), jsxRuntime.jsxs("div", {
|
|
22845
22854
|
className: classes$8.tabsContent,
|
|
22846
22855
|
children: [jsxRuntime.jsx(TabPanel, {
|
|
22847
|
-
value:
|
|
22856
|
+
value: tab,
|
|
22848
22857
|
index: TemplateTabs.TemplateLibrary,
|
|
22849
22858
|
children: jsxRuntime.jsx("div", {
|
|
22850
22859
|
children: Object.keys(filteredTemplateLib).length ? Object.keys(filteredTemplateLib).map(function (groupName) {
|
|
@@ -22945,7 +22954,7 @@ var onModalClose = function onModalClose(props, dispatch) {
|
|
|
22945
22954
|
var TemplatesDialog = reactRedux.connect(function (store) {
|
|
22946
22955
|
var _store$modal, _store$modal$prop, _store$editor, _store$editor$render;
|
|
22947
22956
|
return _objectSpread$4(_objectSpread$4({}, fp.omit(['attach'], store.templates)), {}, {
|
|
22948
|
-
initialTab: (
|
|
22957
|
+
initialTab: (_store$modal = store.modal) === null || _store$modal === void 0 ? void 0 : (_store$modal$prop = _store$modal.prop) === null || _store$modal$prop === void 0 ? void 0 : _store$modal$prop.tab,
|
|
22949
22958
|
renderOptions: (_store$editor = store.editor) === null || _store$editor === void 0 ? void 0 : (_store$editor$render = _store$editor.render) === null || _store$editor$render === void 0 ? void 0 : _store$editor$render.options,
|
|
22950
22959
|
functionalGroups: functionalGroupsSelector(store),
|
|
22951
22960
|
saltsAndSolvents: saltsAndSolventsSelector(store)
|
|
@@ -23711,8 +23720,8 @@ var KetcherBuilder = function () {
|
|
|
23711
23720
|
initApp(element, staticResourcesUrl, {
|
|
23712
23721
|
buttons: buttons || {},
|
|
23713
23722
|
errorHandler: errorHandler || null,
|
|
23714
|
-
version: "2.8.0-rc.
|
|
23715
|
-
buildDate: "2023-03-
|
|
23723
|
+
version: "2.8.0-rc.6" ,
|
|
23724
|
+
buildDate: "2023-03-09T13:41:33" ,
|
|
23716
23725
|
buildNumber: ''
|
|
23717
23726
|
}, structService, resolve);
|
|
23718
23727
|
});
|