Commit 7bdfac5e authored by Internship UKSW 2019's avatar Internship UKSW 2019

Initial commit

parent 70af2cae
......@@ -11,6 +11,7 @@ class FormPublish extends Component {
this.state = {
isNotValidLocation: false,
isDocumentNotFound: false,
fetchError: false,
isFetched: false,
labelBackPage: "< Back",
dataRevisionHistory: [],
......@@ -72,20 +73,18 @@ class FormPublish extends Component {
// Check is user valid to open the document
if (dataRevision[dataRevision.length - 1].status == "Waiting for Publish" || dataRevision[dataRevision.length - 1].status == "Document Published") {
isDocFound = true;
let responseDataUser = await axios.get(process.env.REACT_APP_MAIN_APIURL + '/DocumentManagement/userkeyid/' + user_id, { headers: { 'Content-Type': 'application/xml' } })
let dataUser = responseDataUser.data.user_dataCollection.user_data;
if (dataRevision[dataRevision.length - 1].status == "Document Published") {
await this.setState({ statusPublish: true });
}
for (let i = 0; i < dataRevision.length; i++) {
if (dataRevision[i].rev_code == revisionCode) {
let remark = dataRevision[i].remark;
if (!dataRevision[i].status.includes("Document Rejected By")) {
remark = "-";
}
let dataRevisionTable = {
"doc_code": documentCode,
"remark": remark,
"creator": JSON.parse(localStorage.getItem("dataLogin")).user_name[0],
"approval": dataRevision[i].status
"rev_code": dataRevision[i].rev_code,
"remark": dataRevision[i].remark,
"creator": dataUser[0].user_name,
"approval": dataRevision[i].approval
}
this.state.dataRevisionHistory.push(dataRevisionTable);
break;
......@@ -146,6 +145,7 @@ class FormPublish extends Component {
this.setState({ isNotValidLocation: true })
}
} catch (err) {
this.setState({ isFetched: true, fetchError: true });
console.log(err + "");
}
}
......@@ -294,6 +294,40 @@ class FormPublish extends Component {
return "Publish";
}
}
showApproval = (approval) => {
let approvalDocument, dataApproval = [];
if (approval != "") {
approvalDocument = approval + "";
if (approvalDocument.includes(", ")) {
approvalDocument = approvalDocument.split(", ");
for (let i = 0; i < approvalDocument.length; i++) {
dataApproval.push(approvalDocument[i]);
}
} else {
dataApproval.push(approvalDocument);
}
}
return (
<div>
{
dataApproval.length == 0 &&
<div>
<label>-</label>
</div>
}
{
dataApproval.length != 0 &&
dataApproval.map((approval, index) => {
return (
<div key={index}>
<label>{approval}</label>
</div>
)
})
}
</div>
)
}
handleShowEffectiveDate = () => {
if (this.state.effectiveDate == "") {
return "-";
......@@ -315,6 +349,11 @@ class FormPublish extends Component {
return "";
}
}
retryRetrievingData = (e) => {
e.preventDefault();
this.setState({ isFetched: false, fetchError: false });
this.componentDidMount();
}
render() {
return (
<div>
......@@ -331,6 +370,19 @@ class FormPublish extends Component {
</div>
</div>
}
{
this.state.isFetched == true && this.state.fetchError == true &&
<div className="container">
<div className="row justify-content-center">
<div className="content-loading">
<div className="form-group">
<h3 className="text-center">Something wrong when retrieving data. Please try again.</h3>
<div className="text-center"><h3><a className="text-dark text-decoration-none" onClick={(e) => this.retryRetrievingData(e)} href="#"><img src="refresh.png" alt="refresh" height="30" width="30" /> Tap to Retry</a></h3></div>
</div>
</div>
</div>
</div>
}
{
this.state.isNotValidLocation == true &&
<div className="header-top-2">
......@@ -346,7 +398,7 @@ class FormPublish extends Component {
</div>
}
{
this.state.isFetched == true && this.state.isDocumentNotFound == false &&
this.state.isFetched == true && this.state.isDocumentNotFound == false && this.state.fetchError == false &&
<div className="container-fluid">
<div className="card my-2">
<div className="card-header">
......@@ -489,10 +541,10 @@ class FormPublish extends Component {
this.state.dataRevisionHistory.map((dataRev, index) => {
return (
<tr key={index}>
<td>{dataRev.doc_code}</td>
<td>{dataRev.rev_code}</td>
<td>{dataRev.remark}</td>
<td>{dataRev.creator}</td>
<td>{dataRev.approval}</td>
<td>{this.showApproval(dataRev.approval)}</td>
</tr>
)
})
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment