Skip to content

Commit a685fb0

Browse files
Merge pull request #110 from terminusdb/reviewCR
adding update CR
2 parents 51007fa + 5340ae2 commit a685fb0

File tree

11 files changed

+143
-88
lines changed

11 files changed

+143
-88
lines changed

packages/tdb-dashboard/src/App.css

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1154,6 +1154,13 @@ pre.CodeMirror-line > span > span.cm-string {
11541154
}
11551155

11561156
/** card border for change request component */
1157+
.update__change__request__card {
1158+
height: 20em;
1159+
display: flex;
1160+
align-items: center;
1161+
justify-content: center;
1162+
}
1163+
11571164
.tdb__change__request__card {
11581165
border-color: #3450DC !important;
11591166
}

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ export const AboutDataProduct = ({dataProductDetails, setShowDeleteModal, health
6767
const cloneSource= {
6868
label:dataProduct,
6969
comment:"please clone the db",
70-
remote_url: `${connection.apiURL()}${connection.dbURLFragment()}`
70+
remote_url: `${connection.dbURLFragment()}`
7171
}
7272
const success = await cloneDatabase(cloneSource,orgName,dbName)
7373
if(success){
@@ -133,8 +133,8 @@ export const AboutDataProduct = ({dataProductDetails, setShowDeleteModal, health
133133
</Card.Body>
134134
</Card>
135135
<hr className="my-4 border-indigo dropdown-divider" role="separator"></hr>
136-
{/** COMMENT THE BELOW code FOR NOW, will put back once clone is fixed */}
137-
{/*<Card className="bg-transparent p-1 mt-5" border="muted">
136+
137+
<Card className="bg-transparent p-1 mt-5" border="muted">
138138
<Card.Body>
139139
{!loadingClone && accessControlDashboard && accessControlDashboard.deleteDB() &&
140140
<Fragment>
@@ -172,7 +172,7 @@ export const AboutDataProduct = ({dataProductDetails, setShowDeleteModal, health
172172
{loadingClone &&
173173
<Loading message={`Cloning .... ${dataProduct}`} type={'PROGRESS_BAR_COMPONENT'}/>}
174174
</Card.Body>
175-
</Card>*/}
175+
</Card>
176176

177177
<hr className="my-4 border-indigo dropdown-divider" role="separator"></hr>
178178
<Card className="bg-transparent p-1 " border="muted">

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

Lines changed: 34 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ const DocumentModifiedCount = ({documentModifiedCount}) => {
3131
</h6>
3232
}
3333

34-
const BranchCRMessage = ({css, branch}) => {
34+
export const BranchCRMessage = ({css, branch}) => {
3535
return <React.Fragment>
3636
<Badge bg={css} className="fw-bold mr-2 text-dark">
3737
<BiGitBranch className=" mr-1"/>{branch}
@@ -58,9 +58,6 @@ export const ChangeDiffComponent = () => {
5858
currentCRObject
5959
} = WOQLClientObj()
6060

61-
/*const {
62-
getChangeRequestByID,
63-
} = ChangeRequest()*/
6461

6562
const {id} = useParams()
6663

@@ -69,16 +66,7 @@ export const ChangeDiffComponent = () => {
6966
const [loading, setLoading]=useState(true)
7067
const [errorMsg, setErrorMsg]=useState(false)
7168

72-
/* useEffect(() => {
73-
async function getCRID() {
74-
await getChangeRequestByID(id,true)
75-
}
76-
if(id, client) getCRID()
77-
}, [id, client])*/
78-
79-
//let changeRequestID=localStorage.getItem("TERMINUSCMS_CHANGE_REQUEST_ID")
8069
const result = GetDiffList(client, id, setLoading, setErrorMsg)
81-
//const result = GetDiffList(client, currentCRObject["@id"])
8270

8371
useEffect(() => {
8472
if(key === DIFFS) setAction(false)
@@ -88,40 +76,41 @@ export const ChangeDiffComponent = () => {
8876

8977
let documentModifiedCount = result ? result.length : 0
9078

91-
let author= currentCRObject&&currentCRObject.hasOwnProperty("creator") ? currentCRObject["creator"] : "user"
79+
// email address
80+
let author= currentCRObject && currentCRObject.hasOwnProperty("creator_email") ? currentCRObject["creator_email"] : "creator"
9281

9382
return <Tabs
94-
id="change_request_tabs"
95-
activeKey={key}
96-
onSelect={(k) => setKey(k)}
97-
className="mb-3">
98-
<Tab eventKey={DIFFS} title={DIFFS}>
99-
{loading && <Loading message={`Loading Diffs ...`}/>}
100-
{errorMsg && <Alert variant={"danger"} className="mr-3">
101-
{errorMsg}
102-
</Alert>}
103-
{!documentModifiedCount && <h6 className="text-muted fw-bold mt-3 mb-3">
104-
{`No documents `}
105-
</h6>}
106-
<Card bg="transparent" className="border-secondary mt-5 mb-5">
107-
<Card.Header>
108-
<Stack direction="horizontal" gap={2} className="mt-1">
109-
<DisplayHeader author={author}
110-
tracking_branch={currentCRObject.tracking_branch}
111-
documentModifiedCount={documentModifiedCount}/>
112-
</Stack>
113-
</Card.Header>
114-
<Card.Body>
115-
116-
{currentCRObject.status !== MERGED && <ReviewComponent setKey={setKey} action={action} setAction={setAction}/> }
117-
<DiffView diffs={result} CRObject={currentCRObject}/>
118-
</Card.Body>
119-
</Card>
120-
</Tab>
121-
<Tab eventKey={MESSAGES} title={MESSAGES}>
122-
<Messages/>
123-
</Tab>
124-
</Tabs>
83+
id="change_request_tabs"
84+
activeKey={key}
85+
onSelect={(k) => setKey(k)}
86+
className="mb-3">
87+
<Tab eventKey={DIFFS} title={DIFFS}>
88+
{loading && <Loading message={`Loading Diffs ...`}/>}
89+
{errorMsg && <Alert variant={"danger"} className="mr-3">
90+
{errorMsg}
91+
</Alert>}
92+
{!documentModifiedCount && <h6 className="text-muted fw-bold mt-3 mb-3">
93+
{`No documents `}
94+
</h6>}
95+
<Card bg="transparent" className="border-secondary mt-5 mb-5">
96+
<Card.Header>
97+
<Stack direction="horizontal" gap={2} className="mt-1">
98+
<DisplayHeader author={author}
99+
tracking_branch={currentCRObject.tracking_branch}
100+
documentModifiedCount={documentModifiedCount}/>
101+
</Stack>
102+
</Card.Header>
103+
<Card.Body>
104+
105+
{currentCRObject.status !== MERGED && <ReviewComponent setKey={setKey} action={action} setAction={setAction}/> }
106+
<DiffView diffs={result} CRObject={currentCRObject}/>
107+
</Card.Body>
108+
</Card>
109+
</Tab>
110+
<Tab eventKey={MESSAGES} title={MESSAGES}>
111+
<Messages/>
112+
</Tab>
113+
</Tabs>
125114
}
126115

127116
/*<small className="fw-bold mr-2 h6">You are in change request mode</small>

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

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,9 @@ export const DeleteDatabaseModal = ({showModal,setShowModal, dataProductDetails}
3131

3232
setLoading(true)
3333
let dbInfo = dataProductDetails
34-
woqlClient.deleteDatabase(dataProductDetails.name, woqlClient.organization(), true)
34+
const clientCopy = woqlClient.copy()
35+
clientCopy.connectionConfig.api_extension = 'api/'
36+
clientCopy.deleteDatabase(dataProductDetails.name, woqlClient.organization(), true)
3537
.then((res) => {
3638
setShowModal(false)
3739
setDisabled(true)

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ export const NoDataProductSelected = (props) => {
5454
const cloneSource= {
5555
label:dbName,
5656
comment:"please clone the db",
57-
remote_url: `${connection.apiURL()}${connection.dbURLFragment()}`
57+
remote_url: `${connection.dbURLFragment()}`
5858
}
5959
const success = await cloneDatabase(cloneSource,woqlClient.organization(),dbName,true)
6060
if(success){
@@ -63,7 +63,7 @@ export const NoDataProductSelected = (props) => {
6363

6464
}
6565

66-
return <main className="content w-100">
66+
/*return <main className="content w-100">
6767
<Container className="center-align col-md-10">
6868
<Card className="h-100">
6969
<Card.Body>
@@ -75,7 +75,7 @@ export const NoDataProductSelected = (props) => {
7575
</Card.Body>
7676
</Card>
7777
</Container>
78-
</main>
78+
</main>*/
7979

8080
/** COMMENT THE BELOW code FOR NOW, will put back once clone is fixed */
8181
return <main className="content w-100">

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

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,13 @@ const Actions = ({checked, message, setKey, setMessage}) => {
3838

3939
const {
4040
currentCRObject,
41+
setCurrentCRObject,
4142
exitChangeRequestBranch
4243
}= WOQLClientObj()
4344

4445
const {
4546
updateChangeRequestStatus,
4647
getChangeRequestList,
47-
getChangeRequestByID,
4848
loading
4949
} = ChangeRequest()
5050

@@ -54,17 +54,20 @@ const Actions = ({checked, message, setKey, setMessage}) => {
5454
/** handle Message */
5555
async function handleMessage() {
5656
let id=extractID(currentCRObject["@id"])
57+
// this call return the changeRequestObj Updated
5758
let res=await updateChangeRequestStatus(message, currentCRObject.status, id)
58-
let cr=await getChangeRequestByID(id)
59+
// we'll see if add need rebase check every time
60+
res.needRebase = currentCRObject.needRebase
61+
setCurrentCRObject(res)
5962
if(setKey) setKey(CONST.MESSAGES)
6063
if(setMessage) setMessage("")
6164
}
6265

6366
/** handle Merge */
6467
async function handleMerge () {
6568
let res=await updateChangeRequestStatus(message, CONST.MERGED, id)
66-
let cr=await getChangeRequestList()
6769
if(res){
70+
setCurrentCRObject(false)
6871
exitChangeRequestBranch()
6972
navigate(`/${organization}/${dataProduct}`)
7073
}
@@ -73,8 +76,8 @@ const Actions = ({checked, message, setKey, setMessage}) => {
7376
/** handle Reject */
7477
async function handleReject () {
7578
let res=await updateChangeRequestStatus(message, CONST.REJECTED, id)
76-
let cr=await getChangeRequestList()
7779
if(res){
80+
setCurrentCRObject(false)
7881
exitChangeRequestBranch()
7982
navigate(`/${organization}/${dataProduct}`)
8083
}
@@ -165,7 +168,7 @@ export const ReviewComponent = ({setKey}) => {
165168
}= WOQLClientObj()
166169

167170
// set default action as COMMENT
168-
const [checked, setChecked]=useState(CONST.COMMENT)
171+
const [checked, setChecked]=useState(CONST.APPROVE)
169172
// feedback constants
170173
const [message, setMessage]=useState("")
171174

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -476,6 +476,7 @@ export const REJECTED="Rejected"
476476
export const COMMENT="Comment"
477477
export const APPROVE="Approve"
478478
export const REJECT="Reject"
479+
export const UPDATE_BRANCH="Update Change Request"
479480

480481
// review component constants
481482
export const REVIEW_OPTIONS = [
@@ -496,6 +497,12 @@ export const REVIEW_OPTIONS = [
496497
}
497498
]
498499

500+
/* {
501+
title: COMMENT,
502+
helpText: "Submit a comment or a message ...",
503+
icon: <TbMessageCircle className="mt-1 mr-1"/>
504+
},*/
505+
499506
// Document types
500507
export const THEME="Theme"
501508
export const LEGO_SET="LegoSet"

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

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ export function ChangeRequest(){
4242
setLoading(true)
4343
const payload = {message,status}
4444
const currentCR = crID || currentChangeRequest
45-
await woqlClient.sendCustomRequest("PUT", `${getUrl()}/${currentCR}`,payload)
46-
return true
45+
const changeRequestDoc = await woqlClient.sendCustomRequest("PUT", `${getUrl()}/${currentCR}`,payload)
46+
return changeRequestDoc
4747
}catch(err){
4848
const errMessage = formatErrorMessage(err)
4949
setError(errMessage)
@@ -92,13 +92,6 @@ export function ChangeRequest(){
9292
const queryParams = check_head ? `?check_head=true` : ""
9393
const result = await woqlClient.sendCustomRequest("GET", `${getUrl()}/${id}${queryParams}`)
9494
return result
95-
/* if(setCurrentCRObject) {
96-
result.map(res=>{
97-
if(res["@id"] === `ChangeRequest/${id}`){
98-
setCurrentCRObject(res)
99-
}
100-
})
101-
}*/
10295
}catch(err){
10396
const errMessage = formatErrorMessage(err)
10497
setError(errMessage)

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ export const ManageDatabase=()=> {
1818
setLoading(true)
1919
setError(false)
2020
const clientCopy = woqlClient.copy()
21-
if(isPublicDB){
21+
/* if(isPublicDB){
2222
clientCopy.remoteAuth({type:"basic","user":"anonymous",key:""})
2323
}else{
2424
// the user clones his database into one of his teams
2525
clientCopy.remoteAuth(clientCopy.localAuth())
26-
}
26+
}*/
2727

2828
const result = await clientCopy.clonedb(cloneSource, destDB, destOrg)
2929
return true

packages/tdb-dashboard/src/init-woql-client.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ export const WOQLClientProvider = ({children, params}) => {
267267
clientCopy.connectionConfig.api_extension = 'api/'
268268
const baseUrl = clientCopy.connectionConfig.dbBase("tables")
269269

270-
client.sendCustomRequest("GET", baseUrl).then(result=>{
270+
clientCopy.sendCustomRequest("GET", baseUrl).then(result=>{
271271
setDocumentTablesConfig(result)
272272
}).catch(err=>{
273273
console.log(err)

0 commit comments

Comments
 (0)