PageSourceSearch

https://bauroc.lt/themes/aeroc/library/ama/improvements.js?ver=1758794483

js bauroc.lt collected 2026-10-10 01:52:42 UTC 5,025 bytes, 170 lines download raw bytes

1(function ($) {
2    if ($('form.product-calc-form').length > 0 || $('form.finishes-calc-form').length > 0) {
3        $(document).on('change', '#delivery_start', function () {
4            var current_start_date = $(this).val();
5            var delivery_end = $('#delivery_end');
6            if (current_start_date === '') {
7                delivery_end.find('option').prop('disabled', false);
8            } else {
9                $.each(delivery_end.find('option'), function () {
10                    if ($(this).val() !== current_start_date) {
11                        $(this).prop('disabled', true);
12                    } else {
13                        $(this).prop('selected', true);
14                        delivery_end.val($(this).val());
15                        return false;
16                    }
17                });
18            }
19        });
20    }
21})(jQuery);
22
23const FILES_MAX_SIZE = 15 * Math.pow(1024, 2);
24
25const bytes = (val) => {
26    const fmt = (n) => parseFloat(n.toFixed(2))
27    return {
28        kb: () => fmt(Number(val) / 1024),
29        mb: () => fmt(Number(val) / Math.pow(1024, 2)),
30    }
31}
32
33const filesInit = (node) => {
34    /** @type {HTMLInputElement} */
35    const input = node.querySelector('.c-files__input')
36    /** @type {HTMLDivElement} */
37    const display = node.querySelector('.c-files__display')
38    /** @type {HTMLDivElement} */
39    const sizeDisplay = node.querySelector('.c-files__current-size')
40
41    if (input === null || display === null) {
42        return
43    }
44
45    let size
46    let files = input.files
47    const render = (append = true) => {
48        if (append) {
49            appendToFileList(input, files, input.files)
50        }
51        files = input.files
52
53        display.innerHTML = ''
54        size = 0
55        for (let i = 0; i < input.files.length; i++) {
56            size += input.files[i].size
57
58            const row = document.createElement('div')
59            row.className = 'c-files__row'
60
61            const name = document.createElement('span')
62            name.className = 'c-files__name'
63            name.innerText = input.files[i].name
64
65            const sz = document.createElement('span')
66            sz.className = 'c-files__size'
67            sz.innerText = `${bytes(input.files[i].size).kb()}KB`
68
69            const remove = document.createElement('button')
70            remove.className = 'c-files__remove'
71            remove.type = 'button'
72            remove.innerHTML = '&times;'
73            remove.onclick = () => {
74                removeFileFromFileList(input, i)
75                render(false)
76            }
77
78            row.append(name, sz, remove)
79            display.appendChild(row)
80        }
81
82        sizeDisplay.innerText = bytes(size).mb().toString()
83        if (size > FILES_MAX_SIZE) {
84            input.dataset.ariaInvalid = 'true'
85            node.classList.add('invalid')
86        } else {
87            input.dataset.ariaInvalid = 'false'
88            node.classList.remove('invalid')
89        }
90
91    }
92
93    input.addEventListener('change', (e) => {
94        render()
95    })
96
97    input.addEventListener('dragenter', () => {
98        input.classList.add('hover');
99    });
100
101    input.addEventListener('dragleave', () => {
102        input.classList.remove('hover');
103    });
104
105    input.addEventListener('drop', () => {
106        input.classList.remove('hover');
107    });
108}
109
110const removeFileFromFileList = (input, index) => {
111    const dt = new DataTransfer()
112    const {files} = input
113
114    for (let i = 0; i < files.length; i++)
115        if (index !== i)
116            dt.items.add(files[i])
117
118    input.files = dt.files
119}
120
121const appendToFileList = (input, base, add) => {
122    const dt = new DataTransfer()
123
124    if (base)
125        for (let i = 0; i < base.length; i++)
126            dt.items.add(base[i])
127    if (add)
128        for (let i = 0; i < add.length; i++)
129            dt.items.add(add[i])
130
131    input.files = dt.files
132}
133
134window.addEventListener('DOMContentLoaded', () => {
135    const files = document.querySelectorAll('.c-files')
136    for (let i = 0; i < files.length; i++) {
137        filesInit(files[i])
138    }
139})
140
141jQuery(document).ready($ => {
142    sbjs.init()
143
144    function getQueryParam(key) {
145        const params = new URLSearchParams(window.location.search);
146        return params.get(key) || null
147    }
148
149    const a = {source: null, medium: null, campaign: null, referrer: null}
150
151    if (window.sbjs && window.sbjs.get) {
152        const current = window.sbjs.get.current || window.sbjs.get
153        if (current) {
154            a.source = current.src || null
155            a.medium = current.mdm || null
156            a.campaign = current.cmp || null
157            a.referrer = current.referrer || current.ref || null
158        }
159    }
160
161    if (!a.source) a.source = getQueryParam('utm_source')
162    if (!a.medium) a.medium = getQueryParam('utm_medium')
163    if (!a.campaign) a.campaign = getQueryParam('utm_campaign')
164    if (!a.referrer) a.referrer = document.referrer || null
165
166    window.sbjsSource = {}
167    for (const i in a) {
168        window.sbjsSource['_' + i] = a[i]
169    }
170})

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.