+
diff --git a/addons/mail/static/src/components/emoji_grid_view/emoji_grid_view.xml b/addons/mail/static/src/components/emoji_grid_view/emoji_grid_view.xml
index fb7e63be43f..0021ef73dc5 100644
--- a/addons/mail/static/src/components/emoji_grid_view/emoji_grid_view.xml
+++ b/addons/mail/static/src/components/emoji_grid_view/emoji_grid_view.xml
@@ -3,6 +3,7 @@
+
diff --git a/addons/mail/static/src/models/emoji_grid_loading_screen.js b/addons/mail/static/src/models/emoji_grid_loading_screen.js
new file mode 100644
index 00000000000..0b40d52c221
--- /dev/null
+++ b/addons/mail/static/src/models/emoji_grid_loading_screen.js
@@ -0,0 +1,19 @@
+/** @odoo-module **/
+
+import { registerModel } from '@mail/model/model_core';
+import { attr, one } from '@mail/model/model_field';
+
+registerModel({
+ name: 'EmojiGridLoadingScreen',
+ fields: {
+ emojiGridViewOwner: one('EmojiGridView', {
+ identifying: true,
+ inverse: 'loadingScreenView',
+ }),
+ text: attr({
+ compute() {
+ return this.env._t("Loading...");
+ },
+ }),
+ },
+});
diff --git a/addons/mail/static/src/models/emoji_grid_view.js b/addons/mail/static/src/models/emoji_grid_view.js
index 3e9b209dc80..9632dec8a93 100644
--- a/addons/mail/static/src/models/emoji_grid_view.js
+++ b/addons/mail/static/src/models/emoji_grid_view.js
@@ -132,6 +132,15 @@ registerModel({
default: 0,
}),
listRef: attr(),
+ loadingScreenView: one('EmojiGridLoadingScreen', {
+ compute() {
+ if (!this.messaging.emojiRegistry.isLoaded) {
+ return {};
+ }
+ return clear();
+ },
+ inverse: 'emojiGridViewOwner',
+ }),
nonSearchRowRegistry: one('EmojiGridViewRowRegistry', {
default: {},
inverse: 'emojiGridViewOwnerAsNonSearch',