ketcher-react 2.7.0-rc.2 → 2.7.0-rc.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.css +7952 -1
- package/dist/index.css.map +1 -1
- package/dist/index.js +41 -14
- package/dist/index.js.map +1 -1
- package/dist/index.modern.js +42 -15
- package/dist/index.modern.js.map +1 -1
- package/dist/script/ui/dialog/template/TemplateDialog.d.ts +1 -1
- 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/dist/script/ui/views/modal/components/meta/About/About.d.ts +1 -1
- package/dist/script/ui/views/modal/components/process/Recognize/Recognize.d.ts +1 -1
- package/package.json +3 -3
package/dist/index.modern.js
CHANGED
|
@@ -24,7 +24,7 @@ import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
|
24
24
|
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
25
25
|
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
26
26
|
import _createClass from '@babel/runtime/helpers/createClass';
|
|
27
|
-
import { KetSerializer, MolSerializer, Ketcher, FormatterFactory, StereLabelStyleType, StereoColoringType, Bond as Bond$2, Elements, AtomList, StereoLabel, findStereoAtoms, RxnArrowMode, SimpleObjectMode, SGroup, Pile, getStereoAtomsMap, identifyStructFormat, ChemicalMimeType, SdfSerializer, FunctionalGroupsProvider, SaltsAndSolventsProvider, KetcherAsyncEvents, ElementColor, formatProperties, fromAtomsAttrs, Vec2, FunctionalGroup, Fragment as Fragment$1, OperationType, fracAngle, Action, fromSgroupDeletion, fromFragmentDeletion, fromAtomAddition, fromBondAddition, Atom as Atom$2, bondChangingAction, fromBondsAttrs, fromChain, getItemsToFuse, getHoverToFuse, fromItemsFuse, fromStereoFlagUpdate, Scale, checkOverlapping, fromSeveralSgroupAddition, SgContexts, fromSgroupAction, fromSimpleObjectResizing, fromArrowResizing, fromMultipleMove, fromTextDeletion, fromTextUpdating, fromOneAtomDeletion, fromOneBondDeletion, fromArrowDeletion, fromPlusDeletion, fromSimpleObjectDeletion, fromPaste, RGroup as RGroup$2, fromRGroupFragment, fromUpdateIfThen, fromRGroupAttrs, fromArrowAddition, fromPlusAddition, fromRotate, fromFlip, fromBondAlign, fromSimpleObjectAddition, fromTemplateOnBondAction, fromTemplateOnCanvas, fromTemplateOnAtom, fromTextCreation, fromHighlightCreate, fromHighlightClear, fromNewCanvas, Struct, Render, fromDescriptorsAlign, setExpandSGroup,
|
|
27
|
+
import { KetSerializer, MolSerializer, Ketcher, FormatterFactory, StereLabelStyleType, StereoColoringType, Bond as Bond$2, Elements, AtomList, StereoLabel, findStereoAtoms, RxnArrowMode, SimpleObjectMode, SGroup, Pile, getStereoAtomsMap, identifyStructFormat, SupportedFormat, ChemicalMimeType, SdfSerializer, FunctionalGroupsProvider, SaltsAndSolventsProvider, KetcherAsyncEvents, ElementColor, formatProperties, fromAtomsAttrs, Vec2, FunctionalGroup, Fragment as Fragment$1, OperationType, fracAngle, Action, fromSgroupDeletion, fromFragmentDeletion, fromAtomAddition, fromBondAddition, Atom as Atom$2, bondChangingAction, fromBondsAttrs, fromChain, getItemsToFuse, getHoverToFuse, fromItemsFuse, fromStereoFlagUpdate, Scale, checkOverlapping, fromSeveralSgroupAddition, SgContexts, fromSgroupAction, fromSimpleObjectResizing, fromArrowResizing, fromMultipleMove, fromTextDeletion, fromTextUpdating, fromOneAtomDeletion, fromOneBondDeletion, fromArrowDeletion, fromPlusDeletion, fromSimpleObjectDeletion, fromPaste, RGroup as RGroup$2, fromRGroupFragment, fromUpdateIfThen, fromRGroupAttrs, fromArrowAddition, fromPlusAddition, fromRotate, fromFlip, fromBondAlign, fromSimpleObjectAddition, fromTemplateOnBondAction, fromTemplateOnCanvas, fromTemplateOnAtom, fromTextCreation, fromHighlightCreate, fromHighlightClear, fromNewCanvas, Struct, Render, fromDescriptorsAlign, setExpandSGroup, getPropertiesByFormat, StereoFlag, getPropertiesByImgFormat, Generics, TextCommand } from 'ketcher-core';
|
|
28
28
|
import * as React from 'react';
|
|
29
29
|
import React__default, { createRef, Component, useState, useEffect, useRef, useMemo, createElement, forwardRef, useCallback, useLayoutEffect, Fragment as Fragment$2 } from 'react';
|
|
30
30
|
import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
|
|
@@ -40,7 +40,7 @@ import ReactDOM from 'react-dom';
|
|
|
40
40
|
import { connect, useDispatch, useSelector, Provider } from 'react-redux';
|
|
41
41
|
import { combineReducers, createStore as createStore$1, applyMiddleware } from 'redux';
|
|
42
42
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
43
|
-
import 'redux-logger';
|
|
43
|
+
import { logger } from 'redux-logger';
|
|
44
44
|
import thunk from 'redux-thunk';
|
|
45
45
|
import { throttle as throttle$1, inRange, isEqual as isEqual$1, range as range$1 } from 'lodash';
|
|
46
46
|
import useResizeObserver from 'use-resize-observer/polyfilled';
|
|
@@ -366,6 +366,7 @@ function _copy(cb, data) {
|
|
|
366
366
|
cb.setData(fmt, data[fmt]);
|
|
367
367
|
});
|
|
368
368
|
} catch (ex) {
|
|
369
|
+
console.info("Could not write exact type ".concat(curFmt));
|
|
369
370
|
}
|
|
370
371
|
}
|
|
371
372
|
}
|
|
@@ -691,6 +692,7 @@ var storage = {
|
|
|
691
692
|
try {
|
|
692
693
|
item = JSON.parse(localStorage.getItem(key));
|
|
693
694
|
} catch (ex) {
|
|
695
|
+
console.info('LocalStorage:', ex.name);
|
|
694
696
|
}
|
|
695
697
|
return item;
|
|
696
698
|
},
|
|
@@ -700,6 +702,7 @@ var storage = {
|
|
|
700
702
|
localStorage.setItem(key, JSON.stringify(data));
|
|
701
703
|
isSet = true;
|
|
702
704
|
} catch (ex) {
|
|
705
|
+
console.info('LocalStorage:', ex.name);
|
|
703
706
|
isSet = false;
|
|
704
707
|
}
|
|
705
708
|
return isSet;
|
|
@@ -834,6 +837,7 @@ function constant(schema, prop) {
|
|
|
834
837
|
return desc.constant || desc["enum"][0];
|
|
835
838
|
}
|
|
836
839
|
function mapOf(schema, prop) {
|
|
840
|
+
console.assert(schema.oneOf);
|
|
837
841
|
return schema.oneOf.reduce(function (res, desc) {
|
|
838
842
|
res[constant(desc, prop)] = desc;
|
|
839
843
|
return res;
|
|
@@ -2422,6 +2426,9 @@ function parseStruct(struct, server, options) {
|
|
|
2422
2426
|
_options.fragment;
|
|
2423
2427
|
var formatterOptions = _objectWithoutProperties(_options, _excluded$D);
|
|
2424
2428
|
var format = identifyStructFormat(struct);
|
|
2429
|
+
if (format === SupportedFormat.cdx) {
|
|
2430
|
+
struct = "base64::".concat(struct.replace(/\s/g, ''));
|
|
2431
|
+
}
|
|
2425
2432
|
var factory = new FormatterFactory(server);
|
|
2426
2433
|
var service = factory.create(format, formatterOptions);
|
|
2427
2434
|
return service.getStructureFromStringAsync(struct);
|
|
@@ -2870,7 +2877,7 @@ var zoom = {
|
|
|
2870
2877
|
|
|
2871
2878
|
var openHelpLink = function openHelpLink() {
|
|
2872
2879
|
var _window$open;
|
|
2873
|
-
return (_window$open = window.open("https://github.com/epam/ketcher/blob/".concat("v2.7.0-rc.
|
|
2880
|
+
return (_window$open = window.open("https://github.com/epam/ketcher/blob/".concat("v2.7.0-rc.3\n", "/documentation/help.md#ketcher-overview"))) === null || _window$open === void 0 ? void 0 : _window$open.focus();
|
|
2874
2881
|
};
|
|
2875
2882
|
var help = {
|
|
2876
2883
|
help: {
|
|
@@ -7640,7 +7647,9 @@ function execute(activeTool, _ref) {
|
|
|
7640
7647
|
}
|
|
7641
7648
|
} else if (typeof action === 'function') {
|
|
7642
7649
|
action(editor, server, options);
|
|
7643
|
-
} else
|
|
7650
|
+
} else {
|
|
7651
|
+
console.info('no action');
|
|
7652
|
+
}
|
|
7644
7653
|
return activeTool;
|
|
7645
7654
|
}
|
|
7646
7655
|
function selected(actObj, activeTool, _ref2) {
|
|
@@ -8023,6 +8032,9 @@ function createStore (options, server, setEditor) {
|
|
|
8023
8032
|
templates: initTmplsState
|
|
8024
8033
|
};
|
|
8025
8034
|
var middleware = [thunk];
|
|
8035
|
+
if (process.env.KETCHER_ENABLE_REDUX_LOGGER === 'true') {
|
|
8036
|
+
middleware.push(logger);
|
|
8037
|
+
}
|
|
8026
8038
|
var rootReducer = getRootReducer(setEditor);
|
|
8027
8039
|
return createStore$1(rootReducer, initState, applyMiddleware.apply(void 0, middleware));
|
|
8028
8040
|
}
|
|
@@ -9609,6 +9621,7 @@ var TopToolbar = function TopToolbar(_ref) {
|
|
|
9609
9621
|
isCollapsed: width < collapseLimit
|
|
9610
9622
|
}), jsx(SystemControls, {
|
|
9611
9623
|
onHistoryClick: function onHistoryClick() {
|
|
9624
|
+
console.log('History button clicked');
|
|
9612
9625
|
},
|
|
9613
9626
|
onSettingsOpen: onSettingsOpen,
|
|
9614
9627
|
onFullscreen: onFullscreen,
|
|
@@ -12385,6 +12398,7 @@ function sgroupDialog(editor, id, defaultType) {
|
|
|
12385
12398
|
var type = sg ? sg.type : defaultType;
|
|
12386
12399
|
var eventName = type === 'DAT' ? 'sdataEdit' : 'sgroupEdit';
|
|
12387
12400
|
if (!selection.atoms && !selection.bonds && !sg) {
|
|
12401
|
+
console.info('There is no selection or sgroup');
|
|
12388
12402
|
return;
|
|
12389
12403
|
}
|
|
12390
12404
|
var attrs;
|
|
@@ -13262,6 +13276,7 @@ var EraserTool = function () {
|
|
|
13262
13276
|
} else if (ci.map === 'texts') {
|
|
13263
13277
|
this.editor.update(fromTextDeletion(restruct, ci.id));
|
|
13264
13278
|
} else {
|
|
13279
|
+
console.error('EraserTool: unable to delete the object ' + ci.map + '[' + ci.id + ']');
|
|
13265
13280
|
return;
|
|
13266
13281
|
}
|
|
13267
13282
|
this.editor.selection(null);
|
|
@@ -15337,6 +15352,7 @@ function domEventSetup(editor, clientArea) {
|
|
|
15337
15352
|
}
|
|
15338
15353
|
function recoordinate(editor, rp
|
|
15339
15354
|
) {
|
|
15355
|
+
console.assert(rp, 'Reference point not specified');
|
|
15340
15356
|
if (rp) {
|
|
15341
15357
|
editor.render.setScrollOffset(rp.x, rp.y);
|
|
15342
15358
|
} else {
|
|
@@ -16572,17 +16588,18 @@ function fileOpener(server) {
|
|
|
16572
16588
|
});
|
|
16573
16589
|
}
|
|
16574
16590
|
function throughFileReader(file) {
|
|
16591
|
+
var isCDX = file.name.endsWith('cdx');
|
|
16575
16592
|
return new Promise(function (resolve, reject) {
|
|
16576
16593
|
var rd = new FileReader();
|
|
16577
16594
|
rd.onload = function () {
|
|
16578
|
-
var content = rd.result;
|
|
16595
|
+
var content = isCDX ? rd.result.slice(37) : rd.result;
|
|
16579
16596
|
if (file.msClose) file.msClose();
|
|
16580
16597
|
resolve(content);
|
|
16581
16598
|
};
|
|
16582
16599
|
rd.onerror = function (event) {
|
|
16583
16600
|
reject(event);
|
|
16584
16601
|
};
|
|
16585
|
-
rd.readAsText(file, 'UTF-8');
|
|
16602
|
+
isCDX ? rd.readAsDataURL(file) : rd.readAsText(file, 'UTF-8');
|
|
16586
16603
|
});
|
|
16587
16604
|
}
|
|
16588
16605
|
function throughFileSystemObject(fso, file) {
|
|
@@ -16607,6 +16624,7 @@ function greekify(str) {
|
|
|
16607
16624
|
});
|
|
16608
16625
|
}
|
|
16609
16626
|
function filterLib(lib, filter$1) {
|
|
16627
|
+
console.warn('Filter', filter$1);
|
|
16610
16628
|
var trimmedFilter = filter$1.trim();
|
|
16611
16629
|
var re = new RegExp(escapeRegExp(greekify(trimmedFilter)), 'i');
|
|
16612
16630
|
return flow(filter(function (item) {
|
|
@@ -16617,6 +16635,7 @@ function filterLib(lib, filter$1) {
|
|
|
16617
16635
|
}, {}))(lib);
|
|
16618
16636
|
}
|
|
16619
16637
|
function filterFGLib(lib, filter$1) {
|
|
16638
|
+
console.warn('Filter', filter$1);
|
|
16620
16639
|
var trimmedFilter = filter$1.trim();
|
|
16621
16640
|
var re = new RegExp(escapeRegExp(greekify(trimmedFilter)), 'i');
|
|
16622
16641
|
var searchFunction = function searchFunction(item) {
|
|
@@ -17672,6 +17691,7 @@ var mapDispatchToProps$b = function mapDispatchToProps(dispatch, ownProps) {
|
|
|
17672
17691
|
result: JSON.parse(newOpts)
|
|
17673
17692
|
}));
|
|
17674
17693
|
} catch (ex) {
|
|
17694
|
+
console.info('Bad file');
|
|
17675
17695
|
}
|
|
17676
17696
|
},
|
|
17677
17697
|
onReset: function onReset() {
|
|
@@ -18375,7 +18395,7 @@ var MiewDialog = function MiewDialog(_ref) {
|
|
|
18375
18395
|
}).then(function () {
|
|
18376
18396
|
return miew.setOptions(miewOpts);
|
|
18377
18397
|
})["catch"](function (ex) {
|
|
18378
|
-
return (
|
|
18398
|
+
return console.error(ex.message);
|
|
18379
18399
|
});
|
|
18380
18400
|
}, [miewOpts, server, struct]);
|
|
18381
18401
|
var exportCML = useCallback(function () {
|
|
@@ -19606,7 +19626,8 @@ var SaveDialog = function (_Component) {
|
|
|
19606
19626
|
_this.isRxn = _this.props.struct.hasRxnArrow();
|
|
19607
19627
|
_this.textAreaRef = createRef();
|
|
19608
19628
|
var formats = [_this.isRxn ? 'rxn' : 'mol', 'smiles', 'ket'];
|
|
19609
|
-
if (_this.props.server) formats.push(_this.isRxn ? 'rxnV3000' : 'molV3000', 'smilesExt', 'smarts', 'inChI', 'inChIAuxInfo', 'cml', 'svg', 'png', 'cdxml'
|
|
19629
|
+
if (_this.props.server) formats.push(_this.isRxn ? 'rxnV3000' : 'molV3000', 'smilesExt', 'smarts', 'inChI', 'inChIAuxInfo', 'cml', 'svg', 'png', 'cdxml'
|
|
19630
|
+
);
|
|
19610
19631
|
_this.saveSchema = saveSchema;
|
|
19611
19632
|
_this.saveSchema.properties.format = Object.assign(_this.saveSchema.properties.format, {
|
|
19612
19633
|
"enum": formats,
|
|
@@ -20779,6 +20800,7 @@ function SData(_ref) {
|
|
|
20779
20800
|
init: init
|
|
20780
20801
|
}, formState), {}, {
|
|
20781
20802
|
children: jsxs("fieldset", {
|
|
20803
|
+
className: "sdata",
|
|
20782
20804
|
children: [jsx(Field, {
|
|
20783
20805
|
name: "context",
|
|
20784
20806
|
options: getSelectOptionsFromSchema(formSchema.properties.context),
|
|
@@ -21450,6 +21472,16 @@ var TemplateDialog = function TemplateDialog(props) {
|
|
|
21450
21472
|
})]
|
|
21451
21473
|
});
|
|
21452
21474
|
};
|
|
21475
|
+
var selectTemplate = function selectTemplate(template, props, dispatch) {
|
|
21476
|
+
dispatch(selectTmpl(null));
|
|
21477
|
+
if (!template) return;
|
|
21478
|
+
dispatch(selectTmpl(template));
|
|
21479
|
+
dispatch(onAction({
|
|
21480
|
+
tool: 'template',
|
|
21481
|
+
opts: template
|
|
21482
|
+
}));
|
|
21483
|
+
props.onOk(template);
|
|
21484
|
+
};
|
|
21453
21485
|
var TemplatesDialog = connect(function (store) {
|
|
21454
21486
|
var _store$modal, _store$modal$prop;
|
|
21455
21487
|
return _objectSpread$4(_objectSpread$4({}, omit(['attach'], store.templates)), {}, {
|
|
@@ -21463,12 +21495,7 @@ var TemplatesDialog = connect(function (store) {
|
|
|
21463
21495
|
return dispatch(changeFilter(filter));
|
|
21464
21496
|
},
|
|
21465
21497
|
onSelect: function onSelect(tmpl) {
|
|
21466
|
-
|
|
21467
|
-
dispatch(onAction({
|
|
21468
|
-
tool: 'template',
|
|
21469
|
-
opts: tmpl
|
|
21470
|
-
}));
|
|
21471
|
-
props.onOk(tmpl);
|
|
21498
|
+
return selectTemplate(tmpl, props, dispatch);
|
|
21472
21499
|
},
|
|
21473
21500
|
onChangeGroup: function onChangeGroup(group) {
|
|
21474
21501
|
return dispatch(changeGroup(group));
|
|
@@ -22215,7 +22242,7 @@ var KetcherBuilder = function () {
|
|
|
22215
22242
|
buttons: buttons || {},
|
|
22216
22243
|
errorHandler: errorHandler || null,
|
|
22217
22244
|
version: "2.7.0-rc.2" ,
|
|
22218
|
-
buildDate: "2022-12-
|
|
22245
|
+
buildDate: "2022-12-16T15:41:03" ,
|
|
22219
22246
|
buildNumber: ''
|
|
22220
22247
|
}, structService, resolve);
|
|
22221
22248
|
});
|