PageSourceSearch

https://timregion.ru/kubcms-front/v5/master/s/c-Index-zUfX5b6K.js

js timregion.ru collected 2026-10-02 17:19:49 UTC 25,173 bytes, 1 lines download raw bytes

1import{co as ua,aR as da,a_ as r,bn as ra,aU as ca,aV as c,aW as C,b2 as E,aY as l,bh as S,b3 as o,bg as n,ci as v,bR as u,b6 as f,en as we,e8 as Ie,b1 as x,fe as Re,cu as va,b5 as ma,bu as pa,ct as fa,cs as ce,ek as ya,ck as De,cl as le,ff as ba,br as wa,cf as ga,bt as Z,cW as ka,cM as Me,c1 as ve,cL as _e,aZ as xa,fg as Ca,cr as Sa,cm as ge,bc as ke,cn as w,cH as Le,eq as J,cd as Va}from"./c-index-D0PNHfG-.js";import{u as ha,a as za,l as Ea,E as Ta}from"./e-front-DVf7xbkB.js";import{b as X,e as $a,n as Aa,m as te}from"./c-el-form-item-DpapBxAI.js";import{E as Ba}from"./c-index-B2MHE_Vs.js";import{E as Oe}from"./c-el-pagination-BlvzLv88.js";import{E as me,a as b}from"./c-index-C1-Vw1zv.js";import{S as Na}from"./c-StandardListWrapper-CDLvJw1W.js";import"./c-index-BK4XP-j-.js";import"./c-merge-CSO2wn0V.js";import"./c-isArrayLikeObject-Can3dch6.js";import"./c-map-DDGos1wu.js";import"./c-_baseMap-vQxfWueh.js";import"./c-debounce-B_JBmozd.js";import"./c-index-MsKR8JGb.js";const He=s=>{var y;return ua(s)?((y=s.response)==null?void 0:y.data)||{}:{}},xe=2147483647,F=36,qe=1,Se=26,Ua=38,Ia=700,Ra=72,Da=128,Ma="-",_a=/^xn--/,La=/[\x2E\u3002\uFF0E\uFF61]/g,Oa={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Ce=F-qe,O=Math.floor;function K(s){throw new RangeError(Oa[s])}function Ha(s,y){const V=[];let m=s.length;for(;m--;)V[m]=y(s[m]);return V}function qa(s,y){const V=s.split("@");let m="";V.length>1&&(m=V[0]+"@",s=V[1]),s=s.replace(La,".");const R=s.split("."),T=Ha(R,y).join(".");return m+T}const Pa=function(s){return s>=48&&s<58?26+(s-48):s>=65&&s<91?s-65:s>=97&&s<123?s-97:F},Za=function(s,y,V){let m=0;for(s=V?O(s/Ia):s>>1,s+=O(s/y);s>Ce*Se>>1;m+=F)s=O(s/Ce);return O(m+(Ce+1)*s/(s+Ua))},Fa=function(s){const y=[],V=s.length;let m=0,R=Da,T=Ra,$=s.lastIndexOf(Ma);$<0&&($=0);for(let A=0;A<$;++A)s.charCodeAt(A)>=128&&K("not-basic"),y.push(s.charCodeAt(A));for(let A=$>0?$+1:0;A<V;){const H=m;for(let i=1,B=F;;B+=F){A>=V&&K("invalid-input");const N=Pa(s.charCodeAt(A++));N>=F&&K("invalid-input"),N>O((xe-m)/i)&&K("overflow"),m+=N*i;const D=B<=T?qe:B>=T+Se?Se:B-T;if(N<D)break;const ne=F-D;i>O(xe/ne)&&K("overflow"),i*=ne}const p=y.length+1;T=Za(m-H,p,H==0),O(m/p)>xe-R&&K("overflow"),R+=O(m/p),m%=p,y.splice(m++,0,R)}return String.fromCodePoint(...y)},ja=function(s){return qa(s,function(y){return _a.test(y)?Fa(y.slice(4).toLowerCase()):y})},Wa={class:"dns-page"},Ja={class:"dns-actions"},Xa={key:0},Ka={class:"dns-detail-header"},Ya={class:"dns-zone-title"},Ga={key:0},Qa={class:"toolbar"},el={class:"toolbar"},al={key:0,class:"muted"},ll={class:"muted"},tl={key:2},nl=da({name:"ModeratorDnsPage",__name:"Index",setup(s){const y=["A","AAAA","ALIAS","CAA","CNAME","DNAME","HTTPS","MX","NS","SOA","SRV","SVCB","SSHFP","TXT"],V={MX:"Приоритет и сервер: 10 mail.example.ru.",SRV:"Приоритет, вес, порт и сервер: 10 5 443 service.example.ru.",TXT:"Текст сохраняется без изменения. Длинные значения разделите на строки в кавычках до 255 байт.",CAA:'Пример: 0 issue "letsencrypt.org"',HTTPS:'Приоритет, сервер и параметры: 1 . alpn="h2,h3"',SVCB:"Приоритет, сервер и параметры: 1 service.example.ru. port=443",SSHFP:"Алгоритм, тип хеша и отпечаток: 1 2 <SHA-256>"},m=ha(),R=za(),T=r(String(m.query.q||"")),$=r(Number(m.query.page)||1),A=r(0),H=r([]),p=r(""),i=r(null),B=r(""),N=r(""),D=r(1),ne=ke(()=>{var t;return((t=H.value.find(e=>e.id===p.value))==null?void 0:t.name)||""}),j=r(""),pe=new Set;let Ve=!1;ra(()=>{Ve=!0;for(const t of pe)clearTimeout(t)});function he(t){j.value="Задание выполняется в фоне. Результат также доступен в истории.";const e=async()=>{var a;if(!Ve)try{const{data:d}=await w.get(`admin/dns/tasks/${t}`);if(d.status==="complete"){j.value="Задание завершено.",await L(),p.value&&await z(),oe.value&&await ae();return}if(d.status==="failed"){M.value=((a=d.details)==null?void 0:a.message)||"Задание завершилось с ошибкой.",j.value="";return}const k=setTimeout(()=>{pe.delete(k),e()},2e3);pe.add(k)}catch(d){M.value=I(d),j.value="Проверьте результат задания в истории."}};e()}const q=r(!1),M=r(""),Y=r(!1),_=r(!1),G=r(""),Q=r(""),ze=r(""),Ee=()=>({name:"@",type:"A",ttl:300,comment:"",records:[{content:"",disabled:!1}]}),g=r(Ee()),U=r({}),oe=r(!1),W=r("snapshots"),Te=r([]),se=r(1),$e=r(0),P=r(""),ee=r(!1),ie=r(null),ue=r([]),de=r(""),Pe=ke(()=>({snapshots:"Снимки DNS",operations:"История изменений",provisions:"Настройка DNS новых сайтов"})[W.value]),Ze=ke(()=>{var t,e;return{enabled:"Включён",absent:"Нет",disabled:"Запись есть, отключена",custom:"Пользовательская настройка",zone_disabled:"Зона отключена"}[((e=(t=i.value)==null?void 0:t.wildcard)==null?void 0:e.state)||"absent"]||"Неизвестно"}),re=t=>{try{return ja(t)}catch{return t}},Fe=t=>({complete:"Завершено",running:"Выполняется",queued:"В очереди",pending:"Ожидает",retry:"Ожидает повтора",conflict:"Конфликт",cancelled:"Отменено",partial:"Частичный снимок",failed:"Ошибка",unconfirmed:"Не подтверждено"})[t]||t,fe=t=>
1t?new Date(t).toLocaleString("ru-RU"):"—",I=t=>He(t).message||"Не удалось выполнить операцию. Обновите данные перед повтором.",je=t=>t.type==="SOA"||t.type==="NS"&&t.name===i.value.zone.name||!!t.managed_by;async function h(t){if(!q.value){q.value=!0,M.value="";try{await t()}catch(e){e!=="cancel"&&e!=="close"&&(M.value=I(e))}finally{q.value=!1}}}async function L(){const{data:t}=await w.get("admin/dns/zones",{params:{q:T.value,page:$.value}});H.value=t.data,A.value=t.meta.total}async function Ae(){$.value=1,await R.replace({query:{q:T.value,page:$.value}}),await h(L)}async function We(t){$.value=t,await R.replace({query:{...m.query,q:T.value,page:t}}),await h(L)}function Je(){p.value="",i.value=null,M.value=""}async function Xe(){await h(async()=>{const{data:t}=await w.post("admin/dns/refresh");he(t.operationId)})}async function Be(t){q.value||(i.value=null,p.value=t,D.value=1,B.value="",N.value="",await h(z))}async function ye(){D.value=1,await z()}async function z(){const t=p.value;if(t)try{const{data:e}=await w.get(`admin/dns/zones/${p.value}`,{params:{q:B.value,type:N.value,page:D.value}});t===p.value&&(i.value=e)}catch(e){M.value=I(e)}}function Ne(t){Q.value=(t==null?void 0:t.id)||"",ze.value=i.value.hash,g.value=t?JSON.parse(JSON.stringify(t)):Ee(),G.value="",U.value={},Y.value=!0}async function Ue(){if(!_.value){_.value=!0,G.value="",U.value={};try{await w.post(`admin/dns/zones/${p.value}/records`,{recordId:Q.value||void 0,expectedHash:ze.value,record:g.value}),Y.value=!1,await z(),Le.success("Запись сохранена в Selectel")}catch(t){G.value=I(t),U.value=Object.fromEntries((He(t).errors||[]).map(e=>[e.field,e.message]))}finally{_.value=!1}}}async function Ke(t){await h(async()=>{await J.confirm(`Удалить группу ${t.type} ${t.name} со всеми её значениями? Перед удалением будет сохранён снимок.`,"Удаление записи",{type:"warning",confirmButtonText:"Удалить",cancelButtonText:"Отмена"}),await w.delete(`admin/dns/zones/${p.value}/records`,{data:{recordId:t.id,expectedHash:i.value.hash}}),await z()})}async function Ye(){await h(async()=>{const t=i.value.wildcard.state!=="enabled";await J.confirm(t?"Создать wildcard на IP сервера платформы?":"Сначала будут созданы точные записи подключённых доменов, затем удалена wildcard-запись. Неучтённые поддомены могут перестать работать.","Wildcard",{type:"warning",confirmButtonText:"Применить",cancelButtonText:"Отмена"}),await w.put(`admin/dns/zones/${p.value}/wildcard`,{enabled:t,domain:i.value.zone.name,expectedHash:i.value.hash}),await z()})}async function Ge(){await h(async()=>{const{value:t}=await J.prompt("Доменное имя новой зоны","Добавить зону",{inputPlaceholder:"пример.рф",confirmButtonText:"Создать",cancelButtonText:"Отмена"}),{data:e}=await w.post("admin/dns/zones",{name:t});await L(),p.value=e.zone.id,await z()})}async function Qe(){await h(async()=>{const{value:t}=await J.prompt("Комментарий к зоне","Настройки зоны",{inputValue:i.value.zone.comment||"",confirmButtonText:"Далее",cancelButtonText:"Отмена"});await w.put(`admin/dns/zones/${p.value}`,{comment:t,disabled:!!i.value.zone.disabled,expectedHash:i.value.hash}),await z()})}async function ea(){await h(async()=>{const t=!i.value.zone.disabled;await J.confirm(t?"Отключение зоны остановит разрешение всех её DNS-записей. Продолжить?":"Включить DNS-зону?","Состояние зоны",{type:"warning",confirmButtonText:"Применить",cancelButtonText:"Отмена"}),await w.put(`admin/dns/zones/${p.value}`,{comment:i.value.zone.comment||"",disabled:t,expectedHash:i.value.hash}),await z(),await L()})}async function aa(){await h(async()=>{const{value:t}=await J.prompt("Введите полное имя зоны. Будут удалены ВСЕ её записи, включая почту и поддомены.","Удалить DNS-зону",{type:"warning",confirmButtonText:"Удалить зону",cancelButtonText:"Отмена"});await w.delete(`admin/dns/zones/${p.value}`,{data:{confirmName:t,expectedHash:i.value.hash}}),i.value=null,p.value="",await L()})}async function la(){await h(async()=>{const{data:t}
1=await w.post("admin/dns/snapshots");he(t.operationId)})}async function be(t){W.value=t,se.value=1,oe.value=!0,await ae()}async function ae(){P.value="";try{const{data:t}=await w.get(`admin/dns/${W.value}`,{params:{page:se.value}});Te.value=t.data,$e.value=t.meta.total}catch(t){P.value=I(t)}}async function ta(t){try{const{data:e}=await w.get(`admin/dns/snapshots/${t}`),a=URL.createObjectURL(new Blob([JSON.stringify(e,null,2)],{type:"application/json"})),d=document.createElement("a");d.href=a,d.download=`dns-snapshot-${t}.json`,d.click(),URL.revokeObjectURL(a)}catch(e){P.value=I(e)}}function na(t){ue.value=t.map(e=>e.key)}async function oa(t){try{const{data:e}=await w.get(`admin/dns/snapshots/${t}/preview`);ie.value=e,ue.value=[],de.value="",ee.value=!0}catch(e){P.value=I(e)}}async function sa(){if(!_.value){_.value=!0;try{await w.post("admin/dns/restore",{...ie.value,keys:ue.value}),ee.value=!1,Le.success("Выбранные записи восстановлены"),p.value&&await z(),await ae(),await L()}catch(t){de.value=I(t)}finally{_.value=!1}}}async function ia(t){try{await w.post(`admin/dns/provisions/${t}/retry`),await ae()}catch(e){P.value=I(e)}}return ca(async()=>{await h(L),Ea.close()}),(t,e)=>(c(),C("div",Wa,[M.value?(c(),E(l(X),{key:0,title:M.value,type:"error",closable:!1,"show-icon":"",class:"mb-3"},null,8,["title"])):S("",!0),j.value?(c(),E(l(X),{key:1,title:j.value,type:"info",closable:!1,class:"mb-3"},null,8,["title"])):S("",!0),p.value?wa((c(),E(l($a),{key:3,class:"dns-zone-details"},{header:o(()=>{var a;return[x("div",Ka,[n(l(v),{icon:l(Ca),onClick:Je},{default:o(()=>[...e[29]||(e[29]=[u("К списку доменов",-1)])]),_:1},8,["icon"]),x("div",Ya,[x("strong",null,f(re(((a=i.value)==null?void 0:a.zone.name)||ne.value)),1),i.value?(c(),C("small",Ga,"Обновлено из Selectel: "+f(fe(i.value.fetchedAt)),1)):S("",!0)]),n(l(v),{icon:l(Re),onClick:z},{default:o(()=>[...e[30]||(e[30]=[u("Обновить",-1)])]),_:1},8,["icon"])])]}),default:o(()=>[i.value?(c(),C(Z,{key:0},[i.value.stale?(c(),E(l(X),{key:0,type:"warning",closable:!1,title:"Selectel недоступен. Показана сохранённая копия; изменение записей отключено.","show-icon":""})):S("",!0),x("div",Qa,[e[34]||(e[34]=x("span",null,"Wildcard:",-1)),n(l(we),null,{default:o(()=>[u(f(Ze.value),1)]),_:1}),n(l(v),{disabled:i.value.stale||["custom","zone_disabled"].includes(i.value.wildcard.state),onClick:Ye},{default:o(()=>[u(f(i.value.wildcard.state==="enabled"?"Отключить":"Включить"),1)]),_:1},8,["disabled"]),n(l(v),{disabled:i.value.stale,onClick:e[4]||(e[4]=a=>Ne()),type:"primary"},{default:o(()=>[...e[31]||(e[31]=[u("Добавить запись",-1)])]),_:1},8,["disabled"]),n(l(v),{disabled:i.value.stale,onClick:Qe},{default:o(()=>[...e[32]||(e[32]=[u("Настройки зоны",-1)])]),_:1},8,["disabled"]),n(l(v),{disabled:i.value.stale,onClick:ea},{default:o(()=>[u(f(i.value.zone.disabled?"Включить зону":"Отключить зону"),1)]),_:1},8,["disabled"]),n(l(v),{disabled:i.value.stale||i.value.zone.protected,type:"danger",plain:"",onClick:aa},{default:o(()=>[...e[33]||(e[33]=[u("Удалить зону",-1)])]),_:1},8,["disabled"])]),x("div",el,[n(l(le),{modelValue:B.value,"onUpdate:modelValue":e[5]||(e[5]=a=>B.value=a),placeholder:"Поиск записей в зоне",clearable:"",onKeyup:ka(ye,["enter"])},null,8,["modelValue"]),n(l(Me),{modelValue:N.value,"onUpdate:modelValue":e[6]||(e[6]=a=>N.value=a),clearable:"",placeholder:"Все типы",onChange:ye,style:{width:"170px"}},{default:o(()=>[(c(),C(Z,null,ve(y,a=>n(l(_e),{key:a,label:a,value:a},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),n(l(v),{onClick:ye},{default:o(()=>[...e[35]||(e[35]=[u("Найти",-1)])]),_:1})]),n(l(me),{data:i.value.records,border:"","row-key":"id",style:{width:"100%"},"empty-text":"Нет записей"},{default:o(()=>[n(l(b),{label:"Имя","min-width":"190"},{default:o(({row:a})=>[x("strong",null,f(re(a.name)),1),x("small",null,f(a.name),1)]),_:1}),n(l(b),{prop:"type",label:"Тип",width:"85"}),n(l(b),{label:"Значения","min-width":"220"},{default:o(({row:a})=>[(c(!0),C(Z,null,ve(a.records,(d,k)=>(c(),C("div",{key:k,class:xa({muted:d.disabled})},[x("code",null,f(d.content),1),d.disabled?(c(),E(l(we),{key:0,size:"small"},{default:o(()=>[...e[36]||(e[36]=[u("Отключено",-1)])]),_:1})):S("",!0)],2))),128))]),_:1}),n(l(b),{prop:"ttl",label:"TTL, с",width:"85"}),n(l(b),{prop:"comment",label:"Комментарий","min-width":"150"}),n(l(b),{label:"Действия",width:"190",fixed:"right"},{default:o(({row:a})=>[je(a)?(c(),C("span",al,"Служебная")):(c(),C(Z,{key:1},[n(l(v),{size:"small",type:"primary",link:"",icon:l(Ie),disabled:i.value.stale,onClick:d=>Ne(a)},{default:o(()=>
1[...e[37]||(e[37]=[u("Изменить",-1)])]),_:1},8,["icon","disabled","onClick"]),n(l(v),{size:"small",type:"danger",link:"",disabled:i.value.stale,onClick:d=>Ke(a)},{default:o(()=>[...e[38]||(e[38]=[u("Удалить",-1)])]),_:1},8,["disabled","onClick"])],64))]),_:1})]),_:1},8,["data"]),n(l(Oe),{class:"mt-3",layout:"total, prev, pager, next","page-size":30,total:i.value.total,"current-page":D.value,"onUpdate:currentPage":e[7]||(e[7]=a=>D.value=a),onCurrentChange:z},null,8,["total","current-page"])],64)):q.value?S("",!0):(c(),E(l(Ta),{key:1,description:"Не удалось загрузить записи зоны"},{default:o(()=>[n(l(v),{onClick:e[8]||(e[8]=a=>h(z))},{default:o(()=>[...e[39]||(e[39]=[u("Повторить загрузку",-1)])]),_:1})]),_:1}))]),_:1})),[[l(ga),q.value]]):(c(),E(Na,{key:2,class:"dns-zone-list","current-page":$.value,"per-page":30,loading:q.value,"all-length":A.value,"filtered-length":H.value.length,"onUpdate:currentPage":We},{searchInputSlot:o(()=>[x("form",{class:"dns-search",onSubmit:De(Ae,["prevent"])},[n(l(le),{modelValue:T.value,"onUpdate:modelValue":e[0]||(e[0]=a=>T.value=a),placeholder:"Домен, IP, MX или комментарий","aria-label":"Поиск DNS-зон",clearable:"",onClear:Ae},null,8,["modelValue"]),n(l(v),{icon:l(ba),"native-type":"submit"},{default:o(()=>[...e[20]||(e[20]=[u("Найти",-1)])]),_:1},8,["icon"])],32)]),searchRowSlot:o(()=>[x("div",Ja,[n(l(v),{icon:l(Re),onClick:Xe},{default:o(()=>[...e[21]||(e[21]=[u("Обновить из Selectel",-1)])]),_:1},8,["icon"]),n(l(va),{trigger:"click"},{dropdown:o(()=>[n(l(fa),null,{default:o(()=>[n(l(ce),{onClick:e[1]||(e[1]=a=>be("snapshots"))},{default:o(()=>[...e[23]||(e[23]=[u("Снимки",-1)])]),_:1}),n(l(ce),{onClick:la},{default:o(()=>[...e[24]||(e[24]=[u("Снимок всех зон",-1)])]),_:1}),n(l(ce),{divided:"",onClick:e[2]||(e[2]=a=>be("operations"))},{default:o(()=>[...e[25]||(e[25]=[u("История операций",-1)])]),_:1}),n(l(ce),{onClick:e[3]||(e[3]=a=>be("provisions"))},{default:o(()=>[...e[26]||(e[26]=[u("Настройка новых сайтов",-1)])]),_:1})]),_:1})]),default:o(()=>[n(l(v),null,{default:o(()=>[e[22]||(e[22]=u("История и снимки",-1)),n(l(ma),{class:"ml-2"},{default:o(()=>[n(l(pa))]),_:1})]),_:1})]),_:1}),n(l(v),{type:"primary",icon:l(ya),onClick:Ge},{default:o(()=>[...e[27]||(e[27]=[u("Добавить зону",-1)])]),_:1},8,["icon"])])]),default:o(()=>[n(l(me),{class:"dns-zones-table",data:H.value,"row-key":"id",border:"",style:{width:"100%"},"empty-text":"Зоны не найдены. Измените поиск или обновите список из Selectel."},{default:o(()=>[n(l(b),{prop:"name",label:"Домен","min-width":"260"},{default:o(({row:a})=>[n(l(v),{type:"primary",link:"",class:"dns-domain",onClick:d=>Be(a.id)},{default:o(()=>[u(f(re(a.name)),1)]),_:2},1032,["onClick"]),re(a.name)!==a.name?(c(),C("small",Xa,f(a.name),1)):S("",!0)]),_:1}),n(l(b),{label:"Состояние",width:"140"},{default:o(({row:a})=>[n(l(we),{type:a.zone.disabled?"info":"success",effect:"plain"},{default:o(()=>[u(f(a.zone.disabled?"Отключена":"Активна"),1)]),_:2},1032,["type"])]),_:1}),n(l(b),{label:"Комментарий","min-width":"200"},{default:o(({row:a})=>[u(f(a.zone.comment||"—"),1)]),_:1}),n(l(b),{label:"Обновлено из Selectel","min-width":"180"},{default:o(({row:a})=>[u(f(fe(a.fetched_at)),1)]),_:1}),n(l(b),{label:"Действия",width:"125",fixed:"right"},{default:o(({row:a})=>[n(l(v),{type:"primary",link:"",icon:l(Ie),onClick:d=>Be(a.id)},{default:o(()=>[...e[28]||(e[28]=[u("Записи",-1)])]),_:1},8,["icon","onClick"])]),_:1})]),_:1},8,["data"])]),_:1},8,["current-page","loading","all-length","filtered-length"])),n(l(ge),{modelValue:Y.value,"onUpdate:modelValue":e[15]||(e[15]=a=>Y.value=a),title:Q.value?"Изменить группу записей":"Добавить группу записей",width:"min(760px,95vw)","close-on-click-modal":!1},{footer:o(()=>[n(l(v),{onClick:e[14]||(e[14]=a=>Y.value=!1)},{default:o(()=>[...e[42]||(e[42]=[u("Отмена",-1)])]),_:1}),n(l(v),{type:"primary",loading:_.value,onClick:Ue},{default:o(()=>[...e[43]||(e[43]=[u("Сохранить в Selectel",-1)])]),_:1},8,["loading"])]),default:o(()=>[G.value?(c(),E(l(X),{key:0,title:G.value,type:"error",closable:!1},null,8,["title"])):S("",!0),n(l(Aa),{"label-position":"top",onSubmit:De(Ue,["prevent"])},{default:o(()=>[n(l(te),{label:"Имя: @, www или полное имя внутри зоны",error:U.value.name},{default:o(()=>[n(l(le),{modelValue:g.value.name,"onUpdate:modelValue":e[9]||(e[9]=a=>g.value.name=a),disabled:!!Q.value},null,8,["modelValue","disabled"])]),_:1},8,["error"]),n(l(te),{label:"Тип",error:U.value.type},{default:o(()=>[n(l(Me),{modelValue:g.value.type,"onUpdate:modelValue":e[10]||(e[10]=a=>g.value.type=a),disabled:!!Q.value},{default:o(()=>[(c(!0),C(Z,null,ve(y.filter(a=>a!=="SOA"),a=>(c(),E(l(_e),{key:a,label:a,value:a},null,8,["label","value"]))),128))]),_:1},8,["modelValue","disabled"])]),_:1},8,["error"]),x("p",ll,f(V[g.value.type]||"Введите значение в формате DNS. Целевые имена можно указ
1ывать кириллицей."),1),n(l(te),{label:"TTL, секунды",error:U.value.ttl},{default:o(()=>[n(l(Ba),{modelValue:g.value.ttl,"onUpdate:modelValue":e[11]||(e[11]=a=>g.value.ttl=a),min:60,max:604800,step:60},null,8,["modelValue"])]),_:1},8,["error"]),(c(!0),C(Z,null,ve(g.value.records,(a,d)=>(c(),C("div",{key:d,class:"value-row"},[n(l(te),{error:U.value[`records.${d}.content`]||U.value[`records.${d}.disabled`],style:{flex:"1","margin-bottom":"0"}},{default:o(()=>[n(l(le),{modelValue:a.content,"onUpdate:modelValue":k=>a.content=k,"aria-label":`Значение ${d+1}`,type:"textarea",autosize:""},null,8,["modelValue","onUpdate:modelValue","aria-label"])]),_:2},1032,["error"]),n(l(Sa),{modelValue:a.disabled,"onUpdate:modelValue":k=>a.disabled=k,"active-text":"Отключено"},null,8,["modelValue","onUpdate:modelValue"]),n(l(v),{disabled:g.value.records.length===1,onClick:k=>g.value.records.splice(d,1)},{default:o(()=>[...e[40]||(e[40]=[u("Удалить",-1)])]),_:1},8,["disabled","onClick"])]))),128)),n(l(v),{disabled:g.value.records.length>=100,onClick:e[12]||(e[12]=a=>g.value.records.push({content:"",disabled:!1}))},{default:o(()=>[...e[41]||(e[41]=[u("Добавить значение",-1)])]),_:1},8,["disabled"]),n(l(te),{label:"Комментарий к группе",error:U.value.comment},{default:o(()=>[n(l(le),{modelValue:g.value.comment,"onUpdate:modelValue":e[13]||(e[13]=a=>g.value.comment=a),maxlength:"255","show-word-limit":""},null,8,["modelValue"])]),_:1},8,["error"])]),_:1}),e[44]||(e[44]=x("p",{class:"muted"}," Будет изменена только эта группа. Имя и тип существующей группы неизменяемы: для переноса создайте новую запись, затем удалите старую. ",-1))]),_:1},8,["modelValue","title"]),n(l(ge),{modelValue:oe.value,"onUpdate:modelValue":e[17]||(e[17]=a=>oe.value=a),title:Pe.value,width:"min(1000px,95vw)"},{default:o(()=>[P.value?(c(),E(l(X),{key:0,title:P.value,type:"error",closable:!1},null,8,["title"])):S("",!0),n(l(me),{data:Te.value,border:"","empty-text":"Нет данных"},{default:o(()=>[n(l(b),{label:"Дата / домен","min-width":"150"},{default:o(({row:a})=>[u(f(a.url||fe(a.created_at)),1)]),_:1}),n(l(b),{label:"Операция","min-width":"150"},{default:o(({row:a})=>[u(f(a.kind||a.reason||a.message),1)]),_:1}),n(l(b),{label:"Состояние",width:"130"},{default:o(({row:a})=>[u(f(Fe(a.status)),1)]),_:1}),n(l(b),{label:"Действия",width:"270"},{default:o(({row:a})=>{var d;return[W.value==="snapshots"?(c(),C(Z,{key:0},[n(l(v),{size:"small",onClick:k=>ta(a.id)},{default:o(()=>[...e[45]||(e[45]=[u("Скачать",-1)])]),_:1},8,["onClick"]),a.zone_id&&a.status==="complete"?(c(),E(l(v),{key:0,size:"small",onClick:k=>oa(a.id)},{default:o(()=>[...e[46]||(e[46]=[u("Восстановить…",-1)])]),_:1},8,["onClick"])):S("",!0)],64)):S("",!0),W.value==="provisions"&&a.status!=="complete"?(c(),E(l(v),{key:1,size:"small",onClick:k=>ia(a.domain_id)},{default:o(()=>[...e[47]||(e[47]=[u("Повторить",-1)])]),_:1},8,["onClick"])):S("",!0),W.value==="operations"?(c(),C("small",tl,f((d=a.details)!=null&&d.snapshotId?"Снимок: "+a.details.snapshotId:""),1)):S("",!0)]}),_:1})]),_:1},8,["data"]),n(l(Oe),{layout:"total, prev, pager, next","page-size":30,total:$e.value,"current-page":se.value,"onUpdate:currentPage":e[16]||(e[16]=a=>se.value=a),onCurrentChange:ae},null,8,["total","current-page"])]),_:1},8,["modelValue","title"]),n(l(ge),{modelValue:ee.value,"onUpdate:modelValue":e[19]||(e[19]=a=>ee.value=a),title:"Предварительный просмотр восстановления",width:"min(1000px,95vw)","close-on-click-modal":!1},{footer:o(()=>[n(l(v),{onClick:e[18]||(e[18]=a=>ee.value=!1)},{default:o(()=>[...e[48]||(e[48]=[u("Отмена",-1)])]),_:1}),n(l(v),{type:"warning",disabled:!ue.value.length,loading:_.value,onClick:sa},{default:o(()=>[...e[49]||(e[49]=[u("Восстановить выбранные группы",-1)])]),_:1},8,["disabled","loading"])]),default:o(()=>{var a,d;return[x("p",null,f((a=ie.value)==null?void 0:a.policy),1),de.value?(c(),E(l(X),{key:0,title:de.value,type:"error",closable:!1},null,8,["title"])):S("",!0),n(l(me),{data:((d=ie.value)==null?void 0:d.changes)||[],border:"",onSelectionChange:na},{default:o(()=>[n(l(b),{type:"selection",width:"50"}),n(l(b),{prop:"key",label:"Запись","min-width":"160"}),n(l(b),{label:"Сейчас","min-width":"220"},{default:o(({row:k})=>[x("pre",null,f(JSON.stringify(k.before,null,2)),1)]),_:1}),n(l(b),{label:"После восстановления","min-width":"220"},{default:o(({row:k})=>[x("pre",null,f(JSON.stringify(k.after,null,2)),1)]),_:1})]),_:1},8,["data"])]}),_:1},8,["modelValue"])]))}}
1),gl=Va(nl,[["__scopeId","data-v-ad1baf31"]]);export{gl as default};

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.