ashanbrown/chartnado

View on GitHub
lib/assets/javascripts/chartkick-chartnado.js

Summary

Maintainability
F
4 days
Test Coverage

File chartkick-chartnado.js has 723 lines of code (exceeds 250 allowed). Consider refactoring.
Open

/*
 * Derived from:
 *
 * Chartkick.js
 * Create beautiful Javascript charts with minimal code
Severity: Major
Found in lib/assets/javascripts/chartkick-chartnado.js - About 1 day to fix

    Function GoogleChartsAdapter has 262 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

        var GoogleChartsAdapter = new function () {
          var google = window.google;
    
          var loaded = {};
          var callbacks = [];
    Severity: Major
    Found in lib/assets/javascripts/chartkick-chartnado.js - About 1 day to fix

      Function HighchartsAdapter has 146 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          var HighchartsAdapter = new function () {
            var Highcharts = window.Highcharts;
      
            var defaultOptions = {
              chart: {},
      Severity: Major
      Found in lib/assets/javascripts/chartkick-chartnado.js - About 5 hrs to fix

        Consider simplifying this complex logical expression.
        Open

          if (window.google && window.google.setOnLoadCallback) {
            var GoogleChartsAdapter = new function () {
              var google = window.google;
        
              var loaded = {};
        Severity: Critical
        Found in lib/assets/javascripts/chartkick-chartnado.js - About 2 hrs to fix

          Function createDataTable has 46 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

                var createDataTable = function (series, columnType) {
                  var data = new google.visualization.DataTable();
                  data.addColumn(columnType, "");
          
                  var i, j, s, d, rows = [], pos, rowPos = [], columns;
          Severity: Minor
          Found in lib/assets/javascripts/chartkick-chartnado.js - About 1 hr to fix

            Function processSeries has 35 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

              function processSeries(series, opts, time) {
                var i, data, key;
            
                // see if one series or multiple
                if (!isArray(series) || typeof series[0] !== "object" || isArray(series[0])) {
            Severity: Minor
            Found in lib/assets/javascripts/chartkick-chartnado.js - About 1 hr to fix

              Function renderColumnChart has 35 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

                    this.renderColumnChart = function (chart, chartType) {
                      var chartType = chartType || "column";
                      var series = chart.data;
                      var options = jsOptions(series, chart.options), i, j, s, d, rows = [];
                      options.chart.type = chartType;
              Severity: Minor
              Found in lib/assets/javascripts/chartkick-chartnado.js - About 1 hr to fix

                Function renderLineChart has 32 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                      this.renderLineChart = function (chart, chartType) {
                        chartType = chartType || "spline";
                        var chartOptions = {};
                        if (chartType === "areaspline") {
                          chartOptions = {
                Severity: Minor
                Found in lib/assets/javascripts/chartkick-chartnado.js - About 1 hr to fix

                  Function parseISO8601 has 27 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                    function parseISO8601(input) {
                      var day, hour, matches, milliseconds, minutes, month, offset, result, seconds, type, year;
                      type = Object.prototype.toString.call(input);
                      if (type === '[object Date]') {
                        return input;
                  Severity: Minor
                  Found in lib/assets/javascripts/chartkick-chartnado.js - About 1 hr to fix

                    Function jsOptionsFunc has 5 arguments (exceeds 4 allowed). Consider refactoring.
                    Open

                      function jsOptionsFunc(defaultOptions, hideLegend, setMin, setMax, setStacked) {
                    Severity: Minor
                    Found in lib/assets/javascripts/chartkick-chartnado.js - About 35 mins to fix

                      Function setElement has 5 arguments (exceeds 4 allowed). Consider refactoring.
                      Open

                        function setElement(chart, element, dataSource, opts, callback) {
                      Severity: Minor
                      Found in lib/assets/javascripts/chartkick-chartnado.js - About 35 mins to fix

                        There are no issues that match your filters.

                        Category
                        Status