MDL-58428 theme: Move templates from lib
This commit is contained in:
@@ -30,31 +30,26 @@
|
||||
}
|
||||
}
|
||||
}}
|
||||
<div class="{{classes}}"{{#attributes}} {{name}}="{{value}}"{{/attributes}}>
|
||||
<div class="action-menu {{classes}} d-inline"{{#attributes}} {{name}}="{{value}}"{{/attributes}}>
|
||||
{{#primary}}
|
||||
|
||||
<ul class="{{classes}}"{{#attributes}} {{name}}="{{value}}"{{/attributes}}>
|
||||
<div class="{{classes}} d-flex "{{#attributes}} {{name}}="{{value}}"{{/attributes}}>
|
||||
|
||||
{{#prioritise}}<li role="presentation">{{> core/action_menu_trigger }}</li>{{/prioritise}}<!--
|
||||
{{#prioritise}}{{> core/action_menu_trigger }}{{/prioritise}}
|
||||
|
||||
-->{{#items}}<li role="presentation">{{> core/action_menu_item }}</li>{{/items}}<!--
|
||||
{{#items}}
|
||||
<div class="action-menu-item">
|
||||
{{> core/action_menu_item }}
|
||||
</div>
|
||||
{{/items}}
|
||||
|
||||
-->{{^prioritise}}<li role="presentation">{{> core/action_menu_trigger }}</li>{{/prioritise}}
|
||||
{{^prioritise}}
|
||||
<div class="action-menu-trigger">
|
||||
{{> core/action_menu_trigger }}
|
||||
</div>
|
||||
{{/prioritise}}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{{/primary}}
|
||||
|
||||
{{#secondary}}
|
||||
<ul class="{{classes}}"{{#attributes}} {{name}}="{{value}}"{{/attributes}}>
|
||||
{{#items}}<li role="presentation">{{> core/action_menu_item }}</li>{{/items}}
|
||||
</ul>
|
||||
{{/secondary}}
|
||||
</div>
|
||||
{{#js}}
|
||||
require(['core/yui'], function(Y) {
|
||||
Y.use('moodle-core-actionmenu', function() {
|
||||
M.core.actionmenu.init();
|
||||
});
|
||||
});
|
||||
{{/js}}
|
||||
|
||||
@@ -23,14 +23,12 @@
|
||||
{
|
||||
"text": "Example link text",
|
||||
"showtext": true,
|
||||
"url": "http://example.com/link",
|
||||
"classes": "menu-action",
|
||||
"instance": "1"
|
||||
"url": "http://example.com/link"
|
||||
}
|
||||
}}
|
||||
{{^disabled}}
|
||||
<a href="{{url}}" class="{{classes}}" {{#attributes}}{{name}}={{#quote}}{{value}}{{/quote}} {{/attributes}}{{#showtext}}aria-labelledby="actionmenuaction-{{instance}}"{{/showtext}}>{{#icon}}{{#pix}}{{key}}, {{component}}, {{title}}{{/pix}}{{/icon}}{{#showtext}}<span class="menu-action-text" id="actionmenuaction-{{instance}}">{{{text}}}</span>{{/showtext}}</a>
|
||||
{{/disabled}}
|
||||
{{#disabled}}
|
||||
<span class="currentlink" role="menuitem">{{#icon}}{{#pix}}{{key}}, {{component}}, {{title}}{{/pix}}{{/icon}}{{{text}}}</span>
|
||||
<span class="currentlink" role="menuitem">{{#icon}}{{#pix}}{{key}},{{component}},{{title}}{{/pix}}{{/icon}}{{{text}}}</span>
|
||||
{{/disabled}}
|
||||
|
||||
@@ -21,10 +21,100 @@
|
||||
|
||||
Example context (json):
|
||||
{
|
||||
"text": "Example link text",
|
||||
"title": "Example link title",
|
||||
"url": "http://example.com/link",
|
||||
"classes": "icon menu-action",
|
||||
"instance": "1",
|
||||
"title": "Trigger me!",
|
||||
"menutrigger": true,
|
||||
"triggerextraclasses": ""
|
||||
"triggerextraclasses": "",
|
||||
"attributes": [
|
||||
{"name": "role", "value": "menuitem" },
|
||||
{"name": "data-title", "value": "mymoodle,admin" }
|
||||
],
|
||||
"secondary": {
|
||||
"classes": "menu align-tr-br",
|
||||
"attributes": [
|
||||
{"name": "id", "value": "action-menu-0-menu"},
|
||||
{"name": "data-rel", "value": "menu-content"},
|
||||
{"name": "role", "value": "menu"},
|
||||
{"name": "data-align", "value": "tr-br"}
|
||||
],
|
||||
"items": [
|
||||
{"actionmenulink":
|
||||
{
|
||||
"id": "action_link59ecf8394a68078",
|
||||
"disabled": false,
|
||||
"text": "Dashboard",
|
||||
"url": "http://example.com/link",
|
||||
"icon": {
|
||||
"key": "i/dashboard",
|
||||
"component": null,
|
||||
"title": "Dashboard"
|
||||
},
|
||||
"classes": "icon menu-action",
|
||||
"attributes": [
|
||||
{"name": "role", "value": "menuitem"},
|
||||
{"name": "data-title", "value": "mymoodle,admin"}
|
||||
],
|
||||
"instance": 1,
|
||||
"showtext": true
|
||||
}
|
||||
},
|
||||
{"actionmenufiller":
|
||||
{
|
||||
"id": "action_link59ecf8394a68079",
|
||||
"disabled": false,
|
||||
"text": "",
|
||||
"url": "",
|
||||
"icon": null,
|
||||
"classes": "",
|
||||
"attributes": [
|
||||
{"name": "role", "value": "menuitem"}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}}
|
||||
<a href="#" class="{{triggerextraclasses}} toggle-display {{#menutrigger}}textmenu{{/menutrigger}}" id="action-menu-toggle-{{instance}}" title="{{title}}" role="menuitem">{{{actiontext}}}{{{menutrigger}}}{{#icon}}{{#pix}}{{key}}, {{component}}, {{title}}{{/pix}}{{/icon}}{{#rawicon}}{{{.}}}{{/rawicon}}{{#menutrigger}}<b class="caret"></b>{{/menutrigger}}</a>
|
||||
<div class="dropdown">
|
||||
<a href="#" tabindex="0" class="{{triggerextraclasses}} dropdown-toggle icon-no-margin" id="dropdown-{{instance}}" aria-label="{{title}}" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" aria-controls="action-menu-{{instance}}-menu">
|
||||
{{{actiontext}}}
|
||||
{{{menutrigger}}}
|
||||
{{#icon}}
|
||||
{{#pix}}
|
||||
{{key}},{{component}},{{title}}
|
||||
{{/pix}}
|
||||
{{/icon}}
|
||||
{{#rawicon}}{{{.}}}{{/rawicon}}
|
||||
{{#menutrigger}}
|
||||
<b class="caret"></b>
|
||||
{{/menutrigger}}
|
||||
</a>
|
||||
{{#secondary}}
|
||||
<div class="dropdown-menu dropdown-menu-right {{classes}}"{{#attributes}} {{name}}="{{value}}"{{/attributes}} id="dropdown-menu-{{instance}}">
|
||||
{{#items}}
|
||||
{{#actionmenulink}}
|
||||
<a href="{{url}}" class="dropdown-item {{classes}}" {{#attributes}}{{name}}={{#quote}}{{value}}{{/quote}} {{/attributes}}{{#showtext}}aria-labelledby="actionmenuaction-{{instance}}"{{/showtext}}>
|
||||
{{#icon}}
|
||||
{{#pix}}{{key}},{{component}},{{title}}{{/pix}}
|
||||
{{/icon}}
|
||||
{{#showtext}}
|
||||
<span class="menu-action-text" id="actionmenuaction-{{instance}}">
|
||||
{{{text}}}
|
||||
</span>
|
||||
{{/showtext}}
|
||||
</a>
|
||||
{{/actionmenulink}}
|
||||
{{#actionmenufiller}}
|
||||
<div class="dropdown-divider" role="presentation"><span class="filler"> </span></div>
|
||||
{{/actionmenufiller}}
|
||||
{{^actionmenulink}}
|
||||
{{^actionmenufiller}}
|
||||
<div class="dropdown-item">{{> core/action_menu_item }}</div>
|
||||
{{/actionmenufiller}}
|
||||
{{/actionmenulink}}
|
||||
{{/items}}
|
||||
</div>
|
||||
{{/secondary}}
|
||||
</div>
|
||||
|
||||
@@ -26,12 +26,33 @@
|
||||
"homelink": "/"
|
||||
}
|
||||
}}
|
||||
<h3>{{#str}}considereddigitalminor{{/str}}</h3>
|
||||
<p class="m-b-0">{{#str}}digitalminor_desc{{/str}}</p>
|
||||
<div class="p-t-1 p-b-1">
|
||||
<p class="m-b-0">{{{supportname}}}</p>
|
||||
<p class="m-b-0">{{{supportemail}}}</p>
|
||||
</div>
|
||||
<div class="backlink">
|
||||
<a href="{{homelink}}">{{#str}}backtohome{{/str}}</a>
|
||||
<div class="container-fluid mt-1 mt-md-5">
|
||||
<div class="row justify-content-md-center">
|
||||
<div class="col-md-8 push-md-2 col-xl-6 push-xl-3">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="card-title text-xs-center">
|
||||
{{#logourl}}
|
||||
<h2><img src="{{logourl}}" title="{{sitename}}" alt="{{sitename}}"/></h2>
|
||||
{{/logourl}}
|
||||
{{^logourl}}
|
||||
<h2>{{sitename}}</h2>
|
||||
{{/logourl}}
|
||||
<hr>
|
||||
</div>
|
||||
<div class="card-title">
|
||||
<h3>{{#str}}considereddigitalminor{{/str}}</h3>
|
||||
</div>
|
||||
<div class="p-t-1 p-b-2">
|
||||
<p>{{#str}}digitalminor_desc{{/str}}</p>
|
||||
<p class="m-b-0">{{{supportname}}}</p>
|
||||
<p class="m-b-0">{{{supportemail}}}</p>
|
||||
</div>
|
||||
<div class="backlink">
|
||||
<a href="{{homelink}}">{{#str}}backtohome{{/str}}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -25,13 +25,40 @@
|
||||
"formhtml": "(Form html would go here)"
|
||||
}
|
||||
}}
|
||||
{{#error}}
|
||||
<div class="alert alert-danger" role="alert">
|
||||
{{{error}}}
|
||||
<div class="container-fluid mt-1 mt-md-5">
|
||||
<div class="row justify-content-md-center">
|
||||
<div class="col-md-8 push-md-2 col-xl-6 push-xl-3">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="card-title text-xs-center">
|
||||
{{#logourl}}
|
||||
<h2><img src="{{logourl}}" title="{{sitename}}" alt="{{sitename}}"/></h2>
|
||||
{{/logourl}}
|
||||
{{^logourl}}
|
||||
<h2>{{sitename}}</h2>
|
||||
{{/logourl}}
|
||||
<hr>
|
||||
</div>
|
||||
{{#error}}
|
||||
<div class="alert alert-danger" role="alert" data-aria-autofocus="true">
|
||||
{{{error}}}
|
||||
</div>
|
||||
{{/error}}
|
||||
<div class="card-title">
|
||||
<h3>{{#str}}agelocationverification{{/str}}</h3>
|
||||
</div>
|
||||
<div class="m-t-2 m-b-2">
|
||||
{{{formhtml}}}
|
||||
</div>
|
||||
<hr>
|
||||
<div class="card-title">
|
||||
<h3>{{#str}}whyisthisrequired{{/str}}</h3>
|
||||
</div>
|
||||
<div class="m-t-1">
|
||||
<p >{{#str}}explanationdigitalminor{{/str}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/error}}
|
||||
<h3>{{#str}}agelocationverification{{/str}}</h3>
|
||||
{{{formhtml}}}
|
||||
<hr>
|
||||
<h3>{{#str}}whyisthisrequired{{/str}}</h3>
|
||||
<p >{{#str}}explanationdigitalminor{{/str}}</p>
|
||||
</div>
|
||||
|
||||
@@ -17,7 +17,12 @@
|
||||
{{!
|
||||
@template core/availability_info
|
||||
|
||||
Moodle template for the course or section availability information.
|
||||
Renders the availability info on the course outline page.
|
||||
|
||||
Availability info can be displayed for activity modules or whole course
|
||||
sections. Activity modules can be either hidden from students, or available
|
||||
but not shown on course page (stealth), or the access can be restricted by
|
||||
configured conditions. Sections can be hidden.
|
||||
|
||||
Classes required for JS:
|
||||
* none
|
||||
@@ -25,9 +30,32 @@
|
||||
Data attributes required for JS:
|
||||
* none
|
||||
|
||||
Context variables required for this template:
|
||||
* classes String list of CSS classes for the wrapping element
|
||||
* text HTML formatted text with the actual availability information
|
||||
* ishidden Boolean flag indiciating that the item is hidden from students
|
||||
* isstealth Boolean flag indicating that the item is in stealth mode
|
||||
* isrestricted Boolean flag indicating that restricted access conditions apply
|
||||
* isfullinfo Boolean flag indicating that the full list of restricted
|
||||
access conditions is displayed (aka teacher's view).
|
||||
|
||||
Example context (json):
|
||||
{ "classes": "", "text": "This activity is not available" }
|
||||
{
|
||||
"classes": "",
|
||||
"text": "Not available unless: <ul><li>It is on or after <strong>8 June 2012</strong></li></ul>",
|
||||
"ishidden": 0,
|
||||
"isstealth": 0,
|
||||
"isrestricted": 1,
|
||||
"isfullinfo": 1
|
||||
}
|
||||
}}
|
||||
{{#text}}
|
||||
<div class="availabilityinfo {{classes}}">{{{text}}}</div>
|
||||
<div class="availabilityinfo {{classes}}">
|
||||
{{^isrestricted}}
|
||||
<span class="tag tag-info">{{{text}}}</span>
|
||||
{{/isrestricted}}
|
||||
{{#isrestricted}}
|
||||
<span class="tag tag-info">{{#str}}restricted, core{{/str}}</span> {{{text}}}
|
||||
{{/isrestricted}}
|
||||
</div>
|
||||
{{/text}}
|
||||
|
||||
@@ -70,8 +70,8 @@
|
||||
</div>
|
||||
|
||||
<div class="submitbuttons">
|
||||
<input type="submit" name="submitbutton" class="submitbutton" value={{#quote}}{{#str}}add{{/str}}{{/quote}}>
|
||||
<input type="submit" name="addcancel" class="addcancel" value={{#quote}}{{#str}}cancel{{/str}}{{/quote}}>
|
||||
<input type="submit" name="submitbutton" class="submitbutton btn btn-primary" value={{#quote}}{{#str}}add{{/str}}{{/quote}}>
|
||||
<input type="submit" name="addcancel" class="addcancel btn btn-secondary" value={{#quote}}{{#str}}cancel{{/str}}{{/quote}}>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
@@ -41,8 +41,8 @@
|
||||
}
|
||||
|
||||
}}
|
||||
<div class="row-fluid rtl-compatible">
|
||||
<div class="span4">{{$ column1 }}{{{ col1content }}}{{/ column1 }}</div>
|
||||
<div class="span4">{{$ column2 }}{{{ col2content }}}{{/ column2 }}</div>
|
||||
<div class="span4">{{$ column3 }}{{{ col3content }}}{{/ column3 }}</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4">{{$ column1 }}{{{ col1content }}}{{/ column1 }}</div>
|
||||
<div class="col-md-4">{{$ column2 }}{{{ col2content }}}{{/ column2 }}</div>
|
||||
<div class="col-md-4">{{$ column3 }}{{{ col3content }}}{{/ column3 }}</div>
|
||||
</div>
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
}
|
||||
|
||||
}}
|
||||
<div class="row-fluid rtl-compatible">
|
||||
<div class="span4">{{$ column1 }}{{{ col1content }}}{{/ column1 }}</div>
|
||||
<div class="span8">{{$ column2 }}{{{ col2content }}}{{/ column2 }}</div>
|
||||
<div class="row">
|
||||
<div class="col-md-4">{{$ column1 }}{{{ col1content }}}{{/ column1 }}</div>
|
||||
<div class="col-md-8">{{$ column2 }}{{{ col2content }}}{{/ column2 }}</div>
|
||||
</div>
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
"col2content": "<div class='alert alert-success'>2. Vivamus ac orci in velit fringilla aliquam a a nisl. Cras luctus quam laoreet magna pulvinar aliquet.</div>"
|
||||
}
|
||||
}}
|
||||
<div class="row-fluid rtl-compatible">
|
||||
<div class="span8">{{$ column1 }}{{{ col1content }}}{{/ column1 }}</div>
|
||||
<div class="span4">{{$ column2 }}{{{ col2content }}}{{/ column2 }}</div>
|
||||
<div class="row">
|
||||
<div class="col-md-8">{{$ column1 }}{{{ col1content }}}{{/ column1 }}</div>
|
||||
<div class="col-md-4">{{$ column2 }}{{{ col2content }}}{{/ column2 }}</div>
|
||||
</div>
|
||||
|
||||
@@ -17,8 +17,6 @@
|
||||
{{!
|
||||
@template core/dataformat_selector
|
||||
|
||||
Template for dataformat selection and download form.
|
||||
|
||||
Context variables required for this template:
|
||||
* label
|
||||
* base
|
||||
@@ -32,24 +30,26 @@
|
||||
{
|
||||
"base": "http://example.org/",
|
||||
"name": "test",
|
||||
"value": "test",
|
||||
"label": "Download table data as",
|
||||
"params": false,
|
||||
"options": [{"label": "CSV", "name": "csv"}, {"label": "Excel", "name": "excel"}],
|
||||
"submit": "Download"
|
||||
"submit": "Download",
|
||||
"sesskey": ""
|
||||
}
|
||||
}}
|
||||
<form method="get" action="{{base}}" class="dataformatselector">
|
||||
<div class="mdl-align">
|
||||
<form method="get" action="{{base}}" class="dataformatselector m-1">
|
||||
<div class="form-inline text-xs-right">
|
||||
<input type="hidden" name="sesskey" value="{{sesskey}}">
|
||||
<label for="downloadtype_{{name}}">{{label}}</label>
|
||||
<select name="{{name}}" id="downloadtype_{{name}}">
|
||||
{{#options}}
|
||||
<option value="{{value}}">{{label}}</option>
|
||||
{{/options}}
|
||||
<label for="downloadtype_{{name}}" class="mr-1">{{label}}</label>
|
||||
<select name="{{name}}" id="downloadtype_{{name}}" class="form-control">
|
||||
{{#options}}
|
||||
<option value="{{value}}">{{label}}</option>
|
||||
{{/options}}
|
||||
</select>
|
||||
<input type="submit" value="{{submit}}">
|
||||
<button type="submit" class="btn btn-secondary">{{submit}}</button>
|
||||
{{#params}}
|
||||
<input type="hidden" name="{{name}}" value="{{value}}" />
|
||||
<input type="hidden" name="{{name}}" value="{{value}}">
|
||||
{{/params}}
|
||||
</div>
|
||||
</form>
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
{ "inputID": 1, "suggestionsId": 2, "selectionId": 3, "downArrowId": 4, "placeholder": "Select something" }
|
||||
}}
|
||||
{{#showSuggestions}}
|
||||
<input type="text" id="{{inputId}}" list="{{suggestionsId}}" placeholder="{{placeholder}}" role="combobox" aria-expanded="false" autocomplete="off" autocorrect="off" autocapitalize="off" aria-autocomplete="list" aria-owns="{{suggestionsId}} {{selectionId}}" {{#tags}}data-tags="1"{{/tags}}/><span class="form-autocomplete-downarrow" id="{{downArrowId}}">▼</span>
|
||||
<input type="text" id="{{inputId}}" class="form-control" list="{{suggestionsId}}" placeholder="{{placeholder}}" role="combobox" aria-expanded="false" autocomplete="off" autocorrect="off" autocapitalize="off" aria-autocomplete="list" aria-owns="{{suggestionsId}} {{selectionId}}" {{#tags}}data-tags="1"{{/tags}}/><span class="form-autocomplete-downarrow" id="{{downArrowId}}">▼</span>
|
||||
{{/showSuggestions}}
|
||||
{{^showSuggestions}}
|
||||
<input type="text" id="{{inputId}}" placeholder="{{placeholder}}" role="textbox" aria-owns="{{selectionId}}" {{#tags}}data-tags="1"{{/tags}}/>
|
||||
|
||||
@@ -37,15 +37,14 @@
|
||||
{ "label": "Another item label with <strong>tags</strong>", "value": "4" }
|
||||
], "noSelectionString": "No selection" }
|
||||
}}
|
||||
<div class="form-autocomplete-selection {{#multiple}}form-autocomplete-multiple{{/multiple}}" id="{{selectionId}}" role="list" aria-atomic="true" {{#multiple}}tabindex="0" aria-multiselectable="true"{{/multiple}}>
|
||||
<div class="form-autocomplete-selection w-100 {{#multiple}}form-autocomplete-multiple{{/multiple}}" id="{{selectionId}}" role="list" aria-atomic="true" {{#multiple}}tabindex="0" aria-multiselectable="true"{{/multiple}}>
|
||||
<span class="accesshide">{{#str}}selecteditems, form{{/str}}</span>
|
||||
{{#items}}
|
||||
<span role="listitem" data-value="{{value}}" aria-selected="true" class="label label-info" style="font-size: 100%; margin-bottom: 0.5rem;">
|
||||
<span role="listitem" data-value="{{value}}" aria-selected="true" class="tag tag-info mb-3 mr-1" style="font-size: 100%">
|
||||
{{#multiple}}<span aria-hidden="true">× </span>{{/multiple}}{{{label}}}
|
||||
</span>
|
||||
{{/items}}
|
||||
{{^items}}
|
||||
<span>{{noSelectionString}}</span>
|
||||
<span class="mb-3 mr-1">{{noSelectionString}}</span>
|
||||
{{/items}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,19 +1,3 @@
|
||||
{{!
|
||||
This file is part of Moodle - http://moodle.org/
|
||||
|
||||
Moodle is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Moodle is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
}}
|
||||
{{!
|
||||
@template core/help_icon
|
||||
|
||||
@@ -33,6 +17,9 @@
|
||||
}
|
||||
}
|
||||
}}
|
||||
<span class="helptooltip">
|
||||
<a href="{{url}}" title={{#quote}}{{title}}{{/quote}} aria-haspopup="true" target="_blank">{{#icon}}{{>core/pix_icon}}{{/icon}}{{#linktext}}{{.}}{{/linktext}}</a>
|
||||
</span>
|
||||
<a class="btn btn-link p-0" role="button"
|
||||
data-container="body" data-toggle="popover"
|
||||
data-placement="{{#ltr}}right{{/ltr}}{{^ltr}}left{{/ltr}}" data-content="{{text}} {{completedoclink}}"
|
||||
data-html="true" tabindex="0" data-trigger="focus">
|
||||
{{#pix}}help, core, {{{alt}}}{{/pix}}
|
||||
</a>
|
||||
|
||||
@@ -73,24 +73,30 @@
|
||||
]
|
||||
}
|
||||
}}
|
||||
<div class="initialbar {{class}}">
|
||||
<span class="initialbarlabel">{{title}}</span>
|
||||
{{#current}}
|
||||
<a class="initialbarall page-item letter" href="{{url}}">{{all}}</a>
|
||||
{{/current}}
|
||||
{{^current}}
|
||||
<div class="initialbarall letter page-item active">{{all}}</div>
|
||||
{{/current}}
|
||||
<div class="initialbar {{class}} d-flex flex-wrap justify-content-center justify-content-md-start">
|
||||
<span class="initialbarlabel mr-2">{{title}}</span>
|
||||
|
||||
<div class="initialbargroups">
|
||||
<div class="initialbargroups d-flex flex-wrap justify-content-center justify-content-md-start">
|
||||
<ul class="pagination pagination-sm">
|
||||
{{#current}}
|
||||
<li class="initialbarall page-item">
|
||||
<a class="page-link" href="{{url}}">{{all}}</a>
|
||||
</li>
|
||||
{{/current}}
|
||||
{{^current}}
|
||||
<li class="initialbarall page-item active">
|
||||
<a class="page-link">{{all}}</a>
|
||||
</li>
|
||||
{{/current}}
|
||||
</ul>
|
||||
{{#group}}
|
||||
<ul class="initialbargroup">
|
||||
<ul class="pagination pagination-sm">
|
||||
{{#letter}}
|
||||
{{#selected}}
|
||||
<li><span class="letter page-item active {{name}}">{{name}}</span></li>
|
||||
<li class="page-item active {{name}}"><span class="page-link">{{name}}</span></li>
|
||||
{{/selected}}
|
||||
{{^selected}}
|
||||
<li><a class="letter page-item {{name}}" href="{{url}}">{{name}}</a></li>
|
||||
<li class="page-item {{name}}"><a class="page-link" href="{{url}}">{{name}}</a></li>
|
||||
{{/selected}}
|
||||
{{/letter}}
|
||||
</ul>
|
||||
|
||||
+181
-120
@@ -19,149 +19,210 @@
|
||||
|
||||
Moodle template for the login page.
|
||||
|
||||
Context variables required for this template:
|
||||
* autofocusform: Auto focus on form ?,
|
||||
* canloginasguest - Is guest login allowed?,
|
||||
* canloginbyemail - Is login by email allowed?,
|
||||
* cansignup - Signup allowed?,
|
||||
* cookieshelpicon - cookies help icon details
|
||||
* error - Any errors in the form?,
|
||||
* forgotpasswordurl - Forgot password url,
|
||||
* hasidentityproviders - Flag, set to true to hide identity providers,
|
||||
* hasinstructions - Flag, set to true to show instructions,
|
||||
* identityproviders - List of identiy providers,
|
||||
* instructions - Instructions,
|
||||
* instructionsformat - Format of instructions,
|
||||
* loginurl - Login url,
|
||||
* rememberusername - Remeber username?,
|
||||
* signupurl - Signup url,
|
||||
* cookieshelpiconformatted - Formatted html of cookies help icon,
|
||||
* errorformatted - Formatted error,
|
||||
* logourl - Flag, logo url,
|
||||
* sitename - Name of site.
|
||||
* logintoken - Random token to protect login request.
|
||||
|
||||
Example context (json):
|
||||
{
|
||||
"autofocusform": false,
|
||||
"canloginasguest": true,
|
||||
"canloginbyemail": true,
|
||||
"canloginasguest": "1",
|
||||
"canloginbyemail": false,
|
||||
"cansignup": true,
|
||||
"error": "testerror",
|
||||
"errorformatted": "Test error formatted",
|
||||
"forgotpasswordurl": "http://example.com/login/forgot_password.php",
|
||||
"cookieshelpicon": {
|
||||
"heading": "Cookies must be enabled in your browser",
|
||||
"text": "<div class=\"no-overflow\">Two cookies are used on this site. Both died..</div>",
|
||||
"icon": {
|
||||
"attributes": [
|
||||
{
|
||||
"name": "class",
|
||||
"value": "iconhelp"
|
||||
},
|
||||
{
|
||||
"name": "alt",
|
||||
"value": "Help with Cookies must be enabled in your browser"
|
||||
},
|
||||
{
|
||||
"name": "title",
|
||||
"value": "Help with Cookies must be enabled in your browser"
|
||||
},
|
||||
{
|
||||
"name": "src",
|
||||
"value": "http://localhost/stable_master/theme/image.php?theme=boost&component=core&image=help"
|
||||
}
|
||||
]
|
||||
},
|
||||
"linktext": null,
|
||||
"title": "Help with Cookies must be enabled in your browser",
|
||||
"url": "http://localhost/stable_master/help.php?component=core&identifier=cookiesenabled&lang=en",
|
||||
"ltr": true
|
||||
},
|
||||
"error": "",
|
||||
"forgotpasswordurl": "http://localhost/stable_master/login/forgot_password.php",
|
||||
"hasidentityproviders": false,
|
||||
"hasinstructions": true,
|
||||
"identityproviders": [],
|
||||
"instructions": "For full access to this site, you first need to create an account.",
|
||||
"loginurl": "http://example.com/stable_master/login/index.php",
|
||||
"instructionsformat": "1",
|
||||
"loginurl": "http://localhost/stable_master/login/index.php",
|
||||
"rememberusername": true,
|
||||
"signupurl": "http://localhost/stable_master/login/signup.php",
|
||||
"cookieshelpiconformatted": "",
|
||||
"username": "",
|
||||
"errorformatted": "",
|
||||
"logourl": false,
|
||||
"sitename": "Beer & Chips",
|
||||
"logintoken": "randomstring"
|
||||
}
|
||||
}}
|
||||
{{#hasinstructions}}
|
||||
<div class="loginbox clearfix twocolumns">
|
||||
{{/hasinstructions}}
|
||||
{{^hasinstructions}}
|
||||
<div class="loginbox clearfix onecolumn">
|
||||
{{/hasinstructions}}
|
||||
|
||||
<div class="loginpanel">
|
||||
{{#cansignup}}
|
||||
<div class="skiplinks">
|
||||
<a class="skip" href="{{signupurl}}">{{#str}} tocreatenewaccount {{/str}}</a>
|
||||
</div>
|
||||
{{/cansignup}}
|
||||
|
||||
<h2>{{#str}} login {{/str}}</h2>
|
||||
|
||||
<div class="subcontent loginsub">
|
||||
{{#error}}
|
||||
<div class="loginerrors" role="alert">
|
||||
<a href="#" id="loginerrormessage" class="accesshide">{{error}}</a>
|
||||
{{{errorformatted}}}
|
||||
</div>
|
||||
{{/error}}
|
||||
<form action="{{loginurl}}" method="post" id="login">
|
||||
<div class="loginform">
|
||||
<div class="form-label">
|
||||
<label for="username">
|
||||
{{^canloginbyemail}}
|
||||
{{#str}} username {{/str}}
|
||||
{{/canloginbyemail}}
|
||||
{{#canloginbyemail}}
|
||||
{{#str}} usernameemail {{/str}}
|
||||
{{/canloginbyemail}}
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-input">
|
||||
<input type="text" name="username" id="username" size="15" value="{{username}}" autocomplete="username">
|
||||
</div>
|
||||
<div class="clearer"><!-- --></div>
|
||||
<div class="form-label">
|
||||
<label for="password">{{#str}} password {{/str}}</label>
|
||||
</div>
|
||||
<div class="form-input">
|
||||
<input type="password" name="password" id="password" size="15" value="" autocomplete="current-password">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="clearer"><!-- --></div>
|
||||
{{#rememberusername}}
|
||||
<div class="rememberpass">
|
||||
<input type="checkbox" name="rememberusername" id="rememberusername" value="1" {{#username}}checked="checked"{{/username}} />
|
||||
<label for="rememberusername">{{#str}} rememberusername, admin {{/str}}</label>
|
||||
</div>
|
||||
{{/rememberusername}}
|
||||
<div class="clearer"><!-- --></div>
|
||||
<input id="anchor" type="hidden" name="anchor" value="" />
|
||||
<script>document.getElementById('anchor').value = location.hash;</script>
|
||||
<input type="hidden" name="logintoken" value="{{logintoken}}">
|
||||
<input type="submit" id="loginbtn" value={{#quote}}{{#str}} login {{/str}}{{/quote}} />
|
||||
<div class="forgetpass">
|
||||
<a href="{{forgotpasswordurl}}">{{#str}} forgotten {{/str}}</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div class="desc">
|
||||
{{#str}} cookiesenabled {{/str}}
|
||||
{{{cookieshelpiconformatted}}}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{{#canloginasguest}}
|
||||
<div class="subcontent guestsub">
|
||||
<div class="desc">{{#str}} someallowguest {{/str}}</div>
|
||||
<form action="{{loginurl}}" method="post" id="guestlogin">
|
||||
<div class="guestform">
|
||||
<input type="hidden" name="logintoken" value="{{logintoken}}">
|
||||
<input type="hidden" name="username" value="guest" />
|
||||
<input type="hidden" name="password" value="guest" />
|
||||
<input type="submit" value={{#quote}}{{#str}} loginguest {{/str}}{{/quote}} />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{{/canloginasguest}}
|
||||
|
||||
</div>
|
||||
|
||||
<div class="signuppanel">
|
||||
{{#hasinstructions}}
|
||||
<h2>{{#str}} firsttime {{/str}}</h2>
|
||||
<div class="subcontent">
|
||||
{{{instructions}}}
|
||||
<div class="my-1 my-sm-5"></div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-xl-6 col-sm-8 ">
|
||||
<div class="card">
|
||||
<div class="card-block">
|
||||
{{#logourl}}
|
||||
<h2 class="card-header text-center" ><img src="{{logourl}}" title="{{sitename}}" alt="{{sitename}}"/></h2>
|
||||
{{/logourl}}
|
||||
{{^logourl}}
|
||||
<h2 class="card-header text-center">{{sitename}}</h2>
|
||||
{{/logourl}}
|
||||
<div class="card-body">
|
||||
{{#cansignup}}
|
||||
<div class="signupform">
|
||||
<form action="{{signupurl}}" method="get" id="signup">
|
||||
<div>
|
||||
<input type="submit" value={{#quote}}{{#str}} startsignup {{/str}}{{/quote}} />
|
||||
</div>
|
||||
</form>
|
||||
<div class="sr-only">
|
||||
<a href="{{signupurl}}">{{#str}} tocreatenewaccount {{/str}}</a>
|
||||
</div>
|
||||
{{/cansignup}}
|
||||
</div>
|
||||
{{/hasinstructions}}
|
||||
|
||||
{{#hasidentityproviders}}
|
||||
<div class="subcontent potentialidps">
|
||||
<h6>{{#str}} potentialidps, auth {{/str}}</h6>
|
||||
<div class="potentialidplist">
|
||||
{{#identityproviders}}
|
||||
<div class="potentialidp">
|
||||
<a href="{{url}}" title={{#quote}}{{name}}{{/quote}} class="btn">
|
||||
{{#iconurl}}
|
||||
<img src="{{iconurl}}" alt="" width="24" height="24"/>
|
||||
{{/iconurl}}
|
||||
{{name}}
|
||||
</a>
|
||||
{{#error}}
|
||||
<div class="loginerrors mt-3">
|
||||
<a href="#" id="loginerrormessage" class="accesshide">{{error}}</a>
|
||||
<div class="alert alert-danger" role="alert" data-aria-autofocus="true">{{error}}</div>
|
||||
</div>
|
||||
{{/error}}
|
||||
|
||||
<div class="row justify-content-md-center">
|
||||
<div class="col-md-5">
|
||||
<form class="mt-3" action="{{loginurl}}" method="post" id="login">
|
||||
<input id="anchor" type="hidden" name="anchor" value="">
|
||||
<script>document.getElementById('anchor').value = location.hash;</script>
|
||||
<input type="hidden" name="logintoken" value="{{logintoken}}">
|
||||
<div class="form-group">
|
||||
<label for="username" class="sr-only">
|
||||
{{^canloginbyemail}}
|
||||
{{#str}} username {{/str}}
|
||||
{{/canloginbyemail}}
|
||||
{{#canloginbyemail}}
|
||||
{{#str}} usernameemail {{/str}}
|
||||
{{/canloginbyemail}}
|
||||
</label>
|
||||
<input type="text" name="username" id="username"
|
||||
class="form-control"
|
||||
value="{{username}}"
|
||||
placeholder={{#quote}}{{^canloginbyemail}}{{#str}}username{{/str}}{{/canloginbyemail}}{{#canloginbyemail}}{{#str}}usernameemail{{/str}}{{/canloginbyemail}}{{/quote}}
|
||||
autocomplete="username">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="password" class="sr-only">{{#str}} password {{/str}}</label>
|
||||
<input type="password" name="password" id="password" value=""
|
||||
class="form-control"
|
||||
placeholder={{#quote}}{{#str}}password{{/str}}{{/quote}}
|
||||
autocomplete="current-password">
|
||||
</div>
|
||||
{{#rememberusername}}
|
||||
<div class="rememberpass mt-3">
|
||||
<input type="checkbox" name="rememberusername" id="rememberusername" value="1" {{#username}}checked="checked"{{/username}} />
|
||||
<label for="rememberusername">{{#str}} rememberusername, admin {{/str}}</label>
|
||||
</div>
|
||||
{{/rememberusername}}
|
||||
|
||||
<button type="submit" class="btn btn-primary btn-block mt-3" id="loginbtn">{{#str}}login{{/str}}</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="col-md-5">
|
||||
<div class="forgetpass mt-3">
|
||||
<p><a href="{{forgotpasswordurl}}">{{#str}}forgotten{{/str}}</a></p>
|
||||
</div>
|
||||
{{/identityproviders}}
|
||||
|
||||
<div class="mt-3">
|
||||
{{#str}} cookiesenabled {{/str}}
|
||||
{{{cookieshelpiconformatted}}}
|
||||
</div>
|
||||
{{#canloginasguest}}
|
||||
<div class="mt-2">
|
||||
<p>{{#str}}someallowguest{{/str}}</p>
|
||||
<form action="{{loginurl}}" method="post" id="guestlogin">
|
||||
<input type="hidden" name="logintoken" value="{{logintoken}}">
|
||||
<input type="hidden" name="username" value="guest" />
|
||||
<input type="hidden" name="password" value="guest" />
|
||||
<button class="btn btn-secondary btn-block" type="submit">{{#str}}loginguest{{/str}}</button>
|
||||
</form>
|
||||
</div>
|
||||
{{/canloginasguest}}
|
||||
|
||||
{{#hasidentityproviders}}
|
||||
<h6 class="mt-2">{{#str}} potentialidps, auth {{/str}}</h6>
|
||||
<div class="potentialidplist" class="mt-3">
|
||||
{{#identityproviders}}
|
||||
<div class="potentialidp">
|
||||
<a href="{{url}}" title={{#quote}}{{name}}{{/quote}} class="btn btn-secondary btn-block">
|
||||
{{#iconurl}}
|
||||
<img src="{{iconurl}}" alt="" width="24" height="24"/>
|
||||
{{/iconurl}}
|
||||
{{name}}
|
||||
</a>
|
||||
</div>
|
||||
{{/identityproviders}}
|
||||
</div>
|
||||
{{/hasidentityproviders}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/hasidentityproviders}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{{#hasinstructions}}
|
||||
<div class="row justify-content-center mt-3">
|
||||
<div class="col-xl-6 col-sm-8">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="card-title">
|
||||
<h2>{{#str}}firsttime{{/str}}</h2>
|
||||
</div>
|
||||
<div>
|
||||
{{{instructions}}}
|
||||
{{#cansignup}}
|
||||
<form class="mt-3" action="{{signupurl}}" method="get" id="signup">
|
||||
<button type="submit" class="btn btn-secondary">{{#str}}startsignup{{/str}}</button>
|
||||
</form>
|
||||
{{/cansignup}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/hasinstructions}}
|
||||
|
||||
{{#js}}
|
||||
{{#error}}
|
||||
|
||||
@@ -40,28 +40,28 @@
|
||||
}
|
||||
}}
|
||||
|
||||
<div class="modal-container moodle-has-zindex hide" data-region="modal-container" aria-hidden="true" role="dialog">
|
||||
<div class="modal {{$classes}}{{/classes}}"
|
||||
data-region="modal"
|
||||
aria-labelledby="{{uniqid}}-modal-title"
|
||||
role="document" tabindex="0">
|
||||
<div class="modal-header {{$headerclasses}}{{headerclasses}}{{/headerclasses}}" data-region="header">
|
||||
<button type="button" class="close" data-action="hide" title="{{#str}} closebuttontitle {{/str}}"></button>
|
||||
{{$header}}
|
||||
<h3 id="{{uniqid}}-modal-title" class="modal-title" data-region="title">
|
||||
{{$title}}{{title}}{{/title}}
|
||||
</h3>
|
||||
{{/header}}
|
||||
</div>
|
||||
<div class="modal-body" data-region="body">
|
||||
{{$body}}
|
||||
{{{body}}}
|
||||
{{/body}}
|
||||
</div>
|
||||
<div class="modal-footer" data-region="footer">
|
||||
{{$footer}}
|
||||
{{{footer}}}
|
||||
{{/footer}}
|
||||
<div class="modal moodle-has-zindex" data-region="modal-container" aria-hidden="true" role="dialog">
|
||||
<div class="modal-dialog {{$classes}}{{/classes}}" role="document" data-region="modal" aria-labelledby="{{uniqid}}-modal-title" tabindex="0">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header {{$headerclasses}}{{headerclasses}}{{/headerclasses}}" data-region="header">
|
||||
|
||||
{{$header}}
|
||||
<h5 id="{{uniqid}}-modal-title" class="modal-title" data-region="title">{{$title}}{{title}}{{/title}}</h5>
|
||||
{{/header}}
|
||||
<button type="button" class="close" data-action="hide" aria-label={{#quote}}{{#str}}closebuttontitle{{/str}}{{/quote}}>
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body" data-region="body">
|
||||
{{$body}}
|
||||
{{{body}}}
|
||||
{{/body}}
|
||||
</div>
|
||||
<div class="modal-footer" data-region="footer">
|
||||
{{$footer}}
|
||||
{{{footer}}}
|
||||
{{/footer}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -33,4 +33,4 @@
|
||||
Example context (json):
|
||||
{}
|
||||
}}
|
||||
<div class="modal-backdrop hide" aria-hidden="true" data-region="modal-backdrop"></div>
|
||||
<div class="modal-backdrop in hide" aria-hidden="true" data-region="modal-backdrop"></div>
|
||||
|
||||
@@ -36,15 +36,9 @@
|
||||
Example context (json):
|
||||
{ "message": "Your pants are on fire!", "closebutton": 1, "announce": 1, "extraclasses": "foo bar"}
|
||||
}}
|
||||
<div class="alert alert-error alert-block fade in {{ extraclasses }}" {{!
|
||||
}}{{# announce }} role="alert"{{/ announce }}{{!
|
||||
<div class="alert alert-danger alert-block fade in {{ extraclasses }}" {{!
|
||||
}}{{# announce }} role="alert" data-aria-autofocus="true"{{/ announce }}{{!
|
||||
}}>
|
||||
{{# closebutton }}<button type="button" class="close" data-dismiss="alert">×</button>{{/ closebutton }}
|
||||
{{{ message }}}
|
||||
</div>
|
||||
{{# js }}
|
||||
require(['jquery', 'theme_bootstrapbase/bootstrap'], function($) {
|
||||
// Setup closing of bootstrap alerts.
|
||||
$().alert();
|
||||
});
|
||||
{{/ js }}
|
||||
|
||||
@@ -37,14 +37,9 @@
|
||||
{ "message": "Your pants are on fire!", "closebutton": 1, "announce": 1, "extraclasses": "foo bar"}
|
||||
}}
|
||||
<div class="alert alert-info alert-block fade in {{ extraclasses }}" {{!
|
||||
}}{{# announce }} role="alert"{{/ announce }}{{!
|
||||
}}{{# announce }} role="alert" data-aria-autofocus="true"{{/ announce }}{{!
|
||||
}}>
|
||||
{{# closebutton }}<button type="button" class="close" data-dismiss="alert">×</button>{{/ closebutton }}
|
||||
{{{ message }}}
|
||||
</div>
|
||||
{{# js }}
|
||||
require(['jquery', 'theme_bootstrapbase/bootstrap'], function($) {
|
||||
// Setup closing of bootstrap alerts.
|
||||
$().alert();
|
||||
});
|
||||
{{/ js }}
|
||||
|
||||
|
||||
@@ -37,14 +37,8 @@
|
||||
{ "message": "Your pants are on fire!", "closebutton": 1, "announce": 1, "extraclasses": "foo bar"}
|
||||
}}
|
||||
<div class="alert alert-success alert-block fade in {{ extraclasses }}" {{!
|
||||
}}{{# announce }} role="alert"{{/ announce }}{{!
|
||||
}}{{# announce }} role="alert" data-aria-autofocus="true"{{/ announce }}{{!
|
||||
}}>
|
||||
{{# closebutton }}<button type="button" class="close" data-dismiss="alert">×</button>{{/ closebutton }}
|
||||
{{{ message }}}
|
||||
</div>
|
||||
{{# js }}
|
||||
require(['jquery', 'theme_bootstrapbase/bootstrap'], function($) {
|
||||
// Setup closing of bootstrap alerts.
|
||||
$().alert();
|
||||
});
|
||||
{{/ js }}
|
||||
|
||||
@@ -37,14 +37,8 @@
|
||||
{ "message": "Your pants are on fire!", "closebutton": 1, "announce": 1, "extraclasses": "foo bar"}
|
||||
}}
|
||||
<div class="alert alert-warning alert-block fade in {{ extraclasses }}" {{!
|
||||
}}{{# announce }} role="alert"{{/ announce }}{{!
|
||||
}}{{# announce }} role="alert" data-aria-autofocus="true"{{/ announce }}{{!
|
||||
}}>
|
||||
{{# closebutton }}<button type="button" class="close" data-dismiss="alert">×</button>{{/ closebutton }}
|
||||
{{{ message }}}
|
||||
</div>
|
||||
{{# js }}
|
||||
require(['jquery', 'theme_bootstrapbase/bootstrap'], function($) {
|
||||
// Setup closing of bootstrap alerts.
|
||||
$().alert();
|
||||
});
|
||||
{{/ js }}
|
||||
|
||||
@@ -25,12 +25,12 @@
|
||||
"width": "500"
|
||||
}
|
||||
}}
|
||||
<div class="progressbar_container" style="width: {{width}}px;" id="{{id}}">
|
||||
<h2 id="{{id}}_status"></h2>
|
||||
<div class="progress progress-striped active">
|
||||
<div id="{{id}}_bar" class="bar" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"> </div>
|
||||
<div id="{{id}}" class="row progressbar_container">
|
||||
<div class="col-md-6 push-md-3">
|
||||
<p id="{{id}}_status" class="text-xs-center"></p>
|
||||
<progress id="{{id}}_bar" class="progress progress-striped progress-animated" value="0" max="100"></progress>
|
||||
<p id="{{id}}_estimate" class="text-xs-center"></p>
|
||||
</div>
|
||||
<p id="{{id}}_estimate"></p>
|
||||
</div>
|
||||
|
||||
{{! We must not use the JS helper otherwise this gets executed too late. }}
|
||||
@@ -47,20 +47,18 @@
|
||||
estimate = e.detail.estimate;
|
||||
|
||||
statusIndicator.textContent = msg;
|
||||
progressBar.textContent = '' + percent + '%';
|
||||
progressBar.setAttribute('value', Math.round(percent));
|
||||
if (percent === 100) {
|
||||
el.classList.add('progress-success');
|
||||
estimateIndicator.textContent = '';
|
||||
progressBar.classList.add('progress-success');
|
||||
estimateIndicator.textContent = '100%';
|
||||
} else {
|
||||
if (estimate) {
|
||||
estimateIndicator.textContent = estimate;
|
||||
estimateIndicator.textContent = estimate + ' - ' + percent + '%';
|
||||
} else {
|
||||
estimateIndicator.textContent = '';
|
||||
estimateIndicator.textContent = '' + percent + '%';
|
||||
}
|
||||
el.classList.remove('progress-success');
|
||||
progressBar.classList.remove('progress-success');
|
||||
}
|
||||
progressBar.setAttribute('aria-valuenow', percent);
|
||||
progressBar.setAttribute('style', 'width: ' + percent + '%');
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
|
||||
@@ -30,8 +30,8 @@
|
||||
]
|
||||
}
|
||||
}}
|
||||
<label for="{{id}}" class="accesshide">{{label}}</label>
|
||||
<select name="{{name}}" id="{{id}}"{{#attributes}} {{name}}="{{value}}"{{/attributes}}>
|
||||
<label for="{{id}}" class="sr-only">{{label}}</label>
|
||||
<select name="{{name}}" id="{{id}}"{{#attributes}} {{name}}="{{value}}"{{/attributes}} class="form-control">
|
||||
{{#options}}
|
||||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
||||
{{/options}}
|
||||
|
||||
@@ -39,105 +39,107 @@
|
||||
|
||||
<ul class="nav nav-tabs" role="tablist">
|
||||
<!-- First the top most node and immediate children -->
|
||||
<li class="active"> <a href="#link{{node.key}}" data-toggle="tab" role="tab">{{node.text}}</a> </li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" href="#link{{node.key}}" data-toggle="tab" role="tab">{{node.text}}</a>
|
||||
</li>
|
||||
<!-- Now the first level children with sub nodes -->
|
||||
{{#node.children}}
|
||||
{{#children.count}}
|
||||
{{#display}}
|
||||
{{^is_short_branch}}
|
||||
<li> <a href="#link{{key}}" data-toggle="tab" role="tab">{{text}}</a> </li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#link{{key}}" data-toggle="tab" role="tab">{{text}}</a>
|
||||
</li>
|
||||
{{/is_short_branch}}
|
||||
{{/display}}
|
||||
{{/children.count}}
|
||||
{{/node.children}}
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-content mt-3">
|
||||
<div class="tab-pane active" id="link{{node.key}}" role="tabpanel">
|
||||
<div class="well">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="span9 offset3">
|
||||
<ul class="unstyled indented-list">
|
||||
{{#node.children}}
|
||||
{{^children.count}}
|
||||
{{#display}}
|
||||
<li><a href="{{{action}}}">{{text}}</a></li>
|
||||
{{/display}}
|
||||
{{/children.count}}
|
||||
{{/node.children}}
|
||||
</ul>
|
||||
</div>
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
</div>
|
||||
<div class="col">
|
||||
<ul class="list-unstyled">
|
||||
{{#node.children}}
|
||||
{{^children.count}}
|
||||
{{#display}}
|
||||
<li><a href="{{{action}}}">{{text}}</a></li>
|
||||
{{/display}}
|
||||
{{/children.count}}
|
||||
{{/node.children}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{#node.children}}
|
||||
{{#display}}
|
||||
{{#children.count}}
|
||||
{{#is_short_branch}}
|
||||
{{#node.children}}
|
||||
{{#display}}
|
||||
{{#children.count}}
|
||||
{{#is_short_branch}}
|
||||
<hr>
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
{{#action}}<h4><a href="{{action}}">{{text}}</a><h4>{{/action}}
|
||||
{{^action}}<h4>{{text}}<h4>{{/action}}
|
||||
</div>
|
||||
<div class="col">
|
||||
<ul class="list-unstyled">
|
||||
{{#children}}
|
||||
{{> core/settings_link_page_single }}
|
||||
{{/children}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{{/is_short_branch}}
|
||||
{{/children.count}}
|
||||
{{/display}}
|
||||
{{/node.children}}
|
||||
</div>
|
||||
</div>
|
||||
{{#node.children}}
|
||||
{{#children.count}}
|
||||
<div class="tab-pane" id="link{{key}}" role="tabpanel">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
{{#action}}<h4><a href="{{action}}">{{text}}</a><h4>{{/action}}
|
||||
{{^action}}<h4>{{text}}<h4>{{/action}}
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<ul class="list-unstyled">
|
||||
{{#children}}
|
||||
{{#display}}
|
||||
{{^children.count}}
|
||||
<li><a href="{{{action}}}">{{text}}</a></li>
|
||||
{{/children.count}}
|
||||
{{/display}}
|
||||
{{/children}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{{#children}}
|
||||
{{#display}}
|
||||
{{#children.count}}
|
||||
<hr>
|
||||
<div class="row">
|
||||
<div class="span3">
|
||||
<div class="col-sm-3">
|
||||
{{#action}}<h4><a href="{{action}}">{{text}}</a><h4>{{/action}}
|
||||
{{^action}}<h4>{{text}}<h4>{{/action}}
|
||||
</div>
|
||||
<div class="span9">
|
||||
<ul class="unstyled indented-list">
|
||||
<div class="col-sm-9">
|
||||
<ul class="list-unstyled">
|
||||
{{#children}}
|
||||
{{> core/settings_link_page_single }}
|
||||
{{/children}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{{/is_short_branch}}
|
||||
{{/children.count}}
|
||||
{{/display}}
|
||||
{{/node.children}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{#node.children}}
|
||||
{{#children.count}}
|
||||
<div class="tab-pane" id="link{{key}}" role="tabpanel">
|
||||
<div class="well">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="span3">
|
||||
{{#action}}<h4><a href="{{action}}">{{text}}</a><h4>{{/action}}
|
||||
{{^action}}<h4>{{text}}<h4>{{/action}}
|
||||
</div>
|
||||
<div class="span9">
|
||||
<ul class="unstyled">
|
||||
{{#children}}
|
||||
{{#display}}
|
||||
{{^children.count}}
|
||||
<li><a href="{{{action}}}">{{text}}</a></li>
|
||||
{{/children.count}}
|
||||
{{/display}}
|
||||
{{/children}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{{#children}}
|
||||
{{#display}}
|
||||
{{#children.count}}
|
||||
<hr>
|
||||
<div class="row">
|
||||
<div class="span3">
|
||||
{{#action}}<h4><a href="{{action}}">{{text}}</a><h4>{{/action}}
|
||||
{{^action}}<h4>{{text}}<h4>{{/action}}
|
||||
</div>
|
||||
<div class="span9">
|
||||
<ul class="unstyled indented-list">
|
||||
{{#children}}
|
||||
{{> core/settings_link_page_single }}
|
||||
{{/children}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{{/children.count}}
|
||||
{{/display}}
|
||||
{{/children}}
|
||||
</div>
|
||||
{{/children.count}}
|
||||
{{/display}}
|
||||
{{/children}}
|
||||
</div>
|
||||
</div>
|
||||
{{/children.count}}
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
{{/action}}
|
||||
{{#children.count}}
|
||||
<li>
|
||||
<ul class="unstyled indented-list">
|
||||
<ul class="list-unstyled ml-2">
|
||||
{{#children}}
|
||||
{{> core/settings_link_page_single }}
|
||||
{{/children}}
|
||||
|
||||
@@ -3,8 +3,31 @@
|
||||
|
||||
Example context (json):
|
||||
{
|
||||
"logourl": "https://moodle.org/logo/moodle-logo.svg",
|
||||
"sitename": "Site name",
|
||||
"formhtml": "<p>(Form html would go here)</p>"
|
||||
}
|
||||
}}
|
||||
<h3>{{#str}}newaccount{{/str}}</h3>
|
||||
{{{formhtml}}}
|
||||
<div class="container-fluid mt-1 mt-md-5">
|
||||
<div class="row justify-content-md-center">
|
||||
<div class="col-md-8 col-xl-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="card-title text-xs-center">
|
||||
{{#logourl}}
|
||||
<h2><img src="{{logourl}}" title="{{sitename}}" alt="{{sitename}}"/></h2>
|
||||
{{/logourl}}
|
||||
{{^logourl}}
|
||||
<h2>{{sitename}}</h2>
|
||||
{{/logourl}}
|
||||
<hr>
|
||||
</div>
|
||||
<div class="card-title">
|
||||
<h3>{{#str}}newaccount{{/str}}</h3>
|
||||
</div>
|
||||
{{{formhtml}}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
{{#params}}
|
||||
<input type="hidden" name="{{name}}" value="{{value}}">
|
||||
{{/params}}
|
||||
<button type="submit" class="btn {{#primary}}btn-primary{{/primary}}{{^primary}}btn-default{{/primary}}"
|
||||
<button type="submit" class="btn {{#primary}}btn-primary{{/primary}}{{^primary}}btn-secondary{{/primary}}"
|
||||
id="{{id}}"
|
||||
title={{#quote}}{{tooltip}}{{/quote}}
|
||||
{{#disabled}}disabled{{/disabled}}>{{label}}</button>
|
||||
|
||||
@@ -9,13 +9,8 @@
|
||||
]
|
||||
}
|
||||
}}
|
||||
<div class="skiplinks">
|
||||
<div>
|
||||
{{#links}}
|
||||
<a href="#{{{url}}}" class="skip">{{{text}}}</a>
|
||||
<a class="sr-only sr-only-focusable" href="#{{{url}}}">{{{text}}}</a>
|
||||
{{/links}}
|
||||
</div>
|
||||
{{#js}}
|
||||
require(['core/yui'], function(Y) {
|
||||
M.util.init_skiplink(Y);
|
||||
});
|
||||
{{/js}}
|
||||
</div>
|
||||
@@ -1,120 +0,0 @@
|
||||
{{!
|
||||
This file is part of Moodle - http://moodle.org/
|
||||
|
||||
Moodle is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Moodle is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
}}
|
||||
{{!
|
||||
@template core/action_menu_trigger
|
||||
|
||||
Action menu trigger.
|
||||
|
||||
Example context (json):
|
||||
{
|
||||
"text": "Example link text",
|
||||
"title": "Example link title",
|
||||
"url": "http://example.com/link",
|
||||
"classes": "icon menu-action",
|
||||
"instance": "1",
|
||||
"triggerextraclasses": "",
|
||||
"attributes": [
|
||||
{"name": "role", "value": "menuitem" },
|
||||
{"name": "data-title", "value": "mymoodle,admin" }
|
||||
],
|
||||
"secondary": {
|
||||
"classes": "menu align-tr-br",
|
||||
"attributes": [
|
||||
{"name": "id", "value": "action-menu-0-menu"},
|
||||
{"name": "data-rel", "value": "menu-content"},
|
||||
{"name": "role", "value": "menu"},
|
||||
{"name": "data-align", "value": "tr-br"}
|
||||
],
|
||||
"items": [
|
||||
{"actionmenulink":
|
||||
{
|
||||
"id": "action_link59ecf8394a68078",
|
||||
"disabled": false,
|
||||
"text": "Dashboard",
|
||||
"url": "http://example.com/link",
|
||||
"icon": {
|
||||
"key": "i/dashboard",
|
||||
"component": null,
|
||||
"title": "Dashboard"
|
||||
},
|
||||
"classes": "icon menu-action",
|
||||
"attributes": [
|
||||
{"name": "role", "value": "menuitem"},
|
||||
{"name": "data-title", "value": "mymoodle,admin"}
|
||||
],
|
||||
"instance": 1,
|
||||
"showtext": true
|
||||
}
|
||||
},
|
||||
{"actionmenufiller":
|
||||
{
|
||||
"id": "action_link59ecf8394a68079",
|
||||
"disabled": false,
|
||||
"text": "",
|
||||
"url": "",
|
||||
"icon": null,
|
||||
"classes": "",
|
||||
"attributes": [
|
||||
{"name": "role", "value": "menuitem"}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}}
|
||||
<div class="dropdown">
|
||||
<a href="#" tabindex="0" class="{{triggerextraclasses}} dropdown-toggle icon-no-margin" id="dropdown-{{instance}}" aria-label="{{title}}" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false" aria-controls="action-menu-{{instance}}-menu">
|
||||
{{{actiontext}}}
|
||||
{{{menutrigger}}}
|
||||
{{#icon}}
|
||||
{{#pix}}
|
||||
{{key}},{{component}},{{title}}
|
||||
{{/pix}}
|
||||
{{/icon}}
|
||||
{{#rawicon}}{{{.}}}{{/rawicon}}
|
||||
{{#menutrigger}}
|
||||
<b class="caret"></b>
|
||||
{{/menutrigger}}
|
||||
</a>
|
||||
{{#secondary}}
|
||||
<div class="dropdown-menu dropdown-menu-right {{classes}}"{{#attributes}} {{name}}="{{value}}"{{/attributes}} id="dropdown-menu-{{instance}}">
|
||||
{{#items}}
|
||||
{{#actionmenulink}}
|
||||
<a href="{{url}}" class="dropdown-item {{classes}}" {{#attributes}}{{name}}={{#quote}}{{value}}{{/quote}} {{/attributes}}{{#showtext}}aria-labelledby="actionmenuaction-{{instance}}"{{/showtext}}>
|
||||
{{#icon}}
|
||||
{{#pix}}{{key}},{{component}},{{title}}{{/pix}}
|
||||
{{/icon}}
|
||||
{{#showtext}}
|
||||
<span class="menu-action-text" id="actionmenuaction-{{instance}}">
|
||||
{{{text}}}
|
||||
</span>
|
||||
{{/showtext}}
|
||||
</a>
|
||||
{{/actionmenulink}}
|
||||
{{#actionmenufiller}}
|
||||
<div class="dropdown-divider" role="presentation"><span class="filler"> </span></div>
|
||||
{{/actionmenufiller}}
|
||||
{{^actionmenulink}}
|
||||
{{^actionmenufiller}}
|
||||
<div class="dropdown-item">{{> core/action_menu_item }}</div>
|
||||
{{/actionmenufiller}}
|
||||
{{/actionmenulink}}
|
||||
{{/items}}
|
||||
</div>
|
||||
{{/secondary}}
|
||||
</div>
|
||||
@@ -1,58 +0,0 @@
|
||||
{{!
|
||||
This file is part of Moodle - http://moodle.org/
|
||||
|
||||
Moodle is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Moodle is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
}}
|
||||
{{!
|
||||
@template core_auth/output/digital_minor_page
|
||||
|
||||
Example context (json):
|
||||
{
|
||||
"logourl": "https://moodle.org/logo/moodle-logo.svg",
|
||||
"sitename": "Site name",
|
||||
"supportname": "John Doe",
|
||||
"supportemail": "[email protected]",
|
||||
"homelink": "/"
|
||||
}
|
||||
}}
|
||||
<div class="container-fluid mt-1 mt-md-5">
|
||||
<div class="row justify-content-md-center">
|
||||
<div class="col-md-8 push-md-2 col-xl-6 push-xl-3">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="card-title text-xs-center">
|
||||
{{#logourl}}
|
||||
<h2><img src="{{logourl}}" title="{{sitename}}" alt="{{sitename}}"/></h2>
|
||||
{{/logourl}}
|
||||
{{^logourl}}
|
||||
<h2>{{sitename}}</h2>
|
||||
{{/logourl}}
|
||||
<hr>
|
||||
</div>
|
||||
<div class="card-title">
|
||||
<h3>{{#str}}considereddigitalminor{{/str}}</h3>
|
||||
</div>
|
||||
<div class="p-t-1 p-b-2">
|
||||
<p>{{#str}}digitalminor_desc{{/str}}</p>
|
||||
<p class="m-b-0">{{{supportname}}}</p>
|
||||
<p class="m-b-0">{{{supportemail}}}</p>
|
||||
</div>
|
||||
<div class="backlink">
|
||||
<a href="{{homelink}}">{{#str}}backtohome{{/str}}</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,64 +0,0 @@
|
||||
{{!
|
||||
This file is part of Moodle - http://moodle.org/
|
||||
|
||||
Moodle is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Moodle is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
}}
|
||||
{{!
|
||||
@template core_auth/output/verify_age_location_page
|
||||
|
||||
Example context (json):
|
||||
{
|
||||
"logourl": "https://moodle.org/logo/moodle-logo.svg",
|
||||
"sitename": "Site name",
|
||||
"error": "Error message",
|
||||
"formhtml": "(Form html would go here)"
|
||||
}
|
||||
}}
|
||||
<div class="container-fluid mt-1 mt-md-5">
|
||||
<div class="row justify-content-md-center">
|
||||
<div class="col-md-8 push-md-2 col-xl-6 push-xl-3">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="card-title text-xs-center">
|
||||
{{#logourl}}
|
||||
<h2><img src="{{logourl}}" title="{{sitename}}" alt="{{sitename}}"/></h2>
|
||||
{{/logourl}}
|
||||
{{^logourl}}
|
||||
<h2>{{sitename}}</h2>
|
||||
{{/logourl}}
|
||||
<hr>
|
||||
</div>
|
||||
{{#error}}
|
||||
<div class="alert alert-danger" role="alert" data-aria-autofocus="true">
|
||||
{{{error}}}
|
||||
</div>
|
||||
{{/error}}
|
||||
<div class="card-title">
|
||||
<h3>{{#str}}agelocationverification{{/str}}</h3>
|
||||
</div>
|
||||
<div class="m-t-2 m-b-2">
|
||||
{{{formhtml}}}
|
||||
</div>
|
||||
<hr>
|
||||
<div class="card-title">
|
||||
<h3>{{#str}}whyisthisrequired{{/str}}</h3>
|
||||
</div>
|
||||
<div class="m-t-1">
|
||||
<p >{{#str}}explanationdigitalminor{{/str}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,61 +0,0 @@
|
||||
{{!
|
||||
This file is part of Moodle - http://moodle.org/
|
||||
|
||||
Moodle is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Moodle is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
}}
|
||||
{{!
|
||||
@template core/availability_info
|
||||
|
||||
Renders the availability info on the course outline page.
|
||||
|
||||
Availability info can be displayed for activity modules or whole course
|
||||
sections. Activity modules can be either hidden from students, or available
|
||||
but not shown on course page (stealth), or the access can be restricted by
|
||||
configured conditions. Sections can be hidden.
|
||||
|
||||
Classes required for JS:
|
||||
* none
|
||||
|
||||
Data attributes required for JS:
|
||||
* none
|
||||
|
||||
Context variables required for this template:
|
||||
* classes String list of CSS classes for the wrapping element
|
||||
* text HTML formatted text with the actual availability information
|
||||
* ishidden Boolean flag indiciating that the item is hidden from students
|
||||
* isstealth Boolean flag indicating that the item is in stealth mode
|
||||
* isrestricted Boolean flag indicating that restricted access conditions apply
|
||||
* isfullinfo Boolean flag indicating that the full list of restricted
|
||||
access conditions is displayed (aka teacher's view).
|
||||
|
||||
Example context (json):
|
||||
{
|
||||
"classes": "",
|
||||
"text": "Not available unless: <ul><li>It is on or after <strong>8 June 2012</strong></li></ul>",
|
||||
"ishidden": 0,
|
||||
"isstealth": 0,
|
||||
"isrestricted": 1,
|
||||
"isfullinfo": 1
|
||||
}
|
||||
}}
|
||||
{{#text}}
|
||||
<div class="availabilityinfo {{classes}}">
|
||||
{{^isrestricted}}
|
||||
<span class="tag tag-info">{{{text}}}</span>
|
||||
{{/isrestricted}}
|
||||
{{#isrestricted}}
|
||||
<span class="tag tag-info">{{#str}}restricted, core{{/str}}</span> {{{text}}}
|
||||
{{/isrestricted}}
|
||||
</div>
|
||||
{{/text}}
|
||||
@@ -1,25 +0,0 @@
|
||||
{{!
|
||||
@template core/help_icon
|
||||
|
||||
Help icon.
|
||||
|
||||
Example context (json):
|
||||
{
|
||||
"title": "Help with something",
|
||||
"url": "http://example.org/help",
|
||||
"linktext": "",
|
||||
"icon":{
|
||||
"attributes": [
|
||||
{"name": "class", "value": "iconhelp"},
|
||||
{"name": "src", "value": "../../../pix/help.svg"},
|
||||
{"name": "alt", "value": "Help icon"}
|
||||
]
|
||||
}
|
||||
}
|
||||
}}
|
||||
<a class="btn btn-link p-0" role="button"
|
||||
data-container="body" data-toggle="popover"
|
||||
data-placement="{{#ltr}}right{{/ltr}}{{^ltr}}left{{/ltr}}" data-content="{{text}} {{completedoclink}}"
|
||||
data-html="true" tabindex="0" data-trigger="focus">
|
||||
{{#pix}}help, core, {{{alt}}}{{/pix}}
|
||||
</a>
|
||||
@@ -1,244 +0,0 @@
|
||||
{{!
|
||||
This file is part of Moodle - http://moodle.org/
|
||||
|
||||
Moodle is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Moodle is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
}}
|
||||
{{!
|
||||
@template core/loginform
|
||||
|
||||
Moodle template for the login page.
|
||||
|
||||
Context variables required for this template:
|
||||
* autofocusform: Auto focus on form ?,
|
||||
* canloginasguest - Is guest login allowed?,
|
||||
* canloginbyemail - Is login by email allowed?,
|
||||
* cansignup - Signup allowed?,
|
||||
* cookieshelpicon - cookies help icon details
|
||||
* error - Any errors in the form?,
|
||||
* forgotpasswordurl - Forgot password url,
|
||||
* hasidentityproviders - Flag, set to true to hide identity providers,
|
||||
* hasinstructions - Flag, set to true to show instructions,
|
||||
* identityproviders - List of identiy providers,
|
||||
* instructions - Instructions,
|
||||
* instructionsformat - Format of instructions,
|
||||
* loginurl - Login url,
|
||||
* rememberusername - Remeber username?,
|
||||
* signupurl - Signup url,
|
||||
* cookieshelpiconformatted - Formatted html of cookies help icon,
|
||||
* errorformatted - Formatted error,
|
||||
* logourl - Flag, logo url,
|
||||
* sitename - Name of site.
|
||||
* logintoken - Random token to protect login request.
|
||||
|
||||
Example context (json):
|
||||
{
|
||||
"autofocusform": false,
|
||||
"canloginasguest": "1",
|
||||
"canloginbyemail": false,
|
||||
"cansignup": true,
|
||||
"cookieshelpicon": {
|
||||
"heading": "Cookies must be enabled in your browser",
|
||||
"text": "<div class=\"no-overflow\">Two cookies are used on this site. Both died..</div>",
|
||||
"icon": {
|
||||
"attributes": [
|
||||
{
|
||||
"name": "class",
|
||||
"value": "iconhelp"
|
||||
},
|
||||
{
|
||||
"name": "alt",
|
||||
"value": "Help with Cookies must be enabled in your browser"
|
||||
},
|
||||
{
|
||||
"name": "title",
|
||||
"value": "Help with Cookies must be enabled in your browser"
|
||||
},
|
||||
{
|
||||
"name": "src",
|
||||
"value": "http://localhost/stable_master/theme/image.php?theme=boost&component=core&image=help"
|
||||
}
|
||||
]
|
||||
},
|
||||
"linktext": null,
|
||||
"title": "Help with Cookies must be enabled in your browser",
|
||||
"url": "http://localhost/stable_master/help.php?component=core&identifier=cookiesenabled&lang=en",
|
||||
"ltr": true
|
||||
},
|
||||
"error": "",
|
||||
"forgotpasswordurl": "http://localhost/stable_master/login/forgot_password.php",
|
||||
"hasidentityproviders": false,
|
||||
"hasinstructions": true,
|
||||
"identityproviders": [],
|
||||
"instructions": "For full access to this site, you first need to create an account.",
|
||||
"instructionsformat": "1",
|
||||
"loginurl": "http://localhost/stable_master/login/index.php",
|
||||
"rememberusername": true,
|
||||
"signupurl": "http://localhost/stable_master/login/signup.php",
|
||||
"cookieshelpiconformatted": "",
|
||||
"errorformatted": "",
|
||||
"logourl": false,
|
||||
"sitename": "Beer & Chips",
|
||||
"logintoken": "randomstring"
|
||||
}
|
||||
}}
|
||||
|
||||
<div class="my-1 my-sm-5"></div>
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-xl-6 col-sm-8 ">
|
||||
<div class="card">
|
||||
<div class="card-block">
|
||||
{{#logourl}}
|
||||
<h2 class="card-header text-center" ><img src="{{logourl}}" title="{{sitename}}" alt="{{sitename}}"/></h2>
|
||||
{{/logourl}}
|
||||
{{^logourl}}
|
||||
<h2 class="card-header text-center">{{sitename}}</h2>
|
||||
{{/logourl}}
|
||||
<div class="card-body">
|
||||
{{#cansignup}}
|
||||
<div class="sr-only">
|
||||
<a href="{{signupurl}}">{{#str}} tocreatenewaccount {{/str}}</a>
|
||||
</div>
|
||||
{{/cansignup}}
|
||||
|
||||
{{#error}}
|
||||
<div class="loginerrors mt-3">
|
||||
<a href="#" id="loginerrormessage" class="accesshide">{{error}}</a>
|
||||
<div class="alert alert-danger" role="alert" data-aria-autofocus="true">{{error}}</div>
|
||||
</div>
|
||||
{{/error}}
|
||||
|
||||
<div class="row justify-content-md-center">
|
||||
<div class="col-md-5">
|
||||
<form class="mt-3" action="{{loginurl}}" method="post" id="login">
|
||||
<input id="anchor" type="hidden" name="anchor" value="">
|
||||
<script>document.getElementById('anchor').value = location.hash;</script>
|
||||
<input type="hidden" name="logintoken" value="{{logintoken}}">
|
||||
<div class="form-group">
|
||||
<label for="username" class="sr-only">
|
||||
{{^canloginbyemail}}
|
||||
{{#str}} username {{/str}}
|
||||
{{/canloginbyemail}}
|
||||
{{#canloginbyemail}}
|
||||
{{#str}} usernameemail {{/str}}
|
||||
{{/canloginbyemail}}
|
||||
</label>
|
||||
<input type="text" name="username" id="username"
|
||||
class="form-control"
|
||||
value="{{username}}"
|
||||
placeholder={{#quote}}{{^canloginbyemail}}{{#str}}username{{/str}}{{/canloginbyemail}}{{#canloginbyemail}}{{#str}}usernameemail{{/str}}{{/canloginbyemail}}{{/quote}}
|
||||
autocomplete="username">
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="password" class="sr-only">{{#str}} password {{/str}}</label>
|
||||
<input type="password" name="password" id="password" value=""
|
||||
class="form-control"
|
||||
placeholder={{#quote}}{{#str}}password{{/str}}{{/quote}}
|
||||
autocomplete="current-password">
|
||||
</div>
|
||||
{{#rememberusername}}
|
||||
<div class="rememberpass mt-3">
|
||||
<input type="checkbox" name="rememberusername" id="rememberusername" value="1" {{#username}}checked="checked"{{/username}} />
|
||||
<label for="rememberusername">{{#str}} rememberusername, admin {{/str}}</label>
|
||||
</div>
|
||||
{{/rememberusername}}
|
||||
|
||||
<button type="submit" class="btn btn-primary btn-block mt-3" id="loginbtn">{{#str}}login{{/str}}</button>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="col-md-5">
|
||||
<div class="forgetpass mt-3">
|
||||
<p><a href="{{forgotpasswordurl}}">{{#str}}forgotten{{/str}}</a></p>
|
||||
</div>
|
||||
|
||||
<div class="mt-3">
|
||||
{{#str}} cookiesenabled {{/str}}
|
||||
{{{cookieshelpiconformatted}}}
|
||||
</div>
|
||||
{{#canloginasguest}}
|
||||
<div class="mt-2">
|
||||
<p>{{#str}}someallowguest{{/str}}</p>
|
||||
<form action="{{loginurl}}" method="post" id="guestlogin">
|
||||
<input type="hidden" name="logintoken" value="{{logintoken}}">
|
||||
<input type="hidden" name="username" value="guest" />
|
||||
<input type="hidden" name="password" value="guest" />
|
||||
<button class="btn btn-secondary btn-block" type="submit">{{#str}}loginguest{{/str}}</button>
|
||||
</form>
|
||||
</div>
|
||||
{{/canloginasguest}}
|
||||
|
||||
{{#hasidentityproviders}}
|
||||
<h6 class="mt-2">{{#str}} potentialidps, auth {{/str}}</h6>
|
||||
<div class="potentialidplist" class="mt-3">
|
||||
{{#identityproviders}}
|
||||
<div class="potentialidp">
|
||||
<a href="{{url}}" title={{#quote}}{{name}}{{/quote}} class="btn btn-secondary btn-block">
|
||||
{{#iconurl}}
|
||||
<img src="{{iconurl}}" alt="" width="24" height="24"/>
|
||||
{{/iconurl}}
|
||||
{{name}}
|
||||
</a>
|
||||
</div>
|
||||
{{/identityproviders}}
|
||||
</div>
|
||||
{{/hasidentityproviders}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{{#hasinstructions}}
|
||||
<div class="row justify-content-center mt-3">
|
||||
<div class="col-xl-6 col-sm-8">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="card-title">
|
||||
<h2>{{#str}}firsttime{{/str}}</h2>
|
||||
</div>
|
||||
<div>
|
||||
{{{instructions}}}
|
||||
{{#cansignup}}
|
||||
<form class="mt-3" action="{{signupurl}}" method="get" id="signup">
|
||||
<button type="submit" class="btn btn-secondary">{{#str}}startsignup{{/str}}</button>
|
||||
</form>
|
||||
{{/cansignup}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/hasinstructions}}
|
||||
|
||||
{{#js}}
|
||||
{{#error}}
|
||||
require(['jquery'], function($) {
|
||||
$('#loginerrormessage').focus();
|
||||
});
|
||||
{{/error}}
|
||||
{{^error}}
|
||||
{{#autofocusform}}
|
||||
require(['jquery'], function($) {
|
||||
if ($('#username').val()) {
|
||||
$('#password').focus();
|
||||
} else {
|
||||
$('#username').focus();
|
||||
}
|
||||
});
|
||||
{{/autofocusform}}
|
||||
{{/error}}
|
||||
{{/js}}
|
||||
@@ -1,147 +0,0 @@
|
||||
{{!
|
||||
This file is part of Moodle - http://moodle.org/
|
||||
|
||||
Moodle is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Moodle is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
}}
|
||||
{{!
|
||||
@template core/settings_link_page
|
||||
|
||||
Displays the admin tree as a list of grouped links.
|
||||
|
||||
Example context (json):
|
||||
{
|
||||
"node": {
|
||||
"text": "Root of menu",
|
||||
"key": "test0",
|
||||
"display": true,
|
||||
"children": [
|
||||
{
|
||||
"text": "Child of menu",
|
||||
"key": "test1",
|
||||
"display": true,
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}}
|
||||
|
||||
<ul class="nav nav-tabs" role="tablist">
|
||||
<!-- First the top most node and immediate children -->
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" href="#link{{node.key}}" data-toggle="tab" role="tab">{{node.text}}</a>
|
||||
</li>
|
||||
<!-- Now the first level children with sub nodes -->
|
||||
{{#node.children}}
|
||||
{{#children.count}}
|
||||
{{#display}}
|
||||
{{^is_short_branch}}
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="#link{{key}}" data-toggle="tab" role="tab">{{text}}</a>
|
||||
</li>
|
||||
{{/is_short_branch}}
|
||||
{{/display}}
|
||||
{{/children.count}}
|
||||
{{/node.children}}
|
||||
</ul>
|
||||
|
||||
<div class="tab-content mt-3">
|
||||
<div class="tab-pane active" id="link{{node.key}}" role="tabpanel">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
</div>
|
||||
<div class="col">
|
||||
<ul class="list-unstyled">
|
||||
{{#node.children}}
|
||||
{{^children.count}}
|
||||
{{#display}}
|
||||
<li><a href="{{{action}}}">{{text}}</a></li>
|
||||
{{/display}}
|
||||
{{/children.count}}
|
||||
{{/node.children}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{#node.children}}
|
||||
{{#display}}
|
||||
{{#children.count}}
|
||||
{{#is_short_branch}}
|
||||
<hr>
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
{{#action}}<h4><a href="{{action}}">{{text}}</a><h4>{{/action}}
|
||||
{{^action}}<h4>{{text}}<h4>{{/action}}
|
||||
</div>
|
||||
<div class="col">
|
||||
<ul class="list-unstyled">
|
||||
{{#children}}
|
||||
{{> core/settings_link_page_single }}
|
||||
{{/children}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{{/is_short_branch}}
|
||||
{{/children.count}}
|
||||
{{/display}}
|
||||
{{/node.children}}
|
||||
</div>
|
||||
</div>
|
||||
{{#node.children}}
|
||||
{{#children.count}}
|
||||
<div class="tab-pane" id="link{{key}}" role="tabpanel">
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
{{#action}}<h4><a href="{{action}}">{{text}}</a><h4>{{/action}}
|
||||
{{^action}}<h4>{{text}}<h4>{{/action}}
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<ul class="list-unstyled">
|
||||
{{#children}}
|
||||
{{#display}}
|
||||
{{^children.count}}
|
||||
<li><a href="{{{action}}}">{{text}}</a></li>
|
||||
{{/children.count}}
|
||||
{{/display}}
|
||||
{{/children}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{{#children}}
|
||||
{{#display}}
|
||||
{{#children.count}}
|
||||
<hr>
|
||||
<div class="row">
|
||||
<div class="col-sm-3">
|
||||
{{#action}}<h4><a href="{{action}}">{{text}}</a><h4>{{/action}}
|
||||
{{^action}}<h4>{{text}}<h4>{{/action}}
|
||||
</div>
|
||||
<div class="col-sm-9">
|
||||
<ul class="list-unstyled">
|
||||
{{#children}}
|
||||
{{> core/settings_link_page_single }}
|
||||
{{/children}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{{/children.count}}
|
||||
{{/display}}
|
||||
{{/children}}
|
||||
</div>
|
||||
</div>
|
||||
{{/children.count}}
|
||||
{{/node.children}}
|
||||
</div>
|
||||
@@ -1,33 +0,0 @@
|
||||
{{!
|
||||
@template core/signup_form_layout
|
||||
|
||||
Example context (json):
|
||||
{
|
||||
"logourl": "https://moodle.org/logo/moodle-logo.svg",
|
||||
"sitename": "Site name",
|
||||
"formhtml": "<p>(Form html would go here)</p>"
|
||||
}
|
||||
}}
|
||||
<div class="container-fluid mt-1 mt-md-5">
|
||||
<div class="row justify-content-md-center">
|
||||
<div class="col-md-8 col-xl-6">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<div class="card-title text-xs-center">
|
||||
{{#logourl}}
|
||||
<h2><img src="{{logourl}}" title="{{sitename}}" alt="{{sitename}}"/></h2>
|
||||
{{/logourl}}
|
||||
{{^logourl}}
|
||||
<h2>{{sitename}}</h2>
|
||||
{{/logourl}}
|
||||
<hr>
|
||||
</div>
|
||||
<div class="card-title">
|
||||
<h3>{{#str}}newaccount{{/str}}</h3>
|
||||
</div>
|
||||
{{{formhtml}}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
+19
-14
@@ -30,26 +30,31 @@
|
||||
}
|
||||
}
|
||||
}}
|
||||
<div class="action-menu {{classes}} d-inline"{{#attributes}} {{name}}="{{value}}"{{/attributes}}>
|
||||
<div class="{{classes}}"{{#attributes}} {{name}}="{{value}}"{{/attributes}}>
|
||||
{{#primary}}
|
||||
|
||||
<div class="{{classes}} d-flex "{{#attributes}} {{name}}="{{value}}"{{/attributes}}>
|
||||
<ul class="{{classes}}"{{#attributes}} {{name}}="{{value}}"{{/attributes}}>
|
||||
|
||||
{{#prioritise}}{{> core/action_menu_trigger }}{{/prioritise}}
|
||||
{{#prioritise}}<li role="presentation">{{> core/action_menu_trigger }}</li>{{/prioritise}}<!--
|
||||
|
||||
{{#items}}
|
||||
<div class="action-menu-item">
|
||||
{{> core/action_menu_item }}
|
||||
</div>
|
||||
{{/items}}
|
||||
-->{{#items}}<li role="presentation">{{> core/action_menu_item }}</li>{{/items}}<!--
|
||||
|
||||
{{^prioritise}}
|
||||
<div class="action-menu-trigger">
|
||||
{{> core/action_menu_trigger }}
|
||||
</div>
|
||||
{{/prioritise}}
|
||||
-->{{^prioritise}}<li role="presentation">{{> core/action_menu_trigger }}</li>{{/prioritise}}
|
||||
|
||||
</div>
|
||||
</ul>
|
||||
|
||||
{{/primary}}
|
||||
|
||||
{{#secondary}}
|
||||
<ul class="{{classes}}"{{#attributes}} {{name}}="{{value}}"{{/attributes}}>
|
||||
{{#items}}<li role="presentation">{{> core/action_menu_item }}</li>{{/items}}
|
||||
</ul>
|
||||
{{/secondary}}
|
||||
</div>
|
||||
{{#js}}
|
||||
require(['core/yui'], function(Y) {
|
||||
Y.use('moodle-core-actionmenu', function() {
|
||||
M.core.actionmenu.init();
|
||||
});
|
||||
});
|
||||
{{/js}}
|
||||
+4
-2
@@ -23,12 +23,14 @@
|
||||
{
|
||||
"text": "Example link text",
|
||||
"showtext": true,
|
||||
"url": "http://example.com/link"
|
||||
"url": "http://example.com/link",
|
||||
"classes": "menu-action",
|
||||
"instance": "1"
|
||||
}
|
||||
}}
|
||||
{{^disabled}}
|
||||
<a href="{{url}}" class="{{classes}}" {{#attributes}}{{name}}={{#quote}}{{value}}{{/quote}} {{/attributes}}{{#showtext}}aria-labelledby="actionmenuaction-{{instance}}"{{/showtext}}>{{#icon}}{{#pix}}{{key}}, {{component}}, {{title}}{{/pix}}{{/icon}}{{#showtext}}<span class="menu-action-text" id="actionmenuaction-{{instance}}">{{{text}}}</span>{{/showtext}}</a>
|
||||
{{/disabled}}
|
||||
{{#disabled}}
|
||||
<span class="currentlink" role="menuitem">{{#icon}}{{#pix}}{{key}},{{component}},{{title}}{{/pix}}{{/icon}}{{{text}}}</span>
|
||||
<span class="currentlink" role="menuitem">{{#icon}}{{#pix}}{{key}}, {{component}}, {{title}}{{/pix}}{{/icon}}{{{text}}}</span>
|
||||
{{/disabled}}
|
||||
@@ -0,0 +1,30 @@
|
||||
{{!
|
||||
This file is part of Moodle - http://moodle.org/
|
||||
|
||||
Moodle is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Moodle is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
}}
|
||||
{{!
|
||||
@template core/action_menu_trigger
|
||||
|
||||
Action menu trigger.
|
||||
|
||||
Example context (json):
|
||||
{
|
||||
"instance": "1",
|
||||
"title": "Trigger me!",
|
||||
"menutrigger": true,
|
||||
"triggerextraclasses": ""
|
||||
}
|
||||
}}
|
||||
<a href="#" class="{{triggerextraclasses}} toggle-display {{#menutrigger}}textmenu{{/menutrigger}}" id="action-menu-toggle-{{instance}}" title="{{title}}" role="menuitem">{{{actiontext}}}{{{menutrigger}}}{{#icon}}{{#pix}}{{key}}, {{component}}, {{title}}{{/pix}}{{/icon}}{{#rawicon}}{{{.}}}{{/rawicon}}{{#menutrigger}}<b class="caret"></b>{{/menutrigger}}</a>
|
||||
@@ -0,0 +1,37 @@
|
||||
{{!
|
||||
This file is part of Moodle - http://moodle.org/
|
||||
|
||||
Moodle is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Moodle is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
}}
|
||||
{{!
|
||||
@template core_auth/output/digital_minor_page
|
||||
|
||||
Example context (json):
|
||||
{
|
||||
"logourl": "https://moodle.org/logo/moodle-logo.svg",
|
||||
"sitename": "Site name",
|
||||
"supportname": "John Doe",
|
||||
"supportemail": "[email protected]",
|
||||
"homelink": "/"
|
||||
}
|
||||
}}
|
||||
<h3>{{#str}}considereddigitalminor{{/str}}</h3>
|
||||
<p class="m-b-0">{{#str}}digitalminor_desc{{/str}}</p>
|
||||
<div class="p-t-1 p-b-1">
|
||||
<p class="m-b-0">{{{supportname}}}</p>
|
||||
<p class="m-b-0">{{{supportemail}}}</p>
|
||||
</div>
|
||||
<div class="backlink">
|
||||
<a href="{{homelink}}">{{#str}}backtohome{{/str}}</a>
|
||||
</div>
|
||||
@@ -0,0 +1,37 @@
|
||||
{{!
|
||||
This file is part of Moodle - http://moodle.org/
|
||||
|
||||
Moodle is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Moodle is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
}}
|
||||
{{!
|
||||
@template core_auth/output/verify_age_location_page
|
||||
|
||||
Example context (json):
|
||||
{
|
||||
"logourl": "https://moodle.org/logo/moodle-logo.svg",
|
||||
"sitename": "Site name",
|
||||
"error": "Error message",
|
||||
"formhtml": "(Form html would go here)"
|
||||
}
|
||||
}}
|
||||
{{#error}}
|
||||
<div class="alert alert-danger" role="alert">
|
||||
{{{error}}}
|
||||
</div>
|
||||
{{/error}}
|
||||
<h3>{{#str}}agelocationverification{{/str}}</h3>
|
||||
{{{formhtml}}}
|
||||
<hr>
|
||||
<h3>{{#str}}whyisthisrequired{{/str}}</h3>
|
||||
<p >{{#str}}explanationdigitalminor{{/str}}</p>
|
||||
+2
-2
@@ -70,8 +70,8 @@
|
||||
</div>
|
||||
|
||||
<div class="submitbuttons">
|
||||
<input type="submit" name="submitbutton" class="submitbutton btn btn-primary" value={{#quote}}{{#str}}add{{/str}}{{/quote}}>
|
||||
<input type="submit" name="addcancel" class="addcancel btn btn-secondary" value={{#quote}}{{#str}}cancel{{/str}}{{/quote}}>
|
||||
<input type="submit" name="submitbutton" class="submitbutton" value={{#quote}}{{#str}}add{{/str}}{{/quote}}>
|
||||
<input type="submit" name="addcancel" class="addcancel" value={{#quote}}{{#str}}cancel{{/str}}{{/quote}}>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
+4
-4
@@ -41,8 +41,8 @@
|
||||
}
|
||||
|
||||
}}
|
||||
<div class="row">
|
||||
<div class="col-md-4">{{$ column1 }}{{{ col1content }}}{{/ column1 }}</div>
|
||||
<div class="col-md-4">{{$ column2 }}{{{ col2content }}}{{/ column2 }}</div>
|
||||
<div class="col-md-4">{{$ column3 }}{{{ col3content }}}{{/ column3 }}</div>
|
||||
<div class="row-fluid rtl-compatible">
|
||||
<div class="span4">{{$ column1 }}{{{ col1content }}}{{/ column1 }}</div>
|
||||
<div class="span4">{{$ column2 }}{{{ col2content }}}{{/ column2 }}</div>
|
||||
<div class="span4">{{$ column3 }}{{{ col3content }}}{{/ column3 }}</div>
|
||||
</div>
|
||||
+3
-3
@@ -39,7 +39,7 @@
|
||||
}
|
||||
|
||||
}}
|
||||
<div class="row">
|
||||
<div class="col-md-4">{{$ column1 }}{{{ col1content }}}{{/ column1 }}</div>
|
||||
<div class="col-md-8">{{$ column2 }}{{{ col2content }}}{{/ column2 }}</div>
|
||||
<div class="row-fluid rtl-compatible">
|
||||
<div class="span4">{{$ column1 }}{{{ col1content }}}{{/ column1 }}</div>
|
||||
<div class="span8">{{$ column2 }}{{{ col2content }}}{{/ column2 }}</div>
|
||||
</div>
|
||||
+3
-3
@@ -38,7 +38,7 @@
|
||||
"col2content": "<div class='alert alert-success'>2. Vivamus ac orci in velit fringilla aliquam a a nisl. Cras luctus quam laoreet magna pulvinar aliquet.</div>"
|
||||
}
|
||||
}}
|
||||
<div class="row">
|
||||
<div class="col-md-8">{{$ column1 }}{{{ col1content }}}{{/ column1 }}</div>
|
||||
<div class="col-md-4">{{$ column2 }}{{{ col2content }}}{{/ column2 }}</div>
|
||||
<div class="row-fluid rtl-compatible">
|
||||
<div class="span8">{{$ column1 }}{{{ col1content }}}{{/ column1 }}</div>
|
||||
<div class="span4">{{$ column2 }}{{{ col2content }}}{{/ column2 }}</div>
|
||||
</div>
|
||||
+12
-12
@@ -17,6 +17,8 @@
|
||||
{{!
|
||||
@template core/dataformat_selector
|
||||
|
||||
Template for dataformat selection and download form.
|
||||
|
||||
Context variables required for this template:
|
||||
* label
|
||||
* base
|
||||
@@ -30,26 +32,24 @@
|
||||
{
|
||||
"base": "http://example.org/",
|
||||
"name": "test",
|
||||
"value": "test",
|
||||
"label": "Download table data as",
|
||||
"params": false,
|
||||
"options": [{"label": "CSV", "name": "csv"}, {"label": "Excel", "name": "excel"}],
|
||||
"submit": "Download",
|
||||
"sesskey": ""
|
||||
"submit": "Download"
|
||||
}
|
||||
}}
|
||||
<form method="get" action="{{base}}" class="dataformatselector m-1">
|
||||
<div class="form-inline text-xs-right">
|
||||
<form method="get" action="{{base}}" class="dataformatselector">
|
||||
<div class="mdl-align">
|
||||
<input type="hidden" name="sesskey" value="{{sesskey}}">
|
||||
<label for="downloadtype_{{name}}" class="mr-1">{{label}}</label>
|
||||
<select name="{{name}}" id="downloadtype_{{name}}" class="form-control">
|
||||
{{#options}}
|
||||
<option value="{{value}}">{{label}}</option>
|
||||
{{/options}}
|
||||
<label for="downloadtype_{{name}}">{{label}}</label>
|
||||
<select name="{{name}}" id="downloadtype_{{name}}">
|
||||
{{#options}}
|
||||
<option value="{{value}}">{{label}}</option>
|
||||
{{/options}}
|
||||
</select>
|
||||
<button type="submit" class="btn btn-secondary">{{submit}}</button>
|
||||
<input type="submit" value="{{submit}}">
|
||||
{{#params}}
|
||||
<input type="hidden" name="{{name}}" value="{{value}}">
|
||||
<input type="hidden" name="{{name}}" value="{{value}}" />
|
||||
{{/params}}
|
||||
</div>
|
||||
</form>
|
||||
+1
-1
@@ -36,7 +36,7 @@
|
||||
{ "inputID": 1, "suggestionsId": 2, "selectionId": 3, "downArrowId": 4, "placeholder": "Select something" }
|
||||
}}
|
||||
{{#showSuggestions}}
|
||||
<input type="text" id="{{inputId}}" class="form-control" list="{{suggestionsId}}" placeholder="{{placeholder}}" role="combobox" aria-expanded="false" autocomplete="off" autocorrect="off" autocapitalize="off" aria-autocomplete="list" aria-owns="{{suggestionsId}} {{selectionId}}" {{#tags}}data-tags="1"{{/tags}}/><span class="form-autocomplete-downarrow" id="{{downArrowId}}">▼</span>
|
||||
<input type="text" id="{{inputId}}" list="{{suggestionsId}}" placeholder="{{placeholder}}" role="combobox" aria-expanded="false" autocomplete="off" autocorrect="off" autocapitalize="off" aria-autocomplete="list" aria-owns="{{suggestionsId}} {{selectionId}}" {{#tags}}data-tags="1"{{/tags}}/><span class="form-autocomplete-downarrow" id="{{downArrowId}}">▼</span>
|
||||
{{/showSuggestions}}
|
||||
{{^showSuggestions}}
|
||||
<input type="text" id="{{inputId}}" placeholder="{{placeholder}}" role="textbox" aria-owns="{{selectionId}}" {{#tags}}data-tags="1"{{/tags}}/>
|
||||
+4
-3
@@ -37,14 +37,15 @@
|
||||
{ "label": "Another item label with <strong>tags</strong>", "value": "4" }
|
||||
], "noSelectionString": "No selection" }
|
||||
}}
|
||||
<div class="form-autocomplete-selection w-100 {{#multiple}}form-autocomplete-multiple{{/multiple}}" id="{{selectionId}}" role="list" aria-atomic="true" {{#multiple}}tabindex="0" aria-multiselectable="true"{{/multiple}}>
|
||||
<div class="form-autocomplete-selection {{#multiple}}form-autocomplete-multiple{{/multiple}}" id="{{selectionId}}" role="list" aria-atomic="true" {{#multiple}}tabindex="0" aria-multiselectable="true"{{/multiple}}>
|
||||
<span class="accesshide">{{#str}}selecteditems, form{{/str}}</span>
|
||||
{{#items}}
|
||||
<span role="listitem" data-value="{{value}}" aria-selected="true" class="tag tag-info mb-3 mr-1" style="font-size: 100%">
|
||||
<span role="listitem" data-value="{{value}}" aria-selected="true" class="label label-info" style="font-size: 100%; margin-bottom: 0.5rem;">
|
||||
{{#multiple}}<span aria-hidden="true">× </span>{{/multiple}}{{{label}}}
|
||||
</span>
|
||||
{{/items}}
|
||||
{{^items}}
|
||||
<span class="mb-3 mr-1">{{noSelectionString}}</span>
|
||||
<span>{{noSelectionString}}</span>
|
||||
{{/items}}
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,38 @@
|
||||
{{!
|
||||
This file is part of Moodle - http://moodle.org/
|
||||
|
||||
Moodle is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Moodle is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
}}
|
||||
{{!
|
||||
@template core/help_icon
|
||||
|
||||
Help icon.
|
||||
|
||||
Example context (json):
|
||||
{
|
||||
"title": "Help with something",
|
||||
"url": "http://example.org/help",
|
||||
"linktext": "",
|
||||
"icon":{
|
||||
"attributes": [
|
||||
{"name": "class", "value": "iconhelp"},
|
||||
{"name": "src", "value": "../../../pix/help.svg"},
|
||||
{"name": "alt", "value": "Help icon"}
|
||||
]
|
||||
}
|
||||
}
|
||||
}}
|
||||
<span class="helptooltip">
|
||||
<a href="{{url}}" title={{#quote}}{{title}}{{/quote}} aria-haspopup="true" target="_blank">{{#icon}}{{>core/pix_icon}}{{/icon}}{{#linktext}}{{.}}{{/linktext}}</a>
|
||||
</span>
|
||||
+12
-18
@@ -73,30 +73,24 @@
|
||||
]
|
||||
}
|
||||
}}
|
||||
<div class="initialbar {{class}} d-flex flex-wrap justify-content-center justify-content-md-start">
|
||||
<span class="initialbarlabel mr-2">{{title}}</span>
|
||||
<div class="initialbar {{class}}">
|
||||
<span class="initialbarlabel">{{title}}</span>
|
||||
{{#current}}
|
||||
<a class="initialbarall page-item letter" href="{{url}}">{{all}}</a>
|
||||
{{/current}}
|
||||
{{^current}}
|
||||
<div class="initialbarall letter page-item active">{{all}}</div>
|
||||
{{/current}}
|
||||
|
||||
<div class="initialbargroups d-flex flex-wrap justify-content-center justify-content-md-start">
|
||||
<ul class="pagination pagination-sm">
|
||||
{{#current}}
|
||||
<li class="initialbarall page-item">
|
||||
<a class="page-link" href="{{url}}">{{all}}</a>
|
||||
</li>
|
||||
{{/current}}
|
||||
{{^current}}
|
||||
<li class="initialbarall page-item active">
|
||||
<a class="page-link">{{all}}</a>
|
||||
</li>
|
||||
{{/current}}
|
||||
</ul>
|
||||
<div class="initialbargroups">
|
||||
{{#group}}
|
||||
<ul class="pagination pagination-sm">
|
||||
<ul class="initialbargroup">
|
||||
{{#letter}}
|
||||
{{#selected}}
|
||||
<li class="page-item active {{name}}"><span class="page-link">{{name}}</span></li>
|
||||
<li><span class="letter page-item active {{name}}">{{name}}</span></li>
|
||||
{{/selected}}
|
||||
{{^selected}}
|
||||
<li class="page-item {{name}}"><a class="page-link" href="{{url}}">{{name}}</a></li>
|
||||
<li><a class="letter page-item {{name}}" href="{{url}}">{{name}}</a></li>
|
||||
{{/selected}}
|
||||
{{/letter}}
|
||||
</ul>
|
||||
@@ -0,0 +1,183 @@
|
||||
{{!
|
||||
This file is part of Moodle - http://moodle.org/
|
||||
|
||||
Moodle is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Moodle is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
}}
|
||||
{{!
|
||||
@template core/loginform
|
||||
|
||||
Moodle template for the login page.
|
||||
|
||||
Example context (json):
|
||||
{
|
||||
"autofocusform": false,
|
||||
"canloginasguest": true,
|
||||
"canloginbyemail": true,
|
||||
"cansignup": true,
|
||||
"error": "testerror",
|
||||
"errorformatted": "Test error formatted",
|
||||
"forgotpasswordurl": "http://example.com/login/forgot_password.php",
|
||||
"hasidentityproviders": false,
|
||||
"hasinstructions": true,
|
||||
"instructions": "For full access to this site, you first need to create an account.",
|
||||
"loginurl": "http://example.com/stable_master/login/index.php",
|
||||
"rememberusername": true,
|
||||
"signupurl": "http://localhost/stable_master/login/signup.php",
|
||||
"cookieshelpiconformatted": "",
|
||||
"username": "",
|
||||
"logintoken": "randomstring"
|
||||
}
|
||||
}}
|
||||
{{#hasinstructions}}
|
||||
<div class="loginbox clearfix twocolumns">
|
||||
{{/hasinstructions}}
|
||||
{{^hasinstructions}}
|
||||
<div class="loginbox clearfix onecolumn">
|
||||
{{/hasinstructions}}
|
||||
|
||||
<div class="loginpanel">
|
||||
{{#cansignup}}
|
||||
<div class="skiplinks">
|
||||
<a class="skip" href="{{signupurl}}">{{#str}} tocreatenewaccount {{/str}}</a>
|
||||
</div>
|
||||
{{/cansignup}}
|
||||
|
||||
<h2>{{#str}} login {{/str}}</h2>
|
||||
|
||||
<div class="subcontent loginsub">
|
||||
{{#error}}
|
||||
<div class="loginerrors" role="alert">
|
||||
<a href="#" id="loginerrormessage" class="accesshide">{{error}}</a>
|
||||
{{{errorformatted}}}
|
||||
</div>
|
||||
{{/error}}
|
||||
<form action="{{loginurl}}" method="post" id="login">
|
||||
<div class="loginform">
|
||||
<div class="form-label">
|
||||
<label for="username">
|
||||
{{^canloginbyemail}}
|
||||
{{#str}} username {{/str}}
|
||||
{{/canloginbyemail}}
|
||||
{{#canloginbyemail}}
|
||||
{{#str}} usernameemail {{/str}}
|
||||
{{/canloginbyemail}}
|
||||
</label>
|
||||
</div>
|
||||
<div class="form-input">
|
||||
<input type="text" name="username" id="username" size="15" value="{{username}}" autocomplete="username">
|
||||
</div>
|
||||
<div class="clearer"><!-- --></div>
|
||||
<div class="form-label">
|
||||
<label for="password">{{#str}} password {{/str}}</label>
|
||||
</div>
|
||||
<div class="form-input">
|
||||
<input type="password" name="password" id="password" size="15" value="" autocomplete="current-password">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="clearer"><!-- --></div>
|
||||
{{#rememberusername}}
|
||||
<div class="rememberpass">
|
||||
<input type="checkbox" name="rememberusername" id="rememberusername" value="1" {{#username}}checked="checked"{{/username}} />
|
||||
<label for="rememberusername">{{#str}} rememberusername, admin {{/str}}</label>
|
||||
</div>
|
||||
{{/rememberusername}}
|
||||
<div class="clearer"><!-- --></div>
|
||||
<input id="anchor" type="hidden" name="anchor" value="" />
|
||||
<script>document.getElementById('anchor').value = location.hash;</script>
|
||||
<input type="hidden" name="logintoken" value="{{logintoken}}">
|
||||
<input type="submit" id="loginbtn" value={{#quote}}{{#str}} login {{/str}}{{/quote}} />
|
||||
<div class="forgetpass">
|
||||
<a href="{{forgotpasswordurl}}">{{#str}} forgotten {{/str}}</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div class="desc">
|
||||
{{#str}} cookiesenabled {{/str}}
|
||||
{{{cookieshelpiconformatted}}}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{{#canloginasguest}}
|
||||
<div class="subcontent guestsub">
|
||||
<div class="desc">{{#str}} someallowguest {{/str}}</div>
|
||||
<form action="{{loginurl}}" method="post" id="guestlogin">
|
||||
<div class="guestform">
|
||||
<input type="hidden" name="logintoken" value="{{logintoken}}">
|
||||
<input type="hidden" name="username" value="guest" />
|
||||
<input type="hidden" name="password" value="guest" />
|
||||
<input type="submit" value={{#quote}}{{#str}} loginguest {{/str}}{{/quote}} />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{{/canloginasguest}}
|
||||
|
||||
</div>
|
||||
|
||||
<div class="signuppanel">
|
||||
{{#hasinstructions}}
|
||||
<h2>{{#str}} firsttime {{/str}}</h2>
|
||||
<div class="subcontent">
|
||||
{{{instructions}}}
|
||||
{{#cansignup}}
|
||||
<div class="signupform">
|
||||
<form action="{{signupurl}}" method="get" id="signup">
|
||||
<div>
|
||||
<input type="submit" value={{#quote}}{{#str}} startsignup {{/str}}{{/quote}} />
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{{/cansignup}}
|
||||
</div>
|
||||
{{/hasinstructions}}
|
||||
|
||||
{{#hasidentityproviders}}
|
||||
<div class="subcontent potentialidps">
|
||||
<h6>{{#str}} potentialidps, auth {{/str}}</h6>
|
||||
<div class="potentialidplist">
|
||||
{{#identityproviders}}
|
||||
<div class="potentialidp">
|
||||
<a href="{{url}}" title={{#quote}}{{name}}{{/quote}} class="btn">
|
||||
{{#iconurl}}
|
||||
<img src="{{iconurl}}" alt="" width="24" height="24"/>
|
||||
{{/iconurl}}
|
||||
{{name}}
|
||||
</a>
|
||||
</div>
|
||||
{{/identityproviders}}
|
||||
</div>
|
||||
</div>
|
||||
{{/hasidentityproviders}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{#js}}
|
||||
{{#error}}
|
||||
require(['jquery'], function($) {
|
||||
$('#loginerrormessage').focus();
|
||||
});
|
||||
{{/error}}
|
||||
{{^error}}
|
||||
{{#autofocusform}}
|
||||
require(['jquery'], function($) {
|
||||
if ($('#username').val()) {
|
||||
$('#password').focus();
|
||||
} else {
|
||||
$('#username').focus();
|
||||
}
|
||||
});
|
||||
{{/autofocusform}}
|
||||
{{/error}}
|
||||
{{/js}}
|
||||
+22
-22
@@ -40,28 +40,28 @@
|
||||
}
|
||||
}}
|
||||
|
||||
<div class="modal moodle-has-zindex" data-region="modal-container" aria-hidden="true" role="dialog">
|
||||
<div class="modal-dialog {{$classes}}{{/classes}}" role="document" data-region="modal" aria-labelledby="{{uniqid}}-modal-title" tabindex="0">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header {{$headerclasses}}{{headerclasses}}{{/headerclasses}}" data-region="header">
|
||||
|
||||
{{$header}}
|
||||
<h5 id="{{uniqid}}-modal-title" class="modal-title" data-region="title">{{$title}}{{title}}{{/title}}</h5>
|
||||
{{/header}}
|
||||
<button type="button" class="close" data-action="hide" aria-label={{#quote}}{{#str}}closebuttontitle{{/str}}{{/quote}}>
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body" data-region="body">
|
||||
{{$body}}
|
||||
{{{body}}}
|
||||
{{/body}}
|
||||
</div>
|
||||
<div class="modal-footer" data-region="footer">
|
||||
{{$footer}}
|
||||
{{{footer}}}
|
||||
{{/footer}}
|
||||
</div>
|
||||
<div class="modal-container moodle-has-zindex hide" data-region="modal-container" aria-hidden="true" role="dialog">
|
||||
<div class="modal {{$classes}}{{/classes}}"
|
||||
data-region="modal"
|
||||
aria-labelledby="{{uniqid}}-modal-title"
|
||||
role="document" tabindex="0">
|
||||
<div class="modal-header {{$headerclasses}}{{headerclasses}}{{/headerclasses}}" data-region="header">
|
||||
<button type="button" class="close" data-action="hide" title="{{#str}} closebuttontitle {{/str}}"></button>
|
||||
{{$header}}
|
||||
<h3 id="{{uniqid}}-modal-title" class="modal-title" data-region="title">
|
||||
{{$title}}{{title}}{{/title}}
|
||||
</h3>
|
||||
{{/header}}
|
||||
</div>
|
||||
<div class="modal-body" data-region="body">
|
||||
{{$body}}
|
||||
{{{body}}}
|
||||
{{/body}}
|
||||
</div>
|
||||
<div class="modal-footer" data-region="footer">
|
||||
{{$footer}}
|
||||
{{{footer}}}
|
||||
{{/footer}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
+1
-1
@@ -33,4 +33,4 @@
|
||||
Example context (json):
|
||||
{}
|
||||
}}
|
||||
<div class="modal-backdrop in hide" aria-hidden="true" data-region="modal-backdrop"></div>
|
||||
<div class="modal-backdrop hide" aria-hidden="true" data-region="modal-backdrop"></div>
|
||||
+8
-2
@@ -36,9 +36,15 @@
|
||||
Example context (json):
|
||||
{ "message": "Your pants are on fire!", "closebutton": 1, "announce": 1, "extraclasses": "foo bar"}
|
||||
}}
|
||||
<div class="alert alert-danger alert-block fade in {{ extraclasses }}" {{!
|
||||
}}{{# announce }} role="alert" data-aria-autofocus="true"{{/ announce }}{{!
|
||||
<div class="alert alert-error alert-block fade in {{ extraclasses }}" {{!
|
||||
}}{{# announce }} role="alert"{{/ announce }}{{!
|
||||
}}>
|
||||
{{# closebutton }}<button type="button" class="close" data-dismiss="alert">×</button>{{/ closebutton }}
|
||||
{{{ message }}}
|
||||
</div>
|
||||
{{# js }}
|
||||
require(['jquery', 'theme_bootstrapbase/bootstrap'], function($) {
|
||||
// Setup closing of bootstrap alerts.
|
||||
$().alert();
|
||||
});
|
||||
{{/ js }}
|
||||
+7
-2
@@ -37,9 +37,14 @@
|
||||
{ "message": "Your pants are on fire!", "closebutton": 1, "announce": 1, "extraclasses": "foo bar"}
|
||||
}}
|
||||
<div class="alert alert-info alert-block fade in {{ extraclasses }}" {{!
|
||||
}}{{# announce }} role="alert" data-aria-autofocus="true"{{/ announce }}{{!
|
||||
}}{{# announce }} role="alert"{{/ announce }}{{!
|
||||
}}>
|
||||
{{# closebutton }}<button type="button" class="close" data-dismiss="alert">×</button>{{/ closebutton }}
|
||||
{{{ message }}}
|
||||
</div>
|
||||
|
||||
{{# js }}
|
||||
require(['jquery', 'theme_bootstrapbase/bootstrap'], function($) {
|
||||
// Setup closing of bootstrap alerts.
|
||||
$().alert();
|
||||
});
|
||||
{{/ js }}
|
||||
+7
-1
@@ -37,8 +37,14 @@
|
||||
{ "message": "Your pants are on fire!", "closebutton": 1, "announce": 1, "extraclasses": "foo bar"}
|
||||
}}
|
||||
<div class="alert alert-success alert-block fade in {{ extraclasses }}" {{!
|
||||
}}{{# announce }} role="alert" data-aria-autofocus="true"{{/ announce }}{{!
|
||||
}}{{# announce }} role="alert"{{/ announce }}{{!
|
||||
}}>
|
||||
{{# closebutton }}<button type="button" class="close" data-dismiss="alert">×</button>{{/ closebutton }}
|
||||
{{{ message }}}
|
||||
</div>
|
||||
{{# js }}
|
||||
require(['jquery', 'theme_bootstrapbase/bootstrap'], function($) {
|
||||
// Setup closing of bootstrap alerts.
|
||||
$().alert();
|
||||
});
|
||||
{{/ js }}
|
||||
+7
-1
@@ -37,8 +37,14 @@
|
||||
{ "message": "Your pants are on fire!", "closebutton": 1, "announce": 1, "extraclasses": "foo bar"}
|
||||
}}
|
||||
<div class="alert alert-warning alert-block fade in {{ extraclasses }}" {{!
|
||||
}}{{# announce }} role="alert" data-aria-autofocus="true"{{/ announce }}{{!
|
||||
}}{{# announce }} role="alert"{{/ announce }}{{!
|
||||
}}>
|
||||
{{# closebutton }}<button type="button" class="close" data-dismiss="alert">×</button>{{/ closebutton }}
|
||||
{{{ message }}}
|
||||
</div>
|
||||
{{# js }}
|
||||
require(['jquery', 'theme_bootstrapbase/bootstrap'], function($) {
|
||||
// Setup closing of bootstrap alerts.
|
||||
$().alert();
|
||||
});
|
||||
{{/ js }}
|
||||
+13
-11
@@ -25,12 +25,12 @@
|
||||
"width": "500"
|
||||
}
|
||||
}}
|
||||
<div id="{{id}}" class="row progressbar_container">
|
||||
<div class="col-md-6 push-md-3">
|
||||
<p id="{{id}}_status" class="text-xs-center"></p>
|
||||
<progress id="{{id}}_bar" class="progress progress-striped progress-animated" value="0" max="100"></progress>
|
||||
<p id="{{id}}_estimate" class="text-xs-center"></p>
|
||||
<div class="progressbar_container" style="width: {{width}}px;" id="{{id}}">
|
||||
<h2 id="{{id}}_status"></h2>
|
||||
<div class="progress progress-striped active">
|
||||
<div id="{{id}}_bar" class="bar" role="progressbar" aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"> </div>
|
||||
</div>
|
||||
<p id="{{id}}_estimate"></p>
|
||||
</div>
|
||||
|
||||
{{! We must not use the JS helper otherwise this gets executed too late. }}
|
||||
@@ -47,18 +47,20 @@
|
||||
estimate = e.detail.estimate;
|
||||
|
||||
statusIndicator.textContent = msg;
|
||||
progressBar.setAttribute('value', Math.round(percent));
|
||||
progressBar.textContent = '' + percent + '%';
|
||||
if (percent === 100) {
|
||||
progressBar.classList.add('progress-success');
|
||||
estimateIndicator.textContent = '100%';
|
||||
el.classList.add('progress-success');
|
||||
estimateIndicator.textContent = '';
|
||||
} else {
|
||||
if (estimate) {
|
||||
estimateIndicator.textContent = estimate + ' - ' + percent + '%';
|
||||
estimateIndicator.textContent = estimate;
|
||||
} else {
|
||||
estimateIndicator.textContent = '' + percent + '%';
|
||||
estimateIndicator.textContent = '';
|
||||
}
|
||||
progressBar.classList.remove('progress-success');
|
||||
el.classList.remove('progress-success');
|
||||
}
|
||||
progressBar.setAttribute('aria-valuenow', percent);
|
||||
progressBar.setAttribute('style', 'width: ' + percent + '%');
|
||||
});
|
||||
})();
|
||||
</script>
|
||||
+2
-2
@@ -30,8 +30,8 @@
|
||||
]
|
||||
}
|
||||
}}
|
||||
<label for="{{id}}" class="sr-only">{{label}}</label>
|
||||
<select name="{{name}}" id="{{id}}"{{#attributes}} {{name}}="{{value}}"{{/attributes}} class="form-control">
|
||||
<label for="{{id}}" class="accesshide">{{label}}</label>
|
||||
<select name="{{name}}" id="{{id}}"{{#attributes}} {{name}}="{{value}}"{{/attributes}}>
|
||||
{{#options}}
|
||||
<option value="{{value}}" {{#selected}}selected{{/selected}}>{{name}}</option>
|
||||
{{/options}}
|
||||
@@ -0,0 +1,145 @@
|
||||
{{!
|
||||
This file is part of Moodle - http://moodle.org/
|
||||
|
||||
Moodle is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
Moodle is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
}}
|
||||
{{!
|
||||
@template core/settings_link_page
|
||||
|
||||
Displays the admin tree as a list of grouped links.
|
||||
|
||||
Example context (json):
|
||||
{
|
||||
"node": {
|
||||
"text": "Root of menu",
|
||||
"key": "test0",
|
||||
"display": true,
|
||||
"children": [
|
||||
{
|
||||
"text": "Child of menu",
|
||||
"key": "test1",
|
||||
"display": true,
|
||||
"children": []
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}}
|
||||
|
||||
<ul class="nav nav-tabs" role="tablist">
|
||||
<!-- First the top most node and immediate children -->
|
||||
<li class="active"> <a href="#link{{node.key}}" data-toggle="tab" role="tab">{{node.text}}</a> </li>
|
||||
<!-- Now the first level children with sub nodes -->
|
||||
{{#node.children}}
|
||||
{{#children.count}}
|
||||
{{#display}}
|
||||
{{^is_short_branch}}
|
||||
<li> <a href="#link{{key}}" data-toggle="tab" role="tab">{{text}}</a> </li>
|
||||
{{/is_short_branch}}
|
||||
{{/display}}
|
||||
{{/children.count}}
|
||||
{{/node.children}}
|
||||
</ul>
|
||||
|
||||
<div class="tab-content">
|
||||
<div class="tab-pane active" id="link{{node.key}}" role="tabpanel">
|
||||
<div class="well">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="span9 offset3">
|
||||
<ul class="unstyled indented-list">
|
||||
{{#node.children}}
|
||||
{{^children.count}}
|
||||
{{#display}}
|
||||
<li><a href="{{{action}}}">{{text}}</a></li>
|
||||
{{/display}}
|
||||
{{/children.count}}
|
||||
{{/node.children}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{#node.children}}
|
||||
{{#display}}
|
||||
{{#children.count}}
|
||||
{{#is_short_branch}}
|
||||
<hr>
|
||||
<div class="row">
|
||||
<div class="span3">
|
||||
{{#action}}<h4><a href="{{action}}">{{text}}</a><h4>{{/action}}
|
||||
{{^action}}<h4>{{text}}<h4>{{/action}}
|
||||
</div>
|
||||
<div class="span9">
|
||||
<ul class="unstyled indented-list">
|
||||
{{#children}}
|
||||
{{> core/settings_link_page_single }}
|
||||
{{/children}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{{/is_short_branch}}
|
||||
{{/children.count}}
|
||||
{{/display}}
|
||||
{{/node.children}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{#node.children}}
|
||||
{{#children.count}}
|
||||
<div class="tab-pane" id="link{{key}}" role="tabpanel">
|
||||
<div class="well">
|
||||
<div class="container-fluid">
|
||||
<div class="row">
|
||||
<div class="span3">
|
||||
{{#action}}<h4><a href="{{action}}">{{text}}</a><h4>{{/action}}
|
||||
{{^action}}<h4>{{text}}<h4>{{/action}}
|
||||
</div>
|
||||
<div class="span9">
|
||||
<ul class="unstyled">
|
||||
{{#children}}
|
||||
{{#display}}
|
||||
{{^children.count}}
|
||||
<li><a href="{{{action}}}">{{text}}</a></li>
|
||||
{{/children.count}}
|
||||
{{/display}}
|
||||
{{/children}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{{#children}}
|
||||
{{#display}}
|
||||
{{#children.count}}
|
||||
<hr>
|
||||
<div class="row">
|
||||
<div class="span3">
|
||||
{{#action}}<h4><a href="{{action}}">{{text}}</a><h4>{{/action}}
|
||||
{{^action}}<h4>{{text}}<h4>{{/action}}
|
||||
</div>
|
||||
<div class="span9">
|
||||
<ul class="unstyled indented-list">
|
||||
{{#children}}
|
||||
{{> core/settings_link_page_single }}
|
||||
{{/children}}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{{/children.count}}
|
||||
{{/display}}
|
||||
{{/children}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/children.count}}
|
||||
{{/node.children}}
|
||||
</div>
|
||||
+1
-1
@@ -36,7 +36,7 @@
|
||||
{{/action}}
|
||||
{{#children.count}}
|
||||
<li>
|
||||
<ul class="list-unstyled ml-2">
|
||||
<ul class="unstyled indented-list">
|
||||
{{#children}}
|
||||
{{> core/settings_link_page_single }}
|
||||
{{/children}}
|
||||
@@ -0,0 +1,10 @@
|
||||
{{!
|
||||
@template core/signup_form_layout
|
||||
|
||||
Example context (json):
|
||||
{
|
||||
"formhtml": "<p>(Form html would go here)</p>"
|
||||
}
|
||||
}}
|
||||
<h3>{{#str}}newaccount{{/str}}</h3>
|
||||
{{{formhtml}}}
|
||||
+1
-1
@@ -50,7 +50,7 @@
|
||||
{{#params}}
|
||||
<input type="hidden" name="{{name}}" value="{{value}}">
|
||||
{{/params}}
|
||||
<button type="submit" class="btn {{#primary}}btn-primary{{/primary}}{{^primary}}btn-secondary{{/primary}}"
|
||||
<button type="submit" class="btn {{#primary}}btn-primary{{/primary}}{{^primary}}btn-default{{/primary}}"
|
||||
id="{{id}}"
|
||||
title={{#quote}}{{tooltip}}{{/quote}}
|
||||
{{#disabled}}disabled{{/disabled}}>{{label}}</button>
|
||||
+8
-3
@@ -9,8 +9,13 @@
|
||||
]
|
||||
}
|
||||
}}
|
||||
<div>
|
||||
<div class="skiplinks">
|
||||
{{#links}}
|
||||
<a class="sr-only sr-only-focusable" href="#{{{url}}}">{{{text}}}</a>
|
||||
<a href="#{{{url}}}" class="skip">{{{text}}}</a>
|
||||
{{/links}}
|
||||
</div>
|
||||
</div>
|
||||
{{#js}}
|
||||
require(['core/yui'], function(Y) {
|
||||
M.util.init_skiplink(Y);
|
||||
});
|
||||
{{/js}}
|
||||
Reference in New Issue
Block a user