Merge branch 'master' of github.com:ONLYOFFICE/AppServer

This commit is contained in:
Alexey Safronov 2019-12-03 15:11:48 +03:00
commit d4d305d32c

View File

@ -1,7 +1,6 @@
import React from 'react'; import React from 'react';
import PropTypes from 'prop-types'; import PropTypes from 'prop-types';
import styled from 'styled-components'; import styled from 'styled-components';
import { InputGroup, InputGroupAddon } from 'reactstrap';
import TextInput from '../text-input'; import TextInput from '../text-input';
import { Icons } from '../icons'; import { Icons } from '../icons';
import IconButton from '../icon-button'; import IconButton from '../icon-button';
@ -29,16 +28,22 @@ const StyledChildrenBlock = styled.div`
`; `;
const CustomInputGroup = ({ isIconFill, hasError, hasWarning, isDisabled, scale, ...props }) => ( const CustomInputGroup = ({ isIconFill, hasError, hasWarning, isDisabled, scale, ...props }) => (
<InputGroup {...props}></InputGroup> <div {...props}></div>
); );
const StyledInputGroup = styled(CustomInputGroup)` const StyledInputGroup = styled(CustomInputGroup)`
${commonInputStyle} display: flex;
:focus-within{
border-color: #2DA7DB; .prepend {
display: flex;
align-items: center;
} }
.input-group-prepend,
.input-group-append{ .append {
margin: 0; align-items: center;
margin: 0;
}
${commonInputStyle} :focus-within {
border-color: #2da7db;
} }
`; `;
class InputBlock extends React.Component { class InputBlock extends React.Component {
@ -83,11 +88,11 @@ class InputBlock extends React.Component {
return ( return (
<StyledInputGroup hasError={this.props.hasError} hasWarning={this.props.hasWarning} isDisabled={this.props.isDisabled} scale={this.props.scale} size={this.props.size}> <StyledInputGroup hasError={this.props.hasError} hasWarning={this.props.hasWarning} isDisabled={this.props.isDisabled} scale={this.props.scale} size={this.props.size}>
<InputGroupAddon addonType="prepend"> <div className="prepend">
<StyledChildrenBlock> <StyledChildrenBlock>
{this.props.children} {this.props.children}
</StyledChildrenBlock> </StyledChildrenBlock>
</InputGroupAddon> </div>
<TextInput <TextInput
id={this.props.id} id={this.props.id}
name={this.props.name} name={this.props.name}
@ -111,10 +116,8 @@ class InputBlock extends React.Component {
mask={this.props.mask} mask={this.props.mask}
keepCharPositions={this.props.keepCharPositions} keepCharPositions={this.props.keepCharPositions}
/> />
{ {iconNames.includes(this.props.iconName) && (
iconNames.includes(this.props.iconName) <div className="append">
&&
<InputGroupAddon addonType="append">
<StyledIconBlock> <StyledIconBlock>
<IconButton <IconButton
size={iconButtonSize} size={iconButtonSize}
@ -126,8 +129,8 @@ class InputBlock extends React.Component {
isClickable={typeof this.props.onIconClick === 'function'} isClickable={typeof this.props.onIconClick === 'function'}
/> />
</StyledIconBlock> </StyledIconBlock>
</InputGroupAddon> </div>
} )}
</StyledInputGroup> </StyledInputGroup>
); );
} }