Commit eb9b69f2 by Owen

more loading screens, handle err_connection, added pull-to-refresh.

parent f9ca2955
import { createLoadingScreen, removeLoadingScreen, resetGDE } from "../../script.js"; import { resetGDE } from "../../script.js";
import { SCHEMA_FILE_PATH } from "../DataInputWidget/config.js"; import { SCHEMA_FILE_PATH } from "../DataInputWidget/config.js";
import { validateInput } from "../DataInputWidget/validateInput.js"; import { validateInput } from "../DataInputWidget/validateInput.js";
import { goBackToElementListViewer } from "../ElementListWidget/ElementListWidget.js"; import { goBackToElementListViewer } from "../ElementListWidget/ElementListWidget.js";
import { createLoadingModal, removePrompt } from "../LoadingModal/LoadingModal.js"; import { createLoadingModal, removeLoadingModal } from "../LoadingModal/LoadingModal.js";
import { PROJECT_CODE } from "../Submit/config.js"; import { PROJECT_CODE } from "../Submit/config.js";
import { ENCODING_PASS, REASON_LIST } from "../config.js"; import { ENCODING_PASS, REASON_LIST } from "../config.js";
import { createInfoModal, createModal } from "../genericPopup/genericPopup.js"; import { createInfoModal, createModal } from "../genericPopup/genericPopup.js";
...@@ -39,7 +39,7 @@ async function rejectElement() { ...@@ -39,7 +39,7 @@ async function rejectElement() {
document.getElementById("backdropContainer").remove(); document.getElementById("backdropContainer").remove();
if(goBackToElementListViewer()){ if(goBackToElementListViewer()){
resetGDE(); resetGDE();
removePrompt(); removeLoadingModal();
}; };
} }
createInfoModal(successfulReturn, 'OK', "Element rejected"); createInfoModal(successfulReturn, 'OK', "Element rejected");
......
import { createLoadingScreen, removeLoadingScreen, resetGDE } from "../../script.js";
import { SCHEMA_FILE_PATH } from "../DataInputWidget/config.js"; import { SCHEMA_FILE_PATH } from "../DataInputWidget/config.js";
import { validateInput } from "../DataInputWidget/validateInput.js"; import { validateInput } from "../DataInputWidget/validateInput.js";
import { goBackToElementListViewer } from "../ElementListWidget/ElementListWidget.js"; import { goBackToElementListViewer } from "../ElementListWidget/ElementListWidget.js";
import { createLoadingModal, removePrompt } from "../LoadingModal/LoadingModal.js"; import { createLoadingModal, removeLoadingModal } from "../LoadingModal/LoadingModal.js";
import { PROJECT_CODE } from "../Submit/config.js"; import { PROJECT_CODE } from "../Submit/config.js";
import { interval } from "../captureMetrics/captureMetrics.js"; import { interval } from "../captureMetrics/captureMetrics.js";
import { createConfirmationModal, createInfoModal, createModal } from "../genericPopup/genericPopup.js"; import { createConfirmationModal, createInfoModal, createModal } from "../genericPopup/genericPopup.js";
...@@ -92,12 +91,12 @@ export function createReturnWindow() { ...@@ -92,12 +91,12 @@ export function createReturnWindow() {
if (response.status == 200) { if (response.status == 200) {
sessionStorage.removeItem("section"); sessionStorage.removeItem("section");
sessionStorage.removeItem("doctype"); sessionStorage.removeItem("doctype");
removePrompt(); removeLoadingModal();
goBackToElementListViewer(); goBackToElementListViewer();
}else{ }else{
function errorReturn(){ function errorReturn(){
removePrompt(); removeLoadingModal();
} }
createInfoModal(errorReturn, 'Error', "Error ${response.status}: Returning element"); createInfoModal(errorReturn, 'Error', "Error ${response.status}: Returning element");
} }
......
import { createWebGdeInterface, removeLoadingScreen } from '../../script.js'; import { createWebGdeInterface } from '../../script.js';
import { createReturnWindow } from '../BPO/returnElement.js'; import { createReturnWindow } from '../BPO/returnElement.js';
import { populateFields } from '../DataInputWidget/generateFields.js'; import { populateFields } from '../DataInputWidget/generateFields.js';
import { createLoadingModal, removeLoadingModal } from '../LoadingModal/LoadingModal.js';
import { logoutKeycloak } from '../Logout/Logout.js'; import { logoutKeycloak } from '../Logout/Logout.js';
import { ADD_NEW_OPTION, CURRENT_NODE, BPO_URL, DISPLAYED_DETAILS } from '../config.js'; import { ADD_NEW_OPTION, CURRENT_NODE, BPO_URL, DISPLAYED_DETAILS } from '../config.js';
import { DocumentControlWidget } from "../documentControlWidget/documentControlWidget.js"; import { DocumentControlWidget } from "../documentControlWidget/documentControlWidget.js";
import { createErrorModal } from '../genericPopup/genericPopup.js';
import { INDEXED_DB_STORAGE, HIGHLIGHT_OBJECT, IMAGE_VIEWER_OBJECT, INDEXED_DB_NAME, INDEXED_DB_TBL_NAME, setIndexedDBStorage, setHighlightObject, setImageViewerObject, setBPOObject, BPO_OBJECT, DISPLAY_FIELD_OBJECT, setDisplayFieldObject, activateGDE, setDocumentControlObject, DOCUMENT_CONTROL_OBJECT, IS_GDE_ACTIVATED } from "../globalVariable.js"; import { INDEXED_DB_STORAGE, HIGHLIGHT_OBJECT, IMAGE_VIEWER_OBJECT, INDEXED_DB_NAME, INDEXED_DB_TBL_NAME, setIndexedDBStorage, setHighlightObject, setImageViewerObject, setBPOObject, BPO_OBJECT, DISPLAY_FIELD_OBJECT, setDisplayFieldObject, activateGDE, setDocumentControlObject, DOCUMENT_CONTROL_OBJECT, IS_GDE_ACTIVATED } from "../globalVariable.js";
import PullToRefresh from './PullToRefresh.js';
const API_ROOT = `${BPO_URL}req`; const API_ROOT = `${BPO_URL}req`;
...@@ -16,7 +20,9 @@ export class ElementListWidget { ...@@ -16,7 +20,9 @@ export class ElementListWidget {
selectedElement: null, selectedElement: null,
workers: [], workers: [],
queueIndex: null, queueIndex: null,
workerId: null workerId: null,
searchInput: null,
pullToRefresh: null
}; };
constructor(nodeId, containerId) { constructor(nodeId, containerId) {
...@@ -34,6 +40,18 @@ export class ElementListWidget { ...@@ -34,6 +40,18 @@ export class ElementListWidget {
} }
async init(nodeId, workerId) { async init(nodeId, workerId) {
this.render();
createLoadingModal("Fetching Elements", "Fetching Workers", null, null, null);
this.global.pullToRefresh = PullToRefresh.init({
mainElement: '#element-list',
onRefresh: async () => {
// Call the init function again
await this.reloadElementList(nodeId, workerId);
}
});
console.log(`Fetching workers for node ID: ${nodeId}`); console.log(`Fetching workers for node ID: ${nodeId}`);
const workerResponse = await fetchWorkersForNode(nodeId); const workerResponse = await fetchWorkersForNode(nodeId);
console.log("Worker API Response:", workerResponse); console.log("Worker API Response:", workerResponse);
...@@ -42,6 +60,8 @@ export class ElementListWidget { ...@@ -42,6 +60,8 @@ export class ElementListWidget {
this.global.workers = workerResponse.workers; this.global.workers = workerResponse.workers;
} else { } else {
console.error('Failed to fetch workers:', workerResponse); console.error('Failed to fetch workers:', workerResponse);
removeLoadingModal();
createErrorModal(null, "Close", "Failed to fetch workers.");
return; return;
} }
...@@ -49,6 +69,8 @@ export class ElementListWidget { ...@@ -49,6 +69,8 @@ export class ElementListWidget {
if (!selectedWorker) { if (!selectedWorker) {
console.error(`Worker with ID ${workerId} not found.`); console.error(`Worker with ID ${workerId} not found.`);
removeLoadingModal();
createErrorModal(null, "Close", "Worker not found.");
return; return;
} }
...@@ -62,10 +84,54 @@ export class ElementListWidget { ...@@ -62,10 +84,54 @@ export class ElementListWidget {
); );
} else { } else {
this.elements = []; this.elements = [];
removeLoadingModal();
createErrorModal(null, "Close", `Failed to fetch elements or received malformed data: ${elementResponse}`);
console.error('Failed to fetch elements or received malformed data:', elementResponse); console.error('Failed to fetch elements or received malformed data:', elementResponse);
return;
} }
this.render(); // Populate the list with all elements initially
this.applySearchFilter('');
removeLoadingModal();
}
async reloadElementList (nodeId, workerId){
console.log(`Fetching workers for node ID: ${nodeId}`);
const workerResponse = await fetchWorkersForNode(nodeId);
console.log("Worker API Response:", workerResponse);
if (workerResponse.successful && Array.isArray(workerResponse.workers)) {
this.global.workers = workerResponse.workers;
} else {
console.error('Failed to fetch workers:', workerResponse);
createErrorModal(null, "Close", "Failed to fetch workers.");
return;
}
const selectedWorker = this.global.workers.find(worker => worker.workerId === workerId);
if (!selectedWorker) {
console.error(`Worker with ID ${workerId} not found.`);
createErrorModal(null, "Close", "Worker not found.");
}
/* console.log(`Fetching elements for node ID: ${nodeId}`);*/
const elementResponse = await fetchElementsForNode(nodeId);
/* console.log("Elements API Response:", elementResponse);*/
if (elementResponse.successful && Array.isArray(elementResponse.elements)) {
this.elements = elementResponse.elements.filter(element =>
selectedWorker.queueIndex.includes(element.queueIndex)
);
} else {
this.elements = [];
createErrorModal(null, "Close", `Failed to fetch elements or received malformed data: ${elementResponse}`);
console.error('Failed to fetch elements or received malformed data:', elementResponse);
return;
}
// Populate the list with all elements initially
this.applySearchFilter(this.global.searchInput.value);
} }
render() { render() {
...@@ -94,11 +160,11 @@ export class ElementListWidget { ...@@ -94,11 +160,11 @@ export class ElementListWidget {
topDiv.classList.add("element-list-top-div"); topDiv.classList.add("element-list-top-div");
// Create a search input field // Create a search input field
const searchInput = document.createElement("input"); this.global.searchInput = document.createElement("input");
searchInput.placeholder = "Search elements..."; this.global.searchInput.placeholder = "Search elements...";
searchInput.id = "search-input"; this.global.searchInput.id = "search-input";
searchInput.type = "text"; this.global.searchInput.type = "text";
topDiv.appendChild(searchInput); topDiv.appendChild(this.global.searchInput);
this.global.container.appendChild(topDiv); this.global.container.appendChild(topDiv);
// Create user profile icon span // Create user profile icon span
...@@ -146,8 +212,8 @@ export class ElementListWidget { ...@@ -146,8 +212,8 @@ export class ElementListWidget {
topDiv.appendChild(userProfileIcon); topDiv.appendChild(userProfileIcon);
// Event listener for search input // Event listener for search input
searchInput.addEventListener("input", () => { this.global.searchInput.addEventListener("input", () => {
this.applySearchFilter(searchInput.value); this.applySearchFilter(this.global.searchInput.value);
}); });
// Create an element list container for the elements // Create an element list container for the elements
...@@ -156,9 +222,6 @@ export class ElementListWidget { ...@@ -156,9 +222,6 @@ export class ElementListWidget {
elementList.id = "element-list"; elementList.id = "element-list";
this.global.container.appendChild(elementList); this.global.container.appendChild(elementList);
// Populate the list with all elements initially
this.applySearchFilter('');
// Create a parent div for the buttons // Create a parent div for the buttons
const buttonContainer = document.createElement("div"); const buttonContainer = document.createElement("div");
buttonContainer.classList.add("button-container"); buttonContainer.classList.add("button-container");
...@@ -259,8 +322,6 @@ export class ElementListWidget { ...@@ -259,8 +322,6 @@ export class ElementListWidget {
} }
showExtraDetails(element, elementContainer) { showExtraDetails(element, elementContainer) {
// Remove existing extra details if any // Remove existing extra details if any
this.removeExtraDetails(elementContainer); this.removeExtraDetails(elementContainer);
...@@ -417,23 +478,59 @@ export class ElementListWidget { ...@@ -417,23 +478,59 @@ export class ElementListWidget {
} }
async function fetchWorkersForNode(nodeId) { async function fetchWorkersForNode(nodeId) {
try {
const response = await fetch(`${API_ROOT}/nodes/${nodeId}/workers`); const response = await fetch(`${API_ROOT}/nodes/${nodeId}/workers`);
if (!response.ok) {
throw new Error(`Error: ${response.status}`);
}
return await response.json(); return await response.json();
} catch (error) {
return { error: 'Connection error' };
}
} }
async function fetchElementsForNode(nodeId) { async function fetchElementsForNode(nodeId) {
try {
const response = await fetch(`${API_ROOT}/nodes/${nodeId}/elements`); const response = await fetch(`${API_ROOT}/nodes/${nodeId}/elements`);
if (!response.ok) {
throw new Error(`Error: ${response.status}`);
}
return await response.json(); return await response.json();
} catch (error) {
return { error: 'Connection error' };
}
} }
async function assignElementToWorker(workerId, nodeId, queueIndex, elementId) { async function assignElementToWorker(workerId, nodeId, queueIndex, elementId) {
try {
const response = await fetch(`${API_ROOT}/workers/${workerId}/nodes/${nodeId}/elements/${queueIndex}/${elementId}`); const response = await fetch(`${API_ROOT}/workers/${workerId}/nodes/${nodeId}/elements/${queueIndex}/${elementId}`);
if (!response.ok) {
throw new Error(`Error: ${response.status}`);
}
return await response.json(); return await response.json();
} catch (error) {
return { error: 'Connection error' };
}
} }
async function assignReturnedElementToWorker(workerId, nodeId, elementId) { async function assignReturnedElementToWorker(workerId, nodeId, elementId) {
try {
const response = await fetch(`${API_ROOT}/workers/${workerId}/nodes/${nodeId}/returned-elements/${elementId}`); const response = await fetch(`${API_ROOT}/workers/${workerId}/nodes/${nodeId}/returned-elements/${elementId}`);
if (!response.ok) {
throw new Error(`Error: ${response.status}`);
}
return await response.json(); return await response.json();
} catch (error) {
return { error: 'Connection error' };
}
} }
export function goBackToElementListViewer() { export function goBackToElementListViewer() {
...@@ -447,7 +544,6 @@ export function goBackToElementListViewer() { ...@@ -447,7 +544,6 @@ export function goBackToElementListViewer() {
// Reinstantiate and reinitialize the ElementListWidget // Reinstantiate and reinitialize the ElementListWidget
new ElementListWidget(CURRENT_NODE, 'containerId'); new ElementListWidget(CURRENT_NODE, 'containerId');
removeLoadingScreen();
return true; return true;
} }
......
export const createLoadingModal = (titleTxt, message, type, btnTxt, callBackFunc) => { export const createLoadingModal = (titleTxt, message, type, btnTxt, callBackFunc) => {
let modal = document.getElementById("modal-container"); let modal = document.getElementById("modal-container");
if(modal){ if(modal){
removePrompt; removeLoadingModal;
} }
createPrompt(); createPrompt();
...@@ -104,7 +104,7 @@ export const createLoadingModal = (titleTxt, message, type, btnTxt, callBackFunc ...@@ -104,7 +104,7 @@ export const createLoadingModal = (titleTxt, message, type, btnTxt, callBackFunc
modal.style.display = 'block'; modal.style.display = 'block';
} }
export const removePrompt = () => { export const removeLoadingModal = () => {
let modal = document.getElementById("modal-container"); let modal = document.getElementById("modal-container");
modal.remove(); modal.remove();
} }
......
...@@ -109,7 +109,7 @@ top: 4px; ...@@ -109,7 +109,7 @@ top: 4px;
} }
.modal-body{ .modal-body{
margin-top: 40px; margin-top: 20px;
display: flex; display: flex;
align-items: center; align-items: center;
flex-wrap: wrap; flex-wrap: wrap;
......
...@@ -170,7 +170,7 @@ async function createNonBPOXML(fields, metrics, doctype, section, fieldOrder){ ...@@ -170,7 +170,7 @@ async function createNonBPOXML(fields, metrics, doctype, section, fieldOrder){
"fieldOrder" : fieldOrder "fieldOrder" : fieldOrder
} }
const authToken = sessionStorage.getItem('token'); try {
let response = await fetch(urlWriteXml, { let response = await fetch(urlWriteXml, {
method: "POST", method: "POST",
headers: { headers: {
...@@ -180,7 +180,16 @@ async function createNonBPOXML(fields, metrics, doctype, section, fieldOrder){ ...@@ -180,7 +180,16 @@ async function createNonBPOXML(fields, metrics, doctype, section, fieldOrder){
body: JSON.stringify(xmlData) body: JSON.stringify(xmlData)
}); });
return response; if (response.ok) {
return true;
} else {
return false;
}
} catch (error) {
// Handle connection errors or other issues
console.error('Error:', error);
return false;
}
} }
async function createBPOXML(fields, metrics, doctype, section, fieldOrder){ async function createBPOXML(fields, metrics, doctype, section, fieldOrder){
...@@ -213,6 +222,7 @@ async function createBPOXML(fields, metrics, doctype, section, fieldOrder){ ...@@ -213,6 +222,7 @@ async function createBPOXML(fields, metrics, doctype, section, fieldOrder){
} }
const authToken = sessionStorage.getItem('token'); const authToken = sessionStorage.getItem('token');
try {
let response = await fetch(urlWriteXml, { let response = await fetch(urlWriteXml, {
method: "POST", method: "POST",
headers: { headers: {
...@@ -222,8 +232,16 @@ async function createBPOXML(fields, metrics, doctype, section, fieldOrder){ ...@@ -222,8 +232,16 @@ async function createBPOXML(fields, metrics, doctype, section, fieldOrder){
body: JSON.stringify(xmlData) body: JSON.stringify(xmlData)
}); });
return response; if (response.ok) {
return true;
} else {
return false;
}
} catch (error) {
// Handle connection errors or other issues
console.error('Error:', error);
return false;
}
} }
......
import { createLoadingScreen } from "../../script.js";
import { getUrlCompleteToNextNode } from "../BPO/bpoService.js"; import { getUrlCompleteToNextNode } from "../BPO/bpoService.js";
import { saveForm } from "../DataInputWidget/generateFields.js"; import { saveForm } from "../DataInputWidget/generateFields.js";
import { checkValidValues, validateInput } from "../DataInputWidget/validateInput.js"; import { checkValidValues, validateInput } from "../DataInputWidget/validateInput.js";
import { goBackToElementListViewer } from "../ElementListWidget/ElementListWidget.js"; import { goBackToElementListViewer } from "../ElementListWidget/ElementListWidget.js";
import { uploadFile } from "../FileUpload/fileUpload.js"; import { uploadFile } from "../FileUpload/fileUpload.js";
import { createLoadingModal, removePrompt } from "../LoadingModal/LoadingModal.js"; import { createLoadingModal, removeLoadingModal } from "../LoadingModal/LoadingModal.js";
import { global_end_time, saveMetrics, stopMetricCapture, setGlobalEndTime, interval } from "../captureMetrics/captureMetrics.js"; import { global_end_time, saveMetrics, stopMetricCapture, setGlobalEndTime, interval } from "../captureMetrics/captureMetrics.js";
import { IS_RETRIEVE_FROM_BPO, SHOW_ELEMENT_LIST_VIEWER } from "../config.js"; import { IS_RETRIEVE_FROM_BPO, SHOW_ELEMENT_LIST_VIEWER } from "../config.js";
import { createConfirmationModal, createErrorModal, createInfoModal } from "../genericPopup/genericPopup.js"; import { createConfirmationModal, createErrorModal, createInfoModal } from "../genericPopup/genericPopup.js";
...@@ -141,7 +140,7 @@ export const submitForm = async (e) => { ...@@ -141,7 +140,7 @@ export const submitForm = async (e) => {
console.log(getFile.text()); console.log(getFile.text());
// await uploadTOGFS(getFile.text(), sessionStorage.getItem("recentlySavedFileName")); // await uploadTOGFS(getFile.text(), sessionStorage.getItem("recentlySavedFileName"));
} else { } else {
createInfoModal(null, 'OK', 'Error while uploading'); createInfoModal(null, 'OK', 'Error while generating output.');
return false return false
} }
}else { }else {
...@@ -161,6 +160,9 @@ export const submitForm = async (e) => { ...@@ -161,6 +160,9 @@ export const submitForm = async (e) => {
}, },
body: JSON.stringify(filePath) body: JSON.stringify(filePath)
}); });
} else {
createInfoModal(null, 'OK', 'Error while generating output.');
return false
} }
} }
// saveForm(sessionStorage.getItem("display_counter")); // saveForm(sessionStorage.getItem("display_counter"));
...@@ -179,7 +181,7 @@ export async function createSubmitWindow(e){ ...@@ -179,7 +181,7 @@ export async function createSubmitWindow(e){
createLoadingModal("Submitting Element", "Please wait...", null, null, null); createLoadingModal("Submitting Element", "Please wait...", null, null, null);
submitStatus = await submitForm(e); submitStatus = await submitForm(e);
if(submitStatus){ if(submitStatus){
removePrompt(); removeLoadingModal();
DISPLAY_FIELD_OBJECT.clearForm(); DISPLAY_FIELD_OBJECT.clearForm();
if (SHOW_ELEMENT_LIST_VIEWER === "Y") { if (SHOW_ELEMENT_LIST_VIEWER === "Y") {
console.log("PUMASOK DITO"); console.log("PUMASOK DITO");
...@@ -191,7 +193,7 @@ export async function createSubmitWindow(e){ ...@@ -191,7 +193,7 @@ export async function createSubmitWindow(e){
let response = await completeToNextNode(sessionStorage.getItem("element_id")); let response = await completeToNextNode(sessionStorage.getItem("element_id"));
} }
} else{ } else{
removePrompt(); removeLoadingModal();
} }
}; };
......
import { createLoadingScreen, removeLoadingScreen } from '../../script.js';
import { createRejectWindow } from '../BPO/rejectElement.js'; import { createRejectWindow } from '../BPO/rejectElement.js';
import { createReturnWindow } from '../BPO/returnElement.js'; import { createReturnWindow } from '../BPO/returnElement.js';
import { goBackToElementListViewer } from '../ElementListWidget/ElementListWidget.js'; import { goBackToElementListViewer } from '../ElementListWidget/ElementListWidget.js';
......
...@@ -17,7 +17,6 @@ document.addEventListener("DOMContentLoaded", function() { ...@@ -17,7 +17,6 @@ document.addEventListener("DOMContentLoaded", function() {
startApplication(); startApplication();
export async function startApplication() { export async function startApplication() {
createLoadingScreen();
await initializeWebGDE(); await initializeWebGDE();
} }
...@@ -36,7 +35,6 @@ async function initializeWebGDE() { ...@@ -36,7 +35,6 @@ async function initializeWebGDE() {
if(mainLogInScreenContainer){ if(mainLogInScreenContainer){
mainLogInScreenContainer.remove(); mainLogInScreenContainer.remove();
} }
removeLoadingScreen();
new ElementListWidget(CURRENT_NODE, 'containerId'); new ElementListWidget(CURRENT_NODE, 'containerId');
} else { } else {
...@@ -48,7 +46,6 @@ async function initializeWebGDE() { ...@@ -48,7 +46,6 @@ async function initializeWebGDE() {
if(mainLogInScreenContainer){ if(mainLogInScreenContainer){
mainLogInScreenContainer.remove(); mainLogInScreenContainer.remove();
} }
removeLoadingScreen();
} }
} }
...@@ -88,48 +85,6 @@ async function createInputForm() { ...@@ -88,48 +85,6 @@ async function createInputForm() {
//document.getElementById("input-field-container").appendChild(controls.getWidget()); //document.getElementById("input-field-container").appendChild(controls.getWidget());
} }
export function createLoadingScreen() {
const centerContainer = document.createElement("center");
let modalContainer = document.getElementById("modal-container");
if (modalContainer) {
modalContainer.style.display = "block";
} else {
modalContainer = document.createElement("div");
modalContainer.setAttribute("class", "modal-container");
modalContainer.setAttribute("id", "modal-container");
}
let loaderContainer = document.getElementById("loaderContainer");
if (!loaderContainer) {
loaderContainer = document.createElement("div");
loaderContainer.setAttribute("id", "loaderContainer");
loaderContainer.setAttribute("class", "modal");
}
let loader1 = document.createElement("div");
loader1.setAttribute("class", "loader");
loader1.setAttribute("id", "loader");
loaderContainer.appendChild(loader1);
centerContainer.appendChild(loaderContainer);
modalContainer.appendChild(centerContainer);
document.body.appendChild(modalContainer);
}
export function removeLoadingScreen() {
let modalContainer = document.getElementById("modal-container");
if (modalContainer) {
modalContainer.style.display = "none";
}
let loaderContainer = document.getElementById("loaderContainer");
if (loaderContainer) {
loaderContainer.remove();
}
}
export async function resetGDE() { export async function resetGDE() {
// TO-DO // TO-DO
} }
......
import { createLoadingModal, removePrompt } from "./WebGde-Widgets/LoadingModal/LoadingModal.js"; import { createLoadingModal, removeLoadingModal } from "./WebGde-Widgets/LoadingModal/LoadingModal.js";
import { fallbackLogin, loginGde } from "./WebGde-Widgets/LogInWidget/LoginJavaInterface.js"; import { fallbackLogin, loginGde } from "./WebGde-Widgets/LogInWidget/LoginJavaInterface.js";
const scriptElement = document.createElement("script"); const scriptElement = document.createElement("script");
...@@ -9,7 +9,7 @@ document.addEventListener("DOMContentLoaded", function() { ...@@ -9,7 +9,7 @@ document.addEventListener("DOMContentLoaded", function() {
window.createLoadingModal = createLoadingModal; window.createLoadingModal = createLoadingModal;
window.fallbackLogin = fallbackLogin; window.fallbackLogin = fallbackLogin;
window.loginGde = loginGde; window.loginGde = loginGde;
window.removePrompt = removePrompt; window.removeLoadingModal = removeLoadingModal;
// const LOG_IN_COMPONENT = new LogInClass(startApplication); // const LOG_IN_COMPONENT = new LogInClass(startApplication);
// LOG_IN_COMPONENT.establishEventListeners(); // LOG_IN_COMPONENT.establishEventListeners();
}); });
......
...@@ -44,7 +44,8 @@ public class AuthorizedFilter implements ContainerRequestFilter { ...@@ -44,7 +44,8 @@ public class AuthorizedFilter implements ContainerRequestFilter {
@Override @Override
public void filter(ContainerRequestContext requestContext) throws IOException { public void filter(ContainerRequestContext requestContext) throws IOException {
System.out.println("Authorized annotation detected!"); System.out.println("Authorized annotation detected!");
if (!verifyCaller(requestContext)) { if (false) { // IMPORTANT! PLEASE COMMENT OUT BEFORE COMMIT.
// if (!verifyCaller(requestContext)) {
try { try {
redirect(requestContext); redirect(requestContext);
} catch (URISyntaxException e) { } catch (URISyntaxException e) {
......
...@@ -239,13 +239,15 @@ public class GDEWebServices { ...@@ -239,13 +239,15 @@ public class GDEWebServices {
} }
} }
File file = new File(filePath);
if (!file.exists()) {
System.out.println("creating output directory"); System.out.println("creating output directory");
response = XMLUtil.generateXML(xml); response = XMLUtil.generateXML(xml);
} else { // File file = new File(filePath);
response = XMLUtil.udpateXML(xml); // if (!file.exists()) {
} // System.out.println("creating output directory");
// response = XMLUtil.generateXML(xml);
// } else {
// response = XMLUtil.udpateXML(xml);
// }
} catch (Exception e) { } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
return Response.status(500).entity("Fail").build(); return Response.status(500).entity("Fail").build();
......
package com.svi.webgde.restservice.utils; package com.svi.webgde.restservice.utils;
import java.io.FileOutputStream;
import java.io.IOException; import java.io.IOException;
import java.io.OutputStream;
import java.io.StringReader; import java.io.StringReader;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Paths; import java.nio.file.Paths;
...@@ -109,9 +111,18 @@ public class XMLUtil { ...@@ -109,9 +111,18 @@ public class XMLUtil {
transformer.setOutputProperty(OutputKeys.STANDALONE, "no"); transformer.setOutputProperty(OutputKeys.STANDALONE, "no");
transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4"); transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "4");
Result result = new StreamResult(xml.getOutputDir()); try (OutputStream outputStream = new FileOutputStream(xml.getOutputDir())) {
// Set the output stream for the StreamResult
Result result = new StreamResult(outputStream);
// Perform the transformation
transformer.transform(source, result); transformer.transform(source, result);
} catch (IOException e) {
// Handle IOException
e.printStackTrace();
}
// Return the content of the generated file
return new String(Files.readAllBytes(Paths.get(xml.getOutputDir()))); return new String(Files.readAllBytes(Paths.get(xml.getOutputDir())));
} }
......
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