LearnersGuild/echo

View on GitHub
src/common/components/ConfirmationDialog/index.jsx

Summary

Maintainability
A
1 hr
Test Coverage
import React, {Component, PropTypes} from 'react'
import Dialog from 'react-toolbox/lib/dialog'
 
export default class ConfirmationDialog extends Component {
Function `render` has 33 lines of code (exceeds 25 allowed). Consider refactoring.
render() {
const {
children,
active,
title,
cancelLabel,
confirmLabel,
onClickCancel: handleClickCancel,
onClickConfirm: handleClickConfirm,
} = this.props
 
const cancelButtonProps = {
label: cancelLabel || 'Cancel',
onClick: handleClickCancel,
}
const confirmButtonProps = {
label: confirmLabel || 'Confirm',
onClick: handleClickConfirm,
accent: true,
}
 
return (
<div>
<Dialog
active={active}
actions={[cancelButtonProps, confirmButtonProps]}
onEscKeyDown={handleClickCancel}
onOverlayClick={handleClickCancel}
title={title}
>
{children || (
<div>Are you sure?</div>
)}
</Dialog>
</div>
)
}
}
 
ConfirmationDialog.propTypes = {
children: PropTypes.any,
active: PropTypes.bool,
title: PropTypes.string,
confirmLabel: PropTypes.string,
cancelLabel: PropTypes.string,
onClickCancel: PropTypes.func,
onClickConfirm: PropTypes.func,
}