Move app/src (mostly) to flipper-ui-core/src
Summary: This diff moves all UI code from app/src to app/flipper-ui-core. That is now slightly too much (e.g. node deps are not removed yet), but from here it should be easier to move things out again, as I don't want this diff to be open for too long to avoid too much merge conflicts. * But at least flipper-ui-core is Electron free :) * Killed all cross module imports as well, as they where now even more in the way * Some unit test needed some changes, most not too big (but emotion hashes got renumbered in the snapshots, feel free to ignore that) * Found some files that were actually meaningless (tsconfig in plugins, WatchTools files, that start generating compile errors, removed those Follow up work: * make flipper-ui-core configurable, and wire up flipper-server-core in Electron instead of here * remove node deps (aigoncharov) * figure out correct place to load GKs, plugins, make intern requests etc., and move to the correct module * clean up deps Reviewed By: aigoncharov Differential Revision: D32427722 fbshipit-source-id: 14fe92e1ceb15b9dcf7bece367c8ab92df927a70
This commit is contained in:
committed by
Facebook GitHub Bot
parent
54b7ce9308
commit
7e50c0466a
@@ -0,0 +1,71 @@
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @format
|
||||
*/
|
||||
|
||||
import {_setFlipperLibImplementation} from 'flipper-plugin';
|
||||
import type {Logger} from 'flipper-common';
|
||||
import type {Store} from '../reducers';
|
||||
import createPaste from '../fb-stubs/createPaste';
|
||||
import GK from '../fb-stubs/GK';
|
||||
import type BaseDevice from '../devices/BaseDevice';
|
||||
import constants from '../fb-stubs/constants';
|
||||
import {addNotification} from '../reducers/notifications';
|
||||
import {deconstructPluginKey} from 'flipper-common';
|
||||
import {DetailSidebarImpl} from '../sandy-chrome/DetailSidebarImpl';
|
||||
import {RenderHost} from '../RenderHost';
|
||||
import {setMenuEntries} from '../reducers/connections';
|
||||
|
||||
export function initializeFlipperLibImplementation(
|
||||
renderHost: RenderHost,
|
||||
store: Store,
|
||||
logger: Logger,
|
||||
) {
|
||||
_setFlipperLibImplementation({
|
||||
isFB: !constants.IS_PUBLIC_BUILD,
|
||||
logger,
|
||||
enableMenuEntries(entries) {
|
||||
store.dispatch(setMenuEntries(entries));
|
||||
},
|
||||
createPaste,
|
||||
GK(gatekeeper: string) {
|
||||
return GK.get(gatekeeper);
|
||||
},
|
||||
selectPlugin(device, client, pluginId, deeplink) {
|
||||
store.dispatch({
|
||||
type: 'SELECT_PLUGIN',
|
||||
payload: {
|
||||
selectedPlugin: pluginId,
|
||||
selectedDevice: device as BaseDevice,
|
||||
selectedAppId: client ? client.id : null,
|
||||
deepLinkPayload: deeplink,
|
||||
time: Date.now(),
|
||||
},
|
||||
});
|
||||
},
|
||||
writeTextToClipboard: renderHost.writeTextToClipboard,
|
||||
openLink: renderHost.openLink,
|
||||
showNotification(pluginId, notification) {
|
||||
const parts = deconstructPluginKey(pluginId);
|
||||
store.dispatch(
|
||||
addNotification({
|
||||
pluginId: parts.pluginName,
|
||||
client: parts.client,
|
||||
notification,
|
||||
}),
|
||||
);
|
||||
},
|
||||
DetailsSidebarImplementation: DetailSidebarImpl,
|
||||
showSaveDialog: renderHost.showSaveDialog,
|
||||
showOpenDialog: renderHost.showOpenDialog,
|
||||
showSelectDirectoryDialog: renderHost.showSelectDirectoryDialog,
|
||||
paths: {
|
||||
appPath: renderHost.paths.appPath,
|
||||
homePath: renderHost.paths.homePath,
|
||||
},
|
||||
});
|
||||
}
|
||||
Reference in New Issue
Block a user