@teselagen/ove 0.8.21 → 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.es.js CHANGED
@@ -17242,23 +17242,6 @@ const useTableEntities = /* @__PURE__ */ __name((tableFormName) => {
17242
17242
  const { allOrderedEntities, selectedEntities } = useSelector(entitySelector);
17243
17243
  return { selectTableEntities, allOrderedEntities, selectedEntities };
17244
17244
  }, "useTableEntities");
17245
- const isEqualIgnoreFunctions = /* @__PURE__ */ __name((o1, o2) => {
17246
- const isEq = isEqualWith(o1, o2, function(val1, val2) {
17247
- if (isFunction$2(val1) && isFunction$2(val2)) {
17248
- return val1 === val2 || val1.toString() === val2.toString();
17249
- }
17250
- if (val1 && val1.constructor && val1.constructor.name === "FiberNode")
17251
- return true;
17252
- });
17253
- return isEq;
17254
- }, "isEqualIgnoreFunctions");
17255
- const useDeepEqualMemo = /* @__PURE__ */ __name((value) => {
17256
- const ref2 = useRef();
17257
- if (!isEqualIgnoreFunctions(value, ref2.current)) {
17258
- ref2.current = value;
17259
- }
17260
- return ref2.current;
17261
- }, "useDeepEqualMemo");
17262
17245
  function rowClick(e, rowInfo, entities, {
17263
17246
  reduxFormSelectedEntityIdMap,
17264
17247
  isSingleSelect,
@@ -56552,6 +56535,33 @@ if (typeof __MOBX_DEVTOOLS_GLOBAL_HOOK__ === "object") {
56552
56535
  $mobx
56553
56536
  });
56554
56537
  }
56538
+ const isEqualIgnoreFunctions = /* @__PURE__ */ __name((o1, o2) => {
56539
+ const isEq = isEqualWith(o1, o2, function(val1, val2) {
56540
+ if (isFunction$2(val1) && isFunction$2(val2)) {
56541
+ return val1 === val2 || val1.toString() === val2.toString();
56542
+ }
56543
+ if (val1 && val1.constructor && val1.constructor.name === "FiberNode")
56544
+ return true;
56545
+ });
56546
+ return isEq;
56547
+ }, "isEqualIgnoreFunctions");
56548
+ const useDeepEqualMemoIgnoreFns = /* @__PURE__ */ __name((value) => {
56549
+ const ref2 = useRef();
56550
+ if (!isEqualIgnoreFunctions(value, ref2.current)) {
56551
+ ref2.current = value;
56552
+ }
56553
+ return ref2.current;
56554
+ }, "useDeepEqualMemoIgnoreFns");
56555
+ const useDeepEqualMemo = /* @__PURE__ */ __name((value) => {
56556
+ const ref2 = useRef();
56557
+ if (!isEqual$3(value, ref2.current)) {
56558
+ ref2.current = value;
56559
+ }
56560
+ return ref2.current;
56561
+ }, "useDeepEqualMemo");
56562
+ const useMemoDeepEqual = /* @__PURE__ */ __name((value, depsArray) => {
56563
+ return useMemo$1(value, useDeepEqualMemo(depsArray));
56564
+ }, "useMemoDeepEqual");
56555
56565
  T();
56556
56566
  const IS_LINUX = window.navigator.platform.toLowerCase().search("linux") > -1;
56557
56567
  const itemSizeEstimators = {
@@ -56638,9 +56648,11 @@ const DataTable = /* @__PURE__ */ __name((_w) => {
56638
56648
  "reduxFormSelectedEntityIdMap"
56639
56649
  );
56640
56650
  }, "dtFormParamsSelector"));
56641
- const reduxFormCellValidation = useDeepEqualMemo(_reduxFormCellValidation);
56642
- const reduxFormQueryParams = useDeepEqualMemo(_reduxFormQueryParams);
56643
- const reduxFormSelectedEntityIdMap = useDeepEqualMemo(
56651
+ const reduxFormCellValidation = useDeepEqualMemoIgnoreFns(
56652
+ _reduxFormCellValidation
56653
+ );
56654
+ const reduxFormQueryParams = useDeepEqualMemoIgnoreFns(_reduxFormQueryParams);
56655
+ const reduxFormSelectedEntityIdMap = useDeepEqualMemoIgnoreFns(
56644
56656
  _reduxFormSelectedEntityIdMap
56645
56657
  );
56646
56658
  let props = ownProps;
@@ -56715,7 +56727,7 @@ const DataTable = /* @__PURE__ */ __name((_w) => {
56715
56727
  const tmp = (urlConnected ? getCurrentParamsFromUrl(history.location) : reduxFormQueryParams) || {};
56716
56728
  return tmp;
56717
56729
  }, [history, reduxFormQueryParams, urlConnected]);
56718
- const currentParams = useDeepEqualMemo(_currentParams);
56730
+ const currentParams = useDeepEqualMemoIgnoreFns(_currentParams);
56719
56731
  const tableParams = useMemo$1(() => {
56720
56732
  if (!isTableParamsConnected) {
56721
56733
  const setNewParams2 = /* @__PURE__ */ __name((newParams) => {
@@ -56896,8 +56908,8 @@ const DataTable = /* @__PURE__ */ __name((_w) => {
56896
56908
  () => ((reduxFormEntities == null ? void 0 : reduxFormEntities.length) ? reduxFormEntities : _origEntities) || [],
56897
56909
  [_origEntities, reduxFormEntities]
56898
56910
  );
56899
- const entities = useDeepEqualMemo(_entities);
56900
- const entitiesAcrossPages = useDeepEqualMemo(_entitiesAcrossPages);
56911
+ const entities = useDeepEqualMemoIgnoreFns(_entities);
56912
+ const entitiesAcrossPages = useDeepEqualMemoIgnoreFns(_entitiesAcrossPages);
56901
56913
  useEffect(() => {
56902
56914
  change$1("allOrderedEntities", entitiesAcrossPages);
56903
56915
  if (entities.length === 0 || isEmpty$1(reduxFormSelectedEntityIdMap)) return;
@@ -61461,7 +61473,7 @@ const SimpleInsertDataDialog = compose(
61461
61473
  return (_b2 = (_a3 = state2.form) == null ? void 0 : _a3[dataTableForm]) == null ? void 0 : _b2.values.reduxFormEntities;
61462
61474
  }
61463
61475
  );
61464
- const reduxFormEntities = useDeepEqualMemo(_reduxFormEntities);
61476
+ const reduxFormEntities = useDeepEqualMemoIgnoreFns(_reduxFormEntities);
61465
61477
  useEffect(() => {
61466
61478
  return () => dispatch(destroy$1(dataTableForm));
61467
61479
  }, [dataTableForm, dispatch]);
@@ -61471,7 +61483,9 @@ const SimpleInsertDataDialog = compose(
61471
61483
  return (_b2 = (_a3 = state2.form) == null ? void 0 : _a3[dataTableForm]) == null ? void 0 : _b2.values.reduxFormCellValidation;
61472
61484
  }, "_reduxFormCellValidationSelector")
61473
61485
  );
61474
- const reduxFormCellValidation = useDeepEqualMemo(_reduxFormCellValidation);
61486
+ const reduxFormCellValidation = useDeepEqualMemoIgnoreFns(
61487
+ _reduxFormCellValidation
61488
+ );
61475
61489
  const { entsToUse, validationToUse } = useMemo$1(
61476
61490
  () => removeCleanRows(reduxFormEntities, reduxFormCellValidation),
61477
61491
  [reduxFormEntities, reduxFormCellValidation]
@@ -61556,8 +61570,10 @@ const UploadCsvWizardDialogInner = reduxForm()(({
61556
61570
  "reduxFormCellValidation"
61557
61571
  );
61558
61572
  }, "dtFormNameSelector"));
61559
- const reduxFormEntities = useDeepEqualMemo(_reduxFormEntities);
61560
- const reduxFormCellValidation = useDeepEqualMemo(_reduxFormCellValidation);
61573
+ const reduxFormEntities = useDeepEqualMemoIgnoreFns(_reduxFormEntities);
61574
+ const reduxFormCellValidation = useDeepEqualMemoIgnoreFns(
61575
+ _reduxFormCellValidation
61576
+ );
61561
61577
  let inner2;
61562
61578
  if (hasSubmitted) {
61563
61579
  inner2 = /* @__PURE__ */ React__default.createElement(
@@ -61859,8 +61875,10 @@ const UploadCsvWizardDialog = compose(
61859
61875
  };
61860
61876
  }
61861
61877
  });
61862
- const reduxFormEntitiesArray = useDeepEqualMemo(_reduxFormEntitiesArray);
61863
- const finishedFiles = useDeepEqualMemo(_finishedFiles);
61878
+ const reduxFormEntitiesArray = useDeepEqualMemoIgnoreFns(
61879
+ _reduxFormEntitiesArray
61880
+ );
61881
+ const finishedFiles = useDeepEqualMemoIgnoreFns(_finishedFiles);
61864
61882
  const [hasSubmittedOuter, setSubmittedOuter] = useState();
61865
61883
  const [steps, setSteps] = useState(getInitialSteps(true));
61866
61884
  const [focusedTab, setFocusedTab] = useState(0);
@@ -70365,12 +70383,21 @@ const _ResizableDraggableDialog = class _ResizableDraggableDialog extends React_
70365
70383
  }, RndProps),
70366
70384
  /* @__PURE__ */ React__default.createElement(
70367
70385
  Dialog,
70368
- __spreadValues({
70386
+ __spreadProps(__spreadValues({
70369
70387
  enforceFocus: false,
70370
70388
  hasBackdrop: false,
70371
70389
  usePortal: false,
70372
70390
  canEscapeKeyClose: true
70373
- }, rest)
70391
+ }, rest), {
70392
+ title: /* @__PURE__ */ React__default.createElement("div", { style: { display: "flex", alignItems: "center", gap: 8 } }, /* @__PURE__ */ React__default.createElement(
70393
+ Icon,
70394
+ {
70395
+ size: "14",
70396
+ "data-tip": "I'm a resizable draggable dialog!",
70397
+ icon: "move"
70398
+ }
70399
+ ), rest.title)
70400
+ })
70374
70401
  )
70375
70402
  )
70376
70403
  );
@@ -73644,7 +73671,7 @@ const genbankFeatureTypes = [
73644
73671
  { name: "regulatory", color: "#3F6C51" },
73645
73672
  { name: "SecStr", color: "#7B4B94" },
73646
73673
  { name: "Site", color: "#7D82B8" },
73647
- { name: "telomere", color: "DE9151" },
73674
+ { name: "telomere", color: "#DE9151" },
73648
73675
  { name: "tmRNA", color: "#B7E3CC" },
73649
73676
  { name: "unsure", color: "#C4FFB2" },
73650
73677
  { name: "V_segment", color: "#D6F7A3" },
@@ -83783,7 +83810,10 @@ function getOrfsFromSequence(options) {
83783
83810
  return nonDuplicatedOrfRanges;
83784
83811
  }
83785
83812
  __name(getOrfsFromSequence, "getOrfsFromSequence");
83786
- function findOrfsInPlasmid(sequence2, circular2, minimumOrfSize2, useAdditionalOrfStartCodons2) {
83813
+ function findOrfsInPlasmid(sequence2, circular2, minimumOrfSize2, useAdditionalOrfStartCodons2, isProteinOrOligo) {
83814
+ if (isProteinOrOligo) {
83815
+ return [];
83816
+ }
83787
83817
  const forwardOrfs = getOrfsFromSequence({
83788
83818
  sequence: sequence2,
83789
83819
  minimumOrfSize: minimumOrfSize2,
@@ -97272,7 +97302,7 @@ const temporaryAnnotations = createMergedDefaultStateReducer(
97272
97302
  features: {},
97273
97303
  primers: {},
97274
97304
  parts: {},
97275
- selectionLayer: {}
97305
+ searchLayers: []
97276
97306
  }
97277
97307
  );
97278
97308
  const temporaryAnnotations$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
@@ -98068,6 +98098,10 @@ const orfsSelector = createSelector(
98068
98098
  circularSelector,
98069
98099
  minimumOrfSizeSelector,
98070
98100
  (state2) => state2.useAdditionalOrfStartCodons,
98101
+ (state2) => {
98102
+ var _a2, _b2;
98103
+ return ((_a2 = state2.sequenceData) == null ? void 0 : _a2.isProtein) || ((_b2 = state2.sequenceData) == null ? void 0 : _b2.isOligo);
98104
+ },
98071
98105
  findOrfsInPlasmid
98072
98106
  );
98073
98107
  function translationsRawSelector(sequenceData2) {
@@ -98075,9 +98109,10 @@ function translationsRawSelector(sequenceData2) {
98075
98109
  }
98076
98110
  __name(translationsRawSelector, "translationsRawSelector");
98077
98111
  const translationsRawSelector$1 = createSelector(sequenceDataSelector, translationsRawSelector);
98078
- function searchLayersSelector(sequence2, isCircular, isOpen, searchString, ambiguousOrLiteral, dnaOrAA, isProtein2, proteinSequence, mismatchesAllowed) {
98112
+ function searchLayersSelector(sequence2, isCircular, isOpen, searchString, ambiguousOrLiteral, dnaOrAA, isProtein2, proteinSequence, mismatchesAllowed, tempSearchLayers = []) {
98113
+ const toReturn = [...tempSearchLayers];
98079
98114
  if (!searchString || !isOpen) {
98080
- return [];
98115
+ return toReturn;
98081
98116
  }
98082
98117
  if (isProtein2) {
98083
98118
  const searchingDna = dnaOrAA === "DNA";
@@ -98094,7 +98129,7 @@ function searchLayersSelector(sequence2, isCircular, isOpen, searchString, ambig
98094
98129
  ).sort(({ start: start2 }, { start: start22 }) => {
98095
98130
  return start2 - start22;
98096
98131
  });
98097
- return searchingDna ? matches2 : matches2.map((_a2) => {
98132
+ const r2 = searchingDna ? matches2 : matches2.map((_a2) => {
98098
98133
  var _b2 = _a2, { start: start2, end: end2 } = _b2, rest = __objRest(_b2, ["start", "end"]);
98099
98134
  return __spreadProps(__spreadValues({}, rest), {
98100
98135
  isSearchLayer: true,
@@ -98102,6 +98137,7 @@ function searchLayersSelector(sequence2, isCircular, isOpen, searchString, ambig
98102
98137
  end: end2 * 3 + 2
98103
98138
  });
98104
98139
  });
98140
+ return [...toReturn, ...r2];
98105
98141
  }
98106
98142
  if (dnaOrAA === "DNA" && ambiguousOrLiteral === "LITERAL" && mismatchesAllowed > 0) {
98107
98143
  const approxMatches = findApproxMatches(
@@ -98119,9 +98155,12 @@ function searchLayersSelector(sequence2, isCircular, isOpen, searchString, ambig
98119
98155
  isSearchLayer: true,
98120
98156
  forward: true
98121
98157
  })).sort((a2, b3) => a2.start - b3.start);
98122
- return matches2.map((match) => __spreadProps(__spreadValues({}, match), {
98123
- className: "veSearchLayer"
98124
- }));
98158
+ return [
98159
+ ...toReturn,
98160
+ ...matches2.map((match) => __spreadProps(__spreadValues({}, match), {
98161
+ className: "veSearchLayer"
98162
+ }))
98163
+ ];
98125
98164
  }
98126
98165
  const matches = findSequenceMatches(sequence2, searchString, {
98127
98166
  isCircular,
@@ -98131,11 +98170,14 @@ function searchLayersSelector(sequence2, isCircular, isOpen, searchString, ambig
98131
98170
  }).sort(({ start: start2 }, { start: start22 }) => {
98132
98171
  return start2 - start22;
98133
98172
  });
98134
- return matches.map((match) => __spreadProps(__spreadValues({}, match), {
98135
- forward: !match.bottomStrand,
98136
- className: "veSearchLayer " + (match.bottomStrand ? " veSearchLayerBottomStrand" : ""),
98137
- isSearchLayer: true
98138
- }));
98173
+ return [
98174
+ ...toReturn,
98175
+ ...matches.map((match) => __spreadProps(__spreadValues({}, match), {
98176
+ forward: !match.bottomStrand,
98177
+ className: "veSearchLayer " + (match.bottomStrand ? " veSearchLayerBottomStrand" : ""),
98178
+ isSearchLayer: true
98179
+ }))
98180
+ ];
98139
98181
  }
98140
98182
  __name(searchLayersSelector, "searchLayersSelector");
98141
98183
  const searchLayersSelector$1 = createSelector(
@@ -98148,6 +98190,10 @@ const searchLayersSelector$1 = createSelector(
98148
98190
  (state2) => state2.sequenceData.isProtein,
98149
98191
  (state2) => state2.sequenceData.proteinSequence,
98150
98192
  (state2) => state2.findTool && state2.findTool.mismatchesAllowed,
98193
+ (state2) => {
98194
+ var _a2;
98195
+ return (_a2 = state2.temporaryAnnotations) == null ? void 0 : _a2.searchLayers;
98196
+ },
98151
98197
  searchLayersSelector
98152
98198
  );
98153
98199
  const translationSearchMatchesSelector = createSelector(
@@ -116913,7 +116959,7 @@ function showFileDialog({ multiple = false, onSelect }) {
116913
116959
  input.click();
116914
116960
  }
116915
116961
  __name(showFileDialog, "showFileDialog");
116916
- const version = "0.8.20";
116962
+ const version = "0.8.23";
116917
116963
  const packageJson = {
116918
116964
  version
116919
116965
  };
@@ -143876,12 +143922,29 @@ const genericAnnotationProperties = /* @__PURE__ */ __name(({
143876
143922
  additionalFooterEls
143877
143923
  }) => {
143878
143924
  const annotationTypeUpper = upperFirst(annotationType);
143879
- const _AnnotationProperties = class _AnnotationProperties extends React__default.Component {
143880
- constructor(props) {
143881
- super(props);
143882
- __publicField(this, "onRowSelect", /* @__PURE__ */ __name(([record]) => {
143925
+ const AnnotationProperties = /* @__PURE__ */ __name((props) => {
143926
+ var _a2, _b2, _c;
143927
+ const {
143928
+ readOnly: readOnly2,
143929
+ annotations = {},
143930
+ annotationVisibility: annotationVisibility2,
143931
+ sequenceLength,
143932
+ selectionLayer: selectionLayer2,
143933
+ sequence: sequence2,
143934
+ isProtein: isProtein2,
143935
+ allPartTags,
143936
+ annotationPropertiesSelectedEntities: _annotationPropertiesSelectedEntities,
143937
+ selectedAnnotationId,
143938
+ PropertiesProps,
143939
+ dispatch,
143940
+ editorName
143941
+ } = props;
143942
+ const instanceRef = React__default.useRef({ props });
143943
+ instanceRef.current.props = props;
143944
+ const cmds = React__default.useMemo(() => getCommands(instanceRef.current), []);
143945
+ const onRowSelect = React__default.useCallback(
143946
+ ([record]) => {
143883
143947
  if (!record) return;
143884
- const { dispatch, editorName } = this.props;
143885
143948
  dispatch({
143886
143949
  type: "SELECTION_LAYER_UPDATE",
143887
143950
  payload: record,
@@ -143889,44 +143952,33 @@ const genericAnnotationProperties = /* @__PURE__ */ __name(({
143889
143952
  editorName
143890
143953
  }
143891
143954
  });
143892
- }, "onRowSelect"));
143893
- this.commands = getCommands(this);
143894
- }
143895
- render() {
143896
- var _a2, _b2, _c;
143897
- const {
143898
- readOnly: readOnly2,
143899
- annotations = {},
143900
- annotationVisibility: annotationVisibility2,
143901
- sequenceLength,
143902
- selectionLayer: selectionLayer2,
143903
- sequence: sequence2,
143904
- isProtein: isProtein2,
143905
- allPartTags,
143906
- annotationPropertiesSelectedEntities: _annotationPropertiesSelectedEntities,
143907
- selectedAnnotationId,
143908
- PropertiesProps
143909
- } = this.props;
143910
- const annotationPropertiesSelectedEntities = _annotationPropertiesSelectedEntities.filter((a2) => annotations[a2.id]);
143911
- const deleteAnnotation = this.props[`delete${annotationTypeUpper}`];
143912
- const annotationsToUse = map$3(annotations, (annotation) => {
143955
+ },
143956
+ [dispatch, editorName]
143957
+ );
143958
+ const annotationPropertiesSelectedEntities = _annotationPropertiesSelectedEntities.filter((a2) => annotations[a2.id]);
143959
+ const deleteAnnotation = props[`delete${annotationTypeUpper}`];
143960
+ const annotationsToUse = React__default.useMemo(
143961
+ () => map$3(annotations, (annotation) => {
143913
143962
  return __spreadProps(__spreadValues(__spreadValues({}, annotation), annotation.strand === void 0 && {
143914
143963
  strand: annotation.forward ? 1 : -1
143915
143964
  }), {
143916
143965
  size: getRangeLength(annotation, sequenceLength)
143917
143966
  });
143918
- });
143919
- const keyedPartTags = (_a2 = getKeyedTagsAndTagOptions(allPartTags)) != null ? _a2 : {};
143920
- const additionalColumns = ((_c = (_b2 = PropertiesProps == null ? void 0 : PropertiesProps.propertiesList) == null ? void 0 : _b2.find(
143921
- (p2) => (p2.name || p2) === (pluralize(annotationType) || "")
143922
- )) == null ? void 0 : _c.additionalColumns) || [];
143923
- this.schema = {
143967
+ }),
143968
+ [annotations, sequenceLength]
143969
+ );
143970
+ const keyedPartTags = (_a2 = getKeyedTagsAndTagOptions(allPartTags)) != null ? _a2 : {};
143971
+ const additionalColumns = ((_c = (_b2 = PropertiesProps == null ? void 0 : PropertiesProps.propertiesList) == null ? void 0 : _b2.find(
143972
+ (p2) => (p2.name || p2) === (pluralize(annotationType) || "")
143973
+ )) == null ? void 0 : _c.additionalColumns) || [];
143974
+ const schema2 = useMemoDeepEqual(
143975
+ () => ({
143924
143976
  fields: [
143925
143977
  {
143926
143978
  path: "name",
143927
143979
  type: "string",
143928
143980
  render: /* @__PURE__ */ __name((name2, ann) => {
143929
- const checked = !this.props.annotationVisibility[`${annotationType}IndividualToHide`][ann.id];
143981
+ const checked = !annotationVisibility2[`${annotationType}IndividualToHide`][ann.id];
143930
143982
  return /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, /* @__PURE__ */ React__default.createElement(
143931
143983
  Icon,
143932
143984
  {
@@ -143935,9 +143987,9 @@ const genericAnnotationProperties = /* @__PURE__ */ __name(({
143935
143987
  e.stopPropagation();
143936
143988
  const upperType = startCase(annotationType);
143937
143989
  if (checked) {
143938
- this.props[`hide${upperType}Individual`]([ann.id]);
143990
+ props[`hide${upperType}Individual`]([ann.id]);
143939
143991
  } else {
143940
- this.props[`show${upperType}Individual`]([ann.id]);
143992
+ props[`show${upperType}Individual`]([ann.id]);
143941
143993
  }
143942
143994
  }, "onClick"),
143943
143995
  style: {
@@ -143958,7 +144010,7 @@ const genericAnnotationProperties = /* @__PURE__ */ __name(({
143958
144010
  render: /* @__PURE__ */ __name((bases, primer) => {
143959
144011
  let bps = bases;
143960
144012
  if (!bases) {
143961
- bps = getSequenceWithinRange(primer, this.props.sequence);
144013
+ bps = getSequenceWithinRange(primer, sequence2);
143962
144014
  if (!primer.forward) {
143963
144015
  bps = getReverseComplementSequenceString(bps);
143964
144016
  }
@@ -143983,8 +144035,8 @@ const genericAnnotationProperties = /* @__PURE__ */ __name(({
143983
144035
  }, "render")
143984
144036
  }
143985
144037
  ],
143986
- sizeSchema(this.props.isProtein),
143987
- ...withTags && this.props.allPartTags ? [
144038
+ sizeSchema(isProtein2),
144039
+ ...withTags && allPartTags ? [
143988
144040
  {
143989
144041
  path: "tags",
143990
144042
  type: "string",
@@ -144008,138 +144060,144 @@ const genericAnnotationProperties = /* @__PURE__ */ __name(({
144008
144060
  { path: "strand", type: "number" },
144009
144061
  ...additionalColumns
144010
144062
  ]
144011
- };
144012
- return /* @__PURE__ */ React__default.createElement(
144013
- WrappedDT,
144014
- {
144015
- topLeftItems: getVisFilter(
144016
- createCommandMenu(
144017
- isFunction$2(visSubmenu) ? visSubmenu(this.props) : visSubmenu,
144018
- this.commands,
144019
- {
144020
- useTicks: true
144021
- }
144022
- )
144023
- ),
144024
- annotationPropertiesSelectedEntities,
144025
- leftOfSearchBarItems: /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, !readOnly2 && /* @__PURE__ */ React__default.createElement(ButtonGroup, { style: { marginTop: 3, marginRight: 4 } }, /* @__PURE__ */ React__default.createElement(
144026
- Tooltip,
144027
- {
144028
- position: "top",
144029
- modifiers: popoverOverflowModifiers,
144030
- content: "New"
144031
- },
144032
- /* @__PURE__ */ React__default.createElement(
144033
- AnchorButton,
144034
- {
144035
- disabled: !sequenceLength,
144036
- icon: "plus",
144037
- className: "tgNewAnnBtn",
144038
- onClick: /* @__PURE__ */ __name(() => {
144039
- showAddOrEditAnnotationDialog({
144040
- type: annotationType,
144041
- annotation: pick$1(
144042
- selectionLayer2,
144043
- "start",
144044
- "end",
144045
- "forward"
144046
- )
144047
- });
144048
- }, "onClick")
144049
- }
144050
- )
144051
- ), /* @__PURE__ */ React__default.createElement(
144052
- Tooltip,
144063
+ }),
144064
+ [
144065
+ additionalColumns,
144066
+ allPartTags,
144067
+ annotationVisibility2,
144068
+ isProtein2,
144069
+ keyedPartTags,
144070
+ sequence2
144071
+ ]
144072
+ );
144073
+ return /* @__PURE__ */ React__default.createElement(
144074
+ WrappedDT,
144075
+ {
144076
+ topLeftItems: getVisFilter(
144077
+ createCommandMenu(
144078
+ isFunction$2(visSubmenu) ? visSubmenu(props) : visSubmenu,
144079
+ cmds,
144053
144080
  {
144054
- position: "top",
144055
- modifiers: popoverOverflowModifiers,
144056
- content: "Edit"
144057
- },
144058
- /* @__PURE__ */ React__default.createElement(
144059
- AnchorButton,
144060
- {
144061
- onClick: /* @__PURE__ */ __name(() => {
144062
- showAddOrEditAnnotationDialog({
144063
- type: annotationType,
144064
- annotation: annotationPropertiesSelectedEntities[0]
144065
- });
144066
- }, "onClick"),
144067
- disabled: annotationPropertiesSelectedEntities.length !== 1,
144068
- icon: "edit"
144069
- }
144070
- )
144071
- ), ["feature"].includes(annotationType) && /* @__PURE__ */ React__default.createElement(
144072
- CmdButton,
144081
+ useTicks: true
144082
+ }
144083
+ )
144084
+ ),
144085
+ annotationPropertiesSelectedEntities,
144086
+ leftOfSearchBarItems: /* @__PURE__ */ React__default.createElement(React__default.Fragment, null, !readOnly2 && /* @__PURE__ */ React__default.createElement(ButtonGroup, { style: { marginTop: 3, marginRight: 4 } }, /* @__PURE__ */ React__default.createElement(
144087
+ Tooltip,
144088
+ {
144089
+ position: "top",
144090
+ modifiers: popoverOverflowModifiers,
144091
+ content: "New"
144092
+ },
144093
+ /* @__PURE__ */ React__default.createElement(
144094
+ AnchorButton,
144073
144095
  {
144074
- text: "",
144075
- icon: "cog",
144076
- "data-tip": "Configure Feature Types",
144077
- cmd: this.commands.onConfigureFeatureTypesClick
144096
+ disabled: !sequenceLength,
144097
+ icon: "plus",
144098
+ className: "tgNewAnnBtn",
144099
+ onClick: /* @__PURE__ */ __name(() => {
144100
+ showAddOrEditAnnotationDialog({
144101
+ type: annotationType,
144102
+ annotation: pick$1(
144103
+ selectionLayer2,
144104
+ "start",
144105
+ "end",
144106
+ "forward"
144107
+ )
144108
+ });
144109
+ }, "onClick")
144078
144110
  }
144079
- ), ["part", "primer", "feature"].includes(annotationType) && /* @__PURE__ */ React__default.createElement(
144080
- CmdButton,
144111
+ )
144112
+ ), /* @__PURE__ */ React__default.createElement(
144113
+ Tooltip,
144114
+ {
144115
+ position: "top",
144116
+ modifiers: popoverOverflowModifiers,
144117
+ content: "Edit"
144118
+ },
144119
+ /* @__PURE__ */ React__default.createElement(
144120
+ AnchorButton,
144081
144121
  {
144082
- text: "",
144083
- icon: removeDuplicatesIcon,
144084
- "data-tip": "Remove Duplicates",
144085
- cmd: this.commands[`showRemoveDuplicatesDialog${annotationTypeUpper + "s"}`]
144122
+ onClick: /* @__PURE__ */ __name(() => {
144123
+ showAddOrEditAnnotationDialog({
144124
+ type: annotationType,
144125
+ annotation: annotationPropertiesSelectedEntities[0]
144126
+ });
144127
+ }, "onClick"),
144128
+ disabled: annotationPropertiesSelectedEntities.length !== 1,
144129
+ icon: "edit"
144086
144130
  }
144087
- ), additionalFooterEls && additionalFooterEls(this.props), /* @__PURE__ */ React__default.createElement(
144088
- Tooltip,
144131
+ )
144132
+ ), ["feature"].includes(annotationType) && /* @__PURE__ */ React__default.createElement(
144133
+ CmdButton,
144134
+ {
144135
+ text: "",
144136
+ icon: "cog",
144137
+ "data-tip": "Configure Feature Types",
144138
+ cmd: cmds.onConfigureFeatureTypesClick
144139
+ }
144140
+ ), ["part", "primer", "feature"].includes(annotationType) && /* @__PURE__ */ React__default.createElement(
144141
+ CmdButton,
144142
+ {
144143
+ text: "",
144144
+ icon: removeDuplicatesIcon,
144145
+ "data-tip": "Remove Duplicates",
144146
+ cmd: cmds[`showRemoveDuplicatesDialog${annotationTypeUpper + "s"}`]
144147
+ }
144148
+ ), additionalFooterEls && additionalFooterEls(props), /* @__PURE__ */ React__default.createElement(
144149
+ Tooltip,
144150
+ {
144151
+ position: "top",
144152
+ modifiers: popoverOverflowModifiers,
144153
+ content: "Delete"
144154
+ },
144155
+ /* @__PURE__ */ React__default.createElement(
144156
+ AnchorButton,
144089
144157
  {
144090
- position: "top",
144091
- modifiers: popoverOverflowModifiers,
144092
- content: "Delete"
144093
- },
144094
- /* @__PURE__ */ React__default.createElement(
144095
- AnchorButton,
144096
- {
144097
- onClick: /* @__PURE__ */ __name(() => {
144098
- deleteAnnotation(annotationPropertiesSelectedEntities);
144099
- }, "onClick"),
144100
- className: "tgDeleteAnnsBtn",
144101
- intent: "danger",
144102
- disabled: !annotationPropertiesSelectedEntities.length,
144103
- icon: "trash"
144104
- }
144105
- )
144106
- ))),
144107
- onDoubleClick: /* @__PURE__ */ __name((annotation) => {
144108
- showAddOrEditAnnotationDialog({
144109
- type: annotationType,
144110
- annotation
144111
- });
144112
- }, "onDoubleClick"),
144113
- withCheckboxes: true,
144114
- showFeatureIndividual: this.props.showFeatureIndividual,
144115
- hideFeatureIndividual: this.props.hideFeatureIndividual,
144116
- showPartIndividual: this.props.showPartIndividual,
144117
- hidePartIndividual: this.props.hidePartIndividual,
144118
- showPrimerIndividual: this.props.showPrimerIndividual,
144119
- hidePrimerIndividual: this.props.hidePrimerIndividual,
144120
- annotationVisibility: annotationVisibility2,
144121
- featureLengthsToHide: this.props.featureLengthsToHide,
144122
- primerLengthsToHide: this.props.primerLengthsToHide,
144123
- partLengthsToHide: this.props.partLengthsToHide,
144124
- sequence: sequence2,
144125
- noPadding: true,
144126
- noFullscreenButton: true,
144127
- onRowSelect: this.onRowSelect,
144128
- selectedIds: selectedAnnotationId,
144129
- formName: "annotationProperties",
144130
- noRouter: true,
144131
- isProtein: isProtein2,
144132
- compact: true,
144133
- isInfinite: true,
144134
- withDisplayOptions: true,
144135
- schema: this.schema,
144136
- entities: annotationsToUse
144137
- }
144138
- );
144139
- }
144140
- };
144141
- __name(_AnnotationProperties, "AnnotationProperties");
144142
- let AnnotationProperties = _AnnotationProperties;
144158
+ onClick: /* @__PURE__ */ __name(() => {
144159
+ deleteAnnotation(annotationPropertiesSelectedEntities);
144160
+ }, "onClick"),
144161
+ className: "tgDeleteAnnsBtn",
144162
+ intent: "danger",
144163
+ disabled: !annotationPropertiesSelectedEntities.length,
144164
+ icon: "trash"
144165
+ }
144166
+ )
144167
+ ))),
144168
+ onDoubleClick: /* @__PURE__ */ __name((annotation) => {
144169
+ showAddOrEditAnnotationDialog({
144170
+ type: annotationType,
144171
+ annotation
144172
+ });
144173
+ }, "onDoubleClick"),
144174
+ withCheckboxes: true,
144175
+ showFeatureIndividual: props.showFeatureIndividual,
144176
+ hideFeatureIndividual: props.hideFeatureIndividual,
144177
+ showPartIndividual: props.showPartIndividual,
144178
+ hidePartIndividual: props.hidePartIndividual,
144179
+ showPrimerIndividual: props.showPrimerIndividual,
144180
+ hidePrimerIndividual: props.hidePrimerIndividual,
144181
+ annotationVisibility: annotationVisibility2,
144182
+ featureLengthsToHide: props.featureLengthsToHide,
144183
+ primerLengthsToHide: props.primerLengthsToHide,
144184
+ partLengthsToHide: props.partLengthsToHide,
144185
+ sequence: sequence2,
144186
+ noPadding: true,
144187
+ noFullscreenButton: true,
144188
+ onRowSelect,
144189
+ selectedIds: selectedAnnotationId,
144190
+ formName: "annotationProperties",
144191
+ noRouter: true,
144192
+ isProtein: isProtein2,
144193
+ compact: true,
144194
+ isInfinite: true,
144195
+ withDisplayOptions: true,
144196
+ schema: schema2,
144197
+ entities: annotationsToUse
144198
+ }
144199
+ );
144200
+ }, "AnnotationProperties");
144143
144201
  return compose(
144144
144202
  connectToEditor(
144145
144203
  ({