gosling.js 0.13.2 → 0.15.0
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/dist/gosling.js +256 -50
- package/dist/gosling.js.map +1 -1
- package/dist/src/core/gosling-component.d.ts +1 -1
- package/dist/src/core/gosling-component.d.ts.map +1 -1
- package/dist/src/gosling-schema/gosling.schema.d.ts +17 -0
- package/dist/src/gosling-schema/gosling.schema.d.ts.map +1 -1
- package/dist/src/tracks/gosling-track/gosling-track.d.ts.map +1 -1
- package/package.json +2 -2
package/dist/gosling.js
CHANGED
|
@@ -52,7 +52,7 @@ import require$$0 from "react-dom";
|
|
|
52
52
|
import { HiGlassComponent } from "higlass";
|
|
53
53
|
import { ResizeSensor } from "css-element-queries";
|
|
54
54
|
const name = "gosling.js";
|
|
55
|
-
const version = "0.
|
|
55
|
+
const version = "0.15.0";
|
|
56
56
|
const $ref$2 = "#/definitions/GoslingSpec";
|
|
57
57
|
const $schema$2 = "http://json-schema.org/draft-07/schema#";
|
|
58
58
|
const definitions$2 = {
|
|
@@ -1326,6 +1326,15 @@ const definitions$2 = {
|
|
|
1326
1326
|
"default": false,
|
|
1327
1327
|
description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
|
|
1328
1328
|
type: "boolean"
|
|
1329
|
+
},
|
|
1330
|
+
stretchGraphics: {
|
|
1331
|
+
description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
|
|
1332
|
+
type: "boolean"
|
|
1333
|
+
},
|
|
1334
|
+
stretchGraphicsThreshold: {
|
|
1335
|
+
"default": 1.5,
|
|
1336
|
+
description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
|
|
1337
|
+
type: "number"
|
|
1329
1338
|
}
|
|
1330
1339
|
},
|
|
1331
1340
|
type: "object"
|
|
@@ -1478,6 +1487,15 @@ const definitions$2 = {
|
|
|
1478
1487
|
"default": false,
|
|
1479
1488
|
description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
|
|
1480
1489
|
type: "boolean"
|
|
1490
|
+
},
|
|
1491
|
+
stretchGraphics: {
|
|
1492
|
+
description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
|
|
1493
|
+
type: "boolean"
|
|
1494
|
+
},
|
|
1495
|
+
stretchGraphicsThreshold: {
|
|
1496
|
+
"default": 1.5,
|
|
1497
|
+
description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
|
|
1498
|
+
type: "number"
|
|
1481
1499
|
}
|
|
1482
1500
|
},
|
|
1483
1501
|
type: "object"
|
|
@@ -2094,6 +2112,15 @@ const definitions$2 = {
|
|
|
2094
2112
|
"default": false,
|
|
2095
2113
|
description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
|
|
2096
2114
|
type: "boolean"
|
|
2115
|
+
},
|
|
2116
|
+
stretchGraphics: {
|
|
2117
|
+
description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
|
|
2118
|
+
type: "boolean"
|
|
2119
|
+
},
|
|
2120
|
+
stretchGraphicsThreshold: {
|
|
2121
|
+
"default": 1.5,
|
|
2122
|
+
description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
|
|
2123
|
+
type: "number"
|
|
2097
2124
|
}
|
|
2098
2125
|
},
|
|
2099
2126
|
type: "object"
|
|
@@ -2246,6 +2273,15 @@ const definitions$2 = {
|
|
|
2246
2273
|
"default": false,
|
|
2247
2274
|
description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
|
|
2248
2275
|
type: "boolean"
|
|
2276
|
+
},
|
|
2277
|
+
stretchGraphics: {
|
|
2278
|
+
description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
|
|
2279
|
+
type: "boolean"
|
|
2280
|
+
},
|
|
2281
|
+
stretchGraphicsThreshold: {
|
|
2282
|
+
"default": 1.5,
|
|
2283
|
+
description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
|
|
2284
|
+
type: "number"
|
|
2249
2285
|
}
|
|
2250
2286
|
},
|
|
2251
2287
|
type: "object"
|
|
@@ -2919,6 +2955,15 @@ const definitions$2 = {
|
|
|
2919
2955
|
"default": false,
|
|
2920
2956
|
description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
|
|
2921
2957
|
type: "boolean"
|
|
2958
|
+
},
|
|
2959
|
+
stretchGraphics: {
|
|
2960
|
+
description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
|
|
2961
|
+
type: "boolean"
|
|
2962
|
+
},
|
|
2963
|
+
stretchGraphicsThreshold: {
|
|
2964
|
+
"default": 1.5,
|
|
2965
|
+
description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
|
|
2966
|
+
type: "number"
|
|
2922
2967
|
}
|
|
2923
2968
|
},
|
|
2924
2969
|
type: "object"
|
|
@@ -4160,6 +4205,15 @@ const definitions$2 = {
|
|
|
4160
4205
|
"default": false,
|
|
4161
4206
|
description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
|
|
4162
4207
|
type: "boolean"
|
|
4208
|
+
},
|
|
4209
|
+
stretchGraphics: {
|
|
4210
|
+
description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
|
|
4211
|
+
type: "boolean"
|
|
4212
|
+
},
|
|
4213
|
+
stretchGraphicsThreshold: {
|
|
4214
|
+
"default": 1.5,
|
|
4215
|
+
description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
|
|
4216
|
+
type: "number"
|
|
4163
4217
|
}
|
|
4164
4218
|
},
|
|
4165
4219
|
type: "object"
|
|
@@ -4478,6 +4532,15 @@ const definitions$2 = {
|
|
|
4478
4532
|
"default": false,
|
|
4479
4533
|
description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
|
|
4480
4534
|
type: "boolean"
|
|
4535
|
+
},
|
|
4536
|
+
stretchGraphics: {
|
|
4537
|
+
description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
|
|
4538
|
+
type: "boolean"
|
|
4539
|
+
},
|
|
4540
|
+
stretchGraphicsThreshold: {
|
|
4541
|
+
"default": 1.5,
|
|
4542
|
+
description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
|
|
4543
|
+
type: "number"
|
|
4481
4544
|
}
|
|
4482
4545
|
},
|
|
4483
4546
|
type: "object"
|
|
@@ -4834,6 +4897,15 @@ const definitions$2 = {
|
|
|
4834
4897
|
"default": false,
|
|
4835
4898
|
description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
|
|
4836
4899
|
type: "boolean"
|
|
4900
|
+
},
|
|
4901
|
+
stretchGraphics: {
|
|
4902
|
+
description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
|
|
4903
|
+
type: "boolean"
|
|
4904
|
+
},
|
|
4905
|
+
stretchGraphicsThreshold: {
|
|
4906
|
+
"default": 1.5,
|
|
4907
|
+
description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
|
|
4908
|
+
type: "number"
|
|
4837
4909
|
}
|
|
4838
4910
|
},
|
|
4839
4911
|
type: "object"
|
|
@@ -5208,6 +5280,15 @@ const definitions$2 = {
|
|
|
5208
5280
|
"default": false,
|
|
5209
5281
|
description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
|
|
5210
5282
|
type: "boolean"
|
|
5283
|
+
},
|
|
5284
|
+
stretchGraphics: {
|
|
5285
|
+
description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
|
|
5286
|
+
type: "boolean"
|
|
5287
|
+
},
|
|
5288
|
+
stretchGraphicsThreshold: {
|
|
5289
|
+
"default": 1.5,
|
|
5290
|
+
description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
|
|
5291
|
+
type: "number"
|
|
5211
5292
|
}
|
|
5212
5293
|
},
|
|
5213
5294
|
type: "object"
|
|
@@ -5542,6 +5623,15 @@ const definitions$2 = {
|
|
|
5542
5623
|
"default": false,
|
|
5543
5624
|
description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
|
|
5544
5625
|
type: "boolean"
|
|
5626
|
+
},
|
|
5627
|
+
stretchGraphics: {
|
|
5628
|
+
description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
|
|
5629
|
+
type: "boolean"
|
|
5630
|
+
},
|
|
5631
|
+
stretchGraphicsThreshold: {
|
|
5632
|
+
"default": 1.5,
|
|
5633
|
+
description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
|
|
5634
|
+
type: "number"
|
|
5545
5635
|
}
|
|
5546
5636
|
},
|
|
5547
5637
|
type: "object"
|
|
@@ -6087,6 +6177,15 @@ const definitions$2 = {
|
|
|
6087
6177
|
"default": false,
|
|
6088
6178
|
description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
|
|
6089
6179
|
type: "boolean"
|
|
6180
|
+
},
|
|
6181
|
+
stretchGraphics: {
|
|
6182
|
+
description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
|
|
6183
|
+
type: "boolean"
|
|
6184
|
+
},
|
|
6185
|
+
stretchGraphicsThreshold: {
|
|
6186
|
+
"default": 1.5,
|
|
6187
|
+
description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
|
|
6188
|
+
type: "number"
|
|
6090
6189
|
}
|
|
6091
6190
|
},
|
|
6092
6191
|
type: "object"
|
|
@@ -6446,6 +6545,15 @@ const definitions$2 = {
|
|
|
6446
6545
|
"default": false,
|
|
6447
6546
|
description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
|
|
6448
6547
|
type: "boolean"
|
|
6548
|
+
},
|
|
6549
|
+
stretchGraphics: {
|
|
6550
|
+
description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
|
|
6551
|
+
type: "boolean"
|
|
6552
|
+
},
|
|
6553
|
+
stretchGraphicsThreshold: {
|
|
6554
|
+
"default": 1.5,
|
|
6555
|
+
description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
|
|
6556
|
+
type: "number"
|
|
6449
6557
|
}
|
|
6450
6558
|
},
|
|
6451
6559
|
type: "object"
|
|
@@ -6594,6 +6702,15 @@ const definitions$2 = {
|
|
|
6594
6702
|
"default": false,
|
|
6595
6703
|
description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
|
|
6596
6704
|
type: "boolean"
|
|
6705
|
+
},
|
|
6706
|
+
stretchGraphics: {
|
|
6707
|
+
description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
|
|
6708
|
+
type: "boolean"
|
|
6709
|
+
},
|
|
6710
|
+
stretchGraphicsThreshold: {
|
|
6711
|
+
"default": 1.5,
|
|
6712
|
+
description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
|
|
6713
|
+
type: "number"
|
|
6597
6714
|
}
|
|
6598
6715
|
},
|
|
6599
6716
|
type: "object"
|
|
@@ -7207,6 +7324,15 @@ const definitions$2 = {
|
|
|
7207
7324
|
"default": false,
|
|
7208
7325
|
description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
|
|
7209
7326
|
type: "boolean"
|
|
7327
|
+
},
|
|
7328
|
+
stretchGraphics: {
|
|
7329
|
+
description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
|
|
7330
|
+
type: "boolean"
|
|
7331
|
+
},
|
|
7332
|
+
stretchGraphicsThreshold: {
|
|
7333
|
+
"default": 1.5,
|
|
7334
|
+
description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
|
|
7335
|
+
type: "number"
|
|
7210
7336
|
}
|
|
7211
7337
|
},
|
|
7212
7338
|
type: "object"
|
|
@@ -7355,6 +7481,15 @@ const definitions$2 = {
|
|
|
7355
7481
|
"default": false,
|
|
7356
7482
|
description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
|
|
7357
7483
|
type: "boolean"
|
|
7484
|
+
},
|
|
7485
|
+
stretchGraphics: {
|
|
7486
|
+
description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
|
|
7487
|
+
type: "boolean"
|
|
7488
|
+
},
|
|
7489
|
+
stretchGraphicsThreshold: {
|
|
7490
|
+
"default": 1.5,
|
|
7491
|
+
description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
|
|
7492
|
+
type: "number"
|
|
7358
7493
|
}
|
|
7359
7494
|
},
|
|
7360
7495
|
type: "object"
|
|
@@ -8021,6 +8156,15 @@ const definitions$2 = {
|
|
|
8021
8156
|
"default": false,
|
|
8022
8157
|
description: "Render visual marks with less smooth curves to increase rendering performance. Only supported for `elliptical` `linkStyle` `withinLink` currently.",
|
|
8023
8158
|
type: "boolean"
|
|
8159
|
+
},
|
|
8160
|
+
stretchGraphics: {
|
|
8161
|
+
description: "Performance rendering option. By default, certain marks ('bar', 'line', 'rect', 'area') are stretched when zooming in/out to improve rendering performance. No marks will be stretched in circular layouts.\n\nWhen this option is set to true, all marks will be stretched when zooming in/out. When this option is set to false, all marks will be rerendered when zooming in/out.",
|
|
8162
|
+
type: "boolean"
|
|
8163
|
+
},
|
|
8164
|
+
stretchGraphicsThreshold: {
|
|
8165
|
+
"default": 1.5,
|
|
8166
|
+
description: "Threshold for stretching graphics. If the graphics are scaled larger than the threshold, then the graphic will be rerendered. If the graphics are scaled smaller than 1/threshold (e.g., 1/2), then the graphic will be rerendered. This is to prevent the graphics from being stretched too much.",
|
|
8167
|
+
type: "number"
|
|
8024
8168
|
}
|
|
8025
8169
|
},
|
|
8026
8170
|
type: "object"
|
|
@@ -24288,7 +24432,7 @@ const config$1 = {
|
|
|
24288
24432
|
}
|
|
24289
24433
|
};
|
|
24290
24434
|
const factory$1 = (HGC, context, options) => {
|
|
24291
|
-
var _assembly2, _processedTileInfo, _mouseDownX, _mouseDownY, _isRangeBrushActivated, _gBrush, _loadingTextStyleObj, _loadingTextBg, _loadingText, _tilesToId, tilesToId_fn, _binsPerTile, binsPerTile_get, _generateTabularData, generateTabularData_fn, _onMouseDown, onMouseDown_fn, _onMouseMove, onMouseMove_fn, _onMouseUp, onMouseUp_fn, _onMouseOut, onMouseOut_fn, _getElementsWithinMouse, getElementsWithinMouse_fn, _publishTrackEvents, publishTrackEvents_fn, _onRangeBrush, onRangeBrush_fn, _highlightMarks, highlightMarks_fn, _publishOnNewTrack, publishOnNewTrack_fn;
|
|
24435
|
+
var _assembly2, _processedTileInfo, _mouseDownX, _mouseDownY, _isRangeBrushActivated, _gBrush, _loadingTextStyleObj, _loadingTextBg, _loadingText, _tilesToId, tilesToId_fn, _binsPerTile, binsPerTile_get, _generateTabularData, generateTabularData_fn, _onMouseDown, onMouseDown_fn, _onMouseMove, onMouseMove_fn, _onMouseUp, onMouseUp_fn, _onMouseOut, onMouseOut_fn, _getElementsWithinMouse, getElementsWithinMouse_fn, _publishTrackEvents, publishTrackEvents_fn, _onRangeBrush, onRangeBrush_fn, _highlightMarks, highlightMarks_fn, _publishOnNewTrack, publishOnNewTrack_fn, _hasStretchableGraphics, hasStretchableGraphics_fn, _isTooStretched, isTooStretched_fn;
|
|
24292
24436
|
const { tileProxy } = HGC.services;
|
|
24293
24437
|
const { BarTrack } = HGC.tracks;
|
|
24294
24438
|
const loadingTextStyle = getTextStyle({ color: "black", size: 12 });
|
|
@@ -24335,6 +24479,19 @@ const factory$1 = (HGC, context, options) => {
|
|
|
24335
24479
|
* Publishes track information. Triggered when track gets created
|
|
24336
24480
|
*/
|
|
24337
24481
|
__privateAdd(this, _publishOnNewTrack);
|
|
24482
|
+
/**
|
|
24483
|
+
* Used in drawTile()
|
|
24484
|
+
* Checks if the track has marks which are stretchable. Stretching
|
|
24485
|
+
* is not supported for circular layouts or 2D tracks
|
|
24486
|
+
*/
|
|
24487
|
+
__privateAdd(this, _hasStretchableGraphics);
|
|
24488
|
+
/**
|
|
24489
|
+
* Used in drawTile()
|
|
24490
|
+
* Checks if the tile Graphic is too stretched. If so, it returns true.
|
|
24491
|
+
* @param stretchFactor The factor by which the tile is stretched
|
|
24492
|
+
* @returns True if the tile is too stretched, false otherwise
|
|
24493
|
+
*/
|
|
24494
|
+
__privateAdd(this, _isTooStretched);
|
|
24338
24495
|
/* *
|
|
24339
24496
|
*
|
|
24340
24497
|
* Properties
|
|
@@ -24477,11 +24634,21 @@ const factory$1 = (HGC, context, options) => {
|
|
|
24477
24634
|
*/
|
|
24478
24635
|
drawTile(tile) {
|
|
24479
24636
|
var _a, _b;
|
|
24480
|
-
tile.drawnAtScale = this._xScale.copy();
|
|
24481
24637
|
const tileInfo = __privateGet(this, _processedTileInfo)[tile.tileId];
|
|
24482
24638
|
if (!tileInfo) {
|
|
24483
24639
|
return;
|
|
24484
24640
|
}
|
|
24641
|
+
if (!tile.drawnAtScale) {
|
|
24642
|
+
tile.drawnAtScale = this._xScale.copy();
|
|
24643
|
+
}
|
|
24644
|
+
const [graphicsXScale, graphicsXPos] = this.getXScaleAndOffset(tile.drawnAtScale);
|
|
24645
|
+
const isFirstRender = graphicsXScale === 1;
|
|
24646
|
+
if (!__privateMethod(this, _isTooStretched, isTooStretched_fn).call(this, graphicsXScale) && __privateMethod(this, _hasStretchableGraphics, hasStretchableGraphics_fn).call(this) && !isFirstRender) {
|
|
24647
|
+
tile.graphics.scale.x = graphicsXScale;
|
|
24648
|
+
tile.graphics.position.x = graphicsXPos;
|
|
24649
|
+
return;
|
|
24650
|
+
}
|
|
24651
|
+
tile.drawnAtScale = this._xScale.copy();
|
|
24485
24652
|
(_a = tile.graphics) == null ? void 0 : _a.clear();
|
|
24486
24653
|
(_b = tile.graphics) == null ? void 0 : _b.removeChildren();
|
|
24487
24654
|
this.pBackground.clear();
|
|
@@ -24597,7 +24764,7 @@ const factory$1 = (HGC, context, options) => {
|
|
|
24597
24764
|
setMask(position, dimensions) {
|
|
24598
24765
|
this.pMask.clear();
|
|
24599
24766
|
this.pMask.beginFill();
|
|
24600
|
-
if (this.options.spec.layout === "circular") {
|
|
24767
|
+
if (this.options.spec.layout === "circular" && this.options.spec.overlayOnPreviousTrack) {
|
|
24601
24768
|
const [x, y] = this.position;
|
|
24602
24769
|
const [width, height] = this.dimensions;
|
|
24603
24770
|
const cx = x + width / 2;
|
|
@@ -25317,6 +25484,32 @@ const factory$1 = (HGC, context, options) => {
|
|
|
25317
25484
|
id: context.viewUid
|
|
25318
25485
|
});
|
|
25319
25486
|
};
|
|
25487
|
+
_hasStretchableGraphics = new WeakSet();
|
|
25488
|
+
hasStretchableGraphics_fn = function() {
|
|
25489
|
+
var _a, _b;
|
|
25490
|
+
const hasStretchOption = (_a = this.options.spec.experimental) == null ? void 0 : _a.stretchGraphics;
|
|
25491
|
+
if (hasStretchOption === true) {
|
|
25492
|
+
return true;
|
|
25493
|
+
} else if (hasStretchOption === false) {
|
|
25494
|
+
return false;
|
|
25495
|
+
}
|
|
25496
|
+
const isFirstTrack1D = !Is2DTrack(this.getResolvedTracks()[0]);
|
|
25497
|
+
const isNotCircularLayout = this.options.spec.layout !== "circular";
|
|
25498
|
+
const stretchableMarks = ["bar", "line", "rect", "area"];
|
|
25499
|
+
const hasStretchableMark = this.getResolvedTracks().reduce(
|
|
25500
|
+
(acc, spec) => acc && stretchableMarks.includes(spec.mark),
|
|
25501
|
+
true
|
|
25502
|
+
);
|
|
25503
|
+
const noMouseInteractions = !((_b = this.options.spec.experimental) == null ? void 0 : _b.mouseEvents);
|
|
25504
|
+
return isFirstTrack1D && isNotCircularLayout && hasStretchableMark && noMouseInteractions;
|
|
25505
|
+
};
|
|
25506
|
+
_isTooStretched = new WeakSet();
|
|
25507
|
+
isTooStretched_fn = function(stretchFactor) {
|
|
25508
|
+
var _a, _b;
|
|
25509
|
+
const defaultThreshold = 1.5;
|
|
25510
|
+
const threshold = (_b = (_a = this.options.spec.experimental) == null ? void 0 : _a.stretchGraphicsThreshold) != null ? _b : defaultThreshold;
|
|
25511
|
+
return stretchFactor > threshold || stretchFactor < 1 / threshold;
|
|
25512
|
+
};
|
|
25320
25513
|
/**
|
|
25321
25514
|
* Convert tile positions to tile IDs
|
|
25322
25515
|
*/
|
|
@@ -26342,6 +26535,7 @@ const DELAY_FOR_CONTAINER_RESIZE_BEFORE_RERENDER = 300;
|
|
|
26342
26535
|
const GoslingComponent = forwardRef((props, ref) => {
|
|
26343
26536
|
var _a, _b, _c;
|
|
26344
26537
|
const [viewConfig, setViewConfig] = useState();
|
|
26538
|
+
const [isInitialRender, setIsInitialRender] = useState(true);
|
|
26345
26539
|
const [size, setSize] = useState({ width: 200, height: 200 });
|
|
26346
26540
|
const wrapperSize = useRef();
|
|
26347
26541
|
const wrapperParentSize = useRef();
|
|
@@ -26370,51 +26564,55 @@ const GoslingComponent = forwardRef((props, ref) => {
|
|
|
26370
26564
|
},
|
|
26371
26565
|
[viewConfig, theme]
|
|
26372
26566
|
);
|
|
26373
|
-
const compile$1 = useCallback(
|
|
26374
|
-
|
|
26375
|
-
const
|
|
26376
|
-
if (
|
|
26377
|
-
|
|
26378
|
-
|
|
26567
|
+
const compile$1 = useCallback(
|
|
26568
|
+
(altSpec) => {
|
|
26569
|
+
const spec = altSpec != null ? altSpec : props.spec;
|
|
26570
|
+
if (spec) {
|
|
26571
|
+
const valid = validateGoslingSpec(spec);
|
|
26572
|
+
if (valid.state === "error") {
|
|
26573
|
+
console.warn("Gosling spec is not valid. Please refer to the console message.");
|
|
26574
|
+
return;
|
|
26575
|
+
}
|
|
26576
|
+
compile(
|
|
26577
|
+
spec,
|
|
26578
|
+
(newHiGlassSpec, newSize, newGoslingSpec, newTracksAndViews, newIdTable) => {
|
|
26579
|
+
var _a2, _b2;
|
|
26580
|
+
if (prevSpec.current && isEqual(omitDeep(prevSpec.current, ["linkingId"]), omitDeep(newGoslingSpec, ["linkingId"]))) {
|
|
26581
|
+
return;
|
|
26582
|
+
}
|
|
26583
|
+
(_a2 = props.compiled) == null ? void 0 : _a2.call(props, spec, newHiGlassSpec, { _processedSpec: newGoslingSpec });
|
|
26584
|
+
setSize(newSize);
|
|
26585
|
+
const isMountedOnce = typeof viewConfig !== "undefined";
|
|
26586
|
+
if (((_b2 = props.experimental) == null ? void 0 : _b2.reactive) && isMountedOnce) {
|
|
26587
|
+
setTimeout(() => {
|
|
26588
|
+
var _a3, _b3;
|
|
26589
|
+
preverseZoomStatus(
|
|
26590
|
+
newHiGlassSpec,
|
|
26591
|
+
(_a3 = hgRef.current) == null ? void 0 : _a3.api.getViewConfig()
|
|
26592
|
+
);
|
|
26593
|
+
(_b3 = hgRef.current) == null ? void 0 : _b3.api.setViewConfig(newHiGlassSpec);
|
|
26594
|
+
}, DELAY_FOR_CONTAINER_RESIZE_BEFORE_RERENDER);
|
|
26595
|
+
} else {
|
|
26596
|
+
setViewConfig(newHiGlassSpec);
|
|
26597
|
+
}
|
|
26598
|
+
publishOnNewView(newTracksAndViews);
|
|
26599
|
+
prevSpec.current = newGoslingSpec;
|
|
26600
|
+
tracksAndViews.current = newTracksAndViews;
|
|
26601
|
+
idTable.current = newIdTable;
|
|
26602
|
+
},
|
|
26603
|
+
[...GoslingTemplates],
|
|
26604
|
+
// TODO: allow user definitions
|
|
26605
|
+
theme,
|
|
26606
|
+
{
|
|
26607
|
+
containerSize: wrapperSize.current,
|
|
26608
|
+
containerParentSize: wrapperParentSize.current
|
|
26609
|
+
},
|
|
26610
|
+
props.urlToFetchOptions
|
|
26611
|
+
);
|
|
26379
26612
|
}
|
|
26380
|
-
|
|
26381
|
-
|
|
26382
|
-
|
|
26383
|
-
var _a2, _b2;
|
|
26384
|
-
if (prevSpec.current && isEqual(omitDeep(prevSpec.current, ["linkingId"]), omitDeep(newGoslingSpec, ["linkingId"]))) {
|
|
26385
|
-
return;
|
|
26386
|
-
}
|
|
26387
|
-
(_a2 = props.compiled) == null ? void 0 : _a2.call(props, props.spec, newHiGlassSpec, { _processedSpec: newGoslingSpec });
|
|
26388
|
-
setSize(newSize);
|
|
26389
|
-
const isMountedOnce = typeof viewConfig !== "undefined";
|
|
26390
|
-
if (((_b2 = props.experimental) == null ? void 0 : _b2.reactive) && isMountedOnce) {
|
|
26391
|
-
setTimeout(() => {
|
|
26392
|
-
var _a3, _b3;
|
|
26393
|
-
preverseZoomStatus(
|
|
26394
|
-
newHiGlassSpec,
|
|
26395
|
-
(_a3 = hgRef.current) == null ? void 0 : _a3.api.getViewConfig()
|
|
26396
|
-
);
|
|
26397
|
-
(_b3 = hgRef.current) == null ? void 0 : _b3.api.setViewConfig(newHiGlassSpec);
|
|
26398
|
-
}, DELAY_FOR_CONTAINER_RESIZE_BEFORE_RERENDER);
|
|
26399
|
-
} else {
|
|
26400
|
-
setViewConfig(newHiGlassSpec);
|
|
26401
|
-
}
|
|
26402
|
-
publishOnNewView(newTracksAndViews);
|
|
26403
|
-
prevSpec.current = newGoslingSpec;
|
|
26404
|
-
tracksAndViews.current = newTracksAndViews;
|
|
26405
|
-
idTable.current = newIdTable;
|
|
26406
|
-
},
|
|
26407
|
-
[...GoslingTemplates],
|
|
26408
|
-
// TODO: allow user definitions
|
|
26409
|
-
theme,
|
|
26410
|
-
{
|
|
26411
|
-
containerSize: wrapperSize.current,
|
|
26412
|
-
containerParentSize: wrapperParentSize.current
|
|
26413
|
-
},
|
|
26414
|
-
props.urlToFetchOptions
|
|
26415
|
-
);
|
|
26416
|
-
}
|
|
26417
|
-
}, [props.spec, theme]);
|
|
26613
|
+
},
|
|
26614
|
+
[props.spec, theme]
|
|
26615
|
+
);
|
|
26418
26616
|
useEffect(() => {
|
|
26419
26617
|
var _a2;
|
|
26420
26618
|
if (!((_a2 = props.spec) == null ? void 0 : _a2.responsiveSize))
|
|
@@ -26443,8 +26641,16 @@ const GoslingComponent = forwardRef((props, ref) => {
|
|
|
26443
26641
|
};
|
|
26444
26642
|
});
|
|
26445
26643
|
useEffect(() => {
|
|
26446
|
-
|
|
26447
|
-
|
|
26644
|
+
if (isInitialRender) {
|
|
26645
|
+
compile$1({
|
|
26646
|
+
title: " ",
|
|
26647
|
+
tracks: [{}]
|
|
26648
|
+
});
|
|
26649
|
+
setIsInitialRender(false);
|
|
26650
|
+
} else {
|
|
26651
|
+
compile$1();
|
|
26652
|
+
}
|
|
26653
|
+
}, [props.spec, theme, isInitialRender]);
|
|
26448
26654
|
const responsiveHeight = typeof ((_b = props.spec) == null ? void 0 : _b.responsiveSize) !== "object" ? (_c = props.spec) == null ? void 0 : _c.responsiveSize : props.spec.responsiveSize.height;
|
|
26449
26655
|
const higlassComponent = useMemo(
|
|
26450
26656
|
() => {
|