@genome-spy/core 0.68.0 → 0.69.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/dist/bundle/index.es.js +12119 -10681
- package/dist/bundle/index.js +119 -119
- package/dist/schema.json +6224 -6319
- package/dist/src/data/dataFlow.d.ts.map +1 -1
- package/dist/src/data/dataFlow.js +10 -0
- package/dist/src/data/flowNode.d.ts +25 -10
- package/dist/src/data/flowNode.d.ts.map +1 -1
- package/dist/src/data/flowNode.js +66 -13
- package/dist/src/data/flowTestUtils.d.ts +2 -2
- package/dist/src/data/flowTestUtils.d.ts.map +1 -1
- package/dist/src/data/flowTestUtils.js +5 -4
- package/dist/src/data/sources/dataSource.js +2 -2
- package/dist/src/data/sources/lazy/bigBedSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/bigBedSource.js +11 -10
- package/dist/src/data/sources/lazy/bigWigSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/bigWigSource.js +11 -10
- package/dist/src/data/sources/lazy/singleAxisWindowedSource.js +1 -1
- package/dist/src/data/sources/lazy/tabixSource.d.ts +0 -1
- package/dist/src/data/sources/lazy/tabixSource.d.ts.map +1 -1
- package/dist/src/data/sources/lazy/tabixSource.js +41 -11
- package/dist/src/data/sources/sequenceSource.d.ts.map +1 -1
- package/dist/src/data/sources/sequenceSource.js +5 -3
- package/dist/src/data/sources/urlSource.d.ts.map +1 -1
- package/dist/src/data/sources/urlSource.js +7 -3
- package/dist/src/data/transforms/filter.d.ts +4 -4
- package/dist/src/data/transforms/filter.d.ts.map +1 -1
- package/dist/src/data/transforms/filter.js +13 -7
- package/dist/src/data/transforms/filterScoredLabels.d.ts.map +1 -1
- package/dist/src/data/transforms/filterScoredLabels.js +11 -6
- package/dist/src/data/transforms/filterScoredLabels.test.d.ts +2 -0
- package/dist/src/data/transforms/filterScoredLabels.test.d.ts.map +1 -0
- package/dist/src/data/transforms/formula.d.ts +4 -4
- package/dist/src/data/transforms/formula.d.ts.map +1 -1
- package/dist/src/data/transforms/formula.js +12 -6
- package/dist/src/data/transforms/measureText.d.ts +2 -2
- package/dist/src/data/transforms/measureText.d.ts.map +1 -1
- package/dist/src/data/transforms/measureText.js +16 -12
- package/dist/src/data/transforms/transform.d.ts +2 -2
- package/dist/src/data/transforms/transform.d.ts.map +1 -1
- package/dist/src/data/transforms/transform.js +3 -3
- package/dist/src/encoder/accessor.d.ts +8 -4
- package/dist/src/encoder/accessor.d.ts.map +1 -1
- package/dist/src/encoder/accessor.js +10 -10
- package/dist/src/encoder/encoder.js +5 -5
- package/dist/src/genome/genome.d.ts +8 -0
- package/dist/src/genome/genome.d.ts.map +1 -1
- package/dist/src/genome/genome.js +16 -1
- package/dist/src/genomeSpy/inputBindingManager.js +1 -1
- package/dist/src/genomeSpy/interactionController.d.ts.map +1 -1
- package/dist/src/genomeSpy/interactionController.js +7 -1
- package/dist/src/genomeSpy.js +1 -1
- package/dist/src/gl/glslScaleGenerator.js +1 -1
- package/dist/src/marks/mark.d.ts.map +1 -1
- package/dist/src/marks/mark.js +22 -30
- package/dist/src/marks/point.d.ts.map +1 -1
- package/dist/src/marks/point.js +4 -6
- package/dist/src/paramRuntime/expressionCompiler.d.ts +7 -0
- package/dist/src/paramRuntime/expressionCompiler.d.ts.map +1 -0
- package/dist/src/paramRuntime/expressionCompiler.js +10 -0
- package/dist/src/paramRuntime/expressionRef.d.ts +20 -0
- package/dist/src/paramRuntime/expressionRef.d.ts.map +1 -0
- package/dist/src/paramRuntime/expressionRef.js +95 -0
- package/dist/src/paramRuntime/expressionRef.test.d.ts +2 -0
- package/dist/src/paramRuntime/expressionRef.test.d.ts.map +1 -0
- package/dist/src/paramRuntime/graphRuntime.d.ts +176 -0
- package/dist/src/paramRuntime/graphRuntime.d.ts.map +1 -0
- package/dist/src/paramRuntime/graphRuntime.js +628 -0
- package/dist/src/paramRuntime/graphRuntime.test.d.ts +2 -0
- package/dist/src/paramRuntime/graphRuntime.test.d.ts.map +1 -0
- package/dist/src/paramRuntime/index.d.ts +9 -0
- package/dist/src/paramRuntime/index.d.ts.map +1 -0
- package/dist/src/paramRuntime/index.js +8 -0
- package/dist/src/paramRuntime/lifecycleRegistry.d.ts +27 -0
- package/dist/src/paramRuntime/lifecycleRegistry.d.ts.map +1 -0
- package/dist/src/paramRuntime/lifecycleRegistry.js +54 -0
- package/dist/src/paramRuntime/paramRuntime.d.ts +165 -0
- package/dist/src/paramRuntime/paramRuntime.d.ts.map +1 -0
- package/dist/src/paramRuntime/paramRuntime.js +222 -0
- package/dist/src/paramRuntime/paramRuntime.test.d.ts +2 -0
- package/dist/src/paramRuntime/paramRuntime.test.d.ts.map +1 -0
- package/dist/src/paramRuntime/paramStore.d.ts +68 -0
- package/dist/src/paramRuntime/paramStore.d.ts.map +1 -0
- package/dist/src/paramRuntime/paramStore.js +148 -0
- package/dist/src/paramRuntime/paramStore.test.d.ts +2 -0
- package/dist/src/paramRuntime/paramStore.test.d.ts.map +1 -0
- package/dist/src/paramRuntime/paramUtils.d.ts +86 -0
- package/dist/src/paramRuntime/paramUtils.d.ts.map +1 -0
- package/dist/src/paramRuntime/paramUtils.js +272 -0
- package/dist/src/paramRuntime/selectionStore.d.ts +6 -0
- package/dist/src/paramRuntime/selectionStore.d.ts.map +1 -0
- package/dist/src/paramRuntime/selectionStore.js +13 -0
- package/dist/src/paramRuntime/types.d.ts +16 -0
- package/dist/src/paramRuntime/types.d.ts.map +1 -0
- package/dist/src/paramRuntime/types.js +25 -0
- package/dist/src/paramRuntime/viewParamRuntime.d.ts +164 -0
- package/dist/src/paramRuntime/viewParamRuntime.d.ts.map +1 -0
- package/dist/src/paramRuntime/viewParamRuntime.js +443 -0
- package/dist/src/scales/scaleInstanceManager.d.ts +6 -3
- package/dist/src/scales/scaleInstanceManager.d.ts.map +1 -1
- package/dist/src/scales/scaleInstanceManager.js +17 -11
- package/dist/src/scales/scaleResolution.d.ts +1 -0
- package/dist/src/scales/scaleResolution.d.ts.map +1 -1
- package/dist/src/scales/scaleResolution.js +7 -1
- package/dist/src/selection/selection.js +1 -1
- package/dist/src/spec/coreSchemaRoot.d.ts +53 -0
- package/dist/src/spec/root.d.ts +1 -1
- package/dist/src/spec/view.d.ts +114 -33
- package/dist/src/tooltip/dataTooltipHandler.d.ts +1 -1
- package/dist/src/tooltip/dataTooltipHandler.js +23 -32
- package/dist/src/tooltip/dataTooltipHandler.test.d.ts +2 -0
- package/dist/src/tooltip/dataTooltipHandler.test.d.ts.map +1 -0
- package/dist/src/tooltip/flattenDatumRows.d.ts +13 -0
- package/dist/src/tooltip/flattenDatumRows.d.ts.map +1 -0
- package/dist/src/tooltip/flattenDatumRows.js +47 -0
- package/dist/src/tooltip/flattenDatumRows.test.d.ts +2 -0
- package/dist/src/tooltip/flattenDatumRows.test.d.ts.map +1 -0
- package/dist/src/tooltip/refseqGeneTooltipHandler.d.ts +1 -1
- package/dist/src/tooltip/refseqGeneTooltipHandler.js +7 -1
- package/dist/src/tooltip/tooltipContext.d.ts +13 -0
- package/dist/src/tooltip/tooltipContext.d.ts.map +1 -0
- package/dist/src/tooltip/tooltipContext.js +543 -0
- package/dist/src/tooltip/tooltipContext.test.d.ts +2 -0
- package/dist/src/tooltip/tooltipContext.test.d.ts.map +1 -0
- package/dist/src/tooltip/tooltipHandler.d.ts +40 -1
- package/dist/src/tooltip/tooltipHandler.d.ts.map +1 -1
- package/dist/src/tooltip/tooltipHandler.ts +62 -1
- package/dist/src/types/encoder.d.ts +1 -1
- package/dist/src/utils/inputBinding.d.ts +10 -2
- package/dist/src/utils/inputBinding.d.ts.map +1 -1
- package/dist/src/utils/inputBinding.js +12 -3
- package/dist/src/view/flowBuilder.d.ts.map +1 -1
- package/dist/src/view/flowBuilder.js +12 -3
- package/dist/src/view/gridView/gridChild.d.ts.map +1 -1
- package/dist/src/view/gridView/gridChild.js +8 -3
- package/dist/src/view/gridView/selectionRect.d.ts +6 -10
- package/dist/src/view/gridView/selectionRect.d.ts.map +1 -1
- package/dist/src/view/gridView/selectionRect.js +3 -20
- package/dist/src/view/layerView.d.ts.map +1 -1
- package/dist/src/view/layerView.js +4 -2
- package/dist/src/view/multiscale.d.ts +35 -0
- package/dist/src/view/multiscale.d.ts.map +1 -0
- package/dist/src/view/multiscale.js +233 -0
- package/dist/src/view/multiscale.test.d.ts +2 -0
- package/dist/src/view/multiscale.test.d.ts.map +1 -0
- package/dist/src/view/unitView.d.ts.map +1 -1
- package/dist/src/view/unitView.js +10 -4
- package/dist/src/view/view.d.ts +5 -4
- package/dist/src/view/view.d.ts.map +1 -1
- package/dist/src/view/view.js +223 -28
- package/dist/src/view/viewFactory.d.ts +0 -12
- package/dist/src/view/viewFactory.d.ts.map +1 -1
- package/dist/src/view/viewFactory.js +35 -24
- package/dist/src/view/viewParamRuntime.test.d.ts +2 -0
- package/dist/src/view/viewParamRuntime.test.d.ts.map +1 -0
- package/dist/src/view/viewSelectors.d.ts.map +1 -1
- package/dist/src/view/viewSelectors.js +8 -5
- package/package.json +3 -3
- package/dist/src/spec/sampleView.d.ts +0 -197
- package/dist/src/view/paramMediator.d.ts +0 -168
- package/dist/src/view/paramMediator.d.ts.map +0 -1
- package/dist/src/view/paramMediator.js +0 -545
- package/dist/src/view/paramMediator.test.d.ts +0 -2
- package/dist/src/view/paramMediator.test.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataFlow.d.ts","sourceRoot":"","sources":["../../../src/data/dataFlow.js"],"names":[],"mappings":"AAIA;;GAEG;AACH;IAOI;;;;OAIG;IACH,uBAFU,OAAO,uCAAuC,EAAE,OAAO,CAE3C;IAYtB,gCAEC;IAED,qDAEC;IAED;;OAEG;IACH,gCAFW,QAAQ,CAAC,OAAO,yBAAyB,EAAE,OAAO,CAAC,QAI7D;IAED;;OAEG;IACH,0BAFW,OAAO,yBAAyB,EAAE,OAAO,QAInD;IAED;;OAEG;IACH,6BAFW,OAAO,yBAAyB,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"dataFlow.d.ts","sourceRoot":"","sources":["../../../src/data/dataFlow.js"],"names":[],"mappings":"AAIA;;GAEG;AACH;IAOI;;;;OAIG;IACH,uBAFU,OAAO,uCAAuC,EAAE,OAAO,CAE3C;IAYtB,gCAEC;IAED,qDAEC;IAED;;OAEG;IACH,gCAFW,QAAQ,CAAC,OAAO,yBAAyB,EAAE,OAAO,CAAC,QAI7D;IAED;;OAEG;IACH,0BAFW,OAAO,yBAAyB,EAAE,OAAO,QAInD;IAED;;OAEG;IACH,6BAFW,OAAO,yBAAyB,EAAE,OAAO,QAKnD;IAED;;OAEG;IACH,wBAFW,OAAO,gBAAgB,EAAE,OAAO,QAI1C;IAED;;OAEG;IACH,2BAFW,OAAO,gBAAgB,EAAE,OAAO,QAS1C;IAED;;;;OAIG;IACH,gCAFW,OAAO,gBAAgB,EAAE,OAAO,QAsB1C;IAED;;OAEG;IACH,0BAFW,MAAM;;MA2BhB;;CAGJ;uBAzIsB,yBAAyB;wBACxB,0BAA0B"}
|
|
@@ -55,6 +55,7 @@ export default class DataFlow {
|
|
|
55
55
|
* @param {import("./sources/dataSource.js").default} dataSource
|
|
56
56
|
*/
|
|
57
57
|
removeDataSource(dataSource) {
|
|
58
|
+
dataSource.disposeSubtree();
|
|
58
59
|
this.#dataSources.delete(dataSource);
|
|
59
60
|
}
|
|
60
61
|
|
|
@@ -69,6 +70,10 @@ export default class DataFlow {
|
|
|
69
70
|
* @param {import("./collector.js").default} collector
|
|
70
71
|
*/
|
|
71
72
|
removeCollector(collector) {
|
|
73
|
+
if (collector.parent) {
|
|
74
|
+
collector.parent.removeChild(collector);
|
|
75
|
+
}
|
|
76
|
+
collector.disposeSubtree();
|
|
72
77
|
collector.observers.clear();
|
|
73
78
|
this.#collectors.delete(collector);
|
|
74
79
|
}
|
|
@@ -84,13 +89,18 @@ export default class DataFlow {
|
|
|
84
89
|
parent.removeChild(collector);
|
|
85
90
|
}
|
|
86
91
|
|
|
92
|
+
collector.disposeSubtree();
|
|
93
|
+
|
|
87
94
|
while (parent && parent.children.length === 0) {
|
|
88
95
|
const current = parent;
|
|
89
96
|
parent = current.parent;
|
|
90
97
|
if (parent) {
|
|
91
98
|
parent.removeChild(current);
|
|
99
|
+
current.dispose();
|
|
92
100
|
} else if (current instanceof DataSource) {
|
|
93
101
|
this.removeDataSource(current);
|
|
102
|
+
} else {
|
|
103
|
+
current.dispose();
|
|
94
104
|
}
|
|
95
105
|
}
|
|
96
106
|
}
|
|
@@ -24,7 +24,7 @@ export const BEHAVIOR_MODIFIES: number;
|
|
|
24
24
|
*/
|
|
25
25
|
export const BEHAVIOR_COLLECTS: number;
|
|
26
26
|
/**
|
|
27
|
-
* @typedef {{
|
|
27
|
+
* @typedef {{paramRuntime?: import("../paramRuntime/viewParamRuntime.js").default}} ParamRuntimeProvider
|
|
28
28
|
*/
|
|
29
29
|
/**
|
|
30
30
|
* This is heavily inspired by Vega's and Vega-Lite's data flow system.
|
|
@@ -34,20 +34,20 @@ export const BEHAVIOR_COLLECTS: number;
|
|
|
34
34
|
*/
|
|
35
35
|
export default class FlowNode {
|
|
36
36
|
/**
|
|
37
|
-
* @param {
|
|
37
|
+
* @param {ParamRuntimeProvider} [paramRuntimeProvider]
|
|
38
38
|
*/
|
|
39
|
-
constructor(
|
|
39
|
+
constructor(paramRuntimeProvider?: ParamRuntimeProvider);
|
|
40
40
|
stats: {
|
|
41
41
|
count: number;
|
|
42
42
|
/** @type {Datum} */
|
|
43
43
|
first: Datum;
|
|
44
44
|
};
|
|
45
45
|
/**
|
|
46
|
-
* An object that provides a
|
|
46
|
+
* An object that provides a paramRuntime. (Most likely a View)
|
|
47
47
|
*
|
|
48
|
-
* @type {
|
|
48
|
+
* @type {ParamRuntimeProvider}
|
|
49
49
|
*/
|
|
50
|
-
|
|
50
|
+
paramRuntimeProvider: ParamRuntimeProvider;
|
|
51
51
|
get behavior(): number;
|
|
52
52
|
/**
|
|
53
53
|
* A human-readable label for the node. Used for debugging and logging.
|
|
@@ -61,6 +61,7 @@ export default class FlowNode {
|
|
|
61
61
|
parent: FlowNode;
|
|
62
62
|
/** True if all data have been processed */
|
|
63
63
|
completed: boolean;
|
|
64
|
+
get disposed(): boolean;
|
|
64
65
|
/**
|
|
65
66
|
* Resets the node and all its descendants to their initial state, i.e., preparing
|
|
66
67
|
* for a new batch of data.
|
|
@@ -137,6 +138,20 @@ export default class FlowNode {
|
|
|
137
138
|
*/
|
|
138
139
|
handle(datum: Datum): void;
|
|
139
140
|
complete(): void;
|
|
141
|
+
/**
|
|
142
|
+
* Register a disposer to be executed when this node is disposed.
|
|
143
|
+
*
|
|
144
|
+
* @param {() => void} disposer
|
|
145
|
+
*/
|
|
146
|
+
registerDisposer(disposer: () => void): void;
|
|
147
|
+
/**
|
|
148
|
+
* Release resources owned by this flow node.
|
|
149
|
+
*/
|
|
150
|
+
dispose(): void;
|
|
151
|
+
/**
|
|
152
|
+
* Dispose this flow node and all descendants in post-order.
|
|
153
|
+
*/
|
|
154
|
+
disposeSubtree(): void;
|
|
140
155
|
/**
|
|
141
156
|
* Signals that a new batch of data will be propagated.
|
|
142
157
|
*
|
|
@@ -144,10 +159,10 @@ export default class FlowNode {
|
|
|
144
159
|
*/
|
|
145
160
|
beginBatch(flowBatch: import("../types/flowBatch.js").FlowBatch): void;
|
|
146
161
|
/**
|
|
147
|
-
* @returns {import("../
|
|
162
|
+
* @returns {import("../paramRuntime/viewParamRuntime.js").default}
|
|
148
163
|
* @protected
|
|
149
164
|
*/
|
|
150
|
-
protected get
|
|
165
|
+
protected get paramRuntime(): import("../paramRuntime/viewParamRuntime.js").default;
|
|
151
166
|
/**
|
|
152
167
|
* Repropagates the stored data. If this node has no stored data,
|
|
153
168
|
* find the nearest ancestor that has and repropagate from there.
|
|
@@ -156,8 +171,8 @@ export default class FlowNode {
|
|
|
156
171
|
protected repropagate(): void;
|
|
157
172
|
#private;
|
|
158
173
|
}
|
|
159
|
-
export type
|
|
160
|
-
|
|
174
|
+
export type ParamRuntimeProvider = {
|
|
175
|
+
paramRuntime?: import("../paramRuntime/viewParamRuntime.js").default;
|
|
161
176
|
};
|
|
162
177
|
/**
|
|
163
178
|
* This is heavily inspired by Vega's and Vega-Lite's data flow system.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowNode.d.ts","sourceRoot":"","sources":["../../../src/data/flowNode.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"flowNode.d.ts","sourceRoot":"","sources":["../../../src/data/flowNode.js"],"names":[],"mappings":"AA8YA;;;GAGG;AACH,uCAHW,OAAO,uBAAuB,EAAE,SAAS,GACvC,SAAS,IAAI,OAAO,uBAAuB,EAAE,SAAS,CAIlE;AAED;;;GAGG;AACH,wCAHW,OAAO,uBAAuB,EAAE,SAAS,GACvC,SAAS,IAAI,OAAO,uBAAuB,EAAE,UAAU,CAInE;AA1ZD;;;GAGG;AACH,qCAAsC;AAEtC;;;GAGG;AACH,uCAAwC;AAExC;;;GAGG;AACH,uCAAwC;AAExC;;GAEG;AAEH;;;;;GAKG;AACH;IAoCI;;OAEG;IACH,mCAFW,oBAAoB,EAa9B;IAjDD;;QAEI,oBAAoB;eAAT,KAAK;MAElB;IAWF;;;;OAIG;IACH,sBAFU,oBAAoB,CAEF;IAE5B,uBAEC;IAED;;;;OAIG;IACH,aAFa,MAAM,CAIlB;IAQG,yBAAyB;IACzB,UADW,QAAQ,EAAE,CACH;IAElB,uBAAuB;IACvB,QADW,QAAQ,CACI;IAEvB,2CAA2C;IAC3C,mBAAsB;IAG1B,wBAEC;IAED;;;OAGG;IACH,cASC;IAED;;;;;;OAMG;IACH,mBAEC;IAED;;;OAGG;IACH,uBAMC;IA2QD;;;OAGG;IACH,4BAHW,KAAK,QAKf;IAxPD;;;OAGG;IACH,kBAFW,QAAQ,QAIlB;IAED;;;OAGG;IACH,gBAFW,QAAQ,QAUlB;IAED;;OAEG;IACH,YAFW,QAAQ,QAQlB;IAED;;OAEG;IACH,6BAFW,QAAQ,QAMlB;IAED;;OAEG;IACH,0BAFW,QAAQ,QAalB;IAED;;;OAGG;IACH,mBAFW,QAAQ,QAWlB;IAED;;OAEG;IACH,eAiBC;IAED,kBAEC;IAED,uBAEC;IAED,sBAEC;IAED;;;;OAIG;IACH,eAFW,CAAC,CAAS,IAAQ,EAAR,QAAQ,KAAE,IAAI,CAAC,GAAG;QAAE,aAAa,CAAC,EAAE,CAAS,IAAQ,EAAR,QAAQ,KAAE,IAAI,CAAA;KAAC,QAchF;IAED;;;OAGG;IACH,wBAHW,MAAM,GACJ,MAAM,CAWlB;IAED;;;OAGG;IACH,cAFW,KAAK,QAKf;IAED,iBAMC;IAED;;;;OAIG;IACH,2BAFW,MAAM,IAAI,QAQpB;IAED;;OAEG;IACH,gBAWC;IAED;;OAEG;IACH,uBAOC;IAED;;;;OAIG;IACH,sBAFW,OAAO,uBAAuB,EAAE,SAAS,QAMnD;IAED;;;OAGG;IACH,8BAHa,OAAO,qCAAqC,EAAE,OAAO,CAcjE;IAED;;;;OAIG;IACH,8BAQC;;CASJ;mCAvXY;IAAC,YAAY,CAAC,EAAE,OAAO,qCAAqC,EAAE,OAAO,CAAA;CAAC;;;;oBAMtE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;;mBACnB,KAAK,EAAE"}
|
|
@@ -19,7 +19,7 @@ export const BEHAVIOR_MODIFIES = 1 << 1;
|
|
|
19
19
|
export const BEHAVIOR_COLLECTS = 1 << 2;
|
|
20
20
|
|
|
21
21
|
/**
|
|
22
|
-
* @typedef {{
|
|
22
|
+
* @typedef {{paramRuntime?: import("../paramRuntime/viewParamRuntime.js").default}} ParamRuntimeProvider
|
|
23
23
|
*/
|
|
24
24
|
|
|
25
25
|
/**
|
|
@@ -38,12 +38,18 @@ export default class FlowNode {
|
|
|
38
38
|
/** @type {boolean} */
|
|
39
39
|
#initialized = false;
|
|
40
40
|
|
|
41
|
+
/** @type {boolean} */
|
|
42
|
+
#disposed = false;
|
|
43
|
+
|
|
44
|
+
/** @type {(() => void)[]} */
|
|
45
|
+
#disposers = [];
|
|
46
|
+
|
|
41
47
|
/**
|
|
42
|
-
* An object that provides a
|
|
48
|
+
* An object that provides a paramRuntime. (Most likely a View)
|
|
43
49
|
*
|
|
44
|
-
* @type {
|
|
50
|
+
* @type {ParamRuntimeProvider}
|
|
45
51
|
*/
|
|
46
|
-
|
|
52
|
+
paramRuntimeProvider = null;
|
|
47
53
|
|
|
48
54
|
get behavior() {
|
|
49
55
|
return 0;
|
|
@@ -59,10 +65,10 @@ export default class FlowNode {
|
|
|
59
65
|
}
|
|
60
66
|
|
|
61
67
|
/**
|
|
62
|
-
* @param {
|
|
68
|
+
* @param {ParamRuntimeProvider} [paramRuntimeProvider]
|
|
63
69
|
*/
|
|
64
|
-
constructor(
|
|
65
|
-
this.
|
|
70
|
+
constructor(paramRuntimeProvider) {
|
|
71
|
+
this.paramRuntimeProvider = paramRuntimeProvider;
|
|
66
72
|
|
|
67
73
|
/** @type {FlowNode[]} */
|
|
68
74
|
this.children = [];
|
|
@@ -74,6 +80,10 @@ export default class FlowNode {
|
|
|
74
80
|
this.completed = false;
|
|
75
81
|
}
|
|
76
82
|
|
|
83
|
+
get disposed() {
|
|
84
|
+
return this.#disposed;
|
|
85
|
+
}
|
|
86
|
+
|
|
77
87
|
/**
|
|
78
88
|
* Resets the node and all its descendants to their initial state, i.e., preparing
|
|
79
89
|
* for a new batch of data.
|
|
@@ -293,6 +303,47 @@ export default class FlowNode {
|
|
|
293
303
|
}
|
|
294
304
|
}
|
|
295
305
|
|
|
306
|
+
/**
|
|
307
|
+
* Register a disposer to be executed when this node is disposed.
|
|
308
|
+
*
|
|
309
|
+
* @param {() => void} disposer
|
|
310
|
+
*/
|
|
311
|
+
registerDisposer(disposer) {
|
|
312
|
+
if (this.#disposed) {
|
|
313
|
+
disposer();
|
|
314
|
+
} else {
|
|
315
|
+
this.#disposers.push(disposer);
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* Release resources owned by this flow node.
|
|
321
|
+
*/
|
|
322
|
+
dispose() {
|
|
323
|
+
if (this.#disposed) {
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
this.#disposed = true;
|
|
328
|
+
|
|
329
|
+
for (const disposer of this.#disposers) {
|
|
330
|
+
disposer();
|
|
331
|
+
}
|
|
332
|
+
this.#disposers.length = 0;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
/**
|
|
336
|
+
* Dispose this flow node and all descendants in post-order.
|
|
337
|
+
*/
|
|
338
|
+
disposeSubtree() {
|
|
339
|
+
/** @type {(function(FlowNode): void) & { afterChildren?: (node: FlowNode) => void }} */
|
|
340
|
+
const visitor = () => undefined;
|
|
341
|
+
visitor.afterChildren = (node) => {
|
|
342
|
+
node.dispose();
|
|
343
|
+
};
|
|
344
|
+
this.visit(visitor);
|
|
345
|
+
}
|
|
346
|
+
|
|
296
347
|
/**
|
|
297
348
|
* Signals that a new batch of data will be propagated.
|
|
298
349
|
*
|
|
@@ -305,18 +356,20 @@ export default class FlowNode {
|
|
|
305
356
|
}
|
|
306
357
|
|
|
307
358
|
/**
|
|
308
|
-
* @returns {import("../
|
|
359
|
+
* @returns {import("../paramRuntime/viewParamRuntime.js").default}
|
|
309
360
|
* @protected
|
|
310
361
|
*/
|
|
311
|
-
get
|
|
312
|
-
if (this.
|
|
313
|
-
|
|
362
|
+
get paramRuntime() {
|
|
363
|
+
if (this.paramRuntimeProvider) {
|
|
364
|
+
if (this.paramRuntimeProvider.paramRuntime) {
|
|
365
|
+
return this.paramRuntimeProvider.paramRuntime;
|
|
366
|
+
}
|
|
314
367
|
}
|
|
315
368
|
|
|
316
369
|
if (!this.parent) {
|
|
317
|
-
throw new Error("Cannot find
|
|
370
|
+
throw new Error("Cannot find paramRuntime!");
|
|
318
371
|
}
|
|
319
|
-
return this.parent.
|
|
372
|
+
return this.parent.paramRuntime;
|
|
320
373
|
}
|
|
321
374
|
|
|
322
375
|
/**
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
*
|
|
3
|
-
* @returns {import("./flowNode.js").
|
|
3
|
+
* @returns {import("./flowNode.js").ParamRuntimeProvider}
|
|
4
4
|
*/
|
|
5
|
-
export function
|
|
5
|
+
export function makeParamRuntimeProvider(): import("./flowNode.js").ParamRuntimeProvider;
|
|
6
6
|
/**
|
|
7
7
|
*
|
|
8
8
|
* @param {import("./flowNode.js").default} flowNode
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flowTestUtils.d.ts","sourceRoot":"","sources":["../../../src/data/flowTestUtils.js"],"names":[],"mappings":"AAIA;;;GAGG;AACH,
|
|
1
|
+
{"version":3,"file":"flowTestUtils.d.ts","sourceRoot":"","sources":["../../../src/data/flowTestUtils.js"],"names":[],"mappings":"AAIA;;;GAGG;AACH,4CAFa,OAAO,eAAe,EAAE,oBAAoB,CAOxD;AAED;;;;GAIG;AACH,sCAHW,OAAO,eAAe,EAAE,OAAO,QAC/B,GAAG,EAAE,mCAcf;AAED;;GAEG;AACH;IACI;;;OAGG;IACH,kBAFW,GAAG,EAAE,EAKf;IADG,YAAgB;IAGpB,iBAMC;CACJ;AAED;;GAEG;AACH;IACI;;;OAGG;IACH,eAFW,MAAM,EAWhB;CACJ;qBAxEoB,eAAe"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import
|
|
1
|
+
import ViewParamRuntime from "../paramRuntime/viewParamRuntime.js";
|
|
2
2
|
import Collector from "./collector.js";
|
|
3
3
|
import FlowNode from "./flowNode.js";
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
6
|
*
|
|
7
|
-
* @returns {import("./flowNode.js").
|
|
7
|
+
* @returns {import("./flowNode.js").ParamRuntimeProvider}
|
|
8
8
|
*/
|
|
9
|
-
export function
|
|
9
|
+
export function makeParamRuntimeProvider() {
|
|
10
|
+
const runtime = new ViewParamRuntime();
|
|
10
11
|
return {
|
|
11
|
-
|
|
12
|
+
paramRuntime: runtime,
|
|
12
13
|
};
|
|
13
14
|
}
|
|
14
15
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bigBedSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/lazy/bigBedSource.js"],"names":[],"mappings":"AAOA;IAUI;;;OAGG;IACH,oBAHW,OAAO,uBAAuB,EAAE,UAAU,QAC1C,OAAO,uBAAuB,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"bigBedSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/lazy/bigBedSource.js"],"names":[],"mappings":"AAOA;IAUI;;;OAGG;IACH,oBAHW,OAAO,uBAAuB,EAAE,UAAU,QAC1C,OAAO,uBAAuB,EAAE,OAAO,EAoCjD;IA/CD,0CAA0C;IAC1C,QADW,OAAO,WAAW,EAAE,OAAO,CAC/B;IAEP,yCAAyC;IACzC,KADW,OAAO,WAAW,EAAE,MAAM,CACjC;IAEJ,4GAA4G;IAC5G,WADW,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAC9F;IAmBN,mDAYC;;CAwFR;qCAjIoC,+BAA+B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
activateExprRefProps,
|
|
3
3
|
withoutExprRef,
|
|
4
|
-
} from "../../../
|
|
4
|
+
} from "../../../paramRuntime/paramUtils.js";
|
|
5
5
|
import addBaseUrl from "../../../utils/addBaseUrl.js";
|
|
6
6
|
import SingleAxisWindowedSource from "./singleAxisWindowedSource.js";
|
|
7
7
|
|
|
@@ -29,22 +29,23 @@ export default class BigBedSource extends SingleAxisWindowedSource {
|
|
|
29
29
|
...params,
|
|
30
30
|
};
|
|
31
31
|
|
|
32
|
-
const
|
|
33
|
-
|
|
32
|
+
const channel = withoutExprRef(paramsWithDefaults.channel);
|
|
33
|
+
super(view, channel);
|
|
34
|
+
|
|
35
|
+
this.params = activateExprRefProps(
|
|
36
|
+
view.paramRuntime,
|
|
34
37
|
paramsWithDefaults,
|
|
35
38
|
(props) => {
|
|
36
|
-
if (props.
|
|
39
|
+
if (props.has("url")) {
|
|
37
40
|
this.#initialize().then(() => this.reloadLastDomain());
|
|
38
|
-
} else if (props.
|
|
41
|
+
} else if (props.has("windowSize")) {
|
|
39
42
|
this.reloadLastDomain();
|
|
40
43
|
}
|
|
41
|
-
}
|
|
44
|
+
},
|
|
45
|
+
(disposer) => this.registerDisposer(disposer),
|
|
46
|
+
{ batchMode: "whenPropagated" }
|
|
42
47
|
);
|
|
43
48
|
|
|
44
|
-
super(view, activatedParams.channel);
|
|
45
|
-
|
|
46
|
-
this.params = activatedParams;
|
|
47
|
-
|
|
48
49
|
if (!this.params.url) {
|
|
49
50
|
throw new Error("No URL provided for BigBedSource");
|
|
50
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bigWigSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/lazy/bigWigSource.js"],"names":[],"mappings":"AAOA;;GAEG;AACH;IAOI;;;OAGG;IACH,oBAHW,OAAO,uBAAuB,EAAE,UAAU,QAC1C,OAAO,uBAAuB,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"bigWigSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/lazy/bigWigSource.js"],"names":[],"mappings":"AAOA;;GAEG;AACH;IAOI;;;OAGG;IACH,oBAHW,OAAO,uBAAuB,EAAE,UAAU,QAC1C,OAAO,uBAAuB,EAAE,OAAO,EAoCjD;IArBG,mDAYC;IA+DL;;;;OAIG;IACH,wBAFW,MAAM,EAAE,iBAqBlB;IAED;;;OAGG;IAEH,uBAJW,MAAM,EAAE,kBACR,MAAM,iBA2BhB;;CACJ;qCAhKoC,+BAA+B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
activateExprRefProps,
|
|
3
3
|
withoutExprRef,
|
|
4
|
-
} from "../../../
|
|
4
|
+
} from "../../../paramRuntime/paramUtils.js";
|
|
5
5
|
import addBaseUrl from "../../../utils/addBaseUrl.js";
|
|
6
6
|
import SingleAxisWindowedSource from "./singleAxisWindowedSource.js";
|
|
7
7
|
|
|
@@ -29,22 +29,23 @@ export default class BigWigSource extends SingleAxisWindowedSource {
|
|
|
29
29
|
...params,
|
|
30
30
|
};
|
|
31
31
|
|
|
32
|
-
const
|
|
33
|
-
|
|
32
|
+
const channel = withoutExprRef(paramsWithDefaults.channel);
|
|
33
|
+
super(view, channel);
|
|
34
|
+
|
|
35
|
+
this.params = activateExprRefProps(
|
|
36
|
+
view.paramRuntime,
|
|
34
37
|
paramsWithDefaults,
|
|
35
38
|
(props) => {
|
|
36
|
-
if (props.
|
|
39
|
+
if (props.has("url")) {
|
|
37
40
|
this.#initialize().then(() => this.reloadLastDomain());
|
|
38
|
-
} else if (props.
|
|
41
|
+
} else if (props.has("pixelsPerBin")) {
|
|
39
42
|
this.reloadLastDomain();
|
|
40
43
|
}
|
|
41
|
-
}
|
|
44
|
+
},
|
|
45
|
+
(disposer) => this.registerDisposer(disposer),
|
|
46
|
+
{ batchMode: "whenPropagated" }
|
|
42
47
|
);
|
|
43
48
|
|
|
44
|
-
super(view, activatedParams.channel);
|
|
45
|
-
|
|
46
|
-
this.params = activatedParams;
|
|
47
|
-
|
|
48
49
|
if (!this.params.url) {
|
|
49
50
|
throw new Error("No URL provided for BigWigSource");
|
|
50
51
|
}
|
|
@@ -9,7 +9,6 @@ export default class TabixSource<T> extends SingleAxisWindowedSource {
|
|
|
9
9
|
*/
|
|
10
10
|
constructor(params: import("../../../spec/data.js").TabixData, view: import("../../../view/view.js").default);
|
|
11
11
|
params: import("../../../spec/data.js").TabixData;
|
|
12
|
-
initializedPromise: Promise<any>;
|
|
13
12
|
/**
|
|
14
13
|
* @param {string} header
|
|
15
14
|
* @protected
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabixSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/lazy/tabixSource.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tabixSource.d.ts","sourceRoot":"","sources":["../../../../../src/data/sources/lazy/tabixSource.js"],"names":[],"mappings":"AAOA;;;GAGG;AACH,iCAHa,CAAC;IAOV;;;OAGG;IACH,oBAHW,OAAO,uBAAuB,EAAE,SAAS,QACzC,OAAO,uBAAuB,EAAE,OAAO,EAyCjD;IAzBG,kDAgBC;IA0FL;;;OAGG;IACH,gCAHW,MAAM,iBAKhB;IAED;;;;;OAKG;IACH,gCAHW,MAAM,EAAE,GACN,CAAC,EAAE,CAKf;;CACJ;qCAxJoC,+BAA+B"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
import {
|
|
2
|
+
activateExprRefProps,
|
|
3
|
+
withoutExprRef,
|
|
4
|
+
} from "../../../paramRuntime/paramUtils.js";
|
|
1
5
|
import addBaseUrl from "../../../utils/addBaseUrl.js";
|
|
2
6
|
import SingleAxisWindowedSource from "./singleAxisWindowedSource.js";
|
|
3
7
|
|
|
@@ -24,16 +28,37 @@ export default class TabixSource extends SingleAxisWindowedSource {
|
|
|
24
28
|
...params,
|
|
25
29
|
};
|
|
26
30
|
|
|
27
|
-
|
|
31
|
+
const channel = withoutExprRef(paramsWithDefaults.channel);
|
|
32
|
+
super(view, channel);
|
|
28
33
|
|
|
29
|
-
this.params =
|
|
34
|
+
this.params = activateExprRefProps(
|
|
35
|
+
view.paramRuntime,
|
|
36
|
+
paramsWithDefaults,
|
|
37
|
+
(props) => {
|
|
38
|
+
if (
|
|
39
|
+
props.has("url") ||
|
|
40
|
+
props.has("indexUrl") ||
|
|
41
|
+
props.has("addChrPrefix")
|
|
42
|
+
) {
|
|
43
|
+
this.#initialize().then(() => this.reloadLastDomain());
|
|
44
|
+
} else if (props.has("windowSize")) {
|
|
45
|
+
this.reloadLastDomain();
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
(disposer) => this.registerDisposer(disposer),
|
|
49
|
+
{ batchMode: "whenPropagated" }
|
|
50
|
+
);
|
|
30
51
|
|
|
31
|
-
if (!this.params.url) {
|
|
52
|
+
if (!withoutExprRef(this.params.url)) {
|
|
32
53
|
throw new Error("No URL provided for TabixSource");
|
|
33
54
|
}
|
|
34
55
|
|
|
35
56
|
this.setupDebouncing(this.params);
|
|
36
57
|
|
|
58
|
+
this.#initialize();
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
#initialize() {
|
|
37
62
|
this.initializedPromise = new Promise((resolve, reject) => {
|
|
38
63
|
Promise.all([
|
|
39
64
|
import("@gmod/tabix"),
|
|
@@ -42,16 +67,19 @@ export default class TabixSource extends SingleAxisWindowedSource {
|
|
|
42
67
|
const withBase = (/** @type {string} */ uri) =>
|
|
43
68
|
new RemoteFile(addBaseUrl(uri, this.view.getBaseUrl()));
|
|
44
69
|
|
|
70
|
+
const url = withoutExprRef(this.params.url);
|
|
71
|
+
const indexUrl =
|
|
72
|
+
withoutExprRef(this.params.indexUrl) ?? url + ".tbi";
|
|
73
|
+
const addChrPrefix = withoutExprRef(this.params.addChrPrefix);
|
|
74
|
+
|
|
45
75
|
this.#tbiIndex = new TabixIndexedFile({
|
|
46
|
-
filehandle: withBase(
|
|
47
|
-
tbiFilehandle: withBase(
|
|
48
|
-
this.params.indexUrl ?? this.params.url + ".tbi"
|
|
49
|
-
),
|
|
76
|
+
filehandle: withBase(url),
|
|
77
|
+
tbiFilehandle: withBase(indexUrl),
|
|
50
78
|
renameRefSeqs:
|
|
51
|
-
|
|
79
|
+
addChrPrefix === true
|
|
52
80
|
? (refSeq) => "chr" + refSeq
|
|
53
|
-
:
|
|
54
|
-
? (refSeq) =>
|
|
81
|
+
: addChrPrefix
|
|
82
|
+
? (refSeq) => addChrPrefix + refSeq
|
|
55
83
|
: undefined,
|
|
56
84
|
});
|
|
57
85
|
|
|
@@ -65,12 +93,14 @@ export default class TabixSource extends SingleAxisWindowedSource {
|
|
|
65
93
|
this.load();
|
|
66
94
|
this.setLoadingStatus(
|
|
67
95
|
"error",
|
|
68
|
-
`${this.params.url}: ${e.message}`
|
|
96
|
+
`${withoutExprRef(this.params.url)}: ${e.message}`
|
|
69
97
|
);
|
|
70
98
|
reject(e);
|
|
71
99
|
}
|
|
72
100
|
});
|
|
73
101
|
});
|
|
102
|
+
|
|
103
|
+
return this.initializedPromise;
|
|
74
104
|
}
|
|
75
105
|
|
|
76
106
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequenceSource.d.ts","sourceRoot":"","sources":["../../../../src/data/sources/sequenceSource.js"],"names":[],"mappings":"AAMA;;;GAGG;AACH,0CAHW,OAAO,CAAC,OAAO,oBAAoB,EAAE,IAAI,CAAC,GACxC,IAAI,IAAI,OAAO,oBAAoB,EAAE,iBAAiB,CAIlE;AAED;IACI;;;;OAIG;IACH,oBAHW,OAAO,oBAAoB,EAAE,iBAAiB,QAC9C,OAAO,oBAAoB,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"sequenceSource.d.ts","sourceRoot":"","sources":["../../../../src/data/sources/sequenceSource.js"],"names":[],"mappings":"AAMA;;;GAGG;AACH,0CAHW,OAAO,CAAC,OAAO,oBAAoB,EAAE,IAAI,CAAC,GACxC,IAAI,IAAI,OAAO,oBAAoB,EAAE,iBAAiB,CAIlE;AAED;IACI;;;;OAIG;IACH,oBAHW,OAAO,oBAAoB,EAAE,iBAAiB,QAC9C,OAAO,oBAAoB,EAAE,OAAO,EAmB9C;IAdG,sDAMC;IAcL,0BAcC;CAKJ;uBA1DsB,iBAAiB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
activateExprRefProps,
|
|
3
3
|
withoutExprRef,
|
|
4
|
-
} from "../../
|
|
4
|
+
} from "../../paramRuntime/paramUtils.js";
|
|
5
5
|
import DataSource from "./dataSource.js";
|
|
6
6
|
|
|
7
7
|
/**
|
|
@@ -22,9 +22,11 @@ export default class SequenceSource extends DataSource {
|
|
|
22
22
|
super(view);
|
|
23
23
|
|
|
24
24
|
this.sequence = activateExprRefProps(
|
|
25
|
-
view.
|
|
25
|
+
view.paramRuntime,
|
|
26
26
|
params.sequence,
|
|
27
|
-
() => this.loadSynchronously()
|
|
27
|
+
() => this.loadSynchronously(),
|
|
28
|
+
(disposer) => this.registerDisposer(disposer),
|
|
29
|
+
{ batchMode: "whenPropagated" }
|
|
28
30
|
);
|
|
29
31
|
|
|
30
32
|
if (!("start" in this.sequence)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"urlSource.d.ts","sourceRoot":"","sources":["../../../../src/data/sources/urlSource.js"],"names":[],"mappings":"AASA;;;GAGG;AACH,gCAHW,OAAO,CAAC,OAAO,oBAAoB,EAAE,IAAI,CAAC,GACxC,IAAI,IAAI,OAAO,oBAAoB,EAAE,OAAO,CAIxD;AAED;IACI;;;OAGG;IACH,oBAHW,OAAO,oBAAoB,EAAE,OAAO,QACpC,OAAO,oBAAoB,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"urlSource.d.ts","sourceRoot":"","sources":["../../../../src/data/sources/urlSource.js"],"names":[],"mappings":"AASA;;;GAGG;AACH,gCAHW,OAAO,CAAC,OAAO,oBAAoB,EAAE,IAAI,CAAC,GACxC,IAAI,IAAI,OAAO,oBAAoB,EAAE,OAAO,CAIxD;AAED;IACI;;;OAGG;IACH,oBAHW,OAAO,oBAAoB,EAAE,OAAO,QACpC,OAAO,oBAAoB,EAAE,OAAO,EAc9C;IATG,6CAMC;IAED,gBAAiC;;CAuGxC;uBAtIsB,iBAAiB"}
|
|
@@ -4,7 +4,7 @@ import DataSource from "./dataSource.js";
|
|
|
4
4
|
import {
|
|
5
5
|
activateExprRefProps,
|
|
6
6
|
withoutExprRef,
|
|
7
|
-
} from "../../
|
|
7
|
+
} from "../../paramRuntime/paramUtils.js";
|
|
8
8
|
import { concatUrl } from "../../utils/url.js";
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -23,8 +23,12 @@ export default class UrlSource extends DataSource {
|
|
|
23
23
|
constructor(params, view) {
|
|
24
24
|
super(view);
|
|
25
25
|
|
|
26
|
-
this.params = activateExprRefProps(
|
|
27
|
-
|
|
26
|
+
this.params = activateExprRefProps(
|
|
27
|
+
view.paramRuntime,
|
|
28
|
+
params,
|
|
29
|
+
() => this.load(),
|
|
30
|
+
(disposer) => this.registerDisposer(disposer),
|
|
31
|
+
{ batchMode: "whenPropagated" }
|
|
28
32
|
);
|
|
29
33
|
|
|
30
34
|
this.baseUrl = view?.getBaseUrl();
|
|
@@ -12,12 +12,12 @@ export default class FilterTransform extends Transform {
|
|
|
12
12
|
/**
|
|
13
13
|
*
|
|
14
14
|
* @param {import("../../spec/transform.js").FilterParams} params
|
|
15
|
-
* @param {import("../flowNode.js").
|
|
15
|
+
* @param {import("../flowNode.js").ParamRuntimeProvider} paramRuntimeProvider
|
|
16
16
|
*/
|
|
17
|
-
constructor(params: import("../../spec/transform.js").FilterParams,
|
|
17
|
+
constructor(params: import("../../spec/transform.js").FilterParams, paramRuntimeProvider: import("../flowNode.js").ParamRuntimeProvider);
|
|
18
18
|
params: import("../../spec/transform.js").FilterParams;
|
|
19
|
-
/** @type {import("../../
|
|
20
|
-
predicate: import("../../
|
|
19
|
+
/** @type {import("../../paramRuntime/types.js").ExprRefFunction} */
|
|
20
|
+
predicate: import("../../paramRuntime/types.js").ExprRefFunction;
|
|
21
21
|
}
|
|
22
22
|
import Transform from "./transform.js";
|
|
23
23
|
//# sourceMappingURL=filter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/filter.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../../src/data/transforms/filter.js"],"names":[],"mappings":"AA0DA;;;GAGG;AACH,2CAHW,OAAO,yBAAyB,EAAE,YAAY,GAC5C,MAAM,IAAI,OAAO,yBAAyB,EAAE,gBAAgB,CAIxE;AAED;;;GAGG;AACH,gDAHW,OAAO,yBAAyB,EAAE,YAAY,GAC5C,MAAM,IAAI,OAAO,yBAAyB,EAAE,qBAAqB,CAI7E;AArED;IACI;;;;OAIG;IACH,oBAHW,OAAO,yBAAyB,EAAE,YAAY,wBAC9C,OAAO,gBAAgB,EAAE,oBAAoB,EASvD;IAJG,uDAAoB;IAEpB,oEAAoE;IACpE,WADW,OAAO,6BAA6B,EAAE,eAAe,CACtC;CAyCjC;sBAvDqB,gBAAgB"}
|