Uninstall plugins from sidebar

Summary: Added UI for uninstalling plugins from sidebar. To avoid confusion between "disable" and "uninstall" and to reduce possibility of errors when plugins uninstalled accidentally by misclicks, I made it only possible to uninstall plugins after they are disabled. So for enabled plugins two steps are required for uninstalling.

Reviewed By: mweststrate

Differential Revision: D25454117

fbshipit-source-id: 28e67dc1ff2d39ad67e6d2770302a996affd9723
This commit is contained in:
Anton Nikolaev
2020-12-15 09:28:58 -08:00
committed by Facebook GitHub Bot
parent 97d37abbb2
commit df03ccbeab
7 changed files with 139 additions and 19 deletions

View File

@@ -12,7 +12,7 @@ import {PluginDetails} from 'flipper-plugin-lib';
test('reduce empty registerInstalledPlugins', () => {
const result = reducer(undefined, registerInstalledPlugins([]));
expect(result).toEqual({installedPlugins: []});
expect(result).toEqual({installedPlugins: [], removedPlugins: []});
});
const EXAMPLE_PLUGIN = {
@@ -33,8 +33,9 @@ test('reduce registerInstalledPlugins, clear again', () => {
const result = reducer(undefined, registerInstalledPlugins([EXAMPLE_PLUGIN]));
expect(result).toEqual({
installedPlugins: [EXAMPLE_PLUGIN],
removedPlugins: [],
});
const result2 = reducer(result, registerInstalledPlugins([]));
expect(result2).toEqual({installedPlugins: []});
expect(result2).toEqual({installedPlugins: [], removedPlugins: []});
});