Skip to content

Commit a826dd4

Browse files
committed
Remove jQuery from Download Graph
We may need to remove jQuery before enabling Fastboot.
1 parent e2f20c7 commit a826dd4

File tree

2 files changed

+24
-20
lines changed

2 files changed

+24
-20
lines changed

app/components/download-graph.js

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
11
import Component from '@ember/component';
2-
import $ from 'jquery';
32

43
// Colors by http://colorbrewer2.org/#type=diverging&scheme=RdBu&n=10
54
const COLORS = ['#67001f', '#b2182b', '#d6604d', '#f4a582', '#92c5de', '#4393c3', '#2166ac', '#053061'];
65

76
export default Component.extend({
87
classNames: 'graph-data',
8+
resizeHandler: undefined,
99

1010
didInsertElement() {
1111
this._super(...arguments);
1212

13-
$(window).on('resize.chart', () => this.rerender());
14-
$(document).on('googleChartsLoaded', () => this.rerender());
13+
this.resizeHandler = () => this.rerender();
14+
window.addEventListener('resize', this.resizeHandler, false);
15+
document.addEventListener('googleChartsLoaded', this.resizeHandler, false);
1516
},
1617

1718
willDestroyElement() {
18-
$(window).off('resize.chart');
19-
$(document).off('googleChartsLoaded');
19+
window.removeEventListener('resize', this.resizeHandler);
20+
document.removeEventListener('googleChartsLoaded', this.resizeHandler);
2021
},
2122

2223
didRender() {
@@ -69,12 +70,8 @@ export default Component.extend({
6970
}
7071
}
7172

72-
if (!data || !window.google || !window.googleChartsLoaded) {
73-
this.$().hide();
74-
return;
75-
} else {
76-
this.$().show();
77-
}
73+
let show = data && window.google && window.googleChartsLoaded;
74+
this.element.style.display = show ? '' : 'none';
7875

7976
let myData = window.google.visualization.arrayToDataTable(data);
8077

app/components/google-jsapi.js

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,25 @@
1+
/*global google*/
12
import Component from '@ember/component';
2-
import $ from 'jquery';
3+
4+
function createEvent(name) {
5+
let event = document.createEvent('Event');
6+
event.initEvent(name, true, true);
7+
return event;
8+
}
39

410
export default Component.extend({
511
tagName: '',
612

713
didInsertElement() {
8-
$.getScript('https://www.google.com/jsapi', function() {
9-
window.google.load('visualization', '1.0', {
10-
packages: ['corechart'],
11-
callback() {
12-
window.googleChartsLoaded = true;
13-
$(document).trigger('googleChartsLoaded');
14-
},
14+
let script = document.createElement('script');
15+
script.onload = () => {
16+
google.charts.load('current', { packages: ['corechart'] });
17+
google.charts.setOnLoadCallback(() => {
18+
window.googleChartsLoaded = true;
19+
document.dispatchEvent(createEvent('googleChartsLoaded'));
1520
});
16-
});
21+
};
22+
document.body.appendChild(script);
23+
script.src = 'https://www.gstatic.com/charts/loader.js';
1724
},
1825
});

0 commit comments

Comments
 (0)