From 035c4fae5063f681b5bdb6d19ccf441dd1984d60 Mon Sep 17 00:00:00 2001 From: Jorik Schellekens Date: Mon, 25 May 2020 18:11:55 +0100 Subject: [PATCH] Refactor Payloads --- src/dispatcher/actions.ts | 2 +- src/dispatcher/payloads/ViewTooltipPayload.ts | 35 +++++++++++++++++++ src/dispatcher/payloads/ViewUserPayload.ts | 17 --------- 3 files changed, 36 insertions(+), 18 deletions(-) create mode 100644 src/dispatcher/payloads/ViewTooltipPayload.ts diff --git a/src/dispatcher/actions.ts b/src/dispatcher/actions.ts index 9cd9f7c9ba..8b1be1c54e 100644 --- a/src/dispatcher/actions.ts +++ b/src/dispatcher/actions.ts @@ -40,7 +40,7 @@ export enum Action { ViewUserSettings = "view_user_settings", /** - * Sets the current tooltip + * Sets the current tooltip. Should be use with ViewTooltipPayload. */ ViewTooltip = "view_tooltip", } diff --git a/src/dispatcher/payloads/ViewTooltipPayload.ts b/src/dispatcher/payloads/ViewTooltipPayload.ts new file mode 100644 index 0000000000..8778287128 --- /dev/null +++ b/src/dispatcher/payloads/ViewTooltipPayload.ts @@ -0,0 +1,35 @@ +/* +Copyright 2020 The Matrix.org Foundation C.I.C. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +import { ActionPayload } from "../payloads"; +import { Action } from "../actions"; +import { Component } from "react"; + +export interface ViewTooltipPayload extends ActionPayload { + action: Action.ViewTooltip, + + /* + * The tooltip to render. If it's null the tooltip will not be rendered + * We need the void type because of typescript headaches. + */ + tooltip: null | void | Element | Component; + + /* + * The parent under which to render the tooltip. Can be null to remove + * the parent type. + */ + parent: null | Element +} \ No newline at end of file diff --git a/src/dispatcher/payloads/ViewUserPayload.ts b/src/dispatcher/payloads/ViewUserPayload.ts index d1f6db8968..ed602d4e24 100644 --- a/src/dispatcher/payloads/ViewUserPayload.ts +++ b/src/dispatcher/payloads/ViewUserPayload.ts @@ -17,7 +17,6 @@ limitations under the License. import { RoomMember } from "matrix-js-sdk/src/models/room-member"; import { ActionPayload } from "../payloads"; import { Action } from "../actions"; -import { Component } from "react"; export interface ViewUserPayload extends ActionPayload { action: Action.ViewUser, @@ -28,19 +27,3 @@ export interface ViewUserPayload extends ActionPayload { */ member?: RoomMember; } - -export interface ViewTooltipPayload extends ActionPayload { - action: Action.ViewTooltip, - - /* - * The tooltip to render. If it's null the tooltip will not be rendered - * We need the void type because of typescript headaches. - */ - tooltip: null | void | Element | Component; - - /* - * The parent under which to render the tooltip. Can be null to remove - * the parent type. - */ - parent: null | Element -}