Skip to content

Commit 1ac2f06

Browse files
authored
Merge pull request #1714 from kzys/no-jquery-from-graph
Remove jQuery from Download Graph
2 parents 4bc88e9 + d8671b1 commit 1ac2f06

File tree

2 files changed

+20
-15
lines changed

2 files changed

+20
-15
lines changed

app/components/download-graph.js

+8-11
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

+12-4
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,26 @@
11
import Component from '@ember/component';
2-
import $ from 'jquery';
2+
3+
function createEvent(name) {
4+
let event = document.createEvent('Event');
5+
event.initEvent(name, true, true);
6+
return event;
7+
}
38

49
export default Component.extend({
510
tagName: '',
611

712
didInsertElement() {
8-
$.getScript('https://www.google.com/jsapi', function() {
13+
let script = document.createElement('script');
14+
script.onload = () => {
915
window.google.load('visualization', '1.0', {
1016
packages: ['corechart'],
1117
callback() {
1218
window.googleChartsLoaded = true;
13-
$(document).trigger('googleChartsLoaded');
19+
document.dispatchEvent(createEvent('googleChartsLoaded'));
1420
},
1521
});
16-
});
22+
};
23+
document.body.appendChild(script);
24+
script.src = 'https://www.google.com/jsapi';
1725
},
1826
});

0 commit comments

Comments
 (0)