Skip to content
This repository was archived by the owner on Dec 30, 2023. It is now read-only.

Commit c086a04

Browse files
update code to dc@4
this is a funny mix of ES5 closure-classes and ES6 classes but it's nice to see it all works and there is an easy upgrade path :) fixes #39
1 parent 4a9bb91 commit c086a04

File tree

4 files changed

+13
-11
lines changed

4 files changed

+13
-11
lines changed

src/bubbleChart.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ dc_leaflet.bubbleChart = function (parent, chartGroup) {
55
* Private variables -- default values.
66
* ####################################
77
*/
8-
var _chart = dc_leaflet.leafletBase({});
8+
var _chart = dc_leaflet.leafletBase(dc.MarginMixin);
99
var _selectedColor = 'blue';
1010
var _unselectedColor = 'gray';
1111
var _layerGroup = false;

src/choroplethChart.js

+5-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
dc_leaflet.choroplethChart = function(parent, chartGroup) {
2-
var _chart = dc.colorChart(dc_leaflet.leafletBase({}));
2+
var _chart = dc_leaflet.leafletBase(dc.ColorMixin(dc.MarginMixin));
33

44
var _geojsonLayer = false;
55
var _dataMap = [];
@@ -48,15 +48,16 @@ dc_leaflet.choroplethChart = function(parent, chartGroup) {
4848
_chart.map().addLayer(_geojsonLayer);
4949
};
5050

51-
dc.override(_chart, '_doRedraw', function() {
51+
const super_doRedraw = _chart._doRedraw;
52+
_chart._doRedraw = function() {
5253
_geojsonLayer.clearLayers();
5354
_dataMap=[];
5455
_chart._computeOrderedGroups(_chart.data()).forEach(function (d, i) {
5556
_dataMap[_chart.keyAccessor()(d)] = {'d':d, 'i':i};
5657
});
5758
_geojsonLayer.addData(_chart.geojson());
58-
return _chart.__doRedraw();
59-
});
59+
return super_doRedraw.call(this);
60+
};
6061

6162
_chart.geojson = function(_) {
6263
if (!arguments.length) {

src/leafletBase.js

+6-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
dc_leaflet.leafletBase = function(_chart) {
2-
_chart = dc.marginMixin(dc.baseChart(_chart));
1+
dc_leaflet.leafletBase = function(Base) {
2+
var _chart = new Base();
33

44
_chart.margins({left:0, top:0, right:0, bottom:0});
55

@@ -111,7 +111,8 @@ dc_leaflet.leafletBase = function(_chart) {
111111
};
112112

113113
// combine Leaflet events into d3 & dc events
114-
dc.override(_chart, 'on', function(event, callback) {
114+
const super_on = _chart.on;
115+
_chart.on = function(event, callback) {
115116
var leaflet_events = ['zoomend', 'moveend'];
116117
if(leaflet_events.indexOf(event) >= 0) {
117118
if(_map) {
@@ -122,8 +123,8 @@ dc_leaflet.leafletBase = function(_chart) {
122123
}
123124
return this;
124125
}
125-
else return _chart._on(event, callback);
126-
});
126+
else return super_on.call(this, event, callback);
127+
};
127128

128129
return _chart;
129130
};

src/markerChart.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
dc_leaflet.markerChart = function(parent, chartGroup) {
2-
var _chart = dc_leaflet.leafletBase({});
2+
var _chart = dc_leaflet.leafletBase(dc.MarginMixin);
33

44
var _renderPopup = true;
55
var _cluster = false; // requires leaflet.markerCluster

0 commit comments

Comments
 (0)