@teselagen/ove 0.8.22 → 0.8.24
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/index.cjs.js +263 -211
- package/index.es.js +263 -211
- package/index.umd.js +263 -211
- package/package.json +3 -3
- package/selectors/orfsSelector.d.ts +1 -1
- package/src/helperComponents/PropertiesDialog/GenericAnnotationProperties.js +224 -210
- package/src/selectors/orfsSelector.js +1 -0
- package/src/selectors/searchLayersSelector.js +21 -18
- package/src/utils/pureNoFunc.js +0 -18
- package/utils/pureNoFunc.d.ts +0 -2
package/index.umd.js
CHANGED
|
@@ -44301,23 +44301,6 @@ ${latestSubscriptionCallbackError.current.stack}
|
|
|
44301
44301
|
const { allOrderedEntities, selectedEntities } = useSelector(entitySelector);
|
|
44302
44302
|
return { selectTableEntities, allOrderedEntities, selectedEntities };
|
|
44303
44303
|
}, "useTableEntities");
|
|
44304
|
-
const isEqualIgnoreFunctions = /* @__PURE__ */ __name((o1, o2) => {
|
|
44305
|
-
const isEq = isEqualWith(o1, o2, function(val1, val2) {
|
|
44306
|
-
if (isFunction$1(val1) && isFunction$1(val2)) {
|
|
44307
|
-
return val1 === val2 || val1.toString() === val2.toString();
|
|
44308
|
-
}
|
|
44309
|
-
if (val1 && val1.constructor && val1.constructor.name === "FiberNode")
|
|
44310
|
-
return true;
|
|
44311
|
-
});
|
|
44312
|
-
return isEq;
|
|
44313
|
-
}, "isEqualIgnoreFunctions");
|
|
44314
|
-
const useDeepEqualMemo = /* @__PURE__ */ __name((value) => {
|
|
44315
|
-
const ref2 = reactExports.useRef();
|
|
44316
|
-
if (!isEqualIgnoreFunctions(value, ref2.current)) {
|
|
44317
|
-
ref2.current = value;
|
|
44318
|
-
}
|
|
44319
|
-
return ref2.current;
|
|
44320
|
-
}, "useDeepEqualMemo");
|
|
44321
44304
|
function rowClick(e2, rowInfo, entities, {
|
|
44322
44305
|
reduxFormSelectedEntityIdMap,
|
|
44323
44306
|
isSingleSelect,
|
|
@@ -85601,6 +85584,33 @@ ${latestSubscriptionCallbackError.current.stack}
|
|
|
85601
85584
|
$mobx
|
|
85602
85585
|
});
|
|
85603
85586
|
}
|
|
85587
|
+
const isEqualIgnoreFunctions = /* @__PURE__ */ __name((o1, o2) => {
|
|
85588
|
+
const isEq = isEqualWith(o1, o2, function(val1, val2) {
|
|
85589
|
+
if (isFunction$1(val1) && isFunction$1(val2)) {
|
|
85590
|
+
return val1 === val2 || val1.toString() === val2.toString();
|
|
85591
|
+
}
|
|
85592
|
+
if (val1 && val1.constructor && val1.constructor.name === "FiberNode")
|
|
85593
|
+
return true;
|
|
85594
|
+
});
|
|
85595
|
+
return isEq;
|
|
85596
|
+
}, "isEqualIgnoreFunctions");
|
|
85597
|
+
const useDeepEqualMemoIgnoreFns = /* @__PURE__ */ __name((value) => {
|
|
85598
|
+
const ref2 = reactExports.useRef();
|
|
85599
|
+
if (!isEqualIgnoreFunctions(value, ref2.current)) {
|
|
85600
|
+
ref2.current = value;
|
|
85601
|
+
}
|
|
85602
|
+
return ref2.current;
|
|
85603
|
+
}, "useDeepEqualMemoIgnoreFns");
|
|
85604
|
+
const useDeepEqualMemo = /* @__PURE__ */ __name((value) => {
|
|
85605
|
+
const ref2 = reactExports.useRef();
|
|
85606
|
+
if (!isEqual$3(value, ref2.current)) {
|
|
85607
|
+
ref2.current = value;
|
|
85608
|
+
}
|
|
85609
|
+
return ref2.current;
|
|
85610
|
+
}, "useDeepEqualMemo");
|
|
85611
|
+
const useMemoDeepEqual = /* @__PURE__ */ __name((value, depsArray) => {
|
|
85612
|
+
return reactExports.useMemo(value, useDeepEqualMemo(depsArray));
|
|
85613
|
+
}, "useMemoDeepEqual");
|
|
85604
85614
|
T$1();
|
|
85605
85615
|
const IS_LINUX = window.navigator.platform.toLowerCase().search("linux") > -1;
|
|
85606
85616
|
const itemSizeEstimators = {
|
|
@@ -85687,9 +85697,11 @@ ${latestSubscriptionCallbackError.current.stack}
|
|
|
85687
85697
|
"reduxFormSelectedEntityIdMap"
|
|
85688
85698
|
);
|
|
85689
85699
|
}, "dtFormParamsSelector"));
|
|
85690
|
-
const reduxFormCellValidation =
|
|
85691
|
-
|
|
85692
|
-
|
|
85700
|
+
const reduxFormCellValidation = useDeepEqualMemoIgnoreFns(
|
|
85701
|
+
_reduxFormCellValidation
|
|
85702
|
+
);
|
|
85703
|
+
const reduxFormQueryParams = useDeepEqualMemoIgnoreFns(_reduxFormQueryParams);
|
|
85704
|
+
const reduxFormSelectedEntityIdMap = useDeepEqualMemoIgnoreFns(
|
|
85693
85705
|
_reduxFormSelectedEntityIdMap
|
|
85694
85706
|
);
|
|
85695
85707
|
let props = ownProps;
|
|
@@ -85764,7 +85776,7 @@ ${latestSubscriptionCallbackError.current.stack}
|
|
|
85764
85776
|
const tmp = (urlConnected ? getCurrentParamsFromUrl(history.location) : reduxFormQueryParams) || {};
|
|
85765
85777
|
return tmp;
|
|
85766
85778
|
}, [history, reduxFormQueryParams, urlConnected]);
|
|
85767
|
-
const currentParams =
|
|
85779
|
+
const currentParams = useDeepEqualMemoIgnoreFns(_currentParams);
|
|
85768
85780
|
const tableParams = reactExports.useMemo(() => {
|
|
85769
85781
|
if (!isTableParamsConnected) {
|
|
85770
85782
|
const setNewParams2 = /* @__PURE__ */ __name((newParams) => {
|
|
@@ -85945,8 +85957,8 @@ ${latestSubscriptionCallbackError.current.stack}
|
|
|
85945
85957
|
() => ((reduxFormEntities == null ? void 0 : reduxFormEntities.length) ? reduxFormEntities : _origEntities) || [],
|
|
85946
85958
|
[_origEntities, reduxFormEntities]
|
|
85947
85959
|
);
|
|
85948
|
-
const entities =
|
|
85949
|
-
const entitiesAcrossPages =
|
|
85960
|
+
const entities = useDeepEqualMemoIgnoreFns(_entities);
|
|
85961
|
+
const entitiesAcrossPages = useDeepEqualMemoIgnoreFns(_entitiesAcrossPages);
|
|
85950
85962
|
reactExports.useEffect(() => {
|
|
85951
85963
|
change$12("allOrderedEntities", entitiesAcrossPages);
|
|
85952
85964
|
if (entities.length === 0 || isEmpty$1(reduxFormSelectedEntityIdMap)) return;
|
|
@@ -90510,7 +90522,7 @@ ${latestSubscriptionCallbackError.current.stack}
|
|
|
90510
90522
|
return (_b2 = (_a3 = state2.form) == null ? void 0 : _a3[dataTableForm]) == null ? void 0 : _b2.values.reduxFormEntities;
|
|
90511
90523
|
}
|
|
90512
90524
|
);
|
|
90513
|
-
const reduxFormEntities =
|
|
90525
|
+
const reduxFormEntities = useDeepEqualMemoIgnoreFns(_reduxFormEntities);
|
|
90514
90526
|
reactExports.useEffect(() => {
|
|
90515
90527
|
return () => dispatch(destroy(dataTableForm));
|
|
90516
90528
|
}, [dataTableForm, dispatch]);
|
|
@@ -90520,7 +90532,9 @@ ${latestSubscriptionCallbackError.current.stack}
|
|
|
90520
90532
|
return (_b2 = (_a3 = state2.form) == null ? void 0 : _a3[dataTableForm]) == null ? void 0 : _b2.values.reduxFormCellValidation;
|
|
90521
90533
|
}, "_reduxFormCellValidationSelector")
|
|
90522
90534
|
);
|
|
90523
|
-
const reduxFormCellValidation =
|
|
90535
|
+
const reduxFormCellValidation = useDeepEqualMemoIgnoreFns(
|
|
90536
|
+
_reduxFormCellValidation
|
|
90537
|
+
);
|
|
90524
90538
|
const { entsToUse, validationToUse } = reactExports.useMemo(
|
|
90525
90539
|
() => removeCleanRows(reduxFormEntities, reduxFormCellValidation),
|
|
90526
90540
|
[reduxFormEntities, reduxFormCellValidation]
|
|
@@ -90605,8 +90619,10 @@ ${latestSubscriptionCallbackError.current.stack}
|
|
|
90605
90619
|
"reduxFormCellValidation"
|
|
90606
90620
|
);
|
|
90607
90621
|
}, "dtFormNameSelector"));
|
|
90608
|
-
const reduxFormEntities =
|
|
90609
|
-
const reduxFormCellValidation =
|
|
90622
|
+
const reduxFormEntities = useDeepEqualMemoIgnoreFns(_reduxFormEntities);
|
|
90623
|
+
const reduxFormCellValidation = useDeepEqualMemoIgnoreFns(
|
|
90624
|
+
_reduxFormCellValidation
|
|
90625
|
+
);
|
|
90610
90626
|
let inner2;
|
|
90611
90627
|
if (hasSubmitted) {
|
|
90612
90628
|
inner2 = /* @__PURE__ */ React.createElement(
|
|
@@ -90908,8 +90924,10 @@ ${latestSubscriptionCallbackError.current.stack}
|
|
|
90908
90924
|
};
|
|
90909
90925
|
}
|
|
90910
90926
|
});
|
|
90911
|
-
const reduxFormEntitiesArray =
|
|
90912
|
-
|
|
90927
|
+
const reduxFormEntitiesArray = useDeepEqualMemoIgnoreFns(
|
|
90928
|
+
_reduxFormEntitiesArray
|
|
90929
|
+
);
|
|
90930
|
+
const finishedFiles = useDeepEqualMemoIgnoreFns(_finishedFiles);
|
|
90913
90931
|
const [hasSubmittedOuter, setSubmittedOuter] = reactExports.useState();
|
|
90914
90932
|
const [steps, setSteps] = reactExports.useState(getInitialSteps(true));
|
|
90915
90933
|
const [focusedTab, setFocusedTab] = reactExports.useState(0);
|
|
@@ -99408,12 +99426,21 @@ ${latestSubscriptionCallbackError.current.stack}
|
|
|
99408
99426
|
}, RndProps),
|
|
99409
99427
|
/* @__PURE__ */ React.createElement(
|
|
99410
99428
|
Dialog,
|
|
99411
|
-
__spreadValues({
|
|
99429
|
+
__spreadProps(__spreadValues({
|
|
99412
99430
|
enforceFocus: false,
|
|
99413
99431
|
hasBackdrop: false,
|
|
99414
99432
|
usePortal: false,
|
|
99415
99433
|
canEscapeKeyClose: true
|
|
99416
|
-
}, rest)
|
|
99434
|
+
}, rest), {
|
|
99435
|
+
title: /* @__PURE__ */ React.createElement("div", { style: { display: "flex", alignItems: "center", gap: 8 } }, /* @__PURE__ */ React.createElement(
|
|
99436
|
+
Icon,
|
|
99437
|
+
{
|
|
99438
|
+
size: "14",
|
|
99439
|
+
"data-tip": "I'm a resizable draggable dialog!",
|
|
99440
|
+
icon: "move"
|
|
99441
|
+
}
|
|
99442
|
+
), rest.title)
|
|
99443
|
+
})
|
|
99417
99444
|
)
|
|
99418
99445
|
)
|
|
99419
99446
|
);
|
|
@@ -102565,7 +102592,7 @@ ${latestSubscriptionCallbackError.current.stack}
|
|
|
102565
102592
|
{ name: "regulatory", color: "#3F6C51" },
|
|
102566
102593
|
{ name: "SecStr", color: "#7B4B94" },
|
|
102567
102594
|
{ name: "Site", color: "#7D82B8" },
|
|
102568
|
-
{ name: "telomere", color: "DE9151" },
|
|
102595
|
+
{ name: "telomere", color: "#DE9151" },
|
|
102569
102596
|
{ name: "tmRNA", color: "#B7E3CC" },
|
|
102570
102597
|
{ name: "unsure", color: "#C4FFB2" },
|
|
102571
102598
|
{ name: "V_segment", color: "#D6F7A3" },
|
|
@@ -112704,7 +112731,10 @@ ${latestSubscriptionCallbackError.current.stack}
|
|
|
112704
112731
|
return nonDuplicatedOrfRanges;
|
|
112705
112732
|
}
|
|
112706
112733
|
__name(getOrfsFromSequence, "getOrfsFromSequence");
|
|
112707
|
-
function findOrfsInPlasmid(sequence2, circular2, minimumOrfSize2, useAdditionalOrfStartCodons2) {
|
|
112734
|
+
function findOrfsInPlasmid(sequence2, circular2, minimumOrfSize2, useAdditionalOrfStartCodons2, isProteinOrOligo) {
|
|
112735
|
+
if (isProteinOrOligo) {
|
|
112736
|
+
return [];
|
|
112737
|
+
}
|
|
112708
112738
|
const forwardOrfs = getOrfsFromSequence({
|
|
112709
112739
|
sequence: sequence2,
|
|
112710
112740
|
minimumOrfSize: minimumOrfSize2,
|
|
@@ -126234,6 +126264,10 @@ ${seq.sequence}
|
|
|
126234
126264
|
circularSelector,
|
|
126235
126265
|
minimumOrfSizeSelector,
|
|
126236
126266
|
(state2) => state2.useAdditionalOrfStartCodons,
|
|
126267
|
+
(state2) => {
|
|
126268
|
+
var _a2, _b2;
|
|
126269
|
+
return ((_a2 = state2.sequenceData) == null ? void 0 : _a2.isProtein) || ((_b2 = state2.sequenceData) == null ? void 0 : _b2.isOligo);
|
|
126270
|
+
},
|
|
126237
126271
|
findOrfsInPlasmid
|
|
126238
126272
|
);
|
|
126239
126273
|
function translationsRawSelector(sequenceData2) {
|
|
@@ -126269,10 +126303,7 @@ ${seq.sequence}
|
|
|
126269
126303
|
end: end2 * 3 + 2
|
|
126270
126304
|
});
|
|
126271
126305
|
});
|
|
126272
|
-
return [
|
|
126273
|
-
...toReturn,
|
|
126274
|
-
...r2
|
|
126275
|
-
];
|
|
126306
|
+
return [...toReturn, ...r2];
|
|
126276
126307
|
}
|
|
126277
126308
|
if (dnaOrAA === "DNA" && ambiguousOrLiteral === "LITERAL" && mismatchesAllowed > 0) {
|
|
126278
126309
|
const approxMatches = findApproxMatches(
|
|
@@ -126290,9 +126321,12 @@ ${seq.sequence}
|
|
|
126290
126321
|
isSearchLayer: true,
|
|
126291
126322
|
forward: true
|
|
126292
126323
|
})).sort((a2, b3) => a2.start - b3.start);
|
|
126293
|
-
return [
|
|
126294
|
-
|
|
126295
|
-
|
|
126324
|
+
return [
|
|
126325
|
+
...toReturn,
|
|
126326
|
+
...matches2.map((match) => __spreadProps(__spreadValues({}, match), {
|
|
126327
|
+
className: "veSearchLayer"
|
|
126328
|
+
}))
|
|
126329
|
+
];
|
|
126296
126330
|
}
|
|
126297
126331
|
const matches = findSequenceMatches(sequence2, searchString, {
|
|
126298
126332
|
isCircular,
|
|
@@ -126302,11 +126336,14 @@ ${seq.sequence}
|
|
|
126302
126336
|
}).sort(({ start: start2 }, { start: start22 }) => {
|
|
126303
126337
|
return start2 - start22;
|
|
126304
126338
|
});
|
|
126305
|
-
return [
|
|
126306
|
-
|
|
126307
|
-
|
|
126308
|
-
|
|
126309
|
-
|
|
126339
|
+
return [
|
|
126340
|
+
...toReturn,
|
|
126341
|
+
...matches.map((match) => __spreadProps(__spreadValues({}, match), {
|
|
126342
|
+
forward: !match.bottomStrand,
|
|
126343
|
+
className: "veSearchLayer " + (match.bottomStrand ? " veSearchLayerBottomStrand" : ""),
|
|
126344
|
+
isSearchLayer: true
|
|
126345
|
+
}))
|
|
126346
|
+
];
|
|
126310
126347
|
}
|
|
126311
126348
|
__name(searchLayersSelector, "searchLayersSelector");
|
|
126312
126349
|
const searchLayersSelector$1 = createSelector(
|
|
@@ -126319,7 +126356,10 @@ ${seq.sequence}
|
|
|
126319
126356
|
(state2) => state2.sequenceData.isProtein,
|
|
126320
126357
|
(state2) => state2.sequenceData.proteinSequence,
|
|
126321
126358
|
(state2) => state2.findTool && state2.findTool.mismatchesAllowed,
|
|
126322
|
-
(state2) =>
|
|
126359
|
+
(state2) => {
|
|
126360
|
+
var _a2;
|
|
126361
|
+
return (_a2 = state2.temporaryAnnotations) == null ? void 0 : _a2.searchLayers;
|
|
126362
|
+
},
|
|
126323
126363
|
searchLayersSelector
|
|
126324
126364
|
);
|
|
126325
126365
|
const translationSearchMatchesSelector = createSelector(
|
|
@@ -145035,7 +145075,7 @@ Part of ${annotation.translationType} Translation from BPs ${annotation.start +
|
|
|
145035
145075
|
input.click();
|
|
145036
145076
|
}
|
|
145037
145077
|
__name(showFileDialog, "showFileDialog");
|
|
145038
|
-
const version = "0.8.
|
|
145078
|
+
const version = "0.8.23";
|
|
145039
145079
|
const packageJson = {
|
|
145040
145080
|
version
|
|
145041
145081
|
};
|
|
@@ -170396,12 +170436,29 @@ ${seqDataToCopy}\r
|
|
|
170396
170436
|
additionalFooterEls
|
|
170397
170437
|
}) => {
|
|
170398
170438
|
const annotationTypeUpper = upperFirst(annotationType);
|
|
170399
|
-
const
|
|
170400
|
-
|
|
170401
|
-
|
|
170402
|
-
|
|
170439
|
+
const AnnotationProperties = /* @__PURE__ */ __name((props) => {
|
|
170440
|
+
var _a2, _b2, _c2;
|
|
170441
|
+
const {
|
|
170442
|
+
readOnly: readOnly2,
|
|
170443
|
+
annotations = {},
|
|
170444
|
+
annotationVisibility: annotationVisibility2,
|
|
170445
|
+
sequenceLength,
|
|
170446
|
+
selectionLayer: selectionLayer2,
|
|
170447
|
+
sequence: sequence2,
|
|
170448
|
+
isProtein: isProtein2,
|
|
170449
|
+
allPartTags,
|
|
170450
|
+
annotationPropertiesSelectedEntities: _annotationPropertiesSelectedEntities,
|
|
170451
|
+
selectedAnnotationId,
|
|
170452
|
+
PropertiesProps,
|
|
170453
|
+
dispatch,
|
|
170454
|
+
editorName
|
|
170455
|
+
} = props;
|
|
170456
|
+
const instanceRef = React.useRef({ props });
|
|
170457
|
+
instanceRef.current.props = props;
|
|
170458
|
+
const cmds = React.useMemo(() => getCommands(instanceRef.current), []);
|
|
170459
|
+
const onRowSelect = React.useCallback(
|
|
170460
|
+
([record]) => {
|
|
170403
170461
|
if (!record) return;
|
|
170404
|
-
const { dispatch, editorName } = this.props;
|
|
170405
170462
|
dispatch({
|
|
170406
170463
|
type: "SELECTION_LAYER_UPDATE",
|
|
170407
170464
|
payload: record,
|
|
@@ -170409,44 +170466,33 @@ ${seqDataToCopy}\r
|
|
|
170409
170466
|
editorName
|
|
170410
170467
|
}
|
|
170411
170468
|
});
|
|
170412
|
-
},
|
|
170413
|
-
|
|
170414
|
-
|
|
170415
|
-
|
|
170416
|
-
|
|
170417
|
-
|
|
170418
|
-
|
|
170419
|
-
annotations = {},
|
|
170420
|
-
annotationVisibility: annotationVisibility2,
|
|
170421
|
-
sequenceLength,
|
|
170422
|
-
selectionLayer: selectionLayer2,
|
|
170423
|
-
sequence: sequence2,
|
|
170424
|
-
isProtein: isProtein2,
|
|
170425
|
-
allPartTags,
|
|
170426
|
-
annotationPropertiesSelectedEntities: _annotationPropertiesSelectedEntities,
|
|
170427
|
-
selectedAnnotationId,
|
|
170428
|
-
PropertiesProps
|
|
170429
|
-
} = this.props;
|
|
170430
|
-
const annotationPropertiesSelectedEntities = _annotationPropertiesSelectedEntities.filter((a2) => annotations[a2.id]);
|
|
170431
|
-
const deleteAnnotation = this.props[`delete${annotationTypeUpper}`];
|
|
170432
|
-
const annotationsToUse = map$3(annotations, (annotation) => {
|
|
170469
|
+
},
|
|
170470
|
+
[dispatch, editorName]
|
|
170471
|
+
);
|
|
170472
|
+
const annotationPropertiesSelectedEntities = _annotationPropertiesSelectedEntities.filter((a2) => annotations[a2.id]);
|
|
170473
|
+
const deleteAnnotation = props[`delete${annotationTypeUpper}`];
|
|
170474
|
+
const annotationsToUse = React.useMemo(
|
|
170475
|
+
() => map$3(annotations, (annotation) => {
|
|
170433
170476
|
return __spreadProps(__spreadValues(__spreadValues({}, annotation), annotation.strand === void 0 && {
|
|
170434
170477
|
strand: annotation.forward ? 1 : -1
|
|
170435
170478
|
}), {
|
|
170436
170479
|
size: getRangeLength(annotation, sequenceLength)
|
|
170437
170480
|
});
|
|
170438
|
-
})
|
|
170439
|
-
|
|
170440
|
-
|
|
170441
|
-
|
|
170442
|
-
|
|
170443
|
-
|
|
170481
|
+
}),
|
|
170482
|
+
[annotations, sequenceLength]
|
|
170483
|
+
);
|
|
170484
|
+
const keyedPartTags = (_a2 = getKeyedTagsAndTagOptions(allPartTags)) != null ? _a2 : {};
|
|
170485
|
+
const additionalColumns = ((_c2 = (_b2 = PropertiesProps == null ? void 0 : PropertiesProps.propertiesList) == null ? void 0 : _b2.find(
|
|
170486
|
+
(p2) => (p2.name || p2) === (pluralize(annotationType) || "")
|
|
170487
|
+
)) == null ? void 0 : _c2.additionalColumns) || [];
|
|
170488
|
+
const schema2 = useMemoDeepEqual(
|
|
170489
|
+
() => ({
|
|
170444
170490
|
fields: [
|
|
170445
170491
|
{
|
|
170446
170492
|
path: "name",
|
|
170447
170493
|
type: "string",
|
|
170448
170494
|
render: /* @__PURE__ */ __name((name2, ann) => {
|
|
170449
|
-
const checked = !
|
|
170495
|
+
const checked = !annotationVisibility2[`${annotationType}IndividualToHide`][ann.id];
|
|
170450
170496
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement(
|
|
170451
170497
|
Icon,
|
|
170452
170498
|
{
|
|
@@ -170455,9 +170501,9 @@ ${seqDataToCopy}\r
|
|
|
170455
170501
|
e2.stopPropagation();
|
|
170456
170502
|
const upperType = startCase(annotationType);
|
|
170457
170503
|
if (checked) {
|
|
170458
|
-
|
|
170504
|
+
props[`hide${upperType}Individual`]([ann.id]);
|
|
170459
170505
|
} else {
|
|
170460
|
-
|
|
170506
|
+
props[`show${upperType}Individual`]([ann.id]);
|
|
170461
170507
|
}
|
|
170462
170508
|
}, "onClick"),
|
|
170463
170509
|
style: {
|
|
@@ -170478,7 +170524,7 @@ ${seqDataToCopy}\r
|
|
|
170478
170524
|
render: /* @__PURE__ */ __name((bases, primer) => {
|
|
170479
170525
|
let bps = bases;
|
|
170480
170526
|
if (!bases) {
|
|
170481
|
-
bps = getSequenceWithinRange(primer,
|
|
170527
|
+
bps = getSequenceWithinRange(primer, sequence2);
|
|
170482
170528
|
if (!primer.forward) {
|
|
170483
170529
|
bps = getReverseComplementSequenceString(bps);
|
|
170484
170530
|
}
|
|
@@ -170503,8 +170549,8 @@ ${seqDataToCopy}\r
|
|
|
170503
170549
|
}, "render")
|
|
170504
170550
|
}
|
|
170505
170551
|
],
|
|
170506
|
-
sizeSchema(
|
|
170507
|
-
...withTags &&
|
|
170552
|
+
sizeSchema(isProtein2),
|
|
170553
|
+
...withTags && allPartTags ? [
|
|
170508
170554
|
{
|
|
170509
170555
|
path: "tags",
|
|
170510
170556
|
type: "string",
|
|
@@ -170528,138 +170574,144 @@ ${seqDataToCopy}\r
|
|
|
170528
170574
|
{ path: "strand", type: "number" },
|
|
170529
170575
|
...additionalColumns
|
|
170530
170576
|
]
|
|
170531
|
-
}
|
|
170532
|
-
|
|
170533
|
-
|
|
170534
|
-
|
|
170535
|
-
|
|
170536
|
-
|
|
170537
|
-
|
|
170538
|
-
|
|
170539
|
-
|
|
170540
|
-
|
|
170541
|
-
|
|
170542
|
-
|
|
170543
|
-
|
|
170544
|
-
|
|
170545
|
-
|
|
170546
|
-
|
|
170547
|
-
|
|
170548
|
-
position: "top",
|
|
170549
|
-
modifiers: popoverOverflowModifiers,
|
|
170550
|
-
content: "New"
|
|
170551
|
-
},
|
|
170552
|
-
/* @__PURE__ */ React.createElement(
|
|
170553
|
-
AnchorButton,
|
|
170554
|
-
{
|
|
170555
|
-
disabled: !sequenceLength,
|
|
170556
|
-
icon: "plus",
|
|
170557
|
-
className: "tgNewAnnBtn",
|
|
170558
|
-
onClick: /* @__PURE__ */ __name(() => {
|
|
170559
|
-
showAddOrEditAnnotationDialog({
|
|
170560
|
-
type: annotationType,
|
|
170561
|
-
annotation: pick$1(
|
|
170562
|
-
selectionLayer2,
|
|
170563
|
-
"start",
|
|
170564
|
-
"end",
|
|
170565
|
-
"forward"
|
|
170566
|
-
)
|
|
170567
|
-
});
|
|
170568
|
-
}, "onClick")
|
|
170569
|
-
}
|
|
170570
|
-
)
|
|
170571
|
-
), /* @__PURE__ */ React.createElement(
|
|
170572
|
-
Tooltip,
|
|
170577
|
+
}),
|
|
170578
|
+
[
|
|
170579
|
+
additionalColumns,
|
|
170580
|
+
allPartTags,
|
|
170581
|
+
annotationVisibility2,
|
|
170582
|
+
isProtein2,
|
|
170583
|
+
keyedPartTags,
|
|
170584
|
+
sequence2
|
|
170585
|
+
]
|
|
170586
|
+
);
|
|
170587
|
+
return /* @__PURE__ */ React.createElement(
|
|
170588
|
+
WrappedDT,
|
|
170589
|
+
{
|
|
170590
|
+
topLeftItems: getVisFilter(
|
|
170591
|
+
createCommandMenu(
|
|
170592
|
+
isFunction$1(visSubmenu) ? visSubmenu(props) : visSubmenu,
|
|
170593
|
+
cmds,
|
|
170573
170594
|
{
|
|
170574
|
-
|
|
170575
|
-
|
|
170576
|
-
|
|
170577
|
-
|
|
170578
|
-
|
|
170579
|
-
|
|
170580
|
-
|
|
170581
|
-
|
|
170582
|
-
|
|
170583
|
-
|
|
170584
|
-
|
|
170585
|
-
|
|
170586
|
-
|
|
170587
|
-
|
|
170588
|
-
icon: "edit"
|
|
170589
|
-
}
|
|
170590
|
-
)
|
|
170591
|
-
), ["feature"].includes(annotationType) && /* @__PURE__ */ React.createElement(
|
|
170592
|
-
CmdButton,
|
|
170595
|
+
useTicks: true
|
|
170596
|
+
}
|
|
170597
|
+
)
|
|
170598
|
+
),
|
|
170599
|
+
annotationPropertiesSelectedEntities,
|
|
170600
|
+
leftOfSearchBarItems: /* @__PURE__ */ React.createElement(React.Fragment, null, !readOnly2 && /* @__PURE__ */ React.createElement(ButtonGroup, { style: { marginTop: 3, marginRight: 4 } }, /* @__PURE__ */ React.createElement(
|
|
170601
|
+
Tooltip,
|
|
170602
|
+
{
|
|
170603
|
+
position: "top",
|
|
170604
|
+
modifiers: popoverOverflowModifiers,
|
|
170605
|
+
content: "New"
|
|
170606
|
+
},
|
|
170607
|
+
/* @__PURE__ */ React.createElement(
|
|
170608
|
+
AnchorButton,
|
|
170593
170609
|
{
|
|
170594
|
-
|
|
170595
|
-
icon: "
|
|
170596
|
-
|
|
170597
|
-
|
|
170610
|
+
disabled: !sequenceLength,
|
|
170611
|
+
icon: "plus",
|
|
170612
|
+
className: "tgNewAnnBtn",
|
|
170613
|
+
onClick: /* @__PURE__ */ __name(() => {
|
|
170614
|
+
showAddOrEditAnnotationDialog({
|
|
170615
|
+
type: annotationType,
|
|
170616
|
+
annotation: pick$1(
|
|
170617
|
+
selectionLayer2,
|
|
170618
|
+
"start",
|
|
170619
|
+
"end",
|
|
170620
|
+
"forward"
|
|
170621
|
+
)
|
|
170622
|
+
});
|
|
170623
|
+
}, "onClick")
|
|
170598
170624
|
}
|
|
170599
|
-
)
|
|
170600
|
-
|
|
170625
|
+
)
|
|
170626
|
+
), /* @__PURE__ */ React.createElement(
|
|
170627
|
+
Tooltip,
|
|
170628
|
+
{
|
|
170629
|
+
position: "top",
|
|
170630
|
+
modifiers: popoverOverflowModifiers,
|
|
170631
|
+
content: "Edit"
|
|
170632
|
+
},
|
|
170633
|
+
/* @__PURE__ */ React.createElement(
|
|
170634
|
+
AnchorButton,
|
|
170601
170635
|
{
|
|
170602
|
-
|
|
170603
|
-
|
|
170604
|
-
|
|
170605
|
-
|
|
170636
|
+
onClick: /* @__PURE__ */ __name(() => {
|
|
170637
|
+
showAddOrEditAnnotationDialog({
|
|
170638
|
+
type: annotationType,
|
|
170639
|
+
annotation: annotationPropertiesSelectedEntities[0]
|
|
170640
|
+
});
|
|
170641
|
+
}, "onClick"),
|
|
170642
|
+
disabled: annotationPropertiesSelectedEntities.length !== 1,
|
|
170643
|
+
icon: "edit"
|
|
170606
170644
|
}
|
|
170607
|
-
)
|
|
170608
|
-
|
|
170645
|
+
)
|
|
170646
|
+
), ["feature"].includes(annotationType) && /* @__PURE__ */ React.createElement(
|
|
170647
|
+
CmdButton,
|
|
170648
|
+
{
|
|
170649
|
+
text: "",
|
|
170650
|
+
icon: "cog",
|
|
170651
|
+
"data-tip": "Configure Feature Types",
|
|
170652
|
+
cmd: cmds.onConfigureFeatureTypesClick
|
|
170653
|
+
}
|
|
170654
|
+
), ["part", "primer", "feature"].includes(annotationType) && /* @__PURE__ */ React.createElement(
|
|
170655
|
+
CmdButton,
|
|
170656
|
+
{
|
|
170657
|
+
text: "",
|
|
170658
|
+
icon: removeDuplicatesIcon,
|
|
170659
|
+
"data-tip": "Remove Duplicates",
|
|
170660
|
+
cmd: cmds[`showRemoveDuplicatesDialog${annotationTypeUpper + "s"}`]
|
|
170661
|
+
}
|
|
170662
|
+
), additionalFooterEls && additionalFooterEls(props), /* @__PURE__ */ React.createElement(
|
|
170663
|
+
Tooltip,
|
|
170664
|
+
{
|
|
170665
|
+
position: "top",
|
|
170666
|
+
modifiers: popoverOverflowModifiers,
|
|
170667
|
+
content: "Delete"
|
|
170668
|
+
},
|
|
170669
|
+
/* @__PURE__ */ React.createElement(
|
|
170670
|
+
AnchorButton,
|
|
170609
170671
|
{
|
|
170610
|
-
|
|
170611
|
-
|
|
170612
|
-
|
|
170613
|
-
|
|
170614
|
-
|
|
170615
|
-
|
|
170616
|
-
|
|
170617
|
-
|
|
170618
|
-
|
|
170619
|
-
|
|
170620
|
-
|
|
170621
|
-
|
|
170622
|
-
|
|
170623
|
-
|
|
170624
|
-
|
|
170625
|
-
|
|
170626
|
-
|
|
170627
|
-
|
|
170628
|
-
|
|
170629
|
-
|
|
170630
|
-
|
|
170631
|
-
|
|
170632
|
-
|
|
170633
|
-
|
|
170634
|
-
|
|
170635
|
-
|
|
170636
|
-
|
|
170637
|
-
|
|
170638
|
-
|
|
170639
|
-
|
|
170640
|
-
|
|
170641
|
-
|
|
170642
|
-
|
|
170643
|
-
|
|
170644
|
-
|
|
170645
|
-
|
|
170646
|
-
|
|
170647
|
-
|
|
170648
|
-
|
|
170649
|
-
|
|
170650
|
-
|
|
170651
|
-
|
|
170652
|
-
|
|
170653
|
-
isInfinite: true,
|
|
170654
|
-
withDisplayOptions: true,
|
|
170655
|
-
schema: this.schema,
|
|
170656
|
-
entities: annotationsToUse
|
|
170657
|
-
}
|
|
170658
|
-
);
|
|
170659
|
-
}
|
|
170660
|
-
};
|
|
170661
|
-
__name(_AnnotationProperties, "AnnotationProperties");
|
|
170662
|
-
let AnnotationProperties = _AnnotationProperties;
|
|
170672
|
+
onClick: /* @__PURE__ */ __name(() => {
|
|
170673
|
+
deleteAnnotation(annotationPropertiesSelectedEntities);
|
|
170674
|
+
}, "onClick"),
|
|
170675
|
+
className: "tgDeleteAnnsBtn",
|
|
170676
|
+
intent: "danger",
|
|
170677
|
+
disabled: !annotationPropertiesSelectedEntities.length,
|
|
170678
|
+
icon: "trash"
|
|
170679
|
+
}
|
|
170680
|
+
)
|
|
170681
|
+
))),
|
|
170682
|
+
onDoubleClick: /* @__PURE__ */ __name((annotation) => {
|
|
170683
|
+
showAddOrEditAnnotationDialog({
|
|
170684
|
+
type: annotationType,
|
|
170685
|
+
annotation
|
|
170686
|
+
});
|
|
170687
|
+
}, "onDoubleClick"),
|
|
170688
|
+
withCheckboxes: true,
|
|
170689
|
+
showFeatureIndividual: props.showFeatureIndividual,
|
|
170690
|
+
hideFeatureIndividual: props.hideFeatureIndividual,
|
|
170691
|
+
showPartIndividual: props.showPartIndividual,
|
|
170692
|
+
hidePartIndividual: props.hidePartIndividual,
|
|
170693
|
+
showPrimerIndividual: props.showPrimerIndividual,
|
|
170694
|
+
hidePrimerIndividual: props.hidePrimerIndividual,
|
|
170695
|
+
annotationVisibility: annotationVisibility2,
|
|
170696
|
+
featureLengthsToHide: props.featureLengthsToHide,
|
|
170697
|
+
primerLengthsToHide: props.primerLengthsToHide,
|
|
170698
|
+
partLengthsToHide: props.partLengthsToHide,
|
|
170699
|
+
sequence: sequence2,
|
|
170700
|
+
noPadding: true,
|
|
170701
|
+
noFullscreenButton: true,
|
|
170702
|
+
onRowSelect,
|
|
170703
|
+
selectedIds: selectedAnnotationId,
|
|
170704
|
+
formName: "annotationProperties",
|
|
170705
|
+
noRouter: true,
|
|
170706
|
+
isProtein: isProtein2,
|
|
170707
|
+
compact: true,
|
|
170708
|
+
isInfinite: true,
|
|
170709
|
+
withDisplayOptions: true,
|
|
170710
|
+
schema: schema2,
|
|
170711
|
+
entities: annotationsToUse
|
|
170712
|
+
}
|
|
170713
|
+
);
|
|
170714
|
+
}, "AnnotationProperties");
|
|
170663
170715
|
return compose(
|
|
170664
170716
|
connectToEditor(
|
|
170665
170717
|
({
|