mirror of
https://github.com/moodle/moodle.git
synced 2025-04-15 21:45:37 +02:00
MDL-63303 theme_bootstrapbase: add message drawer
This commit is contained in:
parent
5005d8cfb4
commit
6f96c06374
@ -15,7 +15,7 @@
|
||||
along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
}}
|
||||
{{!
|
||||
@template core_message/message_drawer_view_covnersation_footer_content
|
||||
@template core_message/message_drawer_view_conversation_footer_content
|
||||
|
||||
This template will render the footer content for the conversation page in
|
||||
the message drawer.
|
||||
|
@ -256,7 +256,10 @@
|
||||
padding-bottom: @baseFontSize * 1.5 !important;
|
||||
}
|
||||
|
||||
|
||||
.ml-0,
|
||||
.mx-0 {
|
||||
margin-left: 0;
|
||||
}
|
||||
.ml-1,
|
||||
.mx-1 {
|
||||
margin-left: @baseFontSize / 4 !important;
|
||||
@ -273,6 +276,10 @@
|
||||
.mx-4 {
|
||||
margin-left: @baseFontSize * 1.5 !important;
|
||||
}
|
||||
.mr-0,
|
||||
.mx-0 {
|
||||
margin-right: 0;
|
||||
}
|
||||
.mr-1,
|
||||
.mx-1 {
|
||||
margin-right: @baseFontSize / 4 !important;
|
||||
@ -289,6 +296,10 @@
|
||||
.mx-4 {
|
||||
margin-right: @baseFontSize * 1.5 !important;
|
||||
}
|
||||
.mb-0,
|
||||
.my-0 {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.mb-1,
|
||||
.my-1 {
|
||||
margin-bottom: @baseFontSize / 4 !important;
|
||||
@ -305,6 +316,10 @@
|
||||
.my-4 {
|
||||
margin-bottom: @baseFontSize * 1.5 !important;
|
||||
}
|
||||
.mt-0,
|
||||
.my-0 {
|
||||
margin-top: 0;
|
||||
}
|
||||
.mt-1,
|
||||
.my-1 {
|
||||
margin-top: @baseFontSize / 4 !important;
|
||||
@ -322,7 +337,6 @@
|
||||
margin-top: @baseFontSize * 1.5 !important;
|
||||
}
|
||||
|
||||
|
||||
.ml-auto,
|
||||
.mx-auto {
|
||||
margin-left: auto !important;
|
||||
@ -591,6 +605,7 @@
|
||||
}
|
||||
.list-group-item {
|
||||
background-color: @white;
|
||||
position: relative;
|
||||
}
|
||||
.list-group-item-action {
|
||||
&:hover,
|
||||
@ -616,3 +631,14 @@
|
||||
}
|
||||
}
|
||||
|
||||
.dir-rtl {
|
||||
.dir-rtl-hide {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.dir-ltr {
|
||||
.dir-ltr-hide {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
@ -1178,6 +1178,191 @@
|
||||
}
|
||||
}
|
||||
|
||||
@message-drawer-width: 320px;
|
||||
|
||||
.message-drawer {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
height: 100%;
|
||||
right: 0;
|
||||
width: @message-drawer-width;
|
||||
z-index: 999;
|
||||
background-color: @white;
|
||||
box-shadow: -2px 2px 4px rgba(0, 0, 0, .08);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
|
||||
@media (min-width: 980px) {
|
||||
.drawer-top {
|
||||
display: none;
|
||||
}
|
||||
height: ~"calc(100% - 42px)";
|
||||
top: 42px;
|
||||
}
|
||||
|
||||
.transition(all .2s ease-in-out);
|
||||
|
||||
&.hidden {
|
||||
display: block;
|
||||
right: @message-drawer-width * -1;
|
||||
}
|
||||
|
||||
.header-container {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.searchinput {
|
||||
box-shadow: none;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
[data-region="confirm-dialogue-container"] {
|
||||
box-sizing: border-box;
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.btn-block {
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.body-container {
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
|
||||
& > * {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
opacity: 1;
|
||||
.transition(all .2s ease-in-out);
|
||||
|
||||
&.hidden {
|
||||
display: block;
|
||||
left: @message-drawer-width;
|
||||
right: @message-drawer-width * -1;
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
|
||||
&.previous {
|
||||
left: @message-drawer-width * -1;
|
||||
right: @message-drawer-width;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.footer-container {
|
||||
flex-shrink: 0;
|
||||
overflow-x: hidden;
|
||||
|
||||
& > * {
|
||||
max-height: 2000px;
|
||||
opacity: 1;
|
||||
.transition(all .2s ease-in-out);
|
||||
|
||||
&.hidden {
|
||||
display: block;
|
||||
max-height: 0;
|
||||
opacity: 0;
|
||||
padding: 0 !important; /* stylelint-disable-line declaration-no-important */
|
||||
border: 0 !important; /* stylelint-disable-line declaration-no-important */
|
||||
visibility: hidden;
|
||||
transform: translate(@message-drawer-width);
|
||||
transition: all .2s ease-in-out, max-height .2s .2s ease-in-out;
|
||||
|
||||
&.previous {
|
||||
transform: translate(@message-drawer-width * -1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.matchtext {
|
||||
background-color: lighten(@blue, 40%);
|
||||
color: @textColor;
|
||||
height: 1.5rem;
|
||||
}
|
||||
|
||||
.contact-status {
|
||||
position: absolute;
|
||||
left: 39px;
|
||||
top: 39px;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border-radius: 50%;
|
||||
&.online {
|
||||
border: 1px solid @green;
|
||||
background-color: @green;
|
||||
}
|
||||
}
|
||||
|
||||
a,
|
||||
.btn-link {
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.message {
|
||||
p {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.clickable {
|
||||
cursor: pointer;
|
||||
|
||||
&:hover {
|
||||
box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.05), 3px 3px 5px -2px rgba(0, 0, 0, .1), 1px 1px 5px 0 rgba(0, 0, 0, 0.03);
|
||||
}
|
||||
}
|
||||
|
||||
h6,
|
||||
.h6 {
|
||||
font-size: 14px;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.overview-section-toggle {
|
||||
.collapsed-icon-container {
|
||||
display: none;
|
||||
}
|
||||
.expanded-icon-container {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
&.collapsed {
|
||||
.collapsed-icon-container {
|
||||
display: inline-block;
|
||||
}
|
||||
.expanded-icon-container {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.view-overview-body {
|
||||
.section {
|
||||
display: block;
|
||||
|
||||
&.expanded {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.view-conversation {
|
||||
.content-message-container {
|
||||
img {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
.messaging-area-container {
|
||||
.messaging-area {
|
||||
|
@ -199,7 +199,7 @@
|
||||
position: relative;
|
||||
|
||||
h3 {
|
||||
margin-top: 0px;
|
||||
margin-top: 0;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -9094,6 +9094,163 @@ a.ygtvspacer:hover {
|
||||
height: 500px;
|
||||
}
|
||||
}
|
||||
.message-drawer {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
height: 100%;
|
||||
right: 0;
|
||||
width: 320px;
|
||||
z-index: 999;
|
||||
background-color: #fff;
|
||||
box-shadow: -2px 2px 4px rgba(0, 0, 0, 0.08);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
-webkit-transition: all 0.2s ease-in-out;
|
||||
-moz-transition: all 0.2s ease-in-out;
|
||||
-o-transition: all 0.2s ease-in-out;
|
||||
transition: all 0.2s ease-in-out;
|
||||
}
|
||||
@media (min-width: 980px) {
|
||||
.message-drawer {
|
||||
height: calc(100% - 42px);
|
||||
top: 42px;
|
||||
}
|
||||
.message-drawer .drawer-top {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.message-drawer.hidden {
|
||||
display: block;
|
||||
right: -320px;
|
||||
}
|
||||
.message-drawer .header-container {
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.message-drawer .searchinput {
|
||||
box-shadow: none;
|
||||
width: 100%;
|
||||
}
|
||||
.message-drawer [data-region="confirm-dialogue-container"] {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.message-drawer [data-region="confirm-dialogue-container"] * {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.message-drawer [data-region="confirm-dialogue-container"] .btn-block {
|
||||
margin-left: 0;
|
||||
}
|
||||
.message-drawer .body-container {
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
}
|
||||
.message-drawer .body-container > * {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
left: 0;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
opacity: 1;
|
||||
-webkit-transition: all 0.2s ease-in-out;
|
||||
-moz-transition: all 0.2s ease-in-out;
|
||||
-o-transition: all 0.2s ease-in-out;
|
||||
transition: all 0.2s ease-in-out;
|
||||
}
|
||||
.message-drawer .body-container > *.hidden {
|
||||
display: block;
|
||||
left: 320px;
|
||||
right: -320px;
|
||||
opacity: 0;
|
||||
visibility: hidden;
|
||||
}
|
||||
.message-drawer .body-container > *.hidden.previous {
|
||||
left: -320px;
|
||||
right: 320px;
|
||||
}
|
||||
.message-drawer .footer-container {
|
||||
flex-shrink: 0;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
.message-drawer .footer-container > * {
|
||||
max-height: 2000px;
|
||||
opacity: 1;
|
||||
-webkit-transition: all 0.2s ease-in-out;
|
||||
-moz-transition: all 0.2s ease-in-out;
|
||||
-o-transition: all 0.2s ease-in-out;
|
||||
transition: all 0.2s ease-in-out;
|
||||
}
|
||||
.message-drawer .footer-container > *.hidden {
|
||||
display: block;
|
||||
max-height: 0;
|
||||
opacity: 0;
|
||||
padding: 0 !important;
|
||||
/* stylelint-disable-line declaration-no-important */
|
||||
border: 0 !important;
|
||||
/* stylelint-disable-line declaration-no-important */
|
||||
visibility: hidden;
|
||||
transform: translate(320px);
|
||||
transition: all 0.2s ease-in-out, max-height 0.2s 0.2s ease-in-out;
|
||||
}
|
||||
.message-drawer .footer-container > *.hidden.previous {
|
||||
transform: translate(-320px);
|
||||
}
|
||||
.message-drawer .matchtext {
|
||||
background-color: #ade6fe;
|
||||
color: #333;
|
||||
height: 1.5rem;
|
||||
}
|
||||
.message-drawer .contact-status {
|
||||
position: absolute;
|
||||
left: 39px;
|
||||
top: 39px;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border-radius: 50%;
|
||||
}
|
||||
.message-drawer .contact-status.online {
|
||||
border: 1px solid #46a546;
|
||||
background-color: #46a546;
|
||||
}
|
||||
.message-drawer a,
|
||||
.message-drawer .btn-link {
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
.message-drawer .message p {
|
||||
margin: 0;
|
||||
}
|
||||
.message-drawer .clickable {
|
||||
cursor: pointer;
|
||||
}
|
||||
.message-drawer .clickable:hover {
|
||||
box-shadow: 2px 2px 10px 0 rgba(0, 0, 0, 0.05), 3px 3px 5px -2px rgba(0, 0, 0, 0.1), 1px 1px 5px 0 rgba(0, 0, 0, 0.03);
|
||||
}
|
||||
.message-drawer h6,
|
||||
.message-drawer .h6 {
|
||||
font-size: 14px;
|
||||
font-weight: normal;
|
||||
}
|
||||
.message-drawer .overview-section-toggle .collapsed-icon-container {
|
||||
display: none;
|
||||
}
|
||||
.message-drawer .overview-section-toggle .expanded-icon-container {
|
||||
display: inline-block;
|
||||
}
|
||||
.message-drawer .overview-section-toggle.collapsed .collapsed-icon-container {
|
||||
display: inline-block;
|
||||
}
|
||||
.message-drawer .overview-section-toggle.collapsed .expanded-icon-container {
|
||||
display: none;
|
||||
}
|
||||
.message-drawer .view-overview-body .section {
|
||||
display: block;
|
||||
}
|
||||
.message-drawer .view-overview-body .section.expanded {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.message-drawer .view-conversation .content-message-container img {
|
||||
max-width: 100%;
|
||||
}
|
||||
@media (max-width: 480px) {
|
||||
.messaging-area-container .messaging-area .messages-area.editing .messages-header {
|
||||
height: 80px;
|
||||
@ -9969,7 +10126,7 @@ body.path-question-type .mform fieldset.hidden {
|
||||
border-color: rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
.groupinfobox h3 {
|
||||
margin-top: 0px;
|
||||
margin-top: 0;
|
||||
}
|
||||
.groupinfobox .left {
|
||||
padding: 10px;
|
||||
@ -21881,6 +22038,10 @@ ul.indented-list {
|
||||
.py-4 {
|
||||
padding-bottom: 21px !important;
|
||||
}
|
||||
.ml-0,
|
||||
.mx-0 {
|
||||
margin-left: 0;
|
||||
}
|
||||
.ml-1,
|
||||
.mx-1 {
|
||||
margin-left: 3.5px !important;
|
||||
@ -21897,6 +22058,10 @@ ul.indented-list {
|
||||
.mx-4 {
|
||||
margin-left: 21px !important;
|
||||
}
|
||||
.mr-0,
|
||||
.mx-0 {
|
||||
margin-right: 0;
|
||||
}
|
||||
.mr-1,
|
||||
.mx-1 {
|
||||
margin-right: 3.5px !important;
|
||||
@ -21913,6 +22078,10 @@ ul.indented-list {
|
||||
.mx-4 {
|
||||
margin-right: 21px !important;
|
||||
}
|
||||
.mb-0,
|
||||
.my-0 {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.mb-1,
|
||||
.my-1 {
|
||||
margin-bottom: 3.5px !important;
|
||||
@ -21929,6 +22098,10 @@ ul.indented-list {
|
||||
.my-4 {
|
||||
margin-bottom: 21px !important;
|
||||
}
|
||||
.mt-0,
|
||||
.my-0 {
|
||||
margin-top: 0;
|
||||
}
|
||||
.mt-1,
|
||||
.my-1 {
|
||||
margin-top: 3.5px !important;
|
||||
@ -22165,6 +22338,7 @@ ul.indented-list {
|
||||
}
|
||||
.list-group-item {
|
||||
background-color: #fff;
|
||||
position: relative;
|
||||
}
|
||||
.list-group-item-action:hover,
|
||||
.list-group-item-action:focus {
|
||||
@ -22187,3 +22361,9 @@ ul.indented-list {
|
||||
height: 24px !important;
|
||||
width: 24px !important;
|
||||
}
|
||||
.dir-rtl .dir-rtl-hide {
|
||||
display: none;
|
||||
}
|
||||
.dir-ltr .dir-ltr-hide {
|
||||
display: none;
|
||||
}
|
||||
|
@ -0,0 +1,93 @@
|
||||
{{!
|
||||
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_message/message_drawer
|
||||
|
||||
This template will render the message drawer.
|
||||
|
||||
Classes required for JS:
|
||||
* none
|
||||
|
||||
Data attributes required for JS:
|
||||
* All data attributes are required
|
||||
|
||||
Context variables required for this template:
|
||||
* userid The logged in user id
|
||||
* urls The URLs for the popover
|
||||
|
||||
This is an overridden template
|
||||
Adding a "div.drawer-top" since bootstrapbase does not have a fixed navbar
|
||||
for smaller screensizes.
|
||||
|
||||
Example context (json):
|
||||
{}
|
||||
|
||||
}}
|
||||
<div
|
||||
id="message-drawer-{{uniqid}}"
|
||||
class="message-drawer bg-light hidden"
|
||||
aria-expanded="false"
|
||||
aria-hidden="true"
|
||||
data-region="message-drawer"
|
||||
role="region"
|
||||
>
|
||||
<div class="drawer-top p-2 border-bottom bg-secondary text-right">
|
||||
<a id="message-drawer-close-{{uniqid}}" class="" href="#">
|
||||
{{#pix}} i/window_close, core, {{#str}} togglemessagemenu, message {{/str}} {{/pix}}
|
||||
</a>
|
||||
</div>
|
||||
<div class="header-container position-relative" data-region="header-container">
|
||||
{{> core_message/message_drawer_view_contacts_header }}
|
||||
{{> core_message/message_drawer_view_conversation_header }}
|
||||
{{> core_message/message_drawer_view_overview_header }}
|
||||
{{> core_message/message_drawer_view_search_header }}
|
||||
{{> core_message/message_drawer_view_settings_header }}
|
||||
</div>
|
||||
<div class="body-container position-relative" data-region="body-container">
|
||||
{{> core_message/message_drawer_view_contact_body }}
|
||||
{{> core_message/message_drawer_view_contacts_body }}
|
||||
{{> core_message/message_drawer_view_conversation_body }}
|
||||
{{> core_message/message_drawer_view_group_info_body }}
|
||||
{{> core_message/message_drawer_view_overview_body }}
|
||||
{{> core_message/message_drawer_view_search_body }}
|
||||
{{> core_message/message_drawer_view_settings_body }}
|
||||
</div>
|
||||
<div class="footer-container position-relative" data-region="footer-container">
|
||||
{{> core_message/message_drawer_view_conversation_footer }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{#js}}
|
||||
require(
|
||||
[
|
||||
'jquery',
|
||||
'core_message/message_drawer',
|
||||
'core_message/message_popover'
|
||||
],
|
||||
function(
|
||||
$,
|
||||
MessageDrawer,
|
||||
Popover
|
||||
) {
|
||||
|
||||
var root = $('#message-drawer-{{uniqid}}');
|
||||
MessageDrawer.init(root);
|
||||
|
||||
var toggle = $('#message-drawer-close-{{uniqid}}');
|
||||
Popover.init(toggle);
|
||||
});
|
||||
{{/js}}
|
@ -0,0 +1,40 @@
|
||||
{{!
|
||||
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_message/message_drawer_icon_back
|
||||
|
||||
This template will render the back icon for the message drawer.
|
||||
|
||||
Classes required for JS:
|
||||
* none
|
||||
|
||||
Data attributes required for JS:
|
||||
* All data attributes are required
|
||||
|
||||
Context variables required for this template:
|
||||
* userid The logged in user id
|
||||
* urls The URLs for the popover
|
||||
|
||||
This is an overridden template
|
||||
changing icon "i/previous" to "t/collapsed_rtl"
|
||||
|
||||
Example context (json):
|
||||
{}
|
||||
|
||||
}}
|
||||
<span class="dir-rtl-hide">{{#pix}} t/collapsed_rtl, core {{/pix}}</span>
|
||||
<span class="dir-ltr-hide">{{#pix}} t/collapsed, core {{/pix}}</span>
|
@ -0,0 +1,40 @@
|
||||
{{!
|
||||
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_message/message_drawer_icon_forward
|
||||
|
||||
This template will render the forward icon for the message drawer.
|
||||
|
||||
Classes required for JS:
|
||||
* none
|
||||
|
||||
Data attributes required for JS:
|
||||
* All data attributes are required
|
||||
|
||||
Context variables required for this template:
|
||||
* userid The logged in user id
|
||||
* urls The URLs for the popover
|
||||
|
||||
This is an overridden template
|
||||
changing icon "i/next" to "t/collapsed"
|
||||
|
||||
Example context (json):
|
||||
{}
|
||||
|
||||
}}
|
||||
<span class="dir-rtl-hide">{{#pix}} t/collapsed, core {{/pix}}</span>
|
||||
<span class="dir-ltr-hide">{{#pix}} t/collapsed_rtl, core {{/pix}}</span>
|
@ -0,0 +1,101 @@
|
||||
{{!
|
||||
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_message/message_drawer_view_contacts_body
|
||||
|
||||
This template will render the body content of the contacts page in the
|
||||
message drawer.
|
||||
|
||||
Classes required for JS:
|
||||
* none
|
||||
|
||||
Data attributes required for JS:
|
||||
* All data attributes are required
|
||||
|
||||
Context variables required for this template:
|
||||
* userid The logged in user id
|
||||
* urls The URLs for the popover
|
||||
|
||||
This is an overridden template
|
||||
adding ".m-0" to "ul.nav-pills"
|
||||
adding ".w-50.text-center" to ".nav-item"
|
||||
changing ".show" to ".in" in ".tab-pane"
|
||||
|
||||
Example context (json):
|
||||
{}
|
||||
|
||||
}}
|
||||
<div class="hidden h-100" aria-hidden="true" data-region="view-contacts" data-user-id="{{loggedinuser.id}}">
|
||||
<div class="d-flex flex-column h-100">
|
||||
<div class="p-3 border-bottom">
|
||||
<ul class="nav nav-pills d-flex m-0" role="tablist">
|
||||
<li class="nav-item w-50 align-self-stretch text-center active">
|
||||
<a
|
||||
id="contacts-tab-{{uniqid}}"
|
||||
class="nav-link"
|
||||
href="#contacts-tab-panel-{{uniqid}}"
|
||||
data-toggle="tab"
|
||||
data-action="show-contacts-section"
|
||||
role="tab"
|
||||
aria-controls="contacts-tab-panel-{{uniqid}}"
|
||||
aria-selected="true"
|
||||
>
|
||||
{{#str}} contacts, core_message {{/str}}
|
||||
</a>
|
||||
</li>
|
||||
<li class="nav-item w-50 text-center">
|
||||
<a
|
||||
id="requests-tab-{{uniqid}}"
|
||||
class="nav-link"
|
||||
href="#requests-tab-panel-{{uniqid}}"
|
||||
data-toggle="tab"
|
||||
data-action="show-requests-section"
|
||||
role="tab"
|
||||
aria-controls="requests-tab-panel-{{uniqid}}"
|
||||
aria-selected="false"
|
||||
>
|
||||
{{#str}} requests {{/str}}
|
||||
<span class="badge bg-primary ml-2 {{^contactrequestcount}}hidden{{/contactrequestcount}}" data-region="contact-request-count">
|
||||
{{contactrequestcount}}
|
||||
</span>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tab-content d-flex flex-column">
|
||||
{{< core_message/message_drawer_view_contacts_body_section_contacts }}
|
||||
{{$rootclasses}}tab-pane fade in active h-100{{/rootclasses}}
|
||||
{{$rootattributes}}
|
||||
id="contacts-tab-panel-{{uniqid}}"
|
||||
data-section="contacts"
|
||||
role="tabpanel"
|
||||
aria-labelledby="contacts-tab-{{uniqid}}"
|
||||
{{/rootattributes}}
|
||||
{{/ core_message/message_drawer_view_contacts_body_section_contacts }}
|
||||
|
||||
{{< core_message/message_drawer_view_contacts_body_section_requests }}
|
||||
{{$rootclasses}}tab-pane fade h-100{{/rootclasses}}
|
||||
{{$rootattributes}}
|
||||
id="requests-tab-panel-{{uniqid}}"
|
||||
data-section="requests"
|
||||
role="tabpanel"
|
||||
aria-labelledby="requests-tab-{{uniqid}}"
|
||||
{{/rootattributes}}
|
||||
{{/ core_message/message_drawer_view_contacts_body_section_requests }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -0,0 +1,74 @@
|
||||
{{!
|
||||
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_message/message_drawer_view_conversation_body_message
|
||||
|
||||
This template will render a single message for the body of the conversation page
|
||||
in the message drawer.
|
||||
|
||||
Classes required for JS:
|
||||
* none
|
||||
|
||||
Data attributes required for JS:
|
||||
* All data attributes are required
|
||||
|
||||
Context variables required for this template:
|
||||
* userid The logged in user id
|
||||
* urls The URLs for the popover
|
||||
|
||||
This is an overridden template
|
||||
changing icon "i/unchecked" to "i/completion-manual-n"
|
||||
|
||||
Example context (json):
|
||||
{}
|
||||
|
||||
}}
|
||||
|
||||
<div
|
||||
class="message clickable d-flex flex-column p-2 {{#fromloggedinuser}}bg-secondary{{/fromloggedinuser}}{{^fromloggedinuser}}bg-white{{/fromloggedinuser}} rounded mb-2"
|
||||
data-region="message"
|
||||
data-message-id="{{id}}"
|
||||
aria-checked="false"
|
||||
role="checkbox"
|
||||
tabindex="0"
|
||||
>
|
||||
<div class="d-flex align-items-center {{^fromloggedinuser}}pb-2{{/fromloggedinuser}}">
|
||||
{{^fromloggedinuser}}
|
||||
<div>
|
||||
<img
|
||||
class="rounded-circle"
|
||||
src="{{{userfrom.profileimageurl}}}"
|
||||
alt="{{userfrom.fullname}}"
|
||||
aria-hidden="true"
|
||||
style="height: 30px"
|
||||
>
|
||||
</div>
|
||||
<div class="pl-2 pr-2">
|
||||
<h6 class="text-truncate m-0">{{userfrom.fullname}}</h6>
|
||||
</div>
|
||||
{{/fromloggedinuser}}
|
||||
<div
|
||||
class="ml-auto small text-right text-muted"
|
||||
style="flex-shrink: 0"
|
||||
>
|
||||
{{formattedtime}}
|
||||
</div>
|
||||
<span class="hidden ml-2 small text-primary" data-region="not-selected-icon">{{#pix}} i/completion-manual-n, core {{/pix}}</span>
|
||||
<span class="hidden ml-2 small text-primary" data-region="selected-icon">{{#pix}} i/checked, core {{/pix}}</span>
|
||||
</div>
|
||||
<div>{{{text}}}</div>
|
||||
</div>
|
@ -0,0 +1,62 @@
|
||||
{{!
|
||||
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_message/message_drawer_view_conversation_footer_content
|
||||
|
||||
This template will render the footer content for the conversation page in
|
||||
the message drawer.
|
||||
|
||||
Classes required for JS:
|
||||
* none
|
||||
|
||||
Data attributes required for JS:
|
||||
* All data attributes are required
|
||||
|
||||
Context variables required for this template:
|
||||
* userid The logged in user id
|
||||
* urls The URLs for the popover
|
||||
|
||||
This is an overridden template
|
||||
adding: ".m-0.flex-grow" to "textarea.form-control"
|
||||
|
||||
Example context (json):
|
||||
{}
|
||||
|
||||
}}
|
||||
|
||||
<div class="d-flex mt-1">
|
||||
<textarea
|
||||
data-region="send-message-txt"
|
||||
class="form-control bg-light m-0 flex-grow"
|
||||
rows="3"
|
||||
data-auto-rows
|
||||
data-min-rows="3"
|
||||
data-max-rows="5"
|
||||
role="textbox"
|
||||
aria-label="{{#str}} writeamessage, core_message {{/str}}"
|
||||
placeholder="{{#str}} writeamessage, core_message {{/str}}"
|
||||
style="resize: none"
|
||||
></textarea>
|
||||
<button
|
||||
class="btn btn-link btn-icon icon-size-3 ml-1 mt-auto"
|
||||
aria-label="{{#str}} sendmessage, core_message {{/str}}"
|
||||
data-action="send-message"
|
||||
>
|
||||
<span data-region="send-icon-container">{{#pix}} i/sendmessage, core {{/pix}}</span>
|
||||
<span class="hidden" data-region="loading-icon-container">{{> core/loading }}</span>
|
||||
</button>
|
||||
</div>
|
@ -0,0 +1,53 @@
|
||||
{{!
|
||||
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_message/message_drawer_view_conversation_footer_edit_mode
|
||||
|
||||
This template will render the foot while the conversation page is in edit mode
|
||||
in the message drawer.
|
||||
|
||||
Classes required for JS:
|
||||
* none
|
||||
|
||||
Data attributes required for JS:
|
||||
* All data attributes are required
|
||||
|
||||
Context variables required for this template:
|
||||
* userid The logged in user id
|
||||
* urls The URLs for the popover
|
||||
|
||||
This is an overridden template
|
||||
changing icon "i/delete" to "i/trash"
|
||||
|
||||
Example context (json):
|
||||
{}
|
||||
|
||||
}}
|
||||
|
||||
<div class="d-flex p-3">
|
||||
<button
|
||||
class="btn btn-link btn-icon my-1 icon-size-4"
|
||||
data-action="delete-selected-messages"
|
||||
data-toggle="tooltip"
|
||||
data-placement="top"
|
||||
title="{{#str}} deleteselectedmessages, core_message {{/str}}"
|
||||
>
|
||||
<span data-region="icon-container">{{#pix}} i/trash, core {{/pix}}</span>
|
||||
<span class="hidden" data-region="loading-icon-container">{{> core/loading }}</span>
|
||||
<span class="sr-only">{{#str}} deleteselectedmessages, core_message {{/str}}</span>
|
||||
</button>
|
||||
</div>
|
@ -0,0 +1,125 @@
|
||||
{{!
|
||||
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_message/message_drawer_view_conversation_heeader_content
|
||||
|
||||
This template will render the header content of the conversation page in
|
||||
the message message drawer.
|
||||
|
||||
Classes required for JS:
|
||||
* none
|
||||
|
||||
Data attributes required for JS:
|
||||
* All data attributes are required
|
||||
|
||||
Context variables required for this template:
|
||||
* userid The logged in user id
|
||||
* urls The URLs for the popover
|
||||
|
||||
This is an overridden template
|
||||
Changing the dropdown menu items from "div.dropdown-menu > a.dropdown-item"
|
||||
to "ul.dropdown-menu > li > a.dropdown-item"
|
||||
assigning the "data-action=" and ".hidden" to the "li" elements.
|
||||
|
||||
Example context (json):
|
||||
{}
|
||||
|
||||
}}
|
||||
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="align-self-stretch" >
|
||||
<a class="h-100 mr-2 d-flex align-items-center" href="#" data-route-back>
|
||||
{{> core_message/message_drawer_icon_back }}
|
||||
</a>
|
||||
</div>
|
||||
<div class="d-flex text-truncate">
|
||||
<a class="d-flex text-truncate" href="#" data-action="view-contact">
|
||||
{{#imageurl}}
|
||||
<div class="d-flex align-items-center">
|
||||
<img
|
||||
class="rounded-circle"
|
||||
src="{{{.}}}"
|
||||
alt="{{name}}"
|
||||
aria-hidden="true"
|
||||
style="height: 38px"
|
||||
>
|
||||
</div>
|
||||
{{/imageurl}}
|
||||
<div class="w-100 text-truncate ml-2">
|
||||
<div class="d-flex">
|
||||
<strong class="m-0 text-truncate">{{name}}</strong>
|
||||
<span class="{{^isfavourite}}hidden{{/isfavourite}} ml-1 text-primary" data-region="favourite-icon-container">
|
||||
{{#pix}} i/star, core {{/pix}}
|
||||
</span>
|
||||
</div>
|
||||
{{#showonlinestatus}}
|
||||
<p class="m-0 font-weight-light text-truncate">
|
||||
{{#isonline}}{{#str}} loggedin, core_message {{/str}}{{/isonline}}
|
||||
{{^isonline}}{{#str}} loggedoff, core_message {{/str}}{{/isonline}}
|
||||
</p>
|
||||
{{/showonlinestatus}}
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="ml-auto dropdown">
|
||||
<button class="btn btn-link btn-icon icon-size-3" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
{{#pix}} i/moremenu, core {{/pix}}
|
||||
</button>
|
||||
<ul class="dropdown-menu pull-right">
|
||||
<li data-route="view-contact" data-route-param="{{userid}}">
|
||||
<a class="dropdown-item" href="#" >
|
||||
{{#str}} info, core_message {{/str}}
|
||||
</a>
|
||||
</li>
|
||||
<li class="{{#isfavourite}}hidden{{/isfavourite}}" data-action="confirm-favourite">
|
||||
<a class="dropdown-item" href="#" >
|
||||
{{#str}} addtofavourites, core_message {{/str}}
|
||||
</a>
|
||||
</li>
|
||||
<li class="{{^isfavourite}}hidden{{/isfavourite}}" data-action="confirm-unfavourite">
|
||||
<a class="dropdown-item " href="#">
|
||||
{{#str}} removefromfavourites, core_message {{/str}}
|
||||
</a>
|
||||
</li>
|
||||
<li class="{{#isblocked}}hidden{{/isblocked}}" data-action="request-block">
|
||||
<a class="dropdown-item" href="#">
|
||||
{{#str}} blockuser, core_message {{/str}}
|
||||
</a>
|
||||
</li>
|
||||
<li class="{{^isblocked}}hidden{{/isblocked}}" data-action="request-unblock">
|
||||
<a class="dropdown-item" href="#">
|
||||
{{#str}} unblockuser, core_message {{/str}}
|
||||
</a>
|
||||
</li>
|
||||
<li data-action="request-delete-conversation">
|
||||
<a class="dropdown-item" href="#">
|
||||
{{#str}} deleteconversation, core_message {{/str}}
|
||||
</a>
|
||||
</li>
|
||||
<li class="{{#iscontact}}hidden{{/iscontact}}" data-action="request-add-contact">
|
||||
<a class="dropdown-item" href="#">
|
||||
{{#str}} addtoyourcontacts, core_message {{/str}}
|
||||
</a>
|
||||
</li>
|
||||
<li class="{{^iscontact}}hidden{{/iscontact}}" data-action="request-remove-contact">
|
||||
<a class="dropdown-item" href="#">
|
||||
{{#str}} removefromyourcontacts, core_message {{/str}}
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
@ -0,0 +1,76 @@
|
||||
{{!
|
||||
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_message/message_drawer_view_conversation_heeader_content
|
||||
|
||||
This template will render the header content of the conversation page in
|
||||
the message message drawer.
|
||||
|
||||
Classes required for JS:
|
||||
* none
|
||||
|
||||
Data attributes required for JS:
|
||||
* All data attributes are required
|
||||
|
||||
Context variables required for this template:
|
||||
* userid The logged in user id
|
||||
* urls The URLs for the popover
|
||||
|
||||
This is an overridden template
|
||||
Changing the dropdown menu items from "div.dropdown-menu > a.dropdown-item"
|
||||
to "ul.dropdown-menu > li > a.dropdown-item"
|
||||
assigning the "data-action=" and ".hidden" to the "li" elements.
|
||||
|
||||
Example context (json):
|
||||
{}
|
||||
|
||||
}}
|
||||
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="align-self-stretch" >
|
||||
<a class="h-100 mr-2 d-flex align-items-center" href="#" data-route-back>
|
||||
{{> core_message/message_drawer_icon_back }}
|
||||
</a>
|
||||
</div>
|
||||
<div class="d-flex text-truncate">
|
||||
{{#imageurl}}
|
||||
<div class="d-flex align-items-center">
|
||||
<img
|
||||
class="rounded-circle"
|
||||
src="{{{.}}}"
|
||||
alt="{{name}}"
|
||||
aria-hidden="true"
|
||||
style="height: 38px"
|
||||
>
|
||||
</div>
|
||||
{{/imageurl}}
|
||||
<div class="w-100 text-truncate ml-2">
|
||||
<div class="d-flex">
|
||||
<strong class="m-0 text-truncate">{{name}}</strong>
|
||||
<span class="{{^isfavourite}}hidden{{/isfavourite}} ml-1 text-primary" data-region="favourite-icon-container">
|
||||
{{#pix}} i/star, core {{/pix}}
|
||||
</span>
|
||||
</div>
|
||||
{{#showonlinestatus}}
|
||||
<p class="m-0 font-weight-light text-truncate">
|
||||
{{#isonline}}{{#str}} loggedin, core_message {{/str}}{{/isonline}}
|
||||
{{^isonline}}{{#str}} loggedoff, core_message {{/str}}{{/isonline}}
|
||||
</p>
|
||||
{{/showonlinestatus}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -0,0 +1,97 @@
|
||||
{{!
|
||||
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_message/message_drawer_view_conversation_heeader_content
|
||||
|
||||
This template will render the header content of the conversation page in
|
||||
the message message drawer.
|
||||
|
||||
Classes required for JS:
|
||||
* none
|
||||
|
||||
Data attributes required for JS:
|
||||
* All data attributes are required
|
||||
|
||||
Context variables required for this template:
|
||||
* userid The logged in user id
|
||||
* urls The URLs for the popover
|
||||
|
||||
This is an overridden template
|
||||
Changing the dropdown menu items from "div.dropdown-menu > a.dropdown-item"
|
||||
to "ul.dropdown-menu > li > a.dropdown-item"
|
||||
|
||||
Example context (json):
|
||||
{}
|
||||
|
||||
}}
|
||||
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="align-self-stretch" >
|
||||
<a class="h-100 mr-2 d-flex align-items-center" href="#" data-route-back>
|
||||
{{> core_message/message_drawer_icon_back }}
|
||||
</a>
|
||||
</div>
|
||||
<div class="d-flex text-truncate">
|
||||
<a class="d-flex text-truncate" href="#" data-action="view-group-info">
|
||||
{{#imageurl}}
|
||||
<div class="d-flex align-items-center">
|
||||
<img
|
||||
class="rounded-circle"
|
||||
src="{{{.}}}"
|
||||
alt="{{name}}"
|
||||
aria-hidden="true"
|
||||
style="height: 38px"
|
||||
>
|
||||
</div>
|
||||
{{/imageurl}}
|
||||
<div class="w-100 text-truncate ml-2">
|
||||
<div class="d-flex">
|
||||
<strong class="m-0 text-truncate">{{name}}</strong>
|
||||
<span class="{{^isfavourite}}hidden{{/isfavourite}} ml-1 text-primary" data-region="favourite-icon-container">
|
||||
{{#pix}} i/star, core {{/pix}}
|
||||
</span>
|
||||
</div>
|
||||
<p class="m-0 text-truncate">{{subname}}</p>
|
||||
<p class="m-0 font-weight-light text-truncate">
|
||||
{{#str}} numparticipants, core_message, {{totalmembercount}} {{/str}}
|
||||
</p>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="ml-auto dropdown">
|
||||
<button class="btn btn-link btn-icon icon-size-3" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
{{#pix}} i/moremenu, core {{/pix}}
|
||||
</button>
|
||||
<div class="dropdown-menu pull-right">
|
||||
<li data-action="view-group-info">
|
||||
<a class="dropdown-item" href="#">
|
||||
{{#str}} groupinfo, core_message {{/str}}
|
||||
</a>
|
||||
</li>
|
||||
<li class="{{#isfavourite}}hidden{{/isfavourite}}" data-action="confirm-favourite">
|
||||
<a class="dropdown-item" href="#">
|
||||
{{#str}} addtofavourites, core_message {{/str}}
|
||||
</a>
|
||||
</li>
|
||||
<li class="{{^isfavourite}}hidden{{/isfavourite}}" data-action="confirm-unfavourite">
|
||||
<a class="dropdown-item" href="#">
|
||||
{{#str}} removefromfavourites, core_message {{/str}}
|
||||
</a>
|
||||
</li>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
@ -0,0 +1,70 @@
|
||||
{{!
|
||||
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_message/message_drawer_view_group_info_body_content
|
||||
|
||||
This template will render the content for the body section of the group
|
||||
info page in the message drawer.
|
||||
|
||||
Classes required for JS:
|
||||
* none
|
||||
|
||||
Data attributes required for JS:
|
||||
* All data attributes are required
|
||||
|
||||
Context variables required for this template:
|
||||
* userid The logged in user id
|
||||
* urls The URLs for the popover
|
||||
|
||||
Example context (json):
|
||||
{}
|
||||
|
||||
}}
|
||||
|
||||
<a class="px-2 align-self-start" href="#" data-route-back>
|
||||
{{> core_message/message_drawer_icon_back }}
|
||||
</a>
|
||||
<div class="px-2">
|
||||
<div class="text-center">
|
||||
{{#imageurl}}
|
||||
<img
|
||||
class="rounded-circle"
|
||||
src="{{.}}"
|
||||
aria-hidden="true"
|
||||
alt="{{#str}} pictureof, moodle, {{name}} {{/str}}"
|
||||
title="{{#str}} pictureof, moodle, {{name}} {{/str}}"
|
||||
style="height: 100px; width: 100px"
|
||||
>
|
||||
{{/imageurl}}
|
||||
</div>
|
||||
<h3 class="mt-2 mb-0 text-center text-truncate">{{name}}</h3>
|
||||
{{#subname}}<h4 class="mt-2 mb-0 text-center text-truncate">{{.}}</h4>{{/subname}}
|
||||
</div>
|
||||
<h3 class="border-bottom h6 mt-3 px-3 py-2 mb-0 font-weight-bold">{{#str}} participants, core_message {{/str}}</h3>
|
||||
<div class="pt-1 bg-white" data-region="members-list-container" style="overflow-y: auto">
|
||||
{{< core_message/message_drawer_lazy_load_list }}
|
||||
{{$rootattributes}}
|
||||
data-region="members-list"
|
||||
{{/rootattributes}}
|
||||
{{$emptymessage}}{{#str}} noparticipants, core_message {{/str}}{{/emptymessage}}
|
||||
{{$placeholder}}
|
||||
{{#placeholders}}
|
||||
{{> core_message/message_drawer_view_group_info_participants_list_item_placeholder }}
|
||||
{{/placeholders}}
|
||||
{{/placeholder}}
|
||||
{{/ core_message/message_drawer_lazy_load_list }}
|
||||
</div>
|
@ -0,0 +1,74 @@
|
||||
{{!
|
||||
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_message/message_drawer_view_overview_header
|
||||
|
||||
This template will render the header for the overview page of the message drawer.
|
||||
|
||||
Classes required for JS:
|
||||
* none
|
||||
|
||||
Data attributes required for JS:
|
||||
* All data attributes are required
|
||||
|
||||
Context variables required for this template:
|
||||
* userid The logged in user id
|
||||
* urls The URLs for the popover
|
||||
|
||||
This is an overridden template
|
||||
changing "div.input-group" to "div.input-prepend"
|
||||
changing the "div.input-group-prepend > span" to "span.add-on"
|
||||
addint ".searchinput" to "input.form-control"
|
||||
|
||||
Example context (json):
|
||||
{}
|
||||
|
||||
}}
|
||||
<div class="border-bottom px-2 py-3" aria-hidden="false" data-region="view-overview">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="input-prepend d-flex flex-grow m-0">
|
||||
<span class="add-on bg-white pr-0">
|
||||
{{#pix}} a/search, core {{/pix}}
|
||||
</span>
|
||||
<input
|
||||
type="text"
|
||||
class="form-control border-left-0 searchinput"
|
||||
placeholder="{{#str}} search, core_search {{/str}}"
|
||||
aria-label="{{#str}} search, core_search {{/str}}"
|
||||
data-region="view-overview-search-input"
|
||||
>
|
||||
</div>
|
||||
<div class="ml-2">
|
||||
<a
|
||||
href="#"
|
||||
data-route="view-settings"
|
||||
data-route-param="{{loggedinuser.id}}"
|
||||
>
|
||||
{{#pix}} t/edit, core {{/pix}}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-right mt-3">
|
||||
<a href="#" data-route="view-contacts">
|
||||
{{#pix}} i/user, core {{/pix}}
|
||||
{{#str}} contacts, core_message {{/str}}
|
||||
<span class="badge bg-primary ml-2 {{^contactrequestcount}}hidden{{/contactrequestcount}}" data-region="contact-request-count">
|
||||
{{contactrequestcount}}
|
||||
</span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
@ -0,0 +1,76 @@
|
||||
{{!
|
||||
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_message/message_drawer_view_overview_section
|
||||
|
||||
This template is a base template to render a collapsible "section" on the
|
||||
overview page of the message drawer, for example the messages section.
|
||||
|
||||
Classes required for JS:
|
||||
* none
|
||||
|
||||
Data attributes required for JS:
|
||||
* All data attributes are required
|
||||
|
||||
Context variables required for this template:
|
||||
* userid The logged in user id
|
||||
* urls The URLs for the popover
|
||||
|
||||
This is an overridden template
|
||||
changing icon "t/collapsedcaret" to "t/collapsed"
|
||||
adding ".in" to ".show"
|
||||
|
||||
Example context (json):
|
||||
{}
|
||||
|
||||
}}
|
||||
<div
|
||||
class="accordion-group section border-0"
|
||||
data-region="{{$region}}{{/region}}"
|
||||
>
|
||||
<div id="{{$region}}{{/region}}-toggle" class="card-header p-0" data-region="toggle">
|
||||
<button
|
||||
class="btn btn-link w-100 text-left p-2 m-0 d-flex align-items-center overview-section-toggle {{^expanded}}collapsed{{/expanded}}"
|
||||
data-toggle="collapse"
|
||||
data-target="#{{$region}}{{/region}}-target"
|
||||
aria-expanded="{{#expanded}}true{{/expanded}}{{^expanded}}false{{/expanded}}"
|
||||
aria-controls="{{$region}}{{/region}}-target"
|
||||
>
|
||||
<span class="collapsed-icon-container">
|
||||
{{#pix}} t/collapsed, core {{/pix}}
|
||||
</span>
|
||||
<span class="expanded-icon-container">
|
||||
{{#pix}} t/expanded, core {{/pix}}
|
||||
</span>
|
||||
{{$title}}{{/title}} (<span data-region="section-total-count">{{count.total}}</span>)
|
||||
<span class="hidden ml-2" data-region="loading-icon-container">
|
||||
{{> core/loading }}
|
||||
</span>
|
||||
<span class="{{^count.unread}}hidden{{/count.unread}} badge badge-pill badge-primary ml-auto bg-primary" data-region="section-unread-count">
|
||||
{{count.unread}}
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
{{< core_message/message_drawer_lazy_load_list }}
|
||||
{{$rootclasses}}collapse border-bottom {{#expanded}}show in{{/expanded}}{{/rootclasses}}
|
||||
{{$rootattributes}}
|
||||
id="{{$region}}{{/region}}-target"
|
||||
aria-labelledby="{{$region}}{{/region}}-toggle"
|
||||
data-parent="#message-drawer-view-overview-container"
|
||||
{{/rootattributes}}
|
||||
{{/ core_message/message_drawer_lazy_load_list }}
|
||||
</div>
|
@ -0,0 +1,74 @@
|
||||
{{!
|
||||
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_message/message_drawer_view_search_header
|
||||
|
||||
This template will render the header of the search page in the message drawer.
|
||||
|
||||
Classes required for JS:
|
||||
* none
|
||||
|
||||
Data attributes required for JS:
|
||||
* All data attributes are required
|
||||
|
||||
Context variables required for this template:
|
||||
* userid The logged in user id
|
||||
* urls The URLs for the popover
|
||||
|
||||
This is an overridden template
|
||||
changing "div.input-group" to "div.input-append"
|
||||
removing the "div.input-group-append"
|
||||
changing "button.btn.btn-outline-secondary" to "button.btn.m0"
|
||||
|
||||
Example context (json):
|
||||
{}
|
||||
|
||||
}}
|
||||
|
||||
<div class="hidden border-bottom px-2 py-3 view-search" aria-hidden="true" data-region="view-search">
|
||||
<div class="d-flex align-items-center">
|
||||
<a
|
||||
class="mr-2 align-self-stretch d-flex align-items-center"
|
||||
href="#"
|
||||
data-route-back
|
||||
data-action="cancel-search"
|
||||
>
|
||||
{{> core_message/message_drawer_icon_back }}
|
||||
</a>
|
||||
<div class="input-append m-0 d-flex flex-grow">
|
||||
<input
|
||||
type="text"
|
||||
class="form-control border-right-0 searchinput"
|
||||
placeholder="{{#str}} search, core_search {{/str}}"
|
||||
aria-label="{{#str}} search, core_search {{/str}}"
|
||||
data-region="search-input"
|
||||
>
|
||||
<button
|
||||
class="btn m-0"
|
||||
type="button"
|
||||
data-action="search"
|
||||
>
|
||||
<span data-region="search-icon-container">
|
||||
{{#pix}} a/search, core {{/pix}}
|
||||
</span>
|
||||
<span class="hidden" data-region="loading-icon-container">
|
||||
{{> core/loading }}
|
||||
</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
Loading…
x
Reference in New Issue
Block a user