Commit c50eb5ee by Lynette Lizardo

prevent getting new element when the page is reloaded

parent 5e66b7cb
......@@ -8,7 +8,7 @@ export class BPO {
async getRandomElement() {
const elements = [...(await this.getWorkload())].reverse();
for (const element of elements) {
const retElement = await this.getReturnedElement(element);
const retElement = await this.getReturnedElement(element.elementId);
if (retElement.errorCode == 0) {
const lst = await this.isLSTExisting(retElement.element);
......@@ -30,10 +30,10 @@ export class BPO {
sessionStorage.setItem("element_file_loc", retElement.element.fileLocation);
return true;
} else {
await this.returnElement(retElement.element);
await this.returnElement(retElement.element.elementId);
}
} else {
await this.returnElement(retElement.element);
await this.returnElement(retElement.element.elementId);
}
} else if (retElement.errorCode == 463) {
continue;
......@@ -63,7 +63,7 @@ export class BPO {
sessionStorage.setItem("element_file_loc", element.element.fileLocation);
return true;
} else {
await this.returnElement(element.element);
await this.returnElement(element.element.elementId);
}
} else if (element.errorCode == 463) {
......@@ -94,8 +94,8 @@ export class BPO {
}
}
async getReturnedElement(element) {
let response = await fetch(getUrlGetReturnedElement(element.elementId));
async getReturnedElement(elementId) {
let response = await fetch(getUrlGetReturnedElement(elementId));
let json = await response.json();
return json;
}
......@@ -132,8 +132,8 @@ export class BPO {
return json;
}
async returnElement(element) {
let response = await fetch(getUrlReturnElement(element.elementId), {
async returnElement(elementId) {
let response = await fetch(getUrlReturnElement(elementId), {
method: "POST"
});
......
......@@ -840,10 +840,13 @@ export async function populateFields(imagePath) {
sessionStorage.setItem("section", section);
document.querySelector('#Section').value = section;
const sectionElem =$("Section");
for (let i = 0; i < document.getElementById("Section").options.length; i++) {
if (document.getElementById("Section").options[i].value == section) {
document.getElementById("Section").options[i].selected = "selected"
section.trigger('change');
if(sectionElem[0]){
sectionElem.trigger('change');
}
}
}
......
......@@ -69,17 +69,26 @@ async function createOutputXml(fields, metrics, doctype, section) {
body: JSON.stringify(xmlData)
});
if (completenessCheck(await response.text())) {
let response = await fetch(urlUpdateEob, {
method: "POST",
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(xmlData)
});
await completeToNextNode(elementId);
sessionStorage.setItem("isElementComplete", true);
}
// if (completenessCheck(await response.text())) {
// let response = await fetch(urlUpdateEob, {
// method: "POST",
// headers: {
// 'Content-Type': 'application/json'
// },
// body: JSON.stringify(xmlData)
// });
// await completeToNextNode(elementId);
// sessionStorage.setItem("isElementComplete", true);
// }
}
function completenessCheck(xml) {
let lst = JSON.parse(sessionStorage.getItem("dir_files"));
const parser = new DOMParser();
const xmlDoc = parser.parseFromString(xml, "text/xml");
let files = [...xmlDoc.getElementsByTagName("imagename")].map((name) => name.childNodes[0].nodeValue)
return lst.every(file => files.includes(file));
}
......@@ -126,10 +126,10 @@ export class DocumentControlWidget {
let currentDisplay = parseInt(sessionStorage.getItem("display_counter"));
let totalRecord = JSON.parse(sessionStorage.getItem("dir_files")).length;
//if (currentDisplay + 1 === totalRecord) {
if(sessionStorage.getItem("isElementComplete")){
if (currentDisplay + 1 === totalRecord) {
//if(sessionStorage.getItem("isElementComplete")){
//move element then fetch new element
//let response = await completeToNextNode(sessionStorage.getItem("element_id"));
let response = await completeToNextNode(sessionStorage.getItem("element_id"));
createLoadingScreen();
const metrics = stopMetricCapture();
let eoe_ts = new Date().toLocaleString();
......
......@@ -3,7 +3,7 @@ export let IMAGE_VIEWER_OBJECT = null;
export let INDEXED_DB_STORAGE = null;
export let BPO_OBJECT = null;
export let IS_GDE_ACTIVATED = false;
export let IS_GDE_ACTIVATED = sessionStorage.getItem("GDE-Activated") ? sessionStorage.getItem("GDE-Activated") : false;
export let INDEXED_DB_NAME = "ImageDB";
export let INDEXED_DB_TBL_NAME = "images";
......@@ -36,5 +36,6 @@ export function setDocumentControlObject(object){
}
export function activateGDE(){
sessionStorage.setItem("GDE-Activated", true),
IS_GDE_ACTIVATED = true;
}
\ No newline at end of file
......@@ -17,9 +17,10 @@ export async function startApplication() {
createLoadingScreen();
if (IS_GDE_ACTIVATED && sessionStorage.getItem("element_id") !== null) {
checkBPODetails();
initializeImageDisplay();
DISPLAY_FIELD_OBJECT.clearForm();
populateForm(sessionStorage.getItem("display_counter"));
await initializeWebGDE();
// initializeImageDisplay();
// DISPLAY_FIELD_OBJECT.clearForm();
// populateForm(sessionStorage.getItem("display_counter"));
} else {
await initializeWebGDE();
}
......@@ -28,8 +29,14 @@ export async function startApplication() {
async function initializeWebGDE() {
setBPOObject(new BPO());
let isElement = await BPO_OBJECT.getRandomElement();
let isElement = false;
if (!BPO_OBJECT) {
setBPOObject(new BPO());
isElement = await BPO_OBJECT.getRandomElement();
} else {
isElement = true;
}
if (isElement) {
activateGDE(); //
......@@ -62,29 +69,46 @@ async function initializeWebGDE() {
}
async function checkBPODetails() {
setBPOObject(new BPO());
let elementId = sessionStorage.getItem("element_id");
const lst = await BPO_OBJECT.isLSTExisting(elementId);
if (lst.isExisting) {
const xml = await BPO_OBJECT.isXMLExisting(elementId);
if (xml.isExisting) {
const xmlString = await xml.data.join('').replace('\t', '');
//const lastImage = getXmlLastImage(xmlString);
const retElement = await BPO_OBJECT.getReturnedElement(elementId);
if (retElement.errorCode == 0) {
sessionStorage.setItem("element_id", retElement.element.elementId);
sessionStorage.setItem("element_file_loc", retElement.element.fileLocation);
const lst = await BPO_OBJECT.isLSTExisting(retElement);
if (lst.isExisting) {
const xml = await BPO_OBJECT.isXMLExisting(retElement);
if (xml.isExisting) {
const xmlString = await xml.data.join('').replace('\t', '');
//const lastImage = getXmlLastImage(xmlString);
sessionStorage.setItem('section', getXmlSection(xmlString));
sessionStorage.setItem('doctype', getXmlDocType(xmlString));
sessionStorage.setItem('section', getXmlSection(xmlString));
sessionStorage.setItem('doctype', getXmlDocType(xmlString));
}
let dir = await lst.data;
sessionStorage.setItem("dir_files", JSON.stringify(dir));
sessionStorage.setItem("element_id", retElement.element.elementId);
sessionStorage.setItem("element_file_loc", retElement.element.fileLocation);
return true;
// else {
// await this.returnElement(retElement.element);
// }
} else {
await this.returnElement(retElement.element);
await BPO_OBJECT.returnElement(elementId);
function exitTool() {
logoutKeycloak();
}
removeLoadingScreen();
createModal(exitTool, "Please log-out and try again.");
}
} else {
await this.returnElement(retElement.element);
}
}
async function initializeImageDisplay() {
......@@ -314,7 +338,7 @@ function checkChangesInTheRecord(index) {
return objEqual;
}
}
}else{
} else {
return false
}
} else {
......
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