diff --git a/lib/outputcomponents.php b/lib/outputcomponents.php index c696d607119..db773a63e25 100644 --- a/lib/outputcomponents.php +++ b/lib/outputcomponents.php @@ -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' => '']); diff --git a/lib/templates/action_menu_trigger.mustache b/lib/templates/action_menu_trigger.mustache index 93285103816..fce1a8b7e1f 100644 --- a/lib/templates/action_menu_trigger.mustache +++ b/lib/templates/action_menu_trigger.mustache @@ -23,7 +23,8 @@ { "instance": "1", "title": "Trigger me!", - "menutrigger": true + "menutrigger": true, + "triggerextraclasses": "" } }} -{{{actiontext}}}{{{menutrigger}}}{{#icon}}{{#pix}}{{key}}, {{component}}, {{title}}{{/pix}}{{/icon}}{{#rawicon}}{{{.}}}{{/rawicon}}{{#menutrigger}}{{/menutrigger}} +{{{actiontext}}}{{{menutrigger}}}{{#icon}}{{#pix}}{{key}}, {{component}}, {{title}}{{/pix}}{{/icon}}{{#rawicon}}{{{.}}}{{/rawicon}}{{#menutrigger}}{{/menutrigger}} diff --git a/theme/boost/templates/core/action_menu_trigger.mustache b/theme/boost/templates/core/action_menu_trigger.mustache index 7eab5030460..bf68279054a 100644 --- a/theme/boost/templates/core/action_menu_trigger.mustache +++ b/theme/boost/templates/core/action_menu_trigger.mustache @@ -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 @@ } }}