[IMP] sms/mass_mailing: add emojis support to the base SmsWidget

This commit adds emojis to base SmsWidget in order to use a text field with
both sms and emoji widgets in "mass_mailing_sms" module for sms content.

The emoji feature is optional (depends on "enable_emojis" attribute). To add
the emoji support, the following changes have been made:

  * override the method "on_attach_callback" from emoji widget base code to
    hide emojis if not enabled;

We also adjust the css of emoji widget to make it suitable for a text field
with sms option.

Task ID-2224393
PR #49096
This commit is contained in:
xO-Tx
2020-08-11 14:38:32 +00:00
committed by Thibault Delavallée
parent 7a253beab2
commit 6e8f4ff3ea
2 changed files with 20 additions and 5 deletions
@@ -14,7 +14,12 @@
}
}
}
.o_form_view {
// This will display the emoji widget in the right position after a text field with sms option.
.o_sms_container ~ .o_mail_add_emoji{
bottom: 55px;
}
}
.o_white_body {
background-color: white;
}
+14 -4
View File
@@ -1,11 +1,9 @@
odoo.define('sms.sms_widget', function (require) {
"use strict";
var basicFields = require('web.basic_fields');
var core = require('web.core');
var fieldRegistry = require('web.field_registry');
var FieldText = basicFields.FieldText;
var FieldTextEmojis = require('mail.field_text_emojis');
var _t = core._t;
/**
@@ -13,8 +11,9 @@ var _t = core._t;
* the number of SMS and the number of characters. This text is computed every
* time the user changes the body.
*/
var SmsWidget = FieldText.extend({
var SmsWidget = FieldTextEmojis.extend({
className: 'o_field_text',
enableEmojis: false,
/**
* @constructor
*/
@@ -23,6 +22,17 @@ var SmsWidget = FieldText.extend({
this.nbrChar = 0;
this.nbrSMS = 0;
this.encoding = 'GSM7';
this.enableEmojis = !!this.nodeOptions.enable_emojis;
},
/**
* @override
*"This will add the emoji dropdown to a target field (controlled by the "enableEmojis" attribute)
*/
on_attach_callback: function () {
if (this.enableEmojis) {
this._super.apply(this, arguments);
}
},
//--------------------------------------------------------------------------