{"id":21065666,"url":"https://github.com/adaptlearning/adapt-contrib-pagelevelprogress","last_synced_at":"2026-03-02T04:34:32.019Z","repository":{"id":13718738,"uuid":"16412835","full_name":"adaptlearning/adapt-contrib-pageLevelProgress","owner":"adaptlearning","description":"An extension to show a users progress through a page","archived":false,"fork":false,"pushed_at":"2026-01-22T21:24:48.000Z","size":847,"stargazers_count":4,"open_issues_count":8,"forks_count":30,"subscribers_count":22,"default_branch":"master","last_synced_at":"2026-01-22T23:27:22.854Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adaptlearning.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2014-01-31T16:08:25.000Z","updated_at":"2026-01-22T09:59:08.000Z","dependencies_parsed_at":"2024-04-15T12:02:30.268Z","dependency_job_id":"46b72890-4cfd-47b1-a83a-f65321984a97","html_url":"https://github.com/adaptlearning/adapt-contrib-pageLevelProgress","commit_stats":null,"previous_names":[],"tags_count":87,"template":false,"template_full_name":null,"purl":"pkg:github/adaptlearning/adapt-contrib-pageLevelProgress","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adaptlearning%2Fadapt-contrib-pageLevelProgress","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adaptlearning%2Fadapt-contrib-pageLevelProgress/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adaptlearning%2Fadapt-contrib-pageLevelProgress/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adaptlearning%2Fadapt-contrib-pageLevelProgress/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adaptlearning","download_url":"https://codeload.github.com/adaptlearning/adapt-contrib-pageLevelProgress/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adaptlearning%2Fadapt-contrib-pageLevelProgress/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29992327,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-02T01:47:34.672Z","status":"online","status_checked_at":"2026-03-02T02:00:07.342Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-19T17:55:59.729Z","updated_at":"2026-03-02T04:34:32.002Z","avatar_url":"https://github.com/adaptlearning.png","language":"JavaScript","readme":"# adapt-contrib-pageLevelProgress\n\n**Page Level Progress** is an _extension_ bundled with the [Adapt framework](https://github.com/adaptlearning/adapt_framework).\n\n\u003cimg src=\"https://github.com/adaptlearning/documentation/blob/master/04_wiki_assets/plug-ins/images/plp01.gif\" alt=\"page level progress bar clicked and drawer opening, showing completion status of components\"\u003e\n\nThis extension displays the learner's progress through a page via a progress bar displayed in the top navigation area. Progress is calculated as the percentage of child components that have been completed. Clicking on the progress bar opens the drawer to reveal buttons showing the title and completion status of individual components in the page; these buttons can be clicked to scroll directly to the component in the page (if it is available and not hidden by trickle/similar).\n\nPage progress may also be displayed on menu items representing the page.\n\n[Visit the **Page Level Progress** wiki](https://github.com/adaptlearning/adapt-contrib-pageLevelProgress/wiki) for more information about its functionality and for explanations of key properties.\n\n## Installation\n\nAs one of Adapt's _[core extensions](https://github.com/adaptlearning/adapt_framework/wiki/Core-Plug-ins-in-the-Adapt-Learning-Framework#extensions),_ **Page Level Progress** is included with the [installation of the Adapt framework](https://github.com/adaptlearning/adapt_framework/wiki/Manual-installation-of-the-Adapt-framework#installation) and the [installation of the Adapt authoring tool](https://github.com/adaptlearning/adapt_authoring/wiki/Installing-Adapt-Origin).\n\n- If **Page Level Progress** has been uninstalled from the Adapt framework, it may be reinstalled.\n  With the [Adapt CLI](https://github.com/adaptlearning/adapt-cli) installed, run the following from the command line:\n  `adapt install adapt-contrib-pageLevelProgress`\n\n      Alternatively, this extension can also be installed by adding the following line of code to the *adapt.json* file:\n      `\"adapt-contrib-pageLevelProgress\": \"*\"`\n      Then running the command:\n      `adapt install`\n      (This second method will reinstall all plug-ins listed in *adapt.json*.)\n\n- If **Page Level Progress** has been uninstalled from the Adapt authoring tool, it may be reinstalled using the [Plug-in Manager](https://github.com/adaptlearning/adapt_authoring/wiki/Plugin-Manager).\n\n\u003cdiv float align=right\u003e\u003ca href=\"#top\"\u003eBack to Top\u003c/a\u003e\u003c/div\u003e\n\n## Settings Overview\n\nThe attributes listed below are used in _components.json_ to configure **Page Level Progress**, and are properly formatted as JSON in [_example.json_](https://github.com/adaptlearning/adapt-contrib-pageLevelProgress/blob/master/example.json).\n\nThe absence of the **\\_pageLevelProgress** object in a component model is interpreted as that component having **Page Level Progress** disabled (`\"_isEnabled\": false`).\n\nBy default, 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 either `_isOptional` to `true` in the component model (_components.json_) or set the `_showPageCompletion` property (see [Attributes](#attributes)) to `false` in either _course.json_ or _contentObjects.json_\n\nThe same **\\_pageLevelProgress** object may be added to components (_components.json_), blocks (_blocks.json_) and articles (_articles.json_). At this level `\"_isEnabled\"` adds a bar to the list of progress items appearing in the drawer. Adding `\"_isCompletionIndicatorEnabled\"` at this level adds a progress bar next to the title of element in the page.\n\nThe 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. Setting `\"_excludeAssessments\"` to `true` will prevent assessments from being included in calculations for page level progress. Adding `\"_isCompletionIndicatorEnabled\"` at this level adds a progress bar next to the title of element in the menu.\n\nThe 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`. In some cases, indicators are required on the page but not in the drawer, `\"_isShownInNavigationBar\"` is used to turn off the drawer button.\n\n\u003e **Note:** Setting the **\\_pageLevelProgress** object in _course.json_ does not provide defaults for components, blocks, articles 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.\n\u003e Visit the [**Page Level Progress** wiki](https://github.com/adaptlearning/adapt-contrib-pageLevelProgress/wiki) for more information about how they appear in the [authoring tool](https://github.com/adaptlearning/adapt_authoring/wiki).\n\n### Attributes\n\nAdd to _course.json_ under _\\_globals.\\_extensions_.\n\n**\\_pageLevelProgress** (object): The Page Level Progress object\n\n\u003e **\\_navOrder** (number): Determines the order in which the page level progress is displayed in the navigation bar. Negative numbers (e.g. -100) are left-aligned. Positive numbers (e.g. 100) are right-aligned.\n\n\u003e **navLabel** (string): The text for the button label. Used when navigation labels are enabled globally\n\n\u003e **\\_drawerPosition** (string): The position that the button appears in the drawer. Position options include 'auto', 'left', and 'right'. Defaults to 'auto'\n\n\u003e **\\_navTooltip** (object): The tooltip object. Used when tooltips are enabled globally\n\n\u003e\u003e **\\_isEnabled** (boolean): Enables tooltips on the button\n\n\u003e\u003e **text** (string): The text of the tooltip\n\nAdd to _course.json_.\n\n**\\_pageLevelProgress** (object): The Page Level Progress object that contains a value for **\\_isEnabled**.\n\n\u003e **\\_isEnabled** (boolean): Turns **Page Level Progress** on and off. Acceptable values are `true` and `false`.\n\n\u003e **title** (string): Alternate course title to display when using `_showAtCourseLevel: true`.\n\n\u003e **\\_isCompletionIndicatorEnabled** (boolean): Adds a completion indicator next to the title of a component, block, article, page or menu. Acceptable values are `true` and `false`.\n\n\u003e **\\_isShownInNavigationBar** (boolean): Allows **Page Level Progress** to appear in the navigation bar. Acceptable values are `true` and `false`.\n\n\u003e **\\_showPageCompletion** (boolean): Set to `false` to have the overall progress calculated only from components that have been set to display in **Page Level Progress** (ignoring the completion of those that haven't). Defaults to `true`.\n\n\u003e **\\_showAtCourseLevel** (boolean): Allows **Page Level Progress** to display all content objects and the current page components together, or just the current page components as before. Acceptable values are `true` and `false`. Defaults to `false`.\n\n\u003e **\\_useCourseProgressInNavigationButton** (boolean): Allows **Page Level Progress** to use course-level completion for the navigation button instead of page-level completion. Defaults to `false`.\n\nAdd to _contentObjects.json_.\n\n**\\_pageLevelProgress** (object): The Page Level Progress object that contains a value for **\\_isEnabled**.\n\n\u003e **\\_isEnabled** (boolean): Turns **Page Level Progress** on and off. Acceptable values are `true` and `false`.\n\n\u003e **\\_isCompletionIndicatorEnabled** (boolean): Adds a completion indicator next to the title of a component, block, article, page or menu. Acceptable values are `true` and `false`.\n\n\u003e **\\_showPageCompletion** (boolean): Set to `false` to have the overall progress calculated only from components that have been set to display in **Page Level Progress** (ignoring the completion of those that have not).\n\n\u003e **\\_excludeAssessments** (boolean): If true, prevents assessments from being included in calculations for page level progress.\n\nAdd to _components.json_, _blocks.json_ or _articles.json_.\n\n**\\_pageLevelProgress** (object): The Page Level Progress object that contains a value for **\\_isEnabled**.\n\n\u003e **\\_isEnabled** (boolean): Turns **Page Level Progress** on and off. Acceptable values are `true` and `false`.\n\n\u003e **\\_isCompletionIndicatorEnabled** (boolean): Adds a completion indicator next to the title of a component, block, article, page or menu. Acceptable values are `true` and `false`.\n\n### Accessibility\n\nSeveral elements of **Page Level Progress** have been assigned a label using the [aria-label](https://github.com/adaptlearning/adapt_framework/wiki/Aria-Labels) attribute: **pageLevelProgress**, **pageLevelProgressIndicatorBar** and **pageLevelProgressMenuBar**. 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_](https://github.com/adaptlearning/adapt-contrib-pageLevelProgress/blob/master/properties.schema).\n\n\u003cdiv float align=right\u003e\u003ca href=\"#top\"\u003eBack to Top\u003c/a\u003e\u003c/div\u003e\n\n## Limitations\n\nNo known limitations.\n\n----------------------------\n\n\u003ca href=\"https://community.adaptlearning.org/\" target=\"_blank\"\u003e\u003cimg src=\"https://github.com/adaptlearning/documentation/blob/master/04_wiki_assets/plug-ins/images/adapt-logo-mrgn-lft.jpg\" alt=\"adapt learning logo\" align=\"right\"\u003e\u003c/a\u003e\n**Author / maintainer:** Adapt Core Team with [contributors](https://github.com/adaptlearning/adapt-contrib-pageLevelProgress/graphs/contributors)\u003cbr\u003e\n**Accessibility support:** WAI AA\u003cbr\u003e\n**RTL support:** Yes\u003cbr\u003e\n**Cross-platform coverage:** Chrome, Chrome for Android, Firefox (ESR + latest version), Edge, IE11, Safari 12+13 for macOS/iOS/iPadOS, Opera\u003cbr\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadaptlearning%2Fadapt-contrib-pagelevelprogress","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadaptlearning%2Fadapt-contrib-pagelevelprogress","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadaptlearning%2Fadapt-contrib-pagelevelprogress/lists"}