// Copyright Contributors to the Amundsen project. // SPDX-License-Identifier: Apache-2.0 import { connect } from 'react-redux'; import { bindActionCreators } from 'redux'; import { GlobalState } from 'ducks/rootReducer'; import { getColumnDescription, updateColumnDescription, } from 'ducks/tableMetadata/reducer'; import EditableText, { ComponentProps, DispatchFromProps, StateFromProps, } from 'components/common/EditableText'; interface ContainerOwnProps { columnIndex: number; } export const mapStateToProps = ( state: GlobalState, ownProps: ContainerOwnProps ) => { return { refreshValue: state.tableMetadata.tableData.columns[ownProps.columnIndex].description, }; }; export const mapDispatchToProps = ( dispatch: any, ownProps: ContainerOwnProps ) => { const getLatestValue = function (onSuccess, onFailure) { return getColumnDescription(ownProps.columnIndex, onSuccess, onFailure); }; const onSubmitValue = function (newValue, onSuccess, onFailure) { return updateColumnDescription( newValue, ownProps.columnIndex, onSuccess, onFailure ); }; return bindActionCreators({ getLatestValue, onSubmitValue }, dispatch); }; export default connect< StateFromProps, DispatchFromProps, ComponentProps & ContainerOwnProps >( mapStateToProps, mapDispatchToProps )(EditableText);