Convert ReactWrapperView
to TypeScript
This commit is contained in:
parent
bb9a270bfd
commit
63189f3f91
16 changed files with 325 additions and 364 deletions
|
@ -1,8 +1,9 @@
|
|||
// Copyright 2020-2021 Signal Messenger, LLC
|
||||
// Copyright 2020-2022 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import { webFrame } from 'electron';
|
||||
import type { AudioDevice } from 'ringrtc';
|
||||
import * as React from 'react';
|
||||
|
||||
import type { ZoomFactorType } from '../types/Storage.d';
|
||||
import type {
|
||||
|
@ -15,6 +16,9 @@ import * as Stickers from '../types/Stickers';
|
|||
import type { SystemTraySetting } from '../types/SystemTraySetting';
|
||||
import { parseSystemTraySetting } from '../types/SystemTraySetting';
|
||||
|
||||
import { ReactWrapperView } from '../views/ReactWrapperView';
|
||||
import { ErrorModal } from '../components/ErrorModal';
|
||||
|
||||
import type { ConversationType } from '../state/ducks/conversations';
|
||||
import { calling } from '../services/calling';
|
||||
import { getConversationsWithCustomColorSelector } from '../state/selectors/conversations';
|
||||
|
@ -406,7 +410,7 @@ export function createIPCEvents(
|
|||
},
|
||||
};
|
||||
|
||||
const stickerPreviewModalView = new window.Whisper.ReactWrapperView({
|
||||
const stickerPreviewModalView = new ReactWrapperView({
|
||||
className: 'sticker-preview-modal-wrapper',
|
||||
JSX: window.Signal.State.Roots.createStickerPreviewModal(
|
||||
window.reduxStore,
|
||||
|
@ -419,14 +423,16 @@ export function createIPCEvents(
|
|||
'showStickerPack: Ran into an error!',
|
||||
error && error.stack ? error.stack : error
|
||||
);
|
||||
const errorView = new window.Whisper.ReactWrapperView({
|
||||
const errorView = new ReactWrapperView({
|
||||
className: 'error-modal-wrapper',
|
||||
Component: window.Signal.Components.ErrorModal,
|
||||
props: {
|
||||
onClose: () => {
|
||||
errorView.remove();
|
||||
},
|
||||
},
|
||||
JSX: (
|
||||
<ErrorModal
|
||||
i18n={window.i18n}
|
||||
onClose={() => {
|
||||
errorView.remove();
|
||||
}}
|
||||
/>
|
||||
),
|
||||
});
|
||||
}
|
||||
},
|
||||
|
@ -447,16 +453,18 @@ export function createIPCEvents(
|
|||
'showGroupViaLink: Ran into an error!',
|
||||
error && error.stack ? error.stack : error
|
||||
);
|
||||
const errorView = new window.Whisper.ReactWrapperView({
|
||||
const errorView = new ReactWrapperView({
|
||||
className: 'error-modal-wrapper',
|
||||
Component: window.Signal.Components.ErrorModal,
|
||||
props: {
|
||||
title: window.i18n('GroupV2--join--general-join-failure--title'),
|
||||
description: window.i18n('GroupV2--join--general-join-failure'),
|
||||
onClose: () => {
|
||||
errorView.remove();
|
||||
},
|
||||
},
|
||||
JSX: (
|
||||
<ErrorModal
|
||||
i18n={window.i18n}
|
||||
title={window.i18n('GroupV2--join--general-join-failure--title')}
|
||||
description={window.i18n('GroupV2--join--general-join-failure')}
|
||||
onClose={() => {
|
||||
errorView.remove();
|
||||
}}
|
||||
/>
|
||||
),
|
||||
});
|
||||
}
|
||||
window.isShowingModal = false;
|
||||
|
@ -513,14 +521,16 @@ export function createIPCEvents(
|
|||
}
|
||||
|
||||
function showUnknownSgnlLinkModal(): void {
|
||||
const errorView = new window.Whisper.ReactWrapperView({
|
||||
const errorView = new ReactWrapperView({
|
||||
className: 'error-modal-wrapper',
|
||||
Component: window.Signal.Components.ErrorModal,
|
||||
props: {
|
||||
description: window.i18n('unknown-sgnl-link'),
|
||||
onClose: () => {
|
||||
errorView.remove();
|
||||
},
|
||||
},
|
||||
JSX: (
|
||||
<ErrorModal
|
||||
i18n={window.i18n}
|
||||
description={window.i18n('unknown-sgnl-link')}
|
||||
onClose={() => {
|
||||
errorView.remove();
|
||||
}}
|
||||
/>
|
||||
),
|
||||
});
|
||||
}
|
|
@ -1,8 +1,10 @@
|
|||
// Copyright 2021 Signal Messenger, LLC
|
||||
// Copyright 2021-2022 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import type { Message } from '../components/conversation/media-gallery/types/Message';
|
||||
import type { MessageAttributesType } from '../model-types.d';
|
||||
|
||||
export function getMessageTimestamp(message: Message): number {
|
||||
export function getMessageTimestamp(
|
||||
message: Pick<MessageAttributesType, 'received_at' | 'received_at_ms'>
|
||||
): number {
|
||||
return message.received_at_ms || message.received_at;
|
||||
}
|
||||
|
|
|
@ -7967,7 +7967,7 @@
|
|||
},
|
||||
{
|
||||
"rule": "jQuery-$(",
|
||||
"path": "ts/util/createIPCEvents.ts",
|
||||
"path": "ts/util/createIPCEvents.tsx",
|
||||
"line": " if ($('.dark-overlay').length) {",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-08-18T18:22:55.307Z",
|
||||
|
@ -7975,7 +7975,7 @@
|
|||
},
|
||||
{
|
||||
"rule": "jQuery-$(",
|
||||
"path": "ts/util/createIPCEvents.ts",
|
||||
"path": "ts/util/createIPCEvents.tsx",
|
||||
"line": " $(document.body).prepend('<div class=\"dark-overlay\"></div>');",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-08-18T18:22:55.307Z",
|
||||
|
@ -7983,7 +7983,7 @@
|
|||
},
|
||||
{
|
||||
"rule": "jQuery-$(",
|
||||
"path": "ts/util/createIPCEvents.ts",
|
||||
"path": "ts/util/createIPCEvents.tsx",
|
||||
"line": " $('.dark-overlay').on('click', () => $('.dark-overlay').remove());",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-08-18T18:22:55.307Z",
|
||||
|
@ -7991,7 +7991,7 @@
|
|||
},
|
||||
{
|
||||
"rule": "jQuery-$(",
|
||||
"path": "ts/util/createIPCEvents.ts",
|
||||
"path": "ts/util/createIPCEvents.tsx",
|
||||
"line": " removeDarkOverlay: () => $('.dark-overlay').remove(),",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-08-18T18:22:55.307Z",
|
||||
|
@ -7999,7 +7999,7 @@
|
|||
},
|
||||
{
|
||||
"rule": "jQuery-prepend(",
|
||||
"path": "ts/util/createIPCEvents.ts",
|
||||
"path": "ts/util/createIPCEvents.tsx",
|
||||
"line": " $(document.body).prepend('<div class=\"dark-overlay\"></div>');",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-08-18T18:22:55.307Z",
|
||||
|
@ -8021,84 +8021,84 @@
|
|||
},
|
||||
{
|
||||
"rule": "jQuery-$(",
|
||||
"path": "ts/views/inbox_view.ts",
|
||||
"path": "ts/views/inbox_view.tsx",
|
||||
"line": " template: () => $('#app-loading-screen').html(),",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-09-15T21:07:50.995Z"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-$(",
|
||||
"path": "ts/views/inbox_view.ts",
|
||||
"path": "ts/views/inbox_view.tsx",
|
||||
"line": " this.$('.message').text(message);",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-09-15T21:07:50.995Z"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-$(",
|
||||
"path": "ts/views/inbox_view.ts",
|
||||
"path": "ts/views/inbox_view.tsx",
|
||||
"line": " template: () => $('#two-column').html(),",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-09-15T21:07:50.995Z"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-$(",
|
||||
"path": "ts/views/inbox_view.ts",
|
||||
"path": "ts/views/inbox_view.tsx",
|
||||
"line": " el: this.$('.conversation-stack'),",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-09-15T21:07:50.995Z"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-$(",
|
||||
"path": "ts/views/inbox_view.ts",
|
||||
"path": "ts/views/inbox_view.tsx",
|
||||
"line": " this.$('.no-conversation-open').toggle(!isAnyConversationOpen);",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-10-08T17:40:22.770Z"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-$(",
|
||||
"path": "ts/views/inbox_view.ts",
|
||||
"path": "ts/views/inbox_view.tsx",
|
||||
"line": " this.$('.left-pane-placeholder').replaceWith(this.leftPaneView.el);",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-10-08T17:40:22.770Z"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-$(",
|
||||
"path": "ts/views/inbox_view.ts",
|
||||
"path": "ts/views/inbox_view.tsx",
|
||||
"line": " this.$('.whats-new-placeholder').append(this.whatsNewLink.el);",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-10-22T20:58:48.103Z"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-append(",
|
||||
"path": "ts/views/inbox_view.ts",
|
||||
"path": "ts/views/inbox_view.tsx",
|
||||
"line": " this.$('.whats-new-placeholder').append(this.whatsNewLink.el);",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-10-22T20:58:48.103Z"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-appendTo(",
|
||||
"path": "ts/views/inbox_view.ts",
|
||||
"path": "ts/views/inbox_view.tsx",
|
||||
"line": " view.$el.appendTo(this.el);",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-09-15T21:07:50.995Z"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-html(",
|
||||
"path": "ts/views/inbox_view.ts",
|
||||
"path": "ts/views/inbox_view.tsx",
|
||||
"line": " template: () => $('#app-loading-screen').html(),",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-09-15T21:07:50.995Z"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-html(",
|
||||
"path": "ts/views/inbox_view.ts",
|
||||
"path": "ts/views/inbox_view.tsx",
|
||||
"line": " template: () => $('#two-column').html(),",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-09-15T21:07:50.995Z"
|
||||
},
|
||||
{
|
||||
"rule": "jQuery-prependTo(",
|
||||
"path": "ts/views/inbox_view.ts",
|
||||
"path": "ts/views/inbox_view.tsx",
|
||||
"line": " this.appLoadingScreen.$el.prependTo(this.el);",
|
||||
"reasonCategory": "usageTrusted",
|
||||
"updated": "2021-09-15T21:07:50.995Z"
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
// Copyright 2021-2022 Signal Messenger, LLC
|
||||
// SPDX-License-Identifier: AGPL-3.0-only
|
||||
|
||||
import * as React from 'react';
|
||||
import { ReactWrapperView } from '../views/ReactWrapperView';
|
||||
import { ErrorModal } from '../components/ErrorModal';
|
||||
import { ProgressModal } from '../components/ProgressModal';
|
||||
import * as log from '../logging/log';
|
||||
import { clearTimeoutIfNecessary } from './clearTimeoutIfNecessary';
|
||||
|
||||
|
@ -26,9 +30,9 @@ export async function longRunningTaskWrapper<T>({
|
|||
|
||||
// Note: this component uses a portal to render itself into the top-level DOM. No
|
||||
// need to attach it to the DOM here.
|
||||
progressView = new window.Whisper.ReactWrapperView({
|
||||
progressView = new ReactWrapperView({
|
||||
className: 'progress-modal-wrapper',
|
||||
Component: window.Signal.Components.ProgressModal,
|
||||
JSX: <ProgressModal i18n={window.i18n} />,
|
||||
});
|
||||
spinnerStart = Date.now();
|
||||
}, TWO_SECONDS);
|
||||
|
@ -73,14 +77,16 @@ export async function longRunningTaskWrapper<T>({
|
|||
|
||||
// Note: this component uses a portal to render itself into the top-level DOM. No
|
||||
// need to attach it to the DOM here.
|
||||
const errorView: Backbone.View = new window.Whisper.ReactWrapperView({
|
||||
const errorView: Backbone.View = new ReactWrapperView({
|
||||
className: 'error-modal-wrapper',
|
||||
Component: window.Signal.Components.ErrorModal,
|
||||
props: {
|
||||
onClose: (): void => {
|
||||
errorView.remove();
|
||||
},
|
||||
},
|
||||
JSX: (
|
||||
<ErrorModal
|
||||
i18n={window.i18n}
|
||||
onClose={() => {
|
||||
errorView.remove();
|
||||
}}
|
||||
/>
|
||||
),
|
||||
});
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue