2 * @fileoverview Utility functions for Dygraphs.
4 * @author konigsberg@google.com (Robert Konigsberg)
9 * Get the y-labels for a given axis.
11 * You can specify a parent if more than one graph is in the document.
13 Util
.getYLabels
= function(axis_num
, parent
) {
14 axis_num
= axis_num
|| "";
15 parent
= parent
|| document
;
16 var y_labels
= parent
.getElementsByClassName("dygraph-axis-label-y" + axis_num
);
18 for (var i
= 0; i
< y_labels
.length
; i
++) {
19 ary
.push(y_labels
[i
].innerHTML
);
25 * Get the x-labels for a given axis.
27 * You can specify a parent if more than one graph is in the document.
29 Util
.getXLabels
= function(parent
) {
30 parent
= parent
|| document
;
31 var x_labels
= parent
.getElementsByClassName("dygraph-axis-label-x");
33 for (var i
= 0; i
< x_labels
.length
; i
++) {
34 ary
.push(x_labels
[i
].innerHTML
);
40 * Returns all text in tags w/ a given css class, sorted.
41 * You can specify a parent if more than one graph is on the document.
43 Util
.getClassTexts
= function(css_class
, parent
) {
44 parent
= parent
|| document
;
46 var els
= parent
.getElementsByClassName(css_class
);
47 for (var i
= 0; i
< els
.length
; i
++) {
48 texts
[i
] = els
[i
].textContent
;
54 Util
.getLegend
= function(parent
) {
55 parent
= parent
|| document
;
56 var legend
= parent
.getElementsByClassName("dygraph-legend")[0];
57 return legend
.textContent
;
61 * Assert that all the elements in 'parent' with class 'className' is
62 * the expected font size.
64 Util
.assertFontSizes
= function(parent
, className
, expectedSize
) {
65 var expectedSizePx
= expectedSize
+ "px";
66 var labels
= parent
.getElementsByClassName(className
);
67 assertTrue(labels
.length
> 0);
69 // window.getComputedStyle is apparently compatible with all browsers
70 // (IE first became compatible with IE9.)
71 // If this test fails on earlier browsers, then enable something like this,
72 // because the font size is set by the parent div.
73 // if (!window.getComputedStyle) {
74 // fontSize = label.parentElement.style.fontSize;
76 for (var idx
= 0; idx
< labels
.length
; idx
++) {
77 var label
= labels
[idx
];
78 var fontSize
= window
.getComputedStyle(label
).fontSize
;
79 assertEquals(expectedSizePx
, fontSize
);