Skip to content

Commit

Permalink
Fix imports in nvd3.js, include underscore in package bundle
Browse files Browse the repository at this point in the history
  • Loading branch information
dannon committed Feb 13, 2018
1 parent 6c68e8e commit 5d4301a
Show file tree
Hide file tree
Showing 2 changed files with 83 additions and 61 deletions.
3 changes: 2 additions & 1 deletion config/plugins/visualizations/nvd3/nvd3_bar/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@
"d3": "^3.4.5",
"jquery": "^3.1.1",
"nvd3": "^1.8.6",
"parcel-bundler": "^1.4.1"
"parcel-bundler": "^1.4.1",
"underscore": "^1.8.3"
},
"scripts": {
"build": "parcel build src/nvd3.js -d static"
Expand Down
141 changes: 81 additions & 60 deletions config/plugins/visualizations/nvd3/nvd3_bar/src/nvd3.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
/** This is the common wrapper for nvd3 based visualizations. */
import * as d3 from "d3";
import * as nv from "nvd3";
import * as $ from "jquery";
import * as Backbone from "backbone";
import * as _ from "underscore";

import "../node_modules/nvd3/build/nv.d3.css";

var Series = window.bundleEntries.chartUtilities.Series;
Expand Down Expand Up @@ -99,15 +103,15 @@ var PieWrapper = Backbone.View.extend({
var targets = options.targets;
var process = options.process;
Datasets.request({
dataset_id: chart.get('dataset_id'),
dataset_id: chart.get("dataset_id"),
dataset_groups: chart.groups,
success: function(groups) {
window.console.log(groups);
for (var group_index in groups) {
var group = groups[group_index];
self._drawGroup(chart, group, targets[group_index]);
}
chart.state('ok', 'Pie chart has been drawn.');
chart.state("ok", "Pie chart has been drawn.");
process.resolve();
}
});
Expand All @@ -117,21 +121,22 @@ var PieWrapper = Backbone.View.extend({
_drawGroup: function(chart, group, canvas_id) {
try {
var self = this;
var canvas = d3.select('#' + canvas_id);
var title = canvas.append('text');
var canvas = d3.select("#" + canvas_id);
var title = canvas.append("text");
this._fixTitle(chart, canvas, title, group.key);
var pie_data = [];
_.each( group.values, function( value ) {
pie_data.push({y : value.y, x : value.label});
_.each(group.values, function(value) {
pie_data.push({ y: value.y, x: value.label });
});
nv.addGraph(function() {
var legend_visible = chart.settings.get('show_legend') == 'true';
var label_outside = chart.settings.get('label_outside') == 'true';
var label_type = chart.settings.get('label_type');
var donut_ratio = parseFloat(chart.settings.get('donut_ratio'));
var chart_3d = nv.models.pieChart()
.donut( true )
.labelThreshold(.05)
var legend_visible = chart.settings.get("show_legend") == "true";
var label_outside = chart.settings.get("label_outside") == "true";
var label_type = chart.settings.get("label_type");
var donut_ratio = parseFloat(chart.settings.get("donut_ratio"));
var chart_3d = nv.models
.pieChart()
.donut(true)
.labelThreshold(0.05)
.showLegend(legend_visible)
.labelType(label_type)
.donutRatio(donut_ratio)
Expand All @@ -149,12 +154,13 @@ var PieWrapper = Backbone.View.extend({

/** Fix title */
_fixTitle: function(chart, canvas, title_element, title_text) {
var width = parseInt(canvas.style('width'));
var height = parseInt(canvas.style('height'));
title_element.attr('x', width / 2)
.attr('y', height - 10)
.attr('text-anchor', 'middle')
.text(title_text);
var width = parseInt(canvas.style("width"));
var height = parseInt(canvas.style("height"));
title_element
.attr("x", width / 2)
.attr("y", height - 10)
.attr("text-anchor", "middle")
.text(title_text);
}
});

Expand Down Expand Up @@ -182,44 +188,58 @@ _.extend(window.bundleEntries || {}, {
return new CommonWrapper(options);
},
nvd3_histogram: function(options) {
Jobs.request(options.chart, Jobs.requestCharts(options.chart, "histogram"), function(dataset) {
var dataset_groups = new Backbone.Collection();
options.chart.groups.each( function( group, index ) {
dataset_groups.add({
__data_columns: { x: { is_numeric: true }, y: { is_numeric: true } },
x : 0,
y : index + 1,
key : group.get("key")
Jobs.request(
options.chart,
Jobs.requestCharts(options.chart, "histogram"),
function(dataset) {
var dataset_groups = new Backbone.Collection();
options.chart.groups.each(function(group, index) {
dataset_groups.add({
__data_columns: { x: { is_numeric: true }, y: { is_numeric: true } },
x: 0,
y: index + 1,
key: group.get("key")
});
});
});
options.dataset_id = dataset.id;
options.dataset_groups = dataset_groups;
options.type = "multiBarChart";
options.makeConfig = function( nvd3_model ) {
nvd3_model.options( { showControls: true } );
};
new CommonWrapper(options);
}, function() {options.process.reject()} );
options.dataset_id = dataset.id;
options.dataset_groups = dataset_groups;
options.type = "multiBarChart";
options.makeConfig = function(nvd3_model) {
nvd3_model.options({ showControls: true });
};
new CommonWrapper(options);
},
function() {
options.process.reject();
}
);
},
nvd3_histogram_discrete: function(options) {
Jobs.request(options.chart, Jobs.requestCharts(options.chart, "histogramdiscrete"), function(dataset) {
var dataset_groups = new Backbone.Collection();
options.chart.groups.each( function( group, index ) {
dataset_groups.add({
__data_columns: { x: { is_label: true }, y: { is_numeric: true } },
x : 0,
y : index + 1,
key : group.get("key")
Jobs.request(
options.chart,
Jobs.requestCharts(options.chart, "histogramdiscrete"),
function(dataset) {
var dataset_groups = new Backbone.Collection();
options.chart.groups.each(function(group, index) {
dataset_groups.add({
__data_columns: { x: { is_label: true }, y: { is_numeric: true } },
x: 0,
y: index + 1,
key: group.get("key")
});
});
});
options.dataset_id = dataset.id;
options.dataset_groups = dataset_groups;
options.type = "multiBarChart";
options.makeConfig = function( nvd3_model ) {
nvd3_model.options( { showControls: true } );
};
new CommonWrapper(options);
}, function() {options.process.reject()} );
options.dataset_id = dataset.id;
options.dataset_groups = dataset_groups;
options.type = "multiBarChart";
options.makeConfig = function(nvd3_model) {
nvd3_model.options({ showControls: true });
};
new CommonWrapper(options);
},
function() {
options.process.reject();
}
);
},
nvd3_line: function(options) {
options.type = "lineChart";
Expand All @@ -238,10 +258,11 @@ _.extend(window.bundleEntries || {}, {
},
nvd3_scatter: function(options) {
options.type = "scatterChart";
options.makeConfig = function( nvd3_model ) {
nvd3_model.showDistX( true )
.showDistY( true )
.color( d3.scale.category10().range() );
options.makeConfig = function(nvd3_model) {
nvd3_model
.showDistX(true)
.showDistY(true)
.color(d3.scale.category10().range());
};
return new CommonWrapper(options);
},
Expand All @@ -251,16 +272,16 @@ _.extend(window.bundleEntries || {}, {
},
nvd3_stackedarea_full: function(options) {
options.type = "stackedAreaChart";
options.makeConfig = function( nvd3_model ) {
options.makeConfig = function(nvd3_model) {
nvd3_model.style("expand");
};
return new CommonWrapper(options);
},
nvd3_stackedarea_stream: function(options) {
options.type = "stackedAreaChart";
options.makeConfig = function( nvd3_model ) {
options.makeConfig = function(nvd3_model) {
nvd3_model.style("stream");
};
return new CommonWrapper(options);
},
}
});

0 comments on commit 5d4301a

Please sign in to comment.