var advancedVisibility = false; var selectMenu = $("#selectMenuContent"); var advancedTab = $("#advanced"); var basicID = $("#basicItemData") var advancedID = $("#advancedItemData"); var advancedUUIDOptions = $("#uuid-validation-strategy"); var focusedField = false; function changeAdvancedVisibility(){ if(advancedVisibility){ selectMenu.removeClass('active'); advancedTab.removeClass('active'); advancedID.removeClass('active'); advancedUUIDOptions.removeClass('active'); basicID.addClass('active'); advancedVisibility = false; } else { selectMenu.addClass('active'); advancedTab.addClass('active'); advancedID.addClass('active'); advancedUUIDOptions.addClass('active'); basicID.removeClass('active'); advancedVisibility = true; } setCookie(); } const historyFilter = $('#history-filter'); const historyFilterSwitch = function(){ historyFilter.toggleClass('active'); } $("#optional").click(changeAdvancedVisibility); $('#historyTab').click(showHistory); $('#btn-history-filter').click(historyFilterSwitch); const tabitem = $('.tabitem'); function showHistory(){ $('#headersTab').click(showHeaders); tabitem.removeClass('active'); $('.tabcontent').removeClass('active'); $('#history').addClass('active'); $('#historyTab').addClass('active'); $('#historyTab').off('click'); initializeHistory(); } function initializeHistory(){ historyFilter.removeClass('active'); getHistoryData(); } function showHeaders(){ $('#historyTab').click(showHistory); tabitem.removeClass('active'); $('.tabcontent').removeClass('active'); $('#headers').addClass('active'); $('#headersTab').addClass('active'); $('#headersTab').off('click'); } function showHeadersHistory(record){ historyTable = ''; headers = parseHeaders(record.id) headers.forEach( (value,key) => { historyTable += '' + ''+ key + '' + ''+ value + '' + '' } ); document.getElementById('header-history-table-body').innerHTML = historyTable; switchPopups('history-headers-table'); showPopup(); } async function formatJSON(json) { const backend = "java"; const address = window.location.protocol + "//" + window.location.hostname + "/" + backend + "/json/formatting"; var init = { body: json, method: "POST" }; var request = new Request(address, init); var result = await fetch(request).then(response => { return response.text().then(function (text) { var json = JSON.parse(text); json.status = response.status; return json; }); }); return result; } async function formatXML(xml) { const backend = "libxml"; const address = window.location.protocol + "//" + window.location.hostname + "/" + backend + "/prettify"; var data = { data: xml, process: "", processor: "libxml", version: "1.0" } var init = { body: JSON.stringify(data), method: "POST" }; var request = new Request(address, init); var result = await fetch(request).then(response => { return response.text().then(function (text) { return JSON.parse(text); }); }); return result; } function showRequestBody(element){ var historyRequestBody = historyJson[element.id].requestBody; const popupContent = document.getElementById('code-highlight-content') document.getElementById('code-highlight-content').innerText = "Loading..."; switch(historyJson[element.id].headers["content-type"]){ case "application/json":{ formatJSON(historyRequestBody).then(function(result) { if (result.status == "200") { popupContent.innerText = result.data; highlightSyntax('code-highlight-content'); } else { popupContent.innerText = historyRequestBody; } }); break; } case "application/xml": { formatXML(historyRequestBody).then(function(result) { if (result.status == "OK") { popupContent.innerText = result.result; highlightSyntax('code-highlight-content'); } else { popupContent.innerText = historyRequestBody; } }); break; } default:{ popupContent.innerText = historyRequestBody; highlightSyntax('code-highlight-content'); } } switchPopups('history-request-body'); showPopup(); } function focusInTip(element){ showTip(element); focusedField = true; } function focusOutTip(element){ focusedField = false; hidTip(element); } function refreshHistoryRecords(){ getHistoryData(); } function hidTip(element){ if(focusedField) return; $('#'+element).removeClass('active'); } function showTip(element){ if(focusedField) return; $('.tip').removeClass('active'); $('#'+element).addClass('active'); } $('#messageLink').mouseover(function(){showTip('messageLinkTip')}); $('#messageLink').mouseleave(function(){hidTip('messageLinkTip')}); $('#httpStatus').mouseover(function(){showTip('httpStatusTip')}); $('#httpStatus').focusin(function(){focusInTip('httpStatusTip')}); $('#httpStatus').mouseleave(function(){hidTip('httpStatusTip')}); $('#httpStatus').focusout(function(){focusOutTip('httpStatusTip')}); $('#typeSelector').mouseover(function(){showTip('typeSelectorTip')}); $('#typeSelector').focusin(function(){focusInTip('typeSelectorTip')}); $('#typeSelector').mouseleave(function(){hidTip('typeSelectorTip')}); $('#typeSelector').focusout(function(){focusOutTip('typeSelectorTip')}); $('#bodyEditor').mouseover(function(){showTip('bodyEditorTip')}); $('#bodyEditor').focusin(function(){focusInTip('bodyEditorTip')}); $('#bodyEditor').mouseleave(function(){hidTip('bodyEditorTip')}); $('#bodyEditor').focusout(function(){focusOutTip('bodyEditorTip')}); $('#headersTab').mouseover(function(){showTip('headersTabTip')}); $('#headersTab').mouseleave(function(){hidTip('headersTabTip')}); $('#historyTab').mouseover(function(){showTip('historyTabTip')}); $('#historyTab').mouseleave(function(){hidTip('historyTabTip')}); $('#headerKeyInput').mouseover(function(){showTip('newHeaderTip')}); $('#headerKeyInput').focusin(function(){focusInTip('newHeaderTip')}); $('#headerKeyInput').mouseleave(function(){hidTip('newHeaderTip')}); $('#headerKeyInput').focusout(function(){focusOutTip('newHeaderTip')}); $('#headerValueInput').mouseover(function(){showTip('newHeaderTip')}); $('#headerValueInput').focusin(function(){focusInTip('newHeaderTip')}); $('#headerValueInput').mouseleave(function(){hidTip('newHeaderTip')}); $('#headerValueInput').focusout(function(){focusOutTip('newHeaderTip')}); $('#btnSave').mouseover(function(){showTip('btnSaveTip');}); $('#btnSave').focusin(function(){focusInTip('btnSaveTip')}); $('#btnSave').mouseleave(function(){hidTip('btnSaveTip')}); $('#btnSave').focusout(function(){focusOutTip('btnSaveTip')}); $('#listItems').mouseover(function(){showTip('messagesTip');}); $('#listItems').mouseleave(function(){hidTip('messagesTip')});