mirror of
https://github.com/moodle/moodle.git
synced 2025-08-05 17:06:53 +02:00
MDL-64045 message: stop favouriting null conversations
Don't show the controls to favourite a conversation until one has been created.
This commit is contained in:
parent
01acb1ea90
commit
b263491138
8 changed files with 49 additions and 23 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -298,6 +298,8 @@ function(
|
||||||
totalmembercount: newState.totalMemberCount,
|
totalmembercount: newState.totalMemberCount,
|
||||||
imageurl: newState.imageUrl,
|
imageurl: newState.imageUrl,
|
||||||
isfavourite: newState.isFavourite,
|
isfavourite: newState.isFavourite,
|
||||||
|
// Don't show favouriting if we don't have a conversation.
|
||||||
|
showfavourite: newState.id !== null,
|
||||||
userid: newOtherUser.id,
|
userid: newOtherUser.id,
|
||||||
showonlinestatus: newOtherUser.showonlinestatus,
|
showonlinestatus: newOtherUser.showonlinestatus,
|
||||||
isonline: newOtherUser.isonline,
|
isonline: newOtherUser.isonline,
|
||||||
|
@ -334,7 +336,9 @@ function(
|
||||||
subname: newState.subname,
|
subname: newState.subname,
|
||||||
totalmembercount: totalMemberCount,
|
totalmembercount: totalMemberCount,
|
||||||
imageurl: newState.imageUrl,
|
imageurl: newState.imageUrl,
|
||||||
isfavourite: newState.isFavourite
|
isfavourite: newState.isFavourite,
|
||||||
|
// Don't show favouriting if we don't have a conversation.
|
||||||
|
showfavourite: newState.id !== null
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -619,13 +623,23 @@ function(
|
||||||
var oldIsFavourite = state.isFavourite;
|
var oldIsFavourite = state.isFavourite;
|
||||||
var newIsFavourite = newState.isFavourite;
|
var newIsFavourite = newState.isFavourite;
|
||||||
|
|
||||||
if (oldIsFavourite == newIsFavourite) {
|
if (state.id === null && newState.id === null) {
|
||||||
|
// The conversation isn't yet created so don't change anything.
|
||||||
|
return null;
|
||||||
|
} else if (state.id === null && newState.id !== null) {
|
||||||
|
// The conversation was created so we can show the add favourite button.
|
||||||
|
return 'show-add';
|
||||||
|
} else if (state.id !== null && newState.id === null) {
|
||||||
|
// We're changing from a created conversation to a new conversation so hide
|
||||||
|
// the favouriting functionality for now.
|
||||||
|
return 'hide';
|
||||||
|
} else if (oldIsFavourite == newIsFavourite) {
|
||||||
// No change.
|
// No change.
|
||||||
return null;
|
return null;
|
||||||
} else if (!oldIsFavourite && newIsFavourite) {
|
} else if (!oldIsFavourite && newIsFavourite) {
|
||||||
return true;
|
return 'show-remove';
|
||||||
} else if (oldIsFavourite && !newIsFavourite) {
|
} else if (oldIsFavourite && !newIsFavourite) {
|
||||||
return false;
|
return 'show-add';
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1224,15 +1224,27 @@ function(
|
||||||
* @param {Object} footer The footer container element.
|
* @param {Object} footer The footer container element.
|
||||||
* @param {Bool} isFavourite is this conversation a favourite.
|
* @param {Bool} isFavourite is this conversation a favourite.
|
||||||
*/
|
*/
|
||||||
var renderIsFavourite = function(header, body, footer, isFavourite) {
|
var renderIsFavourite = function(header, body, footer, state) {
|
||||||
if (isFavourite) {
|
var favouriteIcon = header.find(SELECTORS.FAVOURITE_ICON_CONTAINER);
|
||||||
header.find(SELECTORS.FAVOURITE_ICON_CONTAINER).removeClass('hidden');
|
var addFavourite = header.find(SELECTORS.ACTION_CONFIRM_FAVOURITE);
|
||||||
header.find(SELECTORS.ACTION_CONFIRM_FAVOURITE).addClass('hidden');
|
var removeFavourite = header.find(SELECTORS.ACTION_CONFIRM_UNFAVOURITE);
|
||||||
header.find(SELECTORS.ACTION_CONFIRM_UNFAVOURITE).removeClass('hidden');
|
|
||||||
} else {
|
switch (state) {
|
||||||
header.find(SELECTORS.FAVOURITE_ICON_CONTAINER).addClass('hidden');
|
case 'hide':
|
||||||
header.find(SELECTORS.ACTION_CONFIRM_FAVOURITE).removeClass('hidden');
|
favouriteIcon.addClass('hidden');
|
||||||
header.find(SELECTORS.ACTION_CONFIRM_UNFAVOURITE).addClass('hidden');
|
addFavourite.addClass('hidden');
|
||||||
|
removeFavourite.addClass('hidden');
|
||||||
|
break;
|
||||||
|
case 'show-add':
|
||||||
|
favouriteIcon.addClass('hidden');
|
||||||
|
addFavourite.removeClass('hidden');
|
||||||
|
removeFavourite.addClass('hidden');
|
||||||
|
break;
|
||||||
|
case 'show-remove':
|
||||||
|
favouriteIcon.removeClass('hidden');
|
||||||
|
addFavourite.addClass('hidden');
|
||||||
|
removeFavourite.removeClass('hidden');
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -78,10 +78,10 @@
|
||||||
<a class="dropdown-item" href="#" data-action="view-contact">
|
<a class="dropdown-item" href="#" data-action="view-contact">
|
||||||
{{#str}} info, core_message {{/str}}
|
{{#str}} info, core_message {{/str}}
|
||||||
</a>
|
</a>
|
||||||
<a class="dropdown-item {{#isfavourite}}hidden{{/isfavourite}}" href="#" data-action="confirm-favourite">
|
<a class="dropdown-item {{#isfavourite}}hidden{{/isfavourite}} {{^showfavourite}}hidden{{/showfavourite}}" href="#" data-action="confirm-favourite">
|
||||||
{{#str}} addtofavourites, core_message {{/str}}
|
{{#str}} addtofavourites, core_message {{/str}}
|
||||||
</a>
|
</a>
|
||||||
<a class="dropdown-item {{^isfavourite}}hidden{{/isfavourite}}" href="#" data-action="confirm-unfavourite">
|
<a class="dropdown-item {{^isfavourite}}hidden{{/isfavourite}} {{^showfavourite}}hidden{{/showfavourite}}" href="#" data-action="confirm-unfavourite">
|
||||||
{{#str}} removefromfavourites, core_message {{/str}}
|
{{#str}} removefromfavourites, core_message {{/str}}
|
||||||
</a>
|
</a>
|
||||||
<a class="dropdown-item {{#isblocked}}hidden{{/isblocked}}" href="#" data-action="request-block">
|
<a class="dropdown-item {{#isblocked}}hidden{{/isblocked}}" href="#" data-action="request-block">
|
||||||
|
|
|
@ -76,10 +76,10 @@
|
||||||
<a class="dropdown-item" href="#" data-action="view-group-info">
|
<a class="dropdown-item" href="#" data-action="view-group-info">
|
||||||
{{#str}} groupinfo, core_message {{/str}}
|
{{#str}} groupinfo, core_message {{/str}}
|
||||||
</a>
|
</a>
|
||||||
<a class="dropdown-item {{#isfavourite}}hidden{{/isfavourite}}" href="#" data-action="confirm-favourite">
|
<a class="dropdown-item {{#isfavourite}}hidden{{/isfavourite}} {{^showfavourite}}hidden{{/showfavourite}}" href="#" data-action="confirm-favourite">
|
||||||
{{#str}} addtofavourites, core_message {{/str}}
|
{{#str}} addtofavourites, core_message {{/str}}
|
||||||
</a>
|
</a>
|
||||||
<a class="dropdown-item {{^isfavourite}}hidden{{/isfavourite}}" href="#" data-action="confirm-unfavourite">
|
<a class="dropdown-item {{^isfavourite}}hidden{{/isfavourite}} {{^showfavourite}}hidden{{/showfavourite}}" href="#" data-action="confirm-unfavourite">
|
||||||
{{#str}} removefromfavourites, core_message {{/str}}
|
{{#str}} removefromfavourites, core_message {{/str}}
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -85,12 +85,12 @@
|
||||||
{{#str}} info, core_message {{/str}}
|
{{#str}} info, core_message {{/str}}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="{{#isfavourite}}hidden{{/isfavourite}}" data-action="confirm-favourite">
|
<li class="{{#isfavourite}}hidden{{/isfavourite}} {{^showfavourite}}hidden{{/showfavourite}}" data-action="confirm-favourite">
|
||||||
<a class="dropdown-item" href="#" >
|
<a class="dropdown-item" href="#" >
|
||||||
{{#str}} addtofavourites, core_message {{/str}}
|
{{#str}} addtofavourites, core_message {{/str}}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="{{^isfavourite}}hidden{{/isfavourite}}" data-action="confirm-unfavourite">
|
<li class="{{^isfavourite}}hidden{{/isfavourite}} {{^showfavourite}}hidden{{/showfavourite}}" data-action="confirm-unfavourite">
|
||||||
<a class="dropdown-item " href="#">
|
<a class="dropdown-item " href="#">
|
||||||
{{#str}} removefromfavourites, core_message {{/str}}
|
{{#str}} removefromfavourites, core_message {{/str}}
|
||||||
</a>
|
</a>
|
||||||
|
|
|
@ -82,12 +82,12 @@
|
||||||
{{#str}} groupinfo, core_message {{/str}}
|
{{#str}} groupinfo, core_message {{/str}}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="{{#isfavourite}}hidden{{/isfavourite}}" data-action="confirm-favourite">
|
<li class="{{#isfavourite}}hidden{{/isfavourite}} {{^showfavourite}}hidden{{/showfavourite}}" data-action="confirm-favourite">
|
||||||
<a class="dropdown-item" href="#">
|
<a class="dropdown-item" href="#">
|
||||||
{{#str}} addtofavourites, core_message {{/str}}
|
{{#str}} addtofavourites, core_message {{/str}}
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="{{^isfavourite}}hidden{{/isfavourite}}" data-action="confirm-unfavourite">
|
<li class="{{^isfavourite}}hidden{{/isfavourite}} {{^showfavourite}}hidden{{/showfavourite}}" data-action="confirm-unfavourite">
|
||||||
<a class="dropdown-item" href="#">
|
<a class="dropdown-item" href="#">
|
||||||
{{#str}} removefromfavourites, core_message {{/str}}
|
{{#str}} removefromfavourites, core_message {{/str}}
|
||||||
</a>
|
</a>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue