import React from "react" import PropTypes from "prop-types" import ImPropTypes from "react-immutable-proptypes" export default class BasicAuth extends React.Component { static propTypes = { authorized: ImPropTypes.map, schema: ImPropTypes.map, getComponent: PropTypes.func.isRequired, onChange: PropTypes.func.isRequired, name: PropTypes.string.isRequired, errSelectors: PropTypes.object.isRequired, } constructor(props, context) { super(props, context) let { schema, name } = this.props let value = this.getValue() let username = value.username this.state = { name: name, schema: schema, value: !username ? {} : { username: username } } } getValue () { let { authorized, name } = this.props return authorized && authorized.getIn([name, "value"]) || {} } onChange =(e) => { let { onChange } = this.props let { value, name } = e.target let newValue = this.state.value newValue[name] = value this.setState({ value: newValue }) onChange(this.state) } render() { let { schema, getComponent, name, errSelectors } = this.props const Input = getComponent("Input") const Row = getComponent("Row") const Col = getComponent("Col") const AuthError = getComponent("authError") const JumpToPath = getComponent("JumpToPath", true) const Markdown = getComponent("Markdown", true) let username = this.getValue().username let errors = errSelectors.allErrors().filter( err => err.get("authId") === name) return (

Basic authorization

{ username &&
Authorized
} { username ? { username } : } { username ? ****** : } { errors.valueSeq().map( (error, key) => { return } ) }
) } }