var dataType = "messages" var connected = false; var paginationIndex = 0; var maxPages = 10; var pages = []; var userName = ""; var port = 8002; var baseUrl = `http://localhost:${port}` var data = { dataType: "event", dataName: "", user: "", sessionTag: "", page: 0, collector: { connected: false, user: "", sessionTag: "", } } dropDown("usersDropDown", () => `${baseUrl}/tiktok/users`, async (e) => { data.user = e; update(); }) dropDown("dataTypeDropDown", () => `${baseUrl}/tiktok/data-types`, async (e) => { data.dataType = e; update(); }) dropDown("sessionTagDropDown", () => `${baseUrl}/tiktok/sessions?user=${data.user}`, async (e) => { data.sessionTag = e; update(); }) function update() { new Promise(async function (resolve, reject) { await updateAsync(); resolve(true); }); } async function updateAsync() { console.log("Updating", data); await updateConnectionButton() await updateDataNamesList(async (dataName) => { data.dataName = dataName; data.page = 0; await updateContent(`${baseUrl}/tiktok/data?name=${data.dataName}&type=${data.dataType}&page=${data.page}`); await updatePagination(async (page, link) => { data.page = page; await updateContent(link) }); }); await fetch(`${baseUrl}/tiktok/update?user=${data.user}&session=${data.sessionTag}`); } async function updatePagination(onSelect) { let response = await fetch(`${baseUrl}/tiktok/data/pages?name=${data.dataName}&type=${data.dataType}`); let json = await response.text(); let object = JSON.parse(json); let pages = object.links; $("#pages").empty(); let page = 0; $.each(pages, function (index, element) { let currentPage = page; page++; let content = $('