Remove pointer events on the entire UI when a dropdown menu is open (#6648)

* Remove pointer events on the entire UI when a dropdown menu is open

This prevents operations to change the location of the menu such as
scrolling.

* Fix mistake from merge
This commit is contained in:
Akihiko Odaki 2018-03-07 10:26:43 +09:00 committed by Eugen Rochko
parent 4847149b6e
commit 913a38111f
6 changed files with 66 additions and 31 deletions

View file

@ -0,0 +1,18 @@
import Immutable from 'immutable';
import {
DROPDOWN_MENU_OPEN,
DROPDOWN_MENU_CLOSE,
} from '../actions/dropdown_menu';
const initialState = Immutable.Map({ openId: null, placement: null });
export default function dropdownMenu(state = initialState, action) {
switch (action.type) {
case DROPDOWN_MENU_OPEN:
return state.merge({ openId: action.id, placement: action.placement });
case DROPDOWN_MENU_CLOSE:
return state.get('openId') === action.id ? state.set('openId', null) : state;
default:
return state;
}
}

View file

@ -1,4 +1,5 @@
import { combineReducers } from 'redux-immutable';
import dropdown_menu from './dropdown_menu';
import timelines from './timelines';
import meta from './meta';
import alerts from './alerts';
@ -26,6 +27,7 @@ import lists from './lists';
import listEditor from './list_editor';
const reducers = {
dropdown_menu,
timelines,
meta,
alerts,