1import{_ as st}from"./LayoutColumn.vue_vue_type_script_setup_true_lang-Bsd5oZGv.js";import{_ as at}from"./EmptyState.vue_vue_type_script_setup_true_lang-DHgJe1r6.js";import{_ as rt}from"./GvIcon.vue-XUvgv9OL.js";import{_ as it}from"./OhButton.vue-Dtzddm6W.js";import{_ as mt,i as R}from"./inspect-DgIbYhbW.js";import{_ as lt}from"./OhFilterButton.vue-D2yGZ-ra.js";import{_ as ct}from"./OhHeader.vue-BxGtEsOa.js";import{_ as dt}from"./OhTable.vue-RStjN2qr.js";import{a as pt}from"./OhBadge.vue-DOaHTrjS.js";import{d as k,K as v,X as r,a4 as m,S as s,O as i,a9 as C,P as p,a8 as F,A as o,r as T,w as O,E as S,H as D,F as B,a3 as ut,L as ht,j as ft}from"./vendor-i18n-d5NYPexO.js";import{_ as _t}from"./OhToolbar.vue_vue_type_script_setup_true_lang-xSxu9ACM.js";import{_ as yt}from"./OhSelectedFilter.vue_vue_type_script_setup_true_lang-CV7yLQqB.js";import{_ as vt,j as bt}from"./OhFlashMessage.vue_vue_type_script_setup_true_lang-DKY8S2bQ.js";import{_ as gt}from"./Breadcrumb.vue_vue_type_script_setup_true_lang-BhnnmmvG.js";import{i as wt}from"./backup-IIAyzcl7.js";import{i as $t}from"./download-BTXiE2zV.js";import{f as b}from"./useDnsHistory-Deb0GRrL.js";import{u as Tt,h as St,r as Dt,G as Ct}from"./app-Bjj0N14K.js";import{_ as kt}from"./GenericDeleteModal.vue_vue_type_script_setup_true_lang-U4eauT9v.js";import{c as Rt}from"./useDns-Cs-kcaap.js";import{u as Ot}from"./useResource-G1v596Qi.js";import{R as Bt}from"./dns-lVMWUzsF.js";import"./OhContainer.vue-Ctid55hm.js";import"./Primitive-coUWhel5.js";import"./navigation-D9FNzxdO.js";import"./OhDynamicModal.vue_vue_type_script_setup_true_lang-2VT5f-7-.js";import"./useInterfaceNav-HSbGvQp8.js";import"./useHomeRoute-D9gTh57A.js";import"./useRedirectModal-Dk-J0T8i.js";import"./OhAlert.vue-85f9XDkY.js";import"./GvTile.vue-DWIdZqZK.js";import"./useZendeskWidget-ZFOaLvLk.js";import"./useLayout-hW4GckK7.js";import"./_plugin-vue_export-helper-DlAUqK2U.js";import"./useInput-BJrhjAsY.js";import"./OhSelect.vue-c12QvHW4.js";import"./arrow_forward-CfQEAvCG.js";import"./logout-Bdbk-6q9.js";import"./useSubscription-DdEsf7x6.js";import"./HeaderUnauthenticatedBar-BEl93hiF.js";import"./keyboard_arrow_up-DspG6vzg.js";import"./useKbd-kRIii9yh.js";import"./VisuallyHiddenInput-OYEm9lKq.js";import"./RovingFocusGroup-DODD3AG6.js";import"./useComposing-BRxJeqSh.js";import"./OhInputSearch.vue-BswkWbcU.js";import"./search-C64JSWNe.js";import"./OhKbd.vue-GXacq41G.js";import"./array-BgkLc63u.js";import"./OhInput.vue-CF6t5WGy.js";import"./OhSwitchGroup.vue-CEcZmD-7.js";import"./ToggleGroupItem-QDD0ZEL0.js";import"./useForwardScopeId-CxiLyaV5.js";import"./RovingFocusItem-03JMuJuY.js";import"./OhInputAddon-CblokRQy.js";import"./OhInputAddon.vue-BO47KNT-.js";import"./arrow_back-DMu1enb4.js";import"./chevron_right-D3D6kgoA.js";import"./FormConfirm.vue_vue_type_script_setup_true_lang-E9E9LCd7.js";import"./OhCheckbox.vue-C5hkzwIZ.js";import"./OhSwitch.vue-CYlCkWI3.js";import"./index-Bzx-aT6s.js";import"./index-CsuKWVeY.js";import"./dns-CI5Jfy-Y.js";import"./punycode.es6-mR0PQqwn.js";const Ft=k({__name:"DomainDnsSnapshotTableRow",props:{record:{}},setup(a){return(n,h)=>{const e=pt;return p(),v("tr",null,[r("td",null,m(a.record.prefix),1),r("td",null,m(a.record.ttl),1),r("td",null,[s(e,null,{default:i(()=>[C(m(a.record.type.toUpperCase()),1)]),_:1})]),r("td",null,m(a.record.prio!==0?`${a.record.prio} - `:"")+m(a.record.content),1)])}}}),Et={scope:"col"},jt={scope:"col"},xt={scope:"col"},Ut=k({__name:"DomainDnsSnapshotTableHead",setup(a){const{t:n}=F();return(h,e)=>(p(),v("thead",null,[r("tr",null,[r("th",Et,m(o(n)("domains.dns.table.name")),1),e[0]||(e[0]=r("th",{scope:"col"}," TTL ",-1)),r("th",jt,m(o(n)("domains.dns.table.type")),1),r("th",xt,m(o(n)("domains.dns.table.value")),1)])]))}}),Lt={class:"gv-space-y-sm"},Vt={class:"gv-button-group"},At={class:"gv-filter-bar"},Ht={key:0},Wo=k({__name:"HistorySnapshot",props:{domain:{},snapshot:{},dns:{}},setup(a){const n=a,h=T(!1),{t:e}=F(),E=Tt({}),g=T(!1),{createSuccessToast:j,createErrorToast:x}=bt(),{queryData:w,parsedQueryData:U,isEmpty:L,isEmptyString:V,generateQueryData:A,onChange:H,onPageChange:N,onSearchChange:G}=Ot(n.dns,{id:"snapshots",whitelist:["recordType"],stringEmptySearch:e("domains.dns.history.table.empty_search"),stringEmpty:e("domains.dns.history.table.empty"),qsArrayFormat:"comma"}),$=Bt.map(t=>({label:t,value:t})),P=ft(()=>{const t=S(U.value?.recordType);return!t||typeof t=="string"&&R(t)?[]:(Array.isArray(t)?t:[String(t)]).filter(c=>typeof c=="string"&&!R(c)).map(c=>$.find(_=>_.value===c)).filter(c=>c!=null)}),u=T(P.value);function q(){Dt.get(route("domains.details.dns.history.snapshot",{domain:n.domain,name:n.snapshot.name}),A(S(w.value)),{replace:!0,preserveState:!1,preserveScroll:!1,onBefore(){g.value=!0},onFinish(){g.value=!1}})}function I(t){u.value=u.value.filter(l=>l.value!==t.value)}async function M(){h.value=!0;try{const t=await fetch(route("domains.details.dns.history.snapshot.download",{domain:n.domain,name:n.snapshot.name}),{headers:{Accept:"application/json"}});if(t.status!==200){x({message:e("domains.dns.history.snapshot.messages.download.error")});return}
1const l=await t.json(),c=Rt(l.dns),_=new Blob([c],{type:"text/plain"}),y=URL.createObjectURL(_),d=document.createElement("a");d.href=y,d.download=`${n.snapshot.name}.txt`,document.body.appendChild(d),d.click(),document.body.removeChild(d),URL.revokeObjectURL(y),j({message:e("domains.dns.history.snapshot.messages.download.success")})}catch(t){console.error("Download failed:",t)}finally{h.value=!1}}async function Q(){const{open:t,close:l}=Ct({component:kt,attrs:{title:e("domains.dns.history.snapshot.modal.title"),description:e("domains.dns.history.snapshot.modal.description",[b(n.snapshot).formattedDate,b(n.snapshot).formattedTime]),confirmBtn:e("domains.dns.history.snapshot.actions.restore"),confirmation:!0,confirmationString:e("domains.dns.history.snapshot.actions.restore"),actionVariant:"primary",async onConfirm(){E.post(route("domains.details.dns.history.snapshot.restore",{domain:n.domain,name:n.snapshot.name})),await l()},onCancel(){l()}}});t()}return O(u,()=>{g.value||(H("recordType",S(u.value)?.map(t=>t.value)),N(1))},{deep:!0}),O(w,()=>q(),{deep:!0}),(t,l)=>{const c=gt,_=vt,y=rt,d=it,z=ct,K=lt,X=mt,Z=yt,J=_t,W=Ut,Y=Ft,tt=dt,ot=at,et=st;return p(),v(B,null,[s(o(St),{title:o(e)("domains.dns.history.snapshot.title")},null,8,["title"]),s(et,{navigation:"domains"},{header:i(()=>[s(z,{title:o(e)("domains.dns.history.snapshot.title"),subtitle:`${o(b)(a.snapshot).formattedDate} 2 ${o(b)(a.snapshot).formattedTime}`},{description:i(()=>[r("div",null,m(o(e)("domains.dns.history.snapshot.description")),1)]),breadcrumb:i(()=>[s(c,{"only-back":"",route:t.route("domains.details.dns.history",{domain:a.domain})},null,8,["route"]),r("div",Lt,[s(_)])]),buttons:i(()=>[r("div",Vt,[s(d,{variant:"primary",disabled:h.value,onClick:M},{default:i(()=>[s(y,{src:o($t)},null,8,["src"]),C(" "+m(h.value?o(e)("domains.dns.history.downloading"):o(e)("domains.dns.history.snapshot.actions.download")),1)]),_:1},8,["disabled"]),s(d,{variant:"secondary",onClick:Q},{default:i(()=>[s(y,{src:o(wt)},null,8,["src"]),C(" "+m(o(e)("domains.dns.history.snapshot.actions.restore")),1)]),_:1})])]),_:1},8,["title","subtitle"])]),default:i(()=>[r("main",null,[s(J,{"enable-search":"",search:o(w).search,"onUpdate:search":o(G)},{left:i(()=>[r("div",At,[s(X,{modelValue:u.value,"onUpdate:modelValue":l[0]||(l[0]=f=>u.value=f),options:o($),content:{align:"start"},condensed:"",multiple:""},{default:i(({modelValue:f,open:nt})=>[s(K,{label:o(e)("domains.dns.table.type"),value:f,open:nt},null,8,["label","value","open"])]),_:1},8,["modelValue","options"])])]),filter:i(()=>[s(Z,{filters:o($),"selected-filter":u.value,onReject:I},null,8,["filters","selected-filter"])]),_:1},8,["search","onUpdate:search"]),o(L)?(p(),D(ot,{key:1,title:o(V)},null,8,["title"])):(p(),v("div",Ht,[a.dns.data.length>0?(p(),D(tt,{key:0},{thead:i(()=>[s(W)]),default:i(()=>[(p(!0),v(B,null,ut(a.dns.data,f=>(p(),D(Y,{key:f.id,record:f},null,8,["record"]))),128))]),_:1})):ht("",!0)]))])]),_:1})],64)}}});export{Wo 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.