add defaultCollapse option to force toggling all DiffFile components by once, remove toggle option and icon for binary files

This commit is contained in:
Florian Scholdei
2019-09-30 15:29:47 +02:00
parent 765667bf20
commit bef64e9831

View File

@@ -70,7 +70,7 @@ const styles = {
type Props = DiffObjectProps & { type Props = DiffObjectProps & {
file: File, file: File,
collapsible: boolean, defaultCollapse: boolean,
// context props // context props
classes: any, classes: any,
@@ -84,19 +84,20 @@ type State = {
class DiffFile extends React.Component<Props, State> { class DiffFile extends React.Component<Props, State> {
static defaultProps = { static defaultProps = {
collapsible: true defaultCollapse: false
}; };
constructor(props: Props) { constructor(props: Props) {
super(props); super(props);
this.state = { this.state = {
collapsed: false, collapsed: this.props.defaultCollapse,
sideBySide: false sideBySide: false
}; };
} }
toggleCollapse = () => { toggleCollapse = () => {
if (this.props.collapsible) { const { file } = this.props;
if(file && !file.isBinaray) {
this.setState(state => ({ this.setState(state => ({
collapsed: !state.collapsed collapsed: !state.collapsed
})); }));
@@ -178,7 +179,8 @@ class DiffFile extends React.Component<Props, State> {
) { ) {
return ( return (
<> <>
{file.oldPath} <Icon name="arrow-right" color="inherit" /> {file.newPath} {file.oldPath} <Icon name="arrow-right" color="inherit" />{" "}
{file.newPath}
</> </>
); );
} else if (file.type === "delete") { } else if (file.type === "delete") {
@@ -238,7 +240,6 @@ class DiffFile extends React.Component<Props, State> {
file, file,
fileControlFactory, fileControlFactory,
fileAnnotationFactory, fileAnnotationFactory,
collapsible,
classes, classes,
t t
} = this.props; } = this.props;
@@ -264,7 +265,9 @@ class DiffFile extends React.Component<Props, State> {
</div> </div>
); );
} }
const collapseIcon = collapsible ? <Icon name={icon} color="inherit" /> : null; const collapseIcon = !file.isBinary ? (
<Icon name={icon} color="inherit" />
) : null;
const fileControls = fileControlFactory const fileControls = fileControlFactory
? fileControlFactory(file, this.setCollapse) ? fileControlFactory(file, this.setCollapse)