Merge branch 'MDL-64134-master' of git://github.com/ryanwyllie/moodle
This commit is contained in:
@@ -203,9 +203,6 @@ $string['requiresconfiguration'] = 'Requires configuration';
|
||||
$string['searchforuser'] = 'Search for a user';
|
||||
$string['searchforuserorcourse'] = 'Search for a user or course';
|
||||
$string['searchmessages'] = 'Search messages';
|
||||
$string['searchnocontactsfound'] = 'No contacts found';
|
||||
$string['searchnomessagesfound'] = 'No messages found';
|
||||
$string['searchnononcontactsfound'] = 'No non contacts found';
|
||||
$string['searchcombined'] = 'Search people and messages';
|
||||
$string['seeall'] = 'See all';
|
||||
$string['selectmessagestodelete'] = 'Select messages to delete';
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
@@ -67,6 +67,7 @@ function(
|
||||
LOAD_MORE_MESSAGES: '[data-action="load-more-messages"]',
|
||||
BUTTON_TEXT: '[data-region="button-text"]',
|
||||
NO_RESULTS_CONTAINTER: '[data-region="no-results-container"]',
|
||||
ALL_CONTACTS_CONTAINER: '[data-region="all-contacts-container"]'
|
||||
};
|
||||
|
||||
var TEMPLATES = {
|
||||
@@ -267,6 +268,110 @@ function(
|
||||
getSearchResultsContainer(body).addClass('hidden');
|
||||
};
|
||||
|
||||
/**
|
||||
* Show the no search results message.
|
||||
*
|
||||
* @param {Object} body Search body container element.
|
||||
*/
|
||||
var showNoSearchResults = function(body) {
|
||||
var container = getSearchResultsContainer(body);
|
||||
container.find(SELECTORS.ALL_CONTACTS_CONTAINER).addClass('hidden');
|
||||
container.find(SELECTORS.MESSAGES_CONTAINER).addClass('hidden');
|
||||
container.find(SELECTORS.NO_RESULTS_CONTAINTER).removeClass('hidden');
|
||||
};
|
||||
|
||||
/**
|
||||
* Hide the no search results message.
|
||||
*
|
||||
* @param {Object} body Search body container element.
|
||||
*/
|
||||
var hideNoSearchResults = function(body) {
|
||||
var container = getSearchResultsContainer(body);
|
||||
container.find(SELECTORS.ALL_CONTACTS_CONTAINER).removeClass('hidden');
|
||||
container.find(SELECTORS.MESSAGES_CONTAINER).removeClass('hidden');
|
||||
container.find(SELECTORS.NO_RESULTS_CONTAINTER).addClass('hidden');
|
||||
};
|
||||
|
||||
/**
|
||||
* Show the whole contacts results area.
|
||||
*
|
||||
* @param {Object} body Search body container element.
|
||||
*/
|
||||
var showAllContactsSearchResults = function(body) {
|
||||
var container = getSearchResultsContainer(body);
|
||||
container.find(SELECTORS.ALL_CONTACTS_CONTAINER).removeClass('hidden');
|
||||
};
|
||||
|
||||
/**
|
||||
* Hide the whole contacts results area.
|
||||
*
|
||||
* @param {Object} body Search body container element.
|
||||
*/
|
||||
var hideAllContactsSearchResults = function(body) {
|
||||
var container = getSearchResultsContainer(body);
|
||||
container.find(SELECTORS.ALL_CONTACTS_CONTAINER).addClass('hidden');
|
||||
};
|
||||
|
||||
/**
|
||||
* Show the contacts results.
|
||||
*
|
||||
* @param {Object} body Search body container element.
|
||||
*/
|
||||
var showContactsSearchResults = function(body) {
|
||||
var container = getSearchResultsContainer(body);
|
||||
container.find(SELECTORS.CONTACTS_CONTAINER).removeClass('hidden');
|
||||
};
|
||||
|
||||
/**
|
||||
* Hide the contacts results.
|
||||
*
|
||||
* @param {Object} body Search body container element.
|
||||
*/
|
||||
var hideContactsSearchResults = function(body) {
|
||||
var container = getSearchResultsContainer(body);
|
||||
container.find(SELECTORS.CONTACTS_CONTAINER).addClass('hidden');
|
||||
};
|
||||
|
||||
/**
|
||||
* Show the non contacts results.
|
||||
*
|
||||
* @param {Object} body Search body container element.
|
||||
*/
|
||||
var showNonContactsSearchResults = function(body) {
|
||||
var container = getSearchResultsContainer(body);
|
||||
container.find(SELECTORS.NON_CONTACTS_CONTAINER).removeClass('hidden');
|
||||
};
|
||||
|
||||
/**
|
||||
* Hide the non contacts results.
|
||||
*
|
||||
* @param {Object} body Search body container element.
|
||||
*/
|
||||
var hideNonContactsSearchResults = function(body) {
|
||||
var container = getSearchResultsContainer(body);
|
||||
container.find(SELECTORS.NON_CONTACTS_CONTAINER).addClass('hidden');
|
||||
};
|
||||
|
||||
/**
|
||||
* Show the messages results.
|
||||
*
|
||||
* @param {Object} body Search body container element.
|
||||
*/
|
||||
var showMessagesSearchResults = function(body) {
|
||||
var container = getSearchResultsContainer(body);
|
||||
container.find(SELECTORS.MESSAGES_CONTAINER).removeClass('hidden');
|
||||
};
|
||||
|
||||
/**
|
||||
* Hide the messages results.
|
||||
*
|
||||
* @param {Object} body Search body container element.
|
||||
*/
|
||||
var hideMessagesSearchResults = function(body) {
|
||||
var container = getSearchResultsContainer(body);
|
||||
container.find(SELECTORS.MESSAGES_CONTAINER).addClass('hidden');
|
||||
};
|
||||
|
||||
/**
|
||||
* Disable the search input.
|
||||
*
|
||||
@@ -303,7 +408,11 @@ function(
|
||||
body.find(SELECTORS.CONTACTS_LIST).empty();
|
||||
body.find(SELECTORS.NON_CONTACTS_LIST).empty();
|
||||
body.find(SELECTORS.MESSAGES_LIST).empty();
|
||||
body.find(SELECTORS.NO_RESULTS_CONTAINTER).addClass('hidden');
|
||||
hideNoSearchResults(body);
|
||||
showAllContactsSearchResults(body);
|
||||
showContactsSearchResults(body);
|
||||
showNonContactsSearchResults(body);
|
||||
showMessagesSearchResults(body);
|
||||
showLoadMoreUsersButton(body);
|
||||
showLoadMoreMessagesButton(body);
|
||||
};
|
||||
@@ -514,17 +623,11 @@ function(
|
||||
var container = getContactsContainer(root);
|
||||
var list = container.find(SELECTORS.LIST);
|
||||
|
||||
if (!contacts.length && !list.children().length) {
|
||||
var noResultsContainer = container.find(SELECTORS.NO_RESULTS_CONTAINTER);
|
||||
noResultsContainer.removeClass('hidden');
|
||||
return $.Deferred().resolve('').promise();
|
||||
} else {
|
||||
return Templates.render(TEMPLATES.CONTACTS_LIST, {contacts: contacts})
|
||||
.then(function(html) {
|
||||
list.append(html);
|
||||
return html;
|
||||
});
|
||||
}
|
||||
return Templates.render(TEMPLATES.CONTACTS_LIST, {contacts: contacts})
|
||||
.then(function(html) {
|
||||
list.append(html);
|
||||
return html;
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -538,17 +641,11 @@ function(
|
||||
var container = getNonContactsContainer(root);
|
||||
var list = container.find(SELECTORS.LIST);
|
||||
|
||||
if (!nonContacts.length && !list.children().length) {
|
||||
var noResultsContainer = container.find(SELECTORS.NO_RESULTS_CONTAINTER);
|
||||
noResultsContainer.removeClass('hidden');
|
||||
return $.Deferred().resolve('').promise();
|
||||
} else {
|
||||
return Templates.render(TEMPLATES.NON_CONTACTS_LIST, {noncontacts: nonContacts})
|
||||
.then(function(html) {
|
||||
list.append(html);
|
||||
return html;
|
||||
});
|
||||
}
|
||||
return Templates.render(TEMPLATES.NON_CONTACTS_LIST, {noncontacts: nonContacts})
|
||||
.then(function(html) {
|
||||
list.append(html);
|
||||
return html;
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -562,17 +659,11 @@ function(
|
||||
var container = getMessagesContainer(root);
|
||||
var list = container.find(SELECTORS.LIST);
|
||||
|
||||
if (!messages.length && !list.children().length) {
|
||||
var noResultsContainer = container.find(SELECTORS.NO_RESULTS_CONTAINTER);
|
||||
noResultsContainer.removeClass('hidden');
|
||||
return $.Deferred().resolve('').promise();
|
||||
} else {
|
||||
return Templates.render(TEMPLATES.MESSAGES_LIST, {messages: messages})
|
||||
.then(function(html) {
|
||||
list.append(html);
|
||||
return html;
|
||||
});
|
||||
}
|
||||
return Templates.render(TEMPLATES.MESSAGES_LIST, {messages: messages})
|
||||
.then(function(html) {
|
||||
list.append(html);
|
||||
return html;
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -588,6 +679,7 @@ function(
|
||||
var loadMoreUsers = function(root, loggedInUserId, text, limit, offset) {
|
||||
var loadedAll = false;
|
||||
showUsersLoadingIcon(root);
|
||||
|
||||
return Repository.searchUsers(loggedInUserId, text, limit + 1, offset)
|
||||
.then(function(results) {
|
||||
var contacts = results.contacts;
|
||||
@@ -607,19 +699,28 @@ function(
|
||||
}
|
||||
})
|
||||
.then(function(results) {
|
||||
var contactsCount = results.contacts.length;
|
||||
var nonContactsCount = results.noncontacts.length;
|
||||
|
||||
return $.when(
|
||||
renderContacts(root, results.contacts),
|
||||
renderNonContacts(root, results.noncontacts)
|
||||
);
|
||||
contactsCount ? renderContacts(root, results.contacts) : true,
|
||||
nonContactsCount ? renderNonContacts(root, results.noncontacts) : true
|
||||
)
|
||||
.then(function() {
|
||||
return {
|
||||
contactsCount: contactsCount,
|
||||
nonContactsCount: nonContactsCount
|
||||
};
|
||||
});
|
||||
})
|
||||
.then(function() {
|
||||
.then(function(counts) {
|
||||
hideUsersLoadingIcon(root);
|
||||
|
||||
if (loadedAll) {
|
||||
hideLoadMoreUsersButton(root);
|
||||
}
|
||||
|
||||
return;
|
||||
return counts;
|
||||
})
|
||||
.catch(function(error) {
|
||||
hideUsersLoadingIcon(root);
|
||||
@@ -641,6 +742,7 @@ function(
|
||||
var loadMoreMessages = function(root, loggedInUserId, text, limit, offset) {
|
||||
var loadedAll = false;
|
||||
showMessagesLoadingIcon(root);
|
||||
|
||||
return Repository.searchMessages(loggedInUserId, text, limit + 1, offset)
|
||||
.then(function(results) {
|
||||
var messages = results.contacts;
|
||||
@@ -653,16 +755,23 @@ function(
|
||||
}
|
||||
})
|
||||
.then(function(messages) {
|
||||
return renderMessages(root, messages);
|
||||
if (messages.length) {
|
||||
return renderMessages(root, messages)
|
||||
.then(function() {
|
||||
return messages.length;
|
||||
});
|
||||
} else {
|
||||
return messages.length;
|
||||
}
|
||||
})
|
||||
.then(function() {
|
||||
.then(function(count) {
|
||||
hideMessagesLoadingIcon(root);
|
||||
|
||||
if (loadedAll) {
|
||||
hideLoadMoreMessagesButton(root);
|
||||
}
|
||||
|
||||
return;
|
||||
return count;
|
||||
})
|
||||
.catch(function(error) {
|
||||
hideMessagesLoadingIcon(root);
|
||||
@@ -692,8 +801,32 @@ function(
|
||||
loadMoreUsers(body, loggedInUserId, searchText, usersLimit, usersOffset),
|
||||
loadMoreMessages(body, loggedInUserId, searchText, messagesLimit, messagesOffset)
|
||||
)
|
||||
.then(function() {
|
||||
.then(function(userCounts, messagesCount) {
|
||||
var contactsCount = userCounts.contactsCount;
|
||||
var nonContactsCount = userCounts.nonContactsCount;
|
||||
|
||||
stopLoading(header, body);
|
||||
|
||||
if (!contactsCount && !nonContactsCount && !messagesCount) {
|
||||
showNoSearchResults(body);
|
||||
} else {
|
||||
if (!contactsCount && !nonContactsCount) {
|
||||
hideAllContactsSearchResults(body);
|
||||
} else {
|
||||
if (!contactsCount) {
|
||||
hideContactsSearchResults(body);
|
||||
}
|
||||
|
||||
if (!nonContactsCount) {
|
||||
hideNonContactsSearchResults(body);
|
||||
}
|
||||
}
|
||||
|
||||
if (!messagesCount) {
|
||||
hideMessagesSearchResults(body);
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
});
|
||||
};
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
<div class="hidden" data-region="loading-placeholder">
|
||||
{{> core_message/message_drawer_view_search_results_content_placeholder }}
|
||||
</div>
|
||||
<div class="p-2" data-region="empty-message-container">
|
||||
<div class="p-3 text-center" data-region="empty-message-container">
|
||||
<p>{{#str}} searchcombined, core_message {{/str}}</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -36,20 +36,14 @@
|
||||
}}
|
||||
|
||||
<div class="d-flex flex-column">
|
||||
<div class="mb-3 bg-white">
|
||||
<div class="mb-3 bg-white" data-region="all-contacts-container">
|
||||
<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 px-2" data-region="no-results-container">
|
||||
{{#str}} searchnocontactsfound, core_message {{/str}}
|
||||
</p>
|
||||
</div>
|
||||
<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 px-2" data-region="no-results-container">
|
||||
{{#str}} searchnononcontactsfound, core_message {{/str}}
|
||||
</p>
|
||||
</div>
|
||||
<div class="text-right">
|
||||
<button class="btn btn-link text-primary" data-action="load-more-users">
|
||||
@@ -58,14 +52,9 @@
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="bg-white">
|
||||
<div data-region="messages-container">
|
||||
<h4 class="h6 px-2 pt-2">{{#str}} messages, core_message {{/str}}</h4>
|
||||
<div class="list-group" data-region="list"></div>
|
||||
<p class="hidden px-2" data-region="no-results-container">
|
||||
{{#str}} searchnomessagesfound, core_message {{/str}}
|
||||
</p>
|
||||
</div>
|
||||
<div class="bg-white" data-region="messages-container">
|
||||
<h4 class="h6 px-2 pt-2">{{#str}} messages, core_message {{/str}}</h4>
|
||||
<div class="list-group" data-region="list"></div>
|
||||
<div class="text-right">
|
||||
<button class="btn btn-link text-primary" data-action="load-more-messages">
|
||||
<span data-region="button-text">{{#str}} loadmore, core_message {{/str}}</span>
|
||||
@@ -73,4 +62,5 @@
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<p class="hidden p-3 text-center" data-region="no-results-container">{{#str}} noresults, core {{/str}}</p>
|
||||
</div>
|
||||
Reference in New Issue
Block a user