Commit 61515464 by Lynette Lizardo

added logout feature

parent 80f09d24
......@@ -8,35 +8,8 @@ import { BPO_OBJECT, IMAGE_VIEWER_OBJECT, INDEXED_DB_STORAGE } from "../globalVa
import { getUrlReturnElement } from "./bpoService.js";
export async function returnElementBPO(elementId) {
createLoadingScreen();
let response = await fetch(getUrlReturnElement(elementId), {method: "POST"});
if (response.status == 200) {
document.getElementById("counter").innerHTML = "";
clearTimeout(interval);
sessionStorage.removeItem("section");
sessionStorage.removeItem("doctype");
localStorage.clear();
function successfulReturn() {
document.getElementById("backdropContainer").remove();
}
createModal(successfulReturn, "Element Returned");
if(await BPO_OBJECT.getRandomWaitingElement()){
resetGDE();
};
}else{
//PROMPT.createInfoPrompt(`Error ${response.status}: Returning element`);
function successfulReturn() {
logoutKeycloak();
}
removeLoadingScreen();
createModal(successfulReturn, "Error ${response.status}: Returning element");
}
return response.status;
let response = await fetch(getUrlReturnElement(elementId), {method: "POST"});
return response;
}
......@@ -45,10 +18,11 @@ async function returnElementLogout(elementId) {
if (response.status == 200) {
console.log('Element Returned');
}else{
PROMPT.createInfoPrompt(`Error ${response.status}: Returning element`);
logoutKeycloak();
}
// else{
// //PROMPT.createInfoPrompt(`Error ${response.status}: Returning element`);
// logoutKeycloak();
// }
return response.status;
}
......@@ -132,8 +106,33 @@ export function createReturnWindow() {
okEnd.classList.add("emphasizeButton");
okEnd.innerHTML = 'ok';
okEnd.id = 'okEndButtn';
okEnd.onclick = function() {
returnElementBPO(sessionStorage.getItem("element_id"));
okEnd.onclick = async function() {
createLoadingScreen();
let response = await returnElementBPO(sessionStorage.getItem("element_id"));
if (response.status == 200) {
document.getElementById("counter").innerHTML = "";
clearTimeout(interval);
sessionStorage.removeItem("section");
sessionStorage.removeItem("doctype");
localStorage.clear();
function successfulReturn() {
document.getElementById("backdropContainer").remove();
}
createModal(successfulReturn, "Element Returned");
if(await BPO_OBJECT.getRandomWaitingElement()){
resetGDE();
};
}else{
//PROMPT.createInfoPrompt(`Error ${response.status}: Returning element`);
function successfulReturn() {
logoutKeycloak();
}
removeLoadingScreen();
createModal(successfulReturn, "Error ${response.status}: Returning element");
}
overlay.remove();
}
......
......@@ -54,7 +54,7 @@ body {
.unsupported-file p{
font-size: 14px;
color: white;
color: #000;
margin: auto;
word-wrap: break-word;
width: 100%;
......@@ -70,7 +70,7 @@ body {
.error-image p{
font-size: 14px;
color: white;
color: #000;
margin: auto;
word-wrap: break-word;
width: 100%;
......
......@@ -45,6 +45,8 @@ h3{
}
#input-field-container{
/* height : 600px;
width : 400px; */
......
......@@ -12,6 +12,7 @@ import { INDEXED_DB_STORAGE, HIGHLIGHT_OBJECT, IMAGE_VIEWER_OBJECT, INDEXED_DB_N
import { searchStringInArray, startMetricCapture, keyArray } from "./WebGde-Widgets/captureMetrics/captureMetrics.js";
import { submitForm } from "./WebGde-Widgets/Submit/submit.js";
import { populateFields, populateForm } from "./WebGde-Widgets/DataInputWidget/generateFields.js";
import { returnElementBPO } from "./WebGde-Widgets/BPO/returnElement.js";
export async function startApplication() {
createLoadingScreen();
......@@ -83,20 +84,21 @@ async function checkBPODetails() {
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));
}
let dir = await lst.data;
sessionStorage.setItem("dir_files", JSON.stringify(dir));
return true;
// else {
// await this.returnElement(retElement.element);
// }
} else {
let dir_files = sessionStorage.getItem("dir_files");
let fileLocation = sessionStorage.getItem("element_file_loc");
if(dir_files && fileLocation){
return true;
}
await BPO_OBJECT.returnElement(elementId);
function exitTool() {
......@@ -172,6 +174,7 @@ async function createWebGdeInterface(GDEContainer) {
}
await createImageViewer();
await createInputForm();
createMenuBar();
}
async function createInputForm() {
......@@ -190,6 +193,41 @@ async function createInputForm() {
//document.getElementById("input-field-container").appendChild(controls.getWidget());
}
function createMenuBar(){
let div = document.createElement("div");
div.setAttribute('class', "row row-bar");
let shortcutDiv = document.createElement("div");
shortcutDiv.setAttribute('class', "row");
let scIcon = document.createElement("span");
//<span id="info-icon" class="icon">&#9432;</span>
scIcon.setAttribute("id", "info-icon");
scIcon.setAttribute("class", "icon");
scIcon.innerHTML = '&#9432;';
shortcutDiv.appendChild(scIcon);
let logOutDiv = document.createElement("div");
logOutDiv.setAttribute('class', "row");
let logOutIcon = document.createElement("button");
logOutIcon.setAttribute("id", "logoutBtn");
logOutIcon.addEventListener("click", ()=>{
///logoutKeycloak();
async function successfulReturn () {
await returnElementBPO(sessionStorage.getItem("element_id"));
sessionStorage.clear();
logoutKeycloak();
}
createModal(successfulReturn, "Current element will be returned. Would you like to proceed?");
});
logOutDiv.appendChild(logOutIcon);
div.appendChild(shortcutDiv);
div.appendChild(logOutDiv);
let dataInputContainer = document.getElementById('input-field-container');
dataInputContainer.insertBefore(div, dataInputContainer.firstChild);
}
async function createImageViewer() {
setImageViewerObject(new ImageViewer("imageViewerContainer"));
await IMAGE_VIEWER_OBJECT.init();
......@@ -293,15 +331,6 @@ export async function displayNextRecord(e) {
if (key <= lastIndexOfImage) {
let nextImageBlob = await INDEXED_DB_STORAGE.getStoreFile("imageNum_" + key);
await IMAGE_VIEWER_OBJECT.createNextImage(nextFilename.split(".").pop(), nextFilename, nextImageBlob);
// DISPLAY_FIELD_OBJECT.generateFields();
// document.getElementById("input-field-container").appendChild(DOCUMENT_CONTROL_OBJECT.getWidget());
// DISPLAY_FIELD_OBJECT.clearForm();
// populateForm(sessionStorage.getItem("display_counter"));
// DISPLAY_FIELD_OBJECT.updateHeaderText(0, "User: " + sessionStorage.getItem("user_id"));
// DISPLAY_FIELD_OBJECT.updateHeaderText(1, "Element ID: " + sessionStorage.getItem("element_id"));
// DISPLAY_FIELD_OBJECT.updateHeaderText(2, "");
}
}
}
......@@ -413,46 +442,12 @@ export async function resetGDE() {
DISPLAY_FIELD_OBJECT.updateHeaderText(2, "");
init();
let urls = JSON.parse(sessionStorage.getItem("dir_files"));
if (urls) {
await initializeImageDisplay();
// let maxImagesToStore = urls.length <= 3 ? urls.length : 3;
// for (let index = 0; index < maxImagesToStore; index++) {
// const url = urls[index];
// await INDEXED_DB_STORAGE.storeImageFile(url, 'imageNum_' + index);
// }
// if (maxImagesToStore > 1) {
// const url = urls[0];
// let filename = url.split('/').pop();
// let imageBlob = await INDEXED_DB_STORAGE.getStoreFile("imageNum_0");
// await IMAGE_VIEWER_OBJECT.createCurrentImage(filename.split(".").pop(), filename, imageBlob);
// const nextUrl = urls[1];
// let nextFilename = nextUrl.split('/').pop();
// let nextImageBlob = await INDEXED_DB_STORAGE.getStoreFile("imageNum_1");
// await IMAGE_VIEWER_OBJECT.createNextImage(nextFilename.split(".").pop(), nextFilename, nextImageBlob);
// HIGHLIGHT_OBJECT.resetHighLight("imageContainer", "currentImage");
// document.getElementById("nextRecordImage").style.visibility = "visible";
// document.getElementById("previousRecordImage").style.visibility = "hidden"
// } else if (maxImagesToStore === 1) {
// const url = urls[0];
// let filename = url.split('/').pop();
// let imageBlob = await INDEXED_DB_STORAGE.getStoreFile("imageNum_0");
// await IMAGE_VIEWER_OBJECT.addImage("currentImage", filename.split(".").pop(), filename, imageBlob);
// HIGHLIGHT_OBJECT.resetHighLight("imageContainer", "currentImage");
// document.getElementById("nextRecordImage").style.visibility = "hidden";
// document.getElementById("previousRecordImage").style.visibility = "hidden";
// }
sessionStorage.removeItem('formArray');
DISPLAY_FIELD_OBJECT.clearForm();
// //document.getElementById("input-field-container").appendChild(DOCUMENT_CONTROL_OBJECT.getWidget());
removeLoadingScreen();
} else {
function modalTest() {
......
......@@ -55,6 +55,25 @@ h3{
background-image: linear-gradient(to bottom, #23569f, #00a8c0);
}
.row-bar{
display: flex;
flex-wrap: nowrap;
justify-content: space-between;
margin: 2vh;
}
#info-icon{
color: #fff;
font-size: 3vh;
}
#logoutBtn{
background: no-repeat center/90% url("./WebGde-Widgets/resources/logout_icon.png");
height: 3vh;
width: 3vh;
border: 0;
}
#input-field-container{
/* height : 600px;
......
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