PageSourceSearch

https://services.rctc.edu/TDClient/Scripts/TDClientModals.min.js?v=20260925225640

js rctc.edu collected 2026-10-01 12:09:45 UTC 8,930 bytes, 31 lines download raw bytes

1!function(window){"use strict";const topWindow=window.self===window.top?window:window.top,openModals=(topWindow.tdClientModalState||(topWindow.tdClientModalState={openModals:new Map,modalCounter:0,modalStack:[]}),topWindow.tdClientModalState.openModals),modalStack=topWindow.tdClientModalState.modalStack;var _nativeClose;window.openTdClientModal=function(url,title,width,height,name,openerWindow){if(!url)return null;var stripped=url.replace(/[\s\u0000-\u001F]/g,"").toLowerCase();if(0===stripped.indexOf("javascript:")||0===stripped.indexOf("data:"))return null;try{if(new URL(url,window.location.href).origin!==window.location.origin)return window.open(url,name||"_blank","noopener,noreferrer")}catch(e){}const effectiveOpener=openerWindow||window;for(var stripped=document.activeElement,i=modalStack.length-1;0<=i;i--)window.top.document.getElementById(modalStack[i])||(openModals.delete(modalStack[i]),modalStack.splice(i,1));if(3<=modalStack.length)return window.open(url,name||"_blank");const modalId="tdclient-modal-"+ ++topWindow.tdClientModalState.modalCounter;height=function(value,defaultValue){if(!value||""===value||0===value)return defaultValue;var parsed=parseFloat(value);if(isNaN(parsed))return defaultValue;return"number"!=typeof value?"string"!=typeof value?defaultValue:-1===value.indexOf("%")?-1===value.indexOf("vw")?-1===value.indexOf("vh")?parsed+"px":parsed+"vh":parsed+"vw":parsed+"%":parsed+"px"}(height,"700px"),window.inTdClientModal&&window.inTdClientModal()&&0<modalStack.length&&(openerWindow=modalStack[modalStack.length-1],(openerWindow=$(window.top.document).find("#"+openerWindow)).length)&&(height=openerWindow.find(".modal-content").css("height")),title=title||"Loading...",name=name||"_TDClientModal";var openerWindow=0<modalStack.length,backButtonHtml=openerWindow?'<div role="button" class="tdx-lookup-back-button" tabindex="0" title="Previous Page"><span class="fa-solid fa-chevron-left" aria-hidden="true"></span><span>Back</span></div>':"",backdropAttr=openerWindow?'data-backdrop="false"':'data-backdrop="static"',title=(url=$("<div/>").text(url).html(),title=$("<div/>").text(title||"").html(),name=$("<div/>").text(name||"_TDClientModal").html(),`
2      <div class="modal fade" id="${modalId}" tabindex="-1" role="dialog" aria-labelledby="${modalId}-label" ${backdropAttr} data-keyboard="false">
3        <div class="modal-dialog" role="document" style="width: auto; max-width: min(1200px, 95vw);">
4          <div class="modal-content" style="height: ${height}; display: flex; flex-direction: column;">
5            <div class="modal-header">
6              ${backButtonHtml}
7              <button type="button" class="close" data-dismiss="modal" aria-label="Close" title="Close"><span aria-hidden="true">&times;</span></button>
8            </div>
9            <div class="modal-body" style="flex: 1; padding: 0; overflow: hidden; position: relative;">
10              <div id="${modalId}-loading" class="modal-loading" style="position: absolute; top: 0; left: 0; right: 0; bottom: 0;">
11                <span class="tdx-loading-animation"></span>
12              </div>
13              <iframe
14                id="${modalId}-iframe"
15                name="${name}"
16                src="${url}"
17                tabindex="0"
18                style="width: 100%; height: 100%; border: none; opacity: 0; transition: opacity 0.15s ease-in;"
19                data-iskendowindow="false"
20                data-istdclientmodal="true">
21              </iframe>
22            </div>
23          </div>
24        </div>
25      </div>
26    `),backdropAttr=window.top&&(window.top.jQuery||window.top.$)||$;const $modal=backdropAttr(title);height=window.self!==window.top,(height?backdropAttr(window.top.document.body):$("body")).append($modal),openerWindow&&$modal.find(".tdx-lookup-back-button").on("click keydown",function(e){"click"!==e.type&&13!==e.keyCode&&32!==e.keyCode||(e.preventDefault(),$modal.modal("hide"))}),backButtonHtml=modalStack.length,modalStack.push(modalId),url=1050+20*backButtonHtml;$modal.css("z-index",url);const targetDocument=height?window.top.document:document,iframe=(0<backButtonHtml&&(title=$(targetDocument).find(".modal.in").first()).length&&$modal.css("padding-right",title.css("padding-right")),targetDocument.getElementById(modalId+"-iframe"));return openModals.set(modalId,{$modal:$modal,iframe:iframe,name:name,opener:effectiveOpener,triggeringElement:stripped}
26),iframe.addEventListener("load",function(){try{if(iframe.contentWindow){iframe.contentWindow.openerOverride=effectiveOpener;const originalClose=iframe.contentWindow.close,capturedModalId=modalId;iframe.contentWindow.close=function(){var entry;iframe.contentWindow.frameElement&&iframe.contentWindow.frameElement.dataset&&"true"===iframe.contentWindow.frameElement.dataset.istdclientmodal?(entry=openModals.get(capturedModalId))&&entry.$modal&&entry.$modal.length&&entry.$modal.modal("hide"):originalClose.call(iframe.contentWindow)};var styleEl,iframeDoc=iframe.contentWindow.document;iframeDoc&&((styleEl=iframeDoc.createElement("style")).textContent=`
27              .container {
28                width: auto !important;
29                max-width: 100% !important;
30              }
31            `,iframeDoc.head.appendChild(styleEl))}}catch(e){}try{if(iframe.contentWindow&&iframe.contentWindow.document){const iframeDoc=iframe.contentWindow.document;var contentHeight=Math.max(iframeDoc.body.scrollHeight,iframeDoc.documentElement.scrollHeight),modalContent=iframe.closest(".modal-content"),modalHeader=modalContent.querySelector(".modal-header"),headerHeight=modalHeader?modalHeader.offsetHeight:0;modalContent.style.height=contentHeight+headerHeight+64+"px"}}catch(e){}iframeDoc=targetDocument.getElementById(modalId+"-loading");iframeDoc&&(iframeDoc.style.display="none"),iframe.style.opacity="1"}),$modal.on("shown.bs.modal",function(){var $backdrop,stackDepth=modalStack.indexOf(modalId);-1!==stackDepth&&0===stackDepth&&(stackDepth=1040+20*stackDepth,($backdrop=$(window.top.document).find(".modal-backdrop").last()).length)&&($backdrop.css("z-index",stackDepth),$backdrop.attr("data-modal-id",modalId))}),$modal.modal("show"),$modal.on("hidden.bs.modal",function(){var remainingModalId,backdropZIndex,$newBackdrop,closedEntry=openModals.get(modalId),stackIndex=(openModals.delete(modalId),modalStack.indexOf(modalId));if(-1!==stackIndex&&(modalStack.slice(stackIndex+1).forEach(childId=>{childId=openModals.get(childId);childId&&childId.$modal&&childId.$modal.modal("hide")}),modalStack.splice(stackIndex,1)),0<modalStack.length){var stackIndex=modalStack[modalStack.length-1],stackIndex=window.top.document.getElementById(stackIndex);if(stackIndex){stackIndex=stackIndex.querySelector("iframe");if(stackIndex&&stackIndex.contentWindow)try{stackIndex.contentWindow.focus()}catch(e){}}}else closedEntry&&closedEntry.triggeringElement&&"function"==typeof closedEntry.triggeringElement.focus&&setTimeout(function(){closedEntry.triggeringElement.focus()},100);$modal.remove(),$(window.top.document).find(`.modal-backdrop[data-modal-id="${modalId}"]`).remove(),0<modalStack.length&&((stackIndex=$(window.top.document.body)).hasClass("modal-open")||stackIndex.addClass("modal-open"),0===$(window.top.document).find(".modal-backdrop").length)&&(remainingModalId=modalStack[modalStack.length-1],backdropZIndex=1040+20*modalStack.indexOf(remainingModalId),($newBackdrop=$('<div class="modal-backdrop fade in"></div>')).css("z-index",backdropZIndex),$newBackdrop.attr("data-modal-id",remainingModalId),stackIndex.append($newBackdrop))}),window.top.tdClientModalEscHandlerAdded||($(window.top.document).on("keydown.tdclientmodal",function(e){27===e.keyCode&&0<modalStack.length&&(e=modalStack[modalStack.length-1],e=openModals.get(e))&&e.$modal&&e.$modal.modal("hide")}),window.top.tdClientModalEscHandlerAdded=!0),iframe.contentWindow},window.closeTdClientModal=function(){if(window.inTdClientModal()){var modalId,state=window.inTdClientModal()&&(state=window.top&&window.top.tdClientModalState)&&state.openModals&&(modalId=window.frameElement.id.replace("-iframe",""),state.openModals.get(modalId))||null;if(state&&state.$modal&&state.$modal.length)return state.$modal.modal("hide"),!0;var topJQuery=window.top.jQuery||window.top.$;if(topJQuery){const modalId=window.frameElement.id.replace("-iframe","");topJQuery=topJQuery("#"+modalId,window.top.document);if(topJQuery.length)return topJQuery.modal("hide"),!0}}return!1},window.inTdClientModal=function(){return!(!window.frameElement||!window.frameElement.dataset||"true"!==window.frameElement.dataset.istdclientmodal)},_nativeClose=window.close,window.close=function(){window.closeTdClientModal&&window.closeTdClientModal()||_nativeClose.call(window)},window.closeTdClientModalAndRefreshOpener=function(){if(window.opener)try{window.opener.location.reload()}catch(e){}"function"==typeof window.closeTdClientModal&&window.closeTdClientModal()||window.close()}}(window);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.