PageSourceSearch

https://coolray.ru/js/bs/fsp/core.min.js?_v=3b0c86e6

js coolray.ru collected 2026-10-08 15:01:35 UTC 3,085 bytes, 6 lines download raw bytes

1'use strict';((g,h)=>{XF.FSP=XF.Element.newHandler({options:{updateInterval:15},groups:[],init(){this.target.querySelectorAll(".tabGroup").forEach(a=>this.groups.push(new XF.FSPGroup(this,a)));XF.on(this.target.querySelector(".refreshButton"),"click",XF.proxy(this,"update"));0!==this.options.updateInterval&&(this.updateInterval=setInterval(XF.proxy(this,"update"),1E3*this.options.updateInterval))},update(){this.groups.forEach(a=>{a.updateLock||(a.updateLock=!0,a.tabs.selectedTab.loadData(()=>a.updateLock=
2!1))})}});XF.FSPGroup=XF.create({options:{},fsp:null,tabs:null,target:null,content:null,updateLock:!1,__construct(a,b,c){this.fsp=a;this.target=b;this.options=c;this.tabs=this.getTabs(b);this.content=this.getContent(b)},getTabs(a){return new XF.FSPTabs(this.fsp,this,a.querySelector("ul.tabs"))},getContent(a){return a.querySelector(".tabGroup-content")},replaceContent:function(a,b){0<a.innerHTML.replace(" ","").length&&(this.content.innerHTML=a.outerHTML,XF.activate(this.content),b.call(null,!0));
3b.call(null,!1)}});XF.FSPTabs=XF.create({options:{isMenu:!1},fsp:null,group:null,target:null,tabList:[],menuTab:null,selectedTab:null,__construct(a,b,c){this.fsp=a;this.group=b;this.target=c;a={};c.dataset&&(a=c.dataset);this.options=XF.applyDataOptions(this.options,a);c.querySelectorAll(".tab:not(.menu-open)").forEach(d=>{this.tabList.push(new XF.FSPTab(this.fsp,this,d))});this.options.isMenu&&(this.menuTab=c.querySelector(".tab.menu-open"));this.selectedTab||this.firstTab().select()},firstTab(){return this.tabList[0]},
4remove(a){a=this.tabList.indexOf(a);-1!==a&&(this.tabList[a].target.remove(400),this.tabList.splice(a,1),this.firstTab().select())}});XF.FSPTab=XF.create({options:{tabId:"",updateUrl:"index.php?statistic-pro/tab"},fsp:null,tabs:null,target:null,selected:!1,__construct(a,b,c){this.fsp=a;this.tabs=b;this.target=c;XF.on(this.target,"click",XF.proxy(this,"select"));a={};c.dataset&&(a=c.dataset);this.options=XF.applyDataOptions(this.options,a);c.classList.contains("is-selected")&&(this.selected=!0,this.tabs.selectedTab=
5this)},loadData(a,b){let c=this;XF.ajax("GET",XF.canonicalizeUrl(this.options.updateUrl),{tab_id:this.options.tabId},d=>{d.html&&d.html.content&&XF.setupHtmlInsert(d.html,e=>{c.tabs.group.replaceContent(e,function(f){f?"function"===typeof b&&b.call(null):c.tabs.remove(this)})});"function"===typeof a&&a.call(null)})},select:function(){if(this.tabs.group.updateLock)return this;let a=this;var b=this.tabs.selectedTab;if(b){if(b===this)return this;b.deselect()}this.tabs.group.updateLock=!0;b=function(){a.target.classList.add("is-selected");
6a.selected=!0;a.tabs.selectedTab=a};this.tabs.options.isMenu&&(b=function(){a.tabs.menuTab.querySelector(".title").textContent=a.target.querySelector(".title").textContent;a.target.classList.add("is-selected");a.selected=!0;a.tabs.selectedTab=a});this.loadData(function(){a.tabs.group.updateLock=!1},b);return this},deselect:function(){this.target.classList.remove("is-selected")},isSelected:function(){return this.selected}});XF.Element.register("fsp","XF.FSP")})(window,document);

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.