| // Licensed under the Apache License, Version 2.0 (the "License"); you may not |
| // use this file except in compliance with the License. You may obtain a copy of |
| // the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, software |
| // distributed under the License is distributed on an "AS IS" BASIS, WITHOUT |
| // WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the |
| // License for the specific language governing permissions and limitations under |
| // the License. |
| |
| import { connect } from 'react-redux'; |
| import * as IndexResultActions from '../../index-results/actions/fetch'; |
| import * as IndexResultBaseActions from '../../index-results/actions/base'; |
| import MangoIndexEditor from './MangoIndexEditor'; |
| import Helpers from '../mango.helper'; |
| import Actions from '../mango.actions'; |
| import * as MangoAPI from '../mango.api'; |
| |
| const mapStateToProps = ({ mangoQuery, indexResults, databases }, ownProps) => { |
| return { |
| description: ownProps.description, |
| databaseName: ownProps.databaseName, |
| queryIndexCode: Helpers.formatCode(mangoQuery.queryIndexCode), |
| templates: mangoQuery.queryIndexTemplates, |
| fetchParams: indexResults.fetchParams, |
| partitionKey: ownProps.partitionKey, |
| isLoading: databases.isLoadingDbInfo, |
| isDbPartitioned: databases.isDbPartitioned |
| }; |
| }; |
| |
| const mapDispatchToProps = (dispatch, ownProps) => { |
| return { |
| saveIndex: (options) => { |
| dispatch(Actions.saveIndex(options)); |
| }, |
| loadIndexList: (options) => { |
| const queryIndexes = (params) => { return MangoAPI.fetchIndexes(ownProps.databaseName, params); }; |
| dispatch(IndexResultActions.fetchDocs(queryIndexes, options.fetchParams, {})); |
| }, |
| clearResults: () => { |
| dispatch(IndexResultBaseActions.resetState()); |
| }, |
| loadIndexTemplates: () => { |
| dispatch(Actions.loadIndexTemplates()); |
| } |
| }; |
| }; |
| |
| const MangoIndexEditorContainer = connect( |
| mapStateToProps, |
| mapDispatchToProps |
| )(MangoIndexEditor); |
| |
| export default MangoIndexEditorContainer; |