From dc463522d3b332e56f6dcd7b65edb5a6b267295f Mon Sep 17 00:00:00 2001 From: n_herr03 <nina.herrmann@uni-muenster.de> Date: Tue, 18 Oct 2022 17:37:47 +0200 Subject: [PATCH] WIP add secondary navigation TODO: add to settings page --- activeworkflows.php | 1 + coursebackups.php | 2 +- delayedcourses.php | 3 +++ errors.php | 2 ++ renderer.php | 28 ++++++++++++++++++++++++++++ styles.css | 4 +++- templates/workflowoverview.mustache | 5 +++++ workflowdrafts.php | 5 ++--- 8 files changed, 45 insertions(+), 5 deletions(-) diff --git a/activeworkflows.php b/activeworkflows.php index 75d91b6..98cd861 100644 --- a/activeworkflows.php +++ b/activeworkflows.php @@ -48,6 +48,7 @@ $PAGE->set_heading(get_string('active_workflows_header', 'tool_lifecycle')); $renderer = $PAGE->get_renderer('tool_lifecycle'); echo $renderer->header(' '); +echo $renderer->render_extra_navigation(); echo $renderer->render_from_template('tool_lifecycle/search_input', [ 'action' => (new moodle_url(urls::ACTIVE_PROCESSES))->out(false), diff --git a/coursebackups.php b/coursebackups.php index 711b524..1c45bb0 100644 --- a/coursebackups.php +++ b/coursebackups.php @@ -56,7 +56,7 @@ $PAGE->set_heading(get_string('course_backups_list_header', 'tool_lifecycle')); $renderer = $PAGE->get_renderer('tool_lifecycle'); echo $renderer->header(); - +echo $renderer->render_extra_navigation(); echo '<br>'; $mform->display(); diff --git a/delayedcourses.php b/delayedcourses.php index 923cd36..41653a8 100644 --- a/delayedcourses.php +++ b/delayedcourses.php @@ -143,6 +143,9 @@ $table = new delayed_courses_table($data); $table->define_baseurl($PAGE->url); echo $OUTPUT->header(); +$renderer = $PAGE->get_renderer('tool_lifecycle'); +echo $renderer->render_extra_navigation(); + $mform->display(); $table->out(100, false); diff --git a/errors.php b/errors.php index 40c80bc..1ff38a0 100644 --- a/errors.php +++ b/errors.php @@ -65,6 +65,8 @@ $table->define_baseurl($PAGE->url); $PAGE->requires->js_call_amd('tool_lifecycle/tablebulkactions', 'init'); echo $OUTPUT->header(); +$renderer = $PAGE->get_renderer('tool_lifecycle'); +echo $renderer->render_extra_navigation(); $table->out(100, false); echo $OUTPUT->footer(); diff --git a/renderer.php b/renderer.php index f17197d..0d67f4b 100644 --- a/renderer.php +++ b/renderer.php @@ -64,5 +64,33 @@ class tool_lifecycle_renderer extends plugin_renderer_base { echo $form->render(); $this->footer(); } + public function render_extra_navigation () { + $data2 = new stdClass(); + $children = array(); + $urls = array('/admin/settings.php?section=tool_lifecycle', '/admin/tool/lifecycle/workflowdrafts.php', + '/admin/tool/lifecycle/activeworkflows.php', '/admin/tool/lifecycle/delayedcourses.php', + '/admin/tool/lifecycle/step/adminapprove/index.php', '/admin/tool/lifecycle/errors.php', + '/admin/tool/lifecycle/coursebackups.php'); + $names = array(get_string('edit') . ' ' . get_string('general_settings_header', 'tool_lifecycle'), + get_string('edit') . ' ' . get_string('workflow_drafts_header', 'tool_lifecycle'), + get_string('edit') . ' ' . get_string('active_workflows_header', 'tool_lifecycle'), + get_string('view') . ' ' . get_string('delayed_courses_header', 'tool_lifecycle'), + get_string('manage-adminapprove', 'lifecyclestep_adminapprove'), + get_string('process_errors_header', 'tool_lifecycle'), + get_string('course_backups_list_header', 'tool_lifecycle')); + + for ($i = 0; $i < count($names); $i++) { + $navitem = new stdClass(); + $navitem->active = true; + $navitem->showchildreninsubmenu = false; + $navitem->url = new moodle_url($urls[$i]); + $navitem->text = $names[$i]; + array_push($children, $navitem); + } + $data2->children = $children; + $moremenu = new \core\navigation\output\more_menu($data2, 'nav', true); + $secondarynavigation = $moremenu->export_for_template($this->output); + return $this->output->render_from_template('tool_lifecycle/navigation_helper', $secondarynavigation); + } } diff --git a/styles.css b/styles.css index 8ecb119..7ab7e12 100644 --- a/styles.css +++ b/styles.css @@ -13,7 +13,9 @@ body.path-admin-tool-lifecycle .wf-secondary-info, .lifecycle-highlighted { background-color: rgba(0, 178, 255, 0.15); } - +nav.moremenu { + opacity: 1; +} span.tool_lifecycle-hint { text-decoration: underline dashed #444; } diff --git a/templates/workflowoverview.mustache b/templates/workflowoverview.mustache index a3d6b7e..6bc654a 100644 --- a/templates/workflowoverview.mustache +++ b/templates/workflowoverview.mustache @@ -71,6 +71,11 @@ } }} <div class="d-flex" id="lifecycle-workflow-details"> + <div class="navigation" style="width: 100%"> + {{#navitems}} + <a href="{{navlink}}"> {{navname}}</a> - + {{/navitems}} + </div> <div class="wf-wrapper"> <div class="bg-light d-inline-block p-3 position-relative" style="max-width: 800px;"> <a class="edit-pen" href="{{{editsettingslink}}}">{{#pix}} i/edit, core, {{/pix}}</a> diff --git a/workflowdrafts.php b/workflowdrafts.php index d86b6a3..64f0578 100644 --- a/workflowdrafts.php +++ b/workflowdrafts.php @@ -48,6 +48,8 @@ $PAGE->set_heading(get_string('workflow_drafts_header', 'tool_lifecycle')); $renderer = $PAGE->get_renderer('tool_lifecycle'); echo $renderer->header(); +echo $renderer->render_extra_navigation(); + echo html_writer::link(new \moodle_url(urls::EDIT_WORKFLOW), get_string('add_workflow', 'tool_lifecycle'), ['class' => 'btn btn-primary mx-1']); @@ -63,9 +65,6 @@ echo $OUTPUT->box_start("lifecycle-enable-overflow lifecycle-table"); $table->out(10, false); echo $OUTPUT->box_end(); -echo \html_writer::link(new \moodle_url(urls::ACTIVE_WORKFLOWS), - get_string('active_workflows_list', 'tool_lifecycle')); -echo '<br>'; echo \html_writer::link(new \moodle_url(urls::DEACTIVATED_WORKFLOWS), get_string('deactivated_workflows_list', 'tool_lifecycle')); -- GitLab