{"version":3,"sources":["PopForums.js"],"names":["ready","callback","document","readyState","addEventListener","PopForums","theme","editorSettings","plugins","content_css","menubar","editorCSS","toolbar","statusbar","target_list","link_title","image_description","image_dimensions","browser_spellcheck","object_resizing","relative_urls","remove_script_host","contextmenu","mobile","paste_as_text","email","querySelector","password","value","processLoginBase","fetch","path","method","areaPath","headers","Content-Type","then","response","result","destination","loginResult","_document$querySelect","location","reload","innerHTML","message","classList","remove","error","window","hash","charAt","substr","crumbHeight","scrollToPostFromHash","top","getBoundingClientRect","height","e","margin","parseFloat","marginTop","scrollBy","tagPosition","behavior","crumb","startTimeUpdater","b","newPosition","forumID","text","body","n","style","display","topicListSetup","toLowerCase","selector","init","previewPost","loadReply","topicID","postID","replyID","setupMorePosts","removeEventListener","ScrollLoad","usePlainText","tinyMCE","modal","stuff","postNoImageToolbar","allowImage","currentTopicState","lastVisiblePost","lowPage","topicPartialPath","t","createElement","trim","links","lastPostID","scrollToElement","forEach","x","replaceWith","cloneNode","add","visibility","moreButton","removeChild","withUrl","build","start","postStream","append","invoke","querySelectorAll","setReplyMorePosts","loadComment","connection","HubConnectionBuilder","TopicState","replyLoaded","r","model","IsPlainText","checked","JSON","loadFeed","signalR","data","triggerSave","row","list","FullText","populateFeedRow","setAttribute","utc","timeStamp","lastPostLoaded","button","pageIndex","pageCount","removeAttribute","highPage","content","on","theLastPostID","_document$querySelect2","event","target","contains","getAttribute","box","closest","userID","loadMiniProfile","voters","parent","firstChild","outerHTML","SetupSubscribeButton","SetupFavoriteButton","l","countBox","id","addStartPage","nextPage","LoadMorePosts","prepend","qaTopicSetup","_document$querySelect4","_document$querySelect5","stringify","s","asyncResult","isSubscribed","Message","f","json","isFavorite","streamEnd","offsetTop","viewEnd","outerHeight","loadingPosts","clickedButton","addEndPage","scrollY","distance","isScrollAdjusted","newPageCount","this","prototype","postNewTopic","d","Title","ItemID","startPageIndex","redirect","IncludeSignature","closeOnReply","CloseOnReply","ParentPostID","postReply","closeCheck","sub","offsetParent","y","homeSetup","recentListen","pageSize","removal","getElementById","length","rows","scrollTo","forumListen","populateTopicRow","startedByName","link","title","forumTitle","viewCount","replyCount","lastPostTime","lastPostName","updateForumStats","topicCount","postCount","updateTimes","Date","FormData","formData","console","log"],"mappings":"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","file":"PopForums.min.js","sourcesContent":["var ready = (callback) => {\r\n if (document.readyState != \"loading\") callback();\r\n else document.addEventListener(\"DOMContentLoaded\", callback);\r\n}\r\n\r\nvar PopForums = {};\r\n\r\nPopForums.areaPath = \"/Forums\";\r\nPopForums.currentTopicState = null;\r\nPopForums.editorCSS = \"/lib/bootstrap/dist/css/bootstrap.min.css,/lib/PopForums/dist/Editor.min.css\";\r\nPopForums.postNoImageToolbar = \"cut copy paste | bold italic | bullist numlist blockquote removeformat | link\";\r\n\r\nPopForums.editorSettings = {\r\n theme: \"silver\",\r\n plugins: \"paste lists image link table\",\r\n content_css: PopForums.editorCSS,\r\n menubar: false,\r\n toolbar: \"cut copy paste | bold italic | bullist numlist blockquote removeformat | link | image | table\",\r\n statusbar: false,\r\n target_list: false,\r\n link_title: false,\r\n image_description: false,\r\n image_dimensions: false,\r\n browser_spellcheck: true,\r\n object_resizing: false,\r\n relative_urls: false,\r\n remove_script_host: false,\r\n contextmenu: \"\",\r\n mobile: {\r\n theme: \"silver\"\r\n },\r\n paste_as_text: true\r\n};\r\n\r\nPopForums.processLogin = function () {\r\n var email = document.querySelector(\"#EmailLogin\").value;\r\n var password = document.querySelector(\"#PasswordLogin\").value;\r\n PopForums.processLoginBase(\"/Identity/Login\", email, password);\r\n};\r\n\r\nPopForums.processLoginSimple = function () {\r\n var email = document.querySelector(\"#simpleLogin [name=EmailSimpleLogin]\").value;\r\n var password = document.querySelector(\"#simpleLogin [name=PasswordSimpleLogin]\").value;\r\n PopForums.processLoginBase(\"/Identity/Login\", email, password);\r\n};\r\n\r\nPopForums.processLoginExternal = function () {\r\n var email = document.querySelector(\"#EmailLogin\").value;\r\n var password = document.querySelector(\"#PasswordLogin\").value;\r\n PopForums.processLoginBase(\"/Identity/LoginAndAssociate\", email, password);\r\n};\r\n\r\nPopForums.processLoginBase = function (path, email, password) {\r\n fetch(PopForums.areaPath + path, {\r\n method: \"POST\",\r\n headers: {\r\n 'Content-Type': 'application/json'\r\n },\r\n body: JSON.stringify({ email: email, password: password })\r\n })\r\n .then(function (response) {\r\n return response.json();\r\n })\r\n .then(function (result) {\r\n var loginResult = document.querySelector(\"#LoginResult\");\r\n switch (result.result) {\r\n case true:\r\n var destination = document.querySelector(\"#Referrer\")?.value;\r\n if (!destination) {\r\n location.reload();\r\n }\r\n else {\r\n location = destination;\r\n }\r\n break;\r\n default:\r\n loginResult.innerHTML = result.message;\r\n loginResult.classList.remove(\"d-none\");\r\n }\r\n })\r\n .catch(function (error) {\r\n var loginResult = document.querySelector(\"#LoginResult\");\r\n loginResult.innerHTML = \"There was an unknown error while attempting login\";\r\n loginResult.classList.remove(\"d-none\");\r\n });\r\n};\r\n\r\nPopForums.scrollToPostFromHash = () => {\r\n if (window.location.hash) {\r\n var hash = window.location.hash;\r\n while (hash.charAt(0) === '#') hash = hash.substr(1);\r\n var tag = document.querySelector(\"div[data-postID='\" + hash + \"']\");\r\n if (tag) {\r\n var tagPosition = tag.getBoundingClientRect().top;\r\n var crumb = document.querySelector(\"#ForumContainer #TopBreadcrumb\");\r\n var crumbHeight = crumb.getBoundingClientRect().height;\r\n var e = getComputedStyle(document.querySelector(\".postItem\"));\r\n var margin = parseFloat(e.marginTop, 10);\r\n var newPosition = tagPosition - crumbHeight - margin;\r\n window.scrollBy({ top: newPosition, behavior: 'auto' });\r\n }\r\n }\r\n};\r\n\r\nPopForums.topicListSetup = function (forumID) {\r\n PopForums.startTimeUpdater();\r\n var b = document.querySelector(\"#NewTopicButton\");\r\n b?.addEventListener(\"click\", () => {\r\n var n = document.querySelector(\"#NewTopic\");\r\n fetch(PopForums.areaPath + \"/Forum/PostTopic/\" + forumID)\r\n .then((response) => {\r\n return response.text();\r\n })\r\n .then((body) => {\r\n n.innerHTML = body;\r\n n.style.display = \"block\"; // TODO: animate?\r\n b.style.display = \"none\";\r\n var allowImage = (document.querySelector(\"#IsImageEnabled\").value.toLowerCase() == \"true\");\r\n if (!allowImage) {\r\n PopForums.editorSettings.toolbar = PopForums.postNoImageToolbar;\r\n }\r\n var usePlainText = (document.querySelector(\"#IsPlainText\").value.toLowerCase() == \"true\");\r\n if (!usePlainText) {\r\n PopForums.editorSettings.selector = \"#NewTopic #FullText\";\r\n tinyMCE.init(PopForums.editorSettings);\r\n }\r\n var modal = document.querySelector(\"#PreviewModal\");\r\n modal.addEventListener(\"shown.bs.modal\", () => PopForums.previewPost());\r\n });\r\n });\r\n};\r\n\r\nPopForums.loadReply = function (topicID, postID, replyID, setupMorePosts) {\r\n window.removeEventListener(\"scroll\", PopForums.ScrollLoad);\r\n var path = PopForums.areaPath + \"/Forum/PostReply/\" + topicID;\r\n if (postID != null)\r\n path += \"?quotePostID=\" + postID;\r\n if (replyID != null) {\r\n if (postID == null)\r\n path += \"?replyID=\" + replyID;\r\n else\r\n path += \"&replyID=\" + replyID;\r\n }\r\n\r\n fetch(path)\r\n .then(response => response.text()\r\n .then(text => {\r\n var n = document.querySelector(\"#NewReply\");\r\n n.innerHTML = text;\r\n n.style.display = \"block\";\r\n var allowImage = (document.querySelector(\"#IsImageEnabled\").value.toLowerCase() === \"true\");\r\n if (!allowImage) {\r\n PopForums.editorSettings.toolbar = PopForums.postNoImageToolbar;\r\n }\r\n var usePlainText = (document.querySelector(\"#IsPlainText\").value.toLowerCase() === \"true\");\r\n if (!usePlainText) {\r\n PopForums.editorSettings.selector = \"#NewReply #FullText\";\r\n tinyMCE.init(PopForums.editorSettings);\r\n }\r\n document.querySelector(\"#ReplyButton\").style.display = \"none\";\r\n PopForums.scrollToElement(\"NewReply\");\r\n\r\n document.querySelector(\"#MorePostsBeforeReplyButton\").addEventListener(\"click\", (e) => {\r\n var topicPartialPath = PopForums.areaPath + \"/Forum/TopicPartial/\" + topicID + \"?lastPost=\" + PopForums.currentTopicState.lastVisiblePost + \"&lowpage=\" + PopForums.currentTopicState.lowPage;\r\n fetch(topicPartialPath)\r\n .then(response => response.text()\r\n .then(text => {\r\n var t = document.createElement(\"template\");\r\n t.innerHTML = text.trim();\r\n var stuff = t.content.firstChild;\r\n var links = stuff.querySelector(\".pagerLinks\");\r\n stuff.removeChild(links);\r\n var lastPostID = stuff.querySelector(\".lastPostID\");\r\n stuff.removeChild(lastPostID);\r\n PopForums.currentTopicState.lastVisiblePost = lastPostID.value;\r\n var postStream = document.querySelector(\"#PostStream\");\r\n postStream.append(stuff);\r\n document.querySelectorAll(\".pagerLinks\").forEach(x => x.replaceWith(links.cloneNode(true)));\r\n document.querySelectorAll(\".postItem img:not(.avatar)\").forEach(x => x.classList.add(\"postImage\"));\r\n document.querySelector(\"#MorePostsBeforeReplyButton\").style.visibility = \"hidden\";\r\n var moreButton = document.querySelector(\".morePostsButton\");\r\n if (moreButton)\r\n moreButton.remove();\r\n PopForums.setReplyMorePosts(PopForums.currentTopicState.lastVisiblePost);\r\n }));\r\n });\r\n\r\n if (setupMorePosts) {\r\n var connection = new signalR.HubConnectionBuilder().withUrl(\"/TopicsHub\").build();\r\n connection.start()\r\n .then(function () {\r\n var result = connection.invoke(\"getLastPostID\", topicID)\r\n .then(function (result) {\r\n PopForums.setReplyMorePosts(result);\r\n });\r\n });\r\n }\r\n\r\n var modal = document.querySelector(\"#PreviewModal\");\r\n modal.addEventListener(\"shown.bs.modal\", () => PopForums.previewPost());\r\n\r\n PopForums.TopicState.replyLoaded = true;\r\n }));\r\n};\r\n\r\nPopForums.loadComment = function (topicID, replyID) {\r\n const d = document;\r\n var p = d.querySelector(\"[data-postid*='\" + replyID + \"']\");\r\n var n = p.querySelector(\".commentHolder\");\r\n var path = PopForums.areaPath + \"/Forum/PostReply/\" + topicID;\r\n if (replyID != null)\r\n path += \"?replyID=\" + replyID;\r\n\r\n fetch(path)\r\n .then(response => response.text()\r\n .then(text => {\r\n n.innerHTML = text;\r\n var allowImage = (n.querySelector(\"#IsImageEnabled\").value.toLowerCase() === \"true\");\r\n if (!allowImage) {\r\n PopForums.editorSettings.toolbar = PopForums.postNoImageToolbar;\r\n }\r\n var usePlainText = (n.querySelector(\"#IsPlainText\").value.toLowerCase() === \"true\");\r\n if (!usePlainText) {\r\n PopForums.editorSettings.selector = \".postForm #FullText\";\r\n tinyMCE.init(PopForums.editorSettings);\r\n }\r\n\r\n var modal = document.querySelector(\"#PreviewModal\");\r\n modal.addEventListener(\"shown.bs.modal\", () => PopForums.previewPost());\r\n }));\r\n};\r\n\r\nPopForums.previewPost = function () {\r\n tinyMCE.triggerSave();\r\n var r = document.querySelector(\"#ParsedFullText\");\r\n var model = {\r\n FullText: document.querySelector(\".postForm #FullText\").value,\r\n IsPlainText: document.querySelector(\".postForm #IsPlainText\").checked\r\n };\r\n fetch(PopForums.areaPath + \"/Forum/PreviewText\", {\r\n method: \"POST\",\r\n body: JSON.stringify(model),\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => response.text()\r\n .then(text => {\r\n r.innerHTML = text;\r\n }));\r\n};\r\n\r\nPopForums.loadFeed = function () {\r\n var connection = new signalR.HubConnectionBuilder().withUrl(\"/FeedHub\").build();\r\n connection.on(\"notifyFeed\", function (data) {\r\n var list = document.querySelector(\"#FeedList\");\r\n var row = PopForums.populateFeedRow(data);\r\n list.prepend(row);\r\n row.classList.remove(\"hidden\");\r\n });\r\n connection.start()\r\n .then(function () {\r\n return connection.invoke(\"listenToAll\");\r\n });\r\n PopForums.startTimeUpdater();\r\n};\r\n\r\nPopForums.populateFeedRow = function (data) {\r\n var row = document.querySelector(\"#ActivityFeedTemplate\").cloneNode(true);\r\n row.removeAttribute(\"id\");\r\n row.querySelector(\".feedItemText\").innerHTML = data.message;\r\n row.querySelector(\".fTime\").setAttribute(\"data-utc\", data.utc);\r\n row.querySelector(\".fTime\").innerHTML = data.timeStamp;\r\n return row;\r\n};\r\n\r\nPopForums.setReplyMorePosts = function (lastPostID) {\r\n var lastPostLoaded = lastPostID == PopForums.currentTopicState.lastVisiblePost;\r\n var button = document.querySelector(\"#MorePostsBeforeReplyButton\");\r\n if (lastPostLoaded)\r\n button.style.visibility = \"hidden\";\r\n else\r\n button.style.visibility = \"visible\";\r\n};\r\n\r\nPopForums.topicSetup = function (topicID, pageIndex, pageCount, replyID) {\r\n PopForums.startTimeUpdater();\r\n var lastPostID = document.querySelector(\"#LastPostID\").value;\r\n PopForums.currentTopicState = new PopForums.TopicState(pageIndex, lastPostID, pageCount, topicID);\r\n\r\n var connection = new signalR.HubConnectionBuilder().withUrl(\"/TopicsHub\").build();\r\n connection.on(\"fetchNewPost\", function (postID) {\r\n if (!PopForums.TopicState.replyLoaded && PopForums.currentTopicState.highPage == PopForums.currentTopicState.pageCount) {\r\n fetch(PopForums.areaPath + \"/Forum/Post/\" + postID)\r\n .then(response => response.text()\r\n .then(text => {\r\n var t = document.createElement(\"template\");\r\n t.innerHTML = text.trim();\r\n document.querySelector(\"#PostStream\").appendChild(t.content.firstChild);\r\n }));\r\n document.querySelector(\"#LastPostID\").value = postID;\r\n PopForums.currentTopicState.lastVisiblePost = postID;\r\n }\r\n });\r\n connection.on(\"notifyNewPosts\", function (theLastPostID) {\r\n PopForums.setReplyMorePosts(theLastPostID);\r\n });\r\n connection.start()\r\n .then(function () {\r\n return connection.invoke(\"listenTo\", topicID);\r\n });\r\n\r\n document.querySelectorAll(\".postItem img:not(.avatar)\").forEach(x => x.classList.add(\"postImage\"));\r\n\r\n document.querySelector(\"#ReplyButton\")?.addEventListener(\"click\", event => {\r\n PopForums.loadReply(topicID, null, replyID, true);\r\n });\r\n document.querySelector(\"#PostStream\").addEventListener(\"click\", event => {\r\n if (event.target.classList.contains(\"replyLink\")) {\r\n PopForums.loadReply(topicID, null, replyID, true);\r\n }\r\n });\r\n document.querySelector(\"#PostStream\").addEventListener(\"click\", event => {\r\n if (event.target.classList.contains(\"quoteLink\")) {\r\n var postID = event.target.closest(\".postItem\").getAttribute(\"data-postID\");\r\n PopForums.loadReply(topicID, postID, replyID, true);\r\n }\r\n });\r\n document.querySelector(\"#PostStream\").addEventListener(\"click\", event => {\r\n if (event.target.classList.contains(\"postNameLink\")) {\r\n var box = event.target.closest(\".postItem\").querySelector(\".miniProfileBox\");\r\n var userID = event.target.closest(\".postItem\").getAttribute(\"data-userID\");\r\n PopForums.loadMiniProfile(userID, box);\r\n }\r\n });\r\n document.querySelector(\"#PostStream\").addEventListener(\"click\", event => {\r\n if (event.target.classList.contains(\"voteCount\")) {\r\n var parent = event.target.closest(\".postItem\");\r\n var postID = parent.getAttribute(\"data-postID\");\r\n var voters = parent.querySelector(\".voters\");\r\n if (voters) {\r\n if (voters.style.display === \"block\")\r\n voters.style.display = \"none\";\r\n else {\r\n fetch(PopForums.areaPath + \"/Forum/Voters/\" + postID)\r\n .then(response => response.text()\r\n .then(text => {\r\n var t = document.createElement(\"template\");\r\n t.innerHTML = text.trim();\r\n voters.innerHTML = \"\";\r\n voters.appendChild(t.content.firstChild);\r\n voters.style.display = \"block\";\r\n }));\r\n }\r\n }\r\n }\r\n });\r\n document.querySelector(\"#PostStream\").addEventListener(\"click\", event => {\r\n if (event.target.classList.contains(\"voteUp\")) {\r\n var parent = event.target.closest(\".postItem\");\r\n var postID = parent.getAttribute(\"data-postID\");\r\n var countBox = parent.querySelector(\".voteCount\");\r\n fetch(PopForums.areaPath + \"/Forum/VotePost/\" + postID, {\r\n method: \"POST\"\r\n })\r\n .then(response => response.text()\r\n .then(text => {\r\n countBox.innerHTML = text;\r\n parent.querySelector(\".voteUp\").outerHTML = '
  • Voted
  • ';\r\n }));\r\n }\r\n });\r\n PopForums.SetupSubscribeButton(topicID);\r\n PopForums.SetupFavoriteButton(topicID);\r\n document.querySelector(\"#TopicModLogButton\")?.addEventListener(\"click\", () => {\r\n var l = document.querySelector(\"#TopicModerationLog\");\r\n if (l.style.display != \"block\")\r\n fetch(PopForums.areaPath + \"/Moderator/TopicModerationLog/\" + topicID)\r\n .then(response => response.text()\r\n .then(text => {\r\n l.innerHTML = text;\r\n l.style.display = \"block\";\r\n }));\r\n else l.style.display = \"none\";\r\n });\r\n document.querySelector(\"#PostStream\").addEventListener(\"click\", event => {\r\n if (event.target.classList.contains(\"postModLogButton\")) {\r\n var id = event.target.getAttribute(\"data-postid\");\r\n var l = event.target.closest(\".postToolContainer\").querySelector(\".moderationLog\");\r\n if (l.style.display != \"block\")\r\n fetch(PopForums.areaPath + \"/Moderator/PostModerationLog/\" + id)\r\n .then(response => response.text()\r\n .then(text => {\r\n l.innerHTML = text;\r\n l.style.display = \"block\";\r\n }));\r\n else l.style.display = \"none\";\r\n }\r\n });\r\n document.querySelector(\"#PostStream\").addEventListener(\"click\", event => {\r\n if (event.target.classList.contains(\"morePostsButton\")) {\r\n PopForums.LoadMorePosts(topicID, event.target);\r\n }\r\n });\r\n document.querySelector(\"#PostStream\").addEventListener(\"click\", e => {\r\n if (event.target.classList.contains(\"previousPostsButton\")) {\r\n PopForums.currentTopicState.addStartPage();\r\n var nextPage = PopForums.currentTopicState.lowPage;\r\n var id = topicID;\r\n e.target.remove();\r\n var topicPartialPath = PopForums.areaPath + \"/Forum/TopicPage/\" + id + \"?pageNumber=\" + nextPage + \"&low=\" + PopForums.currentTopicState.lowPage + \"&high=\" + PopForums.currentTopicState.highPage;\r\n fetch(topicPartialPath)\r\n .then(response => response.text()\r\n .then(text => {\r\n var t = document.createElement(\"template\");\r\n t.innerHTML = text.trim();\r\n var stuff = t.content.firstChild;\r\n var links = stuff.querySelector(\".pagerLinks\");\r\n stuff.removeChild(links);\r\n var postStream = document.querySelector(\"#PostStream\");\r\n postStream.prepend(stuff);\r\n if (PopForums.currentTopicState.lowPage > 1)\r\n postStream.prepend(e.target);\r\n document.querySelectorAll(\".pagerLinks\").forEach(x => x.replaceWith(links.cloneNode(true)));\r\n document.querySelectorAll(\".postItem img:not(.avatar)\").forEach(x => x.classList.add(\"postImage\"));\r\n if (PopForums.currentTopicState.highPage == PopForums.currentTopicState.pageCount && PopForums.currentTopicState.lowPage == 1) {\r\n document.querySelectorAll(\".pagerLinks\").forEach(x => x.remove());\r\n }\r\n }));\r\n }\r\n });\r\n PopForums.scrollToPostFromHash();\r\n window.addEventListener(\"scroll\", PopForums.ScrollLoad);\r\n};\r\n\r\nPopForums.qaTopicSetup = function (topicID) {\r\n PopForums.startTimeUpdater();\r\n\r\n document.querySelectorAll(\".postItem img:not(.avatar)\").forEach(x => x.classList.add(\"postImage\"));\r\n\r\n document.querySelector(\"#PostStream\").addEventListener(\"click\", event => {\r\n if (event.target.classList.contains(\"commentLink\")) {\r\n var replyID = event.target.closest(\".postItem\").getAttribute(\"data-postid\");\r\n PopForums.loadComment(topicID, replyID);\r\n }\r\n });\r\n document.querySelector(\"#ReplyButton\")?.addEventListener(\"click\", event => {\r\n var replyID = event.target.closest(\".postContainer\").getAttribute(\"data-postid\");\r\n PopForums.loadReply(topicID, null, replyID);\r\n });\r\n document.querySelector(\"#PostStream\").addEventListener(\"click\", event => {\r\n if (event.target.classList.contains(\"postNameLink\")) {\r\n var box = event.target.closest(\".postUserData\").querySelector(\".miniProfileBox\");\r\n var userID = event.target.closest(\".postUserData\").getAttribute(\"data-userID\");\r\n PopForums.loadMiniProfile(userID, box);\r\n }\r\n });\r\n document.querySelector(\"#PostStream\").addEventListener(\"click\", event => {\r\n if (event.target.classList.contains(\"voteUp\")) {\r\n var parent = event.target.closest(\".postItem\");\r\n var postID = parent.getAttribute(\"data-postID\");\r\n var countBox = parent.querySelector(\".answerData\").querySelector(\".badge\");\r\n fetch(PopForums.areaPath + \"/Forum/VotePost/\" + postID, {\r\n method: \"POST\"\r\n })\r\n .then(response => response.text()\r\n .then(text => {\r\n countBox.innerHTML = text;\r\n parent.querySelector(\".voteUp\").outerHTML = '
  • Voted
  • ';\r\n }));\r\n }\r\n });\r\n document.querySelector(\"#PostStream\").addEventListener(\"click\", event => {\r\n if (event.target.classList.contains(\"answerButton\")) {\r\n var button = event.target;\r\n var parent = button.closest(\".postItem\");\r\n var postID = parent.getAttribute(\"data-postid\");\r\n var topicID = parent.getAttribute(\"data-topicid\");\r\n var model = { postID: postID, topicID: topicID };\r\n fetch(PopForums.areaPath + \"/Forum/SetAnswer/\", {\r\n method: \"POST\",\r\n body: JSON.stringify(model),\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n }\r\n })\r\n .then(response => {\r\n document.querySelectorAll(\".answerStatus\").forEach(x => {\r\n x.classList.remove(\"icon-checkmark\");\r\n x.classList.remove(\"text-success\");\r\n x.classList.add(\"icon-checkmark2\");\r\n x.classList.add(\"text-muted\");\r\n });\r\n button.classList.remove(\"icon-checkmark2\");\r\n button.classList.remove(\"text-muted\");\r\n button.classList.add(\"icon-checkmark\");\r\n button.classList.add(\"text-success\");\r\n });\r\n }\r\n });\r\n PopForums.SetupSubscribeButton(topicID);\r\n PopForums.SetupFavoriteButton(topicID);\r\n document.querySelector(\"#TopicModLogButton\")?.addEventListener(\"click\", () => {\r\n var l = document.querySelector(\"#TopicModerationLog\");\r\n if (l.style.display != \"block\")\r\n fetch(PopForums.areaPath + \"/Moderator/TopicModerationLog/\" + topicID)\r\n .then(response => response.text()\r\n .then(text => {\r\n l.innerHTML = text;\r\n l.style.display = \"block\";\r\n }));\r\n else l.style.display = \"none\";\r\n });\r\n document.querySelector(\"#PostStream\").addEventListener(\"click\", event => {\r\n if (event.target.classList.contains(\"postModLogButton\")) {\r\n var id = event.target.getAttribute(\"data-postid\");\r\n var l = event.target.closest(\".postToolContainer\").querySelector(\".moderationLog\");\r\n if (l.style.display != \"block\")\r\n fetch(PopForums.areaPath + \"/Moderator/PostModerationLog/\" + id)\r\n .then(response => response.text()\r\n .then(text => {\r\n l.innerHTML = text;\r\n l.style.display = \"block\";\r\n }));\r\n else l.style.display = \"none\";\r\n }\r\n });\r\n};\r\n\r\nPopForums.SetupSubscribeButton = function (topicID) {\r\n var s = document.querySelector(\"#SubscribeButton\");\r\n s?.addEventListener(\"click\", () => {\r\n var asyncResult = document.querySelector(\"#AsyncResponse\");\r\n fetch(PopForums.areaPath + \"/Subscription/ToggleSubscription/\" + topicID, {\r\n method: \"POST\"\r\n })\r\n .then(response => response.json())\r\n .then(result => {\r\n switch (result.data.isSubscribed) {\r\n case true:\r\n s.value = \"Unsubscribe\";\r\n break;\r\n case false:\r\n s.value = \"Subscribe\";\r\n break;\r\n default:\r\n asyncResult.innerHTML = result.Message;\r\n }\r\n })\r\n .catch(() => {\r\n asyncResult.innerHTML = \"There was an unknown error while attempting to use subscription\";\r\n });\r\n });\r\n}\r\n\r\nPopForums.SetupFavoriteButton = function (topicID) {\r\n var f = document.querySelector(\"#FavoriteButton\");\r\n f?.addEventListener(\"click\", () => {\r\n var asyncResult = document.querySelector(\"#AsyncResponse\");\r\n fetch(PopForums.areaPath + \"/Favorites/ToggleFavorite/\" + topicID, {\r\n method: \"POST\"\r\n })\r\n .then(response => response.json())\r\n .then(result => {\r\n switch (result.data.isFavorite) {\r\n case true:\r\n f.value = \"Remove From Favorites\";\r\n break;\r\n case false:\r\n f.value = \"Make Favorite\";\r\n break;\r\n default:\r\n asyncResult.innerHTML = result.Message;\r\n }\r\n })\r\n .catch(() => {\r\n asyncResult.innerHTML = \"There was an unknown error while attempting to use favorites\";\r\n });\r\n });\r\n};\r\n\r\nPopForums.ScrollLoad = function () {\r\n var streamEnd = document.querySelector(\"#StreamBottom\").offsetTop;\r\n var viewEnd = window.scrollY + window.outerHeight;\r\n var distance = streamEnd - viewEnd;\r\n if (!PopForums.currentTopicState.loadingPosts && distance < 250 && PopForums.currentTopicState.highPage < PopForums.currentTopicState.pageCount) {\r\n PopForums.currentTopicState.loadingPosts = true;\r\n var button = document.querySelector(\".morePostsButton\");\r\n PopForums.LoadMorePosts(PopForums.currentTopicState.topicID, button);\r\n }\r\n};\r\n\r\nPopForums.LoadMorePosts = function (topicID, clickedButton) {\r\n PopForums.currentTopicState.addEndPage();\r\n var nextPage = PopForums.currentTopicState.highPage;\r\n var id = topicID;\r\n var topicPartialPath = PopForums.areaPath + \"/Forum/TopicPage/\" + id + \"?pageNumber=\" + nextPage + \"&low=\" + PopForums.currentTopicState.lowPage + \"&high=\" + PopForums.currentTopicState.highPage;\r\n fetch(topicPartialPath)\r\n .then(response => response.text()\r\n .then(text => {\r\n var t = document.createElement(\"template\");\r\n t.innerHTML = text.trim();\r\n var stuff = t.content.firstChild;\r\n var links = stuff.querySelector(\".pagerLinks\");\r\n stuff.removeChild(links);\r\n var lastPostID = stuff.querySelector(\".lastPostID\");\r\n stuff.removeChild(lastPostID);\r\n var newPageCount = stuff.querySelector(\".pageCount\");\r\n stuff.removeChild(newPageCount);\r\n PopForums.currentTopicState.lastVisiblePost = lastPostID.value;\r\n PopForums.currentTopicState.pageCount = newPageCount.value;\r\n var postStream = document.querySelector(\"#PostStream\");\r\n postStream.append(stuff);\r\n document.querySelectorAll(\".pagerLinks\").forEach(x => x.replaceWith(links.cloneNode(true)));\r\n document.querySelectorAll(\".postItem img:not(.avatar)\").forEach(x => x.classList.add(\"postImage\"));\r\n clickedButton.remove();\r\n if (PopForums.currentTopicState.highPage != PopForums.currentTopicState.pageCount)\r\n postStream.append(clickedButton);\r\n if (PopForums.currentTopicState.highPage == PopForums.currentTopicState.pageCount && PopForums.currentTopicState.lowPage == 1) {\r\n document.querySelectorAll(\".pagerLinks\").forEach(x => x.remove());\r\n }\r\n PopForums.currentTopicState.loadingPosts = false;\r\n if (!PopForums.currentTopicState.isScrollAdjusted) {\r\n PopForums.scrollToPostFromHash();\r\n PopForums.currentTopicState.isScrollAdjusted = true;\r\n }\r\n }));\r\n};\r\n\r\nPopForums.TopicState = function (startPageIndex, lastVisiblePost, pageCount, topicID) {\r\n this.lowPage = startPageIndex;\r\n this.highPage = startPageIndex;\r\n this.lastVisiblePost = lastVisiblePost;\r\n this.pageCount = pageCount;\r\n this.loadingPosts = false;\r\n this.topicID = topicID;\r\n this.replyLoaded = false;\r\n this.isScrollAdjusted = false;\r\n};\r\nPopForums.TopicState.prototype.addEndPage = function () { this.highPage++; };\r\nPopForums.TopicState.prototype.addStartPage = function () { this.lowPage--; };\r\n\r\nPopForums.postNewTopic = function () {\r\n tinyMCE.triggerSave();\r\n const d = document;\r\n d.querySelector(\"#SubmitNewTopic\").setAttribute(\"disabled\", \"disabled\");\r\n var model = {\r\n Title: d.querySelector(\"#NewTopic #Title\").value,\r\n FullText: d.querySelector(\"#NewTopic #FullText\").value,\r\n IncludeSignature: d.querySelector(\"#NewTopic #IncludeSignature\").checked,\r\n ItemID: d.querySelector(\"#NewTopic #ItemID\").value,\r\n IsPlainText: d.querySelector(\"#NewTopic #IsPlainText\").value.toLowerCase() === \"true\"\r\n };\r\n fetch(PopForums.areaPath + \"/Forum/PostTopic\", {\r\n method: \"POST\",\r\n body: JSON.stringify(model),\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n })\r\n .then(response => response.json())\r\n .then(result => {\r\n switch (result.result) {\r\n case true:\r\n window.location = result.redirect;\r\n break;\r\n default:\r\n var r = d.querySelector(\"#PostResponseMessage\");\r\n r.innerHTML = result.message;\r\n d.querySelector(\"#SubmitNewTopic\").removeAttribute(\"disabled\");\r\n r.style.display = \"block\";\r\n }\r\n })\r\n .catch(error => {\r\n var r = d.querySelector(\"#PostResponseMessage\");\r\n r.innerHTML = \"There was an unknown error while trying to post\";\r\n d.querySelector(\"#SubmitNewTopic\").removeAttribute(\"disabled\");\r\n r.style.display = \"block\";\r\n });\r\n};\r\n\r\nPopForums.postReply = function () {\r\n tinyMCE.triggerSave();\r\n const d = document;\r\n d.querySelector(\"#SubmitReply\").setAttribute(\"disabled\", \"disabled\");\r\n var closeCheck = d.querySelector(\"#CloseOnReply\");\r\n var closeOnReply = false;\r\n if (closeCheck && closeCheck.checked) closeOnReply = true;\r\n var model = {\r\n Title: d.querySelector(\"#NewReply #Title\").value,\r\n FullText: d.querySelector(\"#NewReply #FullText\").value,\r\n IncludeSignature: d.querySelector(\"#NewReply #IncludeSignature\").checked,\r\n ItemID: d.querySelector(\"#NewReply #ItemID\").value,\r\n CloseOnReply: closeOnReply,\r\n IsPlainText: d.querySelector(\"#NewReply #IsPlainText\").value.toLowerCase() === \"true\",\r\n ParentPostID: d.querySelector(\"#NewReply #ParentPostID\").value\r\n };\r\n fetch(PopForums.areaPath + \"/Forum/PostReply\", {\r\n method: \"POST\",\r\n body: JSON.stringify(model),\r\n headers: {\r\n \"Content-Type\": \"application/json\"\r\n },\r\n })\r\n .then(response => response.json())\r\n .then(result => {\r\n switch (result.result) {\r\n case true:\r\n window.location = result.redirect;\r\n break;\r\n default:\r\n var r = d.querySelector(\"#PostResponseMessage\");\r\n r.innerHTML = result.message;\r\n d.querySelector(\"#SubmitReply\").removeAttribute(\"disabled\");\r\n r.style.display = \"block\";\r\n }\r\n })\r\n .catch(error => {\r\n var r = d.querySelector(\"#PostResponseMessage\");\r\n r.innerHTML = \"There was an unknown error while trying to post\";\r\n d.querySelector(\"#SubmitReply\").removeAttribute(\"disabled\");\r\n r.style.display = \"block\";\r\n });\r\n};\r\n\r\nPopForums.loadMiniProfile = function (userID, d) {\r\n if (!d.classList.contains(\"open\")) {\r\n fetch(PopForums.areaPath + \"/Account/MiniProfile/\" + userID)\r\n .then(response => response.text()\r\n .then(text => {\r\n var sub = d.querySelector(\"div\");\r\n sub.innerHTML = text;\r\n const height = sub.getBoundingClientRect().height;\r\n d.style.height = `${height}px`;\r\n d.classList.add(\"open\");\r\n }));\r\n }\r\n else {\r\n d.classList.remove(\"open\");\r\n d.style.height = 0;\r\n }\r\n};\r\n\r\nPopForums.scrollToElement = function (id) {\r\n var e = document.getElementById(id);\r\n var t = 0;\r\n if (e.offsetParent) {\r\n while (e.offsetParent) {\r\n t += e.offsetTop;\r\n e = e.offsetParent;\r\n }\r\n } else if (e.y) {\r\n t += e.y;\r\n }\r\n var crumb = document.querySelector(\"#TopBreadcrumb\");\r\n if (crumb)\r\n t -= crumb.offsetHeight;\r\n scrollTo(0, t);\r\n};\r\n\r\nPopForums.homeSetup = function () {\r\n var connection = new signalR.HubConnectionBuilder().withUrl(\"/ForumsHub\").build();\r\n connection.on(\"notifyForumUpdate\", function (data) {\r\n PopForums.updateForumStats(data);\r\n });\r\n connection.start()\r\n .then(function () {\r\n return connection.invoke(\"listenToAll\");\r\n });\r\n PopForums.startTimeUpdater();\r\n};\r\n\r\nPopForums.recentListen = function (pageSize) {\r\n var connection = new signalR.HubConnectionBuilder().withUrl(\"/RecentHub\").build();\r\n connection.on(\"notifyRecentUpdate\", function (data) {\r\n var removal = document.querySelector('#TopicList tr[data-topicID=\"' + data.topicID + '\"]');\r\n if (removal) {\r\n removal.remove();\r\n } else {\r\n var rows = document.querySelectorAll(\"#TopicList tr:not(#TopicTemplate)\");\r\n if (rows.length == pageSize)\r\n rows[rows.length - 1].remove();\r\n }\r\n var row = PopForums.populateTopicRow(data);\r\n row.classList.remove(\"hidden\");\r\n document.querySelector(\"#TopicList tbody\").prepend(row);\r\n });\r\n connection.start()\r\n .then(function () {\r\n return connection.invoke(\"register\");\r\n });\r\n};\r\n\r\nPopForums.forumListen = function (pageSize, forumID) {\r\n var connection = new signalR.HubConnectionBuilder().withUrl(\"/ForumsHub\").build();\r\n connection.on(\"notifyUpdatedTopic\", function (data) {\r\n var removal = document.querySelector('#TopicList tr[data-topicID=\"' + data.topicID + '\"]');\r\n if (removal) {\r\n removal.remove();\r\n } else {\r\n var rows = document.querySelectorAll(\"#TopicList tr:not(#TopicTemplate)\");\r\n if (rows.length == pageSize)\r\n rows[rows.length - 1].remove();\r\n }\r\n var row = PopForums.populateTopicRow(data);\r\n row.classList.remove(\"hidden\");\r\n document.querySelector(\"#TopicList tbody\").prepend(row);\r\n });\r\n connection.start()\r\n .then(function () {\r\n return connection.invoke(\"listenTo\", forumID);\r\n });\r\n};\r\n\r\nPopForums.populateTopicRow = function (data) {\r\n var row = document.querySelector(\"#TopicTemplate\").cloneNode(true);\r\n row.setAttribute(\"data-topicid\", data.topicID);\r\n row.removeAttribute(\"id\");\r\n row.querySelector(\".startedByName\").innerHTML = data.startedByName;\r\n row.querySelector(\".indicatorLink\").setAttribute(\"href\", data.link);\r\n row.querySelector(\".titleLink\").innerHTML = data.title;\r\n row.querySelector(\".titleLink\").setAttribute(\"href\", data.link);\r\n var forumTitle = row.querySelector(\".forumTitle\");\r\n if (forumTitle) forumTitle.innerHTML = data.forumTitle;\r\n row.querySelector(\".viewCount\").innerHTML = data.viewCount;\r\n row.querySelector(\".replyCount\").innerHTML = data.replyCount;\r\n row.querySelector(\".lastPostTime\").innerHTML = data.lastPostTime;\r\n row.querySelector(\".lastPostName\").innerHTML = data.lastPostName;\r\n row.querySelector(\".fTime\").setAttribute(\"data-utc\", data.utc);\r\n return row;\r\n};\r\n\r\nPopForums.updateForumStats = function (data) {\r\n var row = document.querySelector(\"[data-forumid='\" + data.forumID + \"']\");\r\n row.querySelector(\".topicCount\").innerHTML = data.topicCount;\r\n row.querySelector(\".postCount\").innerHTML = data.postCount;\r\n row.querySelector(\".lastPostTime\").innerHTML = data.lastPostTime;\r\n row.querySelector(\".lastPostName\").innerHTML = data.lastPostName;\r\n row.querySelector(\".fTime\").setAttribute(\"data-utc\", data.utc);\r\n row.querySelector(\".newIndicator .icon-file-text2\").classList.remove(\"text-muted\");\r\n row.querySelector(\".newIndicator .icon-file-text2\").classList.add(\"text-warning\");\r\n};\r\n\r\nPopForums.startTimeUpdater = function () {\r\n setTimeout(function () {\r\n PopForums.startTimeUpdater();\r\n PopForums.updateTimes();\r\n }, 60000);\r\n};\r\n\r\nPopForums.updateTimes = function () {\r\n var a = [];\r\n var times = document.querySelectorAll(\".fTime\");\r\n times.forEach(time => {\r\n var t = time.getAttribute(\"data-utc\");\r\n if (((new Date() - new Date(t + \"Z\")) / 3600000) < 48)\r\n a.push(t);\r\n });\r\n if (a.length > 0) {\r\n var formData = new FormData();\r\n a.forEach(t => formData.append(\"times\", t));\r\n fetch(PopForums.areaPath + \"/Time/GetTimes\", {\r\n method: \"POST\",\r\n body: formData\r\n })\r\n .then(response => response.json())\r\n .then(data => {\r\n data.forEach(t => {\r\n document.querySelector(\".fTime[data-utc='\" + t.key + \"']\").innerHTML = t.value;\r\n });\r\n })\r\n .catch(error => { console.log(\"Time update failure: \" + error); });\r\n }\r\n};"]}