/* @flow */ 'use strict'; import React from 'react'; import Select from 'react-select'; import { findSelectedDevice } from '../../../reducers/TrezorConnectReducer'; const Value = (props: any): any => { const device = props.value; // device is passed as value of selected item // prevent onMouseDown event const onMouseDown = event => { if (props.onClick) { event.preventDefault(); event.stopPropagation(); } } const onClick = (item, device) => { if (props.onClick) props.onClick(item, device); } let deviceStatus: string = "Connected"; let css: string = "device"; const deviceMenuItems: Array = []; // deviceMenuItems.push("settings"); if (device.unacquired) { css += " unacquired"; deviceStatus = "Used in other window"; } if (device.isUsedElsewhere) { css += " used-elsewhere"; deviceStatus = "Used in other window"; deviceMenuItems.push("acquire"); } else if (device.featuresNeedsReload) { css += " reload-features"; //deviceMenuItems.push("acquire"); } if (!device.connected) { css += " reload-features"; deviceStatus = "Disconnected"; } if (device.remember) { deviceMenuItems.push("forget"); } const deviceMenuButtons = deviceMenuItems.map((item, index) => { return (
onClick(item, device) }>
) }); const deviceMenu = deviceMenuButtons.length < 1 ? null : (
{ deviceMenuButtons }
); return (
{ device.instanceLabel } { deviceStatus }
{ deviceMenuButtons }
); } export const DeviceSelect = (props: any): any => { const { devices } = props.connect; const selected = findSelectedDevice(props.connect); if (!selected) return null; const handleMenuClick = (type, device) => { console.log("handleMenuClick", type, device) if (type === 'acquire') { props.acquireDevice(device); } else if (type === 'forget') { props.forgetDevice(device); }else if (type === 'settings') { props.duplicateDevice(device); } } return (