Process queues before exporting plugins

Summary: This diff makes sure that pending queues for plugins that are selected are processed before making a flipper export.

Reviewed By: jknoxville

Differential Revision: D19194211

fbshipit-source-id: e076375889450407e7f94384051719f3bbc415ee
This commit is contained in:
Michel Weststrate
2020-01-02 07:12:06 -08:00
committed by Facebook Github Bot
parent 0494a84d98
commit b8e752412e
8 changed files with 222 additions and 131 deletions

View File

@@ -13,6 +13,7 @@ import {ShareType} from '../reducers/application';
import {State as PluginState} from '../reducers/plugins';
import {State as PluginStatesState} from '../reducers/pluginStates';
import {State as Store} from '../reducers';
import {State as PluginMessageQueueState} from '../reducers/pluginMessageQueue';
import {ActiveSheet} from '../reducers/application';
import {selectedPlugins as actionForSelectedPlugins} from '../reducers/plugins';
import {getActivePersistentPlugins} from '../utils/pluginUtils';
@@ -35,6 +36,7 @@ type StateFromProps = {
share: ShareType | null;
plugins: PluginState;
pluginStates: PluginStatesState;
pluginMessageQueue: PluginMessageQueueState;
selectedClient: Client | undefined;
};
@@ -57,13 +59,20 @@ const Container = styled(FlexColumn)({
class ExportDataPluginSheet extends Component<Props> {
render() {
const {plugins, pluginStates, onHide, selectedClient} = this.props;
const {
plugins,
pluginStates,
pluginMessageQueue,
onHide,
selectedClient,
} = this.props;
const onHideWithUnsettingShare = () => {
this.props.unsetShare();
onHide();
};
const pluginsToExport = getActivePersistentPlugins(
pluginStates,
pluginMessageQueue,
plugins,
selectedClient,
);
@@ -121,6 +130,7 @@ export default connect<StateFromProps, DispatchFromProps, OwnProps, Store>(
application: {share},
plugins,
pluginStates,
pluginMessageQueue,
connections: {selectedApp, clients},
}) => {
const selectedClient = clients.find(o => {
@@ -130,6 +140,7 @@ export default connect<StateFromProps, DispatchFromProps, OwnProps, Store>(
share,
plugins,
pluginStates,
pluginMessageQueue,
selectedClient,
};
},