blob: ebbde2d273017a2f300777a9fa32ffb583a2fb62 [file] [log] [blame]
import { connect } from 'react-redux';
import SearchIndexEditor from './SearchIndexEditor';
import Actions from '../actions';
import { getSaveDesignDoc, getSelectedDesignDocPartitioned } from '../reducers';
const mapStateToProps = ({ search, databases }, ownProps) => {
const isSelectedDDocPartitioned = getSelectedDesignDocPartitioned(search, databases.isDbPartitioned);
return {
isCreatingIndex: ownProps.isCreatingIndex,
isLoading: search.loading,
database: search.database,
designDocs: search.designDocs,
searchIndexFunction: search.searchIndexFunction,
ddocName: search.ddocName,
ddocPartitioned: isSelectedDDocPartitioned,
lastSavedDesignDocName: search.lastSavedDesignDocName,
lastSavedSearchIndexName: search.lastSavedSearchIndexName,
searchIndexName: search.searchIndexName,
analyzerType: search.analyzerType,
analyzerFields: search.analyzerFields,
analyzerFieldsObj: search.analyzerFieldsObj,
defaultMultipleAnalyzer: search.defaultMultipleAnalyzer,
singleAnalyzer: search.singleAnalyzer,
saveDoc: getSaveDesignDoc(search, databases.isDbPartitioned),
newDesignDocName: search.newDesignDocName,
newDesignDocPartitioned: search.newDesignDocPartitioned,
isDbPartitioned: databases.isDbPartitioned,
partitionKey: ownProps.partitionKey
};
};
const mapDispatchToProps = (dispatch) => {
return {
setSearchIndexName: (name) => {
dispatch(Actions.setSearchIndexName(name));
},
saveSearchIndex: (doc, info, navigateToUrl) => {
Actions.saveSearchIndex(doc, info, navigateToUrl);
},
selectDesignDoc: (designDoc) => {
dispatch(Actions.selectDesignDoc(designDoc));
},
updateNewDesignDocName: (designDocName) => {
dispatch(Actions.updateNewDesignDocName(designDocName));
},
updateNewDesignDocPartitioned: (isPartitioned) => {
dispatch(Actions.updateNewDesignDocPartitioned(isPartitioned));
},
setAnalyzerType: (type) => {
dispatch(Actions.setAnalyzerType(type));
},
setSingleAnalyzer: (analyzer) => {
dispatch(Actions.setSingleAnalyzer(analyzer));
},
setDefaultMultipleAnalyzer: (analyzer) => {
dispatch(Actions.setDefaultMultipleAnalyzer(analyzer));
},
addAnalyzerRow: (analyzer) => {
dispatch(Actions.addAnalyzerRow(analyzer));
},
removeAnalyzerRow: (rowIndex) => {
dispatch(Actions.removeAnalyzerRow(rowIndex));
},
setAnalyzerRowFieldName: (params) => {
dispatch(Actions.setAnalyzerRowFieldName(params));
},
setAnalyzer: (params) => {
dispatch(Actions.setAnalyzer(params));
}
};
};
const SearchIndexEditorContainer = connect(
mapStateToProps,
mapDispatchToProps
)(SearchIndexEditor);
export default SearchIndexEditorContainer;