cBioPortal/iViz

View on GitHub
app/scripts/vueCore.js

Summary

Maintainability
F
6 days
Test Coverage

Function manage has 382 lines of code (exceeds 25 allowed). Consider refactoring.
Open

  iViz.vue.manage = (function() {
    var vmInstance_;

    return {
      init: function() {
Severity: Major
Found in app/scripts/vueCore.js - About 1 day to fix

    Function init has 362 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

          init: function() {
            vmInstance_ = new Vue({
              el: '#complete-screen',
              data: {
                groups: [],
    Severity: Major
    Found in app/scripts/vueCore.js - About 1 day to fix

      File vueCore.js has 411 lines of code (exceeds 250 allowed). Consider refactoring.
      Open

      'use strict';
      (function(Vue, iViz, dc, _) {
        iViz.vue = {};
      
        iViz.vue.manage = (function() {
      Severity: Minor
      Found in app/scripts/vueCore.js - About 5 hrs to fix

        Function addChart has 62 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

                    addChart: function(attrId) {
                      var self_ = this;
                      var attrData = self_.charts[attrId];
                      var _attrAdded = false;
                      var _group = {};
        Severity: Major
        Found in app/scripts/vueCore.js - About 2 hrs to fix

          Function setSelectedCases has 58 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

                      setSelectedCases: function(selectionType, selectedCases) {
                        var radioVal = selectionType;
                        var selectedCaseUIDs = [];
                        var unmappedCaseIDs = [];
          
          
          Severity: Major
          Found in app/scripts/vueCore.js - About 2 hrs to fix

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

                      }, ready: function() {
                        $('#iviz-header-left-patient-select').qtip({
                          content: {text: 'View the selected patients.'},
                          style: {classes: 'qtip-light qtip-rounded qtip-shadow'},
                          show: {event: 'mouseover'},
            Severity: Minor
            Found in app/scripts/vueCore.js - About 1 hr to fix

              Unexpected trailing comma.
              Open

                          },
              Severity: Minor
              Found in app/scripts/vueCore.js by eslint

              require or disallow trailing commas (comma-dangle)

              (fixable) The --fix option on the [command line](../user-guide/command-line-interface#fix) automatically fixes problems reported by this rule.

              Trailing commas in object literals are valid according to the ECMAScript 5 (and ECMAScript 3!) spec. However, IE8 (when not in IE8 document mode) and below will throw an error when it encounters trailing commas in JavaScript.

              var foo = {
                  bar: "baz",
                  qux: "quux",
              };

              Trailing commas simplify adding and removing items to objects and arrays, since only the lines you are modifying must be touched. Another argument in favor of trailing commas is that it improves the clarity of diffs when an item is added or removed from an object or array:

              Less clear:

              var foo = {
              -    bar: "baz",
              -    qux: "quux"
              +    bar: "baz"
               };

              More clear:

              var foo = {
                   bar: "baz",
              -    qux: "quux",
               };

              Rule Details

              This rule enforces consistent use of trailing commas in object and array literals.

              Options

              This rule has a string option:

              • "never" (default) disallows trailing commas
              • "always" requires trailing commas
              • "always-multiline" requires trailing commas when the last element or property is in a different line than the closing ] or } and disallows trailing commas when the last element or property is on the same line as the closing ] or }
              • "only-multiline" allows (but does not require) trailing commas when the last element or property is in a different line than the closing ] or } and disallows trailing commas when the last element or property is on the same line as the closing ] or }

              never

              Examples of incorrect code for this rule with the default "never" option:

              /*eslint comma-dangle: ["error", "never"]*/
              
              var foo = {
                  bar: "baz",
                  qux: "quux",
              };
              
              var arr = [1,2,];
              
              foo({
                bar: "baz",
                qux: "quux",
              });

              Examples of correct code for this rule with the default "never" option:

              /*eslint comma-dangle: ["error", "never"]*/
              
              var foo = {
                  bar: "baz",
                  qux: "quux"
              };
              
              var arr = [1,2];
              
              foo({
                bar: "baz",
                qux: "quux"
              });

              always

              Examples of incorrect code for this rule with the "always" option:

              /*eslint comma-dangle: ["error", "always"]*/
              
              var foo = {
                  bar: "baz",
                  qux: "quux"
              };
              
              var arr = [1,2];
              
              foo({
                bar: "baz",
                qux: "quux"
              });

              Examples of correct code for this rule with the "always" option:

              /*eslint comma-dangle: ["error", "always"]*/
              
              var foo = {
                  bar: "baz",
                  qux: "quux",
              };
              
              var arr = [1,2,];
              
              foo({
                bar: "baz",
                qux: "quux",
              });

              always-multiline

              Examples of incorrect code for this rule with the "always-multiline" option:

              /*eslint comma-dangle: ["error", "always-multiline"]*/
              
              var foo = {
                  bar: "baz",
                  qux: "quux"
              };
              
              var foo = { bar: "baz", qux: "quux", };
              
              var arr = [1,2,];
              
              var arr = [1,
                  2,];
              
              var arr = [
                  1,
                  2
              ];
              
              foo({
                bar: "baz",
                qux: "quux"
              });

              Examples of correct code for this rule with the "always-multiline" option:

              /*eslint comma-dangle: ["error", "always-multiline"]*/
              
              var foo = {
                  bar: "baz",
                  qux: "quux",
              };
              
              var foo = {bar: "baz", qux: "quux"};
              var arr = [1,2];
              
              var arr = [1,
                  2];
              
              var arr = [
                  1,
                  2,
              ];
              
              foo({
                bar: "baz",
                qux: "quux",
              });

              only-multiline

              Examples of incorrect code for this rule with the "only-multiline" option:

              /*eslint comma-dangle: ["error", "only-multiline"]*/
              
              var foo = { bar: "baz", qux: "quux", };
              
              var arr = [1,2,];
              
              var arr = [1,
                  2,];

              Examples of correct code for this rule with the "only-multiline" option:

              /*eslint comma-dangle: ["error", "only-multiline"]*/
              
              var foo = {
                  bar: "baz",
                  qux: "quux",
              };
              
              var foo = {
                  bar: "baz",
                  qux: "quux"
              };
              
              var foo = {bar: "baz", qux: "quux"};
              var arr = [1,2];
              
              var arr = [1,
                  2];
              
              var arr = [
                  1,
                  2,
              ];
              
              var arr = [
                  1,
                  2
              ];
              
              foo({
                bar: "baz",
                qux: "quux",
              });
              
              foo({
                bar: "baz",
                qux: "quux"
              });

              When Not To Use It

              You can turn this rule off if you are not concerned with dangling commas. Source: http://eslint.org/docs/rules/

              Expected '===' and instead saw '=='.
              Open

                              if (pair.length == 2) {
              Severity: Minor
              Found in app/scripts/vueCore.js by eslint

              Require === and !== (eqeqeq)

              It is considered good practice to use the type-safe equality operators === and !== instead of their regular counterparts == and !=.

              The reason for this is that == and != do type coercion which follows the rather obscure Abstract Equality Comparison Algorithm. For instance, the following statements are all considered true:

              • [] == false
              • [] == ![]
              • 3 == "03"

              If one of those occurs in an innocent-looking statement such as a == b the actual problem is very difficult to spot.

              Rule Details

              This rule is aimed at eliminating the type-unsafe equality operators.

              Examples of incorrect code for this rule:

              /*eslint eqeqeq: "error"*/
              
              if (x == 42) { }
              
              if ("" == text) { }
              
              if (obj.getStuff() != undefined) { }

              Options

              smart

              The "smart" option enforces the use of === and !== except for these cases:

              • Comparing two literal values
              • Evaluating the value of typeof
              • Comparing against null

              Examples of incorrect code for the "smart" option:

              /*eslint eqeqeq: ["error", "smart"]*/
              
              // comparing two variables requires ===
              a == b
              
              // only one side is a literal
              foo == true
              bananas != 1
              
              // comparing to undefined requires ===
              value == undefined

              Examples of correct code for the "smart" option:

              /*eslint eqeqeq: ["error", "smart"]*/
              
              typeof foo == 'undefined'
              'hello' != 'world'
              0 == 0
              true == true
              foo == null

              allow-null

              The "allow-null" option will enforce === and !== in your code with one exception - it permits comparing to null to check for null or undefined in a single expression.

              Examples of incorrect code for the "allow-null" option:

              /*eslint eqeqeq: ["error", "allow-null"]*/
              
              bananas != 1
              typeof foo == 'undefined'
              'hello' != 'world'
              0 == 0
              foo == undefined

              Examples of correct code for the "allow-null" option:

              /*eslint eqeqeq: ["error", "allow-null"]*/
              
              foo == null

              When Not To Use It

              If you don't want to enforce a style for using equality operators, then it's safe to disable this rule. Source: http://eslint.org/docs/rules/

              Similar blocks of code found in 3 locations. Consider refactoring.
              Open

                          $('#iviz-header-left-case-download').qtip({
                            content: {text: 'Download clinical data for the selected cases.'},
                            style: {classes: 'qtip-light qtip-rounded qtip-shadow'},
                            show: {event: 'mouseover'},
                            hide: {fixed: true, delay: 100, event: 'mouseout'},
              Severity: Major
              Found in app/scripts/vueCore.js and 2 other locations - About 3 hrs to fix
              app/scripts/vueCore.js on lines 347..357
              app/scripts/vueCore.js on lines 369..379

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 95.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 3 locations. Consider refactoring.
              Open

                          $('#iviz-header-left-patient-select').qtip({
                            content: {text: 'View the selected patients.'},
                            style: {classes: 'qtip-light qtip-rounded qtip-shadow'},
                            show: {event: 'mouseover'},
                            hide: {fixed: true, delay: 100, event: 'mouseout'},
              Severity: Major
              Found in app/scripts/vueCore.js and 2 other locations - About 3 hrs to fix
              app/scripts/vueCore.js on lines 358..368
              app/scripts/vueCore.js on lines 369..379

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 95.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 3 locations. Consider refactoring.
              Open

                          $('#iviz-form').qtip({
                            content: {text: 'Query the selected samples.'},
                            style: {classes: 'qtip-light qtip-rounded qtip-shadow'},
                            show: {event: 'mouseover'},
                            hide: {fixed: true, delay: 100, event: 'mouseout'},
              Severity: Major
              Found in app/scripts/vueCore.js and 2 other locations - About 3 hrs to fix
              app/scripts/vueCore.js on lines 347..357
              app/scripts/vueCore.js on lines 358..368

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 95.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 2 locations. Consider refactoring.
              Open

                          selectedpatientUIDs: function(newVal, oldVal) {
                            if (newVal.length !== oldVal.length) {
                              this.selectedPatientsNum = newVal.length;
                            }
                          },
              Severity: Minor
              Found in app/scripts/vueCore.js and 1 other location - About 35 mins to fix
              app/scripts/vueCore.js on lines 85..89

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 46.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Similar blocks of code found in 2 locations. Consider refactoring.
              Open

                          selectedsampleUIDs: function(newVal, oldVal) {
                            if (newVal.length !== oldVal.length) {
                              this.selectedSamplesNum = newVal.length;
                            }
                          },
              Severity: Minor
              Found in app/scripts/vueCore.js and 1 other location - About 35 mins to fix
              app/scripts/vueCore.js on lines 90..94

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 46.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Line 48 exceeds the maximum line length of 80.
              Open

                            message: 'Failed to open the study.' + (iViz.opts.emailContact ? (' Please contact ' + iViz.opts.emailContact + '.') : '')
              Severity: Minor
              Found in app/scripts/vueCore.js by eslint

              enforce a maximum line length (max-len)

              Very long lines of code in any language can be difficult to read. In order to aid in readability and maintainability many coders have developed a convention to limit lines of code to X number of characters (traditionally 80 characters).

              var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" }; // very long

              Rule Details

              This rule enforces a maximum line length to increase code readability and maintainability.

              Note: This rule calculates the length of a line via code points, not characters. That means if you use a double-byte character in your code, it will count as 2 code points instead of 1, and 2 will be used to calculate line length. This is a technical limitation of JavaScript that is made easier with ES2015, and we will look to update this when ES2015 is available in Node.js.

              Options

              This rule has a number or object option:

              • "code" (default 80) enforces a maximum line length
              • "tabWidth" (default 4) specifies the character width for tab characters
              • "comments" enforces a maximum line length for comments; defaults to value of code
              • "ignorePattern" ignores lines matching a regular expression; can only match a single line and need to be double escaped when written in YAML or JSON
              • "ignoreComments": true ignores all trailing comments and comments on their own line
              • "ignoreTrailingComments": true ignores only trailing comments
              • "ignoreUrls": true ignores lines that contain a URL

              code

              Examples of incorrect code for this rule with the default { "code": 80 } option:

              /*eslint max-len: ["error", 80]*/
              
              var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" };

              Examples of correct code for this rule with the default { "code": 80 } option:

              /*eslint max-len: ["error", 80]*/
              
              var foo = {
                "bar": "This is a bar.",
                "baz": { "qux": "This is a qux" },
                "easier": "to read"
              };

              tabWidth

              Examples of incorrect code for this rule with the default { "tabWidth": 4 } option:

              /*eslint max-len: ["error", 80, 4]*/
              
              \t  \t  var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" } };

              Examples of correct code for this rule with the default { "tabWidth": 4 } option:

              /*eslint max-len: ["error", 80, 4]*/
              
              \t  \t  var foo = {
              \t  \t  \t  \t  "bar": "This is a bar.",
              \t  \t  \t  \t  "baz": { "qux": "This is a qux" }
              \t  \t  };

              comments

              Examples of incorrect code for this rule with the { "comments": 65 } option:

              /*eslint max-len: ["error", { "comments": 65 }]*/
              
              /**
               * This is a comment that violates the maximum line length we have specified
              **/

              ignoreComments

              Examples of correct code for this rule with the { "ignoreComments": true } option:

              /*eslint max-len: ["error", { "ignoreComments": true }]*/
              
              /**
               * This is a really really really really really really really really really long comment
              **/

              ignoreTrailingComments

              Examples of correct code for this rule with the { "ignoreTrailingComments": true } option:

              /*eslint max-len: ["error", { "ignoreTrailingComments": true }]*/
              
              var foo = 'bar'; // This is a really really really really really really really long comment

              ignoreUrls

              Examples of correct code for this rule with the { "ignoreUrls": true } option:

              /*eslint max-len: ["error", { "ignoreUrls": true }]*/
              
              var url = 'https://www.example.com/really/really/really/really/really/really/really/long';

              ignorePattern

              Examples of correct code for this rule with the { "ignorePattern": true } option:

              /*eslint max-len: ["error", { "ignorePattern": "^\\s*var\\s.+=\\s*require\\s*\\(/" }]*/
              
              var dep = require('really/really/really/really/really/really/really/really/long/module');

              Related Rules

              • [complexity](complexity.md)
              • [max-depth](max-depth.md)
              • [max-nested-callbacks](max-nested-callbacks.md)
              • [max-params](max-params.md)
              • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

              Block must not be padded by blank lines.
              Open

              })(window.Vue, window.iViz, window.dc, window._);
              Severity: Minor
              Found in app/scripts/vueCore.js by eslint

              Enforce padding within blocks (padded-blocks)

              Some style guides require block statements to start and end with blank lines. The goal is to improve readability by visually separating the block content and the surrounding code.

              if (a) {
              
                  b();
              
              }

              Since it's good to have a consistent code style, you should either always write padded blocks or never do it.

              Rule Details

              This rule enforces consistent padding within blocks.

              This rule takes one argument, which can be an string or an object. If it is "always" (the default) then block statements must start and end with a blank line. If "never", then block statements should neither start nor end with a blank line. By default, this rule ignores padding in switch statements and classes.

              If you want to enforce padding within switches and classes, a configuration object can be passed as the rule argument to configure the cases separately ( e.g. { "blocks": "always", "switches": "always", "classes": "always" } ).

              The following patterns are considered problems when set to "always":

              /*eslint padded-blocks: ["error", "always"]*/
              
              if (a) {
                  b();
              }
              
              if (a) { b(); }
              
              if (a)
              {
                  b();
              }
              
              if (a) {
              
                  b();
              }
              
              if (a) {
                  b();
              
              }
              
              if (a) {
                  // comment
                  b();
              
              }

              The following patterns are not considered problems when set to "always":

              /*eslint padded-blocks: ["error", "always"]*/
              
              if (a) {
              
                  b();
              
              }
              
              if (a)
              {
              
                  b();
              
              }
              
              if (a) {
              
                  // comment
                  b();
              
              }

              The following patterns are considered problems when set to "never":

              /*eslint padded-blocks: ["error", "never"]*/
              
              if (a) {
              
                  b();
              
              }
              
              if (a)
              {
              
                  b();
              
              }
              
              if (a) {
              
                  b();
              }
              
              if (a) {
                  b();
              
              }

              The following patterns are not considered problems when set to "never":

              /*eslint padded-blocks: ["error", "never"]*/
              
              if (a) {
                  b();
              }
              
              if (a)
              {
                  b();
              }

              The following patterns are considered problems when configured { "switches": "always" }:

              /*eslint padded-blocks: ["error", { "switches": "always" }]*/
              
              switch (a) {
                  case 0: foo();
              }

              The following patterns are not considered problems when configured { "switches": "always" }:

              /*eslint padded-blocks: ["error", { "switches": "always" }]*/
              
              switch (a) {
              
                  case 0: foo();
              
              }
              
              if (a) {
                  b();
              }

              The following patterns are considered problems when configured { "switches": "never" }:

              /*eslint padded-blocks: ["error", { "switches": "never" }]*/
              
              switch (a) {
              
                  case 0: foo();
              
              }

              The following patterns are not considered problems when configured { "switches": "never" }:

              /*eslint padded-blocks: ["error", { "switches": "never" }]*/
              
              switch (a) {
                  case 0: foo();
              }
              
              if (a) {
              
                  b();
              
              }

              The following patterns are considered problems when configured { "classes": "always" }:

              /*eslint padded-blocks: ["error", { "classes": "always" }]*/
              
              class  A {
                  constructor(){
                  }
              }

              The following patterns are not considered problems when configured { "classes": "always" }:

              /*eslint padded-blocks: ["error", { "classes": "always" }]*/
              
              class  A {
              
                  constructor(){
                  }
              
              }

              The following patterns are considered problems when configured { "classes": "never" }:

              /*eslint padded-blocks: ["error", { "classes": "never" }]*/
              
              class  A {
              
                  constructor(){
                  }
              
              }

              The following patterns are not considered problems when configured { "classes": "never" }:

              /*eslint padded-blocks: ["error", { "classes": "never" }]*/
              
              class  A {
                  constructor(){
                  }
              }

              When Not To Use It

              You can turn this rule off if you are not concerned with the consistency of padding within blocks. Source: http://eslint.org/docs/rules/

              Line 202 exceeds the maximum line length of 80.
              Open

                                $.when(iViz.updateGroupNdx(attrData.group_id, attrData.attr_id)).then(function(isGroupNdxDataUpdated) {
              Severity: Minor
              Found in app/scripts/vueCore.js by eslint

              enforce a maximum line length (max-len)

              Very long lines of code in any language can be difficult to read. In order to aid in readability and maintainability many coders have developed a convention to limit lines of code to X number of characters (traditionally 80 characters).

              var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" }; // very long

              Rule Details

              This rule enforces a maximum line length to increase code readability and maintainability.

              Note: This rule calculates the length of a line via code points, not characters. That means if you use a double-byte character in your code, it will count as 2 code points instead of 1, and 2 will be used to calculate line length. This is a technical limitation of JavaScript that is made easier with ES2015, and we will look to update this when ES2015 is available in Node.js.

              Options

              This rule has a number or object option:

              • "code" (default 80) enforces a maximum line length
              • "tabWidth" (default 4) specifies the character width for tab characters
              • "comments" enforces a maximum line length for comments; defaults to value of code
              • "ignorePattern" ignores lines matching a regular expression; can only match a single line and need to be double escaped when written in YAML or JSON
              • "ignoreComments": true ignores all trailing comments and comments on their own line
              • "ignoreTrailingComments": true ignores only trailing comments
              • "ignoreUrls": true ignores lines that contain a URL

              code

              Examples of incorrect code for this rule with the default { "code": 80 } option:

              /*eslint max-len: ["error", 80]*/
              
              var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" };

              Examples of correct code for this rule with the default { "code": 80 } option:

              /*eslint max-len: ["error", 80]*/
              
              var foo = {
                "bar": "This is a bar.",
                "baz": { "qux": "This is a qux" },
                "easier": "to read"
              };

              tabWidth

              Examples of incorrect code for this rule with the default { "tabWidth": 4 } option:

              /*eslint max-len: ["error", 80, 4]*/
              
              \t  \t  var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" } };

              Examples of correct code for this rule with the default { "tabWidth": 4 } option:

              /*eslint max-len: ["error", 80, 4]*/
              
              \t  \t  var foo = {
              \t  \t  \t  \t  "bar": "This is a bar.",
              \t  \t  \t  \t  "baz": { "qux": "This is a qux" }
              \t  \t  };

              comments

              Examples of incorrect code for this rule with the { "comments": 65 } option:

              /*eslint max-len: ["error", { "comments": 65 }]*/
              
              /**
               * This is a comment that violates the maximum line length we have specified
              **/

              ignoreComments

              Examples of correct code for this rule with the { "ignoreComments": true } option:

              /*eslint max-len: ["error", { "ignoreComments": true }]*/
              
              /**
               * This is a really really really really really really really really really long comment
              **/

              ignoreTrailingComments

              Examples of correct code for this rule with the { "ignoreTrailingComments": true } option:

              /*eslint max-len: ["error", { "ignoreTrailingComments": true }]*/
              
              var foo = 'bar'; // This is a really really really really really really really long comment

              ignoreUrls

              Examples of correct code for this rule with the { "ignoreUrls": true } option:

              /*eslint max-len: ["error", { "ignoreUrls": true }]*/
              
              var url = 'https://www.example.com/really/really/really/really/really/really/really/long';

              ignorePattern

              Examples of correct code for this rule with the { "ignorePattern": true } option:

              /*eslint max-len: ["error", { "ignorePattern": "^\\s*var\\s.+=\\s*require\\s*\\(/" }]*/
              
              var dep = require('really/really/really/really/really/really/really/really/long/module');

              Related Rules

              • [complexity](complexity.md)
              • [max-depth](max-depth.md)
              • [max-nested-callbacks](max-nested-callbacks.md)
              • [max-params](max-params.md)
              • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

              Expected indentation of 20 space characters but found 18.
              Open

                                message_type: 'danger'
              Severity: Minor
              Found in app/scripts/vueCore.js by eslint

              enforce consistent indentation (indent)

              (fixable) The --fix option on the [command line](../user-guide/command-line-interface#fix) automatically fixes problems reported by this rule.

              There are several common guidelines which require specific indentation of nested blocks and statements, like:

              function hello(indentSize, type) {
                  if (indentSize === 4 && type !== 'tab') {
                      console.log('Each next indentation will increase on 4 spaces');
                  }
              }

              These are the most common scenarios recommended in different style guides:

              • Two spaces, not longer and no tabs: Google, npm, Node.js, Idiomatic, Felix
              • Tabs: jQuery
              • Four spaces: Crockford

              Rule Details

              This rule enforces a consistent indentation style. The default style is 4 spaces.

              Options

              This rule has a mixed option:

              For example, for 2-space indentation:

              {
                  "indent": ["error", 2]
              }

              Or for tabbed indentation:

              {
                  "indent": ["error", "tab"]
              }

              Examples of incorrect code for this rule with the default options:

              /*eslint indent: "error"*/
              
              if (a) {
                b=c;
                function foo(d) {
                  e=f;
                }
              }

              Examples of correct code for this rule with the default options:

              /*eslint indent: "error"*/
              
              if (a) {
                  b=c;
                  function foo(d) {
                      e=f;
                  }
              }

              This rule has an object option:

              • "SwitchCase" (default: 0) enforces indentation level for case clauses in switch statements
              • "VariableDeclarator" (default: 1) enforces indentation level for var declarators; can also take an object to define separate rules for var, let and const declarations.

              Level of indentation denotes the multiple of the indent specified. Example:

              • Indent of 4 spaces with VariableDeclarator set to 2 will indent the multi-line variable declarations with 8 spaces.
              • Indent of 2 spaces with VariableDeclarator set to 2 will indent the multi-line variable declarations with 4 spaces.
              • Indent of 2 spaces with VariableDeclarator set to {"var": 2, "let": 2, "const": 3} will indent the multi-line variable declarations with 4 spaces for var and let, 6 spaces for const statements.
              • Indent of tab with VariableDeclarator set to 2 will indent the multi-line variable declarations with 2 tabs.
              • Indent of 2 spaces with SwitchCase set to 0 will not indent case clauses with respect to switch statements.
              • Indent of 2 spaces with SwitchCase set to 2 will indent case clauses with 4 spaces with respect to switch statements.
              • Indent of tabs with SwitchCase set to 2 will indent case clauses with 2 tabs with respect to switch statements.

              tab

              Examples of incorrect code for this rule with the "tab" option:

              /*eslint indent: ["error", "tab"]*/
              
              if (a) {
                   b=c;
              function foo(d) {
                         e=f;
               }
              }

              Examples of correct code for this rule with the "tab" option:

              /*eslint indent: ["error", "tab"]*/
              
              if (a) {
              /*tab*/b=c;
              /*tab*/function foo(d) {
              /*tab*//*tab*/e=f;
              /*tab*/}
              }

              SwitchCase

              Examples of incorrect code for this rule with the 2, { "SwitchCase": 1 } options:

              /*eslint indent: ["error", 2, { "SwitchCase": 1 }]*/
              
              switch(a){
              case "a":
                  break;
              case "b":
                  break;
              }

              Examples of correct code for this rule with the 2, { "SwitchCase": 1 } option:

              /*eslint indent: ["error", 2, { "SwitchCase": 1 }]*/
              
              switch(a){
                case "a":
                  break;
                case "b":
                  break;
              }

              VariableDeclarator

              Examples of incorrect code for this rule with the 2, { "VariableDeclarator": 1 } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": 1 }]*/
              /*eslint-env es6*/
              
              var a,
                  b,
                  c;
              let a,
                  b,
                  c;
              const a = 1,
                  b = 2,
                  c = 3;

              Examples of correct code for this rule with the 2, { "VariableDeclarator": 1 } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": 1 }]*/
              /*eslint-env es6*/
              
              var a,
                b,
                c;
              let a,
                b,
                c;
              const a = 1,
                b = 2,
                c = 3;

              Examples of correct code for this rule with the 2, { "VariableDeclarator": 2 } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": 2 }]*/
              /*eslint-env es6*/
              
              var a,
                  b,
                  c;
              let a,
                  b,
                  c;
              const a = 1,
                  b = 2,
                  c = 3;

              Examples of correct code for this rule with the 2, { "VariableDeclarator": { "var": 2, "let": 2, "const": 3 } } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": { "var": 2, "let": 2, "const": 3 } }]*/
              /*eslint-env es6*/
              
              var a,
                  b,
                  c;
              let a,
                  b,
                  c;
              const a = 1,
                    b = 2,
                    c = 3;

              Compatibility

              Line 296 exceeds the maximum line length of 80.
              Open

                                var caseId = iViz.getCaseIndex(selectionType, pair[0], pair[1]);
              Severity: Minor
              Found in app/scripts/vueCore.js by eslint

              enforce a maximum line length (max-len)

              Very long lines of code in any language can be difficult to read. In order to aid in readability and maintainability many coders have developed a convention to limit lines of code to X number of characters (traditionally 80 characters).

              var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" }; // very long

              Rule Details

              This rule enforces a maximum line length to increase code readability and maintainability.

              Note: This rule calculates the length of a line via code points, not characters. That means if you use a double-byte character in your code, it will count as 2 code points instead of 1, and 2 will be used to calculate line length. This is a technical limitation of JavaScript that is made easier with ES2015, and we will look to update this when ES2015 is available in Node.js.

              Options

              This rule has a number or object option:

              • "code" (default 80) enforces a maximum line length
              • "tabWidth" (default 4) specifies the character width for tab characters
              • "comments" enforces a maximum line length for comments; defaults to value of code
              • "ignorePattern" ignores lines matching a regular expression; can only match a single line and need to be double escaped when written in YAML or JSON
              • "ignoreComments": true ignores all trailing comments and comments on their own line
              • "ignoreTrailingComments": true ignores only trailing comments
              • "ignoreUrls": true ignores lines that contain a URL

              code

              Examples of incorrect code for this rule with the default { "code": 80 } option:

              /*eslint max-len: ["error", 80]*/
              
              var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" };

              Examples of correct code for this rule with the default { "code": 80 } option:

              /*eslint max-len: ["error", 80]*/
              
              var foo = {
                "bar": "This is a bar.",
                "baz": { "qux": "This is a qux" },
                "easier": "to read"
              };

              tabWidth

              Examples of incorrect code for this rule with the default { "tabWidth": 4 } option:

              /*eslint max-len: ["error", 80, 4]*/
              
              \t  \t  var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" } };

              Examples of correct code for this rule with the default { "tabWidth": 4 } option:

              /*eslint max-len: ["error", 80, 4]*/
              
              \t  \t  var foo = {
              \t  \t  \t  \t  "bar": "This is a bar.",
              \t  \t  \t  \t  "baz": { "qux": "This is a qux" }
              \t  \t  };

              comments

              Examples of incorrect code for this rule with the { "comments": 65 } option:

              /*eslint max-len: ["error", { "comments": 65 }]*/
              
              /**
               * This is a comment that violates the maximum line length we have specified
              **/

              ignoreComments

              Examples of correct code for this rule with the { "ignoreComments": true } option:

              /*eslint max-len: ["error", { "ignoreComments": true }]*/
              
              /**
               * This is a really really really really really really really really really long comment
              **/

              ignoreTrailingComments

              Examples of correct code for this rule with the { "ignoreTrailingComments": true } option:

              /*eslint max-len: ["error", { "ignoreTrailingComments": true }]*/
              
              var foo = 'bar'; // This is a really really really really really really really long comment

              ignoreUrls

              Examples of correct code for this rule with the { "ignoreUrls": true } option:

              /*eslint max-len: ["error", { "ignoreUrls": true }]*/
              
              var url = 'https://www.example.com/really/really/really/really/really/really/really/long';

              ignorePattern

              Examples of correct code for this rule with the { "ignorePattern": true } option:

              /*eslint max-len: ["error", { "ignorePattern": "^\\s*var\\s.+=\\s*require\\s*\\(/" }]*/
              
              var dep = require('really/really/really/really/really/really/really/really/long/module');

              Related Rules

              • [complexity](complexity.md)
              • [max-depth](max-depth.md)
              • [max-nested-callbacks](max-nested-callbacks.md)
              • [max-params](max-params.md)
              • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

              Line 336 exceeds the maximum line length of 80.
              Open

                                      self_.customfilter.patientUids = selectedCaseUIDs.sort();
              Severity: Minor
              Found in app/scripts/vueCore.js by eslint

              enforce a maximum line length (max-len)

              Very long lines of code in any language can be difficult to read. In order to aid in readability and maintainability many coders have developed a convention to limit lines of code to X number of characters (traditionally 80 characters).

              var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" }; // very long

              Rule Details

              This rule enforces a maximum line length to increase code readability and maintainability.

              Note: This rule calculates the length of a line via code points, not characters. That means if you use a double-byte character in your code, it will count as 2 code points instead of 1, and 2 will be used to calculate line length. This is a technical limitation of JavaScript that is made easier with ES2015, and we will look to update this when ES2015 is available in Node.js.

              Options

              This rule has a number or object option:

              • "code" (default 80) enforces a maximum line length
              • "tabWidth" (default 4) specifies the character width for tab characters
              • "comments" enforces a maximum line length for comments; defaults to value of code
              • "ignorePattern" ignores lines matching a regular expression; can only match a single line and need to be double escaped when written in YAML or JSON
              • "ignoreComments": true ignores all trailing comments and comments on their own line
              • "ignoreTrailingComments": true ignores only trailing comments
              • "ignoreUrls": true ignores lines that contain a URL

              code

              Examples of incorrect code for this rule with the default { "code": 80 } option:

              /*eslint max-len: ["error", 80]*/
              
              var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" };

              Examples of correct code for this rule with the default { "code": 80 } option:

              /*eslint max-len: ["error", 80]*/
              
              var foo = {
                "bar": "This is a bar.",
                "baz": { "qux": "This is a qux" },
                "easier": "to read"
              };

              tabWidth

              Examples of incorrect code for this rule with the default { "tabWidth": 4 } option:

              /*eslint max-len: ["error", 80, 4]*/
              
              \t  \t  var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" } };

              Examples of correct code for this rule with the default { "tabWidth": 4 } option:

              /*eslint max-len: ["error", 80, 4]*/
              
              \t  \t  var foo = {
              \t  \t  \t  \t  "bar": "This is a bar.",
              \t  \t  \t  \t  "baz": { "qux": "This is a qux" }
              \t  \t  };

              comments

              Examples of incorrect code for this rule with the { "comments": 65 } option:

              /*eslint max-len: ["error", { "comments": 65 }]*/
              
              /**
               * This is a comment that violates the maximum line length we have specified
              **/

              ignoreComments

              Examples of correct code for this rule with the { "ignoreComments": true } option:

              /*eslint max-len: ["error", { "ignoreComments": true }]*/
              
              /**
               * This is a really really really really really really really really really long comment
              **/

              ignoreTrailingComments

              Examples of correct code for this rule with the { "ignoreTrailingComments": true } option:

              /*eslint max-len: ["error", { "ignoreTrailingComments": true }]*/
              
              var foo = 'bar'; // This is a really really really really really really really long comment

              ignoreUrls

              Examples of correct code for this rule with the { "ignoreUrls": true } option:

              /*eslint max-len: ["error", { "ignoreUrls": true }]*/
              
              var url = 'https://www.example.com/really/really/really/really/really/really/really/long';

              ignorePattern

              Examples of correct code for this rule with the { "ignorePattern": true } option:

              /*eslint max-len: ["error", { "ignorePattern": "^\\s*var\\s.+=\\s*require\\s*\\(/" }]*/
              
              var dep = require('really/really/really/really/really/really/really/really/long/module');

              Related Rules

              • [complexity](complexity.md)
              • [max-depth](max-depth.md)
              • [max-nested-callbacks](max-nested-callbacks.md)
              • [max-params](max-params.md)
              • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

              Missing semicolon.
              Open

                              this.studyViewSummaryPagePBStatus += (1 - this.studyViewSummaryPagePBStatus) / 4
              Severity: Minor
              Found in app/scripts/vueCore.js by eslint

              Enforce or Disallow Semicolons (semi)

              (fixable) The --fix option on the [command line](../user-guide/command-line-interface#fix) automatically fixes problems reported by this rule.

              JavaScript is unique amongst the C-like languages in that it doesn't require semicolons at the end of each statement. In many cases, the JavaScript engine can determine that a semicolon should be in a certain spot and will automatically add it. This feature is known as automatic semicolon insertion (ASI) and is considered one of the more controversial features of JavaScript. For example, the following lines are both valid:

              var name = "ESLint"
              var website = "eslint.org";

              On the first line, the JavaScript engine will automatically insert a semicolon, so this is not considered a syntax error. The JavaScript engine still knows how to interpret the line and knows that the line end indicates the end of the statement.

              In the debate over ASI, there are generally two schools of thought. The first is that we should treat ASI as if it didn't exist and always include semicolons manually. The rationale is that it's easier to always include semicolons than to try to remember when they are or are not required, and thus decreases the possibility of introducing an error.

              However, the ASI mechanism can sometimes be tricky to people who are using semicolons. For example, consider this code:

              return
              {
                  name: "ESLint"
              };

              This may look like a return statement that returns an object literal, however, the JavaScript engine will interpret this code as:

              return;
              {
                  name: "ESLint";
              }

              Effectively, a semicolon is inserted after the return statement, causing the code below it (a labeled literal inside a block) to be unreachable. This rule and the [no-unreachable](no-unreachable.md) rule will protect your code from such cases.

              On the other side of the argument are those who says that since semicolons are inserted automatically, they are optional and do not need to be inserted manually. However, the ASI mechanism can also be tricky to people who don't use semicolons. For example, consider this code:

              var globalCounter = { }
              
              (function () {
                  var n = 0
                  globalCounter.increment = function () {
                      return ++n
                  }
              })()

              In this example, a semicolon will not be inserted after the first line, causing a run-time error (because an empty object is called as if it's a function). The [no-unexpected-multiline](no-unexpected-multiline.md) rule can protect your code from such cases.

              Although ASI allows for more freedom over your coding style, it can also make your code behave in an unexpected way, whether you use semicolons or not. Therefore, it is best to know when ASI takes place and when it does not, and have ESLint protect your code from these potentially unexpected cases. In short, as once described by Isaac Schlueter, a \n character always ends a statement (just like a semicolon) unless one of the following is true:

              1. The statement has an unclosed paren, array literal, or object literal or ends in some other way that is not a valid way to end a statement. (For instance, ending with . or ,.)
              2. The line is -- or ++ (in which case it will decrement/increment the next token.)
              3. It is a for(), while(), do, if(), or else, and there is no {
              4. The next line starts with [, (, +, *, /, -, ,, ., or some other binary operator that can only be found between two tokens in a single expression.

              Rule Details

              This rule is aimed at ensuring consistent use of semicolons. You can decide whether or not to require semicolons at the end of statements.

              Options

              The rule takes one or two options. The first one is a string, which could be "always" or "never". The default is "always". The second one is an object for more fine-grained configuration when the first option is "always".

              You can set the option in configuration like this:

              "always"

              By using the default option, semicolons must be used any place where they are valid.

              semi: ["error", "always"]

              The following patterns are considered problems:

              /*eslint semi: "error"*/
              
              var name = "ESLint"
              
              object.method = function() {
                  // ...
              }

              The following patterns are not considered problems:

              /*eslint semi: "error"*/
              
              var name = "ESLint";
              
              object.method = function() {
                  // ...
              };

              Fine-grained control

              When setting the first option as "always", an additional option can be added to omit the last semicolon in a one-line block, that is, a block in which its braces (and therefore the content of the block) are in the same line:

              semi: ["error", "always", { "omitLastInOneLineBlock": true}]

              The following patterns are considered problems:

              /*eslint semi: ["error", "always", { "omitLastInOneLineBlock": true}] */
              
              if (foo) {
                  bar()
              }
              
              if (foo) { bar(); }

              The following patterns are not considered problems:

              /*eslint semi: ["error", "always", { "omitLastInOneLineBlock": true}] */
              
              if (foo) { bar() }
              
              if (foo) { bar(); baz() }

              "never"

              If you want to enforce that semicolons are never used, switch the configuration to:

              semi: [2, "never"]

              Then, the following patterns are considered problems:

              /*eslint semi: ["error", "never"]*/
              
              var name = "ESLint";
              
              object.method = function() {
                  // ...
              };

              And the following patterns are not considered problems:

              /*eslint semi: ["error", "never"]*/
              
              var name = "ESLint"
              
              object.method = function() {
                  // ...
              }

              Even in "never" mode, semicolons are still allowed to disambiguate statements beginning with [, (, /, +, or -:

              /*eslint semi: ["error", "never"]*/
              
              var name = "ESLint"
              
              ;(function() {
                  // ...
              })()

              When Not To Use It

              If you do not want to enforce semicolon usage (or omission) in any particular way, then you can turn this rule off.

              Further Reading

              Related Rules

              • [no-extra-semi](no-extra-semi.md)
              • [no-unexpected-multiline](no-unexpected-multiline.md)
              • [semi-spacing](semi-spacing.md) Source: http://eslint.org/docs/rules/

              Line 217 exceeds the maximum line length of 80.
              Open

                                      message: 'Chart has been added at the bottom of the page.'
              Severity: Minor
              Found in app/scripts/vueCore.js by eslint

              enforce a maximum line length (max-len)

              Very long lines of code in any language can be difficult to read. In order to aid in readability and maintainability many coders have developed a convention to limit lines of code to X number of characters (traditionally 80 characters).

              var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" }; // very long

              Rule Details

              This rule enforces a maximum line length to increase code readability and maintainability.

              Note: This rule calculates the length of a line via code points, not characters. That means if you use a double-byte character in your code, it will count as 2 code points instead of 1, and 2 will be used to calculate line length. This is a technical limitation of JavaScript that is made easier with ES2015, and we will look to update this when ES2015 is available in Node.js.

              Options

              This rule has a number or object option:

              • "code" (default 80) enforces a maximum line length
              • "tabWidth" (default 4) specifies the character width for tab characters
              • "comments" enforces a maximum line length for comments; defaults to value of code
              • "ignorePattern" ignores lines matching a regular expression; can only match a single line and need to be double escaped when written in YAML or JSON
              • "ignoreComments": true ignores all trailing comments and comments on their own line
              • "ignoreTrailingComments": true ignores only trailing comments
              • "ignoreUrls": true ignores lines that contain a URL

              code

              Examples of incorrect code for this rule with the default { "code": 80 } option:

              /*eslint max-len: ["error", 80]*/
              
              var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" };

              Examples of correct code for this rule with the default { "code": 80 } option:

              /*eslint max-len: ["error", 80]*/
              
              var foo = {
                "bar": "This is a bar.",
                "baz": { "qux": "This is a qux" },
                "easier": "to read"
              };

              tabWidth

              Examples of incorrect code for this rule with the default { "tabWidth": 4 } option:

              /*eslint max-len: ["error", 80, 4]*/
              
              \t  \t  var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" } };

              Examples of correct code for this rule with the default { "tabWidth": 4 } option:

              /*eslint max-len: ["error", 80, 4]*/
              
              \t  \t  var foo = {
              \t  \t  \t  \t  "bar": "This is a bar.",
              \t  \t  \t  \t  "baz": { "qux": "This is a qux" }
              \t  \t  };

              comments

              Examples of incorrect code for this rule with the { "comments": 65 } option:

              /*eslint max-len: ["error", { "comments": 65 }]*/
              
              /**
               * This is a comment that violates the maximum line length we have specified
              **/

              ignoreComments

              Examples of correct code for this rule with the { "ignoreComments": true } option:

              /*eslint max-len: ["error", { "ignoreComments": true }]*/
              
              /**
               * This is a really really really really really really really really really long comment
              **/

              ignoreTrailingComments

              Examples of correct code for this rule with the { "ignoreTrailingComments": true } option:

              /*eslint max-len: ["error", { "ignoreTrailingComments": true }]*/
              
              var foo = 'bar'; // This is a really really really really really really really long comment

              ignoreUrls

              Examples of correct code for this rule with the { "ignoreUrls": true } option:

              /*eslint max-len: ["error", { "ignoreUrls": true }]*/
              
              var url = 'https://www.example.com/really/really/really/really/really/really/really/long';

              ignorePattern

              Examples of correct code for this rule with the { "ignorePattern": true } option:

              /*eslint max-len: ["error", { "ignorePattern": "^\\s*var\\s.+=\\s*require\\s*\\(/" }]*/
              
              var dep = require('really/really/really/really/really/really/really/really/long/module');

              Related Rules

              • [complexity](complexity.md)
              • [max-depth](max-depth.md)
              • [max-nested-callbacks](max-nested-callbacks.md)
              • [max-params](max-params.md)
              • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

              Line 168 exceeds the maximum line length of 80.
              Open

                                self_.selectedpatientUIDs = _.keys(iViz.getCasesMap('patient'));
              Severity: Minor
              Found in app/scripts/vueCore.js by eslint

              enforce a maximum line length (max-len)

              Very long lines of code in any language can be difficult to read. In order to aid in readability and maintainability many coders have developed a convention to limit lines of code to X number of characters (traditionally 80 characters).

              var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" }; // very long

              Rule Details

              This rule enforces a maximum line length to increase code readability and maintainability.

              Note: This rule calculates the length of a line via code points, not characters. That means if you use a double-byte character in your code, it will count as 2 code points instead of 1, and 2 will be used to calculate line length. This is a technical limitation of JavaScript that is made easier with ES2015, and we will look to update this when ES2015 is available in Node.js.

              Options

              This rule has a number or object option:

              • "code" (default 80) enforces a maximum line length
              • "tabWidth" (default 4) specifies the character width for tab characters
              • "comments" enforces a maximum line length for comments; defaults to value of code
              • "ignorePattern" ignores lines matching a regular expression; can only match a single line and need to be double escaped when written in YAML or JSON
              • "ignoreComments": true ignores all trailing comments and comments on their own line
              • "ignoreTrailingComments": true ignores only trailing comments
              • "ignoreUrls": true ignores lines that contain a URL

              code

              Examples of incorrect code for this rule with the default { "code": 80 } option:

              /*eslint max-len: ["error", 80]*/
              
              var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" };

              Examples of correct code for this rule with the default { "code": 80 } option:

              /*eslint max-len: ["error", 80]*/
              
              var foo = {
                "bar": "This is a bar.",
                "baz": { "qux": "This is a qux" },
                "easier": "to read"
              };

              tabWidth

              Examples of incorrect code for this rule with the default { "tabWidth": 4 } option:

              /*eslint max-len: ["error", 80, 4]*/
              
              \t  \t  var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" } };

              Examples of correct code for this rule with the default { "tabWidth": 4 } option:

              /*eslint max-len: ["error", 80, 4]*/
              
              \t  \t  var foo = {
              \t  \t  \t  \t  "bar": "This is a bar.",
              \t  \t  \t  \t  "baz": { "qux": "This is a qux" }
              \t  \t  };

              comments

              Examples of incorrect code for this rule with the { "comments": 65 } option:

              /*eslint max-len: ["error", { "comments": 65 }]*/
              
              /**
               * This is a comment that violates the maximum line length we have specified
              **/

              ignoreComments

              Examples of correct code for this rule with the { "ignoreComments": true } option:

              /*eslint max-len: ["error", { "ignoreComments": true }]*/
              
              /**
               * This is a really really really really really really really really really long comment
              **/

              ignoreTrailingComments

              Examples of correct code for this rule with the { "ignoreTrailingComments": true } option:

              /*eslint max-len: ["error", { "ignoreTrailingComments": true }]*/
              
              var foo = 'bar'; // This is a really really really really really really really long comment

              ignoreUrls

              Examples of correct code for this rule with the { "ignoreUrls": true } option:

              /*eslint max-len: ["error", { "ignoreUrls": true }]*/
              
              var url = 'https://www.example.com/really/really/really/really/really/really/really/long';

              ignorePattern

              Examples of correct code for this rule with the { "ignorePattern": true } option:

              /*eslint max-len: ["error", { "ignorePattern": "^\\s*var\\s.+=\\s*require\\s*\\(/" }]*/
              
              var dep = require('really/really/really/really/really/really/really/really/long/module');

              Related Rules

              • [complexity](complexity.md)
              • [max-depth](max-depth.md)
              • [max-nested-callbacks](max-nested-callbacks.md)
              • [max-params](max-params.md)
              • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

              Expected indentation of 18 space characters but found 16.
              Open

                              });
              Severity: Minor
              Found in app/scripts/vueCore.js by eslint

              enforce consistent indentation (indent)

              (fixable) The --fix option on the [command line](../user-guide/command-line-interface#fix) automatically fixes problems reported by this rule.

              There are several common guidelines which require specific indentation of nested blocks and statements, like:

              function hello(indentSize, type) {
                  if (indentSize === 4 && type !== 'tab') {
                      console.log('Each next indentation will increase on 4 spaces');
                  }
              }

              These are the most common scenarios recommended in different style guides:

              • Two spaces, not longer and no tabs: Google, npm, Node.js, Idiomatic, Felix
              • Tabs: jQuery
              • Four spaces: Crockford

              Rule Details

              This rule enforces a consistent indentation style. The default style is 4 spaces.

              Options

              This rule has a mixed option:

              For example, for 2-space indentation:

              {
                  "indent": ["error", 2]
              }

              Or for tabbed indentation:

              {
                  "indent": ["error", "tab"]
              }

              Examples of incorrect code for this rule with the default options:

              /*eslint indent: "error"*/
              
              if (a) {
                b=c;
                function foo(d) {
                  e=f;
                }
              }

              Examples of correct code for this rule with the default options:

              /*eslint indent: "error"*/
              
              if (a) {
                  b=c;
                  function foo(d) {
                      e=f;
                  }
              }

              This rule has an object option:

              • "SwitchCase" (default: 0) enforces indentation level for case clauses in switch statements
              • "VariableDeclarator" (default: 1) enforces indentation level for var declarators; can also take an object to define separate rules for var, let and const declarations.

              Level of indentation denotes the multiple of the indent specified. Example:

              • Indent of 4 spaces with VariableDeclarator set to 2 will indent the multi-line variable declarations with 8 spaces.
              • Indent of 2 spaces with VariableDeclarator set to 2 will indent the multi-line variable declarations with 4 spaces.
              • Indent of 2 spaces with VariableDeclarator set to {"var": 2, "let": 2, "const": 3} will indent the multi-line variable declarations with 4 spaces for var and let, 6 spaces for const statements.
              • Indent of tab with VariableDeclarator set to 2 will indent the multi-line variable declarations with 2 tabs.
              • Indent of 2 spaces with SwitchCase set to 0 will not indent case clauses with respect to switch statements.
              • Indent of 2 spaces with SwitchCase set to 2 will indent case clauses with 4 spaces with respect to switch statements.
              • Indent of tabs with SwitchCase set to 2 will indent case clauses with 2 tabs with respect to switch statements.

              tab

              Examples of incorrect code for this rule with the "tab" option:

              /*eslint indent: ["error", "tab"]*/
              
              if (a) {
                   b=c;
              function foo(d) {
                         e=f;
               }
              }

              Examples of correct code for this rule with the "tab" option:

              /*eslint indent: ["error", "tab"]*/
              
              if (a) {
              /*tab*/b=c;
              /*tab*/function foo(d) {
              /*tab*//*tab*/e=f;
              /*tab*/}
              }

              SwitchCase

              Examples of incorrect code for this rule with the 2, { "SwitchCase": 1 } options:

              /*eslint indent: ["error", 2, { "SwitchCase": 1 }]*/
              
              switch(a){
              case "a":
                  break;
              case "b":
                  break;
              }

              Examples of correct code for this rule with the 2, { "SwitchCase": 1 } option:

              /*eslint indent: ["error", 2, { "SwitchCase": 1 }]*/
              
              switch(a){
                case "a":
                  break;
                case "b":
                  break;
              }

              VariableDeclarator

              Examples of incorrect code for this rule with the 2, { "VariableDeclarator": 1 } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": 1 }]*/
              /*eslint-env es6*/
              
              var a,
                  b,
                  c;
              let a,
                  b,
                  c;
              const a = 1,
                  b = 2,
                  c = 3;

              Examples of correct code for this rule with the 2, { "VariableDeclarator": 1 } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": 1 }]*/
              /*eslint-env es6*/
              
              var a,
                b,
                c;
              let a,
                b,
                c;
              const a = 1,
                b = 2,
                c = 3;

              Examples of correct code for this rule with the 2, { "VariableDeclarator": 2 } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": 2 }]*/
              /*eslint-env es6*/
              
              var a,
                  b,
                  c;
              let a,
                  b,
                  c;
              const a = 1,
                  b = 2,
                  c = 3;

              Examples of correct code for this rule with the 2, { "VariableDeclarator": { "var": 2, "let": 2, "const": 3 } } options:

              /*eslint indent: ["error", 2, { "VariableDeclarator": { "var": 2, "let": 2, "const": 3 } }]*/
              /*eslint-env es6*/
              
              var a,
                  b,
                  c;
              let a,
                  b,
                  c;
              const a = 1,
                    b = 2,
                    c = 3;

              Compatibility

              A space is required after ','.
              Open

                                    },{
              Severity: Minor
              Found in app/scripts/vueCore.js by eslint

              Enforces spacing around commas (comma-spacing)

              (fixable) The --fix option on the [command line](../user-guide/command-line-interface#fix) automatically fixes problems reported by this rule.

              Spacing around commas improve readability of a list of items. Although most of the style guidelines for languages prescribe adding a space after a comma and not before it, it is subjective to the preferences of a project.

              var foo = 1, bar = 2;
              var foo = 1 ,bar = 2;

              Rule Details

              This rule enforces consistent spacing before and after commas in variable declarations, array literals, object literals, function parameters, and sequences.

              This rule does not apply in an ArrayExpression or ArrayPattern in either of the following cases:

              • adjacent null elements
              • an initial null element, to avoid conflicts with the [array-bracket-spacing](array-bracket-spacing.md) rule

              Options

              This rule has an object option:

              • "before": false (default) disallows spaces before commas
              • "before": true requires one or more spaces before commas
              • "after": true (default) requires one or more spaces after commas
              • "after": false disallows spaces after commas

              after

              Examples of incorrect code for this rule with the default { "before": false, "after": true } options:

              /*eslint comma-spacing: ["error", { "before": false, "after": true }]*/
              
              var foo = 1 ,bar = 2;
              var arr = [1 , 2];
              var obj = {"foo": "bar" ,"baz": "qur"};
              foo(a ,b);
              new Foo(a ,b);
              function foo(a ,b){}
              a ,b

              Examples of correct code for this rule with the default { "before": false, "after": true } options:

              /*eslint comma-spacing: ["error", { "before": false, "after": true }]*/
              
              var foo = 1, bar = 2
                  , baz = 3;
              var arr = [1, 2];
              var arr = [1,, 3]
              var obj = {"foo": "bar", "baz": "qur"};
              foo(a, b);
              new Foo(a, b);
              function foo(a, b){}
              a, b

              Example of correct code for this rule with initial null element for the default { "before": false, "after": true } options:

              /*eslint comma-spacing: ["error", { "before": false, "after": true }]*/
              /*eslint array-bracket-spacing: ["error", "always"]*/
              
              var arr = [ , 2, 3 ]

              before

              Examples of incorrect code for this rule with the { "before": true, "after": false } options:

              /*eslint comma-spacing: ["error", { "before": true, "after": false }]*/
              
              var foo = 1, bar = 2;
              var arr = [1 , 2];
              var obj = {"foo": "bar", "baz": "qur"};
              new Foo(a,b);
              function foo(a,b){}
              a, b

              Examples of correct code for this rule with the { "before": true, "after": false } options:

              /*eslint comma-spacing: ["error", { "before": true, "after": false }]*/
              
              var foo = 1 ,bar = 2 ,
                  baz = true;
              var arr = [1 ,2];
              var arr = [1 ,,3]
              var obj = {"foo": "bar" ,"baz": "qur"};
              foo(a ,b);
              new Foo(a ,b);
              function foo(a ,b){}
              a ,b

              Examples of correct code for this rule with initial null element for the { "before": true, "after": false } options:

              /*eslint comma-spacing: ["error", { "before": true, "after": false }]*/
              /*eslint array-bracket-spacing: ["error", "never"]*/
              
              var arr = [,2 ,3]

              When Not To Use It

              If your project will not be following a consistent comma-spacing pattern, turn this rule off.

              Further Reading

              Related Rules

              • [array-bracket-spacing](array-bracket-spacing.md)
              • [comma-style](comma-style.md)
              • [space-in-brackets](space-in-brackets.md) (deprecated)
              • [space-in-parens](space-in-parens.md)
              • [space-infix-ops](space-infix-ops.md)
              • [space-after-keywords](space-after-keywords)
              • [space-unary-ops](space-unary-ops)
              • [space-return-throw-case](space-return-throw-case) Source: http://eslint.org/docs/rules/

              Line 127 exceeds the maximum line length of 80.
              Open

                              this.studyViewSummaryPagePBStatus += (1 - this.studyViewSummaryPagePBStatus) / 4
              Severity: Minor
              Found in app/scripts/vueCore.js by eslint

              enforce a maximum line length (max-len)

              Very long lines of code in any language can be difficult to read. In order to aid in readability and maintainability many coders have developed a convention to limit lines of code to X number of characters (traditionally 80 characters).

              var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" }; // very long

              Rule Details

              This rule enforces a maximum line length to increase code readability and maintainability.

              Note: This rule calculates the length of a line via code points, not characters. That means if you use a double-byte character in your code, it will count as 2 code points instead of 1, and 2 will be used to calculate line length. This is a technical limitation of JavaScript that is made easier with ES2015, and we will look to update this when ES2015 is available in Node.js.

              Options

              This rule has a number or object option:

              • "code" (default 80) enforces a maximum line length
              • "tabWidth" (default 4) specifies the character width for tab characters
              • "comments" enforces a maximum line length for comments; defaults to value of code
              • "ignorePattern" ignores lines matching a regular expression; can only match a single line and need to be double escaped when written in YAML or JSON
              • "ignoreComments": true ignores all trailing comments and comments on their own line
              • "ignoreTrailingComments": true ignores only trailing comments
              • "ignoreUrls": true ignores lines that contain a URL

              code

              Examples of incorrect code for this rule with the default { "code": 80 } option:

              /*eslint max-len: ["error", 80]*/
              
              var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" }, "difficult": "to read" };

              Examples of correct code for this rule with the default { "code": 80 } option:

              /*eslint max-len: ["error", 80]*/
              
              var foo = {
                "bar": "This is a bar.",
                "baz": { "qux": "This is a qux" },
                "easier": "to read"
              };

              tabWidth

              Examples of incorrect code for this rule with the default { "tabWidth": 4 } option:

              /*eslint max-len: ["error", 80, 4]*/
              
              \t  \t  var foo = { "bar": "This is a bar.", "baz": { "qux": "This is a qux" } };

              Examples of correct code for this rule with the default { "tabWidth": 4 } option:

              /*eslint max-len: ["error", 80, 4]*/
              
              \t  \t  var foo = {
              \t  \t  \t  \t  "bar": "This is a bar.",
              \t  \t  \t  \t  "baz": { "qux": "This is a qux" }
              \t  \t  };

              comments

              Examples of incorrect code for this rule with the { "comments": 65 } option:

              /*eslint max-len: ["error", { "comments": 65 }]*/
              
              /**
               * This is a comment that violates the maximum line length we have specified
              **/

              ignoreComments

              Examples of correct code for this rule with the { "ignoreComments": true } option:

              /*eslint max-len: ["error", { "ignoreComments": true }]*/
              
              /**
               * This is a really really really really really really really really really long comment
              **/

              ignoreTrailingComments

              Examples of correct code for this rule with the { "ignoreTrailingComments": true } option:

              /*eslint max-len: ["error", { "ignoreTrailingComments": true }]*/
              
              var foo = 'bar'; // This is a really really really really really really really long comment

              ignoreUrls

              Examples of correct code for this rule with the { "ignoreUrls": true } option:

              /*eslint max-len: ["error", { "ignoreUrls": true }]*/
              
              var url = 'https://www.example.com/really/really/really/really/really/really/really/long';

              ignorePattern

              Examples of correct code for this rule with the { "ignorePattern": true } option:

              /*eslint max-len: ["error", { "ignorePattern": "^\\s*var\\s.+=\\s*require\\s*\\(/" }]*/
              
              var dep = require('really/really/really/really/really/really/really/really/long/module');

              Related Rules

              • [complexity](complexity.md)
              • [max-depth](max-depth.md)
              • [max-nested-callbacks](max-nested-callbacks.md)
              • [max-params](max-params.md)
              • [max-statements](max-statements.md) Source: http://eslint.org/docs/rules/

              There are no issues that match your filters.

              Category
              Status