Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New: Add support for tooltip API (#88) #89

Merged
merged 5 commits into from
Oct 17, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 23 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,28 @@ Label for the button that cancels the switch languages dialog.

<div float align=right><a href="#top">Back to Top</a></div>

### Attributes

Add to _course.json_ under _\_globals.\_extensions_.

### \_languagePicker (object):
The languagePicker object that contains values for `navigationBarLabel`, `languageSelector` and `_navTooltip` that contains `_isEnabled`, `text`.

#### \navigationBarLabel (string):
Label shown next to the language picker button when navigation bar labels are enabled. Defaults to Language picker.

#### \languageSelector (string):
Aria label that appears at the top of the drawer displayed when language picker button is clicked. Defaults to Language selector.

#### \_navTooltip (object):
The _navTooltip object that contains values for `_isEnabled` and `text`.

#### \_isEnabled (boolean):
Enables/disables tooltips for the language picker button in the navigation bar. The default value is `true`.

#### \text (string):
Text to be displayed in the tooltip when the user hovers over the language picker button in the navigation bar. Defaults to 'Language Picker'

## Limitations
- If the [**Spoor**](https://github.com/adaptlearning/adapt-contrib-spoor) extension is disabled (or not installed), **Language Picker** will not remember the learner's language choice from the previous session.
- Switching languages during an [**Assessment**](https://github.com/adaptlearning/adapt-contrib-assessment) will reset assessment attempts.
Expand All @@ -109,4 +131,4 @@ If the [**Spoor**](https://github.com/adaptlearning/adapt-contrib-spoor) extensi
**Author / maintainer:** Adapt Core Team with [contributors](https://github.com/adaptlearning/adapt-contrib-bookmarking/graphs/contributors)
**Accessibility support:** WAI AA
**RTL support:** Yes
**Cross-platform coverage:** Chrome, Chrome for Android, Firefox (ESR + latest version), Edge, IE11, Safari 14 for macOS/iOS/iPadOS, Opera
**Cross-platform coverage:** Chrome, Chrome for Android, Firefox (ESR + latest version), Edge, Safari 14 for macOS/iOS/iPadOS, Opera
2 changes: 1 addition & 1 deletion bower.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"url": "git://github.com/adaptlearning/adapt-contrib-languagePicker.git"
},
"version": "5.3.0",
"framework": ">=5.24.2",
"framework": ">=5.30.2",
"homepage": "https://github.com/adaptlearning/adapt-contrib-languagePicker",
"bugs": "https://github.com/adaptlearning/adapt-contrib-languagePicker/issues",
"extension": "languagePicker",
Expand Down
7 changes: 6 additions & 1 deletion example.json
Original file line number Diff line number Diff line change
Expand Up @@ -48,5 +48,10 @@

// to be added to the _extensions object in course.json
"_languagePicker": {
"navigationBarLabel" : "Select course language"
"navigationBarLabel" : "Select course language",
"languageSelector": "Language selector",
"_navTooltip": {
"_isEnabled": true,
"text": "Language Picker"
oliverfoster marked this conversation as resolved.
Show resolved Hide resolved
}
}
3 changes: 2 additions & 1 deletion js/adapt-languagePicker.js
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,8 @@ class LanguagePicker extends Backbone.Controller {
model: this.languagePickerModel,
attributes: {
'aria-label': navigationBarLabel,
'aria-expanded': false
'aria-expanded': false,
'data-tooltip-id': 'languagePicker'
}
});

Expand Down
6 changes: 6 additions & 0 deletions js/languagePickerNavView.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import Adapt from 'core/js/adapt';
import drawer from 'core/js/drawer';
import LanguagePickerDrawerView from './languagePickerDrawerView';
import tooltips from 'core/js/tooltips';

export default class LanguagePickerNavView extends Backbone.View {

Expand All @@ -26,6 +27,11 @@ export default class LanguagePickerNavView extends Backbone.View {
remove: this.remove,
'drawer:closed': this.onClose
});

tooltips.register({
_id: 'languagePicker',
...Adapt.course.get('_globals')?._extensions?._languagePicker?._navTooltip || {}
});
}

onClose() {
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"url": "git://github.com/adaptlearning/adapt-contrib-languagePicker.git"
},
"version": "5.3.0",
"framework": ">=5.24.2",
"framework": ">=5.30.2",
"homepage": "https://github.com/adaptlearning/adapt-contrib-languagePicker",
"bugs": "https://github.com/adaptlearning/adapt-contrib-languagePicker/issues",
"extension": "languagePicker",
Expand Down
23 changes: 22 additions & 1 deletion properties.schema
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
"navigationBarLabel": {
"type": "string",
"required": true,
"default": "Select course language",
"default": "Language picker",
"inputType": "Text",
"validators": [],
"translatable": true
Expand All @@ -19,6 +19,27 @@
"inputType": "Text",
"validators": [],
"translatable": true
},
"_navTooltip": {
"type": "object",
"title": "Navigation tooltip",
"properties": {
"_isEnabled": {
"type": " boolean",
"title": "Enable tooltip for language picker button",
"default": true,
"inputType": "Checkbox",
"validators": [],
"required": true
},
"text": {
"type": "string",
"title": "Tooltip text",
"default": "Language picker",
"inputType": "Text",
"required": true
}
}
}
},
"properties": {
Expand Down
21 changes: 20 additions & 1 deletion schema/course.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
"navigationBarLabel": {
"type": "string",
"title": "Navigation bar label",
"default": "Select course language",
"default": "Language picker",
"_adapt": {
"translatable": true
}
Expand All @@ -36,6 +36,25 @@
"_adapt": {
"translatable": true
}
},
"_navTooltip": {
"type": "object",
"title": "Navigation tooltip",
"properties": {
"_isEnabled": {
"type": "boolean",
"title": "Enable tooltip for language picker button",
"default": true
},
"text": {
"type": "string",
"title": "Tooltip text",
"default": "Language picker",
"_adapt": {
"translatable": true
}
}
}
}
}
}
Expand Down
Loading