Skip to content

Commit 830e718

Browse files
committed
add conflict error message
1 parent 0a55f0d commit 830e718

File tree

3 files changed

+42
-35
lines changed

3 files changed

+42
-35
lines changed

packages/tdb-dashboard/src/components/constants.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -477,6 +477,7 @@ export const COMMENT="Comment"
477477
export const APPROVE="Approve"
478478
export const REJECT="Reject"
479479
export const UPDATE_BRANCH="Update Change Request"
480+
export const NEED_REBASE="needRebase"
480481

481482
// review component constants
482483
export const REVIEW_OPTIONS = [

packages/tdb-dashboard/src/hooks/hookUtils.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,5 +45,8 @@ export function formatErrorMessage (err){
4545
}else if (message.indexOf("Network Error")>-1){
4646
message = "Network Error"
4747
}
48+
else if (err.data && err.data["api:status"] && err.data["api:status"]==="api:conflict") {
49+
message = "It looks like there is a conflict, fix conflicts and then update Change Request or exit the Change Request"
50+
}
4851
return message
4952
}

packages/tdb-dashboard/src/pages/ChangeDiff.js

Lines changed: 38 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ import {Messages} from "../components/Messages"
2121
import {ReviewComponent} from "../components/ReviewComponent"
2222
import Spinner from 'react-bootstrap/Spinner';
2323
import {extractID} from "../components/utils"
24+
import { Alerts } from "../components/Alerts"
2425

2526
const CRAction = ({}) => {
2627
const {
@@ -31,55 +32,59 @@ const CRAction = ({}) => {
3132
const {
3233
rebaseChangeRequestBranch,
3334
loading,
34-
error
35+
errorMessage,
36+
setError
3537
} = ChangeRequest()
3638

37-
const rebaseHandler = async ()=>{
39+
const rebaseHandler = async ()=>{
3840
const changeRequestDoc = await rebaseChangeRequestBranch(extractID(currentCRObject["@id"]))
3941
if(changeRequestDoc && setCurrentCRObject){
4042
setCurrentCRObject(changeRequestDoc)
4143
}
4244
}
4345

4446
// loading while waiting for currentCRObject
45-
if(!currentCRObject) return <Loading message={`Loading Change Request ...`}/>
47+
if(!currentCRObject.hasOwnProperty(CONST.NEED_REBASE)) return <Loading message={`Loading Change Request ...`}/>
4648

4749

4850
//{currentCRObject.needRebase && currentCRObject.status !== "Merged" && <div>
4951
if (currentCRObject.needRebase === false || currentCRObject.status === CONST.MERGED)
5052
return <ChangeDiffComponent/>
5153

5254
// if needRebase
53-
return <Card className="update__change__request__card">
54-
<Card.Header className="w-100">
55-
{`You are in Change Request `}<BranchCRMessage branch={currentCRObject.tracking_branch} css={"primary"}/>
56-
</Card.Header>
57-
<Card.Body>
58-
<Stack direction="vertical" gap={3}>
59-
<div className='d-flex'>
60-
<FiAlertTriangle className="text-warning h2 mr-3"/>
61-
<h3>This Change Request is out of date</h3>
62-
</div>
63-
<div className='d-flex'>
64-
<h4 className="mr-3">Merge latest changes from </h4>
65-
<BranchCRMessage branch={"main"} css={"success"}/>
66-
<h4>into this Change Request</h4>
67-
</div>
68-
</Stack>
69-
</Card.Body>
70-
<Button onClick={rebaseHandler}
71-
className="btn btn-lg bg-light text-dark mb-5">
72-
{loading && <Spinner
73-
as="span"
74-
animation="border"
75-
size="sm"
76-
role="status"
77-
className="mr-1 mt-1"
78-
aria-hidden="true"
79-
/>}
80-
{CONST.UPDATE_BRANCH}
81-
</Button>
82-
</Card>
55+
return <React.Fragment>
56+
{errorMessage && <Alerts message={errorMessage} type={CONST.TERMINUS_DANGER} onCancel={setError}/>}
57+
<Card className="update__change__request__card">
58+
<Card.Header className="w-100">
59+
{`You are in Change Request `}<BranchCRMessage branch={currentCRObject.tracking_branch} css={"primary"}/>
60+
</Card.Header>
61+
<Card.Body>
62+
<Stack direction="vertical" gap={3}>
63+
<div className='d-flex'>
64+
<FiAlertTriangle className="text-warning h2 mr-3"/>
65+
<h3>This Change Request is out of date</h3>
66+
</div>
67+
<div className='d-flex'>
68+
<h4 className="mr-3">Merge latest changes from </h4>
69+
<BranchCRMessage branch={"main"} css={"success"}/>
70+
<h4>into this Change Request</h4>
71+
</div>
72+
</Stack>
73+
</Card.Body>
74+
<Button onClick={rebaseHandler}
75+
className="btn btn-lg bg-light text-dark mb-5">
76+
{loading && <Spinner
77+
as="span"
78+
animation="border"
79+
size="sm"
80+
role="status"
81+
className="mr-1 mt-1"
82+
aria-hidden="true"
83+
/>}
84+
{CONST.UPDATE_BRANCH}
85+
</Button>
86+
</Card>
87+
</React.Fragment>
8388
}
8489

8590

@@ -113,8 +118,6 @@ export const ChangeDiff = () => {
113118
if(!client) return <div/>
114119

115120

116-
console.log("currentCRObject", currentCRObject)
117-
118121
return <Layout>
119122
<div className='d-flex ml-5 mt-4 mr-5'>
120123
<div className='w-100'>

0 commit comments

Comments
 (0)