PageSourceSearch

https://www.compel.ru/assets/17.10.16.7/z-b09a2275b8.js

js compel.ru collected 2026-09-24 18:59:47 UTC 9,727 bytes, 44 lines download raw bytes

1webpackJsonp([20],{197:function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),e.d(n,"name",function(){return i});var a=e(362),o=(e.n(a),e(0)),i=(e(406),o.a.r.tag("user-settings-contacts",'\n<h1>{document.title}</h1>\n\n<ul>\n    <li>{ls.cn}</li>\n    <li>ИНН: {ls.ci}, КПП: {ls.ck||\'—\'}</li>\n</ul>\n\n<loading></loading>\n\n<section if="{dl}">\n    <table class="table-positive mb2 wa">\n        <thead>\n        <tr>\n            <th>Имя</th>\n            <th>Email</th>\n            <th>Телефон</th>\n            <th></th>\n        </tr>\n        </thead>\n\n        <tbody each="{d}">\n        <tr>\n            <td>{nl||\'\'} {nf||\'\'} {nm||\'\'}</td>\n            <td>{email}</td>\n            <td>{phone}<span if="{ext}"> доб. {ext}</span></td>\n            <td>\n                <button show="{editable}"\n                        onclick="{doEdit}"\n                        style="background: transparent; color: tomato"\n                        title="редактировать"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="16" height="16" fill="tomato"><path d="M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.39-.39-1.02-.39-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z "></path></svg></button>\n            </td>\n        </tr>\n        </tbody>\n    </table>\n\n    <p style="margin-top: 1em;">\n        <button onclick="{doAdd}" class="bi bi-big bi-add">добавить контактное лицо</button>\n    </p>\n</section>\n',function(){document.title="Контактные лица";var t=this;t.ls=o.a.ls,t.loaded=!1,t.on("mount",function(){t.doLoad()}),t.on("unmount",function(){o.a.abort()}),t.doLoad=function(){o.a.sq("UserSettings/ContactsLoad").then(function(n){sessionStorage.contacts=JSON.stringify(n),t.update({d:n,dl:!0})}).catch(function(n){t.isMounted&&t.update({dl:null})})},t.doEdit=function(n){o.a.m.modal({title:"Редактирование контактного лица",tag:"contact-editor",tagOpts:{item:n.item,src:t},width:"600px"})},t.doAdd=function(n){o.a.m.modal({title:"Создание контактного лица",tag:"contact-editor",tagOpts:{item:{},src:t},width:"600px"})}}));o.a.r.tag("contact-editor",'\n<form onsubmit="{doSave}" class="form-contacts">\n<input type="hidden" name="id" riot-value="{opts.item.id}">\n<input type="hidden" name="self" riot-value="{opts.item.self}">\n<table class="contact-edit mb2" style="width: 100%;">\n<tbody>\n<tr>\n    <td class="label tr"><label for="nl">Фамилия <span class="red">*</span></label></td>\n    <td class="input">\n        <input type="text"\n               id="nl"\n               name="nl"\n               ref="nl"\n               riot-value="{opts.item.nl||\'\'}"\n               placeholder="Фамилия"\n               required\n               >\n    </td>\n</tr><tr>\n    <td class="label tr"><label for="nf">Имя <span class="red">*</span></label></td>\n    <td class="input">\n        <input type="text"\n               id="nf"\n               name="nf"\n               ref="nf"\n               riot-value="{opts.item.nf||\'\'}"\n               placeholder="Имя"\n               required\n               >\n    </td>\n</tr><tr>\n    <td class="label tr"><label for="nm">Отчество &nbsp;</label></td>\n    <td class="input">\n        <input type="text"\n               id="nm"\n               name="nm"\n               ref="nm"\n               riot-value="{opts.item.nm||\'\'}"\n               placeholder="Отчество"\n               >\n    </td>\n</tr>\n<tr class="form-row">\n    <td class="label tr"><label for="email">Email <span class="red">*</span></label></td>\n    <td class="input">\n        <input type="email"\n               name="email"\n               readonly="{opts.item.self}"\n               riot-value="{opts.item.email}"\n               title="адрес электронной почты"\n               placeholder="[email protected]"\n               style="width: 100%"\n               required\n        >\n    </td>\n</tr>\n<tr class="form-row">\n    <td class="label tr"><label for="phone">Телефон <span class="red">*</span></label></td>\n    <td class="input nw">\n        +<input id="phone"\n               type="tel"\n               name="phone"\n               riot-value="{tel||\'\'}"\n               class="mr1"\n               maxlength="18"\n               required\n               pattern="7[0-9]\\{10,11\\}"\n               title="телефонный номер в формате 74951234567"\n               placeholder="74951234567">
1\n        <span class="gc">доб.</span>\n        <input id="phoneExt"\n               type="text"\n               name="ext"\n               riot-value="{opts.item.ext}"\n               size="4"\n               maxlength="4"\n               pattern="{fvp.phoneExt}"\n               title="добавочный номер (не более 4 цифр)"\n               placeholder="1234">\n    </td>\n</tr>\n</tbody>\n</table>\n<p class="tr"><button type="submit" class="btnimg ok">Сохранить</button></p>\n</form>\n',function(){var t=this;this.fvp=o.a.fvp,this.tel="",this.on("before-mount",function(){t.opts.item.phone&&(t.tel=t.opts.item.phone.replace(/\D/g,""),t.tel.length>10&&(t.tel=t.tel))}),this.doSave=function(n){n.preventDefault(),o.a.sq("UserSettings/ContactUpdate",{},{form:n.target}).then(function(n){t.modal.close(),o.a.m.noticeSaved(),t.opts.src.update({d:n})})}})},362:function(t,n){},364:function(t,n,e){"use strict";e.d(n,"a",function(){return o});var a=e(2),o=new a.a("https://suggestions.dadata.ru/suggestions/api/4_1/rs/suggest",{headers:{Authorization:"Token 2a22961f20fa962b355e56f93807411003c782db"}})},406:function(t,n,e){"use strict";var a=e(1),o=(e.n(a),e(0)),i=e(407),s=(e.n(i),e(364));a.tag("dadata",'\n<div onmouseleave="{onMouseLeave}">\n<input type="search"\n       name="{opts.name||\'\'}"\n       id="{opts.dataId||\'\'}"\n       ref="s"\n       autocomplete="off"\n       onsearch="{onSearch}"\n       onkeydown="{onKeyDown}"\n       onpaste="{onPaste}"\n       onkeyup="{onKeyUp}"\n       onclick="{onClick}"\n       title="{opts.title}"\n       readonly="{opts.readonly}"\n       required\n       placeholder="{opts.placeholder}"\n       riot-value="{v}"\n>\n<ul if="{d.length}"><span class="gc">выберите вариант или продолжите ввод</span>\n<li each="{i,k in d}"\n    onclick="{doSelect}"\n    riot-style="cursor: pointer; list-style-type: {k == o ? \'disc\' : \'circle\'}">\n    <div if="{t == \'org\'}">\n        ИНН: {i.data.inn}\n        {i.data.kpp ? \', КПП: \' + i.data.kpp : \'\'}\n        <i if="{i.data.state.status !== \'ACTIVE\'}" style="color: tomato">закрыто</i>\n    </div>\n    {i.value}\n</li>\n</ul>\n</div>\n',
2
3    function(){
4        var t=this;t.d=[],t.o=-1,t.c={},t.v="",t.t=t.opts.type,t.api=s.a,
5
6        t.on("before-mount",function(){t.v=t.opts.value||""}),
7
8        t.onMouseLeave=function(){t.update({d:[]})},
9
10        t.doSelect=function(n){t.c=t.d[n.item.k],t.refs.s.value=t.addLeadSpace(t.c.value),t.d=[],t.o=-1,t.refs.s.focus(),t.select()},
11
12        t.select=function(){if(!t.c.value)return void t.trigger("select",{value:""});var n="";switch(t.opts.type){case"address":t.c.data.house||(n="Укажите адрес точнее");break;case"fio":t.c.data.name?t.c.data.surname||(n="Укажите фамилию"):n="Укажите имя"}t.refs.s.setCustomValidity(n),n||t.trigger("select",t.c)},
13
14        t.onSearch=function(n){t.api.abort(),t.onKeyUp(n)},
15
16        t.onPaste=function(n){n.preventDefault();var e=n.clipboardData||window.clipboardData;n.target.value=e.getData("Text"),t.onKeyUp(n)},
17
18        t.onKeyDown=function(n){if([9].indexOf(n.keyCode)>-1)return t.c=t.d.find(function(t){return!0}),t.refs.s.value=t.c.unrestricted_value,t.select(),void t.update({d:[]});[27].indexOf(n.keyCode)>-1&&(n.preventDefault(),n.stopPropagation(),t.update({d:[]})),[13,38,40].indexOf(n.keyCode)>-1&&n.preventDefault()},
19
20        t._query=function(n){if(t.api.abort(),!(n.length<2||t.opts.readonly)){var e="/"+t.opts.type,a={query:n,count:5};switch(t.opts.type){case"fio":e="/fio";break;case"org":e="/party";break;case"name-first":e="/fio",a.parts=["NAME"];break;case"name-last":e="/fio",a.parts=["SURNAME"];break;case"name-middle":e="/fio",a.parts=["PATRONYMIC"];break;case"tel":return void t._queryTel(n)}t.api.query(e,a).then(function(n){t.d=n.suggestions,t.update()}).catch(function(t){})}},
21
22        t._queryTel=function(n){var e=t.telSexy(n);e&&(t.d=[{value:e}],t.update())},
23
24        t.onClick=function(n){t._query(n.target.value)},
25
26        t.addLeadSpace=function(n){return["fio","address"].indexOf(t.t)>-1&&(n+=" "),n},
27
28        t.onKeyUp=function(n){if(n.keyCode){switch(n.keyCode){case 27:return void n.preventDefault();case 38:if(t.o>0){if(t.o--,t.c=t.d[t.o],!t.c)return;t.refs.s.value=t.addLeadSpace(t.c.value),t.select()}return;case 40:return void(t.o<t.d.length-1&&(t.o++,t.c=t.d[t.o],t.refs.s.value=t.addLeadSpace(t.c.value),t.select()));case 13:return void(t.d=[])}if(o.a.kbd.ignore(n))return}if(n.target.value.length<2)return t.d=[],t.c={},void t.select();t._query(n.target.value)},
29
30        t.telSexy = function(t){
31            return t;
32            // var n="";
33            // if(!t)return n;
34            // if(!(t=t.split("/")[0].replace(/\D/g,"")))return n;
35            // var e=t.match(/(\d+)?(\d{3})(\d{4})$/);
36            // if(!e)return n;
37            // var a="+7";
38            // e[1];
39            // return"8"===a&&(a="+7"),n=a+"(495)"+e[3]+"-"+e[4]
40        }
41    }
42)},
43
44407:function(t,n){}});

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.