Matheus Garcia
6 years ago
149 changed files with 130 additions and 7214 deletions
@ -1 +1 @@ |
|||
define(["jquery","core/custom_interaction_events","core/log"],function(a,b,c){var d={TOGGLE_REGION:'[data-region="drawer-toggle"]',TOGGLE_ACTION:'[data-action="toggle-drawer"]',TOGGLE_TARGET:"aria-controls",TOGGLE_SIDE:"left",BODY:"body",SECTION:'.list-group-item[href*="#section-"]'},e=a(document).width()<768,f=function(){a(d.TOGGLE_REGION).length||c.debug("Page is missing a drawer region"),a(d.TOGGLE_ACTION).length||c.debug("Page is missing a drawer toggle link"),a(d.TOGGLE_REGION).each(function(b,c){var f=a(c).find(d.TOGGLE_ACTION),g=f.attr("aria-controls"),h=a(document.getElementById(g)),i="false"==f.attr("aria-expanded"),j=f.attr("data-side"),k=a(d.BODY),l=f.attr("data-preference");e&&M.util.set_user_preference(l,"false"),h.on("mousewheel DOMMouseScroll",this.preventPageScroll),i?f.attr("aria-expanded","false"):(k.addClass("drawer-open-"+j),f.attr("aria-expanded","true"))}.bind(this)),this.registerEventListeners(),e&&this.closeAll()};return f.prototype.closeAll=function(){a(d.TOGGLE_REGION).each(function(b,c){var f=a(c).find(d.TOGGLE_ACTION),g=f.attr("data-side"),h=a(d.BODY),i=f.attr("aria-controls"),j=a(document.getElementById(i)),k=f.attr("data-preference");f.attr("aria-expanded","false"),h.removeClass("drawer-open-"+g),j.attr("aria-hidden","true"),j.addClass("closed"),e||M.util.set_user_preference(k,"false")})},f.prototype.toggleDrawer=function(b){var c=a(b.target).closest("[data-action=toggle-drawer]"),f=c.attr("aria-controls"),g=a(document.getElementById(f)),h=a(d.BODY),i=c.attr("data-side"),j=c.attr("data-preference");e&&M.util.set_user_preference(j,"false"),h.addClass("drawer-ease");var k="true"==c.attr("aria-expanded");k?(h.removeClass("drawer-open-"+i),c.attr("aria-expanded","false"),g.attr("aria-hidden","true"),g.addClass("closed"),e||M.util.set_user_preference(j,"false")):(c.attr("aria-expanded","true"),g.attr("aria-hidden","false"),g.focus(),h.addClass("drawer-open-"+i),g.removeClass("closed"),e||M.util.set_user_preference(j,"true"))},f.prototype.preventPageScroll=function(b){var c=b.wheelDelta||b.originalEvent&&b.originalEvent.wheelDelta||-b.originalEvent.detail,d=this.scrollTop+a(this).outerHeight()-this.scrollHeight>=0,e=this.scrollTop<=0;(c<0&&d||c>0&&e)&&b.preventDefault()},f.prototype.registerEventListeners=function(){a(d.TOGGLE_ACTION).each(function(c,d){b.define(a(d),[b.events.activate]),a(d).on(b.events.activate,function(a,b){this.toggleDrawer(b.originalEvent),b.originalEvent.preventDefault()}.bind(this))}.bind(this)),a(d.SECTION).click(function(){e&&this.closeAll()}.bind(this))},{init:function(){return new f}}}); |
|||
define(["jquery","core/custom_interaction_events","core/log","core/pubsub"],function(a,b,c,d){var e={TOGGLE_REGION:'[data-region="drawer-toggle"]',TOGGLE_ACTION:'[data-action="toggle-drawer"]',TOGGLE_TARGET:"aria-controls",TOGGLE_SIDE:"left",BODY:"body",SECTION:'.list-group-item[href*="#section-"]',DRAWER:"#nav-drawer"},f=a(document).width()<768,g=function(){a(e.TOGGLE_REGION).length||c.debug("Page is missing a drawer region"),a(e.TOGGLE_ACTION).length||c.debug("Page is missing a drawer toggle link"),a(e.TOGGLE_REGION).each(function(b,c){var d=a(c).find(e.TOGGLE_ACTION),g=d.attr("aria-controls"),h=a(document.getElementById(g)),i="false"==d.attr("aria-expanded"),j=d.attr("data-side"),k=a(e.BODY),l=d.attr("data-preference");f&&M.util.set_user_preference(l,"false"),h.on("mousewheel DOMMouseScroll",this.preventPageScroll),i?d.attr("aria-expanded","false"):(k.addClass("drawer-open-"+j),d.attr("aria-expanded","true"))}.bind(this)),this.registerEventListeners(),f&&this.closeAll()};return g.prototype.closeAll=function(){a(e.TOGGLE_REGION).each(function(b,c){var d=a(c).find(e.TOGGLE_ACTION),g=d.attr("data-side"),h=a(e.BODY),i=d.attr("aria-controls"),j=a(document.getElementById(i)),k=d.attr("data-preference");d.attr("aria-expanded","false"),h.removeClass("drawer-open-"+g),j.attr("aria-hidden","true"),j.addClass("closed"),f||M.util.set_user_preference(k,"false")})},g.prototype.toggleDrawer=function(b){var c=a(b.target).closest("[data-action=toggle-drawer]"),g=c.attr("aria-controls"),h=a(document.getElementById(g)),i=a(e.BODY),j=c.attr("data-side"),k=c.attr("data-preference");f&&M.util.set_user_preference(k,"false"),i.addClass("drawer-ease");var l="true"==c.attr("aria-expanded");l?(i.removeClass("drawer-open-"+j),c.attr("aria-expanded","false"),h.attr("aria-hidden","true"),h.addClass("closed"),f||M.util.set_user_preference(k,"false")):(c.attr("aria-expanded","true"),h.attr("aria-hidden","false"),h.focus(),i.addClass("drawer-open-"+j),h.removeClass("closed"),f||M.util.set_user_preference(k,"true")),d.publish("nav-drawer-toggle-start",l)},g.prototype.preventPageScroll=function(b){var c=b.wheelDelta||b.originalEvent&&b.originalEvent.wheelDelta||-b.originalEvent.detail,d=this.scrollTop+a(this).outerHeight()-this.scrollHeight>=0,e=this.scrollTop<=0;(c<0&&d||c>0&&e)&&b.preventDefault()},g.prototype.registerEventListeners=function(){a(e.TOGGLE_ACTION).each(function(c,d){b.define(a(d),[b.events.activate]),a(d).on(b.events.activate,function(a,b){this.toggleDrawer(b.originalEvent),b.originalEvent.preventDefault()}.bind(this))}.bind(this)),a(e.SECTION).click(function(){f&&this.closeAll()}.bind(this)),a(e.DRAWER).on("webkitTransitionEnd msTransitionEnd transitionend",function(b){var c=a(b.target).closest(e.DRAWER),f="false"==c.attr("aria-hidden");d.publish("nav-drawer-toggle-end",f)})},{init:function(){return new g}}}); |
|||
|
@ -1 +1 @@ |
|||
define(["jquery","./tether","core/event"],function(a,b,c){return window.jQuery=a,window.Tether=b,require(["theme_ilb/aria","theme_ilb/util","theme_ilb/alert","theme_ilb/button","theme_ilb/carousel","theme_ilb/collapse","theme_ilb/dropdown","theme_ilb/modal","theme_ilb/scrollspy","theme_ilb/tab","theme_ilb/tooltip","theme_ilb/popover"],function(b){a("body").popover({trigger:"focus",selector:"[data-toggle=popover][data-trigger!=hover]"}),a("html").popover({container:"body",selector:"[data-toggle=popover][data-trigger=hover]",trigger:"hover",delay:{hide:500}}),c.getLegacyEvents().done(function(b){a(document).on(b.FILTER_CONTENT_UPDATED,function(){a("body").popover({selector:'[data-toggle="popover"]',trigger:"focus"})})}),b.init()}),{}}); |
|||
define(["jquery","./tether","core/event"],function(a,b,c){return window.jQuery=a,window.Tether=b,require(["theme_ilb/aria","theme_ilb/pending","theme_ilb/util","theme_ilb/alert","theme_ilb/button","theme_ilb/carousel","theme_ilb/collapse","theme_ilb/dropdown","theme_ilb/modal","theme_ilb/scrollspy","theme_ilb/tab","theme_ilb/tooltip","theme_ilb/popover"],function(b){a("body").popover({trigger:"focus",selector:"[data-toggle=popover][data-trigger!=hover]"}),a("html").popover({container:"body",selector:"[data-toggle=popover][data-trigger=hover]",trigger:"hover",delay:{hide:500}}),c.getLegacyEvents().done(function(b){a(document).on(b.FILTER_CONTENT_UPDATED,function(){a("body").popover({selector:'[data-toggle="popover"]',trigger:"focus"})})}),b.init()}),{}}); |
|||
|
@ -0,0 +1 @@ |
|||
define(["jquery"],function(a){var b={alert:[{start:"close",end:"closed"}],carousel:[{start:"slide",end:"slid"}],collapse:[{start:"hide",end:"hidden"},{start:"show",end:"shown"}],dropdown:[{start:"hide",end:"hidden"},{start:"show",end:"shown"}],modal:[{start:"hide",end:"hidden"},{start:"show",end:"shown"}],popover:[{start:"hide",end:"hidden"},{start:"show",end:"shown"}],tab:[{start:"hide",end:"hidden"},{start:"show",end:"shown"}],tooltip:[{start:"hide",end:"hidden"},{start:"show",end:"shown"}]};Object.keys(b).forEach(function(c){b[c].forEach(function(b){var d=b.start+".bs."+c,e=b.end+".bs."+c;a(document.body).on(d,function(){M.util.js_pending(e)}),a(document.body).on(e,function(){M.util.js_complete(e)})})})}); |
@ -0,0 +1,120 @@ |
|||
// This file is part of Moodle - http://moodle.org/
|
|||
//
|
|||
// Moodle is free software: you can redistribute it and/or modify
|
|||
// it under the terms of the GNU General Public License as published by
|
|||
// the Free Software Foundation, either version 3 of the License, or
|
|||
// (at your option) any later version.
|
|||
//
|
|||
// Moodle is distributed in the hope that it will be useful,
|
|||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|||
// GNU General Public License for more details.
|
|||
//
|
|||
// You should have received a copy of the GNU General Public License
|
|||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
|||
/** |
|||
* Add Pending JS checks to stock Bootstrap transitions. |
|||
* |
|||
* @module theme_boost/pending |
|||
* @copyright 2019 Andrew Nicols <andrew@nicols.co.uk> |
|||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
|||
*/ |
|||
define(['jquery'], function($) { |
|||
var moduleTransitions = { |
|||
alert: [ |
|||
// Alert.
|
|||
{ |
|||
start: 'close', |
|||
end: 'closed', |
|||
}, |
|||
], |
|||
|
|||
carousel: [ |
|||
{ |
|||
start: 'slide', |
|||
end: 'slid', |
|||
}, |
|||
], |
|||
|
|||
collapse: [ |
|||
{ |
|||
start: 'hide', |
|||
end: 'hidden', |
|||
}, |
|||
{ |
|||
start: 'show', |
|||
end: 'shown', |
|||
}, |
|||
], |
|||
|
|||
dropdown: [ |
|||
{ |
|||
start: 'hide', |
|||
end: 'hidden', |
|||
}, |
|||
{ |
|||
start: 'show', |
|||
end: 'shown', |
|||
}, |
|||
], |
|||
|
|||
modal: [ |
|||
{ |
|||
start: 'hide', |
|||
end: 'hidden', |
|||
}, |
|||
{ |
|||
start: 'show', |
|||
end: 'shown', |
|||
}, |
|||
], |
|||
|
|||
popover: [ |
|||
{ |
|||
start: 'hide', |
|||
end: 'hidden', |
|||
}, |
|||
{ |
|||
start: 'show', |
|||
end: 'shown', |
|||
}, |
|||
], |
|||
|
|||
tab: [ |
|||
{ |
|||
start: 'hide', |
|||
end: 'hidden', |
|||
}, |
|||
{ |
|||
start: 'show', |
|||
end: 'shown', |
|||
}, |
|||
], |
|||
|
|||
tooltip: [ |
|||
{ |
|||
start: 'hide', |
|||
end: 'hidden', |
|||
}, |
|||
{ |
|||
start: 'show', |
|||
end: 'shown', |
|||
}, |
|||
], |
|||
}; |
|||
|
|||
Object.keys(moduleTransitions).forEach(function(key) { |
|||
moduleTransitions[key].forEach(function(pair) { |
|||
var eventStart = pair.start + '.bs.' + key; |
|||
var eventEnd = pair.end + '.bs.' + key; |
|||
$(document.body).on(eventStart, function() { |
|||
M.util.js_pending(eventEnd); |
|||
}); |
|||
|
|||
$(document.body).on(eventEnd, function() { |
|||
M.util.js_complete(eventEnd); |
|||
}); |
|||
}); |
|||
}); |
|||
}); |
@ -1,50 +0,0 @@ |
|||
<?php |
|||
// This file is part of Moodle - http://moodle.org/ |
|||
// |
|||
// Moodle is free software: you can redistribute it and/or modify |
|||
// it under the terms of the GNU General Public License as published by |
|||
// the Free Software Foundation, either version 3 of the License, or |
|||
// (at your option) any later version. |
|||
// |
|||
// Moodle is distributed in the hope that it will be useful, |
|||
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
// GNU General Public License for more details. |
|||
// |
|||
// You should have received a copy of the GNU General Public License |
|||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
|
|||
/** |
|||
* Overriden block settings renderer. |
|||
* |
|||
* @package theme_ilb |
|||
* @copyright 2016 Frédéric Massart - FMCorz.net |
|||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
|||
*/ |
|||
|
|||
namespace theme_ilb\output; |
|||
defined('MOODLE_INTERNAL') || die(); |
|||
|
|||
require_once($CFG->dirroot . '/blocks/settings/renderer.php'); |
|||
|
|||
use moodle_url; |
|||
|
|||
/** |
|||
* Overriden block settings renderer. |
|||
* |
|||
* @package theme_ilb |
|||
* @copyright 2016 Frédéric Massart - FMCorz.net |
|||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
|||
*/ |
|||
class block_settings_renderer extends \block_settings_renderer { |
|||
|
|||
public function search_form(moodle_url $formtarget, $searchvalue) { |
|||
$data = [ |
|||
'action' => $formtarget->out(false), |
|||
'label' => get_string('searchinsettings', 'admin'), |
|||
'searchvalue' => $searchvalue |
|||
]; |
|||
return $this->render_from_template('block_settings/search_form', $data); |
|||
} |
|||
|
|||
} |
@ -1,140 +0,0 @@ |
|||
<?php |
|||
// This file is part of Moodle - http://moodle.org/ |
|||
// |
|||
// Moodle is free software: you can redistribute it and/or modify |
|||
// it under the terms of the GNU General Public License as published by |
|||
// the Free Software Foundation, either version 3 of the License, or |
|||
// (at your option) any later version. |
|||
// |
|||
// Moodle is distributed in the hope that it will be useful, |
|||
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
// GNU General Public License for more details. |
|||
// |
|||
// You should have received a copy of the GNU General Public License |
|||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
|
|||
namespace theme_ilb\output\core; |
|||
|
|||
use plugin_renderer_base; |
|||
|
|||
defined('MOODLE_INTERNAL') || die(); |
|||
|
|||
require_once($CFG->dirroot . '/files/renderer.php'); |
|||
|
|||
/** |
|||
* Rendering of files viewer related widgets. |
|||
* @package theme_ilb |
|||
* @copyright 2016 Damyon Wiese |
|||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
|||
*/ |
|||
|
|||
/** |
|||
* Rendering of files viewer related widgets. |
|||
* @package theme_ilb |
|||
* @copyright 2016 Damyon Wiese |
|||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
|||
*/ |
|||
class files_renderer extends \core_files_renderer { |
|||
/** |
|||
* FileManager JS template for window with file information/actions. |
|||
* |
|||
*/ |
|||
protected function fm_js_template_fileselectlayout() { |
|||
$context = [ |
|||
'helpicon' => $this->help_icon('setmainfile', 'repository') |
|||
]; |
|||
return $this->render_from_template('core/filemanager_fileselect', $context); |
|||
} |
|||
|
|||
/** |
|||
* FileManager JS template for popup confirm dialogue window. |
|||
* |
|||
* @return string |
|||
*/ |
|||
protected function fm_js_template_confirmdialog() { |
|||
return $this->render_from_template('core/filemanager_confirmdialog', []); |
|||
} |
|||
|
|||
/** |
|||
* Template for FilePicker with general layout (not QuickUpload). |
|||
* |
|||
* |
|||
* @return string |
|||
*/ |
|||
protected function fp_js_template_generallayout() { |
|||
return $this->render_from_template('core/filemanager_modal_generallayout', []); |
|||
} |
|||
|
|||
/** |
|||
* Returns html for displaying one file manager |
|||
* |
|||
* @param form_filemanager $fm |
|||
* @return string |
|||
*/ |
|||
protected function fm_print_generallayout($fm) { |
|||
$context = [ |
|||
'client_id' => $fm->options->client_id, |
|||
'helpicon' => $this->help_icon('setmainfile', 'repository'), |
|||
'restrictions' => $this->fm_print_restrictions($fm) |
|||
]; |
|||
return $this->render_from_template('core/filemanager_page_generallayout', $context); |
|||
} |
|||
|
|||
/** |
|||
* Returns HTML for default repository searchform to be passed to Filepicker |
|||
* |
|||
* This will be used as contents for search form defined in generallayout template |
|||
* (form with id {TOOLSEARCHID}). |
|||
* Default contents is one text input field with name="s" |
|||
*/ |
|||
public function repository_default_searchform() { |
|||
return $this->render_from_template('core/filemanager_default_searchform', []); |
|||
} |
|||
|
|||
/** |
|||
* FilePicker JS template for 'Upload file' repository |
|||
* |
|||
* @return string |
|||
*/ |
|||
protected function fp_js_template_uploadform() { |
|||
return $this->render_from_template('core/filemanager_uploadform', []); |
|||
} |
|||
|
|||
/** |
|||
* FilePicker JS template for repository login form including templates for each element type |
|||
* |
|||
* @return string |
|||
*/ |
|||
protected function fp_js_template_loginform() { |
|||
return $this->render_from_template('core/filemanager_loginform', []); |
|||
} |
|||
|
|||
/** |
|||
* FilePicker JS template for window appearing to select a file. |
|||
* |
|||
* @return string |
|||
*/ |
|||
protected function fp_js_template_selectlayout() { |
|||
return $this->render_from_template('core/filemanager_selectlayout', []); |
|||
} |
|||
|
|||
/** |
|||
* FilePicker JS template for popup dialogue window asking for action when file with the same name already exists |
|||
* (multiple-file version). |
|||
* |
|||
* @return string |
|||
*/ |
|||
protected function fp_js_template_processexistingfilemultiple() { |
|||
return $this->render_from_template('core/filemanager_processexistingfilemultiple', []); |
|||
} |
|||
|
|||
/** |
|||
* FilePicker JS template for popup dialogue window asking for action when file with the same name already exists. |
|||
* |
|||
* @return string |
|||
*/ |
|||
protected function fp_js_template_processexistingfile() { |
|||
return $this->render_from_template('core/filemanager_processexistingfile', []); |
|||
} |
|||
} |
@ -1,749 +0,0 @@ |
|||
<?php |
|||
// This file is part of The Bootstrap Moodle theme |
|||
// |
|||
// Moodle is free software: you can redistribute it and/or modify |
|||
// it under the terms of the GNU General Public License as published by |
|||
// the Free Software Foundation, either version 3 of the License, or |
|||
// (at your option) any later version. |
|||
// |
|||
// Moodle is distributed in the hope that it will be useful, |
|||
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
// GNU General Public License for more details. |
|||
// |
|||
// You should have received a copy of the GNU General Public License |
|||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
|
|||
/** |
|||
* Renderers to align Moodle's HTML with that expected by Bootstrap |
|||
* |
|||
* @package theme_ilb |
|||
* @copyright 2018 Bas Brands |
|||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
|||
*/ |
|||
|
|||
namespace theme_ilb\output\core_course\management; |
|||
defined('MOODLE_INTERNAL') || die(); |
|||
|
|||
require_once($CFG->dirroot . "/course/classes/management_renderer.php"); |
|||
|
|||
use html_writer; |
|||
use core_course_category; |
|||
use moodle_url; |
|||
use core_course_list_element; |
|||
use lang_string; |
|||
use context_system; |
|||
use stdClass; |
|||
use action_menu; |
|||
use action_menu_link_secondary; |
|||
|
|||
/** |
|||
* Main renderer for the course management pages. |
|||
* |
|||
* @package theme_ilb |
|||
* @copyright 2013 Sam Hemelryk |
|||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
|||
*/ |
|||
class renderer extends \core_course_management_renderer { |
|||
|
|||
/** |
|||
* Opens a grid. |
|||
* |
|||
* Call {@link core_course_management_renderer::grid_column_start()} to create columns. |
|||
* |
|||
* @param string $id An id to give this grid. |
|||
* @param string $class A class to give this grid. |
|||
* @return string |
|||
*/ |
|||
public function grid_start($id = null, $class = null) { |
|||
$gridclass = 'grid-start grid-row-r d-flex flex-wrap row'; |
|||
if (is_null($class)) { |
|||
$class = $gridclass; |
|||
} else { |
|||
$class .= ' ' . $gridclass; |
|||
} |
|||
$attributes = array(); |
|||
if (!is_null($id)) { |
|||
$attributes['id'] = $id; |
|||
} |
|||
return html_writer::start_div($class, $attributes); |
|||
} |
|||
|
|||
/** |
|||
* Opens a grid column |
|||
* |
|||
* @param int $size The number of segments this column should span. |
|||
* @param string $id An id to give the column. |
|||
* @param string $class A class to give the column. |
|||
* @return string |
|||
*/ |
|||
public function grid_column_start($size, $id = null, $class = null) { |
|||
|
|||
if ($id == 'course-detail') { |
|||
$size = 12; |
|||
$bootstrapclass = 'col-md-'.$size; |
|||
} else { |
|||
$bootstrapclass = 'd-flex flex-wrap px-3 mb-3'; |
|||
} |
|||
|
|||
$yuigridclass = "col-sm"; |
|||
|
|||
if (is_null($class)) { |
|||
$class = $yuigridclass . ' ' . $bootstrapclass; |
|||
} else { |
|||
$class .= ' ' . $yuigridclass . ' ' . $bootstrapclass; |
|||
} |
|||
$attributes = array(); |
|||
if (!is_null($id)) { |
|||
$attributes['id'] = $id; |
|||
} |
|||
return html_writer::start_div($class . " grid_column_start", $attributes); |
|||
} |
|||
|
|||
/** |
|||
* Renderers detailed course information. |
|||
* |
|||
* @param core_course_list_element $course The course to display details for. |
|||
* @return string |
|||
*/ |
|||
public function course_detail(core_course_list_element $course) { |
|||
$details = \core_course\management\helper::get_course_detail_array($course); |
|||
$fullname = $details['fullname']['value']; |
|||
|
|||
$html = html_writer::start_div('course-detail card'); |
|||
$html .= html_writer::start_div('card-header'); |
|||
$html .= html_writer::tag('h3', $fullname, array('id' => 'course-detail-title', |
|||
'class' => 'card-title', 'tabindex' => '0')); |
|||
$html .= html_writer::end_div(); |
|||
$html .= html_writer::start_div('card-body'); |
|||
$html .= $this->course_detail_actions($course); |
|||
foreach ($details as $class => $data) { |
|||
$html .= $this->detail_pair($data['key'], $data['value'], $class); |
|||
} |
|||
$html .= html_writer::end_div(); |
|||
$html .= html_writer::end_div(); |
|||
return $html; |
|||
} |
|||
|
|||
/** |
|||
* Renders html to display a course search form |
|||
* |
|||
* @param string $value default value to populate the search field |
|||
* @param string $format display format - 'plain' (default), 'short' or 'navbar' |
|||
* @return string |
|||
*/ |
|||
public function course_search_form($value = '', $format = 'plain') { |
|||
static $count = 0; |
|||
$formid = 'coursesearch'; |
|||
if ((++$count) > 1) { |
|||
$formid .= $count; |
|||
} |
|||
|
|||
switch ($format) { |
|||
case 'navbar' : |
|||
$formid = 'coursesearchnavbar'; |
|||
$inputid = 'navsearchbox'; |
|||
$inputsize = 20; |
|||
break; |
|||
case 'short' : |
|||
$inputid = 'shortsearchbox'; |
|||
$inputsize = 12; |
|||
break; |
|||
default : |
|||
$inputid = 'coursesearchbox'; |
|||
$inputsize = 30; |
|||
} |
|||
|
|||
$strsearchcourses = get_string("searchcourses"); |
|||
$searchurl = new moodle_url('/course/management.php'); |
|||
|
|||
$output = html_writer::start_div('row'); |
|||
$output .= html_writer::start_div('col-md-12'); |
|||
$output .= html_writer::start_tag('form', array('class' => 'card', 'id' => $formid, |
|||
'action' => $searchurl, 'method' => 'get')); |
|||
$output .= html_writer::start_tag('fieldset', array('class' => 'coursesearchbox invisiblefieldset')); |
|||
$output .= html_writer::tag('div', $this->output->heading($strsearchcourses.': ', 2, 'm-0'), |
|||
array('class' => 'card-header')); |
|||
$output .= html_writer::start_div('card-body'); |
|||
$output .= html_writer::start_div('input-group col-sm-6 col-lg-4 m-auto'); |
|||
$output .= html_writer::empty_tag('input', array('class' => 'form-control', 'type' => 'text', 'id' => $inputid, |
|||
'size' => $inputsize, 'name' => 'search', 'value' => s($value))); |
|||
$output .= html_writer::start_tag('span', array('class' => 'input-group-btn')); |
|||
$output .= html_writer::tag('button', get_string('go'), array('class' => 'btn btn-primary', 'type' => 'submit')); |
|||
$output .= html_writer::end_tag('span'); |
|||
$output .= html_writer::end_div(); |
|||
$output .= html_writer::end_div(); |
|||
$output .= html_writer::end_tag('fieldset'); |
|||
$output .= html_writer::end_tag('form'); |
|||
$output .= html_writer::end_div(); |
|||
$output .= html_writer::end_div(); |
|||
|
|||
return $output; |
|||
} |
|||
|
|||
/** |
|||
* Presents a course category listing. |
|||
* |
|||
* @param core_course_category $category The currently selected category. Also the category to highlight in the listing. |
|||
* @return string |
|||
*/ |
|||
public function category_listing(core_course_category $category = null) { |
|||
|
|||
if ($category === null) { |
|||
$selectedparents = array(); |
|||
$selectedcategory = null; |
|||
} else { |
|||
$selectedparents = $category->get_parents(); |
|||
$selectedparents[] = $category->id; |
|||
$selectedcategory = $category->id; |
|||
} |
|||
$catatlevel = \core_course\management\helper::get_expanded_categories(''); |
|||
$catatlevel[] = array_shift($selectedparents); |
|||
$catatlevel = array_unique($catatlevel); |
|||
|
|||
$listing = core_course_category::get(0)->get_children(); |
|||
|
|||
$attributes = array( |
|||
'class' => 'ml-1 list-unstyled', |
|||
'role' => 'tree', |
|||
'aria-labelledby' => 'category-listing-title' |
|||
); |
|||
|
|||
$html = html_writer::start_div('category-listing card w-100'); |
|||
$html .= html_writer::tag('h3', get_string('categories'), |
|||
array('class' => 'card-header', 'id' => 'category-listing-title')); |
|||
$html .= html_writer::start_div('card-body'); |
|||
$html .= $this->category_listing_actions($category); |
|||
$html .= html_writer::start_tag('ul', $attributes); |
|||
foreach ($listing as $listitem) { |
|||
// Render each category in the listing. |
|||
$subcategories = array(); |
|||
if (in_array($listitem->id, $catatlevel)) { |
|||
$subcategories = $listitem->get_children(); |
|||
} |
|||
$html .= $this->category_listitem( |
|||
$listitem, |
|||
$subcategories, |
|||
$listitem->get_children_count(), |
|||
$selectedcategory, |
|||
$selectedparents |
|||
); |
|||
} |
|||
$html .= html_writer::end_tag('ul'); |
|||
$html .= $this->category_bulk_actions($category); |
|||
$html .= html_writer::end_div(); |
|||
$html .= html_writer::end_div(); |
|||
return $html; |
|||
} |
|||
|
|||
/** |
|||
* Renders a category list item. |
|||
* |
|||
* This function gets called recursively to render sub categories. |
|||
* |
|||
* @param core_course_category $category The category to render as listitem. |
|||
* @param core_course_category[] $subcategories The subcategories belonging to the category being rented. |
|||
* @param int $totalsubcategories The total number of sub categories. |
|||
* @param int $selectedcategory The currently selected category |
|||
* @param int[] $selectedcategories The path to the selected category and its ID. |
|||
* @return string |
|||
*/ |
|||
public function category_listitem(core_course_category $category, array $subcategories, $totalsubcategories, |
|||
$selectedcategory = null, $selectedcategories = array()) { |
|||
|
|||
$isexpandable = ($totalsubcategories > 0); |
|||
$isexpanded = (!empty($subcategories)); |
|||
$activecategory = ($selectedcategory === $category->id); |
|||
$attributes = array( |
|||
'class' => 'listitem listitem-category list-group-item list-group-item-action', |
|||
'data-id' => $category->id, |
|||
'data-expandable' => $isexpandable ? '1' : '0', |
|||
'data-expanded' => $isexpanded ? '1' : '0', |
|||
'data-selected' => $activecategory ? '1' : '0', |
|||
'data-visible' => $category->visible ? '1' : '0', |
|||
'role' => 'treeitem', |
|||
'aria-expanded' => $isexpanded ? 'true' : 'false' |
|||
); |
|||
$text = $category->get_formatted_name(); |
|||
if ($category->parent) { |
|||
$a = new stdClass; |
|||
$a->category = $text; |
|||
$a->parentcategory = $category->get_parent_coursecat()->get_formatted_name(); |
|||
$textlabel = get_string('categorysubcategoryof', 'moodle', $a); |
|||
} |
|||
$courseicon = $this->output->pix_icon('i/course', get_string('courses')); |
|||
$bcatinput = array( |
|||
'type' => 'checkbox', |
|||
'name' => 'bcat[]', |
|||
'value' => $category->id, |
|||
'class' => 'bulk-action-checkbox', |
|||
'aria-label' => get_string('bulkactionselect', 'moodle', $text), |
|||
'data-action' => 'select' |
|||
); |
|||
|
|||
if (!$category->can_resort_subcategories() && !$category->has_manage_capability()) { |
|||
// Very very hardcoded here. |
|||
$bcatinput['style'] = 'visibility:hidden'; |
|||
} |
|||
|
|||
$viewcaturl = new moodle_url('/course/management.php', array('categoryid' => $category->id)); |
|||
if ($isexpanded) { |
|||
$icon = $this->output->pix_icon('t/switch_minus', get_string('collapse'), |
|||
'moodle', array('class' => 'tree-icon', 'title' => '')); |
|||
$icon = html_writer::link( |
|||
$viewcaturl, |
|||
$icon, |
|||
array( |
|||
'class' => 'float-left', |
|||
'data-action' => 'collapse', |
|||
'title' => get_string('collapsecategory', 'moodle', $text), |
|||
'aria-controls' => 'subcategoryof'.$category->id |
|||
) |
|||
); |
|||
} else if ($isexpandable) { |
|||
$icon = $this->output->pix_icon('t/switch_plus', get_string('expand'), |
|||
'moodle', array('class' => 'tree-icon', 'title' => '')); |
|||
$icon = html_writer::link( |
|||
$viewcaturl, |
|||
$icon, |
|||
array( |
|||
'class' => 'float-left', |
|||
'data-action' => 'expand', |
|||
'title' => get_string('expandcategory', 'moodle', $text) |
|||
) |
|||
); |
|||
} else { |
|||
$icon = $this->output->pix_icon( |
|||
'i/empty', |
|||
'', |
|||
'moodle', |
|||
array('class' => 'tree-icon')); |
|||
$icon = html_writer::span($icon, 'float-left'); |
|||
} |
|||
$actions = \core_course\management\helper::get_category_listitem_actions($category); |
|||
$hasactions = !empty($actions) || $category->can_create_course(); |
|||
|
|||
$html = html_writer::start_tag('li', $attributes); |
|||
$html .= html_writer::start_div('clearfix'); |
|||
$html .= html_writer::start_div('float-left ba-checkbox'); |
|||
$html .= html_writer::empty_tag('input', $bcatinput).' '; |
|||
$html .= html_writer::end_div(); |
|||
$html .= $icon; |
|||
if ($hasactions) { |
|||
$textattributes = array('class' => 'float-left categoryname'); |
|||
} else { |
|||
$textattributes = array('class' => 'float-left categoryname without-actions'); |
|||
} |
|||
if (isset($textlabel)) { |
|||
$textattributes['aria-label'] = $textlabel; |
|||
} |
|||
$html .= html_writer::link($viewcaturl, $text, $textattributes); |
|||
$html .= html_writer::start_div('float-right d-flex'); |
|||
if ($category->idnumber) { |
|||
$html .= html_writer::tag('span', s($category->idnumber), array('class' => 'dimmed idnumber')); |
|||
} |
|||
if ($hasactions) { |
|||
$html .= $this->category_listitem_actions($category, $actions); |
|||
} |
|||
$countid = 'course-count-'.$category->id; |
|||
$html .= html_writer::span( |
|||
html_writer::span($category->get_courses_count()) . |
|||
html_writer::span(get_string('courses'), 'accesshide', array('id' => $countid)) . |
|||
$courseicon, |
|||
'course-count dimmed', |
|||
array('aria-labelledby' => $countid) |
|||
); |
|||
$html .= html_writer::end_div(); |
|||
$html .= html_writer::end_div(); |
|||
if ($isexpanded) { |
|||
$html .= html_writer::start_tag('ul', |
|||
array('class' => 'ml', 'role' => 'group', 'id' => 'subcategoryof'.$category->id)); |
|||
$catatlevel = \core_course\management\helper::get_expanded_categories($category->path); |
|||
$catatlevel[] = array_shift($selectedcategories); |
|||
$catatlevel = array_unique($catatlevel); |
|||
foreach ($subcategories as $listitem) { |
|||
$childcategories = (in_array($listitem->id, $catatlevel)) ? $listitem->get_children() : array(); |
|||
$html .= $this->category_listitem( |
|||
$listitem, |
|||
$childcategories, |
|||
$listitem->get_children_count(), |
|||
$selectedcategory, |
|||
$selectedcategories |
|||
); |
|||
} |
|||
$html .= html_writer::end_tag('ul'); |
|||
} |
|||
$html .= html_writer::end_tag('li'); |
|||
return $html; |
|||
} |
|||
|
|||
/** |
|||
* Renderers the actions that are possible for the course category listing. |
|||
* |
|||
* These are not the actions associated with an individual category listing. |
|||
* That happens through category_listitem_actions. |
|||
* |
|||
* @param core_course_category $category |
|||
* @return string |
|||
*/ |
|||
public function category_listing_actions(core_course_category $category = null) { |
|||
$actions = array(); |
|||
|
|||
$cancreatecategory = $category && $category->can_create_subcategory(); |
|||
$cancreatecategory = $cancreatecategory || core_course_category::can_create_top_level_category(); |
|||
if ($category === null) { |
|||
$category = core_course_category::get(0); |
|||
} |
|||
|
|||
if ($cancreatecategory) { |
|||
$url = new moodle_url('/course/editcategory.php', array('parent' => $category->id)); |
|||
$actions[] = html_writer::link($url, get_string('createnewcategory'), array('class' => 'btn btn-default')); |
|||
} |
|||
if (core_course_category::can_approve_course_requests()) { |
|||
$actions[] = html_writer::link(new moodle_url('/course/pending.php'), get_string('coursespending')); |
|||
} |
|||
if (count($actions) === 0) { |
|||
return ''; |
|||
} |
|||
return html_writer::div(join(' ', $actions), 'listing-actions category-listing-actions mb-3'); |
|||
} |
|||
|
|||
/** |
|||
* Renders a course listing. |
|||
* |
|||
* @param core_course_category $category The currently selected category. This is what the listing is focused on. |
|||
* @param core_course_list_element $course The currently selected course. |
|||
* @param int $page The page being displayed. |
|||
* @param int $perpage The number of courses to display per page. |
|||
* @param string|null $viewmode The view mode the page is in, one out of 'default', 'combined', 'courses' or 'categories'. |
|||
* @return string |
|||
*/ |
|||
public function course_listing(core_course_category $category = null, core_course_list_element $course = null, |
|||
$page = 0, $perpage = 20, $viewmode = 'default') { |
|||
|
|||
if ($category === null) { |
|||
$html = html_writer::start_div('select-a-category'); |
|||
$html .= html_writer::tag('h3', get_string('courses'), |
|||
array('id' => 'course-listing-title', 'tabindex' => '0')); |
|||
$html .= $this->output->notification(get_string('selectacategory'), 'notifymessage'); |
|||
$html .= html_writer::end_div(); |
|||
return $html; |
|||
} |
|||
|
|||
$page = max($page, 0); |
|||
$perpage = max($perpage, 2); |
|||
$totalcourses = $category->coursecount; |
|||
$totalpages = ceil($totalcourses / $perpage); |
|||
if ($page > $totalpages - 1) { |
|||
$page = $totalpages - 1; |
|||
} |
|||
$options = array( |
|||
'offset' => $page * $perpage, |
|||
'limit' => $perpage |
|||
); |
|||
$courseid = isset($course) ? $course->id : null; |
|||
$class = ''; |
|||
if ($page === 0) { |
|||
$class .= ' firstpage'; |
|||
} |
|||
if ($page + 1 === (int)$totalpages) { |
|||
$class .= ' lastpage'; |
|||
} |
|||
|
|||
$html = html_writer::start_div('card course-listing w-100'.$class, array( |
|||
'data-category' => $category->id, |
|||
'data-page' => $page, |
|||
'data-totalpages' => $totalpages, |
|||
'data-totalcourses' => $totalcourses, |
|||
'data-canmoveoutof' => $category->can_move_courses_out_of() && $category->can_move_courses_into() |
|||
)); |
|||
$html .= html_writer::tag('h3', $category->get_formatted_name(), |
|||
array('id' => 'course-listing-title', 'tabindex' => '0', 'class' => 'card-header')); |
|||
$html .= html_writer::start_div('card-body'); |
|||
$html .= $this->course_listing_actions($category, $course, $perpage); |
|||
$html .= $this->listing_pagination($category, $page, $perpage, false, $viewmode); |
|||
$html .= html_writer::start_tag('ul', array('class' => 'ml course-list', 'role' => 'group')); |
|||
foreach ($category->get_courses($options) as $listitem) { |
|||
$html .= $this->course_listitem($category, $listitem, $courseid); |
|||
} |
|||
$html .= html_writer::end_tag('ul'); |
|||
$html .= $this->listing_pagination($category, $page, $perpage, true, $viewmode); |
|||
$html .= $this->course_bulk_actions($category); |
|||
$html .= html_writer::end_div(); |
|||
$html .= html_writer::end_div(); |
|||
return $html; |
|||
} |
|||
|
|||
/** |
|||
* Renderers a course list item. |
|||
* |
|||
* This function will be called for every course being displayed by course_listing. |
|||
* |
|||
* @param core_course_category $category The currently selected category and the category the course belongs to. |
|||
* @param core_course_list_element $course The course to produce HTML for. |
|||
* @param int $selectedcourse The id of the currently selected course. |
|||
* @return string |
|||
*/ |
|||
public function course_listitem(core_course_category $category, core_course_list_element $course, $selectedcourse) { |
|||
|
|||
$text = $course->get_formatted_name(); |
|||
$attributes = array( |
|||
'class' => 'listitem listitem-course list-group-item list-group-item-action', |
|||
'data-id' => $course->id, |
|||
'data-selected' => ($selectedcourse == $course->id) ? '1' : '0', |
|||
'data-visible' => $course->visible ? '1' : '0' |
|||
); |
|||
|
|||
$bulkcourseinput = array( |
|||
'type' => 'checkbox', |
|||
'name' => 'bc[]', |
|||
'value' => $course->id, |
|||
'class' => 'bulk-action-checkbox', |
|||
'aria-label' => get_string('bulkactionselect', 'moodle', $text), |
|||
'data-action' => 'select' |
|||
); |
|||
if (!$category->has_manage_capability()) { |
|||
// Very very hardcoded here. |
|||
$bulkcourseinput['style'] = 'visibility:hidden'; |
|||
} |
|||
|
|||
$viewcourseurl = new moodle_url($this->page->url, array('courseid' => $course->id)); |
|||
|
|||
$html = html_writer::start_tag('li', $attributes); |
|||
$html .= html_writer::start_div('clearfix'); |
|||
|
|||
if ($category->can_resort_courses()) { |
|||
// In order for dnd to be available the user must be able to resort the category children.. |
|||
$html .= html_writer::div($this->output->pix_icon('i/move_2d', get_string('dndcourse')), 'float-left drag-handle'); |
|||
} |
|||
|
|||
$html .= html_writer::start_div('ba-checkbox float-left'); |
|||
$html .= html_writer::empty_tag('input', $bulkcourseinput).' '; |
|||
$html .= html_writer::end_div(); |
|||
$html .= html_writer::link($viewcourseurl, $text, array('class' => 'float-left coursename')); |
|||
$html .= html_writer::start_div('float-right'); |
|||
if ($course->idnumber) { |
|||
$html .= html_writer::tag('span', s($course->idnumber), array('class' => 'dimmed idnumber')); |
|||
} |
|||
$html .= $this->course_listitem_actions($category, $course); |
|||
$html .= html_writer::end_div(); |
|||
$html .= html_writer::end_div(); |
|||
$html .= html_writer::end_tag('li'); |
|||
return $html; |
|||
} |
|||
|
|||
/** |
|||
* Renderers actions for the course listing. |
|||
* |
|||
* Not to be confused with course_listitem_actions which renderers the actions for individual courses. |
|||
* |
|||
* @param core_course_category $category |
|||
* @param core_course_list_element $course The currently selected course. |
|||
* @param int $perpage |
|||
* @return string |
|||
*/ |
|||
public function course_listing_actions(core_course_category $category, core_course_list_element $course = null, $perpage = 20) { |
|||
$actions = array(); |
|||
if ($category->can_create_course()) { |
|||
$url = new moodle_url('/course/edit.php', array('category' => $category->id, 'returnto' => 'catmanage')); |
|||
$actions[] = html_writer::link($url, get_string('createnewcourse'), array('class' => 'btn btn-default')); |
|||
} |
|||
if ($category->can_request_course()) { |
|||
// Request a new course. |
|||
$url = new moodle_url('/course/request.php', array('return' => 'management')); |
|||
$actions[] = html_writer::link($url, get_string('requestcourse')); |
|||
} |
|||
if ($category->can_resort_courses()) { |
|||
$params = $this->page->url->params(); |
|||
$params['action'] = 'resortcourses'; |
|||
$params['sesskey'] = sesskey(); |
|||
$baseurl = new moodle_url('/course/management.php', $params); |
|||
$fullnameurl = new moodle_url($baseurl, array('resort' => 'fullname')); |
|||
$fullnameurldesc = new moodle_url($baseurl, array('resort' => 'fullnamedesc')); |
|||
$shortnameurl = new moodle_url($baseurl, array('resort' => 'shortname')); |
|||
$shortnameurldesc = new moodle_url($baseurl, array('resort' => 'shortnamedesc')); |
|||
$idnumberurl = new moodle_url($baseurl, array('resort' => 'idnumber')); |
|||
$idnumberdescurl = new moodle_url($baseurl, array('resort' => 'idnumberdesc')); |
|||
$timecreatedurl = new moodle_url($baseurl, array('resort' => 'timecreated')); |
|||
$timecreateddescurl = new moodle_url($baseurl, array('resort' => 'timecreateddesc')); |
|||
$menu = new action_menu(array( |
|||
new action_menu_link_secondary($fullnameurl, |
|||
null, |
|||
get_string('sortbyx', 'moodle', get_string('fullnamecourse'))), |
|||
new action_menu_link_secondary($fullnameurldesc, |
|||
null, |
|||
get_string('sortbyxreverse', 'moodle', get_string('fullnamecourse'))), |
|||
new action_menu_link_secondary($shortnameurl, |
|||
null, |
|||
get_string('sortbyx', 'moodle', get_string('shortnamecourse'))), |
|||
new action_menu_link_secondary($shortnameurldesc, |
|||
null, |
|||
get_string('sortbyxreverse', 'moodle', get_string('shortnamecourse'))), |
|||
new action_menu_link_secondary($idnumberurl, |
|||
null, |
|||
get_string('sortbyx', 'moodle', get_string('idnumbercourse'))), |
|||
new action_menu_link_secondary($idnumberdescurl, |
|||
null, |
|||
get_string('sortbyxreverse', 'moodle', get_string('idnumbercourse'))), |
|||
new action_menu_link_secondary($timecreatedurl, |
|||
null, |
|||
get_string('sortbyx', 'moodle', get_string('timecreatedcourse'))), |
|||
new action_menu_link_secondary($timecreateddescurl, |
|||
null, |
|||
get_string('sortbyxreverse', 'moodle', get_string('timecreatedcourse'))) |
|||
)); |
|||
$menu->set_menu_trigger(get_string('resortcourses')); |
|||
$actions[] = $this->render($menu); |
|||
} |
|||
$strall = get_string('all'); |
|||
$menu = new action_menu(array( |
|||
new action_menu_link_secondary(new moodle_url($this->page->url, array('perpage' => 5)), null, 5), |
|||
new action_menu_link_secondary(new moodle_url($this->page->url, array('perpage' => 10)), null, 10), |
|||
new action_menu_link_secondary(new moodle_url($this->page->url, array('perpage' => 20)), null, 20), |
|||
new action_menu_link_secondary(new moodle_url($this->page->url, array('perpage' => 50)), null, 50), |
|||
new action_menu_link_secondary(new moodle_url($this->page->url, array('perpage' => 100)), null, 100), |
|||
new action_menu_link_secondary(new moodle_url($this->page->url, array('perpage' => 999)), null, $strall), |
|||
)); |
|||
if ((int)$perpage === 999) { |
|||
$perpage = $strall; |
|||
} |
|||
$menu->attributes['class'] .= ' courses-per-page'; |
|||
$menu->set_menu_trigger(get_string('perpagea', 'moodle', $perpage)); |
|||
$actions[] = $this->render($menu); |
|||
return html_writer::div(join(' ', $actions), 'listing-actions course-listing-actions'); |
|||
} |
|||
|
|||
/** |
|||
* Displays a search result listing. |
|||
* |
|||
* @param array $courses The courses to display. |
|||
* @param int $totalcourses The total number of courses to display. |
|||
* @param core_course_list_element $course The currently selected course if there is one. |
|||
* @param int $page The current page, starting at 0. |
|||
* @param int $perpage The number of courses to display per page. |
|||
* @param string $search The string we are searching for. |
|||
* @return string |
|||
*/ |
|||
public function search_listing(array $courses, $totalcourses, core_course_list_element $course = null, $page = 0, $perpage = 20, |
|||
$search = '') { |
|||
$page = max($page, 0); |
|||
$perpage = max($perpage, 2); |
|||
$totalpages = ceil($totalcourses / $perpage); |
|||
if ($page > $totalpages - 1) { |
|||
$page = $totalpages - 1; |
|||
} |
|||
$courseid = isset($course) ? $course->id : null; |
|||
$first = true; |
|||
$last = false; |
|||
$i = $page * $perpage; |
|||
|
|||
$html = html_writer::start_div('course-listing w-100', array( |
|||
'data-category' => 'search', |
|||
'data-page' => $page, |
|||
'data-totalpages' => $totalpages, |
|||
'data-totalcourses' => $totalcourses |
|||
)); |
|||
$html .= html_writer::tag('h3', get_string('courses')); |
|||
$html .= $this->search_pagination($totalcourses, $page, $perpage); |
|||
$html .= html_writer::start_tag('ul', array('class' => 'ml')); |
|||
foreach ($courses as $listitem) { |
|||
$i++; |
|||
if ($i == $totalcourses) { |
|||
$last = true; |
|||
} |
|||
$html .= $this->search_listitem($listitem, $courseid, $first, $last); |
|||
$first = false; |
|||
} |
|||
$html .= html_writer::end_tag('ul'); |
|||
$html .= $this->search_pagination($totalcourses, $page, $perpage, true, $search); |
|||
$html .= $this->course_search_bulk_actions(); |
|||
$html .= html_writer::end_div(); |
|||
return $html; |
|||
} |
|||
|
|||
/** |
|||
* Renderers a search result course list item. |
|||
* |
|||
* This function will be called for every course being displayed by course_listing. |
|||
* |
|||
* @param core_course_list_element $course The course to produce HTML for. |
|||
* @param int $selectedcourse The id of the currently selected course. |
|||
* @return string |
|||
*/ |
|||
public function search_listitem(core_course_list_element $course, $selectedcourse) { |
|||
|
|||
$text = $course->get_formatted_name(); |
|||
$attributes = array( |
|||
'class' => 'listitem listitem-course list-group-item list-group-item-action', |
|||
'data-id' => $course->id, |
|||
'data-selected' => ($selectedcourse == $course->id) ? '1' : '0', |
|||
'data-visible' => $course->visible ? '1' : '0' |
|||
); |
|||
$bulkcourseinput = ''; |
|||
if (core_course_category::get($course->category)->can_move_courses_out_of()) { |
|||
$bulkcourseinput = array( |
|||
'type' => 'checkbox', |
|||
'name' => 'bc[]', |
|||
'value' => $course->id, |
|||
'class' => 'bulk-action-checkbox', |
|||
'aria-label' => get_string('bulkactionselect', 'moodle', $text), |
|||
'data-action' => 'select' |
|||
); |
|||
} |
|||
$viewcourseurl = new moodle_url($this->page->url, array('courseid' => $course->id)); |
|||
$categoryname = core_course_category::get($course->category)->get_formatted_name(); |
|||
|
|||
$html = html_writer::start_tag('li', $attributes); |
|||
$html .= html_writer::start_div('clearfix'); |
|||
$html .= html_writer::start_div('float-left'); |
|||
if ($bulkcourseinput) { |
|||
$html .= html_writer::empty_tag('input', $bulkcourseinput).' '; |
|||
} |
|||
$html .= html_writer::end_div(); |
|||
$html .= html_writer::link($viewcourseurl, $text, array('class' => 'float-left coursename')); |
|||
$html .= html_writer::tag('span', $categoryname, array('class' => 'float-left categoryname')); |
|||
$html .= html_writer::start_div('float-right'); |
|||
$html .= $this->search_listitem_actions($course); |
|||
$html .= html_writer::tag('span', s($course->idnumber), array('class' => 'dimmed idnumber')); |
|||
$html .= html_writer::end_div(); |
|||
$html .= html_writer::end_div(); |
|||
$html .= html_writer::end_tag('li'); |
|||
return $html; |
|||
} |
|||
|
|||
/** |
|||
* Renderers a key value pair of information for display. |
|||
* |
|||
* @param string $key |
|||
* @param string $value |
|||
* @param string $class |
|||
* @return string |
|||
*/ |
|||
protected function detail_pair($key, $value, $class ='') { |
|||
$html = html_writer::start_div('detail-pair row yui3-g '.preg_replace('#[^a-zA-Z0-9_\-]#', '-', $class)); |
|||
$html .= html_writer::div(html_writer::span($key), 'pair-key col-md-3 yui3-u-1-4 font-weight-bold'); |
|||
$html .= html_writer::div(html_writer::span($value), 'pair-value col-md-8 yui3-u-3-4'); |
|||
$html .= html_writer::end_div(); |
|||
return $html; |
|||
} |
|||
|
|||
/** |
|||
* A collection of actions for a course. |
|||
* |
|||
* @param core_course_list_element $course The course to display actions for. |
|||
* @return string |
|||
*/ |
|||
public function course_detail_actions(core_course_list_element $course) { |
|||
$actions = \core_course\management\helper::get_course_detail_actions($course); |
|||
if (empty($actions)) { |
|||
return ''; |
|||
} |
|||
$options = array(); |
|||
foreach ($actions as $action) { |
|||
$options[] = $this->action_link($action['url'], $action['string'], null, |
|||
array('class' => 'btn btn-sm btn-secondary mr-1 mb-3')); |
|||
} |
|||
return html_writer::div(join('', $options), 'listing-actions course-detail-listing-actions'); |
|||
} |
|||
|
|||
} |
@ -1,58 +0,0 @@ |
|||
<?php |
|||
// This file is part of Moodle - http://moodle.org/ |
|||
// |
|||
// Moodle is free software: you can redistribute it and/or modify |
|||
// it under the terms of the GNU General Public License as published by |
|||
// the Free Software Foundation, either version 3 of the License, or |
|||
// (at your option) any later version. |
|||
// |
|||
// Moodle is distributed in the hope that it will be useful, |
|||
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
// GNU General Public License for more details. |
|||
// |
|||
// You should have received a copy of the GNU General Public License |
|||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
|
|||
/** |
|||
* Question renderer. |
|||
* |
|||
* @package theme_ilb |
|||
* @copyright 2017 onwards Ankit Agarwal <ankit.agrr@gmail.com> |
|||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
|||
*/ |
|||
|
|||
namespace theme_ilb\output\core_question; |
|||
defined('MOODLE_INTERNAL') || die(); |
|||
|
|||
require_once($CFG->dirroot . '/' . $CFG->admin . '/renderer.php'); |
|||
|
|||
/** |
|||
* Question renderer class. |
|||
* |
|||
* @package theme_ilb |
|||
* @copyright 2017 onwards Ankit Agarwal <ankit.agrr@gmail.com> |
|||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
|||
*/ |
|||
class bank_renderer extends \core_question_bank_renderer { |
|||
|
|||
/** |
|||
* Display additional navigation if needed. |
|||
* |
|||
* @return string |
|||
*/ |
|||
public function extra_horizontal_navigation() { |
|||
// Horizontal navigation for question bank. |
|||
if ($questionnode = $this->page->settingsnav->find("questionbank", \navigation_node::TYPE_CONTAINER)) { |
|||
if ($children = $questionnode->children) { |
|||
$tabs = []; |
|||
foreach ($children as $key => $node) { |
|||
$tabs[] = new \tabobject($node->key, $node->action, $node->text); |
|||
} |
|||
$active = $questionnode->find_active_node()->key; |
|||
return \html_writer::div(print_tabs([$tabs], $active, null, null, true), 'questionbank-navigation'); |
|||
} |
|||
} |
|||
return ''; |
|||
} |
|||
} |
@ -1,197 +0,0 @@ |
|||
<?php |
|||
// This file is part of Moodle - http://moodle.org/ |
|||
// |
|||
// Moodle is free software: you can redistribute it and/or modify |
|||
// it under the terms of the GNU General Public License as published by |
|||
// the Free Software Foundation, either version 3 of the License, or |
|||
// (at your option) any later version. |
|||
// |
|||
// Moodle is distributed in the hope that it will be useful, |
|||
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
// GNU General Public License for more details. |
|||
// |
|||
// You should have received a copy of the GNU General Public License |
|||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
|
|||
|
|||
/** |
|||
* Overriden core maintenance renderer. |
|||
* |
|||
* @package theme_ilb |
|||
* @copyright 2016 Frédéric Massart - FMCorz.net |
|||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
|||
*/ |
|||
|
|||
namespace theme_ilb\output; |
|||
defined('MOODLE_INTERNAL') || die(); |
|||
|
|||
use coding_exception; |
|||
use moodle_page; |
|||
use block_contents; |
|||
use stdClass; |
|||
|
|||
/** |
|||
* The maintenance renderer. |
|||
* |
|||
* @package theme_ilb |
|||
* @copyright 2016 Frédéric Massart - FMCorz.net |
|||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
|||
*/ |
|||
class core_renderer_maintenance extends core_renderer { |
|||
|
|||
/** |
|||
* Initialises the renderer instance. |
|||
* |
|||
* @param moodle_page $page |
|||
* @param string $target |
|||
* @throws coding_exception |
|||
*/ |
|||
public function __construct(moodle_page $page, $target) { |
|||
if ($target !== RENDERER_TARGET_MAINTENANCE || $page->pagelayout !== 'maintenance') { |
|||
throw new coding_exception('Invalid request for the maintenance renderer.'); |
|||
} |
|||
parent::__construct($page, $target); |
|||
} |
|||
|
|||
/** |
|||
* Does nothing. The maintenance renderer cannot produce blocks. |
|||
* |
|||
* @param block_contents $bc |
|||
* @param string $region |
|||
* @return string |
|||
*/ |
|||
public function block(block_contents $bc, $region) { |
|||
return ''; |
|||
} |
|||
|
|||
/** |
|||
* Does nothing. The maintenance renderer cannot produce blocks. |
|||
* |
|||
* @param string $region |
|||
* @param array $classes |
|||
* @param string $tag |
|||
* @return string |
|||
*/ |
|||
public function blocks($region, $classes = array(), $tag = 'aside') { |
|||
return ''; |
|||
} |
|||
|
|||
/** |
|||
* Does nothing. The maintenance renderer cannot produce blocks. |
|||
* |
|||
* @param string $region |
|||
* @return string |
|||
*/ |
|||
public function blocks_for_region($region) { |
|||
return ''; |
|||
} |
|||
|
|||
/** |
|||
* Does nothing. The maintenance renderer cannot produce a course content header. |
|||
* |
|||
* @param bool $onlyifnotcalledbefore |
|||
* @return string |
|||
*/ |
|||
public function course_content_header($onlyifnotcalledbefore = false) { |
|||
return ''; |
|||
} |
|||
|
|||
/** |
|||
* Does nothing. The maintenance renderer cannot produce a course content footer. |
|||
* |
|||
* @param bool $onlyifnotcalledbefore |
|||
* @return string |
|||
*/ |
|||
public function course_content_footer($onlyifnotcalledbefore = false) { |
|||
return ''; |
|||
} |
|||
|
|||
/** |
|||
* Does nothing. The maintenance renderer cannot produce a course header. |
|||
* |
|||
* @return string |
|||
*/ |
|||
public function course_header() { |
|||
return ''; |
|||
} |
|||
|
|||
/** |
|||
* Does nothing. The maintenance renderer cannot produce a course footer. |
|||
* |
|||
* @return string |
|||
*/ |
|||
public function course_footer() { |
|||
return ''; |
|||
} |
|||
|
|||
/** |
|||
* Does nothing. The maintenance renderer cannot produce a custom menu. |
|||
* |
|||
* @param string $custommenuitems |
|||
* @return string |
|||
*/ |
|||
public function custom_menu($custommenuitems = '') { |
|||
return ''; |
|||
} |
|||
|
|||
/** |
|||
* Does nothing. The maintenance renderer cannot produce a file picker. |
|||
* |
|||
* @param array $options |
|||
* @return string |
|||
*/ |
|||
public function file_picker($options) { |
|||
return ''; |
|||
} |
|||
|
|||
/** |
|||
* Does nothing. The maintenance renderer cannot produce and HTML file tree. |
|||
* |
|||
* @param array $dir |
|||
* @return string |
|||
*/ |
|||
public function htmllize_file_tree($dir) { |
|||
return ''; |
|||
|
|||
} |
|||
|
|||
/** |
|||
* Does nothing. The maintenance renderer does not support JS. |
|||
* |
|||
* @param block_contents $bc |
|||
*/ |
|||
public function init_block_hider_js(block_contents $bc) { |
|||
// Does nothing. |
|||
} |
|||
|
|||
/** |
|||
* Does nothing. The maintenance renderer cannot produce language menus. |
|||
* |
|||
* @return string |
|||
*/ |
|||
public function lang_menu() { |
|||
return ''; |
|||
} |
|||
|
|||
/** |
|||
* Does nothing. The maintenance renderer has no need for login information. |
|||
* |
|||
* @param null $withlinks |
|||
* @return string |
|||
*/ |
|||
public function login_info($withlinks = null) { |
|||
return ''; |
|||
} |
|||
|
|||
/** |
|||
* Does nothing. The maintenance renderer cannot produce user pictures. |
|||
* |
|||
* @param stdClass $user |
|||
* @param array $options |
|||
* @return string |
|||
*/ |
|||
public function user_picture(stdClass $user, array $options = null) { |
|||
return ''; |
|||
} |
|||
} |
@ -1,44 +0,0 @@ |
|||
<?php |
|||
// This file is part of Moodle - http://moodle.org/ |
|||
// |
|||
// Moodle is free software: you can redistribute it and/or modify |
|||
// it under the terms of the GNU General Public License as published by |
|||
// the Free Software Foundation, either version 3 of the License, or |
|||
// (at your option) any later version. |
|||
// |
|||
// Moodle is distributed in the hope that it will be useful, |
|||
// but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
// GNU General Public License for more details. |
|||
// |
|||
// You should have received a copy of the GNU General Public License |
|||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
|
|||
/** |
|||
* Overriden gradereport_history renderer. |
|||
* |
|||
* @package theme_ilb |
|||
* @copyright 2016 Frédéric Massart - FMCorz.net |
|||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
|||
*/ |
|||
|
|||
namespace theme_ilb\output; |
|||
defined('MOODLE_INTERNAL') || die(); |
|||
|
|||
use gradereport_history\output\user_button; |
|||
|
|||
/** |
|||
* Overriden gradereport_history renderer. |
|||
* |
|||
* @package theme_ilb |
|||
* @copyright 2016 Frédéric Massart - FMCorz.net |
|||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later |
|||
*/ |
|||
class gradereport_history_renderer extends \gradereport_history\output\renderer { |
|||
|
|||
public function render_user_button(user_button $button) { |
|||
$data = $button->export_for_template($this); |
|||
return $this->render_from_template('gradereport_history/user_button', $data); |
|||
} |
|||
|
|||
} |
@ -1,18 +0,0 @@ |
|||
<div class="searchform"> |
|||
<form action="{{actionurl}}" class="form-inline"> |
|||
<input type="hidden" name="id" value="{{courseid}}"> |
|||
<div class="input-group w-100"> |
|||
<label class="sr-only" for="searchform_search">{{#str}}search{{/str}}</label> |
|||
<input id="searchform_search" name="search" type="text" class="form-control" size="10"> |
|||
<div class="input-group-append"> |
|||
<button class="btn btn-secondary" id="searchform_button" type="submit">{{#str}}go{{/str}}</button> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
<div class="mt-3"> |
|||
<a href="{{advancedsearchurl}}">{{#str}}advancedsearch, block_search_forums{{/str}}</a> |
|||
{{#helpicon}} |
|||
{{>core/help_icon}} |
|||
{{/helpicon}} |
|||
</div> |
|||
</div> |
@ -1,7 +0,0 @@ |
|||
<form method="get" action="{{action}}" class="adminsearchform form-inline" role="search"> |
|||
<div class="form-group"> |
|||
<label class="sr-only" for="adminsearchquery">{{label}}</label> |
|||
<input class="form-control" type="text" name="query" value="{{searchvalue}}" id="adminsearchquery" size="10"> |
|||
</div> |
|||
<input type="submit" class="btn btn-secondary" value={{#quote}}{{#str}}search{{/str}}{{/quote}}> |
|||
</form> |
@ -1,55 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/action_menu |
|||
|
|||
Action menu. |
|||
|
|||
Example context (json): |
|||
{ |
|||
"classes": "", |
|||
"primary": { |
|||
"items": [{"rawhtml": "<p>Item in primary menu</p>"}] |
|||
}, |
|||
"secondary": { |
|||
"items": [{"rawhtml": "<p>Item in secondary menu</p>"}] |
|||
} |
|||
} |
|||
}} |
|||
<div class="action-menu {{classes}} d-inline"{{#attributes}} {{name}}="{{value}}"{{/attributes}}> |
|||
{{#primary}} |
|||
|
|||
<div class="{{classes}} d-flex "{{#attributes}} {{name}}="{{value}}"{{/attributes}}> |
|||
|
|||
{{#prioritise}}{{> core/action_menu_trigger }}{{/prioritise}} |
|||
|
|||
{{#items}} |
|||
<div class="action-menu-item"> |
|||
{{> core/action_menu_item }} |
|||
</div> |
|||
{{/items}} |
|||
|
|||
{{^prioritise}} |
|||
<div class="action-menu-trigger"> |
|||
{{> core/action_menu_trigger }} |
|||
</div> |
|||
{{/prioritise}} |
|||
|
|||
</div> |
|||
|
|||
{{/primary}} |
|||
</div> |
@ -1,31 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/action_menu_item |
|||
|
|||
Action menu item. |
|||
|
|||
Example context (json): |
|||
{ |
|||
"rawhtml": "<p>[rawhtml]</p>" |
|||
} |
|||
}} |
|||
{{#actionmenulink}}{{> core/action_menu_link }}{{/actionmenulink}} |
|||
{{#actionmenufiller}}<span class="filler"> </span>{{/actionmenufiller}} |
|||
{{#actionlink}}{{> core/action_link }}{{/actionlink}} |
|||
{{#pixicon}}{{#pix}}{{key}}, {{component}}, {{title}}{{/pix}}{{/pixicon}} |
|||
{{#rawhtml}}{{{.}}}{{/rawhtml}} |
@ -1,34 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/action_menu_link |
|||
|
|||
Action menu link. |
|||
|
|||
Example context (json): |
|||
{ |
|||
"text": "Example link text", |
|||
"showtext": true, |
|||
"url": "http://example.com/link" |
|||
} |
|||
}} |
|||
{{^disabled}} |
|||
<a href="{{url}}" class="{{classes}}" {{#attributes}}{{name}}={{#quote}}{{value}}{{/quote}} {{/attributes}}{{#showtext}}aria-labelledby="actionmenuaction-{{instance}}"{{/showtext}}>{{#icon}}{{#pix}}{{key}}, {{component}}, {{title}}{{/pix}}{{/icon}}{{#showtext}}<span class="menu-action-text" id="actionmenuaction-{{instance}}">{{{text}}}</span>{{/showtext}}</a> |
|||
{{/disabled}} |
|||
{{#disabled}} |
|||
<span class="currentlink" role="menuitem">{{#icon}}{{#pix}}{{key}},{{component}},{{title}}{{/pix}}{{/icon}}{{{text}}}</span> |
|||
{{/disabled}} |
@ -1,120 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/action_menu_trigger |
|||
|
|||
Action menu trigger. |
|||
|
|||
Example context (json): |
|||
{ |
|||
"text": "Example link text", |
|||
"title": "Example link title", |
|||
"url": "http://example.com/link", |
|||
"classes": "icon menu-action", |
|||
"instance": "1", |
|||
"triggerextraclasses": "", |
|||
"attributes": [ |
|||
{"name": "role", "value": "menuitem" }, |
|||
{"name": "data-title", "value": "mymoodle,admin" } |
|||
], |
|||
"secondary": { |
|||
"classes": "menu align-tr-br", |
|||
"attributes": [ |
|||
{"name": "id", "value": "action-menu-0-menu"}, |
|||
{"name": "data-rel", "value": "menu-content"}, |
|||
{"name": "role", "value": "menu"}, |
|||
{"name": "data-align", "value": "tr-br"} |
|||
], |
|||
"items": [ |
|||
{"actionmenulink": |
|||
{ |
|||
"id": "action_link59ecf8394a68078", |
|||
"disabled": false, |
|||
"text": "Dashboard", |
|||
"url": "http://example.com/link", |
|||
"icon": { |
|||
"key": "i/dashboard", |
|||
"component": null, |
|||
"title": "Dashboard" |
|||
}, |
|||
"classes": "icon menu-action", |
|||
"attributes": [ |
|||
{"name": "role", "value": "menuitem"}, |
|||
{"name": "data-title", "value": "mymoodle,admin"} |
|||
], |
|||
"instance": 1, |
|||
"showtext": true |
|||
} |
|||
}, |
|||
{"actionmenufiller": |
|||
{ |
|||
"id": "action_link59ecf8394a68079", |
|||
"disabled": false, |
|||
"text": "", |
|||
"url": "", |
|||
"icon": null, |
|||
"classes": "", |
|||
"attributes": [ |
|||
{"name": "role", "value": "menuitem"} |
|||
] |
|||
} |
|||
} |
|||
] |
|||
} |
|||
} |
|||
}} |
|||
<div class="dropdown"> |
|||
<a href="#" tabindex="0" class="{{triggerextraclasses}} dropdown-toggle icon-no-margin" id="dropdown-{{instance}}" aria-label="{{title}}" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" aria-controls="action-menu-{{instance}}-menu"> |
|||
{{{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}} id="dropdown-menu-{{instance}}"> |
|||
{{#items}} |
|||
{{#actionmenulink}} |
|||
<a href="{{url}}" class="dropdown-item {{classes}}" {{#attributes}}{{name}}={{#quote}}{{value}}{{/quote}} {{/attributes}}{{#showtext}}aria-labelledby="actionmenuaction-{{instance}}"{{/showtext}}> |
|||
{{#icon}} |
|||
{{#pix}}{{key}},{{component}},{{title}}{{/pix}} |
|||
{{/icon}} |
|||
{{#showtext}} |
|||
<span class="menu-action-text" id="actionmenuaction-{{instance}}"> |
|||
{{{text}}} |
|||
</span> |
|||
{{/showtext}} |
|||
</a> |
|||
{{/actionmenulink}} |
|||
{{#actionmenufiller}} |
|||
<div class="dropdown-divider" role="presentation"><span class="filler"> </span></div> |
|||
{{/actionmenufiller}} |
|||
{{^actionmenulink}} |
|||
{{^actionmenufiller}} |
|||
<div class="dropdown-item">{{> core/action_menu_item }}</div> |
|||
{{/actionmenufiller}} |
|||
{{/actionmenulink}} |
|||
{{/items}} |
|||
</div> |
|||
{{/secondary}} |
|||
</div> |
@ -1,58 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core_auth/output/digital_minor_page |
|||
|
|||
Example context (json): |
|||
{ |
|||
"logourl": "https://moodle.org/logo/moodle-logo.svg", |
|||
"sitename": "Site name", |
|||
"supportname": "John Doe", |
|||
"supportemail": "johndoe@example.com", |
|||
"homelink": "/" |
|||
} |
|||
}} |
|||
<div class="container-fluid mt-1 mt-md-5"> |
|||
<div class="row justify-content-md-center"> |
|||
<div class="col-md-8 push-md-2 col-xl-6 push-xl-3"> |
|||
<div class="card"> |
|||
<div class="card-body"> |
|||
<div class="card-title text-xs-center"> |
|||
{{#logourl}} |
|||
<h2><img src="{{logourl}}" title="{{sitename}}" alt="{{sitename}}"/></h2> |
|||
{{/logourl}} |
|||
{{^logourl}} |
|||
<h2>{{sitename}}</h2> |
|||
{{/logourl}} |
|||
<hr> |
|||
</div> |
|||
<div class="card-title"> |
|||
<h3>{{#str}}considereddigitalminor{{/str}}</h3> |
|||
</div> |
|||
<div class="p-t-1 p-b-2"> |
|||
<p>{{#str}}digitalminor_desc{{/str}}</p> |
|||
<p class="m-b-0">{{{supportname}}}</p> |
|||
<p class="m-b-0">{{{supportemail}}}</p> |
|||
</div> |
|||
<div class="backlink"> |
|||
<a href="{{homelink}}">{{#str}}backtohome{{/str}}</a> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
@ -1,64 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core_auth/output/verify_age_location_page |
|||
|
|||
Example context (json): |
|||
{ |
|||
"logourl": "https://moodle.org/logo/moodle-logo.svg", |
|||
"sitename": "Site name", |
|||
"error": "Error message", |
|||
"formhtml": "(Form html would go here)" |
|||
} |
|||
}} |
|||
<div class="container-fluid mt-1 mt-md-5"> |
|||
<div class="row justify-content-md-center"> |
|||
<div class="col-md-8 push-md-2 col-xl-6 push-xl-3"> |
|||
<div class="card"> |
|||
<div class="card-body"> |
|||
<div class="card-title text-xs-center"> |
|||
{{#logourl}} |
|||
<h2><img src="{{logourl}}" title="{{sitename}}" alt="{{sitename}}"/></h2> |
|||
{{/logourl}} |
|||
{{^logourl}} |
|||
<h2>{{sitename}}</h2> |
|||
{{/logourl}} |
|||
<hr> |
|||
</div> |
|||
{{#error}} |
|||
<div class="alert alert-danger" role="alert" data-aria-autofocus="true"> |
|||
{{{error}}} |
|||
</div> |
|||
{{/error}} |
|||
<div class="card-title"> |
|||
<h3>{{#str}}agelocationverification{{/str}}</h3> |
|||
</div> |
|||
<div class="m-t-2 m-b-2"> |
|||
{{{formhtml}}} |
|||
</div> |
|||
<hr> |
|||
<div class="card-title"> |
|||
<h3>{{#str}}whyisthisrequired{{/str}}</h3> |
|||
</div> |
|||
<div class="m-t-1"> |
|||
<p >{{#str}}explanationdigitalminor{{/str}}</p> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
@ -1,61 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/availability_info |
|||
|
|||
Renders the availability info on the course outline page. |
|||
|
|||
Availability info can be displayed for activity modules or whole course |
|||
sections. Activity modules can be either hidden from students, or available |
|||
but not shown on course page (stealth), or the access can be restricted by |
|||
configured conditions. Sections can be hidden. |
|||
|
|||
Classes required for JS: |
|||
* none |
|||
|
|||
Data attributes required for JS: |
|||
* none |
|||
|
|||
Context variables required for this template: |
|||
* classes String list of CSS classes for the wrapping element |
|||
* text HTML formatted text with the actual availability information |
|||
* ishidden Boolean flag indiciating that the item is hidden from students |
|||
* isstealth Boolean flag indicating that the item is in stealth mode |
|||
* isrestricted Boolean flag indicating that restricted access conditions apply |
|||
* isfullinfo Boolean flag indicating that the full list of restricted |
|||
access conditions is displayed (aka teacher's view). |
|||
|
|||
Example context (json): |
|||
{ |
|||
"classes": "", |
|||
"text": "Not available unless: <ul><li>It is on or after <strong>8 June 2012</strong></li></ul>", |
|||
"ishidden": 0, |
|||
"isstealth": 0, |
|||
"isrestricted": 1, |
|||
"isfullinfo": 1 |
|||
} |
|||
}} |
|||
{{#text}} |
|||
<div class="availabilityinfo {{classes}}"> |
|||
{{^isrestricted}} |
|||
<span class="tag tag-info">{{{text}}}</span> |
|||
{{/isrestricted}} |
|||
{{#isrestricted}} |
|||
<span class="tag tag-info">{{#str}}restricted, core{{/str}}</span> {{{text}}} |
|||
{{/isrestricted}} |
|||
</div> |
|||
{{/text}} |
@ -1,63 +0,0 @@ |
|||
{{! |
|||
@template theme_ilb/block |
|||
|
|||
Example context (json): |
|||
{ |
|||
"id": "block0", |
|||
"showskiplink": true, |
|||
"type": "html", |
|||
"ariarole": "complementary", |
|||
"title": "Test block", |
|||
"blockinstanceid": 1, |
|||
"content": "<p>Hello block world!</p>" |
|||
} |
|||
|
|||
}} |
|||
{{! Block Skip Link }} |
|||
{{#showskiplink}} |
|||
<a href="#sb-{{skipid}}" class="sr-only sr-only-focusable">{{#str}}skipa, access, {{title}}{{/str}}</a> |
|||
{{/showskiplink}} |
|||
|
|||
{{! Start Block Container }} |
|||
<section id="{{id}}" |
|||
class="{{#hidden}}hidden{{/hidden}} block block_{{type}} {{#hascontrols}}block_with_controls{{/hascontrols}} card mb-3" |
|||
role="{{ariarole}}" |
|||
data-block="{{type}}" |
|||
{{#arialabel}} |
|||
aria-label={{#quote}}{{{arialabel}}}{{/quote}} |
|||
{{/arialabel}} |
|||
{{^arialabel}} |
|||
{{#title}} |
|||
aria-labelledby="instance-{{blockinstanceid}}-header" |
|||
{{/title}} |
|||
{{/arialabel}}> |
|||
|
|||
{{! Block contents }} |
|||
<div class="card-body p-3"> |
|||
|
|||
{{! Block header }} |
|||
{{#title}} |
|||
<h5 id="instance-{{blockinstanceid}}-header" class="card-title d-inline">{{{title}}}</h5> |
|||
{{/title}} |
|||
|
|||
{{#hascontrols}} |
|||
<div class="block-controls pull-right header"> |
|||
{{{controls}}} |
|||
</div> |
|||
{{/hascontrols}} |
|||
|
|||
<div class="card-text content mt-3"> |
|||
{{{content}}} |
|||
<div class="footer">{{{footer}}}</div> |
|||
{{{annotation}}} |
|||
</div> |
|||
|
|||
</div> |
|||
|
|||
{{! End Block Container }} |
|||
</section> |
|||
|
|||
{{! Block Skip Link Target }} |
|||
{{#showskiplink}} |
|||
<span id="sb-{{skipid}}"></span> |
|||
{{/showskiplink}} |
@ -1,80 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/chooser |
|||
|
|||
Chooser. |
|||
|
|||
Example context (json): |
|||
{ |
|||
"title": "Chooser title", |
|||
"method": "post", |
|||
"actionurl": "http://example.org/test", |
|||
"instructions": "Choose one:", |
|||
"paramname": "param", |
|||
"sections": [{ |
|||
"id": "section-1", |
|||
"label": "Section one", |
|||
"items": [{ |
|||
"label": "item one", |
|||
"description": "description one" |
|||
}] |
|||
}] |
|||
} |
|||
}} |
|||
<div class="hd choosertitle"> |
|||
{{title}} |
|||
</div> |
|||
|
|||
<div class="chooserdialoguebody"> |
|||
<div class="choosercontainer"> |
|||
<div id="chooseform"> |
|||
<form action="{{actionurl}}" id="chooserform" method="{{method}}"> |
|||
<div id="typeformdiv"> |
|||
{{#params}} |
|||
<input type="hidden" id="{{id}}" name="{{name}}" value="{{value}}"> |
|||
{{/params}} |
|||
<input type="hidden" name="sesskey" value="{{sesskey}}"> |
|||
</div> |
|||
|
|||
<div class="options"> |
|||
<div class="instruction"> |
|||
{{instructions}} |
|||
</div> |
|||
<div class="alloptions"> |
|||
{{#sections}} |
|||
<div class="moduletypetitle"> |
|||
<label for="item_{{id}}"> |
|||
<span class="typename">{{label}}</span> |
|||
</label> |
|||
</div> |
|||
{{#items}} |
|||
{{>core/chooser_item}} |
|||
{{/items}} |
|||
{{/sections}} |
|||
</div> |
|||
</div> |
|||
|
|||
<div class="submitbuttons"> |
|||
<input type="submit" name="submitbutton" class="submitbutton btn btn-primary" value={{#quote}}{{#str}}add{{/str}}{{/quote}}> |
|||
<input type="submit" name="addcancel" class="addcancel btn btn-secondary" value={{#quote}}{{#str}}cancel{{/str}}{{/quote}}> |
|||
</div> |
|||
|
|||
</form> |
|||
</div> |
|||
</div> |
|||
</div> |
@ -1,48 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/columns-1to1to1 |
|||
|
|||
Moodle columns-1to1to1 template. |
|||
|
|||
The purpose of this template is to render a template with 3 columns. |
|||
On mobile the columns stack underneath each other. |
|||
|
|||
Classes required for JS: |
|||
* none |
|||
|
|||
Data attributes required for JS: |
|||
* none |
|||
|
|||
Context variables required for this template: |
|||
* col1content Column 1 contents. |
|||
* col2content Column 2 contents. |
|||
* col3content Column 3 contents. |
|||
|
|||
Example context (json): |
|||
{ |
|||
"col1content": "<div class='alert alert-error'>1. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam pellentesque id urna sit amet tempor.</div>", |
|||
"col2content": "<div class='alert alert-success'>2. Donec lacus nisl, molestie eget sodales non, sodales et nibh. Praesent dignissim placerat sodales.</div>", |
|||
"col3content": "<div class='alert alert-info'>3. Praesent sit amet ante odio. In mollis nisl at mi bibendum venenatis.</div>" |
|||
} |
|||
|
|||
}} |
|||
<div class="row"> |
|||
<div class="col-md-4">{{$ column1 }}{{{ col1content }}}{{/ column1 }}</div> |
|||
<div class="col-md-4">{{$ column2 }}{{{ col2content }}}{{/ column2 }}</div> |
|||
<div class="col-md-4">{{$ column3 }}{{{ col3content }}}{{/ column3 }}</div> |
|||
</div> |
@ -1,45 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/columns-1to2 |
|||
|
|||
Moodle columns-1to2 template. |
|||
|
|||
The purpose of this template is to render 2 columns where the second column has twice the width of the first one. |
|||
On mobile the second column collapses underneath the first. |
|||
|
|||
Classes required for JS: |
|||
* none |
|||
|
|||
Data attributes required for JS: |
|||
* none |
|||
|
|||
Context variables required for this template: |
|||
* col1content Column 1 contents. |
|||
* col2content Column 2 contents. |
|||
|
|||
Example context (json): |
|||
{ |
|||
"col1content": "<div class='alert alert-info'>1. Lorem ipsum dolor sit amet, consectetur adipiscing elit. In porttitor vulputate turpis, quis tempor arcu.</div>", |
|||
"col2content": "<div class='alert alert-success'>2. Vivamus ac orci in velit fringilla aliquam a a nisl. Cras luctus quam laoreet magna pulvinar aliquet.</div>" |
|||
} |
|||
|
|||
}} |
|||
<div class="row"> |
|||
<div class="col-md-4">{{$ column1 }}{{{ col1content }}}{{/ column1 }}</div> |
|||
<div class="col-md-8">{{$ column2 }}{{{ col2content }}}{{/ column2 }}</div> |
|||
</div> |
@ -1,44 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/columns-2to1 |
|||
|
|||
Moodle columns-2to1 template. |
|||
|
|||
The purpose of this template is to render 2 columns where the first column has twice the width of the second one. |
|||
On mobile the second column collapses underneath the first. |
|||
|
|||
Classes required for JS: |
|||
* none |
|||
|
|||
Data attributes required for JS: |
|||
* none |
|||
|
|||
Context variables required for this template: |
|||
* col1content Column 1 contents. |
|||
* col2content Column 2 contents. |
|||
|
|||
Example context (json): |
|||
{ |
|||
"col1content": "<div class='alert alert-info'>1. Lorem ipsum dolor sit amet, consectetur adipiscing elit. In porttitor vulputate turpis, quis tempor arcu.</div>", |
|||
"col2content": "<div class='alert alert-success'>2. Vivamus ac orci in velit fringilla aliquam a a nisl. Cras luctus quam laoreet magna pulvinar aliquet.</div>" |
|||
} |
|||
}} |
|||
<div class="row"> |
|||
<div class="col-md-8">{{$ column1 }}{{{ col1content }}}{{/ column1 }}</div> |
|||
<div class="col-md-4">{{$ column2 }}{{{ col2content }}}{{/ column2 }}</div> |
|||
</div> |
@ -1,24 +0,0 @@ |
|||
{{^divider}} |
|||
{{#haschildren}} |
|||
<li class="dropdown nav-item"> |
|||
<a class="dropdown-toggle nav-link" id="drop-down-{{uniqid}}" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" href="#" aria-controls="drop-down-menu-{{uniqid}}"> |
|||
{{{text}}} |
|||
</a> |
|||
<div class="dropdown-menu" role="menu" id="drop-down-menu-{{uniqid}}" aria-labelledby="drop-down-{{uniqid}}"> |
|||
{{#children}} |
|||
{{^divider}} |
|||
<a class="dropdown-item" role="menuitem" href="{{{url}}}" {{#title}}title="{{{title}}}"{{/title}}>{{{text}}}</a> |
|||
{{/divider}} |
|||
{{#divider}} |
|||
<div class="dropdown-divider" role="presentation"></div> |
|||
{{/divider}} |
|||
{{/children}} |
|||
</div> |
|||
</li> |
|||
{{/haschildren}} |
|||
{{^haschildren}} |
|||
<li class="nav-item"> |
|||
<a class="nav-item nav-link" href="{{{url}}}" {{#title}}title="{{{title}}}"{{/title}}>{{{text}}}</a> |
|||
</li> |
|||
{{/haschildren}} |
|||
{{/divider}} |
@ -1,55 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/dataformat_selector |
|||
|
|||
Context variables required for this template: |
|||
* label |
|||
* base |
|||
* name |
|||
* params |
|||
* options |
|||
* sesskey |
|||
* submit |
|||
|
|||
Example context (json): |
|||
{ |
|||
"base": "http://example.org/", |
|||
"name": "test", |
|||
"value": "test", |
|||
"label": "Download table data as", |
|||
"params": false, |
|||
"options": [{"label": "CSV", "name": "csv"}, {"label": "Excel", "name": "excel"}], |
|||
"submit": "Download", |
|||
"sesskey": "" |
|||
} |
|||
}} |
|||
<form method="get" action="{{base}}" class="dataformatselector m-1"> |
|||
<div class="form-inline text-xs-right"> |
|||
<input type="hidden" name="sesskey" value="{{sesskey}}"> |
|||
<label for="downloadtype_{{name}}" class="mr-1">{{label}}</label> |
|||
<select name="{{name}}" id="downloadtype_{{name}}" class="form-control"> |
|||
{{#options}} |
|||
<option value="{{value}}">{{label}}</option> |
|||
{{/options}} |
|||
</select> |
|||
<button type="submit" class="btn btn-secondary">{{submit}}</button> |
|||
{{#params}} |
|||
<input type="hidden" name="{{name}}" value="{{value}}"> |
|||
{{/params}} |
|||
</div> |
|||
</form> |
@ -1,5 +0,0 @@ |
|||
<div class="filemanager fp-dlg"> |
|||
<p class="fp-dlg-text"></p> |
|||
<button class="fp-dlg-butconfirm btn-primary btn">{{#str}}ok{{/str}}</button> |
|||
<button class="fp-dlg-butcancel btn-secondary btn">{{#str}}cancel{{/str}}</button> |
|||
</div> |
@ -1,4 +0,0 @@ |
|||
<div class="fp-def-search form-group"> |
|||
<label class="sr-only">{{#str}}searchrepo, repository{{/str}}</label> |
|||
<input type="search" class="form-control" id="reposearch" name="s" placeholder="{{#str}}search, repository{{/str}}"/> |
|||
</div> |
@ -1,65 +0,0 @@ |
|||
<div class="filemanager fp-select"> |
|||
<div class="fp-select-loading"> |
|||
{{#pix}}i/loading_small{{/pix}} |
|||
</div> |
|||
<form class="mform clearfix"> |
|||
<div class="form-group mx-0"> |
|||
<button class="fp-file-download btn btn-secondary">{{#str}}download{{/str}}</button> |
|||
<button class="fp-file-delete btn btn-secondary">{{#str}}delete{{/str}}</button> |
|||
<button class="fp-file-setmain btn btn-secondary">{{#str}}setmainfile, repository{{/str}}</button> |
|||
<span class="fp-file-setmain-help">{{{helpicon}}}</span> |
|||
<button class="fp-file-zip btn btn-secondary">{{#str}}zip, editor{{/str}}</button> |
|||
<button class="fp-file-unzip btn btn-secondary">{{#str}}unzip{{/str}}</button> |
|||
</div> |
|||
|
|||
<div class="fp-saveas form-group row mx-0"> |
|||
<label class="form-control-label col-4 px-0">{{#str}}name, repository{{/str}}</label> |
|||
<div class="col-8 form-inline"><input class="form-control" type="text"/></div> |
|||
</div> |
|||
<div class="fp-author form-group row mx-0"> |
|||
<label class="form-control-label col-4 px-0">{{#str}}author, repository{{/str}}</label> |
|||
<div class="col-8 form-inline"><input class="form-control" type="text"/></div> |
|||
|
|||
</div> |
|||
<div class="fp-license form-group row mx-0"> |
|||
<label class="form-control-label col-4 px-0">{{#str}}chooselicense, repository{{/str}}</label> |
|||
<div class="col-8 form-inline pr-0"> |
|||
<select class="custom-select form-control"></select> |
|||
</div> |
|||
</div> |
|||
<div class="fp-path form-group row mx-0"> |
|||
<label class="form-control-label col-4 px-0">{{#str}}path, repository{{/str}}</label> |
|||
<div class="col-8 form-inline pr-0"> |
|||
<select class="custom-select form-control"></select> |
|||
</div> |
|||
</div> |
|||
<div class="fp-original form-group row mx-0"> |
|||
<label class="form-control-label col-4 px-0">{{#str}}original, repository{{/str}}</label> |
|||
<div class="col-8 form-inline"> |
|||
<span class="fp-originloading">{{#pix}}i/loading_small{{/pix}} {{#str}}loading, repository{{/str}}</span><span class="fp-value"></span> |
|||
</div> |
|||
</div> |
|||
<div class="fp-reflist form-group row mx-0"> |
|||
<label class="form-control-label col-4 px-0">{{#str}}referenceslist, repository{{/str}}</label> |
|||
<div class="col-8 form-inline"> |
|||
<p class="fp-refcount"></p> |
|||
<span class="fp-reflistloading">{{#pix}}i/loading_small{{/pix}} {{#str}}loading, repository{{/str}}</span> |
|||
<ul class="fp-value"></ul> |
|||
</div> |
|||
</div> |
|||
<div class="fp-select-buttons form-group"> |
|||
<button class="fp-file-update btn-primary btn">{{#str}}update{{/str}}</button> |
|||
<button class="fp-file-cancel btn-secondary btn">{{#str}}cancel{{/str}}</button> |
|||
</div> |
|||
</form> |
|||
<div class="fp-info clearfix"> |
|||
<hr> |
|||
<p class="fp-thumbnail"></p> |
|||
<div class="fp-fileinfo"> |
|||
<div class="fp-datemodified">{{#str}}lastmodified, repository{{/str}} <span class="fp-value"></span></div> |
|||
<div class="fp-datecreated">{{#str}}datecreated, repository{{/str}} <span class="fp-value"></span></div> |
|||
<div class="fp-size">{{#str}}size, repository{{/str}} <span class="fp-value"></span></div> |
|||
<div class="fp-dimensions">{{#str}}dimensions, repository{{/str}} <span class="fp-value"></span></div> |
|||
</div> |
|||
</div> |
|||
</div> |
@ -1,43 +0,0 @@ |
|||
{{! |
|||
@template core/filemanager_loginform |
|||
|
|||
This template is actually a template which is then used by YUI JS to |
|||
generate the markup, so it doesn't make much sense on its own. |
|||
|
|||
Example context (json): {} |
|||
}} |
|||
<div class="fp-login-form"> |
|||
<div class="fp-content-center"> |
|||
<form class="form"> |
|||
<div class="fp-formset"> |
|||
<div class="fp-login-popup form-group"> |
|||
<div class="fp-popup"> |
|||
<p class="mdl-align"> |
|||
<button class="fp-login-popup-but btn-primary btn">{{#str}}login, repository{{/str}}</button> |
|||
</p> |
|||
</div> |
|||
</div> |
|||
<div class="fp-login-textarea form-group"> |
|||
<textarea class="form-control"></textarea> |
|||
</div> |
|||
<div class="fp-login-select form-group"> |
|||
<label class="form-control-label"></label> |
|||
<select class="custom-select"></select> |
|||
</div> |
|||
<div class="fp-login-input form-group"> |
|||
<label class="form-control-label"></label> |
|||
<input class="form-control"/> |
|||
</div> |
|||
<div class="fp-login-radiogroup form-group"> |
|||
<label class="form-control-label"></label> |
|||
<div class="fp-login-radio"><input class="form-control" /> <label></label></div> |
|||
</div> |
|||
<div class="fp-login-checkbox form-group form-inline"> |
|||
<label class="form-control-label"></label> |
|||
<input class="form-control"/> |
|||
</div> |
|||
</div> |
|||
<p class="mdl-align"><button class="fp-login-submit btn-primary btn">{{#str}}submit, repository{{/str}}</button></p> |
|||
</form> |
|||
</div> |
|||
</div> |
@ -1,63 +0,0 @@ |
|||
<div class="container"> |
|||
<div tabindex="0" class="file-picker fp-generallayout row" role="dialog" aria-live="assertive"> |
|||
<div class="fp-repo-area col-md-3 pr-2 nav nav-pills flex-column" role="tablist"> |
|||
<div class="fp-repo nav-item" role="tab" aria-selected="false" tabindex="-1"> |
|||
<a href="#" class="nav-link" tabindex="-1"><img class="fp-repo-icon" alt=" " src="#" width="16" height="16" /> <span class="fp-repo-name"></span></a> |
|||
</div> |
|||
|
|||
</div> |
|||
<div class="col-md-9 p-0"> |
|||
<div class="fp-repo-items" tabindex="0"> |
|||
<div class="fp-navbar bg-faded card mb-0 clearfix icon-no-spacing"> |
|||
<div> |
|||
<div class="fp-toolbar"> |
|||
<div class="fp-tb-back"> |
|||
<a href="#" class="btn btn-secondary btn-sm">{{#str}}back, repository{{/str}}</a> |
|||
</div> |
|||
<div class="fp-tb-search"> |
|||
<form></form> |
|||
</div> |
|||
<div class="fp-tb-refresh"> |
|||
<a title="{{#str}}refresh, repository{{/str}}" class="btn btn-secondary btn-sm" href="#"> |
|||
{{#pix}}a/refresh{{/pix}} |
|||
</a> |
|||
</div> |
|||
<div class="fp-tb-logout"> |
|||
<a title="{{#str}}logout, repository{{/str}}" class="btn btn-secondary btn-sm" href="#"> |
|||
{{#pix}}a/logout{{/pix}} |
|||
</a> |
|||
</div> |
|||
<div class="fp-tb-manage"> |
|||
<a title="{{#str}}manageurl, repository{{/str}}" class="btn btn-secondary btn-sm" href="#"> |
|||
{{#pix}}a/setting{{/pix}} |
|||
</a> |
|||
</div> |
|||
<div class="fp-tb-help"> |
|||
<a title="{{#str}}help, repository{{/str}}" class="btn btn-secondary btn-sm" href="#"> |
|||
{{#pix}}a/help{{/pix}} |
|||
</a> |
|||
</div> |
|||
<div class="fp-tb-message"></div> |
|||
</div> |
|||
<div class="fp-viewbar btn-group float-sm-right"> |
|||
<a role="button" title="{{#str}}displayicons, repository{{/str}}" class="fp-vb-icons btn btn-secondary btn-sm" href="#"> |
|||
{{#pix}}fp/view_icon_active, theme{{/pix}} |
|||
</a> |
|||
<a role="button" title="{{#str}}displaydetails, repository{{/str}}" class="fp-vb-details btn btn-secondary btn-sm" href="#"> |
|||
{{#pix}}fp/view_list_active, theme{{/pix}} |
|||
</a> |
|||
<a role="button" title="{{#str}}displaytree, repository{{/str}}" class="fp-vb-tree btn btn-secondary btn-sm" href="#"> |
|||
{{#pix}}fp/view_tree_active, theme{{/pix}} |
|||
</a> |
|||
</div> |
|||
<div class="fp-clear-left"></div> |
|||
</div> |
|||
<div class="fp-pathbar"> |
|||
<span class="fp-path-folder"><a class="fp-path-folder-name" href="#"></a></span> |
|||
</div> |
|||
</div> |
|||
<div class="fp-content card"></div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
@ -1,58 +0,0 @@ |
|||
<div id="filemanager-{{{client_id}}}" class="filemanager w-100 fm-loading"> |
|||
<div class="fp-restrictions"> |
|||
{{{restrictions}}} |
|||
<span class="dnduploadnotsupported-message"> - {{#str}}dndnotsupported_insentence{{/str}}{{{helpicon}}}</span> |
|||
</div> |
|||
<div class="fp-navbar bg-faded card mb-0"> |
|||
<div class="filemanager-toolbar icon-no-spacing"> |
|||
<div class="fp-toolbar"> |
|||
<div class="fp-btn-add"> |
|||
<a role="button" title="{{#str}}addfile, repository{{/str}}" class="btn btn-secondary btn-sm" href="#"> |
|||
{{#pix}}a/add_file{{/pix}} |
|||
</a> |
|||
</div> |
|||
<div class="fp-btn-mkdir"> |
|||
<a role="button" title="{{#str}}makeafolder{{/str}}" class="btn btn-secondary btn-sm" href="#"> |
|||
{{#pix}}a/create_folder{{/pix}} |
|||
</a> |
|||
</div> |
|||
<div class="fp-btn-download"> |
|||
<a role="button" title="{{#str}}downloadfolder, repository{{/str}}" class="btn btn-secondary btn-sm" href="#"> |
|||
{{#pix}}a/download_all{{/pix}} |
|||
</a> |
|||
</div> |
|||
<span class="fp-img-downloading"> |
|||
<span class="sr-only">{{#str}}loadinghelp{{/str}}</span> |
|||
{{#pix}}i/loading_small{{/pix}} |
|||
</span> |
|||
</div> |
|||
<div class="fp-viewbar btn-group float-sm-right"> |
|||
<a title="{{#str}}displayicons, repository{{/str}}" class="fp-vb-icons btn btn-secondary btn-sm" href="#"> |
|||
{{#pix}}fp/view_icon_active, theme{{/pix}} |
|||
</a> |
|||
<a title="{{#str}}displaydetails, repository{{/str}}" class="fp-vb-details btn btn-secondary btn-sm" href="#"> |
|||
{{#pix}}fp/view_list_active, theme{{/pix}} |
|||
</a> |
|||
<a title="{{#str}}displaytree, repository{{/str}}" class="fp-vb-tree btn btn-secondary btn-sm" href="#"> |
|||
{{#pix}}fp/view_tree_active, theme{{/pix}} |
|||
</a> |
|||
</div> |
|||
</div> |
|||
<div class="fp-pathbar"> |
|||
<span class="fp-path-folder"><a class="fp-path-folder-name" href="#"></a></span> |
|||
</div> |
|||
</div> |
|||
<div class="filemanager-loading mdl-align">{{#pix}}i/loading_small{{/pix}}<span class="sr-only">{{#str}}loadinghelp{{/str}}</span></div> |
|||
<div class="filemanager-container card" > |
|||
<div class="fm-content-wrapper"> |
|||
<div class="fp-content"></div> |
|||
<div class="fm-empty-container"> |
|||
<div class="dndupload-message">{{#str}}dndenabled_inbox{{/str}}<br/><div class="dndupload-arrow"></div></div> |
|||
</div> |
|||
<div class="dndupload-target">{{#str}}droptoupload{{/str}}<br/><div class="dndupload-arrow"></div></div> |
|||
<div class="dndupload-progressbars"></div> |
|||
<div class="dndupload-uploadinprogress">{{#pix}}i/loading_small{{/pix}}<span class="sr-only">{{#str}}loadinghelp{{/str}}</span></div> |
|||
</div> |
|||
<div class="filemanager-updating">{{#pix}}i/loading_small{{/pix}}<span class="sr-only">{{#str}}loadinghelp{{/str}}</span></div> |
|||
</div> |
|||
</div> |
@ -1,8 +0,0 @@ |
|||
<div class="file-picker fp-dlg"> |
|||
<p class="fp-dlg-text"></p> |
|||
<div class="fp-dlg-buttons"> |
|||
<button class="fp-dlg-butoverwrite btn btn-primary">{{#str}}overwrite, repository{{/str}}</button> |
|||
<button class="fp-dlg-butrename btn btn-primary"></button> |
|||
<button class="fp-dlg-butcancel btn btn-secondary">{{#str}}cancel{{/str}}</button> |
|||
</div> |
|||
</div> |
@ -1,9 +0,0 @@ |
|||
<div class="file-picker fp-dlg"> |
|||
<p class="fp-dlg-text"></p> |
|||
<a class="fp-dlg-butoverwrite btn btn-primary" href="#">{{#str}}overwrite, repository{{/str}}</a> |
|||
<a class="fp-dlg-butrename btn btn-primary" href="#"></a> |
|||
<a class="fp-dlg-butcancel btn btn-secondary" href="#">{{#str}}cancel{{/str}}</a> |
|||
<br/> |
|||
<a class="fp-dlg-butoverwriteall btn btn-primary" href="#">{{#str}}overwriteall, repository{{/str}}</a> |
|||
<a class="fp-dlg-butrenameall btn btn-primary" href="#">{{#str}}renameall, repository{{/str}}</a> |
|||
</div> |
@ -1,66 +0,0 @@ |
|||
<div class="file-picker fp-select"> |
|||
<div class="fp-select-loading"> |
|||
<span class="sr-only">{{#str}}loadinghelp{{/str}}</span> |
|||
{{#pix}}i/loading_small{{/pix}} |
|||
</div> |
|||
<div class="container"> |
|||
<form> |
|||
<fieldset class="form-group row"> |
|||
<div class="form-check fp-linktype-2"> |
|||
<label class="form-check-label"> |
|||
<input class="form-check-input" type="radio"> |
|||
{{#str}}makefileinternal, repository{{/str}} |
|||
</label> |
|||
</div> |
|||
<div class="form-check fp-linktype-1"> |
|||
<label class="form-check-label"> |
|||
<input class="form-check-input" type="radio"> |
|||
{{#str}}makefilelink, repository{{/str}} |
|||
</label> |
|||
</div> |
|||
<div class="form-check fp-linktype-4"> |
|||
<label class="form-check-label"> |
|||
<input class="form-check-input" type="radio"> |
|||
{{#str}}makefilereference, repository{{/str}} |
|||
</label> |
|||
</div> |
|||
<div class="form-check fp-linktype-8"> |
|||
<label class="form-check-label"> |
|||
<input class="form-check-input" type="radio"> |
|||
{{#str}}makefilecontrolledlink, repository{{/str}} |
|||
</label> |
|||
</div> |
|||
</fieldset> |
|||
<div class="fp-saveas form-group row"> |
|||
<label class="col-form-label">{{#str}}saveas, repository{{/str}}</label> |
|||
<input class="form-control" type="text"> |
|||
</div> |
|||
<div class="fp-setauthor form-group row"> |
|||
<label class="col-form-label">{{#str}}author, repository{{/str}}</label> |
|||
<input class="form-control" type="text"> |
|||
</div> |
|||
<div class="fp-setlicense form-group row"> |
|||
<label class="col-form-label">{{#str}}chooselicense, repository{{/str}}</label> |
|||
<select class="custom-select"></select> |
|||
</div> |
|||
<div class="form-group row"> |
|||
<div class="fp-select-buttons"> |
|||
<button class="fp-select-confirm btn-primary btn">{{#str}}getfile, repository{{/str}}</button> |
|||
<button class="fp-select-cancel btn-secondary btn">{{#str}}cancel{{/str}}</button> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
<div class="fp-info clearfix"> |
|||
<hr> |
|||
<p class="fp-thumbnail"></p> |
|||
<div class="fp-fileinfo"> |
|||
<div class="fp-datemodified">{{#str}}lastmodified, repository{{/str}}<span class="fp-value"></span></div> |
|||
<div class="fp-datecreated">{{#str}}datecreated, repository{{/str}}<span class="fp-value"></span></div> |
|||
<div class="fp-size">{{#str}}size, repository{{/str}}<span class="fp-value"></span></div> |
|||
<div class="fp-license">{{#str}}license, repository{{/str}}<span class="fp-value"></span></div> |
|||
<div class="fp-author">{{#str}}author, repository{{/str}}<span class="fp-value"></span></div> |
|||
<div class="fp-dimensions">{{#str}}dimensions, repository{{/str}}<span class="fp-value" dir="ltr"></span></div> |
|||
</div> |
|||
</div> |
|||
</div> |
@ -1,29 +0,0 @@ |
|||
<div class="fp-upload-form"> |
|||
<div class="fp-content-center"> |
|||
<form enctype="multipart/form-data" method="POST" class="form"> |
|||
<div class="fp-formset"> |
|||
<div class="fp-file form-group"> |
|||
<label>{{#str}}attachment, repository{{/str}}</label> |
|||
<div class="p-x-1"> |
|||
<input type="file"/> |
|||
</div> |
|||
</div> |
|||
<div class="fp-saveas form-group"> |
|||
<label>{{#str}}saveas, repository{{/str}}</label> |
|||
<input type="text" class="form-control"/> |
|||
</div> |
|||
<div class="fp-setauthor form-group"> |
|||
<label>{{#str}}author, repository{{/str}}</label> |
|||
<input type="text" class="form-control"/> |
|||
</div> |
|||
<div class="fp-setlicense control-group"> |
|||
<label>{{#str}}chooselicense, repository{{/str}}</label> |
|||
<select class="custom-select"></select> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
<div class="mdl-align"> |
|||
<button class="fp-upload-btn btn-primary btn">{{#str}}upload, repository{{/str}}</button> |
|||
</div> |
|||
</div> |
|||
</div> |
@ -1,53 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/form_autocomplete_input |
|||
|
|||
Moodle template for the input field in an autocomplate form element. |
|||
|
|||
Classes required for JS: |
|||
* none |
|||
|
|||
Data attributes required for JS: |
|||
* none |
|||
|
|||
Context variables required for this template: |
|||
* inputId The dom id of this input field. |
|||
* suggestionsId The dom id of the suggestions list. |
|||
* selectionId The dom id of the current selection list. |
|||
* downArrowId The dom id of the down arrow to open the suggestions. |
|||
* placeholder The place holder text when the field is empty |
|||
|
|||
Example context (json): |
|||
{ "inputID": 1, "suggestionsId": 2, "selectionId": 3, "downArrowId": 4, "placeholder": "Select something" } |
|||
}} |
|||
{{#showSuggestions}} |
|||
<input type="text" id="{{inputId}}" class="form-control" list="{{suggestionsId}}" placeholder="{{placeholder}}" role="combobox" aria-expanded="false" autocomplete="off" autocorrect="off" autocapitalize="off" aria-autocomplete="list" aria-owns="{{suggestionsId}} {{selectionId}}" {{#tags}}data-tags="1"{{/tags}}/><span class="form-autocomplete-downarrow" id="{{downArrowId}}">▼</span> |
|||
{{/showSuggestions}} |
|||
{{^showSuggestions}} |
|||
<input type="text" id="{{inputId}}" placeholder="{{placeholder}}" role="textbox" aria-owns="{{selectionId}}" {{#tags}}data-tags="1"{{/tags}}/> |
|||
{{/showSuggestions}} |
|||
|
|||
{{#js}} |
|||
require(['jquery'], function($) { |
|||
// Set the minimum width of the input so that the placeholder is whole displayed. |
|||
var inputElement = $(document.getElementById('{{inputId}}')); |
|||
if (inputElement.length) { |
|||
inputElement.css('min-width', inputElement.attr('placeholder').length + 'ch'); |
|||
} |
|||
}); |
|||
{{/js}} |
@ -1,50 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/form_autocomplete_selection |
|||
|
|||
Moodle template for the currently selected items in an autocomplate form element. |
|||
|
|||
Classes required for JS: |
|||
* none |
|||
|
|||
Data attributes required for JS: |
|||
* none |
|||
|
|||
Context variables required for this template: |
|||
* multiple True if this field allows multiple selections |
|||
* selectionId The dom id of the current selection list. |
|||
* items List of items with label and value fields. |
|||
* noSelectionString String to use when no items are selected |
|||
|
|||
Example context (json): |
|||
{ "multiple": true, "selectionId": 1, "items": [ |
|||
{ "label": "Item label with <strong>tags</strong>", "value": "5" }, |
|||
{ "label": "Another item label with <strong>tags</strong>", "value": "4" } |
|||
], "noSelectionString": "No selection" } |
|||
}} |
|||
<div class="form-autocomplete-selection w-100 {{#multiple}}form-autocomplete-multiple{{/multiple}}" id="{{selectionId}}" role="list" aria-atomic="true" {{#multiple}}tabindex="0" aria-multiselectable="true"{{/multiple}}> |
|||
<span class="accesshide">{{#str}}selecteditems, form{{/str}}</span> |
|||
{{#items}} |
|||
<span role="listitem" data-value="{{value}}" aria-selected="true" class="tag tag-info mb-3 mr-1" style="font-size: 100%"> |
|||
{{#multiple}}<span aria-hidden="true">× </span>{{/multiple}}{{{label}}} |
|||
</span> |
|||
{{/items}} |
|||
{{^items}} |
|||
<span class="mb-3 mr-1">{{noSelectionString}}</span> |
|||
{{/items}} |
|||
</div> |
@ -1,25 +0,0 @@ |
|||
{{! |
|||
@template core/help_icon |
|||
|
|||
Help icon. |
|||
|
|||
Example context (json): |
|||
{ |
|||
"title": "Help with something", |
|||
"url": "http://example.org/help", |
|||
"linktext": "", |
|||
"icon":{ |
|||
"attributes": [ |
|||
{"name": "class", "value": "iconhelp"}, |
|||
{"name": "src", "value": "../../../pix/help.svg"}, |
|||
{"name": "alt", "value": "Help icon"} |
|||
] |
|||
} |
|||
} |
|||
}} |
|||
<a class="btn btn-link p-0" role="button" |
|||
data-container="body" data-toggle="popover" |
|||
data-placement="{{#ltr}}right{{/ltr}}{{^ltr}}left{{/ltr}}" data-content="{{text}} {{completedoclink}}" |
|||
data-html="true" tabindex="0" data-trigger="focus"> |
|||
{{#pix}}help, core, {{{alt}}}{{/pix}} |
|||
</a> |
@ -1,106 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/initials_bar |
|||
|
|||
Initials bar. |
|||
|
|||
Example context (json): |
|||
{ |
|||
"title": "First name", |
|||
"class": "firstinitial", |
|||
"current": "A", |
|||
"url": "http://moodle.generic32/report/progress/index.php?course=2&sifirst", |
|||
"all": "All", |
|||
"group": [ |
|||
{ |
|||
"letter": [ |
|||
{ |
|||
"name": "A", |
|||
"url": "http://moodle.generic32/report/progress/index.php?course=2&sifirst=A" |
|||
}, |
|||
{ |
|||
"name": "B", |
|||
"url": "http://moodle.generic32/report/progress/index.php?course=2&sifirst=B" |
|||
}, |
|||
{ |
|||
"name": "C", |
|||
"url": "http://moodle.generic32/report/progress/index.php?course=2&sifirst=C" |
|||
}, |
|||
{ |
|||
"name": "D", |
|||
"url": "http://moodle.generic32/report/progress/index.php?course=2&sifirst=D" |
|||
} |
|||
|
|||
] |
|||
}, |
|||
{ |
|||
"letter": [ |
|||
{ |
|||
"name": "W", |
|||
"url": "http://moodle.generic32/report/progress/index.php?course=2&sifirst=W", |
|||
"selected": "W" |
|||
}, |
|||
{ |
|||
"name": "X", |
|||
"url": "http://moodle.generic32/report/progress/index.php?course=2&sifirst=X" |
|||
}, |
|||
{ |
|||
"name": "Y", |
|||
"url": "http://moodle.generic32/report/progress/index.php?course=2&sifirst=Y" |
|||
}, |
|||
{ |
|||
"name": "Z", |
|||
"url": "http://moodle.generic32/report/progress/index.php?course=2&sifirst=Z" |
|||
} |
|||
|
|||
] |
|||
} |
|||
] |
|||
} |
|||
}} |
|||
<div class="initialbar {{class}} d-flex flex-wrap justify-content-center justify-content-md-start"> |
|||
<span class="initialbarlabel mr-2">{{title}}</span> |
|||
|
|||
<div class="initialbargroups d-flex flex-wrap justify-content-center justify-content-md-start"> |
|||
<ul class="pagination pagination-sm"> |
|||
{{#current}} |
|||
<li class="initialbarall page-item"> |
|||
<a class="page-link" href="{{url}}">{{all}}</a> |
|||
</li> |
|||
{{/current}} |
|||
{{^current}} |
|||
<li class="initialbarall page-item active"> |
|||
<a class="page-link">{{all}}</a> |
|||
</li> |
|||
{{/current}} |
|||
</ul> |
|||
{{#group}} |
|||
<ul class="pagination pagination-sm"> |
|||
{{#letter}} |
|||
{{#selected}} |
|||
<li class="page-item active {{name}}"><span class="page-link">{{name}}</span></li> |
|||
{{/selected}} |
|||
{{^selected}} |
|||
<li class="page-item {{name}}"><a class="page-link" href="{{url}}">{{name}}</a></li> |
|||
{{/selected}} |
|||
{{/letter}} |
|||
</ul> |
|||
{{/group}} |
|||
</div> |
|||
</div> |
|||
|
@ -1,244 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/loginform |
|||
|
|||
Moodle template for the login page. |
|||
|
|||
Context variables required for this template: |
|||
* autofocusform: Auto focus on form ?, |
|||
* canloginasguest - Is guest login allowed?, |
|||
* canloginbyemail - Is login by email allowed?, |
|||
* cansignup - Signup allowed?, |
|||
* cookieshelpicon - cookies help icon details |
|||
* error - Any errors in the form?, |
|||
* forgotpasswordurl - Forgot password url, |
|||
* hasidentityproviders - Flag, set to true to hide identity providers, |
|||
* hasinstructions - Flag, set to true to show instructions, |
|||
* identityproviders - List of identiy providers, |
|||
* instructions - Instructions, |
|||
* instructionsformat - Format of instructions, |
|||
* loginurl - Login url, |
|||
* rememberusername - Remeber username?, |
|||
* signupurl - Signup url, |
|||
* cookieshelpiconformatted - Formatted html of cookies help icon, |
|||
* errorformatted - Formatted error, |
|||
* logourl - Flag, logo url, |
|||
* sitename - Name of site. |
|||
* logintoken - Random token to protect login request. |
|||
|
|||
Example context (json): |
|||
{ |
|||
"autofocusform": false, |
|||
"canloginasguest": "1", |
|||
"canloginbyemail": false, |
|||
"cansignup": true, |
|||
"cookieshelpicon": { |
|||
"heading": "Cookies must be enabled in your browser", |
|||
"text": "<div class=\"no-overflow\">Two cookies are used on this site. Both died..</div>", |
|||
"icon": { |
|||
"attributes": [ |
|||
{ |
|||
"name": "class", |
|||
"value": "iconhelp" |
|||
}, |
|||
{ |
|||
"name": "alt", |
|||
"value": "Help with Cookies must be enabled in your browser" |
|||
}, |
|||
{ |
|||
"name": "title", |
|||
"value": "Help with Cookies must be enabled in your browser" |
|||
}, |
|||
{ |
|||
"name": "src", |
|||
"value": "http://localhost/stable_master/theme/image.php?theme=ilb&component=core&image=help" |
|||
} |
|||
] |
|||
}, |
|||
"linktext": null, |
|||
"title": "Help with Cookies must be enabled in your browser", |
|||
"url": "http://localhost/stable_master/help.php?component=core&identifier=cookiesenabled&lang=en", |
|||
"ltr": true |
|||
}, |
|||
"error": "", |
|||
"forgotpasswordurl": "http://localhost/stable_master/login/forgot_password.php", |
|||
"hasidentityproviders": false, |
|||
"hasinstructions": true, |
|||
"identityproviders": [], |
|||
"instructions": "For full access to this site, you first need to create an account.", |
|||
"instructionsformat": "1", |
|||
"loginurl": "http://localhost/stable_master/login/index.php", |
|||
"rememberusername": true, |
|||
"signupurl": "http://localhost/stable_master/login/signup.php", |
|||
"cookieshelpiconformatted": "", |
|||
"errorformatted": "", |
|||
"logourl": false, |
|||
"sitename": "Beer & Chips", |
|||
"logintoken": "randomstring" |
|||
} |
|||
}} |
|||
|
|||
<div class="my-1 my-sm-5"></div> |
|||
<div class="row justify-content-center"> |
|||
<div class="col-xl-6 col-sm-8 "> |
|||
<div class="card"> |
|||
<div class="card-block"> |
|||
{{#logourl}} |
|||
<h2 class="card-header text-center" ><img src="{{logourl}}" class="img-fluid" title="{{sitename}}" alt="{{sitename}}"/></h2> |
|||
{{/logourl}} |
|||
{{^logourl}} |
|||
<h2 class="card-header text-center">{{sitename}}</h2> |
|||
{{/logourl}} |
|||
<div class="card-body"> |
|||
{{#cansignup}} |
|||
<div class="sr-only"> |
|||
<a href="{{signupurl}}">{{#str}} tocreatenewaccount {{/str}}</a> |
|||
</div> |
|||
{{/cansignup}} |
|||
|
|||
{{#error}} |
|||
<div class="loginerrors mt-3"> |
|||
<a href="#" id="loginerrormessage" class="accesshide">{{error}}</a> |
|||
<div class="alert alert-danger" role="alert" data-aria-autofocus="true">{{error}}</div> |
|||
</div> |
|||
{{/error}} |
|||
|
|||
<div class="row justify-content-md-center"> |
|||
<div class="col-md-5"> |
|||
<form class="mt-3" action="{{loginurl}}" method="post" id="login"> |
|||
<input id="anchor" type="hidden" name="anchor" value=""> |
|||
<script>document.getElementById('anchor').value = location.hash;</script> |
|||
<input type="hidden" name="logintoken" value="{{logintoken}}"> |
|||
<div class="form-group"> |
|||
<label for="username" class="sr-only"> |
|||
{{^canloginbyemail}} |
|||
{{#str}} username {{/str}} |
|||
{{/canloginbyemail}} |
|||
{{#canloginbyemail}} |
|||
{{#str}} usernameemail {{/str}} |
|||
{{/canloginbyemail}} |
|||
</label> |
|||
<input type="text" name="username" id="username" |
|||
class="form-control" |
|||
value="{{username}}" |
|||
placeholder={{#quote}}{{^canloginbyemail}}{{#str}}username{{/str}}{{/canloginbyemail}}{{#canloginbyemail}}{{#str}}usernameemail{{/str}}{{/canloginbyemail}}{{/quote}} |
|||
autocomplete="username"> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label for="password" class="sr-only">{{#str}} password {{/str}}</label> |
|||
<input type="password" name="password" id="password" value="" |
|||
class="form-control" |
|||
placeholder={{#quote}}{{#str}}password{{/str}}{{/quote}} |
|||
autocomplete="current-password"> |
|||
</div> |
|||
{{#rememberusername}} |
|||
<div class="rememberpass mt-3"> |
|||
<input type="checkbox" name="rememberusername" id="rememberusername" value="1" {{#username}}checked="checked"{{/username}} /> |
|||
<label for="rememberusername">{{#str}} rememberusername, admin {{/str}}</label> |
|||
</div> |
|||
{{/rememberusername}} |
|||
|
|||
<button type="submit" class="btn btn-primary btn-block mt-3" id="loginbtn">{{#str}}login{{/str}}</button> |
|||
</form> |
|||
</div> |
|||
|
|||
<div class="col-md-5"> |
|||
<div class="forgetpass mt-3"> |
|||
<p><a href="{{forgotpasswordurl}}">{{#str}}forgotten{{/str}}</a></p> |
|||
</div> |
|||
|
|||
<div class="mt-3"> |
|||
{{#str}} cookiesenabled {{/str}} |
|||
{{{cookieshelpiconformatted}}} |
|||
</div> |
|||
{{#canloginasguest}} |
|||
<div class="mt-2"> |
|||
<p>{{#str}}someallowguest{{/str}}</p> |
|||
<form action="{{loginurl}}" method="post" id="guestlogin"> |
|||
<input type="hidden" name="logintoken" value="{{logintoken}}"> |
|||
<input type="hidden" name="username" value="guest" /> |
|||
<input type="hidden" name="password" value="guest" /> |
|||
<button class="btn btn-secondary btn-block" type="submit">{{#str}}loginguest{{/str}}</button> |
|||
</form> |
|||
</div> |
|||
{{/canloginasguest}} |
|||
|
|||
{{#hasidentityproviders}} |
|||
<h6 class="mt-2">{{#str}} potentialidps, auth {{/str}}</h6> |
|||
<div class="potentialidplist" class="mt-3"> |
|||
{{#identityproviders}} |
|||
<div class="potentialidp"> |
|||
<a href="{{url}}" title={{#quote}}{{name}}{{/quote}} class="btn btn-secondary btn-block"> |
|||
{{#iconurl}} |
|||
<img src="{{iconurl}}" alt="" width="24" height="24"/> |
|||
{{/iconurl}} |
|||
{{name}} |
|||
</a> |
|||
</div> |
|||
{{/identityproviders}} |
|||
</div> |
|||
{{/hasidentityproviders}} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
|
|||
|
|||
{{#hasinstructions}} |
|||
<div class="row justify-content-center mt-3"> |
|||
<div class="col-xl-6 col-sm-8"> |
|||
<div class="card"> |
|||
<div class="card-body"> |
|||
<div class="card-title"> |
|||
<h2>{{#str}}firsttime{{/str}}</h2> |
|||
</div> |
|||
<div> |
|||
{{{instructions}}} |
|||
{{#cansignup}} |
|||
<form class="mt-3" action="{{signupurl}}" method="get" id="signup"> |
|||
<button type="submit" class="btn btn-secondary">{{#str}}startsignup{{/str}}</button> |
|||
</form> |
|||
{{/cansignup}} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
{{/hasinstructions}} |
|||
|
|||
{{#js}} |
|||
{{#error}} |
|||
require(['jquery'], function($) { |
|||
$('#loginerrormessage').focus(); |
|||
}); |
|||
{{/error}} |
|||
{{^error}} |
|||
{{#autofocusform}} |
|||
require(['jquery'], function($) { |
|||
if ($('#username').val()) { |
|||
$('#password').focus(); |
|||
} else { |
|||
$('#username').focus(); |
|||
} |
|||
}); |
|||
{{/autofocusform}} |
|||
{{/error}} |
|||
{{/js}} |
@ -1,67 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/modal |
|||
|
|||
Moodle modal template. |
|||
|
|||
The purpose of this template is to render a modal |
|||
|
|||
Classes required for JS: |
|||
* none |
|||
|
|||
Data attributes required for JS: |
|||
* none |
|||
|
|||
Context variables required for this template: |
|||
* title A cleaned string (use clean_text()) to display. |
|||
* body HTML content for the boday |
|||
* footer HTML content for the footer |
|||
|
|||
Example context (json): |
|||
{ |
|||
"title": "Example modal", |
|||
"body": "Some example content for the body", |
|||
"footer": "Footer text, right here!" |
|||
} |
|||
}} |
|||
|
|||
<div class="modal moodle-has-zindex" data-region="modal-container" aria-hidden="true" role="dialog"> |
|||
<div class="modal-dialog {{$classes}}{{/classes}}" role="document" data-region="modal" aria-labelledby="{{uniqid}}-modal-title" tabindex="0"> |
|||
<div class="modal-content"> |
|||
<div class="modal-header {{$headerclasses}}{{headerclasses}}{{/headerclasses}}" data-region="header"> |
|||
|
|||
{{$header}} |
|||
<h5 id="{{uniqid}}-modal-title" class="modal-title" data-region="title">{{$title}}{{title}}{{/title}}</h5> |
|||
{{/header}} |
|||
<button type="button" class="close" data-action="hide" aria-label={{#quote}}{{#str}}closebuttontitle{{/str}}{{/quote}}> |
|||
<span aria-hidden="true">×</span> |
|||
</button> |
|||
</div> |
|||
<div class="modal-body" data-region="body"> |
|||
{{$body}} |
|||
{{{body}}} |
|||
{{/body}} |
|||
</div> |
|||
<div class="modal-footer" data-region="footer"> |
|||
{{$footer}} |
|||
{{{footer}}} |
|||
{{/footer}} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
@ -1,36 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/modal_backdrop |
|||
|
|||
Moodle modal backdrop template. |
|||
|
|||
The purpose of this template is to render a modal |
|||
|
|||
Classes required for JS: |
|||
* none |
|||
|
|||
Data attributes required for JS: |
|||
* none |
|||
|
|||
Context variables required for this template: |
|||
* none |
|||
|
|||
Example context (json): |
|||
{} |
|||
}} |
|||
<div class="modal-backdrop in hide" aria-hidden="true" data-region="modal-backdrop"></div> |
@ -1,79 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/navbar |
|||
|
|||
Navbar template. |
|||
|
|||
Classes required for JS: |
|||
* none |
|||
|
|||
Data attributes required for JS: |
|||
* none |
|||
|
|||
Context variables required for this template: |
|||
* get_items - array of items |
|||
* has_action - boolean |
|||
* action - string |
|||
* get_title - string |
|||
* get_content - string |
|||
* is_hidden - boolean |
|||
|
|||
Example context (json): |
|||
{ |
|||
"get_items": [ |
|||
{ |
|||
"has_action": true, |
|||
"action": "#", |
|||
"get_title": "Test title", |
|||
"get_content": "First & fresh", |
|||
"is_hidden": false |
|||
}, |
|||
{ |
|||
"has_action": true, |
|||
"action": "#", |
|||
"get_title": "Second item & a title", |
|||
"get_content": "Second item", |
|||
"is_hidden": false |
|||
}, |
|||
{ |
|||
"has_action": false, |
|||
"get_content": "Third item", |
|||
"is_hidden": false |
|||
}, |
|||
{ |
|||
"has_action": false, |
|||
"get_content": "Fourth & last", |
|||
"is_hidden": true |
|||
} |
|||
] |
|||
} |
|||
}} |
|||
<nav role="navigation" aria-label="{{#str}}breadcrumb, access{{/str}}"> |
|||
<ol class="breadcrumb"> |
|||
{{#get_items}} |
|||
{{#has_action}} |
|||
<li class="breadcrumb-item{{#is_hidden}} dimmed_text{{/is_hidden}}"> |
|||
<a href="{{{action}}}" {{#is_last}}aria-current="page"{{/is_last}} {{#get_title}}title="{{get_title}}"{{/get_title}}>{{{get_content}}}</a> |
|||
</li> |
|||
{{/has_action}} |
|||
{{^has_action}} |
|||
<li class="breadcrumb-item{{#is_hidden}} dimmed_text{{/is_hidden}}">{{{text}}}</li> |
|||
{{/has_action}} |
|||
{{/get_items}} |
|||
</ol> |
|||
</nav> |
@ -1,44 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/notification_error |
|||
|
|||
Moodle notification template. |
|||
|
|||
The purpose of this template is to render an error notification. |
|||
|
|||
Classes required for JS: |
|||
* none |
|||
|
|||
Data attributes required for JS: |
|||
* none |
|||
|
|||
Context variables required for this template: |
|||
* message A cleaned string (use clean_text()) to display. |
|||
* extraclasses Additional classes to apply to the notification. |
|||
* closebutton Whether a close button should be displayed to dismiss the message. |
|||
* announce Whether the notification should be announced to screen readers. |
|||
|
|||
Example context (json): |
|||
{ "message": "Your pants are on fire!", "closebutton": 1, "announce": 1, "extraclasses": "foo bar"} |
|||
}} |
|||
<div class="alert alert-danger alert-block fade in {{ extraclasses }}" {{! |
|||
}}{{# announce }} role="alert" data-aria-autofocus="true"{{/ announce }}{{! |
|||
}}> |
|||
{{# closebutton }}<button type="button" class="close" data-dismiss="alert">×</button>{{/ closebutton }} |
|||
{{{ message }}} |
|||
</div> |
@ -1,45 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/notification_info |
|||
|
|||
Moodle notification template. |
|||
|
|||
The purpose of this template is to render an info notification. |
|||
|
|||
Classes required for JS: |
|||
* none |
|||
|
|||
Data attributes required for JS: |
|||
* none |
|||
|
|||
Context variables required for this template: |
|||
* message A cleaned string (use clean_text()) to display. |
|||
* extraclasses Additional classes to apply to the notification. |
|||
* closebutton Whether a close button should be displayed to dismiss the message. |
|||
* announce Whether the notification should be announced to screen readers. |
|||
|
|||
Example context (json): |
|||
{ "message": "Your pants are on fire!", "closebutton": 1, "announce": 1, "extraclasses": "foo bar"} |
|||
}} |
|||
<div class="alert alert-info alert-block fade in {{ extraclasses }}" {{! |
|||
}}{{# announce }} role="alert" data-aria-autofocus="true"{{/ announce }}{{! |
|||
}}> |
|||
{{# closebutton }}<button type="button" class="close" data-dismiss="alert">×</button>{{/ closebutton }} |
|||
{{{ message }}} |
|||
</div> |
|||
|
@ -1,44 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/notification_success |
|||
|
|||
Moodle notification template. |
|||
|
|||
The purpose of this template is to render a success notification. |
|||
|
|||
Classes required for JS: |
|||
* none |
|||
|
|||
Data attributes required for JS: |
|||
* none |
|||
|
|||
Context variables required for this template: |
|||
* message A cleaned string (use clean_text()) to display. |
|||
* extraclasses Additional classes to apply to the notification. |
|||
* closebutton Whether a close button should be displayed to dismiss the message. |
|||
* announce Whether the notification should be announced to screen readers. |
|||
|
|||
Example context (json): |
|||
{ "message": "Your pants are on fire!", "closebutton": 1, "announce": 1, "extraclasses": "foo bar"} |
|||
}} |
|||
<div class="alert alert-success alert-block fade in {{ extraclasses }}" {{! |
|||
}}{{# announce }} role="alert" data-aria-autofocus="true"{{/ announce }}{{! |
|||
}}> |
|||
{{# closebutton }}<button type="button" class="close" data-dismiss="alert">×</button>{{/ closebutton }} |
|||
{{{ message }}} |
|||
</div> |
@ -1,44 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/notification_warning |
|||
|
|||
Moodle notification template. |
|||
|
|||
The purpose of this template is to render a warning notification. |
|||
|
|||
Classes required for JS: |
|||
* none |
|||
|
|||
Data attributes required for JS: |
|||
* none |
|||
|
|||
Context variables required for this template: |
|||
* message A cleaned string (use clean_text()) to display. |
|||
* extraclasses Additional classes to apply to the notification. |
|||
* closebutton Whether a close button should be displayed to dismiss the message. |
|||
* announce Whether the notification should be announced to screen readers. |
|||
|
|||
Example context (json): |
|||
{ "message": "Your pants are on fire!", "closebutton": 1, "announce": 1, "extraclasses": "foo bar"} |
|||
}} |
|||
<div class="alert alert-warning alert-block fade in {{ extraclasses }}" {{! |
|||
}}{{# announce }} role="alert" data-aria-autofocus="true"{{/ announce }}{{! |
|||
}}> |
|||
{{# closebutton }}<button type="button" class="close" data-dismiss="alert">×</button>{{/ closebutton }} |
|||
{{{ message }}} |
|||
</div> |
@ -1,17 +0,0 @@ |
|||
|
|||
<div class="row"> |
|||
{{#groups}} |
|||
<div class="col-md-4"> |
|||
<div class="card mb-3"> |
|||
<div class="card-body"> |
|||
<h4 class="card-title">{{title}}</h4> |
|||
<div class="card-text"> |
|||
{{#nodes}} |
|||
<div><a {{#get_title}}title="{{get_title}}"{{/get_title}} href="{{{action}}}">{{get_content}}</a></div> |
|||
{{/nodes}} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
{{/groups}} |
|||
</div> |
@ -1,64 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/progress_bar |
|||
|
|||
Progress bar. |
|||
|
|||
Example context (json): |
|||
{ |
|||
"id": "progressbar_test", |
|||
"width": "500" |
|||
} |
|||
}} |
|||
<div id="{{id}}" class="row progressbar_container"> |
|||
<div class="col-md-6 push-md-3"> |
|||
<p id="{{id}}_status" class="text-xs-center"></p> |
|||
<progress id="{{id}}_bar" class="progress progress-striped progress-animated" value="0" max="100"></progress> |
|||
<p id="{{id}}_estimate" class="text-xs-center"></p> |
|||
</div> |
|||
</div> |
|||
|
|||
{{! We must not use the JS helper otherwise this gets executed too late. }} |
|||
<script type="text/javascript"> |
|||
(function() { |
|||
var el = document.getElementById('{{id}}'), |
|||
progressBar = document.getElementById('{{id}}_bar'), |
|||
statusIndicator = document.getElementById('{{id}}_status'), |
|||
estimateIndicator = document.getElementById('{{id}}_estimate'); |
|||
|
|||
el.addEventListener('update', function(e) { |
|||
var msg = e.detail.message, |
|||
percent = e.detail.percent, |
|||
estimate = e.detail.estimate; |
|||
|
|||
statusIndicator.textContent = msg; |
|||
progressBar.setAttribute('value', Math.round(percent)); |
|||
if (percent === 100) { |
|||
progressBar.classList.add('progress-success'); |
|||
estimateIndicator.textContent = '100%'; |
|||
} else { |
|||
if (estimate) { |
|||
estimateIndicator.textContent = estimate + ' - ' + percent + '%'; |
|||
} else { |
|||
estimateIndicator.textContent = '' + percent + '%'; |
|||
} |
|||
progressBar.classList.remove('progress-success'); |
|||
} |
|||
}); |
|||
})(); |
|||
</script> |
@ -1,38 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/select_time |
|||
|
|||
Select time. |
|||
|
|||
Example context (json): |
|||
{ |
|||
"id": "test-id", |
|||
"name": "test-name", |
|||
"label": "Test label", |
|||
"options": [ |
|||
{"name": "Option 1", "value": "1"}, |
|||
{"name": "Option 2", "value": "2"} |
|||
] |
|||
} |
|||
}} |
|||
<label for="{{id}}" class="sr-only">{{label}}</label> |
|||
<select name="{{name}}" id="{{id}}"{{#attributes}} {{name}}="{{value}}"{{/attributes}} class="form-control"> |
|||
{{#options}} |
|||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option> |
|||
{{/options}} |
|||
</select> |
@ -1,147 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/settings_link_page |
|||
|
|||
Displays the admin tree as a list of grouped links. |
|||
|
|||
Example context (json): |
|||
{ |
|||
"node": { |
|||
"text": "Root of menu", |
|||
"key": "test0", |
|||
"display": true, |
|||
"children": [ |
|||
{ |
|||
"text": "Child of menu", |
|||
"key": "test1", |
|||
"display": true, |
|||
"children": [] |
|||
} |
|||
] |
|||
} |
|||
} |
|||
}} |
|||
|
|||
<ul class="nav nav-tabs" role="tablist"> |
|||
<!-- First the top most node and immediate children --> |
|||
<li class="nav-item"> |
|||
<a class="nav-link active" href="#link{{node.key}}" data-toggle="tab" role="tab">{{node.text}}</a> |
|||
</li> |
|||
<!-- Now the first level children with sub nodes --> |
|||
{{#node.children}} |
|||
{{#children.count}} |
|||
{{#display}} |
|||
{{^is_short_branch}} |
|||
<li class="nav-item"> |
|||
<a class="nav-link" href="#link{{key}}" data-toggle="tab" role="tab">{{text}}</a> |
|||
</li> |
|||
{{/is_short_branch}} |
|||
{{/display}} |
|||
{{/children.count}} |
|||
{{/node.children}} |
|||
</ul> |
|||
|
|||
<div class="tab-content mt-3"> |
|||
<div class="tab-pane active" id="link{{node.key}}" role="tabpanel"> |
|||
<div class="container"> |
|||
<div class="row"> |
|||
<div class="col-sm-3"> |
|||
</div> |
|||
<div class="col"> |
|||
<ul class="list-unstyled"> |
|||
{{#node.children}} |
|||
{{^children.count}} |
|||
{{#display}} |
|||
<li><a href="{{{action}}}">{{text}}</a></li> |
|||
{{/display}} |
|||
{{/children.count}} |
|||
{{/node.children}} |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
|
|||
{{#node.children}} |
|||
{{#display}} |
|||
{{#children.count}} |
|||
{{#is_short_branch}} |
|||
<hr> |
|||
<div class="row"> |
|||
<div class="col-sm-3"> |
|||
{{#action}}<h4><a href="{{action}}">{{text}}</a><h4>{{/action}} |
|||
{{^action}}<h4>{{text}}<h4>{{/action}} |
|||
</div> |
|||
<div class="col"> |
|||
<ul class="list-unstyled"> |
|||
{{#children}} |
|||
{{> core/settings_link_page_single }} |
|||
{{/children}} |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
{{/is_short_branch}} |
|||
{{/children.count}} |
|||
{{/display}} |
|||
{{/node.children}} |
|||
</div> |
|||
</div> |
|||
{{#node.children}} |
|||
{{#children.count}} |
|||
<div class="tab-pane" id="link{{key}}" role="tabpanel"> |
|||
<div class="container"> |
|||
<div class="row"> |
|||
<div class="col-sm-3"> |
|||
{{#action}}<h4><a href="{{action}}">{{text}}</a><h4>{{/action}} |
|||
{{^action}}<h4>{{text}}<h4>{{/action}} |
|||
</div> |
|||
<div class="col-sm-9"> |
|||
<ul class="list-unstyled"> |
|||
{{#children}} |
|||
{{#display}} |
|||
{{^children.count}} |
|||
<li><a href="{{{action}}}">{{text}}</a></li> |
|||
{{/children.count}} |
|||
{{/display}} |
|||
{{/children}} |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
{{#children}} |
|||
{{#display}} |
|||
{{#children.count}} |
|||
<hr> |
|||
<div class="row"> |
|||
<div class="col-sm-3"> |
|||
{{#action}}<h4><a href="{{action}}">{{text}}</a><h4>{{/action}} |
|||
{{^action}}<h4>{{text}}<h4>{{/action}} |
|||
</div> |
|||
<div class="col-sm-9"> |
|||
<ul class="list-unstyled"> |
|||
{{#children}} |
|||
{{> core/settings_link_page_single }} |
|||
{{/children}} |
|||
</ul> |
|||
</div> |
|||
</div> |
|||
{{/children.count}} |
|||
{{/display}} |
|||
{{/children}} |
|||
</div> |
|||
</div> |
|||
{{/children.count}} |
|||
{{/node.children}} |
|||
</div> |
@ -1,46 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/settings_link_page_single |
|||
|
|||
Displays the admin tree as a list of grouped links. |
|||
|
|||
Example context (json): |
|||
{ |
|||
"text": "Root of menu", |
|||
"key": "test0", |
|||
"display": true, |
|||
"children": [] |
|||
} |
|||
}} |
|||
{{#display}} |
|||
{{#action}} |
|||
<li><a href="{{{action}}}">{{text}}</a></li> |
|||
{{/action}} |
|||
{{^action}} |
|||
<li><strong>{{text}}</strong></li> |
|||
{{/action}} |
|||
{{#children.count}} |
|||
<li> |
|||
<ul class="list-unstyled ml-2"> |
|||
{{#children}} |
|||
{{> core/settings_link_page_single }} |
|||
{{/children}} |
|||
</ul> |
|||
</li> |
|||
{{/children.count}} |
|||
{{/display}} |
@ -1,33 +0,0 @@ |
|||
{{! |
|||
@template core/signup_form_layout |
|||
|
|||
Example context (json): |
|||
{ |
|||
"logourl": "https://moodle.org/logo/moodle-logo.svg", |
|||
"sitename": "Site name", |
|||
"formhtml": "<p>(Form html would go here)</p>" |
|||
} |
|||
}} |
|||
<div class="container-fluid mt-1 mt-md-5"> |
|||
<div class="row justify-content-md-center"> |
|||
<div class="col-md-8 col-xl-6"> |
|||
<div class="card"> |
|||
<div class="card-body"> |
|||
<div class="card-title text-xs-center"> |
|||
{{#logourl}} |
|||
<h2><img src="{{logourl}}" class="img-fluid" title="{{sitename}}" alt="{{sitename}}"/></h2> |
|||
{{/logourl}} |
|||
{{^logourl}} |
|||
<h2>{{sitename}}</h2> |
|||
{{/logourl}} |
|||
<hr> |
|||
</div> |
|||
<div class="card-title"> |
|||
<h3>{{#str}}newaccount{{/str}}</h3> |
|||
</div> |
|||
{{{formhtml}}} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
@ -1,61 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/single_button |
|||
|
|||
Moodle template for a single button submit form. |
|||
|
|||
Classes required for JS: |
|||
* none |
|||
|
|||
Data attributes required for JS: |
|||
* none |
|||
|
|||
Context variables required for this template: |
|||
* classes - a list of classes to wrap the form. |
|||
* method - get or post |
|||
* url - the action url to submit to |
|||
* formid - optional id value for the form |
|||
* params - array of params with name and value attributes |
|||
* primary - true if this is a primary action button |
|||
* id - id for the element |
|||
* tooltip - tooltip text for the button |
|||
* disabled - true if this element is disabled |
|||
* label - text to show on the button |
|||
|
|||
Example context (json): |
|||
{ "method" : "get", |
|||
"url" : "#", |
|||
"primary" : true, |
|||
"tooltip" : "This is a tooltip", |
|||
"label" : "This is a the button text" |
|||
} |
|||
}} |
|||
<div class="{{classes}}"> |
|||
<form method="{{method}}" action="{{url}}" {{#formid}}id="{{formid}}"{{/formid}}> |
|||
{{#params}} |
|||
<input type="hidden" name="{{name}}" value="{{value}}"> |
|||
{{/params}} |
|||
<button type="submit" class="btn {{#primary}}btn-primary{{/primary}}{{^primary}}btn-secondary{{/primary}}" |
|||
id="{{id}}" |
|||
title={{#quote}}{{tooltip}}{{/quote}} |
|||
{{#disabled}}disabled{{/disabled}}>{{label}}</button> |
|||
</form> |
|||
</div> |
|||
{{#hasactions}} |
|||
{{> core/actions }} |
|||
{{/hasactions}} |
@ -1,16 +0,0 @@ |
|||
{{! |
|||
@template core/skip_links |
|||
|
|||
Example context (json): |
|||
{ |
|||
"links": [ |
|||
{"url": "http://example.com/link1", "text": "Link 1"}, |
|||
{"url": "http://example.com/link2", "text": "Link 2"} |
|||
] |
|||
} |
|||
}} |
|||
<div> |
|||
{{#links}} |
|||
<a class="sr-only sr-only-focusable" href="#{{{url}}}">{{{text}}}</a> |
|||
{{/links}} |
|||
</div> |
@ -1,44 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core/tabtree |
|||
|
|||
Tab tree. |
|||
|
|||
Example context (json): |
|||
{ |
|||
"tabs": [{ |
|||
"active": "true", |
|||
"inactive": "false", |
|||
"link": [{ |
|||
"link": "http://moodle.org" |
|||
}], |
|||
"title": "Moodle.org", |
|||
"text": "Moodle community" |
|||
}] |
|||
} |
|||
}} |
|||
<ul class="nav nav-tabs mb-3"> |
|||
{{#tabs}} |
|||
<li class="nav-item"> |
|||
<a class="nav-link{{#active}} active{{/active}}{{#inactive}} disabled{{/inactive}}" {{#link}}href="{{{link}}}"{{/link}} title="{{title}}">{{{text}}}</a> |
|||
</li> |
|||
{{/tabs}} |
|||
</ul> |
|||
{{#secondrow}} |
|||
{{>core/tabtree}} |
|||
{{/secondrow}} |
@ -1,43 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
Setting. |
|||
}} |
|||
<div class="form-item row" id="{{id}}"> |
|||
<div class="form-label col-sm-3 text-sm-right"> |
|||
<label {{#labelfor}}for="{{labelfor}}"{{/labelfor}}> |
|||
{{{title}}} |
|||
{{#override}} |
|||
<div class="form-overridden">{{override}}</div> |
|||
{{/override}} |
|||
{{#warning}} |
|||
<div class="form-warning">{{warning}}</div> |
|||
{{/warning}} |
|||
</label> |
|||
<span class="form-shortname d-block small text-muted">{{{name}}}</span> |
|||
</div> |
|||
<div class="form-setting col-sm-9"> |
|||
{{#error}} |
|||
<div><span class="error">{{error}}</span></div> |
|||
{{/error}} |
|||
{{{element}}} |
|||
{{#default}} |
|||
<div class="form-defaultinfo text-muted {{#forceltr}}text-ltr{{/forceltr}}">{{{default}}}</div> |
|||
{{/default}} |
|||
<div class="form-description mt-3">{{{description}}}</div> |
|||
</div> |
|||
</div> |
@ -1,30 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
Setting configcolourpicker. |
|||
}} |
|||
<div class="form-colourpicker defaultsnext"> |
|||
<div class="admin_colourpicker clearfix"> |
|||
{{#icon}} |
|||
{{>core/pix_icon}} |
|||
{{/icon}} |
|||
</div> |
|||
<input type="text" name="{{name}}" id="{{id}}" value="{{value}}" size="12" class="form-control text-ltr"> |
|||
{{#haspreviewconfig}} |
|||
<input type="button" id="{{id}}_preview" value={{#quote}}{{#str}}preview{{/str}}{{/quote}} class="admin_colourpicker_preview"> |
|||
{{/haspreviewconfig}} |
|||
</div> |
@ -1,31 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
Setting configduration. |
|||
}} |
|||
<div class="form-duration defaultsnext"> |
|||
<div class="form-inline"> |
|||
<input type="text" size="5" id="{{id}}v" name="{{name}}[v]" value="{{value}}" class="form-control text-ltr"> |
|||
<label class="sr-only" for="{{id}}u">{{#str}}durationunits, admin{{/str}}</label> |
|||
<select id="{{id}}u" name="{{name}}[u]" class="form-control"> |
|||
{{#options}} |
|||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option> |
|||
{{/options}} |
|||
</select> |
|||
</div> |
|||
</div> |
|||
|
@ -1,33 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
Setting configfile. |
|||
}} |
|||
<div class="form-file defaultsnext"> |
|||
<div class="form-inline"> |
|||
<input type="text" name="{{name}}" id="{{id}}" size="{{size}}" value="{{value}}" class="form-control text-ltr" {{#readonly}}readonly{{/readonly}}> |
|||
{{#showvalidity}} |
|||
{{#valid}} |
|||
<span class="text-success">✔</span> |
|||
{{/valid}} |
|||
{{^valid}} |
|||
<span class="text-danger">✘</span> |
|||
{{/valid}} |
|||
{{/showvalidity}} |
|||
</div> |
|||
</div> |
|||
|
@ -1,28 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
Setting configmultiselect. |
|||
}} |
|||
<div class="form-select"> |
|||
<input type="hidden" name="{{name}}[xxxxx]" value="1"> |
|||
<select id="{{id}}" name="{{name}}[]" size="{{size}}" class="form-control" multiple> |
|||
{{#options}} |
|||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option> |
|||
{{/options}} |
|||
</select> |
|||
</div> |
|||
|
@ -1,35 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
Setting configmultiselect with optgroup support. |
|||
}} |
|||
<div class="form-select"> |
|||
<input type="hidden" name="{{name}}[xxxxx]" value="1"> |
|||
<select id="{{id}}" name="{{name}}[]" size="{{size}}" class="form-control" multiple> |
|||
{{#options}} |
|||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option> |
|||
{{/options}} |
|||
{{#optgroups}} |
|||
<optgroup label="{{label}}"> |
|||
{{#options}} |
|||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option> |
|||
{{/options}} |
|||
</optgroup> |
|||
{{/optgroups}} |
|||
</select> |
|||
</div> |
|||
|
@ -1,27 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
Setting configselect. |
|||
}} |
|||
<div class="form-select defaultsnext"> |
|||
<select id="{{id}}" name="{{name}}" class="custom-select"> |
|||
{{#options}} |
|||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option> |
|||
{{/options}} |
|||
</select> |
|||
</div> |
|||
|
@ -1,35 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
Setting configselect with optgroup support. |
|||
}} |
|||
<div class="form-select defaultsnext"> |
|||
<select id="{{id}}" name="{{name}}" class="custom-select"> |
|||
{{#options}} |
|||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option> |
|||
{{/options}} |
|||
{{#optgroups}} |
|||
<optgroup label="{{label}}"> |
|||
{{#options}} |
|||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option> |
|||
{{/options}} |
|||
</optgroup> |
|||
{{/optgroups}} |
|||
</select> |
|||
</div> |
|||
|
|||
|
@ -1,22 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
Setting configtext. |
|||
}} |
|||
<div class="form-text defaultsnext"> |
|||
<input type="text" name="{{name}}" value="{{value}}" size="{{size}}" id="{{id}}" class="form-control {{#forceltr}}text-ltr{{/forceltr}}"> |
|||
</div> |
@ -1,22 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
Setting configtextarea. |
|||
}} |
|||
<div class="form-textarea"> |
|||
<textarea rows="{{rows}}" cols="{{cols}}" id="{{id}}" name="{{name}}" spellcheck="true" class="form-control {{#forceltr}}text-ltr{{/forceltr}}">{{value}}</textarea> |
|||
</div> |
@ -1,36 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
Setting configtime. |
|||
}} |
|||
<div class="form-time defaultsnext"> |
|||
<div class="form-inline text-ltr"> |
|||
<label class="sr-only" for="{{id}}h">{{#str}}hours{{/str}}</label> |
|||
<select id="{{id}}h" name="{{name}}[h]" class="custom-select"> |
|||
{{#hours}} |
|||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option> |
|||
{{/hours}} |
|||
</select>: |
|||
<label class="sr-only" for="{{id}}m">{{#str}}minutes{{/str}}</label> |
|||
<select id="{{id}}m" name="{{name}}[m]" class="custom-select"> |
|||
{{#minutes}} |
|||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option> |
|||
{{/minutes}} |
|||
</select> |
|||
</div> |
|||
</div> |
|||
|
@ -1,29 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
Setting courselist_frontpage. |
|||
}} |
|||
<div class="form-group"> |
|||
{{#selects}} |
|||
<select id="{{id}}{{key}}" name="{{name}}[]" class="custom-select"> |
|||
{{#options}} |
|||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option> |
|||
{{/options}} |
|||
</select> |
|||
<br> |
|||
{{/selects}} |
|||
</div> |
@ -1,46 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core_admin/setting_description |
|||
|
|||
Admin setting description template. |
|||
|
|||
Context variables required for this template: |
|||
* labelfor - id of the form element |
|||
* title - Setting title |
|||
* name - Setting name |
|||
|
|||
Example context (json): |
|||
{ |
|||
"title": "Setting title", |
|||
"name": "Name", |
|||
"description": "Description goes here" |
|||
} |
|||
}} |
|||
{{! |
|||
Setting description. |
|||
}} |
|||
<div class="form-item row"> |
|||
<div class="form-label col-sm-3 text-sm-right"> |
|||
<label> |
|||
{{{title}}} |
|||
</label> |
|||
</div> |
|||
<div class="form-setting col-sm-9"> |
|||
<div class="form-description">{{{description}}}</div> |
|||
</div> |
|||
</div> |
@ -1,39 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
Setting devicedetectregex. |
|||
}} |
|||
<table class="table table-striped"> |
|||
<thead> |
|||
<tr> |
|||
<th>{{#str}}devicedetectregexexpression, admin{{/str}}</th> |
|||
<th>{{#str}}devicedetectregexvalue, admin{{/str}}</th> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
{{#expressions}} |
|||
<tr> |
|||
<td class="c{{index}}"> |
|||
<input type="text" name="{{name}}[expression{{index}}]" class="form-control" value="{{expression}}"> |
|||
</td> |
|||
<td class="c{{index}}"> |
|||
<input type="text" name="{{name}}[value{{index}}]" class="form-control" value="{{value}}"> |
|||
</td> |
|||
</tr> |
|||
{{/expressions}} |
|||
</tbody> |
|||
</table> |
@ -1,51 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
Setting emoticons. |
|||
}} |
|||
<div class="form-group"> |
|||
<table id="emoticonsetting" class="admintable generaltable"> |
|||
<thead> |
|||
<tr> |
|||
<th>{{#str}}emoticontext, admin{{/str}}</th> |
|||
<th>{{#str}}emoticonimagename, admin{{/str}}</th> |
|||
<th>{{#str}}emoticoncomponent, admin{{/str}}</th> |
|||
<th colspan="2">{{#str}}emoticonalt, admin{{/str}}</th> |
|||
<th></th> |
|||
</tr> |
|||
</thead> |
|||
<tbody> |
|||
{{#emoticons}} |
|||
<tr> |
|||
{{#fields}} |
|||
<td class="c{{index}}"> |
|||
<input type="text" name="{{name}}[{{field}}]" class="form-text form-control text-ltr" value="{{value}}"> |
|||
</td> |
|||
{{/fields}} |
|||
<td> |
|||
{{#icon}} |
|||
{{>core/pix_icon}} |
|||
{{/icon}} |
|||
</td> |
|||
</tr> |
|||
{{/emoticons}} |
|||
</tbody> |
|||
</table> |
|||
</div> |
|||
<div> |
|||
<a href="{{reseturl}}">{{#str}}emoticonsreset, admin{{/str}}</a> |
|||
</div> |
@ -1,31 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
Setting configselect. |
|||
}} |
|||
<div class="form-group"> |
|||
<select id="{{id}}" name="{{name}}[value]" class="form-select custom-select"> |
|||
{{#options}} |
|||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option> |
|||
{{/options}} |
|||
</select> |
|||
<input type="checkbox" id="{{id}}force" name="{{name}}[forced]" value="1" {{#forced}}checked{{/forced}}> |
|||
<label for="{{id}}force">{{#str}}force{{/str}}</label> |
|||
<input type="checkbox" id="{{id}}adv" name="{{name}}[adv]" value="1" {{#advanced}}checked{{/advanced}}> |
|||
<label for="{{id}}adv">{{#str}}advanced{{/str}}</label> |
|||
</div> |
|||
|
@ -1,40 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
Settings. |
|||
}} |
|||
<form action="{{actionurl}}" method="post" id="adminsettings"> |
|||
<div class="settingsform"> |
|||
{{#params}} |
|||
<input type="hidden" name="{{name}}" value="{{value}}"> |
|||
<input type="hidden" name="action" value="save-settings"> |
|||
{{/params}} |
|||
<input type="hidden" name="sesskey" value="{{sesskey}}"> |
|||
<input type="hidden" name="return" value="{{return}}"> |
|||
{{#title}} |
|||
<h2>{{title}}</h2> |
|||
{{/title}} |
|||
{{{settings}}} |
|||
{{#showsave}} |
|||
<div class="row"> |
|||
<div class="offset-sm-3 col-sm-3"> |
|||
<button type="submit" class="btn btn-primary">{{#str}}savechanges, admin{{/str}}</button> |
|||
</div> |
|||
</div> |
|||
{{/showsave}} |
|||
</div> |
|||
</form> |
@ -1,72 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core_admin/settings_search_results |
|||
|
|||
Admin setting search results template. |
|||
|
|||
Context variables required for this template: |
|||
* actionurl - Url to post to |
|||
* hasresults - True if there are results |
|||
* results - List of results containing url, title, path (array of strings), settings (array of raw html) |
|||
* showsave - Show save buttons |
|||
|
|||
Example context (json): |
|||
{ |
|||
"actionurl": "/", |
|||
"hasresults": true, |
|||
"results": [ |
|||
{ "url": "/", "title": "Match!", "path": ["Administration", "Match!"], "settings": [ "blah blah blah" ] } |
|||
] |
|||
} |
|||
}} |
|||
<form action="{{actionurl}}" method="post" id="adminsettings"> |
|||
<div> |
|||
<input type="hidden" name="sesskey" value="{{sesskey}}"> |
|||
<input type="hidden" name="action" value="save-settings"> |
|||
</div> |
|||
<fieldset> |
|||
<div class="clearer"></div> |
|||
<h2 class="main">{{#str}}searchresults, admin{{/str}}</h2> |
|||
{{#hasresults}} |
|||
{{#results}} |
|||
<h3 class="adminpagetitle"><a href="{{url}}">{{{title}}}</a></h3> |
|||
<ul class="adminpagepath" aria-label="{{#str}} pagepath, core {{/str}}"> |
|||
{{#path}} |
|||
<li>{{.}}</li> |
|||
{{/path}} |
|||
</ul> |
|||
<fieldset class="adminsettings"> |
|||
{{#settings}} |
|||
<div class="clearer"></div> |
|||
{{{.}}} |
|||
{{/settings}} |
|||
</fieldset> |
|||
{{/results}} |
|||
{{#showsave}} |
|||
<div class="row"> |
|||
<div class="offset-sm-3 col-sm-3"> |
|||
<button type="submit" class="btn btn-primary">{{#str}}savechanges, admin{{/str}}</button> |
|||
</div> |
|||
</div> |
|||
{{/showsave}} |
|||
{{/hasresults}} |
|||
{{^hasresults}} |
|||
{{#str}}noresults, admin{{/str}} |
|||
{{/hasresults}} |
|||
</fieldset> |
|||
</form> |
@ -1,64 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core_calendar/minicalendar_day_link |
|||
|
|||
Displays link to calendar day in mini calendar, with hover tooltip. |
|||
|
|||
Example context (json): |
|||
{ |
|||
"day": "Today", |
|||
"url": "http://example.com/", |
|||
"title": "Monday 2nd January", |
|||
"content": "<img class='icon smallicon' src='../../../pix/i/siteevent.svg'>Test site event" |
|||
} |
|||
}} |
|||
<a {{! |
|||
}} id="calendar-day-popover-link-{{courseid}}-{{year}}-{{yday}}-{{uniqid}}"{{! |
|||
}} href="{{$url}}{{url}}{{/url}}"{{! |
|||
}} data-container="body"{{! |
|||
}} data-toggle="popover"{{! |
|||
}} data-html="true"{{! |
|||
}} data-trigger="hover"{{! |
|||
}} data-placement="top"{{! |
|||
}} data-title="{{$title}}{{title}}{{/title}}"{{! |
|||
}} data-alternate="{{$nocontent}}{{/nocontent}}"{{! |
|||
}}>{{$day}}{{day}}{{/day}}</a> |
|||
<div class="hidden"> |
|||
{{$content}}{{/content}} |
|||
</div> |
|||
{{#js}} |
|||
require(['jquery'], function($) { |
|||
require(['theme_ilb/popover'], function() { |
|||
var target = $("#calendar-day-popover-link-{{courseid}}-{{year}}-{{yday}}-{{uniqid}}"); |
|||
target.popover({ |
|||
content: function() { |
|||
var source = target.next().find("> *:not('.hidden')"); |
|||
var content = $('<div>'); |
|||
|
|||
if (source.length) { |
|||
content.html(source.clone(false)); |
|||
} else { |
|||
content.html(target.data('alternate')); |
|||
} |
|||
|
|||
return content.html(); |
|||
} |
|||
}); |
|||
}); |
|||
}); |
|||
{{/js}} |
@ -1,47 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core_form/editor_textarea |
|||
|
|||
Displays an editor field in a form. |
|||
|
|||
Example context (json): |
|||
{ |
|||
"name": "test", |
|||
"id": "test0", |
|||
"rows": 4, |
|||
"cols": 20, |
|||
"value": "Sample text", |
|||
"format": 3 |
|||
} |
|||
}} |
|||
<div> |
|||
<textarea id="{{id}}" name="{{name}}[text]" class="form-control" rows="{{rows}}" cols="{{cols}}" spellcheck="true" {{#changelistener}} onblur="{{onblur}}" |
|||
onchange="{{onchange}}" {{/changelistener}}>{{value}}</textarea> |
|||
</div> |
|||
<div> |
|||
{{#hasformats}} |
|||
<select name="{{name}}[format]" id="menu{{name}}format" class="custom-select"> |
|||
{{#formats}} |
|||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{text}}</option> |
|||
{{/formats}} |
|||
</select> |
|||
{{/hasformats}} |
|||
{{^hasformats}} |
|||
<input name="{{name}}[format]" id="menu{{name}}format" type="hidden" value="{{format}}"/> |
|||
{{/hasformats}} |
|||
</div> |
@ -1,39 +0,0 @@ |
|||
<label class="form-check-inline {{#error}}has-danger{{/error}} fitem {{#advanced}}advanced{{/advanced}} {{{element.extraclasses}}}"> |
|||
{{^element.hardfrozen}} |
|||
{{^element.frozen}} |
|||
<input type="hidden" name="{{element.name}}" value="{{element.deselectedvalue}}"> |
|||
{{/element.frozen}} |
|||
{{#element.frozen}} |
|||
<input type="hidden" name="{{element.name}}" value="{{element.frozenvalue}}"> |
|||
{{/element.frozen}} |
|||
{{/element.hardfrozen}} |
|||
<input type="checkbox" name="{{element.name}}" class="form-check-input {{element.extraclasses}}" |
|||
id="{{element.id}}" |
|||
{{#element.selectedvalue}} |
|||
value="{{element.selectedvalue}}" |
|||
{{/element.selectedvalue}} |
|||
{{#element.checked}}checked{{/element.checked}} |
|||
size="{{element.size}}" |
|||
{{#error}} |
|||
autofocus aria-describedby="id_error_{{element.name}}" |
|||
{{/error}} |
|||
{{#element.frozen}} |
|||
disabled |
|||
{{/element.frozen}} |
|||
{{{element.attributes}}} > |
|||
{{{label}}} |
|||
</label> |
|||
{{#text}} |
|||
<em>{{{.}}}</em> |
|||
{{/text}} |
|||
{{{helpbutton}}} |
|||
<span class="form-control-feedback invalid-feedback" id="id_error_{{element.name}}" {{#error}} style="display: block;"{{/error}}> |
|||
{{{error}}} |
|||
</span> |
|||
{{^element.frozen}} |
|||
{{#js}} |
|||
require(['theme_ilb/form-display-errors'], function(module) { |
|||
module.enhance({{#quote}}{{element.id}}{{/quote}}); |
|||
}); |
|||
{{/js}} |
|||
{{/element.frozen}} |
@ -1,57 +0,0 @@ |
|||
<div class="form-group row {{#error}}has-danger{{/error}} fitem {{#advanced}}advanced{{/advanced}} {{{element.extraclasses}}}"> |
|||
<div class="col-md-3"> |
|||
{{#text}} |
|||
<label for="{{element.id}}"> |
|||
{{{label}}} |
|||
</label> |
|||
{{/text}} |
|||
</div> |
|||
<div class="col-md-9 checkbox"> |
|||
<div class="form-check"> |
|||
<label> |
|||
{{^element.hardfrozen}} |
|||
{{^element.frozen}} |
|||
<input type="hidden" name="{{element.name}}" value="{{element.deselectedvalue}}"> |
|||
{{/element.frozen}} |
|||
{{#element.frozen}} |
|||
<input type="hidden" name="{{element.name}}" value="{{element.frozenvalue}}"> |
|||
{{/element.frozen}} |
|||
{{/element.hardfrozen}} |
|||
<input type="checkbox" |
|||
name="{{element.name}}" |
|||
class="form-check-input {{element.extraclasses}}" |
|||
{{#element.selectedvalue}} |
|||
value="{{element.selectedvalue}}" |
|||
{{/element.selectedvalue}} |
|||
id="{{element.id}}" {{#element.checked}}checked{{/element.checked}} |
|||
{{#error}} |
|||
autofocus aria-describedby="id_error_{{element.name}}" |
|||
{{/error}} |
|||
{{#element.frozen}} |
|||
disabled |
|||
{{/element.frozen}} |
|||
{{{element.attributes}}} > |
|||
{{#text}} |
|||
{{{.}}} |
|||
{{/text}} |
|||
{{^text}} |
|||
{{{label}}} |
|||
{{/text}} |
|||
</label> |
|||
<span class="text-nowrap"> |
|||
{{#advanced}}<abbr class="initialism text-info" title="{{#str}}advanced{{/str}}">!</abbr>{{/advanced}} |
|||
{{{helpbutton}}} |
|||
</span> |
|||
</div> |
|||
<div class="form-control-feedback invalid-feedback" id="id_error_{{element.name}}" {{#error}} style="display: block;"{{/error}}> |
|||
{{{error}}} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
{{^element.frozen}} |
|||
{{#js}} |
|||
require(['theme_ilb/form-display-errors'], function(module) { |
|||
module.enhance({{#quote}}{{element.id}}{{/quote}}); |
|||
}); |
|||
{{/js}} |
|||
{{/element.frozen}} |
@ -1,40 +0,0 @@ |
|||
{{< core_form/element-template-inline }} |
|||
{{$element}} |
|||
{{^element.frozen}} |
|||
<select class="custom-select {{#error}}is-invalid{{/error}}" name="{{element.name}}" |
|||
id="{{element.id}}" |
|||
{{#element.multiple}}multiple{{/element.multiple}} |
|||
{{#error}} |
|||
autofocus aria-describedby="id_error_{{element.name}}" |
|||
{{/error}} |
|||
{{{element.attributes}}} > |
|||
{{#element.options}} |
|||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{{text}}}</option> |
|||
{{/element.options}} |
|||
</select> |
|||
{{/element.frozen}} |
|||
{{#element.frozen}} |
|||
{{#element.options}} |
|||
{{#selected}} |
|||
{{{text}}} |
|||
{{^element.hardfrozen}} |
|||
<input type="hidden" name="{{element.name}}" value="{{value}}"> |
|||
{{/element.hardfrozen}} |
|||
{{/selected}} |
|||
{{/element.options}} |
|||
{{/element.frozen}} |
|||
{{/element}} |
|||
{{/ core_form/element-template-inline }} |
|||
{{^element.frozen}} |
|||
{{#js}} |
|||
require(['core/form-autocomplete'], function(module) { |
|||
module.enhance({{#quote}}#{{element.id}}{{/quote}}, |
|||
{{element.tags}}, |
|||
{{#quote}}{{element.ajax}}{{/quote}}, |
|||
{{#quote}}{{element.placeholder}}{{/quote}}, |
|||
{{element.casesensitive}}, |
|||
{{element.showsuggestions}}, |
|||
{{#quote}}{{element.noselectionstring}}{{/quote}}); |
|||
}); |
|||
{{/js}} |
|||
{{/element.frozen}} |
@ -1,40 +0,0 @@ |
|||
{{< core_form/element-template }} |
|||
{{$element}} |
|||
{{^element.frozen}} |
|||
<select class="custom-select {{#error}}is-invalid{{/error}}" name="{{element.name}}" |
|||
id="{{element.id}}" |
|||
{{#element.multiple}}multiple{{/element.multiple}} |
|||
{{#error}} |
|||
autofocus aria-describedby="id_error_{{element.name}}" |
|||
{{/error}} |
|||
{{{element.attributes}}} > |
|||
{{#element.options}} |
|||
<option value="{{value}}" {{#selected}}selected{{/selected}}{{#html}} data-html="{{html}}"{{/html}}>{{{text}}}</option> |
|||
{{/element.options}} |
|||
</select> |
|||
{{/element.frozen}} |
|||
{{#element.frozen}} |
|||
{{#element.options}} |
|||
{{#selected}} |
|||
{{{text}}} |
|||
{{^element.hardfrozen}} |
|||
<input type="hidden" name="{{element.name}}" value="{{value}}"> |
|||
{{/element.hardfrozen}} |
|||
{{/selected}} |
|||
{{/element.options}} |
|||
{{/element.frozen}} |
|||
{{/element}} |
|||
{{/ core_form/element-template }} |
|||
{{^element.frozen}} |
|||
{{#js}} |
|||
require(['core/form-autocomplete'], function(module) { |
|||
module.enhance({{#quote}}#{{element.id}}{{/quote}}, |
|||
{{element.tags}}, |
|||
{{#quote}}{{element.ajax}}{{/quote}}, |
|||
{{#quote}}{{element.placeholder}}{{/quote}}, |
|||
{{element.casesensitive}}, |
|||
{{element.showsuggestions}}, |
|||
{{#quote}}{{element.noselectionstring}}{{/quote}}); |
|||
}); |
|||
{{/js}} |
|||
{{/element.frozen}} |
@ -1,18 +0,0 @@ |
|||
{{< core_form/element-template-inline }} |
|||
{{$element}} |
|||
{{^element.frozen}} |
|||
<button |
|||
class="btn btn-secondary" |
|||
name="{{element.name}}" |
|||
id="{{element.id}}" |
|||
type="button" |
|||
{{#error}} |
|||
autofocus aria-describedby="id_error_{{element.name}}" |
|||
{{/error}} |
|||
{{{element.attributes}}} |
|||
> |
|||
{{{element.value}}} |
|||
</button> |
|||
{{/element.frozen}} |
|||
{{/element}} |
|||
{{/ core_form/element-template-inline }} |
@ -1,17 +0,0 @@ |
|||
{{< core_form/element-template }} |
|||
{{$element}} |
|||
{{^element.frozen}} |
|||
<button |
|||
class="btn btn-secondary ml-0" |
|||
name="{{element.name}}" |
|||
id="{{element.id}}" |
|||
type="button" |
|||
{{#error}} |
|||
autofocus aria-describedby="id_error_{{element.name}}" |
|||
{{/error}} |
|||
{{{element.attributes}}}> |
|||
{{{element.value}}} |
|||
</button> |
|||
{{/element.frozen}} |
|||
{{/element}} |
|||
{{/ core_form/element-template }} |
@ -1,39 +0,0 @@ |
|||
<label class="form-check {{#error}}has-danger{{/error}} fitem {{#advanced}}advanced{{/advanced}} {{{element.extraclasses}}}"> |
|||
{{^element.hardfrozen}} |
|||
{{#element.frozen}} |
|||
<input type="hidden" name="{{element.name}}" value="{{element.frozenvalue}}"> |
|||
{{/element.frozen}} |
|||
{{/element.hardfrozen}} |
|||
<input type="checkbox" name="{{element.name}}" class="form-check-input {{element.extraclasses}}" |
|||
id="{{element.id}}" |
|||
{{#element.value}} |
|||
value="{{element.value}}" |
|||
{{/element.value}} |
|||
{{^element.value}} |
|||
value="1" |
|||
{{/element.value}} |
|||
{{#element.checked}}checked{{/element.checked}} |
|||
size="{{element.size}}" |
|||
{{#error}} |
|||
autofocus aria-describedby="id_error_{{element.name}}" |
|||
{{/error}} |
|||
{{#element.frozen}} |
|||
disabled |
|||
{{/element.frozen}} |
|||
{{{element.attributes}}} > |
|||
{{{label}}} |
|||
</label> |
|||
{{#text}} |
|||
<em>{{{.}}}</em> |
|||
{{/text}} |
|||
{{{helpbutton}}} |
|||
<span class="form-control-feedback invalid-feedback" id="id_error_{{element.name}}" {{#error}} style="display: block;"{{/error}}> |
|||
{{{error}}} |
|||
</span> |
|||
{{^element.frozen}} |
|||
{{#js}} |
|||
require(['theme_ilb/form-display-errors'], function(module) { |
|||
module.enhance({{#quote}}{{element.id}}{{/quote}}); |
|||
}); |
|||
{{/js}} |
|||
{{/element.frozen}} |
@ -1,57 +0,0 @@ |
|||
<div class="form-group row {{#error}}has-danger{{/error}} fitem {{#advanced}}advanced{{/advanced}} {{{element.extraclasses}}}"> |
|||
<div class="col-md-3"> |
|||
{{#text}} |
|||
<label for="{{element.id}}"> |
|||
{{{label}}} |
|||
</label> |
|||
{{/text}} |
|||
</div> |
|||
<div class="col-md-9 checkbox"> |
|||
<div class="form-check"> |
|||
<label> |
|||
{{^element.hardfrozen}} |
|||
{{#element.frozen}} |
|||
<input type="hidden" name="{{element.name}}" value="{{element.frozenvalue}}"> |
|||
{{/element.frozen}} |
|||
{{/element.hardfrozen}} |
|||
<input type="checkbox" |
|||
name="{{element.name}}" |
|||
class="form-check-input {{element.extraclasses}}" |
|||
{{#element.value}} |
|||
value="{{element.value}}" |
|||
{{/element.value}} |
|||
{{^element.value}} |
|||
value="1" |
|||
{{/element.value}} |
|||
id="{{element.id}}" {{#element.checked}}checked{{/element.checked}} |
|||
{{#error}} |
|||
autofocus aria-describedby="id_error_{{element.name}}" |
|||
{{/error}} |
|||
{{#element.frozen}} |
|||
disabled |
|||
{{/element.frozen}} |
|||
{{{element.attributes}}} > |
|||
{{#text}} |
|||
{{{.}}} |
|||
{{/text}} |
|||
{{^text}} |
|||
{{{label}}} |
|||
{{/text}} |
|||
</label> |
|||
<span class="text-nowrap"> |
|||
{{#advanced}}<abbr class="initialism text-info" title="{{#str}}advanced{{/str}}">!</abbr>{{/advanced}} |
|||
{{{helpbutton}}} |
|||
</span> |
|||
</div> |
|||
<div class="form-control-feedback invalid-feedback" id="id_error_{{element.name}}" {{#error}} style="display: block;"{{/error}}> |
|||
{{{error}}} |
|||
</div> |
|||
</div> |
|||
</div> |
|||
{{^element.frozen}} |
|||
{{#js}} |
|||
require(['theme_ilb/form-display-errors'], function(module) { |
|||
module.enhance({{#quote}}{{element.id}}{{/quote}}); |
|||
}); |
|||
{{/js}} |
|||
{{/element.frozen}} |
@ -1,10 +0,0 @@ |
|||
{{< core_form/element-template-inline }} |
|||
{{$element}} |
|||
<span class="fdate_selector d-flex align-items-center"> |
|||
{{#element.elements}} |
|||
{{{separator}}} |
|||
{{{html}}} |
|||
{{/element.elements}} |
|||
</span> |
|||
{{/element}} |
|||
{{/ core_form/element-template-inline }} |
@ -1,10 +0,0 @@ |
|||
{{< core_form/element-template }} |
|||
{{$element}} |
|||
<span class="fdate_selector d-flex"> |
|||
{{#element.elements}} |
|||
{{{separator}}} |
|||
{{{html}}} |
|||
{{/element.elements}} |
|||
</span> |
|||
{{/element}} |
|||
{{/ core_form/element-template }} |
@ -1,10 +0,0 @@ |
|||
{{< core_form/element-template-inline }} |
|||
{{$element}} |
|||
<div class="fdate_time_selector d-flex flex-wrap align-items-center"> |
|||
{{#element.elements}} |
|||
{{{separator}}} |
|||
{{{html}}} |
|||
{{/element.elements}} |
|||
</div> |
|||
{{/element}} |
|||
{{/ core_form/element-template-inline }} |
@ -1,10 +0,0 @@ |
|||
{{< core_form/element-template }} |
|||
{{$element}} |
|||
<div class="fdate_time_selector d-flex flex-wrap align-items-center"> |
|||
{{#element.elements}} |
|||
{{{separator}}} |
|||
{{{html}}} |
|||
{{/element.elements}} |
|||
</div> |
|||
{{/element}} |
|||
{{/ core_form/element-template }} |
@ -1,43 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core_form/element-defaultcustom-inline |
|||
|
|||
Defaultcustom form element template. |
|||
|
|||
Example context (json): |
|||
{ |
|||
"element": { |
|||
"elements": [ |
|||
{"html": "<select><option>Default</option><option>Custom</option></select>", |
|||
"separator": ""}, |
|||
{"html": "<input type=text>", |
|||
"separator": ""} |
|||
] |
|||
} |
|||
} |
|||
}} |
|||
{{< core_form/element-template-inline }} |
|||
{{$element}} |
|||
<span class="fdefaultcustom"> |
|||
{{#element.elements}} |
|||
{{{separator}}} |
|||
{{{html}}} |
|||
{{/element.elements}} |
|||
</span> |
|||
{{/element}} |
|||
{{/ core_form/element-template-inline }} |
@ -1,43 +0,0 @@ |
|||
{{! |
|||
This file is part of Moodle - http://moodle.org/ |
|||
|
|||
Moodle is free software: you can redistribute it and/or modify |
|||
it under the terms of the GNU General Public License as published by |
|||
the Free Software Foundation, either version 3 of the License, or |
|||
(at your option) any later version. |
|||
|
|||
Moodle is distributed in the hope that it will be useful, |
|||
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
GNU General Public License for more details. |
|||
|
|||
You should have received a copy of the GNU General Public License |
|||
along with Moodle. If not, see <http://www.gnu.org/licenses/>. |
|||
}} |
|||
{{! |
|||
@template core_form/element-defaultcustom |
|||
|
|||
Defaultcustom form element template. |
|||
|
|||
Example context (json): |
|||
{ |
|||
"element": { |
|||
"elements": [ |
|||
{"html": "<select><option>Default</option><option>Custom</option></select>", |
|||
"separator": ""}, |
|||
{"html": "<input type=text>", |
|||
"separator": ""} |
|||
] |
|||
} |
|||
} |
|||
}} |
|||
{{< core_form/element-template }} |
|||
{{$element}} |
|||
<span class="fdefaultcustom"> |
|||
{{#element.elements}} |
|||
{{{separator}}} |
|||
{{{html}}} |
|||
{{/element.elements}} |
|||
</span> |
|||
{{/element}} |
|||
{{/ core_form/element-template }} |
@ -1,10 +0,0 @@ |
|||
{{< core_form/element-template-inline }} |
|||
{{$element}} |
|||
<div class="d-flex ml-1"> |
|||
{{#element.elements}} |
|||
{{{separator}}} |
|||
{{{html}}} |
|||
{{/element.elements}} |
|||
</div> |
|||
{{/element}} |
|||
{{/ core_form/element-template-inline }} |
@ -1 +0,0 @@ |
|||
{{> core_form/element-group }} |
@ -1,5 +0,0 @@ |
|||
{{< core_form/element-template }} |
|||
{{$element}} |
|||
{{{element.html}}} |
|||
{{/element}} |
|||
{{/ core_form/element-template }} |
@ -1,5 +0,0 @@ |
|||
{{< core_form/element-template }} |
|||
{{$element}} |
|||
{{{element.html}}} |
|||
{{/element}} |
|||
{{/ core_form/element-template }} |
@ -1,5 +0,0 @@ |
|||
{{< core_form/element-template }} |
|||
{{$element}} |
|||
{{{element.html}}} |
|||
{{/element}} |
|||
{{/ core_form/element-template }} |
@ -1 +0,0 @@ |
|||
{{> core_form/element-group }} |
@ -0,0 +1 @@ |
|||
{{> core_form/element-text-inline }} |
Some files were not shown because too many files changed in this diff
Loading…
Reference in new issue