diff --git a/addons/mail/static/src/components/emoji_grid_search_no_content_view/emoji_grid_search_no_content_view.js b/addons/mail/static/src/components/emoji_grid_search_no_content_view/emoji_grid_search_no_content_view.js new file mode 100644 index 00000000000..688894cdeed --- /dev/null +++ b/addons/mail/static/src/components/emoji_grid_search_no_content_view/emoji_grid_search_no_content_view.js @@ -0,0 +1,21 @@ +/** @odoo-module **/ + +import { registerMessagingComponent } from '@mail/utils/messaging_component'; + +const { Component } = owl; + +export class EmojiGridSearchNoContentView extends Component { + /** + * @returns {EmojiGridSearchNoContentView} + */ + get emojiGridSearchNoContentView() { + return this.props.record; + } +} + +Object.assign(EmojiGridSearchNoContentView, { + props: { record: Object }, + template: 'mail.EmojiGridSearchNoContentView', +}); + +registerMessagingComponent(EmojiGridSearchNoContentView); diff --git a/addons/mail/static/src/components/emoji_grid_search_no_content_view/emoji_grid_search_no_content_view.scss b/addons/mail/static/src/components/emoji_grid_search_no_content_view/emoji_grid_search_no_content_view.scss new file mode 100644 index 00000000000..366de627326 --- /dev/null +++ b/addons/mail/static/src/components/emoji_grid_search_no_content_view/emoji_grid_search_no_content_view.scss @@ -0,0 +1,5 @@ + +.o_EmojiGridSearchNoContentView_image { + filter: grayscale(1); + font-size: 5rem; +} diff --git a/addons/mail/static/src/components/emoji_grid_search_no_content_view/emoji_grid_search_no_content_view.xml b/addons/mail/static/src/components/emoji_grid_search_no_content_view/emoji_grid_search_no_content_view.xml new file mode 100644 index 00000000000..1536c891aa0 --- /dev/null +++ b/addons/mail/static/src/components/emoji_grid_search_no_content_view/emoji_grid_search_no_content_view.xml @@ -0,0 +1,10 @@ + + + + +
+
😢
+ +
+
+
diff --git a/addons/mail/static/src/components/emoji_grid_view/emoji_grid_view.scss b/addons/mail/static/src/components/emoji_grid_view/emoji_grid_view.scss index a746a196e9c..2fad438ef90 100644 --- a/addons/mail/static/src/components/emoji_grid_view/emoji_grid_view.scss +++ b/addons/mail/static/src/components/emoji_grid_view/emoji_grid_view.scss @@ -2,12 +2,6 @@ // Layout // ------------------------------------------------------------------ -.o_EmojiGridView { - display: grid; - grid-template-columns: repeat(9, 1fr); - text-align: center; -} - .o_EmojiGridView_container { height: auto; width: auto; 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 80b1967130e..823b680b308 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,7 +3,8 @@
-
+ +
diff --git a/addons/mail/static/src/models/emoji_grid_no_search_content_view.js b/addons/mail/static/src/models/emoji_grid_no_search_content_view.js new file mode 100644 index 00000000000..ea9e418e33a --- /dev/null +++ b/addons/mail/static/src/models/emoji_grid_no_search_content_view.js @@ -0,0 +1,19 @@ +/** @odoo-module **/ + +import { registerModel } from '@mail/model/model_core'; +import { attr, one } from '@mail/model/model_field'; + +registerModel({ + name: 'EmojiGridNoSearchContentView', + fields: { + emojiGridViewOwner: one('EmojiGridView', { + identifying: true, + inverse: 'searchNoContentView', + }), + text: attr({ + compute() { + return this.env._t("No emoji match your search"); + }, + }), + }, +}); diff --git a/addons/mail/static/src/models/emoji_grid_view.js b/addons/mail/static/src/models/emoji_grid_view.js index 6c33a8554b3..a898807d9df 100644 --- a/addons/mail/static/src/models/emoji_grid_view.js +++ b/addons/mail/static/src/models/emoji_grid_view.js @@ -182,6 +182,16 @@ registerModel({ scrollRecomputeCount: attr({ default: 0, }), + searchNoContentView: one('EmojiGridNoSearchContentView', { + compute() { + if (this.emojiPickerViewOwner.emojiSearchBarView.currentSearch !== "" && this.rows.length === 0) { + return {}; + } + return clear(); + }, + inverse: 'emojiGridViewOwner', + isCausal: true, + }), searchRowRegistry: one('EmojiGridViewRowRegistry', { default: {}, inverse: 'emojiGridViewOwnerAsSearch',