mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-13 08:55:44 +01:00
add defaultCollapse option to force toggling all DiffFile components by once, remove toggle option and icon for binary files
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user