igv 2.13.0 → 2.13.1
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/README.md +10 -10
- package/dist/igv.esm.js +1039 -292
- package/dist/igv.esm.min.js +9 -9
- package/dist/igv.esm.min.js.map +1 -1
- package/dist/igv.js +1045 -280
- package/dist/igv.min.js +10 -10
- package/dist/igv.min.js.map +1 -1
- package/package.json +2 -2
package/dist/igv.esm.js
CHANGED
|
@@ -8489,8 +8489,8 @@ function encode(objectName) {
|
|
|
8489
8489
|
|
|
8490
8490
|
let result = '';
|
|
8491
8491
|
objectName.split('').forEach(function(letter) {
|
|
8492
|
-
if(encodings.has(letter)) {
|
|
8493
|
-
result += encodings.get(letter);
|
|
8492
|
+
if(encodings$1.has(letter)) {
|
|
8493
|
+
result += encodings$1.get(letter);
|
|
8494
8494
|
} else {
|
|
8495
8495
|
result += letter;
|
|
8496
8496
|
}
|
|
@@ -8499,27 +8499,27 @@ function encode(objectName) {
|
|
|
8499
8499
|
}
|
|
8500
8500
|
|
|
8501
8501
|
// %23 %24 %25 %26 %27 %28 %29 %2A %2B %2C %2F %3A %3B %3D %3F %40 %5B %5D
|
|
8502
|
-
const encodings = new Map();
|
|
8503
|
-
encodings.set("!", "%21");
|
|
8504
|
-
encodings.set("#", "%23");
|
|
8505
|
-
encodings.set("$", "%24");
|
|
8506
|
-
encodings.set("%", "%25");
|
|
8507
|
-
encodings.set("&", "%26");
|
|
8508
|
-
encodings.set("'", "%27");
|
|
8509
|
-
encodings.set("(", "%28");
|
|
8510
|
-
encodings.set(")", "%29");
|
|
8511
|
-
encodings.set("*", "%2A");
|
|
8512
|
-
encodings.set("+", "%2B");
|
|
8513
|
-
encodings.set(",", "%2C");
|
|
8514
|
-
encodings.set("/", "%2F");
|
|
8515
|
-
encodings.set(":", "%3A");
|
|
8516
|
-
encodings.set(";", "%3B");
|
|
8517
|
-
encodings.set("=", "%3D");
|
|
8518
|
-
encodings.set("?", "%3F");
|
|
8519
|
-
encodings.set("@", "%40");
|
|
8520
|
-
encodings.set("[", "%5B");
|
|
8521
|
-
encodings.set("]", "%5D");
|
|
8522
|
-
encodings.set(" ", "%20");
|
|
8502
|
+
const encodings$1 = new Map();
|
|
8503
|
+
encodings$1.set("!", "%21");
|
|
8504
|
+
encodings$1.set("#", "%23");
|
|
8505
|
+
encodings$1.set("$", "%24");
|
|
8506
|
+
encodings$1.set("%", "%25");
|
|
8507
|
+
encodings$1.set("&", "%26");
|
|
8508
|
+
encodings$1.set("'", "%27");
|
|
8509
|
+
encodings$1.set("(", "%28");
|
|
8510
|
+
encodings$1.set(")", "%29");
|
|
8511
|
+
encodings$1.set("*", "%2A");
|
|
8512
|
+
encodings$1.set("+", "%2B");
|
|
8513
|
+
encodings$1.set(",", "%2C");
|
|
8514
|
+
encodings$1.set("/", "%2F");
|
|
8515
|
+
encodings$1.set(":", "%3A");
|
|
8516
|
+
encodings$1.set(";", "%3B");
|
|
8517
|
+
encodings$1.set("=", "%3D");
|
|
8518
|
+
encodings$1.set("?", "%3F");
|
|
8519
|
+
encodings$1.set("@", "%40");
|
|
8520
|
+
encodings$1.set("[", "%5B");
|
|
8521
|
+
encodings$1.set("]", "%5D");
|
|
8522
|
+
encodings$1.set(" ", "%20");
|
|
8523
8523
|
|
|
8524
8524
|
// Convenience functions for the gapi oAuth library.
|
|
8525
8525
|
|
|
@@ -8841,7 +8841,7 @@ function download(filename, data) {
|
|
|
8841
8841
|
/*============================================================================*/
|
|
8842
8842
|
|
|
8843
8843
|
|
|
8844
|
-
function zero$1(buf) { let len = buf.length; while (--len >= 0) { buf[len] = 0; } }
|
|
8844
|
+
function zero$1$1(buf) { let len = buf.length; while (--len >= 0) { buf[len] = 0; } }
|
|
8845
8845
|
|
|
8846
8846
|
// From zutil.h
|
|
8847
8847
|
|
|
@@ -8850,8 +8850,8 @@ function download(filename, data) {
|
|
|
8850
8850
|
const DYN_TREES = 2;
|
|
8851
8851
|
/* The three kinds of block type */
|
|
8852
8852
|
|
|
8853
|
-
const MIN_MATCH$1 = 3;
|
|
8854
|
-
const MAX_MATCH$1 = 258;
|
|
8853
|
+
const MIN_MATCH$1$1 = 3;
|
|
8854
|
+
const MAX_MATCH$1$1 = 258;
|
|
8855
8855
|
/* The minimum and maximum match lengths */
|
|
8856
8856
|
|
|
8857
8857
|
// From deflate.h
|
|
@@ -8859,22 +8859,22 @@ function download(filename, data) {
|
|
|
8859
8859
|
* Internal compression state.
|
|
8860
8860
|
*/
|
|
8861
8861
|
|
|
8862
|
-
const LENGTH_CODES$1 = 29;
|
|
8862
|
+
const LENGTH_CODES$1$1 = 29;
|
|
8863
8863
|
/* number of length codes, not counting the special END_BLOCK code */
|
|
8864
8864
|
|
|
8865
|
-
const LITERALS$1 = 256;
|
|
8865
|
+
const LITERALS$1$1 = 256;
|
|
8866
8866
|
/* number of literal bytes 0..255 */
|
|
8867
8867
|
|
|
8868
|
-
const L_CODES$1 = LITERALS$1 + 1 + LENGTH_CODES$1;
|
|
8868
|
+
const L_CODES$1$1 = LITERALS$1$1 + 1 + LENGTH_CODES$1$1;
|
|
8869
8869
|
/* number of Literal or Length codes, including the END_BLOCK code */
|
|
8870
8870
|
|
|
8871
|
-
const D_CODES$1 = 30;
|
|
8871
|
+
const D_CODES$1$1 = 30;
|
|
8872
8872
|
/* number of distance codes */
|
|
8873
8873
|
|
|
8874
8874
|
const BL_CODES$1 = 19;
|
|
8875
8875
|
/* number of codes used to transfer the bit lengths */
|
|
8876
8876
|
|
|
8877
|
-
const HEAP_SIZE$1 = 2 * L_CODES$1 + 1;
|
|
8877
|
+
const HEAP_SIZE$1 = 2 * L_CODES$1$1 + 1;
|
|
8878
8878
|
/* maximum heap size */
|
|
8879
8879
|
|
|
8880
8880
|
const MAX_BITS$1 = 15;
|
|
@@ -8927,40 +8927,40 @@ function download(filename, data) {
|
|
|
8927
8927
|
|
|
8928
8928
|
// We pre-fill arrays with 0 to avoid uninitialized gaps
|
|
8929
8929
|
|
|
8930
|
-
const DIST_CODE_LEN = 512; /* see definition of array dist_code below */
|
|
8930
|
+
const DIST_CODE_LEN$1 = 512; /* see definition of array dist_code below */
|
|
8931
8931
|
|
|
8932
8932
|
// !!!! Use flat array instead of structure, Freq = i*2, Len = i*2+1
|
|
8933
|
-
const static_ltree = new Array((L_CODES$1 + 2) * 2);
|
|
8934
|
-
zero$1(static_ltree);
|
|
8933
|
+
const static_ltree$1 = new Array((L_CODES$1$1 + 2) * 2);
|
|
8934
|
+
zero$1$1(static_ltree$1);
|
|
8935
8935
|
/* The static literal tree. Since the bit lengths are imposed, there is no
|
|
8936
8936
|
* need for the L_CODES extra codes used during heap construction. However
|
|
8937
8937
|
* The codes 286 and 287 are needed to build a canonical tree (see _tr_init
|
|
8938
8938
|
* below).
|
|
8939
8939
|
*/
|
|
8940
8940
|
|
|
8941
|
-
const static_dtree = new Array(D_CODES$1 * 2);
|
|
8942
|
-
zero$1(static_dtree);
|
|
8941
|
+
const static_dtree$1 = new Array(D_CODES$1$1 * 2);
|
|
8942
|
+
zero$1$1(static_dtree$1);
|
|
8943
8943
|
/* The static distance tree. (Actually a trivial tree since all codes use
|
|
8944
8944
|
* 5 bits.)
|
|
8945
8945
|
*/
|
|
8946
8946
|
|
|
8947
|
-
const _dist_code = new Array(DIST_CODE_LEN);
|
|
8948
|
-
zero$1(_dist_code);
|
|
8947
|
+
const _dist_code$1 = new Array(DIST_CODE_LEN$1);
|
|
8948
|
+
zero$1$1(_dist_code$1);
|
|
8949
8949
|
/* Distance codes. The first 256 values correspond to the distances
|
|
8950
8950
|
* 3 .. 258, the last 256 values correspond to the top 8 bits of
|
|
8951
8951
|
* the 15 bit distances.
|
|
8952
8952
|
*/
|
|
8953
8953
|
|
|
8954
|
-
const _length_code = new Array(MAX_MATCH$1 - MIN_MATCH$1 + 1);
|
|
8955
|
-
zero$1(_length_code);
|
|
8954
|
+
const _length_code$1 = new Array(MAX_MATCH$1$1 - MIN_MATCH$1$1 + 1);
|
|
8955
|
+
zero$1$1(_length_code$1);
|
|
8956
8956
|
/* length code for each normalized match length (0 == MIN_MATCH) */
|
|
8957
8957
|
|
|
8958
|
-
const base_length = new Array(LENGTH_CODES$1);
|
|
8959
|
-
zero$1(base_length);
|
|
8958
|
+
const base_length$1 = new Array(LENGTH_CODES$1$1);
|
|
8959
|
+
zero$1$1(base_length$1);
|
|
8960
8960
|
/* First normalized length for each code (0 = MIN_MATCH) */
|
|
8961
8961
|
|
|
8962
|
-
const base_dist = new Array(D_CODES$1);
|
|
8963
|
-
zero$1(base_dist);
|
|
8962
|
+
const base_dist$1 = new Array(D_CODES$1$1);
|
|
8963
|
+
zero$1$1(base_dist$1);
|
|
8964
8964
|
/* First normalized distance for each code (0 = distance of 1) */
|
|
8965
8965
|
|
|
8966
8966
|
|
|
@@ -8992,7 +8992,7 @@ function download(filename, data) {
|
|
|
8992
8992
|
|
|
8993
8993
|
const d_code = (dist) => {
|
|
8994
8994
|
|
|
8995
|
-
return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];
|
|
8995
|
+
return dist < 256 ? _dist_code$1[dist] : _dist_code$1[256 + (dist >>> 7)];
|
|
8996
8996
|
};
|
|
8997
8997
|
|
|
8998
8998
|
|
|
@@ -9236,10 +9236,10 @@ function download(filename, data) {
|
|
|
9236
9236
|
|
|
9237
9237
|
/* Initialize the mapping length (0..255) -> length code (0..28) */
|
|
9238
9238
|
length = 0;
|
|
9239
|
-
for (code = 0; code < LENGTH_CODES$1 - 1; code++) {
|
|
9240
|
-
base_length[code] = length;
|
|
9239
|
+
for (code = 0; code < LENGTH_CODES$1$1 - 1; code++) {
|
|
9240
|
+
base_length$1[code] = length;
|
|
9241
9241
|
for (n = 0; n < (1 << extra_lbits[code]); n++) {
|
|
9242
|
-
_length_code[length++] = code;
|
|
9242
|
+
_length_code$1[length++] = code;
|
|
9243
9243
|
}
|
|
9244
9244
|
}
|
|
9245
9245
|
//Assert (length == 256, "tr_static_init: length != 256");
|
|
@@ -9247,22 +9247,22 @@ function download(filename, data) {
|
|
|
9247
9247
|
* in two different ways: code 284 + 5 bits or code 285, so we
|
|
9248
9248
|
* overwrite length_code[255] to use the best encoding:
|
|
9249
9249
|
*/
|
|
9250
|
-
_length_code[length - 1] = code;
|
|
9250
|
+
_length_code$1[length - 1] = code;
|
|
9251
9251
|
|
|
9252
9252
|
/* Initialize the mapping dist (0..32K) -> dist code (0..29) */
|
|
9253
9253
|
dist = 0;
|
|
9254
9254
|
for (code = 0; code < 16; code++) {
|
|
9255
|
-
base_dist[code] = dist;
|
|
9255
|
+
base_dist$1[code] = dist;
|
|
9256
9256
|
for (n = 0; n < (1 << extra_dbits[code]); n++) {
|
|
9257
|
-
_dist_code[dist++] = code;
|
|
9257
|
+
_dist_code$1[dist++] = code;
|
|
9258
9258
|
}
|
|
9259
9259
|
}
|
|
9260
9260
|
//Assert (dist == 256, "tr_static_init: dist != 256");
|
|
9261
9261
|
dist >>= 7; /* from now on, all distances are divided by 128 */
|
|
9262
|
-
for (; code < D_CODES$1; code++) {
|
|
9263
|
-
base_dist[code] = dist << 7;
|
|
9262
|
+
for (; code < D_CODES$1$1; code++) {
|
|
9263
|
+
base_dist$1[code] = dist << 7;
|
|
9264
9264
|
for (n = 0; n < (1 << (extra_dbits[code] - 7)); n++) {
|
|
9265
|
-
_dist_code[256 + dist++] = code;
|
|
9265
|
+
_dist_code$1[256 + dist++] = code;
|
|
9266
9266
|
}
|
|
9267
9267
|
}
|
|
9268
9268
|
//Assert (dist == 256, "tr_static_init: 256+dist != 512");
|
|
@@ -9274,22 +9274,22 @@ function download(filename, data) {
|
|
|
9274
9274
|
|
|
9275
9275
|
n = 0;
|
|
9276
9276
|
while (n <= 143) {
|
|
9277
|
-
static_ltree[n * 2 + 1]/*.Len*/ = 8;
|
|
9277
|
+
static_ltree$1[n * 2 + 1]/*.Len*/ = 8;
|
|
9278
9278
|
n++;
|
|
9279
9279
|
bl_count[8]++;
|
|
9280
9280
|
}
|
|
9281
9281
|
while (n <= 255) {
|
|
9282
|
-
static_ltree[n * 2 + 1]/*.Len*/ = 9;
|
|
9282
|
+
static_ltree$1[n * 2 + 1]/*.Len*/ = 9;
|
|
9283
9283
|
n++;
|
|
9284
9284
|
bl_count[9]++;
|
|
9285
9285
|
}
|
|
9286
9286
|
while (n <= 279) {
|
|
9287
|
-
static_ltree[n * 2 + 1]/*.Len*/ = 7;
|
|
9287
|
+
static_ltree$1[n * 2 + 1]/*.Len*/ = 7;
|
|
9288
9288
|
n++;
|
|
9289
9289
|
bl_count[7]++;
|
|
9290
9290
|
}
|
|
9291
9291
|
while (n <= 287) {
|
|
9292
|
-
static_ltree[n * 2 + 1]/*.Len*/ = 8;
|
|
9292
|
+
static_ltree$1[n * 2 + 1]/*.Len*/ = 8;
|
|
9293
9293
|
n++;
|
|
9294
9294
|
bl_count[8]++;
|
|
9295
9295
|
}
|
|
@@ -9297,17 +9297,17 @@ function download(filename, data) {
|
|
|
9297
9297
|
* tree construction to get a canonical Huffman tree (longest code
|
|
9298
9298
|
* all ones)
|
|
9299
9299
|
*/
|
|
9300
|
-
gen_codes(static_ltree, L_CODES$1 + 1, bl_count);
|
|
9300
|
+
gen_codes(static_ltree$1, L_CODES$1$1 + 1, bl_count);
|
|
9301
9301
|
|
|
9302
9302
|
/* The static distance tree is trivial: */
|
|
9303
|
-
for (n = 0; n < D_CODES$1; n++) {
|
|
9304
|
-
static_dtree[n * 2 + 1]/*.Len*/ = 5;
|
|
9305
|
-
static_dtree[n * 2]/*.Code*/ = bi_reverse(n, 5);
|
|
9303
|
+
for (n = 0; n < D_CODES$1$1; n++) {
|
|
9304
|
+
static_dtree$1[n * 2 + 1]/*.Len*/ = 5;
|
|
9305
|
+
static_dtree$1[n * 2]/*.Code*/ = bi_reverse(n, 5);
|
|
9306
9306
|
}
|
|
9307
9307
|
|
|
9308
9308
|
// Now data ready and we can init static trees
|
|
9309
|
-
static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS$1 + 1, L_CODES$1, MAX_BITS$1);
|
|
9310
|
-
static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES$1, MAX_BITS$1);
|
|
9309
|
+
static_l_desc = new StaticTreeDesc(static_ltree$1, extra_lbits, LITERALS$1$1 + 1, L_CODES$1$1, MAX_BITS$1);
|
|
9310
|
+
static_d_desc = new StaticTreeDesc(static_dtree$1, extra_dbits, 0, D_CODES$1$1, MAX_BITS$1);
|
|
9311
9311
|
static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0, BL_CODES$1, MAX_BL_BITS);
|
|
9312
9312
|
|
|
9313
9313
|
//static_init_done = true;
|
|
@@ -9322,8 +9322,8 @@ function download(filename, data) {
|
|
|
9322
9322
|
let n; /* iterates over tree elements */
|
|
9323
9323
|
|
|
9324
9324
|
/* Initialize the trees. */
|
|
9325
|
-
for (n = 0; n < L_CODES$1; n++) { s.dyn_ltree[n * 2]/*.Freq*/ = 0; }
|
|
9326
|
-
for (n = 0; n < D_CODES$1; n++) { s.dyn_dtree[n * 2]/*.Freq*/ = 0; }
|
|
9325
|
+
for (n = 0; n < L_CODES$1$1; n++) { s.dyn_ltree[n * 2]/*.Freq*/ = 0; }
|
|
9326
|
+
for (n = 0; n < D_CODES$1$1; n++) { s.dyn_dtree[n * 2]/*.Freq*/ = 0; }
|
|
9327
9327
|
for (n = 0; n < BL_CODES$1; n++) { s.bl_tree[n * 2]/*.Freq*/ = 0; }
|
|
9328
9328
|
|
|
9329
9329
|
s.dyn_ltree[END_BLOCK * 2]/*.Freq*/ = 1;
|
|
@@ -9443,11 +9443,11 @@ function download(filename, data) {
|
|
|
9443
9443
|
//Tracecv(isgraph(lc), (stderr," '%c' ", lc));
|
|
9444
9444
|
} else {
|
|
9445
9445
|
/* Here, lc is the match length - MIN_MATCH */
|
|
9446
|
-
code = _length_code[lc];
|
|
9447
|
-
send_code(s, code + LITERALS$1 + 1, ltree); /* send the length code */
|
|
9446
|
+
code = _length_code$1[lc];
|
|
9447
|
+
send_code(s, code + LITERALS$1$1 + 1, ltree); /* send the length code */
|
|
9448
9448
|
extra = extra_lbits[code];
|
|
9449
9449
|
if (extra !== 0) {
|
|
9450
|
-
lc -= base_length[code];
|
|
9450
|
+
lc -= base_length$1[code];
|
|
9451
9451
|
send_bits(s, lc, extra); /* send the extra length bits */
|
|
9452
9452
|
}
|
|
9453
9453
|
dist--; /* dist is now the match distance - 1 */
|
|
@@ -9457,7 +9457,7 @@ function download(filename, data) {
|
|
|
9457
9457
|
send_code(s, code, dtree); /* send the distance code */
|
|
9458
9458
|
extra = extra_dbits[code];
|
|
9459
9459
|
if (extra !== 0) {
|
|
9460
|
-
dist -= base_dist[code];
|
|
9460
|
+
dist -= base_dist$1[code];
|
|
9461
9461
|
send_bits(s, dist, extra); /* send the extra distance bits */
|
|
9462
9462
|
}
|
|
9463
9463
|
} /* literal or match pair ? */
|
|
@@ -9811,7 +9811,7 @@ function download(filename, data) {
|
|
|
9811
9811
|
s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) {
|
|
9812
9812
|
return Z_TEXT;
|
|
9813
9813
|
}
|
|
9814
|
-
for (n = 32; n < LITERALS$1; n++) {
|
|
9814
|
+
for (n = 32; n < LITERALS$1$1; n++) {
|
|
9815
9815
|
if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) {
|
|
9816
9816
|
return Z_TEXT;
|
|
9817
9817
|
}
|
|
@@ -9869,7 +9869,7 @@ function download(filename, data) {
|
|
|
9869
9869
|
*/
|
|
9870
9870
|
const _tr_align$1 = (s) => {
|
|
9871
9871
|
send_bits(s, STATIC_TREES << 1, 3);
|
|
9872
|
-
send_code(s, END_BLOCK, static_ltree);
|
|
9872
|
+
send_code(s, END_BLOCK, static_ltree$1);
|
|
9873
9873
|
bi_flush(s);
|
|
9874
9874
|
};
|
|
9875
9875
|
|
|
@@ -9941,7 +9941,7 @@ function download(filename, data) {
|
|
|
9941
9941
|
} else if (s.strategy === Z_FIXED$1 || static_lenb === opt_lenb) {
|
|
9942
9942
|
|
|
9943
9943
|
send_bits(s, (STATIC_TREES << 1) + (last ? 1 : 0), 3);
|
|
9944
|
-
compress_block(s, static_ltree, static_dtree);
|
|
9944
|
+
compress_block(s, static_ltree$1, static_dtree$1);
|
|
9945
9945
|
|
|
9946
9946
|
} else {
|
|
9947
9947
|
send_bits(s, (DYN_TREES << 1) + (last ? 1 : 0), 3);
|
|
@@ -9989,7 +9989,7 @@ function download(filename, data) {
|
|
|
9989
9989
|
// (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&
|
|
9990
9990
|
// (ush)d_code(dist) < (ush)D_CODES, "_tr_tally: bad match");
|
|
9991
9991
|
|
|
9992
|
-
s.dyn_ltree[(_length_code[lc] + LITERALS$1 + 1) * 2]/*.Freq*/++;
|
|
9992
|
+
s.dyn_ltree[(_length_code$1[lc] + LITERALS$1$1 + 1) * 2]/*.Freq*/++;
|
|
9993
9993
|
s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++;
|
|
9994
9994
|
}
|
|
9995
9995
|
|
|
@@ -10111,7 +10111,7 @@ function download(filename, data) {
|
|
|
10111
10111
|
// 3. This notice may not be removed or altered from any source distribution.
|
|
10112
10112
|
|
|
10113
10113
|
// Use ordinary array, since untyped makes no boost here
|
|
10114
|
-
const makeTable = () => {
|
|
10114
|
+
const makeTable$1 = () => {
|
|
10115
10115
|
let c, table = [];
|
|
10116
10116
|
|
|
10117
10117
|
for (var n = 0; n < 256; n++) {
|
|
@@ -10126,7 +10126,7 @@ function download(filename, data) {
|
|
|
10126
10126
|
};
|
|
10127
10127
|
|
|
10128
10128
|
// Create table on load. Just 255 signed longs. Not a problem.
|
|
10129
|
-
const crcTable = new Uint32Array(makeTable());
|
|
10129
|
+
const crcTable = new Uint32Array(makeTable$1());
|
|
10130
10130
|
|
|
10131
10131
|
|
|
10132
10132
|
const crc32 = (crc, buf, len, pos) => {
|
|
@@ -12171,11 +12171,11 @@ function download(filename, data) {
|
|
|
12171
12171
|
// Table with utf8 lengths (calculated by first byte of sequence)
|
|
12172
12172
|
// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,
|
|
12173
12173
|
// because max possible codepoint is 0x10ffff
|
|
12174
|
-
const _utf8len = new Uint8Array(256);
|
|
12174
|
+
const _utf8len$1 = new Uint8Array(256);
|
|
12175
12175
|
for (let q = 0; q < 256; q++) {
|
|
12176
|
-
_utf8len[q] = (q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1);
|
|
12176
|
+
_utf8len$1[q] = (q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1);
|
|
12177
12177
|
}
|
|
12178
|
-
_utf8len[254] = _utf8len[254] = 1; // Invalid sequence start
|
|
12178
|
+
_utf8len$1[254] = _utf8len$1[254] = 1; // Invalid sequence start
|
|
12179
12179
|
|
|
12180
12180
|
|
|
12181
12181
|
// convert string to array (typed, when possible)
|
|
@@ -12275,7 +12275,7 @@ function download(filename, data) {
|
|
|
12275
12275
|
// quick process ascii
|
|
12276
12276
|
if (c < 0x80) { utf16buf[out++] = c; continue; }
|
|
12277
12277
|
|
|
12278
|
-
let c_len = _utf8len[c];
|
|
12278
|
+
let c_len = _utf8len$1[c];
|
|
12279
12279
|
// skip 5 & 6 byte codes
|
|
12280
12280
|
if (c_len > 4) { utf16buf[out++] = 0xfffd; i += c_len - 1; continue; }
|
|
12281
12281
|
|
|
@@ -12326,7 +12326,7 @@ function download(filename, data) {
|
|
|
12326
12326
|
// return max too.
|
|
12327
12327
|
if (pos === 0) { return max; }
|
|
12328
12328
|
|
|
12329
|
-
return (pos + _utf8len[buf[pos]] > max) ? pos : max;
|
|
12329
|
+
return (pos + _utf8len$1[buf[pos]] > max) ? pos : max;
|
|
12330
12330
|
};
|
|
12331
12331
|
|
|
12332
12332
|
var strings = {
|
|
@@ -16517,61 +16517,6 @@ function dragEnd$1(event) {
|
|
|
16517
16517
|
dragData$1 = undefined;
|
|
16518
16518
|
}
|
|
16519
16519
|
|
|
16520
|
-
const appleCrayonPalette$1 =
|
|
16521
|
-
{
|
|
16522
|
-
licorice: "#000000",
|
|
16523
|
-
lead: "#1e1e1e",
|
|
16524
|
-
tungsten: "#3a3a3a",
|
|
16525
|
-
iron: "#545453",
|
|
16526
|
-
steel: "#6e6e6e",
|
|
16527
|
-
tin: "#878687",
|
|
16528
|
-
nickel: "#888787",
|
|
16529
|
-
aluminum: "#a09fa0",
|
|
16530
|
-
magnesium: "#b8b8b8",
|
|
16531
|
-
silver: "#d0d0d0",
|
|
16532
|
-
mercury: "#e8e8e8",
|
|
16533
|
-
snow: "#ffffff",
|
|
16534
|
-
//
|
|
16535
|
-
cayenne: "#891100",
|
|
16536
|
-
mocha: "#894800",
|
|
16537
|
-
aspargus: "#888501",
|
|
16538
|
-
fern: "#458401",
|
|
16539
|
-
clover: "#028401",
|
|
16540
|
-
moss: "#018448",
|
|
16541
|
-
teal: "#008688",
|
|
16542
|
-
ocean: "#004a88",
|
|
16543
|
-
midnight: "#001888",
|
|
16544
|
-
eggplant: "#491a88",
|
|
16545
|
-
plum: "#891e88",
|
|
16546
|
-
maroon: "#891648",
|
|
16547
|
-
//
|
|
16548
|
-
maraschino: "#ff2101",
|
|
16549
|
-
tangerine: "#ff8802",
|
|
16550
|
-
lemon: "#fffa03",
|
|
16551
|
-
lime: "#83f902",
|
|
16552
|
-
spring: "#05f802",
|
|
16553
|
-
seam_foam: "#03f987",
|
|
16554
|
-
turquoise: "#00fdff",
|
|
16555
|
-
aqua: "#008cff",
|
|
16556
|
-
blueberry: "#002eff",
|
|
16557
|
-
grape: "#8931ff",
|
|
16558
|
-
magenta: "#ff39ff",
|
|
16559
|
-
strawberry: "#ff2987",
|
|
16560
|
-
//
|
|
16561
|
-
salmon: "#ff726e",
|
|
16562
|
-
cantaloupe: "#ffce6e",
|
|
16563
|
-
banana: "#fffb6d",
|
|
16564
|
-
honeydew: "#cefa6e",
|
|
16565
|
-
flora: "#68f96e",
|
|
16566
|
-
spindrift: "#68fbd0",
|
|
16567
|
-
ice: "#68fdff",
|
|
16568
|
-
sky: "#6acfff",
|
|
16569
|
-
orchid: "#6e76ff",
|
|
16570
|
-
lavender: "#d278ff",
|
|
16571
|
-
bubblegum: "#ff7aff",
|
|
16572
|
-
carnation: "#ff7fd3"
|
|
16573
|
-
};
|
|
16574
|
-
|
|
16575
16520
|
// Support for oauth token based authorization
|
|
16576
16521
|
// This class supports explicit setting of an oauth token either globally or for specific hosts.
|
|
16577
16522
|
//
|
|
@@ -16654,7 +16599,7 @@ function regExpEscape(s) {
|
|
|
16654
16599
|
* @param {number} requestsPerSecond The amount of requests per second
|
|
16655
16600
|
* the library will limit to
|
|
16656
16601
|
*/
|
|
16657
|
-
class Throttle {
|
|
16602
|
+
class Throttle$1 {
|
|
16658
16603
|
constructor(options) {
|
|
16659
16604
|
this.requestsPerSecond = options.requestsPerSecond || 10;
|
|
16660
16605
|
this.lastStartTime = 0;
|
|
@@ -16764,7 +16709,7 @@ class Throttle {
|
|
|
16764
16709
|
*/
|
|
16765
16710
|
let RANGE_WARNING_GIVEN = false;
|
|
16766
16711
|
|
|
16767
|
-
const googleThrottle = new Throttle({
|
|
16712
|
+
const googleThrottle = new Throttle$1({
|
|
16768
16713
|
requestsPerSecond: 8
|
|
16769
16714
|
});
|
|
16770
16715
|
|
|
@@ -18509,7 +18454,7 @@ class AlertDialog {
|
|
|
18509
18454
|
}, alertProps);
|
|
18510
18455
|
|
|
18511
18456
|
// container
|
|
18512
|
-
this.container = div({class: "igv-ui-alert-dialog-container"});
|
|
18457
|
+
this.container = div({class: "igv-ui-1_3_0-alert-dialog-container"});
|
|
18513
18458
|
parent.appendChild(this.container);
|
|
18514
18459
|
this.container.setAttribute('tabIndex', '-1');
|
|
18515
18460
|
|
|
@@ -18522,11 +18467,11 @@ class AlertDialog {
|
|
|
18522
18467
|
this.errorHeadline.textContent = '';
|
|
18523
18468
|
|
|
18524
18469
|
// body container
|
|
18525
|
-
let bodyContainer = div({class: 'igv-ui-alert-dialog-body'});
|
|
18470
|
+
let bodyContainer = div({class: 'igv-ui-1_3_0-alert-dialog-body'});
|
|
18526
18471
|
this.container.appendChild(bodyContainer);
|
|
18527
18472
|
|
|
18528
18473
|
// body copy
|
|
18529
|
-
this.body = div({class: 'igv-ui-alert-dialog-body-copy'});
|
|
18474
|
+
this.body = div({class: 'igv-ui-1_3_0-alert-dialog-body-copy'});
|
|
18530
18475
|
bodyContainer.appendChild(this.body);
|
|
18531
18476
|
|
|
18532
18477
|
// ok container
|
|
@@ -18614,23 +18559,23 @@ class InputDialog {
|
|
|
18614
18559
|
this.parent = parent;
|
|
18615
18560
|
|
|
18616
18561
|
// dialog container
|
|
18617
|
-
this.container = div({class: 'igv-ui-generic-dialog-container'});
|
|
18562
|
+
this.container = div({class: 'igv-ui-1_3_0-generic-dialog-container'});
|
|
18618
18563
|
parent.appendChild(this.container);
|
|
18619
18564
|
|
|
18620
18565
|
// const { x, y, width, height } = this.container.getBoundingClientRect();
|
|
18621
18566
|
// console.log(`InputDialog - x ${ x } y ${ y } width ${ width } height ${ height }`)
|
|
18622
18567
|
|
|
18623
18568
|
// dialog header
|
|
18624
|
-
const header = div({class: 'igv-ui-generic-dialog-header'});
|
|
18569
|
+
const header = div({class: 'igv-ui-1_3_0-generic-dialog-header'});
|
|
18625
18570
|
this.container.appendChild(header);
|
|
18626
18571
|
|
|
18627
18572
|
// dialog label
|
|
18628
|
-
this.label = div({class: 'igv-ui-generic-dialog-one-liner'});
|
|
18573
|
+
this.label = div({class: 'igv-ui-1_3_0-generic-dialog-one-liner'});
|
|
18629
18574
|
this.container.appendChild(this.label);
|
|
18630
18575
|
this.label.text = 'Unlabeled';
|
|
18631
18576
|
|
|
18632
18577
|
// input container
|
|
18633
|
-
this.input_container = div({class: 'igv-ui-generic-dialog-input'});
|
|
18578
|
+
this.input_container = div({class: 'igv-ui-1_3_0-generic-dialog-input'});
|
|
18634
18579
|
this.container.appendChild(this.input_container);
|
|
18635
18580
|
//
|
|
18636
18581
|
this.input = document.createElement("input");
|
|
@@ -18638,7 +18583,7 @@ class InputDialog {
|
|
|
18638
18583
|
|
|
18639
18584
|
|
|
18640
18585
|
// ok | cancel
|
|
18641
|
-
const buttons = div({class: 'igv-ui-generic-dialog-ok-cancel'});
|
|
18586
|
+
const buttons = div({class: 'igv-ui-1_3_0-generic-dialog-ok-cancel'});
|
|
18642
18587
|
this.container.appendChild(buttons);
|
|
18643
18588
|
|
|
18644
18589
|
// ok
|
|
@@ -18772,7 +18717,7 @@ class GenericContainer {
|
|
|
18772
18717
|
|
|
18773
18718
|
constructor({parent, top, left, width, height, border, closeHandler}) {
|
|
18774
18719
|
|
|
18775
|
-
let container = div({class: 'igv-ui-generic-container'});
|
|
18720
|
+
let container = div({class: 'igv-ui-1_3_0-generic-container'});
|
|
18776
18721
|
parent.appendChild(container);
|
|
18777
18722
|
hide(container);
|
|
18778
18723
|
this.container = container;
|
|
@@ -18843,14 +18788,14 @@ const createColorSwatchSelector = (container, colorHandler, defaultColors) => {
|
|
|
18843
18788
|
const hexColorStrings = Object.values(appleCrayonPalette);
|
|
18844
18789
|
|
|
18845
18790
|
for (let hexColorString of hexColorStrings) {
|
|
18846
|
-
const swatch = div({ class: 'igv-ui-color-swatch' });
|
|
18791
|
+
const swatch = div({ class: 'igv-ui-1_3_0-color-swatch' });
|
|
18847
18792
|
container.appendChild(swatch);
|
|
18848
18793
|
decorateSwatch(swatch, hexColorString, colorHandler);
|
|
18849
18794
|
}
|
|
18850
18795
|
|
|
18851
18796
|
if (defaultColors) {
|
|
18852
18797
|
for (let hexColorString of defaultColors) {
|
|
18853
|
-
const swatch = div({ class: 'igv-ui-color-swatch' });
|
|
18798
|
+
const swatch = div({ class: 'igv-ui-1_3_0-color-swatch' });
|
|
18854
18799
|
container.appendChild(swatch);
|
|
18855
18800
|
decorateSwatch(swatch, hexColorString, colorHandler);
|
|
18856
18801
|
}
|
|
@@ -18885,7 +18830,7 @@ class Popover {
|
|
|
18885
18830
|
this.parent = parent;
|
|
18886
18831
|
|
|
18887
18832
|
// popover
|
|
18888
|
-
this.popover = div({ class: "igv-ui-popover" });
|
|
18833
|
+
this.popover = div({ class: "igv-ui-1_3_0-popover" });
|
|
18889
18834
|
parent.appendChild(this.popover);
|
|
18890
18835
|
|
|
18891
18836
|
// header
|
|
@@ -19045,32 +18990,916 @@ function createMenuElements$1(itemList, popover) {
|
|
|
19045
18990
|
return list;
|
|
19046
18991
|
}
|
|
19047
18992
|
|
|
19048
|
-
|
|
18993
|
+
// %23 %24 %25 %26 %27 %28 %29 %2A %2B %2C %2F %3A %3B %3D %3F %40 %5B %5D
|
|
18994
|
+
const encodings = new Map();
|
|
18995
|
+
encodings.set("!", "%21");
|
|
18996
|
+
encodings.set("#", "%23");
|
|
18997
|
+
encodings.set("$", "%24");
|
|
18998
|
+
encodings.set("%", "%25");
|
|
18999
|
+
encodings.set("&", "%26");
|
|
19000
|
+
encodings.set("'", "%27");
|
|
19001
|
+
encodings.set("(", "%28");
|
|
19002
|
+
encodings.set(")", "%29");
|
|
19003
|
+
encodings.set("*", "%2A");
|
|
19004
|
+
encodings.set("+", "%2B");
|
|
19005
|
+
encodings.set(",", "%2C");
|
|
19006
|
+
encodings.set("/", "%2F");
|
|
19007
|
+
encodings.set(":", "%3A");
|
|
19008
|
+
encodings.set(";", "%3B");
|
|
19009
|
+
encodings.set("=", "%3D");
|
|
19010
|
+
encodings.set("?", "%3F");
|
|
19011
|
+
encodings.set("@", "%40");
|
|
19012
|
+
encodings.set("[", "%5B");
|
|
19013
|
+
encodings.set("]", "%5D");
|
|
19014
|
+
encodings.set(" ", "%20");
|
|
19015
|
+
|
|
19016
|
+
if (typeof process === 'object' && typeof window === 'undefined') {
|
|
19017
|
+
global.atob = function (str) {
|
|
19018
|
+
return Buffer.from(str, 'base64').toString('binary');
|
|
19019
|
+
};
|
|
19020
|
+
}
|
|
19049
19021
|
|
|
19050
|
-
var css = '.igv-ui-popover {\n cursor: default;\n position: absolute;\n z-index: 2048;\n border-color: #7F7F7F;\n border-radius: 4px;\n border-style: solid;\n border-width: 1px;\n font-family: \"Open Sans\", sans-serif;\n font-size: small;\n background-color: white; }\n .igv-ui-popover > div:first-child {\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center;\n width: 100%;\n height: 24px;\n cursor: move;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-color: #7F7F7F;\n border-bottom-style: solid;\n border-bottom-width: thin;\n background-color: #eee; }\n .igv-ui-popover > div:first-child > div:first-child {\n margin-left: 4px; }\n .igv-ui-popover > div:first-child > div:last-child {\n margin-right: 4px;\n height: 12px;\n width: 12px;\n color: #7F7F7F; }\n .igv-ui-popover > div:first-child > div:last-child:hover {\n cursor: pointer;\n color: #444; }\n .igv-ui-popover > div:last-child {\n overflow-y: auto;\n overflow-x: hidden;\n max-height: 400px;\n max-width: 800px;\n background-color: white; }\n .igv-ui-popover > div:last-child > div {\n -webkit-user-select: text;\n -moz-user-select: text;\n -ms-user-select: text;\n user-select: text;\n margin-left: 4px;\n margin-right: 4px;\n min-width: 220px;\n overflow-x: hidden;\n text-overflow: ellipsis;\n white-space: nowrap; }\n .igv-ui-popover > div:last-child > div > span {\n font-weight: bolder; }\n .igv-ui-popover > div:last-child hr {\n width: 100%; }\n\n.igv-ui-alert-dialog-container {\n box-sizing: content-box;\n position: absolute;\n z-index: 2048;\n top: 50%;\n left: 50%;\n width: 400px;\n height: 200px;\n border-color: #7F7F7F;\n border-radius: 4px;\n border-style: solid;\n border-width: thin;\n outline: none;\n font-family: \"Open Sans\", sans-serif;\n font-size: 15px;\n font-weight: 400;\n background-color: white;\n display: flex;\n flex-flow: column;\n flex-wrap: nowrap;\n justify-content: space-between;\n align-items: center; }\n .igv-ui-alert-dialog-container > div:first-child {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center;\n width: 100%;\n height: 24px;\n cursor: move;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-color: #7F7F7F;\n border-bottom-style: solid;\n border-bottom-width: thin;\n background-color: #eee; }\n .igv-ui-alert-dialog-container > div:first-child div:first-child {\n padding-left: 8px; }\n .igv-ui-alert-dialog-container .igv-ui-alert-dialog-body {\n -webkit-user-select: text;\n -moz-user-select: text;\n -ms-user-select: text;\n user-select: text;\n color: #373737;\n width: 100%;\n height: calc(100% - 24px - 64px);\n overflow-y: scroll; }\n .igv-ui-alert-dialog-container .igv-ui-alert-dialog-body .igv-ui-alert-dialog-body-copy {\n margin: 16px;\n width: auto;\n height: auto;\n overflow-wrap: break-word;\n word-break: break-word;\n background-color: white;\n border: unset; }\n .igv-ui-alert-dialog-container > div:last-child {\n width: 100%;\n margin-bottom: 10px;\n background-color: white;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: center;\n align-items: center; }\n .igv-ui-alert-dialog-container > div:last-child div {\n margin: unset;\n width: 40px;\n height: 30px;\n line-height: 30px;\n text-align: center;\n color: white;\n font-family: \"Open Sans\", sans-serif;\n font-size: small;\n font-weight: 400;\n border-color: #2B81AF;\n border-style: solid;\n border-width: thin;\n border-radius: 4px;\n background-color: #2B81AF; }\n .igv-ui-alert-dialog-container > div:last-child div:hover {\n cursor: pointer;\n border-color: #25597f;\n background-color: #25597f; }\n\n.igv-ui-color-swatch {\n position: relative;\n box-sizing: content-box;\n display: flex;\n flex-flow: row;\n flex-wrap: wrap;\n justify-content: center;\n align-items: center;\n width: 32px;\n height: 32px;\n border-style: solid;\n border-width: 2px;\n border-color: white;\n border-radius: 4px; }\n\n.igv-ui-color-swatch:hover {\n border-color: dimgray; }\n\n.igv-ui-colorpicker-menu-close-button {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center;\n width: 100%;\n height: 32px;\n margin-top: 4px;\n margin-bottom: 4px;\n padding-right: 8px; }\n .igv-ui-colorpicker-menu-close-button i.fa {\n display: block;\n margin-left: 4px;\n margin-right: 4px;\n color: #5f5f5f; }\n .igv-ui-colorpicker-menu-close-button i.fa:hover,\n .igv-ui-colorpicker-menu-close-button i.fa:focus,\n .igv-ui-colorpicker-menu-close-button i.fa:active {\n cursor: pointer;\n color: #0f0f0f; }\n\n.igv-ui-generic-dialog-container {\n box-sizing: content-box;\n position: fixed;\n top: 0;\n left: 0;\n width: 300px;\n height: 200px;\n border-color: #7F7F7F;\n border-radius: 4px;\n border-style: solid;\n border-width: thin;\n font-family: \"Open Sans\", sans-serif;\n font-size: medium;\n font-weight: 400;\n z-index: 2048;\n background-color: white;\n display: flex;\n flex-flow: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-header {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center;\n width: 100%;\n height: 24px;\n cursor: move;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-color: #7F7F7F;\n border-bottom-style: solid;\n border-bottom-width: thin;\n background-color: #eee; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-header div {\n margin-right: 4px;\n margin-bottom: 2px;\n height: 12px;\n width: 12px;\n color: #7F7F7F; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-header div:hover {\n cursor: pointer;\n color: #444; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-one-liner {\n color: #373737;\n width: 95%;\n height: 24px;\n line-height: 24px;\n text-align: left;\n margin-top: 8px;\n padding-left: 8px;\n overflow-wrap: break-word;\n background-color: white; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-label-input {\n margin-top: 8px;\n width: 95%;\n height: 24px;\n color: #373737;\n line-height: 24px;\n padding-left: 8px;\n background-color: white;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-label-input div {\n width: 30%;\n height: 100%;\n font-size: 16px;\n text-align: right;\n padding-right: 8px;\n background-color: white; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-label-input input {\n display: block;\n height: 100%;\n width: 100%;\n padding-left: 4px;\n font-family: \"Open Sans\", sans-serif;\n font-weight: 400;\n color: #373737;\n text-align: left;\n outline: none;\n border-style: solid;\n border-width: thin;\n border-color: #7F7F7F;\n background-color: white; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-label-input input {\n width: 50%;\n font-size: 16px; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-input {\n margin-top: 8px;\n width: calc(100% - 16px);\n height: 24px;\n color: #373737;\n line-height: 24px;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-input input {\n display: block;\n height: 100%;\n width: 100%;\n padding-left: 4px;\n font-family: \"Open Sans\", sans-serif;\n font-weight: 400;\n color: #373737;\n text-align: left;\n outline: none;\n border-style: solid;\n border-width: thin;\n border-color: #7F7F7F;\n background-color: white; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-input input {\n font-size: 16px; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok-cancel {\n width: 100%;\n height: 28px;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok-cancel div {\n margin-top: 32px;\n color: white;\n font-family: \"Open Sans\", sans-serif;\n font-size: 14px;\n font-weight: 400;\n width: 75px;\n height: 28px;\n line-height: 28px;\n text-align: center;\n border-color: transparent;\n border-style: solid;\n border-width: thin;\n border-radius: 2px; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok-cancel div:first-child {\n margin-left: 32px;\n margin-right: 0;\n background-color: #5ea4e0; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok-cancel div:last-child {\n margin-left: 0;\n margin-right: 32px;\n background-color: #c4c4c4; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok-cancel div:first-child:hover {\n cursor: pointer;\n background-color: #3b5c7f; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok-cancel div:last-child:hover {\n cursor: pointer;\n background-color: #7f7f7f; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok {\n width: 100%;\n height: 36px;\n margin-top: 32px;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok div {\n width: 98px;\n height: 36px;\n line-height: 36px;\n text-align: center;\n color: white;\n font-family: \"Open Sans\", sans-serif;\n font-size: medium;\n font-weight: 400;\n border-color: white;\n border-style: solid;\n border-width: thin;\n border-radius: 4px;\n background-color: #2B81AF; }\n .igv-ui-generic-dialog-container .igv-ui-generic-dialog-ok div:hover {\n cursor: pointer;\n background-color: #25597f; }\n\n.igv-ui-generic-container {\n box-sizing: content-box;\n position: absolute;\n z-index: 2048;\n background-color: white;\n cursor: pointer;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-start;\n align-items: center; }\n .igv-ui-generic-container > div:first-child {\n cursor: move;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center;\n height: 24px;\n width: 100%;\n background-color: #dddddd; }\n .igv-ui-generic-container > div:first-child > div {\n display: block;\n color: #5f5f5f;\n cursor: pointer;\n width: 14px;\n height: 14px;\n margin-right: 8px;\n margin-bottom: 4px; }\n\n.igv-ui-dialog {\n z-index: 2048;\n position: fixed;\n width: fit-content;\n height: fit-content;\n display: flex;\n flex-flow: column;\n flex-wrap: nowrap;\n justify-content: flex-start;\n background-color: white;\n border-color: #7F7F7F;\n border-radius: 4px;\n border-style: solid;\n border-width: thin;\n font-family: \"Open Sans\", sans-serif;\n font-size: medium;\n font-weight: 400; }\n .igv-ui-dialog .igv-ui-dialog-header {\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: flex-end;\n align-items: center;\n width: 100%;\n height: 24px;\n cursor: move;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-color: #7F7F7F;\n border-bottom-style: solid;\n border-bottom-width: thin;\n background-color: #eee; }\n .igv-ui-dialog .igv-ui-dialog-header div {\n margin-right: 4px;\n margin-bottom: 2px;\n height: 12px;\n width: 12px;\n color: #7F7F7F; }\n .igv-ui-dialog .igv-ui-dialog-header div:hover {\n cursor: pointer;\n color: #444; }\n .igv-ui-dialog .igv-ui-dialog-one-liner {\n width: 95%;\n height: 24px;\n line-height: 24px;\n text-align: left;\n margin: 8px;\n overflow-wrap: break-word;\n background-color: white;\n font-weight: bold; }\n .igv-ui-dialog .igv-ui-dialog-ok-cancel {\n width: 100%;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center; }\n .igv-ui-dialog .igv-ui-dialog-ok-cancel div {\n margin: 16px;\n margin-top: 32px;\n color: white;\n font-family: \"Open Sans\", sans-serif;\n font-size: 14px;\n font-weight: 400;\n width: 75px;\n height: 28px;\n line-height: 28px;\n text-align: center;\n border-color: transparent;\n border-style: solid;\n border-width: thin;\n border-radius: 2px; }\n .igv-ui-dialog .igv-ui-dialog-ok-cancel div:first-child {\n background-color: #5ea4e0; }\n .igv-ui-dialog .igv-ui-dialog-ok-cancel div:last-child {\n background-color: #c4c4c4; }\n .igv-ui-dialog .igv-ui-dialog-ok-cancel div:first-child:hover {\n cursor: pointer;\n background-color: #3b5c7f; }\n .igv-ui-dialog .igv-ui-dialog-ok-cancel div:last-child:hover {\n cursor: pointer;\n background-color: #7f7f7f; }\n .igv-ui-dialog .igv-ui-dialog-ok {\n width: 100%;\n height: 36px;\n margin-top: 32px;\n display: flex;\n flex-flow: row;\n flex-wrap: nowrap;\n justify-content: space-around;\n align-items: center; }\n .igv-ui-dialog .igv-ui-dialog-ok div {\n width: 98px;\n height: 36px;\n line-height: 36px;\n text-align: center;\n color: white;\n font-family: \"Open Sans\", sans-serif;\n font-size: medium;\n font-weight: 400;\n border-color: white;\n border-style: solid;\n border-width: thin;\n border-radius: 4px;\n background-color: #2B81AF; }\n .igv-ui-dialog .igv-ui-dialog-ok div:hover {\n cursor: pointer;\n background-color: #25597f; }\n\n.igv-ui-panel, .igv-ui-panel-column, .igv-ui-panel-row {\n z-index: 2048;\n background-color: white;\n font-family: \"Open Sans\", sans-serif;\n font-size: medium;\n font-weight: 400;\n display: flex;\n justify-content: flex-start;\n align-items: flex-start; }\n\n.igv-ui-panel-column {\n display: flex;\n flex-direction: column; }\n\n.igv-ui-panel-row {\n display: flex;\n flex-direction: row; }\n\n.igv-ui-textbox {\n background-color: white;\n font-family: \"Open Sans\", sans-serif;\n font-size: medium;\n font-weight: 400;\n display: flex;\n justify-content: flex-start;\n align-items: flex-start; }\n\n/*# sourceMappingURL=igv-ui.css.map */\n';
|
|
19022
|
+
/*============================================================================*/
|
|
19051
19023
|
|
|
19052
|
-
var style = document.createElement('style');
|
|
19053
|
-
style.setAttribute('type', 'text/css');
|
|
19054
|
-
style.innerHTML = css;
|
|
19055
19024
|
|
|
19056
|
-
|
|
19025
|
+
function zero$1(buf) { let len = buf.length; while (--len >= 0) { buf[len] = 0; } }
|
|
19026
|
+
/* The three kinds of block type */
|
|
19027
|
+
|
|
19028
|
+
const MIN_MATCH$1 = 3;
|
|
19029
|
+
const MAX_MATCH$1 = 258;
|
|
19030
|
+
/* The minimum and maximum match lengths */
|
|
19031
|
+
|
|
19032
|
+
// From deflate.h
|
|
19033
|
+
/* ===========================================================================
|
|
19034
|
+
* Internal compression state.
|
|
19035
|
+
*/
|
|
19036
|
+
|
|
19037
|
+
const LENGTH_CODES$1 = 29;
|
|
19038
|
+
/* number of length codes, not counting the special END_BLOCK code */
|
|
19039
|
+
|
|
19040
|
+
const LITERALS$1 = 256;
|
|
19041
|
+
/* number of literal bytes 0..255 */
|
|
19042
|
+
|
|
19043
|
+
const L_CODES$1 = LITERALS$1 + 1 + LENGTH_CODES$1;
|
|
19044
|
+
/* number of Literal or Length codes, including the END_BLOCK code */
|
|
19045
|
+
|
|
19046
|
+
const D_CODES$1 = 30;
|
|
19047
|
+
/* eslint-enable comma-spacing,array-bracket-spacing */
|
|
19048
|
+
|
|
19049
|
+
/* The lengths of the bit length codes are sent in order of decreasing
|
|
19050
|
+
* probability, to avoid transmitting the lengths for unused bit length codes.
|
|
19051
|
+
*/
|
|
19052
|
+
|
|
19053
|
+
/* ===========================================================================
|
|
19054
|
+
* Local data. These are initialized only once.
|
|
19055
|
+
*/
|
|
19056
|
+
|
|
19057
|
+
// We pre-fill arrays with 0 to avoid uninitialized gaps
|
|
19058
|
+
|
|
19059
|
+
const DIST_CODE_LEN = 512; /* see definition of array dist_code below */
|
|
19060
|
+
|
|
19061
|
+
// !!!! Use flat array instead of structure, Freq = i*2, Len = i*2+1
|
|
19062
|
+
const static_ltree = new Array((L_CODES$1 + 2) * 2);
|
|
19063
|
+
zero$1(static_ltree);
|
|
19064
|
+
/* The static literal tree. Since the bit lengths are imposed, there is no
|
|
19065
|
+
* need for the L_CODES extra codes used during heap construction. However
|
|
19066
|
+
* The codes 286 and 287 are needed to build a canonical tree (see _tr_init
|
|
19067
|
+
* below).
|
|
19068
|
+
*/
|
|
19069
|
+
|
|
19070
|
+
const static_dtree = new Array(D_CODES$1 * 2);
|
|
19071
|
+
zero$1(static_dtree);
|
|
19072
|
+
/* The static distance tree. (Actually a trivial tree since all codes use
|
|
19073
|
+
* 5 bits.)
|
|
19074
|
+
*/
|
|
19075
|
+
|
|
19076
|
+
const _dist_code = new Array(DIST_CODE_LEN);
|
|
19077
|
+
zero$1(_dist_code);
|
|
19078
|
+
/* Distance codes. The first 256 values correspond to the distances
|
|
19079
|
+
* 3 .. 258, the last 256 values correspond to the top 8 bits of
|
|
19080
|
+
* the 15 bit distances.
|
|
19081
|
+
*/
|
|
19082
|
+
|
|
19083
|
+
const _length_code = new Array(MAX_MATCH$1 - MIN_MATCH$1 + 1);
|
|
19084
|
+
zero$1(_length_code);
|
|
19085
|
+
/* length code for each normalized match length (0 == MIN_MATCH) */
|
|
19086
|
+
|
|
19087
|
+
const base_length = new Array(LENGTH_CODES$1);
|
|
19088
|
+
zero$1(base_length);
|
|
19089
|
+
/* First normalized length for each code (0 = MIN_MATCH) */
|
|
19090
|
+
|
|
19091
|
+
const base_dist = new Array(D_CODES$1);
|
|
19092
|
+
zero$1(base_dist);
|
|
19093
|
+
|
|
19094
|
+
// Note: we can't get significant speed boost here.
|
|
19095
|
+
// So write code to minimize size - no pregenerated tables
|
|
19096
|
+
// and array tools dependencies.
|
|
19097
|
+
|
|
19098
|
+
// (C) 1995-2013 Jean-loup Gailly and Mark Adler
|
|
19099
|
+
// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin
|
|
19100
|
+
//
|
|
19101
|
+
// This software is provided 'as-is', without any express or implied
|
|
19102
|
+
// warranty. In no event will the authors be held liable for any damages
|
|
19103
|
+
// arising from the use of this software.
|
|
19104
|
+
//
|
|
19105
|
+
// Permission is granted to anyone to use this software for any purpose,
|
|
19106
|
+
// including commercial applications, and to alter it and redistribute it
|
|
19107
|
+
// freely, subject to the following restrictions:
|
|
19108
|
+
//
|
|
19109
|
+
// 1. The origin of this software must not be misrepresented; you must not
|
|
19110
|
+
// claim that you wrote the original software. If you use this software
|
|
19111
|
+
// in a product, an acknowledgment in the product documentation would be
|
|
19112
|
+
// appreciated but is not required.
|
|
19113
|
+
// 2. Altered source versions must be plainly marked as such, and must not be
|
|
19114
|
+
// misrepresented as being the original software.
|
|
19115
|
+
// 3. This notice may not be removed or altered from any source distribution.
|
|
19116
|
+
|
|
19117
|
+
// Use ordinary array, since untyped makes no boost here
|
|
19118
|
+
const makeTable = () => {
|
|
19119
|
+
let c, table = [];
|
|
19120
|
+
|
|
19121
|
+
for (var n = 0; n < 256; n++) {
|
|
19122
|
+
c = n;
|
|
19123
|
+
for (var k = 0; k < 8; k++) {
|
|
19124
|
+
c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));
|
|
19125
|
+
}
|
|
19126
|
+
table[n] = c;
|
|
19127
|
+
}
|
|
19128
|
+
|
|
19129
|
+
return table;
|
|
19130
|
+
};
|
|
19131
|
+
|
|
19132
|
+
// Create table on load. Just 255 signed longs. Not a problem.
|
|
19133
|
+
new Uint32Array(makeTable());
|
|
19134
|
+
|
|
19135
|
+
try { String.fromCharCode.apply(null, new Uint8Array(1)); } catch (__) { }
|
|
19136
|
+
|
|
19137
|
+
|
|
19138
|
+
// Table with utf8 lengths (calculated by first byte of sequence)
|
|
19139
|
+
// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,
|
|
19140
|
+
// because max possible codepoint is 0x10ffff
|
|
19141
|
+
const _utf8len = new Uint8Array(256);
|
|
19142
|
+
for (let q = 0; q < 256; q++) {
|
|
19143
|
+
_utf8len[q] = (q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1);
|
|
19144
|
+
}
|
|
19145
|
+
_utf8len[254] = _utf8len[254] = 1; // Invalid sequence start
|
|
19146
|
+
|
|
19147
|
+
// *********** BELOW COMMENTED OUT BY JTR **************//
|
|
19148
|
+
// exports.Deflate = Deflate_1;
|
|
19149
|
+
// exports.Inflate = Inflate_1;
|
|
19150
|
+
// exports.constants = constants_1;
|
|
19151
|
+
// exports['default'] = pako;
|
|
19152
|
+
// exports.deflate = deflate_1;
|
|
19153
|
+
// exports.deflateRaw = deflateRaw_1;
|
|
19154
|
+
// exports.gzip = gzip_1;
|
|
19155
|
+
// exports.inflate = inflate_1;
|
|
19156
|
+
// exports.inflateRaw = inflateRaw_1;
|
|
19157
|
+
// exports.ungzip = ungzip_1;
|
|
19158
|
+
|
|
19159
|
+
// Object.defineProperty(exports, '__esModule', { value: true });
|
|
19160
|
+
//
|
|
19161
|
+
// })));
|
|
19162
|
+
|
|
19163
|
+
// The MIT License (MIT)
|
|
19164
|
+
|
|
19165
|
+
/**
|
|
19166
|
+
* @constructor
|
|
19167
|
+
* @param {Object} options A set op options to pass to the throttle function
|
|
19168
|
+
* @param {number} requestsPerSecond The amount of requests per second
|
|
19169
|
+
* the library will limit to
|
|
19170
|
+
*/
|
|
19171
|
+
class Throttle {
|
|
19172
|
+
constructor(options) {
|
|
19173
|
+
this.requestsPerSecond = options.requestsPerSecond || 10;
|
|
19174
|
+
this.lastStartTime = 0;
|
|
19175
|
+
this.queued = [];
|
|
19176
|
+
}
|
|
19177
|
+
|
|
19178
|
+
/**
|
|
19179
|
+
* Adds a promise
|
|
19180
|
+
* @param {Function} async function to be executed
|
|
19181
|
+
* @param {Object} options A set of options.
|
|
19182
|
+
* @return {Promise} A promise
|
|
19183
|
+
*/
|
|
19184
|
+
add(asyncFunction, options) {
|
|
19185
|
+
|
|
19186
|
+
var self = this;
|
|
19187
|
+
return new Promise(function (resolve, reject) {
|
|
19188
|
+
self.queued.push({
|
|
19189
|
+
resolve: resolve,
|
|
19190
|
+
reject: reject,
|
|
19191
|
+
asyncFunction: asyncFunction,
|
|
19192
|
+
});
|
|
19193
|
+
self.dequeue();
|
|
19194
|
+
});
|
|
19195
|
+
}
|
|
19196
|
+
|
|
19197
|
+
/**
|
|
19198
|
+
* Adds all the promises passed as parameters
|
|
19199
|
+
* @param {Function} promises An array of functions that return a promise
|
|
19200
|
+
* @param {Object} options A set of options.
|
|
19201
|
+
* @param {number} options.signal An AbortSignal object that can be used to abort the returned promise
|
|
19202
|
+
* @param {number} options.weight A "weight" of each operation resolving by array of promises
|
|
19203
|
+
* @return {Promise} A promise that succeeds when all the promises passed as options do
|
|
19204
|
+
*/
|
|
19205
|
+
addAll(promises, options) {
|
|
19206
|
+
var addedPromises = promises.map(function (promise) {
|
|
19207
|
+
return this.add(promise, options);
|
|
19208
|
+
}.bind(this));
|
|
19209
|
+
|
|
19210
|
+
return Promise.all(addedPromises);
|
|
19211
|
+
};
|
|
19212
|
+
|
|
19213
|
+
/**
|
|
19214
|
+
* Dequeues a promise
|
|
19215
|
+
* @return {void}
|
|
19216
|
+
*/
|
|
19217
|
+
dequeue() {
|
|
19218
|
+
if (this.queued.length > 0) {
|
|
19219
|
+
var now = new Date(),
|
|
19220
|
+
inc = (1000 / this.requestsPerSecond) + 1,
|
|
19221
|
+
elapsed = now - this.lastStartTime;
|
|
19222
|
+
|
|
19223
|
+
if (elapsed >= inc) {
|
|
19224
|
+
this._execute();
|
|
19225
|
+
} else {
|
|
19226
|
+
// we have reached the limit, schedule a dequeue operation
|
|
19227
|
+
setTimeout(function () {
|
|
19228
|
+
this.dequeue();
|
|
19229
|
+
}.bind(this), inc - elapsed);
|
|
19230
|
+
}
|
|
19231
|
+
}
|
|
19232
|
+
}
|
|
19233
|
+
|
|
19234
|
+
/**
|
|
19235
|
+
* Executes the promise
|
|
19236
|
+
* @private
|
|
19237
|
+
* @return {void}
|
|
19238
|
+
*/
|
|
19239
|
+
async _execute() {
|
|
19240
|
+
this.lastStartTime = new Date();
|
|
19241
|
+
var candidate = this.queued.shift();
|
|
19242
|
+
const f = candidate.asyncFunction;
|
|
19243
|
+
try {
|
|
19244
|
+
const r = await f();
|
|
19245
|
+
candidate.resolve(r);
|
|
19246
|
+
} catch (e) {
|
|
19247
|
+
candidate.reject(e);
|
|
19248
|
+
}
|
|
19249
|
+
|
|
19250
|
+
}
|
|
19251
|
+
|
|
19057
19252
|
|
|
19058
19253
|
}
|
|
19059
19254
|
|
|
19060
|
-
|
|
19061
|
-
|
|
19062
|
-
|
|
19255
|
+
/*
|
|
19256
|
+
* The MIT License (MIT)
|
|
19257
|
+
*
|
|
19258
|
+
* Copyright (c) 2014 Broad Institute
|
|
19259
|
+
*
|
|
19260
|
+
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
19261
|
+
* of this software and associated documentation files (the "Software"), to deal
|
|
19262
|
+
* in the Software without restriction, including without limitation the rights
|
|
19263
|
+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
19264
|
+
* copies of the Software, and to permit persons to whom the Software is
|
|
19265
|
+
* furnished to do so, subject to the following conditions:
|
|
19266
|
+
*
|
|
19267
|
+
* The above copyright notice and this permission notice shall be included in
|
|
19268
|
+
* all copies or substantial portions of the Software.
|
|
19269
|
+
*
|
|
19270
|
+
*
|
|
19271
|
+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
19272
|
+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
19273
|
+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19274
|
+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19275
|
+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
19276
|
+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
19277
|
+
* THE SOFTWARE.
|
|
19278
|
+
*/
|
|
19279
|
+
|
|
19280
|
+
new Throttle({
|
|
19281
|
+
requestsPerSecond: 8
|
|
19282
|
+
});
|
|
19283
|
+
|
|
19284
|
+
class GenericColorPicker extends GenericContainer {
|
|
19285
|
+
|
|
19286
|
+
constructor({parent, width}) {
|
|
19287
|
+
super({parent, width, border: '1px solid gray'});
|
|
19288
|
+
}
|
|
19289
|
+
|
|
19290
|
+
configure(defaultColors, colorHandlers) {
|
|
19291
|
+
|
|
19292
|
+
this.colorHandlers = colorHandlers;
|
|
19293
|
+
|
|
19294
|
+
// active color handler defaults to handler with 'color' as key
|
|
19295
|
+
this.setActiveColorHandler('color');
|
|
19296
|
+
|
|
19297
|
+
this.createSwatches(defaultColors);
|
|
19298
|
+
|
|
19299
|
+
}
|
|
19300
|
+
|
|
19301
|
+
setActiveColorHandler(option) {
|
|
19302
|
+
this.activeColorHandler = this.colorHandlers[option];
|
|
19303
|
+
}
|
|
19304
|
+
|
|
19305
|
+
createSwatches(defaultColors) {
|
|
19306
|
+
|
|
19307
|
+
this.container.querySelectorAll('.igv-ui-1_3_0-color-swatch').forEach(swatch => swatch.remove());
|
|
19308
|
+
|
|
19309
|
+
const hexColorStrings = Object.values(appleCrayonPalette);
|
|
19310
|
+
|
|
19311
|
+
for (let hexColorString of hexColorStrings) {
|
|
19312
|
+
const swatch = div({class: 'igv-ui-1_3_0-color-swatch'});
|
|
19313
|
+
this.container.appendChild(swatch);
|
|
19314
|
+
this.decorateSwatch(swatch, hexColorString);
|
|
19315
|
+
}
|
|
19316
|
+
|
|
19317
|
+
if (defaultColors) {
|
|
19318
|
+
for (let hexColorString of defaultColors) {
|
|
19319
|
+
const swatch = div({class: 'igv-ui-1_3_0-color-swatch'});
|
|
19320
|
+
this.container.appendChild(swatch);
|
|
19321
|
+
this.decorateSwatch(swatch, hexColorString);
|
|
19322
|
+
}
|
|
19323
|
+
}
|
|
19324
|
+
|
|
19325
|
+
}
|
|
19326
|
+
|
|
19327
|
+
decorateSwatch(swatch, hexColorString) {
|
|
19328
|
+
|
|
19329
|
+
swatch.style.backgroundColor = hexColorString;
|
|
19330
|
+
|
|
19331
|
+
swatch.addEventListener('mouseenter', () => swatch.style.borderColor = hexColorString);
|
|
19332
|
+
|
|
19333
|
+
swatch.addEventListener('mouseleave', () => swatch.style.borderColor = 'white');
|
|
19334
|
+
|
|
19335
|
+
swatch.addEventListener('click', event => {
|
|
19336
|
+
event.stopPropagation();
|
|
19337
|
+
this.activeColorHandler(hexColorString);
|
|
19338
|
+
});
|
|
19339
|
+
|
|
19340
|
+
swatch.addEventListener('touchend', event => {
|
|
19341
|
+
event.stopPropagation();
|
|
19342
|
+
this.activeColorHandler(hexColorString);
|
|
19343
|
+
});
|
|
19344
|
+
|
|
19345
|
+
}
|
|
19346
|
+
|
|
19347
|
+
}
|
|
19348
|
+
|
|
19349
|
+
function embedCSS$2() {
|
|
19350
|
+
const style = document.createElement('style');
|
|
19351
|
+
style.setAttribute('type', 'text/css');
|
|
19352
|
+
style.setAttribute('title', 'igv-ui-1_3_0.css');
|
|
19353
|
+
style.innerHTML = `.igv-ui-1_3_0-popover {
|
|
19354
|
+
cursor: default;
|
|
19355
|
+
position: absolute;
|
|
19356
|
+
z-index: 2048;
|
|
19357
|
+
border-color: #7F7F7F;
|
|
19358
|
+
border-radius: 4px;
|
|
19359
|
+
border-style: solid;
|
|
19360
|
+
border-width: 1px;
|
|
19361
|
+
font-family: "Open Sans", sans-serif;
|
|
19362
|
+
font-size: small;
|
|
19363
|
+
background-color: white; }
|
|
19364
|
+
.igv-ui-1_3_0-popover > div:first-child {
|
|
19365
|
+
display: flex;
|
|
19366
|
+
flex-direction: row;
|
|
19367
|
+
flex-wrap: nowrap;
|
|
19368
|
+
justify-content: space-between;
|
|
19369
|
+
align-items: center;
|
|
19370
|
+
width: 100%;
|
|
19371
|
+
height: 24px;
|
|
19372
|
+
cursor: move;
|
|
19373
|
+
border-top-left-radius: 4px;
|
|
19374
|
+
border-top-right-radius: 4px;
|
|
19375
|
+
border-bottom-color: #7F7F7F;
|
|
19376
|
+
border-bottom-style: solid;
|
|
19377
|
+
border-bottom-width: thin;
|
|
19378
|
+
background-color: #eee; }
|
|
19379
|
+
.igv-ui-1_3_0-popover > div:first-child > div:first-child {
|
|
19380
|
+
margin-left: 4px; }
|
|
19381
|
+
.igv-ui-1_3_0-popover > div:first-child > div:last-child {
|
|
19382
|
+
margin-right: 4px;
|
|
19383
|
+
height: 12px;
|
|
19384
|
+
width: 12px;
|
|
19385
|
+
color: #7F7F7F; }
|
|
19386
|
+
.igv-ui-1_3_0-popover > div:first-child > div:last-child:hover {
|
|
19387
|
+
cursor: pointer;
|
|
19388
|
+
color: #444; }
|
|
19389
|
+
.igv-ui-1_3_0-popover > div:last-child {
|
|
19390
|
+
overflow-y: auto;
|
|
19391
|
+
overflow-x: hidden;
|
|
19392
|
+
max-height: 400px;
|
|
19393
|
+
max-width: 800px;
|
|
19394
|
+
background-color: white; }
|
|
19395
|
+
.igv-ui-1_3_0-popover > div:last-child > div {
|
|
19396
|
+
-webkit-user-select: text;
|
|
19397
|
+
-moz-user-select: text;
|
|
19398
|
+
-ms-user-select: text;
|
|
19399
|
+
user-select: text;
|
|
19400
|
+
margin-left: 4px;
|
|
19401
|
+
margin-right: 4px;
|
|
19402
|
+
min-width: 220px;
|
|
19403
|
+
overflow-x: hidden;
|
|
19404
|
+
text-overflow: ellipsis;
|
|
19405
|
+
white-space: nowrap; }
|
|
19406
|
+
.igv-ui-1_3_0-popover > div:last-child > div > span {
|
|
19407
|
+
font-weight: bolder; }
|
|
19408
|
+
.igv-ui-1_3_0-popover > div:last-child hr {
|
|
19409
|
+
width: 100%; }
|
|
19410
|
+
|
|
19411
|
+
.igv-ui-1_3_0-alert-dialog-container {
|
|
19412
|
+
box-sizing: content-box;
|
|
19413
|
+
position: absolute;
|
|
19414
|
+
z-index: 2048;
|
|
19415
|
+
top: 50%;
|
|
19416
|
+
left: 50%;
|
|
19417
|
+
width: 400px;
|
|
19418
|
+
height: 200px;
|
|
19419
|
+
border-color: #7F7F7F;
|
|
19420
|
+
border-radius: 4px;
|
|
19421
|
+
border-style: solid;
|
|
19422
|
+
border-width: thin;
|
|
19423
|
+
outline: none;
|
|
19424
|
+
font-family: "Open Sans", sans-serif;
|
|
19425
|
+
font-size: 15px;
|
|
19426
|
+
font-weight: 400;
|
|
19427
|
+
background-color: white;
|
|
19428
|
+
display: flex;
|
|
19429
|
+
flex-flow: column;
|
|
19430
|
+
flex-wrap: nowrap;
|
|
19431
|
+
justify-content: space-between;
|
|
19432
|
+
align-items: center; }
|
|
19433
|
+
.igv-ui-1_3_0-alert-dialog-container > div:first-child {
|
|
19434
|
+
display: flex;
|
|
19435
|
+
flex-flow: row;
|
|
19436
|
+
flex-wrap: nowrap;
|
|
19437
|
+
justify-content: flex-start;
|
|
19438
|
+
align-items: center;
|
|
19439
|
+
width: 100%;
|
|
19440
|
+
height: 24px;
|
|
19441
|
+
cursor: move;
|
|
19442
|
+
border-top-left-radius: 4px;
|
|
19443
|
+
border-top-right-radius: 4px;
|
|
19444
|
+
border-bottom-color: #7F7F7F;
|
|
19445
|
+
border-bottom-style: solid;
|
|
19446
|
+
border-bottom-width: thin;
|
|
19447
|
+
background-color: #eee; }
|
|
19448
|
+
.igv-ui-1_3_0-alert-dialog-container > div:first-child div:first-child {
|
|
19449
|
+
padding-left: 8px; }
|
|
19450
|
+
.igv-ui-1_3_0-alert-dialog-container .igv-ui-1_3_0-alert-dialog-body {
|
|
19451
|
+
-webkit-user-select: text;
|
|
19452
|
+
-moz-user-select: text;
|
|
19453
|
+
-ms-user-select: text;
|
|
19454
|
+
user-select: text;
|
|
19455
|
+
color: #373737;
|
|
19456
|
+
width: 100%;
|
|
19457
|
+
height: calc(100% - 24px - 64px);
|
|
19458
|
+
overflow-y: scroll; }
|
|
19459
|
+
.igv-ui-1_3_0-alert-dialog-container .igv-ui-1_3_0-alert-dialog-body .igv-ui-1_3_0-alert-dialog-body-copy {
|
|
19460
|
+
margin: 16px;
|
|
19461
|
+
width: auto;
|
|
19462
|
+
height: auto;
|
|
19463
|
+
overflow-wrap: break-word;
|
|
19464
|
+
word-break: break-word;
|
|
19465
|
+
background-color: white;
|
|
19466
|
+
border: unset; }
|
|
19467
|
+
.igv-ui-1_3_0-alert-dialog-container > div:last-child {
|
|
19468
|
+
width: 100%;
|
|
19469
|
+
margin-bottom: 10px;
|
|
19470
|
+
background-color: white;
|
|
19471
|
+
display: flex;
|
|
19472
|
+
flex-flow: row;
|
|
19473
|
+
flex-wrap: nowrap;
|
|
19474
|
+
justify-content: center;
|
|
19475
|
+
align-items: center; }
|
|
19476
|
+
.igv-ui-1_3_0-alert-dialog-container > div:last-child div {
|
|
19477
|
+
margin: unset;
|
|
19478
|
+
width: 40px;
|
|
19479
|
+
height: 30px;
|
|
19480
|
+
line-height: 30px;
|
|
19481
|
+
text-align: center;
|
|
19482
|
+
color: white;
|
|
19483
|
+
font-family: "Open Sans", sans-serif;
|
|
19484
|
+
font-size: small;
|
|
19485
|
+
font-weight: 400;
|
|
19486
|
+
border-color: #2B81AF;
|
|
19487
|
+
border-style: solid;
|
|
19488
|
+
border-width: thin;
|
|
19489
|
+
border-radius: 4px;
|
|
19490
|
+
background-color: #2B81AF; }
|
|
19491
|
+
.igv-ui-1_3_0-alert-dialog-container > div:last-child div:hover {
|
|
19492
|
+
cursor: pointer;
|
|
19493
|
+
border-color: #25597f;
|
|
19494
|
+
background-color: #25597f; }
|
|
19495
|
+
|
|
19496
|
+
.igv-ui-1_3_0-color-swatch {
|
|
19497
|
+
position: relative;
|
|
19498
|
+
box-sizing: content-box;
|
|
19499
|
+
display: flex;
|
|
19500
|
+
flex-flow: row;
|
|
19501
|
+
flex-wrap: wrap;
|
|
19502
|
+
justify-content: center;
|
|
19503
|
+
align-items: center;
|
|
19504
|
+
width: 32px;
|
|
19505
|
+
height: 32px;
|
|
19506
|
+
border-style: solid;
|
|
19507
|
+
border-width: 2px;
|
|
19508
|
+
border-color: white;
|
|
19509
|
+
border-radius: 4px; }
|
|
19510
|
+
|
|
19511
|
+
.igv-ui-1_3_0-color-swatch:hover {
|
|
19512
|
+
border-color: dimgray; }
|
|
19513
|
+
|
|
19514
|
+
.igv-ui-1_3_0-colorpicker-menu-close-button {
|
|
19515
|
+
display: flex;
|
|
19516
|
+
flex-flow: row;
|
|
19517
|
+
flex-wrap: nowrap;
|
|
19518
|
+
justify-content: flex-end;
|
|
19519
|
+
align-items: center;
|
|
19520
|
+
width: 100%;
|
|
19521
|
+
height: 32px;
|
|
19522
|
+
margin-top: 4px;
|
|
19523
|
+
margin-bottom: 4px;
|
|
19524
|
+
padding-right: 8px; }
|
|
19525
|
+
.igv-ui-1_3_0-colorpicker-menu-close-button i.fa {
|
|
19526
|
+
display: block;
|
|
19527
|
+
margin-left: 4px;
|
|
19528
|
+
margin-right: 4px;
|
|
19529
|
+
color: #5f5f5f; }
|
|
19530
|
+
.igv-ui-1_3_0-colorpicker-menu-close-button i.fa:hover,
|
|
19531
|
+
.igv-ui-1_3_0-colorpicker-menu-close-button i.fa:focus,
|
|
19532
|
+
.igv-ui-1_3_0-colorpicker-menu-close-button i.fa:active {
|
|
19533
|
+
cursor: pointer;
|
|
19534
|
+
color: #0f0f0f; }
|
|
19535
|
+
|
|
19536
|
+
.igv-ui-1_3_0-generic-dialog-container {
|
|
19537
|
+
box-sizing: content-box;
|
|
19538
|
+
position: fixed;
|
|
19539
|
+
top: 0;
|
|
19540
|
+
left: 0;
|
|
19541
|
+
width: 300px;
|
|
19542
|
+
height: 200px;
|
|
19543
|
+
border-color: #7F7F7F;
|
|
19544
|
+
border-radius: 4px;
|
|
19545
|
+
border-style: solid;
|
|
19546
|
+
border-width: thin;
|
|
19547
|
+
font-family: "Open Sans", sans-serif;
|
|
19548
|
+
font-size: medium;
|
|
19549
|
+
font-weight: 400;
|
|
19550
|
+
z-index: 2048;
|
|
19551
|
+
background-color: white;
|
|
19552
|
+
display: flex;
|
|
19553
|
+
flex-flow: column;
|
|
19554
|
+
flex-wrap: nowrap;
|
|
19555
|
+
justify-content: flex-start;
|
|
19556
|
+
align-items: center; }
|
|
19557
|
+
.igv-ui-1_3_0-generic-dialog-container .igv-ui-1_3_0-generic-dialog-header {
|
|
19558
|
+
display: flex;
|
|
19559
|
+
flex-flow: row;
|
|
19560
|
+
flex-wrap: nowrap;
|
|
19561
|
+
justify-content: flex-end;
|
|
19562
|
+
align-items: center;
|
|
19563
|
+
width: 100%;
|
|
19564
|
+
height: 24px;
|
|
19565
|
+
cursor: move;
|
|
19566
|
+
border-top-left-radius: 4px;
|
|
19567
|
+
border-top-right-radius: 4px;
|
|
19568
|
+
border-bottom-color: #7F7F7F;
|
|
19569
|
+
border-bottom-style: solid;
|
|
19570
|
+
border-bottom-width: thin;
|
|
19571
|
+
background-color: #eee; }
|
|
19572
|
+
.igv-ui-1_3_0-generic-dialog-container .igv-ui-1_3_0-generic-dialog-header div {
|
|
19573
|
+
margin-right: 4px;
|
|
19574
|
+
margin-bottom: 2px;
|
|
19575
|
+
height: 12px;
|
|
19576
|
+
width: 12px;
|
|
19577
|
+
color: #7F7F7F; }
|
|
19578
|
+
.igv-ui-1_3_0-generic-dialog-container .igv-ui-1_3_0-generic-dialog-header div:hover {
|
|
19579
|
+
cursor: pointer;
|
|
19580
|
+
color: #444; }
|
|
19581
|
+
.igv-ui-1_3_0-generic-dialog-container .igv-ui-1_3_0-generic-dialog-one-liner {
|
|
19582
|
+
color: #373737;
|
|
19583
|
+
width: 95%;
|
|
19584
|
+
height: 24px;
|
|
19585
|
+
line-height: 24px;
|
|
19586
|
+
text-align: left;
|
|
19587
|
+
margin-top: 8px;
|
|
19588
|
+
padding-left: 8px;
|
|
19589
|
+
overflow-wrap: break-word;
|
|
19590
|
+
background-color: white; }
|
|
19591
|
+
.igv-ui-1_3_0-generic-dialog-container .igv-ui-1_3_0-generic-dialog-label-input {
|
|
19592
|
+
margin-top: 8px;
|
|
19593
|
+
width: 95%;
|
|
19594
|
+
height: 24px;
|
|
19595
|
+
color: #373737;
|
|
19596
|
+
line-height: 24px;
|
|
19597
|
+
padding-left: 8px;
|
|
19598
|
+
background-color: white;
|
|
19599
|
+
display: flex;
|
|
19600
|
+
flex-flow: row;
|
|
19601
|
+
flex-wrap: nowrap;
|
|
19602
|
+
justify-content: flex-start;
|
|
19603
|
+
align-items: center; }
|
|
19604
|
+
.igv-ui-1_3_0-generic-dialog-container .igv-ui-1_3_0-generic-dialog-label-input div {
|
|
19605
|
+
width: 30%;
|
|
19606
|
+
height: 100%;
|
|
19607
|
+
font-size: 16px;
|
|
19608
|
+
text-align: right;
|
|
19609
|
+
padding-right: 8px;
|
|
19610
|
+
background-color: white; }
|
|
19611
|
+
.igv-ui-1_3_0-generic-dialog-container .igv-ui-1_3_0-generic-dialog-label-input input {
|
|
19612
|
+
display: block;
|
|
19613
|
+
height: 100%;
|
|
19614
|
+
width: 100%;
|
|
19615
|
+
padding-left: 4px;
|
|
19616
|
+
font-family: "Open Sans", sans-serif;
|
|
19617
|
+
font-weight: 400;
|
|
19618
|
+
color: #373737;
|
|
19619
|
+
text-align: left;
|
|
19620
|
+
outline: none;
|
|
19621
|
+
border-style: solid;
|
|
19622
|
+
border-width: thin;
|
|
19623
|
+
border-color: #7F7F7F;
|
|
19624
|
+
background-color: white; }
|
|
19625
|
+
.igv-ui-1_3_0-generic-dialog-container .igv-ui-1_3_0-generic-dialog-label-input input {
|
|
19626
|
+
width: 50%;
|
|
19627
|
+
font-size: 16px; }
|
|
19628
|
+
.igv-ui-1_3_0-generic-dialog-container .igv-ui-1_3_0-generic-dialog-input {
|
|
19629
|
+
margin-top: 8px;
|
|
19630
|
+
width: calc(100% - 16px);
|
|
19631
|
+
height: 24px;
|
|
19632
|
+
color: #373737;
|
|
19633
|
+
line-height: 24px;
|
|
19634
|
+
display: flex;
|
|
19635
|
+
flex-flow: row;
|
|
19636
|
+
flex-wrap: nowrap;
|
|
19637
|
+
justify-content: space-around;
|
|
19638
|
+
align-items: center; }
|
|
19639
|
+
.igv-ui-1_3_0-generic-dialog-container .igv-ui-1_3_0-generic-dialog-input input {
|
|
19640
|
+
display: block;
|
|
19641
|
+
height: 100%;
|
|
19642
|
+
width: 100%;
|
|
19643
|
+
padding-left: 4px;
|
|
19644
|
+
font-family: "Open Sans", sans-serif;
|
|
19645
|
+
font-weight: 400;
|
|
19646
|
+
color: #373737;
|
|
19647
|
+
text-align: left;
|
|
19648
|
+
outline: none;
|
|
19649
|
+
border-style: solid;
|
|
19650
|
+
border-width: thin;
|
|
19651
|
+
border-color: #7F7F7F;
|
|
19652
|
+
background-color: white; }
|
|
19653
|
+
.igv-ui-1_3_0-generic-dialog-container .igv-ui-1_3_0-generic-dialog-input input {
|
|
19654
|
+
font-size: 16px; }
|
|
19655
|
+
.igv-ui-1_3_0-generic-dialog-container .igv-ui-1_3_0-generic-dialog-ok-cancel {
|
|
19656
|
+
width: 100%;
|
|
19657
|
+
height: 28px;
|
|
19658
|
+
display: flex;
|
|
19659
|
+
flex-flow: row;
|
|
19660
|
+
flex-wrap: nowrap;
|
|
19661
|
+
justify-content: space-around;
|
|
19662
|
+
align-items: center; }
|
|
19663
|
+
.igv-ui-1_3_0-generic-dialog-container .igv-ui-1_3_0-generic-dialog-ok-cancel div {
|
|
19664
|
+
margin-top: 32px;
|
|
19665
|
+
color: white;
|
|
19666
|
+
font-family: "Open Sans", sans-serif;
|
|
19667
|
+
font-size: 14px;
|
|
19668
|
+
font-weight: 400;
|
|
19669
|
+
width: 75px;
|
|
19670
|
+
height: 28px;
|
|
19671
|
+
line-height: 28px;
|
|
19672
|
+
text-align: center;
|
|
19673
|
+
border-color: transparent;
|
|
19674
|
+
border-style: solid;
|
|
19675
|
+
border-width: thin;
|
|
19676
|
+
border-radius: 2px; }
|
|
19677
|
+
.igv-ui-1_3_0-generic-dialog-container .igv-ui-1_3_0-generic-dialog-ok-cancel div:first-child {
|
|
19678
|
+
margin-left: 32px;
|
|
19679
|
+
margin-right: 0;
|
|
19680
|
+
background-color: #5ea4e0; }
|
|
19681
|
+
.igv-ui-1_3_0-generic-dialog-container .igv-ui-1_3_0-generic-dialog-ok-cancel div:last-child {
|
|
19682
|
+
margin-left: 0;
|
|
19683
|
+
margin-right: 32px;
|
|
19684
|
+
background-color: #c4c4c4; }
|
|
19685
|
+
.igv-ui-1_3_0-generic-dialog-container .igv-ui-1_3_0-generic-dialog-ok-cancel div:first-child:hover {
|
|
19686
|
+
cursor: pointer;
|
|
19687
|
+
background-color: #3b5c7f; }
|
|
19688
|
+
.igv-ui-1_3_0-generic-dialog-container .igv-ui-1_3_0-generic-dialog-ok-cancel div:last-child:hover {
|
|
19689
|
+
cursor: pointer;
|
|
19690
|
+
background-color: #7f7f7f; }
|
|
19691
|
+
.igv-ui-1_3_0-generic-dialog-container .igv-ui-1_3_0-generic-dialog-ok {
|
|
19692
|
+
width: 100%;
|
|
19693
|
+
height: 36px;
|
|
19694
|
+
margin-top: 32px;
|
|
19695
|
+
display: flex;
|
|
19696
|
+
flex-flow: row;
|
|
19697
|
+
flex-wrap: nowrap;
|
|
19698
|
+
justify-content: space-around;
|
|
19699
|
+
align-items: center; }
|
|
19700
|
+
.igv-ui-1_3_0-generic-dialog-container .igv-ui-1_3_0-generic-dialog-ok div {
|
|
19701
|
+
width: 98px;
|
|
19702
|
+
height: 36px;
|
|
19703
|
+
line-height: 36px;
|
|
19704
|
+
text-align: center;
|
|
19705
|
+
color: white;
|
|
19706
|
+
font-family: "Open Sans", sans-serif;
|
|
19707
|
+
font-size: medium;
|
|
19708
|
+
font-weight: 400;
|
|
19709
|
+
border-color: white;
|
|
19710
|
+
border-style: solid;
|
|
19711
|
+
border-width: thin;
|
|
19712
|
+
border-radius: 4px;
|
|
19713
|
+
background-color: #2B81AF; }
|
|
19714
|
+
.igv-ui-1_3_0-generic-dialog-container .igv-ui-1_3_0-generic-dialog-ok div:hover {
|
|
19715
|
+
cursor: pointer;
|
|
19716
|
+
background-color: #25597f; }
|
|
19717
|
+
|
|
19718
|
+
.igv-ui-1_3_0-generic-container {
|
|
19719
|
+
box-sizing: content-box;
|
|
19720
|
+
position: absolute;
|
|
19721
|
+
z-index: 2048;
|
|
19722
|
+
background-color: white;
|
|
19723
|
+
cursor: pointer;
|
|
19724
|
+
display: flex;
|
|
19725
|
+
flex-direction: row;
|
|
19726
|
+
flex-wrap: wrap;
|
|
19727
|
+
justify-content: flex-start;
|
|
19728
|
+
align-items: center; }
|
|
19729
|
+
.igv-ui-1_3_0-generic-container > div:first-child {
|
|
19730
|
+
cursor: move;
|
|
19731
|
+
display: flex;
|
|
19732
|
+
flex-flow: row;
|
|
19733
|
+
flex-wrap: nowrap;
|
|
19734
|
+
justify-content: flex-end;
|
|
19735
|
+
align-items: center;
|
|
19736
|
+
height: 24px;
|
|
19737
|
+
width: 100%;
|
|
19738
|
+
background-color: #dddddd; }
|
|
19739
|
+
.igv-ui-1_3_0-generic-container > div:first-child > div {
|
|
19740
|
+
display: block;
|
|
19741
|
+
color: #5f5f5f;
|
|
19742
|
+
cursor: pointer;
|
|
19743
|
+
width: 14px;
|
|
19744
|
+
height: 14px;
|
|
19745
|
+
margin-right: 8px;
|
|
19746
|
+
margin-bottom: 4px; }
|
|
19747
|
+
|
|
19748
|
+
.igv-ui-1_3_0-dialog {
|
|
19749
|
+
z-index: 2048;
|
|
19750
|
+
position: fixed;
|
|
19751
|
+
width: fit-content;
|
|
19752
|
+
height: fit-content;
|
|
19753
|
+
display: flex;
|
|
19754
|
+
flex-flow: column;
|
|
19755
|
+
flex-wrap: nowrap;
|
|
19756
|
+
justify-content: flex-start;
|
|
19757
|
+
background-color: white;
|
|
19758
|
+
border-color: #7F7F7F;
|
|
19759
|
+
border-radius: 4px;
|
|
19760
|
+
border-style: solid;
|
|
19761
|
+
border-width: thin;
|
|
19762
|
+
font-family: "Open Sans", sans-serif;
|
|
19763
|
+
font-size: medium;
|
|
19764
|
+
font-weight: 400; }
|
|
19765
|
+
.igv-ui-1_3_0-dialog .igv-ui-1_3_0-dialog-header {
|
|
19766
|
+
display: flex;
|
|
19767
|
+
flex-flow: row;
|
|
19768
|
+
flex-wrap: nowrap;
|
|
19769
|
+
justify-content: flex-end;
|
|
19770
|
+
align-items: center;
|
|
19771
|
+
width: 100%;
|
|
19772
|
+
height: 24px;
|
|
19773
|
+
cursor: move;
|
|
19774
|
+
border-top-left-radius: 4px;
|
|
19775
|
+
border-top-right-radius: 4px;
|
|
19776
|
+
border-bottom-color: #7F7F7F;
|
|
19777
|
+
border-bottom-style: solid;
|
|
19778
|
+
border-bottom-width: thin;
|
|
19779
|
+
background-color: #eee; }
|
|
19780
|
+
.igv-ui-1_3_0-dialog .igv-ui-1_3_0-dialog-header div {
|
|
19781
|
+
margin-right: 4px;
|
|
19782
|
+
margin-bottom: 2px;
|
|
19783
|
+
height: 12px;
|
|
19784
|
+
width: 12px;
|
|
19785
|
+
color: #7F7F7F; }
|
|
19786
|
+
.igv-ui-1_3_0-dialog .igv-ui-1_3_0-dialog-header div:hover {
|
|
19787
|
+
cursor: pointer;
|
|
19788
|
+
color: #444; }
|
|
19789
|
+
.igv-ui-1_3_0-dialog .igv-ui-1_3_0-dialog-one-liner {
|
|
19790
|
+
width: 95%;
|
|
19791
|
+
height: 24px;
|
|
19792
|
+
line-height: 24px;
|
|
19793
|
+
text-align: left;
|
|
19794
|
+
margin: 8px;
|
|
19795
|
+
overflow-wrap: break-word;
|
|
19796
|
+
background-color: white;
|
|
19797
|
+
font-weight: bold; }
|
|
19798
|
+
.igv-ui-1_3_0-dialog .igv-ui-1_3_0-dialog-ok-cancel {
|
|
19799
|
+
width: 100%;
|
|
19800
|
+
display: flex;
|
|
19801
|
+
flex-flow: row;
|
|
19802
|
+
flex-wrap: nowrap;
|
|
19803
|
+
justify-content: space-around;
|
|
19804
|
+
align-items: center; }
|
|
19805
|
+
.igv-ui-1_3_0-dialog .igv-ui-1_3_0-dialog-ok-cancel div {
|
|
19806
|
+
margin: 16px;
|
|
19807
|
+
margin-top: 32px;
|
|
19808
|
+
color: white;
|
|
19809
|
+
font-family: "Open Sans", sans-serif;
|
|
19810
|
+
font-size: 14px;
|
|
19811
|
+
font-weight: 400;
|
|
19812
|
+
width: 75px;
|
|
19813
|
+
height: 28px;
|
|
19814
|
+
line-height: 28px;
|
|
19815
|
+
text-align: center;
|
|
19816
|
+
border-color: transparent;
|
|
19817
|
+
border-style: solid;
|
|
19818
|
+
border-width: thin;
|
|
19819
|
+
border-radius: 2px; }
|
|
19820
|
+
.igv-ui-1_3_0-dialog .igv-ui-1_3_0-dialog-ok-cancel div:first-child {
|
|
19821
|
+
background-color: #5ea4e0; }
|
|
19822
|
+
.igv-ui-1_3_0-dialog .igv-ui-1_3_0-dialog-ok-cancel div:last-child {
|
|
19823
|
+
background-color: #c4c4c4; }
|
|
19824
|
+
.igv-ui-1_3_0-dialog .igv-ui-1_3_0-dialog-ok-cancel div:first-child:hover {
|
|
19825
|
+
cursor: pointer;
|
|
19826
|
+
background-color: #3b5c7f; }
|
|
19827
|
+
.igv-ui-1_3_0-dialog .igv-ui-1_3_0-dialog-ok-cancel div:last-child:hover {
|
|
19828
|
+
cursor: pointer;
|
|
19829
|
+
background-color: #7f7f7f; }
|
|
19830
|
+
.igv-ui-1_3_0-dialog .igv-ui-1_3_0-dialog-ok {
|
|
19831
|
+
width: 100%;
|
|
19832
|
+
height: 36px;
|
|
19833
|
+
margin-top: 32px;
|
|
19834
|
+
display: flex;
|
|
19835
|
+
flex-flow: row;
|
|
19836
|
+
flex-wrap: nowrap;
|
|
19837
|
+
justify-content: space-around;
|
|
19838
|
+
align-items: center; }
|
|
19839
|
+
.igv-ui-1_3_0-dialog .igv-ui-1_3_0-dialog-ok div {
|
|
19840
|
+
width: 98px;
|
|
19841
|
+
height: 36px;
|
|
19842
|
+
line-height: 36px;
|
|
19843
|
+
text-align: center;
|
|
19844
|
+
color: white;
|
|
19845
|
+
font-family: "Open Sans", sans-serif;
|
|
19846
|
+
font-size: medium;
|
|
19847
|
+
font-weight: 400;
|
|
19848
|
+
border-color: white;
|
|
19849
|
+
border-style: solid;
|
|
19850
|
+
border-width: thin;
|
|
19851
|
+
border-radius: 4px;
|
|
19852
|
+
background-color: #2B81AF; }
|
|
19853
|
+
.igv-ui-1_3_0-dialog .igv-ui-1_3_0-dialog-ok div:hover {
|
|
19854
|
+
cursor: pointer;
|
|
19855
|
+
background-color: #25597f; }
|
|
19856
|
+
|
|
19857
|
+
.igv-ui-1_3_0-panel, .igv-ui-1_3_0-panel-column, .igv-ui-1_3_0-panel-row {
|
|
19858
|
+
z-index: 2048;
|
|
19859
|
+
background-color: white;
|
|
19860
|
+
font-family: "Open Sans", sans-serif;
|
|
19861
|
+
font-size: medium;
|
|
19862
|
+
font-weight: 400;
|
|
19863
|
+
display: flex;
|
|
19864
|
+
justify-content: flex-start;
|
|
19865
|
+
align-items: flex-start; }
|
|
19866
|
+
|
|
19867
|
+
.igv-ui-1_3_0-panel-column {
|
|
19868
|
+
display: flex;
|
|
19869
|
+
flex-direction: column; }
|
|
19870
|
+
|
|
19871
|
+
.igv-ui-1_3_0-panel-row {
|
|
19872
|
+
display: flex;
|
|
19873
|
+
flex-direction: row; }
|
|
19874
|
+
|
|
19875
|
+
.igv-ui-1_3_0-textbox {
|
|
19876
|
+
background-color: white;
|
|
19877
|
+
font-family: "Open Sans", sans-serif;
|
|
19878
|
+
font-size: medium;
|
|
19879
|
+
font-weight: 400;
|
|
19880
|
+
display: flex;
|
|
19881
|
+
justify-content: flex-start;
|
|
19882
|
+
align-items: flex-start; }
|
|
19883
|
+
|
|
19884
|
+
/*# sourceMappingURL=igv-ui-1_3_0.css.map */
|
|
19885
|
+
`;
|
|
19886
|
+
document.head.insertBefore(style, document.head.childNodes[ document.head.childNodes.length - 1 ]);
|
|
19887
|
+
}
|
|
19888
|
+
|
|
19889
|
+
if (typeof document !== 'undefined') {
|
|
19890
|
+
|
|
19891
|
+
if (!stylesheetExists("igv-ui-1_3_0.css")) {
|
|
19063
19892
|
embedCSS$2();
|
|
19064
|
-
// console.log('... done.');
|
|
19065
19893
|
}
|
|
19894
|
+
|
|
19066
19895
|
function stylesheetExists(stylesheetName) {
|
|
19067
19896
|
for (let ss of document.styleSheets) {
|
|
19068
19897
|
ss = ss.href ? ss.href.replace(/^.*[\\\/]/, '') : '';
|
|
19069
19898
|
if (ss === stylesheetName) {
|
|
19070
|
-
return true
|
|
19899
|
+
return true
|
|
19071
19900
|
}
|
|
19072
19901
|
}
|
|
19073
|
-
return false
|
|
19902
|
+
return false
|
|
19074
19903
|
}
|
|
19075
19904
|
}
|
|
19076
19905
|
|
|
@@ -23033,7 +23862,7 @@ const Cytoband = function (start, end, name, typestain) {
|
|
|
23033
23862
|
}
|
|
23034
23863
|
};
|
|
23035
23864
|
|
|
23036
|
-
const _version = "2.13.
|
|
23865
|
+
const _version = "2.13.1";
|
|
23037
23866
|
function version() {
|
|
23038
23867
|
return _version
|
|
23039
23868
|
}
|
|
@@ -32480,7 +33309,7 @@ function zoomLevelForScale(chr, bpPerPixel, genome) {
|
|
|
32480
33309
|
* @param config
|
|
32481
33310
|
* @constructor
|
|
32482
33311
|
*/
|
|
32483
|
-
class StaticFeatureSource
|
|
33312
|
+
class StaticFeatureSource {
|
|
32484
33313
|
|
|
32485
33314
|
constructor(config, genome) {
|
|
32486
33315
|
|
|
@@ -32538,6 +33367,11 @@ class StaticFeatureSource$1 {
|
|
|
32538
33367
|
return this.featureCache.getAllFeatures()
|
|
32539
33368
|
}
|
|
32540
33369
|
|
|
33370
|
+
supportsWholeGenome() {
|
|
33371
|
+
return true
|
|
33372
|
+
}
|
|
33373
|
+
|
|
33374
|
+
|
|
32541
33375
|
}
|
|
32542
33376
|
|
|
32543
33377
|
|
|
@@ -32600,7 +33434,7 @@ function FeatureSource(config, genome) {
|
|
|
32600
33434
|
const format = config.format ? config.format.toLowerCase() : undefined;
|
|
32601
33435
|
|
|
32602
33436
|
if (config.features) {
|
|
32603
|
-
return new StaticFeatureSource
|
|
33437
|
+
return new StaticFeatureSource(config, genome)
|
|
32604
33438
|
} else if (bbFormats.has(format)) {
|
|
32605
33439
|
return new BWSource(config, genome)
|
|
32606
33440
|
} else if ("tdf" === format) {
|
|
@@ -32899,12 +33733,12 @@ function randomColor() {
|
|
|
32899
33733
|
|
|
32900
33734
|
const appleCrayonColorName = 'nickel';
|
|
32901
33735
|
|
|
32902
|
-
const ROI_DEFAULT_ALPHA = 2/16;
|
|
33736
|
+
const ROI_DEFAULT_ALPHA = 2 / 16;
|
|
32903
33737
|
|
|
32904
33738
|
const ROI_DEFAULT_COLOR = appleCrayonRGBA(appleCrayonColorName, ROI_DEFAULT_ALPHA);
|
|
32905
|
-
const ROI_DEFAULT_HEADER_COLOR = '
|
|
33739
|
+
const ROI_DEFAULT_HEADER_COLOR = 'rgb(190,190,190)';
|
|
32906
33740
|
|
|
32907
|
-
const ROI_USER_HEADER_DEFINED_COLOR = 'rgba(155,185,129
|
|
33741
|
+
const ROI_USER_HEADER_DEFINED_COLOR = 'rgba(155,185,129)';
|
|
32908
33742
|
const ROI_USER_DEFINED_COLOR = ROI_DEFAULT_COLOR;
|
|
32909
33743
|
|
|
32910
33744
|
class ROISet {
|
|
@@ -32912,7 +33746,6 @@ class ROISet {
|
|
|
32912
33746
|
constructor(config, genome) {
|
|
32913
33747
|
|
|
32914
33748
|
this.url = config.url;
|
|
32915
|
-
this.isUserDefined = config.isUserDefined;
|
|
32916
33749
|
|
|
32917
33750
|
if (config.name) {
|
|
32918
33751
|
this.name = config.name;
|
|
@@ -32922,10 +33755,10 @@ class ROISet {
|
|
|
32922
33755
|
this.name = getFilename$1(config.url);
|
|
32923
33756
|
}
|
|
32924
33757
|
|
|
32925
|
-
|
|
33758
|
+
this.isUserDefined = config.isUserDefined;
|
|
33759
|
+
|
|
33760
|
+
if (config.features) {
|
|
32926
33761
|
this.featureSource = new DynamicFeatureSource(config.features, genome);
|
|
32927
|
-
} else if (config.features) {
|
|
32928
|
-
this.featureSource = new StaticFeatureSource(config.features, genome);
|
|
32929
33762
|
} else {
|
|
32930
33763
|
if (config.format) {
|
|
32931
33764
|
config.format = config.format.toLowerCase();
|
|
@@ -32937,15 +33770,12 @@ class ROISet {
|
|
|
32937
33770
|
}
|
|
32938
33771
|
|
|
32939
33772
|
if (true === this.isUserDefined) {
|
|
32940
|
-
|
|
32941
33773
|
this.color = config.color || ROI_USER_DEFINED_COLOR;
|
|
32942
|
-
|
|
32943
33774
|
this.headerColor = ROI_USER_HEADER_DEFINED_COLOR;
|
|
32944
33775
|
|
|
32945
33776
|
} else {
|
|
32946
33777
|
|
|
32947
33778
|
this.color = config.color || ROI_DEFAULT_COLOR;
|
|
32948
|
-
|
|
32949
33779
|
this.headerColor = ROI_DEFAULT_HEADER_COLOR;
|
|
32950
33780
|
|
|
32951
33781
|
// Use body color with alpha pinned to 1
|
|
@@ -32981,18 +33811,16 @@ class ROISet {
|
|
|
32981
33811
|
|
|
32982
33812
|
toJSON() {
|
|
32983
33813
|
if (this.url) {
|
|
32984
|
-
return
|
|
32985
|
-
name: this.name,
|
|
32986
|
-
color: this.color,
|
|
32987
|
-
url: this.url
|
|
32988
|
-
}
|
|
33814
|
+
return {name: this.name, color: this.color, url: this.url, isUserDefined: this.isUserDefined}
|
|
32989
33815
|
} else {
|
|
32990
|
-
const
|
|
32991
|
-
|
|
32992
|
-
|
|
32993
|
-
|
|
32994
|
-
|
|
33816
|
+
const featureMap = this.featureSource.getAllFeatures();
|
|
33817
|
+
const features = [];
|
|
33818
|
+
for (let chr of Object.keys(featureMap)) {
|
|
33819
|
+
for (let f of featureMap[chr]) {
|
|
33820
|
+
features.push(f);
|
|
33821
|
+
}
|
|
32995
33822
|
}
|
|
33823
|
+
return {name: this.name, color: this.color, features: features, isUserDefined: this.isUserDefined}
|
|
32996
33824
|
}
|
|
32997
33825
|
}
|
|
32998
33826
|
|
|
@@ -33021,31 +33849,9 @@ function screenCoordinates(regionStartBP, regionEndBP, bpStart, bpp) {
|
|
|
33021
33849
|
return {x: xStart, width}
|
|
33022
33850
|
}
|
|
33023
33851
|
|
|
33024
|
-
class StaticFeatureSource {
|
|
33025
|
-
constructor(features, genome) {
|
|
33026
|
-
this.featureCache = new FeatureCache$1(features, genome);
|
|
33027
|
-
this.genome = genome;
|
|
33028
|
-
}
|
|
33029
|
-
|
|
33030
|
-
getFeatures({chr, start, end}) {
|
|
33031
|
-
if (chr.toLowerCase() === 'all') {
|
|
33032
|
-
return computeWGFeatures(this.featureCache.getAllFeatures(), this.genome)
|
|
33033
|
-
} else {
|
|
33034
|
-
return this.featureCache.queryFeatures(chr, start, end)
|
|
33035
|
-
}
|
|
33036
|
-
}
|
|
33037
|
-
|
|
33038
|
-
getAllFeatures() {
|
|
33039
|
-
return this.featureCache.getAllFeatures()
|
|
33040
|
-
}
|
|
33041
|
-
|
|
33042
|
-
supportsWholeGenome() {
|
|
33043
|
-
return true
|
|
33044
|
-
}
|
|
33045
|
-
}
|
|
33046
33852
|
|
|
33047
33853
|
/**
|
|
33048
|
-
* Special feature source that allows addition of features dynamically
|
|
33854
|
+
* Special feature source that allows addition of features dynamically
|
|
33049
33855
|
*/
|
|
33050
33856
|
class DynamicFeatureSource {
|
|
33051
33857
|
|
|
@@ -33095,11 +33901,11 @@ class DynamicFeatureSource {
|
|
|
33095
33901
|
featureList.sort((a, b) => a.start - b.start);
|
|
33096
33902
|
}
|
|
33097
33903
|
|
|
33098
|
-
removeFeature({
|
|
33099
|
-
|
|
33100
|
-
if (this.featureMap[
|
|
33904
|
+
removeFeature({chr, start, end}) {
|
|
33905
|
+
|
|
33906
|
+
if (this.featureMap[chr]) {
|
|
33101
33907
|
const match = `${chr}-${start}-${end}`;
|
|
33102
|
-
this.featureMap[
|
|
33908
|
+
this.featureMap[chr] = this.featureMap[chr].filter(feature => match !== `${feature.chr}-${feature.start}-${feature.end}`);
|
|
33103
33909
|
}
|
|
33104
33910
|
}
|
|
33105
33911
|
}
|
|
@@ -41168,71 +41974,6 @@ function configureFont(ctx, {textAlign, textBaseline, strokeStyle, fillStyle}, s
|
|
|
41168
41974
|
ctx.fillStyle = fillStyle;
|
|
41169
41975
|
}
|
|
41170
41976
|
|
|
41171
|
-
class GenericColorPicker extends GenericContainer {
|
|
41172
|
-
|
|
41173
|
-
constructor({parent, width}) {
|
|
41174
|
-
super({parent, width, border: '1px solid gray'});
|
|
41175
|
-
}
|
|
41176
|
-
|
|
41177
|
-
configure(defaultColors, colorHandlers) {
|
|
41178
|
-
|
|
41179
|
-
this.colorHandlers = colorHandlers;
|
|
41180
|
-
|
|
41181
|
-
// active color handler defaults to handler with 'color' as key
|
|
41182
|
-
this.setActiveColorHandler('color');
|
|
41183
|
-
|
|
41184
|
-
this.createSwatches(defaultColors);
|
|
41185
|
-
|
|
41186
|
-
}
|
|
41187
|
-
|
|
41188
|
-
setActiveColorHandler(option) {
|
|
41189
|
-
this.activeColorHandler = this.colorHandlers[option];
|
|
41190
|
-
}
|
|
41191
|
-
|
|
41192
|
-
createSwatches(defaultColors) {
|
|
41193
|
-
|
|
41194
|
-
this.container.querySelectorAll('.igv-ui-color-swatch').forEach(swatch => swatch.remove());
|
|
41195
|
-
|
|
41196
|
-
const hexColorStrings = Object.values(appleCrayonPalette$1);
|
|
41197
|
-
|
|
41198
|
-
for (let hexColorString of hexColorStrings) {
|
|
41199
|
-
const swatch = div$1({class: 'igv-ui-color-swatch'});
|
|
41200
|
-
this.container.appendChild(swatch);
|
|
41201
|
-
this.decorateSwatch(swatch, hexColorString);
|
|
41202
|
-
}
|
|
41203
|
-
|
|
41204
|
-
if (defaultColors) {
|
|
41205
|
-
for (let hexColorString of defaultColors) {
|
|
41206
|
-
const swatch = div$1({class: 'igv-ui-color-swatch'});
|
|
41207
|
-
this.container.appendChild(swatch);
|
|
41208
|
-
this.decorateSwatch(swatch, hexColorString);
|
|
41209
|
-
}
|
|
41210
|
-
}
|
|
41211
|
-
|
|
41212
|
-
}
|
|
41213
|
-
|
|
41214
|
-
decorateSwatch(swatch, hexColorString) {
|
|
41215
|
-
|
|
41216
|
-
swatch.style.backgroundColor = hexColorString;
|
|
41217
|
-
|
|
41218
|
-
swatch.addEventListener('mouseenter', () => swatch.style.borderColor = hexColorString);
|
|
41219
|
-
|
|
41220
|
-
swatch.addEventListener('mouseleave', () => swatch.style.borderColor = 'white');
|
|
41221
|
-
|
|
41222
|
-
swatch.addEventListener('click', event => {
|
|
41223
|
-
event.stopPropagation();
|
|
41224
|
-
this.activeColorHandler(hexColorString);
|
|
41225
|
-
});
|
|
41226
|
-
|
|
41227
|
-
swatch.addEventListener('touchend', event => {
|
|
41228
|
-
event.stopPropagation();
|
|
41229
|
-
this.activeColorHandler(hexColorString);
|
|
41230
|
-
});
|
|
41231
|
-
|
|
41232
|
-
}
|
|
41233
|
-
|
|
41234
|
-
}
|
|
41235
|
-
|
|
41236
41977
|
/*
|
|
41237
41978
|
* The MIT License (MIT)
|
|
41238
41979
|
*
|
|
@@ -50053,6 +50794,7 @@ const CustomButton = function (parent, browser, b) {
|
|
|
50053
50794
|
};
|
|
50054
50795
|
|
|
50055
50796
|
class ROIManager {
|
|
50797
|
+
|
|
50056
50798
|
constructor(browser, roiMenu, roiTable, top, roiSets) {
|
|
50057
50799
|
|
|
50058
50800
|
this.browser = browser;
|
|
@@ -50214,8 +50956,9 @@ class ROIManager {
|
|
|
50214
50956
|
if (el) {
|
|
50215
50957
|
el.style.left = `${pixelX}px`;
|
|
50216
50958
|
el.style.width = `${pixelWidth}px`;
|
|
50959
|
+
|
|
50217
50960
|
} else {
|
|
50218
|
-
const element = this.createRegionElement(browser.columnContainer, pixelTop, pixelX, pixelWidth, roiSet, regionKey);
|
|
50961
|
+
const element = this.createRegionElement(browser.columnContainer, pixelTop, pixelX, pixelWidth, roiSet, regionKey, feature.name);
|
|
50219
50962
|
columns[i].appendChild(element);
|
|
50220
50963
|
}
|
|
50221
50964
|
}
|
|
@@ -50223,26 +50966,22 @@ class ROIManager {
|
|
|
50223
50966
|
}
|
|
50224
50967
|
}
|
|
50225
50968
|
|
|
50226
|
-
createRegionElement(columnContainer, pixelTop, pixelX, pixelWidth, roiSet, regionKey) {
|
|
50969
|
+
createRegionElement(columnContainer, pixelTop, pixelX, pixelWidth, roiSet, regionKey, name) {
|
|
50227
50970
|
|
|
50228
50971
|
const regionElement = div$1({class: 'igv-roi-region'});
|
|
50229
50972
|
|
|
50230
50973
|
regionElement.style.top = `${pixelTop}px`;
|
|
50231
50974
|
regionElement.style.left = `${pixelX}px`;
|
|
50232
|
-
|
|
50233
50975
|
regionElement.style.width = `${pixelWidth}px`;
|
|
50234
|
-
|
|
50235
50976
|
regionElement.style.backgroundColor = roiSet.color;
|
|
50236
|
-
|
|
50237
50977
|
regionElement.dataset.region = regionKey;
|
|
50238
50978
|
|
|
50239
|
-
|
|
50240
|
-
|
|
50241
|
-
const header = div$1();
|
|
50242
|
-
regionElement.appendChild(header);
|
|
50979
|
+
const header = div$1();
|
|
50980
|
+
regionElement.appendChild(header);
|
|
50243
50981
|
|
|
50244
|
-
|
|
50982
|
+
header.style.backgroundColor = roiSet.headerColor;
|
|
50245
50983
|
|
|
50984
|
+
if (true === roiSet.isUserDefined) {
|
|
50246
50985
|
header.addEventListener('click', event => {
|
|
50247
50986
|
event.preventDefault();
|
|
50248
50987
|
event.stopPropagation();
|
|
@@ -50250,6 +50989,18 @@ class ROIManager {
|
|
|
50250
50989
|
const {x, y} = translateMouseCoordinates$1(event, columnContainer);
|
|
50251
50990
|
this.roiMenu.present(x, y, this, columnContainer, regionElement);
|
|
50252
50991
|
});
|
|
50992
|
+
} else if (name) {
|
|
50993
|
+
header.addEventListener('click', event => {
|
|
50994
|
+
event.preventDefault();
|
|
50995
|
+
event.stopPropagation();
|
|
50996
|
+
if (this.popover) {
|
|
50997
|
+
this.popover.dispose();
|
|
50998
|
+
}
|
|
50999
|
+
this.popover = new Popover(columnContainer, roiSet.name);
|
|
51000
|
+
this.popover.presentContentWithEvent(event, name);
|
|
51001
|
+
});
|
|
51002
|
+
} else {
|
|
51003
|
+
header.style.pointerEvents = 'none';
|
|
50253
51004
|
}
|
|
50254
51005
|
|
|
50255
51006
|
return regionElement
|
|
@@ -51406,12 +52157,8 @@ class Browser {
|
|
|
51406
52157
|
const roiMenu = new ROIMenu(this, this.columnContainer);
|
|
51407
52158
|
if (session.roi) {
|
|
51408
52159
|
|
|
51409
|
-
session.roi.filter(config => config.features && config.isUserDefined).map((c, index) => c.name = undefined);
|
|
51410
|
-
|
|
51411
52160
|
const roiSetList = session.roi.map(c => new ROISet(c, this.genome));
|
|
51412
|
-
|
|
51413
|
-
const named = roiSetList.filter(({name}) => name !== undefined);
|
|
51414
|
-
|
|
52161
|
+
const named = roiSetList.filter(({name}) => name !== undefined && name.length > 0);
|
|
51415
52162
|
const roiTable = new ROITable(this, this.columnContainer, (named.length > 0));
|
|
51416
52163
|
|
|
51417
52164
|
this.roiManager = new ROIManager(this, roiMenu, roiTable, ideogramHeight, roiSetList);
|