You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
929 B
29 lines
929 B
import { connect } from 'react-redux';
|
|
import ColumnSettings from '../components/column_settings';
|
|
import { changeColumnParams } from 'flavours/glitch/actions/columns';
|
|
import { changeSetting } from 'flavours/glitch/actions/settings';
|
|
|
|
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', 'community']),
|
|
};
|
|
};
|
|
|
|
const mapDispatchToProps = (dispatch, { columnId }) => {
|
|
return {
|
|
onChange (key, checked) {
|
|
if (columnId) {
|
|
dispatch(changeColumnParams(columnId, key, checked));
|
|
} else {
|
|
dispatch(changeSetting(['community', ...key], checked));
|
|
}
|
|
},
|
|
};
|
|
};
|
|
|
|
export default connect(mapStateToProps, mapDispatchToProps)(ColumnSettings);
|