28 lines
908 B
JavaScript
28 lines
908 B
JavaScript
import { connect } from 'react-redux';
|
|
import ColumnSettings from '../components/column_settings';
|
|
import { changeSetting } from '../../../actions/settings';
|
|
import { changeColumnParams } from '../../../actions/columns';
|
|
|
|
const mapStateToProps = (state, { columnId }) => {
|
|
const uuid = columnId;
|
|
const columns = state.getIn(['settings', 'columns']);
|
|
const index = columns.findIndex(c => c.get('uuid') === uuid);
|
|
|
|
return {
|
|
settings: (uuid && index >= 0) ? columns.get(index).get('params') : state.getIn(['settings', 'public']),
|
|
};
|
|
};
|
|
|
|
const mapDispatchToProps = (dispatch, { columnId }) => {
|
|
return {
|
|
onChange (key, checked) {
|
|
if (columnId) {
|
|
dispatch(changeColumnParams(columnId, key, checked));
|
|
} else {
|
|
dispatch(changeSetting(['public', ...key], checked));
|
|
}
|
|
},
|
|
};
|
|
};
|
|
|
|
export default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings);
|