Introduce showNotification API
Summary: Introduced `showNotifcation` to the Sandy API. Reviewed By: jknoxville Differential Revision: D27012001 fbshipit-source-id: d3f237910a478400b0f925f0362af485c96072bb
This commit is contained in:
committed by
Facebook GitHub Bot
parent
2ca52f81d2
commit
4e2383cdb0
@@ -28,7 +28,6 @@ export {
|
||||
FlipperPlugin,
|
||||
FlipperDevicePlugin,
|
||||
callClient,
|
||||
Notification,
|
||||
BaseAction,
|
||||
} from './plugin';
|
||||
export {PluginClient, Props} from './plugin';
|
||||
@@ -42,7 +41,7 @@ export {connect} from 'react-redux';
|
||||
export {selectPlugin, StaticView} from './reducers/connections';
|
||||
export {writeBufferToFile, bufferToBlob} from './utils/screenshot';
|
||||
export {getPluginKey, getPersistedState} from './utils/pluginUtils';
|
||||
export {Idler} from 'flipper-plugin';
|
||||
export {Idler, Notification} from 'flipper-plugin';
|
||||
export {Store, MiddlewareAPI, State as ReduxState} from './reducers/index';
|
||||
export {default as BaseDevice} from './devices/BaseDevice';
|
||||
export {DeviceLogEntry, LogLevel, DeviceLogListener} from 'flipper-plugin';
|
||||
|
||||
@@ -11,7 +11,7 @@ import {KeyboardActions} from './MenuBar';
|
||||
import {Logger} from './fb-interfaces/Logger';
|
||||
import Client from './Client';
|
||||
import {Store} from './reducers/index';
|
||||
import {ReactNode, Component} from 'react';
|
||||
import {Component} from 'react';
|
||||
import BaseDevice from './devices/BaseDevice';
|
||||
import {serialize, deserialize} from './utils/serialization';
|
||||
import {StaticView} from './reducers/connections';
|
||||
@@ -19,7 +19,7 @@ import {State as ReduxState} from './reducers';
|
||||
import {DEFAULT_MAX_QUEUE_SIZE} from './reducers/pluginMessageQueue';
|
||||
import {ActivatablePluginDetails} from 'flipper-plugin-lib';
|
||||
import {Settings} from './reducers/settings';
|
||||
import {Idler, _SandyPluginDefinition} from 'flipper-plugin';
|
||||
import {Notification, Idler, _SandyPluginDefinition} from 'flipper-plugin';
|
||||
|
||||
type Parameters = {[key: string]: any};
|
||||
|
||||
@@ -68,16 +68,6 @@ export interface PluginClient {
|
||||
|
||||
type PluginTarget = BaseDevice | Client;
|
||||
|
||||
export type Notification = {
|
||||
id: string;
|
||||
title: string;
|
||||
message: string | ReactNode;
|
||||
severity: 'warning' | 'error';
|
||||
timestamp?: number;
|
||||
category?: string;
|
||||
action?: string;
|
||||
};
|
||||
|
||||
export type Props<T> = {
|
||||
logger: Logger;
|
||||
persistedState: T;
|
||||
|
||||
@@ -17,7 +17,7 @@ import {
|
||||
updateCategoryBlocklist,
|
||||
} from '../notifications';
|
||||
|
||||
import {Notification} from '../../plugin';
|
||||
import {Notification} from 'flipper-plugin';
|
||||
|
||||
const notification: Notification = {
|
||||
id: 'id',
|
||||
|
||||
@@ -7,9 +7,10 @@
|
||||
* @format
|
||||
*/
|
||||
|
||||
import {Notification} from '../plugin';
|
||||
import {Notification} from 'flipper-plugin';
|
||||
import {Actions} from './';
|
||||
import {getStringFromErrorLike} from '../utils';
|
||||
|
||||
export type PluginNotification = {
|
||||
notification: Notification;
|
||||
pluginId: string;
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
*/
|
||||
|
||||
import React, {useCallback, useMemo, useState} from 'react';
|
||||
import {Layout, theme} from 'flipper-plugin';
|
||||
import {Layout, theme, Notification as NotificationData} from 'flipper-plugin';
|
||||
import {styled, Glyph} from '../../ui';
|
||||
import {Input, Typography, Button, Collapse, Dropdown, Menu} from 'antd';
|
||||
import {
|
||||
@@ -20,7 +20,6 @@ import {
|
||||
EllipsisOutlined,
|
||||
} from '@ant-design/icons';
|
||||
import {LeftSidebar, SidebarTitle} from '../LeftSidebar';
|
||||
import {Notification as NotificationData} from '../../plugin';
|
||||
import {useStore, useDispatch} from '../../utils/useStore';
|
||||
import {ClientQuery} from '../../Client';
|
||||
import {deconstructClientId} from '../../utils/clientUtils';
|
||||
|
||||
@@ -18,11 +18,11 @@ import {
|
||||
importDataToStore,
|
||||
} from '../exportData';
|
||||
import {FlipperPlugin, FlipperDevicePlugin} from '../../plugin';
|
||||
import {Notification} from '../../plugin';
|
||||
import {default as Client, ClientExport} from '../../Client';
|
||||
import {selectedPlugins, State as PluginsState} from '../../reducers/plugins';
|
||||
import {createMockFlipperWithPlugin} from '../../test-utils/createMockFlipperWithPlugin';
|
||||
import {
|
||||
Notification,
|
||||
TestUtils,
|
||||
_SandyPluginDefinition,
|
||||
createState,
|
||||
|
||||
@@ -15,6 +15,8 @@ import GK from '../fb-stubs/GK';
|
||||
import type BaseDevice from '../devices/BaseDevice';
|
||||
import {clipboard} from 'electron';
|
||||
import constants from '../fb-stubs/constants';
|
||||
import {addNotification} from '../reducers/notifications';
|
||||
import {deconstructPluginKey} from './clientUtils';
|
||||
|
||||
export function initializeFlipperLibImplementation(
|
||||
store: Store,
|
||||
@@ -71,5 +73,15 @@ export function initializeFlipperLibImplementation(
|
||||
writeTextToClipboard(text: string) {
|
||||
clipboard.writeText(text);
|
||||
},
|
||||
showNotification(pluginId, notification) {
|
||||
const parts = deconstructPluginKey(pluginId);
|
||||
store.dispatch(
|
||||
addNotification({
|
||||
pluginId: parts.pluginName,
|
||||
client: parts.client,
|
||||
notification,
|
||||
}),
|
||||
);
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user