app/addons/documents/mango/components/ExplainReasonsLegendModal.js (69 lines of code) (raw):

// 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 React from 'react'; import { Modal, Table } from 'react-bootstrap'; export default function ExplainReasonsLegendModal({isVisible, onHide}) { return <Modal dialogClassName="explain-reasons-legend-modal" show={isVisible}> <Modal.Header closeButton={false}> <Modal.Title>Reasons for Unsuitable Indexes</Modal.Title> </Modal.Header> <Modal.Body> <div className='table-wrapper'> <Table striped> <thead> <tr> <th>Code</th> <th>Explanation</th> </tr> </thead> <tbody> <tr> <td>alphabetically_comes_after</td> <td>If multiple indexes are equally valid, the first index sorted alphanumerically by name is selected.</td> </tr> <tr> <td>empty_selector</td> <td>The selector is empty.</td> </tr> <tr> <td>excluded_by_user</td> <td>Index did not match the specified <code>“use_index”</code> value.</td> </tr> <tr> <td>field_mismatch</td> <td>The index does contain the fields required to answer the query.</td> </tr> <tr> <td>less_overlap</td> <td>The index has less field coverage than the selected index.</td> </tr> <tr> <td>is_partial</td> <td>Partial indexes cannot be selected automatically.</td> </tr> <tr> <td>needs_text_search</td> <td> Index did not match the specified <code>“text”</code> operator. </td> </tr> <tr> <td>scope_mismatch</td> <td>The index scope does not match the query scope (e.g. the query is against a partition and the index is global).</td> </tr> <tr> <td>sort_order_mismatch</td> <td>The fields in the index are not sorted in the order as required by the query.</td> </tr> <tr> <td>too_many_fields</td> <td>The index has more fields than the chosen one.</td> </tr> <tr> <td>unfavored_type</td> <td>An index with a preferred type was selected. Order of index type preference: json, text, special (<code>_all_docs</code>).</td> </tr> </tbody> </Table> </div> </Modal.Body> <Modal.Footer> <button onClick={onHide} data-bypass="true" className="btn btn-cf-secondary" id='closeReasonModal'>Close</button> </Modal.Footer> </Modal>; }