dropdown_menu_container.js 971 B

123456789101112131415161718192021222324252627
  1. import { connect } from 'react-redux';
  2. import { openDropdownMenu, closeDropdownMenu } from 'mastodon/actions/dropdown_menu';
  3. import { fetchHistory } from 'mastodon/actions/history';
  4. import DropdownMenu from 'mastodon/components/dropdown_menu';
  5. const mapStateToProps = (state, { statusId }) => ({
  6. dropdownPlacement: state.getIn(['dropdown_menu', 'placement']),
  7. openDropdownId: state.getIn(['dropdown_menu', 'openId']),
  8. openedViaKeyboard: state.getIn(['dropdown_menu', 'keyboard']),
  9. items: state.getIn(['history', statusId, 'items']),
  10. loading: state.getIn(['history', statusId, 'loading']),
  11. });
  12. const mapDispatchToProps = (dispatch, { statusId }) => ({
  13. onOpen (id, onItemClick, dropdownPlacement, keyboard) {
  14. dispatch(fetchHistory(statusId));
  15. dispatch(openDropdownMenu(id, dropdownPlacement, keyboard));
  16. },
  17. onClose (id) {
  18. dispatch(closeDropdownMenu(id));
  19. },
  20. });
  21. export default connect(mapStateToProps, mapDispatchToProps)(DropdownMenu);