/**
* This file holds the event for opening the versions frame.
*
* @module scripts/events/main/run
*/
import RequestHandler from "../../request_handler.js";
import PageHandler from "../../page_handler.js";
import EventHandler from "../../event_handler.js";
/**
* Opens the versions frame.
*
* @function run_event
*
* @param {HTMLElement} target - Is the targeted UI element that was clicked.
* @param {object} args - The data attributes of the targeted element.
* @param {RequestHandler} requestHandler - The handler for HTTP requests.
* @param {PageHandler} pageHandler - The handler for UI updates.
* @param {EventHandler} eventHandler - The handler for the events.
*/
function run_event(target, args, requestHandler, pageHandler, eventHandler) {
if (pageHandler.getIsFrameLoaded(args)) {
pageHandler.openVersionsFrame(null, null);
eventHandler.isHandlingEvent = false;
return;
}
requestHandler.GET("/api/all", [ "True" ], (res) => {
if (res.type) {
requestHandler.GET("/api/current", [], (resCurr) => {
if (resCurr.type) {
pageHandler.openVersionsFrame(res.payload, resCurr.payload);
} else {
pageHandler.addError(resCurr.error);
}
});
} else {
pageHandler.addError(res.error);
}
eventHandler.isHandlingEvent = false;
});
}
export default run_event;