@milaboratories/miplots4 1.0.127 → 1.0.129
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/heatmap/ChartRenderer.d.ts.map +1 -1
- package/dist/heatmap/ChartRenderer.js +251 -233
- package/dist/heatmap/ChartRenderer.js.map +1 -1
- package/dist/heatmap/components/Captions/GroupCaptions.d.ts.map +1 -1
- package/dist/heatmap/components/Captions/GroupCaptions.js +45 -36
- package/dist/heatmap/components/Captions/GroupCaptions.js.map +1 -1
- package/dist/heatmap/components/Chart.d.ts.map +1 -1
- package/dist/heatmap/components/Chart.js +71 -69
- package/dist/heatmap/components/Chart.js.map +1 -1
- package/dist/heatmap/components/Dendrograms.d.ts +3 -1
- package/dist/heatmap/components/Dendrograms.d.ts.map +1 -1
- package/dist/heatmap/components/Dendrograms.js +54 -48
- package/dist/heatmap/components/Dendrograms.js.map +1 -1
- package/dist/heatmap/components/types.d.ts +2 -2
- package/dist/heatmap/components/types.d.ts.map +1 -1
- package/dist/heatmap/getDendrograms.d.ts +2 -2
- package/dist/heatmap/getDendrograms.d.ts.map +1 -1
- package/dist/heatmap/getDendrograms.js +36 -36
- package/dist/heatmap/getDendrograms.js.map +1 -1
- package/dist/heatmap/utils/calculateCaptionTails.d.ts +2 -2
- package/dist/heatmap/utils/calculateCaptionTails.d.ts.map +1 -1
- package/dist/heatmap/utils/calculateCaptionTails.js +89 -54
- package/dist/heatmap/utils/calculateCaptionTails.js.map +1 -1
- package/dist/heatmap/utils/calculateChartSideElementSizes.js +19 -19
- package/dist/heatmap/utils/calculateChartSideElementSizes.js.map +1 -1
- package/dist/scatterplot/ChartRenderer.d.ts.map +1 -1
- package/dist/scatterplot/ChartRenderer.js +191 -178
- package/dist/scatterplot/ChartRenderer.js.map +1 -1
- package/dist/scatterplot/components/ChartsGroup.js +3 -3
- package/dist/scatterplot/components/ChartsGroup.js.map +1 -1
- package/dist/scatterplot-umap/ChartRenderer.d.ts +3 -9
- package/dist/scatterplot-umap/ChartRenderer.d.ts.map +1 -1
- package/dist/scatterplot-umap/ChartRenderer.js +183 -186
- package/dist/scatterplot-umap/ChartRenderer.js.map +1 -1
- package/dist/scatterplot-umap/components/Lasso.d.ts.map +1 -1
- package/dist/scatterplot-umap/components/Lasso.js +141 -117
- package/dist/scatterplot-umap/components/Lasso.js.map +1 -1
- package/dist/scatterplot-umap/components/LowerSVG.d.ts +1 -5
- package/dist/scatterplot-umap/components/LowerSVG.d.ts.map +1 -1
- package/dist/scatterplot-umap/components/LowerSVG.js +59 -60
- package/dist/scatterplot-umap/components/LowerSVG.js.map +1 -1
- package/dist/scatterplot-umap/components/SVGLayer.d.ts +1 -1
- package/dist/scatterplot-umap/components/SVGLayer.d.ts.map +1 -1
- package/dist/scatterplot-umap/components/SVGLayer.js +29 -31
- package/dist/scatterplot-umap/components/SVGLayer.js.map +1 -1
- package/dist/scatterplot-umap/index.d.ts +0 -4
- package/dist/scatterplot-umap/index.d.ts.map +1 -1
- package/dist/scatterplot-umap/index.js +92 -97
- package/dist/scatterplot-umap/index.js.map +1 -1
- package/dist/scatterplot-umap/types.d.ts +0 -4
- package/dist/scatterplot-umap/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -3,8 +3,8 @@ import { GroupedCellsData } from './getCells';
|
|
|
3
3
|
import { HeatmapSettingsImpl } from './HeatmapSettingsImpl';
|
|
4
4
|
import { HierarchyNode } from 'd3-hierarchy';
|
|
5
5
|
export type DendrogramsData = Record<string, {
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
hierarchyByGroupX: Record<string, HierarchyNode<Cluster>>;
|
|
7
|
+
hierarchyByGroupY: Record<string, HierarchyNode<Cluster>>;
|
|
8
8
|
}>;
|
|
9
9
|
export declare function getDendrograms(groupedCellsData: GroupedCellsData, dendrogramX: HeatmapSettingsImpl['dendrogramX'], dendrogramY: HeatmapSettingsImpl['dendrogramY'], facetSettings: HeatmapSettingsImpl['facetSettings']): DendrogramsData;
|
|
10
10
|
//# sourceMappingURL=getDendrograms.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDendrograms.d.ts","sourceRoot":"","sources":["../../src/heatmap/getDendrograms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAE/D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,cAAc,CAAC;AAGhD,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE;IACzC,
|
|
1
|
+
{"version":3,"file":"getDendrograms.d.ts","sourceRoot":"","sources":["../../src/heatmap/getDendrograms.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,uBAAuB,CAAC;AAE/D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,cAAc,CAAC;AAGhD,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE;IACzC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;IAC1D,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;CAC7D,CAAC,CAAA;AAEF,wBAAgB,cAAc,CAC1B,gBAAgB,EAAE,gBAAgB,EAClC,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,EAC/C,WAAW,EAAE,mBAAmB,CAAC,aAAa,CAAC,EAC/C,aAAa,EAAE,mBAAmB,CAAC,eAAe,CAAC,GACpD,eAAe,CAwDjB"}
|
|
@@ -1,48 +1,48 @@
|
|
|
1
1
|
import { getClusters as x } from "./getClusters.js";
|
|
2
|
-
import
|
|
3
|
-
function
|
|
4
|
-
const { facetKeys: G, xGroupKeys:
|
|
5
|
-
if (
|
|
2
|
+
import B from "../node_modules/d3-hierarchy/src/hierarchy/index.js";
|
|
3
|
+
function w(e, o, a, K) {
|
|
4
|
+
const { facetKeys: G, xGroupKeys: k, yGroupKeys: m } = e.meta, p = {};
|
|
5
|
+
if (o && K.sharedX)
|
|
6
6
|
throw Error("Dendrogram on X axis is not available with shared by facets X axis");
|
|
7
|
-
return G.forEach((
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
},
|
|
12
|
-
if (
|
|
13
|
-
const r = []
|
|
14
|
-
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
var
|
|
19
|
-
return ((
|
|
7
|
+
return G.forEach((y) => {
|
|
8
|
+
const n = {
|
|
9
|
+
hierarchyByGroupX: {},
|
|
10
|
+
hierarchyByGroupY: {}
|
|
11
|
+
}, c = e.facets[y];
|
|
12
|
+
if (o) {
|
|
13
|
+
const r = [];
|
|
14
|
+
k.forEach((s) => {
|
|
15
|
+
const i = c.xKeysByGroups[s], u = c.yKeys, t = x(
|
|
16
|
+
i,
|
|
17
|
+
i.map((f) => u.map((l) => {
|
|
18
|
+
var h;
|
|
19
|
+
return ((h = c.cells[f][l]) == null ? void 0 : h.normalizedValue) ?? o.fillNA;
|
|
20
20
|
})),
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
o.distance,
|
|
22
|
+
o.linkage
|
|
23
23
|
);
|
|
24
|
-
e.facets[
|
|
25
|
-
}), e.facets[
|
|
24
|
+
e.facets[y].xKeysByGroups[s] = t.keys, r.push(...t.keys), n.hierarchyByGroupX[s] = B(t);
|
|
25
|
+
}), e.facets[y].xKeys = r;
|
|
26
26
|
}
|
|
27
|
-
if (
|
|
28
|
-
const r = []
|
|
29
|
-
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
var
|
|
34
|
-
return ((
|
|
27
|
+
if (a) {
|
|
28
|
+
const r = [];
|
|
29
|
+
m.forEach((s) => {
|
|
30
|
+
const i = c.yKeysByGroups[s], u = c.xKeys, t = x(
|
|
31
|
+
i,
|
|
32
|
+
i.map((f) => u.map((l) => {
|
|
33
|
+
var h;
|
|
34
|
+
return ((h = c.cells[l][f]) == null ? void 0 : h.normalizedValue) ?? a.fillNA;
|
|
35
35
|
})),
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
a.distance,
|
|
37
|
+
a.linkage
|
|
38
38
|
);
|
|
39
|
-
e.facets[
|
|
40
|
-
}), e.facets[
|
|
39
|
+
e.facets[y].yKeysByGroups[s] = t.keys, r.push(...t.keys), n.hierarchyByGroupY[s] = B(t);
|
|
40
|
+
}), e.facets[y].yKeys = r;
|
|
41
41
|
}
|
|
42
|
-
|
|
43
|
-
}),
|
|
42
|
+
p[y] = n;
|
|
43
|
+
}), p;
|
|
44
44
|
}
|
|
45
45
|
export {
|
|
46
|
-
|
|
46
|
+
w as getDendrograms
|
|
47
47
|
};
|
|
48
48
|
//# sourceMappingURL=getDendrograms.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getDendrograms.js","sources":["../../src/heatmap/getDendrograms.ts"],"sourcesContent":["import type {Cluster} from './components/types';\nimport type {GroupedCellsData} from './getCells';\nimport type {HeatmapSettingsImpl} from './HeatmapSettingsImpl';\nimport {getClusters} from './getClusters';\nimport type {HierarchyNode} from 'd3-hierarchy';\nimport {hierarchy} from 'd3-hierarchy';\n\nexport type DendrogramsData = Record<string, {\n
|
|
1
|
+
{"version":3,"file":"getDendrograms.js","sources":["../../src/heatmap/getDendrograms.ts"],"sourcesContent":["import type {Cluster} from './components/types';\nimport type {GroupedCellsData} from './getCells';\nimport type {HeatmapSettingsImpl} from './HeatmapSettingsImpl';\nimport {getClusters} from './getClusters';\nimport type {HierarchyNode} from 'd3-hierarchy';\nimport {hierarchy} from 'd3-hierarchy';\n\nexport type DendrogramsData = Record<string, {\n hierarchyByGroupX: Record<string, HierarchyNode<Cluster>>;\n hierarchyByGroupY: Record<string, HierarchyNode<Cluster>>;\n}>\n\nexport function getDendrograms(\n groupedCellsData: GroupedCellsData,\n dendrogramX: HeatmapSettingsImpl['dendrogramX'],\n dendrogramY: HeatmapSettingsImpl['dendrogramY'],\n facetSettings: HeatmapSettingsImpl['facetSettings']\n): DendrogramsData {\n const {facetKeys, xGroupKeys, yGroupKeys} = groupedCellsData.meta;\n const result:DendrogramsData = {};\n\n if (dendrogramX && facetSettings.sharedX) {\n throw Error('Dendrogram on X axis is not available with shared by facets X axis');\n }\n\n facetKeys.forEach(facetKey => {\n const facetResult: DendrogramsData[string] = {\n hierarchyByGroupX: {},\n hierarchyByGroupY: {},\n };\n const cellsGroup = groupedCellsData.facets[facetKey];\n if (dendrogramX) {\n const updatedXKeys:string[] = [];\n xGroupKeys.forEach(xGroupKey => {\n const xKeys = cellsGroup.xKeysByGroups[xGroupKey];\n const yKeys = cellsGroup.yKeys;\n const rootCluster = getClusters(\n xKeys,\n xKeys.map(x => yKeys.map(y => (cellsGroup.cells[x][y]?.normalizedValue ?? dendrogramX.fillNA) as number)),\n dendrogramX.distance,\n dendrogramX.linkage\n );\n //set sorted group keys\n groupedCellsData.facets[facetKey].xKeysByGroups[xGroupKey] = rootCluster.keys;\n updatedXKeys.push(...rootCluster.keys);\n facetResult.hierarchyByGroupX[xGroupKey] = hierarchy(rootCluster);\n });\n // set sorted group keys of all groups\n groupedCellsData.facets[facetKey].xKeys = updatedXKeys;\n }\n if (dendrogramY) {\n const updatedYKeys:string[] = [];\n yGroupKeys.forEach(yGroupKey => {\n const yKeys = cellsGroup.yKeysByGroups[yGroupKey];\n const xKeys = cellsGroup.xKeys;\n const rootCluster = getClusters(\n yKeys,\n yKeys.map(y => xKeys.map(x => (cellsGroup.cells[x][y]?.normalizedValue ?? dendrogramY.fillNA) as number)),\n dendrogramY.distance,\n dendrogramY.linkage\n );\n //set sorted group keys\n groupedCellsData.facets[facetKey].yKeysByGroups[yGroupKey] = rootCluster.keys;\n updatedYKeys.push(...rootCluster.keys);\n facetResult.hierarchyByGroupY[yGroupKey] = hierarchy(rootCluster);\n });\n // set sorted group keys of all groups\n groupedCellsData.facets[facetKey].yKeys = updatedYKeys;\n }\n result[facetKey] = facetResult;\n });\n\n return result;\n}\n"],"names":["getDendrograms","groupedCellsData","dendrogramX","dendrogramY","facetSettings","facetKeys","xGroupKeys","yGroupKeys","result","facetKey","facetResult","cellsGroup","updatedXKeys","xGroupKey","xKeys","yKeys","rootCluster","getClusters","x","y","_a","hierarchy","updatedYKeys","yGroupKey"],"mappings":";;AAYO,SAASA,EACZC,GACAC,GACAC,GACAC,GACe;AACf,QAAM,EAAC,WAAAC,GAAW,YAAAC,GAAY,YAAAC,EAAA,IAAcN,EAAiB,MACvDO,IAAyB,CAAA;AAE/B,MAAIN,KAAeE,EAAc;AAC7B,UAAM,MAAM,oEAAoE;AAGpF,SAAAC,EAAU,QAAQ,CAAAI,MAAY;AAC1B,UAAMC,IAAuC;AAAA,MACzC,mBAAmB,CAAA;AAAA,MACnB,mBAAmB,CAAA;AAAA,IAAC,GAElBC,IAAaV,EAAiB,OAAOQ,CAAQ;AACnD,QAAIP,GAAa;AACb,YAAMU,IAAwB,CAAA;AAC9B,MAAAN,EAAW,QAAQ,CAAAO,MAAa;AAC5B,cAAMC,IAAQH,EAAW,cAAcE,CAAS,GAC1CE,IAAQJ,EAAW,OACnBK,IAAcC;AAAA,UAChBH;AAAA,UACAA,EAAM,IAAI,CAAAI,MAAKH,EAAM,IAAI,CAAAI,MAAA;;AAAM,qBAAAC,IAAAT,EAAW,MAAMO,CAAC,EAAEC,CAAC,MAArB,gBAAAC,EAAwB,oBAAmBlB,EAAY;AAAA,WAAiB,CAAC;AAAA,UACxGA,EAAY;AAAA,UACZA,EAAY;AAAA,QAAA;AAGhB,QAAAD,EAAiB,OAAOQ,CAAQ,EAAE,cAAcI,CAAS,IAAIG,EAAY,MACzEJ,EAAa,KAAK,GAAGI,EAAY,IAAI,GACrCN,EAAY,kBAAkBG,CAAS,IAAIQ,EAAUL,CAAW;AAAA,MACpE,CAAC,GAEDf,EAAiB,OAAOQ,CAAQ,EAAE,QAAQG;AAAA,IAC9C;AACA,QAAIT,GAAa;AACb,YAAMmB,IAAwB,CAAA;AAC9B,MAAAf,EAAW,QAAQ,CAAAgB,MAAa;AAC5B,cAAMR,IAAQJ,EAAW,cAAcY,CAAS,GAC1CT,IAAQH,EAAW,OACnBK,IAAcC;AAAA,UAChBF;AAAA,UACAA,EAAM,IAAI,CAAAI,MAAKL,EAAM,IAAI,CAAAI,MAAA;;AAAM,qBAAAE,IAAAT,EAAW,MAAMO,CAAC,EAAEC,CAAC,MAArB,gBAAAC,EAAwB,oBAAmBjB,EAAY;AAAA,WAAiB,CAAC;AAAA,UACxGA,EAAY;AAAA,UACZA,EAAY;AAAA,QAAA;AAGhB,QAAAF,EAAiB,OAAOQ,CAAQ,EAAE,cAAcc,CAAS,IAAIP,EAAY,MACzEM,EAAa,KAAK,GAAGN,EAAY,IAAI,GACrCN,EAAY,kBAAkBa,CAAS,IAAIF,EAAUL,CAAW;AAAA,MACpE,CAAC,GAEDf,EAAiB,OAAOQ,CAAQ,EAAE,QAAQa;AAAA,IAC9C;AACA,IAAAd,EAAOC,CAAQ,IAAIC;AAAA,EACvB,CAAC,GAEMF;AACX;"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { LabelAngles } from '../components/types';
|
|
1
|
+
import { ChartsScales, LabelAngles } from '../components/types';
|
|
2
2
|
import { GroupedCellsData } from '../getCells';
|
|
3
3
|
import { HeatmapSettingsImpl } from '../HeatmapSettingsImpl';
|
|
4
4
|
import { TextMeasurer } from '../../utils/TextMeasurer';
|
|
5
|
-
export declare function calculateCaptionTails(labelAngles: LabelAngles, facetSettings: HeatmapSettingsImpl['facetSettings'], steps: {
|
|
5
|
+
export declare function calculateCaptionTails(labelAngles: LabelAngles, facetSettings: HeatmapSettingsImpl['facetSettings'], scales: ChartsScales, steps: {
|
|
6
6
|
x: Record<string, number>;
|
|
7
7
|
y: Record<string, number>;
|
|
8
8
|
}, groupedCells: GroupedCellsData, textMeasurer: TextMeasurer): {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculateCaptionTails.d.ts","sourceRoot":"","sources":["../../../src/heatmap/utils/calculateCaptionTails.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"calculateCaptionTails.d.ts","sourceRoot":"","sources":["../../../src/heatmap/utils/calculateCaptionTails.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAErD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,wBAAwB,CAAC;AAChE,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,0BAA0B,CAAC;AAsC3D,wBAAgB,qBAAqB,CACjC,WAAW,EAAE,WAAW,EACxB,aAAa,EAAE,mBAAmB,CAAC,eAAe,CAAC,EACnD,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE;IACH,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B,EACD,YAAY,EAAE,gBAAgB,EAC9B,YAAY,EAAE,YAAY,GAC3B;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAC,CAsF9C"}
|
|
@@ -1,66 +1,101 @@
|
|
|
1
|
-
import { MIN_STEP_FOR_VISIBLE_LABELS as
|
|
2
|
-
|
|
3
|
-
function
|
|
4
|
-
const
|
|
5
|
-
let
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
if (
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
1
|
+
import { MIN_STEP_FOR_VISIBLE_LABELS as _ } from "../constants.js";
|
|
2
|
+
const E = Math.cos(Math.PI / 4);
|
|
3
|
+
function K(a, h, e, s, f, y, o, m, I, d) {
|
|
4
|
+
const u = y[a], B = u > _;
|
|
5
|
+
let l = 0;
|
|
6
|
+
return h.forEach((p) => {
|
|
7
|
+
const x = f(a, p);
|
|
8
|
+
if (x.length === 0)
|
|
9
|
+
return 0;
|
|
10
|
+
const n = x.length * u / 2, i = m ? d.getTextWidth(e[p]) * E - n - o(x[0]) : 0, G = I && B ? h.reduce((L, r) => {
|
|
11
|
+
const T = s[r];
|
|
12
|
+
return Math.max(L, d.getTextWidth(T) * E - u / 2 - o(r));
|
|
13
|
+
}, 0) : 0;
|
|
14
|
+
l = Math.max(l, i, G);
|
|
15
|
+
}), l;
|
|
16
|
+
}
|
|
17
|
+
function P(a, h, e, s, f, y) {
|
|
18
|
+
const { facetKeys: o, xGroupKeys: m, yGroupKeys: I, xKeysByGroups: d, yKeysByGroups: u, xLabels: B, yLabels: l, xGroupLabels: p, yGroupLabels: x } = f.meta;
|
|
19
|
+
let n = 0, i = 0;
|
|
20
|
+
const G = a.xGroupLabels === 45, L = a.xAxisLabels === 45;
|
|
21
|
+
if (G || L)
|
|
22
|
+
if (!h.sharedX)
|
|
23
|
+
o.forEach((t) => {
|
|
24
|
+
n = Math.max(
|
|
25
|
+
K(
|
|
26
|
+
t,
|
|
27
|
+
m,
|
|
28
|
+
p,
|
|
29
|
+
B,
|
|
30
|
+
(b, c) => f.facets[b].xKeysByGroups[c],
|
|
31
|
+
s.x,
|
|
32
|
+
e.x[t],
|
|
33
|
+
G,
|
|
34
|
+
L,
|
|
35
|
+
y
|
|
36
|
+
),
|
|
37
|
+
n
|
|
20
38
|
);
|
|
21
39
|
});
|
|
22
40
|
else {
|
|
23
|
-
const t =
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
(L ? a.getTextWidth(t) * Math.cos(M) : 0) - e,
|
|
29
|
-
(G && i ? a.getTextWidth(h) * Math.cos(B) : 0) - s / 2
|
|
30
|
-
);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
const b = c.yGroupLabels === 45, d = c.yAxisLabels === 45;
|
|
34
|
-
if (b || d)
|
|
35
|
-
if (!K.sharedY)
|
|
36
|
-
x.forEach((t) => {
|
|
37
|
-
const n = H.findLast(
|
|
38
|
-
u,
|
|
39
|
-
(g) => l.facets[t].yKeysByGroups[g].length > 0
|
|
40
|
-
);
|
|
41
|
-
if (!n)
|
|
42
|
-
return;
|
|
43
|
-
const o = l.facets[t].yKeysByGroups[n], s = r.y[t], i = s > f, e = o.length * s / 2, h = I[o[o.length - 1]];
|
|
44
|
-
p = Math.max(
|
|
41
|
+
const t = o[0];
|
|
42
|
+
n = Math.max(
|
|
43
|
+
K(
|
|
44
|
+
t,
|
|
45
|
+
m,
|
|
45
46
|
p,
|
|
46
|
-
|
|
47
|
-
(
|
|
47
|
+
B,
|
|
48
|
+
(b, c) => d[c],
|
|
49
|
+
s.x,
|
|
50
|
+
e.x[t],
|
|
51
|
+
G,
|
|
52
|
+
L,
|
|
53
|
+
y
|
|
54
|
+
),
|
|
55
|
+
n
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
const r = a.yGroupLabels === 45, T = a.yAxisLabels === 45;
|
|
59
|
+
if (r || T)
|
|
60
|
+
if (!h.sharedY)
|
|
61
|
+
o.forEach((t) => {
|
|
62
|
+
i = Math.max(
|
|
63
|
+
K(
|
|
64
|
+
t,
|
|
65
|
+
I,
|
|
66
|
+
x,
|
|
67
|
+
l,
|
|
68
|
+
(b, c) => f.facets[b].yKeysByGroups[c],
|
|
69
|
+
s.y,
|
|
70
|
+
e.y[t],
|
|
71
|
+
r,
|
|
72
|
+
T,
|
|
73
|
+
y
|
|
74
|
+
),
|
|
75
|
+
i
|
|
48
76
|
);
|
|
49
77
|
});
|
|
50
78
|
else {
|
|
51
|
-
const t =
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
79
|
+
const t = o[0];
|
|
80
|
+
i = Math.max(
|
|
81
|
+
K(
|
|
82
|
+
t,
|
|
83
|
+
I,
|
|
84
|
+
x,
|
|
85
|
+
l,
|
|
86
|
+
(b, c) => u[c],
|
|
87
|
+
s.y,
|
|
88
|
+
e.y[t],
|
|
89
|
+
r,
|
|
90
|
+
T,
|
|
91
|
+
y
|
|
92
|
+
),
|
|
93
|
+
i
|
|
94
|
+
);
|
|
60
95
|
}
|
|
61
|
-
return { xCaptionTail:
|
|
96
|
+
return { xCaptionTail: n, yCaptionTail: i };
|
|
62
97
|
}
|
|
63
98
|
export {
|
|
64
|
-
|
|
99
|
+
P as calculateCaptionTails
|
|
65
100
|
};
|
|
66
101
|
//# sourceMappingURL=calculateCaptionTails.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculateCaptionTails.js","sources":["../../../src/heatmap/utils/calculateCaptionTails.ts"],"sourcesContent":["import type {LabelAngles} from '../components/types';\nimport {MIN_STEP_FOR_VISIBLE_LABELS} from '../constants';\nimport type {GroupedCellsData} from '../getCells';\nimport type {HeatmapSettingsImpl} from '../HeatmapSettingsImpl';\nimport type {TextMeasurer} from '../../utils/TextMeasurer';\
|
|
1
|
+
{"version":3,"file":"calculateCaptionTails.js","sources":["../../../src/heatmap/utils/calculateCaptionTails.ts"],"sourcesContent":["import type {ChartsScales} from '../components/types';\nimport type {LabelAngles} from '../components/types';\nimport {MIN_STEP_FOR_VISIBLE_LABELS} from '../constants';\nimport type {GroupedCellsData} from '../getCells';\nimport type {HeatmapSettingsImpl} from '../HeatmapSettingsImpl';\nimport type {TextMeasurer} from '../../utils/TextMeasurer';\n\nconst COS_PI_4 = Math.cos(Math.PI / 4);\nfunction getTailByFacetKey (\n facetKey: string,\n groupKeys: string[],\n groupLabels: Record<string, string>,\n valueLabels: Record<string, string>,\n getKeysInGroup: (facetKey:string, groupKey:string) => string[],\n steps: Record<string, number>,\n scale: (v:string) => number,\n groupTitleInclined: boolean,\n labelTitleInclined: boolean,\n textMeasurer: TextMeasurer\n): number {\n const step = steps[facetKey];\n const labelsVisible = step > MIN_STEP_FOR_VISIBLE_LABELS;\n\n let maxTail = 0;\n groupKeys.forEach((groupKey) => {\n const keysInGroup = getKeysInGroup(facetKey, groupKey);\n if (keysInGroup.length === 0) {\n return 0;\n }\n const groupHalfWidth = (keysInGroup.length * step) / 2;\n const groupTail = groupTitleInclined\n ? textMeasurer.getTextWidth(groupLabels[groupKey]) * COS_PI_4 - groupHalfWidth - scale(keysInGroup[0])\n : 0;\n const labelTail = labelTitleInclined && labelsVisible\n ? groupKeys.reduce((res, key) => {\n const label = valueLabels[key];\n return Math.max(res, textMeasurer.getTextWidth(label) * COS_PI_4 - step / 2 - scale(key));\n }, 0)\n : 0;\n maxTail = Math.max(maxTail, groupTail, labelTail);\n });\n return maxTail;\n}\nexport function calculateCaptionTails(\n labelAngles: LabelAngles,\n facetSettings: HeatmapSettingsImpl['facetSettings'],\n scales: ChartsScales,\n steps: {\n x: Record<string, number>;\n y: Record<string, number>;\n },\n groupedCells: GroupedCellsData,\n textMeasurer: TextMeasurer\n): {xCaptionTail: number; yCaptionTail: number} {\n const {facetKeys, xGroupKeys, yGroupKeys, xKeysByGroups, yKeysByGroups, xLabels, yLabels, xGroupLabels, yGroupLabels} = groupedCells.meta;\n let xCaptionTail = 0;\n let yCaptionTail = 0;\n // tails from 45deg inclined captions of groups titles/cells labels, that take place on adjacent padding\n const xGroupTitleInclined = labelAngles.xGroupLabels === 45;\n const xLabelsInclined = labelAngles.xAxisLabels === 45;\n if (xGroupTitleInclined || xLabelsInclined) {\n if (!facetSettings.sharedX) {\n facetKeys.forEach(facetKey => {\n xCaptionTail = Math.max(\n getTailByFacetKey(\n facetKey,\n xGroupKeys,\n xGroupLabels,\n xLabels,\n (facetKey:string, groupKey:string) => groupedCells.facets[facetKey].xKeysByGroups[groupKey],\n steps.x,\n scales.x[facetKey],\n xGroupTitleInclined,\n xLabelsInclined,\n textMeasurer\n ),\n xCaptionTail\n );\n });\n } else {\n const facetKey = facetKeys[0]; // there is no difference between facets in this case\n xCaptionTail = Math.max(\n getTailByFacetKey(\n facetKey,\n xGroupKeys,\n xGroupLabels,\n xLabels,\n (facetKey:string, groupKey:string) => xKeysByGroups[groupKey],\n steps.x,\n scales.x[facetKey],\n xGroupTitleInclined,\n xLabelsInclined,\n textMeasurer\n ),\n xCaptionTail\n );\n }\n }\n const yGroupTitleInclined = labelAngles.yGroupLabels === 45;\n const yLabelsInclined = labelAngles.yAxisLabels === 45;\n if (yGroupTitleInclined || yLabelsInclined) {\n if (!facetSettings.sharedY) {\n facetKeys.forEach(facetKey => {\n yCaptionTail = Math.max(\n getTailByFacetKey(\n facetKey,\n yGroupKeys,\n yGroupLabels,\n yLabels,\n (facetKey:string, groupKey:string) => groupedCells.facets[facetKey].yKeysByGroups[groupKey],\n steps.y,\n scales.y[facetKey],\n yGroupTitleInclined,\n yLabelsInclined,\n textMeasurer\n ),\n yCaptionTail\n );\n });\n } else {\n const facetKey = facetKeys[0]; // there is no difference between facets in this case\n yCaptionTail = Math.max(\n getTailByFacetKey(\n facetKey,\n yGroupKeys,\n yGroupLabels,\n yLabels,\n (facetKey:string, groupKey:string) => yKeysByGroups[groupKey],\n steps.y,\n scales.y[facetKey],\n yGroupTitleInclined,\n yLabelsInclined,\n textMeasurer\n ),\n yCaptionTail\n );\n }\n }\n return {xCaptionTail, yCaptionTail};\n}\n"],"names":["COS_PI_4","getTailByFacetKey","facetKey","groupKeys","groupLabels","valueLabels","getKeysInGroup","steps","scale","groupTitleInclined","labelTitleInclined","textMeasurer","step","labelsVisible","MIN_STEP_FOR_VISIBLE_LABELS","maxTail","groupKey","keysInGroup","groupHalfWidth","groupTail","labelTail","res","key","label","calculateCaptionTails","labelAngles","facetSettings","scales","groupedCells","facetKeys","xGroupKeys","yGroupKeys","xKeysByGroups","yKeysByGroups","xLabels","yLabels","xGroupLabels","yGroupLabels","xCaptionTail","yCaptionTail","xGroupTitleInclined","xLabelsInclined","yGroupTitleInclined","yLabelsInclined"],"mappings":"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"}
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
import { DEFAULT_TICKS_SIZE as
|
|
2
|
-
function J(i, s, l, B, t, o, p,
|
|
3
|
-
const U = H.length > 1 && (!
|
|
1
|
+
import { DEFAULT_TICKS_SIZE as S, TITLE_LINE as k, MIN_STEP_FOR_VISIBLE_LABELS as z, TICK_OFFSET as T, FACET_TITLE_LINE as q, ANNOTATION_WIDTH as c, ANNOTATIONS_OFFSET as h } from "../constants.js";
|
|
2
|
+
function J(i, s, l, B, t, o, p, f, C, D, K, H, M, R) {
|
|
3
|
+
const U = H.length > 1 && (!C || p.includes(s.groupingPosition)), E = !C || p.includes(s.position), V = K.length > 1 && (!f || p.includes(i.groupingPosition)), I = !f || p.includes(i.position), W = D.length > 1, u = B.filter((n) => p.includes(n.position) || !f && ["left", "right"].includes(n.position) || !C && ["top", "bottom"].includes(n.position)), b = u.filter((n) => n.position === "left").length, L = u.filter((n) => n.position === "right").length, _ = u.filter((n) => n.position === "top").length, e = u.filter((n) => n.position === "bottom").length, Z = i.showTicks ? S : 0, j = s.showTicks ? S : 0, N = I && i.showTitle ? k : 0, w = E && s.showTitle ? k : 0, F = I && i.showAxisLabels && M > z ? l.xAxisCaptions + Z + T : 0, O = E && s.showAxisLabels && R > z ? l.yAxisCaptions + j + T : 0, P = V && i.showGroupLabels ? l.xGroupCaptions + T : 0, G = U && s.showGroupLabels ? l.yGroupCaptions + T : 0;
|
|
4
4
|
return {
|
|
5
5
|
left: {
|
|
6
6
|
dendro: !(o != null && o.hidden) && (o == null ? void 0 : o.position) === "left" ? o.size : 0,
|
|
7
|
-
axisTitle: s.position === "left" ?
|
|
8
|
-
groups: s.groupingPosition === "left" ?
|
|
9
|
-
axis: s.position === "left" ?
|
|
10
|
-
annotations:
|
|
7
|
+
axisTitle: s.position === "left" ? w : 0,
|
|
8
|
+
groups: s.groupingPosition === "left" ? G : 0,
|
|
9
|
+
axis: s.position === "left" ? O : 0,
|
|
10
|
+
annotations: b * c + (b && h)
|
|
11
11
|
},
|
|
12
12
|
right: {
|
|
13
13
|
dendro: !(o != null && o.hidden) && (o == null ? void 0 : o.position) === "right" ? o.size : 0,
|
|
14
|
-
axisTitle: s.position === "right" ?
|
|
15
|
-
groups: s.groupingPosition === "right" ?
|
|
16
|
-
axis: s.position === "right" ?
|
|
17
|
-
annotations:
|
|
14
|
+
axisTitle: s.position === "right" ? w : 0,
|
|
15
|
+
groups: s.groupingPosition === "right" ? G : 0,
|
|
16
|
+
axis: s.position === "right" ? O : 0,
|
|
17
|
+
annotations: L * c + (L && h)
|
|
18
18
|
},
|
|
19
19
|
top: {
|
|
20
20
|
facetTitle: W ? q : 0,
|
|
21
21
|
dendro: !(t != null && t.hidden) && (t == null ? void 0 : t.position) === "top" ? t.size : 0,
|
|
22
|
-
axisTitle: i.position === "top" ?
|
|
23
|
-
groups: i.groupingPosition === "top" ?
|
|
24
|
-
axis: i.position === "top" ?
|
|
25
|
-
annotations:
|
|
22
|
+
axisTitle: i.position === "top" ? N : 0,
|
|
23
|
+
groups: i.groupingPosition === "top" ? P : 0,
|
|
24
|
+
axis: i.position === "top" ? F : 0,
|
|
25
|
+
annotations: _ * c + (_ && h)
|
|
26
26
|
},
|
|
27
27
|
bottom: {
|
|
28
28
|
dendro: !(t != null && t.hidden) && (t == null ? void 0 : t.position) === "bottom" ? t.size : 0,
|
|
29
|
-
axisTitle: i.position === "bottom" ?
|
|
30
|
-
groups: i.groupingPosition === "bottom" ?
|
|
31
|
-
axis: i.position === "bottom" ?
|
|
32
|
-
annotations:
|
|
29
|
+
axisTitle: i.position === "bottom" ? N : 0,
|
|
30
|
+
groups: i.groupingPosition === "bottom" ? P : 0,
|
|
31
|
+
axis: i.position === "bottom" ? F : 0,
|
|
32
|
+
annotations: e * c + (e && h)
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calculateChartSideElementSizes.js","sources":["../../../src/heatmap/utils/calculateChartSideElementSizes.ts"],"sourcesContent":["import {\n ANNOTATION_WIDTH,\n ANNOTATIONS_OFFSET,\n DEFAULT_TICKS_SIZE,\n FACET_TITLE_LINE,\n MIN_STEP_FOR_VISIBLE_LABELS,\n TICK_OFFSET,\n TITLE_LINE,\n} from '../constants';\nimport type {CaptionsSizes} from '../components/types';\nimport type {HeatmapSettingsImpl} from '../HeatmapSettingsImpl';\n\nexport function calculateChartSideElementSizes(\n xAxis: HeatmapSettingsImpl['chartSettings']['xAxis'],\n yAxis: HeatmapSettingsImpl['chartSettings']['yAxis'],\n captionsSizes: CaptionsSizes,\n annotations: HeatmapSettingsImpl['annotations'],\n dendrogramX: HeatmapSettingsImpl['dendrogramX'],\n dendrogramY: HeatmapSettingsImpl['dendrogramY'],\n chartSides: ('left' | 'right' | 'top' | 'bottom')[],\n sharedX: boolean,\n sharedY: boolean,\n facetKeys: string[],\n xGroupKeys: string[],\n yGroupKeys: string[],\n stepX: number,\n stepY: number\n): Record<string, Record<string, number>> {\n const hasGroupingY = yGroupKeys.length > 1 && (!sharedY || chartSides.includes(yAxis.groupingPosition));\n const hasAxisY = !sharedY || chartSides.includes(yAxis.position);\n const hasGroupingX = xGroupKeys.length > 1 && (!sharedX || chartSides.includes(xAxis.groupingPosition));\n const hasAxisX = !sharedX || chartSides.includes(xAxis.position);\n const hasChartTitle = facetKeys.length > 1;\n const usedAnnotations = annotations.filter(item => {\n return (\n chartSides.includes(item.position) ||\n (!sharedX && ['left', 'right'].includes(item.position)) ||\n (!sharedY && ['top', 'bottom'].includes(item.position))\n );\n });\n const leftAnnotationsCount = usedAnnotations.filter(item => item.position === 'left').length;\n const rightAnnotationsCount = usedAnnotations.filter(item => item.position === 'right').length;\n const topAnnotationsCount = usedAnnotations.filter(item => item.position === 'top').length;\n const bottomAnnotationsCount = usedAnnotations.filter(item => item.position === 'bottom').length;\n\n const tickSizeX = xAxis.showTicks ? DEFAULT_TICKS_SIZE : 0;\n const tickSizeY = yAxis.showTicks ? DEFAULT_TICKS_SIZE : 0;\n const axisTitleX = hasAxisX && xAxis.showTitle ? TITLE_LINE : 0;\n const axisTitleY = hasAxisY && yAxis.showTitle ? TITLE_LINE : 0;\n\n const axisX =\n hasAxisX && xAxis.showAxisLabels && stepX > MIN_STEP_FOR_VISIBLE_LABELS\n ? captionsSizes.xAxisCaptions + tickSizeX + TICK_OFFSET\n : 0;\n const axisY =\n hasAxisY && yAxis.showAxisLabels && stepY > MIN_STEP_FOR_VISIBLE_LABELS\n ? captionsSizes.yAxisCaptions + tickSizeY + TICK_OFFSET\n : 0;\n // can be rotated, then labels max width\n const groupX = hasGroupingX && xAxis.showGroupLabels ? captionsSizes.xGroupCaptions : 0;\n const groupY = hasGroupingY && yAxis.showGroupLabels ? captionsSizes.yGroupCaptions : 0;\n\n return {\n left: {\n dendro: !dendrogramY?.hidden && dendrogramY?.position === 'left' ? dendrogramY.size : 0,\n axisTitle: yAxis.position === 'left' ? axisTitleY : 0,\n groups: yAxis.groupingPosition === 'left' ? groupY : 0,\n axis: yAxis.position === 'left' ? axisY : 0,\n annotations: leftAnnotationsCount * ANNOTATION_WIDTH + (leftAnnotationsCount && ANNOTATIONS_OFFSET),\n },\n right: {\n dendro: !dendrogramY?.hidden && dendrogramY?.position === 'right' ? dendrogramY.size : 0,\n axisTitle: yAxis.position === 'right' ? axisTitleY : 0,\n groups: yAxis.groupingPosition === 'right' ? groupY : 0,\n axis: yAxis.position === 'right' ? axisY : 0,\n annotations: rightAnnotationsCount * ANNOTATION_WIDTH + (rightAnnotationsCount && ANNOTATIONS_OFFSET),\n },\n top: {\n facetTitle: hasChartTitle ? FACET_TITLE_LINE : 0,\n dendro: !dendrogramX?.hidden && dendrogramX?.position === 'top' ? dendrogramX.size : 0,\n axisTitle: xAxis.position === 'top' ? axisTitleX : 0,\n groups: xAxis.groupingPosition === 'top' ? groupX : 0,\n axis: xAxis.position === 'top' ? axisX : 0,\n annotations: topAnnotationsCount * ANNOTATION_WIDTH + (topAnnotationsCount && ANNOTATIONS_OFFSET),\n },\n bottom: {\n dendro: !dendrogramX?.hidden && dendrogramX?.position === 'bottom' ? dendrogramX.size : 0,\n axisTitle: xAxis.position === 'bottom' ? axisTitleX : 0,\n groups: xAxis.groupingPosition === 'bottom' ? groupX : 0,\n axis: xAxis.position === 'bottom' ? axisX : 0,\n annotations: bottomAnnotationsCount * ANNOTATION_WIDTH + (bottomAnnotationsCount && ANNOTATIONS_OFFSET),\n },\n };\n}\n"],"names":["calculateChartSideElementSizes","xAxis","yAxis","captionsSizes","annotations","dendrogramX","dendrogramY","chartSides","sharedX","sharedY","facetKeys","xGroupKeys","yGroupKeys","stepX","stepY","hasGroupingY","hasAxisY","hasGroupingX","hasAxisX","hasChartTitle","usedAnnotations","item","leftAnnotationsCount","rightAnnotationsCount","topAnnotationsCount","bottomAnnotationsCount","tickSizeX","DEFAULT_TICKS_SIZE","tickSizeY","axisTitleX","TITLE_LINE","axisTitleY","axisX","MIN_STEP_FOR_VISIBLE_LABELS","TICK_OFFSET","axisY","groupX","groupY","ANNOTATION_WIDTH","ANNOTATIONS_OFFSET","FACET_TITLE_LINE"],"mappings":";AAYO,SAASA,EACZC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACAC,GACsC;AACtC,QAAMC,IAAeH,EAAW,SAAS,MAAM,CAACH,KAAWF,EAAW,SAASL,EAAM,gBAAgB,IAC/Fc,IAAW,CAACP,KAAWF,EAAW,SAASL,EAAM,QAAQ,GACzDe,IAAeN,EAAW,SAAS,MAAM,CAACH,KAAWD,EAAW,SAASN,EAAM,gBAAgB,IAC/FiB,IAAW,CAACV,KAAWD,EAAW,SAASN,EAAM,QAAQ,GACzDkB,IAAgBT,EAAU,SAAS,GACnCU,IAAkBhB,EAAY,OAAO,CAAAiB,MAEnCd,EAAW,SAASc,EAAK,QAAQ,KAChC,CAACb,KAAW,CAAC,QAAQ,OAAO,EAAE,SAASa,EAAK,QAAQ,KACpD,CAACZ,KAAW,CAAC,OAAO,QAAQ,EAAE,SAASY,EAAK,QAAQ,CAE5D,GACKC,IAAuBF,EAAgB,OAAO,OAAQC,EAAK,aAAa,MAAM,EAAE,QAChFE,IAAwBH,EAAgB,OAAO,OAAQC,EAAK,aAAa,OAAO,EAAE,QAClFG,IAAsBJ,EAAgB,OAAO,OAAQC,EAAK,aAAa,KAAK,EAAE,QAC9EI,IAAyBL,EAAgB,OAAO,OAAQC,EAAK,aAAa,QAAQ,EAAE,QAEpFK,IAAYzB,EAAM,YAAY0B,IAAqB,GACnDC,IAAY1B,EAAM,YAAYyB,IAAqB,GACnDE,IAAaX,KAAYjB,EAAM,YAAY6B,IAAa,GACxDC,IAAaf,KAAYd,EAAM,YAAY4B,IAAa,GAExDE,IACFd,KAAYjB,EAAM,kBAAkBY,IAAQoB,IACtC9B,EAAc,gBAAgBuB,IAAYQ,IAC1C,GACJC,IACFnB,KAAYd,EAAM,kBAAkBY,IAAQmB,IACtC9B,EAAc,gBAAgByB,IAAYM,IAC1C,GAEJE,IAASnB,KAAgBhB,EAAM,kBAAkBE,EAAc,iBAAiB,
|
|
1
|
+
{"version":3,"file":"calculateChartSideElementSizes.js","sources":["../../../src/heatmap/utils/calculateChartSideElementSizes.ts"],"sourcesContent":["import {\n ANNOTATION_WIDTH,\n ANNOTATIONS_OFFSET,\n DEFAULT_TICKS_SIZE,\n FACET_TITLE_LINE,\n MIN_STEP_FOR_VISIBLE_LABELS,\n TICK_OFFSET,\n TITLE_LINE,\n} from '../constants';\nimport type {CaptionsSizes} from '../components/types';\nimport type {HeatmapSettingsImpl} from '../HeatmapSettingsImpl';\n\nexport function calculateChartSideElementSizes(\n xAxis: HeatmapSettingsImpl['chartSettings']['xAxis'],\n yAxis: HeatmapSettingsImpl['chartSettings']['yAxis'],\n captionsSizes: CaptionsSizes,\n annotations: HeatmapSettingsImpl['annotations'],\n dendrogramX: HeatmapSettingsImpl['dendrogramX'],\n dendrogramY: HeatmapSettingsImpl['dendrogramY'],\n chartSides: ('left' | 'right' | 'top' | 'bottom')[],\n sharedX: boolean,\n sharedY: boolean,\n facetKeys: string[],\n xGroupKeys: string[],\n yGroupKeys: string[],\n stepX: number,\n stepY: number\n): Record<string, Record<string, number>> {\n const hasGroupingY = yGroupKeys.length > 1 && (!sharedY || chartSides.includes(yAxis.groupingPosition));\n const hasAxisY = !sharedY || chartSides.includes(yAxis.position);\n const hasGroupingX = xGroupKeys.length > 1 && (!sharedX || chartSides.includes(xAxis.groupingPosition));\n const hasAxisX = !sharedX || chartSides.includes(xAxis.position);\n const hasChartTitle = facetKeys.length > 1;\n const usedAnnotations = annotations.filter(item => {\n return (\n chartSides.includes(item.position) ||\n (!sharedX && ['left', 'right'].includes(item.position)) ||\n (!sharedY && ['top', 'bottom'].includes(item.position))\n );\n });\n const leftAnnotationsCount = usedAnnotations.filter(item => item.position === 'left').length;\n const rightAnnotationsCount = usedAnnotations.filter(item => item.position === 'right').length;\n const topAnnotationsCount = usedAnnotations.filter(item => item.position === 'top').length;\n const bottomAnnotationsCount = usedAnnotations.filter(item => item.position === 'bottom').length;\n\n const tickSizeX = xAxis.showTicks ? DEFAULT_TICKS_SIZE : 0;\n const tickSizeY = yAxis.showTicks ? DEFAULT_TICKS_SIZE : 0;\n const axisTitleX = hasAxisX && xAxis.showTitle ? TITLE_LINE : 0;\n const axisTitleY = hasAxisY && yAxis.showTitle ? TITLE_LINE : 0;\n\n const axisX =\n hasAxisX && xAxis.showAxisLabels && stepX > MIN_STEP_FOR_VISIBLE_LABELS\n ? captionsSizes.xAxisCaptions + tickSizeX + TICK_OFFSET\n : 0;\n const axisY =\n hasAxisY && yAxis.showAxisLabels && stepY > MIN_STEP_FOR_VISIBLE_LABELS\n ? captionsSizes.yAxisCaptions + tickSizeY + TICK_OFFSET\n : 0;\n // can be rotated, then labels max width\n const groupX = hasGroupingX && xAxis.showGroupLabels ? captionsSizes.xGroupCaptions + TICK_OFFSET : 0;\n const groupY = hasGroupingY && yAxis.showGroupLabels ? captionsSizes.yGroupCaptions + TICK_OFFSET : 0;\n\n return {\n left: {\n dendro: !dendrogramY?.hidden && dendrogramY?.position === 'left' ? dendrogramY.size : 0,\n axisTitle: yAxis.position === 'left' ? axisTitleY : 0,\n groups: yAxis.groupingPosition === 'left' ? groupY : 0,\n axis: yAxis.position === 'left' ? axisY : 0,\n annotations: leftAnnotationsCount * ANNOTATION_WIDTH + (leftAnnotationsCount && ANNOTATIONS_OFFSET),\n },\n right: {\n dendro: !dendrogramY?.hidden && dendrogramY?.position === 'right' ? dendrogramY.size : 0,\n axisTitle: yAxis.position === 'right' ? axisTitleY : 0,\n groups: yAxis.groupingPosition === 'right' ? groupY : 0,\n axis: yAxis.position === 'right' ? axisY : 0,\n annotations: rightAnnotationsCount * ANNOTATION_WIDTH + (rightAnnotationsCount && ANNOTATIONS_OFFSET),\n },\n top: {\n facetTitle: hasChartTitle ? FACET_TITLE_LINE : 0,\n dendro: !dendrogramX?.hidden && dendrogramX?.position === 'top' ? dendrogramX.size : 0,\n axisTitle: xAxis.position === 'top' ? axisTitleX : 0,\n groups: xAxis.groupingPosition === 'top' ? groupX : 0,\n axis: xAxis.position === 'top' ? axisX : 0,\n annotations: topAnnotationsCount * ANNOTATION_WIDTH + (topAnnotationsCount && ANNOTATIONS_OFFSET),\n },\n bottom: {\n dendro: !dendrogramX?.hidden && dendrogramX?.position === 'bottom' ? dendrogramX.size : 0,\n axisTitle: xAxis.position === 'bottom' ? axisTitleX : 0,\n groups: xAxis.groupingPosition === 'bottom' ? groupX : 0,\n axis: xAxis.position === 'bottom' ? axisX : 0,\n annotations: bottomAnnotationsCount * ANNOTATION_WIDTH + (bottomAnnotationsCount && ANNOTATIONS_OFFSET),\n },\n };\n}\n"],"names":["calculateChartSideElementSizes","xAxis","yAxis","captionsSizes","annotations","dendrogramX","dendrogramY","chartSides","sharedX","sharedY","facetKeys","xGroupKeys","yGroupKeys","stepX","stepY","hasGroupingY","hasAxisY","hasGroupingX","hasAxisX","hasChartTitle","usedAnnotations","item","leftAnnotationsCount","rightAnnotationsCount","topAnnotationsCount","bottomAnnotationsCount","tickSizeX","DEFAULT_TICKS_SIZE","tickSizeY","axisTitleX","TITLE_LINE","axisTitleY","axisX","MIN_STEP_FOR_VISIBLE_LABELS","TICK_OFFSET","axisY","groupX","groupY","ANNOTATION_WIDTH","ANNOTATIONS_OFFSET","FACET_TITLE_LINE"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChartRenderer.d.ts","sourceRoot":"","sources":["../../src/scatterplot/ChartRenderer.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAa,aAAa,EAAE,OAAO,EAAC,MAAM,oBAAoB,CAAC;AAW3E,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,QAAQ,CAAC;AACxC,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,iBAAiB,CAAC;AAC1D,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAC,uBAAuB,EAAC,MAAM,2BAA2B,CAAC;AAIvE,OAAO,KAAK,EAAC,UAAU,EAAE,qBAAqB,EAAC,MAAM,UAAU,CAAC;AAOhE,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,OAAO,CAAC;AAExC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AAG3C,OAAO,KAAK,EAAC,mBAAmB,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAEtF,OAAO,KAAK,EAAc,UAAU,EAAc,MAAM,iBAAiB,CAAC;AA0F1E,cAAM,aAAa;IACf,SAAS,EAAE,IAAI,GAAG,IAAI,CAAQ;IAC9B,UAAU,EAAE,WAAW,GAAG,IAAI,CAAQ;IACtC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAAQ;IACpC,SAAS,EAAE,YAAY,CAAW;IAClC,OAAO,EAAE,OAAO,CAKd;IACF,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAM;IAC3D,UAAU,EAAE,UAAU,CAOpB;IACF,YAAY,SAAK;IACjB,SAAS,SAAK;IACd,MAAM,EAAE,YAAY,CAGlB;IACF,aAAa,EAAE,aAAa,CAG1B;IACF,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAM;IAC3C,SAAS,EAAE,MAAM,EAAE,CAAM;IACzB,MAAM,EAAE,UAAU,CAAoC;IAEtD,KAAK;IAaL,IAAI,CAAC,IAAI,EAAE,WAAW;IAStB,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC;IAKvE,qBAAqB,CACjB,SAAS,EAAE,MAAM,EAAE,EACnB,aAAa,EAAE,uBAAuB,CAAC,eAAe,CAAC,EACvD,KAAK,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EACxD,KAAK,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC;IA8C5D,cAAc,CACV,SAAS,EAAE,MAAM,EAAE,EACnB,aAAa,EAAE,uBAAuB,CAAC,eAAe,CAAC,EACvD,KAAK,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EACxD,KAAK,EAAE,uBAAuB,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,EACxD,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,UAAU,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"ChartRenderer.d.ts","sourceRoot":"","sources":["../../src/scatterplot/ChartRenderer.tsx"],"names":[],"mappings":"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"}
|