mirror of
https://github.com/moodle/moodle.git
synced 2025-04-21 08:22:07 +02:00
Merge branch 'MDL-66999-master' of git://github.com/bmbrands/moodle
This commit is contained in:
commit
f00542c485
@ -156,7 +156,7 @@ class mnet_review_host_form extends moodleform {
|
||||
if ($mnet_peer && !empty($mnet_peer->deleted)) {
|
||||
$radioarray = array();
|
||||
$radioarray[] = $mform->createElement('static', 'deletedinfo', '',
|
||||
$OUTPUT->container(get_string('deletedhostinfo', 'mnet'), 'deletedhostinfo'));
|
||||
$OUTPUT->container(get_string('deletedhostinfo', 'mnet'), 'alert alert-warning'));
|
||||
$radioarray[] = $mform->createElement('radio', 'deleted', '', get_string('yes'), 1);
|
||||
$radioarray[] = $mform->createElement('radio', 'deleted', '', get_string('no'), 0);
|
||||
$mform->addGroup($radioarray, 'radioar', get_string('deleted'), array(' ', ' '), false);
|
||||
|
@ -170,7 +170,7 @@ foreach ($sortedbehaviours as $behaviour => $behaviourname) {
|
||||
if ($version) {
|
||||
$row[] = $version;
|
||||
} else {
|
||||
$row[] = html_writer::tag('span', get_string('nodatabase', 'admin'), array('class' => 'disabled'));
|
||||
$row[] = html_writer::tag('span', get_string('nodatabase', 'admin'), array('class' => 'text-muted'));
|
||||
}
|
||||
|
||||
// Other question types required by this one.
|
||||
|
@ -172,7 +172,7 @@ foreach ($sortedqtypes as $qtypename => $localname) {
|
||||
if ($version) {
|
||||
$row[] = $version;
|
||||
} else {
|
||||
$row[] = html_writer::tag('span', get_string('nodatabase', 'admin'), array('class' => 'disabled'));
|
||||
$row[] = html_writer::tag('span', get_string('nodatabase', 'admin'), array('class' => 'text-muted'));
|
||||
}
|
||||
|
||||
// Other question types required by this one.
|
||||
|
@ -253,7 +253,7 @@ class core_admin_renderer extends plugin_renderer_base {
|
||||
$out .= $this->output->container(get_string('cancelinstallinfodir', 'core_plugin', $pluginfo->rootdir));
|
||||
if ($repotype = $pluginman->plugin_external_source($pluginfo->component)) {
|
||||
$out .= $this->output->container(get_string('uninstalldeleteconfirmexternal', 'core_plugin', $repotype),
|
||||
'uninstalldeleteconfirmexternal');
|
||||
'alert alert-warning mt-2');
|
||||
}
|
||||
}
|
||||
|
||||
@ -432,7 +432,7 @@ class core_admin_renderer extends plugin_renderer_base {
|
||||
|
||||
if ($repotype = $pluginman->plugin_external_source($pluginfo->component)) {
|
||||
$confirm .= $this->output->container(get_string('uninstalldeleteconfirmexternal', 'core_plugin', $repotype),
|
||||
'uninstalldeleteconfirmexternal');
|
||||
'alert alert-warning mt-2');
|
||||
}
|
||||
|
||||
// After any uninstall we must execute full upgrade to finish the cleanup!
|
||||
@ -511,7 +511,7 @@ class core_admin_renderer extends plugin_renderer_base {
|
||||
* @return string HTML to output.
|
||||
*/
|
||||
protected function warning($message, $type = 'warning') {
|
||||
return $this->box($message, 'generalbox admin' . $type);
|
||||
return $this->box($message, 'generalbox alert alert-' . $type);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -526,7 +526,7 @@ class core_admin_renderer extends plugin_renderer_base {
|
||||
return $this->warning(get_string('datarootsecuritywarning', 'admin', $CFG->dataroot));
|
||||
|
||||
} else if ($insecuredataroot == INSECURE_DATAROOT_ERROR) {
|
||||
return $this->warning(get_string('datarootsecurityerror', 'admin', $CFG->dataroot), 'error');
|
||||
return $this->warning(get_string('datarootsecurityerror', 'admin', $CFG->dataroot), 'danger');
|
||||
|
||||
} else {
|
||||
return '';
|
||||
@ -544,7 +544,7 @@ class core_admin_renderer extends plugin_renderer_base {
|
||||
if ($devlibdir) {
|
||||
$moreinfo = new moodle_url('/report/security/index.php');
|
||||
$warning = get_string('devlibdirpresent', 'core_admin', ['moreinfourl' => $moreinfo->out()]);
|
||||
return $this->warning($warning, 'error');
|
||||
return $this->warning($warning, 'danger');
|
||||
|
||||
} else {
|
||||
return '';
|
||||
@ -721,7 +721,7 @@ class core_admin_renderer extends plugin_renderer_base {
|
||||
return $this->warning(
|
||||
$this->container(get_string('maturitycorewarning', 'admin', $maturitylevel)) .
|
||||
$this->container($this->doc_link('admin/versions', get_string('morehelp'))),
|
||||
'error');
|
||||
'danger');
|
||||
}
|
||||
|
||||
/*
|
||||
@ -737,7 +737,7 @@ class core_admin_renderer extends plugin_renderer_base {
|
||||
}
|
||||
|
||||
$warning = (get_string('testsiteupgradewarning', 'admin', $testsite));
|
||||
return $this->warning($warning, 'error');
|
||||
return $this->warning($warning, 'danger');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -772,7 +772,7 @@ class core_admin_renderer extends plugin_renderer_base {
|
||||
$level = 'warning';
|
||||
|
||||
if ($maturity == MATURITY_ALPHA) {
|
||||
$level = 'error';
|
||||
$level = 'danger';
|
||||
}
|
||||
|
||||
$maturitylevel = get_string('maturity' . $maturity, 'admin');
|
||||
@ -954,7 +954,7 @@ class core_admin_renderer extends plugin_renderer_base {
|
||||
protected function release_notes_link() {
|
||||
$releasenoteslink = get_string('releasenoteslink', 'admin', 'http://docs.moodle.org/dev/Releases');
|
||||
$releasenoteslink = str_replace('target="_blank"', 'onclick="this.target=\'_blank\'"', $releasenoteslink); // extremely ugly validation hack
|
||||
return $this->box($releasenoteslink, 'generalbox releasenoteslink');
|
||||
return $this->box($releasenoteslink, 'generalbox alert alert-info');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -1902,7 +1902,7 @@ class core_admin_renderer extends plugin_renderer_base {
|
||||
get_string('status'),
|
||||
);
|
||||
$servertable->colclasses = array('centeralign name', 'centeralign info', 'leftalign report', 'leftalign plugin', 'centeralign status');
|
||||
$servertable->attributes['class'] = 'admintable environmenttable generaltable';
|
||||
$servertable->attributes['class'] = 'admintable environmenttable generaltable table-sm';
|
||||
$servertable->id = 'serverstatus';
|
||||
|
||||
$serverdata = array('ok'=>array(), 'warn'=>array(), 'error'=>array());
|
||||
@ -1915,7 +1915,7 @@ class core_admin_renderer extends plugin_renderer_base {
|
||||
get_string('status'),
|
||||
);
|
||||
$othertable->colclasses = array('aligncenter info', 'alignleft report', 'alignleft plugin', 'aligncenter status');
|
||||
$othertable->attributes['class'] = 'admintable environmenttable generaltable';
|
||||
$othertable->attributes['class'] = 'admintable environmenttable generaltable table-sm';
|
||||
$othertable->id = 'otherserverstatus';
|
||||
|
||||
$otherdata = array('ok'=>array(), 'warn'=>array(), 'error'=>array());
|
||||
|
@ -43,7 +43,7 @@ abstract class core_role_capability_table_base {
|
||||
protected $id;
|
||||
|
||||
/** Added to the class="" attribute on output. */
|
||||
protected $classes = array('rolecap');
|
||||
protected $classes = array('rolecap table-hover');
|
||||
|
||||
/** Default number of capabilities in the table for the search UI to be shown. */
|
||||
const NUM_CAPS_FOR_SEARCH = 12;
|
||||
|
@ -50,6 +50,7 @@ class core_role_check_capability_table extends core_role_capability_table_base {
|
||||
$this->contextname = $contextname;
|
||||
$this->stryes = get_string('yes');
|
||||
$this->strno = get_string('no');
|
||||
$this->add_classes(['table-striped']);
|
||||
}
|
||||
|
||||
protected function add_header_cells() {
|
||||
|
@ -55,6 +55,7 @@ class core_role_define_role_table_advanced extends core_role_capability_table_wi
|
||||
foreach ($levels as $level => $classname) {
|
||||
$this->allcontextlevels[$level] = context_helper::get_level_name($level);
|
||||
}
|
||||
$this->add_classes(['table-striped']);
|
||||
}
|
||||
|
||||
protected function load_current_permissions() {
|
||||
|
@ -66,9 +66,9 @@ class core_role_override_permissions_table_advanced extends core_role_capability
|
||||
$rowattributes = parent::get_row_attributes($capability);
|
||||
if ($this->permissions[$capability->name] !== 0) {
|
||||
if (empty($rowattributes['class'])) {
|
||||
$rowattributes['class'] = "overriddenpermission";
|
||||
$rowattributes['class'] = "overriddenpermission table-warning";
|
||||
} else {
|
||||
$rowattributes['class'] .= " overriddenpermission";
|
||||
$rowattributes['class'] .= " overriddenpermission table-warning";
|
||||
}
|
||||
}
|
||||
return $rowattributes;
|
||||
|
@ -52,10 +52,10 @@
|
||||
<label {{#labelfor}}for="{{labelfor}}"{{/labelfor}}>
|
||||
{{{title}}}
|
||||
{{#override}}
|
||||
<div class="form-overridden">{{override}}</div>
|
||||
<div class="alert alert-info">{{override}}</div>
|
||||
{{/override}}
|
||||
{{#warning}}
|
||||
<div class="form-warning">{{warning}}</div>
|
||||
<div class="alert alert-warning">{{warning}}</div>
|
||||
{{/warning}}
|
||||
</label>
|
||||
<span class="form-shortname d-block small text-muted">{{{name}}}</span>
|
||||
|
@ -47,7 +47,7 @@
|
||||
<h3 class="adminpagetitle"><a href="{{url}}">{{{title}}}</a></h3>
|
||||
<ul class="adminpagepath" aria-label="{{#str}} pagepath, core {{/str}}">
|
||||
{{#path}}
|
||||
<li>{{.}}</li>
|
||||
<li class="small text-muted">{{.}}</li>
|
||||
{{/path}}
|
||||
</ul>
|
||||
<fieldset class="adminsettings">
|
||||
|
@ -143,7 +143,7 @@ function print_report_tree($contextid, $contexts, $allroles) {
|
||||
// If there are any role overrides here, print them.
|
||||
if (!empty($contexts[$contextid]->rolecapabilities)) {
|
||||
$rowcounter = 0;
|
||||
echo '<table class="generaltable rolecaps"><tbody>';
|
||||
echo '<table class="generaltable table-striped"><tbody>';
|
||||
foreach ($allroles as $role) {
|
||||
if (isset($contexts[$contextid]->rolecapabilities[$role->id])) {
|
||||
$permission = $contexts[$contextid]->rolecapabilities[$role->id];
|
||||
|
@ -75,7 +75,7 @@
|
||||
<hr />
|
||||
<div class="p-l-3">
|
||||
<dl class="row">
|
||||
<dt class="col-xs-3">
|
||||
<dt class="col-3">
|
||||
{{#link}}
|
||||
<a href="#{{name}}"><strong style="word-wrap:break-word">{{name}}</strong></a>
|
||||
{{/link}}
|
||||
@ -84,13 +84,13 @@
|
||||
{{/link}}
|
||||
<div class="small text-muted" style="word-wrap:break-word">{{type}}</div>
|
||||
</dt>
|
||||
<dd class="col-xs-9">{{summary}}</dd>
|
||||
<dd class="col-9">{{summary}}</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
{{#fields}}
|
||||
<div class="row">
|
||||
<dt class="col-xs-3 font-weight-normal" style="word-wrap:break-word">{{field_name}}</dt>
|
||||
<dd class="col-xs-9">{{field_summary}}</dd>
|
||||
<dt class="col-3 font-weight-normal" style="word-wrap:break-word">{{field_name}}</dt>
|
||||
<dd class="col-9">{{field_summary}}</dd>
|
||||
</div>
|
||||
{{/fields}}
|
||||
</dl>
|
||||
@ -100,7 +100,7 @@
|
||||
<hr />
|
||||
<div class="p-l-3">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="col-12">
|
||||
{{nullprovider}}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -52,7 +52,7 @@ class tool_filetypes_renderer extends plugin_renderer_base {
|
||||
$out = $this->heading(get_string('pluginname', 'tool_filetypes'));
|
||||
if ($restricted) {
|
||||
$out .= html_writer::div(
|
||||
html_writer::div(get_string('configoverride', 'admin'), 'form-overridden'),
|
||||
html_writer::div(get_string('configoverride', 'admin'), 'alert alert-info'),
|
||||
'', array('id' => 'adminsettings'));
|
||||
}
|
||||
if (count($combined) > 1) {
|
||||
|
@ -23,10 +23,3 @@
|
||||
.path-admin-tool-filetypes .generaltable .nonstandard {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Spacing around the 'Defined in config.php' stripe */
|
||||
.path-admin-tool-filetypes .form-overridden {
|
||||
display: inline-block;
|
||||
margin-bottom: 1em;
|
||||
padding: 4px 6px;
|
||||
}
|
||||
|
@ -120,7 +120,8 @@ class main_view extends XMLDBAction {
|
||||
$result = $this->launch('get_db_directories');
|
||||
// Display list of DB directories if everything is ok
|
||||
if ($result && !empty($XMLDB->dbdirs)) {
|
||||
$o .= '<table id="listdirectories" border="0" cellpadding="5" cellspacing="1" class="admintable generaltable">';
|
||||
$o .= '<table id="listdirectories" border="0" cellpadding="5" cellspacing="1"' .
|
||||
' class="table-striped table-sm admintable generaltable">';
|
||||
$row = 0;
|
||||
foreach ($XMLDB->dbdirs as $key => $dbdir) {
|
||||
// Detect if this is the lastused dir
|
||||
|
@ -300,7 +300,7 @@
|
||||
$table->head = array ();
|
||||
$table->colclasses = array();
|
||||
$table->head[] = $fullnamedisplay;
|
||||
$table->attributes['class'] = 'admintable generaltable';
|
||||
$table->attributes['class'] = 'admintable generaltable table-sm';
|
||||
foreach ($extracolumns as $field) {
|
||||
$table->head[] = ${$field};
|
||||
}
|
||||
|
@ -717,7 +717,7 @@ class core_backup_renderer extends plugin_renderer_base {
|
||||
$url = $component->get_url();
|
||||
|
||||
$output = html_writer::start_tag('div', array('class' => 'restore-course-search form-inline mb-1'));
|
||||
$output .= html_writer::start_tag('div', array('class' => 'rcs-results w-75'));
|
||||
$output .= html_writer::start_tag('div', array('class' => 'rcs-results table-sm w-75'));
|
||||
|
||||
$table = new html_table();
|
||||
$table->head = array('', get_string('shortnamecourse'), get_string('fullnamecourse'));
|
||||
@ -877,7 +877,7 @@ class core_backup_renderer extends plugin_renderer_base {
|
||||
$url = $component->get_url();
|
||||
|
||||
$output = html_writer::start_tag('div', array('class' => 'restore-course-search form-inline mb-1'));
|
||||
$output .= html_writer::start_tag('div', array('class' => 'rcs-results w-75'));
|
||||
$output .= html_writer::start_tag('div', array('class' => 'rcs-results table-sm w-75'));
|
||||
|
||||
$table = new html_table();
|
||||
$table->head = array('', get_string('name'), get_string('description'));
|
||||
|
@ -685,7 +685,7 @@ class core_badges_renderer extends plugin_renderer_base {
|
||||
$paging = new paging_bar($badges->totalcount, $badges->page, $badges->perpage, $this->page->url, 'page');
|
||||
$htmlpagingbar = $this->render($paging);
|
||||
$table = new html_table();
|
||||
$table->attributes['class'] = 'collection';
|
||||
$table->attributes['class'] = 'table table-bordered table-striped';
|
||||
|
||||
$sortbyname = $this->helper_sortable_heading(get_string('name'),
|
||||
'name', $badges->sort, $badges->dir);
|
||||
@ -743,7 +743,7 @@ class core_badges_renderer extends plugin_renderer_base {
|
||||
|
||||
$htmlpagingbar = $this->render($paging);
|
||||
$table = new html_table();
|
||||
$table->attributes['class'] = 'collection';
|
||||
$table->attributes['class'] = 'table table-bordered table-striped';
|
||||
|
||||
$sortbyname = $this->helper_sortable_heading(get_string('name'),
|
||||
'name', $badges->sort, $badges->dir);
|
||||
|
@ -56,60 +56,60 @@
|
||||
}
|
||||
}}
|
||||
<div class="row">
|
||||
<div class="col-xs-1">{{#pix}} i/calendareventtime, core, {{#str}} when, core_calendar {{/str}} {{/pix}}</div>
|
||||
<div class="col-xs-11">{{{formattedtime}}}</div>
|
||||
<div class="col-1">{{#pix}} i/calendareventtime, core, {{#str}} when, core_calendar {{/str}} {{/pix}}</div>
|
||||
<div class="col-11">{{{formattedtime}}}</div>
|
||||
</div>
|
||||
{{#normalisedeventtypetext}}
|
||||
<div class="row mt-1">
|
||||
<div class="col-xs-1">{{#pix}} i/calendar, core, {{#str}} eventtype, core_calendar {{/str}} {{/pix}}</div>
|
||||
<div class="col-xs-11">{{normalisedeventtypetext}}</div>
|
||||
<div class="col-1">{{#pix}} i/calendar, core, {{#str}} eventtype, core_calendar {{/str}} {{/pix}}</div>
|
||||
<div class="col-11">{{normalisedeventtypetext}}</div>
|
||||
</div>
|
||||
{{/normalisedeventtypetext}}
|
||||
{{#description}}
|
||||
<div class="row mt-1">
|
||||
<div class="col-xs-1">{{#pix}} i/calendareventdescription, core, {{#str}} description {{/str}} {{/pix}}</div>
|
||||
<div class="description-content col-xs-11">{{{.}}}</div>
|
||||
<div class="col-1">{{#pix}} i/calendareventdescription, core, {{#str}} description {{/str}} {{/pix}}</div>
|
||||
<div class="description-content col-11">{{{.}}}</div>
|
||||
</div>
|
||||
{{/description}}
|
||||
{{#location}}
|
||||
<div class="row mt-1">
|
||||
<div class="col-xs-1">{{#pix}} i/location, core, {{#str}} location {{/str}} {{/pix}}</div>
|
||||
<div class="location-content col-xs-11">{{{.}}}</div>
|
||||
<div class="col-1">{{#pix}} i/location, core, {{#str}} location {{/str}} {{/pix}}</div>
|
||||
<div class="location-content col-11">{{{.}}}</div>
|
||||
</div>
|
||||
{{/location}}
|
||||
{{#isactionevent}}
|
||||
<div class="row mt-1">
|
||||
<div class="col-xs-1">{{#pix}} i/courseevent, core, {{#str}} course {{/str}} {{/pix}}</div>
|
||||
<div class="col-xs-11"><a href="{{course.viewurl}}">{{{course.fullname}}}</a></div>
|
||||
<div class="col-1">{{#pix}} i/courseevent, core, {{#str}} course {{/str}} {{/pix}}</div>
|
||||
<div class="col-11"><a href="{{course.viewurl}}">{{{course.fullname}}}</a></div>
|
||||
</div>
|
||||
{{/isactionevent}}
|
||||
{{#iscategoryevent}}
|
||||
<div class="row mt-1">
|
||||
<div class="col-xs-1">{{#pix}} i/categoryevent, core, {{#str}} category {{/str}} {{/pix}}</div>
|
||||
<div class="col-xs-11">{{{category.nestedname}}}</div>
|
||||
<div class="col-1">{{#pix}} i/categoryevent, core, {{#str}} category {{/str}} {{/pix}}</div>
|
||||
<div class="col-11">{{{category.nestedname}}}</div>
|
||||
</div>
|
||||
{{/iscategoryevent}}
|
||||
{{#iscourseevent}}
|
||||
<div class="row mt-1">
|
||||
<div class="col-xs-1">{{#pix}} i/courseevent, core, {{#str}} course {{/str}} {{/pix}}</div>
|
||||
<div class="col-xs-11"><a href="{{url}}">{{{course.fullname}}}</a></div>
|
||||
<div class="col-1">{{#pix}} i/courseevent, core, {{#str}} course {{/str}} {{/pix}}</div>
|
||||
<div class="col-11"><a href="{{url}}">{{{course.fullname}}}</a></div>
|
||||
</div>
|
||||
{{/iscourseevent}}
|
||||
{{#groupname}}
|
||||
<div class="row mt-1">
|
||||
<div class="col-xs-1">{{#pix}} i/courseevent, core, {{#str}} course {{/str}} {{/pix}}</div>
|
||||
<div class="col-xs-11"><a href="{{url}}">{{{course.fullname}}}</a></div>
|
||||
<div class="col-1">{{#pix}} i/courseevent, core, {{#str}} course {{/str}} {{/pix}}</div>
|
||||
<div class="col-11"><a href="{{url}}">{{{course.fullname}}}</a></div>
|
||||
</div>
|
||||
<div class="row mt-1">
|
||||
<div class="col-xs-1">{{#pix}} i/groupevent, core, {{#str}} group {{/str}} {{/pix}}</div>
|
||||
<div class="col-xs-11">{{{groupname}}}</div>
|
||||
<div class="col-1">{{#pix}} i/groupevent, core, {{#str}} group {{/str}} {{/pix}}</div>
|
||||
<div class="col-11">{{{groupname}}}</div>
|
||||
</div>
|
||||
{{/groupname}}
|
||||
{{#subscription}}
|
||||
{{#displayeventsource}}
|
||||
<div class="row mt-1">
|
||||
<div class="col-xs-1">{{#pix}} i/rss, core, {{#str}} eventsource, core_calendar {{/str}} {{/pix}}</div>
|
||||
<div class="col-xs-11">
|
||||
<div class="col-1">{{#pix}} i/rss, core, {{#str}} eventsource, core_calendar {{/str}} {{/pix}}</div>
|
||||
<div class="col-11">
|
||||
{{#subscriptionurl}}
|
||||
<p><a href="{{subscriptionurl}}">{{#str}}subscriptionsource, core_calendar, {{{subscriptionname}}}{{/str}}</a></p>
|
||||
{{/subscriptionurl}}
|
||||
|
@ -34,7 +34,7 @@
|
||||
}}
|
||||
{{#activities}}
|
||||
<div class="row mb-1 row-fluid">
|
||||
<div class="activityinstance col-xs-6">
|
||||
<div class="activityinstance col-6">
|
||||
<div class="mod-indent-outer"></div>
|
||||
<div>
|
||||
{{#canmanage}}
|
||||
@ -47,7 +47,7 @@
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="activity-completionstatus col-xs-6" id="completionstatus_{{cmid}}">
|
||||
<div class="activity-completionstatus col-6" id="completionstatus_{{cmid}}">
|
||||
<div class="col-sm-1 p-l-0">
|
||||
{{#completionstatus.icon}}
|
||||
{{{completionstatus.icon}}}
|
||||
|
@ -49,11 +49,11 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col-xs-6">
|
||||
<div class="col-6">
|
||||
<input type="checkbox" class="mastercheck mr-1" aria-label="{{#str}}checkall, completion{{/str}}">
|
||||
<label class="font-weight-bold">{{#str}}activitieslabel, core_completion{{/str}}</label>
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<div class="col-6">
|
||||
<label class="font-weight-bold">{{#str}}completion, core_completion{{/str}}</label>
|
||||
<span>{{{helpicon}}}</span>
|
||||
</div>
|
||||
|
@ -46,11 +46,11 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mb-1">
|
||||
<div class="col-xs-6">
|
||||
<div class="col-6">
|
||||
<input type="checkbox" class="mastercheck mr-1" aria-label="{{#str}}checkall, completion{{/str}}">
|
||||
<label class="font-weight-bold">{{#str}}activitieslabel, core_completion{{/str}}</label>
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<div class="col-6">
|
||||
<label class="font-weight-bold">{{#str}}completion, core_completion{{/str}}</label>
|
||||
<span>{{{helpicon}}}</span>
|
||||
</div>
|
||||
@ -61,13 +61,13 @@
|
||||
{{#canmanage}}
|
||||
<div class="mb-1">
|
||||
<div class="row mb-1 row-fluid">
|
||||
<div class="col-xs-6">
|
||||
<div class="col-6">
|
||||
<label class="accesshide" for="modtype_{{id}}">{{#str}}select, core_completion{{/str}} {{formattedname}}</label>
|
||||
<input id="modtype_{{id}}" type="checkbox" class="mr-1" name="modids[]" value="{{id}}" aria-label="{{#str}}checkactivity, completion, {{{formattedname}}}{{/str}}">
|
||||
<img class="iconlarge activityicon" src="{{icon}}" alt=" " role="presentation" />
|
||||
<span>{{{formattedname}}}</span>
|
||||
</div>
|
||||
<div class="activity-completionstatus col-xs-6">
|
||||
<div class="activity-completionstatus col-6">
|
||||
<div class="col-sm-1 p-l-0">
|
||||
{{#completionstatus.icon}}
|
||||
{{{completionstatus.icon}}}
|
||||
|
@ -370,7 +370,7 @@ class course_enrolment_table extends html_table implements renderable {
|
||||
$this->sort = optional_param(self::SORTVAR, self::DEFAULTSORT, PARAM_ALPHANUM);
|
||||
$this->sortdirection = optional_param(self::SORTDIRECTIONVAR, self::DEFAULTSORTDIRECTION, PARAM_ALPHA);
|
||||
|
||||
$this->attributes = array('class'=>'userenrolment');
|
||||
$this->attributes = array('class' => 'userenrolment table-striped');
|
||||
if (!in_array($this->sort, self::$sortablefields)) {
|
||||
$this->sort = self::DEFAULTSORT;
|
||||
}
|
||||
|
@ -403,7 +403,7 @@ class gradingform_rubric_renderer extends plugin_renderer_base {
|
||||
'value' => $value
|
||||
);
|
||||
$input = html_writer::empty_tag('input', $criteriainputparams);
|
||||
$rubrictemplate .= html_writer::tag('div', $input, array('class' => 'addcriterion'));
|
||||
$rubrictemplate .= html_writer::tag('div', $input, array('class' => 'addcriterion btn btn-secondary'));
|
||||
}
|
||||
$rubrictemplate .= $this->rubric_edit_options($mode, $options);
|
||||
$rubrictemplate .= html_writer::end_tag('div');
|
||||
|
@ -66,7 +66,7 @@ class core_grading_renderer extends plugin_renderer_base {
|
||||
|
||||
$img = $this->output->pix_icon($icon, '');
|
||||
$txt = html_writer::tag('div', $text, array('class' => 'action-text'));
|
||||
return html_writer::link($url, $img . $txt, array('class' => 'action'));
|
||||
return html_writer::link($url, $img . $txt, array('class' => 'action btn btn-lg'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -66,7 +66,7 @@ class behat_grading extends behat_base {
|
||||
$editactionliteral = behat_context_helper::escape(get_string("manageactionedit", "grading"));
|
||||
|
||||
// Working both when adding and editing.
|
||||
$definitionxpath = "//a[@class='action']" .
|
||||
$definitionxpath = "//a[@class='action btn btn-lg']" .
|
||||
"[./descendant::*[contains(., $newactionliteral) or contains(., $editactionliteral)]]";
|
||||
|
||||
$this->execute('behat_grading::i_go_to_advanced_grading_page', $this->escape($activityname));
|
||||
|
@ -40,7 +40,7 @@
|
||||
}
|
||||
}}
|
||||
{{#name}}
|
||||
<div class="groupinfobox container-fluid p-x-1 p-y-1">
|
||||
<div class="groupinfobox container-fluid card p-3">
|
||||
{{#pictureurl}}
|
||||
<div class="group-image"><img class="grouppicture" src="{{{pictureurl}}}" alt="{{{name}}}" title="{{{name}}}"/></div>
|
||||
{{/pictureurl}}
|
||||
|
@ -2757,7 +2757,7 @@ class admin_setting_configfile extends admin_setting_configtext {
|
||||
];
|
||||
|
||||
if ($context->readonly) {
|
||||
$this->visiblename .= '<div class="form-overridden">'.get_string('execpathnotallowed', 'admin').'</div>';
|
||||
$this->visiblename .= '<div class="alert alert-info">'.get_string('execpathnotallowed', 'admin').'</div>';
|
||||
}
|
||||
|
||||
$element = $OUTPUT->render_from_template('core_admin/setting_configfile', $context);
|
||||
@ -2818,7 +2818,7 @@ class admin_setting_configexecutable extends admin_setting_configfile {
|
||||
];
|
||||
|
||||
if (!empty($CFG->preventexecpath)) {
|
||||
$this->visiblename .= '<div class="form-overridden">'.get_string('execpathnotallowed', 'admin').'</div>';
|
||||
$this->visiblename .= '<div class="alert alert-info">'.get_string('execpathnotallowed', 'admin').'</div>';
|
||||
}
|
||||
|
||||
$element = $OUTPUT->render_from_template('core_admin/setting_configexecutable', $context);
|
||||
@ -2858,7 +2858,7 @@ class admin_setting_configdirectory extends admin_setting_configfile {
|
||||
];
|
||||
|
||||
if (!empty($CFG->preventexecpath)) {
|
||||
$this->visiblename .= '<div class="form-overridden">'.get_string('execpathnotallowed', 'admin').'</div>';
|
||||
$this->visiblename .= '<div class="alert alert-info">'.get_string('execpathnotallowed', 'admin').'</div>';
|
||||
}
|
||||
|
||||
$element = $OUTPUT->render_from_template('core_admin/setting_configdirectory', $context);
|
||||
@ -9548,7 +9548,7 @@ class admin_setting_webservicesoverview extends admin_setting {
|
||||
$url = new moodle_url("/admin/search.php?query=enablewebservices");
|
||||
$row[0] = "1. " . html_writer::tag('a', get_string('enablews', 'webservice'),
|
||||
array('href' => $url));
|
||||
$status = html_writer::tag('span', get_string('no'), array('class' => 'statuscritical'));
|
||||
$status = html_writer::tag('span', get_string('no'), array('class' => 'badge badge-danger'));
|
||||
if ($CFG->enablewebservices) {
|
||||
$status = get_string('yes');
|
||||
}
|
||||
@ -9561,7 +9561,7 @@ class admin_setting_webservicesoverview extends admin_setting {
|
||||
$url = new moodle_url("/admin/settings.php?section=webserviceprotocols");
|
||||
$row[0] = "2. " . html_writer::tag('a', get_string('enableprotocols', 'webservice'),
|
||||
array('href' => $url));
|
||||
$status = html_writer::tag('span', get_string('none'), array('class' => 'statuscritical'));
|
||||
$status = html_writer::tag('span', get_string('none'), array('class' => 'badge badge-danger'));
|
||||
//retrieve activated protocol
|
||||
$active_protocols = empty($CFG->webserviceprotocols) ?
|
||||
array() : explode(',', $CFG->webserviceprotocols);
|
||||
@ -9672,7 +9672,7 @@ class admin_setting_webservicesoverview extends admin_setting {
|
||||
$url = new moodle_url("/admin/search.php?query=enablewebservices");
|
||||
$row[0] = "1. " . html_writer::tag('a', get_string('enablews', 'webservice'),
|
||||
array('href' => $url));
|
||||
$status = html_writer::tag('span', get_string('no'), array('class' => 'statuscritical'));
|
||||
$status = html_writer::tag('span', get_string('no'), array('class' => 'badge badge-danger'));
|
||||
if ($CFG->enablewebservices) {
|
||||
$status = get_string('yes');
|
||||
}
|
||||
@ -9685,7 +9685,7 @@ class admin_setting_webservicesoverview extends admin_setting {
|
||||
$url = new moodle_url("/admin/settings.php?section=webserviceprotocols");
|
||||
$row[0] = "2. " . html_writer::tag('a', get_string('enableprotocols', 'webservice'),
|
||||
array('href' => $url));
|
||||
$status = html_writer::tag('span', get_string('none'), array('class' => 'statuscritical'));
|
||||
$status = html_writer::tag('span', get_string('none'), array('class' => 'badge badge-danger'));
|
||||
//retrieve activated protocol
|
||||
$active_protocols = empty($CFG->webserviceprotocols) ?
|
||||
array() : explode(',', $CFG->webserviceprotocols);
|
||||
@ -10770,10 +10770,10 @@ class admin_setting_searchsetupinfo extends admin_setting {
|
||||
$row[0] = '1. ' . html_writer::tag('a', get_string('selectsearchengine', 'admin'),
|
||||
array('href' => $url));
|
||||
|
||||
$status = html_writer::tag('span', get_string('no'), array('class' => 'statuscritical'));
|
||||
$status = html_writer::tag('span', get_string('no'), array('class' => 'badge badge-danger'));
|
||||
if (!empty($CFG->searchengine)) {
|
||||
$status = html_writer::tag('span', get_string('pluginname', 'search_' . $CFG->searchengine),
|
||||
array('class' => 'statusok'));
|
||||
array('class' => 'badge badge-success'));
|
||||
|
||||
}
|
||||
$row[1] = $status;
|
||||
@ -10785,9 +10785,9 @@ class admin_setting_searchsetupinfo extends admin_setting {
|
||||
$row[0] = '2. ' . html_writer::tag('a', get_string('enablesearchareas', 'admin'),
|
||||
array('href' => $url));
|
||||
|
||||
$status = html_writer::tag('span', get_string('no'), array('class' => 'statuscritical'));
|
||||
$status = html_writer::tag('span', get_string('no'), array('class' => 'badge badge-danger'));
|
||||
if ($anyenabled) {
|
||||
$status = html_writer::tag('span', get_string('yes'), array('class' => 'statusok'));
|
||||
$status = html_writer::tag('span', get_string('yes'), array('class' => 'badge badge-success'));
|
||||
|
||||
}
|
||||
$row[1] = $status;
|
||||
@ -10797,7 +10797,7 @@ class admin_setting_searchsetupinfo extends admin_setting {
|
||||
$row = array();
|
||||
if (empty($CFG->searchengine)) {
|
||||
$row[0] = '3. ' . get_string('setupsearchengine', 'admin');
|
||||
$row[1] = html_writer::tag('span', get_string('no'), array('class' => 'statuscritical'));
|
||||
$row[1] = html_writer::tag('span', get_string('no'), array('class' => 'badge badge-danger'));
|
||||
} else {
|
||||
$url = new moodle_url('/admin/settings.php?section=search' . $CFG->searchengine);
|
||||
$row[0] = '3. ' . html_writer::tag('a', get_string('setupsearchengine', 'admin'),
|
||||
@ -10810,9 +10810,9 @@ class admin_setting_searchsetupinfo extends admin_setting {
|
||||
$serverstatus = $e->getMessage();
|
||||
}
|
||||
if ($serverstatus === true) {
|
||||
$status = html_writer::tag('span', get_string('yes'), array('class' => 'statusok'));
|
||||
$status = html_writer::tag('span', get_string('yes'), array('class' => 'badge badge-success'));
|
||||
} else {
|
||||
$status = html_writer::tag('span', $serverstatus, array('class' => 'statuscritical'));
|
||||
$status = html_writer::tag('span', $serverstatus, array('class' => 'badge badge-danger'));
|
||||
}
|
||||
$row[1] = $status;
|
||||
}
|
||||
@ -10823,9 +10823,9 @@ class admin_setting_searchsetupinfo extends admin_setting {
|
||||
$url = new moodle_url('/admin/searchareas.php');
|
||||
$row[0] = '4. ' . html_writer::tag('a', get_string('indexdata', 'admin'), array('href' => $url));
|
||||
if ($anyindexed) {
|
||||
$status = html_writer::tag('span', get_string('yes'), array('class' => 'statusok'));
|
||||
$status = html_writer::tag('span', get_string('yes'), array('class' => 'badge badge-success'));
|
||||
} else {
|
||||
$status = html_writer::tag('span', get_string('no'), array('class' => 'statuscritical'));
|
||||
$status = html_writer::tag('span', get_string('no'), array('class' => 'badge badge-danger'));
|
||||
}
|
||||
$row[1] = $status;
|
||||
$table->data[] = $row;
|
||||
@ -10835,9 +10835,9 @@ class admin_setting_searchsetupinfo extends admin_setting {
|
||||
$url = new moodle_url("/admin/search.php?query=enableglobalsearch");
|
||||
$row[0] = '5. ' . html_writer::tag('a', get_string('enableglobalsearch', 'admin'),
|
||||
array('href' => $url));
|
||||
$status = html_writer::tag('span', get_string('no'), array('class' => 'statuscritical'));
|
||||
$status = html_writer::tag('span', get_string('no'), array('class' => 'badge badge-danger'));
|
||||
if (\core_search\manager::is_global_search_enabled()) {
|
||||
$status = html_writer::tag('span', get_string('yes'), array('class' => 'statusok'));
|
||||
$status = html_writer::tag('span', get_string('yes'), array('class' => 'badge badge-success'));
|
||||
}
|
||||
$row[1] = $status;
|
||||
$table->data[] = $row;
|
||||
|
@ -217,7 +217,7 @@ Y.namespace('M.atto_recordrtc').Button = Y.Base.create('button', Y.M.editor_atto
|
||||
_createContent: function(type) {
|
||||
var isAudio = (type === 'audio'),
|
||||
bsRow = 'row',
|
||||
bsCol = 'col-xs-',
|
||||
bsCol = 'col-',
|
||||
bsAlDang = 'alert-danger',
|
||||
bsSsBtn = 'btn btn-lg btn-outline-danger btn-block';
|
||||
|
||||
|
@ -1 +1 @@
|
||||
YUI.add("moodle-atto_recordrtc-button",function(e,t){var n="atto_recordrtc",r='<div class="{{PLUGINNAME}} container-fluid"><div class="{{bs_row}} hide"><div class="{{bs_col}}12"><div id="alert-danger" class="alert {{bs_al_dang}}"><strong>{{insecurealert_title}}</strong> {{insecurealert}}</div></div></div><div class="{{bs_row}} hide">{{#if isAudio}}<div class="{{bs_col}}1"></div><div class="{{bs_col}}10"><audio id="player"></audio></div><div class="{{bs_col}}1"></div>{{else}}<div class="{{bs_col}}12"><video id="player"></video></div>{{/if}}</div><div class="{{bs_row}}"><div class="{{bs_col}}1"></div><div class="{{bs_col}}10"><button id="start-stop" class="{{bs_ss_btn}}">{{startrecording}}</button></div><div class="{{bs_col}}1"></div></div><div class="{{bs_row}} hide"><div class="{{bs_col}}3"></div><div class="{{bs_col}}6"><button id="upload" class="btn btn-primary btn-block">{{attachrecording}}</button></div><div class="{{bs_col}}3"></div></div></div>';e.namespace("M.atto_recordrtc").Button=e.Base.create("button",e.M.editor_atto.EditorPlugin,[],{_lang:"en",initializer:function(){if(this.get("host").canShowFilepicker("media")){var e=this.get("allowedtypes"),t=!1;if(e==="both"||e==="audio")this._addButton("audio",this._audio),t=!0;if(e==="both"||e==="video")this._addButton("video",this._video),t=!0;if(!t)return;var n=this.getDialogue({width:1e3,focusAfterHide:null});n.after("visibleChange",function(){var e=!n.get("visible"),t=M.atto_recordrtc.commonmodule;e&&(window.clearInterval(t.countdownTicker),t.mediaRecorder&&t.mediaRecorder.state!=="inactive"&&t.mediaRecorder.stop(),t.stream&&t.stream.getTracks().forEach(function(e){e.readyState!=="ended"&&e.stop()}))}),n.on("click",function(){this.centered()}),window.require(["core/adapter"],function(e){window.adapter=e})}},_addButton:function(e,t){this.addButton({buttonName:e,icon:this.get(e+"rtcicon"),iconComponent:n,callback:t,title:e+"rtc",tags:e+"rtc",tagMatchRequiresAll:!1})},_audio:function(){var e=this.getDialogue();e.set("headerContent",M.util.get_string("audiortc","atto_recordrtc")),e.set("bodyContent",this._createContent("audio")),e.show(),M.atto_recordrtc.audiomodule.init(this)},_video:function(){var e=this.getDialogue();e.set("headerContent",M.util.get_string("videortc","atto_recordrtc")),e.set("bodyContent",this._createContent("video")),e.show(),M.atto_recordrtc.videomodule.init(this)},_createContent:function(t){var i=t==="audio",s="row",o="col-xs-",u="alert-danger",a="btn btn-lg btn-outline-danger btn-block",f=e.Handlebars.compile(r)({PLUGINNAME:n,isAudio:i,bs_row:s,bs_col:o,bs_al_dang:u,bs_ss_btn:a,insecurealert_title:M.util.get_string("insecurealert_title","atto_recordrtc"),insecurealert:M.util.get_string("insecurealert","atto_recordrtc"),startrecording:M.util.get_string("startrecording","atto_recordrtc"),attachrecording:M.util.get_string("attachrecording","atto_recordrtc")});return f},closeDialogue:function(e){e.getDialogue().hide(),e.editor.focus()},setLink:function(e,t){e.getDialogue().hide(),e.editor.focus(),e.get("host").insertContentAtFocusPoint(t),e.markUpdated()}},{ATTRS:{contextid:{value:null},sesskey:{value:null},allowedtypes:{value:null},audiobitrate:{value:null},videobitrate:{value:null},timelimit:{value:null},audiortcicon:{value:null},videortcicon:{value:null},maxrecsize:{value:null}}})},"@VERSION@",{requires:["moodle-editor_atto-plugin","moodle-atto_recordrtc-recording"]});
|
||||
YUI.add("moodle-atto_recordrtc-button",function(e,t){var n="atto_recordrtc",r='<div class="{{PLUGINNAME}} container-fluid"><div class="{{bs_row}} hide"><div class="{{bs_col}}12"><div id="alert-danger" class="alert {{bs_al_dang}}"><strong>{{insecurealert_title}}</strong> {{insecurealert}}</div></div></div><div class="{{bs_row}} hide">{{#if isAudio}}<div class="{{bs_col}}1"></div><div class="{{bs_col}}10"><audio id="player"></audio></div><div class="{{bs_col}}1"></div>{{else}}<div class="{{bs_col}}12"><video id="player"></video></div>{{/if}}</div><div class="{{bs_row}}"><div class="{{bs_col}}1"></div><div class="{{bs_col}}10"><button id="start-stop" class="{{bs_ss_btn}}">{{startrecording}}</button></div><div class="{{bs_col}}1"></div></div><div class="{{bs_row}} hide"><div class="{{bs_col}}3"></div><div class="{{bs_col}}6"><button id="upload" class="btn btn-primary btn-block">{{attachrecording}}</button></div><div class="{{bs_col}}3"></div></div></div>';e.namespace("M.atto_recordrtc").Button=e.Base.create("button",e.M.editor_atto.EditorPlugin,[],{_lang:"en",initializer:function(){if(this.get("host").canShowFilepicker("media")){var e=this.get("allowedtypes"),t=!1;if(e==="both"||e==="audio")this._addButton("audio",this._audio),t=!0;if(e==="both"||e==="video")this._addButton("video",this._video),t=!0;if(!t)return;var n=this.getDialogue({width:1e3,focusAfterHide:null});n.after("visibleChange",function(){var e=!n.get("visible"),t=M.atto_recordrtc.commonmodule;e&&(window.clearInterval(t.countdownTicker),t.mediaRecorder&&t.mediaRecorder.state!=="inactive"&&t.mediaRecorder.stop(),t.stream&&t.stream.getTracks().forEach(function(e){e.readyState!=="ended"&&e.stop()}))}),n.on("click",function(){this.centered()}),window.require(["core/adapter"],function(e){window.adapter=e})}},_addButton:function(e,t){this.addButton({buttonName:e,icon:this.get(e+"rtcicon"),iconComponent:n,callback:t,title:e+"rtc",tags:e+"rtc",tagMatchRequiresAll:!1})},_audio:function(){var e=this.getDialogue();e.set("headerContent",M.util.get_string("audiortc","atto_recordrtc")),e.set("bodyContent",this._createContent("audio")),e.show(),M.atto_recordrtc.audiomodule.init(this)},_video:function(){var e=this.getDialogue();e.set("headerContent",M.util.get_string("videortc","atto_recordrtc")),e.set("bodyContent",this._createContent("video")),e.show(),M.atto_recordrtc.videomodule.init(this)},_createContent:function(t){var i=t==="audio",s="row",o="col-",u="alert-danger",a="btn btn-lg btn-outline-danger btn-block",f=e.Handlebars.compile(r)({PLUGINNAME:n,isAudio:i,bs_row:s,bs_col:o,bs_al_dang:u,bs_ss_btn:a,insecurealert_title:M.util.get_string("insecurealert_title","atto_recordrtc"),insecurealert:M.util.get_string("insecurealert","atto_recordrtc"),startrecording:M.util.get_string("startrecording","atto_recordrtc"),attachrecording:M.util.get_string("attachrecording","atto_recordrtc")});return f},closeDialogue:function(e){e.getDialogue().hide(),e.editor.focus()},setLink:function(e,t){e.getDialogue().hide(),e.editor.focus(),e.get("host").insertContentAtFocusPoint(t),e.markUpdated()}},{ATTRS:{contextid:{value:null},sesskey:{value:null},allowedtypes:{value:null},audiobitrate:{value:null},videobitrate:{value:null},timelimit:{value:null},audiortcicon:{value:null},videortcicon:{value:null},maxrecsize:{value:null}}})},"@VERSION@",{requires:["moodle-editor_atto-plugin","moodle-atto_recordrtc-recording"]});
|
||||
|
@ -217,7 +217,7 @@ Y.namespace('M.atto_recordrtc').Button = Y.Base.create('button', Y.M.editor_atto
|
||||
_createContent: function(type) {
|
||||
var isAudio = (type === 'audio'),
|
||||
bsRow = 'row',
|
||||
bsCol = 'col-xs-',
|
||||
bsCol = 'col-',
|
||||
bsAlDang = 'alert-danger',
|
||||
bsSsBtn = 'btn btn-lg btn-outline-danger btn-block';
|
||||
|
||||
|
@ -215,7 +215,7 @@ Y.namespace('M.atto_recordrtc').Button = Y.Base.create('button', Y.M.editor_atto
|
||||
_createContent: function(type) {
|
||||
var isAudio = (type === 'audio'),
|
||||
bsRow = 'row',
|
||||
bsCol = 'col-xs-',
|
||||
bsCol = 'col-',
|
||||
bsAlDang = 'alert-danger',
|
||||
bsSsBtn = 'btn btn-lg btn-outline-danger btn-block';
|
||||
|
||||
|
@ -574,11 +574,11 @@ class flexible_table {
|
||||
|
||||
// Always introduce the "flexible" class for the table if not specified
|
||||
if (empty($this->attributes)) {
|
||||
$this->attributes['class'] = 'flexible';
|
||||
$this->attributes['class'] = 'flexible table table-striped table-hover';
|
||||
} else if (!isset($this->attributes['class'])) {
|
||||
$this->attributes['class'] = 'flexible';
|
||||
$this->attributes['class'] = 'flexible table table-striped table-hover';
|
||||
} else if (!in_array('flexible', explode(' ', $this->attributes['class']))) {
|
||||
$this->attributes['class'] = trim('flexible ' . $this->attributes['class']);
|
||||
$this->attributes['class'] = trim('flexible table table-striped table-hover ' . $this->attributes['class']);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -156,7 +156,8 @@ class behat_permissions extends behat_base {
|
||||
public function capability_has_permission($capabilityname, $permission) {
|
||||
|
||||
// We already know the name, so we just need the value.
|
||||
$radioxpath = "//table[@class='rolecap']/descendant::input[@type='radio']" .
|
||||
$radioxpath = "//table[contains(concat(' ',
|
||||
normalize-space(@class), ' '), ' rolecap ')]/descendant::input[@type='radio']" .
|
||||
"[@name='" . $capabilityname . "'][@checked]";
|
||||
|
||||
$checkedradio = $this->find('xpath', $radioxpath);
|
||||
|
@ -73,11 +73,11 @@
|
||||
<td class="align-bottom">
|
||||
<div class="container-fluid">
|
||||
<div class="row-fluid">
|
||||
<div class="col-xs-6">
|
||||
<div class="col-6">
|
||||
{{#str}} loggedin, message {{/str}}
|
||||
{{#onlinehelphtml}}{{{.}}}{{/onlinehelphtml}}
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<div class="col-6">
|
||||
{{#str}} loggedoff, message {{/str}}
|
||||
{{#offlinehelphtml}}{{{.}}}{{/offlinehelphtml}}
|
||||
</div>
|
||||
|
@ -67,7 +67,7 @@
|
||||
<form>
|
||||
<div class="container-fluid">
|
||||
<div class="row-fluid">
|
||||
<div class="col-xs-6">
|
||||
<div class="col-6">
|
||||
{{#loggedin}}
|
||||
{{< core/hover_tooltip }}
|
||||
{{$anchor}}
|
||||
@ -92,7 +92,7 @@
|
||||
{{/ core/hover_tooltip }}
|
||||
{{/loggedin}}
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
<div class="col-6">
|
||||
{{#loggedoff}}
|
||||
{{< core/hover_tooltip }}
|
||||
{{$anchor}}
|
||||
|
@ -425,7 +425,7 @@ class mod_workshop_renderer extends plugin_renderer_base {
|
||||
}
|
||||
|
||||
$table = new html_table();
|
||||
$table->attributes['class'] = 'grading-report';
|
||||
$table->attributes['class'] = 'grading-report table-striped table-hover';
|
||||
|
||||
$sortbyfirstname = $this->helper_sortable_heading(get_string('firstname'), 'firstname', $options->sortby, $options->sorthow);
|
||||
$sortbylastname = $this->helper_sortable_heading(get_string('lastname'), 'lastname', $options->sortby, $options->sorthow);
|
||||
|
@ -68,7 +68,7 @@ class qbehaviour_adaptive_renderer extends qbehaviour_renderer {
|
||||
// Display the grading details from the last graded state.
|
||||
$class = $details->state->get_feedback_class();
|
||||
return html_writer::tag('div', get_string($class, 'question'),
|
||||
array('class' => 'correctness ' . $class))
|
||||
array('class' => 'correctness badge ' . $class))
|
||||
. html_writer::tag('div', $this->grading_details($details, $options),
|
||||
array('class' => 'gradingdetails'));
|
||||
}
|
||||
|
@ -58,7 +58,7 @@ class qbehaviour_adaptive_mark_display_test extends basic_testcase {
|
||||
}
|
||||
|
||||
public function test_correct_no_penalty() {
|
||||
$this->assertEquals('<div class="correctness correct">' . get_string('correct', 'question') . '</div>' .
|
||||
$this->assertEquals('<div class="correctness badge correct">' . get_string('correct', 'question') . '</div>' .
|
||||
'<div class="gradingdetails">' .
|
||||
get_string('gradingdetails', 'qbehaviour_adaptive',
|
||||
array('cur' => '1.00', 'raw' => '1.00', 'max' => '1.00')) . '</div>',
|
||||
@ -67,8 +67,8 @@ class qbehaviour_adaptive_mark_display_test extends basic_testcase {
|
||||
}
|
||||
|
||||
public function test_partial_first_try() {
|
||||
$this->assertEquals('<div class="correctness partiallycorrect">' . get_string('partiallycorrect', 'question') . '</div>' .
|
||||
'<div class="gradingdetails">' .
|
||||
$this->assertEquals('<div class="correctness badge partiallycorrect">' . get_string('partiallycorrect', 'question') .
|
||||
'</div><div class="gradingdetails">' .
|
||||
get_string('gradingdetails', 'qbehaviour_adaptive',
|
||||
array('cur' => '0.50', 'raw' => '0.50', 'max' => '1.00')) . ' ' .
|
||||
get_string('gradingdetailspenalty', 'qbehaviour_adaptive', '0.10') . '</div>',
|
||||
@ -78,8 +78,8 @@ class qbehaviour_adaptive_mark_display_test extends basic_testcase {
|
||||
|
||||
public function test_partial_second_try() {
|
||||
$mark = array('cur' => '0.80', 'raw' => '0.90', 'max' => '1.00');
|
||||
$this->assertEquals('<div class="correctness partiallycorrect">' . get_string('partiallycorrect', 'question') . '</div>' .
|
||||
'<div class="gradingdetails">' .
|
||||
$this->assertEquals('<div class="correctness badge partiallycorrect">' . get_string('partiallycorrect', 'question') .
|
||||
'</div><div class="gradingdetails">' .
|
||||
get_string('gradingdetails', 'qbehaviour_adaptive', $mark) . ' ' .
|
||||
get_string('gradingdetailsadjustment', 'qbehaviour_adaptive', $mark) . ' ' .
|
||||
get_string('gradingdetailspenalty', 'qbehaviour_adaptive', '0.10') . ' ' .
|
||||
@ -90,8 +90,8 @@ class qbehaviour_adaptive_mark_display_test extends basic_testcase {
|
||||
|
||||
public function test_correct_third_try() {
|
||||
$mark = array('cur' => '0.80', 'raw' => '1.00', 'max' => '1.00');
|
||||
$this->assertEquals('<div class="correctness partiallycorrect">' . get_string('partiallycorrect', 'question') . '</div>' .
|
||||
'<div class="gradingdetails">' .
|
||||
$this->assertEquals('<div class="correctness badge partiallycorrect">' . get_string('partiallycorrect', 'question') .
|
||||
'</div><div class="gradingdetails">' .
|
||||
get_string('gradingdetails', 'qbehaviour_adaptive', $mark) . ' ' .
|
||||
get_string('gradingdetailsadjustment', 'qbehaviour_adaptive', $mark) . '</div>',
|
||||
$this->renderer->render_adaptive_marks(new qbehaviour_adaptive_mark_details(
|
||||
@ -100,8 +100,8 @@ class qbehaviour_adaptive_mark_display_test extends basic_testcase {
|
||||
|
||||
public function test_correct_third_try_if_we_dont_increase_penalties_for_wrong() {
|
||||
$mark = array('cur' => '0.80', 'raw' => '1.00', 'max' => '1.00');
|
||||
$this->assertEquals('<div class="correctness partiallycorrect">' . get_string('partiallycorrect', 'question') . '</div>' .
|
||||
'<div class="gradingdetails">' .
|
||||
$this->assertEquals('<div class="correctness badge partiallycorrect">' . get_string('partiallycorrect', 'question') .
|
||||
'</div><div class="gradingdetails">' .
|
||||
get_string('gradingdetails', 'qbehaviour_adaptive', $mark) . ' ' .
|
||||
get_string('gradingdetailsadjustment', 'qbehaviour_adaptive', $mark) . '</div>',
|
||||
$this->renderer->render_adaptive_marks(new qbehaviour_adaptive_mark_details(
|
||||
|
@ -956,7 +956,7 @@ class view {
|
||||
$classes[] = 'dimmed_text';
|
||||
}
|
||||
if ($question->id == $this->lastchangedid) {
|
||||
$classes[] = 'highlight';
|
||||
$classes[] = 'highlight text-dark';
|
||||
}
|
||||
$classes[] = 'r' . ($rowcount % 2);
|
||||
return $classes;
|
||||
|
@ -118,7 +118,7 @@ class core_question_renderer extends plugin_renderer_base {
|
||||
array('class' => 'comment clearfix'));
|
||||
$output .= html_writer::nonempty_tag('div',
|
||||
$this->response_history($qa, $behaviouroutput, $qtoutput, $options),
|
||||
array('class' => 'history clearfix'));
|
||||
array('class' => 'history clearfix border p-2'));
|
||||
|
||||
$output .= html_writer::end_tag('div');
|
||||
$output .= html_writer::end_tag('div');
|
||||
|
@ -63,13 +63,13 @@ if ($courseid) {
|
||||
// Get the backup status.
|
||||
if ($backup->status == backup::STATUS_FINISHED_OK) {
|
||||
$status = $strok;
|
||||
$statusclass = 'backup-ok'; // Green.
|
||||
$statusclass = 'table-success'; // Green.
|
||||
} else if ($backup->status == backup::STATUS_AWAITING || $backup->status == backup::STATUS_EXECUTING) {
|
||||
$status = $strunfinished;
|
||||
$statusclass = 'backup-unfinished'; // Red.
|
||||
$statusclass = 'table-danger'; // Red.
|
||||
} else { // Else show error.
|
||||
$status = $strerror;
|
||||
$statusclass = 'backup-error'; // Red.
|
||||
$statusclass = 'table-danger'; // Red.
|
||||
}
|
||||
|
||||
$table = new html_table();
|
||||
@ -140,25 +140,25 @@ foreach ($rs as $backuprow) {
|
||||
// Prepare a cell to display the status of the entry.
|
||||
if ($backuprow->laststatus == backup_cron_automated_helper::BACKUP_STATUS_OK) {
|
||||
$status = $strok;
|
||||
$statusclass = 'backup-ok'; // Green.
|
||||
$statusclass = 'table-success'; // Green.
|
||||
} else if ($backuprow->laststatus == backup_cron_automated_helper::BACKUP_STATUS_UNFINISHED) {
|
||||
$status = $strunfinished;
|
||||
$statusclass = 'backup-unfinished'; // Red.
|
||||
$statusclass = 'table-danger'; // Red.
|
||||
} else if ($backuprow->laststatus == backup_cron_automated_helper::BACKUP_STATUS_SKIPPED) {
|
||||
$status = $strskipped;
|
||||
$statusclass = 'backup-skipped'; // Green.
|
||||
$statusclass = 'table-success'; // Green.
|
||||
} else if ($backuprow->laststatus == backup_cron_automated_helper::BACKUP_STATUS_WARNING) {
|
||||
$status = $strwarning;
|
||||
$statusclass = 'backup-warning'; // Orange.
|
||||
$statusclass = 'table-warning'; // Orange.
|
||||
} else if ($backuprow->laststatus == backup_cron_automated_helper::BACKUP_STATUS_NOTYETRUN) {
|
||||
$status = $strnotyetrun;
|
||||
$statusclass = 'backup-notyetrun';
|
||||
$statusclass = 'table-success';
|
||||
} else if ($backuprow->laststatus == backup_cron_automated_helper::BACKUP_STATUS_QUEUED) {
|
||||
$status = $strqueued;
|
||||
$statusclass = 'backup-queued';
|
||||
$statusclass = 'table-success';
|
||||
} else {
|
||||
$status = $strerror;
|
||||
$statusclass = 'backup-error'; // Red.
|
||||
$statusclass = 'table-danger'; // Red.
|
||||
}
|
||||
$status = new html_table_cell($status);
|
||||
$status->attributes = array('class' => $statusclass);
|
||||
|
@ -46,16 +46,16 @@
|
||||
}
|
||||
}}
|
||||
<tr data-prediction-id="{{predictionid}}" class="d-flex">
|
||||
<td class="insight-checkbox-cell col-xs-1{{^bulkactions}} hidden{{/bulkactions}}">
|
||||
<td class="insight-checkbox-cell col-1{{^bulkactions}} hidden{{/bulkactions}}">
|
||||
{{{toggleslave}}}
|
||||
</td>
|
||||
<td class="col-xs-8">
|
||||
<td class="col-8">
|
||||
{{#sampleimage}}
|
||||
{{{sampleimage}}}
|
||||
{{/sampleimage}}
|
||||
{{{sampledescription}}}
|
||||
</td>
|
||||
<td class="col-xs-3{{^actions}} hidden{{/actions}}">
|
||||
<td class="col-3{{^actions}} hidden{{/actions}}">
|
||||
{{#actions}}
|
||||
{{> core/action_menu}}
|
||||
{{/actions}}
|
||||
|
@ -108,9 +108,9 @@
|
||||
{{/showpredictionheading}}
|
||||
<thead>
|
||||
<tr class="d-flex">
|
||||
<th scope="col" class="col-xs-1{{^bulkactions}} hidden{{/bulkactions}}">{{{hiddencheckboxtoggleall}}}</th>
|
||||
<th scope="col" class="col-xs-8">{{#str}}description{{/str}}</th>
|
||||
<th scope="col" class="col-xs-3{{^actions}} hidden{{/actions}}">{{#str}}actions{{/str}}</th>
|
||||
<th scope="col" class="col-1{{^bulkactions}} hidden{{/bulkactions}}">{{{hiddencheckboxtoggleall}}}</th>
|
||||
<th scope="col" class="col-8">{{#str}}description{{/str}}</th>
|
||||
<th scope="col" class="col-3{{^actions}} hidden{{/actions}}">{{#str}}actions{{/str}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
@ -59,7 +59,7 @@ class report_log_table_log extends table_sql {
|
||||
public function __construct($uniqueid, $filterparams = null) {
|
||||
parent::__construct($uniqueid);
|
||||
|
||||
$this->set_attribute('class', 'reportlog generaltable generalbox');
|
||||
$this->set_attribute('class', 'reportlog generaltable generalbox table-sm');
|
||||
$this->filterparams = $filterparams;
|
||||
// Add course column if logs are displayed for site.
|
||||
$cols = array();
|
||||
|
@ -64,7 +64,7 @@ class report_loglive_table_log extends table_sql {
|
||||
public function __construct($uniqueid, $filterparams = null) {
|
||||
parent::__construct($uniqueid);
|
||||
|
||||
$this->set_attribute('class', 'reportloglive generaltable generalbox');
|
||||
$this->set_attribute('class', 'reportloglive generaltable table-sm');
|
||||
$this->set_attribute('aria-live', 'polite');
|
||||
$this->filterparams = $filterparams;
|
||||
// Add course column if logs are displayed for site.
|
||||
|
@ -117,10 +117,10 @@ class report_performance {
|
||||
*/
|
||||
public function add_issue_to_table(&$table, $issueresult, $detailed = false) {
|
||||
global $OUTPUT;
|
||||
$statusarr = array(self::REPORT_PERFORMANCE_OK => 'statusok',
|
||||
self::REPORT_PERFORMANCE_WARNING => 'statuswarning',
|
||||
self::REPORT_PERFORMANCE_SERIOUS => 'statusserious',
|
||||
self::REPORT_PERFORMANCE_CRITICAL => 'statuscritical');
|
||||
$statusarr = array(self::REPORT_PERFORMANCE_OK => 'badge badge-success',
|
||||
self::REPORT_PERFORMANCE_WARNING => 'badge badge-warning',
|
||||
self::REPORT_PERFORMANCE_SERIOUS => 'badge badge-danger',
|
||||
self::REPORT_PERFORMANCE_CRITICAL => 'badge badge-danger');
|
||||
|
||||
$row = array();
|
||||
if ($detailed) {
|
||||
|
@ -51,11 +51,11 @@ echo $OUTPUT->heading(get_string('pluginname', 'report_security'));
|
||||
|
||||
echo '<div id="timewarning">'.get_string('timewarning', 'report_security').'</div>';
|
||||
|
||||
$strok = '<span class="statusok">'.get_string('statusok', 'report_security').'</span>';
|
||||
$strinfo = '<span class="statusinfo">'.get_string('statusinfo', 'report_security').'</span>';
|
||||
$strwarning = '<span class="statuswarning">'.get_string('statuswarning', 'report_security').'</span>';
|
||||
$strserious = '<span class="statusserious">'.get_string('statusserious', 'report_security').'</span>';
|
||||
$strcritical = '<span class="statuscritical">'.get_string('statuscritical', 'report_security').'</span>';
|
||||
$strok = '<span class="badge badge-success">'.get_string('statusok', 'report_security').'</span>';
|
||||
$strinfo = '<span class="badge badge-info">'.get_string('statusinfo', 'report_security').'</span>';
|
||||
$strwarning = '<span class="badge badge-warning">'.get_string('statuswarning', 'report_security').'</span>';
|
||||
$strserious = '<span class="badge badge-danger">'.get_string('statusserious', 'report_security').'</span>';
|
||||
$strcritical = '<span class="badge badge-danger">'.get_string('statuscritical', 'report_security').'</span>';
|
||||
|
||||
$strissue = get_string('issue', 'report_security');
|
||||
$strstatus = get_string('status', 'report_security');
|
||||
|
@ -34,7 +34,6 @@ $breadcrumb-divider-rtl: "◀" !default;
|
||||
@import "moodle/templates";
|
||||
@import "moodle/undo";
|
||||
@import "moodle/debug";
|
||||
@import "moodle/expendable";
|
||||
@import "moodle/sticky-footer";
|
||||
@import "moodle/popover-region";
|
||||
@import "moodle/tool_usertours";
|
||||
|
@ -61,47 +61,10 @@
|
||||
display: none;
|
||||
}
|
||||
|
||||
.statusok {
|
||||
@extend .tag;
|
||||
@extend .tag-success;
|
||||
}
|
||||
|
||||
.statuswarning {
|
||||
@extend .tag;
|
||||
@extend .tag-warning;
|
||||
}
|
||||
|
||||
.statusserious,
|
||||
.statuscritical {
|
||||
@extend .tag;
|
||||
@extend .tag-danger;
|
||||
}
|
||||
|
||||
#page-admin-report-capability-index #capabilitysearch {
|
||||
width: 30em;
|
||||
}
|
||||
|
||||
#page-admin-report-backups-index .backup-error,
|
||||
#page-admin-report-backups-index .backup-unfinished {
|
||||
@extend .tag-danger;
|
||||
}
|
||||
|
||||
#page-admin-report-backups-index .backup-skipped,
|
||||
#page-admin-report-backups-index .backup-ok,
|
||||
#page-admin-report-backups-index .backup-notyetrun,
|
||||
#page-admin-report-backups-index .backup-queued {
|
||||
@extend .tag-success;
|
||||
}
|
||||
|
||||
#page-admin-report-backups-index .backup-warning {
|
||||
@extend .tag-warning;
|
||||
}
|
||||
|
||||
#page-admin-qtypes .disabled,
|
||||
#page-admin-qbehaviours .disabled {
|
||||
@extend .text-muted;
|
||||
}
|
||||
|
||||
#page-admin-qtypes #qtypes div,
|
||||
#page-admin-qtypes #qtypes form,
|
||||
#page-admin-qbehaviours #qbehaviours div,
|
||||
@ -184,24 +147,6 @@
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
#page-admin-index .releasenoteslink,
|
||||
#page-admin-index .adminwarning,
|
||||
#page-admin-index .adminerror {
|
||||
@extend .alert;
|
||||
}
|
||||
|
||||
#page-admin-index .adminwarning {
|
||||
@extend .alert-warning;
|
||||
}
|
||||
|
||||
#page-admin-index .adminerror {
|
||||
@extend .alert-danger;
|
||||
}
|
||||
|
||||
#page-admin-index .releasenoteslink {
|
||||
@extend .alert-info;
|
||||
}
|
||||
|
||||
#page-admin-index .adminwarning.availableupdatesinfo .moodleupdateinfo span {
|
||||
display: block;
|
||||
}
|
||||
@ -210,10 +155,6 @@
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
#page-admin-index .updateplugin .updatepluginconfirmexternal {
|
||||
@extend .tag-warning;
|
||||
}
|
||||
|
||||
#page-admin-user-user_bulk #users .fgroup {
|
||||
white-space: nowrap;
|
||||
}
|
||||
@ -470,19 +411,6 @@
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#page-admin-index .adminwarning.availableupdatesinfo .moodleupdateinfo.maturity200 .info.release {
|
||||
@extend .tag-info;
|
||||
}
|
||||
|
||||
#page-admin-index .adminwarning.availableupdatesinfo .moodleupdateinfo.maturity100 .info.release,
|
||||
#page-admin-index .adminwarning.availableupdatesinfo .moodleupdateinfo.maturity150 .info.release {
|
||||
@extend .tag-warning;
|
||||
}
|
||||
|
||||
#page-admin-index .adminwarning.availableupdatesinfo .moodleupdateinfo.maturity50 .info.release {
|
||||
@extend .tag-danger;
|
||||
}
|
||||
|
||||
// Plugins overview page at admin/plugins.php
|
||||
#page-admin-plugins {
|
||||
#plugins-overview-panel {
|
||||
@ -524,7 +452,7 @@
|
||||
.pluginname {
|
||||
.componentname {
|
||||
font-size: $font-size-sm;
|
||||
@extend .text-muted;
|
||||
color: $text-muted;
|
||||
margin-left: 22px;
|
||||
}
|
||||
}
|
||||
@ -532,7 +460,7 @@
|
||||
.version {
|
||||
.versionnumber {
|
||||
font-size: $font-size-sm;
|
||||
@extend .text-muted;
|
||||
color: $text-muted;
|
||||
}
|
||||
}
|
||||
|
||||
@ -549,7 +477,7 @@
|
||||
|
||||
.requiredby {
|
||||
font-size: $font-size-sm;
|
||||
@extend .text-muted;
|
||||
color: $text-muted;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -559,7 +487,7 @@
|
||||
// Plugins check page displayed during upgrade.
|
||||
#plugins-check-page {
|
||||
.page-description {
|
||||
@extend .text-muted;
|
||||
color: $text-muted;
|
||||
}
|
||||
|
||||
// Check for updates.
|
||||
@ -598,7 +526,7 @@
|
||||
// Plugins check table.
|
||||
#plugins-check {
|
||||
.requires-ok {
|
||||
@extend .text-muted;
|
||||
color: $text-muted;
|
||||
}
|
||||
|
||||
.status-missing,
|
||||
@ -610,7 +538,7 @@
|
||||
|
||||
.displayname {
|
||||
.plugindir {
|
||||
@extend .text-muted;
|
||||
color: $text-muted;
|
||||
font-size: $font-size-sm;
|
||||
}
|
||||
}
|
||||
@ -652,7 +580,7 @@
|
||||
#plugins-check-available-dependencies {
|
||||
.displayname .component {
|
||||
font-size: $font-size-sm;
|
||||
@extend .text-muted;
|
||||
color: $text-muted;
|
||||
}
|
||||
|
||||
.info .actions {
|
||||
@ -730,12 +658,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
.uninstalldeleteconfirmexternal {
|
||||
@extend .alert-warning;
|
||||
padding: 0.5em 1em;
|
||||
margin: 5px 0 10px 0;
|
||||
}
|
||||
|
||||
#page-admin-index .upgradepluginsinfo {
|
||||
text-align: center;
|
||||
}
|
||||
@ -750,12 +672,6 @@
|
||||
font-size: $font-size-sm;
|
||||
}
|
||||
|
||||
#page-admin-mnet-peers .mform .deletedhostinfo {
|
||||
@extend .form-control-danger;
|
||||
padding: 4px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
#core-cache-plugin-summaries table,
|
||||
#core-cache-store-summaries table {
|
||||
width: 100%;
|
||||
@ -784,28 +700,12 @@
|
||||
right: 0;
|
||||
overflow: hidden;
|
||||
z-index: $zindex-dropdown;
|
||||
|
||||
&.error {
|
||||
@extend .form-control-danger;
|
||||
}
|
||||
|
||||
&.warning {
|
||||
@extend .form-control-warning;
|
||||
}
|
||||
}
|
||||
|
||||
#adminsettings .form-overridden {
|
||||
@extend .alert-info;
|
||||
}
|
||||
|
||||
.modal.modal-in-page {
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
#overriderolestable .overriddenpermission {
|
||||
@extend .table-warning;
|
||||
}
|
||||
|
||||
#page-admin-search {
|
||||
.adminpagetitle {
|
||||
margin-bottom: 0;
|
||||
@ -818,8 +718,6 @@
|
||||
padding: 0;
|
||||
margin: 0 0 1.5rem 0;
|
||||
li {
|
||||
@extend .text-muted;
|
||||
@extend .small;
|
||||
+ li:before {
|
||||
padding-right: 0.5rem;
|
||||
padding-left: 0.5rem;
|
||||
|
@ -123,7 +123,7 @@
|
||||
margin-bottom: $spacer-y;
|
||||
|
||||
.backup_stage {
|
||||
@extend .text-muted;
|
||||
color: $text-muted;
|
||||
|
||||
&.backup_stage_current {
|
||||
font-weight: bold;
|
||||
|
@ -2,41 +2,51 @@
|
||||
|
||||
// Well -> Panel -> Card. We skipped panel (BS3) so lets just support well and card.
|
||||
.well {
|
||||
@extend .card;
|
||||
border: $border-width solid $border-color;
|
||||
padding: $card-spacer-x;
|
||||
}
|
||||
|
||||
// Some things just got renamed.
|
||||
.img-responsive {
|
||||
@extend .img-fluid;
|
||||
@include img-fluid;
|
||||
}
|
||||
|
||||
.text-error {
|
||||
@extend .text-danger;
|
||||
color: map-get($theme-colors, 'danger');
|
||||
}
|
||||
|
||||
.btn-default {
|
||||
@extend .btn-secondary;
|
||||
@include button-variant(map-get($theme-colors, 'secondary'), map-get($theme-colors, 'secondary'));
|
||||
}
|
||||
|
||||
.label {
|
||||
@extend .tag;
|
||||
@include tag-variant($tag-default-bg);
|
||||
display: inline-block;
|
||||
padding: $badge-padding-y $badge-padding-x;
|
||||
@include font-size($badge-font-size);
|
||||
font-weight: $badge-font-weight;
|
||||
line-height: 1;
|
||||
text-align: center;
|
||||
white-space: nowrap;
|
||||
vertical-align: baseline;
|
||||
@include border-radius($badge-border-radius);
|
||||
@include transition($badge-transition);
|
||||
@include badge-variant($tag-default-bg);
|
||||
}
|
||||
|
||||
.label-success {
|
||||
@include tag-variant($tag-success-bg);
|
||||
@include badge-variant($tag-success-bg);
|
||||
}
|
||||
|
||||
.label-info {
|
||||
@include tag-variant($tag-info-bg);
|
||||
@include badge-variant($tag-info-bg);
|
||||
}
|
||||
|
||||
.label-warning {
|
||||
@include tag-variant($tag-warning-bg);
|
||||
@include badge-variant($tag-warning-bg);
|
||||
}
|
||||
|
||||
.label-important {
|
||||
@include tag-variant($tag-danger-bg);
|
||||
@include badge-variant($tag-danger-bg);
|
||||
}
|
||||
|
||||
// Floats.
|
||||
|
@ -215,13 +215,6 @@ $bs4aspacers: map-merge((
|
||||
}
|
||||
}
|
||||
|
||||
// Adding compatibility for col-xs-* classes.
|
||||
@for $i from 1 through $grid-columns {
|
||||
.col-xs-#{$i} {
|
||||
@extend .col-#{$i};
|
||||
}
|
||||
}
|
||||
|
||||
input[disabled] {
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
@ -13,14 +13,6 @@
|
||||
p.arrow_button {
|
||||
margin-top: 5em;
|
||||
text-align: center;
|
||||
|
||||
#remove {
|
||||
margin: 3em auto 5em;
|
||||
}
|
||||
|
||||
input {
|
||||
@extend .btn-block;
|
||||
}
|
||||
}
|
||||
|
||||
#addcontrols {
|
||||
@ -37,7 +29,7 @@ p.arrow_button {
|
||||
#addcontrols,
|
||||
#removecontrols {
|
||||
input {
|
||||
@extend .btn-block;
|
||||
width: 100%;
|
||||
margin: auto;
|
||||
}
|
||||
}
|
||||
@ -47,8 +39,6 @@ p.arrow_button {
|
||||
}
|
||||
|
||||
.btn.btn-icon {
|
||||
@extend .btn-link;
|
||||
|
||||
height: ($icon-width + 20px);
|
||||
width: ($icon-width + 20px);
|
||||
font-size: $icon-width;
|
||||
|
@ -213,12 +213,6 @@ $calendarEventUserColor: #dce7ec !default; // Pale blue.
|
||||
border-color: $calendarEventUserColor;
|
||||
}
|
||||
|
||||
.calendar-controls {
|
||||
.current {
|
||||
@extend .h2;
|
||||
}
|
||||
}
|
||||
|
||||
.calendartable {
|
||||
td,
|
||||
li {
|
||||
@ -275,7 +269,7 @@ $calendarEventUserColor: #dce7ec !default; // Pale blue.
|
||||
|
||||
td {
|
||||
&.weekend {
|
||||
@extend .text-muted;
|
||||
color: $text-muted;
|
||||
}
|
||||
|
||||
a {
|
||||
|
@ -24,7 +24,7 @@
|
||||
}
|
||||
// Override the default padding added by function $OUTPUT->box();
|
||||
#chat-input-area.py-3 {
|
||||
@extend .p-0;
|
||||
padding: 0 !important; /* stylelint-disable-line declaration-no-important */
|
||||
}
|
||||
#chat-input-area table.generaltable,
|
||||
#chat-input-area table.generaltable td.cell {
|
||||
|
@ -85,7 +85,7 @@ a.dimmed_text:visited,
|
||||
.usersuspended a:visited,
|
||||
.dimmed_category,
|
||||
.dimmed_category a {
|
||||
@extend .text-muted;
|
||||
color: $text-muted;
|
||||
}
|
||||
|
||||
.unlist,
|
||||
@ -118,16 +118,16 @@ a.dimmed_text:visited,
|
||||
|
||||
.red,
|
||||
.notifyproblem {
|
||||
@extend .text-warning;
|
||||
color: map-get($theme-colors, 'warning');
|
||||
}
|
||||
|
||||
.green,
|
||||
.notifysuccess {
|
||||
@extend .text-success;
|
||||
color: map-get($theme-colors, 'success');
|
||||
}
|
||||
|
||||
.highlight {
|
||||
@extend .text-info;
|
||||
color: map-get($theme-colors, 'info');
|
||||
}
|
||||
|
||||
.fitem.advanced .text-info {
|
||||
@ -389,6 +389,7 @@ a.skip:active {
|
||||
width: auto;
|
||||
min-width: 80%;
|
||||
margin: 0 auto;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.groupmanagementtable #removeselect_wrapper,
|
||||
@ -592,7 +593,7 @@ table.mod_index {
|
||||
* Completion progress report
|
||||
*/
|
||||
.completion-expired {
|
||||
@extend .text-warning;
|
||||
color: map-get($theme-colors, 'warning');
|
||||
}
|
||||
|
||||
.completion-expected {
|
||||
@ -689,7 +690,7 @@ span.flagged-tag,
|
||||
tr.flagged-tag,
|
||||
span.flagged-tag a,
|
||||
tr.flagged-tag a {
|
||||
@extend .text-warning;
|
||||
color: map-get($theme-colors, 'warning');
|
||||
}
|
||||
|
||||
.tag-management-table td,
|
||||
@ -766,7 +767,7 @@ tr.flagged-tag a {
|
||||
}
|
||||
|
||||
.tag_feed .media .muted a {
|
||||
@extend .text-muted;
|
||||
color: $text-muted;
|
||||
}
|
||||
|
||||
.tag_cloud {
|
||||
@ -988,22 +989,6 @@ tr.flagged-tag a {
|
||||
margin-left: 3px;
|
||||
}
|
||||
|
||||
#page-enrol-users {
|
||||
.enrol_user_buttons {
|
||||
text-align: right;
|
||||
|
||||
}
|
||||
|
||||
#filterform {
|
||||
@extend .card;
|
||||
@extend .card-block;
|
||||
}
|
||||
}
|
||||
|
||||
#page-enrol-users .enrol-users-page-action input {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
.corelightbox {
|
||||
background-color: #ccc;
|
||||
position: absolute;
|
||||
@ -1155,12 +1140,10 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.moodle-dialogue-base .moodle-dialogue-wrap.moodle-dialogue-content {
|
||||
@extend .modal-content;
|
||||
}
|
||||
|
||||
.moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd {
|
||||
@extend .modal-header;
|
||||
display: flex;
|
||||
padding: 1rem 1rem;
|
||||
border-bottom: 1px solid #dee2e6;
|
||||
}
|
||||
|
||||
.moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd.yui3-widget-hd {
|
||||
@ -1173,7 +1156,6 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
|
||||
}
|
||||
|
||||
.moodle-dialogue-base .moodle-dialogue-wrap .moodle-dialogue-hd h1 {
|
||||
@extend .modal-title;
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
|
||||
@ -1182,12 +1164,24 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
|
||||
left: 0;
|
||||
right: auto;
|
||||
*/
|
||||
padding: $spacer;
|
||||
padding: 0;
|
||||
position: relative;
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
.moodle-dialogue-base .closebutton {
|
||||
@extend .close;
|
||||
padding: $modal-header-padding;
|
||||
margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) auto;
|
||||
position: relative;
|
||||
background-color: transparent;
|
||||
border: 0;
|
||||
background-image: none;
|
||||
box-shadow: none;
|
||||
opacity: 0.7;
|
||||
&:hover,
|
||||
&:active {
|
||||
opacity: 1;
|
||||
}
|
||||
&::after {
|
||||
content: "×";
|
||||
}
|
||||
@ -1195,6 +1189,9 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
|
||||
|
||||
.moodle-dialogue-base .moodle-dialogue .moodle-dialogue-bd {
|
||||
padding: 0.5rem;
|
||||
body {
|
||||
background-color: $body-bg;
|
||||
}
|
||||
}
|
||||
|
||||
.moodle-dialogue-base .moodle-dialogue-fullscreen .moodle-dialogue-content {
|
||||
@ -1229,7 +1226,7 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
|
||||
}
|
||||
|
||||
.moodle-dialogue-exception .param-stacktrace .stacktrace-line {
|
||||
@extend .text-warning;
|
||||
color: map-get($theme-colors, 'warning');
|
||||
font-size: $font-size-sm;
|
||||
}
|
||||
|
||||
@ -1239,10 +1236,6 @@ body#page-lib-editor-tinymce-plugins-moodlemedia-preview {
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
.moodle-dialogue-base .moodle-dialogue .moodle-dialogue-content .moodle-dialogue-ft {
|
||||
@extend .modal-footer;
|
||||
}
|
||||
|
||||
.moodle-dialogue-base .moodle-dialogue .moodle-dialogue-content .moodle-dialogue-ft:empty {
|
||||
display: none;
|
||||
}
|
||||
@ -1555,13 +1548,6 @@ body.jsenabled .formlisting {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Badges styles */
|
||||
table.collection {
|
||||
@extend .table;
|
||||
@extend .table-bordered;
|
||||
@extend .table-striped;
|
||||
}
|
||||
|
||||
a.criteria-action {
|
||||
padding: 0 3px;
|
||||
float: right;
|
||||
@ -1684,15 +1670,15 @@ ul.badges {
|
||||
}
|
||||
|
||||
.connected {
|
||||
@extend .text-success;
|
||||
color: map-get($theme-colors, 'success');
|
||||
}
|
||||
|
||||
.notconnected {
|
||||
@extend .text-danger;
|
||||
color: map-get($theme-colors, 'danger');
|
||||
}
|
||||
|
||||
.connecting {
|
||||
@extend .text-warning;
|
||||
color: map-get($theme-colors, 'warning');
|
||||
}
|
||||
|
||||
#page-badges-award .recipienttable tr td {
|
||||
|
@ -106,7 +106,7 @@ body:not(.editing) .sitetopic ul.section {
|
||||
}
|
||||
|
||||
.stealth {
|
||||
@extend .text-muted;
|
||||
color: $text-muted;
|
||||
}
|
||||
a.stealth,
|
||||
a.stealth:hover {
|
||||
@ -259,7 +259,7 @@ body:not(.editing) .sitetopic ul.section {
|
||||
}
|
||||
|
||||
.course-content .section-summary .section-summary-activities .activity-count {
|
||||
@extend .text-muted;
|
||||
color: $text-muted;
|
||||
font-size: $font-size-sm;
|
||||
margin: 3px;
|
||||
white-space: nowrap;
|
||||
@ -323,7 +323,7 @@ body:not(.editing) .sitetopic ul.section {
|
||||
.sectionname > span,
|
||||
.content > div.summary,
|
||||
.activity .activityinstance {
|
||||
@extend .text-muted;
|
||||
color: $text-muted;
|
||||
}
|
||||
}
|
||||
|
||||
@ -905,11 +905,11 @@ span.editinstructions {
|
||||
}
|
||||
// The category or course is hidden.
|
||||
&[data-visible="0"] {
|
||||
@extend .text-muted;
|
||||
color: $text-muted;
|
||||
|
||||
> div {
|
||||
> a {
|
||||
@extend .text-muted;
|
||||
color: $text-muted;
|
||||
}
|
||||
|
||||
.item-actions {
|
||||
@ -1057,7 +1057,7 @@ span.editinstructions {
|
||||
text-align: center;
|
||||
|
||||
&.dimmed {
|
||||
@extend .text-muted;
|
||||
color: $text-muted;
|
||||
margin: 0.4rem 1rem 0.45rem;
|
||||
}
|
||||
}
|
||||
|
@ -1,15 +1,8 @@
|
||||
table#explaincaps,
|
||||
table#defineroletable,
|
||||
table.grading-report,
|
||||
table#listdirectories,
|
||||
table.rolecaps,
|
||||
table.userenrolment,
|
||||
form#movecourses table,
|
||||
#page-admin-course-index .editcourse,
|
||||
.forumheaderlist,
|
||||
table.flexible,
|
||||
.generaltable {
|
||||
@extend .table-striped;
|
||||
tbody tr:nth-of-type(#{$table-striped-order}) {
|
||||
background-color: $table-accent-bg;
|
||||
}
|
||||
}
|
||||
|
||||
table {
|
||||
@ -28,17 +21,23 @@ table {
|
||||
#page-admin-user table,
|
||||
.environmenttable,
|
||||
.category_subcategories,
|
||||
.rcs-results,
|
||||
table#listdirectories {
|
||||
@extend .table-sm;
|
||||
.rcs-results {
|
||||
th,
|
||||
td {
|
||||
padding: $table-cell-padding-sm;
|
||||
}
|
||||
}
|
||||
|
||||
table.grading-report,
|
||||
.forumheaderlist,
|
||||
.generaltable,
|
||||
table.flexible,
|
||||
.category_subcategories,
|
||||
table#modules,
|
||||
table#permissions {
|
||||
@extend .table-hover;
|
||||
tbody tr {
|
||||
@include hover {
|
||||
color: $table-hover-color;
|
||||
background-color: $table-hover-bg;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -115,12 +115,15 @@
|
||||
}
|
||||
|
||||
.fp-viewbar:not(.disabled) a.checked {
|
||||
@extend .btn-secondary.active;
|
||||
background-color: darken(map-get($theme-colors, 'secondary'), 10%);
|
||||
color: color-yiq(darken(map-get($theme-colors, 'secondary'), 10%));
|
||||
border-color: darken(map-get($theme-colors, 'secondary'), 12.5%);
|
||||
}
|
||||
|
||||
.fp-viewbar.disabled a {
|
||||
@extend .btn.disabled;
|
||||
@extend .btn-secondary.disabled;
|
||||
pointer-events: none;
|
||||
opacity: $btn-disabled-opacity;
|
||||
@include box-shadow(none);
|
||||
}
|
||||
|
||||
.file-picker .fp-clear-left {
|
||||
@ -621,7 +624,7 @@ a.ygtvspacer:hover {
|
||||
}
|
||||
|
||||
.fitem.disabled .fp-btn-choose {
|
||||
@extend .text-muted;
|
||||
color: $text-muted;
|
||||
}
|
||||
|
||||
.fitem.disabled .filepicker-filelist .filepicker-filename {
|
||||
|
@ -90,7 +90,7 @@ input#id_externalurl {
|
||||
|
||||
.form-defaultinfo,
|
||||
.form-label .form-shortname {
|
||||
@extend .text-muted;
|
||||
color: $text-muted;
|
||||
}
|
||||
|
||||
.form-label .form-shortname {
|
||||
@ -107,7 +107,7 @@ input#id_externalurl {
|
||||
}
|
||||
|
||||
.formsettingheading .form-horizontal {
|
||||
@extend .text-muted;
|
||||
color: $text-muted;
|
||||
}
|
||||
|
||||
// Moodle doesn't differentiate between what Bootstrap calls
|
||||
@ -115,7 +115,7 @@ input#id_externalurl {
|
||||
// uneditable looks ugly, styling both as form help is fairly
|
||||
// subtle in it's impact. Going for the latter as the best option.
|
||||
.no-felement.fstatic {
|
||||
@extend .text-muted;
|
||||
color: $text-muted;
|
||||
padding-top: 5px;
|
||||
}
|
||||
|
||||
@ -123,15 +123,6 @@ input#id_externalurl {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
// Pale grey container for submit buttons.
|
||||
.form-buttons,
|
||||
.path-admin .buttons,
|
||||
.fp-content-center form + div,
|
||||
div.backup-section + form {
|
||||
@extend .form-group;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.form-item .form-setting .defaultsnext > input {
|
||||
display: inline-block;
|
||||
}
|
||||
@ -471,20 +462,20 @@ textarea[data-auto-rows] {
|
||||
.input-group {
|
||||
&.form-inset {
|
||||
.form-inset-item {
|
||||
@extend .position-absolute;
|
||||
position: absolute;
|
||||
padding-top: calc(#{$input-padding-y} + #{$input-border-width});
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
&.form-inset-left {
|
||||
.form-control {
|
||||
@extend .pl-4;
|
||||
padding-left: $spacer * 1.5;
|
||||
}
|
||||
}
|
||||
|
||||
&.form-inset-right {
|
||||
.form-control {
|
||||
@extend .pr-4;
|
||||
padding-right: $spacer * 1.5;
|
||||
}
|
||||
.form-inset-item {
|
||||
right: 0;
|
||||
|
@ -70,8 +70,6 @@
|
||||
margin-bottom: 1em;
|
||||
|
||||
.action {
|
||||
@extend .btn;
|
||||
@extend .btn-lg;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
vertical-align: top;
|
||||
@ -190,7 +188,6 @@
|
||||
vertical-align: middle;
|
||||
|
||||
input {
|
||||
@extend .btn;
|
||||
background-position: 0 0;
|
||||
height: 30px;
|
||||
margin-right: 5px;
|
||||
@ -201,7 +198,6 @@
|
||||
|
||||
.addcriterion {
|
||||
margin-left: 5px;
|
||||
@extend .btn;
|
||||
padding: 0;
|
||||
|
||||
input {
|
||||
|
@ -293,7 +293,7 @@ $author-image-margin-sm: 8px;
|
||||
|
||||
/** Don't show the discussion locked alert in this mode because it's already indicated with a badge. */
|
||||
.alert.discussionlocked {
|
||||
@extend .sr-only;
|
||||
@include sr-only();
|
||||
}
|
||||
|
||||
/** Fix muted text contrast ratios for accessibility. */
|
||||
@ -312,7 +312,7 @@ $author-image-margin-sm: 8px;
|
||||
|
||||
/** Make the tag list text screen reader visible only */
|
||||
.tag_list > b {
|
||||
@extend .sr-only;
|
||||
@include sr-only();
|
||||
}
|
||||
|
||||
:target > .focus-target {
|
||||
@ -1323,7 +1323,9 @@ $popout-header-height: 4rem;
|
||||
|
||||
|
||||
.path-mod-assign [data-region="grade-panel"] .popout > .col-md-3 {
|
||||
@extend .modal-header;
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
justify-content: space-between;
|
||||
font-size: $popout-header-font-size;
|
||||
}
|
||||
|
||||
@ -1383,8 +1385,12 @@ $popout-header-height: 4rem;
|
||||
}
|
||||
|
||||
.assignfeedback_editpdf_widget .label {
|
||||
@extend .alert;
|
||||
@extend .alert-info;
|
||||
position: relative;
|
||||
padding: $alert-padding-y $alert-padding-x;
|
||||
margin-bottom: $alert-margin-bottom;
|
||||
border: $alert-border-width solid transparent;
|
||||
@include border-radius($alert-border-radius);
|
||||
@include alert-variant(theme-color-level('info', $alert-bg-level), theme-color-level('info', $alert-border-level), theme-color-level('info', $alert-color-level)); /* stylelint-disable-line max-line-length */
|
||||
}
|
||||
|
||||
.assignfeedback_editpdf_menu {
|
||||
|
@ -174,10 +174,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
.highlight {
|
||||
@extend .text-dark;
|
||||
}
|
||||
|
||||
label {
|
||||
margin: 0;
|
||||
display: block;
|
||||
@ -293,15 +289,19 @@ body.path-question-type {
|
||||
.que .formulation,
|
||||
.que .outcome,
|
||||
.que .comment {
|
||||
@extend .alert;
|
||||
position: relative;
|
||||
padding: $alert-padding-y $alert-padding-x;
|
||||
margin-bottom: $alert-margin-bottom;
|
||||
border: $alert-border-width solid transparent;
|
||||
@include border-radius($alert-border-radius);
|
||||
}
|
||||
.que .outcome,
|
||||
.que .comment {
|
||||
@extend .alert-warning;
|
||||
@include alert-variant(theme-color-level('warning', $alert-bg-level), theme-color-level('warning', $alert-border-level), theme-color-level('warning', $alert-color-level)); /* stylelint-disable-line max-line-length */
|
||||
}
|
||||
|
||||
.que .formulation {
|
||||
@extend .alert-info;
|
||||
@include alert-variant(theme-color-level('info', $alert-bg-level), theme-color-level('info', $alert-border-level), theme-color-level('info', $alert-color-level)); /* stylelint-disable-line max-line-length */
|
||||
}
|
||||
|
||||
.que.multichoice .answer div.r0 .icon.fa-check,
|
||||
@ -339,11 +339,7 @@ body.path-question-type {
|
||||
}
|
||||
|
||||
.que .comment {
|
||||
@extend .alert-success;
|
||||
}
|
||||
|
||||
.que .history {
|
||||
@extend .card;
|
||||
@include alert-variant(theme-color-level('success', $alert-bg-level), theme-color-level('success', $alert-border-level), theme-color-level('success', $alert-color-level)); /* stylelint-disable-line max-line-length */
|
||||
}
|
||||
|
||||
.que .ablock {
|
||||
@ -366,7 +362,6 @@ body.path-question-type {
|
||||
}
|
||||
|
||||
.que .correctness {
|
||||
@extend .tag;
|
||||
&.correct {
|
||||
background-color: $state-success-text;
|
||||
}
|
||||
@ -384,7 +379,7 @@ body.path-question-type {
|
||||
}
|
||||
|
||||
.que .validationerror {
|
||||
@extend .text-danger;
|
||||
color: map-get($theme-colors, 'danger');
|
||||
}
|
||||
// copied from .formFieldState in mixin.less
|
||||
// and made more specific
|
||||
|
@ -1,6 +1,48 @@
|
||||
table.flexible,
|
||||
.generaltable {
|
||||
@extend .table;
|
||||
width: 100%;
|
||||
margin-bottom: $spacer;
|
||||
color: $table-color;
|
||||
background-color: $table-bg; // Reset for nesting within parents with `background-color`.
|
||||
|
||||
th,
|
||||
td {
|
||||
padding: $table-cell-padding;
|
||||
vertical-align: top;
|
||||
border-top: $table-border-width solid $table-border-color;
|
||||
}
|
||||
|
||||
thead th {
|
||||
vertical-align: bottom;
|
||||
border-bottom: (2 * $table-border-width) solid $table-border-color;
|
||||
}
|
||||
|
||||
tbody + tbody {
|
||||
border-top: (2 * $table-border-width) solid $table-border-color;
|
||||
}
|
||||
|
||||
tbody tr:nth-of-type(#{$table-striped-order}) {
|
||||
background-color: $table-accent-bg;
|
||||
}
|
||||
&.table-sm {
|
||||
th,
|
||||
td {
|
||||
padding: $table-cell-padding-sm;
|
||||
}
|
||||
}
|
||||
tbody tr {
|
||||
@include hover {
|
||||
color: $table-hover-color;
|
||||
background-color: $table-hover-bg;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
table {
|
||||
caption {
|
||||
font-size: 24px;
|
||||
font-weight: bold;
|
||||
line-height: 42px;
|
||||
text-align: left;
|
||||
caption-side: top;
|
||||
}
|
||||
}
|
||||
// fancier table styles moved to expendable.less
|
||||
// to shift after 4096 selector break
|
||||
|
@ -15,18 +15,6 @@
|
||||
|
||||
.userprofile .profile_tree {
|
||||
column-count: 2;
|
||||
|
||||
section {
|
||||
@extend .card;
|
||||
@extend .card-body;
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
margin-bottom: 1rem;
|
||||
|
||||
h3 {
|
||||
@extend .lead;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// This rule overrides the automatic no-overflow on the participants table. It kills the auto-complete.
|
||||
@ -217,10 +205,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
.groupinfobox {
|
||||
@extend .card;
|
||||
}
|
||||
|
||||
.groupinfobox .left {
|
||||
padding: 10px;
|
||||
width: 100px;
|
||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -60,11 +60,15 @@ class renderer extends \plugin_renderer_base {
|
||||
public function render_category(category $category) {
|
||||
$classes = $category->classes;
|
||||
if (empty($classes)) {
|
||||
$return = \html_writer::start_tag('section', array('class' => 'node_category'));
|
||||
$return = \html_writer::start_tag('section',
|
||||
array('class' => 'node_category card d-inline-block w-100 mb-3'));
|
||||
$return .= \html_writer::start_tag('div', array('class' => 'card-body'));
|
||||
} else {
|
||||
$return = \html_writer::start_tag('section', array('class' => 'node_category ' . $classes));
|
||||
$return = \html_writer::start_tag('section',
|
||||
array('class' => 'node_category card d-inline-block w-100 mb-3' . $classes));
|
||||
$return .= \html_writer::start_tag('div', array('class' => 'card-body'));
|
||||
}
|
||||
$return .= \html_writer::tag('h3', $category->title);
|
||||
$return .= \html_writer::tag('h3', $category->title, array('class' => 'lead'));
|
||||
$nodes = $category->nodes;
|
||||
if (empty($nodes)) {
|
||||
// No nodes, nothing to render.
|
||||
@ -75,6 +79,7 @@ class renderer extends \plugin_renderer_base {
|
||||
$return .= $this->render($node);
|
||||
}
|
||||
$return .= \html_writer::end_tag('ul');
|
||||
$return .= \html_writer::end_tag('div');
|
||||
$return .= \html_writer::end_tag('section');
|
||||
return $return;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user