From 67c225f971ada7c9c9b28c67d3c1fa11c7048f6f Mon Sep 17 00:00:00 2001 From: Nicolas Gotchac Date: Wed, 22 Mar 2017 12:12:21 +0100 Subject: [PATCH] Double click to select account creation type (#4986) * Extend links to whole container * Add doubleClick to Account Creator --- .../CreationType/creationType.js | 8 ++++++ js/src/ui/Container/container.js | 9 +++++-- js/src/ui/SelectionList/selectionList.js | 26 ++++++++++++++----- 3 files changed, 34 insertions(+), 9 deletions(-) diff --git a/js/src/modals/CreateAccount/CreationType/creationType.js b/js/src/modals/CreateAccount/CreationType/creationType.js index 392db7445..a7d23a667 100644 --- a/js/src/modals/CreateAccount/CreationType/creationType.js +++ b/js/src/modals/CreateAccount/CreationType/creationType.js @@ -145,6 +145,7 @@ export default class CreationType extends Component { items={ TYPES } noStretch onSelectClick={ this.onChange } + onSelectDoubleClick={ this.onSelect } renderItem={ this.renderItem } /> ); @@ -180,4 +181,11 @@ export default class CreationType extends Component { store.setCreateType(item.key); } + + onSelect = (item) => { + const { store } = this.props; + + store.setCreateType(item.key); + store.nextStage(); + } } diff --git a/js/src/ui/Container/container.js b/js/src/ui/Container/container.js index ef26a3ad8..81e48f7f3 100644 --- a/js/src/ui/Container/container.js +++ b/js/src/ui/Container/container.js @@ -82,11 +82,16 @@ export default class Container extends Component { to={ link } > { card } + { this.renderHover() } ) - : card + : ( +
+ { card } + { this.renderHover() } +
+ ) } - { this.renderHover() } ); } diff --git a/js/src/ui/SelectionList/selectionList.js b/js/src/ui/SelectionList/selectionList.js index b8ee1fee6..a7375581d 100644 --- a/js/src/ui/SelectionList/selectionList.js +++ b/js/src/ui/SelectionList/selectionList.js @@ -14,6 +14,7 @@ // You should have received a copy of the GNU General Public License // along with Parity. If not, see . +import { noop } from 'lodash'; import React, { Component, PropTypes } from 'react'; import { StarIcon } from '~/ui/Icons'; @@ -29,8 +30,13 @@ export default class SelectionList extends Component { noStretch: PropTypes.bool, onDefaultClick: PropTypes.func, onSelectClick: PropTypes.func.isRequired, + onSelectDoubleClick: PropTypes.func, renderItem: PropTypes.func.isRequired - } + }; + + static defaultProps = { + onSelectDoubleClick: noop + }; render () { const { items, noStretch } = this.props; @@ -45,23 +51,28 @@ export default class SelectionList extends Component { } renderItem = (item, index) => { - const { isChecked, onDefaultClick, onSelectClick, renderItem } = this.props; + const { isChecked, onDefaultClick, onSelectClick, onSelectDoubleClick, renderItem } = this.props; const isSelected = isChecked ? isChecked(item) : item.checked; - const makeDefault = () => { - onDefaultClick(item); + const handleClick = () => { + onSelectClick(item); return false; }; - const selectItem = () => { - onSelectClick(item); + const handleDoubleClick = () => { + onSelectDoubleClick(item); return false; }; let defaultIcon = null; if (onDefaultClick) { + const makeDefault = () => { + onDefaultClick(item); + return false; + }; + defaultIcon = (
{ @@ -85,7 +96,8 @@ export default class SelectionList extends Component {
{ renderItem(item, index) }