mirror of
https://github.com/moodle/moodle.git
synced 2025-08-02 15:49:43 +02:00
MDL-75669 theme_boost: Refactor custom form elements to BS5
- .custom-check is now .form-check. - .custom-check.custom-switch is now .form-check.form-switch. - .custom-select is now .form-select. - .custom-file and .form-file have been replaced by custom styles on top of .form-control. - .custom-range is now .form-range. - Dropped .input-group-append and .input-group-prepend. You can now just add buttons and .input-group-text as direct children of the input groups.
This commit is contained in:
parent
5416483611
commit
04975cd2b2
199 changed files with 510 additions and 731 deletions
|
@ -544,7 +544,7 @@ class core_role_define_role_table_advanced extends core_role_capability_table_wi
|
||||||
$options[$type] = get_string('archetype'.$type, 'role');
|
$options[$type] = get_string('archetype'.$type, 'role');
|
||||||
}
|
}
|
||||||
return html_writer::select($options, 'archetype', $this->role->archetype, false,
|
return html_writer::select($options, 'archetype', $this->role->archetype, false,
|
||||||
array('class' => 'custom-select'));
|
['class' => 'form-select']);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected function get_assignable_levels_control() {
|
protected function get_assignable_levels_control() {
|
||||||
|
|
|
@ -28,9 +28,6 @@
|
||||||
<div class="simplesearchform d-flex justify-content-end">
|
<div class="simplesearchform d-flex justify-content-end">
|
||||||
<form autocomplete="off" action="{{action}}" method="get" accept-charset="utf-8" class="mform d-flex flex-wrap align-items-center 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">
|
<div class="input-group">
|
||||||
<label for="searchinput-{{uniqid}}">
|
|
||||||
<span class="visually-hidden">{{#str}} search, core {{/str}}</span>
|
|
||||||
</label>
|
|
||||||
<input type="text"
|
<input type="text"
|
||||||
id="searchinput-{{uniqid}}"
|
id="searchinput-{{uniqid}}"
|
||||||
class="form-control"
|
class="form-control"
|
||||||
|
@ -41,12 +38,13 @@
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
{{#query}}value="{{.}}"{{/query}}
|
{{#query}}value="{{.}}"{{/query}}
|
||||||
>
|
>
|
||||||
<div class="input-group-append">
|
<label for="searchinput-{{uniqid}}">
|
||||||
<button type="submit" class="btn btn-primary search-icon">
|
<span class="visually-hidden">{{#str}} search, core {{/str}}</span>
|
||||||
{{#pix}} a/search, core {{/pix}}
|
</label>
|
||||||
<span class="visually-hidden">{{#str}} search, core {{/str}}</span>
|
<button type="submit" class="btn btn-primary search-icon">
|
||||||
</button>
|
{{#pix}} a/search, core {{/pix}}
|
||||||
</div>
|
<span class="visually-hidden">{{#str}} search, core {{/str}}</span>
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -59,9 +59,9 @@
|
||||||
Setting autocomplete.
|
Setting autocomplete.
|
||||||
}}
|
}}
|
||||||
|
|
||||||
<div class="form-select defaultsnext">
|
<div class="defaultsnext">
|
||||||
<input type="hidden" name="{{name}}[xxxxx]" value="_qf__force_multiselect_submission">
|
<input type="hidden" name="{{name}}[xxxxx]" value="_qf__force_multiselect_submission">
|
||||||
<select class="custom-select" name="{{name}}[]"
|
<select class="form-select" name="{{name}}[]"
|
||||||
id="{{id}}"
|
id="{{id}}"
|
||||||
{{#multiple}}multiple{{/multiple}}>
|
{{#multiple}}multiple{{/multiple}}>
|
||||||
{{#options}}
|
{{#options}}
|
||||||
|
|
|
@ -81,7 +81,7 @@
|
||||||
{{#default}}
|
{{#default}}
|
||||||
<div class="form-defaultinfo text-muted {{#forceltr}}text-ltr{{/forceltr}}">{{{default}}}</div>
|
<div class="form-defaultinfo text-muted {{#forceltr}}text-ltr{{/forceltr}}">{{{default}}}</div>
|
||||||
{{/default}}
|
{{/default}}
|
||||||
<div class="form-description mt-3">{{{description}}}</div>
|
<div class="form-text mt-2">{{{description}}}</div>
|
||||||
{{#dependenton}}<div class="form-dependenton mb-4 text-muted">{{{.}}}</div>{{/dependenton}}
|
{{#dependenton}}<div class="form-dependenton mb-4 text-muted">{{{.}}}</div>{{/dependenton}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
<div class="d-flex flex-wrap align-items-center">
|
<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}}>
|
<input type="text" size="5" id="{{id}}v" name="{{name}}[v]" value="{{value}}" class="form-control text-ltr" {{#readonly}}disabled{{/readonly}}>
|
||||||
<label class="visually-hidden" for="{{id}}u">{{#str}}durationunits, admin{{/str}}</label>
|
<label class="visually-hidden" for="{{id}}u">{{#str}}durationunits, admin{{/str}}</label>
|
||||||
<select id="{{id}}u" name="{{name}}[u]" class="form-control custom-select" {{#readonly}}disabled{{/readonly}}>
|
<select id="{{id}}u" name="{{name}}[u]" class="form-control form-select" {{#readonly}}disabled{{/readonly}}>
|
||||||
{{#options}}
|
{{#options}}
|
||||||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
||||||
{{/options}}
|
{{/options}}
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
<div class="d-flex flex-wrap align-items-center">
|
<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}}>
|
<input type="text" size="5" id="{{id}}v" name="{{name}}[v]" value="{{value}}" class="form-control text-ltr" {{#readonly}}disabled{{/readonly}}>
|
||||||
<label class="visually-hidden" for="{{id}}u">{{#str}}filesizeunits, admin{{/str}}</label>
|
<label class="visually-hidden" for="{{id}}u">{{#str}}filesizeunits, admin{{/str}}</label>
|
||||||
<select id="{{id}}u" name="{{name}}[u]" class="form-control custom-select" {{#readonly}}disabled{{/readonly}}>
|
<select id="{{id}}u" name="{{name}}[u]" class="form-control form-select" {{#readonly}}disabled{{/readonly}}>
|
||||||
{{#options}}
|
{{#options}}
|
||||||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
||||||
{{/options}}
|
{{/options}}
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
{{!
|
{{!
|
||||||
Setting configmultiselect.
|
Setting configmultiselect.
|
||||||
}}
|
}}
|
||||||
<div class="form-select">
|
<div>
|
||||||
{{^readonly}}<input type="hidden" name="{{name}}[xxxxx]" value="1">{{/readonly}}
|
{{^readonly}}<input type="hidden" name="{{name}}[xxxxx]" value="1">{{/readonly}}
|
||||||
<select {{#readonly}}disabled{{/readonly}} id="{{id}}" name="{{name}}[]" size="{{size}}" class="form-control" multiple>
|
<select {{#readonly}}disabled{{/readonly}} id="{{id}}" name="{{name}}[]" size="{{size}}" class="form-control" multiple>
|
||||||
{{#options}}
|
{{#options}}
|
||||||
|
|
|
@ -58,7 +58,7 @@
|
||||||
{{!
|
{{!
|
||||||
Setting configmultiselect with optgroup support.
|
Setting configmultiselect with optgroup support.
|
||||||
}}
|
}}
|
||||||
<div class="form-select">
|
<div>
|
||||||
{{^readonly}}<input type="hidden" name="{{name}}[xxxxx]" value="1">{{/readonly}}
|
{{^readonly}}<input type="hidden" name="{{name}}[xxxxx]" value="1">{{/readonly}}
|
||||||
<select {{#readonly}}disabled{{/readonly}} id="{{id}}" name="{{name}}[]" size="{{size}}" class="form-control" multiple>
|
<select {{#readonly}}disabled{{/readonly}} id="{{id}}" name="{{name}}[]" size="{{size}}" class="form-control" multiple>
|
||||||
{{#options}}
|
{{#options}}
|
||||||
|
|
|
@ -39,8 +39,8 @@
|
||||||
{{!
|
{{!
|
||||||
Setting configselect.
|
Setting configselect.
|
||||||
}}
|
}}
|
||||||
<div class="form-select defaultsnext">
|
<div class="defaultsnext">
|
||||||
<select {{#readonly}}disabled{{/readonly}} id="{{id}}" name="{{name}}" class="custom-select">
|
<select {{#readonly}}disabled{{/readonly}} id="{{id}}" name="{{name}}" class="form-select">
|
||||||
{{#options}}
|
{{#options}}
|
||||||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
||||||
{{/options}}
|
{{/options}}
|
||||||
|
|
|
@ -56,8 +56,8 @@
|
||||||
{{!
|
{{!
|
||||||
Setting configselect with optgroup support.
|
Setting configselect with optgroup support.
|
||||||
}}
|
}}
|
||||||
<div class="form-select defaultsnext">
|
<div class="defaultsnext">
|
||||||
<select {{#readonly}}disabled{{/readonly}} id="{{id}}" name="{{name}}" class="custom-select">
|
<select {{#readonly}}disabled{{/readonly}} id="{{id}}" name="{{name}}" class="form-select">
|
||||||
{{#options}}
|
{{#options}}
|
||||||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
||||||
{{/options}}
|
{{/options}}
|
||||||
|
|
|
@ -47,13 +47,13 @@
|
||||||
<div class="form-time defaultsnext">
|
<div class="form-time defaultsnext">
|
||||||
<div class="d-flex flex-wrap align-items-center text-ltr">
|
<div class="d-flex flex-wrap align-items-center text-ltr">
|
||||||
<label class="visually-hidden" for="{{id}}h">{{#str}}hours{{/str}}</label>
|
<label class="visually-hidden" for="{{id}}h">{{#str}}hours{{/str}}</label>
|
||||||
<select id="{{id}}h" name="{{name}}[h]" class="custom-select" {{#readonly}}disabled{{/readonly}}>
|
<select id="{{id}}h" name="{{name}}[h]" class="form-select" {{#readonly}}disabled{{/readonly}}>
|
||||||
{{#hours}}
|
{{#hours}}
|
||||||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
||||||
{{/hours}}
|
{{/hours}}
|
||||||
</select>:
|
</select>:
|
||||||
<label class="visually-hidden" for="{{id}}m">{{#str}}minutes{{/str}}</label>
|
<label class="visually-hidden" for="{{id}}m">{{#str}}minutes{{/str}}</label>
|
||||||
<select id="{{id}}m" name="{{name}}[m]" class="custom-select" {{#readonly}}disabled{{/readonly}}>
|
<select id="{{id}}m" name="{{name}}[m]" class="form-select" {{#readonly}}disabled{{/readonly}}>
|
||||||
{{#minutes}}
|
{{#minutes}}
|
||||||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
||||||
{{/minutes}}
|
{{/minutes}}
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
}}
|
}}
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
{{#selects}}
|
{{#selects}}
|
||||||
<select id="{{id}}{{key}}" name="{{name}}[]" class="custom-select mb-1">
|
<select id="{{id}}{{key}}" name="{{name}}[]" class="form-select mb-1">
|
||||||
{{#options}}
|
{{#options}}
|
||||||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
||||||
{{/options}}
|
{{/options}}
|
||||||
|
|
|
@ -41,6 +41,6 @@
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-setting col-sm-9">
|
<div class="form-setting col-sm-9">
|
||||||
<div class="form-description">{{{description}}}</div>
|
<div class="form-text">{{{description}}}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
Setting configselect.
|
Setting configselect.
|
||||||
}}
|
}}
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<select id="{{id}}" name="{{name}}[value]" class="form-select custom-select">
|
<select id="{{id}}" name="{{name}}[value]" class="form-select">
|
||||||
{{#options}}
|
{{#options}}
|
||||||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
||||||
{{/options}}
|
{{/options}}
|
||||||
|
|
|
@ -45,14 +45,14 @@
|
||||||
{{#trainedexternally}}
|
{{#trainedexternally}}
|
||||||
<div class="box mb-4">{{#str}} evaluationmodeinfo, tool_analytics {{/str}}</div>
|
<div class="box mb-4">{{#str}} evaluationmodeinfo, tool_analytics {{/str}}</div>
|
||||||
|
|
||||||
<div class="custom-control custom-radio">
|
<div class="form-check custom-radio">
|
||||||
<input class="custom-control-input" type="radio" name="evaluationmode" id="id-mode-trainedmodel" value="trainedmodel" checked>
|
<input class="form-check-input" type="radio" name="evaluationmode" id="id-mode-trainedmodel" value="trainedmodel" checked>
|
||||||
<label class="custom-control-label" for="id-mode-trainedmodel">{{#str}} evaluationmodetrainedmodel, tool_analytics {{/str}}</label>
|
<label class="form-check-label" for="id-mode-trainedmodel">{{#str}} evaluationmodetrainedmodel, tool_analytics {{/str}}</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="custom-control custom-radio">
|
<div class="form-check custom-radio">
|
||||||
<input class="custom-control-input" type="radio" name="evaluationmode" id="id-mode-configuration" value="configuration">
|
<input class="form-check-input" type="radio" name="evaluationmode" id="id-mode-configuration" value="configuration">
|
||||||
<label class="custom-control-label" for="id-mode-configuration">{{#str}} evaluationmodeconfiguration, tool_analytics {{/str}}</label>
|
<label class="form-check-label" for="id-mode-configuration">{{#str}} evaluationmodeconfiguration, tool_analytics {{/str}}</label>
|
||||||
</div>
|
</div>
|
||||||
{{/trainedexternally}}
|
{{/trainedexternally}}
|
||||||
|
|
||||||
|
@ -60,7 +60,7 @@
|
||||||
<div id="id-evaluation-timesplitting-container" class="mt-3 {{#trainedexternally}}hidden{{/trainedexternally}}">
|
<div id="id-evaluation-timesplitting-container" class="mt-3 {{#trainedexternally}}hidden{{/trainedexternally}}">
|
||||||
{{#str}} selecttimesplittingforevaluation, tool_analytics {{/str}}
|
{{#str}} selecttimesplittingforevaluation, tool_analytics {{/str}}
|
||||||
<div>
|
<div>
|
||||||
<select id="id-evaluation-timesplitting" name="timesplitting" class="custom-select mt-3">
|
<select id="id-evaluation-timesplitting" name="timesplitting" class="form-select mt-3">
|
||||||
{{#timesplittingmethods}}
|
{{#timesplittingmethods}}
|
||||||
<option value="{{id}}">{{text}}</option>
|
<option value="{{id}}">{{text}}</option>
|
||||||
{{/timesplittingmethods}}
|
{{/timesplittingmethods}}
|
||||||
|
|
|
@ -31,17 +31,17 @@
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
<div class="custom-control custom-radio">
|
<div class="form-check custom-radio">
|
||||||
<input class="custom-control-input" type="radio" name="exportoption" id="id-mode-exportdata" value="exportdata">
|
<input class="form-check-input" type="radio" name="exportoption" id="id-mode-exportdata" value="exportdata">
|
||||||
<label class="custom-control-label" for="id-mode-exportdata">{{#str}} exporttrainingdata, tool_analytics {{/str}}</label>
|
<label class="form-check-label" for="id-mode-exportdata">{{#str}} exporttrainingdata, tool_analytics {{/str}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="custom-control custom-radio">
|
<div class="form-check custom-radio">
|
||||||
<input class="custom-control-input" type="radio" name="exportoption" id="id-mode-exportmodel" value="exportmodel" checked>
|
<input class="form-check-input" type="radio" name="exportoption" id="id-mode-exportmodel" value="exportmodel" checked>
|
||||||
<label class="custom-control-label" for="id-mode-exportmodel">{{#str}} exportmodel, tool_analytics {{/str}}</label>
|
<label class="form-check-label" for="id-mode-exportmodel">{{#str}} exportmodel, tool_analytics {{/str}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="custom-control custom-checkbox ms-5" id="id-includeweights-container">
|
<div class="form-check custom-checkbox ms-5" id="id-includeweights-container">
|
||||||
<input class="custom-control-input" type="checkbox" id="id-includeweights" value="1" checked>
|
<input class="form-check-input" type="checkbox" id="id-includeweights" value="1" checked>
|
||||||
<label class="custom-control-label" for="id-includeweights">{{#str}} exportincludeweights, tool_analytics {{/str}}</label>
|
<label class="form-check-label" for="id-includeweights">{{#str}} exportincludeweights, tool_analytics {{/str}}</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{#js}}
|
{{#js}}
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
define("tool_dataprivacy/selectedcourses",["exports","core/ajax","core/notification","core/modal_save_cancel","core/modal_events","core/fragment","core/prefetch","core/str"],(function(_exports,_ajax,_notification,_modal_save_cancel,_modal_events,_fragment,_prefetch,_str){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,_ajax=_interopRequireDefault(_ajax),_notification=_interopRequireDefault(_notification),_modal_save_cancel=_interopRequireDefault(_modal_save_cancel),_modal_events=_interopRequireDefault(_modal_events),_fragment=_interopRequireDefault(_fragment),(0,_prefetch.prefetchStrings)("tool_dataprivacy",["selectcourses","approverequest","errornoselectedcourse"]);return _exports.default=class{constructor(contextId,requestId){_defineProperty(this,"contextId",0),_defineProperty(this,"requestId",0),this.contextId=contextId,this.requestId=requestId,_modal_save_cancel.default.create({title:(0,_str.getString)("selectcourses","tool_dataprivacy"),body:this.getBody({requestid:requestId}),large:!0,removeOnClose:!0,buttons:{save:(0,_str.getString)("approverequest","tool_dataprivacy")}}).then((modal=>(this.modal=modal,modal))).then((modal=>(modal.getRoot().on(_modal_events.default.save,this.submitForm.bind(this)),modal.getRoot().on("submit","form",this.submitFormAjax.bind(this)),modal.show(),modal))).catch(_notification.default.exception)}getBody(formdata){const params=formdata?{jsonformdata:JSON.stringify(formdata)}:null;return _fragment.default.loadFragment("tool_dataprivacy","selectcourses_form",this.contextId,params)}submitForm(e){e.preventDefault(),this.modal.getRoot().find("form").submit()}submitFormAjax(e){e.preventDefault();let formData=this.modal.getRoot().find("form").serialize();if(-1===formData.indexOf("coursecontextids")){const customSelect=this.modal.getRoot().find(".custom-select"),invalidText=this.modal.getRoot().find(".invalid-feedback");return customSelect.addClass("is-invalid"),invalidText.attr("style","display: block"),void(0,_str.getString)("errornoselectedcourse","tool_dataprivacy").then((value=>{invalidText.empty().append(value)})).catch(_notification.default.exception)}_ajax.default.call([{methodname:"tool_dataprivacy_submit_selected_courses_form",args:{requestid:this.requestId,jsonformdata:JSON.stringify(formData)}}])[0].then((data=>(data.warnings.length>0?this.modal.setBody(this.getBody(formData)):(this.modal.destroy(),document.location.reload()),data))).catch((error=>_notification.default.exception(error)))}},_exports.default}));
|
define("tool_dataprivacy/selectedcourses",["exports","core/ajax","core/notification","core/modal_save_cancel","core/modal_events","core/fragment","core/prefetch","core/str"],(function(_exports,_ajax,_notification,_modal_save_cancel,_modal_events,_fragment,_prefetch,_str){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _defineProperty(obj,key,value){return key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value,obj}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,_ajax=_interopRequireDefault(_ajax),_notification=_interopRequireDefault(_notification),_modal_save_cancel=_interopRequireDefault(_modal_save_cancel),_modal_events=_interopRequireDefault(_modal_events),_fragment=_interopRequireDefault(_fragment),(0,_prefetch.prefetchStrings)("tool_dataprivacy",["selectcourses","approverequest","errornoselectedcourse"]);return _exports.default=class{constructor(contextId,requestId){_defineProperty(this,"contextId",0),_defineProperty(this,"requestId",0),this.contextId=contextId,this.requestId=requestId,_modal_save_cancel.default.create({title:(0,_str.getString)("selectcourses","tool_dataprivacy"),body:this.getBody({requestid:requestId}),large:!0,removeOnClose:!0,buttons:{save:(0,_str.getString)("approverequest","tool_dataprivacy")}}).then((modal=>(this.modal=modal,modal))).then((modal=>(modal.getRoot().on(_modal_events.default.save,this.submitForm.bind(this)),modal.getRoot().on("submit","form",this.submitFormAjax.bind(this)),modal.show(),modal))).catch(_notification.default.exception)}getBody(formdata){const params=formdata?{jsonformdata:JSON.stringify(formdata)}:null;return _fragment.default.loadFragment("tool_dataprivacy","selectcourses_form",this.contextId,params)}submitForm(e){e.preventDefault(),this.modal.getRoot().find("form").submit()}submitFormAjax(e){e.preventDefault();let formData=this.modal.getRoot().find("form").serialize();if(-1===formData.indexOf("coursecontextids")){const customSelect=this.modal.getRoot().find(".form-select"),invalidText=this.modal.getRoot().find(".invalid-feedback");return customSelect.addClass("is-invalid"),invalidText.attr("style","display: block"),void(0,_str.getString)("errornoselectedcourse","tool_dataprivacy").then((value=>{invalidText.empty().append(value)})).catch(_notification.default.exception)}_ajax.default.call([{methodname:"tool_dataprivacy_submit_selected_courses_form",args:{requestid:this.requestId,jsonformdata:JSON.stringify(formData)}}])[0].then((data=>(data.warnings.length>0?this.modal.setBody(this.getBody(formData)):(this.modal.destroy(),document.location.reload()),data))).catch((error=>_notification.default.exception(error)))}},_exports.default}));
|
||||||
|
|
||||||
//# sourceMappingURL=selectedcourses.min.js.map
|
//# sourceMappingURL=selectedcourses.min.js.map
|
File diff suppressed because one or more lines are too long
|
@ -128,7 +128,7 @@ export default class SelectedCourses {
|
||||||
let formData = this.modal.getRoot().find('form').serialize();
|
let formData = this.modal.getRoot().find('form').serialize();
|
||||||
|
|
||||||
if (formData.indexOf('coursecontextids') === -1) {
|
if (formData.indexOf('coursecontextids') === -1) {
|
||||||
const customSelect = this.modal.getRoot().find('.custom-select');
|
const customSelect = this.modal.getRoot().find('.form-select');
|
||||||
const invalidText = this.modal.getRoot().find('.invalid-feedback');
|
const invalidText = this.modal.getRoot().find('.invalid-feedback');
|
||||||
customSelect.addClass('is-invalid');
|
customSelect.addClass('is-invalid');
|
||||||
invalidText.attr('style', 'display: block');
|
invalidText.attr('style', 'display: block');
|
||||||
|
|
|
@ -46,7 +46,7 @@
|
||||||
}}
|
}}
|
||||||
<div class="mt-1 d-inline-block w-100">
|
<div class="mt-1 d-inline-block w-100">
|
||||||
<div class="float-start">
|
<div class="float-start">
|
||||||
<select id="bulk-action" class="select custom-select">
|
<select id="bulk-action" class="select form-select">
|
||||||
{{#options}}
|
{{#options}}
|
||||||
<option value="{{ value }}">{{ name }}</option>
|
<option value="{{ value }}">{{ name }}</option>
|
||||||
{{/options}}
|
{{/options}}
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
<div class="content">
|
<div class="content">
|
||||||
<div data-region="rating">
|
<div data-region="rating">
|
||||||
<label for="rating_{{uniqid}}">{{#str}}rating, tool_lp{{/str}}</label>
|
<label for="rating_{{uniqid}}">{{#str}}rating, tool_lp{{/str}}</label>
|
||||||
<select name="rating" id="rating_{{uniqid}}" class="custom-select">
|
<select name="rating" id="rating_{{uniqid}}" class="form-select">
|
||||||
{{#ratings}}
|
{{#ratings}}
|
||||||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
||||||
{{/ratings}}
|
{{/ratings}}
|
||||||
|
|
|
@ -54,7 +54,7 @@
|
||||||
<div data-region="competencylinktree">
|
<div data-region="competencylinktree">
|
||||||
{{^singleFramework}}
|
{{^singleFramework}}
|
||||||
<h3>{{#str}}competencyframeworks, tool_lp{{/str}}</h3>
|
<h3>{{#str}}competencyframeworks, tool_lp{{/str}}</h3>
|
||||||
<select data-action="chooseframework" class="custom-select">
|
<select data-action="chooseframework" class="form-select">
|
||||||
{{#frameworks}}
|
{{#frameworks}}
|
||||||
<option value="{{id}}" {{#selected}}selected="selected"{{/selected}}>{{{shortname}}} <em>{{idnumber}}</em></option>
|
<option value="{{id}}" {{#selected}}selected="selected"{{/selected}}>{{{shortname}}} <em>{{idnumber}}</em></option>
|
||||||
{{/frameworks}}
|
{{/frameworks}}
|
||||||
|
|
|
@ -57,7 +57,7 @@
|
||||||
<div data-region="competencylinktree">
|
<div data-region="competencylinktree">
|
||||||
{{^singlePlan}}
|
{{^singlePlan}}
|
||||||
<h3>{{#str}}learningplans, tool_lp{{/str}}</h3>
|
<h3>{{#str}}learningplans, tool_lp{{/str}}</h3>
|
||||||
<select data-action="chooseplan" class="custom-select">
|
<select data-action="chooseplan" class="form-select">
|
||||||
{{#plans}}
|
{{#plans}}
|
||||||
<option value="{{id}}" {{#selected}}selected="selected"{{/selected}}>{{{name}}}</option>
|
<option value="{{id}}" {{#selected}}selected="selected"{{/selected}}>{{{name}}}</option>
|
||||||
{{/plans}}
|
{{/plans}}
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
{{#hascompetencies}}
|
{{#hascompetencies}}
|
||||||
<span>
|
<span>
|
||||||
<label for="competency-nav-{{uniqid}}" class="accesshide">{{#str}}jumptocompetency, tool_lp{{/str}}</label>
|
<label for="competency-nav-{{uniqid}}" class="accesshide">{{#str}}jumptocompetency, tool_lp{{/str}}</label>
|
||||||
<select class="custom-select" id="competency-nav-{{uniqid}}">
|
<select class="form-select" id="competency-nav-{{uniqid}}">
|
||||||
{{#competencies}}
|
{{#competencies}}
|
||||||
<option value="{{id}}" {{#selected}}selected="selected"{{/selected}}>{{{shortname}}} {{idnumber}}</option>
|
<option value="{{id}}" {{#selected}}selected="selected"{{/selected}}>{{{shortname}}} {{idnumber}}</option>
|
||||||
{{/competencies}}
|
{{/competencies}}
|
||||||
|
|
|
@ -60,7 +60,7 @@
|
||||||
<div data-region="rule-base" class="form">
|
<div data-region="rule-base" class="form">
|
||||||
<div data-region="rule-outcome" class="mb-3">
|
<div data-region="rule-outcome" class="mb-3">
|
||||||
<label>{{#str}}outcome, tool_lp{{/str}}</label>
|
<label>{{#str}}outcome, tool_lp{{/str}}</label>
|
||||||
<select name="outcome" class="custom-select">
|
<select name="outcome" class="form-select">
|
||||||
{{#outcomes}}
|
{{#outcomes}}
|
||||||
<option value="{{code}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
<option value="{{code}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
||||||
{{/outcomes}}
|
{{/outcomes}}
|
||||||
|
@ -68,7 +68,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div data-region="rule-type" class="mb-3">
|
<div data-region="rule-type" class="mb-3">
|
||||||
<label>{{#str}}when, tool_lp{{/str}}</label>
|
<label>{{#str}}when, tool_lp{{/str}}</label>
|
||||||
<select name="rule" class="custom-select">
|
<select name="rule" class="form-select">
|
||||||
<option value="-1">{{#str}}choosedots{{/str}}</option>
|
<option value="-1">{{#str}}choosedots{{/str}}</option>
|
||||||
{{#rules}}
|
{{#rules}}
|
||||||
<option value="{{type}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
<option value="{{type}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
||||||
|
|
|
@ -117,7 +117,7 @@
|
||||||
<div data-region="coursecompetency-ruleoutcome">
|
<div data-region="coursecompetency-ruleoutcome">
|
||||||
<label>
|
<label>
|
||||||
{{#str}}uponcoursecompletion, tool_lp{{/str}}
|
{{#str}}uponcoursecompletion, tool_lp{{/str}}
|
||||||
<select data-field="ruleoutcome" data-id="{{coursecompetency.id}}" class="custom-select">
|
<select data-field="ruleoutcome" data-id="{{coursecompetency.id}}" class="form-select">
|
||||||
{{#ruleoutcomeoptions}}
|
{{#ruleoutcomeoptions}}
|
||||||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{text}}</option>
|
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{text}}</option>
|
||||||
{{/ruleoutcomeoptions}}
|
{{/ruleoutcomeoptions}}
|
||||||
|
|
|
@ -51,11 +51,9 @@
|
||||||
<p>
|
<p>
|
||||||
<form data-region="filtercompetencies" data-frameworkid="{{framework.id}}" class="d-flex flex-wrap align-items-center">
|
<form data-region="filtercompetencies" data-frameworkid="{{framework.id}}" class="d-flex flex-wrap align-items-center">
|
||||||
<div class="input-group mb-3">
|
<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}}">
|
<input class="form-control" type="text" id="filter{{uniqid}}" placeholder="{{#str}}search, tool_lp{{/str}}" value="{{search}}">
|
||||||
<div class="input-group-append">
|
<label class="accesshide" for="filter{{uniqid}}">{{#str}}search, tool_lp{{/str}}</label>
|
||||||
<button class="btn btn-secondary">{{#pix}}a/search, , {{#str}}search{{/str}}{{/pix}}</button>
|
<button class="btn btn-secondary">{{#pix}}a/search, , {{#str}}search{{/str}}{{/pix}}</button>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</p>
|
</p>
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
{{#hasusers}}
|
{{#hasusers}}
|
||||||
<span>
|
<span>
|
||||||
<label for="user-nav-{{uniqid}}" class="accesshide">{{#str}}jumptouser, tool_lp{{/str}}</label>
|
<label for="user-nav-{{uniqid}}" class="accesshide">{{#str}}jumptouser, tool_lp{{/str}}</label>
|
||||||
<select id="user-nav-{{uniqid}}" class="custom-select">
|
<select id="user-nav-{{uniqid}}" class="form-select">
|
||||||
{{#users}}
|
{{#users}}
|
||||||
<option value="{{id}}" {{#selected}}selected="selected"{{/selected}}>{{fullname}}</option>
|
<option value="{{id}}" {{#selected}}selected="selected"{{/selected}}>{{fullname}}</option>
|
||||||
{{/users}}
|
{{/users}}
|
||||||
|
@ -55,7 +55,7 @@
|
||||||
{{#hascompetencies}}
|
{{#hascompetencies}}
|
||||||
<span>
|
<span>
|
||||||
<label for="competency-nav-{{uniqid}}" class="accesshide">{{#str}}jumptocompetency, tool_lp{{/str}}</label>
|
<label for="competency-nav-{{uniqid}}" class="accesshide">{{#str}}jumptocompetency, tool_lp{{/str}}</label>
|
||||||
<select id="competency-nav-{{uniqid}}" class="custom-select">
|
<select id="competency-nav-{{uniqid}}" class="form-select">
|
||||||
{{#competencies}}
|
{{#competencies}}
|
||||||
<option value="{{id}}" {{#selected}}selected="selected"{{/selected}}>{{{shortname}}} {{idnumber}}</option>
|
<option value="{{id}}" {{#selected}}selected="selected"{{/selected}}>{{{shortname}}} {{idnumber}}</option>
|
||||||
{{/competencies}}
|
{{/competencies}}
|
||||||
|
|
|
@ -50,13 +50,11 @@
|
||||||
aria-label="{{#str}} aria:enterprofile, tool_moodlenet {{/str}}"
|
aria-label="{{#str}} aria:enterprofile, tool_moodlenet {{/str}}"
|
||||||
autocomplete="off"
|
autocomplete="off"
|
||||||
>
|
>
|
||||||
<div class="input-group-append z-index-0">
|
<button class="btn btn-secondary"
|
||||||
<button class="btn btn-secondary"
|
data-action="submit" id="button-addon2"
|
||||||
data-action="submit" id="button-addon2"
|
>
|
||||||
>
|
{{#str}} saveandgo, tool_moodlenet {{/str}}
|
||||||
{{#str}} saveandgo, tool_moodlenet {{/str}}
|
</button>
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<p class="text-start" aria-live="assertive" data-region="validation-area"></p>
|
<p class="text-start" aria-live="assertive" data-region="validation-area"></p>
|
||||||
<p class="text-start">{{#str}} forminfo, tool_moodlenet {{/str}}</p>
|
<p class="text-start">{{#str}} forminfo, tool_moodlenet {{/str}}</p>
|
||||||
|
|
|
@ -28,7 +28,7 @@ M.availability_completion.form.getNode = function(json) {
|
||||||
var html = '<span class="col-form-label pe-3"> ' + M.util.get_string('title', 'availability_completion') + '</span>' +
|
var html = '<span class="col-form-label pe-3"> ' + M.util.get_string('title', 'availability_completion') + '</span>' +
|
||||||
' <span class="availability-group mb-3"><label>' +
|
' <span class="availability-group mb-3"><label>' +
|
||||||
'<span class="accesshide">' + M.util.get_string('label_cm', 'availability_completion') + ' </span>' +
|
'<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') + '">' +
|
'<select class="form-select" name="cm" title="' + M.util.get_string('label_cm', 'availability_completion') + '">' +
|
||||||
'<option value="0">' + M.util.get_string('choosedots', 'moodle') + '</option>';
|
'<option value="0">' + M.util.get_string('choosedots', 'moodle') + '</option>';
|
||||||
for (var i = 0; i < this.cms.length; i++) {
|
for (var i = 0; i < this.cms.length; i++) {
|
||||||
var cm = this.cms[i];
|
var cm = this.cms[i];
|
||||||
|
@ -37,7 +37,7 @@ M.availability_completion.form.getNode = function(json) {
|
||||||
}
|
}
|
||||||
html += '</select></label> <label><span class="accesshide">' +
|
html += '</select></label> <label><span class="accesshide">' +
|
||||||
M.util.get_string('label_completion', 'availability_completion') +
|
M.util.get_string('label_completion', 'availability_completion') +
|
||||||
' </span><select class="custom-select" ' +
|
' </span><select class="form-select" ' +
|
||||||
'name="e" title="' + M.util.get_string('label_completion', 'availability_completion') + '">' +
|
'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="1">' + M.util.get_string('option_complete', 'availability_completion') + '</option>' +
|
||||||
'<option value="0">' + M.util.get_string('option_incomplete', 'availability_completion') + '</option>' +
|
'<option value="0">' + M.util.get_string('option_incomplete', 'availability_completion') + '</option>' +
|
||||||
|
|
|
@ -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 pe-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"]});
|
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 pe-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="form-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="form-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"]});
|
|
@ -28,7 +28,7 @@ M.availability_completion.form.getNode = function(json) {
|
||||||
var html = '<span class="col-form-label pe-3"> ' + M.util.get_string('title', 'availability_completion') + '</span>' +
|
var html = '<span class="col-form-label pe-3"> ' + M.util.get_string('title', 'availability_completion') + '</span>' +
|
||||||
' <span class="availability-group mb-3"><label>' +
|
' <span class="availability-group mb-3"><label>' +
|
||||||
'<span class="accesshide">' + M.util.get_string('label_cm', 'availability_completion') + ' </span>' +
|
'<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') + '">' +
|
'<select class="form-select" name="cm" title="' + M.util.get_string('label_cm', 'availability_completion') + '">' +
|
||||||
'<option value="0">' + M.util.get_string('choosedots', 'moodle') + '</option>';
|
'<option value="0">' + M.util.get_string('choosedots', 'moodle') + '</option>';
|
||||||
for (var i = 0; i < this.cms.length; i++) {
|
for (var i = 0; i < this.cms.length; i++) {
|
||||||
var cm = this.cms[i];
|
var cm = this.cms[i];
|
||||||
|
@ -37,7 +37,7 @@ M.availability_completion.form.getNode = function(json) {
|
||||||
}
|
}
|
||||||
html += '</select></label> <label><span class="accesshide">' +
|
html += '</select></label> <label><span class="accesshide">' +
|
||||||
M.util.get_string('label_completion', 'availability_completion') +
|
M.util.get_string('label_completion', 'availability_completion') +
|
||||||
' </span><select class="custom-select" ' +
|
' </span><select class="form-select" ' +
|
||||||
'name="e" title="' + M.util.get_string('label_completion', 'availability_completion') + '">' +
|
'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="1">' + M.util.get_string('option_complete', 'availability_completion') + '</option>' +
|
||||||
'<option value="0">' + M.util.get_string('option_incomplete', 'availability_completion') + '</option>' +
|
'<option value="0">' + M.util.get_string('option_incomplete', 'availability_completion') + '</option>' +
|
||||||
|
|
|
@ -26,7 +26,7 @@ M.availability_completion.form.getNode = function(json) {
|
||||||
var html = '<span class="col-form-label pe-3"> ' + M.util.get_string('title', 'availability_completion') + '</span>' +
|
var html = '<span class="col-form-label pe-3"> ' + M.util.get_string('title', 'availability_completion') + '</span>' +
|
||||||
' <span class="availability-group mb-3"><label>' +
|
' <span class="availability-group mb-3"><label>' +
|
||||||
'<span class="accesshide">' + M.util.get_string('label_cm', 'availability_completion') + ' </span>' +
|
'<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') + '">' +
|
'<select class="form-select" name="cm" title="' + M.util.get_string('label_cm', 'availability_completion') + '">' +
|
||||||
'<option value="0">' + M.util.get_string('choosedots', 'moodle') + '</option>';
|
'<option value="0">' + M.util.get_string('choosedots', 'moodle') + '</option>';
|
||||||
for (var i = 0; i < this.cms.length; i++) {
|
for (var i = 0; i < this.cms.length; i++) {
|
||||||
var cm = this.cms[i];
|
var cm = this.cms[i];
|
||||||
|
@ -35,7 +35,7 @@ M.availability_completion.form.getNode = function(json) {
|
||||||
}
|
}
|
||||||
html += '</select></label> <label><span class="accesshide">' +
|
html += '</select></label> <label><span class="accesshide">' +
|
||||||
M.util.get_string('label_completion', 'availability_completion') +
|
M.util.get_string('label_completion', 'availability_completion') +
|
||||||
' </span><select class="custom-select" ' +
|
' </span><select class="form-select" ' +
|
||||||
'name="e" title="' + M.util.get_string('label_completion', 'availability_completion') + '">' +
|
'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="1">' + M.util.get_string('option_complete', 'availability_completion') + '</option>' +
|
||||||
'<option value="0">' + M.util.get_string('option_incomplete', 'availability_completion') + '</option>' +
|
'<option value="0">' + M.util.get_string('option_incomplete', 'availability_completion') + '</option>' +
|
||||||
|
|
|
@ -151,7 +151,7 @@ class frontend extends \core_availability\frontend {
|
||||||
// NOTE: The fields need to have these weird names in order that they
|
// NOTE: The fields need to have these weird names in order that they
|
||||||
// match the standard Moodle form control, otherwise the date selector
|
// match the standard Moodle form control, otherwise the date selector
|
||||||
// won't find them.
|
// won't find them.
|
||||||
$html .= \html_writer::start_tag('select', array('name' => 'x[' . $field . ']', 'class' => 'custom-select'));
|
$html .= \html_writer::start_tag('select', ['name' => 'x[' . $field . ']', 'class' => 'form-select']);
|
||||||
foreach ($options as $key => $value) {
|
foreach ($options as $key => $value) {
|
||||||
$params = array('value' => $key);
|
$params = array('value' => $key);
|
||||||
if ($current[$field] == $key) {
|
if ($current[$field] == $key) {
|
||||||
|
|
|
@ -32,7 +32,7 @@ M.availability_date.form.getNode = function(json) {
|
||||||
var html = '<span class="col-form-label pe-3">' +
|
var html = '<span class="col-form-label pe-3">' +
|
||||||
M.util.get_string('direction_before', 'availability_date') + '</span> <span class="availability-group">' +
|
M.util.get_string('direction_before', 'availability_date') + '</span> <span class="availability-group">' +
|
||||||
'<label><span class="accesshide">' + M.util.get_string('direction_label', 'availability_date') + ' </span>' +
|
'<label><span class="accesshide">' + M.util.get_string('direction_label', 'availability_date') + ' </span>' +
|
||||||
'<select name="direction" class="custom-select">' +
|
'<select name="direction" class="form-select">' +
|
||||||
'<option value=">=">' + M.util.get_string('direction_from', 'availability_date') + '</option>' +
|
'<option value=">=">' + M.util.get_string('direction_from', 'availability_date') + '</option>' +
|
||||||
'<option value="<">' + M.util.get_string('direction_until', 'availability_date') + '</option>' +
|
'<option value="<">' + M.util.get_string('direction_until', 'availability_date') + '</option>' +
|
||||||
'</select></label></span> ' + this.html;
|
'</select></label></span> ' + this.html;
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
YUI.add("moodle-availability_date-form",function(o,e){M.availability_date=M.availability_date||{},M.availability_date.form=o.Object(M.core_availability.plugin),M.availability_date.form.initInner=function(e,a){this.html=e,this.defaultTime=a},M.availability_date.form.getNode=function(e){var t,i,a='<span class="col-form-label pe-3">'+M.util.get_string("direction_before","availability_date")+'</span> <span class="availability-group"><label><span class="accesshide">'+M.util.get_string("direction_label","availability_date")+' </span><select name="direction" class="custom-select"><option value=">=">'+M.util.get_string("direction_from","availability_date")+'</option><option value="<">'+M.util.get_string("direction_until","availability_date")+"</option></select></label></span> "+this.html,l=o.Node.create("<span>"+a+"</span>");return e.t!==undefined?(l.setData("time",e.t),l.all("select:not([name=direction])").each(function(e){e.set("disabled",!0)}),a=M.cfg.wwwroot+"/availability/condition/date/ajax.php?action=fromtime&time="+e.t,o.io(a,{on:{success:function(e,a){var t,i,n=o.JSON.parse(a.responseText);for(t in n)(i=l.one("select[name=x\\["+t+"\\]]")).set("value",""+n[t]),i.set("disabled",!1)},failure:function(){window.alert(M.util.get_string("ajaxerror","availability_date"))}}})):l.setData("time",this.defaultTime),e.nodeUID===undefined&&(a=new Date,e.nodeUID=a.getTime()),l.setData("nodeUID",e.nodeUID),e.d!==undefined&&l.one("select[name=direction]").set("value",e.d),M.availability_date.form.addedEvents||(M.availability_date.form.addedEvents=!0,(a=o.one(".availability-field")).delegate("change",function(){M.core_availability.form.update()},".availability_date select[name=direction]"),a.delegate("change",function(){M.availability_date.form.updateTime(this.ancestor("span.availability_date"))},".availability_date select:not([name=direction])")),l.one("a[href=#]")&&(M.form.dateselector.init_single_date_selector(l),t=l.one("select[name=x\\[year\\]]"),i=t.set,t.set=function(e,a){i.call(t,e,a),"selectedIndex"===e&&setTimeout(function(){M.availability_date.form.updateTime(l)},0)}),l},M.availability_date.form.updateTime=function(t){var e=M.cfg.wwwroot+"/availability/condition/date/ajax.php?action=totime&year="+t.one("select[name=x\\[year\\]]").get("value")+"&month="+t.one("select[name=x\\[month\\]]").get("value")+"&day="+t.one("select[name=x\\[day\\]]").get("value")+"&hour="+t.one("select[name=x\\[hour\\]]").get("value")+"&minute="+t.one("select[name=x\\[minute\\]]").get("value");o.io(e,{on:{success:function(e,a){t.setData("time",a.responseText),M.core_availability.form.update()},failure:function(){window.alert(M.util.get_string("ajaxerror","availability_date"))}}})},M.availability_date.form.fillValue=function(e,a){e.d=a.one("select[name=direction]").get("value"),e.t=parseInt(a.getData("time"),10),e.nodeUID=a.getData("nodeUID")},M.availability_date.form.findAllDateSiblings=function(e,d){var r,c=function(e){var a,t,i,n=[],l=!1,o=e.op!==undefined?e.op:null;if(e.c!==undefined){for(i=e.c,a=0;a<i.length;a++){if((r=i.at(a)).type===undefined&&(t=c(r)))return t;"date"===r.type&&(d===r.nodeUID?l=!0:"&"===o&&n.push(r))}if(l)return n}return null};return c(e)},M.availability_date.form.checkConditionDate=function(e){var a=!1,t=e.getData("nodeUID"),i=e.one("select[name=direction]").get("value"),n=parseInt(e.getData("time"),10),e=M.availability_date.form.findAllDateSiblings(M.core_availability.form.rootList.getValue(),t);return e&&e.forEach(function(e){return"<"===e.d?">="===i&&n>=e.t&&(a=!0):"<"===i&&n<=e.t&&(a=!0),a}),a},M.availability_date.form.fillErrors=function(e,a){M.availability_date.form.checkConditionDate(a)&&e.push("availability_date:error_dateconflict")}},"@VERSION@",{requires:["base","node","event","io","moodle-core_availability-form"]});
|
YUI.add("moodle-availability_date-form",function(o,e){M.availability_date=M.availability_date||{},M.availability_date.form=o.Object(M.core_availability.plugin),M.availability_date.form.initInner=function(e,a){this.html=e,this.defaultTime=a},M.availability_date.form.getNode=function(e){var t,i,a='<span class="col-form-label pe-3">'+M.util.get_string("direction_before","availability_date")+'</span> <span class="availability-group"><label><span class="accesshide">'+M.util.get_string("direction_label","availability_date")+' </span><select name="direction" class="form-select"><option value=">=">'+M.util.get_string("direction_from","availability_date")+'</option><option value="<">'+M.util.get_string("direction_until","availability_date")+"</option></select></label></span> "+this.html,l=o.Node.create("<span>"+a+"</span>");return e.t!==undefined?(l.setData("time",e.t),l.all("select:not([name=direction])").each(function(e){e.set("disabled",!0)}),a=M.cfg.wwwroot+"/availability/condition/date/ajax.php?action=fromtime&time="+e.t,o.io(a,{on:{success:function(e,a){var t,i,n=o.JSON.parse(a.responseText);for(t in n)(i=l.one("select[name=x\\["+t+"\\]]")).set("value",""+n[t]),i.set("disabled",!1)},failure:function(){window.alert(M.util.get_string("ajaxerror","availability_date"))}}})):l.setData("time",this.defaultTime),e.nodeUID===undefined&&(a=new Date,e.nodeUID=a.getTime()),l.setData("nodeUID",e.nodeUID),e.d!==undefined&&l.one("select[name=direction]").set("value",e.d),M.availability_date.form.addedEvents||(M.availability_date.form.addedEvents=!0,(a=o.one(".availability-field")).delegate("change",function(){M.core_availability.form.update()},".availability_date select[name=direction]"),a.delegate("change",function(){M.availability_date.form.updateTime(this.ancestor("span.availability_date"))},".availability_date select:not([name=direction])")),l.one("a[href=#]")&&(M.form.dateselector.init_single_date_selector(l),t=l.one("select[name=x\\[year\\]]"),i=t.set,t.set=function(e,a){i.call(t,e,a),"selectedIndex"===e&&setTimeout(function(){M.availability_date.form.updateTime(l)},0)}),l},M.availability_date.form.updateTime=function(t){var e=M.cfg.wwwroot+"/availability/condition/date/ajax.php?action=totime&year="+t.one("select[name=x\\[year\\]]").get("value")+"&month="+t.one("select[name=x\\[month\\]]").get("value")+"&day="+t.one("select[name=x\\[day\\]]").get("value")+"&hour="+t.one("select[name=x\\[hour\\]]").get("value")+"&minute="+t.one("select[name=x\\[minute\\]]").get("value");o.io(e,{on:{success:function(e,a){t.setData("time",a.responseText),M.core_availability.form.update()},failure:function(){window.alert(M.util.get_string("ajaxerror","availability_date"))}}})},M.availability_date.form.fillValue=function(e,a){e.d=a.one("select[name=direction]").get("value"),e.t=parseInt(a.getData("time"),10),e.nodeUID=a.getData("nodeUID")},M.availability_date.form.findAllDateSiblings=function(e,d){var r,c=function(e){var a,t,i,n=[],l=!1,o=e.op!==undefined?e.op:null;if(e.c!==undefined){for(i=e.c,a=0;a<i.length;a++){if((r=i.at(a)).type===undefined&&(t=c(r)))return t;"date"===r.type&&(d===r.nodeUID?l=!0:"&"===o&&n.push(r))}if(l)return n}return null};return c(e)},M.availability_date.form.checkConditionDate=function(e){var a=!1,t=e.getData("nodeUID"),i=e.one("select[name=direction]").get("value"),n=parseInt(e.getData("time"),10),e=M.availability_date.form.findAllDateSiblings(M.core_availability.form.rootList.getValue(),t);return e&&e.forEach(function(e){return"<"===e.d?">="===i&&n>=e.t&&(a=!0):"<"===i&&n<=e.t&&(a=!0),a}),a},M.availability_date.form.fillErrors=function(e,a){M.availability_date.form.checkConditionDate(a)&&e.push("availability_date:error_dateconflict")}},"@VERSION@",{requires:["base","node","event","io","moodle-core_availability-form"]});
|
|
@ -32,7 +32,7 @@ M.availability_date.form.getNode = function(json) {
|
||||||
var html = '<span class="col-form-label pe-3">' +
|
var html = '<span class="col-form-label pe-3">' +
|
||||||
M.util.get_string('direction_before', 'availability_date') + '</span> <span class="availability-group">' +
|
M.util.get_string('direction_before', 'availability_date') + '</span> <span class="availability-group">' +
|
||||||
'<label><span class="accesshide">' + M.util.get_string('direction_label', 'availability_date') + ' </span>' +
|
'<label><span class="accesshide">' + M.util.get_string('direction_label', 'availability_date') + ' </span>' +
|
||||||
'<select name="direction" class="custom-select">' +
|
'<select name="direction" class="form-select">' +
|
||||||
'<option value=">=">' + M.util.get_string('direction_from', 'availability_date') + '</option>' +
|
'<option value=">=">' + M.util.get_string('direction_from', 'availability_date') + '</option>' +
|
||||||
'<option value="<">' + M.util.get_string('direction_until', 'availability_date') + '</option>' +
|
'<option value="<">' + M.util.get_string('direction_until', 'availability_date') + '</option>' +
|
||||||
'</select></label></span> ' + this.html;
|
'</select></label></span> ' + this.html;
|
||||||
|
|
|
@ -30,7 +30,7 @@ M.availability_date.form.getNode = function(json) {
|
||||||
var html = '<span class="col-form-label pe-3">' +
|
var html = '<span class="col-form-label pe-3">' +
|
||||||
M.util.get_string('direction_before', 'availability_date') + '</span> <span class="availability-group">' +
|
M.util.get_string('direction_before', 'availability_date') + '</span> <span class="availability-group">' +
|
||||||
'<label><span class="accesshide">' + M.util.get_string('direction_label', 'availability_date') + ' </span>' +
|
'<label><span class="accesshide">' + M.util.get_string('direction_label', 'availability_date') + ' </span>' +
|
||||||
'<select name="direction" class="custom-select">' +
|
'<select name="direction" class="form-select">' +
|
||||||
'<option value=">=">' + M.util.get_string('direction_from', 'availability_date') + '</option>' +
|
'<option value=">=">' + M.util.get_string('direction_from', 'availability_date') + '</option>' +
|
||||||
'<option value="<">' + M.util.get_string('direction_until', 'availability_date') + '</option>' +
|
'<option value="<">' + M.util.get_string('direction_until', 'availability_date') + '</option>' +
|
||||||
'</select></label></span> ' + this.html;
|
'</select></label></span> ' + this.html;
|
||||||
|
|
|
@ -39,7 +39,7 @@ M.availability_grade.form.getNode = function(json) {
|
||||||
// Create HTML structure.
|
// Create HTML structure.
|
||||||
var html = '<label class="mb-3"><span class="pe-3">' + M.util.get_string('title', 'availability_grade') + '</span> ' +
|
var html = '<label class="mb-3"><span class="pe-3">' + M.util.get_string('title', 'availability_grade') + '</span> ' +
|
||||||
'<span class="availability-group">' +
|
'<span class="availability-group">' +
|
||||||
'<select name="id" class="custom-select"><option value="0">' + M.util.get_string('choosedots', 'moodle') + '</option>';
|
'<select name="id" class="form-select"><option value="0">' + M.util.get_string('choosedots', 'moodle') + '</option>';
|
||||||
for (var i = 0; i < this.grades.length; i++) {
|
for (var i = 0; i < this.grades.length; i++) {
|
||||||
var grade = this.grades[i];
|
var grade = this.grades[i];
|
||||||
// String has already been escaped using format_string.
|
// String has already been escaped using format_string.
|
||||||
|
|
|
@ -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="mb-3"><span class="pe-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 position-static mt-0 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 position-static mt-0 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"]});
|
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="pe-3">'+M.util.get_string("title","availability_grade")+'</span> <span class="availability-group"><select name="id" class="form-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 position-static mt-0 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 position-static mt-0 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"]});
|
|
@ -39,7 +39,7 @@ M.availability_grade.form.getNode = function(json) {
|
||||||
// Create HTML structure.
|
// Create HTML structure.
|
||||||
var html = '<label class="mb-3"><span class="pe-3">' + M.util.get_string('title', 'availability_grade') + '</span> ' +
|
var html = '<label class="mb-3"><span class="pe-3">' + M.util.get_string('title', 'availability_grade') + '</span> ' +
|
||||||
'<span class="availability-group">' +
|
'<span class="availability-group">' +
|
||||||
'<select name="id" class="custom-select"><option value="0">' + M.util.get_string('choosedots', 'moodle') + '</option>';
|
'<select name="id" class="form-select"><option value="0">' + M.util.get_string('choosedots', 'moodle') + '</option>';
|
||||||
for (var i = 0; i < this.grades.length; i++) {
|
for (var i = 0; i < this.grades.length; i++) {
|
||||||
var grade = this.grades[i];
|
var grade = this.grades[i];
|
||||||
// String has already been escaped using format_string.
|
// String has already been escaped using format_string.
|
||||||
|
|
|
@ -37,7 +37,7 @@ M.availability_grade.form.getNode = function(json) {
|
||||||
// Create HTML structure.
|
// Create HTML structure.
|
||||||
var html = '<label class="mb-3"><span class="pe-3">' + M.util.get_string('title', 'availability_grade') + '</span> ' +
|
var html = '<label class="mb-3"><span class="pe-3">' + M.util.get_string('title', 'availability_grade') + '</span> ' +
|
||||||
'<span class="availability-group">' +
|
'<span class="availability-group">' +
|
||||||
'<select name="id" class="custom-select"><option value="0">' + M.util.get_string('choosedots', 'moodle') + '</option>';
|
'<select name="id" class="form-select"><option value="0">' + M.util.get_string('choosedots', 'moodle') + '</option>';
|
||||||
for (var i = 0; i < this.grades.length; i++) {
|
for (var i = 0; i < this.grades.length; i++) {
|
||||||
var grade = this.grades[i];
|
var grade = this.grades[i];
|
||||||
// String has already been escaped using format_string.
|
// String has already been escaped using format_string.
|
||||||
|
|
|
@ -35,7 +35,7 @@ M.availability_group.form.getNode = function(json) {
|
||||||
// Create HTML structure.
|
// Create HTML structure.
|
||||||
var html = '<label><span class="pe-3">' + M.util.get_string('title', 'availability_group') + '</span> ' +
|
var html = '<label><span class="pe-3">' + M.util.get_string('title', 'availability_group') + '</span> ' +
|
||||||
'<span class="availability-group">' +
|
'<span class="availability-group">' +
|
||||||
'<select name="id" class="custom-select">' +
|
'<select name="id" class="form-select">' +
|
||||||
'<option value="choose">' + M.util.get_string('choosedots', 'moodle') + '</option>' +
|
'<option value="choose">' + M.util.get_string('choosedots', 'moodle') + '</option>' +
|
||||||
'<option value="any">' + M.util.get_string('anygroup', 'availability_group') + '</option>';
|
'<option value="any">' + M.util.get_string('anygroup', 'availability_group') + '</option>';
|
||||||
for (var i = 0; i < this.groups.length; i++) {
|
for (var i = 0; i < this.groups.length; i++) {
|
||||||
|
|
|
@ -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="pe-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"]});
|
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="pe-3">'+M.util.get_string("title","availability_group")+'</span> <span class="availability-group"><select name="id" class="form-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"]});
|
|
@ -35,7 +35,7 @@ M.availability_group.form.getNode = function(json) {
|
||||||
// Create HTML structure.
|
// Create HTML structure.
|
||||||
var html = '<label><span class="pe-3">' + M.util.get_string('title', 'availability_group') + '</span> ' +
|
var html = '<label><span class="pe-3">' + M.util.get_string('title', 'availability_group') + '</span> ' +
|
||||||
'<span class="availability-group">' +
|
'<span class="availability-group">' +
|
||||||
'<select name="id" class="custom-select">' +
|
'<select name="id" class="form-select">' +
|
||||||
'<option value="choose">' + M.util.get_string('choosedots', 'moodle') + '</option>' +
|
'<option value="choose">' + M.util.get_string('choosedots', 'moodle') + '</option>' +
|
||||||
'<option value="any">' + M.util.get_string('anygroup', 'availability_group') + '</option>';
|
'<option value="any">' + M.util.get_string('anygroup', 'availability_group') + '</option>';
|
||||||
for (var i = 0; i < this.groups.length; i++) {
|
for (var i = 0; i < this.groups.length; i++) {
|
||||||
|
|
|
@ -33,7 +33,7 @@ M.availability_group.form.getNode = function(json) {
|
||||||
// Create HTML structure.
|
// Create HTML structure.
|
||||||
var html = '<label><span class="pe-3">' + M.util.get_string('title', 'availability_group') + '</span> ' +
|
var html = '<label><span class="pe-3">' + M.util.get_string('title', 'availability_group') + '</span> ' +
|
||||||
'<span class="availability-group">' +
|
'<span class="availability-group">' +
|
||||||
'<select name="id" class="custom-select">' +
|
'<select name="id" class="form-select">' +
|
||||||
'<option value="choose">' + M.util.get_string('choosedots', 'moodle') + '</option>' +
|
'<option value="choose">' + M.util.get_string('choosedots', 'moodle') + '</option>' +
|
||||||
'<option value="any">' + M.util.get_string('anygroup', 'availability_group') + '</option>';
|
'<option value="any">' + M.util.get_string('anygroup', 'availability_group') + '</option>';
|
||||||
for (var i = 0; i < this.groups.length; i++) {
|
for (var i = 0; i < this.groups.length; i++) {
|
||||||
|
|
|
@ -35,7 +35,7 @@ M.availability_grouping.form.getNode = function(json) {
|
||||||
// Create HTML structure.
|
// Create HTML structure.
|
||||||
var html = '<label><span class="pe-3">' + M.util.get_string('title', 'availability_grouping') + '</span> ' +
|
var html = '<label><span class="pe-3">' + M.util.get_string('title', 'availability_grouping') + '</span> ' +
|
||||||
'<span class="availability-group">' +
|
'<span class="availability-group">' +
|
||||||
'<select name="id" class="custom-select">' +
|
'<select name="id" class="form-select">' +
|
||||||
'<option value="choose">' + M.util.get_string('choosedots', 'moodle') + '</option>';
|
'<option value="choose">' + M.util.get_string('choosedots', 'moodle') + '</option>';
|
||||||
for (var i = 0; i < this.groupings.length; i++) {
|
for (var i = 0; i < this.groupings.length; i++) {
|
||||||
var grouping = this.groupings[i];
|
var grouping = this.groupings[i];
|
||||||
|
|
|
@ -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="pe-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"]});
|
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="pe-3">'+M.util.get_string("title","availability_grouping")+'</span> <span class="availability-group"><select name="id" class="form-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"]});
|
|
@ -35,7 +35,7 @@ M.availability_grouping.form.getNode = function(json) {
|
||||||
// Create HTML structure.
|
// Create HTML structure.
|
||||||
var html = '<label><span class="pe-3">' + M.util.get_string('title', 'availability_grouping') + '</span> ' +
|
var html = '<label><span class="pe-3">' + M.util.get_string('title', 'availability_grouping') + '</span> ' +
|
||||||
'<span class="availability-group">' +
|
'<span class="availability-group">' +
|
||||||
'<select name="id" class="custom-select">' +
|
'<select name="id" class="form-select">' +
|
||||||
'<option value="choose">' + M.util.get_string('choosedots', 'moodle') + '</option>';
|
'<option value="choose">' + M.util.get_string('choosedots', 'moodle') + '</option>';
|
||||||
for (var i = 0; i < this.groupings.length; i++) {
|
for (var i = 0; i < this.groupings.length; i++) {
|
||||||
var grouping = this.groupings[i];
|
var grouping = this.groupings[i];
|
||||||
|
|
|
@ -33,7 +33,7 @@ M.availability_grouping.form.getNode = function(json) {
|
||||||
// Create HTML structure.
|
// Create HTML structure.
|
||||||
var html = '<label><span class="pe-3">' + M.util.get_string('title', 'availability_grouping') + '</span> ' +
|
var html = '<label><span class="pe-3">' + M.util.get_string('title', 'availability_grouping') + '</span> ' +
|
||||||
'<span class="availability-group">' +
|
'<span class="availability-group">' +
|
||||||
'<select name="id" class="custom-select">' +
|
'<select name="id" class="form-select">' +
|
||||||
'<option value="choose">' + M.util.get_string('choosedots', 'moodle') + '</option>';
|
'<option value="choose">' + M.util.get_string('choosedots', 'moodle') + '</option>';
|
||||||
for (var i = 0; i < this.groupings.length; i++) {
|
for (var i = 0; i < this.groupings.length; i++) {
|
||||||
var grouping = this.groupings[i];
|
var grouping = this.groupings[i];
|
||||||
|
|
|
@ -37,7 +37,7 @@ M.availability_profile.form.getNode = function(json) {
|
||||||
// Create HTML structure.
|
// Create HTML structure.
|
||||||
var html = '<span class="availability-group"><label><span class="pe-3">' +
|
var html = '<span class="availability-group"><label><span class="pe-3">' +
|
||||||
M.util.get_string('conditiontitle', 'availability_profile') + '</span> ' +
|
M.util.get_string('conditiontitle', 'availability_profile') + '</span> ' +
|
||||||
'<select name="field" class="custom-select">' +
|
'<select name="field" class="form-select">' +
|
||||||
'<option value="choose">' + M.util.get_string('choosedots', 'moodle') + '</option>';
|
'<option value="choose">' + M.util.get_string('choosedots', 'moodle') + '</option>';
|
||||||
var fieldInfo;
|
var fieldInfo;
|
||||||
for (var i = 0; i < this.standardFields.length; i++) {
|
for (var i = 0; i < this.standardFields.length; i++) {
|
||||||
|
@ -52,7 +52,7 @@ M.availability_profile.form.getNode = function(json) {
|
||||||
}
|
}
|
||||||
html += '</select></label> <label><span class="accesshide">' + M.util.get_string('label_operator', 'availability_profile') +
|
html += '</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') + '"' +
|
' </span><select name="op" title="' + M.util.get_string('label_operator', 'availability_profile') + '"' +
|
||||||
' class="custom-select">';
|
' class="form-select">';
|
||||||
var operators = ['isequalto', 'contains', 'doesnotcontain', 'startswith', 'endswith',
|
var operators = ['isequalto', 'contains', 'doesnotcontain', 'startswith', 'endswith',
|
||||||
'isempty', 'isnotempty'];
|
'isempty', 'isnotempty'];
|
||||||
for (i = 0; i < operators.length; i++) {
|
for (i = 0; i < operators.length; i++) {
|
||||||
|
|
|
@ -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="pe-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"]});
|
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="pe-3">'+M.util.get_string("conditiontitle","availability_profile")+'</span> <select name="field" class="form-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="form-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"]});
|
|
@ -37,7 +37,7 @@ M.availability_profile.form.getNode = function(json) {
|
||||||
// Create HTML structure.
|
// Create HTML structure.
|
||||||
var html = '<span class="availability-group"><label><span class="pe-3">' +
|
var html = '<span class="availability-group"><label><span class="pe-3">' +
|
||||||
M.util.get_string('conditiontitle', 'availability_profile') + '</span> ' +
|
M.util.get_string('conditiontitle', 'availability_profile') + '</span> ' +
|
||||||
'<select name="field" class="custom-select">' +
|
'<select name="field" class="form-select">' +
|
||||||
'<option value="choose">' + M.util.get_string('choosedots', 'moodle') + '</option>';
|
'<option value="choose">' + M.util.get_string('choosedots', 'moodle') + '</option>';
|
||||||
var fieldInfo;
|
var fieldInfo;
|
||||||
for (var i = 0; i < this.standardFields.length; i++) {
|
for (var i = 0; i < this.standardFields.length; i++) {
|
||||||
|
@ -52,7 +52,7 @@ M.availability_profile.form.getNode = function(json) {
|
||||||
}
|
}
|
||||||
html += '</select></label> <label><span class="accesshide">' + M.util.get_string('label_operator', 'availability_profile') +
|
html += '</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') + '"' +
|
' </span><select name="op" title="' + M.util.get_string('label_operator', 'availability_profile') + '"' +
|
||||||
' class="custom-select">';
|
' class="form-select">';
|
||||||
var operators = ['isequalto', 'contains', 'doesnotcontain', 'startswith', 'endswith',
|
var operators = ['isequalto', 'contains', 'doesnotcontain', 'startswith', 'endswith',
|
||||||
'isempty', 'isnotempty'];
|
'isempty', 'isnotempty'];
|
||||||
for (i = 0; i < operators.length; i++) {
|
for (i = 0; i < operators.length; i++) {
|
||||||
|
|
|
@ -35,7 +35,7 @@ M.availability_profile.form.getNode = function(json) {
|
||||||
// Create HTML structure.
|
// Create HTML structure.
|
||||||
var html = '<span class="availability-group"><label><span class="pe-3">' +
|
var html = '<span class="availability-group"><label><span class="pe-3">' +
|
||||||
M.util.get_string('conditiontitle', 'availability_profile') + '</span> ' +
|
M.util.get_string('conditiontitle', 'availability_profile') + '</span> ' +
|
||||||
'<select name="field" class="custom-select">' +
|
'<select name="field" class="form-select">' +
|
||||||
'<option value="choose">' + M.util.get_string('choosedots', 'moodle') + '</option>';
|
'<option value="choose">' + M.util.get_string('choosedots', 'moodle') + '</option>';
|
||||||
var fieldInfo;
|
var fieldInfo;
|
||||||
for (var i = 0; i < this.standardFields.length; i++) {
|
for (var i = 0; i < this.standardFields.length; i++) {
|
||||||
|
@ -50,7 +50,7 @@ M.availability_profile.form.getNode = function(json) {
|
||||||
}
|
}
|
||||||
html += '</select></label> <label><span class="accesshide">' + M.util.get_string('label_operator', 'availability_profile') +
|
html += '</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') + '"' +
|
' </span><select name="op" title="' + M.util.get_string('label_operator', 'availability_profile') + '"' +
|
||||||
' class="custom-select">';
|
' class="form-select">';
|
||||||
var operators = ['isequalto', 'contains', 'doesnotcontain', 'startswith', 'endswith',
|
var operators = ['isequalto', 'contains', 'doesnotcontain', 'startswith', 'endswith',
|
||||||
'isempty', 'isnotempty'];
|
'isempty', 'isnotempty'];
|
||||||
for (i = 0; i < operators.length; i++) {
|
for (i = 0; i < operators.length; i++) {
|
||||||
|
|
|
@ -379,14 +379,14 @@ M.core_availability.List = function(json, root, parentRoot) {
|
||||||
'<div class="availability-header mb-1"><span>' +
|
'<div class="availability-header mb-1"><span>' +
|
||||||
M.util.get_string('listheader_sign_before', 'availability') + '</span>' +
|
M.util.get_string('listheader_sign_before', 'availability') + '</span>' +
|
||||||
' <label><span class="accesshide">' + M.util.get_string('label_sign', 'availability') +
|
' <label><span class="accesshide">' + M.util.get_string('label_sign', 'availability') +
|
||||||
' </span><select class="availability-neg custom-select mx-1"' +
|
' </span><select class="availability-neg form-select mx-1"' +
|
||||||
' title="' + M.util.get_string('label_sign', 'availability') + '">' +
|
' title="' + M.util.get_string('label_sign', 'availability') + '">' +
|
||||||
'<option value="">' + M.util.get_string('listheader_sign_pos', 'availability') + '</option>' +
|
'<option value="">' + M.util.get_string('listheader_sign_pos', 'availability') + '</option>' +
|
||||||
'<option value="!">' + M.util.get_string('listheader_sign_neg', 'availability') + '</option></select></label> ' +
|
'<option value="!">' + M.util.get_string('listheader_sign_neg', 'availability') + '</option></select></label> ' +
|
||||||
'<span class="availability-single">' + M.util.get_string('listheader_single', 'availability') + '</span>' +
|
'<span class="availability-single">' + M.util.get_string('listheader_single', 'availability') + '</span>' +
|
||||||
'<span class="availability-multi">' + M.util.get_string('listheader_multi_before', 'availability') +
|
'<span class="availability-multi">' + M.util.get_string('listheader_multi_before', 'availability') +
|
||||||
' <label><span class="accesshide">' + M.util.get_string('label_multi', 'availability') + ' </span>' +
|
' <label><span class="accesshide">' + M.util.get_string('label_multi', 'availability') + ' </span>' +
|
||||||
'<select class="availability-op custom-select mx-1"' +
|
'<select class="availability-op form-select mx-1"' +
|
||||||
' title="' + M.util.get_string('label_multi', 'availability') + '"><option value="&">' +
|
' title="' + M.util.get_string('label_multi', 'availability') + '"><option value="&">' +
|
||||||
M.util.get_string('listheader_multi_and', 'availability') + '</option>' +
|
M.util.get_string('listheader_multi_and', 'availability') + '</option>' +
|
||||||
'<option value="|">' + M.util.get_string('listheader_multi_or', 'availability') + '</option></select></label> ' +
|
'<option value="|">' + M.util.get_string('listheader_multi_or', 'availability') + '</option></select></label> ' +
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -379,14 +379,14 @@ M.core_availability.List = function(json, root, parentRoot) {
|
||||||
'<div class="availability-header mb-1"><span>' +
|
'<div class="availability-header mb-1"><span>' +
|
||||||
M.util.get_string('listheader_sign_before', 'availability') + '</span>' +
|
M.util.get_string('listheader_sign_before', 'availability') + '</span>' +
|
||||||
' <label><span class="accesshide">' + M.util.get_string('label_sign', 'availability') +
|
' <label><span class="accesshide">' + M.util.get_string('label_sign', 'availability') +
|
||||||
' </span><select class="availability-neg custom-select mx-1"' +
|
' </span><select class="availability-neg form-select mx-1"' +
|
||||||
' title="' + M.util.get_string('label_sign', 'availability') + '">' +
|
' title="' + M.util.get_string('label_sign', 'availability') + '">' +
|
||||||
'<option value="">' + M.util.get_string('listheader_sign_pos', 'availability') + '</option>' +
|
'<option value="">' + M.util.get_string('listheader_sign_pos', 'availability') + '</option>' +
|
||||||
'<option value="!">' + M.util.get_string('listheader_sign_neg', 'availability') + '</option></select></label> ' +
|
'<option value="!">' + M.util.get_string('listheader_sign_neg', 'availability') + '</option></select></label> ' +
|
||||||
'<span class="availability-single">' + M.util.get_string('listheader_single', 'availability') + '</span>' +
|
'<span class="availability-single">' + M.util.get_string('listheader_single', 'availability') + '</span>' +
|
||||||
'<span class="availability-multi">' + M.util.get_string('listheader_multi_before', 'availability') +
|
'<span class="availability-multi">' + M.util.get_string('listheader_multi_before', 'availability') +
|
||||||
' <label><span class="accesshide">' + M.util.get_string('label_multi', 'availability') + ' </span>' +
|
' <label><span class="accesshide">' + M.util.get_string('label_multi', 'availability') + ' </span>' +
|
||||||
'<select class="availability-op custom-select mx-1"' +
|
'<select class="availability-op form-select mx-1"' +
|
||||||
' title="' + M.util.get_string('label_multi', 'availability') + '"><option value="&">' +
|
' title="' + M.util.get_string('label_multi', 'availability') + '"><option value="&">' +
|
||||||
M.util.get_string('listheader_multi_and', 'availability') + '</option>' +
|
M.util.get_string('listheader_multi_and', 'availability') + '</option>' +
|
||||||
'<option value="|">' + M.util.get_string('listheader_multi_or', 'availability') + '</option></select></label> ' +
|
'<option value="|">' + M.util.get_string('listheader_multi_or', 'availability') + '</option></select></label> ' +
|
||||||
|
|
4
availability/yui/src/form/js/form.js
vendored
4
availability/yui/src/form/js/form.js
vendored
|
@ -377,14 +377,14 @@ M.core_availability.List = function(json, root, parentRoot) {
|
||||||
'<div class="availability-header mb-1"><span>' +
|
'<div class="availability-header mb-1"><span>' +
|
||||||
M.util.get_string('listheader_sign_before', 'availability') + '</span>' +
|
M.util.get_string('listheader_sign_before', 'availability') + '</span>' +
|
||||||
' <label><span class="accesshide">' + M.util.get_string('label_sign', 'availability') +
|
' <label><span class="accesshide">' + M.util.get_string('label_sign', 'availability') +
|
||||||
' </span><select class="availability-neg custom-select mx-1"' +
|
' </span><select class="availability-neg form-select mx-1"' +
|
||||||
' title="' + M.util.get_string('label_sign', 'availability') + '">' +
|
' title="' + M.util.get_string('label_sign', 'availability') + '">' +
|
||||||
'<option value="">' + M.util.get_string('listheader_sign_pos', 'availability') + '</option>' +
|
'<option value="">' + M.util.get_string('listheader_sign_pos', 'availability') + '</option>' +
|
||||||
'<option value="!">' + M.util.get_string('listheader_sign_neg', 'availability') + '</option></select></label> ' +
|
'<option value="!">' + M.util.get_string('listheader_sign_neg', 'availability') + '</option></select></label> ' +
|
||||||
'<span class="availability-single">' + M.util.get_string('listheader_single', 'availability') + '</span>' +
|
'<span class="availability-single">' + M.util.get_string('listheader_single', 'availability') + '</span>' +
|
||||||
'<span class="availability-multi">' + M.util.get_string('listheader_multi_before', 'availability') +
|
'<span class="availability-multi">' + M.util.get_string('listheader_multi_before', 'availability') +
|
||||||
' <label><span class="accesshide">' + M.util.get_string('label_multi', 'availability') + ' </span>' +
|
' <label><span class="accesshide">' + M.util.get_string('label_multi', 'availability') + ' </span>' +
|
||||||
'<select class="availability-op custom-select mx-1"' +
|
'<select class="availability-op form-select mx-1"' +
|
||||||
' title="' + M.util.get_string('label_multi', 'availability') + '"><option value="&">' +
|
' title="' + M.util.get_string('label_multi', 'availability') + '"><option value="&">' +
|
||||||
M.util.get_string('listheader_multi_and', 'availability') + '</option>' +
|
M.util.get_string('listheader_multi_and', 'availability') + '</option>' +
|
||||||
'<option value="|">' + M.util.get_string('listheader_multi_or', 'availability') + '</option></select></label> ' +
|
'<option value="|">' + M.util.get_string('listheader_multi_or', 'availability') + '</option></select></label> ' +
|
||||||
|
|
|
@ -86,7 +86,7 @@ class copy_form extends \moodleform {
|
||||||
$mform->setConstant('returnurl', $returnurl);
|
$mform->setConstant('returnurl', $returnurl);
|
||||||
|
|
||||||
// Form heading.
|
// Form heading.
|
||||||
$mform->addElement('html', \html_writer::div(get_string('copycoursedesc', 'backup'), 'form-description mb-6'));
|
$mform->addElement('html', \html_writer::div(get_string('copycoursedesc', 'backup'), 'form-text mb-6'));
|
||||||
|
|
||||||
// Course fullname.
|
// Course fullname.
|
||||||
$mform->addElement('text', 'fullname', get_string('fullnamecourse'),
|
$mform->addElement('text', 'fullname', get_string('fullnamecourse'),
|
||||||
|
|
2
badges/amd/build/selectors.min.js
vendored
2
badges/amd/build/selectors.min.js
vendored
|
@ -6,6 +6,6 @@ define("core_badges/selectors",["exports"],(function(_exports){Object.defineProp
|
||||||
* @copyright 2020 Sara Arjona <sara@moodle.com>
|
* @copyright 2020 Sara Arjona <sara@moodle.com>
|
||||||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||||
*/
|
*/
|
||||||
const getDataSelector=(name,value)=>"[data-".concat(name,'="').concat(value,'"]');var _default={actions:{deletebackpack:getDataSelector("action","deletebackpack"),enablebadge:getDataSelector("action","enablebadge"),disablebadge:getDataSelector("action","disablebadge")},elements:{clearsearch:".input-group-append .clear-icon",main:"#backpacklist",backpackurl:"[data-backpackurl]"}};return _exports.default=_default,_exports.default}));
|
const getDataSelector=(name,value)=>"[data-".concat(name,'="').concat(value,'"]');var _default={actions:{deletebackpack:getDataSelector("action","deletebackpack"),enablebadge:getDataSelector("action","enablebadge"),disablebadge:getDataSelector("action","disablebadge")},elements:{clearsearch:".input-group .clear-icon",main:"#backpacklist",backpackurl:"[data-backpackurl]"}};return _exports.default=_default,_exports.default}));
|
||||||
|
|
||||||
//# sourceMappingURL=selectors.min.js.map
|
//# sourceMappingURL=selectors.min.js.map
|
|
@ -1 +1 @@
|
||||||
{"version":3,"file":"selectors.min.js","sources":["../src/selectors.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\n/**\n * Define all of the selectors we will be using on the backpack interface.\n *\n * @module core_badges/selectors\n * @copyright 2020 Sara Arjona <sara@moodle.com>\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\n/**\n * A small helper function to build queryable data selectors.\n *\n * @method getDataSelector\n * @param {String} name\n * @param {String} value\n * @return {string}\n */\nconst getDataSelector = (name, value) => {\n return `[data-${name}=\"${value}\"]`;\n};\n\nexport default {\n actions: {\n deletebackpack: getDataSelector('action', 'deletebackpack'),\n enablebadge: getDataSelector('action', 'enablebadge'),\n disablebadge: getDataSelector('action', 'disablebadge'),\n },\n elements: {\n clearsearch: '.input-group-append .clear-icon',\n main: '#backpacklist',\n backpackurl: '[data-backpackurl]',\n },\n};\n"],"names":["getDataSelector","name","value","actions","deletebackpack","enablebadge","disablebadge","elements","clearsearch","main","backpackurl"],"mappings":";;;;;;;;MA+BMA,gBAAkB,CAACC,KAAMC,wBACXD,kBAASC,yBAGd,CACXC,QAAS,CACLC,eAAgBJ,gBAAgB,SAAU,kBAC1CK,YAAaL,gBAAgB,SAAU,eACvCM,aAAcN,gBAAgB,SAAU,iBAE5CO,SAAU,CACNC,YAAa,kCACbC,KAAM,gBACNC,YAAa"}
|
{"version":3,"file":"selectors.min.js","sources":["../src/selectors.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\n/**\n * Define all of the selectors we will be using on the backpack interface.\n *\n * @module core_badges/selectors\n * @copyright 2020 Sara Arjona <sara@moodle.com>\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\n/**\n * A small helper function to build queryable data selectors.\n *\n * @method getDataSelector\n * @param {String} name\n * @param {String} value\n * @return {string}\n */\nconst getDataSelector = (name, value) => {\n return `[data-${name}=\"${value}\"]`;\n};\n\nexport default {\n actions: {\n deletebackpack: getDataSelector('action', 'deletebackpack'),\n enablebadge: getDataSelector('action', 'enablebadge'),\n disablebadge: getDataSelector('action', 'disablebadge'),\n },\n elements: {\n clearsearch: '.input-group .clear-icon',\n main: '#backpacklist',\n backpackurl: '[data-backpackurl]',\n },\n};\n"],"names":["getDataSelector","name","value","actions","deletebackpack","enablebadge","disablebadge","elements","clearsearch","main","backpackurl"],"mappings":";;;;;;;;MA+BMA,gBAAkB,CAACC,KAAMC,wBACXD,kBAASC,yBAGd,CACXC,QAAS,CACLC,eAAgBJ,gBAAgB,SAAU,kBAC1CK,YAAaL,gBAAgB,SAAU,eACvCM,aAAcN,gBAAgB,SAAU,iBAE5CO,SAAU,CACNC,YAAa,2BACbC,KAAM,gBACNC,YAAa"}
|
|
@ -40,7 +40,7 @@ export default {
|
||||||
disablebadge: getDataSelector('action', 'disablebadge'),
|
disablebadge: getDataSelector('action', 'disablebadge'),
|
||||||
},
|
},
|
||||||
elements: {
|
elements: {
|
||||||
clearsearch: '.input-group-append .clear-icon',
|
clearsearch: '.input-group .clear-icon',
|
||||||
main: '#backpacklist',
|
main: '#backpacklist',
|
||||||
backpackurl: '[data-backpackurl]',
|
backpackurl: '[data-backpackurl]',
|
||||||
},
|
},
|
||||||
|
|
|
@ -30,17 +30,15 @@
|
||||||
<label for="calendarexporturl">{{#str}}calendarexporturl, calendar{{/str}}</label>
|
<label for="calendarexporturl">{{#str}}calendarexporturl, calendar{{/str}}</label>
|
||||||
<div class="input-group">
|
<div class="input-group">
|
||||||
<input type="text" id="calendarexporturl" class="form-control" value="{{calendarexporturl}}" readonly />
|
<input type="text" id="calendarexporturl" class="form-control" value="{{calendarexporturl}}" readonly />
|
||||||
<div class="input-group-append">
|
<button id="copyexporturl" {{!
|
||||||
<button id="copyexporturl" {{!
|
}} data-action="copytoclipboard"{{!
|
||||||
}} data-action="copytoclipboard"{{!
|
}} data-clipboard-target="#calendarexporturl"{{!
|
||||||
}} data-clipboard-target="#calendarexporturl"{{!
|
}} data-clipboard-success-message="{{#str}}calendarurlcopiedtoclipboard, core_calendar{{/str}}"{{!
|
||||||
}} data-clipboard-success-message="{{#str}}calendarurlcopiedtoclipboard, core_calendar{{/str}}"{{!
|
}} class="btn btn-secondary"{{!
|
||||||
}} class="btn btn-secondary"{{!
|
}} aria-label="{{#str}}copycalendarurl, calendar{{/str}}"{{!
|
||||||
}} aria-label="{{#str}}copycalendarurl, calendar{{/str}}"{{!
|
}} disabled>
|
||||||
}} disabled>
|
{{#str}}copyurl, calendar{{/str}}
|
||||||
{{#str}}copyurl, calendar{{/str}}
|
</button>
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -193,7 +193,7 @@ class core_course_management_renderer extends plugin_renderer_base {
|
||||||
'type' => 'checkbox',
|
'type' => 'checkbox',
|
||||||
'name' => 'bcat[]',
|
'name' => 'bcat[]',
|
||||||
'value' => $category->id,
|
'value' => $category->id,
|
||||||
'class' => 'bulk-action-checkbox custom-control-input',
|
'class' => 'bulk-action-checkbox form-check-input',
|
||||||
'data-action' => 'select'
|
'data-action' => 'select'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -243,11 +243,11 @@ class core_course_management_renderer extends plugin_renderer_base {
|
||||||
$html = html_writer::start_tag('li', $attributes);
|
$html = html_writer::start_tag('li', $attributes);
|
||||||
$html .= html_writer::start_div('clearfix');
|
$html .= html_writer::start_div('clearfix');
|
||||||
$html .= html_writer::start_div('float-start ' . $checkboxclass);
|
$html .= html_writer::start_div('float-start ' . $checkboxclass);
|
||||||
$html .= html_writer::start_div('custom-control custom-checkbox me-1 ');
|
$html .= html_writer::start_div('form-check custom-checkbox me-1 ');
|
||||||
$html .= html_writer::empty_tag('input', $bcatinput);
|
$html .= html_writer::empty_tag('input', $bcatinput);
|
||||||
$labeltext = html_writer::span(get_string('bulkactionselect', 'moodle', $text), 'visually-hidden');
|
$labeltext = html_writer::span(get_string('bulkactionselect', 'moodle', $text), 'visually-hidden');
|
||||||
$html .= html_writer::tag('label', $labeltext, array(
|
$html .= html_writer::tag('label', $labeltext, array(
|
||||||
'class' => 'custom-control-label',
|
'class' => 'form-check-label',
|
||||||
'for' => 'categorylistitem' . $category->id));
|
'for' => 'categorylistitem' . $category->id));
|
||||||
$html .= html_writer::end_div();
|
$html .= html_writer::end_div();
|
||||||
$html .= html_writer::end_div();
|
$html .= html_writer::end_div();
|
||||||
|
@ -603,7 +603,7 @@ class core_course_management_renderer extends plugin_renderer_base {
|
||||||
'type' => 'checkbox',
|
'type' => 'checkbox',
|
||||||
'name' => 'bc[]',
|
'name' => 'bc[]',
|
||||||
'value' => $course->id,
|
'value' => $course->id,
|
||||||
'class' => 'bulk-action-checkbox custom-control-input',
|
'class' => 'bulk-action-checkbox form-check-input',
|
||||||
'data-action' => 'select'
|
'data-action' => 'select'
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -624,11 +624,11 @@ class core_course_management_renderer extends plugin_renderer_base {
|
||||||
}
|
}
|
||||||
|
|
||||||
$html .= html_writer::start_div('float-start ' . $checkboxclass);
|
$html .= html_writer::start_div('float-start ' . $checkboxclass);
|
||||||
$html .= html_writer::start_div('custom-control custom-checkbox me-1 ');
|
$html .= html_writer::start_div('form-check custom-checkbox me-1 ');
|
||||||
$html .= html_writer::empty_tag('input', $bulkcourseinput);
|
$html .= html_writer::empty_tag('input', $bulkcourseinput);
|
||||||
$labeltext = html_writer::span(get_string('bulkactionselect', 'moodle', $text), 'visually-hidden');
|
$labeltext = html_writer::span(get_string('bulkactionselect', 'moodle', $text), 'visually-hidden');
|
||||||
$html .= html_writer::tag('label', $labeltext, array(
|
$html .= html_writer::tag('label', $labeltext, array(
|
||||||
'class' => 'custom-control-label',
|
'class' => 'form-check-label',
|
||||||
'for' => 'courselistitem' . $course->id));
|
'for' => 'courselistitem' . $course->id));
|
||||||
$html .= html_writer::end_div();
|
$html .= html_writer::end_div();
|
||||||
$html .= html_writer::end_div();
|
$html .= html_writer::end_div();
|
||||||
|
@ -1192,7 +1192,7 @@ class core_course_management_renderer extends plugin_renderer_base {
|
||||||
'id' => 'coursesearchlistitem' . $course->id,
|
'id' => 'coursesearchlistitem' . $course->id,
|
||||||
'name' => 'bc[]',
|
'name' => 'bc[]',
|
||||||
'value' => $course->id,
|
'value' => $course->id,
|
||||||
'class' => 'bulk-action-checkbox custom-control-input',
|
'class' => 'bulk-action-checkbox form-check-input',
|
||||||
'data-action' => 'select'
|
'data-action' => 'select'
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -1203,11 +1203,11 @@ class core_course_management_renderer extends plugin_renderer_base {
|
||||||
$html .= html_writer::start_div('clearfix');
|
$html .= html_writer::start_div('clearfix');
|
||||||
$html .= html_writer::start_div('float-start');
|
$html .= html_writer::start_div('float-start');
|
||||||
if ($bulkcourseinput) {
|
if ($bulkcourseinput) {
|
||||||
$html .= html_writer::start_div('custom-control custom-checkbox me-1');
|
$html .= html_writer::start_div('form-check custom-checkbox me-1');
|
||||||
$html .= html_writer::empty_tag('input', $bulkcourseinput);
|
$html .= html_writer::empty_tag('input', $bulkcourseinput);
|
||||||
$labeltext = html_writer::span(get_string('bulkactionselect', 'moodle', $text), 'visually-hidden');
|
$labeltext = html_writer::span(get_string('bulkactionselect', 'moodle', $text), 'visually-hidden');
|
||||||
$html .= html_writer::tag('label', $labeltext, array(
|
$html .= html_writer::tag('label', $labeltext, array(
|
||||||
'class' => 'custom-control-label',
|
'class' => 'form-check-label',
|
||||||
'for' => 'coursesearchlistitem' . $course->id));
|
'for' => 'coursesearchlistitem' . $course->id));
|
||||||
$html .= html_writer::end_div();
|
$html .= html_writer::end_div();
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,18 +24,16 @@
|
||||||
{{#search}}
|
{{#search}}
|
||||||
<form class="row">
|
<form class="row">
|
||||||
<div class="input-group pt-4 pb-1 col-md-6">
|
<div class="input-group pt-4 pb-1 col-md-6">
|
||||||
<label for="search">
|
|
||||||
<span class="visually-hidden">{{#str}} searchactivitiesbyname, course {{/str}}</span>
|
|
||||||
</label>
|
|
||||||
<input type="text" name="search" id="search" class="form-control rounded-start" autocomplete="off"
|
<input type="text" name="search" id="search" class="form-control rounded-start" autocomplete="off"
|
||||||
placeholder="{{#str}}search, core {{/str}}" {{#query}} value="{{query}}" autofocus {{/query}}
|
placeholder="{{#str}}search, core {{/str}}" {{#query}} value="{{query}}" autofocus {{/query}}
|
||||||
>
|
>
|
||||||
<div class="input-group-append">
|
<label for="search">
|
||||||
<button type="submit" class="btn btn-outline-secondary rounded-end">
|
<span class="visually-hidden">{{#str}} searchactivitiesbyname, course {{/str}}</span>
|
||||||
<i class="icon fa fa-search fa-fw m-0" aria-hidden="true"></i>
|
</label>
|
||||||
<span class="visually-hidden">{{#str}}submitsearch, course {{/str}}</span>
|
<button type="submit" class="btn btn-outline-secondary rounded-end">
|
||||||
</button>
|
<i class="icon fa fa-search fa-fw m-0" aria-hidden="true"></i>
|
||||||
</div>
|
<span class="visually-hidden">{{#str}}submitsearch, course {{/str}}</span>
|
||||||
|
</button>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
{{#query}}
|
{{#query}}
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
/* enrol_lti styles */
|
/* enrol_lti styles */
|
||||||
|
|
||||||
#registration-tab-content .input-group-append button.btn {
|
#registration-tab-content .input-group button.btn {
|
||||||
border: solid 1px #8f959e;
|
border: solid 1px #8f959e;
|
||||||
}
|
}
|
||||||
form#auto_submit {
|
form#auto_submit {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
#registration-tab-content .input-group-append button.btn span.pix {
|
#registration-tab-content .input-group button.btn span.pix {
|
||||||
padding-left: 0.5rem;
|
padding-left: 0.5rem;
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,17 +69,15 @@
|
||||||
<td class="col-9">
|
<td class="col-9">
|
||||||
<div class="input-group col-md-6 ms-0 ps-0">
|
<div class="input-group col-md-6 ms-0 ps-0">
|
||||||
<input class="form-control" type="text" value="{{url}}" aria-label="{{url}}" id="lti_tool_endpoint_url_{{id}}" readonly>
|
<input class="form-control" type="text" value="{{url}}" aria-label="{{url}}" id="lti_tool_endpoint_url_{{id}}" readonly>
|
||||||
<div class="input-group-append">
|
<button class="btn btn-secondary"
|
||||||
<button class="btn btn-secondary"
|
aria-label="{{#str}} copytoclipboard, enrol_lti {{/str}}"
|
||||||
aria-label="{{#str}} copytoclipboard, enrol_lti {{/str}}"
|
data-action="copytoclipboard"
|
||||||
data-action="copytoclipboard"
|
data-clipboard-success-message="{{#str}}copiedtoclipboard, enrol_lti, {{name}}{{/str}}"
|
||||||
data-clipboard-success-message="{{#str}}copiedtoclipboard, enrol_lti, {{name}}{{/str}}"
|
data-clipboard-target="#lti_tool_endpoint_url_{{id}}"
|
||||||
data-clipboard-target="#lti_tool_endpoint_url_{{id}}"
|
id="{{id}}"
|
||||||
id="{{id}}"
|
title="{{#str}}copytoclipboard, enrol_lti{{/str}}">
|
||||||
title="{{#str}}copytoclipboard, enrol_lti{{/str}}">
|
<span class="pix">{{#pix}} t/clipboard, core {{/pix}}</span>
|
||||||
<span class="pix">{{#pix}} t/clipboard, core {{/pix}}</span>
|
</button>
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -107,17 +105,15 @@
|
||||||
<td class="col-9">
|
<td class="col-9">
|
||||||
<div class="input-group col-md-6 ms-0 ps-0">
|
<div class="input-group col-md-6 ms-0 ps-0">
|
||||||
<input class="form-control" type="text" value="{{url}}" aria-label="{{url}}" id="lti_tool_endpoint_url_{{id}}" readonly>
|
<input class="form-control" type="text" value="{{url}}" aria-label="{{url}}" id="lti_tool_endpoint_url_{{id}}" readonly>
|
||||||
<div class="input-group-append">
|
<button class="btn btn-secondary"
|
||||||
<button class="btn btn-secondary"
|
aria-label="{{#str}} copytoclipboard, enrol_lti {{/str}}"
|
||||||
aria-label="{{#str}} copytoclipboard, enrol_lti {{/str}}"
|
data-action="copytoclipboard"
|
||||||
data-action="copytoclipboard"
|
data-clipboard-success-message="{{#str}}copiedtoclipboard, enrol_lti, {{name}}{{/str}}"
|
||||||
data-clipboard-success-message="{{#str}}copiedtoclipboard, enrol_lti, {{name}}{{/str}}"
|
data-clipboard-target="#lti_tool_endpoint_url_{{id}}"
|
||||||
data-clipboard-target="#lti_tool_endpoint_url_{{id}}"
|
id="{{id}}"
|
||||||
id="{{id}}"
|
title="{{#str}}copytoclipboard, enrol_lti{{/str}}">
|
||||||
title="{{#str}}copytoclipboard, enrol_lti{{/str}}">
|
<span class="pix">{{#pix}} t/clipboard, core {{/pix}}</span>
|
||||||
<span class="pix">{{#pix}} t/clipboard, core {{/pix}}</span>
|
</button>
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -49,9 +49,9 @@
|
||||||
</ul>
|
</ul>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<div class="d-flex mt-2">
|
<div class="d-flex mt-2">
|
||||||
<div class="d-flex align-items-center form-check">
|
<div class="ms-1 form-check">
|
||||||
<label id="check-all" class="selected-option-info text-truncate form-check-label d-block">
|
<input disabled class="form-check-input" type="checkbox" data-action="selectall" id="check-collapse-all">
|
||||||
<input disabled class="form-check-input" type="checkbox" data-action="selectall">
|
<label for="check-collapse-all" id="check-all" class="selected-option-info text-truncate form-check-label d-block">
|
||||||
{{#str}}selectall, core{{/str}}
|
{{#str}}selectall, core{{/str}}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -27,8 +27,8 @@
|
||||||
}
|
}
|
||||||
}}
|
}}
|
||||||
<li class="w-100 result-row form-check mb-1">
|
<li class="w-100 result-row form-check mb-1">
|
||||||
<label class="selected-option-info d-block pe-3 text-truncate form-check-label">
|
<input class="form-check-input" data-collapse="{{name}}" type="checkbox" value="" id="check-collapse-{{name}}">
|
||||||
<input class="form-check-input" data-collapse="{{name}}" type="checkbox" value="">
|
<label for="check-collapse-{{name}}" class="selected-option-info d-block pe-3 text-truncate form-check-label">
|
||||||
<span class="selected-option-text w-100 p-0">
|
<span class="selected-option-text w-100 p-0">
|
||||||
{{{displayName}}}
|
{{{displayName}}}
|
||||||
</span>
|
</span>
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
}}
|
}}
|
||||||
<label>
|
<label>
|
||||||
{{#str}}show{{/str}}
|
{{#str}}show{{/str}}
|
||||||
<select name="perpage" class="custom-select ignoredirty" id="{{uniqid}}">
|
<select name="perpage" class="form-select ignoredirty" id="{{uniqid}}">
|
||||||
{{#options}}
|
{{#options}}
|
||||||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{{name}}}</option>
|
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{{name}}}</option>
|
||||||
{{/options}}
|
{{/options}}
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
<fieldset class="d-flex flex-wrap align-items-center">
|
<fieldset class="d-flex flex-wrap align-items-center">
|
||||||
<legend class="accesshide">{{label}}</legend>
|
<legend class="accesshide">{{label}}</legend>
|
||||||
<label for="{{menuname}}">{{menulabel}}</label>
|
<label for="{{menuname}}">{{menulabel}}</label>
|
||||||
<select name="{{menuname}}" id="{{menuname}}" class="form-control custom-select">
|
<select name="{{menuname}}" id="{{menuname}}" class="form-control form-select">
|
||||||
{{#menuoptions}}
|
{{#menuoptions}}
|
||||||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
||||||
{{/menuoptions}}
|
{{/menuoptions}}
|
||||||
|
|
|
@ -33,7 +33,7 @@
|
||||||
{{/readonly}}
|
{{/readonly}}
|
||||||
{{^readonly}}
|
{{^readonly}}
|
||||||
<label for="{{name}}" class="accesshide">{{label}}</label>
|
<label for="{{name}}" class="accesshide">{{label}}</label>
|
||||||
<select id="{{name}}" name="{{name}}" class="custom-select" {{#disabled}}disabled{{/disabled}}>
|
<select id="{{name}}" name="{{name}}" class="form-select" {{#disabled}}disabled{{/disabled}}>
|
||||||
{{#options}}
|
{{#options}}
|
||||||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
||||||
{{/options}}
|
{{/options}}
|
||||||
|
|
|
@ -36,7 +36,7 @@
|
||||||
<div class="col-auto">
|
<div class="col-auto">
|
||||||
<label>
|
<label>
|
||||||
{{#str}}show{{/str}}
|
{{#str}}show{{/str}}
|
||||||
<select name="perpage" class="mt-1 custom-select ignoredirty" id="{{uniqid}}">
|
<select name="perpage" class="mt-1 form-select ignoredirty" id="{{uniqid}}">
|
||||||
{{#options}}
|
{{#options}}
|
||||||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
||||||
{{/options}}
|
{{/options}}
|
||||||
|
|
2
lib/amd/build/inplace_editable.min.js
vendored
2
lib/amd/build/inplace_editable.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -198,7 +198,7 @@ define(
|
||||||
var i,
|
var i,
|
||||||
inputelement = $('<select></select>').
|
inputelement = $('<select></select>').
|
||||||
attr('id', uniqueId('id_inplacevalue_', 20)).
|
attr('id', uniqueId('id_inplacevalue_', 20)).
|
||||||
addClass('custom-select'),
|
addClass('form-select'),
|
||||||
lbl = $('<label class="accesshide">' + mainelement.attr('data-editlabel') + '</label>')
|
lbl = $('<label class="accesshide">' + mainelement.attr('data-editlabel') + '</label>')
|
||||||
.attr('for', inputelement.attr('id'));
|
.attr('for', inputelement.attr('id'));
|
||||||
for (i in options) {
|
for (i in options) {
|
||||||
|
@ -237,7 +237,7 @@ define(
|
||||||
inputelement = $('<select></select>').
|
inputelement = $('<select></select>').
|
||||||
attr('id', uniqueId('id_inplacevalue_', 20)).
|
attr('id', uniqueId('id_inplacevalue_', 20)).
|
||||||
addClass('form-autocomplete-original-select').
|
addClass('form-autocomplete-original-select').
|
||||||
addClass('custom-select'),
|
addClass('form-select'),
|
||||||
lbl = $('<label class="accesshide">' + mainelement.attr('data-editlabel') + '</label>')
|
lbl = $('<label class="accesshide">' + mainelement.attr('data-editlabel') + '</label>')
|
||||||
.attr('for', inputelement.attr('id')),
|
.attr('for', inputelement.attr('id')),
|
||||||
options = args.options,
|
options = args.options,
|
||||||
|
|
|
@ -302,7 +302,7 @@ class html_writer {
|
||||||
$class = str_replace(']', '', $class);
|
$class = str_replace(']', '', $class);
|
||||||
$attributes['class'] = $class;
|
$attributes['class'] = $class;
|
||||||
}
|
}
|
||||||
$attributes['class'] = 'select custom-select ' . $attributes['class']; // Add 'select' selector always.
|
$attributes['class'] = 'select form-select ' . $attributes['class']; // Add 'select' selector always.
|
||||||
|
|
||||||
$attributes['name'] = $name;
|
$attributes['name'] = $name;
|
||||||
|
|
||||||
|
|
|
@ -86,10 +86,8 @@ var CSS = {
|
||||||
'<input class="form-control {{CSS.INPUTH5PFILE}}" type="url" value="{{fileURL}}" ' +
|
'<input class="form-control {{CSS.INPUTH5PFILE}}" type="url" value="{{fileURL}}" ' +
|
||||||
'id="{{elementid}}_{{CSS.INPUTH5PFILE}}" data-region="h5pfile" size="32"/>' +
|
'id="{{elementid}}_{{CSS.INPUTH5PFILE}}" data-region="h5pfile" size="32"/>' +
|
||||||
'{{#if canUpload}}' +
|
'{{#if canUpload}}' +
|
||||||
'<span class="input-group-append">' +
|
'<button class="btn btn-secondary {{CSS.H5PBROWSER}}" type="button">' +
|
||||||
'<button class="btn btn-secondary {{CSS.H5PBROWSER}}" type="button">' +
|
'{{get_string "browserepositories" component}}</button>' +
|
||||||
'{{get_string "browserepositories" component}}</button>' +
|
|
||||||
'</span>' +
|
|
||||||
'{{/if}}' +
|
'{{/if}}' +
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'{{#if canUpload}}' +
|
'{{#if canUpload}}' +
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -86,10 +86,8 @@ var CSS = {
|
||||||
'<input class="form-control {{CSS.INPUTH5PFILE}}" type="url" value="{{fileURL}}" ' +
|
'<input class="form-control {{CSS.INPUTH5PFILE}}" type="url" value="{{fileURL}}" ' +
|
||||||
'id="{{elementid}}_{{CSS.INPUTH5PFILE}}" data-region="h5pfile" size="32"/>' +
|
'id="{{elementid}}_{{CSS.INPUTH5PFILE}}" data-region="h5pfile" size="32"/>' +
|
||||||
'{{#if canUpload}}' +
|
'{{#if canUpload}}' +
|
||||||
'<span class="input-group-append">' +
|
'<button class="btn btn-secondary {{CSS.H5PBROWSER}}" type="button">' +
|
||||||
'<button class="btn btn-secondary {{CSS.H5PBROWSER}}" type="button">' +
|
'{{get_string "browserepositories" component}}</button>' +
|
||||||
'{{get_string "browserepositories" component}}</button>' +
|
|
||||||
'</span>' +
|
|
||||||
'{{/if}}' +
|
'{{/if}}' +
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'{{#if canUpload}}' +
|
'{{#if canUpload}}' +
|
||||||
|
|
|
@ -84,10 +84,8 @@ var CSS = {
|
||||||
'<input class="form-control {{CSS.INPUTH5PFILE}}" type="url" value="{{fileURL}}" ' +
|
'<input class="form-control {{CSS.INPUTH5PFILE}}" type="url" value="{{fileURL}}" ' +
|
||||||
'id="{{elementid}}_{{CSS.INPUTH5PFILE}}" data-region="h5pfile" size="32"/>' +
|
'id="{{elementid}}_{{CSS.INPUTH5PFILE}}" data-region="h5pfile" size="32"/>' +
|
||||||
'{{#if canUpload}}' +
|
'{{#if canUpload}}' +
|
||||||
'<span class="input-group-append">' +
|
'<button class="btn btn-secondary {{CSS.H5PBROWSER}}" type="button">' +
|
||||||
'<button class="btn btn-secondary {{CSS.H5PBROWSER}}" type="button">' +
|
'{{get_string "browserepositories" component}}</button>' +
|
||||||
'{{get_string "browserepositories" component}}</button>' +
|
|
||||||
'</span>' +
|
|
||||||
'{{/if}}' +
|
'{{/if}}' +
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'{{#if canUpload}}' +
|
'{{#if canUpload}}' +
|
||||||
|
|
|
@ -116,10 +116,8 @@ var CSS = {
|
||||||
'<div class="input-group input-append w-100">' +
|
'<div class="input-group input-append w-100">' +
|
||||||
'<input name="{{FORMNAMES.URL}}" class="form-control {{CSS.INPUTURL}}" type="url" ' +
|
'<input name="{{FORMNAMES.URL}}" class="form-control {{CSS.INPUTURL}}" type="url" ' +
|
||||||
'id="{{elementid}}_{{CSS.INPUTURL}}" size="32"/>' +
|
'id="{{elementid}}_{{CSS.INPUTURL}}" size="32"/>' +
|
||||||
'<span class="input-group-append">' +
|
'<button class="btn btn-secondary {{CSS.IMAGEBROWSER}}" type="button">' +
|
||||||
'<button class="btn btn-secondary {{CSS.IMAGEBROWSER}}" type="button">' +
|
'{{get_string "browserepositories" component}}</button>' +
|
||||||
'{{get_string "browserepositories" component}}</button>' +
|
|
||||||
'</span>' +
|
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'{{else}}' +
|
'{{else}}' +
|
||||||
|
@ -183,7 +181,7 @@ var CSS = {
|
||||||
// Add the alignment selector.
|
// Add the alignment selector.
|
||||||
'<div class="d-flex flex-wrap align-items-center mb-1">' +
|
'<div class="d-flex flex-wrap align-items-center mb-1">' +
|
||||||
'<label class="mb-0" for="{{elementid}}_{{CSS.INPUTALIGNMENT}}">{{get_string "alignment" component}}</label>' +
|
'<label class="mb-0" for="{{elementid}}_{{CSS.INPUTALIGNMENT}}">{{get_string "alignment" component}}</label>' +
|
||||||
'<select class="custom-select ms-2 {{CSS.INPUTALIGNMENT}}" id="{{elementid}}_{{CSS.INPUTALIGNMENT}}">' +
|
'<select class="form-select ms-2 {{CSS.INPUTALIGNMENT}}" id="{{elementid}}_{{CSS.INPUTALIGNMENT}}">' +
|
||||||
'{{#each alignments}}' +
|
'{{#each alignments}}' +
|
||||||
'<option value="{{value}}">{{get_string str ../component}}</option>' +
|
'<option value="{{value}}">{{get_string str ../component}}</option>' +
|
||||||
'{{/each}}' +
|
'{{/each}}' +
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -116,10 +116,8 @@ var CSS = {
|
||||||
'<div class="input-group input-append w-100">' +
|
'<div class="input-group input-append w-100">' +
|
||||||
'<input name="{{FORMNAMES.URL}}" class="form-control {{CSS.INPUTURL}}" type="url" ' +
|
'<input name="{{FORMNAMES.URL}}" class="form-control {{CSS.INPUTURL}}" type="url" ' +
|
||||||
'id="{{elementid}}_{{CSS.INPUTURL}}" size="32"/>' +
|
'id="{{elementid}}_{{CSS.INPUTURL}}" size="32"/>' +
|
||||||
'<span class="input-group-append">' +
|
'<button class="btn btn-secondary {{CSS.IMAGEBROWSER}}" type="button">' +
|
||||||
'<button class="btn btn-secondary {{CSS.IMAGEBROWSER}}" type="button">' +
|
'{{get_string "browserepositories" component}}</button>' +
|
||||||
'{{get_string "browserepositories" component}}</button>' +
|
|
||||||
'</span>' +
|
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'{{else}}' +
|
'{{else}}' +
|
||||||
|
@ -183,7 +181,7 @@ var CSS = {
|
||||||
// Add the alignment selector.
|
// Add the alignment selector.
|
||||||
'<div class="d-flex flex-wrap align-items-center mb-1">' +
|
'<div class="d-flex flex-wrap align-items-center mb-1">' +
|
||||||
'<label class="mb-0" for="{{elementid}}_{{CSS.INPUTALIGNMENT}}">{{get_string "alignment" component}}</label>' +
|
'<label class="mb-0" for="{{elementid}}_{{CSS.INPUTALIGNMENT}}">{{get_string "alignment" component}}</label>' +
|
||||||
'<select class="custom-select ms-2 {{CSS.INPUTALIGNMENT}}" id="{{elementid}}_{{CSS.INPUTALIGNMENT}}">' +
|
'<select class="form-select ms-2 {{CSS.INPUTALIGNMENT}}" id="{{elementid}}_{{CSS.INPUTALIGNMENT}}">' +
|
||||||
'{{#each alignments}}' +
|
'{{#each alignments}}' +
|
||||||
'<option value="{{value}}">{{get_string str ../component}}</option>' +
|
'<option value="{{value}}">{{get_string str ../component}}</option>' +
|
||||||
'{{/each}}' +
|
'{{/each}}' +
|
||||||
|
|
|
@ -114,10 +114,8 @@ var CSS = {
|
||||||
'<div class="input-group input-append w-100">' +
|
'<div class="input-group input-append w-100">' +
|
||||||
'<input name="{{FORMNAMES.URL}}" class="form-control {{CSS.INPUTURL}}" type="url" ' +
|
'<input name="{{FORMNAMES.URL}}" class="form-control {{CSS.INPUTURL}}" type="url" ' +
|
||||||
'id="{{elementid}}_{{CSS.INPUTURL}}" size="32"/>' +
|
'id="{{elementid}}_{{CSS.INPUTURL}}" size="32"/>' +
|
||||||
'<span class="input-group-append">' +
|
'<button class="btn btn-secondary {{CSS.IMAGEBROWSER}}" type="button">' +
|
||||||
'<button class="btn btn-secondary {{CSS.IMAGEBROWSER}}" type="button">' +
|
'{{get_string "browserepositories" component}}</button>' +
|
||||||
'{{get_string "browserepositories" component}}</button>' +
|
|
||||||
'</span>' +
|
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'{{else}}' +
|
'{{else}}' +
|
||||||
|
@ -181,7 +179,7 @@ var CSS = {
|
||||||
// Add the alignment selector.
|
// Add the alignment selector.
|
||||||
'<div class="d-flex flex-wrap align-items-center mb-1">' +
|
'<div class="d-flex flex-wrap align-items-center mb-1">' +
|
||||||
'<label class="mb-0" for="{{elementid}}_{{CSS.INPUTALIGNMENT}}">{{get_string "alignment" component}}</label>' +
|
'<label class="mb-0" for="{{elementid}}_{{CSS.INPUTALIGNMENT}}">{{get_string "alignment" component}}</label>' +
|
||||||
'<select class="custom-select ms-2 {{CSS.INPUTALIGNMENT}}" id="{{elementid}}_{{CSS.INPUTALIGNMENT}}">' +
|
'<select class="form-select ms-2 {{CSS.INPUTALIGNMENT}}" id="{{elementid}}_{{CSS.INPUTALIGNMENT}}">' +
|
||||||
'{{#each alignments}}' +
|
'{{#each alignments}}' +
|
||||||
'<option value="{{value}}">{{get_string str ../component}}</option>' +
|
'<option value="{{value}}">{{get_string str ../component}}</option>' +
|
||||||
'{{/each}}' +
|
'{{/each}}' +
|
||||||
|
|
|
@ -58,10 +58,8 @@ var COMPONENTNAME = 'atto_link',
|
||||||
'<div class="input-group input-append w-100 mb-1">' +
|
'<div class="input-group input-append w-100 mb-1">' +
|
||||||
'<input class="form-control url {{CSS.URLINPUT}}" type="url" ' +
|
'<input class="form-control url {{CSS.URLINPUT}}" type="url" ' +
|
||||||
'id="{{elementid}}_atto_link_urlentry"/>' +
|
'id="{{elementid}}_atto_link_urlentry"/>' +
|
||||||
'<span class="input-group-append">' +
|
'<button class="btn btn-secondary openlinkbrowser" type="button">' +
|
||||||
'<button class="btn btn-secondary openlinkbrowser" type="button">' +
|
'{{get_string "browserepositories" component}}</button>' +
|
||||||
'{{get_string "browserepositories" component}}</button>' +
|
|
||||||
'</span>' +
|
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'{{else}}' +
|
'{{else}}' +
|
||||||
'<div class="mb-1">' +
|
'<div class="mb-1">' +
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -58,10 +58,8 @@ var COMPONENTNAME = 'atto_link',
|
||||||
'<div class="input-group input-append w-100 mb-1">' +
|
'<div class="input-group input-append w-100 mb-1">' +
|
||||||
'<input class="form-control url {{CSS.URLINPUT}}" type="url" ' +
|
'<input class="form-control url {{CSS.URLINPUT}}" type="url" ' +
|
||||||
'id="{{elementid}}_atto_link_urlentry"/>' +
|
'id="{{elementid}}_atto_link_urlentry"/>' +
|
||||||
'<span class="input-group-append">' +
|
'<button class="btn btn-secondary openlinkbrowser" type="button">' +
|
||||||
'<button class="btn btn-secondary openlinkbrowser" type="button">' +
|
'{{get_string "browserepositories" component}}</button>' +
|
||||||
'{{get_string "browserepositories" component}}</button>' +
|
|
||||||
'</span>' +
|
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'{{else}}' +
|
'{{else}}' +
|
||||||
'<div class="mb-1">' +
|
'<div class="mb-1">' +
|
||||||
|
|
|
@ -56,10 +56,8 @@ var COMPONENTNAME = 'atto_link',
|
||||||
'<div class="input-group input-append w-100 mb-1">' +
|
'<div class="input-group input-append w-100 mb-1">' +
|
||||||
'<input class="form-control url {{CSS.URLINPUT}}" type="url" ' +
|
'<input class="form-control url {{CSS.URLINPUT}}" type="url" ' +
|
||||||
'id="{{elementid}}_atto_link_urlentry"/>' +
|
'id="{{elementid}}_atto_link_urlentry"/>' +
|
||||||
'<span class="input-group-append">' +
|
'<button class="btn btn-secondary openlinkbrowser" type="button">' +
|
||||||
'<button class="btn btn-secondary openlinkbrowser" type="button">' +
|
'{{get_string "browserepositories" component}}</button>' +
|
||||||
'{{get_string "browserepositories" component}}</button>' +
|
|
||||||
'</span>' +
|
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'{{else}}' +
|
'{{else}}' +
|
||||||
'<div class="mb-1">' +
|
'<div class="mb-1">' +
|
||||||
|
|
|
@ -216,10 +216,8 @@ var COMPONENTNAME = 'atto_media',
|
||||||
'</label>' +
|
'</label>' +
|
||||||
'<div class="input-group input-append w-100">' +
|
'<div class="input-group input-append w-100">' +
|
||||||
'<input id="url-input" class="form-control {{CSS.URL_INPUT}}" type="url" size="32"/>' +
|
'<input id="url-input" class="form-control {{CSS.URL_INPUT}}" type="url" size="32"/>' +
|
||||||
'<span class="input-group-append">' +
|
'<button class="btn btn-secondary openmediabrowser" type="button">' +
|
||||||
'<button class="btn btn-secondary openmediabrowser" type="button">' +
|
'{{get_string "browserepositories" component}}</button>' +
|
||||||
'{{get_string "browserepositories" component}}</button>' +
|
|
||||||
'</span>' +
|
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'{{#multisource}}' +
|
'{{#multisource}}' +
|
||||||
|
@ -363,7 +361,7 @@ var COMPONENTNAME = 'atto_media',
|
||||||
'{{renderPartial "form_components.source" context=this id=CSS.TRACK_SOURCE entersourcelabel=sourcelabel}}' +
|
'{{renderPartial "form_components.source" context=this id=CSS.TRACK_SOURCE entersourcelabel=sourcelabel}}' +
|
||||||
'<div class="mb-3">' +
|
'<div class="mb-3">' +
|
||||||
'<label class="w-100" for="lang-input">{{get_string "srclang" component}}</label>' +
|
'<label class="w-100" for="lang-input">{{get_string "srclang" component}}</label>' +
|
||||||
'<select id="lang-input" class="custom-select {{CSS.TRACK_LANG_INPUT}}">' +
|
'<select id="lang-input" class="form-select {{CSS.TRACK_LANG_INPUT}}">' +
|
||||||
'<optgroup label="{{get_string "languagesinstalled" component}}">' +
|
'<optgroup label="{{get_string "languagesinstalled" component}}">' +
|
||||||
'{{#langsinstalled}}' +
|
'{{#langsinstalled}}' +
|
||||||
'<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>' +
|
'<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>' +
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -216,10 +216,8 @@ var COMPONENTNAME = 'atto_media',
|
||||||
'</label>' +
|
'</label>' +
|
||||||
'<div class="input-group input-append w-100">' +
|
'<div class="input-group input-append w-100">' +
|
||||||
'<input id="url-input" class="form-control {{CSS.URL_INPUT}}" type="url" size="32"/>' +
|
'<input id="url-input" class="form-control {{CSS.URL_INPUT}}" type="url" size="32"/>' +
|
||||||
'<span class="input-group-append">' +
|
'<button class="btn btn-secondary openmediabrowser" type="button">' +
|
||||||
'<button class="btn btn-secondary openmediabrowser" type="button">' +
|
'{{get_string "browserepositories" component}}</button>' +
|
||||||
'{{get_string "browserepositories" component}}</button>' +
|
|
||||||
'</span>' +
|
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'{{#multisource}}' +
|
'{{#multisource}}' +
|
||||||
|
@ -363,7 +361,7 @@ var COMPONENTNAME = 'atto_media',
|
||||||
'{{renderPartial "form_components.source" context=this id=CSS.TRACK_SOURCE entersourcelabel=sourcelabel}}' +
|
'{{renderPartial "form_components.source" context=this id=CSS.TRACK_SOURCE entersourcelabel=sourcelabel}}' +
|
||||||
'<div class="mb-3">' +
|
'<div class="mb-3">' +
|
||||||
'<label class="w-100" for="lang-input">{{get_string "srclang" component}}</label>' +
|
'<label class="w-100" for="lang-input">{{get_string "srclang" component}}</label>' +
|
||||||
'<select id="lang-input" class="custom-select {{CSS.TRACK_LANG_INPUT}}">' +
|
'<select id="lang-input" class="form-select {{CSS.TRACK_LANG_INPUT}}">' +
|
||||||
'<optgroup label="{{get_string "languagesinstalled" component}}">' +
|
'<optgroup label="{{get_string "languagesinstalled" component}}">' +
|
||||||
'{{#langsinstalled}}' +
|
'{{#langsinstalled}}' +
|
||||||
'<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>' +
|
'<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>' +
|
||||||
|
|
|
@ -214,10 +214,8 @@ var COMPONENTNAME = 'atto_media',
|
||||||
'</label>' +
|
'</label>' +
|
||||||
'<div class="input-group input-append w-100">' +
|
'<div class="input-group input-append w-100">' +
|
||||||
'<input id="url-input" class="form-control {{CSS.URL_INPUT}}" type="url" size="32"/>' +
|
'<input id="url-input" class="form-control {{CSS.URL_INPUT}}" type="url" size="32"/>' +
|
||||||
'<span class="input-group-append">' +
|
'<button class="btn btn-secondary openmediabrowser" type="button">' +
|
||||||
'<button class="btn btn-secondary openmediabrowser" type="button">' +
|
'{{get_string "browserepositories" component}}</button>' +
|
||||||
'{{get_string "browserepositories" component}}</button>' +
|
|
||||||
'</span>' +
|
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'</div>' +
|
'</div>' +
|
||||||
'{{#multisource}}' +
|
'{{#multisource}}' +
|
||||||
|
@ -361,7 +359,7 @@ var COMPONENTNAME = 'atto_media',
|
||||||
'{{renderPartial "form_components.source" context=this id=CSS.TRACK_SOURCE entersourcelabel=sourcelabel}}' +
|
'{{renderPartial "form_components.source" context=this id=CSS.TRACK_SOURCE entersourcelabel=sourcelabel}}' +
|
||||||
'<div class="mb-3">' +
|
'<div class="mb-3">' +
|
||||||
'<label class="w-100" for="lang-input">{{get_string "srclang" component}}</label>' +
|
'<label class="w-100" for="lang-input">{{get_string "srclang" component}}</label>' +
|
||||||
'<select id="lang-input" class="custom-select {{CSS.TRACK_LANG_INPUT}}">' +
|
'<select id="lang-input" class="form-select {{CSS.TRACK_LANG_INPUT}}">' +
|
||||||
'<optgroup label="{{get_string "languagesinstalled" component}}">' +
|
'<optgroup label="{{get_string "languagesinstalled" component}}">' +
|
||||||
'{{#langsinstalled}}' +
|
'{{#langsinstalled}}' +
|
||||||
'<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>' +
|
'<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>' +
|
||||||
|
|
|
@ -55,7 +55,7 @@ var COMPONENT = 'atto_table',
|
||||||
'<label for="{{elementid}}_atto_table_captionposition">' +
|
'<label for="{{elementid}}_atto_table_captionposition">' +
|
||||||
'{{get_string "captionposition" component}}</label>' +
|
'{{get_string "captionposition" component}}</label>' +
|
||||||
'</div><div class="col-sm-8">' +
|
'</div><div class="col-sm-8">' +
|
||||||
'<select class="custom-select {{CSS.CAPTIONPOSITION}}" id="{{elementid}}_atto_table_captionposition">' +
|
'<select class="form-select {{CSS.CAPTIONPOSITION}}" id="{{elementid}}_atto_table_captionposition">' +
|
||||||
'<option value=""></option>' +
|
'<option value=""></option>' +
|
||||||
'<option value="top">{{get_string "top" "editor"}}</option>' +
|
'<option value="top">{{get_string "top" "editor"}}</option>' +
|
||||||
'<option value="bottom">{{get_string "bottom" "editor"}}</option>' +
|
'<option value="bottom">{{get_string "bottom" "editor"}}</option>' +
|
||||||
|
@ -66,7 +66,7 @@ var COMPONENT = 'atto_table',
|
||||||
'<div class="col-sm-4">' +
|
'<div class="col-sm-4">' +
|
||||||
'<label for="{{elementid}}_atto_table_headers">{{get_string "headers" component}}</label>' +
|
'<label for="{{elementid}}_atto_table_headers">{{get_string "headers" component}}</label>' +
|
||||||
'</div><div class="col-sm-8">' +
|
'</div><div class="col-sm-8">' +
|
||||||
'<select class="custom-select {{CSS.HEADERS}}" id="{{elementid}}_atto_table_headers">' +
|
'<select class="form-select {{CSS.HEADERS}}" id="{{elementid}}_atto_table_headers">' +
|
||||||
'<option value="columns">{{get_string "columns" component}}' + '</option>' +
|
'<option value="columns">{{get_string "columns" component}}' + '</option>' +
|
||||||
'<option value="rows">{{get_string "rows" component}}' + '</option>' +
|
'<option value="rows">{{get_string "rows" component}}' + '</option>' +
|
||||||
'<option value="both">{{get_string "both" component}}' + '</option>' +
|
'<option value="both">{{get_string "both" component}}' + '</option>' +
|
||||||
|
@ -101,7 +101,7 @@ var COMPONENT = 'atto_table',
|
||||||
'<div class="col-sm-4">' +
|
'<div class="col-sm-4">' +
|
||||||
'<label for="{{elementid}}_atto_table_borders">{{get_string "borders" component}}</label>' +
|
'<label for="{{elementid}}_atto_table_borders">{{get_string "borders" component}}</label>' +
|
||||||
'</div><div class="col-sm-8">' +
|
'</div><div class="col-sm-8">' +
|
||||||
'<select name="borders" class="custom-select {{CSS.BORDERS}}" id="{{elementid}}_atto_table_borders">' +
|
'<select name="borders" class="form-select {{CSS.BORDERS}}" id="{{elementid}}_atto_table_borders">' +
|
||||||
'<option value="default">{{get_string "themedefault" component}}' + '</option>' +
|
'<option value="default">{{get_string "themedefault" component}}' + '</option>' +
|
||||||
'<option value="outer">{{get_string "outer" component}}' + '</option>' +
|
'<option value="outer">{{get_string "outer" component}}' + '</option>' +
|
||||||
'<option value="all">{{get_string "all" component}}' + '</option>' +
|
'<option value="all">{{get_string "all" component}}' + '</option>' +
|
||||||
|
@ -113,7 +113,7 @@ var COMPONENT = 'atto_table',
|
||||||
'<label for="{{elementid}}_atto_table_borderstyle">' +
|
'<label for="{{elementid}}_atto_table_borderstyle">' +
|
||||||
'{{get_string "borderstyles" component}}</label>' +
|
'{{get_string "borderstyles" component}}</label>' +
|
||||||
'</div><div class="col-sm-8">' +
|
'</div><div class="col-sm-8">' +
|
||||||
'<select name="borderstyles" class="custom-select {{CSS.BORDERSTYLE}}" ' +
|
'<select name="borderstyles" class="form-select {{CSS.BORDERSTYLE}}" ' +
|
||||||
'id="{{elementid}}_atto_table_borderstyle">' +
|
'id="{{elementid}}_atto_table_borderstyle">' +
|
||||||
'{{#each borderStyles}}' +
|
'{{#each borderStyles}}' +
|
||||||
'<option value="' + '{{this}}' + '">' + '{{get_string this ../component}}' + '</option>' +
|
'<option value="' + '{{this}}' + '">' + '{{get_string this ../component}}' + '</option>' +
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -55,7 +55,7 @@ var COMPONENT = 'atto_table',
|
||||||
'<label for="{{elementid}}_atto_table_captionposition">' +
|
'<label for="{{elementid}}_atto_table_captionposition">' +
|
||||||
'{{get_string "captionposition" component}}</label>' +
|
'{{get_string "captionposition" component}}</label>' +
|
||||||
'</div><div class="col-sm-8">' +
|
'</div><div class="col-sm-8">' +
|
||||||
'<select class="custom-select {{CSS.CAPTIONPOSITION}}" id="{{elementid}}_atto_table_captionposition">' +
|
'<select class="form-select {{CSS.CAPTIONPOSITION}}" id="{{elementid}}_atto_table_captionposition">' +
|
||||||
'<option value=""></option>' +
|
'<option value=""></option>' +
|
||||||
'<option value="top">{{get_string "top" "editor"}}</option>' +
|
'<option value="top">{{get_string "top" "editor"}}</option>' +
|
||||||
'<option value="bottom">{{get_string "bottom" "editor"}}</option>' +
|
'<option value="bottom">{{get_string "bottom" "editor"}}</option>' +
|
||||||
|
@ -66,7 +66,7 @@ var COMPONENT = 'atto_table',
|
||||||
'<div class="col-sm-4">' +
|
'<div class="col-sm-4">' +
|
||||||
'<label for="{{elementid}}_atto_table_headers">{{get_string "headers" component}}</label>' +
|
'<label for="{{elementid}}_atto_table_headers">{{get_string "headers" component}}</label>' +
|
||||||
'</div><div class="col-sm-8">' +
|
'</div><div class="col-sm-8">' +
|
||||||
'<select class="custom-select {{CSS.HEADERS}}" id="{{elementid}}_atto_table_headers">' +
|
'<select class="form-select {{CSS.HEADERS}}" id="{{elementid}}_atto_table_headers">' +
|
||||||
'<option value="columns">{{get_string "columns" component}}' + '</option>' +
|
'<option value="columns">{{get_string "columns" component}}' + '</option>' +
|
||||||
'<option value="rows">{{get_string "rows" component}}' + '</option>' +
|
'<option value="rows">{{get_string "rows" component}}' + '</option>' +
|
||||||
'<option value="both">{{get_string "both" component}}' + '</option>' +
|
'<option value="both">{{get_string "both" component}}' + '</option>' +
|
||||||
|
@ -101,7 +101,7 @@ var COMPONENT = 'atto_table',
|
||||||
'<div class="col-sm-4">' +
|
'<div class="col-sm-4">' +
|
||||||
'<label for="{{elementid}}_atto_table_borders">{{get_string "borders" component}}</label>' +
|
'<label for="{{elementid}}_atto_table_borders">{{get_string "borders" component}}</label>' +
|
||||||
'</div><div class="col-sm-8">' +
|
'</div><div class="col-sm-8">' +
|
||||||
'<select name="borders" class="custom-select {{CSS.BORDERS}}" id="{{elementid}}_atto_table_borders">' +
|
'<select name="borders" class="form-select {{CSS.BORDERS}}" id="{{elementid}}_atto_table_borders">' +
|
||||||
'<option value="default">{{get_string "themedefault" component}}' + '</option>' +
|
'<option value="default">{{get_string "themedefault" component}}' + '</option>' +
|
||||||
'<option value="outer">{{get_string "outer" component}}' + '</option>' +
|
'<option value="outer">{{get_string "outer" component}}' + '</option>' +
|
||||||
'<option value="all">{{get_string "all" component}}' + '</option>' +
|
'<option value="all">{{get_string "all" component}}' + '</option>' +
|
||||||
|
@ -113,7 +113,7 @@ var COMPONENT = 'atto_table',
|
||||||
'<label for="{{elementid}}_atto_table_borderstyle">' +
|
'<label for="{{elementid}}_atto_table_borderstyle">' +
|
||||||
'{{get_string "borderstyles" component}}</label>' +
|
'{{get_string "borderstyles" component}}</label>' +
|
||||||
'</div><div class="col-sm-8">' +
|
'</div><div class="col-sm-8">' +
|
||||||
'<select name="borderstyles" class="custom-select {{CSS.BORDERSTYLE}}" ' +
|
'<select name="borderstyles" class="form-select {{CSS.BORDERSTYLE}}" ' +
|
||||||
'id="{{elementid}}_atto_table_borderstyle">' +
|
'id="{{elementid}}_atto_table_borderstyle">' +
|
||||||
'{{#each borderStyles}}' +
|
'{{#each borderStyles}}' +
|
||||||
'<option value="' + '{{this}}' + '">' + '{{get_string this ../component}}' + '</option>' +
|
'<option value="' + '{{this}}' + '">' + '{{get_string this ../component}}' + '</option>' +
|
||||||
|
|
|
@ -53,7 +53,7 @@ var COMPONENT = 'atto_table',
|
||||||
'<label for="{{elementid}}_atto_table_captionposition">' +
|
'<label for="{{elementid}}_atto_table_captionposition">' +
|
||||||
'{{get_string "captionposition" component}}</label>' +
|
'{{get_string "captionposition" component}}</label>' +
|
||||||
'</div><div class="col-sm-8">' +
|
'</div><div class="col-sm-8">' +
|
||||||
'<select class="custom-select {{CSS.CAPTIONPOSITION}}" id="{{elementid}}_atto_table_captionposition">' +
|
'<select class="form-select {{CSS.CAPTIONPOSITION}}" id="{{elementid}}_atto_table_captionposition">' +
|
||||||
'<option value=""></option>' +
|
'<option value=""></option>' +
|
||||||
'<option value="top">{{get_string "top" "editor"}}</option>' +
|
'<option value="top">{{get_string "top" "editor"}}</option>' +
|
||||||
'<option value="bottom">{{get_string "bottom" "editor"}}</option>' +
|
'<option value="bottom">{{get_string "bottom" "editor"}}</option>' +
|
||||||
|
@ -64,7 +64,7 @@ var COMPONENT = 'atto_table',
|
||||||
'<div class="col-sm-4">' +
|
'<div class="col-sm-4">' +
|
||||||
'<label for="{{elementid}}_atto_table_headers">{{get_string "headers" component}}</label>' +
|
'<label for="{{elementid}}_atto_table_headers">{{get_string "headers" component}}</label>' +
|
||||||
'</div><div class="col-sm-8">' +
|
'</div><div class="col-sm-8">' +
|
||||||
'<select class="custom-select {{CSS.HEADERS}}" id="{{elementid}}_atto_table_headers">' +
|
'<select class="form-select {{CSS.HEADERS}}" id="{{elementid}}_atto_table_headers">' +
|
||||||
'<option value="columns">{{get_string "columns" component}}' + '</option>' +
|
'<option value="columns">{{get_string "columns" component}}' + '</option>' +
|
||||||
'<option value="rows">{{get_string "rows" component}}' + '</option>' +
|
'<option value="rows">{{get_string "rows" component}}' + '</option>' +
|
||||||
'<option value="both">{{get_string "both" component}}' + '</option>' +
|
'<option value="both">{{get_string "both" component}}' + '</option>' +
|
||||||
|
@ -99,7 +99,7 @@ var COMPONENT = 'atto_table',
|
||||||
'<div class="col-sm-4">' +
|
'<div class="col-sm-4">' +
|
||||||
'<label for="{{elementid}}_atto_table_borders">{{get_string "borders" component}}</label>' +
|
'<label for="{{elementid}}_atto_table_borders">{{get_string "borders" component}}</label>' +
|
||||||
'</div><div class="col-sm-8">' +
|
'</div><div class="col-sm-8">' +
|
||||||
'<select name="borders" class="custom-select {{CSS.BORDERS}}" id="{{elementid}}_atto_table_borders">' +
|
'<select name="borders" class="form-select {{CSS.BORDERS}}" id="{{elementid}}_atto_table_borders">' +
|
||||||
'<option value="default">{{get_string "themedefault" component}}' + '</option>' +
|
'<option value="default">{{get_string "themedefault" component}}' + '</option>' +
|
||||||
'<option value="outer">{{get_string "outer" component}}' + '</option>' +
|
'<option value="outer">{{get_string "outer" component}}' + '</option>' +
|
||||||
'<option value="all">{{get_string "all" component}}' + '</option>' +
|
'<option value="all">{{get_string "all" component}}' + '</option>' +
|
||||||
|
@ -111,7 +111,7 @@ var COMPONENT = 'atto_table',
|
||||||
'<label for="{{elementid}}_atto_table_borderstyle">' +
|
'<label for="{{elementid}}_atto_table_borderstyle">' +
|
||||||
'{{get_string "borderstyles" component}}</label>' +
|
'{{get_string "borderstyles" component}}</label>' +
|
||||||
'</div><div class="col-sm-8">' +
|
'</div><div class="col-sm-8">' +
|
||||||
'<select name="borderstyles" class="custom-select {{CSS.BORDERSTYLE}}" ' +
|
'<select name="borderstyles" class="form-select {{CSS.BORDERSTYLE}}" ' +
|
||||||
'id="{{elementid}}_atto_table_borderstyle">' +
|
'id="{{elementid}}_atto_table_borderstyle">' +
|
||||||
'{{#each borderStyles}}' +
|
'{{#each borderStyles}}' +
|
||||||
'<option value="' + '{{this}}' + '">' + '{{get_string this ../component}}' + '</option>' +
|
'<option value="' + '{{this}}' + '">' + '{{get_string this ../component}}' + '</option>' +
|
||||||
|
|
|
@ -79,10 +79,8 @@
|
||||||
}} size="32"{{!
|
}} size="32"{{!
|
||||||
}} />
|
}} />
|
||||||
{{#canUpload}}
|
{{#canUpload}}
|
||||||
<span class="input-group-append">
|
<button class="btn btn-secondary" type="button" data-target="filepicker">
|
||||||
<button class="btn btn-secondary" type="button" data-target="filepicker">
|
{{#str}} browserepositories, tiny_h5p{{/str}}</button>
|
||||||
{{#str}} browserepositories, tiny_h5p{{/str}}</button>
|
|
||||||
</span>
|
|
||||||
{{/canUpload}}
|
{{/canUpload}}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -59,9 +59,7 @@
|
||||||
{{#showfilepicker}}
|
{{#showfilepicker}}
|
||||||
<div class="input-group input-append w-100">
|
<div class="input-group input-append w-100">
|
||||||
<input class="form-control fullwidth text-ltr tiny_link_urlentry" id="{{elementid}}_tiny_link_urlentry" type="text" value="{{url}}"/>
|
<input class="form-control fullwidth text-ltr tiny_link_urlentry" id="{{elementid}}_tiny_link_urlentry" type="text" value="{{url}}"/>
|
||||||
<span class="input-group-append">
|
|
||||||
<button class="btn btn-secondary openlinkbrowser" type="button">{{#str}} browserepositories, tiny_link {{/str}}</button>
|
<button class="btn btn-secondary openlinkbrowser" type="button">{{#str}} browserepositories, tiny_link {{/str}}</button>
|
||||||
</span>
|
|
||||||
</div>
|
</div>
|
||||||
{{/showfilepicker}}
|
{{/showfilepicker}}
|
||||||
{{^showfilepicker}}
|
{{^showfilepicker}}
|
||||||
|
|
|
@ -33,9 +33,7 @@
|
||||||
<div class="input-group input-append w-100">
|
<div class="input-group input-append w-100">
|
||||||
<input id="audio-audio-url-input" class="form-control tiny_media_url_entry" type="url" size="32" value="{{.}}"/>
|
<input id="audio-audio-url-input" class="form-control tiny_media_url_entry" type="url" size="32" value="{{.}}"/>
|
||||||
{{#showfilepicker}}
|
{{#showfilepicker}}
|
||||||
<span class="input-group-append">
|
<button class="btn btn-secondary openmediabrowser" type="button">{{#str}} browserepositories, tiny_media {{/str}}</button>
|
||||||
<button class="btn btn-secondary openmediabrowser" type="button">{{#str}} browserepositories, tiny_media {{/str}}</button>
|
|
||||||
</span>
|
|
||||||
{{/showfilepicker}}
|
{{/showfilepicker}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -63,9 +61,7 @@
|
||||||
<div class="input-group input-append w-100">
|
<div class="input-group input-append w-100">
|
||||||
<input id="audio-audio-url-input" class="form-control tiny_media_url_entry" type="url" size="32"/>
|
<input id="audio-audio-url-input" class="form-control tiny_media_url_entry" type="url" size="32"/>
|
||||||
{{#showfilepicker}}
|
{{#showfilepicker}}
|
||||||
<span class="input-group-append">
|
<button class="btn btn-secondary openmediabrowser" type="button">{{#str}} browserepositories, tiny_media {{/str}}</button>
|
||||||
<button class="btn btn-secondary openmediabrowser" type="button">{{#str}} browserepositories, tiny_media {{/str}}</button>
|
|
||||||
</span>
|
|
||||||
{{/showfilepicker}}
|
{{/showfilepicker}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -253,16 +249,14 @@
|
||||||
<div class="input-group input-append w-100">
|
<div class="input-group input-append w-100">
|
||||||
<input id="subtitle-audio-url-input" class="form-control tiny_media_url_entry" type="url" size="32" value="{{src}}"/>
|
<input id="subtitle-audio-url-input" class="form-control tiny_media_url_entry" type="url" size="32" value="{{src}}"/>
|
||||||
{{#showfilepickertrack}}
|
{{#showfilepickertrack}}
|
||||||
<span class="input-group-append">
|
<button class="btn btn-secondary openmediabrowser" type="button">{{#str}} browserepositories, tiny_media {{/str}}</button>
|
||||||
<button class="btn btn-secondary openmediabrowser" type="button">{{#str}} browserepositories, tiny_media {{/str}}</button>
|
|
||||||
</span>
|
|
||||||
{{/showfilepickertrack}}
|
{{/showfilepickertrack}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="w-100" for="subtitle-audio-lang-input">{{#str}} srclang, tiny_media {{/str}}</label>
|
<label class="w-100" for="subtitle-audio-lang-input">{{#str}} srclang, tiny_media {{/str}}</label>
|
||||||
<select id="subtitle-audio-lang-input" class="custom-select tiny_media_track_lang_entry" data-value="{{srclang}}">
|
<select id="subtitle-audio-lang-input" class="form-select tiny_media_track_lang_entry" data-value="{{srclang}}">
|
||||||
<optgroup label="{{#str}} languagesinstalled, tiny_media {{/str}}">
|
<optgroup label="{{#str}} languagesinstalled, tiny_media {{/str}}">
|
||||||
{{#langsinstalled}}
|
{{#langsinstalled}}
|
||||||
<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>
|
<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>
|
||||||
|
@ -305,16 +299,14 @@
|
||||||
<div class="input-group input-append w-100">
|
<div class="input-group input-append w-100">
|
||||||
<input id="subtitle-audio-url-input" class="form-control tiny_media_url_entry" type="url" size="32"/>
|
<input id="subtitle-audio-url-input" class="form-control tiny_media_url_entry" type="url" size="32"/>
|
||||||
{{#showfilepickertrack}}
|
{{#showfilepickertrack}}
|
||||||
<span class="input-group-append">
|
<button class="btn btn-secondary openmediabrowser" type="button">{{#str}} browserepositories, tiny_media {{/str}}</button>
|
||||||
<button class="btn btn-secondary openmediabrowser" type="button">{{#str}} browserepositories, tiny_media {{/str}}</button>
|
|
||||||
</span>
|
|
||||||
{{/showfilepickertrack}}
|
{{/showfilepickertrack}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="w-100" for="subtitle-audio-lang-input">{{#str}} srclang, tiny_media {{/str}}</label>
|
<label class="w-100" for="subtitle-audio-lang-input">{{#str}} srclang, tiny_media {{/str}}</label>
|
||||||
<select id="subtitle-audio-lang-input" class="custom-select tiny_media_track_lang_entry">
|
<select id="subtitle-audio-lang-input" class="form-select tiny_media_track_lang_entry">
|
||||||
<optgroup label="{{#str}} languagesinstalled, tiny_media {{/str}}">
|
<optgroup label="{{#str}} languagesinstalled, tiny_media {{/str}}">
|
||||||
{{#langsinstalled}}
|
{{#langsinstalled}}
|
||||||
<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>
|
<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>
|
||||||
|
@ -365,16 +357,14 @@
|
||||||
<div class="input-group input-append w-100">
|
<div class="input-group input-append w-100">
|
||||||
<input id="caption-audio-url-input" class="form-control tiny_media_url_entry" type="url" size="32" value="{{src}}"/>
|
<input id="caption-audio-url-input" class="form-control tiny_media_url_entry" type="url" size="32" value="{{src}}"/>
|
||||||
{{#showfilepickertrack}}
|
{{#showfilepickertrack}}
|
||||||
<span class="input-group-append">
|
<button class="btn btn-secondary openmediabrowser" type="button">{{#str}} browserepositories, tiny_media {{/str}}</button>
|
||||||
<button class="btn btn-secondary openmediabrowser" type="button">{{#str}} browserepositories, tiny_media {{/str}}</button>
|
|
||||||
</span>
|
|
||||||
{{/showfilepickertrack}}
|
{{/showfilepickertrack}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="w-100" for="caption-audio-lang-input">{{#str}} srclang, tiny_media {{/str}}</label>
|
<label class="w-100" for="caption-audio-lang-input">{{#str}} srclang, tiny_media {{/str}}</label>
|
||||||
<select id="caption-audio-lang-input" class="custom-select tiny_media_track_lang_entry" data-value="{{srclang}}">
|
<select id="caption-audio-lang-input" class="form-select tiny_media_track_lang_entry" data-value="{{srclang}}">
|
||||||
<optgroup label="{{#str}} languagesinstalled, tiny_media {{/str}}">
|
<optgroup label="{{#str}} languagesinstalled, tiny_media {{/str}}">
|
||||||
{{#langsinstalled}}
|
{{#langsinstalled}}
|
||||||
<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>
|
<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>
|
||||||
|
@ -417,16 +407,14 @@
|
||||||
<div class="input-group input-append w-100">
|
<div class="input-group input-append w-100">
|
||||||
<input id="caption-audio-url-input" class="form-control tiny_media_url_entry" type="url" size="32"/>
|
<input id="caption-audio-url-input" class="form-control tiny_media_url_entry" type="url" size="32"/>
|
||||||
{{#showfilepickertrack}}
|
{{#showfilepickertrack}}
|
||||||
<span class="input-group-append">
|
<button class="btn btn-secondary openmediabrowser" type="button">{{#str}} browserepositories, tiny_media {{/str}}</button>
|
||||||
<button class="btn btn-secondary openmediabrowser" type="button">{{#str}} browserepositories, tiny_media {{/str}}</button>
|
|
||||||
</span>
|
|
||||||
{{/showfilepickertrack}}
|
{{/showfilepickertrack}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="w-100" for="caption-audio-lang-input">{{#str}} srclang, tiny_media {{/str}}</label>
|
<label class="w-100" for="caption-audio-lang-input">{{#str}} srclang, tiny_media {{/str}}</label>
|
||||||
<select id="caption-audio-lang-input" class="custom-select tiny_media_track_lang_entry">
|
<select id="caption-audio-lang-input" class="form-select tiny_media_track_lang_entry">
|
||||||
<optgroup label="{{#str}} languagesinstalled, tiny_media {{/str}}">
|
<optgroup label="{{#str}} languagesinstalled, tiny_media {{/str}}">
|
||||||
{{#langsinstalled}}
|
{{#langsinstalled}}
|
||||||
<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>
|
<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>
|
||||||
|
@ -477,16 +465,14 @@
|
||||||
<div class="input-group input-append w-100">
|
<div class="input-group input-append w-100">
|
||||||
<input id="description-audio-url-input" class="form-control tiny_media_url_entry" type="url" size="32" value="{{src}}"/>
|
<input id="description-audio-url-input" class="form-control tiny_media_url_entry" type="url" size="32" value="{{src}}"/>
|
||||||
{{#showfilepickertrack}}
|
{{#showfilepickertrack}}
|
||||||
<span class="input-group-append">
|
<button class="btn btn-secondary openmediabrowser" type="button">{{#str}} browserepositories, tiny_media {{/str}}</button>
|
||||||
<button class="btn btn-secondary openmediabrowser" type="button">{{#str}} browserepositories, tiny_media {{/str}}</button>
|
|
||||||
</span>
|
|
||||||
{{/showfilepickertrack}}
|
{{/showfilepickertrack}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="w-100" for="description-audio-lang-input">{{#str}} srclang, tiny_media {{/str}}</label>
|
<label class="w-100" for="description-audio-lang-input">{{#str}} srclang, tiny_media {{/str}}</label>
|
||||||
<select id="description-audio-lang-input" class="custom-select tiny_media_track_lang_entry" data-value="{{srclang}}">
|
<select id="description-audio-lang-input" class="form-select tiny_media_track_lang_entry" data-value="{{srclang}}">
|
||||||
<optgroup label="{{#str}} languagesinstalled, tiny_media {{/str}}">
|
<optgroup label="{{#str}} languagesinstalled, tiny_media {{/str}}">
|
||||||
{{#langsinstalled}}
|
{{#langsinstalled}}
|
||||||
<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>
|
<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>
|
||||||
|
@ -529,16 +515,14 @@
|
||||||
<div class="input-group input-append w-100">
|
<div class="input-group input-append w-100">
|
||||||
<input id="description-audio-url-input" class="form-control tiny_media_url_entry" type="url" size="32"/>
|
<input id="description-audio-url-input" class="form-control tiny_media_url_entry" type="url" size="32"/>
|
||||||
{{#showfilepickertrack}}
|
{{#showfilepickertrack}}
|
||||||
<span class="input-group-append">
|
<button class="btn btn-secondary openmediabrowser" type="button">{{#str}} browserepositories, tiny_media {{/str}}</button>
|
||||||
<button class="btn btn-secondary openmediabrowser" type="button">{{#str}} browserepositories, tiny_media {{/str}}</button>
|
|
||||||
</span>
|
|
||||||
{{/showfilepickertrack}}
|
{{/showfilepickertrack}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="w-100" for="description-audio-lang-input">{{#str}} srclang, tiny_media {{/str}}</label>
|
<label class="w-100" for="description-audio-lang-input">{{#str}} srclang, tiny_media {{/str}}</label>
|
||||||
<select id="description-audio-lang-input" class="custom-select tiny_media_track_lang_entry">
|
<select id="description-audio-lang-input" class="form-select tiny_media_track_lang_entry">
|
||||||
<optgroup label="{{#str}} languagesinstalled, tiny_media {{/str}}">
|
<optgroup label="{{#str}} languagesinstalled, tiny_media {{/str}}">
|
||||||
{{#langsinstalled}}
|
{{#langsinstalled}}
|
||||||
<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>
|
<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>
|
||||||
|
@ -589,16 +573,14 @@
|
||||||
<div class="input-group input-append w-100">
|
<div class="input-group input-append w-100">
|
||||||
<input id="chapter-audio-url-input" class="form-control tiny_media_url_entry" type="url" size="32" value="{{src}}"/>
|
<input id="chapter-audio-url-input" class="form-control tiny_media_url_entry" type="url" size="32" value="{{src}}"/>
|
||||||
{{#showfilepickertrack}}
|
{{#showfilepickertrack}}
|
||||||
<span class="input-group-append">
|
<button class="btn btn-secondary openmediabrowser" type="button">{{#str}} browserepositories, tiny_media {{/str}}</button>
|
||||||
<button class="btn btn-secondary openmediabrowser" type="button">{{#str}} browserepositories, tiny_media {{/str}}</button>
|
|
||||||
</span>
|
|
||||||
{{/showfilepickertrack}}
|
{{/showfilepickertrack}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="w-100" for="chapter-audio-lang-input">{{#str}} srclang, tiny_media {{/str}}</label>
|
<label class="w-100" for="chapter-audio-lang-input">{{#str}} srclang, tiny_media {{/str}}</label>
|
||||||
<select id="chapter-audio-lang-input" class="custom-select tiny_media_track_lang_entry" data-value="{{srclang}}">
|
<select id="chapter-audio-lang-input" class="form-select tiny_media_track_lang_entry" data-value="{{srclang}}">
|
||||||
<optgroup label="{{#str}} languagesinstalled, tiny_media {{/str}}">
|
<optgroup label="{{#str}} languagesinstalled, tiny_media {{/str}}">
|
||||||
{{#langsinstalled}}
|
{{#langsinstalled}}
|
||||||
<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>
|
<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>
|
||||||
|
@ -641,16 +623,14 @@
|
||||||
<div class="input-group input-append w-100">
|
<div class="input-group input-append w-100">
|
||||||
<input id="chapter-audio-url-input" class="form-control tiny_media_url_entry" type="url" size="32"/>
|
<input id="chapter-audio-url-input" class="form-control tiny_media_url_entry" type="url" size="32"/>
|
||||||
{{#showfilepickertrack}}
|
{{#showfilepickertrack}}
|
||||||
<span class="input-group-append">
|
<button class="btn btn-secondary openmediabrowser" type="button">{{#str}} browserepositories, tiny_media {{/str}}</button>
|
||||||
<button class="btn btn-secondary openmediabrowser" type="button">{{#str}} browserepositories, tiny_media {{/str}}</button>
|
|
||||||
</span>
|
|
||||||
{{/showfilepickertrack}}
|
{{/showfilepickertrack}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="w-100" for="chapter-audio-lang-input">{{#str}} srclang, tiny_media {{/str}}</label>
|
<label class="w-100" for="chapter-audio-lang-input">{{#str}} srclang, tiny_media {{/str}}</label>
|
||||||
<select id="chapter-audio-lang-input" class="custom-select tiny_media_track_lang_entry">
|
<select id="chapter-audio-lang-input" class="form-select tiny_media_track_lang_entry">
|
||||||
<optgroup label="{{#str}} languagesinstalled, tiny_media {{/str}}">
|
<optgroup label="{{#str}} languagesinstalled, tiny_media {{/str}}">
|
||||||
{{#langsinstalled}}
|
{{#langsinstalled}}
|
||||||
<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>
|
<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>
|
||||||
|
@ -702,16 +682,14 @@
|
||||||
<div class="input-group input-append w-100">
|
<div class="input-group input-append w-100">
|
||||||
<input id="metadata-audio-url-input" class="form-control tiny_media_url_entry" type="url" size="32" value="{{src}}"/>
|
<input id="metadata-audio-url-input" class="form-control tiny_media_url_entry" type="url" size="32" value="{{src}}"/>
|
||||||
{{#showfilepickertrack}}
|
{{#showfilepickertrack}}
|
||||||
<span class="input-group-append">
|
<button class="btn btn-secondary openmediabrowser" type="button">{{#str}} browserepositories, tiny_media {{/str}}</button>
|
||||||
<button class="btn btn-secondary openmediabrowser" type="button">{{#str}} browserepositories, tiny_media {{/str}}</button>
|
|
||||||
</span>
|
|
||||||
{{/showfilepickertrack}}
|
{{/showfilepickertrack}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="w-100" for="metadata-audio-lang-input">{{#str}} srclang, tiny_media {{/str}}</label>
|
<label class="w-100" for="metadata-audio-lang-input">{{#str}} srclang, tiny_media {{/str}}</label>
|
||||||
<select id="metadata-audio-lang-input" class="custom-select tiny_media_track_lang_entry" data-value="{{srclang}}">
|
<select id="metadata-audio-lang-input" class="form-select tiny_media_track_lang_entry" data-value="{{srclang}}">
|
||||||
<optgroup label="{{#str}} languagesinstalled, tiny_media {{/str}}">
|
<optgroup label="{{#str}} languagesinstalled, tiny_media {{/str}}">
|
||||||
{{#langsinstalled}}
|
{{#langsinstalled}}
|
||||||
<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>
|
<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>
|
||||||
|
@ -754,16 +732,14 @@
|
||||||
<div class="input-group input-append w-100">
|
<div class="input-group input-append w-100">
|
||||||
<input id="metadata-audio-url-input" class="form-control tiny_media_url_entry" type="url" size="32"/>
|
<input id="metadata-audio-url-input" class="form-control tiny_media_url_entry" type="url" size="32"/>
|
||||||
{{#showfilepickertrack}}
|
{{#showfilepickertrack}}
|
||||||
<span class="input-group-append">
|
<button class="btn btn-secondary openmediabrowser" type="button">{{#str}} browserepositories, tiny_media {{/str}}</button>
|
||||||
<button class="btn btn-secondary openmediabrowser" type="button">{{#str}} browserepositories, tiny_media {{/str}}</button>
|
|
||||||
</span>
|
|
||||||
{{/showfilepickertrack}}
|
{{/showfilepickertrack}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="w-100" for="metadata-audio-lang-input">{{#str}} srclang, tiny_media {{/str}}</label>
|
<label class="w-100" for="metadata-audio-lang-input">{{#str}} srclang, tiny_media {{/str}}</label>
|
||||||
<select id="metadata-audio-lang-input" class="custom-select tiny_media_track_lang_entry">
|
<select id="metadata-audio-lang-input" class="form-select tiny_media_track_lang_entry">
|
||||||
<optgroup label="{{#str}} languagesinstalled, tiny_media {{/str}}">
|
<optgroup label="{{#str}} languagesinstalled, tiny_media {{/str}}">
|
||||||
{{#langsinstalled}}
|
{{#langsinstalled}}
|
||||||
<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>
|
<option value="{{code}}" {{#default}}selected="selected"{{/default}}>{{lang}}</option>
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue