@teselagen/ove 0.3.13 → 0.3.15
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.js +141 -107
- package/index.mjs +141 -107
- package/index.umd.js +138 -121
- package/package.json +2 -2
- package/src/ToolBar/editTool.js +0 -1
- package/src/helperComponents/AddOrEditAnnotationDialog/index.js +9 -9
- package/src/helperComponents/PropertiesDialog/GeneralProperties.js +0 -1
- package/src/withEditorProps/index.js +29 -17
package/index.umd.js
CHANGED
|
@@ -57052,17 +57052,9 @@
|
|
|
57052
57052
|
return _domCreate;
|
|
57053
57053
|
}
|
|
57054
57054
|
|
|
57055
|
-
var _ie8DomDefine
|
|
57056
|
-
|
|
57057
|
-
|
|
57058
|
-
function require_ie8DomDefine () {
|
|
57059
|
-
if (hasRequired_ie8DomDefine) return _ie8DomDefine;
|
|
57060
|
-
hasRequired_ie8DomDefine = 1;
|
|
57061
|
-
_ie8DomDefine = !require_descriptors() && !_fails(function () {
|
|
57062
|
-
return Object.defineProperty(require_domCreate()('div'), 'a', { get: function () { return 7; } }).a != 7;
|
|
57063
|
-
});
|
|
57064
|
-
return _ie8DomDefine;
|
|
57065
|
-
}
|
|
57055
|
+
var _ie8DomDefine = !require_descriptors() && !_fails(function () {
|
|
57056
|
+
return Object.defineProperty(require_domCreate()('div'), 'a', { get: function () { return 7; } }).a != 7;
|
|
57057
|
+
});
|
|
57066
57058
|
|
|
57067
57059
|
// 7.1.1 ToPrimitive(input [, PreferredType])
|
|
57068
57060
|
var isObject$6 = _isObject;
|
|
@@ -57083,7 +57075,7 @@
|
|
|
57083
57075
|
if (hasRequired_objectDp) return _objectDp;
|
|
57084
57076
|
hasRequired_objectDp = 1;
|
|
57085
57077
|
var anObject = _anObject;
|
|
57086
|
-
var IE8_DOM_DEFINE =
|
|
57078
|
+
var IE8_DOM_DEFINE = _ie8DomDefine;
|
|
57087
57079
|
var toPrimitive = _toPrimitive$1;
|
|
57088
57080
|
var dP = Object.defineProperty;
|
|
57089
57081
|
|
|
@@ -57110,10 +57102,10 @@
|
|
|
57110
57102
|
};
|
|
57111
57103
|
};
|
|
57112
57104
|
|
|
57113
|
-
var dP$
|
|
57105
|
+
var dP$1 = require_objectDp();
|
|
57114
57106
|
var createDesc$3 = _propertyDesc;
|
|
57115
57107
|
var _hide = require_descriptors() ? function (object, key, value) {
|
|
57116
|
-
return dP$
|
|
57108
|
+
return dP$1.f(object, key, createDesc$3(1, value));
|
|
57117
57109
|
} : function (object, key, value) {
|
|
57118
57110
|
object[key] = value;
|
|
57119
57111
|
return object;
|
|
@@ -57129,7 +57121,7 @@
|
|
|
57129
57121
|
var ctx$1 = _ctx;
|
|
57130
57122
|
var hide$2 = _hide;
|
|
57131
57123
|
var has$d = _has;
|
|
57132
|
-
var PROTOTYPE$
|
|
57124
|
+
var PROTOTYPE$1 = 'prototype';
|
|
57133
57125
|
|
|
57134
57126
|
var $export$8 = function (type, name, source) {
|
|
57135
57127
|
var IS_FORCED = type & $export$8.F;
|
|
@@ -57139,8 +57131,8 @@
|
|
|
57139
57131
|
var IS_BIND = type & $export$8.B;
|
|
57140
57132
|
var IS_WRAP = type & $export$8.W;
|
|
57141
57133
|
var exports = IS_GLOBAL ? core$3 : core$3[name] || (core$3[name] = {});
|
|
57142
|
-
var expProto = exports[PROTOTYPE$
|
|
57143
|
-
var target = IS_GLOBAL ? global$4 : IS_STATIC ? global$4[name] : (global$4[name] || {})[PROTOTYPE$
|
|
57134
|
+
var expProto = exports[PROTOTYPE$1];
|
|
57135
|
+
var target = IS_GLOBAL ? global$4 : IS_STATIC ? global$4[name] : (global$4[name] || {})[PROTOTYPE$1];
|
|
57144
57136
|
var key, own, out;
|
|
57145
57137
|
if (IS_GLOBAL) source = name;
|
|
57146
57138
|
for (key in source) {
|
|
@@ -57164,7 +57156,7 @@
|
|
|
57164
57156
|
} return new C(a, b, c);
|
|
57165
57157
|
} return C.apply(this, arguments);
|
|
57166
57158
|
};
|
|
57167
|
-
F[PROTOTYPE$
|
|
57159
|
+
F[PROTOTYPE$1] = C[PROTOTYPE$1];
|
|
57168
57160
|
return F;
|
|
57169
57161
|
// make static versions for prototype methods
|
|
57170
57162
|
})(out) : IS_PROTO && typeof out == 'function' ? ctx$1(Function.call, out) : out;
|
|
@@ -57301,14 +57293,14 @@
|
|
|
57301
57293
|
var has$c = _has;
|
|
57302
57294
|
var toIObject$4 = _toIobject;
|
|
57303
57295
|
var arrayIndexOf = _arrayIncludes$1(false);
|
|
57304
|
-
var IE_PROTO$
|
|
57296
|
+
var IE_PROTO$1 = _sharedKey('IE_PROTO');
|
|
57305
57297
|
|
|
57306
57298
|
var _objectKeysInternal = function (object, names) {
|
|
57307
57299
|
var O = toIObject$4(object);
|
|
57308
57300
|
var i = 0;
|
|
57309
57301
|
var result = [];
|
|
57310
57302
|
var key;
|
|
57311
|
-
for (key in O) if (key != IE_PROTO$
|
|
57303
|
+
for (key in O) if (key != IE_PROTO$1) has$c(O, key) && result.push(key);
|
|
57312
57304
|
// Don't enum bug & hidden keys
|
|
57313
57305
|
while (names.length > i) if (has$c(O, key = names[i++])) {
|
|
57314
57306
|
~arrayIndexOf(result, key) || result.push(key);
|
|
@@ -57323,10 +57315,10 @@
|
|
|
57323
57315
|
|
|
57324
57316
|
// 19.1.2.14 / 15.2.3.14 Object.keys(O)
|
|
57325
57317
|
var $keys$3 = _objectKeysInternal;
|
|
57326
|
-
var enumBugKeys
|
|
57318
|
+
var enumBugKeys = _enumBugKeys;
|
|
57327
57319
|
|
|
57328
57320
|
var _objectKeys = Object.keys || function keys(O) {
|
|
57329
|
-
return $keys$3(O, enumBugKeys
|
|
57321
|
+
return $keys$3(O, enumBugKeys);
|
|
57330
57322
|
};
|
|
57331
57323
|
|
|
57332
57324
|
var _objectGops = {};
|
|
@@ -57433,19 +57425,27 @@
|
|
|
57433
57425
|
|
|
57434
57426
|
var _redefine = _hide;
|
|
57435
57427
|
|
|
57436
|
-
var
|
|
57437
|
-
var
|
|
57438
|
-
var getKeys$1 = _objectKeys;
|
|
57428
|
+
var _objectDps;
|
|
57429
|
+
var hasRequired_objectDps;
|
|
57439
57430
|
|
|
57440
|
-
|
|
57441
|
-
|
|
57442
|
-
|
|
57443
|
-
|
|
57444
|
-
|
|
57445
|
-
|
|
57446
|
-
|
|
57447
|
-
|
|
57448
|
-
|
|
57431
|
+
function require_objectDps () {
|
|
57432
|
+
if (hasRequired_objectDps) return _objectDps;
|
|
57433
|
+
hasRequired_objectDps = 1;
|
|
57434
|
+
var dP = require_objectDp();
|
|
57435
|
+
var anObject = _anObject;
|
|
57436
|
+
var getKeys = _objectKeys;
|
|
57437
|
+
|
|
57438
|
+
_objectDps = require_descriptors() ? Object.defineProperties : function defineProperties(O, Properties) {
|
|
57439
|
+
anObject(O);
|
|
57440
|
+
var keys = getKeys(Properties);
|
|
57441
|
+
var length = keys.length;
|
|
57442
|
+
var i = 0;
|
|
57443
|
+
var P;
|
|
57444
|
+
while (length > i) dP.f(O, P = keys[i++], Properties[P]);
|
|
57445
|
+
return O;
|
|
57446
|
+
};
|
|
57447
|
+
return _objectDps;
|
|
57448
|
+
}
|
|
57449
57449
|
|
|
57450
57450
|
var _html;
|
|
57451
57451
|
var hasRequired_html;
|
|
@@ -57458,47 +57458,55 @@
|
|
|
57458
57458
|
return _html;
|
|
57459
57459
|
}
|
|
57460
57460
|
|
|
57461
|
-
|
|
57462
|
-
var
|
|
57463
|
-
var dPs = _objectDps;
|
|
57464
|
-
var enumBugKeys = _enumBugKeys;
|
|
57465
|
-
var IE_PROTO$1 = _sharedKey('IE_PROTO');
|
|
57466
|
-
var Empty = function () { /* empty */ };
|
|
57467
|
-
var PROTOTYPE$1 = 'prototype';
|
|
57461
|
+
var _objectCreate;
|
|
57462
|
+
var hasRequired_objectCreate;
|
|
57468
57463
|
|
|
57469
|
-
|
|
57470
|
-
|
|
57471
|
-
|
|
57472
|
-
|
|
57473
|
-
|
|
57474
|
-
|
|
57475
|
-
|
|
57476
|
-
|
|
57477
|
-
|
|
57478
|
-
|
|
57479
|
-
|
|
57480
|
-
|
|
57481
|
-
|
|
57482
|
-
|
|
57483
|
-
|
|
57484
|
-
|
|
57485
|
-
|
|
57486
|
-
|
|
57487
|
-
|
|
57488
|
-
|
|
57489
|
-
|
|
57490
|
-
|
|
57491
|
-
|
|
57492
|
-
|
|
57493
|
-
|
|
57494
|
-
|
|
57495
|
-
|
|
57496
|
-
|
|
57497
|
-
|
|
57498
|
-
|
|
57499
|
-
|
|
57500
|
-
|
|
57501
|
-
|
|
57464
|
+
function require_objectCreate () {
|
|
57465
|
+
if (hasRequired_objectCreate) return _objectCreate;
|
|
57466
|
+
hasRequired_objectCreate = 1;
|
|
57467
|
+
// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
|
|
57468
|
+
var anObject = _anObject;
|
|
57469
|
+
var dPs = require_objectDps();
|
|
57470
|
+
var enumBugKeys = _enumBugKeys;
|
|
57471
|
+
var IE_PROTO = _sharedKey('IE_PROTO');
|
|
57472
|
+
var Empty = function () { /* empty */ };
|
|
57473
|
+
var PROTOTYPE = 'prototype';
|
|
57474
|
+
|
|
57475
|
+
// Create object with fake `null` prototype: use iframe Object with cleared prototype
|
|
57476
|
+
var createDict = function () {
|
|
57477
|
+
// Thrash, waste and sodomy: IE GC bug
|
|
57478
|
+
var iframe = require_domCreate()('iframe');
|
|
57479
|
+
var i = enumBugKeys.length;
|
|
57480
|
+
var lt = '<';
|
|
57481
|
+
var gt = '>';
|
|
57482
|
+
var iframeDocument;
|
|
57483
|
+
iframe.style.display = 'none';
|
|
57484
|
+
require_html().appendChild(iframe);
|
|
57485
|
+
iframe.src = 'javascript:'; // eslint-disable-line no-script-url
|
|
57486
|
+
// createDict = iframe.contentWindow.Object;
|
|
57487
|
+
// html.removeChild(iframe);
|
|
57488
|
+
iframeDocument = iframe.contentWindow.document;
|
|
57489
|
+
iframeDocument.open();
|
|
57490
|
+
iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);
|
|
57491
|
+
iframeDocument.close();
|
|
57492
|
+
createDict = iframeDocument.F;
|
|
57493
|
+
while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];
|
|
57494
|
+
return createDict();
|
|
57495
|
+
};
|
|
57496
|
+
|
|
57497
|
+
_objectCreate = Object.create || function create(O, Properties) {
|
|
57498
|
+
var result;
|
|
57499
|
+
if (O !== null) {
|
|
57500
|
+
Empty[PROTOTYPE] = anObject(O);
|
|
57501
|
+
result = new Empty();
|
|
57502
|
+
Empty[PROTOTYPE] = null;
|
|
57503
|
+
// add "__proto__" for Object.getPrototypeOf polyfill
|
|
57504
|
+
result[IE_PROTO] = O;
|
|
57505
|
+
} else result = createDict();
|
|
57506
|
+
return Properties === undefined ? result : dPs(result, Properties);
|
|
57507
|
+
};
|
|
57508
|
+
return _objectCreate;
|
|
57509
|
+
}
|
|
57502
57510
|
|
|
57503
57511
|
var _wks = {exports: {}};
|
|
57504
57512
|
|
|
@@ -57524,7 +57532,7 @@
|
|
|
57524
57532
|
if (it && !has$b(it = stat ? it : it.prototype, TAG$1)) def(it, TAG$1, { configurable: true, value: tag });
|
|
57525
57533
|
};
|
|
57526
57534
|
|
|
57527
|
-
var create$4 =
|
|
57535
|
+
var create$4 = require_objectCreate();
|
|
57528
57536
|
var descriptor = _propertyDesc;
|
|
57529
57537
|
var setToStringTag$2 = _setToStringTag;
|
|
57530
57538
|
var IteratorPrototype = {};
|
|
@@ -58133,7 +58141,7 @@
|
|
|
58133
58141
|
var toIObject$1 = _toIobject;
|
|
58134
58142
|
var toPrimitive$1 = _toPrimitive$1;
|
|
58135
58143
|
var has$8 = _has;
|
|
58136
|
-
var IE8_DOM_DEFINE =
|
|
58144
|
+
var IE8_DOM_DEFINE = _ie8DomDefine;
|
|
58137
58145
|
var gOPD$2 = Object.getOwnPropertyDescriptor;
|
|
58138
58146
|
|
|
58139
58147
|
_objectGopd.f = require_descriptors() ? gOPD$2 : function getOwnPropertyDescriptor(O, P) {
|
|
@@ -58167,7 +58175,7 @@
|
|
|
58167
58175
|
var toIObject = _toIobject;
|
|
58168
58176
|
var toPrimitive = _toPrimitive$1;
|
|
58169
58177
|
var createDesc = _propertyDesc;
|
|
58170
|
-
var _create$1 =
|
|
58178
|
+
var _create$1 = require_objectCreate();
|
|
58171
58179
|
var gOPNExt = _objectGopnExt;
|
|
58172
58180
|
var $GOPD = _objectGopd;
|
|
58173
58181
|
var $GOPS = _objectGops;
|
|
@@ -58477,7 +58485,7 @@
|
|
|
58477
58485
|
|
|
58478
58486
|
var $export = _export;
|
|
58479
58487
|
// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
|
|
58480
|
-
$export($export.S, 'Object', { create:
|
|
58488
|
+
$export($export.S, 'Object', { create: require_objectCreate() });
|
|
58481
58489
|
|
|
58482
58490
|
var $Object = _coreExports.Object;
|
|
58483
58491
|
var create$3 = function create(P, D) {
|
|
@@ -90746,11 +90754,11 @@
|
|
|
90746
90754
|
function getSort(text, queryString) {
|
|
90747
90755
|
let ret;
|
|
90748
90756
|
if (text === queryString)
|
|
90749
|
-
ret =
|
|
90757
|
+
ret = -1;
|
|
90750
90758
|
else if (text.includes(queryString))
|
|
90751
|
-
ret =
|
|
90759
|
+
ret = text.indexOf(queryString);
|
|
90752
90760
|
else
|
|
90753
|
-
ret =
|
|
90761
|
+
ret = text.length;
|
|
90754
90762
|
return ret;
|
|
90755
90763
|
}
|
|
90756
90764
|
|
|
@@ -135008,8 +135016,8 @@
|
|
|
135008
135016
|
maxRangeLength
|
|
135009
135017
|
);
|
|
135010
135018
|
let overlaps = [];
|
|
135011
|
-
normalizedRangeA.forEach(function(nonCircularRangeA
|
|
135012
|
-
normalizedRangeB.forEach(function(nonCircularRangeB
|
|
135019
|
+
normalizedRangeA.forEach(function(nonCircularRangeA) {
|
|
135020
|
+
normalizedRangeB.forEach(function(nonCircularRangeB) {
|
|
135013
135021
|
const overlap = getOverlapOfNonCircularRanges(
|
|
135014
135022
|
nonCircularRangeA,
|
|
135015
135023
|
nonCircularRangeB
|
|
@@ -135021,7 +135029,7 @@
|
|
|
135021
135029
|
});
|
|
135022
135030
|
if (joinIfPossible && normalizedRangeA.length === 2 && normalizedRangeB.length === 2 && maxRangeLength) {
|
|
135023
135031
|
const joinedOverlap = {};
|
|
135024
|
-
overlaps = lodashExports.flatMap(overlaps, (o
|
|
135032
|
+
overlaps = lodashExports.flatMap(overlaps, (o) => {
|
|
135025
135033
|
if (o.start === 0) {
|
|
135026
135034
|
joinedOverlap.end = o.end;
|
|
135027
135035
|
return [];
|
|
@@ -135511,7 +135519,7 @@
|
|
|
135511
135519
|
});
|
|
135512
135520
|
}
|
|
135513
135521
|
|
|
135514
|
-
function flipRelativeRange(innerRange, outerRange, sequenceLength
|
|
135522
|
+
function flipRelativeRange(innerRange, outerRange, sequenceLength) {
|
|
135515
135523
|
const isFullyContained = isRangeWithinRange(
|
|
135516
135524
|
innerRange,
|
|
135517
135525
|
outerRange,
|
|
@@ -135523,7 +135531,7 @@
|
|
|
135523
135531
|
return flipNonFullyContainedRange(innerRange, outerRange, sequenceLength);
|
|
135524
135532
|
}
|
|
135525
135533
|
}
|
|
135526
|
-
function flipNonFullyContainedRange(innerRange, outerRange, sequenceLength
|
|
135534
|
+
function flipNonFullyContainedRange(innerRange, outerRange, sequenceLength) {
|
|
135527
135535
|
const outerFullyContained = isRangeWithinRange(
|
|
135528
135536
|
outerRange,
|
|
135529
135537
|
innerRange,
|
|
@@ -135564,9 +135572,8 @@
|
|
|
135564
135572
|
sequenceLength
|
|
135565
135573
|
);
|
|
135566
135574
|
if (overlaps.length >= 1) {
|
|
135567
|
-
let overlapExtendsForward;
|
|
135568
135575
|
const firstOverlap = overlaps[0];
|
|
135569
|
-
overlapExtendsForward = firstOverlap.start !== outerRange.start;
|
|
135576
|
+
const overlapExtendsForward = firstOverlap.start !== outerRange.start;
|
|
135570
135577
|
const flippedTruncatedInner = flipFullyContainedRange(
|
|
135571
135578
|
firstOverlap,
|
|
135572
135579
|
outerRange,
|
|
@@ -135587,7 +135594,7 @@
|
|
|
135587
135594
|
}
|
|
135588
135595
|
return flippedInnerRange;
|
|
135589
135596
|
}
|
|
135590
|
-
function flipFullyContainedRange(innerRange, outerRange, sequenceLength
|
|
135597
|
+
function flipFullyContainedRange(innerRange, outerRange, sequenceLength) {
|
|
135591
135598
|
const translateBy = -outerRange.start;
|
|
135592
135599
|
const translatedOuterRange = translateRange(
|
|
135593
135600
|
outerRange,
|
|
@@ -135715,6 +135722,7 @@
|
|
|
135715
135722
|
rangesAlreadyAddedToYOffset.push(range);
|
|
135716
135723
|
return true;
|
|
135717
135724
|
}
|
|
135725
|
+
return false;
|
|
135718
135726
|
});
|
|
135719
135727
|
if (!openYOffsetFound) {
|
|
135720
135728
|
yOffset = YOffsetLevelsWithRanges.length;
|
|
@@ -152418,7 +152426,6 @@
|
|
|
152418
152426
|
}
|
|
152419
152427
|
function parseLocus(line) {
|
|
152420
152428
|
result = createInitialSequence(options);
|
|
152421
|
-
let locusName;
|
|
152422
152429
|
let circular;
|
|
152423
152430
|
let gbDivision;
|
|
152424
152431
|
let date;
|
|
@@ -152429,7 +152436,7 @@
|
|
|
152429
152436
|
);
|
|
152430
152437
|
addMessage("Import Warning: Locus line contains no values: " + line);
|
|
152431
152438
|
}
|
|
152432
|
-
locusName = lineArr[1];
|
|
152439
|
+
const locusName = lineArr[1];
|
|
152433
152440
|
for (let i = 1; i < lineArr.length; i++) {
|
|
152434
152441
|
if (lineArr[i].match(/circular/gi)) {
|
|
152435
152442
|
circular = true;
|
|
@@ -152576,10 +152583,10 @@
|
|
|
152576
152583
|
}
|
|
152577
152584
|
}
|
|
152578
152585
|
function parseFeatureNote(line) {
|
|
152579
|
-
let newLine
|
|
152586
|
+
let newLine;
|
|
152580
152587
|
newLine = line.trimLeft();
|
|
152581
152588
|
newLine = newLine.replace(/^\/|"$/g, "");
|
|
152582
|
-
lineArr = newLine.split(/="|=/);
|
|
152589
|
+
const lineArr = newLine.split(/="|=/);
|
|
152583
152590
|
let val = lineArr.slice(1).join("=");
|
|
152584
152591
|
if (val) {
|
|
152585
152592
|
val = val.replace(/\\/g, " ");
|
|
@@ -166047,7 +166054,6 @@
|
|
|
166047
166054
|
if (serSeq.sequence.symbols) {
|
|
166048
166055
|
serSeq.sequence = serSeq.sequence.symbols.split("");
|
|
166049
166056
|
}
|
|
166050
|
-
let tmp;
|
|
166051
166057
|
let dnaType;
|
|
166052
166058
|
if (serSeq.isProtein) {
|
|
166053
166059
|
dnaType = "";
|
|
@@ -166064,7 +166070,7 @@
|
|
|
166064
166070
|
line += " ";
|
|
166065
166071
|
line += StringUtil.lpad(String(serSeq.sequence.length), " ", 11);
|
|
166066
166072
|
line += serSeq.isProtein ? " aa " : " bp ";
|
|
166067
|
-
tmp = "";
|
|
166073
|
+
const tmp = "";
|
|
166068
166074
|
line += StringUtil.lpad(tmp, " ", 3);
|
|
166069
166075
|
line += StringUtil.rpad(dnaType, " ", 6);
|
|
166070
166076
|
line += " ";
|
|
@@ -170564,6 +170570,7 @@
|
|
|
170564
170570
|
if (!editorState) {
|
|
170565
170571
|
return editorReducer({}, {});
|
|
170566
170572
|
}
|
|
170573
|
+
const sequenceLength = selectors.sequenceLengthSelector(editorState);
|
|
170567
170574
|
const { findTool, annotationsToSupport = {} } = editorState;
|
|
170568
170575
|
const visibilities = getVisibilities(editorState);
|
|
170569
170576
|
let annotationToAdd;
|
|
@@ -170574,7 +170581,13 @@
|
|
|
170574
170581
|
].forEach(([n, type, annotationTypePlural]) => {
|
|
170575
170582
|
const vals = getFormValues(n)(state);
|
|
170576
170583
|
if (vals) {
|
|
170577
|
-
annotationToAdd = getAnnToAdd(
|
|
170584
|
+
annotationToAdd = getAnnToAdd(
|
|
170585
|
+
vals,
|
|
170586
|
+
n,
|
|
170587
|
+
type,
|
|
170588
|
+
annotationTypePlural,
|
|
170589
|
+
sequenceLength
|
|
170590
|
+
);
|
|
170578
170591
|
}
|
|
170579
170592
|
});
|
|
170580
170593
|
const toReturn = {
|
|
@@ -170598,7 +170611,6 @@
|
|
|
170598
170611
|
editorState,
|
|
170599
170612
|
ownProps.additionalEnzymes
|
|
170600
170613
|
);
|
|
170601
|
-
const sequenceLength = selectors.sequenceLengthSelector(editorState);
|
|
170602
170614
|
const { matchedSearchLayer, searchLayers, matchesTotal } = getSearchLayersAndMatch(editorState);
|
|
170603
170615
|
const annotationSearchMatches = selectors.annotationSearchSelector(editorState);
|
|
170604
170616
|
const _sequenceDataToUse = getSequenceDataToUse(
|
|
@@ -170874,21 +170886,26 @@
|
|
|
170874
170886
|
};
|
|
170875
170887
|
}
|
|
170876
170888
|
);
|
|
170877
|
-
const getAnnToAdd = defaultMemoize(
|
|
170878
|
-
|
|
170879
|
-
|
|
170880
|
-
|
|
170881
|
-
|
|
170882
|
-
|
|
170883
|
-
|
|
170884
|
-
|
|
170885
|
-
|
|
170886
|
-
|
|
170887
|
-
|
|
170888
|
-
|
|
170889
|
+
const getAnnToAdd = defaultMemoize(
|
|
170890
|
+
(vals, n, type, annotationTypePlural, sequenceLength) => {
|
|
170891
|
+
const annToAdd = normalizeRange(
|
|
170892
|
+
{
|
|
170893
|
+
color: getFeatureToColorMap({ includeHidden: true })[vals.type || "primer_bind"],
|
|
170894
|
+
//we won't have the correct color yet so we set it here
|
|
170895
|
+
...vals,
|
|
170896
|
+
formName: n,
|
|
170897
|
+
type,
|
|
170898
|
+
annotationTypePlural,
|
|
170899
|
+
name: vals.name || "Untitled"
|
|
170900
|
+
},
|
|
170901
|
+
sequenceLength
|
|
170902
|
+
);
|
|
170903
|
+
if (!vals.useLinkedOligo) {
|
|
170904
|
+
delete annToAdd.bases;
|
|
170905
|
+
}
|
|
170906
|
+
return annToAdd;
|
|
170889
170907
|
}
|
|
170890
|
-
|
|
170891
|
-
});
|
|
170908
|
+
);
|
|
170892
170909
|
const getSeqDataWithAnnToAdd = defaultMemoize(
|
|
170893
170910
|
(seqData, ann, allowMultipleFeatureDirections) => {
|
|
170894
170911
|
if (ann) {
|
|
@@ -188761,7 +188778,7 @@ double click --> edit`}`;
|
|
|
188761
188778
|
}
|
|
188762
188779
|
|
|
188763
188780
|
const name = "@teselagen/ove";
|
|
188764
|
-
const version = "0.3.
|
|
188781
|
+
const version = "0.3.14";
|
|
188765
188782
|
const main = "./src/index.js";
|
|
188766
188783
|
const exports$1 = {
|
|
188767
188784
|
".": {
|
|
@@ -202384,30 +202401,30 @@ double click --> edit`}`;
|
|
|
202384
202401
|
formatStart = (val) => {
|
|
202385
202402
|
const { isProtein } = this.props.sequenceData || {};
|
|
202386
202403
|
if (isProtein) {
|
|
202387
|
-
return (val + 2) / 3;
|
|
202404
|
+
return lodashExports.round((val + 2) / 3);
|
|
202388
202405
|
}
|
|
202389
|
-
return val;
|
|
202406
|
+
return lodashExports.round(val);
|
|
202390
202407
|
};
|
|
202391
202408
|
formatEnd = (val) => {
|
|
202392
202409
|
const { isProtein } = this.props.sequenceData || {};
|
|
202393
202410
|
if (isProtein) {
|
|
202394
|
-
return val / 3;
|
|
202411
|
+
return lodashExports.round(val / 3);
|
|
202395
202412
|
}
|
|
202396
|
-
return val;
|
|
202413
|
+
return lodashExports.round(val);
|
|
202397
202414
|
};
|
|
202398
202415
|
parseStart = (val) => {
|
|
202399
202416
|
const { isProtein } = this.props.sequenceData || {};
|
|
202400
202417
|
if (isProtein) {
|
|
202401
|
-
return val * 3 - 2;
|
|
202418
|
+
return lodashExports.round(val * 3 - 2);
|
|
202402
202419
|
}
|
|
202403
|
-
return val;
|
|
202420
|
+
return lodashExports.round(val);
|
|
202404
202421
|
};
|
|
202405
202422
|
parseEnd = (val) => {
|
|
202406
202423
|
const { isProtein } = this.props.sequenceData || {};
|
|
202407
202424
|
if (isProtein) {
|
|
202408
|
-
return val * 3;
|
|
202425
|
+
return lodashExports.round(val * 3);
|
|
202409
202426
|
}
|
|
202410
|
-
return val;
|
|
202427
|
+
return lodashExports.round(val);
|
|
202411
202428
|
};
|
|
202412
202429
|
renderLocations = (props) => {
|
|
202413
202430
|
const { fields } = props;
|
|
@@ -208752,7 +208769,7 @@ ${seqDataToCopy}\r
|
|
|
208752
208769
|
{
|
|
208753
208770
|
className: "veReadOnlySelect",
|
|
208754
208771
|
disabled: !onSave || disableSetReadOnly,
|
|
208755
|
-
onChange: (val) =>
|
|
208772
|
+
onChange: (val) => handleReadOnlyChange(val === "readOnly", this.props),
|
|
208756
208773
|
value: readOnly ? "readOnly" : "editable",
|
|
208757
208774
|
options: [
|
|
208758
208775
|
{ label: "Read Only", value: "readOnly" },
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teselagen/ove",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.15",
|
|
4
4
|
"main": "./src/index.js",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"dependencies": {
|
|
16
16
|
"@teselagen/sequence-utils": "0.3.7",
|
|
17
17
|
"@teselagen/range-utils": "0.3.7",
|
|
18
|
-
"@teselagen/ui": "0.3.
|
|
18
|
+
"@teselagen/ui": "0.3.13",
|
|
19
19
|
"@teselagen/file-utils": "0.3.9",
|
|
20
20
|
"@teselagen/bounce-loader": "0.3.7",
|
|
21
21
|
"@teselagen/bio-parsers": "0.3.8",
|
package/src/ToolBar/editTool.js
CHANGED
|
@@ -2,7 +2,6 @@ import React, { useState } from "react";
|
|
|
2
2
|
import { Icon } from "@blueprintjs/core";
|
|
3
3
|
import ToolbarItem from "./ToolbarItem";
|
|
4
4
|
import { connectToEditor } from "../withEditorProps";
|
|
5
|
-
import { func } from "prop-types";
|
|
6
5
|
|
|
7
6
|
export default connectToEditor(editorState => {
|
|
8
7
|
return {
|
|
@@ -39,7 +39,7 @@ import { store, view } from "@risingstack/react-easy-state";
|
|
|
39
39
|
|
|
40
40
|
import withEditorProps from "../../withEditorProps";
|
|
41
41
|
import { withProps } from "recompose";
|
|
42
|
-
import { map, flatMap } from "lodash";
|
|
42
|
+
import { map, flatMap, round } from "lodash";
|
|
43
43
|
import "./style.css";
|
|
44
44
|
|
|
45
45
|
class AddOrEditAnnotationDialog extends React.Component {
|
|
@@ -58,30 +58,30 @@ class AddOrEditAnnotationDialog extends React.Component {
|
|
|
58
58
|
formatStart = val => {
|
|
59
59
|
const { isProtein } = this.props.sequenceData || {};
|
|
60
60
|
if (isProtein) {
|
|
61
|
-
return (val + 2) / 3;
|
|
61
|
+
return round((val + 2) / 3);
|
|
62
62
|
}
|
|
63
|
-
return val;
|
|
63
|
+
return round(val);
|
|
64
64
|
};
|
|
65
65
|
formatEnd = val => {
|
|
66
66
|
const { isProtein } = this.props.sequenceData || {};
|
|
67
67
|
if (isProtein) {
|
|
68
|
-
return val / 3;
|
|
68
|
+
return round(val / 3);
|
|
69
69
|
}
|
|
70
|
-
return val;
|
|
70
|
+
return round(val);
|
|
71
71
|
};
|
|
72
72
|
parseStart = val => {
|
|
73
73
|
const { isProtein } = this.props.sequenceData || {};
|
|
74
74
|
if (isProtein) {
|
|
75
|
-
return val * 3 - 2;
|
|
75
|
+
return round(val * 3 - 2);
|
|
76
76
|
}
|
|
77
|
-
return val;
|
|
77
|
+
return round(val);
|
|
78
78
|
};
|
|
79
79
|
parseEnd = val => {
|
|
80
80
|
const { isProtein } = this.props.sequenceData || {};
|
|
81
81
|
if (isProtein) {
|
|
82
|
-
return val * 3;
|
|
82
|
+
return round(val * 3);
|
|
83
83
|
}
|
|
84
|
-
return val;
|
|
84
|
+
return round(val);
|
|
85
85
|
};
|
|
86
86
|
renderLocations = props => {
|
|
87
87
|
const { fields } = props;
|
|
@@ -105,7 +105,6 @@ class GeneralProperties extends React.Component {
|
|
|
105
105
|
className={"veReadOnlySelect"}
|
|
106
106
|
disabled={!onSave || disableSetReadOnly}
|
|
107
107
|
onChange={val =>
|
|
108
|
-
console.log(`val:`, val) ||
|
|
109
108
|
handleReadOnlyChange(val === "readOnly", this.props)
|
|
110
109
|
}
|
|
111
110
|
value={readOnly ? "readOnly" : "editable"}
|
|
@@ -571,6 +571,7 @@ function mapStateToProps(state, ownProps) {
|
|
|
571
571
|
if (!editorState) {
|
|
572
572
|
return editorReducer({}, {});
|
|
573
573
|
}
|
|
574
|
+
const sequenceLength = s.sequenceLengthSelector(editorState);
|
|
574
575
|
|
|
575
576
|
const { findTool, annotationsToSupport = {} } = editorState;
|
|
576
577
|
const visibilities = getVisibilities(editorState);
|
|
@@ -582,7 +583,13 @@ function mapStateToProps(state, ownProps) {
|
|
|
582
583
|
].forEach(([n, type, annotationTypePlural]) => {
|
|
583
584
|
const vals = getFormValues(n)(state);
|
|
584
585
|
if (vals) {
|
|
585
|
-
annotationToAdd = getAnnToAdd(
|
|
586
|
+
annotationToAdd = getAnnToAdd(
|
|
587
|
+
vals,
|
|
588
|
+
n,
|
|
589
|
+
type,
|
|
590
|
+
annotationTypePlural,
|
|
591
|
+
sequenceLength
|
|
592
|
+
);
|
|
586
593
|
}
|
|
587
594
|
});
|
|
588
595
|
|
|
@@ -613,7 +620,6 @@ function mapStateToProps(state, ownProps) {
|
|
|
613
620
|
editorState,
|
|
614
621
|
ownProps.additionalEnzymes
|
|
615
622
|
);
|
|
616
|
-
const sequenceLength = s.sequenceLengthSelector(editorState);
|
|
617
623
|
|
|
618
624
|
const { matchedSearchLayer, searchLayers, matchesTotal } =
|
|
619
625
|
getSearchLayersAndMatch(editorState);
|
|
@@ -955,22 +961,28 @@ const getFindTool = createSelector(
|
|
|
955
961
|
}
|
|
956
962
|
);
|
|
957
963
|
|
|
958
|
-
const getAnnToAdd = defaultMemoize(
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
964
|
+
const getAnnToAdd = defaultMemoize(
|
|
965
|
+
(vals, n, type, annotationTypePlural, sequenceLength) => {
|
|
966
|
+
const annToAdd = normalizeRange(
|
|
967
|
+
{
|
|
968
|
+
color: getFeatureToColorMap({ includeHidden: true })[
|
|
969
|
+
vals.type || "primer_bind"
|
|
970
|
+
], //we won't have the correct color yet so we set it here
|
|
971
|
+
...vals,
|
|
972
|
+
formName: n,
|
|
973
|
+
type,
|
|
974
|
+
annotationTypePlural,
|
|
975
|
+
name: vals.name || "Untitled"
|
|
976
|
+
},
|
|
977
|
+
sequenceLength
|
|
978
|
+
);
|
|
979
|
+
|
|
980
|
+
if (!vals.useLinkedOligo) {
|
|
981
|
+
delete annToAdd.bases;
|
|
982
|
+
}
|
|
983
|
+
return annToAdd;
|
|
971
984
|
}
|
|
972
|
-
|
|
973
|
-
});
|
|
985
|
+
);
|
|
974
986
|
const getSeqDataWithAnnToAdd = defaultMemoize(
|
|
975
987
|
(seqData, ann, allowMultipleFeatureDirections) => {
|
|
976
988
|
if (ann) {
|