Make Diff collapsible optional and render type only if present

This commit is contained in:
Rene Pfeuffer
2019-08-19 10:01:05 +02:00
parent bd5a8ba508
commit e9f56f201b

View File

@@ -46,6 +46,7 @@ const styles = {
type Props = DiffObjectProps & {
file: File,
collapsible: true,
// context props
classes: any,
t: string => string
@@ -66,9 +67,11 @@ class DiffFile extends React.Component<Props, State> {
}
toggleCollapse = () => {
this.setState(state => ({
collapsed: !state.collapsed
}));
if (this.props.collapsable) {
this.setState(state => ({
collapsed: !state.collapsed
}));
}
};
toggleSideBySide = () => {
@@ -173,6 +176,9 @@ class DiffFile extends React.Component<Props, State> {
renderChangeTag = (file: any) => {
const { t, classes } = this.props;
if (!file.type) {
return;
}
const key = "diff.changes." + file.type;
let value = t(key);
if (key === value) {
@@ -205,6 +211,7 @@ class DiffFile extends React.Component<Props, State> {
file,
fileControlFactory,
fileAnnotationFactory,
collapsible,
classes,
t
} = this.props;
@@ -227,6 +234,7 @@ class DiffFile extends React.Component<Props, State> {
</div>
);
}
const collapseIcon = collapsible? <i className={icon} />: null;
const fileControls = fileControlFactory
? fileControlFactory(file, this.setCollapse)
@@ -240,7 +248,7 @@ class DiffFile extends React.Component<Props, State> {
onClick={this.toggleCollapse}
title={this.hoverFileTitle(file)}
>
<i className={icon} />
{collapseIcon}
<span
className={classNames("is-ellipsis-overflow", classes.title)}
>