@teselagen/ove 0.8.28 → 0.8.30
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/RowItem/utils.d.ts +1 -0
- package/helperComponents/PropertiesDialog/utils.d.ts +1 -0
- package/index.cjs.js +448 -258
- package/index.es.js +448 -258
- package/index.umd.js +448 -258
- package/package.json +3 -3
- package/selectors/cutsitesSelector.d.ts +1 -9
- package/selectors/filteredCutsitesSelector.d.ts +5 -1
- package/src/Editor/index.js +2 -0
- package/src/Editor/userDefinedHandlersAndOpts.js +2 -0
- package/src/GlobalDialog.js +11 -1
- package/src/GlobalDialogUtils.js +14 -2
- package/src/LinearView/index.js +4 -3
- package/src/RowItem/StackedAnnotations/PointedAnnotation.js +101 -34
- package/src/RowItem/utils.js +19 -3
- package/src/commands/index.js +1 -1
- package/src/helperComponents/PropertiesDialog/OrfProperties.js +2 -3
- package/src/helperComponents/PropertiesDialog/TranslationProperties.js +2 -1
- package/src/helperComponents/PropertiesDialog/utils.js +29 -0
- package/src/selectors/cutsitesSelector.js +57 -2
- package/src/withEditorInteractions/createSequenceInputPopup.js +4 -2
- package/src/withEditorInteractions/index.js +12 -5
- package/src/withEditorProps/index.js +21 -8
package/index.umd.js
CHANGED
|
@@ -36296,6 +36296,195 @@ ${latestSubscriptionCallbackError.current.stack}
|
|
|
36296
36296
|
);
|
|
36297
36297
|
}
|
|
36298
36298
|
__name(DialogFooter, "DialogFooter");
|
|
36299
|
+
var NOT_FOUND = "NOT_FOUND";
|
|
36300
|
+
function createSingletonCache(equals) {
|
|
36301
|
+
var entry;
|
|
36302
|
+
return {
|
|
36303
|
+
get: /* @__PURE__ */ __name(function get2(key) {
|
|
36304
|
+
if (entry && equals(entry.key, key)) {
|
|
36305
|
+
return entry.value;
|
|
36306
|
+
}
|
|
36307
|
+
return NOT_FOUND;
|
|
36308
|
+
}, "get"),
|
|
36309
|
+
put: /* @__PURE__ */ __name(function put(key, value) {
|
|
36310
|
+
entry = {
|
|
36311
|
+
key,
|
|
36312
|
+
value
|
|
36313
|
+
};
|
|
36314
|
+
}, "put"),
|
|
36315
|
+
getEntries: /* @__PURE__ */ __name(function getEntries() {
|
|
36316
|
+
return entry ? [entry] : [];
|
|
36317
|
+
}, "getEntries"),
|
|
36318
|
+
clear: /* @__PURE__ */ __name(function clear() {
|
|
36319
|
+
entry = void 0;
|
|
36320
|
+
}, "clear")
|
|
36321
|
+
};
|
|
36322
|
+
}
|
|
36323
|
+
__name(createSingletonCache, "createSingletonCache");
|
|
36324
|
+
function createLruCache(maxSize, equals) {
|
|
36325
|
+
var entries = [];
|
|
36326
|
+
function get2(key) {
|
|
36327
|
+
var cacheIndex = entries.findIndex(function(entry2) {
|
|
36328
|
+
return equals(key, entry2.key);
|
|
36329
|
+
});
|
|
36330
|
+
if (cacheIndex > -1) {
|
|
36331
|
+
var entry = entries[cacheIndex];
|
|
36332
|
+
if (cacheIndex > 0) {
|
|
36333
|
+
entries.splice(cacheIndex, 1);
|
|
36334
|
+
entries.unshift(entry);
|
|
36335
|
+
}
|
|
36336
|
+
return entry.value;
|
|
36337
|
+
}
|
|
36338
|
+
return NOT_FOUND;
|
|
36339
|
+
}
|
|
36340
|
+
__name(get2, "get");
|
|
36341
|
+
function put(key, value) {
|
|
36342
|
+
if (get2(key) === NOT_FOUND) {
|
|
36343
|
+
entries.unshift({
|
|
36344
|
+
key,
|
|
36345
|
+
value
|
|
36346
|
+
});
|
|
36347
|
+
if (entries.length > maxSize) {
|
|
36348
|
+
entries.pop();
|
|
36349
|
+
}
|
|
36350
|
+
}
|
|
36351
|
+
}
|
|
36352
|
+
__name(put, "put");
|
|
36353
|
+
function getEntries() {
|
|
36354
|
+
return entries;
|
|
36355
|
+
}
|
|
36356
|
+
__name(getEntries, "getEntries");
|
|
36357
|
+
function clear() {
|
|
36358
|
+
entries = [];
|
|
36359
|
+
}
|
|
36360
|
+
__name(clear, "clear");
|
|
36361
|
+
return {
|
|
36362
|
+
get: get2,
|
|
36363
|
+
put,
|
|
36364
|
+
getEntries,
|
|
36365
|
+
clear
|
|
36366
|
+
};
|
|
36367
|
+
}
|
|
36368
|
+
__name(createLruCache, "createLruCache");
|
|
36369
|
+
var defaultEqualityCheck = /* @__PURE__ */ __name(function defaultEqualityCheck2(a2, b3) {
|
|
36370
|
+
return a2 === b3;
|
|
36371
|
+
}, "defaultEqualityCheck");
|
|
36372
|
+
function createCacheKeyComparator(equalityCheck) {
|
|
36373
|
+
return /* @__PURE__ */ __name(function areArgumentsShallowlyEqual(prev, next) {
|
|
36374
|
+
if (prev === null || next === null || prev.length !== next.length) {
|
|
36375
|
+
return false;
|
|
36376
|
+
}
|
|
36377
|
+
var length = prev.length;
|
|
36378
|
+
for (var i2 = 0; i2 < length; i2++) {
|
|
36379
|
+
if (!equalityCheck(prev[i2], next[i2])) {
|
|
36380
|
+
return false;
|
|
36381
|
+
}
|
|
36382
|
+
}
|
|
36383
|
+
return true;
|
|
36384
|
+
}, "areArgumentsShallowlyEqual");
|
|
36385
|
+
}
|
|
36386
|
+
__name(createCacheKeyComparator, "createCacheKeyComparator");
|
|
36387
|
+
function defaultMemoize(func, equalityCheckOrOptions) {
|
|
36388
|
+
var providedOptions = typeof equalityCheckOrOptions === "object" ? equalityCheckOrOptions : {
|
|
36389
|
+
equalityCheck: equalityCheckOrOptions
|
|
36390
|
+
};
|
|
36391
|
+
var _providedOptions$equa = providedOptions.equalityCheck, equalityCheck = _providedOptions$equa === void 0 ? defaultEqualityCheck : _providedOptions$equa, _providedOptions$maxS = providedOptions.maxSize, maxSize = _providedOptions$maxS === void 0 ? 1 : _providedOptions$maxS, resultEqualityCheck = providedOptions.resultEqualityCheck;
|
|
36392
|
+
var comparator = createCacheKeyComparator(equalityCheck);
|
|
36393
|
+
var cache2 = maxSize === 1 ? createSingletonCache(comparator) : createLruCache(maxSize, comparator);
|
|
36394
|
+
function memoized() {
|
|
36395
|
+
var value = cache2.get(arguments);
|
|
36396
|
+
if (value === NOT_FOUND) {
|
|
36397
|
+
value = func.apply(null, arguments);
|
|
36398
|
+
if (resultEqualityCheck) {
|
|
36399
|
+
var entries = cache2.getEntries();
|
|
36400
|
+
var matchingEntry = entries.find(function(entry) {
|
|
36401
|
+
return resultEqualityCheck(entry.value, value);
|
|
36402
|
+
});
|
|
36403
|
+
if (matchingEntry) {
|
|
36404
|
+
value = matchingEntry.value;
|
|
36405
|
+
}
|
|
36406
|
+
}
|
|
36407
|
+
cache2.put(arguments, value);
|
|
36408
|
+
}
|
|
36409
|
+
return value;
|
|
36410
|
+
}
|
|
36411
|
+
__name(memoized, "memoized");
|
|
36412
|
+
memoized.clearCache = function() {
|
|
36413
|
+
return cache2.clear();
|
|
36414
|
+
};
|
|
36415
|
+
return memoized;
|
|
36416
|
+
}
|
|
36417
|
+
__name(defaultMemoize, "defaultMemoize");
|
|
36418
|
+
function getDependencies(funcs) {
|
|
36419
|
+
var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs;
|
|
36420
|
+
if (!dependencies.every(function(dep) {
|
|
36421
|
+
return typeof dep === "function";
|
|
36422
|
+
})) {
|
|
36423
|
+
var dependencyTypes = dependencies.map(function(dep) {
|
|
36424
|
+
return typeof dep === "function" ? "function " + (dep.name || "unnamed") + "()" : typeof dep;
|
|
36425
|
+
}).join(", ");
|
|
36426
|
+
throw new Error("createSelector expects all input-selectors to be functions, but received the following types: [" + dependencyTypes + "]");
|
|
36427
|
+
}
|
|
36428
|
+
return dependencies;
|
|
36429
|
+
}
|
|
36430
|
+
__name(getDependencies, "getDependencies");
|
|
36431
|
+
function createSelectorCreator(memoize2) {
|
|
36432
|
+
for (var _len = arguments.length, memoizeOptionsFromArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
36433
|
+
memoizeOptionsFromArgs[_key - 1] = arguments[_key];
|
|
36434
|
+
}
|
|
36435
|
+
var createSelector2 = /* @__PURE__ */ __name(function createSelector3() {
|
|
36436
|
+
for (var _len2 = arguments.length, funcs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
36437
|
+
funcs[_key2] = arguments[_key2];
|
|
36438
|
+
}
|
|
36439
|
+
var _recomputations = 0;
|
|
36440
|
+
var _lastResult;
|
|
36441
|
+
var directlyPassedOptions = {
|
|
36442
|
+
memoizeOptions: void 0
|
|
36443
|
+
};
|
|
36444
|
+
var resultFunc = funcs.pop();
|
|
36445
|
+
if (typeof resultFunc === "object") {
|
|
36446
|
+
directlyPassedOptions = resultFunc;
|
|
36447
|
+
resultFunc = funcs.pop();
|
|
36448
|
+
}
|
|
36449
|
+
if (typeof resultFunc !== "function") {
|
|
36450
|
+
throw new Error("createSelector expects an output function after the inputs, but received: [" + typeof resultFunc + "]");
|
|
36451
|
+
}
|
|
36452
|
+
var _directlyPassedOption = directlyPassedOptions, _directlyPassedOption2 = _directlyPassedOption.memoizeOptions, memoizeOptions = _directlyPassedOption2 === void 0 ? memoizeOptionsFromArgs : _directlyPassedOption2;
|
|
36453
|
+
var finalMemoizeOptions = Array.isArray(memoizeOptions) ? memoizeOptions : [memoizeOptions];
|
|
36454
|
+
var dependencies = getDependencies(funcs);
|
|
36455
|
+
var memoizedResultFunc = memoize2.apply(void 0, [/* @__PURE__ */ __name(function recomputationWrapper() {
|
|
36456
|
+
_recomputations++;
|
|
36457
|
+
return resultFunc.apply(null, arguments);
|
|
36458
|
+
}, "recomputationWrapper")].concat(finalMemoizeOptions));
|
|
36459
|
+
var selector = memoize2(/* @__PURE__ */ __name(function dependenciesChecker() {
|
|
36460
|
+
var params = [];
|
|
36461
|
+
var length = dependencies.length;
|
|
36462
|
+
for (var i2 = 0; i2 < length; i2++) {
|
|
36463
|
+
params.push(dependencies[i2].apply(null, arguments));
|
|
36464
|
+
}
|
|
36465
|
+
_lastResult = memoizedResultFunc.apply(null, params);
|
|
36466
|
+
return _lastResult;
|
|
36467
|
+
}, "dependenciesChecker"));
|
|
36468
|
+
Object.assign(selector, {
|
|
36469
|
+
resultFunc,
|
|
36470
|
+
memoizedResultFunc,
|
|
36471
|
+
dependencies,
|
|
36472
|
+
lastResult: /* @__PURE__ */ __name(function lastResult() {
|
|
36473
|
+
return _lastResult;
|
|
36474
|
+
}, "lastResult"),
|
|
36475
|
+
recomputations: /* @__PURE__ */ __name(function recomputations() {
|
|
36476
|
+
return _recomputations;
|
|
36477
|
+
}, "recomputations"),
|
|
36478
|
+
resetRecomputations: /* @__PURE__ */ __name(function resetRecomputations() {
|
|
36479
|
+
return _recomputations = 0;
|
|
36480
|
+
}, "resetRecomputations")
|
|
36481
|
+
});
|
|
36482
|
+
return selector;
|
|
36483
|
+
}, "createSelector");
|
|
36484
|
+
return createSelector2;
|
|
36485
|
+
}
|
|
36486
|
+
__name(createSelectorCreator, "createSelectorCreator");
|
|
36487
|
+
var createSelector = /* @__PURE__ */ createSelectorCreator(defaultMemoize);
|
|
36299
36488
|
function useCombinedRefs() {
|
|
36300
36489
|
for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
36301
36490
|
refs[_key] = arguments[_key];
|
|
@@ -85682,21 +85871,27 @@ ${latestSubscriptionCallbackError.current.stack}
|
|
|
85682
85871
|
}
|
|
85683
85872
|
return false;
|
|
85684
85873
|
});
|
|
85874
|
+
const dtFormParamsSelector = reactExports.useMemo(
|
|
85875
|
+
() => createSelector(
|
|
85876
|
+
(state2) => formValueSelector(formName)(
|
|
85877
|
+
state2,
|
|
85878
|
+
"reduxFormCellValidation",
|
|
85879
|
+
"reduxFormEntities",
|
|
85880
|
+
"reduxFormQueryParams",
|
|
85881
|
+
"reduxFormSelectedEntityIdMap"
|
|
85882
|
+
),
|
|
85883
|
+
(result) => result
|
|
85884
|
+
// identity, but memoized
|
|
85885
|
+
),
|
|
85886
|
+
[formName]
|
|
85887
|
+
);
|
|
85685
85888
|
const {
|
|
85686
85889
|
reduxFormCellValidation: _reduxFormCellValidation,
|
|
85687
85890
|
reduxFormEditingCell,
|
|
85688
85891
|
reduxFormEntities,
|
|
85689
85892
|
reduxFormQueryParams: _reduxFormQueryParams = {},
|
|
85690
85893
|
reduxFormSelectedEntityIdMap: _reduxFormSelectedEntityIdMap = {}
|
|
85691
|
-
} = useSelector(
|
|
85692
|
-
return formValueSelector(formName)(
|
|
85693
|
-
state2,
|
|
85694
|
-
"reduxFormCellValidation",
|
|
85695
|
-
"reduxFormEntities",
|
|
85696
|
-
"reduxFormQueryParams",
|
|
85697
|
-
"reduxFormSelectedEntityIdMap"
|
|
85698
|
-
);
|
|
85699
|
-
}, "dtFormParamsSelector"));
|
|
85894
|
+
} = useSelector(dtFormParamsSelector);
|
|
85700
85895
|
const reduxFormCellValidation = useDeepEqualMemoIgnoreFns(
|
|
85701
85896
|
_reduxFormCellValidation
|
|
85702
85897
|
);
|
|
@@ -86003,11 +86198,9 @@ ${latestSubscriptionCallbackError.current.stack}
|
|
|
86003
86198
|
newTableConfig = {
|
|
86004
86199
|
fieldOptions: []
|
|
86005
86200
|
};
|
|
86006
|
-
|
|
86007
|
-
|
|
86008
|
-
|
|
86009
|
-
return newTableConfig;
|
|
86010
|
-
}
|
|
86201
|
+
}
|
|
86202
|
+
if (isEqual$3(prev, newTableConfig)) {
|
|
86203
|
+
return prev;
|
|
86011
86204
|
} else {
|
|
86012
86205
|
return newTableConfig;
|
|
86013
86206
|
}
|
|
@@ -103876,14 +104069,16 @@ ${latestSubscriptionCallbackError.current.stack}
|
|
|
103876
104069
|
name: name2,
|
|
103877
104070
|
isProtein: isProtein2,
|
|
103878
104071
|
isRna: isRna2,
|
|
103879
|
-
isMixedRnaAndDna
|
|
104072
|
+
isMixedRnaAndDna,
|
|
104073
|
+
getAcceptedInsertChars
|
|
103880
104074
|
} = {}) {
|
|
103881
|
-
const
|
|
104075
|
+
const sequenceTypeInfo = {
|
|
103882
104076
|
isOligo: isOligo2,
|
|
103883
104077
|
isProtein: isProtein2,
|
|
103884
104078
|
isRna: isRna2,
|
|
103885
104079
|
isMixedRnaAndDna
|
|
103886
|
-
}
|
|
104080
|
+
};
|
|
104081
|
+
const acceptedChars = isFunction$1(getAcceptedInsertChars) ? getAcceptedInsertChars(sequenceTypeInfo) : getAcceptedChars(sequenceTypeInfo);
|
|
103887
104082
|
const replaceChars = getReplaceChars({
|
|
103888
104083
|
isOligo: isOligo2,
|
|
103889
104084
|
isProtein: isProtein2,
|
|
@@ -104119,6 +104314,7 @@ ${latestSubscriptionCallbackError.current.stack}
|
|
|
104119
104314
|
doNotProvideIdsForAnnotations,
|
|
104120
104315
|
noCdsTranslations,
|
|
104121
104316
|
convertAnnotationsFromAAIndices,
|
|
104317
|
+
getAcceptedInsertChars,
|
|
104122
104318
|
topLevelSeqData
|
|
104123
104319
|
} = options;
|
|
104124
104320
|
let seqData = cloneDeep(pSeqData);
|
|
@@ -104150,13 +104346,16 @@ ${latestSubscriptionCallbackError.current.stack}
|
|
|
104150
104346
|
if (!doNotRemoveInvalidChars) {
|
|
104151
104347
|
if (seqData.isProtein) {
|
|
104152
104348
|
const [newSeq] = filterSequenceString(seqData.proteinSequence, __spreadProps(__spreadValues({}, topLevelSeqData || seqData), {
|
|
104153
|
-
isProtein: true
|
|
104349
|
+
isProtein: true,
|
|
104350
|
+
getAcceptedInsertChars
|
|
104154
104351
|
}));
|
|
104155
104352
|
seqData.proteinSequence = newSeq;
|
|
104156
104353
|
} else {
|
|
104157
|
-
const [newSeq] = filterSequenceString(seqData.sequence, __spreadValues({
|
|
104354
|
+
const [newSeq] = filterSequenceString(seqData.sequence, __spreadProps(__spreadValues({
|
|
104158
104355
|
additionalValidChars
|
|
104159
|
-
}, topLevelSeqData || seqData)
|
|
104356
|
+
}, topLevelSeqData || seqData), {
|
|
104357
|
+
getAcceptedInsertChars
|
|
104358
|
+
}));
|
|
104160
104359
|
seqData.sequence = newSeq;
|
|
104161
104360
|
}
|
|
104162
104361
|
}
|
|
@@ -125757,195 +125956,6 @@ ${seq.sequence}
|
|
|
125757
125956
|
return sequenceDataSelector(state2).sequence;
|
|
125758
125957
|
}
|
|
125759
125958
|
__name(sequenceSelector, "sequenceSelector");
|
|
125760
|
-
var NOT_FOUND = "NOT_FOUND";
|
|
125761
|
-
function createSingletonCache(equals) {
|
|
125762
|
-
var entry;
|
|
125763
|
-
return {
|
|
125764
|
-
get: /* @__PURE__ */ __name(function get2(key) {
|
|
125765
|
-
if (entry && equals(entry.key, key)) {
|
|
125766
|
-
return entry.value;
|
|
125767
|
-
}
|
|
125768
|
-
return NOT_FOUND;
|
|
125769
|
-
}, "get"),
|
|
125770
|
-
put: /* @__PURE__ */ __name(function put(key, value) {
|
|
125771
|
-
entry = {
|
|
125772
|
-
key,
|
|
125773
|
-
value
|
|
125774
|
-
};
|
|
125775
|
-
}, "put"),
|
|
125776
|
-
getEntries: /* @__PURE__ */ __name(function getEntries() {
|
|
125777
|
-
return entry ? [entry] : [];
|
|
125778
|
-
}, "getEntries"),
|
|
125779
|
-
clear: /* @__PURE__ */ __name(function clear() {
|
|
125780
|
-
entry = void 0;
|
|
125781
|
-
}, "clear")
|
|
125782
|
-
};
|
|
125783
|
-
}
|
|
125784
|
-
__name(createSingletonCache, "createSingletonCache");
|
|
125785
|
-
function createLruCache(maxSize, equals) {
|
|
125786
|
-
var entries = [];
|
|
125787
|
-
function get2(key) {
|
|
125788
|
-
var cacheIndex = entries.findIndex(function(entry2) {
|
|
125789
|
-
return equals(key, entry2.key);
|
|
125790
|
-
});
|
|
125791
|
-
if (cacheIndex > -1) {
|
|
125792
|
-
var entry = entries[cacheIndex];
|
|
125793
|
-
if (cacheIndex > 0) {
|
|
125794
|
-
entries.splice(cacheIndex, 1);
|
|
125795
|
-
entries.unshift(entry);
|
|
125796
|
-
}
|
|
125797
|
-
return entry.value;
|
|
125798
|
-
}
|
|
125799
|
-
return NOT_FOUND;
|
|
125800
|
-
}
|
|
125801
|
-
__name(get2, "get");
|
|
125802
|
-
function put(key, value) {
|
|
125803
|
-
if (get2(key) === NOT_FOUND) {
|
|
125804
|
-
entries.unshift({
|
|
125805
|
-
key,
|
|
125806
|
-
value
|
|
125807
|
-
});
|
|
125808
|
-
if (entries.length > maxSize) {
|
|
125809
|
-
entries.pop();
|
|
125810
|
-
}
|
|
125811
|
-
}
|
|
125812
|
-
}
|
|
125813
|
-
__name(put, "put");
|
|
125814
|
-
function getEntries() {
|
|
125815
|
-
return entries;
|
|
125816
|
-
}
|
|
125817
|
-
__name(getEntries, "getEntries");
|
|
125818
|
-
function clear() {
|
|
125819
|
-
entries = [];
|
|
125820
|
-
}
|
|
125821
|
-
__name(clear, "clear");
|
|
125822
|
-
return {
|
|
125823
|
-
get: get2,
|
|
125824
|
-
put,
|
|
125825
|
-
getEntries,
|
|
125826
|
-
clear
|
|
125827
|
-
};
|
|
125828
|
-
}
|
|
125829
|
-
__name(createLruCache, "createLruCache");
|
|
125830
|
-
var defaultEqualityCheck = /* @__PURE__ */ __name(function defaultEqualityCheck2(a2, b3) {
|
|
125831
|
-
return a2 === b3;
|
|
125832
|
-
}, "defaultEqualityCheck");
|
|
125833
|
-
function createCacheKeyComparator(equalityCheck) {
|
|
125834
|
-
return /* @__PURE__ */ __name(function areArgumentsShallowlyEqual(prev, next) {
|
|
125835
|
-
if (prev === null || next === null || prev.length !== next.length) {
|
|
125836
|
-
return false;
|
|
125837
|
-
}
|
|
125838
|
-
var length = prev.length;
|
|
125839
|
-
for (var i2 = 0; i2 < length; i2++) {
|
|
125840
|
-
if (!equalityCheck(prev[i2], next[i2])) {
|
|
125841
|
-
return false;
|
|
125842
|
-
}
|
|
125843
|
-
}
|
|
125844
|
-
return true;
|
|
125845
|
-
}, "areArgumentsShallowlyEqual");
|
|
125846
|
-
}
|
|
125847
|
-
__name(createCacheKeyComparator, "createCacheKeyComparator");
|
|
125848
|
-
function defaultMemoize(func, equalityCheckOrOptions) {
|
|
125849
|
-
var providedOptions = typeof equalityCheckOrOptions === "object" ? equalityCheckOrOptions : {
|
|
125850
|
-
equalityCheck: equalityCheckOrOptions
|
|
125851
|
-
};
|
|
125852
|
-
var _providedOptions$equa = providedOptions.equalityCheck, equalityCheck = _providedOptions$equa === void 0 ? defaultEqualityCheck : _providedOptions$equa, _providedOptions$maxS = providedOptions.maxSize, maxSize = _providedOptions$maxS === void 0 ? 1 : _providedOptions$maxS, resultEqualityCheck = providedOptions.resultEqualityCheck;
|
|
125853
|
-
var comparator = createCacheKeyComparator(equalityCheck);
|
|
125854
|
-
var cache2 = maxSize === 1 ? createSingletonCache(comparator) : createLruCache(maxSize, comparator);
|
|
125855
|
-
function memoized() {
|
|
125856
|
-
var value = cache2.get(arguments);
|
|
125857
|
-
if (value === NOT_FOUND) {
|
|
125858
|
-
value = func.apply(null, arguments);
|
|
125859
|
-
if (resultEqualityCheck) {
|
|
125860
|
-
var entries = cache2.getEntries();
|
|
125861
|
-
var matchingEntry = entries.find(function(entry) {
|
|
125862
|
-
return resultEqualityCheck(entry.value, value);
|
|
125863
|
-
});
|
|
125864
|
-
if (matchingEntry) {
|
|
125865
|
-
value = matchingEntry.value;
|
|
125866
|
-
}
|
|
125867
|
-
}
|
|
125868
|
-
cache2.put(arguments, value);
|
|
125869
|
-
}
|
|
125870
|
-
return value;
|
|
125871
|
-
}
|
|
125872
|
-
__name(memoized, "memoized");
|
|
125873
|
-
memoized.clearCache = function() {
|
|
125874
|
-
return cache2.clear();
|
|
125875
|
-
};
|
|
125876
|
-
return memoized;
|
|
125877
|
-
}
|
|
125878
|
-
__name(defaultMemoize, "defaultMemoize");
|
|
125879
|
-
function getDependencies(funcs) {
|
|
125880
|
-
var dependencies = Array.isArray(funcs[0]) ? funcs[0] : funcs;
|
|
125881
|
-
if (!dependencies.every(function(dep) {
|
|
125882
|
-
return typeof dep === "function";
|
|
125883
|
-
})) {
|
|
125884
|
-
var dependencyTypes = dependencies.map(function(dep) {
|
|
125885
|
-
return typeof dep === "function" ? "function " + (dep.name || "unnamed") + "()" : typeof dep;
|
|
125886
|
-
}).join(", ");
|
|
125887
|
-
throw new Error("createSelector expects all input-selectors to be functions, but received the following types: [" + dependencyTypes + "]");
|
|
125888
|
-
}
|
|
125889
|
-
return dependencies;
|
|
125890
|
-
}
|
|
125891
|
-
__name(getDependencies, "getDependencies");
|
|
125892
|
-
function createSelectorCreator(memoize2) {
|
|
125893
|
-
for (var _len = arguments.length, memoizeOptionsFromArgs = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
125894
|
-
memoizeOptionsFromArgs[_key - 1] = arguments[_key];
|
|
125895
|
-
}
|
|
125896
|
-
var createSelector2 = /* @__PURE__ */ __name(function createSelector3() {
|
|
125897
|
-
for (var _len2 = arguments.length, funcs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
125898
|
-
funcs[_key2] = arguments[_key2];
|
|
125899
|
-
}
|
|
125900
|
-
var _recomputations = 0;
|
|
125901
|
-
var _lastResult;
|
|
125902
|
-
var directlyPassedOptions = {
|
|
125903
|
-
memoizeOptions: void 0
|
|
125904
|
-
};
|
|
125905
|
-
var resultFunc = funcs.pop();
|
|
125906
|
-
if (typeof resultFunc === "object") {
|
|
125907
|
-
directlyPassedOptions = resultFunc;
|
|
125908
|
-
resultFunc = funcs.pop();
|
|
125909
|
-
}
|
|
125910
|
-
if (typeof resultFunc !== "function") {
|
|
125911
|
-
throw new Error("createSelector expects an output function after the inputs, but received: [" + typeof resultFunc + "]");
|
|
125912
|
-
}
|
|
125913
|
-
var _directlyPassedOption = directlyPassedOptions, _directlyPassedOption2 = _directlyPassedOption.memoizeOptions, memoizeOptions = _directlyPassedOption2 === void 0 ? memoizeOptionsFromArgs : _directlyPassedOption2;
|
|
125914
|
-
var finalMemoizeOptions = Array.isArray(memoizeOptions) ? memoizeOptions : [memoizeOptions];
|
|
125915
|
-
var dependencies = getDependencies(funcs);
|
|
125916
|
-
var memoizedResultFunc = memoize2.apply(void 0, [/* @__PURE__ */ __name(function recomputationWrapper() {
|
|
125917
|
-
_recomputations++;
|
|
125918
|
-
return resultFunc.apply(null, arguments);
|
|
125919
|
-
}, "recomputationWrapper")].concat(finalMemoizeOptions));
|
|
125920
|
-
var selector = memoize2(/* @__PURE__ */ __name(function dependenciesChecker() {
|
|
125921
|
-
var params = [];
|
|
125922
|
-
var length = dependencies.length;
|
|
125923
|
-
for (var i2 = 0; i2 < length; i2++) {
|
|
125924
|
-
params.push(dependencies[i2].apply(null, arguments));
|
|
125925
|
-
}
|
|
125926
|
-
_lastResult = memoizedResultFunc.apply(null, params);
|
|
125927
|
-
return _lastResult;
|
|
125928
|
-
}, "dependenciesChecker"));
|
|
125929
|
-
Object.assign(selector, {
|
|
125930
|
-
resultFunc,
|
|
125931
|
-
memoizedResultFunc,
|
|
125932
|
-
dependencies,
|
|
125933
|
-
lastResult: /* @__PURE__ */ __name(function lastResult() {
|
|
125934
|
-
return _lastResult;
|
|
125935
|
-
}, "lastResult"),
|
|
125936
|
-
recomputations: /* @__PURE__ */ __name(function recomputations() {
|
|
125937
|
-
return _recomputations;
|
|
125938
|
-
}, "recomputations"),
|
|
125939
|
-
resetRecomputations: /* @__PURE__ */ __name(function resetRecomputations() {
|
|
125940
|
-
return _recomputations = 0;
|
|
125941
|
-
}, "resetRecomputations")
|
|
125942
|
-
});
|
|
125943
|
-
return selector;
|
|
125944
|
-
}, "createSelector");
|
|
125945
|
-
return createSelector2;
|
|
125946
|
-
}
|
|
125947
|
-
__name(createSelectorCreator, "createSelectorCreator");
|
|
125948
|
-
var createSelector = /* @__PURE__ */ createSelectorCreator(defaultMemoize);
|
|
125949
125959
|
const restrictionEnzymesSelector = createSelector(
|
|
125950
125960
|
() => defaultEnzymesByName,
|
|
125951
125961
|
(state2, additionalEnzymes) => {
|
|
@@ -125971,7 +125981,34 @@ ${seq.sequence}
|
|
|
125971
125981
|
const cutsiteLabelColorSelector = createSelector(sequenceDataSelector, function(sequenceData2) {
|
|
125972
125982
|
return sequenceData2.cutsiteLabelColors;
|
|
125973
125983
|
});
|
|
125974
|
-
|
|
125984
|
+
const cutsitesCache = [];
|
|
125985
|
+
function getCachedResult(argsObj) {
|
|
125986
|
+
const idx = cutsitesCache.findIndex(
|
|
125987
|
+
(entry) => entry && isEqual$3(entry.args, argsObj)
|
|
125988
|
+
);
|
|
125989
|
+
if (idx === -1) return;
|
|
125990
|
+
const hit = cutsitesCache[idx];
|
|
125991
|
+
return hit.result;
|
|
125992
|
+
}
|
|
125993
|
+
__name(getCachedResult, "getCachedResult");
|
|
125994
|
+
function setCachedResult(argsObj, result, cacheSize = 1) {
|
|
125995
|
+
cutsitesCache.push({
|
|
125996
|
+
args: argsObj,
|
|
125997
|
+
result
|
|
125998
|
+
});
|
|
125999
|
+
if (cutsitesCache.length > cacheSize) cutsitesCache.shift();
|
|
126000
|
+
}
|
|
126001
|
+
__name(setCachedResult, "setCachedResult");
|
|
126002
|
+
function cutsitesSelector(sequence2, circular2, enzymeList, cutsiteLabelColors, editorSize = 1) {
|
|
126003
|
+
const cachedResult = getCachedResult({
|
|
126004
|
+
sequence: sequence2,
|
|
126005
|
+
circular: circular2,
|
|
126006
|
+
enzymeList,
|
|
126007
|
+
cutsiteLabelColors
|
|
126008
|
+
});
|
|
126009
|
+
if (cachedResult) {
|
|
126010
|
+
return cachedResult;
|
|
126011
|
+
}
|
|
125975
126012
|
const cutsitesByName = getLowerCaseObj(
|
|
125976
126013
|
getCutsitesFromSequence(sequence2, circular2, map$3(enzymeList))
|
|
125977
126014
|
);
|
|
@@ -126004,11 +126041,22 @@ ${seq.sequence}
|
|
|
126004
126041
|
const cutsitesArray = flatMap(cutsitesByName, function(cutsitesForEnzyme) {
|
|
126005
126042
|
return cutsitesForEnzyme;
|
|
126006
126043
|
});
|
|
126007
|
-
|
|
126044
|
+
const result = {
|
|
126008
126045
|
cutsitesByName,
|
|
126009
126046
|
cutsitesById,
|
|
126010
126047
|
cutsitesArray
|
|
126011
126048
|
};
|
|
126049
|
+
setCachedResult(
|
|
126050
|
+
{
|
|
126051
|
+
sequence: sequence2,
|
|
126052
|
+
circular: circular2,
|
|
126053
|
+
enzymeList,
|
|
126054
|
+
cutsiteLabelColors
|
|
126055
|
+
},
|
|
126056
|
+
result,
|
|
126057
|
+
editorSize
|
|
126058
|
+
);
|
|
126059
|
+
return result;
|
|
126012
126060
|
}
|
|
126013
126061
|
__name(cutsitesSelector, "cutsitesSelector");
|
|
126014
126062
|
const cutsitesSelector$1 = createSelector(
|
|
@@ -126016,6 +126064,7 @@ ${seq.sequence}
|
|
|
126016
126064
|
circularSelector,
|
|
126017
126065
|
restrictionEnzymesSelector,
|
|
126018
126066
|
cutsiteLabelColorSelector,
|
|
126067
|
+
(editorState) => editorState.editorSize,
|
|
126019
126068
|
cutsitesSelector
|
|
126020
126069
|
);
|
|
126021
126070
|
function divideBy3(num, shouldDivideBy3) {
|
|
@@ -127431,11 +127480,12 @@ ${seq.sequence}
|
|
|
127431
127480
|
props,
|
|
127432
127481
|
overrideName
|
|
127433
127482
|
}) {
|
|
127434
|
-
var _a2;
|
|
127483
|
+
var _a2, _b2, _c2, _d2;
|
|
127435
127484
|
dialogHolder.dialogType = dialogType;
|
|
127436
127485
|
if (!dialogHolder.dialogType && ModalComponent) {
|
|
127437
127486
|
dialogHolder.dialogType = "TGCustomModal";
|
|
127438
127487
|
}
|
|
127488
|
+
dialogHolder.editorName = props == null ? void 0 : props.editorName;
|
|
127439
127489
|
if (document.activeElement && document.activeElement.closest(".veEditor")) {
|
|
127440
127490
|
let editorName;
|
|
127441
127491
|
(_a2 = document.activeElement.closest(".veEditor")) == null ? void 0 : _a2.className.split(" ").forEach((c2) => {
|
|
@@ -127449,16 +127499,28 @@ ${seq.sequence}
|
|
|
127449
127499
|
dialogHolder.CustomModalComponent = ModalComponent;
|
|
127450
127500
|
dialogHolder.props = props;
|
|
127451
127501
|
dialogHolder.overrideName = overrideName;
|
|
127452
|
-
dialogHolder.
|
|
127502
|
+
if (dialogHolder.editorName && (dialogHolder == null ? void 0 : dialogHolder[dialogHolder.editorName])) {
|
|
127503
|
+
(_c2 = (_b2 = dialogHolder == null ? void 0 : dialogHolder[dialogHolder.editorName]) == null ? void 0 : _b2.setUniqKeyToForceRerender) == null ? void 0 : _c2.call(
|
|
127504
|
+
_b2,
|
|
127505
|
+
uuid()
|
|
127506
|
+
);
|
|
127507
|
+
} else {
|
|
127508
|
+
(_d2 = dialogHolder == null ? void 0 : dialogHolder.setUniqKeyToForceRerender) == null ? void 0 : _d2.call(dialogHolder, uuid());
|
|
127509
|
+
}
|
|
127453
127510
|
}
|
|
127454
127511
|
__name(showDialog, "showDialog");
|
|
127455
127512
|
function hideDialog() {
|
|
127513
|
+
var _a2, _b2, _c2;
|
|
127456
127514
|
delete dialogHolder.dialogType;
|
|
127457
127515
|
delete dialogHolder.CustomModalComponent;
|
|
127458
127516
|
delete dialogHolder.props;
|
|
127459
127517
|
delete dialogHolder.overrideName;
|
|
127518
|
+
if (dialogHolder.editorName && (dialogHolder == null ? void 0 : dialogHolder[dialogHolder.editorName])) {
|
|
127519
|
+
(_b2 = (_a2 = dialogHolder == null ? void 0 : dialogHolder[dialogHolder.editorName]) == null ? void 0 : _a2.setUniqKeyToForceRerender) == null ? void 0 : _b2.call(_a2);
|
|
127520
|
+
} else {
|
|
127521
|
+
(_c2 = dialogHolder == null ? void 0 : dialogHolder.setUniqKeyToForceRerender) == null ? void 0 : _c2.call(dialogHolder);
|
|
127522
|
+
}
|
|
127460
127523
|
delete dialogHolder.editorName;
|
|
127461
|
-
dialogHolder.setUniqKeyToForceRerender();
|
|
127462
127524
|
}
|
|
127463
127525
|
__name(hideDialog, "hideDialog");
|
|
127464
127526
|
const typeToDialogType = {
|
|
@@ -127733,7 +127795,8 @@ ${seq.sequence}
|
|
|
127733
127795
|
readOnly: readOnly2,
|
|
127734
127796
|
alwaysAllowSave,
|
|
127735
127797
|
sequenceData: sequenceData2,
|
|
127736
|
-
lastSavedIdUpdate: lastSavedIdUpdate2
|
|
127798
|
+
lastSavedIdUpdate: lastSavedIdUpdate2,
|
|
127799
|
+
getAcceptedInsertChars
|
|
127737
127800
|
} = props;
|
|
127738
127801
|
const saveHandler = opts2.isSaveAs ? onSaveAs || onSave : onSave;
|
|
127739
127802
|
const updateLastSavedIdToCurrent = /* @__PURE__ */ __name(() => {
|
|
@@ -127746,7 +127809,8 @@ ${seq.sequence}
|
|
|
127746
127809
|
opts2,
|
|
127747
127810
|
tidyUpSequenceData(sequenceData2, {
|
|
127748
127811
|
doNotRemoveInvalidChars: true,
|
|
127749
|
-
annotationsAsObjects: true
|
|
127812
|
+
annotationsAsObjects: true,
|
|
127813
|
+
getAcceptedInsertChars
|
|
127750
127814
|
}),
|
|
127751
127815
|
props,
|
|
127752
127816
|
updateLastSavedIdToCurrent
|
|
@@ -127928,8 +127992,8 @@ ${seq.sequence}
|
|
|
127928
127992
|
caretPositionOrRange,
|
|
127929
127993
|
options
|
|
127930
127994
|
} = props.beforeSequenceInsertOrDelete ? (yield props.beforeSequenceInsertOrDelete(
|
|
127931
|
-
tidyUpSequenceData(_sequenceDataToInsert),
|
|
127932
|
-
tidyUpSequenceData(_existingSequenceData),
|
|
127995
|
+
tidyUpSequenceData(_sequenceDataToInsert, { getAcceptedInsertChars: props.getAcceptedInsertChars }),
|
|
127996
|
+
tidyUpSequenceData(_existingSequenceData, { getAcceptedInsertChars: props.getAcceptedInsertChars }),
|
|
127933
127997
|
_caretPositionOrRange,
|
|
127934
127998
|
_options
|
|
127935
127999
|
)) || {} : {};
|
|
@@ -128092,7 +128156,11 @@ ${seq.sequence}
|
|
|
128092
128156
|
(state2) => state2.VectorEditor,
|
|
128093
128157
|
(state2, editorName) => editorName,
|
|
128094
128158
|
(VectorEditor, editorName) => {
|
|
128095
|
-
|
|
128159
|
+
const editorState = VectorEditor[editorName];
|
|
128160
|
+
editorState && (editorState.editorSize = Object.values(VectorEditor).filter(
|
|
128161
|
+
(editorItem) => editorItem == null ? void 0 : editorItem.sequenceData
|
|
128162
|
+
).length);
|
|
128163
|
+
return editorState;
|
|
128096
128164
|
}
|
|
128097
128165
|
);
|
|
128098
128166
|
function mapStateToProps(state2, ownProps) {
|
|
@@ -128129,6 +128197,9 @@ ${seq.sequence}
|
|
|
128129
128197
|
annotationTypePlural,
|
|
128130
128198
|
sequenceLength
|
|
128131
128199
|
);
|
|
128200
|
+
if (dialogHolder.editorName) {
|
|
128201
|
+
annotationToAdd = dialogHolder.editorName === editorName ? annotationToAdd : void 0;
|
|
128202
|
+
}
|
|
128132
128203
|
}
|
|
128133
128204
|
});
|
|
128134
128205
|
const toReturn = __spreadProps(__spreadValues({}, editorState), {
|
|
@@ -128356,13 +128427,15 @@ ${seq.sequence}
|
|
|
128356
128427
|
return toRet;
|
|
128357
128428
|
}
|
|
128358
128429
|
__name(getShowGCContent, "getShowGCContent");
|
|
128359
|
-
function jsonToJson(incomingJson) {
|
|
128430
|
+
function jsonToJson(incomingJson, options) {
|
|
128431
|
+
const { getAcceptedInsertChars } = options || {};
|
|
128360
128432
|
return JSON.stringify(
|
|
128361
128433
|
omit$1(
|
|
128362
128434
|
cleanUpTeselagenJsonForExport(
|
|
128363
128435
|
tidyUpSequenceData(incomingJson, {
|
|
128364
128436
|
doNotRemoveInvalidChars: true,
|
|
128365
|
-
annotationsAsObjects: false
|
|
128437
|
+
annotationsAsObjects: false,
|
|
128438
|
+
getAcceptedInsertChars
|
|
128366
128439
|
})
|
|
128367
128440
|
),
|
|
128368
128441
|
[
|
|
@@ -139048,9 +139121,19 @@ ${seq.sequence}
|
|
|
139048
139121
|
};
|
|
139049
139122
|
__name(_AnnotationPositioner, "AnnotationPositioner");
|
|
139050
139123
|
let AnnotationPositioner = _AnnotationPositioner;
|
|
139124
|
+
let measureCanvas;
|
|
139125
|
+
function getAnnotationTextWidth(text2, fontSize2 = ANNOTATION_LABEL_FONT_WIDTH, fontFamily2 = "monospace") {
|
|
139126
|
+
if (!measureCanvas) {
|
|
139127
|
+
measureCanvas = document.createElement("canvas");
|
|
139128
|
+
}
|
|
139129
|
+
const ctx = measureCanvas.getContext("2d");
|
|
139130
|
+
ctx.font = `${fontSize2}px ${fontFamily2}`;
|
|
139131
|
+
return ctx.measureText(text2).width;
|
|
139132
|
+
}
|
|
139133
|
+
__name(getAnnotationTextWidth, "getAnnotationTextWidth");
|
|
139051
139134
|
const doesLabelFitInAnnotation = /* @__PURE__ */ __name((text2 = "", { range: range2, width }, charWidth2) => {
|
|
139052
|
-
const textLength = text2
|
|
139053
|
-
const widthMinusOne =
|
|
139135
|
+
const textLength = getAnnotationTextWidth(text2);
|
|
139136
|
+
const widthMinusOne = range2 ? getWidth(range2, charWidth2, 0) - ANNOTATION_LABEL_FONT_WIDTH * 2 : width - ANNOTATION_LABEL_FONT_WIDTH * 2;
|
|
139054
139137
|
return widthMinusOne > textLength;
|
|
139055
139138
|
}, "doesLabelFitInAnnotation");
|
|
139056
139139
|
function getAnnotationClassnames({ overlapsSelf }, { viewName, type: type2 }) {
|
|
@@ -139060,6 +139143,78 @@ ${seq.sequence}
|
|
|
139060
139143
|
});
|
|
139061
139144
|
}
|
|
139062
139145
|
__name(getAnnotationClassnames, "getAnnotationClassnames");
|
|
139146
|
+
function getAnnotationTextOffset({
|
|
139147
|
+
width,
|
|
139148
|
+
nameToDisplay,
|
|
139149
|
+
hasAPoint,
|
|
139150
|
+
pointiness,
|
|
139151
|
+
forward
|
|
139152
|
+
}) {
|
|
139153
|
+
return width / 2 - getAnnotationTextWidth(nameToDisplay) / 2 - (hasAPoint ? (pointiness / 2 + ANNOTATION_LABEL_FONT_WIDTH / 2) * (forward ? 1 : -1) : 0);
|
|
139154
|
+
}
|
|
139155
|
+
__name(getAnnotationTextOffset, "getAnnotationTextOffset");
|
|
139156
|
+
function getAnnotationNameInfo({
|
|
139157
|
+
name: name2,
|
|
139158
|
+
width,
|
|
139159
|
+
hasAPoint,
|
|
139160
|
+
pointiness,
|
|
139161
|
+
forward,
|
|
139162
|
+
charWidth: charWidth2,
|
|
139163
|
+
truncateLabelsThatDoNotFit,
|
|
139164
|
+
onlyShowLabelsThatDoNotFit,
|
|
139165
|
+
annotation
|
|
139166
|
+
}) {
|
|
139167
|
+
let nameToDisplay = name2;
|
|
139168
|
+
let textOffset = getAnnotationTextOffset({
|
|
139169
|
+
width,
|
|
139170
|
+
nameToDisplay,
|
|
139171
|
+
hasAPoint,
|
|
139172
|
+
pointiness,
|
|
139173
|
+
forward
|
|
139174
|
+
});
|
|
139175
|
+
const widthAvailableForText = width - ANNOTATION_LABEL_FONT_WIDTH * 2;
|
|
139176
|
+
if (!doesLabelFitInAnnotation(name2, { width }, charWidth2) || !onlyShowLabelsThatDoNotFit && ["parts", "features"].includes(annotation.annotationTypePlural)) {
|
|
139177
|
+
if (truncateLabelsThatDoNotFit) {
|
|
139178
|
+
let left2 = 0;
|
|
139179
|
+
let right2 = name2.length;
|
|
139180
|
+
let bestFit = "";
|
|
139181
|
+
while (left2 <= right2) {
|
|
139182
|
+
const mid = Math.floor((left2 + right2) / 2);
|
|
139183
|
+
const candidate = name2.slice(0, mid);
|
|
139184
|
+
const candidateWidth = getAnnotationTextWidth(candidate);
|
|
139185
|
+
if (candidateWidth <= widthAvailableForText) {
|
|
139186
|
+
if (candidate.length > bestFit.length) {
|
|
139187
|
+
bestFit = candidate;
|
|
139188
|
+
}
|
|
139189
|
+
left2 = mid + 1;
|
|
139190
|
+
} else {
|
|
139191
|
+
right2 = mid - 1;
|
|
139192
|
+
}
|
|
139193
|
+
}
|
|
139194
|
+
if (bestFit.length < name2.length) {
|
|
139195
|
+
bestFit = bestFit.slice(0, -2) + "..";
|
|
139196
|
+
}
|
|
139197
|
+
nameToDisplay = bestFit;
|
|
139198
|
+
if (nameToDisplay.length <= 3) {
|
|
139199
|
+
textOffset = 0;
|
|
139200
|
+
nameToDisplay = "";
|
|
139201
|
+
} else {
|
|
139202
|
+
textOffset = getAnnotationTextOffset({
|
|
139203
|
+
width,
|
|
139204
|
+
nameToDisplay,
|
|
139205
|
+
hasAPoint,
|
|
139206
|
+
pointiness,
|
|
139207
|
+
forward
|
|
139208
|
+
});
|
|
139209
|
+
}
|
|
139210
|
+
} else {
|
|
139211
|
+
textOffset = 0;
|
|
139212
|
+
nameToDisplay = "";
|
|
139213
|
+
}
|
|
139214
|
+
}
|
|
139215
|
+
return { textOffset, nameToDisplay };
|
|
139216
|
+
}
|
|
139217
|
+
__name(getAnnotationNameInfo, "getAnnotationNameInfo");
|
|
139063
139218
|
function PointedAnnotation(props) {
|
|
139064
139219
|
const {
|
|
139065
139220
|
className,
|
|
@@ -139195,27 +139350,17 @@ ${seq.sequence}
|
|
|
139195
139350
|
Q ${pointiness},${height / 2} ${0},${0}
|
|
139196
139351
|
z`;
|
|
139197
139352
|
}
|
|
139198
|
-
|
|
139199
|
-
|
|
139200
|
-
|
|
139201
|
-
|
|
139202
|
-
|
|
139203
|
-
|
|
139204
|
-
|
|
139205
|
-
|
|
139206
|
-
|
|
139207
|
-
|
|
139208
|
-
|
|
139209
|
-
textOffset = width / 2 - nameToDisplay.length * 5 / 2 - (hasAPoint ? pointiness / 2 * (forward ? 1 : -1) : 0);
|
|
139210
|
-
} else {
|
|
139211
|
-
textOffset = 0;
|
|
139212
|
-
nameToDisplay = "";
|
|
139213
|
-
}
|
|
139214
|
-
} else {
|
|
139215
|
-
textOffset = 0;
|
|
139216
|
-
nameToDisplay = "";
|
|
139217
|
-
}
|
|
139218
|
-
}
|
|
139353
|
+
const { textOffset, nameToDisplay } = getAnnotationNameInfo({
|
|
139354
|
+
name: name2,
|
|
139355
|
+
width,
|
|
139356
|
+
hasAPoint,
|
|
139357
|
+
pointiness,
|
|
139358
|
+
forward,
|
|
139359
|
+
charWidth: charWidth2,
|
|
139360
|
+
truncateLabelsThatDoNotFit,
|
|
139361
|
+
onlyShowLabelsThatDoNotFit,
|
|
139362
|
+
annotation
|
|
139363
|
+
});
|
|
139219
139364
|
let _textColor = textColor;
|
|
139220
139365
|
if (!textColor) {
|
|
139221
139366
|
try {
|
|
@@ -145084,7 +145229,7 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
|
|
|
145084
145229
|
input.click();
|
|
145085
145230
|
}
|
|
145086
145231
|
__name(showFileDialog, "showFileDialog");
|
|
145087
|
-
const version = "0.8.
|
|
145232
|
+
const version = "0.8.30";
|
|
145088
145233
|
const packageJson = {
|
|
145089
145234
|
version
|
|
145090
145235
|
};
|
|
@@ -146002,7 +146147,7 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
|
|
|
146002
146147
|
},
|
|
146003
146148
|
exportSequenceAsTeselagenJson: {
|
|
146004
146149
|
name: "Download Teselagen JSON File",
|
|
146005
|
-
handler: /* @__PURE__ */ __name((props) => props.exportSequenceToFile("teselagenJson"), "handler")
|
|
146150
|
+
handler: /* @__PURE__ */ __name((props) => props.exportSequenceToFile("teselagenJson", { getAcceptedInsertChars: props.getAcceptedInsertChars }), "handler")
|
|
146006
146151
|
},
|
|
146007
146152
|
viewProperties: {
|
|
146008
146153
|
handler: /* @__PURE__ */ __name((props) => props.propertiesViewOpen(), "handler")
|
|
@@ -147211,6 +147356,7 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
|
|
|
147211
147356
|
caretPosition: caretPosition2,
|
|
147212
147357
|
sequenceData: sequenceData2,
|
|
147213
147358
|
maxInsertSize,
|
|
147359
|
+
getAcceptedInsertChars,
|
|
147214
147360
|
showAminoAcidUnitAsCodon
|
|
147215
147361
|
} = this.props;
|
|
147216
147362
|
const { charsToInsert, hasTempError } = this.state;
|
|
@@ -147246,7 +147392,8 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
|
|
|
147246
147392
|
const [sanitizedVal, warnings] = filterSequenceString(
|
|
147247
147393
|
e2.target.value,
|
|
147248
147394
|
__spreadProps(__spreadValues({}, sequenceData2), {
|
|
147249
|
-
name: void 0
|
|
147395
|
+
name: void 0,
|
|
147396
|
+
getAcceptedInsertChars
|
|
147250
147397
|
})
|
|
147251
147398
|
);
|
|
147252
147399
|
if (warnings.length) {
|
|
@@ -148125,7 +148272,8 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
|
|
|
148125
148272
|
onPaste,
|
|
148126
148273
|
disableBpEditing,
|
|
148127
148274
|
sequenceData: sequenceData2,
|
|
148128
|
-
maxInsertSize
|
|
148275
|
+
maxInsertSize,
|
|
148276
|
+
getAcceptedInsertChars
|
|
148129
148277
|
} = this.props;
|
|
148130
148278
|
if (disableBpEditing) {
|
|
148131
148279
|
return this.createDisableBpEditingMsg();
|
|
@@ -148164,7 +148312,8 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
|
|
|
148164
148312
|
topLevelSeqData: sequenceData2,
|
|
148165
148313
|
provideNewIdsForAnnotations: true,
|
|
148166
148314
|
annotationsAsObjects: true,
|
|
148167
|
-
noCdsTranslations: true
|
|
148315
|
+
noCdsTranslations: true,
|
|
148316
|
+
getAcceptedInsertChars
|
|
148168
148317
|
});
|
|
148169
148318
|
if (!seqDataToInsert.sequence.length)
|
|
148170
148319
|
return window.toastr.warning("Sorry no valid base pairs to paste");
|
|
@@ -148184,7 +148333,8 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
|
|
|
148184
148333
|
selectionLayer: selectionLayer2,
|
|
148185
148334
|
copyOptions: copyOptions2,
|
|
148186
148335
|
disableBpEditing,
|
|
148187
|
-
readOnly: readOnly2
|
|
148336
|
+
readOnly: readOnly2,
|
|
148337
|
+
getAcceptedInsertChars
|
|
148188
148338
|
} = this.props;
|
|
148189
148339
|
const onCut = this.props.onCut || this.props.onCopy || noop$8;
|
|
148190
148340
|
const seqData = tidyUpSequenceData(
|
|
@@ -148208,7 +148358,8 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
|
|
|
148208
148358
|
{
|
|
148209
148359
|
doNotRemoveInvalidChars: true,
|
|
148210
148360
|
annotationsAsObjects: true,
|
|
148211
|
-
includeProteinSequence: true
|
|
148361
|
+
includeProteinSequence: true,
|
|
148362
|
+
getAcceptedInsertChars
|
|
148212
148363
|
}
|
|
148213
148364
|
);
|
|
148214
148365
|
if (!(this.sequenceDataToCopy || {}).textToCopy && !seqData.sequence.length)
|
|
@@ -148226,7 +148377,8 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
|
|
|
148226
148377
|
e2,
|
|
148227
148378
|
tidyUpSequenceData(seqData, {
|
|
148228
148379
|
doNotRemoveInvalidChars: true,
|
|
148229
|
-
annotationsAsObjects: true
|
|
148380
|
+
annotationsAsObjects: true,
|
|
148381
|
+
getAcceptedInsertChars
|
|
148230
148382
|
}),
|
|
148231
148383
|
this.props
|
|
148232
148384
|
);
|
|
@@ -148276,6 +148428,7 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
|
|
|
148276
148428
|
readOnly: readOnly2,
|
|
148277
148429
|
disableBpEditing,
|
|
148278
148430
|
maxInsertSize,
|
|
148431
|
+
getAcceptedInsertChars,
|
|
148279
148432
|
showAminoAcidUnitAsCodon
|
|
148280
148433
|
} = this.props;
|
|
148281
148434
|
const sequenceLength = sequenceData2.sequence.length;
|
|
@@ -148295,6 +148448,7 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
|
|
|
148295
148448
|
sequenceLength,
|
|
148296
148449
|
caretPosition: caretPosition2,
|
|
148297
148450
|
maxInsertSize,
|
|
148451
|
+
getAcceptedInsertChars,
|
|
148298
148452
|
showAminoAcidUnitAsCodon,
|
|
148299
148453
|
handleInsert: /* @__PURE__ */ __name((seqDataToInsert) => __async(this, null, function* () {
|
|
148300
148454
|
yield insertAndSelectHelper({
|
|
@@ -150901,6 +151055,8 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
|
|
|
150901
151055
|
}));
|
|
150902
151056
|
}
|
|
150903
151057
|
getNearestCursorPositionToMouseEvent(rowData, event, callback2) {
|
|
151058
|
+
var _a2;
|
|
151059
|
+
const isProtein2 = (_a2 = this.props.sequenceData) == null ? void 0 : _a2.isProtein;
|
|
150904
151060
|
let nearestCaretPos = 0;
|
|
150905
151061
|
let rowDomNode = this.linearView;
|
|
150906
151062
|
rowDomNode = rowDomNode.querySelector(".veRowItem");
|
|
@@ -150914,11 +151070,11 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
|
|
|
150914
151070
|
(clickXPositionRelativeToRowContainer + this.charWidth / 2) / this.charWidth
|
|
150915
151071
|
);
|
|
150916
151072
|
nearestCaretPos = numberOfBPsInFromRowStart + 0;
|
|
150917
|
-
if (nearestCaretPos > maxEnd
|
|
150918
|
-
nearestCaretPos = maxEnd + 1;
|
|
151073
|
+
if (nearestCaretPos > maxEnd) {
|
|
151074
|
+
nearestCaretPos = isProtein2 ? maxEnd + 1 : maxEnd;
|
|
150919
151075
|
}
|
|
150920
151076
|
}
|
|
150921
|
-
if (
|
|
151077
|
+
if (isProtein2) {
|
|
150922
151078
|
nearestCaretPos = Math.round(nearestCaretPos / 3) * 3;
|
|
150923
151079
|
}
|
|
150924
151080
|
if (maxEnd === 0) nearestCaretPos = 0;
|
|
@@ -153985,6 +154141,30 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
|
|
|
153985
154141
|
}) : /* @__PURE__ */ React.createElement("span", null, "(", base1Range.start, "-", base1Range.end, ")")));
|
|
153986
154142
|
}, "render")
|
|
153987
154143
|
}), "sizeSchema");
|
|
154144
|
+
const getMemoOrfs = /* @__PURE__ */ (() => {
|
|
154145
|
+
let lastDeps;
|
|
154146
|
+
let lastResult;
|
|
154147
|
+
return (editorState) => {
|
|
154148
|
+
const {
|
|
154149
|
+
sequenceData: sequenceData2,
|
|
154150
|
+
minimumOrfSize: minimumOrfSize2,
|
|
154151
|
+
useAdditionalOrfStartCodons: useAdditionalOrfStartCodons2
|
|
154152
|
+
} = editorState;
|
|
154153
|
+
const { sequence: sequence2, circular: circular2 } = sequenceData2;
|
|
154154
|
+
const deps = {
|
|
154155
|
+
sequence: sequence2,
|
|
154156
|
+
circular: circular2,
|
|
154157
|
+
minimumOrfSize: minimumOrfSize2,
|
|
154158
|
+
useAdditionalOrfStartCodons: useAdditionalOrfStartCodons2
|
|
154159
|
+
};
|
|
154160
|
+
if (lastResult && isEqual$3(deps, lastDeps)) {
|
|
154161
|
+
return lastResult;
|
|
154162
|
+
}
|
|
154163
|
+
lastResult = selectors.orfsSelector(editorState);
|
|
154164
|
+
lastDeps = deps;
|
|
154165
|
+
return lastResult;
|
|
154166
|
+
};
|
|
154167
|
+
})();
|
|
153988
154168
|
var lodash$1 = { exports: {} };
|
|
153989
154169
|
/**
|
|
153990
154170
|
* @license
|
|
@@ -164540,10 +164720,16 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
|
|
|
164540
164720
|
hideDialog();
|
|
164541
164721
|
};
|
|
164542
164722
|
}, []);
|
|
164723
|
+
reactExports.useEffect(() => {
|
|
164724
|
+
dialogHolder.setUniqKeyToForceRerender = setUniqKeyToForceRerender;
|
|
164725
|
+
if (editorName) {
|
|
164726
|
+
const slot = dialogHolder[editorName] = dialogHolder[editorName] || {};
|
|
164727
|
+
slot.setUniqKeyToForceRerender = setUniqKeyToForceRerender;
|
|
164728
|
+
}
|
|
164729
|
+
}, [editorName]);
|
|
164543
164730
|
if (dialogHolder.editorName && editorName && dialogHolder.editorName !== editorName) {
|
|
164544
164731
|
return null;
|
|
164545
164732
|
}
|
|
164546
|
-
dialogHolder.setUniqKeyToForceRerender = setUniqKeyToForceRerender;
|
|
164547
164733
|
const Comp = dialogHolder.CustomModalComponent || dialogOverrides[dialogHolder.overrideName] || Dialogs[dialogHolder.dialogType];
|
|
164548
164734
|
if (!Comp) return null;
|
|
164549
164735
|
return /* @__PURE__ */ React.createElement(
|
|
@@ -169307,6 +169493,8 @@ ${seqDataToCopy}\r
|
|
|
169307
169493
|
"enzymeManageOverride",
|
|
169308
169494
|
"enzymeGroupsOverride",
|
|
169309
169495
|
"additionalEnzymes",
|
|
169496
|
+
"getAcceptedInsertChars",
|
|
169497
|
+
"maxInsertSize",
|
|
169310
169498
|
"onDelete",
|
|
169311
169499
|
"onCopy",
|
|
169312
169500
|
"autoAnnotateFeatures",
|
|
@@ -171080,7 +171268,7 @@ ${seqDataToCopy}\r
|
|
|
171080
171268
|
readOnly: readOnly2,
|
|
171081
171269
|
annotationVisibility: annotationVisibility2,
|
|
171082
171270
|
useAdditionalOrfStartCodons: useAdditionalOrfStartCodons2,
|
|
171083
|
-
orfs:
|
|
171271
|
+
orfs: getMemoOrfs(editorState),
|
|
171084
171272
|
sequenceLength: sequence2.length,
|
|
171085
171273
|
sequenceData: sequenceData2,
|
|
171086
171274
|
minimumOrfSize: minimumOrfSize2
|
|
@@ -171270,7 +171458,7 @@ ${seqDataToCopy}\r
|
|
|
171270
171458
|
return {
|
|
171271
171459
|
readOnly: readOnly2,
|
|
171272
171460
|
translations: selectors.translationsSelector(editorState),
|
|
171273
|
-
orfs:
|
|
171461
|
+
orfs: getMemoOrfs(editorState),
|
|
171274
171462
|
annotationVisibility: annotationVisibility2,
|
|
171275
171463
|
sequenceLength: (sequenceData2.sequence || "").length,
|
|
171276
171464
|
sequenceData: sequenceData2
|
|
@@ -172555,6 +172743,7 @@ ${seqDataToCopy}\r
|
|
|
172555
172743
|
hoveredId,
|
|
172556
172744
|
isFullscreen,
|
|
172557
172745
|
maxInsertSize,
|
|
172746
|
+
getAcceptedInsertChars,
|
|
172558
172747
|
showAminoAcidUnitAsCodon,
|
|
172559
172748
|
maxAnnotationsToDisplay,
|
|
172560
172749
|
minHeight = 400,
|
|
@@ -172744,6 +172933,7 @@ ${seqDataToCopy}\r
|
|
|
172744
172933
|
}), panelPropsToSpread), {
|
|
172745
172934
|
editorName,
|
|
172746
172935
|
maxInsertSize,
|
|
172936
|
+
getAcceptedInsertChars,
|
|
172747
172937
|
showAminoAcidUnitAsCodon,
|
|
172748
172938
|
isProtein: sequenceData2.isProtein,
|
|
172749
172939
|
onlyShowLabelsThatDoNotFit,
|