PageSourceSearch

https://www.eventeny.com/js/Services/JuryService.js?v=1790795785

js eventeny.com collected 2026-10-01 10:27:32 UTC 2,291 bytes, 54 lines download raw bytes

1/**
2 * @class JuryService
3 * @classdesc Static service for the AVE / vendor jury "Save & Next" flow. Posts to the layered
4 * vendor Jury route (Modules/Jury via funcs/dashboard/events/vendor/jury/VendorJuryRoute.php).
5 *
6 * The ordered "Application N of M" set is NOT fetched here -- the vendors list already returns
7 * `all_vendor_id_list`; the modal is opened with that set. Callers MUST check `resp.success`.
8 */
9class JuryService {
10
11    static get ROUTE() {
12        return '/funcs/dashboard/events/vendor/jury/VendorJuryRoute.php';
13    }
14
15    /**
16     * Full jury detail for one vendor submission.
17     * @returns {Promise<{success:boolean, err_msg:string, submission:Object, jury_questions:Array, response_html:string, pictures:Array}>}
18     */
19    static async getJuryDetail(eventId, submitId, source) {
20        const fd = new FormData();
21        fd.append('post_type', 'get_jury_detail');
22        fd.append('event_id', eventId);
23        fd.append('submit_id', submitId);
24        fd.append('source', source || 'data');
25
26        const response = await fetch(JuryService.ROUTE, { method: 'POST', body: fd });
27        if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);
28        return response.json();
29    }
30
31    /**
32     * Save this juror's scores (and optional private note) for a vendor submission.
33     * @param {Object<string,string>} questionMap question_id => value (number or text)
34     * @param {string} [note] this juror's private note about the applicant
35     * @returns {Promise<{success:boolean, err_msg:string, jury_questions:Array}>}
36     */
37    static async saveJuryScore(eventId, submitId, source, questionMap, note) {
38        const fd = new FormData();
39        fd.append('post_type', 'save_jury_score');
40        fd.append('event_id', eventId);
41        fd.append('submit_id', submitId);
42        fd.append('source', source || 'data');
43        fd.append('note', note || '');
44        Object.keys(questionMap || {}).forEach((qid) => {
45            fd.append(`question[${qid}]`, questionMap[qid]);
46        });
47
48        const response = await fetch(JuryService.ROUTE, { method: 'POST', body: fd });
49        if (!response.ok) throw new Error(`HTTP error! status: ${response.status}`);
50        return response.json();
51    }
52}
53
54export default JuryService;

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.