diff --git a/phpBB/adm/style/admin.css b/phpBB/adm/style/admin.css
index 7b5257859f..e48edf49cf 100644
--- a/phpBB/adm/style/admin.css
+++ b/phpBB/adm/style/admin.css
@@ -1676,7 +1676,7 @@ fieldset.submit-buttons legend {
font-weight: bold;
}
-.mention-container { /* mention-container */
+.mention-container {
text-align: left;
background-color: #ffffff;
border-radius: 2px;
@@ -1691,11 +1691,11 @@ fieldset.submit-buttons legend {
transition: all 0.2s ease;
}
-.rtl .mention-container { /* mention-container */
+.rtl .mention-container {
text-align: right;
}
-.mention-container ul { /* mention-list */
+.mention-list {
margin: 0;
padding: 0;
list-style-type: none;
diff --git a/phpBB/assets/javascript/editor.js b/phpBB/assets/javascript/editor.js
index 7945924b84..a96a291a20 100644
--- a/phpBB/assets/javascript/editor.js
+++ b/phpBB/assets/javascript/editor.js
@@ -626,6 +626,26 @@ function getCaretPosition(txtarea) {
});
}
+ /**
+ * Generate menu item HTML representation. Also ensures that mention-list
+ * class is set for unordered list in mention container
+ *
+ * @param {object} data Item data
+ * @returns {string} HTML representation of menu item
+ */
+ function menuItemTemplate(data) {
+ const itemData = data;
+ const avatar = getAvatar(itemData.avatar, itemData.type);
+ const rank = (itemData.rank) ? "" + itemData.rank + "" : '';
+ const $mentionContainer = $('.' + tribute.current.collection.containerClass);
+
+ if (typeof $mentionContainer !== 'undefined' && $mentionContainer.children('ul').hasClass('mention-list') === false) {
+ $mentionContainer.children('ul').addClass('mention-list');
+ }
+
+ return "" + avatar + "" + itemData.name + rank + "";
+ }
+
this.isEnabled = function() {
return $mentionDataContainer.length;
};
@@ -637,12 +657,7 @@ function getCaretPosition(txtarea) {
containerClass: 'mention-container',
selectClass: 'is-active',
itemClass: 'mention-item',
- menuItemTemplate: function (data) {
- const itemData = data;
- let avatar = getAvatar(itemData.avatar, itemData.type);
- let rank = (itemData.rank) ? "" + itemData.rank + "" : '';
- return "" + avatar + "" + itemData.name + rank + "";
- },
+ menuItemTemplate: menuItemTemplate,
selectTemplate: function (item) {
return '[mention=' + item.type + ':' + item.id + ']' + item.name + '[/mention]';
},
diff --git a/phpBB/styles/prosilver/theme/mentions.css b/phpBB/styles/prosilver/theme/mentions.css
index 23816982b5..cec8e3fe5d 100644
--- a/phpBB/styles/prosilver/theme/mentions.css
+++ b/phpBB/styles/prosilver/theme/mentions.css
@@ -13,7 +13,7 @@
/* Mention dropdown
---------------------------------------- */
-.mention-container { /* mention-container */
+.mention-container {
text-align: left;
border-radius: 2px;
position: absolute;
@@ -23,7 +23,7 @@
transition: all 0.2s ease;
}
-.mention-container ul { /* mention-list */
+.mention-list {
margin: 0;
padding: 0;
list-style-type: none;