All files / components/compass-schema-validation compass-schema-validation.jsx

100% Statements 15/15
100% Branches 0/0
100% Functions 1/1
100% Lines 15/15

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 811x 1x 1x 1x 1x 1x             1x 1x 1x 1x   1x                           1x                             2x                               1x                               1x    
import React, { Component } from 'react';
import { connect } from 'react-redux';
import classnames from 'classnames';
import { pick } from 'lodash';
import ValidationStates from 'components/validation-states';
import {
  validatorChanged,
  cancelValidation,
  saveValidation,
  validationActionChanged,
  validationLevelChanged
} from 'modules/validation';
import { namespaceChanged } from 'modules/namespace';
import { openLink } from 'modules/link';
import { fetchSampleDocuments } from 'modules/sample-documents';
import { changeZeroState, zeroStateChanged } from 'modules/zero-state';
 
import styles from './compass-schema-validation.less';
 
/**
 * The core schema validation component.
 */
class CompassSchemaValidation extends Component {
  static displayName = 'CompassSchemaValidation';
 
  /**
   * Renders the CompassSchemaValidation component.
   *
   * @returns {React.Component} The component.
   */
  render() {
    return (
      <div className={classnames(styles.root)}>
        <ValidationStates {...this.props} />
      </div>
    );
  }
}
 
/**
 * Map the store state to properties to pass to the components.
 *
 * @param {Object} state - The store state.
 *
 * @returns {Object} The mapped properties.
 */
const mapStateToProps = (state) => pick(
  state,
  [
    'serverVersion',
    'validation',
    'fields',
    'namespace',
    'sampleDocuments',
    'isZeroState',
    'editMode'
  ]
);
 
/**
 * Connect the redux store to the component (dispatch).
 */
const MappedCompassSchemaValidation = connect(
  mapStateToProps,
  {
    fetchSampleDocuments,
    validatorChanged,
    cancelValidation,
    saveValidation,
    namespaceChanged,
    validationActionChanged,
    validationLevelChanged,
    openLink,
    zeroStateChanged,
    changeZeroState
  },
)(CompassSchemaValidation);
 
export default MappedCompassSchemaValidation;
export { CompassSchemaValidation };