mirror of
https://github.com/moodle/moodle.git
synced 2025-08-07 18:06:51 +02:00
Merge branch 'MDL-64099-master' of git://github.com/ryanwyllie/moodle
This commit is contained in:
commit
a75af1d053
34 changed files with 358 additions and 172 deletions
|
@ -46,6 +46,7 @@ $string['contactblocked'] = 'Contact blocked';
|
|||
$string['contactrequests'] = 'Contact requests';
|
||||
$string['contactrequestsent'] = 'Contact request sent';
|
||||
$string['contacts'] = 'Contacts';
|
||||
$string['conversationlastmessage'] = '{$a->sender}: {$a->message}';
|
||||
$string['decline'] = 'Decline';
|
||||
$string['defaultmessageoutputs'] = 'Default message outputs';
|
||||
$string['defaults'] = 'Defaults';
|
||||
|
@ -250,6 +251,7 @@ $string['viewunreadmessageswith'] = 'View unread messages with {$a}';
|
|||
$string['writeamessage'] = 'Write a message...';
|
||||
$string['wouldliketocontactyou'] = 'Would like to contact you';
|
||||
$string['you'] = 'You:';
|
||||
$string['yousender'] = 'You';
|
||||
$string['youhaveblockeduser'] = 'You have blocked this user in the past';
|
||||
$string['yourcontactrequestpending'] = 'Your contact request is pending with {$a}';
|
||||
|
||||
|
|
|
@ -200,6 +200,7 @@ class icon_system_fontawesome extends icon_system_font {
|
|||
'core:i/calendareventtime' => 'fa-clock-o',
|
||||
'core:i/caution' => 'fa-exclamation text-warning',
|
||||
'core:i/checked' => 'fa-check',
|
||||
'core:i/checkedcircle' => 'fa-check-circle',
|
||||
'core:i/checkpermissions' => 'fa-unlock-alt',
|
||||
'core:i/cohort' => 'fa-users',
|
||||
'core:i/competencies' => 'fa-check-square-o',
|
||||
|
@ -306,6 +307,7 @@ class icon_system_fontawesome extends icon_system_font {
|
|||
'core:i/trash' => 'fa-trash',
|
||||
'core:i/twoway' => 'fa-arrows-h',
|
||||
'core:i/unchecked' => 'fa-square-o',
|
||||
'core:i/uncheckedcircle' => 'fa-circle-o',
|
||||
'core:i/unflagged' => 'fa-flag-o',
|
||||
'core:i/unlock' => 'fa-unlock',
|
||||
'core:i/up' => 'fa-arrow-up',
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -160,7 +160,9 @@ function(
|
|||
*/
|
||||
var render = function(contentContainer, conversations, userId) {
|
||||
var formattedConversations = conversations.map(function(conversation) {
|
||||
|
||||
var lastMessage = conversation.messages.length ? conversation.messages[conversation.messages.length - 1] : null;
|
||||
|
||||
var formattedConversation = {
|
||||
id: conversation.id,
|
||||
imageurl: conversation.imageurl,
|
||||
|
@ -186,6 +188,15 @@ function(
|
|||
formattedConversation.isblocked = otherUser.isblocked;
|
||||
}
|
||||
|
||||
if (conversation.type == MessageDrawerViewConversationContants.CONVERSATION_TYPES.PUBLIC) {
|
||||
formattedConversation.lastsendername = conversation.members.reduce(function(carry, member) {
|
||||
if (!carry && member.id == lastMessage.useridfrom) {
|
||||
carry = member.fullname;
|
||||
}
|
||||
return carry;
|
||||
}, null);
|
||||
}
|
||||
|
||||
return formattedConversation;
|
||||
});
|
||||
|
||||
|
@ -352,7 +363,7 @@ function(
|
|||
var message = conversation.messages[conversation.messages.length - 1];
|
||||
var youString = '';
|
||||
var stringRequests = [
|
||||
{key: 'you', component: 'core_message'},
|
||||
{key: 'yousender', component: 'core_message'},
|
||||
{key: 'strftimetime24', component: 'core_langconfig'},
|
||||
];
|
||||
return Str.get_strings(stringRequests)
|
||||
|
@ -364,15 +375,16 @@ function(
|
|||
return dates[0];
|
||||
})
|
||||
.then(function(dateString) {
|
||||
var lastMessage = $(message.text).text();
|
||||
|
||||
if (message.fromLoggedInUser) {
|
||||
lastMessage = youString + ' ' + lastMessage;
|
||||
}
|
||||
|
||||
element.find(SELECTORS.LAST_MESSAGE).html(lastMessage);
|
||||
element.find(SELECTORS.LAST_MESSAGE_DATE).text(dateString).removeClass('hidden');
|
||||
return dateString;
|
||||
|
||||
// Now load the last message.
|
||||
return Str.get_string('conversationlastmessage', 'core_message', {
|
||||
sender: message.fromLoggedInUser ? youString : message.userFrom.fullname,
|
||||
message: "<span class='text-muted'>" + $(message.text).text() + "</span>"
|
||||
});
|
||||
})
|
||||
.then(function(lastMessage) {
|
||||
return element.find(SELECTORS.LAST_MESSAGE).html(lastMessage);
|
||||
});
|
||||
};
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
{{#contacts}}
|
||||
<a
|
||||
href="#"
|
||||
class="p-2 d-flex list-group-item list-group-item-action border-0"
|
||||
class="p-2 d-flex list-group-item list-group-item-action"
|
||||
data-route="view-conversation"
|
||||
{{#conversationid}}
|
||||
data-route-param-1="{{.}}"
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
{{#conversations}}
|
||||
<a
|
||||
href="#"
|
||||
class="p-2 d-flex list-group-item list-group-item-action border-0 align-items-center"
|
||||
class="py-0 px-2 d-flex list-group-item list-group-item-action align-items-center"
|
||||
data-conversation-id="{{id}}"
|
||||
{{#userid}}
|
||||
data-user-id="{{.}}"
|
||||
|
@ -45,7 +45,7 @@
|
|||
>
|
||||
{{#imageurl}}
|
||||
<img
|
||||
class="rounded-circle"
|
||||
class="rounded-circle align-self-start mt-2"
|
||||
src="{{{.}}}"
|
||||
alt="{{name}}"
|
||||
aria-hidden="true"
|
||||
|
@ -55,39 +55,62 @@
|
|||
{{#showonlinestatus}}
|
||||
<span class="contact-status {{#isonline}}online{{/isonline}}"></span>
|
||||
{{/showonlinestatus}}
|
||||
<div class="w-100 text-truncate ml-2">
|
||||
<div class="w-100 text-truncate ml-2 my-2">
|
||||
<div class="d-flex">
|
||||
<strong class="m-0 text-truncate">{{name}}</strong>
|
||||
<span class="{{^isblocked}}hidden{{/isblocked}}" data-region="contact-icon-blocked">
|
||||
{{#pix}} t/block, core, {{#str}} contactblocked, message {{/str}} {{/pix}}
|
||||
</span>
|
||||
<div
|
||||
class="ml-auto small {{^lastmessagedate}}hidden{{/lastmessagedate}}"
|
||||
data-region="last-message-date"
|
||||
>
|
||||
{{#lastmessagedate}}
|
||||
{{#userdate}} {{.}}, {{#str}} strftimetime24, core_langconfig {{/str}} {{/userdate}}
|
||||
{{/lastmessagedate}}
|
||||
</div>
|
||||
</div>
|
||||
{{#subname}}
|
||||
<p class="m-0 text-truncate">{{.}}</p>
|
||||
{{/subname}}
|
||||
<p class="m-0 font-weight-light text-truncate" data-region="last-message">
|
||||
{{#sentfromcurrentuser}}{{#str}} you, core_message {{/str}}{{/sentfromcurrentuser}}
|
||||
{{lastmessage}}
|
||||
{{#sentfromcurrentuser}}
|
||||
{{#str}}
|
||||
conversationlastmessage,
|
||||
core_message,
|
||||
{
|
||||
"sender": "{{#str}} yousender, core_message {{/str}}",
|
||||
"message": "<span class='text-muted'>{{lastmessage}}</span>"
|
||||
}
|
||||
{{/str}}
|
||||
{{/sentfromcurrentuser}}
|
||||
{{^sentfromcurrentuser}}
|
||||
{{#lastsendername}}
|
||||
{{#str}}
|
||||
conversationlastmessage,
|
||||
core_message,
|
||||
{
|
||||
"sender": "{{.}}",
|
||||
"message": "<span class='text-muted'>{{lastmessage}}</span>"
|
||||
}
|
||||
{{/str}}
|
||||
{{/lastsendername}}
|
||||
{{/sentfromcurrentuser}}
|
||||
</p>
|
||||
</div>
|
||||
<div class="d-flex align-self-stretch">
|
||||
<div
|
||||
class="px-2 py-1 small position-absolute position-right text-muted {{^lastmessagedate}}hidden{{/lastmessagedate}}"
|
||||
data-region="last-message-date"
|
||||
>
|
||||
{{#lastmessagedate}}
|
||||
{{#userdate}} {{.}}, {{#str}} strftimetime24, core_langconfig {{/str}} {{/userdate}}
|
||||
{{/lastmessagedate}}
|
||||
</div>
|
||||
<div class="d-flex align-self-center align-items-center">
|
||||
<span
|
||||
class="badge badge-pill badge-primary bg-primary {{^unreadcount}}hidden{{/unreadcount}}"
|
||||
data-region="unread-count"
|
||||
>
|
||||
{{unreadcount}}
|
||||
</span>
|
||||
|
||||
<span
|
||||
class="badge badge-pill badge-primary bg-primary rounded-circle {{^unreadcount}}hidden{{/unreadcount}}"
|
||||
data-region="unread-count"
|
||||
>
|
||||
{{unreadcount}}
|
||||
</span>
|
||||
|
||||
<div class="text-muted">
|
||||
{{> core_message/message_drawer_icon_forward }}
|
||||
<div class="text-muted ml-auto">
|
||||
{{> core_message/message_drawer_icon_forward }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</a>
|
||||
{{/conversations}}
|
||||
|
|
|
@ -35,7 +35,6 @@
|
|||
}}
|
||||
<div
|
||||
class="{{$rootclasses}}{{/rootclasses}}"
|
||||
style="overflow-y: auto"
|
||||
aria-live="polite"
|
||||
data-region="lazy-load-list"
|
||||
data-user-id="{{loggedinuser.id}}"
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
{{#messages}}
|
||||
<a
|
||||
href="#"
|
||||
class="p-2 d-flex list-group-item list-group-item-action border-0 align-items-center"
|
||||
class="p-2 d-flex list-group-item list-group-item-action align-items-center"
|
||||
data-route="view-conversation"
|
||||
{{#conversationid}}
|
||||
data-route-param-1="{{.}}"
|
||||
|
@ -84,7 +84,7 @@
|
|||
</div>
|
||||
|
||||
<span
|
||||
class="badge badge-pill badge-primary bg-primary rounded-circle {{^unreadcount}}hidden{{/unreadcount}}"
|
||||
class="badge badge-pill badge-primary bg-primary {{^unreadcount}}hidden{{/unreadcount}}"
|
||||
data-region="unread-count"
|
||||
>
|
||||
{{unreadcount}}
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
{{#noncontacts}}
|
||||
<a
|
||||
href="#"
|
||||
class="p-2 d-flex list-group-item list-group-item-action border-0"
|
||||
class="p-2 d-flex list-group-item list-group-item-action"
|
||||
data-route="view-conversation"
|
||||
{{#conversationid}}
|
||||
data-route-param-1="{{.}}"
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
}}
|
||||
<div
|
||||
class="message clickable d-flex flex-column p-2 {{#fromloggedinuser}}bg-secondary{{/fromloggedinuser}}{{^fromloggedinuser}}bg-white{{/fromloggedinuser}} rounded mb-2"
|
||||
class="message clickable d-flex flex-column p-2 {{#fromloggedinuser}}bg-secondary{{/fromloggedinuser}}{{^fromloggedinuser}}bg-white{{/fromloggedinuser}} rounded mb-2 mt-2"
|
||||
data-region="message"
|
||||
data-message-id="{{id}}"
|
||||
role="checkbox"
|
||||
|
@ -44,7 +44,7 @@
|
|||
>
|
||||
<div class="d-flex align-items-center {{^fromloggedinuser}}pb-2{{/fromloggedinuser}}">
|
||||
{{^fromloggedinuser}}
|
||||
<div>
|
||||
<div style="flex-shrink: 0">
|
||||
<img
|
||||
class="rounded-circle"
|
||||
src="{{{userfrom.profileimageurl}}}"
|
||||
|
@ -53,8 +53,8 @@
|
|||
style="height: 30px"
|
||||
>
|
||||
</div>
|
||||
<div class="pl-2 pr-2">
|
||||
<h6 class="text-truncate m-0">{{userfrom.fullname}}</h6>
|
||||
<div class="text-truncate pl-2 pr-2">
|
||||
<h6 class="text-truncate m-0 font-weight-bold">{{userfrom.fullname}}</h6>
|
||||
</div>
|
||||
{{/fromloggedinuser}}
|
||||
<div
|
||||
|
@ -63,8 +63,8 @@
|
|||
>
|
||||
{{formattedtime}}
|
||||
</div>
|
||||
<span class="hidden ml-2 small text-primary" data-region="not-selected-icon">{{#pix}} i/unchecked, core {{/pix}}</span>
|
||||
<span class="hidden ml-2 small text-primary" data-region="selected-icon">{{#pix}} i/checked, core {{/pix}}</span>
|
||||
<span class="hidden ml-2 small text-dark" data-region="not-selected-icon">{{#pix}} i/uncheckedcircle, core {{/pix}}</span>
|
||||
<span class="hidden ml-2 small text-primary" data-region="selected-icon">{{#pix}} i/checkedcircle, core {{/pix}}</span>
|
||||
</div>
|
||||
<div>{{{text}}}</div>
|
||||
</div>
|
|
@ -34,7 +34,7 @@
|
|||
{}
|
||||
|
||||
}}
|
||||
<div data-region="day-messages-container">
|
||||
<div class="d-flex flex-column" data-region="day-messages-container">
|
||||
{{#messages}}
|
||||
{{> core_message/message_drawer_view_conversation_body_message }}
|
||||
{{/messages}}
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
}}
|
||||
|
||||
<div class="d-flex p-3">
|
||||
<div class="d-flex p-3 justify-content-end">
|
||||
<button
|
||||
class="btn btn-link btn-icon my-1 icon-size-4"
|
||||
data-action="delete-selected-messages"
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
}}
|
||||
|
||||
<div
|
||||
class="hidden bg-white position-relative border-bottom px-2 py-3"
|
||||
class="hidden bg-white position-relative border-bottom px-2 py-2"
|
||||
aria-hidden="true"
|
||||
data-region="view-conversation"
|
||||
>
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
</a>
|
||||
</div>
|
||||
<div class="d-flex text-truncate">
|
||||
<a class="d-flex text-truncate" href="#" data-action="view-contact">
|
||||
<a class="d-flex text-truncate text-decoration-none" href="#" data-action="view-contact">
|
||||
{{#imageurl}}
|
||||
<div class="d-flex align-items-center">
|
||||
<img
|
||||
|
|
|
@ -35,53 +35,63 @@
|
|||
|
||||
}}
|
||||
|
||||
<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-rating, 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">
|
||||
<a class="dropdown-item" href="#" data-action="view-group-info">
|
||||
{{#str}} groupinfo, core_message {{/str}}
|
||||
</a>
|
||||
<a class="dropdown-item {{#isfavourite}}hidden{{/isfavourite}} {{^showfavourite}}hidden{{/showfavourite}}" href="#" data-action="confirm-favourite">
|
||||
{{#str}} addtofavourites, core_message {{/str}}
|
||||
</a>
|
||||
<a class="dropdown-item {{^isfavourite}}hidden{{/isfavourite}} {{^showfavourite}}hidden{{/showfavourite}}" href="#" data-action="confirm-unfavourite">
|
||||
{{#str}} removefromfavourites, core_message {{/str}}
|
||||
<div class="d-flex flex-column">
|
||||
<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 text-decoration-none" 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-rating, core {{/pix}}
|
||||
</span>
|
||||
</div>
|
||||
<p class="m-0 text-truncate">{{subname}}</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">
|
||||
<a class="dropdown-item" href="#" data-action="view-group-info">
|
||||
{{#str}} groupinfo, core_message {{/str}}
|
||||
</a>
|
||||
<a class="dropdown-item {{#isfavourite}}hidden{{/isfavourite}}" href="#" data-action="confirm-favourite">
|
||||
{{#str}} addtofavourites, core_message {{/str}}
|
||||
</a>
|
||||
<a class="dropdown-item {{^isfavourite}}hidden{{/isfavourite}}" href="#" data-action="confirm-unfavourite">
|
||||
{{#str}} removefromfavourites, core_message {{/str}}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex">
|
||||
<!-- These are just placeholder elements to align the text below correctly with the name text above -->
|
||||
<div class="mr-2 icon" aria-hidden="true"></div>
|
||||
{{#imageurl}}<div style="width: 38px" aria-hidden="true"></div>{{/imageurl}}
|
||||
<!-- End placeholders -->
|
||||
<a class="text-decoration-none line-height-3 ml-2" href="#" data-action="view-group-info">
|
||||
<small class="m-0 text-muted text-truncate">
|
||||
{{#str}} numparticipants, core_message, {{totalmembercount}} {{/str}}
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
|
@ -37,7 +37,7 @@
|
|||
{{#contacts}}
|
||||
<a
|
||||
href="#"
|
||||
class="p-2 d-flex list-group-item list-group-item-action border-0"
|
||||
class="p-2 d-flex list-group-item list-group-item-action"
|
||||
data-route="view-conversation"
|
||||
{{#conversationid}}
|
||||
data-route-param-1="{{.}}"
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
<span class="expanded-icon-container">
|
||||
{{#pix}} t/expanded, core {{/pix}}
|
||||
</span>
|
||||
{{$title}}{{/title}}
|
||||
<span class="font-weight-bold">{{$title}}{{/title}}</span>
|
||||
<span class="hidden ml-1" data-region="section-total-count-container">
|
||||
(<span data-region="section-total-count">{{count.total}}</span>)
|
||||
</span>
|
||||
|
@ -73,4 +73,4 @@
|
|||
data-parent="#message-drawer-view-overview-container"
|
||||
{{/rootattributes}}
|
||||
{{/ core_message/message_drawer_lazy_load_list }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -36,18 +36,18 @@
|
|||
}}
|
||||
|
||||
<div class="d-flex flex-column">
|
||||
<div class="mb-3 bg-white p-2">
|
||||
<div data-region="contacts-container">
|
||||
<h4 class="h6">{{#str}} contacts, core_message {{/str}}</h4>
|
||||
<div class="mb-3 bg-white">
|
||||
<div data-region="contacts-container" class="pt-2">
|
||||
<h4 class="h6 px-2">{{#str}} contacts, core_message {{/str}}</h4>
|
||||
<div class="list-group" data-region="list"></div>
|
||||
<p class="hidden" data-region="no-results-container">
|
||||
<p class="hidden px-2" data-region="no-results-container">
|
||||
{{#str}} searchnocontactsfound, core_message {{/str}}
|
||||
</p>
|
||||
</div>
|
||||
<div data-region="non-contacts-container">
|
||||
<h4 class="h6">{{#str}} noncontacts, core_message {{/str}}</h4>
|
||||
<div data-region="non-contacts-container" class="pt-2 border-top">
|
||||
<h4 class="h6 px-2">{{#str}} noncontacts, core_message {{/str}}</h4>
|
||||
<div class="list-group" data-region="list"></div>
|
||||
<p class="hidden" data-region="no-results-container">
|
||||
<p class="hidden px-2" data-region="no-results-container">
|
||||
{{#str}} searchnononcontactsfound, core_message {{/str}}
|
||||
</p>
|
||||
</div>
|
||||
|
@ -58,11 +58,11 @@
|
|||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bg-white p-2">
|
||||
<div class="bg-white">
|
||||
<div data-region="messages-container">
|
||||
<h4 class="h6">{{#str}} messages, core_message {{/str}}</h4>
|
||||
<h4 class="h6 px-2 pt-2">{{#str}} messages, core_message {{/str}}</h4>
|
||||
<div class="list-group" data-region="list"></div>
|
||||
<p class="hidden" data-region="no-results-container">
|
||||
<p class="hidden px-2" data-region="no-results-container">
|
||||
{{#str}} searchnomessagesfound, core_message {{/str}}
|
||||
</p>
|
||||
</div>
|
||||
|
|
BIN
pix/i/checkedcircle.png
Normal file
BIN
pix/i/checkedcircle.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 327 B |
1
pix/i/checkedcircle.svg
Normal file
1
pix/i/checkedcircle.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><title>selected</title><path d="M8,16a8,8,0,1,1,8-8A8,8,0,0,1,8,16ZM13.19,5.83l-.95-.94a.65.65,0,0,0-.94,0L7.05,9.14,4.7,6.78a.65.65,0,0,0-.94,0l-.95.94a.68.68,0,0,0-.19.48.65.65,0,0,0,.19.47l3.77,3.77a.67.67,0,0,0,.95,0l5.66-5.66a.65.65,0,0,0,.19-.47A.68.68,0,0,0,13.19,5.83Z" fill="#999"/></svg>
|
After Width: | Height: | Size: 357 B |
BIN
pix/i/uncheckedcircle.png
Normal file
BIN
pix/i/uncheckedcircle.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 340 B |
1
pix/i/uncheckedcircle.svg
Normal file
1
pix/i/uncheckedcircle.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16"><title>select 2</title><path d="M8,16A8,8,0,0,1,8,0H8A8,8,0,0,1,8,16ZM1.33,8A6.67,6.67,0,1,0,8,1.33,6.67,6.67,0,0,0,1.33,8Z" fill="#999"/></svg>
|
After Width: | Height: | Size: 204 B |
|
@ -2245,3 +2245,11 @@ $switch-transition: .2s all !default;
|
|||
.paged-content-page-container {
|
||||
min-height: 3.125rem;
|
||||
}
|
||||
|
||||
.text-decoration-none {
|
||||
text-decoration: none !important; /* stylelint-disable-line declaration-no-important */
|
||||
}
|
||||
|
||||
.position-right {
|
||||
right: 0 !important; /* stylelint-disable-line declaration-no-important */
|
||||
}
|
|
@ -1269,6 +1269,13 @@ $message-drawer-width: 320px;
|
|||
.btn-link {
|
||||
color: inherit;
|
||||
}
|
||||
.btn-link {
|
||||
&:hover,
|
||||
&:focus {
|
||||
background-color: rgba($black, .035);
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
|
||||
.icon {
|
||||
margin-right: 0;
|
||||
|
@ -1328,6 +1335,24 @@ $message-drawer-width: 320px;
|
|||
}
|
||||
}
|
||||
}
|
||||
.list-group .list-group-item {
|
||||
border-left: 0;
|
||||
border-right: 0;
|
||||
&:first-child {
|
||||
border-top: 0;
|
||||
}
|
||||
&:last-child {
|
||||
border-bottom: 0;
|
||||
}
|
||||
}
|
||||
.section {
|
||||
.collapse {
|
||||
overflow-y: auto;
|
||||
}
|
||||
.collapsing {
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.dir-rtl {
|
||||
|
|
|
@ -10528,6 +10528,14 @@ div.editor_atto_toolbar button .icon {
|
|||
.paged-content-page-container {
|
||||
min-height: 3.125rem; }
|
||||
|
||||
.text-decoration-none {
|
||||
text-decoration: none !important;
|
||||
/* stylelint-disable-line declaration-no-important */ }
|
||||
|
||||
.position-right {
|
||||
right: 0 !important;
|
||||
/* stylelint-disable-line declaration-no-important */ }
|
||||
|
||||
.icon {
|
||||
font-size: 16px;
|
||||
width: 16px;
|
||||
|
@ -14129,6 +14137,9 @@ a.ygtvspacer:hover {
|
|||
.message-drawer a,
|
||||
.message-drawer .btn-link {
|
||||
color: inherit; }
|
||||
.message-drawer .btn-link:hover, .message-drawer .btn-link:focus {
|
||||
background-color: rgba(0, 0, 0, 0.035);
|
||||
text-decoration: none; }
|
||||
.message-drawer .icon {
|
||||
margin-right: 0; }
|
||||
.message-drawer .overview-section-toggle .collapsed-icon-container {
|
||||
|
@ -14183,6 +14194,17 @@ a.ygtvspacer:hover {
|
|||
display: flex; }
|
||||
.message-drawer .view-conversation .content-message-container img {
|
||||
max-width: 100%; }
|
||||
.message-drawer .list-group .list-group-item {
|
||||
border-left: 0;
|
||||
border-right: 0; }
|
||||
.message-drawer .list-group .list-group-item:first-child {
|
||||
border-top: 0; }
|
||||
.message-drawer .list-group .list-group-item:last-child {
|
||||
border-bottom: 0; }
|
||||
.message-drawer .section .collapse {
|
||||
overflow-y: auto; }
|
||||
.message-drawer .section .collapsing {
|
||||
overflow: hidden; }
|
||||
|
||||
.dir-rtl .message-drawer {
|
||||
box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.08); }
|
||||
|
|
|
@ -562,6 +562,9 @@
|
|||
.position-relative {
|
||||
position: relative !important;
|
||||
}
|
||||
.align-self-start {
|
||||
align-self: flex-start !important;
|
||||
}
|
||||
.align-self-center {
|
||||
align-self: center !important;
|
||||
}
|
||||
|
@ -630,7 +633,9 @@
|
|||
width: 24px !important;
|
||||
}
|
||||
}
|
||||
|
||||
.text-muted {
|
||||
.muted;
|
||||
}
|
||||
.dir-rtl {
|
||||
.dir-rtl-hide {
|
||||
display: none;
|
||||
|
|
|
@ -2442,4 +2442,12 @@ h3.sectionname .inplaceeditable.inplaceeditingon .editinstructions {
|
|||
100% {
|
||||
background-color: @grayLighter;
|
||||
}
|
||||
}
|
||||
|
||||
.text-decoration-none {
|
||||
text-decoration: none !important; /* stylelint-disable-line declaration-no-important */
|
||||
}
|
||||
|
||||
.position-right {
|
||||
right: 0 !important; /* stylelint-disable-line declaration-no-important */
|
||||
}
|
|
@ -1268,7 +1268,16 @@
|
|||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.btn-link {
|
||||
&:hover,
|
||||
&:focus {
|
||||
background-color: darken(@wellBackground, 5%);
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
.accordion-group .collapse.in {
|
||||
overflow-y: auto;
|
||||
}
|
||||
.message {
|
||||
p {
|
||||
margin: 0;
|
||||
|
@ -1330,6 +1339,20 @@
|
|||
}
|
||||
}
|
||||
}
|
||||
.list-group {
|
||||
.list-group-item {
|
||||
border-top: 1px solid #e3e3e3;
|
||||
border-bottom: 1px solid #e3e3e3;
|
||||
margin-bottom: -1px;
|
||||
&:first-child {
|
||||
border-top: 0;
|
||||
}
|
||||
&:last-child {
|
||||
border-bottom: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
|
|
|
@ -4823,6 +4823,14 @@ h3.sectionname .inplaceeditable.inplaceeditingon .editinstructions {
|
|||
background-color: #eee;
|
||||
}
|
||||
}
|
||||
.text-decoration-none {
|
||||
text-decoration: none !important;
|
||||
/* stylelint-disable-line declaration-no-important */
|
||||
}
|
||||
.position-right {
|
||||
right: 0 !important;
|
||||
/* stylelint-disable-line declaration-no-important */
|
||||
}
|
||||
/* admin.less */
|
||||
.formtable tbody th {
|
||||
font-weight: normal;
|
||||
|
@ -9176,6 +9184,14 @@ a.ygtvspacer:hover {
|
|||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
.message-drawer .btn-link:hover,
|
||||
.message-drawer .btn-link:focus {
|
||||
background-color: #e8e8e8;
|
||||
text-decoration: none;
|
||||
}
|
||||
.message-drawer .accordion-group .collapse.in {
|
||||
overflow-y: auto;
|
||||
}
|
||||
.message-drawer .message p {
|
||||
margin: 0;
|
||||
}
|
||||
|
@ -9217,6 +9233,18 @@ a.ygtvspacer:hover {
|
|||
.message-drawer .view-conversation .content-message-container img {
|
||||
max-width: 100%;
|
||||
}
|
||||
.message-drawer .list-group .list-group-item {
|
||||
border-top: 1px solid #e3e3e3;
|
||||
border-bottom: 1px solid #e3e3e3;
|
||||
margin-bottom: -1px;
|
||||
}
|
||||
.message-drawer .list-group .list-group-item:first-child {
|
||||
border-top: 0;
|
||||
}
|
||||
.message-drawer .list-group .list-group-item:last-child {
|
||||
border-bottom: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
@media (max-width: 480px) {
|
||||
.messaging-area-container .messaging-area .messages-area.editing .messages-header {
|
||||
height: 80px;
|
||||
|
@ -22265,6 +22293,9 @@ ul.indented-list {
|
|||
.position-relative {
|
||||
position: relative !important;
|
||||
}
|
||||
.align-self-start {
|
||||
align-self: flex-start !important;
|
||||
}
|
||||
.align-self-center {
|
||||
align-self: center !important;
|
||||
}
|
||||
|
@ -22333,6 +22364,9 @@ ul.indented-list {
|
|||
height: 24px !important;
|
||||
width: 24px !important;
|
||||
}
|
||||
.text-muted {
|
||||
color: #999;
|
||||
}
|
||||
.dir-rtl .dir-rtl-hide {
|
||||
display: none;
|
||||
}
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
}}
|
||||
|
||||
<div
|
||||
class="message clickable d-flex flex-column p-2 {{#fromloggedinuser}}bg-secondary{{/fromloggedinuser}}{{^fromloggedinuser}}bg-white{{/fromloggedinuser}} rounded mb-2"
|
||||
class="message clickable d-flex flex-column p-2 {{#fromloggedinuser}}bg-secondary{{/fromloggedinuser}}{{^fromloggedinuser}}bg-white{{/fromloggedinuser}} rounded mb-2 mt-2"
|
||||
data-region="message"
|
||||
data-message-id="{{id}}"
|
||||
aria-checked="false"
|
||||
|
@ -48,7 +48,7 @@
|
|||
>
|
||||
<div class="d-flex align-items-center {{^fromloggedinuser}}pb-2{{/fromloggedinuser}}">
|
||||
{{^fromloggedinuser}}
|
||||
<div>
|
||||
<div style="flex-shrink: 0">
|
||||
<img
|
||||
class="rounded-circle"
|
||||
src="{{{userfrom.profileimageurl}}}"
|
||||
|
@ -57,8 +57,8 @@
|
|||
style="height: 30px"
|
||||
>
|
||||
</div>
|
||||
<div class="pl-2 pr-2">
|
||||
<h6 class="text-truncate m-0">{{userfrom.fullname}}</h6>
|
||||
<div class="text-truncate pl-2 pr-2">
|
||||
<h6 class="text-truncate m-0"><strong>{{userfrom.fullname}}</strong></h6>
|
||||
</div>
|
||||
{{/fromloggedinuser}}
|
||||
<div
|
||||
|
@ -67,8 +67,8 @@
|
|||
>
|
||||
{{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>
|
||||
<span class="hidden ml-2 small text-primary" data-region="not-selected-icon">{{#pix}} i/uncheckedcircle, core {{/pix}}</span>
|
||||
<span class="hidden ml-2 small text-primary" data-region="selected-icon">{{#pix}} i/checkedcircle, core {{/pix}}</span>
|
||||
</div>
|
||||
<div>{{{text}}}</div>
|
||||
</div>
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
|
||||
<div class="d-flex p-3">
|
||||
<button
|
||||
class="btn btn-link btn-icon my-1 icon-size-4"
|
||||
class="btn btn-link btn-icon my-1 icon-size-4 ml-auto"
|
||||
data-action="delete-selected-messages"
|
||||
data-toggle="tooltip"
|
||||
data-placement="top"
|
||||
|
@ -50,4 +50,4 @@
|
|||
<span class="hidden" data-region="loading-icon-container">{{> core/loading }}</span>
|
||||
<span class="sr-only">{{#str}} deleteselectedmessages, core_message {{/str}}</span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -47,7 +47,7 @@
|
|||
</a>
|
||||
</div>
|
||||
<div class="d-flex text-truncate">
|
||||
<a class="d-flex text-truncate" href="#" data-action="view-contact">
|
||||
<a class="d-flex text-truncate text-decoration-none" href="#" data-action="view-contact">
|
||||
{{#imageurl}}
|
||||
<div class="d-flex align-items-center">
|
||||
<img
|
||||
|
|
|
@ -39,59 +39,69 @@
|
|||
|
||||
}}
|
||||
|
||||
<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 class="d-flex flex-column">
|
||||
<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 text-decoration-none" 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>
|
||||
</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}} {{^showfavourite}}hidden{{/showfavourite}}" data-action="confirm-favourite">
|
||||
<a class="dropdown-item" href="#">
|
||||
{{#str}} addtofavourites, core_message {{/str}}
|
||||
</a>
|
||||
</li>
|
||||
<li class="{{^isfavourite}}hidden{{/isfavourite}} {{^showfavourite}}hidden{{/showfavourite}}" data-action="confirm-unfavourite">
|
||||
<a class="dropdown-item" href="#">
|
||||
{{#str}} removefromfavourites, core_message {{/str}}
|
||||
</a>
|
||||
</li>
|
||||
</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-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>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="d-flex">
|
||||
<!-- These are just placeholder elements to align the text below correctly with the name text above -->
|
||||
<div class="mr-2" style="opacity: 0; visibility: hidden" aria-hidden="true">{{> core_message/message_drawer_icon_back }}</div>
|
||||
{{#imageurl}}<div aria-hidden="true" style="width: 38px"></div>{{/imageurl}}
|
||||
<!-- End placeholders -->
|
||||
<a class="text-decoration-none line-height-3 ml-2" href="#" data-action="view-group-info">
|
||||
<small class="m-0 muted text-truncate">
|
||||
{{#str}} numparticipants, core_message, {{totalmembercount}} {{/str}}
|
||||
</small>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
adding ".in" to ".show"
|
||||
adding .accordion-group to the main container div
|
||||
adding expanded to the .accordion-group if required for toggle icons to work.
|
||||
changing span.font-weight-bold to strong
|
||||
|
||||
Example context (json):
|
||||
{}
|
||||
|
@ -59,7 +60,7 @@
|
|||
<span class="expanded-icon-container">
|
||||
{{#pix}} t/expanded, core {{/pix}}
|
||||
</span>
|
||||
{{$title}}{{/title}}
|
||||
<strong>{{$title}}{{/title}}</strong>
|
||||
<span class="hidden ml-1" data-region="section-total-count-container">
|
||||
(<span data-region="section-total-count">{{count.total}}</span>)
|
||||
</span>
|
||||
|
@ -79,4 +80,4 @@
|
|||
data-parent="#message-drawer-view-overview-container"
|
||||
{{/rootattributes}}
|
||||
{{/ core_message/message_drawer_lazy_load_list }}
|
||||
</div>
|
||||
</div>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue