Expand/Collapse Sidebar V0

Summary:
- Show all or show 5 LRU plugins
- Update when close/reopen app, collapse sidebar, or expand sidebar

Reviewed By: danielbuechele

Differential Revision: D16917950

fbshipit-source-id: 1e7edc86945162ea14e1cdaa89aa47d3defa4c7d
This commit is contained in:
Chaiwat Ekkaewnumchai
2019-08-21 08:48:25 -07:00
committed by Facebook Github Bot
parent 007a29805a
commit ea7578aa16
4 changed files with 25 additions and 54 deletions

View File

@@ -215,10 +215,11 @@ const reducer = (state: State = INITAL_STATE, action: Action): State => {
performance.mark(`activePlugin-${selectedPlugin}`);
}
const LRUPlugins =
state.userLRUPlugins[selectedApp || state.userPreferredApp] || [];
const LRUPlugins = (
state.userLRUPlugins[selectedApp || state.userPreferredApp] || []
).slice();
const idxLRU = LRUPlugins.indexOf(selectedPlugin);
if (idxLRU > 0) {
if (idxLRU >= 0) {
LRUPlugins.splice(idxLRU, 1);
}
LRUPlugins.unshift(selectedPlugin);
@@ -241,13 +242,13 @@ const reducer = (state: State = INITAL_STATE, action: Action): State => {
const {userPreferredApp, userPreferredPlugin, userLRUPlugins} = state;
let {selectedApp, selectedPlugin} = state;
const lessPlugins = userLRUPlugins[payload.id];
const lessPlugins = (userLRUPlugins[payload.id] || []).slice();
if (lessPlugins) {
payload.lessPlugins = lessPlugins.concat(
payload.plugins.filter(p => !lessPlugins.includes(p)),
);
} else {
payload.lessPlugins = payload.plugins;
payload.lessPlugins = payload.plugins.slice();
}
payload.lessPlugins = payload.lessPlugins.slice(0, MAX_MINIMUM_PLUGINS);