Initialization Option Reports API


Callback function used in the learning outcomes report to mutate scores shown in each cell of the report.

This function is called before scores are rendered in the report. The scores argument passed to the function is an array of score mutator objects. The score can be mutated using these methods. The return value of scoreMutator is ignored.


scoreMutator: function (scores) {
    for (var i = 0; i < scores.length; i++) {

        // apply a custom business rule to treat
        // unattempted questions as incorrect
        var unattempted = scores[i].unattempted();
        var incorrect = scores[i].incorrect();

        scores[i].incorrect(incorrect + unattempted);



Type function

Callback arguments

The callback receives the following arguments when it is executed.

  • scores array[scoreMutatorObject]

    An array of objects, each corresponding to a single cell in the report. Each object exposes methods for mutating the score shown in the report. See scoreMutatorObject definition for details of each method.

Type definitions

scoreMutatorObject object

An object containing methods to mutate a score, as well as assign HTML data attributes to certain elements to make them accessible for design and behavioral changes. The individual correct, incorrect, unattempted and unmarked components of the score are exposed as getters, and each component can be overridden using the corresponding setter methods. The components of the score will be used to render score percentages, score bars and tooltips.

Additional countSeen() and percentScore() methods are also available.

  • countSeen() function
    Returns the number of items from which this score is calculated, ie. the number of Items presented to the user that meet the filters for this particular report (or cell within the report).
  • correct() function
    Returns the correct component of the score.
  • domData(object) function
    Used to store custom data attributes against this score's cell, for the purpose of custom logic or CSS selectors. Pass a map of key value pairs which will be stored on the DOM as custom data attributes. Each key will be added to the score's cell as a data attribute of the form data-custom_keyname="value". The data attribute can then be used as a CSS selector for applying custom styles, or a DOM selector to hook your own custom logic to. See an example domData() customization at our Learnosity Demos Learning Outcomes - Class Demo
  • correct(Number) function
    Sets the correct component of the score.
  • incorrect() function
    Returns the incorrect component of the score.
  • incorrect(Number) function
    Sets the incorrect component of the score.
  • unmarked() function
    Returns the unmarked component of the score.
  • unmarked(Number) function
    Sets the unmarked component of the score.
  • unattempted() function
    Returns the unattempted component of the score.
  • unattempted(Number) function
    Sets the unattempted component of the score.
  • percentScore(Number) function
    Sets the overall percent score. Normally, Learnosity uses correct / maxScore to calculate the percentScore, but this setter can be used to override the displayed percentage regardless of the values of the individual score components.
Was this article helpful?