1 | window.addEventListener('load', function () {
|
2 | Tooltip.init();
|
3 |
|
4 | var zoomOutDisabled = true;
|
5 |
|
6 | var treemap = new CarrotSearchFoamTree({
|
7 | id: 'treemap',
|
8 | layout: 'squarified',
|
9 | stacking: 'flattened',
|
10 | maxGroupLevelsDrawn: Number.MAX_VALUE,
|
11 | maxGroupLabelLevelsDrawn: Number.MAX_VALUE,
|
12 | groupLabelVerticalPadding: 0.2,
|
13 | rolloutDuration: 0,
|
14 | pullbackDuration: 0,
|
15 | fadeDuration: 0,
|
16 | zoomMouseWheelDuration: 300,
|
17 | openCloseDuration: 200,
|
18 | dataObject: {
|
19 | groups: window.chartData
|
20 | },
|
21 |
|
22 | titleBarDecorator: function (opts, props, vars) {
|
23 | vars.titleBarShown = false;
|
24 | },
|
25 |
|
26 | onGroupClick: function (event) {
|
27 | preventDefault(event);
|
28 | zoomOutDisabled = false;
|
29 | treemap.zoom(event.group);
|
30 | },
|
31 |
|
32 | onGroupDoubleClick: preventDefault,
|
33 |
|
34 | onGroupHover: function (event) {
|
35 | var group = event.group;
|
36 |
|
37 | if (group) {
|
38 | Tooltip.show(
|
39 | '<b>' + group.label + '</b><br>' +
|
40 | (group.parsedSize === undefined ? '' : '<br>Parsed size: <b>' + filesize(group.parsedSize) + '</b>') +
|
41 | '<br>Stat size: <b>' + filesize(group.statSize) + '</b>' +
|
42 | (group.path ? '<br>Path: <b>' + group.path + '</b>' : '')
|
43 | );
|
44 | } else {
|
45 | Tooltip.hide();
|
46 | }
|
47 | },
|
48 |
|
49 | onGroupMouseWheel: function (event) {
|
50 | var isZoomOut = (event.delta < 0);
|
51 |
|
52 | if (isZoomOut) {
|
53 | if (zoomOutDisabled) return preventDefault(event);
|
54 |
|
55 | if (this.get('viewport').scale < 1) {
|
56 | zoomOutDisabled = true;
|
57 | preventDefault(event);
|
58 | }
|
59 | } else {
|
60 | zoomOutDisabled = false;
|
61 | }
|
62 | }
|
63 | });
|
64 |
|
65 | window.addEventListener('resize', treemap.resize);
|
66 |
|
67 | function preventDefault(event) {
|
68 | event.preventDefault();
|
69 | }
|
70 | }, false);
|