kosmatov/sidekiq-benchmark

View on GitHub

Showing 19 of 50 total issues

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

/*
 * Chartkick.js
 * Create beautiful charts with one line of JavaScript
 * https://github.com/ankane/chartkick.js
 * v3.2.1
Severity: Major
Found in web/assets/javascripts/chartkick.js - About 5 days to fix

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

      var createDataTable = function (chart, options, chartType, library) {
        var datasets = [];
        var labels = [];
    
        var colors = chart.options.colors || defaultColors;
    Severity: Major
    Found in web/assets/javascripts/chartkick.js - About 1 day to fix

      Function setFormatOptions has 90 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

        var setFormatOptions = function(chart, options, chartType) {
          var formatOptions = {
            prefix: chart.options.prefix,
            suffix: chart.options.suffix,
            thousands: chart.options.thousands,
      Severity: Major
      Found in web/assets/javascripts/chartkick.js - About 3 hrs to fix

        Function formatValue has 80 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

          function formatValue(pre, value, options, axis) {
            pre = pre || "";
            if (options.prefix) {
              if (value < 0) {
                value = value * -1;
        Severity: Major
        Found in web/assets/javascripts/chartkick.js - About 3 hrs to fix

          Method registered has 52 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

                def self.registered(app)
                  app.helpers Chartkick::Helper
          
                  app.get '/benchmarks/javascripts/chartkick.js' do
                    body = File.read File.join(JS_DIR, 'chartkick.js')
          Severity: Major
          Found in lib/sidekiq-benchmark/web.rb - About 2 hrs to fix

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

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

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

                defaultExport$2.prototype.createDataTable = function createDataTable (series, columnType) {
                  var i, j, s, d, key, rows = [], sortedLabels = [];
                  for (i = 0; i < series.length; i++) {
                    s = series[i];
                    series[i].name = series[i].name || "Value";
              Severity: Minor
              Found in web/assets/javascripts/chartkick.js - About 1 hr to fix

                Function addDownloadButton has 37 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                  function addDownloadButton(chart) {
                    var element = chart.element;
                    var link = document.createElement("a");
                
                    var download = chart.options.download;
                Severity: Minor
                Found in web/assets/javascripts/chartkick.js - About 1 hr to fix

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

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

                    Function jsOptionsFunc has 33 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                      function jsOptionsFunc(defaultOptions, hideLegend, setTitle, setMin, setMax, setStacked, setXtitle, setYtitle) {
                        return function (chart, opts, chartOptions) {
                          var series = chart.data;
                          var options = merge({}, defaultOptions);
                          options = merge(options, chartOptions || {});
                    Severity: Minor
                    Found in web/assets/javascripts/chartkick.js - About 1 hr to fix

                      Function renderPieChart has 29 lines of code (exceeds 25 allowed). Consider refactoring.
                      Open

                        defaultExport.prototype.renderPieChart = function renderPieChart (chart) {
                          var options = merge({}, baseOptions);
                          if (chart.options.donut) {
                            options.cutoutPercentage = 50;
                          }
                      Severity: Minor
                      Found in web/assets/javascripts/chartkick.js - About 1 hr to fix

                        Function parseISO8601 has 28 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 web/assets/javascripts/chartkick.js - About 1 hr to fix

                          Function renderPieChart has 28 lines of code (exceeds 25 allowed). Consider refactoring.
                          Open

                            defaultExport$2.prototype.renderPieChart = function renderPieChart (chart) {
                                var this$1 = this;
                          
                              this.waitForLoaded(chart, function () {
                                var chartOptions = {
                          Severity: Minor
                          Found in web/assets/javascripts/chartkick.js - About 1 hr to fix

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

                              function jsOptionsFunc(defaultOptions, hideLegend, setTitle, setMin, setMax, setStacked, setXtitle, setYtitle) {
                            Severity: Major
                            Found in web/assets/javascripts/chartkick.js - About 1 hr to fix

                              Consider simplifying this complex logical expression.
                              Open

                                      if (chart.xtype === "datetime") {
                                        value = new Date(toFloat(i));
                                        // TODO make this efficient
                                        day = day && isDay(value);
                                        if (!dayOfWeek) {
                              Severity: Major
                              Found in web/assets/javascripts/chartkick.js - About 1 hr to fix

                                Avoid deeply nested control flow statements.
                                Open

                                          if (label) {
                                            label += ': ';
                                          }
                                Severity: Major
                                Found in web/assets/javascripts/chartkick.js - About 45 mins to fix

                                  Avoid deeply nested control flow statements.
                                  Open

                                            if (isArray(dataLabel)) {
                                              // show value on first line of multiline label
                                              // need to clone because we are changing the value
                                              dataLabel = dataLabel.slice();
                                              dataLabel[0] += value;
                                  Severity: Major
                                  Found in web/assets/javascripts/chartkick.js - About 45 mins to fix

                                    Consider simplifying this complex logical expression.
                                    Open

                                          if ((options.xmin || options.xmax) && (!options.xmin || isDate(options.xmin)) && (!options.xmax || isDate(options.xmax))) {
                                            return "datetime";
                                          } else {
                                            return "number";
                                          }
                                    Severity: Major
                                    Found in web/assets/javascripts/chartkick.js - About 40 mins to fix

                                      Avoid too many return statements within this function.
                                      Open

                                            return "string";
                                      Severity: Major
                                      Found in web/assets/javascripts/chartkick.js - About 30 mins to fix
                                        Severity
                                        Category
                                        Status
                                        Source
                                        Language