From 95b6b91fca1a8ccc80f37606ce5f0ebcb5d74d7e Mon Sep 17 00:00:00 2001 From: "Didier (did)" Date: Tue, 25 Apr 2023 07:45:15 +0000 Subject: [PATCH] [IMP] mail: better typing for composer and use Ref typedef MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This PR complete the type definition for the props of the composer and replace the custom Object by Ref type in the relevant place. closes odoo/odoo#119593 Signed-off-by: Sébastien Theys (seb) --- addons/mail/static/src/composer/composer.js | 11 ++++++++++- addons/mail/static/src/emoji_picker/emoji_picker.js | 4 ++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/addons/mail/static/src/composer/composer.js b/addons/mail/static/src/composer/composer.js index e7713dae2c3..45ae3ccbc02 100644 --- a/addons/mail/static/src/composer/composer.js +++ b/addons/mail/static/src/composer/composer.js @@ -29,6 +29,15 @@ export const LONG_TYPING = 50000; * @typedef {Object} Props * @property {import("@mail/composer/composer_model").Composer} composer * @property {import("@mail/utils/hooks").MessageToReplyTo} messageToReplyTo + * @property {import("@mail/utils/hooks").MessageEdition} [messageEdition] + * @property {'compact'|'normal'|'extended'} [mode] default: 'normal' + * @property {string} [placeholder] + * @property {string} [className] + * @property {function} [onDiscardCallback] + * @property {function} [onPostCallback] + * @property {Component} [messageComponent] + * @property {number} [autofocus] + * @property {import("@web/core/utils/hooks").Ref} [dropzoneRef] * @extends {Component} */ export class Composer extends Component { @@ -41,7 +50,7 @@ export class Composer extends Component { static defaultProps = { mode: "normal", className: "", - }; // mode = compact, normal, extended + }; static props = [ "composer", "autofocus?", diff --git a/addons/mail/static/src/emoji_picker/emoji_picker.js b/addons/mail/static/src/emoji_picker/emoji_picker.js index d831351ab7c..c9137ea10af 100644 --- a/addons/mail/static/src/emoji_picker/emoji_picker.js +++ b/addons/mail/static/src/emoji_picker/emoji_picker.js @@ -22,7 +22,7 @@ import { escapeRegExp } from "@web/core/utils/strings"; /** * - * @param {{ el:HTMLElement }} [ref] + * @param {import("@web/core/utils/hooks").Ref} [ref] * @param {Object} props * @param {import("@web/core/popover/popover_service").PopoverServiceAddOptions} [options] * @param {function} [props.onSelect] @@ -42,7 +42,7 @@ export function useEmojiPicker(ref, props, options = {}) { }; /** - * @param {{ el: HTMLElement }} ref + * @param {import("@web/core/utils/hooks").Ref} ref */ function add(ref, onSelect, { show = false } = {}) { const toggler = () => toggle(ref, onSelect);