Skip to content

LearningPool/adapt-contrib-boxMenu

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

adapt-contrib-boxMenu

Box Menu is a menu bundled with the Adapt framework.

image of two rectangular menu options produced by box menu

Menu choices are framed within a box element and arranged in a grid. Box Menu allows you to direct the learner to either further menus (sub menus) or to one or more pages of content. The Box Menu default is show a title, an image, some body text, duration, a progress indicator and a link button.

Visit the Box Menu wiki for more information about its functionality and for explanations of key properties. Options include an estimated time for completion (duration) and a progress bar to indicate the percentage of components that have been completed.

Installation

As Adapt's core menu, Box Menu is included with the installation of the Adapt framework and the installation of the Adapt authoring tool.

  • If Box Menu 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-boxMenu

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

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

Uninstallation

The Adapt framework does not allow the installation of more than one menu at a time. In order to replace Box Menu it must be uninstalled. With the root of your framework installation as your current working directory, run the following command:
adapt uninstall adapt-contrib-boxMenu

Settings Overview

The attributes listed below are used in course.json and contentObjects.json to configure Box Menu, and are properly formatted as JSON in example.json. Visit the Box Menu wiki for more information about how they appear in the authoring tool.

Attributes

course.json

The following attributes, set within course.json, configure the defaults for Box Menu.

_boxMenu (object): The boxMenu object that contains value for _menuHeader.

_menuHeader (object): The menuHeader object that contains values for _backgroundImage and _minimumHeights.

_backgroundImage (object): The backgroundImage object that contains values for _large, _medium and _small.

_large (string): File name (including path) of the image used with large device width. Path should be relative to the src folder (e.g., course/en/images/origami-menu-one.jpg).

_medium (string): File name (including path) of the image used with medium device width. Path should be relative to the src folder (e.g., course/en/images/origami-menu-one.jpg).

_small (string): File name (including path) of the image used with small device width. Path should be relative to the src folder (e.g., course/en/images/origami-menu-one.jpg).

_minimumHeights (object): The minimumHeights object that contains values for _large, _medium and _small.

_large (number): The minimum height should only be used in instances where the menu header height needs to be greater than the content e.g. to prevent a background image being cropped.

_medium (number): The minimum height should only be used in instances where the menu header height needs to be greater than the content e.g. to prevent a background image being cropped.

_small (number): The minimum height should only be used in instances where the menu header height needs to be greater than the content e.g. to prevent a background image being cropped.

contentObjects.json

The following attributes, set within contentObjects.json, configure the defaults for Box Menu.

_id (string): This is a unique identifier that establishes relationships with other content structures. It is referenced in articles.json as the _parentid of an article model.

_parentId (string): This value is sourced from the parent element's _id found within course.json. It must match.

_type (string): This value determines what the learner will access by clicking the provided link/button. Acceptable values are "page" and "menu". "page" will direct the learner to a page structured with articles, blocks, and components. "menu" will direct the learner to a page with more menus.

_classes (string): CSS class name to be applied to menu item's page element (src/core/js/views/pageView.js). The class must be predefined in one of the Less files. Separate multiple classes with a space.

_isHidden (boolean): If you want to hide a content object from the menu, set this to true. This can be useful if, for example, you have a content object defined as a 'start page' for the course which you therefore don't want to be listed on the menu since the user will have already seen it.

title (string): This text is a reference title for the content object.

displayTitle (string): This text is displayed on the menu item.

body (string): Optional text that appears on the menu item. Often used to inform the learner about the menu choice. If no pageBody is supplied, this text will also appear as the body text of the page header.

pageBody (string): Optional text that appears as the body text of the page header. If this text is not provided, the body text will be used (if it is supplied). Reference adapt-contrib-vanilla/templates/page.hbs.

_graphic (object): The image that appears on the menu item. It contains values for alt and src.

alt (string): This text becomes the image’s alt attribute.

src (string): File name (including path) of the image. Path should be relative to the src folder (e.g., "course/en/images/t05.jpg").

linkText (string): This text is displayed on the menu item's link/button.

durationLabel (string): Optional text which precedes duration (e.g., "Duration:").

duration (string): Optional text which follows durationLabel (e.g., "2 mins").

Accessibility

Several menu-related elements are assigned a label using the aria-label attribute: ariaRegion, menuItem, and menuEnd. 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: 5.0.0 adapt learning logo
Framework versions: 5.5+
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), Edge, IE11, Safari 12+13 for macOS/iOS/iPadOS, Opera

About

A simple contributed menu based upon a grid system

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 57.2%
  • HTML 38.9%
  • CSS 3.9%