PageSourceSearch

https://tsrbench.github.io/website/javascript/explorer-index.js

js tsrbench.github.io collected 2026-10-03 10:06:13 UTC 5,897 bytes, 168 lines download raw bytes

1$(document).ready(function() {
2    // Check for click events on the navbar burger icon
3    $(".navbar-burger").click(function() {
4        // Toggle the "is-active" class on both the "navbar-burger" and the "navbar-menu"
5        $(".navbar-burger").toggleClass("is-active");
6        $(".navbar-menu").toggleClass("is-active");
7
8    });
9
10    var options = {
11        slidesToScroll: 1,
12        slidesToShow: 1,
13        loop: true,
14        infinite: true,
15        autoplay: false,
16        autoplaySpeed: 3000,
17    }
18
19		// Initialize all div with carousel class
20    var carousels = bulmaCarousel.attach('.carousel', options);
21
22    // Loop on each carousel initialized
23    for(var i = 0; i < carousels.length; i++) {
24    	// Add listener to  event
25    	carousels[i].on('before:show', state => {
26    		console.log(state);
27    	});
28    }
29
30    // Access to bulmaCarousel instance of an element
31    var element = document.querySelector('#my-element');
32    if (element && element.bulmaCarousel) {
33    	// bulmaCarousel instance is available as element.bulmaCarousel
34    	element.bulmaCarousel.on('before-show', function(state) {
35    		console.log(state);
36    	});
37    }
38
39    var dropdowns = document.getElementsByClassName('dropdown');
40    for (let dropdown of dropdowns) {
41        dropdown.addEventListener('click', function(event) {
42            event.stopPropagation();
43            event.preventDefault();
44            dropdown.classList.toggle('is-active');
45        });
46    }
47
48    // load and display default models
49    let qids = getRandomSubarray(num_output_qs);
50    let [folder , output_data] = read_data('Multimodal Bard');
51    output_data.addEventListener('load', function() {
52        refresh_table(qids);
53    });
54    [folder , output_data] = read_data('CoT GPT4 (Caption+OCR)');
55    output_data.addEventListener('load', function() {
56        refresh_table(qids);
57    });
58    // refresh_table(qids);
59    let dropdown_displays = document.getElementsByClassName('dropdown-display');
60    let refresh_button = document.getElementById('refresh-qids');
61    refresh_button.addEventListener('click', function(event) {
62        qids = getRandomSubarray(num_output_qs);
63        refresh_table(qids);
64    });
65
66    // let dropdown_displays = document.getElementsByClassName('dropdown-display');
67    let dropdown_contents = document.getElementsByClassName('dropdown-content');
68    for (let i = 0; i < dropdown_contents.length; i++) {
69        // add an <a> tag to the dropdown-content for each key in model_output_folder_list
70        let dropdown_content = dropdown_contents[i];
71        for (let name in model_output_folder_list) {
72            let a = document.createElement('a');
73            a.classList.add('dropdown-item');
74            a.innerHTML = '<b> ' + name + ' </b>';
75            dropdown_content.appendChild(a);
76            a.addEventListener('click', function(event) {
77                dropdown_displays[i].innerHTML = name;
78                let [folder, script_tag] = read_data(name);
79                script_tag.addEventListener('load', function() {
80                    refresh_table(qids);
81                });
82            });
83            a.style.padding = '0.375em 1em';
84        }
85    }
86
87    // // create the leaderboard
88    // let leaderboard = new Tabulator("#score-table", {
89    //     data:score_table, //assign data to table
90    //     layout:"fitDataTable",
91    //     // layout:"fitColumns",
92    //     initialSort:[
93    //         {column:"ALL", dir:"desc"}, //sort by this first
94    //     ],
95    //     autoColumns:true, //create columns from data field names
96    // });
97})
98
99var cache = {};
100var num_output_qs = 5;
101// var 
102
103// dynamically links a js data file
104function read_data(model_name) {
105    console.log('loading data for ' + model_name);
106    let folder = model_output_folder_list[model_name];
107    // dynamically link the js file
108    let script = document.createElement('script');
109    script.src = './data/results/' + folder + '/data.js';
110    document.body.appendChild(script);
111    return [folder, script];
112
113}
114
115function getRandomSubarray(size, arr=null) {
116    if (arr == null) {
117        arr = [];
118        for (let i = 1; i < 1001; i++) {
119            arr.push(i);
120        }
121    }
122    var shuffled = arr.slice(0), i = arr.length, temp, index;
123    while (i--) {
124        index = Math.floor((i + 1) * Math.random());
125        temp = shuffled[index];
126        shuffled[index] = shuffled[i];
127        shuffled[i] = temp;
128    }
129    return shuffled.slice(0, size);
130}
131
132function refresh_table(qids) {
133    let table = document.getElementById('result-table');
134    let dropdown_displays = document.getElementsByClassName('dropdown-display');
135    let model_names = [];
136    for (let i = 0; i < dropdown_displays.length; i++) {
137        model_names.push(dropdown_displays[i].innerText);
138    }
139    console.log(qids);
140    console.log(model_names);
141    while (table.children.length > 3) 
142        table.removeChild(table.lastChild);
143
144    for (let qid of qids) {
145        let row = generate_row(qid, model_names);
146        // console.log('inserting' + row);
147        table.insertAdjacentHTML('beforeend', row);
148    }
149}
150
151function generate_row(qid, model_names) {
152    let responses = [];
153    for (let model_name of model_names) {
154        if (model_name in cache)
155            responses.push(cache[model_name][qid.toString()]);
156        else
157            responses.push({'response': ''});
158    }
159    let html = `
160    <div class="level has-text-justified box question-level" style="background: rgba(0, 0, 0, 0.02);">
161        <div class='leve-item container m-3' style='width: 30%;'>
162            ${create_number(test_data[qid.toString()])}
163        </div>
164        <div class='leve-item container m-3' style='width: 30%; white-space: pre-wrap;'>${responses[0]['response']}</div>
165        <div class='leve-item container m-3' style='width: 30%; white-space: pre-wrap;'>${responses[1]['response']}</div>
166    </div>`;
167    return html;
168}

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.