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