MDL-85990 core: Improve core/toggle to accept any attribute
Improve the core/toggle template, so it can accept any attribute and not only starting with "data-". This will allow to add attributes like "aria-label", for example.
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
issueNumber: MDL-86990
|
||||
notes:
|
||||
core:
|
||||
- message: >-
|
||||
In toggle.mustache `dataattributes` parameter is deprecated. Use
|
||||
`extraattributes` instead
|
||||
type: deprecated
|
||||
@@ -18,7 +18,7 @@ The parameters for the template context are:
|
||||
* extraclasses: Any extra classes added to the toggle input outer container.
|
||||
* checked: If the initial status is checked.
|
||||
* disabled: If toggle input is disabled.
|
||||
* dataattributes: Array of name/value elements added as data-attributes.
|
||||
* extraattributes: Array of name/value elements added as attributes.
|
||||
* title: Title text.
|
||||
* label: Label text.
|
||||
* labelclasses: Any extra classes added to the label container.
|
||||
@@ -32,8 +32,8 @@ Checked toggle and with "visually-hidden" label.
|
||||
{
|
||||
"id": "example-toggle-1",
|
||||
"checked": true,
|
||||
"dataattributes": [{
|
||||
"name": "action",
|
||||
"extraattributes": [{
|
||||
"name": "data-action",
|
||||
"value": "toggle-status"
|
||||
}],
|
||||
"title": "Toggle Enabled",
|
||||
@@ -50,8 +50,8 @@ Disabled toggle with extra classes.
|
||||
"id": "example-toggle-2",
|
||||
"disabled": true,
|
||||
"extraclasses": "mt-2 ms-2",
|
||||
"dataattributes": [{
|
||||
"name": "action",
|
||||
"extraattributes": [{
|
||||
"name": "data-action",
|
||||
"value": "toggle-status"
|
||||
}],
|
||||
"title": "Toggle Disabled",
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
"id": "reality-toggle-3",
|
||||
"checked": true,
|
||||
"disabled": false,
|
||||
"dataattributes": [{
|
||||
"name": "action",
|
||||
"extraattributes": [{
|
||||
"name": "data-action",
|
||||
"value": "toggle-reality"
|
||||
}],
|
||||
"title": "Title example",
|
||||
@@ -37,9 +37,11 @@
|
||||
<div class="form-check form-switch {{$extraclasses}}{{extraclasses}}{{/extraclasses}}">
|
||||
<input type="checkbox" class="form-check-input" id="{{$id}}{{id}}{{/id}}"
|
||||
{{$attributes}}
|
||||
{{#dataattributes}}data-{{name}}="{{value}}" {{/dataattributes}}
|
||||
{{#extraattributes}}{{name}}="{{value}}" {{/extraattributes}}
|
||||
{{#checked}}checked{{/checked}}
|
||||
{{#disabled}}disabled{{/disabled}}
|
||||
{{! TODO MDL-86619: dataattributes will be removed in 6.0. Use extraattributes instead. }}
|
||||
{{#dataattributes}}data-{{name}}="{{value}}" {{/dataattributes}}
|
||||
{{/attributes}}>
|
||||
{{$labelmarkup}}
|
||||
<label class="form-check-label" for="{{$id}}{{id}}{{/id}}" {{#title}}data-bs-toggle="tooltip" data-bs-placement="top" title="{{title}}"{{/title}}>
|
||||
|
||||
@@ -203,10 +203,10 @@ class overview extends \core_courseformat\activityoverviewbase {
|
||||
|
||||
$renderer = $this->rendererhelper->get_renderer('mod_forum');
|
||||
$dataattributes = [
|
||||
['name' => 'type', 'value' => 'forum-track-toggle'],
|
||||
['name' => 'action', 'value' => 'toggle'],
|
||||
['name' => 'forumid', 'value' => $this->forum->id],
|
||||
['name' => 'targetstate', 'value' => !$tracked],
|
||||
['name' => 'data-type', 'value' => 'forum-track-toggle'],
|
||||
['name' => 'data-action', 'value' => 'toggle'],
|
||||
['name' => 'data-forumid', 'value' => $this->forum->id],
|
||||
['name' => 'data-targetstate', 'value' => !$tracked],
|
||||
];
|
||||
$content = $renderer->render_from_template(
|
||||
'core/toggle',
|
||||
@@ -214,7 +214,7 @@ class overview extends \core_courseformat\activityoverviewbase {
|
||||
'id' => 'forum-track-toggle-' . $this->forum->id,
|
||||
'checked' => $tracked,
|
||||
'disabled' => $disabled,
|
||||
'dataattributes' => $dataattributes,
|
||||
'extraattributes' => $dataattributes,
|
||||
'label' => $label,
|
||||
'labelclasses' => 'visually-hidden',
|
||||
],
|
||||
@@ -267,10 +267,10 @@ class overview extends \core_courseformat\activityoverviewbase {
|
||||
|
||||
$renderer = $this->rendererhelper->get_renderer('mod_forum');
|
||||
$dataattributes = [
|
||||
['name' => 'type', 'value' => 'forum-subscription-toggle'],
|
||||
['name' => 'action', 'value' => 'toggle'],
|
||||
['name' => 'forumid', 'value' => $this->forum->id],
|
||||
['name' => 'targetstate', 'value' => !$subscribed],
|
||||
['name' => 'data-type', 'value' => 'forum-subscription-toggle'],
|
||||
['name' => 'data-action', 'value' => 'toggle'],
|
||||
['name' => 'data-forumid', 'value' => $this->forum->id],
|
||||
['name' => 'data-targetstate', 'value' => !$subscribed],
|
||||
];
|
||||
$content = $renderer->render_from_template(
|
||||
'core/toggle',
|
||||
@@ -278,7 +278,7 @@ class overview extends \core_courseformat\activityoverviewbase {
|
||||
'id' => 'forum-subscription-toggle-' . $this->forum->id,
|
||||
'checked' => $subscribed,
|
||||
'disabled' => $disabled,
|
||||
'dataattributes' => $dataattributes,
|
||||
'extraattributes' => $dataattributes,
|
||||
'label' => $label,
|
||||
'labelclasses' => 'visually-hidden',
|
||||
],
|
||||
|
||||
+5
-5
@@ -166,10 +166,10 @@ class course_external_tools_list extends system_report {
|
||||
|
||||
$renderer = $PAGE->get_renderer('core_reportbuilder');
|
||||
$attributes = [
|
||||
['name' => 'id', 'value' => $row->id],
|
||||
['name' => 'courseid', 'value' => $courseid],
|
||||
['name' => 'action', 'value' => 'showinactivitychooser-toggle'],
|
||||
['name' => 'state', 'value' => $coursevisible],
|
||||
['name' => 'data-id', 'value' => $row->id],
|
||||
['name' => 'data-courseid', 'value' => $courseid],
|
||||
['name' => 'data-action', 'value' => 'showinactivitychooser-toggle'],
|
||||
['name' => 'data-state', 'value' => $coursevisible],
|
||||
];
|
||||
$label = $coursevisible ? get_string('dontshowinactivitychooser', 'mod_lti')
|
||||
: get_string('showinactivitychooser', 'mod_lti');
|
||||
@@ -180,7 +180,7 @@ class course_external_tools_list extends system_report {
|
||||
'id' => 'showinactivitychooser-toggle-' . $row->id,
|
||||
'checked' => $coursevisible,
|
||||
'disabled' => $disabled,
|
||||
'dataattributes' => $attributes,
|
||||
'extraattributes' => $attributes,
|
||||
'label' => $label,
|
||||
'labelclasses' => 'visually-hidden',
|
||||
]);
|
||||
|
||||
@@ -124,16 +124,16 @@ class report_schedules extends system_report {
|
||||
|
||||
$renderer = $PAGE->get_renderer('core_reportbuilder');
|
||||
$attributes = [
|
||||
['name' => 'id', 'value' => $row->id],
|
||||
['name' => 'action', 'value' => 'schedule-toggle'],
|
||||
['name' => 'state', 'value' => $row->enabled],
|
||||
['name' => 'data-id', 'value' => $row->id],
|
||||
['name' => 'data-action', 'value' => 'schedule-toggle'],
|
||||
['name' => 'data-state', 'value' => $row->enabled],
|
||||
];
|
||||
$label = $row->enabled ? get_string('disableschedule', 'core_reportbuilder')
|
||||
: get_string('enableschedule', 'core_reportbuilder');
|
||||
return $renderer->render_from_template('core/toggle', [
|
||||
'id' => 'schedule-toggle-' . $row->id,
|
||||
'checked' => $row->enabled,
|
||||
'dataattributes' => $attributes,
|
||||
'extraattributes' => $attributes,
|
||||
'label' => $label,
|
||||
'labelclasses' => 'visually-hidden',
|
||||
]);
|
||||
|
||||
Reference in New Issue
Block a user