MDL-61620 output: New action_menu options

This commit is contained in:
David Monllao
2018-03-14 11:38:08 +01:00
parent 1287039e62
commit 6dca3ddc71
3 changed files with 21 additions and 4 deletions
+16 -1
View File
@@ -4139,6 +4139,12 @@ class action_menu implements renderable, templatable {
*/
public $menutrigger = '';
/**
* Any extra classes for toggling to the secondary menu.
* @var triggerextraclasses
*/
public $triggerextraclasses = '';
/**
* Place the action menu before all other actions.
* @var prioritise
@@ -4178,8 +4184,16 @@ class action_menu implements renderable, templatable {
}
}
public function set_menu_trigger($trigger) {
/**
* Sets the menu trigger text.
*
* @param string $trigger The text
* @param string $extraclasses Extra classes to style the secondary menu toggle.
* @return null
*/
public function set_menu_trigger($trigger, $extraclasses = '') {
$this->menutrigger = $trigger;
$this->triggerextraclasses = $extraclasses;
}
/**
@@ -4457,6 +4471,7 @@ class action_menu implements renderable, templatable {
$actionicon = $this->actionicon;
if (!empty($this->menutrigger)) {
$primary->menutrigger = $this->menutrigger;
$primary->triggerextraclasses = $this->triggerextraclasses;
} else {
$primary->title = get_string('actions');
$actionicon = new pix_icon('t/edit_menu', '', 'moodle', ['class' => 'iconsmall actionmenu', 'title' => '']);
+3 -2
View File
@@ -23,7 +23,8 @@
{
"instance": "1",
"title": "Trigger me!",
"menutrigger": true
"menutrigger": true,
"triggerextraclasses": ""
}
}}
<a href="#" class="toggle-display {{#menutrigger}}textmenu{{/menutrigger}}" id="action-menu-toggle-{{instance}}" title="{{title}}" role="menuitem">{{{actiontext}}}{{{menutrigger}}}{{#icon}}{{#pix}}{{key}}, {{component}}, {{title}}{{/pix}}{{/icon}}{{#rawicon}}{{{.}}}{{/rawicon}}{{#menutrigger}}<b class="caret"></b>{{/menutrigger}}</a>
<a href="#" class="{{triggerextraclasses}} toggle-display {{#menutrigger}}textmenu{{/menutrigger}}" id="action-menu-toggle-{{instance}}" title="{{title}}" role="menuitem">{{{actiontext}}}{{{menutrigger}}}{{#icon}}{{#pix}}{{key}}, {{component}}, {{title}}{{/pix}}{{/icon}}{{#rawicon}}{{{.}}}{{/rawicon}}{{#menutrigger}}<b class="caret"></b>{{/menutrigger}}</a>
@@ -26,6 +26,7 @@
"url": "http://example.com/link",
"classes": "icon menu-action",
"instance": "1",
"triggerextraclasses": "",
"attributes": [
{"name": "role", "value": "menuitem" },
{"name": "data-title", "value": "mymoodle,admin" }
@@ -77,7 +78,7 @@
}
}}
<div class="dropdown d-inline">
<a href="#" class="dropdown-toggle" id="dropdown-{{instance}}" title="{{title}}" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{{actiontext}}}{{{menutrigger}}}{{#icon}}{{#pix}}{{key}},{{component}},{{title}}{{/pix}}{{/icon}}{{#rawicon}}{{{.}}}{{/rawicon}}{{#menutrigger}}<b class="caret"></b>{{/menutrigger}}</a>
<a href="#" class="{{triggerextraclasses}} dropdown-toggle" id="dropdown-{{instance}}" title="{{title}}" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{{{actiontext}}}{{{menutrigger}}}{{#icon}}{{#pix}}{{key}},{{component}},{{title}}{{/pix}}{{/icon}}{{#rawicon}}{{{.}}}{{/rawicon}}{{#menutrigger}}<b class="caret"></b>{{/menutrigger}}</a>
{{#secondary}}
<div class="dropdown-menu dropdown-menu-right {{classes}}"{{#attributes}} {{name}}="{{value}}"{{/attributes}}>
{{#items}}{{!