oncoprintjs 5.0.3 → 6.0.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.
Files changed (100) hide show
  1. package/README.md +34 -0
  2. package/dist/index.d.ts +4 -0
  3. package/dist/index.es.js +14746 -0
  4. package/dist/index.es.js.map +1 -0
  5. package/dist/index.js +14760 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/js/CachedProperty.d.ts +10 -10
  8. package/dist/js/binarysearch.d.ts +1 -1
  9. package/dist/js/bucketsort.d.ts +16 -16
  10. package/dist/js/clustering.d.ts +14 -14
  11. package/dist/js/extractrgba.d.ts +4 -4
  12. package/dist/js/haselementsininterval.d.ts +1 -1
  13. package/dist/js/heatmapcolors.d.ts +5 -4
  14. package/dist/js/makesvgelement.d.ts +1 -1
  15. package/dist/js/modelutils.d.ts +7 -7
  16. package/dist/js/oncoprint.d.ts +168 -170
  17. package/dist/js/oncoprintheaderview.d.ts +23 -22
  18. package/dist/js/oncoprintlabelview.d.ts +79 -78
  19. package/dist/js/oncoprintlegendrenderer.d.ts +32 -31
  20. package/dist/js/oncoprintminimapview.d.ts +69 -68
  21. package/dist/js/oncoprintmodel.d.ts +403 -398
  22. package/dist/js/oncoprintruleset.d.ts +176 -177
  23. package/dist/js/oncoprintshape.d.ts +67 -67
  24. package/dist/js/oncoprintshapetosvg.d.ts +2 -2
  25. package/dist/js/oncoprintshapetovertexes.d.ts +5 -5
  26. package/dist/js/oncoprinttooltip.d.ts +23 -22
  27. package/dist/js/oncoprinttrackinfoview.d.ts +40 -39
  28. package/dist/js/oncoprinttrackoptionsview.d.ts +58 -57
  29. package/dist/js/oncoprintwebglcellview.d.ts +168 -167
  30. package/dist/js/oncoprintzoomslider.d.ts +28 -27
  31. package/dist/js/polyfill.d.ts +4 -4
  32. package/dist/js/precomputedcomparator.d.ts +13 -13
  33. package/dist/js/shaders.d.ts +2 -2
  34. package/dist/js/svgfactory.d.ts +24 -23
  35. package/dist/js/utils.d.ts +16 -16
  36. package/dist/js/workers/clustering-worker.d.ts +19 -20
  37. package/dist/test/gradientCategoricalRuleset.spec.d.ts +1 -1
  38. package/dist/test/monolith.spec.d.ts +1 -1
  39. package/jest.config.ts +2 -0
  40. package/package.json +20 -26
  41. package/rollup.config.ts +14 -0
  42. package/rules/geneticrules.ts +344 -305
  43. package/server.js +11 -0
  44. package/src/img/menudots.svg +9 -9
  45. package/src/img/zoomtofit.svg +12 -12
  46. package/src/index.tsx +13 -0
  47. package/src/js/CachedProperty.ts +6 -7
  48. package/src/js/binarysearch.ts +8 -3
  49. package/src/js/bucketsort.ts +89 -47
  50. package/src/js/clustering.ts +22 -10
  51. package/src/js/extractrgba.ts +16 -12
  52. package/src/js/haselementsininterval.ts +8 -4
  53. package/src/js/heatmapcolors.ts +515 -515
  54. package/src/js/main.js +1 -1
  55. package/src/js/makesvgelement.ts +2 -2
  56. package/src/js/modelutils.ts +11 -8
  57. package/src/js/oncoprint.ts +706 -385
  58. package/src/js/oncoprintheaderview.ts +165 -125
  59. package/src/js/oncoprintlabelview.ts +388 -170
  60. package/src/js/oncoprintlegendrenderer.ts +203 -72
  61. package/src/js/oncoprintminimapview.ts +965 -423
  62. package/src/js/oncoprintmodel.ts +905 -532
  63. package/src/js/oncoprintruleset.ts +694 -379
  64. package/src/js/oncoprintshape.ts +240 -97
  65. package/src/js/oncoprintshapetosvg.ts +77 -26
  66. package/src/js/oncoprintshapetovertexes.ts +153 -48
  67. package/src/js/oncoprinttooltip.ts +58 -27
  68. package/src/js/oncoprinttrackinfoview.ts +115 -59
  69. package/src/js/oncoprinttrackoptionsview.ts +354 -187
  70. package/src/js/oncoprintwebglcellview.ts +951 -415
  71. package/src/js/oncoprintzoomslider.ts +172 -107
  72. package/src/js/polyfill.ts +7 -3
  73. package/src/js/precomputedcomparator.ts +133 -50
  74. package/src/js/shaders.ts +2 -4
  75. package/src/js/svgfactory.ts +128 -73
  76. package/src/js/utils.ts +51 -31
  77. package/src/js/workers/clustering-worker.ts +50 -42
  78. package/src/test/gradientCategoricalRuleset.spec.ts +55 -38
  79. package/src/test/monolith.spec.ts +718 -285
  80. package/test/generate_data.py +108 -0
  81. package/test/glyphmap-data.js +1041 -0
  82. package/test/heatmap-data.js +1027 -0
  83. package/test/index.html +21 -0
  84. package/test/oncoprint-glyphmap.js +79 -0
  85. package/test/oncoprint-heatmap.js +123 -0
  86. package/tsconfig.json +4 -10
  87. package/tsconfig.test.json +11 -0
  88. package/.idea/misc.xml +0 -6
  89. package/.idea/modules.xml +0 -8
  90. package/.idea/oncoprintjs.iml +0 -12
  91. package/.idea/vcs.xml +0 -6
  92. package/.idea/workspace.xml +0 -105
  93. package/dist/.gitkeep +0 -0
  94. package/dist/js/minimaputils.d.ts +0 -0
  95. package/dist/oncoprint.bundle.js +0 -44313
  96. package/jest.config.js +0 -12
  97. package/src/js/minimaputils.ts +0 -0
  98. package/typings/custom.d.ts +0 -7
  99. package/typings/missing.d.ts +0 -7
  100. package/webpack.config.js +0 -43
@@ -1,10 +1,10 @@
1
- export default class CachedProperty<T> {
2
- private value;
3
- private updateFn;
4
- private bound_properties;
5
- constructor(value: T, updateFn: (...args: any[]) => T);
6
- update(...args: any[]): void;
7
- get(): T;
8
- updateAndGet(): T;
9
- addBoundProperty(cached_property: CachedProperty<any>): void;
10
- }
1
+ export default class CachedProperty<T> {
2
+ private value;
3
+ private updateFn;
4
+ private bound_properties;
5
+ constructor(value: T, updateFn: (...args: any[]) => T);
6
+ update(...args: any[]): void;
7
+ get(): T;
8
+ updateAndGet(): T;
9
+ addBoundProperty(cached_property: CachedProperty<any>): void;
10
+ }
@@ -1 +1 @@
1
- export default function binarysearch<T>(array: T[], target_key: number, keyFn: (t: T) => number, return_closest_lower_if_not_found?: boolean): number;
1
+ export default function binarysearch<T>(array: T[], target_key: number, keyFn: (t: T) => number, return_closest_lower_if_not_found?: boolean): number;
@@ -1,16 +1,16 @@
1
- export declare type SortingVector = (number | string)[];
2
- declare type CompareEquals<T> = (a: T, b: T) => number;
3
- declare type GetVector<T> = (t: T) => SortingVector;
4
- export declare function bucketSort<T>(array: T[], getVector?: (t: T) => SortingVector, compareEquals?: CompareEquals<T>): T[];
5
- export declare function stringSort<T>(array: T[], getString?: (t: T) => string): T[];
6
- export declare function stringToVector(string: string): number[];
7
- export declare function compareFull<T>(d1: T, d2: T, getVector: GetVector<T>, compareEquals?: CompareEquals<T>): number;
8
- export declare function compare(vector1: SortingVector, vector2: SortingVector): number;
9
- export declare function bucketSortHelper<T>(array: T[], getVector: GetVector<T>, sort_range_lower_index_incl: number, sort_range_upper_index_excl: number, vector_index: number, isStringElt: boolean): {
10
- sorted_array: T[];
11
- bucket_ranges: {
12
- lower_index_incl: number;
13
- upper_index_excl: number;
14
- }[];
15
- };
16
- export {};
1
+ export declare type SortingVector = (number | string)[];
2
+ declare type CompareEquals<T> = (a: T, b: T) => number;
3
+ declare type GetVector<T> = (t: T) => SortingVector;
4
+ export declare function bucketSort<T>(array: T[], getVector?: (t: T) => SortingVector, compareEquals?: CompareEquals<T>): T[];
5
+ export declare function stringSort<T>(array: T[], getString?: (t: T) => string): T[];
6
+ export declare function stringToVector(string: string): number[];
7
+ export declare function compareFull<T>(d1: T, d2: T, getVector: GetVector<T>, compareEquals?: CompareEquals<T>): number;
8
+ export declare function compare(vector1: SortingVector, vector2: SortingVector): number;
9
+ export declare function bucketSortHelper<T>(array: T[], getVector: GetVector<T>, sort_range_lower_index_incl: number, sort_range_upper_index_excl: number, vector_index: number, isStringElt: boolean): {
10
+ sorted_array: T[];
11
+ bucket_ranges: {
12
+ lower_index_incl: number;
13
+ upper_index_excl: number;
14
+ }[];
15
+ };
16
+ export {};
@@ -1,15 +1,15 @@
1
- import { CaseItem, CasesAndEntities, EntityItem } from "./workers/clustering-worker";
2
- /**
3
- * Use: cbio.stat.hclusterCases(a);
1
+ import { CaseItem, CasesAndEntities, EntityItem } from './workers/clustering-worker';
2
+ /**
3
+ * Use: cbio.stat.hclusterCases(a);
4
4
 
5
- * @return a deferred which gets resolved with the clustering result
6
- * when the clustering is done.
7
- */
8
- export declare function hclusterColumns(casesAndEntitites: CasesAndEntities): Promise<CaseItem[]>;
9
- /**
10
- * Use: hclusterGeneticEntities(a);
11
- *
12
- * @return a deferred which gets resolved with the clustering result
13
- * when the clustering is done.
14
- */
15
- export declare function hclusterTracks(casesAndEntitites: CasesAndEntities): Promise<EntityItem[]>;
5
+ * @return a deferred which gets resolved with the clustering result
6
+ * when the clustering is done.
7
+ */
8
+ export declare function hclusterColumns(casesAndEntitites: CasesAndEntities): Promise<CaseItem[]>;
9
+ /**
10
+ * Use: hclusterGeneticEntities(a);
11
+ *
12
+ * @return a deferred which gets resolved with the clustering result
13
+ * when the clustering is done.
14
+ */
15
+ export declare function hclusterTracks(casesAndEntitites: CasesAndEntities): Promise<EntityItem[]>;
@@ -1,4 +1,4 @@
1
- import { RGBAColor } from "./oncoprintruleset";
2
- export default function extractrgba(str: string): RGBAColor;
3
- export declare function hexToRGBA(str: string): RGBAColor;
4
- export declare function rgbaToHex(rgba: RGBAColor): string;
1
+ import { RGBAColor } from './oncoprintruleset';
2
+ export default function extractrgba(str: string): RGBAColor;
3
+ export declare function hexToRGBA(str: string): RGBAColor;
4
+ export declare function rgbaToHex(rgba: RGBAColor): string;
@@ -1 +1 @@
1
- export default function haselementsininterval<T>(sorted_list: T[], valueFn: (t: T) => number, lower_inc_val: number, upper_exc_val: number): boolean;
1
+ export default function haselementsininterval<T>(sorted_list: T[], valueFn: (t: T) => number, lower_inc_val: number, upper_exc_val: number): boolean;
@@ -1,4 +1,5 @@
1
- declare const _default: {
2
- [themeName: string]: [number, number, number, number][];
3
- };
4
- export default _default;
1
+ import { RGBAColor } from './oncoprintruleset';
2
+ declare const _default: {
3
+ [themeName: string]: RGBAColor[];
4
+ };
5
+ export default _default;
@@ -1 +1 @@
1
- export default function makesvgelement(tag: string, attrs: any): SVGElement;
1
+ export default function makesvgelement(tag: string, attrs: any): SVGElement;
@@ -1,7 +1,7 @@
1
- import OncoprintModel, { TrackGroupProp, TrackProp } from "./oncoprintmodel";
2
- export declare function calculateTrackTops(model: OncoprintModel, zoomed: boolean): TrackProp<number>;
3
- export declare function calculateHeaderTops(model: OncoprintModel, zoomed: boolean): TrackGroupProp<number>;
4
- export declare function calculateTrackAndHeaderTops(model: OncoprintModel, zoomed: boolean): {
5
- trackTops: TrackProp<number>;
6
- headerTops: TrackGroupProp<number>;
7
- };
1
+ import OncoprintModel, { TrackGroupProp, TrackProp } from './oncoprintmodel';
2
+ export declare function calculateTrackTops(model: OncoprintModel, zoomed: boolean): TrackProp<number>;
3
+ export declare function calculateHeaderTops(model: OncoprintModel, zoomed: boolean): TrackGroupProp<number>;
4
+ export declare function calculateTrackAndHeaderTops(model: OncoprintModel, zoomed: boolean): {
5
+ trackTops: TrackProp<number>;
6
+ headerTops: TrackGroupProp<number>;
7
+ };
@@ -1,170 +1,168 @@
1
- /// <reference types="jquery" />
2
- import './polyfill';
3
- import OncoprintModel, { ColumnId, ColumnLabel, ColumnProp, CustomTrackOption, Datum, SortConfig, TrackGroupHeader, TrackGroupIndex, TrackId, TrackSortDirection, TrackSortSpecification, TrackTooltipFn, UserTrackSpec } from "./oncoprintmodel";
4
- import OncoprintWebGLCellView from './oncoprintwebglcellview';
5
- import OncoprintLabelView from './oncoprintlabelview';
6
- import { RuleSetParams } from './oncoprintruleset';
7
- import OncoprintTrackOptionsView from './oncoprinttrackoptionsview';
8
- import OncoprintLegendView from './oncoprintlegendrenderer';
9
- import OncoprintTrackInfoView from './oncoprinttrackinfoview';
10
- import OncoprintMinimapView, { MinimapViewportSpec } from './oncoprintminimapview';
11
- import OncoprintHeaderView from "./oncoprintheaderview";
12
- export * from "./oncoprintruleset";
13
- export * from "./oncoprintmodel";
14
- export { default as shapeToSvg } from "./oncoprintshapetosvg";
15
- export declare type InitParams = {
16
- init_cell_width?: number;
17
- init_cell_padding?: number;
18
- cell_padding_off_cell_width_threshold?: number;
19
- init_horz_zoom?: number;
20
- init_vert_zoom?: number;
21
- init_track_group_padding?: number;
22
- init_cell_padding_on?: boolean;
23
- max_height?: number;
24
- };
25
- export declare type HorzZoomCallback = (zoom: number) => void;
26
- export declare type MinimapCloseCallback = () => void;
27
- export declare type CellMouseOverCallback = (uid: ColumnId | null, track_id?: TrackId) => void;
28
- export declare type CellClickCallback = (uid: ColumnId | null, track_id?: TrackId) => void;
29
- export declare type ClipboardChangeCallback = (ids: ColumnId[]) => void;
30
- export default class Oncoprint {
31
- private ctr_selector;
32
- private width;
33
- private lastSortId;
34
- private incrementLastSortId;
35
- destroyed: boolean;
36
- webgl_unavailable: boolean;
37
- private $ctr;
38
- private $oncoprint_ctr;
39
- private $cell_div;
40
- private $header_div;
41
- private $legend_div;
42
- private $track_options_div;
43
- private $track_info_div;
44
- private $dummy_scroll_div;
45
- private $minimap_div;
46
- private $cell_canvas;
47
- private $cell_overlay_canvas;
48
- model: OncoprintModel;
49
- header_view: OncoprintHeaderView;
50
- cell_view: OncoprintWebGLCellView;
51
- minimap_view: OncoprintMinimapView;
52
- track_options_view: OncoprintTrackOptionsView;
53
- track_info_view: OncoprintTrackInfoView;
54
- label_view: OncoprintLabelView;
55
- legend_view: OncoprintLegendView;
56
- private keep_horz_zoomed_to_fit;
57
- private keep_horz_zoomed_to_fit_ids;
58
- private pending_resize_and_organize;
59
- private horz_zoom_callbacks;
60
- private minimap_close_callbacks;
61
- private cell_mouse_over_callbacks;
62
- private cell_click_callbacks;
63
- private id_clipboard;
64
- private clipboard_change_callbacks;
65
- private target_dummy_scroll_left;
66
- private target_dummy_scroll_top;
67
- private getCellViewHeight;
68
- constructor(ctr_selector: string, width: number, params?: InitParams);
69
- private _SetLegendTop;
70
- private setLegendTopAfterTimeout;
71
- private setHeight;
72
- private resizeAndOrganize;
73
- private resizeAndOrganizeAfterTimeout;
74
- private maxOncoprintScrollLeft;
75
- private maxOncoprintScrollTop;
76
- private maxDummyScrollDivScroll;
77
- setMinimapVisible(visible: boolean): void;
78
- scrollTo(left: number): void;
79
- onHorzZoom(callback: HorzZoomCallback): void;
80
- onMinimapClose(callback: MinimapCloseCallback): void;
81
- moveTrack(target_track: TrackId, new_previous_track: TrackId): void;
82
- setTrackGroupOrder(index: TrackGroupIndex, track_order: TrackId[], dont_sort?: boolean): void;
83
- setTrackGroupLegendOrder(group_order: TrackGroupIndex[]): void;
84
- keepSorted(keep_sorted?: boolean): void;
85
- addTracks(params_list: UserTrackSpec<Datum>[]): number[];
86
- removeTrack(track_id: TrackId): void;
87
- removeTracks(track_ids: TrackId[]): void;
88
- getTracks(): number[];
89
- removeAllTracks(): void;
90
- removeExpansionTracksFor(track_id: TrackId): void;
91
- disableTrackExpansion(track_id: TrackId): void;
92
- enableTrackExpansion(track_id: TrackId): void;
93
- removeAllExpansionTracksInGroup(index: TrackGroupIndex): void;
94
- setHorzZoomToFit(ids: ColumnId[]): void;
95
- updateHorzZoomToFitIds(ids: ColumnId[]): void;
96
- private updateHorzZoomToFit;
97
- private getHorzZoomToFit;
98
- private executeHorzZoomCallbacks;
99
- private executeMinimapCloseCallbacks;
100
- private doCellMouseOver;
101
- private doCellClick;
102
- getHorzZoom(): number;
103
- setHorzZoomCentered(z: number): void;
104
- setHorzZoom(z: number, still_keep_horz_zoomed_to_fit?: boolean): number;
105
- getVertZoom(): number;
106
- setVertZoom(z: number): number;
107
- private doSetScroll;
108
- private setDummyScrollDivScroll;
109
- setScroll(scroll_left: number, scroll_top: number): void;
110
- setZoom(zoom_x: number, zoom_y: number): void;
111
- setHorzScroll(s: number): number;
112
- setVertScroll(s: number): number;
113
- setViewport(vp: MinimapViewportSpec): void;
114
- getTrackData(track_id: TrackId): any[];
115
- getTrackDataIdKey(track_id: TrackId): string;
116
- /**
117
- * Sets the data for an Oncoprint track.
118
- *
119
- * @param track_id - the ID that identifies the track
120
- * @param {Object[]} data - the list of data for the cells
121
- * @param {string} data_id_key - name of the property of the
122
- * data objects to use as the (column) key
123
- */
124
- setTrackData(track_id: TrackId, data: Datum[], data_id_key: string & keyof Datum): void;
125
- setTrackImportantIds(track_id: TrackId, ids: ColumnId[] | undefined): void;
126
- setTrackGroupSortPriority(priority: TrackGroupIndex[]): void;
127
- resetSortableTracksSortDirection(): void;
128
- setTrackSortDirection(track_id: TrackId, dir: TrackSortDirection): TrackSortDirection;
129
- setTrackSortComparator(track_id: TrackId, sortCmpFn: TrackSortSpecification<Datum>): void;
130
- getTrackSortDirection(track_id: TrackId): TrackSortDirection;
131
- setTrackInfo(track_id: TrackId, msg: string): void;
132
- setTrackTooltipFn(track_id: TrackId, tooltipFn: TrackTooltipFn<Datum>): void;
133
- setShowTrackSublabels(show: boolean): void;
134
- setTrackShowGaps(track_id: TrackId, showGaps: boolean): void;
135
- sort(): void;
136
- shareRuleSet(source_track_id: TrackId, target_track_id: TrackId): void;
137
- setRuleSet(track_id: TrackId, rule_set_params: RuleSetParams): void;
138
- setSortConfig(params: SortConfig): void;
139
- setIdOrder(ids: ColumnId[]): void;
140
- setTrackGroupHeader(index: TrackGroupIndex, header?: TrackGroupHeader): void;
141
- disableInteraction(): void;
142
- enableInteraction(): void;
143
- suppressRendering(): void;
144
- releaseRendering(onComplete?: () => void): void;
145
- triggerPendingResizeAndOrganize(onComplete?: () => void): void;
146
- hideIds(to_hide: ColumnId[], show_others?: boolean): void;
147
- hideTrackLegends(track_ids: TrackId[]): void;
148
- showTrackLegends(track_ids: TrackId[]): void;
149
- setCellPaddingOn(cell_padding_on: boolean): void;
150
- setTrackCustomOptions(track_id: TrackId, options: CustomTrackOption[] | undefined): void;
151
- setTrackInfoTooltip(track_id: TrackId, $tooltip_elt: JQuery | undefined): void;
152
- setTrackMovable(track_id: TrackId, movable: boolean): void;
153
- setWidth(width: number): void;
154
- setColumnLabels(labels: ColumnProp<ColumnLabel>): void;
155
- setShowTrackLabels(s: boolean): void;
156
- onCellMouseOver(callback: CellMouseOverCallback): void;
157
- onCellClick(callback: CellClickCallback): void;
158
- toSVG(with_background?: boolean): SVGSVGElement;
159
- toCanvas(callback: (canvas: HTMLCanvasElement, truncated: boolean) => void, resolution?: number): HTMLImageElement;
160
- toDataUrl(callback: (dataURL: string) => void): void;
161
- highlightTrackLabelOnly(track_id: TrackId): void;
162
- setHighlightedTracks(track_ids: TrackId[]): void;
163
- setHighlightedIds(ids: ColumnId[]): void;
164
- getIdOrder(all?: boolean): string[];
165
- setIdClipboardContents(array: ColumnId[]): void;
166
- getIdClipboardContents(): string[];
167
- onClipboardChange(callback: ClipboardChangeCallback): void;
168
- destroy(): void;
169
- clearMouseOverEffects(): void;
170
- }
1
+ /// <reference types="jquery" />
2
+ /// <reference types="jstree" />
3
+ import './polyfill';
4
+ import OncoprintModel, { ColumnId, ColumnLabel, ColumnProp, CustomTrackOption, Datum, SortConfig, TrackGroupHeader, TrackGroupIndex, TrackId, TrackSortDirection, TrackSortSpecification, TrackTooltipFn, UserTrackSpec } from './oncoprintmodel';
5
+ import OncoprintWebGLCellView from './oncoprintwebglcellview';
6
+ import OncoprintLabelView from './oncoprintlabelview';
7
+ import { RuleSetParams } from './oncoprintruleset';
8
+ import OncoprintTrackOptionsView from './oncoprinttrackoptionsview';
9
+ import OncoprintLegendView from './oncoprintlegendrenderer';
10
+ import OncoprintTrackInfoView from './oncoprinttrackinfoview';
11
+ import OncoprintMinimapView, { MinimapViewportSpec } from './oncoprintminimapview';
12
+ import OncoprintHeaderView from './oncoprintheaderview';
13
+ export declare type InitParams = {
14
+ init_cell_width?: number;
15
+ init_cell_padding?: number;
16
+ cell_padding_off_cell_width_threshold?: number;
17
+ init_horz_zoom?: number;
18
+ init_vert_zoom?: number;
19
+ init_track_group_padding?: number;
20
+ init_cell_padding_on?: boolean;
21
+ max_height?: number;
22
+ };
23
+ export declare type HorzZoomCallback = (zoom: number) => void;
24
+ export declare type MinimapCloseCallback = () => void;
25
+ export declare type CellMouseOverCallback = (uid: ColumnId | null, track_id?: TrackId) => void;
26
+ export declare type CellClickCallback = (uid: ColumnId | null, track_id?: TrackId) => void;
27
+ export declare type ClipboardChangeCallback = (ids: ColumnId[]) => void;
28
+ export default class Oncoprint {
29
+ private ctr_selector;
30
+ private width;
31
+ private lastSortId;
32
+ private incrementLastSortId;
33
+ destroyed: boolean;
34
+ webgl_unavailable: boolean;
35
+ private $ctr;
36
+ private $oncoprint_ctr;
37
+ private $cell_div;
38
+ private $header_div;
39
+ private $legend_div;
40
+ private $track_options_div;
41
+ private $track_info_div;
42
+ private $dummy_scroll_div;
43
+ private $minimap_div;
44
+ private $cell_canvas;
45
+ private $cell_overlay_canvas;
46
+ model: OncoprintModel;
47
+ header_view: OncoprintHeaderView;
48
+ cell_view: OncoprintWebGLCellView;
49
+ minimap_view: OncoprintMinimapView;
50
+ track_options_view: OncoprintTrackOptionsView;
51
+ track_info_view: OncoprintTrackInfoView;
52
+ label_view: OncoprintLabelView;
53
+ legend_view: OncoprintLegendView;
54
+ private keep_horz_zoomed_to_fit;
55
+ private keep_horz_zoomed_to_fit_ids;
56
+ private pending_resize_and_organize;
57
+ private horz_zoom_callbacks;
58
+ private minimap_close_callbacks;
59
+ private cell_mouse_over_callbacks;
60
+ private cell_click_callbacks;
61
+ private id_clipboard;
62
+ private clipboard_change_callbacks;
63
+ private target_dummy_scroll_left;
64
+ private target_dummy_scroll_top;
65
+ private getCellViewHeight;
66
+ constructor(ctr_selector: string, width: number, params?: InitParams);
67
+ private _SetLegendTop;
68
+ private setLegendTopAfterTimeout;
69
+ private setHeight;
70
+ private resizeAndOrganize;
71
+ private resizeAndOrganizeAfterTimeout;
72
+ private maxOncoprintScrollLeft;
73
+ private maxOncoprintScrollTop;
74
+ private maxDummyScrollDivScroll;
75
+ setMinimapVisible(visible: boolean): void;
76
+ scrollTo(left: number): void;
77
+ onHorzZoom(callback: HorzZoomCallback): void;
78
+ onMinimapClose(callback: MinimapCloseCallback): void;
79
+ moveTrack(target_track: TrackId, new_previous_track: TrackId): void;
80
+ setTrackGroupOrder(index: TrackGroupIndex, track_order: TrackId[], dont_sort?: boolean): void;
81
+ setTrackGroupLegendOrder(group_order: TrackGroupIndex[]): void;
82
+ keepSorted(keep_sorted?: boolean): void;
83
+ addTracks(params_list: UserTrackSpec<Datum>[]): number[];
84
+ removeTrack(track_id: TrackId): void;
85
+ removeTracks(track_ids: TrackId[]): void;
86
+ getTracks(): number[];
87
+ removeAllTracks(): void;
88
+ removeExpansionTracksFor(track_id: TrackId): void;
89
+ disableTrackExpansion(track_id: TrackId): void;
90
+ enableTrackExpansion(track_id: TrackId): void;
91
+ removeAllExpansionTracksInGroup(index: TrackGroupIndex): void;
92
+ setHorzZoomToFit(ids: ColumnId[]): void;
93
+ updateHorzZoomToFitIds(ids: ColumnId[]): void;
94
+ private updateHorzZoomToFit;
95
+ private getHorzZoomToFit;
96
+ private executeHorzZoomCallbacks;
97
+ private executeMinimapCloseCallbacks;
98
+ private doCellMouseOver;
99
+ private doCellClick;
100
+ getHorzZoom(): number;
101
+ setHorzZoomCentered(z: number): void;
102
+ setHorzZoom(z: number, still_keep_horz_zoomed_to_fit?: boolean): number;
103
+ getVertZoom(): number;
104
+ setVertZoom(z: number): number;
105
+ private doSetScroll;
106
+ private setDummyScrollDivScroll;
107
+ setScroll(scroll_left: number, scroll_top: number): void;
108
+ setZoom(zoom_x: number, zoom_y: number): void;
109
+ setHorzScroll(s: number): number;
110
+ setVertScroll(s: number): number;
111
+ setViewport(vp: MinimapViewportSpec): void;
112
+ getTrackData(track_id: TrackId): any[];
113
+ getTrackDataIdKey(track_id: TrackId): string;
114
+ /**
115
+ * Sets the data for an Oncoprint track.
116
+ *
117
+ * @param track_id - the ID that identifies the track
118
+ * @param {Object[]} data - the list of data for the cells
119
+ * @param {string} data_id_key - name of the property of the
120
+ * data objects to use as the (column) key
121
+ */
122
+ setTrackData(track_id: TrackId, data: Datum[], data_id_key: string & keyof Datum): void;
123
+ setTrackImportantIds(track_id: TrackId, ids: ColumnId[] | undefined): void;
124
+ setTrackGroupSortPriority(priority: TrackGroupIndex[]): void;
125
+ resetSortableTracksSortDirection(): void;
126
+ setTrackSortDirection(track_id: TrackId, dir: TrackSortDirection): TrackSortDirection;
127
+ setTrackSortComparator(track_id: TrackId, sortCmpFn: TrackSortSpecification<Datum>): void;
128
+ getTrackSortDirection(track_id: TrackId): TrackSortDirection;
129
+ setTrackInfo(track_id: TrackId, msg: string): void;
130
+ setTrackTooltipFn(track_id: TrackId, tooltipFn: TrackTooltipFn<Datum>): void;
131
+ setShowTrackSublabels(show: boolean): void;
132
+ setTrackShowGaps(track_id: TrackId, showGaps: boolean): void;
133
+ sort(): void;
134
+ shareRuleSet(source_track_id: TrackId, target_track_id: TrackId): void;
135
+ setRuleSet(track_id: TrackId, rule_set_params: RuleSetParams): void;
136
+ setSortConfig(params: SortConfig): void;
137
+ setIdOrder(ids: ColumnId[]): void;
138
+ setTrackGroupHeader(index: TrackGroupIndex, header?: TrackGroupHeader): void;
139
+ disableInteraction(): void;
140
+ enableInteraction(): void;
141
+ suppressRendering(): void;
142
+ releaseRendering(onComplete?: () => void): void;
143
+ triggerPendingResizeAndOrganize(onComplete?: () => void): void;
144
+ hideIds(to_hide: ColumnId[], show_others?: boolean): void;
145
+ hideTrackLegends(track_ids: TrackId[]): void;
146
+ showTrackLegends(track_ids: TrackId[]): void;
147
+ setCellPaddingOn(cell_padding_on: boolean): void;
148
+ setTrackCustomOptions(track_id: TrackId, options: CustomTrackOption[] | undefined): void;
149
+ setTrackInfoTooltip(track_id: TrackId, $tooltip_elt: JQuery | undefined): void;
150
+ setTrackMovable(track_id: TrackId, movable: boolean): void;
151
+ setWidth(width: number): void;
152
+ setColumnLabels(labels: ColumnProp<ColumnLabel>): void;
153
+ setShowTrackLabels(s: boolean): void;
154
+ onCellMouseOver(callback: CellMouseOverCallback): void;
155
+ onCellClick(callback: CellClickCallback): void;
156
+ toSVG(with_background?: boolean): SVGSVGElement;
157
+ toCanvas(callback: (canvas: HTMLCanvasElement, truncated: boolean) => void, resolution?: number): HTMLImageElement;
158
+ toDataUrl(callback: (dataURL: string) => void): void;
159
+ highlightTrackLabelOnly(track_id: TrackId): void;
160
+ setHighlightedTracks(track_ids: TrackId[]): void;
161
+ setHighlightedIds(ids: ColumnId[]): void;
162
+ getIdOrder(all?: boolean): string[];
163
+ setIdClipboardContents(array: ColumnId[]): void;
164
+ getIdClipboardContents(): string[];
165
+ onClipboardChange(callback: ClipboardChangeCallback): void;
166
+ destroy(): void;
167
+ clearMouseOverEffects(): void;
168
+ }
@@ -1,22 +1,23 @@
1
- /// <reference types="jquery" />
2
- import OncoprintModel from "./oncoprintmodel";
3
- export declare const CLOSE_MENUS_EVENT = "oncoprint-header-view.do-close-menus";
4
- export default class OncoprintHeaderView {
5
- private rendering_suppressed;
6
- private $occluded_ctr;
7
- private $dropdowns_ctr;
8
- private clickHandler;
9
- private $dropdowns;
10
- constructor($div: JQuery);
11
- destroy(): void;
12
- private closeAllDropdowns;
13
- private closeDropdownsExcept;
14
- private static $makeDropdownOption;
15
- private static $makeDropdownSeparator;
16
- render(model: OncoprintModel): void;
17
- setScroll(model: OncoprintModel): void;
18
- setVertScroll(model: OncoprintModel): void;
19
- suppressRendering(): void;
20
- releaseRendering(model: OncoprintModel): void;
21
- toSVGGroup(model: OncoprintModel, offset_x: number, offset_y: number): SVGGElement;
22
- }
1
+ /// <reference types="jquery" />
2
+ /// <reference types="jstree" />
3
+ import OncoprintModel from './oncoprintmodel';
4
+ export declare const CLOSE_MENUS_EVENT = "oncoprint-header-view.do-close-menus";
5
+ export default class OncoprintHeaderView {
6
+ private rendering_suppressed;
7
+ private $occluded_ctr;
8
+ private $dropdowns_ctr;
9
+ private clickHandler;
10
+ private $dropdowns;
11
+ constructor($div: JQuery);
12
+ destroy(): void;
13
+ private closeAllDropdowns;
14
+ private closeDropdownsExcept;
15
+ private static $makeDropdownOption;
16
+ private static $makeDropdownSeparator;
17
+ render(model: OncoprintModel): void;
18
+ setScroll(model: OncoprintModel): void;
19
+ setVertScroll(model: OncoprintModel): void;
20
+ suppressRendering(): void;
21
+ releaseRendering(model: OncoprintModel): void;
22
+ toSVGGroup(model: OncoprintModel, offset_x: number, offset_y: number): SVGGElement;
23
+ }