kai-jacobsen/kontentblocks

View on GitHub
js/src/wpMediaExt/KB.media.Crop.js

Summary

Maintainability
C
7 hrs
Test Coverage

File KB.media.Crop.js has 274 lines of code (exceeds 250 allowed). Consider refactoring.
Open

(function (wp, $) {

  if (!wp || !wp.media) {
    return;
  }
Severity: Minor
Found in js/src/wpMediaExt/KB.media.Crop.js - About 2 hrs to fix

    Function createCropToolbar has 51 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

        createCropToolbar: function () {
          var canSkipCrop, toolbarOptions;
          canSkipCrop = this.get('canSkipCrop') || false;
          toolbarOptions = {
            controller: this.frame,
    Severity: Major
    Found in js/src/wpMediaExt/KB.media.Crop.js - About 2 hrs to fix

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

          initialize: function () {
            if (!this.options.cropOptions) {
              this.options.cropOptions = {};
            }
            this.options.cropOptions = _.defaults(this.options.cropOptions, {
      Severity: Minor
      Found in js/src/wpMediaExt/KB.media.Crop.js - About 1 hr to fix

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

            calculateImageSelectOptions: function (attachment, controller) {
              var xInit = parseInt(controller.frame.options.cropOptions.maxWidth, 10),
                yInit = parseInt(controller.frame.options.cropOptions.maxHeight, 10),
                ratio, xImg, yImg, realHeight, realWidth,
                imgSelectOptions;
        Severity: Minor
        Found in js/src/wpMediaExt/KB.media.Crop.js - About 1 hr to fix

          Move the invocation into the parens that contain the function.
          Open

          (function (wp, $) {
          Severity: Minor
          Found in js/src/wpMediaExt/KB.media.Crop.js by eslint

          Require IIFEs to be Wrapped (wrap-iife)

          You can immediately invoke function expressions, but not function declarations. A common technique to create an immediately-invoked function expression (IIFE) is to wrap a function declaration in parentheses. The opening parentheses causes the contained function to be parsed as an expression, rather than a declaration.

          // function expression could be unwrapped
          var x = function () { return { y: 1 };}();
          
          // function declaration must be wrapped
          function () { /* side effects */ }(); // SyntaxError

          Rule Details

          This rule requires all immediately-invoked function expressions to be wrapped in parentheses.

          Options

          This rule has two options, a string option and an object option.

          String option:

          • "outside" enforces always wrapping the call expression. The default is "outside".
          • "inside" enforces always wrapping the function expression.
          • "any" enforces always wrapping, but allows either style.

          Object option:

          • "functionPrototypeMethods": true additionally enforces wrapping function expressions invoked using .call and .apply. The default is false.

          outside

          Examples of incorrect code for the default "outside" option:

          /*eslint wrap-iife: ["error", "outside"]*/
          
          var x = function () { return { y: 1 };}(); // unwrapped
          var x = (function () { return { y: 1 };})(); // wrapped function expression

          Examples of correct code for the default "outside" option:

          /*eslint wrap-iife: ["error", "outside"]*/
          
          var x = (function () { return { y: 1 };}()); // wrapped call expression

          inside

          Examples of incorrect code for the "inside" option:

          /*eslint wrap-iife: ["error", "inside"]*/
          
          var x = function () { return { y: 1 };}(); // unwrapped
          var x = (function () { return { y: 1 };}()); // wrapped call expression

          Examples of correct code for the "inside" option:

          /*eslint wrap-iife: ["error", "inside"]*/
          
          var x = (function () { return { y: 1 };})(); // wrapped function expression

          any

          Examples of incorrect code for the "any" option:

          /*eslint wrap-iife: ["error", "any"]*/
          
          var x = function () { return { y: 1 };}(); // unwrapped

          Examples of correct code for the "any" option:

          /*eslint wrap-iife: ["error", "any"]*/
          
          var x = (function () { return { y: 1 };}()); // wrapped call expression
          var x = (function () { return { y: 1 };})(); // wrapped function expression

          functionPrototypeMethods

          Examples of incorrect code for this rule with the "inside", { "functionPrototypeMethods": true } options:

          /* eslint wrap-iife: [2, "inside", { functionPrototypeMethods: true }] */
          
          var x = function(){ foo(); }()
          var x = (function(){ foo(); }())
          var x = function(){ foo(); }.call(bar)
          var x = (function(){ foo(); }.call(bar))

          Examples of correct code for this rule with the "inside", { "functionPrototypeMethods": true } options:

          /* eslint wrap-iife: [2, "inside", { functionPrototypeMethods: true }] */
          
          var x = (function(){ foo(); })()
          var x = (function(){ foo(); }).call(bar)

          Source: http://eslint.org/docs/rules/

          TODO found
          Open

                // @TODO max values to options
          Severity: Minor
          Found in js/src/wpMediaExt/KB.media.Crop.js by fixme

          There are no issues that match your filters.

          Category
          Status