Skip to content

Latest commit

 

History

History
60 lines (38 loc) · 5.69 KB

README.md

File metadata and controls

60 lines (38 loc) · 5.69 KB

adapt-contrib-pageLevelProgress

Page Level Progress is an extension bundled with the Adapt framework.

page level progress bar clicked and drawer opening, showing completion status of components

This extension displays the learner's progress through a page via a progress bar displayed in the top navigation bar. Progress is calculated as the percentage of child components that have been completed. Clicking on the progress bar opens the drawer to reveal completion status of individual components. Page progress may also be displayed on menu items representing the page.

Visit the Page Level Progress wiki for more information about its functionality and for explanations of key properties.

##Installation

As one of Adapt's core extensions, Page Level Progress is included with the installation of the Adapt framework and the installation of the Adapt authoring tool.

  • If Page Level Progress has been uninstalled from the Adapt framework, it may be reinstalled. With the Adapt CLI installed, run the following from the command line:
    adapt install adapt-contrib-pageLevelProgress

    Alternatively, this component can also be installed by adding the following line of code to the adapt.json file:
    "adapt-contrib-pageLevelProgress": "*"
    Then running the command:
    adapt install
    (This second method will reinstall all plug-ins listed in adapt.json.)

  • If Page Level Progress has been uninstalled from the Adapt authoring tool, it may be reinstalled using the Plug-in Manager.

Settings Overview

The attributes listed below are used in components.json to configure Page Level Progress, and are properly formatted as JSON in example.json. The absence of the _pageLevelProgress object in a component model is interpreted as having Page Level Progress disabled ("_isEnabled": false). Calculation of the percentage of child components that have been completed includes all components, even those that have pageLevelProgress disabled and those with no _pageLevelProgress object in the component model. In order to have a component ignored in this calculation, you must set _isOptional to true in the component model (components.json).

The same _pageLevelProgress object may be added to contentObjects (contentObjects.json). At this level "_isEnabled" governs whether a progress bar will be displayed on the menu item. It does not act to provide defaults for its child components. It does not override their settings.

The same _pageLevelProgress object may be added to the course (course.json). At this level, "_isEnabled" can be used to disable Page Level Progress on components and contentObjects that have "_isEnabled": true.

Note: Setting the _pageLevelProgress object in course.json does not provide defaults for components or contentObjects. It cannot be used to enable Page Level Progress on components or contentObjects that have "_isEnabled": false or that do not have the _pageLevelProgress object in their model json.

Visit the Page Level Progress wiki for more information about how they appear in the authoring tool.

Attributes

_pageLevelProgress (object): The Page Level Progress object that contains a value for _isEnabled.

_isEnabled (boolean): Turns Page Level Progress on and off. Acceptable values are true and false.

Accessibility

Several elements of Page Level Progress have been assigned a label using the aria-label attribute: pageLevelProgress, pageLevelProgressIndicatorBar, and pageLevelProgressEnd. These labels are not visible elements. They are utilized by assistive technology such as screen readers. Should the label texts need to be customised, they can be found within the globals object in properties.schema.

Limitations

No known limitations.


Version number: 2.0 adapt learning logo Framework versions: 2.0
Author / maintainer: Adapt Core Team with contributors
Accessibility support: WAI AA
RTL support: yes
Cross-platform coverage: Chrome, Chrome for Android, Firefox (ESR + latest version), IE 11, IE10, IE9, IE8, IE Mobile 11, iPhone for Safari (iOS 7+8), Safari for iPad (iOS 7+8), Safari 8, Opera