PageSourceSearch

https://km1.ru/local/js/rinaf.site/forms.js?17756504546042

js km1.ru collected 2026-10-07 06:08:20 UTC 6,042 bytes, 202 lines download raw bytes

1(function(window){
2    'use strict';
3
4    if (window.Form)
5        return;
6
7    window.Form = function(arParams)
8    {
9        this.params = arParams;
10    }
11
12    window.Form.prototype = {
13        reset() {
14            this.params.obj.reset();
15
16            let elements = this.params.obj;
17            if(elements.length > 0)
18            {
19                for(let i = 0; i < elements.length; i++)
20                {
21                    let obElement = elements[i];
22                    let fieldType = obElement.type.toLowerCase();
23                    switch(fieldType)
24                    {
25                        case 'file':
26                            let obElementParent = obElement.parentNode;
27                            let obElementLabel = obElementParent.querySelector('label.btn');
28                            if(obElementLabel != null)
29                            {
30                                obElementLabel.classList.remove('success');
31                                obElementLabel.innerHTML = obElementLabel.dataset.defaultLabel;
32                            }
33                            break;
34                        default:
35                            break;
36                    }
37                }
38            }
39        },
40        onLoadFile()
41        {
42            let label = new Array();
43            if(this.params.obj.files.length > 0)
44            {
45                let obFile = this.params.obj.files[0];
46                let obParent = this.params.obj.parentNode;
47                let obBtn = null;
48                if(obParent != null)
49                {
50                    obBtn = obParent.querySelector('.btn');
51                }
52
53                let size = obFile.size / 1024;
54                size = size / 1024;
55                size = new Intl.NumberFormat('en-IN', {
56                    maximumFractionDigits: 2
57                }).format(size);
58
59                let ext = obFile.name;
60                ext = ext.split('.').reverse();
61                if(typeof ext[0] != "undefined")
62                {
63                    size += '*.' + ext[0];
64                }
65
66                label.push('Добавлен');
67                label.push(size);
68                label = label.join(' ');
69
70                if(obBtn != null)
71                {
72                    obBtn.classList.add('success');
73                    obBtn.innerHTML = label;
74                }
75            }
76        },
77        onSubmit()
78        {
79            let canSend = 'Y';
80            let data = new FormData(this.params.obj);
81            let obIsAgree = this.params.obj.querySelector('input[name=agree]:checked');
82            if(obIsAgree == null)
83            {
84                canSend = "N";
85            }
86
87            if(canSend == 'N')
88            {
89                return false;
90            }
91
92            const obForm = this;
93            window.createMainLoader(obForm.params.obj);
94            window.grecaptcha.ready(function()
95            {
96                window.grecaptcha.execute(GOOGLE_RECAPTCHA_SITE_KEY,
97                    {
98                        action: 'submit'
99                    }).then(function(token)
100                    {
101                        data.append('token', token);
102                        data.append('web_form_submit', 'Отправить');
103                        data.append('is_ajax', 'Y');
104
105                        let obModal = new Modal();
106
107                        BX.ajax.runComponentAction('rinaf:site.form', 'formResultNew', {
108                            mode: 'class',
109                            data: data
110                        }).then(function(response)
111                        {
112                            obModal.open({
113                                header: response.data.header,
114                                body: obModal.makeSuccessHtml(response.data.body)
115                            });
116
117                            obForm.reset();
118
119                            window.removeMainLoader(obForm.params.obj);
120                        }, function(response)
121                        {
122                            obModal.open({
123                                header: response.data.header,
124                                body: obModal.makeErrorHtml(response.errors)
125                            }, 'Y');
126                            window.removeMainLoader(obForm.params.obj);
127                        });
128                    });
129            });
130        }
131    }
132})(window);
133
134const showFileInfo = function(obj, $event)
135{
136    let obForm = new Form({
137        obj: obj,
138        event: $event
139    });
140
141    obForm.onLoadFile();
142}
143
144const showModalForm = function(type, obj, isForm) {
145    if(isForm)
146    {
147        let obForm = new Form({
148            type: type,
149            obj: obj
150        });
151
152        obForm.onSubmit();
153    }
154    else
155    {
156        let obModal = new Modal();
157
158        let obFormData = {
159            formCode: type
160        };
161
162        let mapDataSet = obj.dataset;
163        for(let key in mapDataSet)
164        {
165            if(key.indexOf('ajax') > -1)
166            {
167                let keyValue = key.replace('ajax', '');
168                obFormData['ajax_' + keyValue.toLowerCase()] = mapDataSet[key];
169            }
170        }
171
172        BX.ajax.runComponentAction('rinaf:site.form', 'getFormHtml', {
173            mode: 'class',
174            data: obFormData
175        }).then(function(response)
176        {
177            obModal.open({
178                header: response.data.header,
179                body: response.data.body
180            });
181
182            /**
183             * InputMask
184             */
185            // const obIMask = new IMask();
186            // obIMask.init(obModal.obModal);
187
188            window.BX.UserConsent.loadFromForms();
189
190            const obDadata = new DaData();
191            obDadata.init(obModal.obModal);
192
193        }, function(response)
194        {
195            obModal.open({
196                header: response.data.header,
197                body: obModal.makeErrorHtml(response.errors)
198            });
199            window.removeMainLoader(obForm.params.obj);
200        });
201    }
202}

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.