MDL-75670 theme: Refactor form-inline helper class dropped in BS5

- Replace .form-inline Bootstrap helper class with .d-flex.flex-wrap.align-items-center
- Refactor .form-inline occurrences in SCSS files or remove when unneeded
This commit is contained in:
Mikel Martín 2023-12-13 15:41:47 +01:00
parent 4ce883ae21
commit d0d62fd06c
94 changed files with 165 additions and 318 deletions

View File

@ -663,7 +663,7 @@ class core_role_define_role_table_advanced extends core_role_capability_table_wi
} else {
$extraclass = '';
}
echo '<div class="felement col-md-9 form-inline' . $extraclass . '">';
echo '<div class="felement col-md-9 d-flex flex-wrap align-items-center' . $extraclass . '">';
echo $field;
if (isset($this->errors[$name])) {
echo $OUTPUT->error_text($this->errors[$name]);

View File

@ -45,7 +45,7 @@ M.core_role.init_cap_table_filter = function(Y, tableid, contextid) {
this.table = Y.one('#'+this.tableid);
// Create a div to hold the search UI.
this.div = Y.Node.create('<div class="capabilitysearchui form-inline"></div>').setStyles({
this.div = Y.Node.create('<div class="capabilitysearchui d-flex flex-wrap align-items-center"></div>').setStyles({
width : this.table.get('offsetWidth'),
marginLeft : 'auto',
marginRight : 'auto'

View File

@ -26,7 +26,7 @@
}
}}
<div class="simplesearchform d-flex justify-content-end">
<form autocomplete="off" action="{{action}}" method="get" accept-charset="utf-8" class="mform form-inline simplesearchform">
<form autocomplete="off" action="{{action}}" method="get" accept-charset="utf-8" class="mform d-flex flex-wrap align-items-center simplesearchform">
<div class="input-group">
<label for="searchinput-{{uniqid}}">
<span class="sr-only">{{#str}} search, core {{/str}}</span>

View File

@ -39,7 +39,7 @@
Setting configduration.
}}
<div class="form-duration defaultsnext">
<div class="form-inline">
<div class="d-flex flex-wrap align-items-center">
<input type="text" size="5" id="{{id}}v" name="{{name}}[v]" value="{{value}}" class="form-control text-ltr" {{#readonly}}disabled{{/readonly}}>
<label class="sr-only" for="{{id}}u">{{#str}}durationunits, admin{{/str}}</label>
<select id="{{id}}u" name="{{name}}[u]" class="form-control custom-select" {{#readonly}}disabled{{/readonly}}>

View File

@ -44,7 +44,7 @@
Setting configfile.
}}
<div class="form-file defaultsnext">
<div class="form-inline">
<div class="d-flex flex-wrap align-items-center">
<input type="text" name="{{name}}" id="{{id}}" size="{{size}}" value="{{value}}" class="form-control text-ltr" {{#readonly}}readonly{{/readonly}}>
{{#showvalidity}}
{{#valid}}

View File

@ -39,7 +39,7 @@
Setting configfilesize.
}}
<div class="form-filesize defaultsnext">
<div class="form-inline">
<div class="d-flex flex-wrap align-items-center">
<input type="text" size="5" id="{{id}}v" name="{{name}}[v]" value="{{value}}" class="form-control text-ltr" {{#readonly}}disabled{{/readonly}}>
<label class="sr-only" for="{{id}}u">{{#str}}filesizeunits, admin{{/str}}</label>
<select id="{{id}}u" name="{{name}}[u]" class="form-control custom-select" {{#readonly}}disabled{{/readonly}}>

View File

@ -45,7 +45,7 @@
Setting configtime.
}}
<div class="form-time defaultsnext">
<div class="form-inline text-ltr">
<div class="d-flex flex-wrap align-items-center text-ltr">
<label class="sr-only" for="{{id}}h">{{#str}}hours{{/str}}</label>
<select id="{{id}}h" name="{{name}}[h]" class="custom-select" {{#readonly}}disabled{{/readonly}}>
{{#hours}}

View File

@ -6,7 +6,7 @@
<div class="controls d-flex justify-content-between">
<div class="simplesearchform w-100">
<form autocomplete="off" method="get" accept-charset="utf-8"
class="mform form-inline simplesearchform p-2 justify-content-center">
class="mform d-flex flex-wrap align-items-center simplesearchform p-2 justify-content-center">
<div class="input-group w-100" data-region="docsearch">
<label for="searchinput-componentlibrary">
<span class="sr-only">Search component library</span>

View File

@ -62,7 +62,7 @@
{{/singleFramework}}
<h3 class="mt-1">{{#str}}locatecompetency, tool_lp{{/str}}</h3>
<form data-region="filtercompetencies" class="form-inline" data-frameworkid="{{framework.id}}">
<form data-region="filtercompetencies" class="d-flex flex-wrap align-items-center" data-frameworkid="{{framework.id}}">
<div class="mb-3">
<label class="accesshide" for="filter{{uniqid}}">{{#str}}search, tool_lp{{/str}}</label>
<input type="text" class="form-control" id="filter{{uniqid}}" placeholder="{{#str}}search, tool_lp{{/str}}" value="{{search}}">

View File

@ -44,7 +44,7 @@
<div data-region="competencylinktree">
<h3>{{#str}}locatecompetency, tool_lp{{/str}}</h3>
<form data-region="filtercompetencies" class="form-inline" data-frameworkid="{{framework.id}}">
<form data-region="filtercompetencies" class="d-flex flex-wrap align-items-center" data-frameworkid="{{framework.id}}">
<div class="mb-3">
<label class="accesshide" for="filter{{uniqid}}">{{#str}}search, tool_lp{{/str}}</label>
<input type="text" class="form-control" id="filter{{uniqid}}" placeholder="{{#str}}search, tool_lp{{/str}}" value="{{search}}">

View File

@ -66,7 +66,7 @@
<h3 class="mt-1">{{#str}}locatecompetency, tool_lp{{/str}}</h3>
<form data-region="filtercompetencies" data-planid="{{plan.id}}" class="form-inline">
<form data-region="filtercompetencies" data-planid="{{plan.id}}" class="d-flex flex-wrap align-items-center">
<div class="mb-3">
<label class="accesshide" for="filter{{uniqid}}">{{#str}}search, tool_lp{{/str}}</label>
<input type="text" class="form-control" id="filter{{uniqid}}" placeholder="{{#str}}search, tool_lp{{/str}}" value="{{search}}">

View File

@ -49,7 +49,7 @@
<div class="row">
<div class="col-lg-6">
<p>
<form data-region="filtercompetencies" data-frameworkid="{{framework.id}}" class="form-inline">
<form data-region="filtercompetencies" data-frameworkid="{{framework.id}}" class="d-flex flex-wrap align-items-center">
<div class="input-group mb-3">
<label class="accesshide" for="filter{{uniqid}}">{{#str}}search, tool_lp{{/str}}</label>
<input class="form-control" type="text" id="filter{{uniqid}}" placeholder="{{#str}}search, tool_lp{{/str}}" value="{{search}}">

View File

@ -95,7 +95,7 @@ echo $OUTPUT->box_start(); // The forms section at the top
<div class="mdl-align">
<form method="post" action="index.php" class="form-inline spamcleanerform">
<form method="post" action="index.php" class="d-flex flex-wrap align-items-center spamcleanerform">
<div>
<label class="accesshide" for="keyword_el"><?php print_string('spamkeyword', 'tool_spamcleaner') ?></label>
<input type="text" class="form-control" name="keyword" id="keyword_el" value="<?php p($keyword) ?>" />

View File

@ -44,7 +44,7 @@ M.availability_completion.form.getNode = function(json) {
'<option value="2">' + M.util.get_string('option_pass', 'availability_completion') + '</option>' +
'<option value="3">' + M.util.get_string('option_fail', 'availability_completion') + '</option>' +
'</select></label></span>';
var node = Y.Node.create('<span class="form-inline">' + html + '</span>');
var node = Y.Node.create('<span class="d-flex flex-wrap align-items-center">' + html + '</span>');
// Set initial values.
if (json.cm !== undefined &&

View File

@ -1 +1 @@
YUI.add("moodle-availability_completion-form",function(o,e){M.availability_completion=M.availability_completion||{},M.availability_completion.form=o.Object(M.core_availability.plugin),M.availability_completion.form.initInner=function(e){this.cms=e},M.availability_completion.form.getNode=function(e){for(var i,l,t='<span class="col-form-label pr-3"> '+M.util.get_string("title","availability_completion")+'</span> <span class="availability-group form-group"><label><span class="accesshide">'+M.util.get_string("label_cm","availability_completion")+' </span><select class="custom-select" name="cm" title="'+M.util.get_string("label_cm","availability_completion")+'"><option value="0">'+M.util.get_string("choosedots","moodle")+"</option>",a=0;a<this.cms.length;a++)t+='<option value="'+(i=this.cms[a]).id+'">'+i.name+"</option>";return t+='</select></label> <label><span class="accesshide">'+M.util.get_string("label_completion","availability_completion")+' </span><select class="custom-select" name="e" title="'+M.util.get_string("label_completion","availability_completion")+'"><option value="1">'+M.util.get_string("option_complete","availability_completion")+'</option><option value="0">'+M.util.get_string("option_incomplete","availability_completion")+'</option><option value="2">'+M.util.get_string("option_pass","availability_completion")+'</option><option value="3">'+M.util.get_string("option_fail","availability_completion")+"</option></select></label></span>",l=o.Node.create('<span class="form-inline">'+t+"</span>"),e.cm!==undefined&&l.one("select[name=cm] > option[value="+e.cm+"]")&&l.one("select[name=cm]").set("value",""+e.cm),e.e!==undefined&&l.one("select[name=e]").set("value",""+e.e),M.availability_completion.form.addedEvents||(M.availability_completion.form.addedEvents=!0,o.one(".availability-field").delegate("change",function(){M.core_availability.form.update()},".availability_completion select")),l},M.availability_completion.form.fillValue=function(e,i){e.cm=parseInt(i.one("select[name=cm]").get("value"),10),e.e=parseInt(i.one("select[name=e]").get("value"),10)},M.availability_completion.form.fillErrors=function(i,e){var l=parseInt(e.one("select[name=cm]").get("value"),10);0===l&&i.push("availability_completion:error_selectcmid"),2!==(e=parseInt(e.one("select[name=e]").get("value"),10))&&3!==e||this.cms.forEach(function(e){e.id===l&&null===e.completiongradeitemnumber&&i.push("availability_completion:error_selectcmidpassfail")})}},"@VERSION@",{requires:["base","node","event","moodle-core_availability-form"]});
YUI.add("moodle-availability_completion-form",function(o,e){M.availability_completion=M.availability_completion||{},M.availability_completion.form=o.Object(M.core_availability.plugin),M.availability_completion.form.initInner=function(e){this.cms=e},M.availability_completion.form.getNode=function(e){for(var i,l,t='<span class="col-form-label pr-3"> '+M.util.get_string("title","availability_completion")+'</span> <span class="availability-group mb-3"><label><span class="accesshide">'+M.util.get_string("label_cm","availability_completion")+' </span><select class="custom-select" name="cm" title="'+M.util.get_string("label_cm","availability_completion")+'"><option value="0">'+M.util.get_string("choosedots","moodle")+"</option>",a=0;a<this.cms.length;a++)t+='<option value="'+(i=this.cms[a]).id+'">'+i.name+"</option>";return t+='</select></label> <label><span class="accesshide">'+M.util.get_string("label_completion","availability_completion")+' </span><select class="custom-select" name="e" title="'+M.util.get_string("label_completion","availability_completion")+'"><option value="1">'+M.util.get_string("option_complete","availability_completion")+'</option><option value="0">'+M.util.get_string("option_incomplete","availability_completion")+'</option><option value="2">'+M.util.get_string("option_pass","availability_completion")+'</option><option value="3">'+M.util.get_string("option_fail","availability_completion")+"</option></select></label></span>",l=o.Node.create('<span class="d-flex flex-wrap align-items-center">'+t+"</span>"),e.cm!==undefined&&l.one("select[name=cm] > option[value="+e.cm+"]")&&l.one("select[name=cm]").set("value",""+e.cm),e.e!==undefined&&l.one("select[name=e]").set("value",""+e.e),M.availability_completion.form.addedEvents||(M.availability_completion.form.addedEvents=!0,o.one(".availability-field").delegate("change",function(){M.core_availability.form.update()},".availability_completion select")),l},M.availability_completion.form.fillValue=function(e,i){e.cm=parseInt(i.one("select[name=cm]").get("value"),10),e.e=parseInt(i.one("select[name=e]").get("value"),10)},M.availability_completion.form.fillErrors=function(i,e){var l=parseInt(e.one("select[name=cm]").get("value"),10);0===l&&i.push("availability_completion:error_selectcmid"),2!==(e=parseInt(e.one("select[name=e]").get("value"),10))&&3!==e||this.cms.forEach(function(e){e.id===l&&null===e.completiongradeitemnumber&&i.push("availability_completion:error_selectcmidpassfail")})}},"@VERSION@",{requires:["base","node","event","moodle-core_availability-form"]});

View File

@ -44,7 +44,7 @@ M.availability_completion.form.getNode = function(json) {
'<option value="2">' + M.util.get_string('option_pass', 'availability_completion') + '</option>' +
'<option value="3">' + M.util.get_string('option_fail', 'availability_completion') + '</option>' +
'</select></label></span>';
var node = Y.Node.create('<span class="form-inline">' + html + '</span>');
var node = Y.Node.create('<span class="d-flex flex-wrap align-items-center">' + html + '</span>');
// Set initial values.
if (json.cm !== undefined &&

View File

@ -42,7 +42,7 @@ M.availability_completion.form.getNode = function(json) {
'<option value="2">' + M.util.get_string('option_pass', 'availability_completion') + '</option>' +
'<option value="3">' + M.util.get_string('option_fail', 'availability_completion') + '</option>' +
'</select></label></span>';
var node = Y.Node.create('<span class="form-inline">' + html + '</span>');
var node = Y.Node.create('<span class="d-flex flex-wrap align-items-center">' + html + '</span>');
// Set initial values.
if (json.cm !== undefined &&

View File

@ -57,7 +57,7 @@ M.availability_grade.form.getNode = function(json) {
'</label> <label><span class="accesshide">' + M.util.get_string('label_max', 'availability_grade') +
'</span><input type="text" class="form-control mx-1" name="maxval" title="' +
M.util.get_string('label_max', 'availability_grade') + '"/></label>%</span>';
var node = Y.Node.create('<div class="d-inline-block form-inline">' + html + '</div>');
var node = Y.Node.create('<div class="d-inline-block d-flex flex-wrap align-items-center">' + html + '</div>');
// Set initial values.
if (json.id !== undefined &&

View File

@ -1 +1 @@
YUI.add("moodle-availability_grade-form",function(r,a){M.availability_grade=M.availability_grade||{},M.availability_grade.form=r.Object(M.core_availability.plugin),M.availability_grade.form.grades=null,M.availability_grade.form.initInner=function(a){this.grades=a,this.nodesSoFar=0},M.availability_grade.form.getNode=function(a){var e,i,l,t,n;for(this.nodesSoFar++,e='<label class="form-group"><span class="pr-3">'+M.util.get_string("title","availability_grade")+'</span> <span class="availability-group"><select name="id" class="custom-select"><option value="0">'+M.util.get_string("choosedots","moodle")+"</option>",i=0;i<this.grades.length;i++)e+='<option value="'+(l=this.grades[i]).id+'">'+l.name+"</option>";return e+='</select></span></label> <br><span class="availability-group form-group"><label><input type="checkbox" class="form-check-input mx-1" name="min"/>'+M.util.get_string("option_min","availability_grade")+'</label> <label><span class="accesshide">'+M.util.get_string("label_min","availability_grade")+'</span><input type="text" class="form-control mx-1" name="minval" title="'+M.util.get_string("label_min","availability_grade")+'"/></label>%</span><br><span class="availability-group form-group"><label><input type="checkbox" class="form-check-input mx-1" name="max"/>'+M.util.get_string("option_max","availability_grade")+'</label> <label><span class="accesshide">'+M.util.get_string("label_max","availability_grade")+'</span><input type="text" class="form-control mx-1" name="maxval" title="'+M.util.get_string("label_max","availability_grade")+'"/></label>%</span>',t=r.Node.create('<div class="d-inline-block form-inline">'+e+"</div>"),a.id!==undefined&&t.one("select[name=id] > option[value="+a.id+"]")&&t.one("select[name=id]").set("value",""+a.id),a.min!==undefined&&(t.one("input[name=min]").set("checked",!0),t.one("input[name=minval]").set("value",a.min)),a.max!==undefined&&(t.one("input[name=max]").set("checked",!0),t.one("input[name=maxval]").set("value",a.max)),n=function(a,e){var i=a.ancestor("label").next("label").one("input"),a=a.get("checked");return i.set("disabled",!a),e&&a&&i.focus(),a},t.all("input[type=checkbox]").each(n),M.availability_grade.form.addedEvents||(M.availability_grade.form.addedEvents=!0,(a=r.one(".availability-field")).delegate("change",function(){M.core_availability.form.update()},".availability_grade select[name=id]"),a.delegate("click",function(){n(this,!0),M.core_availability.form.update()},".availability_grade input[type=checkbox]"),a.delegate("valuechange",function(){M.core_availability.form.update()},".availability_grade input[type=text]")),t},M.availability_grade.form.fillValue=function(a,e){a.id=parseInt(e.one("select[name=id]").get("value"),10),e.one("input[name=min]").get("checked")&&(a.min=this.getValue("minval",e)),e.one("input[name=max]").get("checked")&&(a.max=this.getValue("maxval",e))},M.availability_grade.form.getValue=function(a,e){a=e.one("input[name="+a+"]").get("value");return!/^[0-9]+([.,][0-9]+)?$/.test(a)||(e=parseFloat(a.replace(",",".")))<0||100<e?a:e},M.availability_grade.form.fillErrors=function(a,e){var i={};this.fillValue(i,e),0===i.id&&a.push("availability_grade:error_selectgradeid"),i.min!==undefined&&"string"==typeof i.min||i.max!==undefined&&"string"==typeof i.max?a.push("availability_grade:error_invalidnumber"):i.min!==undefined&&i.max!==undefined&&i.max<=i.min&&a.push("availability_grade:error_backwardrange")}},"@VERSION@",{requires:["base","node","event","moodle-core_availability-form"]});
YUI.add("moodle-availability_grade-form",function(r,a){M.availability_grade=M.availability_grade||{},M.availability_grade.form=r.Object(M.core_availability.plugin),M.availability_grade.form.grades=null,M.availability_grade.form.initInner=function(a){this.grades=a,this.nodesSoFar=0},M.availability_grade.form.getNode=function(a){var e,i,l,t,n;for(this.nodesSoFar++,e='<label class="mb-3"><span class="pr-3">'+M.util.get_string("title","availability_grade")+'</span> <span class="availability-group"><select name="id" class="custom-select"><option value="0">'+M.util.get_string("choosedots","moodle")+"</option>",i=0;i<this.grades.length;i++)e+='<option value="'+(l=this.grades[i]).id+'">'+l.name+"</option>";return e+='</select></span></label> <br><span class="availability-group mb-3"><label><input type="checkbox" class="form-check-input mx-1" name="min"/>'+M.util.get_string("option_min","availability_grade")+'</label> <label><span class="accesshide">'+M.util.get_string("label_min","availability_grade")+'</span><input type="text" class="form-control mx-1" name="minval" title="'+M.util.get_string("label_min","availability_grade")+'"/></label>%</span><br><span class="availability-group mb-3"><label><input type="checkbox" class="form-check-input mx-1" name="max"/>'+M.util.get_string("option_max","availability_grade")+'</label> <label><span class="accesshide">'+M.util.get_string("label_max","availability_grade")+'</span><input type="text" class="form-control mx-1" name="maxval" title="'+M.util.get_string("label_max","availability_grade")+'"/></label>%</span>',t=r.Node.create('<div class="d-inline-block d-flex flex-wrap align-items-center">'+e+"</div>"),a.id!==undefined&&t.one("select[name=id] > option[value="+a.id+"]")&&t.one("select[name=id]").set("value",""+a.id),a.min!==undefined&&(t.one("input[name=min]").set("checked",!0),t.one("input[name=minval]").set("value",a.min)),a.max!==undefined&&(t.one("input[name=max]").set("checked",!0),t.one("input[name=maxval]").set("value",a.max)),n=function(a,e){var i=a.ancestor("label").next("label").one("input"),a=a.get("checked");return i.set("disabled",!a),e&&a&&i.focus(),a},t.all("input[type=checkbox]").each(n),M.availability_grade.form.addedEvents||(M.availability_grade.form.addedEvents=!0,(a=r.one(".availability-field")).delegate("change",function(){M.core_availability.form.update()},".availability_grade select[name=id]"),a.delegate("click",function(){n(this,!0),M.core_availability.form.update()},".availability_grade input[type=checkbox]"),a.delegate("valuechange",function(){M.core_availability.form.update()},".availability_grade input[type=text]")),t},M.availability_grade.form.fillValue=function(a,e){a.id=parseInt(e.one("select[name=id]").get("value"),10),e.one("input[name=min]").get("checked")&&(a.min=this.getValue("minval",e)),e.one("input[name=max]").get("checked")&&(a.max=this.getValue("maxval",e))},M.availability_grade.form.getValue=function(a,e){a=e.one("input[name="+a+"]").get("value");return!/^[0-9]+([.,][0-9]+)?$/.test(a)||(e=parseFloat(a.replace(",",".")))<0||100<e?a:e},M.availability_grade.form.fillErrors=function(a,e){var i={};this.fillValue(i,e),0===i.id&&a.push("availability_grade:error_selectgradeid"),i.min!==undefined&&"string"==typeof i.min||i.max!==undefined&&"string"==typeof i.max?a.push("availability_grade:error_invalidnumber"):i.min!==undefined&&i.max!==undefined&&i.max<=i.min&&a.push("availability_grade:error_backwardrange")}},"@VERSION@",{requires:["base","node","event","moodle-core_availability-form"]});

View File

@ -57,7 +57,7 @@ M.availability_grade.form.getNode = function(json) {
'</label> <label><span class="accesshide">' + M.util.get_string('label_max', 'availability_grade') +
'</span><input type="text" class="form-control mx-1" name="maxval" title="' +
M.util.get_string('label_max', 'availability_grade') + '"/></label>%</span>';
var node = Y.Node.create('<div class="d-inline-block form-inline">' + html + '</div>');
var node = Y.Node.create('<div class="d-inline-block d-flex flex-wrap align-items-center">' + html + '</div>');
// Set initial values.
if (json.id !== undefined &&

View File

@ -55,7 +55,7 @@ M.availability_grade.form.getNode = function(json) {
'</label> <label><span class="accesshide">' + M.util.get_string('label_max', 'availability_grade') +
'</span><input type="text" class="form-control mx-1" name="maxval" title="' +
M.util.get_string('label_max', 'availability_grade') + '"/></label>%</span>';
var node = Y.Node.create('<div class="d-inline-block form-inline">' + html + '</div>');
var node = Y.Node.create('<div class="d-inline-block d-flex flex-wrap align-items-center">' + html + '</div>');
// Set initial values.
if (json.id !== undefined &&

View File

@ -44,7 +44,7 @@ M.availability_group.form.getNode = function(json) {
html += '<option value="' + group.id + '" data-visibility="' + group.visibility + '">' + group.name + '</option>';
}
html += '</select></span></label>';
var node = Y.Node.create('<span class="form-inline">' + html + '</span>');
var node = Y.Node.create('<span class="d-flex flex-wrap align-items-center">' + html + '</span>');
var select = node.one('select[name=id]');

View File

@ -1 +1 @@
YUI.add("moodle-availability_group-form",function(r,i){M.availability_group=M.availability_group||{},M.availability_group.form=r.Object(M.core_availability.plugin),M.availability_group.form.groups=null,M.availability_group.form.initInner=function(i){this.groups=i},M.availability_group.form.getNode=function(i){for(var a,e,t,l,o='<label><span class="pr-3">'+M.util.get_string("title","availability_group")+'</span> <span class="availability-group"><select name="id" class="custom-select"><option value="choose">'+M.util.get_string("choosedots","moodle")+'</option><option value="any">'+M.util.get_string("anygroup","availability_group")+"</option>",n=0;n<this.groups.length;n++)o+='<option value="'+(a=this.groups[n]).id+'" data-visibility="'+a.visibility+'">'+a.name+"</option>";return(t=(e=r.Node.create('<span class="form-inline">'+(o+="</select></span></label>")+"</span>")).one("select[name=id]")).on("change",function(i){var a=i.target.get("value"),a=i.target.one("option[value="+a+"]").get("dataset").visibility,i=0<a?"availability:privateRuleSet":"availability:privateRuleUnset";e.fire(i,{plugin:"group"})}),i.creating===undefined&&(i.id!==undefined?(l=t.one("option[value="+i.id+"]"))&&(t.set("value",""+i.id),0<l.get("dataset").visibility&&window.setTimeout(function(){e.fire("availability:privateRuleSet",{plugin:"group"})},0)):i.id===undefined&&e.one("select[name=id]").set("value","any")),M.availability_group.form.addedEvents||(M.availability_group.form.addedEvents=!0,r.one(".availability-field").delegate("change",function(){M.core_availability.form.update()},".availability_group select")),e},M.availability_group.form.fillValue=function(i,a){a=a.one("select[name=id]").get("value");"choose"===a?i.id="choose":"any"!==a&&(i.id=parseInt(a,10))},M.availability_group.form.fillErrors=function(i,a){var e={};this.fillValue(e,a),e.id&&"choose"===e.id&&i.push("availability_group:error_selectgroup")}},"@VERSION@",{requires:["base","node","event","moodle-core_availability-form"]});
YUI.add("moodle-availability_group-form",function(r,i){M.availability_group=M.availability_group||{},M.availability_group.form=r.Object(M.core_availability.plugin),M.availability_group.form.groups=null,M.availability_group.form.initInner=function(i){this.groups=i},M.availability_group.form.getNode=function(i){for(var a,e,t,l,o='<label><span class="pr-3">'+M.util.get_string("title","availability_group")+'</span> <span class="availability-group"><select name="id" class="custom-select"><option value="choose">'+M.util.get_string("choosedots","moodle")+'</option><option value="any">'+M.util.get_string("anygroup","availability_group")+"</option>",n=0;n<this.groups.length;n++)o+='<option value="'+(a=this.groups[n]).id+'" data-visibility="'+a.visibility+'">'+a.name+"</option>";return(t=(e=r.Node.create('<span class="d-flex flex-wrap align-items-center">'+(o+="</select></span></label>")+"</span>")).one("select[name=id]")).on("change",function(i){var a=i.target.get("value"),a=i.target.one("option[value="+a+"]").get("dataset").visibility,i=0<a?"availability:privateRuleSet":"availability:privateRuleUnset";e.fire(i,{plugin:"group"})}),i.creating===undefined&&(i.id!==undefined?(l=t.one("option[value="+i.id+"]"))&&(t.set("value",""+i.id),0<l.get("dataset").visibility&&window.setTimeout(function(){e.fire("availability:privateRuleSet",{plugin:"group"})},0)):i.id===undefined&&e.one("select[name=id]").set("value","any")),M.availability_group.form.addedEvents||(M.availability_group.form.addedEvents=!0,r.one(".availability-field").delegate("change",function(){M.core_availability.form.update()},".availability_group select")),e},M.availability_group.form.fillValue=function(i,a){a=a.one("select[name=id]").get("value");"choose"===a?i.id="choose":"any"!==a&&(i.id=parseInt(a,10))},M.availability_group.form.fillErrors=function(i,a){var e={};this.fillValue(e,a),e.id&&"choose"===e.id&&i.push("availability_group:error_selectgroup")}},"@VERSION@",{requires:["base","node","event","moodle-core_availability-form"]});

View File

@ -44,7 +44,7 @@ M.availability_group.form.getNode = function(json) {
html += '<option value="' + group.id + '" data-visibility="' + group.visibility + '">' + group.name + '</option>';
}
html += '</select></span></label>';
var node = Y.Node.create('<span class="form-inline">' + html + '</span>');
var node = Y.Node.create('<span class="d-flex flex-wrap align-items-center">' + html + '</span>');
var select = node.one('select[name=id]');

View File

@ -42,7 +42,7 @@ M.availability_group.form.getNode = function(json) {
html += '<option value="' + group.id + '" data-visibility="' + group.visibility + '">' + group.name + '</option>';
}
html += '</select></span></label>';
var node = Y.Node.create('<span class="form-inline">' + html + '</span>');
var node = Y.Node.create('<span class="d-flex flex-wrap align-items-center">' + html + '</span>');
var select = node.one('select[name=id]');

View File

@ -43,7 +43,7 @@ M.availability_grouping.form.getNode = function(json) {
html += '<option value="' + grouping.id + '">' + grouping.name + '</option>';
}
html += '</select></span></label>';
var node = Y.Node.create('<span class="form-inline">' + html + '</span>');
var node = Y.Node.create('<span class="d-flex flex-wrap align-items-center">' + html + '</span>');
// Set initial value if specified.
if (json.id !== undefined &&

View File

@ -1 +1 @@
YUI.add("moodle-availability_grouping-form",function(n,i){M.availability_grouping=M.availability_grouping||{},M.availability_grouping.form=n.Object(M.core_availability.plugin),M.availability_grouping.form.groupings=null,M.availability_grouping.form.initInner=function(i){this.groupings=i},M.availability_grouping.form.getNode=function(i){for(var a,e,l='<label><span class="pr-3">'+M.util.get_string("title","availability_grouping")+'</span> <span class="availability-group"><select name="id" class="custom-select"><option value="choose">'+M.util.get_string("choosedots","moodle")+"</option>",o=0;o<this.groupings.length;o++)l+='<option value="'+(a=this.groupings[o]).id+'">'+a.name+"</option>";return e=n.Node.create('<span class="form-inline">'+(l+="</select></span></label>")+"</span>"),i.id!==undefined&&e.one("select[name=id] > option[value="+i.id+"]")&&e.one("select[name=id]").set("value",""+i.id),M.availability_grouping.form.addedEvents||(M.availability_grouping.form.addedEvents=!0,n.one(".availability-field").delegate("change",function(){M.core_availability.form.update()},".availability_grouping select")),e},M.availability_grouping.form.fillValue=function(i,a){a=a.one("select[name=id]").get("value");i.id="choose"===a?"choose":parseInt(a,10)},M.availability_grouping.form.fillErrors=function(i,a){var e={};this.fillValue(e,a),"choose"===e.id&&i.push("availability_grouping:error_selectgrouping")}},"@VERSION@",{requires:["base","node","event","moodle-core_availability-form"]});
YUI.add("moodle-availability_grouping-form",function(n,i){M.availability_grouping=M.availability_grouping||{},M.availability_grouping.form=n.Object(M.core_availability.plugin),M.availability_grouping.form.groupings=null,M.availability_grouping.form.initInner=function(i){this.groupings=i},M.availability_grouping.form.getNode=function(i){for(var a,e,l='<label><span class="pr-3">'+M.util.get_string("title","availability_grouping")+'</span> <span class="availability-group"><select name="id" class="custom-select"><option value="choose">'+M.util.get_string("choosedots","moodle")+"</option>",o=0;o<this.groupings.length;o++)l+='<option value="'+(a=this.groupings[o]).id+'">'+a.name+"</option>";return e=n.Node.create('<span class="d-flex flex-wrap align-items-center">'+(l+="</select></span></label>")+"</span>"),i.id!==undefined&&e.one("select[name=id] > option[value="+i.id+"]")&&e.one("select[name=id]").set("value",""+i.id),M.availability_grouping.form.addedEvents||(M.availability_grouping.form.addedEvents=!0,n.one(".availability-field").delegate("change",function(){M.core_availability.form.update()},".availability_grouping select")),e},M.availability_grouping.form.fillValue=function(i,a){a=a.one("select[name=id]").get("value");i.id="choose"===a?"choose":parseInt(a,10)},M.availability_grouping.form.fillErrors=function(i,a){var e={};this.fillValue(e,a),"choose"===e.id&&i.push("availability_grouping:error_selectgrouping")}},"@VERSION@",{requires:["base","node","event","moodle-core_availability-form"]});

View File

@ -43,7 +43,7 @@ M.availability_grouping.form.getNode = function(json) {
html += '<option value="' + grouping.id + '">' + grouping.name + '</option>';
}
html += '</select></span></label>';
var node = Y.Node.create('<span class="form-inline">' + html + '</span>');
var node = Y.Node.create('<span class="d-flex flex-wrap align-items-center">' + html + '</span>');
// Set initial value if specified.
if (json.id !== undefined &&

View File

@ -41,7 +41,7 @@ M.availability_grouping.form.getNode = function(json) {
html += '<option value="' + grouping.id + '">' + grouping.name + '</option>';
}
html += '</select></span></label>';
var node = Y.Node.create('<span class="form-inline">' + html + '</span>');
var node = Y.Node.create('<span class="d-flex flex-wrap align-items-center">' + html + '</span>');
// Set initial value if specified.
if (json.id !== undefined &&

View File

@ -62,7 +62,7 @@ M.availability_profile.form.getNode = function(json) {
html += '</select></label> <label><span class="accesshide">' + M.util.get_string('label_value', 'availability_profile') +
'</span><input name="value" type="text" class="form-control" style="width: 10em" title="' +
M.util.get_string('label_value', 'availability_profile') + '"/></label></span>';
var node = Y.Node.create('<span class="form-inline">' + html + '</span>');
var node = Y.Node.create('<span class="d-flex flex-wrap align-items-center">' + html + '</span>');
// Set initial values if specified.
if (json.sf !== undefined &&

View File

@ -1 +1 @@
YUI.add("moodle-availability_profile-form",function(n,e){M.availability_profile=M.availability_profile||{},M.availability_profile.form=n.Object(M.core_availability.plugin),M.availability_profile.form.profiles=null,M.availability_profile.form.initInner=function(e,i){this.standardFields=e,this.customFields=i},M.availability_profile.form.getNode=function(e){for(var i,l,a,t,o='<span class="availability-group"><label><span class="pr-3">'+M.util.get_string("conditiontitle","availability_profile")+'</span> <select name="field" class="custom-select"><option value="choose">'+M.util.get_string("choosedots","moodle")+"</option>",s=0;s<this.standardFields.length;s++)o+='<option value="sf_'+(i=this.standardFields[s]).field+'">'+i.display+"</option>";for(s=0;s<this.customFields.length;s++)o+='<option value="cf_'+(i=this.customFields[s]).field+'">'+i.display+"</option>";for(o+='</select></label> <label><span class="accesshide">'+M.util.get_string("label_operator","availability_profile")+' </span><select name="op" title="'+M.util.get_string("label_operator","availability_profile")+'" class="custom-select">',l=["isequalto","contains","doesnotcontain","startswith","endswith","isempty","isnotempty"],s=0;s<l.length;s++)o+='<option value="'+l[s]+'">'+M.util.get_string("op_"+l[s],"availability_profile")+"</option>";return o+='</select></label> <label><span class="accesshide">'+M.util.get_string("label_value","availability_profile")+'</span><input name="value" type="text" class="form-control" style="width: 10em" title="'+M.util.get_string("label_value","availability_profile")+'"/></label></span>',a=n.Node.create('<span class="form-inline">'+o+"</span>"),e.sf!==undefined&&a.one("select[name=field] > option[value=sf_"+e.sf+"]")?a.one("select[name=field]").set("value","sf_"+e.sf):e.cf!==undefined&&a.one("select[name=field] > option[value=cf_"+e.cf+"]")&&a.one("select[name=field]").set("value","cf_"+e.cf),e.op!==undefined&&a.one("select[name=op] > option[value="+e.op+"]")&&(a.one("select[name=op]").set("value",e.op),"isempty"!==e.op&&"isnotempty"!==e.op||a.one("input[name=value]").set("disabled",!0)),e.v!==undefined&&a.one("input").set("value",e.v),M.availability_profile.form.addedEvents||(M.availability_profile.form.addedEvents=!0,t=function(e){var e=e.ancestor("span.availability_profile"),i=e.one("select[name=op]"),i="isempty"===i.get("value")||"isnotempty"===i.get("value");e.one("input[name=value]").set("disabled",i),M.core_availability.form.update()},(e=n.one(".availability-field")).delegate("change",function(){t(this)},".availability_profile select"),e.delegate("change",function(){t(this)},".availability_profile input[name=value]")),a},M.availability_profile.form.fillValue=function(e,i){var l=i.one("select[name=field]").get("value");"sf_"===l.substr(0,3)?e.sf=l.substr(3):"cf_"===l.substr(0,3)&&(e.cf=l.substr(3)),e.op=i.one("select[name=op]").get("value"),(l=i.one("input[name=value]")).get("disabled")||(e.v=l.get("value"))},M.availability_profile.form.fillErrors=function(e,i){var l={};this.fillValue(l,i),l.sf===undefined&&l.cf===undefined&&e.push("availability_profile:error_selectfield"),l.v!==undefined&&/^\s*$/.test(l.v)&&e.push("availability_profile:error_setvalue")}},"@VERSION@",{requires:["base","node","event","moodle-core_availability-form"]});
YUI.add("moodle-availability_profile-form",function(n,e){M.availability_profile=M.availability_profile||{},M.availability_profile.form=n.Object(M.core_availability.plugin),M.availability_profile.form.profiles=null,M.availability_profile.form.initInner=function(e,i){this.standardFields=e,this.customFields=i},M.availability_profile.form.getNode=function(e){for(var i,l,a,t,o='<span class="availability-group"><label><span class="pr-3">'+M.util.get_string("conditiontitle","availability_profile")+'</span> <select name="field" class="custom-select"><option value="choose">'+M.util.get_string("choosedots","moodle")+"</option>",s=0;s<this.standardFields.length;s++)o+='<option value="sf_'+(i=this.standardFields[s]).field+'">'+i.display+"</option>";for(s=0;s<this.customFields.length;s++)o+='<option value="cf_'+(i=this.customFields[s]).field+'">'+i.display+"</option>";for(o+='</select></label> <label><span class="accesshide">'+M.util.get_string("label_operator","availability_profile")+' </span><select name="op" title="'+M.util.get_string("label_operator","availability_profile")+'" class="custom-select">',l=["isequalto","contains","doesnotcontain","startswith","endswith","isempty","isnotempty"],s=0;s<l.length;s++)o+='<option value="'+l[s]+'">'+M.util.get_string("op_"+l[s],"availability_profile")+"</option>";return o+='</select></label> <label><span class="accesshide">'+M.util.get_string("label_value","availability_profile")+'</span><input name="value" type="text" class="form-control" style="width: 10em" title="'+M.util.get_string("label_value","availability_profile")+'"/></label></span>',a=n.Node.create('<span class="d-flex flex-wrap align-items-center">'+o+"</span>"),e.sf!==undefined&&a.one("select[name=field] > option[value=sf_"+e.sf+"]")?a.one("select[name=field]").set("value","sf_"+e.sf):e.cf!==undefined&&a.one("select[name=field] > option[value=cf_"+e.cf+"]")&&a.one("select[name=field]").set("value","cf_"+e.cf),e.op!==undefined&&a.one("select[name=op] > option[value="+e.op+"]")&&(a.one("select[name=op]").set("value",e.op),"isempty"!==e.op&&"isnotempty"!==e.op||a.one("input[name=value]").set("disabled",!0)),e.v!==undefined&&a.one("input").set("value",e.v),M.availability_profile.form.addedEvents||(M.availability_profile.form.addedEvents=!0,t=function(e){var e=e.ancestor("span.availability_profile"),i=e.one("select[name=op]"),i="isempty"===i.get("value")||"isnotempty"===i.get("value");e.one("input[name=value]").set("disabled",i),M.core_availability.form.update()},(e=n.one(".availability-field")).delegate("change",function(){t(this)},".availability_profile select"),e.delegate("change",function(){t(this)},".availability_profile input[name=value]")),a},M.availability_profile.form.fillValue=function(e,i){var l=i.one("select[name=field]").get("value");"sf_"===l.substr(0,3)?e.sf=l.substr(3):"cf_"===l.substr(0,3)&&(e.cf=l.substr(3)),e.op=i.one("select[name=op]").get("value"),(l=i.one("input[name=value]")).get("disabled")||(e.v=l.get("value"))},M.availability_profile.form.fillErrors=function(e,i){var l={};this.fillValue(l,i),l.sf===undefined&&l.cf===undefined&&e.push("availability_profile:error_selectfield"),l.v!==undefined&&/^\s*$/.test(l.v)&&e.push("availability_profile:error_setvalue")}},"@VERSION@",{requires:["base","node","event","moodle-core_availability-form"]});

View File

@ -62,7 +62,7 @@ M.availability_profile.form.getNode = function(json) {
html += '</select></label> <label><span class="accesshide">' + M.util.get_string('label_value', 'availability_profile') +
'</span><input name="value" type="text" class="form-control" style="width: 10em" title="' +
M.util.get_string('label_value', 'availability_profile') + '"/></label></span>';
var node = Y.Node.create('<span class="form-inline">' + html + '</span>');
var node = Y.Node.create('<span class="d-flex flex-wrap align-items-center">' + html + '</span>');
// Set initial values if specified.
if (json.sf !== undefined &&

View File

@ -60,7 +60,7 @@ M.availability_profile.form.getNode = function(json) {
html += '</select></label> <label><span class="accesshide">' + M.util.get_string('label_value', 'availability_profile') +
'</span><input name="value" type="text" class="form-control" style="width: 10em" title="' +
M.util.get_string('label_value', 'availability_profile') + '"/></label></span>';
var node = Y.Node.create('<span class="form-inline">' + html + '</span>');
var node = Y.Node.create('<span class="d-flex flex-wrap align-items-center">' + html + '</span>');
// Set initial values if specified.
if (json.sf !== undefined &&

View File

@ -866,7 +866,7 @@ class core_backup_renderer extends plugin_renderer_base {
if ($component->get_count() === 0) {
$output .= $this->output->notification(get_string('nomatchingcourses', 'backup'));
$output .= html_writer::start_tag('div', array('class' => 'ics-search form-inline'));
$output .= html_writer::start_tag('div', ['class' => 'ics-search d-flex flex-wrap align-items-center']);
$attrs = array(
'type' => 'text',
'name' => restore_course_search::$VAR_SEARCH,
@ -933,7 +933,7 @@ class core_backup_renderer extends plugin_renderer_base {
$output .= html_writer::table($table);
$output .= html_writer::end_tag('div');
$output .= html_writer::start_tag('div', array('class' => 'ics-search form-inline'));
$output .= html_writer::start_tag('div', ['class' => 'ics-search d-flex flex-wrap align-items-center']);
$attrs = array(
'type' => 'text',
'name' => restore_course_search::$VAR_SEARCH,

View File

@ -33,7 +33,7 @@
}]
}
}}
<form action="{{searchurl}}" id="{{id}}" method="get" class="form-inline">
<form action="{{searchurl}}" id="{{id}}" method="get" class="d-flex flex-wrap align-items-center">
<fieldset class="coursesearchbox invisiblefieldset">
<label for="{{inputid}}">{{#str}}searchcourses{{/str}}</label>
<input id="{{inputid}}" name="q" type="text" size="{{inputsize}}" value="{{value}}" class="form-control mb-1 mb-sm-0">

View File

@ -366,7 +366,8 @@ YUI.add('moodle-enrol-rolemanager', function(Y) {
M.util.get_string('closebuttontitle', 'moodle') + '">' +
'<span aria-hidden="true">&times;</span></div>' +
'<h3>'+M.util.get_string('assignroles', 'role')+'</h3>' +
'</div><div class="content popover-content form-inline mb-3"></div></div>');
'</div><div class="content popover-content' +
' d-flex flex-wrap align-items-center mb-3"></div></div>');
var content = element.one('.content');
var roles = m.get(ASSIGNABLEROLES);
for (i in roles) {

View File

@ -39,7 +39,7 @@
<input type="checkbox" name="{{applyname}}" value="1" id="{{applyname}}" class="ml-0">
<label for="{{applyname}}">{{applylabel}}</label>
</div>
<fieldset class="form-inline">
<fieldset class="d-flex flex-wrap align-items-center">
<legend class="accesshide">{{label}}</legend>
<label for="{{menuname}}">{{menulabel}}</label>
<select name="{{menuname}}" id="{{menuname}}" class="form-control custom-select">

View File

@ -27,7 +27,7 @@
"value": "100"
}
}}
<div class="form-inline">
<div class="d-flex flex-wrap align-items-center">
<label class="accesshide" for="weightoverride_{{id}}">
{{#str}}overrideweightofa, grades, {{itemname}}{{/str}}
</label>

View File

@ -160,7 +160,7 @@ var CSS = {
// Add the size entry boxes.
'<div class="mb-1">' +
'<label class="" for="{{elementid}}_{{CSS.INPUTSIZE}}">{{get_string "size" component}}</label>' +
'<div id="{{elementid}}_{{CSS.INPUTSIZE}}" class="form-inline {{CSS.INPUTSIZE}}">' +
'<div id="{{elementid}}_{{CSS.INPUTSIZE}}" class="d-flex flex-wrap align-items-center {{CSS.INPUTSIZE}}">' +
'<label class="accesshide" for="{{elementid}}_{{CSS.INPUTWIDTH}}">{{get_string "width" component}}</label>' +
'<input type="text" class="form-control mr-1 input-mini {{CSS.INPUTWIDTH}}" ' +
'id="{{elementid}}_{{CSS.INPUTWIDTH}}" size="4"/> x' +
@ -181,7 +181,7 @@ var CSS = {
'</div>' +
// Add the alignment selector.
'<div class="form-inline mb-1">' +
'<div class="d-flex flex-wrap align-items-center mb-1">' +
'<label class="for="{{elementid}}_{{CSS.INPUTALIGNMENT}}">{{get_string "alignment" component}}</label>' +
'<select class="custom-select {{CSS.INPUTALIGNMENT}}" id="{{elementid}}_{{CSS.INPUTALIGNMENT}}">' +
'{{#each alignments}}' +

File diff suppressed because one or more lines are too long

View File

@ -160,7 +160,7 @@ var CSS = {
// Add the size entry boxes.
'<div class="mb-1">' +
'<label class="" for="{{elementid}}_{{CSS.INPUTSIZE}}">{{get_string "size" component}}</label>' +
'<div id="{{elementid}}_{{CSS.INPUTSIZE}}" class="form-inline {{CSS.INPUTSIZE}}">' +
'<div id="{{elementid}}_{{CSS.INPUTSIZE}}" class="d-flex flex-wrap align-items-center {{CSS.INPUTSIZE}}">' +
'<label class="accesshide" for="{{elementid}}_{{CSS.INPUTWIDTH}}">{{get_string "width" component}}</label>' +
'<input type="text" class="form-control mr-1 input-mini {{CSS.INPUTWIDTH}}" ' +
'id="{{elementid}}_{{CSS.INPUTWIDTH}}" size="4"/> x' +
@ -181,7 +181,7 @@ var CSS = {
'</div>' +
// Add the alignment selector.
'<div class="form-inline mb-1">' +
'<div class="d-flex flex-wrap align-items-center mb-1">' +
'<label class="for="{{elementid}}_{{CSS.INPUTALIGNMENT}}">{{get_string "alignment" component}}</label>' +
'<select class="custom-select {{CSS.INPUTALIGNMENT}}" id="{{elementid}}_{{CSS.INPUTALIGNMENT}}">' +
'{{#each alignments}}' +

View File

@ -158,7 +158,7 @@ var CSS = {
// Add the size entry boxes.
'<div class="mb-1">' +
'<label class="" for="{{elementid}}_{{CSS.INPUTSIZE}}">{{get_string "size" component}}</label>' +
'<div id="{{elementid}}_{{CSS.INPUTSIZE}}" class="form-inline {{CSS.INPUTSIZE}}">' +
'<div id="{{elementid}}_{{CSS.INPUTSIZE}}" class="d-flex flex-wrap align-items-center {{CSS.INPUTSIZE}}">' +
'<label class="accesshide" for="{{elementid}}_{{CSS.INPUTWIDTH}}">{{get_string "width" component}}</label>' +
'<input type="text" class="form-control mr-1 input-mini {{CSS.INPUTWIDTH}}" ' +
'id="{{elementid}}_{{CSS.INPUTWIDTH}}" size="4"/> x' +
@ -179,7 +179,7 @@ var CSS = {
'</div>' +
// Add the alignment selector.
'<div class="form-inline mb-1">' +
'<div class="d-flex flex-wrap align-items-center mb-1">' +
'<label class="for="{{elementid}}_{{CSS.INPUTALIGNMENT}}">{{get_string "alignment" component}}</label>' +
'<select class="custom-select {{CSS.INPUTALIGNMENT}}" id="{{elementid}}_{{CSS.INPUTALIGNMENT}}">' +
'{{#each alignments}}' +

View File

@ -253,7 +253,7 @@ var COMPONENTNAME = 'atto_media',
'{{#mediatype_video}}' +
'<div class="mb-1">' +
'<label>{{get_string "size" component}}</label>' +
'<div class="form-inline {{CSS.POSTER_SIZE}}">' +
'<div class="d-flex flex-wrap align-items-center {{CSS.POSTER_SIZE}}">' +
'<label class="accesshide">{{get_string "videowidth" component}}</label>' +
'<input type="text" class="form-control mr-1 {{CSS.WIDTH_INPUT}} input-mini" size="4"/>' +
' x ' +

File diff suppressed because one or more lines are too long

View File

@ -253,7 +253,7 @@ var COMPONENTNAME = 'atto_media',
'{{#mediatype_video}}' +
'<div class="mb-1">' +
'<label>{{get_string "size" component}}</label>' +
'<div class="form-inline {{CSS.POSTER_SIZE}}">' +
'<div class="d-flex flex-wrap align-items-center {{CSS.POSTER_SIZE}}">' +
'<label class="accesshide">{{get_string "videowidth" component}}</label>' +
'<input type="text" class="form-control mr-1 {{CSS.WIDTH_INPUT}} input-mini" size="4"/>' +
' x ' +

View File

@ -251,7 +251,7 @@ var COMPONENTNAME = 'atto_media',
'{{#mediatype_video}}' +
'<div class="mb-1">' +
'<label>{{get_string "size" component}}</label>' +
'<div class="form-inline {{CSS.POSTER_SIZE}}">' +
'<div class="d-flex flex-wrap align-items-center {{CSS.POSTER_SIZE}}">' +
'<label class="accesshide">{{get_string "videowidth" component}}</label>' +
'<input type="text" class="form-control mr-1 {{CSS.WIDTH_INPUT}} input-mini" size="4"/>' +
' x ' +

View File

@ -126,7 +126,7 @@ var COMPONENT = 'atto_table',
'<label for="{{elementid}}_atto_table_bordersize">' +
'{{get_string "bordersize" component}}</label>' +
'</div><div class="col-sm-8">' +
'<div class="form-inline">' +
'<div class="d-flex flex-wrap align-items-center">' +
'<input name="bordersize" id="{{elementid}}_atto_table_bordersize" ' +
'class="form-control w-auto mr-1 {{CSS.BORDERSIZE}}"' +
'type="number" value="1" size="8" min="1" max="50"/>' +
@ -140,7 +140,7 @@ var COMPONENT = 'atto_table',
'{{get_string "bordercolour" component}}</label>' +
'</div><div class="col-sm-8">' +
'<div id="{{elementid}}_atto_table_bordercolour"' +
'class="form-inline {{CSS.BORDERCOLOUR}} {{CSS.AVAILABLECOLORS}}" size="1">' +
'class="d-flex flex-wrap align-items-center {{CSS.BORDERCOLOUR}} {{CSS.AVAILABLECOLORS}}" size="1">' +
'<div class="tablebordercolor" style="background-color:transparent;color:transparent">' +
'<input id="{{../elementid}}_atto_table_bordercolour_-1"' +
'type="radio" class="m-0" name="borderColour" value="none" checked="checked"' +
@ -167,7 +167,7 @@ var COMPONENT = 'atto_table',
'{{get_string "backgroundcolour" component}}</label>' +
'</div><div class="col-sm-8">' +
'<div id="{{elementid}}_atto_table_backgroundcolour"' +
'class="form-inline {{CSS.BACKGROUNDCOLOUR}} {{CSS.AVAILABLECOLORS}}" size="1">' +
'class="d-flex flex-wrap align-items-center {{CSS.BACKGROUNDCOLOUR}} {{CSS.AVAILABLECOLORS}}" size="1">' +
'<div class="tablebackgroundcolor" style="background-color:transparent;color:transparent">' +
'<input id="{{../elementid}}_atto_table_backgroundcolour_-1"' +
'type="radio" class="m-0" name="backgroundColour" value="none" checked="checked"' +
@ -194,7 +194,7 @@ var COMPONENT = 'atto_table',
'<label for="{{elementid}}_atto_table_width">' +
'{{get_string "width" component}}</label>' +
'</div><div class="col-sm-8">' +
'<div class="form-inline">' +
'<div class="d-flex flex-wrap align-items-center">' +
'<input name="width" id="{{elementid}}_atto_table_width" ' +
'class="form-control w-auto mr-1 {{CSS.WIDTH}}" size="8" ' +
'type="number" min="0" max="100"/>' +

File diff suppressed because one or more lines are too long

View File

@ -126,7 +126,7 @@ var COMPONENT = 'atto_table',
'<label for="{{elementid}}_atto_table_bordersize">' +
'{{get_string "bordersize" component}}</label>' +
'</div><div class="col-sm-8">' +
'<div class="form-inline">' +
'<div class="d-flex flex-wrap align-items-center">' +
'<input name="bordersize" id="{{elementid}}_atto_table_bordersize" ' +
'class="form-control w-auto mr-1 {{CSS.BORDERSIZE}}"' +
'type="number" value="1" size="8" min="1" max="50"/>' +
@ -140,7 +140,7 @@ var COMPONENT = 'atto_table',
'{{get_string "bordercolour" component}}</label>' +
'</div><div class="col-sm-8">' +
'<div id="{{elementid}}_atto_table_bordercolour"' +
'class="form-inline {{CSS.BORDERCOLOUR}} {{CSS.AVAILABLECOLORS}}" size="1">' +
'class="d-flex flex-wrap align-items-center {{CSS.BORDERCOLOUR}} {{CSS.AVAILABLECOLORS}}" size="1">' +
'<div class="tablebordercolor" style="background-color:transparent;color:transparent">' +
'<input id="{{../elementid}}_atto_table_bordercolour_-1"' +
'type="radio" class="m-0" name="borderColour" value="none" checked="checked"' +
@ -167,7 +167,7 @@ var COMPONENT = 'atto_table',
'{{get_string "backgroundcolour" component}}</label>' +
'</div><div class="col-sm-8">' +
'<div id="{{elementid}}_atto_table_backgroundcolour"' +
'class="form-inline {{CSS.BACKGROUNDCOLOUR}} {{CSS.AVAILABLECOLORS}}" size="1">' +
'class="d-flex flex-wrap align-items-center {{CSS.BACKGROUNDCOLOUR}} {{CSS.AVAILABLECOLORS}}" size="1">' +
'<div class="tablebackgroundcolor" style="background-color:transparent;color:transparent">' +
'<input id="{{../elementid}}_atto_table_backgroundcolour_-1"' +
'type="radio" class="m-0" name="backgroundColour" value="none" checked="checked"' +
@ -194,7 +194,7 @@ var COMPONENT = 'atto_table',
'<label for="{{elementid}}_atto_table_width">' +
'{{get_string "width" component}}</label>' +
'</div><div class="col-sm-8">' +
'<div class="form-inline">' +
'<div class="d-flex flex-wrap align-items-center">' +
'<input name="width" id="{{elementid}}_atto_table_width" ' +
'class="form-control w-auto mr-1 {{CSS.WIDTH}}" size="8" ' +
'type="number" min="0" max="100"/>' +

View File

@ -124,7 +124,7 @@ var COMPONENT = 'atto_table',
'<label for="{{elementid}}_atto_table_bordersize">' +
'{{get_string "bordersize" component}}</label>' +
'</div><div class="col-sm-8">' +
'<div class="form-inline">' +
'<div class="d-flex flex-wrap align-items-center">' +
'<input name="bordersize" id="{{elementid}}_atto_table_bordersize" ' +
'class="form-control w-auto mr-1 {{CSS.BORDERSIZE}}"' +
'type="number" value="1" size="8" min="1" max="50"/>' +
@ -138,7 +138,7 @@ var COMPONENT = 'atto_table',
'{{get_string "bordercolour" component}}</label>' +
'</div><div class="col-sm-8">' +
'<div id="{{elementid}}_atto_table_bordercolour"' +
'class="form-inline {{CSS.BORDERCOLOUR}} {{CSS.AVAILABLECOLORS}}" size="1">' +
'class="d-flex flex-wrap align-items-center {{CSS.BORDERCOLOUR}} {{CSS.AVAILABLECOLORS}}" size="1">' +
'<div class="tablebordercolor" style="background-color:transparent;color:transparent">' +
'<input id="{{../elementid}}_atto_table_bordercolour_-1"' +
'type="radio" class="m-0" name="borderColour" value="none" checked="checked"' +
@ -165,7 +165,7 @@ var COMPONENT = 'atto_table',
'{{get_string "backgroundcolour" component}}</label>' +
'</div><div class="col-sm-8">' +
'<div id="{{elementid}}_atto_table_backgroundcolour"' +
'class="form-inline {{CSS.BACKGROUNDCOLOUR}} {{CSS.AVAILABLECOLORS}}" size="1">' +
'class="d-flex flex-wrap align-items-center {{CSS.BACKGROUNDCOLOUR}} {{CSS.AVAILABLECOLORS}}" size="1">' +
'<div class="tablebackgroundcolor" style="background-color:transparent;color:transparent">' +
'<input id="{{../elementid}}_atto_table_backgroundcolour_-1"' +
'type="radio" class="m-0" name="backgroundColour" value="none" checked="checked"' +
@ -192,7 +192,7 @@ var COMPONENT = 'atto_table',
'<label for="{{elementid}}_atto_table_width">' +
'{{get_string "width" component}}</label>' +
'</div><div class="col-sm-8">' +
'<div class="form-inline">' +
'<div class="d-flex flex-wrap align-items-center">' +
'<input name="width" id="{{elementid}}_atto_table_width" ' +
'class="form-control w-auto mr-1 {{CSS.WIDTH}}" size="8" ' +
'type="number" min="0" max="100"/>' +

View File

@ -119,7 +119,7 @@
<div class="clearfix"></div>
<div class="mb-1">
<label>{{#str}} size, tiny_media {{/str}}</label>
<div class="form-inline tiny_media_poster_size">
<div class="d-flex flex-wrap align-items-center tiny_media_poster_size">
<label for="vdisplayoptions_media-width-entry" class="accesshide">{{#str}} videowidth, tiny_media {{/str}}</label>
<input id="vdisplayoptions_media-width-entry" type="text" class="form-control mr-1 tiny_media_width_entry input-mini"
size="4" value="{{video.width}}"/>

View File

@ -72,7 +72,7 @@
</div>
<div class="mb-1">
<label class="" for="{{elementid}}_tiny_image_size">{{#str}} size, tiny_media {{/str}}</label>
<div id="{{elementid}}_tiny_image_size" class="form-inline tiny_image_size">
<div id="{{elementid}}_tiny_image_size" class="d-flex flex-wrap align-items-center tiny_image_size">
<label class="accesshide" for="{{elementid}}_tiny_image_widthentry">{{#str}} width, tiny_media {{/str}}</label>
<input type="text" class="form-control mr-1 input-mini tiny_image_widthentry" id="{{elementid}}_tiny_image_widthentry" size="4" value="{{width}}"/>
x
@ -85,7 +85,7 @@
</div>
</div>
</div>
<div class="form-inline mb-1">
<div class="d-flex flex-wrap align-items-center mb-1">
<label for="{{elementid}}_tiny_image_alignment">{{#str}} alignment, tiny_media {{/str}}</label>
<select class="custom-select tiny_image_alignment" id="{{elementid}}_tiny_image_alignment">
{{#alignoptions}}

View File

@ -65,7 +65,7 @@
{{{helpbutton}}}
</div>
</div>
<div class="col-md-9 form-inline align-items-start felement" data-fieldtype="{{element.type}}">
<div class="col-md-9 d-flex flex-wrap align-items-start felement" data-fieldtype="{{element.type}}">
{{$ element }}
<!-- Element goes here -->
{{/ element }}

View File

@ -39,7 +39,7 @@
}
}}
<form method="get" action="{{base}}" class="dataformatselector m-1">
<div class="form-inline text-xs-right">
<div class="d-flex flex-wrap align-items-end 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 custom-select mr-1">

View File

@ -45,11 +45,11 @@
<div class="fp-saveas mb-3 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 class="col-8 d-flex flex-wrap align-items-center"><input class="form-control" type="text"/></div>
</div>
<div class="fp-author mb-3 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 class="col-8 d-flex flex-wrap align-items-center"><input class="form-control" type="text"/></div>
</div>
<div class="fp-license mb-3 row mx-0">
@ -57,19 +57,19 @@
</div>
<div class="fp-path mb-3 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">
<div class="col-8 d-flex flex-wrap align-items-center pr-0">
<select class="custom-select form-control"></select>
</div>
</div>
<div class="fp-original mb-3 row mx-0">
<div class="form-control-label col-4 px-0">{{#str}}original, repository{{/str}}</div>
<div class="col-8 form-inline">
<div class="col-8 d-flex flex-wrap align-items-center">
<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 mb-3 row mx-0">
<div class="form-control-label col-4 px-0">{{#str}}referenceslist, repository{{/str}}</div>
<div class="col-8 form-inline">
<div class="col-8 d-flex flex-wrap align-items-center">
<p class="fp-refcount"></p>
<span class="fp-reflistloading">{{#pix}}i/loading_small{{/pix}} {{#str}}loading, repository{{/str}}</span>
<ul class="fp-value"></ul>

View File

@ -32,7 +32,7 @@
<label class="form-control-label"></label>
<div class="fp-login-radio"><input class="form-control" /> <label></label></div>
</div>
<div class="fp-login-checkbox mb-3 form-inline">
<div class="fp-login-checkbox mb-3 d-flex flex-wrap align-items-center">
<label class="form-control-label"></label>
<input class="form-control"/>
</div>

View File

@ -45,7 +45,7 @@
}}
<div class="simplesearchform {{ extraclasses }}">
{{^inform}}
<form autocomplete="off" action="{{ action }}" method="get" accept-charset="utf-8" class="mform form-inline simplesearchform">
<form autocomplete="off" action="{{ action }}" method="get" accept-charset="utf-8" class="mform d-flex flex-wrap align-items-center simplesearchform">
{{/inform}}
{{#hiddenfields}}
<input type="hidden" name="{{ name }}" value="{{ value }}">

View File

@ -36,7 +36,7 @@
]
}
}}
<div id="searchform-auto-{{uniqid}}" class="form-inline simplesearchform">
<div id="searchform-auto-{{uniqid}}" class="d-flex flex-wrap align-items-center simplesearchform">
<div class="input-group searchbar w-100" role="search">
<label for="searchinput-{{uniqid}}">
<span class="sr-only">{{$label}}{{#str}} search, core {{/str}}{{/label}}</span>

View File

@ -34,7 +34,7 @@
}}
<div id="searchinput-navbar-{{uniqid}}" class="simplesearchform">
<div class="collapse" id="searchform-navbar">
<form autocomplete="off" action="{{{ action }}}" method="get" accept-charset="utf-8" class="mform form-inline searchform-navbar">
<form autocomplete="off" action="{{{ action }}}" method="get" accept-charset="utf-8" class="mform d-flex flex-wrap align-items-center searchform-navbar">
{{#hiddenfields}}
<input type="hidden" name="{{ name }}" value="{{ value }}">
{{/hiddenfields}}

View File

@ -83,7 +83,7 @@
}}
<div class="{{classes}} d-inline-block">
<form method="{{method}}" action="{{action}}" class="form-inline" id="{{formid}}">
<form method="{{method}}" action="{{action}}" class="d-flex flex-wrap align-items-center" id="{{formid}}">
{{#params}}
<input type="hidden" name="{{name}}" value="{{value}}">
{{/params}}

View File

@ -38,7 +38,7 @@
}
}}
<div class="{{classes}}">
<form method="post" action="{{action}}" class="form-inline" id="{{formid}}">
<form method="post" action="{{action}}" class="d-flex flex-wrap align-items-center" id="{{formid}}">
<input type="hidden" name="sesskey" value="{{sesskey}}">
{{#label}}
<label for="{{id}}"{{#labelattributes}} {{name}}="{{value}}"{{/labelattributes}}>

View File

@ -101,9 +101,11 @@ Y.extend(CONFIRM, M.core.notification.info, {
this._question = Y.Node.create('<div class="confirmation-message">' + this.get(QUESTION) + '</div>');
var content = Y.Node.create('<div class="confirmation-dialogue"></div>')
.append(this._question)
.append(Y.Node.create('<div class="confirmation-buttons form-inline justify-content-around"></div>')
.append(this._yesButton)
.append(this._noButton));
.append(Y.Node.create(
'<div class="confirmation-buttons d-flex flex-wrap align-items-center justify-content-around"></div>'
)
.append(this._yesButton)
.append(this._noButton));
this.get(BASE).addClass('moodle-dialogue-confirm');
this.setStdModContent(Y.WidgetStdMod.BODY, content, Y.WidgetStdMod.REPLACE);
this.setStdModContent(Y.WidgetStdMod.HEADER,

View File

@ -1 +1 @@
YUI.add("moodle-core-notification-confirm",function(i,t){var e;M.core=M.core||{},i.extend(e=function(t){e.superclass.constructor.apply(this,[t])},M.core.notification.info,{_closeEvents:null,_yesButton:null,_noButton:null,_question:null,initializer:function(){var t;window.console.error('The module "moodle-core-notification-confirm" module has been deprecated and will be removed in Moodle 4.4.'),this._closeEvents=[],this.publish("complete"),this.publish("complete-yes"),this.publish("complete-no"),this._yesButton=i.Node.create('<input type="button" class="btn btn-primary" id="id_yuiconfirmyes-'+this.get("COUNT")+'" value="'+this.get("yesLabel")+'" />'),this._noButton=i.Node.create('<input type="button" class="btn btn-secondary" id="id_yuiconfirmno-'+this.get("COUNT")+'" value="'+this.get("noLabel")+'" />'),this._question=i.Node.create('<div class="confirmation-message">'+this.get("question")+"</div>"),t=i.Node.create('<div class="confirmation-dialogue"></div>').append(this._question).append(i.Node.create('<div class="confirmation-buttons form-inline justify-content-around"></div>').append(this._yesButton).append(this._noButton)),this.get("notificationBase").addClass("moodle-dialogue-confirm"),this.setStdModContent(i.WidgetStdMod.BODY,t,i.WidgetStdMod.REPLACE),this.setStdModContent(i.WidgetStdMod.HEADER,'<h5 id="moodle-dialogue-'+this.get("COUNT")+'-wrap-header-text">'+this.get("title")+"</h5>",i.WidgetStdMod.REPLACE),this._closeEvents.push(i.on("key",this.submit,window,"down:27",this,!1),this._yesButton.on("click",this.submit,this,!0),this._noButton.on("click",this.submit,this,!1)),(t=this.get("boundingBox").one(".closebutton"))&&this._closeEvents.push(t.on("click",this.submit,this))},submit:function(t,e){new i.EventHandle(this._closeEvents).detach(),this.fire("complete",e),e?this.fire("complete-yes"):this.fire("complete-no"),this.hide(),this.destroy()}},{NAME:"Moodle confirmation dialogue",CSS_PREFIX:"moodle-dialogue",ATTRS:{yesLabel:{validator:i.Lang.isString,valueFn:function(){return M.util.get_string("yes","moodle")},setter:function(t){return this._yesButton&&this._yesButton.set("value",t),t}},noLabel:{validator:i.Lang.isString,valueFn:function(){return M.util.get_string("no","moodle")},setter:function(t){return this._noButton&&this._noButton.set("value",t),t}},title:{validator:i.Lang.isString,value:M.util.get_string("confirm","moodle")},question:{validator:i.Lang.isString,valueFn:function(){return M.util.get_string("areyousure","moodle")},setter:function(t){return this._question&&this._question.set("value",t),t}}}}),i.augment(e,i.EventTarget),M.core.confirm=e},"@VERSION@",{requires:["moodle-core-notification-dialogue"]});
YUI.add("moodle-core-notification-confirm",function(i,t){var e;M.core=M.core||{},i.extend(e=function(t){e.superclass.constructor.apply(this,[t])},M.core.notification.info,{_closeEvents:null,_yesButton:null,_noButton:null,_question:null,initializer:function(){var t;window.console.error('The module "moodle-core-notification-confirm" module has been deprecated and will be removed in Moodle 4.4.'),this._closeEvents=[],this.publish("complete"),this.publish("complete-yes"),this.publish("complete-no"),this._yesButton=i.Node.create('<input type="button" class="btn btn-primary" id="id_yuiconfirmyes-'+this.get("COUNT")+'" value="'+this.get("yesLabel")+'" />'),this._noButton=i.Node.create('<input type="button" class="btn btn-secondary" id="id_yuiconfirmno-'+this.get("COUNT")+'" value="'+this.get("noLabel")+'" />'),this._question=i.Node.create('<div class="confirmation-message">'+this.get("question")+"</div>"),t=i.Node.create('<div class="confirmation-dialogue"></div>').append(this._question).append(i.Node.create('<div class="confirmation-buttons d-flex flex-wrap align-items-center justify-content-around"></div>').append(this._yesButton).append(this._noButton)),this.get("notificationBase").addClass("moodle-dialogue-confirm"),this.setStdModContent(i.WidgetStdMod.BODY,t,i.WidgetStdMod.REPLACE),this.setStdModContent(i.WidgetStdMod.HEADER,'<h5 id="moodle-dialogue-'+this.get("COUNT")+'-wrap-header-text">'+this.get("title")+"</h5>",i.WidgetStdMod.REPLACE),this._closeEvents.push(i.on("key",this.submit,window,"down:27",this,!1),this._yesButton.on("click",this.submit,this,!0),this._noButton.on("click",this.submit,this,!1)),(t=this.get("boundingBox").one(".closebutton"))&&this._closeEvents.push(t.on("click",this.submit,this))},submit:function(t,e){new i.EventHandle(this._closeEvents).detach(),this.fire("complete",e),e?this.fire("complete-yes"):this.fire("complete-no"),this.hide(),this.destroy()}},{NAME:"Moodle confirmation dialogue",CSS_PREFIX:"moodle-dialogue",ATTRS:{yesLabel:{validator:i.Lang.isString,valueFn:function(){return M.util.get_string("yes","moodle")},setter:function(t){return this._yesButton&&this._yesButton.set("value",t),t}},noLabel:{validator:i.Lang.isString,valueFn:function(){return M.util.get_string("no","moodle")},setter:function(t){return this._noButton&&this._noButton.set("value",t),t}},title:{validator:i.Lang.isString,value:M.util.get_string("confirm","moodle")},question:{validator:i.Lang.isString,valueFn:function(){return M.util.get_string("areyousure","moodle")},setter:function(t){return this._question&&this._question.set("value",t),t}}}}),i.augment(e,i.EventTarget),M.core.confirm=e},"@VERSION@",{requires:["moodle-core-notification-dialogue"]});

View File

@ -101,9 +101,11 @@ Y.extend(CONFIRM, M.core.notification.info, {
this._question = Y.Node.create('<div class="confirmation-message">' + this.get(QUESTION) + '</div>');
var content = Y.Node.create('<div class="confirmation-dialogue"></div>')
.append(this._question)
.append(Y.Node.create('<div class="confirmation-buttons form-inline justify-content-around"></div>')
.append(this._yesButton)
.append(this._noButton));
.append(Y.Node.create(
'<div class="confirmation-buttons d-flex flex-wrap align-items-center justify-content-around"></div>'
)
.append(this._yesButton)
.append(this._noButton));
this.get(BASE).addClass('moodle-dialogue-confirm');
this.setStdModContent(Y.WidgetStdMod.BODY, content, Y.WidgetStdMod.REPLACE);
this.setStdModContent(Y.WidgetStdMod.HEADER,

View File

@ -71,9 +71,11 @@ Y.extend(CONFIRM, M.core.notification.info, {
this._question = Y.Node.create('<div class="confirmation-message">' + this.get(QUESTION) + '</div>');
var content = Y.Node.create('<div class="confirmation-dialogue"></div>')
.append(this._question)
.append(Y.Node.create('<div class="confirmation-buttons form-inline justify-content-around"></div>')
.append(this._yesButton)
.append(this._noButton));
.append(Y.Node.create(
'<div class="confirmation-buttons d-flex flex-wrap align-items-center justify-content-around"></div>'
)
.append(this._yesButton)
.append(this._noButton));
this.get(BASE).addClass('moodle-dialogue-confirm');
this.setStdModContent(Y.WidgetStdMod.BODY, content, Y.WidgetStdMod.REPLACE);
this.setStdModContent(Y.WidgetStdMod.HEADER,

View File

@ -38,7 +38,7 @@
]
}
}}
<div id="searchform-auto-{{uniqid}}" class="form-inline simplesearchform">
<div id="searchform-auto-{{uniqid}}" class="d-flex flex-wrap align-items-center simplesearchform">
<div class="input-group searchbar" role="search">
<label for="mod_bigbluebutton_search-{{uniqid}}">
<span class="sr-only">{{$label}}{{#str}} search, core {{/str}}{{/label}}</span>

View File

@ -97,16 +97,17 @@ echo $OUTPUT->box('', '', 'chat-options');
echo $OUTPUT->box(html_writer::tag('h2', get_string('messages', 'chat'), array('class' => 'accesshide')) .
'<ul id="messages-list"></ul>', '', 'chat-messages');
$table = new html_table();
$table->data = array(
array('<div class="form-inline"><div class="d-flex"><label class="accesshide" for="input-message">'.
get_string('entermessage', 'chat').' </label>'.
'<span class="mb-3"><input type="text" disabled="true" class="form-control" ' .
'id="input-message" value="Loading..." size="48" /></span>'.
'<span class="mb-3"><input type="button" id="button-send" class="btn btn-secondary mx-1" ' .
'value="'.get_string('send', 'chat').'" />' .$OUTPUT->help_icon('usingchat', 'chat'). '</span></div>' .
' <div class="mb-3 d-flex ml-auto"><a id="choosetheme" href="###">'.
get_string('themes').
' &raquo; </a></div></div>'));
$table->data = [[
'<div class="d-flex flex-wrap align-items-center"><div class="d-flex"><label class="accesshide" for="input-message">'.
get_string('entermessage', 'chat').' </label>'.
'<span class="mb-3"><input type="text" disabled="true" class="form-control" ' .
'id="input-message" value="Loading..." size="48" /></span>'.
'<span class="mb-3"><input type="button" id="button-send" class="btn btn-secondary mx-1" ' .
'value="'.get_string('send', 'chat').'" />' .$OUTPUT->help_icon('usingchat', 'chat'). '</span></div>' .
' <div class="mb-3 d-flex ml-auto"><a id="choosetheme" href="###">'.
get_string('themes').
' &raquo; </a></div></div>',
]];
echo $OUTPUT->box(html_writer::tag('h2', get_string('composemessage', 'chat'), array('class' => 'accesshide')) .
html_writer::table($table), '', 'chat-input-area');
echo $OUTPUT->box('', '', 'chat-notify');

View File

@ -79,7 +79,7 @@ class data_field_date extends data_field_base {
$content = time();
}
$str = '<div title="'.s($this->field->description).'" class="mod-data-input form-inline">';
$str = '<div title="'.s($this->field->description).'" class="mod-data-input d-flex flex-wrap align-items-center">';
$dayselector = html_writer::select_time(
type: 'days',
@ -120,7 +120,7 @@ class data_field_date extends data_field_base {
. html_writer::select_time('months', 'f_' . $this->field->id . '_m', $value['timestamp'] ?? $currenttime)
. html_writer::select_time('years', 'f_' . $this->field->id . '_y', $value['timestamp'] ?? $currenttime);
$datecheck = html_writer::checkbox('f_' . $this->field->id . '_z', 1, $value['usedate'] ?? 0);
$str = '<div class="form-inline">' . $selectors . ' ' . $datecheck . ' ' . get_string('usedate', 'data') . '</div>';
$str = '<div class="d-flex flex-wrap">' . $selectors . ' ' . $datecheck . ' ' . get_string('usedate', 'data') . '</div>';
return $str;
}

View File

@ -78,7 +78,7 @@ class data_field_latlong extends data_field_base {
}
$str = '<div title="'.s($this->field->description).'">';
$str .= '<fieldset><legend><span class="accesshide">'.$this->field->name.'</span></legend>';
$str .= '<table class="form-inline"><tr><td align="right">';
$str .= '<table class="d-flex flex-wrap align-items-center"><tr><td align="right">';
$classes = 'mod-data-input form-control-static';
$str .= '<label for="field_'.$this->field->id.'_0" class="' . $classes . '">' . get_string('latitude', 'data');
if ($this->field->required) {

View File

@ -82,7 +82,7 @@ class data_field_url extends data_field_base {
$autolinkable = !empty($this->field->param1) && empty($this->field->param2);
$str = '<div title="' . s($this->field->description) . '" class="form-inline">';
$str = '<div title="' . s($this->field->description) . '" class="d-flex flex-wrap align-items-center">';
$label = '<label for="' . $fieldid . '"><span class="accesshide">' . $this->field->name . '</span>';
if ($this->field->required) {

View File

@ -1749,7 +1749,7 @@ function data_print_preference_form($data, $perpage, $search, $sort='', $order='
$regsearchclass = 'search_inline';
$advancedsearchclass = 'search_none';
}
echo '<div id="reg_search" class="' . $regsearchclass . ' form-inline" >&nbsp;&nbsp;&nbsp;';
echo '<div id="reg_search" class="' . $regsearchclass . ' d-flex flex-wrap align-items-center" >&nbsp;&nbsp;&nbsp;';
echo '<label for="pref_search">' . get_string('search') . '</label> <input type="text" ' .
'class="form-control" size="16" name="search" id= "pref_search" value="' . s($search) . '" /></div>';
echo '&nbsp;&nbsp;&nbsp;<label for="pref_sortby">'.get_string('sortby').'</label> ';

View File

@ -442,8 +442,8 @@ function forum_update_subscriptions_button($courseid, $forumid): string {
$edit = "on";
}
$subscribers = html_writer::start_tag('form', array('action' => $CFG->wwwroot . '/mod/forum/subscribers.php',
'method' => 'get', 'class' => 'form-inline'));
$subscribers = html_writer::start_tag('form', ['action' => $CFG->wwwroot . '/mod/forum/subscribers.php',
'method' => 'get', 'class' => 'd-flex flex-wrap align-items-center']);
$subscribers .= html_writer::empty_tag('input', array('type' => 'submit', 'value' => $string,
'class' => 'btn btn-secondary'));
$subscribers .= html_writer::empty_tag('input', array('type' => 'hidden', 'name' => 'id', 'value' => $forumid));

View File

@ -68,7 +68,7 @@
<div class="d-inline-block w-100">
{{#showbulkactions}}
<div class="buttons float-left">
<div class="form-inline pl-1">
<div class="d-flex flex-wrap align-items-center pl-1">
<label for="{{id}}">{{#str}}withselectedusers{{/str}}</label>
<select id="{{id}}" class="select custom-select ml-4" {{#attributes}}{{name}}="{{value}}" {{/attributes}}>
<option value="">{{#str}}choosedots{{/str}}</option>

View File

@ -92,7 +92,7 @@
<td class="c0 text-xs-right align-bottom">
<label for="timefromrestrict">{{#str}}searchdatefrom, forum{{/str}}</label>
</td>
<td class="c1 text-nowrap form-inline">
<td class="c1 text-nowrap d-flex flex-wrap align-items-center">
<div class="fdate_time_selector d-flex flex-wrap align-items-center">
<input type="checkbox" name="timefromrestrict" value="1" {{#datefromchecked}}checked{{/datefromchecked}}>
{{{datefromfields}}}
@ -108,7 +108,7 @@
<td class="c0 text-xs-right align-bottom">
<label for="timetorestrict">{{#str}}searchdateto, forum{{/str}}</label>
</td>
<td class="c1 text-nowrap form-inline">
<td class="c1 text-nowrap d-flex flex-wrap align-items-center">
<div class="fdate_time_selector d-flex flex-wrap align-items-center">
<input type="checkbox" name="timetorestrict" value="1" {{#datetochecked}}checked{{/datetochecked}}>
{{{datetofields}}}
@ -153,7 +153,7 @@
<td class="c0 text-xs-right align-bottom">
<label for="starredonly">{{#str}}starredonly, forum{{/str}}</label>
</td>
<td class="c1 align-middle form-inline">
<td class="c1 align-middle d-flex flex-wrap align-items-center">
<input type="checkbox" class="form-control" name="starredonly" id="starredonly" value="1" {{#starredonly}}checked{{/starredonly}} />
</td>
</tr>

View File

@ -30,7 +30,7 @@
"html": {
"hasanyactions": true,
"posts": "<article id='p33' class='forum-post-container mb-2' data-post-id='33'></article>",
"modeselectorform": "<div class='singleselect d-inline-block'> <form method='get' action='http://localhost/m/pg_stable_master/mod/forum/discuss.php' class='form-inline' id='mode'></div>",
"modeselectorform": "<div class='singleselect d-inline-block'> <form method='get' action='http://localhost/m/pg_stable_master/mod/forum/discuss.php' class='d-flex flex-wrap' id='mode'></div>",
"subscribe": null,
"movediscussion": null,
"pindiscussion": null,

View File

@ -30,7 +30,7 @@
"html": {
"hasanyactions": true,
"posts": "<article id='p33' class='forum-post-container mb-2' data-post-id='33'></article>",
"modeselectorform": "<div class='singleselect d-inline-block'> <form method='get' action='http://localhost/m/pg_stable_master/mod/forum/discuss.php' class='form-inline' id='mode'></div>",
"modeselectorform": "<div class='singleselect d-inline-block'> <form method='get' action='http://localhost/m/pg_stable_master/mod/forum/discuss.php' class='d-flex flex-wrap' id='mode'></div>",
"subscribe": null,
"movediscussion": null,
"pindiscussion": null,

View File

@ -10,7 +10,7 @@
<?php echo get_string("name") ?>
</label>
</div>
<div class="col-md-9 form-inline felement" data-fieldtype="select">
<div class="col-md-9 d-flex flex-wrap align-items-center felement" data-fieldtype="select">
<input type="text" name="name" id="name" class="form-control" size="30" value="<?php p($name) ?>" />
</div>
</div>
@ -23,7 +23,7 @@
<?php echo get_string("linkcategory","glossary") ?>
</label>
</div>
<div class="col-md-9 form-inline felement" data-fieldtype="select">
<div class="col-md-9 d-flex flex-wrap align-items-center felement" data-fieldtype="select">
<select size="1" id="usedynalink" name="usedynalink" class="custom-select">
<option value="1" <?php
if ( $usedynalink ) {
@ -46,7 +46,7 @@
<label class="col-form-label d-inline " for="fgroup_id_buttonar">
</label>
</div>
<div class="col-md-9 form-inline felement" data-fieldtype="group">
<div class="col-md-9 d-flex flex-wrap align-items-center felement" data-fieldtype="group">
<div class="mb-3 fitem form-submit mr-1">
<label class="col-form-label" for="id_save">
</label>

View File

@ -44,7 +44,7 @@
<div id="registration-choice-container" class="centered-menu">
<div class="card card-block">
<p class="lead">{{#str}} autoaddtype, mod_lti {{/str}}</p>
<form class="form-inline justify-content-center" id="add-tool-form">
<form class="d-flex flex-wrap align-items-center justify-content-center" id="add-tool-form">
<div class="control-group">
<input name="url"
class="form-control"

View File

@ -181,7 +181,7 @@ class edit_renderer extends \plugin_renderer_base {
$output = '';
$output .= html_writer::start_div('maxgrade');
$output .= html_writer::start_tag('form', ['method' => 'post', 'action' => 'edit.php',
'class' => 'quizsavegradesform form-inline']);
'class' => 'quizsavegradesform d-flex flex-wrap align-items-center']);
$output .= html_writer::start_tag('fieldset', ['class' => 'invisiblefieldset']);
$output .= html_writer::empty_tag('input', ['type' => 'hidden', 'name' => 'sesskey', 'value' => sesskey()]);
$output .= html_writer::input_hidden_params($pageurl);

View File

@ -332,7 +332,7 @@ class qtype_multianswer_textfield_renderer extends qtype_multianswer_subq_render
$qa, 'question', 'answerfeedback', $matchinganswer->id),
s($correctanswer->answer), $options);
$output = html_writer::start_tag('span', array('class' => 'subquestion form-inline d-inline'));
$output = html_writer::start_tag('span', ['class' => 'subquestion d-flex flex-wrap align-items-center']);
$output .= html_writer::tag('label', $this->get_answer_label(),
array('class' => 'subq accesshide', 'for' => $inputattributes['id']));

View File

@ -125,7 +125,7 @@ class qtype_numerical_renderer extends qtype_renderer {
$result = html_writer::tag('div', $questiontext, array('class' => 'qtext'));
if (!$placeholder) {
$result .= html_writer::start_tag('div', array('class' => 'ablock form-inline'));
$result .= html_writer::start_tag('div', ['class' => 'ablock d-flex flex-wrap align-items-center']);
$label = $options->add_question_identifier_to_label(get_string('answercolon', 'qtype_numerical'), true);
$result .= html_writer::tag('label', $label,
array('for' => $inputattributes['id']));

View File

@ -85,7 +85,7 @@ class qtype_shortanswer_renderer extends qtype_renderer {
$result = html_writer::tag('div', $questiontext, array('class' => 'qtext'));
if (!$placeholder) {
$result .= html_writer::start_tag('div', array('class' => 'ablock form-inline'));
$result .= html_writer::start_tag('div', ['class' => 'ablock d-flex flex-wrap align-items-center']);
$answerspan = html_writer::tag('span', $input, array('class' => 'answer'));
$label = $options->add_question_identifier_to_label(get_string('answercolon', 'qtype_numerical'), true);
$result .= html_writer::tag('label', $label . $answerspan,

View File

@ -70,7 +70,8 @@ if (empty($timeoptions)) {
throw new \moodle_exception('nostatstodisplay', 'error', $CFG->wwwroot.'/course/view.php?id='.$course->id);
}
echo html_writer::start_tag('form', array('action' => 'index.php', 'method' => 'post', 'class' => 'form-inline'));
echo html_writer::start_tag('form', ['action' => 'index.php', 'method' => 'post',
'class' => 'd-flex flex-wrap align-items-center']);
echo html_writer::start_tag('div');
$table = new html_table();

View File

@ -217,7 +217,7 @@ function report_participation_print_filter_form($course, $timefrom, $minlog, $ac
$instanceoptions[] = array(get_string('modulenameplural', $module->name)=>$instances);
}
echo '<form class="participationselectform form-inline" action="index.php" method="get"><div>'."\n".
echo '<form class="participationselectform d-flex flex-wrap align-items-center" action="index.php" method="get"><div>'."\n".
'<input type="hidden" name="id" value="'.$course->id.'" />'."\n";
echo '<label for="menuinstanceid">'.get_string('activitymodule').'</label>'."\n";
echo html_writer::select($instanceoptions, 'instanceid', $instanceid);

View File

@ -49,7 +49,7 @@
}}
<form id="combinetags_form">
<div class="description">{{#str}}selectmaintag, tag{{/str}}</div>
<div class="mb-3 options form-inline">
<div class="mb-3 options d-flex flex-wrap align-items-center">
{{#tags}}
<div class="form-check w-100 justify-content-start">
<input type="radio" class="form-check-input" name="maintag" id="combinetags_maintag_{{id}}" value="{{id}}"/>

View File

@ -501,10 +501,6 @@
padding-bottom: 13rem;
}
.jumpmenu .form-inline {
display: block;
}
.path-course-view .completionprogress {
margin-left: 25px;
}

View File

@ -22,7 +22,7 @@
margin-bottom: 4px;
}
.mform .form-inline {
.mform .d-flex {
.form-control,
.custom-select {
max-width: 100%;
@ -40,11 +40,6 @@
}
}
.unresponsive.mform .form-inline,
.unresponsive.mform .form-inline label {
display: inline-flex;
}
#jump-to-activity.custom-select {
width: 100%;
}
@ -91,14 +86,6 @@ input#id_externalurl {
display: block;
}
.form-item .form-inline {
display: inline;
}
.form-inline label:not(.sr-only):not(.accesshide) + select {
margin-left: 0.5rem;
}
.formsettingheading .form-horizontal {
color: $text-muted;
}
@ -400,20 +387,6 @@ textarea[data-auto-rows] {
}
}
/** Allow wrapping an mform in a div with the form-inline class to have an inline, responsive form. */
.form-inline {
@include media-breakpoint-up(md) {
.col-md-9,
.col-md-3 {
label {
margin-left: 1rem;
}
margin-bottom: 1rem;
width: auto;
}
}
}
[data-fieldtype="modgrade"] .fitem {
padding-bottom: $input-padding-y;
}
@ -438,9 +411,9 @@ textarea[data-auto-rows] {
}
// The autocomplete popup needs a display:block container to correctly position to popup.
.form-inline[data-fieldtype="autocomplete"],
.form-inline[data-fieldtype="tags"] {
display: block;
.felement[data-fieldtype="autocomplete"],
.felement[data-fieldtype="tags"] {
display: block !important; /* stylelint-disable-line declaration-no-important */
}
// Show editor at 100% width by default.
@ -454,18 +427,6 @@ textarea[data-auto-rows] {
}
}
@include media-breakpoint-up(sm) {
.mform {
.form-inline {
.fdefaultcustom {
label {
justify-content: initial;
}
}
}
}
}
.collapsemenu {
.collapseall {
display: block;

View File

@ -245,15 +245,6 @@ select {
}
}
#page-mod-forum-discuss .discussioncontrols {
width: auto;
margin: 0;
.form-inline input {
margin-top: -1px;
}
}
$author-image-width: 70px;
$author-image-margin: 24px;
$author-image-width-sm: 30px;
@ -1020,9 +1011,6 @@ div#dock {
.path-mod-lesson .answeroption .checkbox label p {
display: inline;
}
.path-mod-lesson .form-inline label.form-check-label {
display: inline-block;
}
.path-mod-lesson .slideshow {
overflow: auto;
padding: 15px;
@ -1219,10 +1207,6 @@ img.userpicture {
line-height: 1.5;
vertical-align: bottom;
}
#page-mod-quiz-mod #id_reviewoptionshdr .form-inline {
float: left;
clear: left;
}
#page-mod-quiz-mod #id_reviewoptionshdr .form-check {
width: auto;
height: 22px;

View File

@ -67,7 +67,7 @@
background-color: $white;
z-index: $zindex-popover;
height: $navbar-height;
.form-inline {
.searchform-navbar {
width: auto;
margin-left: auto;
margin-right: auto;

View File

@ -28312,10 +28312,6 @@ table.calendartable caption {
padding-bottom: 13rem;
}
.jumpmenu .form-inline {
display: block;
}
.path-course-view .completionprogress {
margin-left: 25px;
}
@ -32845,8 +32841,8 @@ body.path-question-type .mform fieldset.hidden {
z-index: 1060;
height: 60px;
}
.simplesearchform .collapse.show .form-inline,
.simplesearchform .collapsing .form-inline {
.simplesearchform .collapse.show .searchform-navbar,
.simplesearchform .collapsing .searchform-navbar {
width: auto;
margin-left: auto;
margin-right: auto;
@ -32893,27 +32889,22 @@ body.path-question-type .mform fieldset.hidden {
margin-bottom: 4px;
}
.mform .form-inline .form-control,
.mform .form-inline .custom-select {
.mform .d-flex .form-control,
.mform .d-flex .custom-select {
max-width: 100%;
}
.mform .form-inline textarea.form-control {
.mform .d-flex textarea.form-control {
width: 100%;
}
.mform .form-inline .fitem {
.mform .d-flex .fitem {
margin: 0.1rem 0.25rem 0.1rem 0 !important; /* stylelint-disable-line declaration-no-important */
}
.mform .form-inline br + label {
.mform .d-flex br + label {
justify-content: flex-start;
width: 100%;
margin-right: 0;
}
.unresponsive.mform .form-inline,
.unresponsive.mform .form-inline label {
display: inline-flex;
}
#jump-to-activity.custom-select {
width: 100%;
}
@ -32961,14 +32952,6 @@ input#id_externalurl {
display: block;
}
.form-item .form-inline {
display: inline;
}
.form-inline label:not(.sr-only):not(.accesshide) + select {
margin-left: 0.5rem;
}
.formsettingheading .form-horizontal {
color: #6a737b;
}
@ -33248,19 +33231,6 @@ textarea[data-auto-rows] {
margin-left: auto;
}
}
/** Allow wrapping an mform in a div with the form-inline class to have an inline, responsive form. */
@media (min-width: 768px) {
.form-inline .col-md-9,
.form-inline .col-md-3 {
margin-bottom: 1rem;
width: auto;
}
.form-inline .col-md-9 label,
.form-inline .col-md-3 label {
margin-left: 1rem;
}
}
[data-fieldtype=modgrade] .fitem {
padding-bottom: 0.375rem;
}
@ -33280,9 +33250,9 @@ textarea[data-auto-rows] {
display: none;
}
.form-inline[data-fieldtype=autocomplete],
.form-inline[data-fieldtype=tags] {
display: block;
.felement[data-fieldtype=autocomplete],
.felement[data-fieldtype=tags] {
display: block !important; /* stylelint-disable-line declaration-no-important */
}
[data-fieldtype=editor] > div {
@ -33294,11 +33264,6 @@ textarea[data-auto-rows] {
padding-left: 2.5rem;
}
}
@media (min-width: 576px) {
.mform .form-inline .fdefaultcustom label {
justify-content: initial;
}
}
.collapsemenu .collapseall {
display: block;
}
@ -33585,14 +33550,6 @@ select {
max-width: calc(100% - 35px - 0.5rem);
}
#page-mod-forum-discuss .discussioncontrols {
width: auto;
margin: 0;
}
#page-mod-forum-discuss .discussioncontrols .form-inline input {
margin-top: -1px;
}
/** Gently highlight the selected post by changing it's background to blue and then fading it out. */
@keyframes background-highlight {
from {
@ -34227,10 +34184,6 @@ div#dock {
display: inline;
}
.path-mod-lesson .form-inline label.form-check-label {
display: inline-block;
}
.path-mod-lesson .slideshow {
overflow: auto;
padding: 15px;
@ -34405,11 +34358,6 @@ img.userpicture {
vertical-align: bottom;
}
#page-mod-quiz-mod #id_reviewoptionshdr .form-inline {
float: left;
clear: left;
}
#page-mod-quiz-mod #id_reviewoptionshdr .form-check {
width: auto;
height: 22px;

View File

@ -6,6 +6,7 @@ information provided here is intended especially for theme designers.
* Bootstrap badge-pill is no longer used, use rounded-pill instead.
* The bootstrap ´.media´ helper class has been replaced with utility classes (´d-flex´, ´flex-shrink-´, ´flex-grow-´, ...)
* Bootstrap `.form-group` helper class is no longer used, use margin utilities instead (´mb-3´, ...).
* Bootstrap `.form-inline` helper class is no longer used, use display utilities instead (`.d-flex.flex-wrap.align-items-center`).
=== 4.3 ===
* The $activity-iconcontainer-height and $activity-iconcontainer-width variables have been changed from 50px to 52px.

View File

@ -28312,10 +28312,6 @@ table.calendartable caption {
padding-bottom: 13rem;
}
.jumpmenu .form-inline {
display: block;
}
.path-course-view .completionprogress {
margin-left: 25px;
}
@ -32845,8 +32841,8 @@ body.path-question-type .mform fieldset.hidden {
z-index: 1060;
height: 50px;
}
.simplesearchform .collapse.show .form-inline,
.simplesearchform .collapsing .form-inline {
.simplesearchform .collapse.show .searchform-navbar,
.simplesearchform .collapsing .searchform-navbar {
width: auto;
margin-left: auto;
margin-right: auto;
@ -32893,27 +32889,22 @@ body.path-question-type .mform fieldset.hidden {
margin-bottom: 4px;
}
.mform .form-inline .form-control,
.mform .form-inline .custom-select {
.mform .d-flex .form-control,
.mform .d-flex .custom-select {
max-width: 100%;
}
.mform .form-inline textarea.form-control {
.mform .d-flex textarea.form-control {
width: 100%;
}
.mform .form-inline .fitem {
.mform .d-flex .fitem {
margin: 0.1rem 0.25rem 0.1rem 0 !important; /* stylelint-disable-line declaration-no-important */
}
.mform .form-inline br + label {
.mform .d-flex br + label {
justify-content: flex-start;
width: 100%;
margin-right: 0;
}
.unresponsive.mform .form-inline,
.unresponsive.mform .form-inline label {
display: inline-flex;
}
#jump-to-activity.custom-select {
width: 100%;
}
@ -32961,14 +32952,6 @@ input#id_externalurl {
display: block;
}
.form-item .form-inline {
display: inline;
}
.form-inline label:not(.sr-only):not(.accesshide) + select {
margin-left: 0.5rem;
}
.formsettingheading .form-horizontal {
color: #6a737b;
}
@ -33248,19 +33231,6 @@ textarea[data-auto-rows] {
margin-left: auto;
}
}
/** Allow wrapping an mform in a div with the form-inline class to have an inline, responsive form. */
@media (min-width: 768px) {
.form-inline .col-md-9,
.form-inline .col-md-3 {
margin-bottom: 1rem;
width: auto;
}
.form-inline .col-md-9 label,
.form-inline .col-md-3 label {
margin-left: 1rem;
}
}
[data-fieldtype=modgrade] .fitem {
padding-bottom: 0.375rem;
}
@ -33280,9 +33250,9 @@ textarea[data-auto-rows] {
display: none;
}
.form-inline[data-fieldtype=autocomplete],
.form-inline[data-fieldtype=tags] {
display: block;
.felement[data-fieldtype=autocomplete],
.felement[data-fieldtype=tags] {
display: block !important; /* stylelint-disable-line declaration-no-important */
}
[data-fieldtype=editor] > div {
@ -33294,11 +33264,6 @@ textarea[data-auto-rows] {
padding-left: 2.5rem;
}
}
@media (min-width: 576px) {
.mform .form-inline .fdefaultcustom label {
justify-content: initial;
}
}
.collapsemenu .collapseall {
display: block;
}
@ -33585,14 +33550,6 @@ select {
max-width: calc(100% - 35px - 0.5rem);
}
#page-mod-forum-discuss .discussioncontrols {
width: auto;
margin: 0;
}
#page-mod-forum-discuss .discussioncontrols .form-inline input {
margin-top: -1px;
}
/** Gently highlight the selected post by changing it's background to blue and then fading it out. */
@keyframes background-highlight {
from {
@ -34227,10 +34184,6 @@ div#dock {
display: inline;
}
.path-mod-lesson .form-inline label.form-check-label {
display: inline-block;
}
.path-mod-lesson .slideshow {
overflow: auto;
padding: 15px;
@ -34405,11 +34358,6 @@ img.userpicture {
vertical-align: bottom;
}
#page-mod-quiz-mod #id_reviewoptionshdr .form-inline {
float: left;
clear: left;
}
#page-mod-quiz-mod #id_reviewoptionshdr .form-check {
width: auto;
height: 22px;

View File

@ -205,7 +205,7 @@ $bulkoptions = (object) [
'uniqueid' => $participanttable->uniqueid,
];
echo '<br /><div class="buttons"><div class="form-inline">';
echo '<br /><div class="buttons"><div class="d-flex flex-wrap align-items-center">';
echo html_writer::start_tag('div', array('class' => 'btn-group'));

View File

@ -268,7 +268,7 @@ abstract class user_selector_base {
$output .= $this->output_options($groupedusers, $search);
// Output the search controls.
$output .= "</select>\n<div class=\"form-inline\">\n";
$output .= "</select>\n<div class=\"d-flex flex-wrap align-items-center\">\n";
$output .= '<input type="text" name="' . $this->name . '_searchtext" id="' .
$this->name . '_searchtext" size="15" value="' . s($search) . '" class="form-control"/>';
$output .= '<input type="submit" name="' . $this->name . '_searchbutton" id="' .