diff --git a/packages/xo-web/src/common/action-button.js b/packages/xo-web/src/common/action-button.js index 5b1c44a41..5a7db92c0 100644 --- a/packages/xo-web/src/common/action-button.js +++ b/packages/xo-web/src/common/action-button.js @@ -90,7 +90,7 @@ export default class ActionButton extends Component { if (redirectOnSuccess) { return this.context.router.push( isFunction(redirectOnSuccess) - ? redirectOnSuccess(result) + ? redirectOnSuccess(result, handlerParam) : redirectOnSuccess ) } diff --git a/packages/xo-web/src/common/sorted-table/index.js b/packages/xo-web/src/common/sorted-table/index.js index a9937f73a..86a872510 100644 --- a/packages/xo-web/src/common/sorted-table/index.js +++ b/packages/xo-web/src/common/sorted-table/index.js @@ -197,6 +197,7 @@ const actionsShape = propTypes.arrayOf( icon: propTypes.string.isRequired, label: propTypes.node.isRequired, level: propTypes.oneOf(['primary', 'warning', 'danger']), + redirectOnSuccess: propTypes.oneOfType([propTypes.func, propTypes.string]), }) ) @@ -208,21 +209,23 @@ class IndividualAction extends Component { (disabled, item, userData) => isFunction(disabled) ? disabled(item, userData) : disabled ) - _executeAction = () => { const p = this.props return p.handler(p.item, p.userData) } render () { - const { icon, label, level } = this.props + const { icon, item, label, level, redirectOnSuccess, userData } = this.props return ( )