mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-08 22:45:45 +01:00
restore missing hunk headers
This commit is contained in:
36
scm-ui/ui-components/src/__resources__/Diff.hunks.ts
Normal file
36
scm-ui/ui-components/src/__resources__/Diff.hunks.ts
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
export default `diff --git a/src/main/java/com/cloudogu/scm/review/pullrequest/service/DefaultPullRequestService.java b/src/main/java/com/cloudogu/scm/review/pullrequest/service/DefaultPullRequestService.java
|
||||||
|
index 17c35f6..cdf70f1 100644
|
||||||
|
--- a/src/main/java/com/cloudogu/scm/review/pullrequest/service/DefaultPullRequestService.java
|
||||||
|
+++ b/src/main/java/com/cloudogu/scm/review/pullrequest/service/DefaultPullRequestService.java
|
||||||
|
@@ -25,6 +25,8 @@ import java.util.Optional;
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
|
+import static com.cloudogu.scm.review.pullrequest.service.PullRequestApprovalEvent.ApprovalCause.APPROVAL_REMOVED;
|
||||||
|
+import static com.cloudogu.scm.review.pullrequest.service.PullRequestApprovalEvent.ApprovalCause.APPROVED;
|
||||||
|
import static com.cloudogu.scm.review.pullrequest.service.PullRequestStatus.MERGED;
|
||||||
|
import static com.cloudogu.scm.review.pullrequest.service.PullRequestStatus.OPEN;
|
||||||
|
import static com.cloudogu.scm.review.pullrequest.service.PullRequestStatus.REJECTED;
|
||||||
|
@@ -200,6 +202,7 @@ public class DefaultPullRequestService implements PullRequestService {
|
||||||
|
PullRequest pullRequest = getPullRequestFromStore(repository, pullRequestId);
|
||||||
|
pullRequest.addApprover(user.getId());
|
||||||
|
getStore(repository).update(pullRequest);
|
||||||
|
+ eventBus.post(new PullRequestApprovalEvent(repository, pullRequest, APPROVED));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@@ -211,8 +214,12 @@ public class DefaultPullRequestService implements PullRequestService {
|
||||||
|
approver.stream()
|
||||||
|
.filter(recipient -> user.getId().equals(recipient))
|
||||||
|
.findFirst()
|
||||||
|
- .ifPresent(pullRequest::removeApprover);
|
||||||
|
- getStore(repository).update(pullRequest);
|
||||||
|
+ .ifPresent(
|
||||||
|
+ approval -> {
|
||||||
|
+ pullRequest.removeApprover(approval);
|
||||||
|
+ getStore(repository).update(pullRequest);
|
||||||
|
+ eventBus.post(new PullRequestApprovalEvent(repository, pullRequest, APPROVAL_REMOVED));
|
||||||
|
+ });
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override`;
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -4,6 +4,7 @@ import Diff from "./Diff";
|
|||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import parser from "gitdiff-parser";
|
import parser from "gitdiff-parser";
|
||||||
import simpleDiff from "../__resources__/Diff.simple";
|
import simpleDiff from "../__resources__/Diff.simple";
|
||||||
|
import hunksDiff from "../__resources__/Diff.hunks";
|
||||||
import Button from "../buttons/Button";
|
import Button from "../buttons/Button";
|
||||||
import { DiffEventContext } from "./DiffTypes";
|
import { DiffEventContext } from "./DiffTypes";
|
||||||
import Toast from "../toast/Toast";
|
import Toast from "../toast/Toast";
|
||||||
@@ -47,4 +48,8 @@ storiesOf("Diff", module)
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
return <OnClickDemo />;
|
return <OnClickDemo />;
|
||||||
|
})
|
||||||
|
.add("Hunks", () => {
|
||||||
|
const hunkDiffFiles = parser.parse(hunksDiff);
|
||||||
|
return <Diff diff={hunkDiffFiles} />;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { withTranslation, WithTranslation } from "react-i18next";
|
|||||||
import classNames from "classnames";
|
import classNames from "classnames";
|
||||||
import styled from "styled-components";
|
import styled from "styled-components";
|
||||||
// @ts-ignore
|
// @ts-ignore
|
||||||
import { Diff as DiffComponent, getChangeKey, Hunk } from "react-diff-view";
|
import { Diff as DiffComponent, getChangeKey, Hunk, Decoration } from "react-diff-view";
|
||||||
import { Button, ButtonGroup } from "../buttons";
|
import { Button, ButtonGroup } from "../buttons";
|
||||||
import Tag from "../Tag";
|
import Tag from "../Tag";
|
||||||
import Icon from "../Icon";
|
import Icon from "../Icon";
|
||||||
@@ -132,7 +132,8 @@ class DiffFile extends React.Component<Props, State> {
|
|||||||
if (i > 0) {
|
if (i > 0) {
|
||||||
return <HunkDivider />;
|
return <HunkDivider />;
|
||||||
}
|
}
|
||||||
return null;
|
// hunk header must be defined
|
||||||
|
return <span />;
|
||||||
};
|
};
|
||||||
|
|
||||||
collectHunkAnnotations = (hunk: HunkType) => {
|
collectHunkAnnotations = (hunk: HunkType) => {
|
||||||
@@ -172,15 +173,15 @@ class DiffFile extends React.Component<Props, State> {
|
|||||||
};
|
};
|
||||||
|
|
||||||
renderHunk = (hunk: HunkType, i: number) => {
|
renderHunk = (hunk: HunkType, i: number) => {
|
||||||
return (
|
return [
|
||||||
|
<Decoration key={"decoration-" + hunk.content}>{this.createHunkHeader(hunk, i)}</Decoration>,
|
||||||
<Hunk
|
<Hunk
|
||||||
key={hunk.content}
|
key={"hunk-" + hunk.content}
|
||||||
hunk={hunk}
|
hunk={hunk}
|
||||||
header={this.createHunkHeader(hunk, i)}
|
|
||||||
widgets={this.collectHunkAnnotations(hunk)}
|
widgets={this.collectHunkAnnotations(hunk)}
|
||||||
gutterEvents={this.createGutterEvents(hunk)}
|
gutterEvents={this.createGutterEvents(hunk)}
|
||||||
/>
|
/>
|
||||||
);
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
renderFileTitle = (file: File) => {
|
renderFileTitle = (file: File) => {
|
||||||
@@ -235,7 +236,7 @@ class DiffFile extends React.Component<Props, State> {
|
|||||||
<div className="panel-block is-paddingless">
|
<div className="panel-block is-paddingless">
|
||||||
{fileAnnotations}
|
{fileAnnotations}
|
||||||
<ModifiedDiffComponent className={viewType} viewType={viewType} hunks={file.hunks} diffType={file.type}>
|
<ModifiedDiffComponent className={viewType} viewType={viewType} hunks={file.hunks} diffType={file.type}>
|
||||||
{(hunks: HunkType[]) => hunks.map(this.renderHunk)}
|
{(hunks: HunkType[]) => hunks.map(this.renderHunk).reduce((a, b) => a.concat(b))}
|
||||||
</ModifiedDiffComponent>
|
</ModifiedDiffComponent>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in New Issue
Block a user