psu-libraries/psulib_blacklight

View on GitHub
app/javascript/availability/index.js

Summary

Maintainability
D
2 days
Test Coverage

File index.js has 456 lines of code (exceeds 250 allowed). Consider refactoring.
Open

/**
 * @file
 * Real Time Availability
 */

Severity: Minor
Found in app/javascript/availability/index.js - About 6 hrs to fix

Function loadAvailability has 70 lines of code (exceeds 25 allowed). Consider refactoring.
Open

  loadAvailability() {
    const titleIDs = [];
    const summaryHoldings = {};

    // Get the catkeys
Severity: Major
Found in app/javascript/availability/index.js - About 2 hrs to fix

Function processBoundParents has 68 lines of code (exceeds 25 allowed). Consider refactoring.
Open

  processBoundParents(boundHoldings, allHoldings, summaryHoldings) {
    const catkeys = Object.keys(boundHoldings);

    let itemIDs = [];
    $.each(catkeys, (i, catkey) => {
Severity: Major
Found in app/javascript/availability/index.js - About 2 hrs to fix

availability has 22 functions (exceeds 20 allowed). Consider refactoring.
Wontfix

const availability = {
  // Load Sirsi locations
  allLocations: locations.locations,
  allLibraries: locations.libraries,
  illiadLocations: locations.request_via_ill,
Severity: Minor
Found in app/javascript/availability/index.js - About 2 hrs to fix

Function availabilityDisplay has 56 lines of code (exceeds 25 allowed). Consider refactoring.
Open

  availabilityDisplay(allHoldings, summaryHoldings) {
    $('.availability').each(function () {
      const availabilityHTML = $(this);
      const catkey = availabilityHTML.data('keys');
      const isOnlineOnOrderOnly = availabilityHTML.data('isOnlineOnOrderOnly');
Severity: Major
Found in app/javascript/availability/index.js - About 2 hrs to fix

Function getAllHoldings has 48 lines of code (exceeds 25 allowed). Consider refactoring.
Wontfix

  getAllHoldings(allHoldings, titleInfo) {
    allHoldings[titleInfo.catkey] = [];

    titleInfo.jQueryObj.children('CallInfo').each(function () {
      const libraryID = $(this).children('libraryID').text();
Severity: Minor
Found in app/javascript/availability/index.js - About 1 hr to fix

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

  getBoundHoldings(boundHoldings, titleInfo) {
    boundHoldings[titleInfo.catkey] = [];

    titleInfo.jQueryObj.children('BoundwithLinkInfo').each(function () {
      const linkedAsParent = $(this).children('linkedAsParent').text();
Severity: Minor
Found in app/javascript/availability/index.js - About 1 hr to fix

Function availabilityDataStructurer has 31 lines of code (exceeds 25 allowed). Consider refactoring.
Open

  availabilityDataStructurer(holdingMetadata) {
    const availabilityStructuredData = [];
    let holdingData = [];
    let pluralize = '';
    let library = '';
Severity: Minor
Found in app/javascript/availability/index.js - About 1 hr to fix

There are no issues that match your filters.

Category
Status