PageSourceSearch

https://dashboard.cdnvideo.ru/static/js/turboflare.d8180f68.js

js cdnvideo.ru collected 2026-09-24 09:03:15 UTC 86,193 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkcdnvideo=self.webpackChunkcdnvideo||[]).push([[187],{16584:function(t,e,s){s.r(e),s.d(e,{default:function(){return D}}),s(44114),s(64979),s(71678);var a=s(62893),i=s(69007),n=s(30852),r=s(19850),l=s(26588),o=s(98250),c=s(92249),d=s(46894),u=s(32688),m=s.n(u),p=s(50330),v=s.n(p),g=s(90008),f=s(7461),h={__name:"ConnectionRequirementsModal",props:{visible:{type:Boolean,required:!0}},emits:["cancel"],setup(t,{emit:e}){return{__sfc:!0,emit:e,handleCancel:function(){e("cancel")},Btn:d.A,PureModal:f.A}}},b=s(81656),x=(0,b.A)(h,(function(){var t=this,e=t._self._c,s=t._self._setupProxy;return e(s.PureModal,{attrs:{visible:t.visible},on:{close:s.handleCancel},scopedSlots:t._u([{key:"header",fn:function(){return[t._v(" Что нужно для подключения ")]},proxy:!0},{key:"content",fn:function(){return[e("div",{staticClass:"connection-requirements-modal-content margin-bottom"},[e("ul",{staticClass:"text-regular requirements-list",staticStyle:{"list-style-type":"disc"}},[e("li",{staticClass:"margin-bottom"},[t._v("Домен, которым вы владеете.")]),e("li",{staticClass:"margin-bottom"},[t._v("Доступ в панель регистратора, чтобы поменять NS-записи.")]),e("li",{staticClass:"margin-bottom"},[t._v("Около 5 минут вашего времени на настройку.")])]),e("p",{staticClass:"text-light text-on-block-1"},[t._v(" После смены NS нужно будет подождать: записи расходятся по интернету от 15 минут до суток. Только после этого мы сможем выпустить SSL-сертификат и начать проксировать трафик. ")])])]},proxy:!0},{key:"footer",fn:function(){return[e(s.Btn,{staticStyle:{"margin-left":"auto"},on:{click:s.handleCancel}},[t._v(" Понятно ")])]},proxy:!0}])})}),[],!1,null,null,null).exports,_={__name:"FsdEmptyTable",props:{disabled:{type:Boolean,default:!1}},emits:["goToFsdCreationPage"],setup(t,{emit:e}){const s=(0,a.ref)(!1);return{__sfc:!0,emit:e,isConnectionRequirementsModalVisible:s,closeConnectionRequirementsModal:()=>s.value=!1,showConnectionRequirements:()=>s.value=!0,onConnectSite:function(){e("goToFsdCreationPage")},Btn:d.A,InfoIcon:m(),PlusIcon:v(),TurboFlareIcon:g.A,ConnectionRequirementsModal:x}}},C=(0,b.A)(_,(function(){var t=this,e=t._self._c,s=t._self._setupProxy;return e("div",{staticClass:"flex column justify-between align-center padding-top-5x padding-top-5x padding-bottom-5x fsd-empty-table"},[e("div",{staticClass:"fsd-empty-table-wrapper"},[e("div",{staticClass:"relative flex justify-center align-center fsd-empty-img"},[e("div",{staticClass:"flex justify-center align-center box-shadow fsd-empty-img-logo-wrapper"},[e(s.TurboFlareIcon)],1),e("div",{staticClass:"flex justify-center align-center background-white fsd-empty-img-plus-icon-wrapper"},[e(s.PlusIcon,{staticClass:"icon-xsmall fsd-empty-img-plus-icon"})],1)]),e("p",{staticClass:"text-header-2 text-center margin-bottom"},[t._v("Подключите первый сайт")]),e("p",{staticClass:"text-light text-center text-on-block-1 margin-bottom-3x"},[t._v(" Введите домен, поменяйте NS-записи у регистратора — и весь трафик пойдёт через TurboFlare с кешированием, WAF и бесплатным SSL. ")]),e("div",{staticClass:"flex gap wrap justify-center"},[e(s.Btn,{attrs:{disabled:t.disabled},on:{click:s.onConnectSite}},[t._v("Подключить сайт")]),e(s.Btn,{attrs:{type:"secondary",noOverrideSvgFill:!0},on:{click:function(t){return t.stopPropagation(),s.showConnectionRequirements.apply(null,arguments)}}},[e("div",{staticClass:"flex gap overflow-hidden"},[e(s.InfoIcon,{staticClass:"icon-small"}),e("span",[t._v("Что нужно для подключения")])],1)])],1),t._m(0)]),e(s.ConnectionRequirementsModal,{attrs:{visible:s.isConnectionRequirementsModalVisible},on:{cancel:s.closeConnectionRequirementsModal}})],1)}),[function(){var t=this,e=t._self._c;return t._self._setupProxy,e("div",{staticClass:"flex wrap gap-2x justify-center margin-top-3x padding-top-2x fsd-empty-table-instruction"},[e("div",{staticClass:"fsd-empty-table-step"},[e("div",{staticClass:"flex justify-center align-center margin-bottom fsd-empty-table-step-number"},[e("span",{staticClass:"text-regular"},[t._v("1")])]),e("p",{staticClass:"text-semibold"},[t._v("Введите домен")]),e("p",{staticClass:"text-caption"},[t._v("Например, example.com — без https и слэшей.")])]),e("div",{staticClass:"fsd-empty-table-step"},[e("div",{staticClass:"flex justify-center align-center margin-bottom fsd-empty-table-step-number"},[e("span",{staticClass:"text-regular"},[t._v("2")])]),e("p",{staticClass:"text-semibold"},[t._v("Обновите NS у регистратора")]),e("p",{staticClass:"text-caption"},[t._v("Мы покажем серверы имён, которые нужно прописать.")])]),e("div",{staticClass:"fsd-empty-table-step"},[e("div",{staticClass:"flex justify-center align-center margin-bottom fsd-empty-table-step-number"},[e("span",{staticClass:"text-regular"},[t._v("3")])]),e("p",{staticClass:"text-semibold"},[t._v("Готово — мы дальше сами")]),e("p",{staticClass:"text-caption"},[t._v("SSL, кеш и проксирование настроятся автоматически.")])])])}],!1,null,null,null),S=C.exports,$=s(87537),y=s(99419),k=s.n(y),w={__name:"DeletedConnectionBanner",setup(t){const e=(0,a.ref)(""),s=(0,a.ref)(!1);function i(){const t=localStorage.getItem("deleted_connection_domain");t&&(e.value=t)}return(0,a.watch)(e,(t=>{t&&(s.value=Boolean(t))}),{immediate:!0}),(0,a.onMounted)(i),{__sfc:!0,deletedConnectionDomain:e,showBanner:s,loadFromStorage:i,closeBanner:function(){localStorage.removeItem("deleted_connection_domain"),s.value=!1},CloseIcon:k()}}},T=(0,b.A)(w,(function(){var t=this,e=t._self._c,s=t._self._setupProxy;return s.showBanner?e("div",{staticClass:"content background-beige relative cancel-connection-banner"},[e("div",{staticClass:"banner-close-btn",on:{click:s.closeBanner}},[e(s.CloseIcon,{staticClass:"fill-gradient"})],1),e("p",{staticClass:"text-regular"},[t._v(" "+t._s(t.$t("Заявка для {domain} удалена. NS-серверы вашего домена пока указ
1ывают на TurboFlare — сайт будет недоступен, пока вы не вернете прежние NS у регистратора домена",{domain:s.deletedConnectionDomain}))+" ")])]):t._e()}),[],!1,null,null,null).exports,A={__name:"FsdTable",setup(t){const e=(0,a.inject)("$user"),s=(0,a.ref)([]),u=(0,a.ref)(!1),m=(0,a.computed)((()=>e.isBlocked()));function p(){u.value=!0,n.A.getFSDlist({accountName:e.accountName}).then((({data:{data:t}})=>{s.value=t})).catch((()=>{r.A.error({message:"Не удалось получить созданные FSD"})})).finally((()=>{u.value=!1}))}return(0,a.onMounted)((()=>{p(),(0,l.P)().clearInitializationParams()})),{__sfc:!0,user:e,fsdList:s,isLoadingFsd:u,breadcrumbsItems:[{text:"TurboFlare",route:{name:"turboflare"}},{text:"Сайты"}],isUserBlocked:m,goToFsdCreationPage:function(t){t?i.A.push({name:"turboflare-editing-fsd",params:{pathMatch:"",id:t.id,fsd:structuredClone(t)}}):i.A.push({name:"turboflare-create-fsd",params:{pathMatch:""}})},getFsdList:p,getSiteStatus:function(t){return t.is_proxied?"Переведен":"Настраивается"},Scrolled:o.A,Breadcrumbs:c.A,Btn:d.A,FsdEmptyTable:S,StatusIndicator:$.A,DeletedConnectionBanner:T}}},D=(0,b.A)(A,(function(){var t=this,e=t._self._c,s=t._self._setupProxy;return e(s.Scrolled,[e(s.DeletedConnectionBanner),e("div",{staticClass:"content flex justify-between align-center"},[e("div",[e(s.Breadcrumbs,{staticClass:"margin-bottom-2x",attrs:{"breadcrumbs-items":s.breadcrumbsItems}}),e("h1",{staticClass:"text-header-2"},[t._v(t._s(t.$t("Подключенные сайты")))]),s.isLoadingFsd||s.fsdList.length?t._e():e("p",{staticClass:"text-caption"},[t._v("Ускорьте свой первый сайт за 5 минут.")])],1),s.fsdList.length?e(s.Btn,{attrs:{disabled:s.isUserBlocked},on:{click:()=>s.goToFsdCreationPage()}},[t._v(t._s(t.$t("Подключить новый сайт")))]):t._e()],1),e("div",{class:{content:!0,"no-side-padding":!s.isLoadingFsd&&s.fsdList.length}},[s.isLoadingFsd?e("ElSkeleton",{attrs:{animated:"",rows:5}}):s.fsdList.length?e("table",{staticClass:"table-wrapper fsd-table"},[e("thead",[e("tr",[e("th",{staticClass:"table-header-cell indicator-column"}),e("th",{staticClass:"table-header-cell"},[t._v(t._s(t.$t("Домен")))]),e("th",{staticClass:"table-header-cell"},[t._v(t._s(t.$t("Идентификатор")))]),e("th",{staticClass:"table-header-cell"},[t._v(t._s(t.$t("Статус")))]),e("th",{staticClass:"table-header-cell indicator-column"})])]),e("tbody",t._l(s.fsdList,(function(a){return e("tr",{key:a.id,staticClass:"cursor-pointer table-row",on:{click:()=>s.goToFsdCreationPage(a)}},[e("td",{staticClass:"table-cell indicator-column"},[e(s.StatusIndicator,{class:{left:!0,active:a.is_proxied,processing:!a.is_proxied}})],1),e("td",{staticClass:"table-cell"},[t._v(t._s(a.domain))]),e("td",{staticClass:"table-cell"},[t._v(t._s(a.id))]),e("td",{class:{"table-cell":!0,success:"Переведен"===s.getSiteStatus(a),configuring:"Настраивается"===s.getSiteStatus(a)}},[t._v(t._s(s.getSiteStatus(a)))]),e("td",{staticClass:"table-cell indicator-column"},[e(s.StatusIndicator,{class:{right:!0,active:a.is_proxied,processing:!a.is_proxied}})],1)])})),0)]):e(s.FsdEmptyTable,{attrs:{disabled:s.isUserBlocked},on:{goToFsdCreationPage:s.goToFsdCreationPage}})],1)],1)}),[],!1,null,null,null).exports},49828:function(t,e,s){s.r(e),s.d(e,{default:function(){return M}}),s(44114),s(64979),s(71678);var a=s(62893),i=s(34445),n=s(26588),r=s(69007),l=s(30852),o=s(98250),c=s(92249),d=s(46894),u=s(44679),m=s.n(u),p=s(17576),v=s.n(p),g={__name:"Stepper",props:{value:{type:Number,required:!1,default:null},steps:{type:Array,required:!0},clickable:{type:Boolean,default:!0},canSkipSteps:{type:Boolean,required:!1,default:!1},canSkipToStart:{type:Boolean,required:!1,default:!0}},emits:["switch-step"],setup(t,{emit:e}){const s=t,i=(0,a.ref)(0);return(0,a.watch)((()=>s.value),(t=>{null!==t&&(i.value=t)})),{__sfc:!0,props:s,emit:e,activeStep:i,switchToStep:function(t){s.clickable&&i.value!==t&&(s.canSkipSteps||1===Math.abs(i.value-t)||s.canSkipToStart&&0===t)&&(i.value=t,e("switch-step",t))},CheckCircleIcon:m(),CheckSignCircle:v()}}},f=s(81656),h=(0,f.A)(g,(function(){var t=this,e=t._self._c,s=t._self._setupProxy;return e("div",{staticClass:"stepper-wrapper"},[e("ElSteps",{attrs:{active:s.activeStep,"align-center":""}},t._l(s.props.steps,(function(a,i){return e("ElStep",{key:a,staticClass:"step",attrs:{title:t.$t(a),"data-clickable":s.props.clickable}},[e("template",{slot:"icon"},[e("div",{on:{click:function(t){return s.switchToStep(i)}}},[s.activeStep===i?e(s.CheckSignCircle,{staticClass:"step-icon"}):e(s.CheckCircleIcon,{staticClass:"step-icon"})],1)])],2)})),1)],1)}),[],!1,null,null,null).exports,b=s(19850),x=s(10216),_=s(32688),C=s.n(_),S=s(76458),$={__name:"DomainOrigin",emits:["submit","cancelConnection"],setup(t,{emit:e}){function s(t){return/^((?!-)[\p{L}\p{N}-]{1,63}(?<!-)\.)+[\p{L}\p{N}-]{2,63}(:\d{1,5})?$/u.test(t)}function r(t){return!!(0,S.HE)(t.split(":")[0])||s(t)}const o=(0,a.inject)("$user"),c=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(?::(?:[0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$/,{initializationParams:u}=(0,i.bP)((0,n.P)()),m=(0,a.ref)(!1),p=(0,a.computed)((()=>!r(u.value.domain.trim())||!c.test(u.value.origin.trim())||u.value.domain.split(".").length-1>1)),v=(0,a.computed)((()=>o.isBlocked()));function g(t){return l.A.getFSD({accountName:o.accountName,id:t}).then((({data:e})=>{const s=e.data.dns_zone_id,a=e.data.cdn_resource_id;u.value.dnsZoneId=s,u.value.cdnResourceId=a,u.value.id=t}))}return{__sfc:!0,netlocNationalAllowed:s,isValidDomain:r,user:o,emit:e,IP_V4_WITH_OPTIONAL_PORT_REGEX:c,initializationParams:u,isInstructionsModalVisible:m,isBtnDisabled:p,isUserBlocked:v,getCreatedFsd:g,createFsd:function(){let t=u.value.origin.trim();
1const s=t.includes(":")?+t.substring(t.lastIndexOf(":")+1,t.length):80;return t.includes(":")&&(t=t.substring(0,t.lastIndexOf(":"))),l.A.createFSD({accountName:o.accountName},{origin:{https:443===s,servers:{[t]:{port:s}}},domain:u.value.domain}).then((({data:{data:{id:t}}})=>g(t).then((()=>{e("submit")})))).catch((t=>{[409,400,403,422].includes(t.response.status)?b.A.error({message:t.response.data.description}):b.A.error({message:"Не удалось создать FSD"})}))},Textbox:x.A,Btn:d.A,InfoIcon:C()}}},y=(0,f.A)($,(function(){var t=this,e=t._self._c,a=t._self._setupProxy;return e("div",[e("h1",{staticClass:"text-header-2 margin-bottom-2x"},[t._v(t._s(t.$t("Подключите домен")))]),e("p",{staticClass:"text-extralight margin-bottom-2x"},[t._v(t._s(t.$t("Укажите адрес сайта и его origin, чтобы направлять трафик через TurboFlare")))]),e("label",{staticClass:"required",staticStyle:{"margin-bottom":"4px"},attrs:{for:"domain-textbox"}},[t._v(t._s(t.$t("Домен сайта")))]),e(a.Textbox,{staticClass:"margin-bottom-2x",attrs:{id:"domain-textbox",placeholder:"example.com",disabled:a.isUserBlocked},model:{value:a.initializationParams.domain,callback:function(e){t.$set(a.initializationParams,"domain",e)},expression:"initializationParams.domain"}}),e("label",{staticClass:"required",staticStyle:{"margin-bottom":"4px"},attrs:{for:"domain-textbox"}},[t._v(t._s(t.$t("Адрес origin")))]),e(a.Textbox,{staticClass:"margin-bottom",attrs:{id:"domain-textbox",placeholder:"255.255.255.255",disabled:a.isUserBlocked},model:{value:a.initializationParams.origin,callback:function(e){t.$set(a.initializationParams,"origin",e)},expression:"initializationParams.origin"}}),e("p",{staticClass:"hint margin-bottom"},[t._v(t._s(t.$t("Укажите IP-адрес, по которому доступен ваш контент.")))]),e("p",{staticClass:"text-regular text-underline margin-bottom"},[t._v(t._s(t.$t("Пример"))+": 255.255.255.255:443")]),e(a.Btn,{staticClass:"hint margin-bottom-2x",attrs:{type:"link"},on:{click:function(t){a.isInstructionsModalVisible=!0}}},[e(a.InfoIcon,{staticStyle:{fill:"url(#gradient)",padding:"0",margin:"0 4px 0 0"}}),t._v(" "+t._s(t.$t("Как найти адрес origin на CloudFlare"))+" ")],1),e("div",{staticClass:"flex gap align-center justify-between gap-2x"},[e(a.Btn,{attrs:{disabled:a.isBtnDisabled||a.isUserBlocked},on:{click:a.createFsd}},[t._v(t._s(t.$t("Далее")))]),e(a.Btn,{attrs:{type:"secondary"},on:{click:()=>a.emit("cancelConnection")}},[t._v(t._s(t.$t("Отменить подключение")))])],1),e("ElDialog",{staticClass:"custom",attrs:{visible:a.isInstructionsModalVisible},on:{"update:visible":function(t){a.isInstructionsModalVisible=t}}},[e("template",{slot:"title"},[e("span",{staticClass:"el-dialog__title"},[t._v(" "+t._s(t.$t("Инструкция")))])]),e("ul",{staticClass:"text-regular",staticStyle:{"list-style-type":"disc"}},[e("li",[t._v(t._s(t.$t("Войдите в личный кабинет Cloudflare")))]),e("li",[t._v(t._s(t.$t("Выберите нужный домен")))]),e("li",[t._v(t._s(t.$t("Перейдите в раздел DNS Records")))]),e("img",{staticClass:"instruction-screenshot",attrs:{src:s(20916),alt:"instruction-screen-1"}}),e("li",[t._v(t._s(t.$t("В таблице DNS записей найдите запись с типом “A” и вашим доменом в поле “Name” - в колонке “Content” будет отображаться IP адрес вашего ориджина, его и нужно указать в поле “Адрес origin”")))]),e("img",{staticClass:"instruction-screenshot",attrs:{src:s(95407),alt:"instruction-screen-2"}})])],2)],1)}),[],!1,null,null,null).exports;s(98992),s(3949),s(72577);var k=s(33620),w=s.n(k),T=s(4510),A=s.n(T),D=s(60762),F=s.n(D),I={__name:"Instructions",emits:["submit","cancelConnection"],setup(t,{emit:e}){const s=(0,a.inject)("$user");let r=null;const{initializationParams:o,ns:c}=(0,i.bP)((0,n.P)()),u=(0,a.ref)(!1),m=(0,a.ref)(!1),p=(0,a.ref)(!1),v=(0,a.ref)(!1),g=(0,a.computed)((()=>!(u.value&&m.value&&p.value&&v.value))),f=(0,a.computed)((()=>s.isBlocked()));function h(){(function(t,e,s){const a=[l.A.getDnsZone({accountName:t,dnsZoneId:e}).then((({data:{data:t}})=>((0,n.P)().setNs(t.ns),{ok:!0,status:t.delegation.status}))).catch((()=>({ok:!1,message:"Не удалось получить статус конфигурации"}))),l.A.getResourceStatus({accountName:t,id:s,type:"http"}).then((({data:{status:t}})=>({ok:!0,status:t}))).catch((()=>({ok:!1,message:"Не удалось получить статус конфигурации"})))];return Promise.all(a).then((([t,e])=>{const s=[];return s.push(t.message),s.push(e.message),{ok:t.ok&&e.ok,dnzZoneStatus:t.status||void 0,resourceConfigurationStatus:e.status||void 0,messages:s}}))})(s.accountName,o.value.dnsZoneId,o.value.cdnResourceId).then((({ok:t,messages:e,dnzZoneStatus:s,resourceConfigurationStatus:a})=>{if(!t)return e.forEach((t=>{b.A.error({message:t})}));"Delegated"===s&&(u.value=!0),"Completed"===a&&(m.value=!0)}))}function x(){var t,e;(t=s.accountName,e=o.value.domain,l.A.getCerts({accountName:t}).then((({data:{data:t}})=>{const s=t.find((t=>t.alt.includes(e)&&t.cn===e));return{ok:!0,cert:structuredClone(s)}})).catch((()=>({ok:!1,message:"Не удалось получить сертификат"})))).then((({ok:t,cert:e,message:a})=>t?e?(p.value=!0,void async function(t,e,s){return l.A.getResource({accountName:t,type:"http",i
1d:e}).then((({data:a})=>a.certificate===s.seq?{ok:!0}:l.A.patchResource({accountName:t,type:"http",id:e},{certificate:s.seq}).then((()=>({ok:!0}))).catch((()=>({ok:!1,message:"Не удалось привязан домен к ресурсу"})))))}(s.accountName,o.value.cdnResourceId,e).then((({ok:t,message:e})=>{t?v.value=!0:b.A.error({message:e})}))):function(t,e){return l.A.createCertLetsEncryptDns({name:t},{domains:[e,`*.${e}`]}).then((({data:{data:{message:t,status:e}}})=>{if("Task already exists"===t)return{ok:!0};if(0!==e||"Success"!==t)throw new Error;return{ok:!0}})).catch((()=>({ok:!1,message:"Не удалось создать сертификат"})))}(s.accountName,o.value.domain):b.A.error({message:a})))}return(0,a.onMounted)((()=>{h(),x(),r=setInterval((()=>{h(),x()}),6e4)})),(0,a.onBeforeUnmount)((()=>{clearInterval(r)})),{__sfc:!0,user:s,emit:e,setStatusesTimer:r,initializationParams:o,nsList:c,isDelegated:u,isCdnResourceConfigured:m,isCertificateExits:p,isCertificateConnectedToResource:v,isSubmitBtnDisabled:g,isUserBlocked:f,setStatusesSettings:h,linkCertToResource:x,copyNsAddress:function(t){n
1avigator.clipboard.writeText(t)},RenewIcon:w(),CopyIcon:A(),CheckIcon:F(),Btn:d.A}}},N=(0,f.A)(I,(function(){var t=this,e=t._self._c,s=t._self._setupProxy;return e("div",{staticClass:"turboflare-instructions-partition"},[e("p",{staticClass:"text-sub-header-1 margin-bottom-2x"},[t._v(t._s(t.$t("Настройте NS-серверы у регистратора домена")))]),e("div",{staticClass:"flex align-center margin-bottom-2x"},[e("ol",{staticClass:"sertificate-settings flex column gap"},[e("li",{staticClass:"sertificate-settings-item text-extralight"},[t._v(t._s(t.$t("Найдите раздел управления NS-записями у вашего регистратора домена")))]),e("li",{staticClass:"sertificate-settings-item text-extralight",staticStyle:{width:"max-content"}},[t._v(" "+t._s(t.$t("Проверьте настройки")+":")+" "),t._l(s.nsList,(function(a){return e("div",{key:a,staticClass:"flex gap align-center justify-between"},[e("p",[t._v(t._s(a))]),e(s.CopyIcon,{staticClass:"renew-icon cursor-pointer",on:{click:function(t){return s.copyNsAddress(a)}}})],1)}))],2),e("li",{staticClass:"sertificate-settings-item text-extralight"},[t._v(t._s(t.$t("Сохраните изменения и подождите время распространения записей (обычно от 15 минут до 24 часов)")))])])]),e("div",{staticClass:"flex gap align-center margin-bottom"},[s.isDelegated?e(s.CheckIcon,{staticClass:"renew-icon"}):e(s.RenewIcon,{staticClass:"renew-icon spin"}),e("p",{staticClass:"text-regular"},[t._v(t._s(t.$t("Домен делегирован")))])],1),e("div",{staticClass:"flex gap align-center margin-bottom"},[s.isCertificateExits?e(s.CheckIcon,{staticClass:"renew-icon"}):e(s.RenewIcon,{staticClass:"renew-icon spin"}),e("p",{staticClass:"text-regular"},[t._v(t._s(t.$t("Сертификат выпущен")))])],1),e("div",{staticClass:"flex gap align-center margin-bottom"},[s.isCertificateConnectedToResource?e(s.CheckIcon,{staticClass:"renew-icon"}):e(s.RenewIcon,{staticClass:"renew-icon spin"}),e("p",{staticClass:"text-regular"},[t._v(t._s(t.$t("Сертификат привязан к ресурсу")))])],1),e("div",{staticClass:"flex gap align-center"},[s.isCdnResourceConfigured?e(s.CheckIcon,{staticClass:"renew-icon"}):e(s.RenewIcon,{staticClass:"renew-icon spin"}),e("p",{staticClass:"text-regular"},[t._v(t._s(t.$t("Конфигурация применена")))])],1),e("div",{staticClass:"flex gap align-center justify-between gap-2x margin-top-2x"},[e(s.Btn,{attrs:{disabled:s.isSubmitBtnDisabled||s.isUserBlocked},on:{click:()=>s.emit("submit")}},[t._v(t._s(t.$t("Далее")))]),e(s.Btn,{attrs:{type:"secondary"},on:{click:()=>s.emit("cancelConnection")}},[t._v(t._s(t.$t("Отменить подключение")))])],1)])}),[],!1,null,null,null).exports,R={__name:"SwitchTraffic",emits:["cancelConnection"],setup(t,{emit:e}){const s=(0,a.inject)("$user"),{initializationParams:o}=(0,i.bP)((0,n.P)()),c=(0,a.computed)((()=>s.isBlocked()));return{__sfc:!0,emit:e,user:s,initializationParams:o,isUserBlocked:c,switchTraffic:function(){return l.A.switchTraffic({accountName:s.accountName,fsdId:o.value.id},{is_proxied:!0}).then((()=>{b.A.success({message:"Трафик успешно переведен"}),r.A.push({name:"turboflare-edit-fsd",params:{pathMatch:""}})})).catch((()=>{b.A.error({message:"Не удалось перевести трафик"})}))},Btn:d.A}}},P=(0,f.A)(R,(function(){var t=this,e=t._self._c,s=t._self._setupProxy;return e("div",[e("p",{staticClass:"text-extralight margin-bottom-2x"},[t._v(t._s(t.$t("Все готово. Переведите трафик сайта через TurboFlare, чтобы ускорить загрузку и повысить надежность")))]),e("div",{staticClass:"flex gap align-center justify-between gap-2x"},[e(s.Btn,{attrs:{disabled:s.isUserBlocked},on:{click:s.switchTraffic}},[t._v(t._s(t.$t("Перевести трафик")))]),e(s.Btn,{attrs:{type:"secondary"},on:{click:()=>s.emit("cancelConnection")}},[t._v(t._s(t.$t("Отменить подключение")))])],1
1)])}),[],!1,null,null,null).exports,E=s(15915),B=s(33053),z=s.n(B),L={__name:"index",setup(t){const{initializationParams:e}=(0,i.bP)((0,n.P)()),s=(0,a.inject)("$user"),u=[{step:0,component:y},{step:1,component:N},{step:2,component:P}],m=(0,a.ref)(0),p=(0,a.computed)((()=>u[m.value]??null)),v=(0,a.computed)((()=>2===m.value));async function g(){let t=r.A.currentRoute.params.fsd;if(t||r.A.currentRoute.params.id){if(!t&&r.A.currentRoute.params.id&&await l.A.getFSD({accountName:s.accountName,id:r.A.currentRoute.params.id}).then((({data:{data:e}})=>{t=structuredClone(e)})),e.value.id=t.id,e.value.domain=t.domain,e.value.dnsZoneId=t.dns_zone_id,e.value.cdnResourceId=t.cdn_resource_id,t.is_proxied)return r.A.push({name:"turboflare-edit-fsd",params:{id:t.id,fsd:structuredClone(t)}});t.id&&(m.value=1)}}function f(){r.A.push({name:"turboflare-fsd-table",params:{pathMatch:""}})}const b=(0,a.ref)(!1);return(0,a.onMounted)((()=>{g()})),(0,a.onBeforeUnmount)((()=>{(0,n.P)().clearInitializationParams()})),{__sfc:!0,initializationParams:e,user:s,steps:["Домен","DNS и сертификат","Перевод трафика"],breadcrumbsItems:[{text:"TurboFlare",route:{name:"turboflare"}},{text:"FSD",route:{name:"turboflare-fsd-table"}},{text:"Подключение"}],stepComponents:u,activeStep:m,currentStepComponent:p,isZoneDelegated:v,handleStepCh
1ange:function(t){m.value=t},setCurrentConfigurationStep:g,gotToFsdTablePage:f,isCancelConnectionModalVisible:b,closeCancelConnectionModal:()=>b.value=!1,handleCancelConnection:function(){0===m.value?f():setTimeout((()=>{b.value=!0}),0)},Scrolled:o.A,Breadcrumbs:c.A,Btn:d.A,Stepper:h,CancelConnectionModal:E.A,ArrowCircleIcon:z()}}},M=(0,f.A)(L,(function(){var t=this,e=t._self._c,s=t._self._setupProxy;return e(s.Scrolled,[e("div",{staticClass:"content flex justify-between align-center"},[e("div",[e(s.Breadcrumbs,{staticClass:"margin-bottom-2x",attrs:{"breadcrumbs-items":s.breadcrumbsItems}}),e("h1",{staticClass:"text-header-2"},[t._v(t._s(t.$t("Подключение сайта")))])],1),e(s.Btn,{staticClass:"content-block-corner-button",attrs:{type:"icon",size:"medium"},on:{click:s.gotToFsdTablePage}},[e(s.ArrowCircleIcon)],1)],1),e("div",{staticClass:"content-block first"},[e(s.Stepper,{attrs:{steps:s.steps,clickable:!1},on:{"switch-step":s.handleStepChange},model:{value:s.activeStep,callback:function(t){s.activeStep=t},expression:"activeStep"}})],1),e("div",{staticClass:"content-block last overflow-hidden"},[e("Transition",{attrs:{appear:"","enter-active-class":"animated fadeInRight","leave-active-class":"animated fadeOutLeft",mode:"out-in"}},[e(s.currentStepComponent.component,{tag:"component",on:{submit:function(t){return s.handleStepCh
1ange(s.currentStepComponent.step+1)},cancelConnection:s.handleCancelConnection}})],1)],1),e(s.CancelConnectionModal,{attrs:{visible:s.isCancelConnectionModalVisible,isZoneDelegated:s.isZoneDelegated},on:{goToFsdTablePage:s.gotToFsdTablePage,cancel:s.closeCancelConnectionModal}})],1)}),[],!1,null,null,null).exports},15915:function(t,e,s){s.d(e,{A:function(){return f}});var a=s(62893),i=s(34445),n=s(26588),r=s(46894),l=s(7461),o=s(10216),c=s(21563),d=s(72505),u=s.n(d),m=s(19850),p=s(30852),v=s(97029);var g={__name:"CancelConnectionModal",props:{visible:{type:Boolean,required:!0},isZoneDelegated:{type:Boolean,required:!0},isDomainCreated:{type:Boolean,default:!1}},emits:["cancel","goToFsdTablePage"],setup(t,{emit:e}){const s=t,d=(0,n.P)(),{initializationParams:g}=(0,i.bP)(d),{deleteConnection:f,isError:h,isLoading:b}=function(){const t=(0,a.ref)(null),e=(0,a.ref)(!1),s=(0,a.ref)(!1);return{deleteConnection:async function({fsdId:a,domain:i},{isZoneDelegated:n,isDomainCreated:r}){if(a){t.value&&t.value.cancel(),t.value=u().CancelToken.source(),e.value=!0,s.value=!1;try{await function(t,e){return p.A.deleteFSD({accountName:v.A.accountName,fsdId:t},{},{cancelToken:e})}(a,t.value.token),n?localStorage.setItem("deleted_connection_domain",i):m.A.success({message:{text:"Заявка для {domain} удалена",options:{domain:i}},duration:5e3})}catch(t){s.value=!0,m.A.error({message:r?"Ошибка при удалении сайта":"Ошибка при удалении заявки"})}finally{e.value=!1}}},isLoading:e,isError:s}}(),x=(0,a.ref)(""),_=(0,a.computed)((()=>g.value.domain)),C=(0,a.computed)((()=>g.value.id)),S=(0,a.computed)((()=>!!s.isZoneDelegated&&_.value!==x.value.trim()));function $(){e("cancel"),x.value=""}return{__sfc:!0,turbloflareStore:d,initializationParams:g,deleteConnection:f,isError:h,isLoading:b,props:s,emit:e,confirmationDomain:x,domain:_,fsdId:C,isDeleteApplicationBtnDisabled:S,handleCancel:$,handleDeleteApplication:async function(){await f({fsdId:C.value,domain:_.value},{isZoneDelegated:s.isZoneDelegated,isDomainCreated:s.isDomainCreated}),h.value||($(),e("goToFsdTablePage"))},Btn:r.A,PureModal:l.A,Textbox:o.A,WarningText:c.A}}},f=(0,s(81656).A)(g,(function(){var t=this,e=t._self._c,s=t._self._setupProxy;return e(s.PureModal,{attrs:{visible:t.visible},on:{close:s.handleCancel},scopedSlots:t._u([{key:"header",fn:function(){return[t._v(" "+t._s(t.isDomainCreated?`Вы уверены, что хотите удалить домен ${s.domain} из TurboFlare?`:`Удалить заявку для ${s.domain}?`)+" ")]},proxy:!0},{key:"content",fn:function(){return[e("div",{staticClass:"margin-bottom-2x"},[t.isZoneDelegated?[e(s.WarningText,[t._v(" "+t._s(t.isDomainCreated?"Это действие нельзя отменить. После удаления TurboFlare перестанет обслуживать сайт.":"NS-серверы вашего домена сейчас указывают на TurboFlare. После удаления заявки сайт перестанет открываться, пока вы не вернете прежние NS у регистратора домена.")+" ")]),e("p",{staticClass:"text-extralight margin-top-2x"},[t._v(" Для подтверждения введите имя домена: "+t._s(s.domain)+" ")]),e(s.Textbox,{staticClass:"margin-top-2x",model:{value:s.confirmationDomain,callback:function(t){s.confirmationDomain=t},expression:"confirmationDomain"}})]:e("p",{staticClass:"text-extralight"},[t._v(" Вы сможете создать новую заявку для этого же домена сразу после удаления. ")])],2)]},proxy:!0},{key:"footer",fn:function(){return[e(s.Btn,{attrs:{disabled:s.isDeleteApplicationBtnDisabled||s.isLoading},on:{click:s.handleDeleteApplication}},[t._v("Удалить")]),e(s.Btn,{attrs:{type:"secondary"},on:{click:s.handleCancel}},[t._v("Отмена")])]},proxy:!0}])})}),[],!1,null,null,null).exports},14802:function(t,e,s){s.r(e),s.d(e,{default:function(){return h}}),s(44114);var a=s(62893),i=s(34445),n=s(26588),r=s(69007),l=s(30852),o=s(19850),c=s(98250),d=s(92249),u=s(46894),m=s(64996),p=s(10216),v=s(33053),g=s.n(v),f={__name:"index",setup(t){const e=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(?::(?:[0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?$/,s=(0,a.inject)("$user"),{initializationParams:v}=(0,i.bP)((0,n.P)()),f=(0,a.ref)(""),h=(0,a.ref)(!1),b=(0,a.ref)(""),x=(0,a.reactive)({}),_=(0,a.reactive)({}),C=(0,a.reactive)({useStale:!1,considerArgs:!1,considerCookies:!1}),S=(0,a.computed)((()=>!e.test(f.value.trim()))),$=(0,a.computed)((()=>s.isBlocked()));return(0,a.onMounted)((()=>{l.A.getFSD({accountName:s.accountName,id:r.A.currentRoute.params.id}).then((({data:{data:t}})=>
1{v.value.id=t.id,v.value.domain=t.domain,v.value.isProxied=t.is_proxied,v.value.dnsZoneId=t.dns_zone_id,v.value.cdnResourceId=t.cdn_resource_id})),l.A.getResource({accountName:s.accountName,type:"http",id:v.value.cdnResourceId}).then((({data:t})=>{h.value=t.origin.https||!1,v.value.origin=Object.keys(t.origin.servers)[0],f.value=v.value.origin+":"+t.origin.servers[v.value.origin].port,b.value=Object.keys(t.locations)[1];for(let[e,s]of Object.entries(t))(0,a.set)(x,e,s);if(Object.keys(t.locations["#99990"]).length)for(let[e,s]of Object.entries(t.locations["#99990"]))(0,a.set)(_,e,s);if(_.cache){if(_.cache.disable)return;C.useStale=_.cache.use_stale,C.considerArgs=_.cache.consider_args,C.considerCookies=_.cache.consider_cookies,C.selectedStaleConditions=C.useStale&&_.cache.stale_conditions?.length?_.cache.stale_conditions:[]}}))})),{__sfc:!0,IP_V4_WITH_OPTIONAL_PORT_REGEX:e,user:s,initializationParams:v,breadcrumbsItems:[{text:"TurboFlare",route:{name:"turboflare"}},{text:"FSD",route:{name:"turboflare-fsd-table"}},{text:"Редактирование ресурса"}],originIpWithPort:f,isHttps:h,locationName:b,cdnResourceData:x,cdnLocationData:_,cdnResourceSettings:C,isBtnDisabled:S,isUserBlocked:$,goToFsdEditPage:function(){r.A.push({name:"turboflare-edit-fsd",params:{id:r.A.currentRoute.params.id}})},saveChanges:function(){let t=f.value.trim();const e=t.includes(":")?+t.substring(t.lastIndexOf(":")+1,t.length):80;t.includes(":")&&(t=t.substring(0,t.lastIndexOf(":")));const a={...x,locations:{"#99990":{cache:{consider_args:C.considerArgs,consider_cookies:C.considerCookies,use_stale:C.useStale}}},origin:{...x.origin,https:h.value,servers:{[t]:{...x.origin.servers[x],port:e}}}};l.A.updateResource({accountName:s.accountName,type:"http",id:v.value.cdnResourceId},a).then((t=>{o.A.success({message:"FSD обновлен"})})).catch((()=>{o.A.error({message:"Не удалось обновить FSD"})}))},Scrolled:c.A,Breadcrumbs:d.A,Btn:u.A,Toggle:m.A,Textbox:p.A,ArrowCircleIcon:g()}}},h=(0,s(81656).A)(f,(function(){var t=this,e=t._self._c,s=t._self._setupProxy;return e("div",{staticClass:"flex column grow full-height"},[e(s.Scrolled,[e("div",{staticClass:"content flex justify-between align-center"},[e("div",[e(s.Breadcrumbs,{staticClass:"margin-bottom-2x",attrs:{"breadcrumbs-items":s.breadcrumbsItems}}),e("h1",{staticClass:"text-header-2"},[t._v(t._s(t.$t("Редактирование")))])],1),e(s.Btn,{staticClass:"content-block-corner-button",attrs:{type:"icon",size:"medium"},on:{click:s.goToFsdEditPage}},[e(s.ArrowCircleIcon)],1)],1),e("div",{staticClass:"content-block first"},[e("label",{staticClass:"required margin-bottom"},[t._v(t._s(t.$t("Адрес")))]),e("p",{staticClass:"text-extralight margin-bottom"},[t._v(t._s(t.$t("Укажите доменное имя или IP-адрес, по которому доступен ваш контент.")))]),e("p",{staticClass:"text-regular text-underline margin-bottom-2x"},[t._v(t._s(t.$t("Пример"))+": 255.255.255.255:443")]),e(s.Textbox,{attrs:{placeholder:"cdn.example.com",disabled:s.isUserBlocked},model:{value:s.originIpWithPort,callback:function(t){s.originIpWithPort=t},expression:"originIpWithPort"}})],1),e("div",{staticClass:"content-block last"},[e("p",{staticClass:"text-semibold margin-bottom"},[t._v(t._s(t.$t("Использовать HTTPS при запросе к источникам")))]),e(s.Toggle,{attrs:{"text-right":s.isHttps?t.$t("Включено"):t.$t("Выключено"),disabled:s.isUserBlocked},model:{value:s.isHttps,callback:function(t){s.isHttps=t},expression:"isHttps"}})],1),e("div",{staticClass:"content"},[e("p",{staticClass:"text-semibold margin-bottom"},[t._v(t._s(t.$t("Обслуживать устаревший кэшированный контент в случае недоступности источника")))]),e(s.Toggle,{class:{"margin-bottom-0":s.cdnResourceSettings.useStale},attrs:{"text-right":s.cdnResourceSettings.useStale?t.$t("Включено"):t.$t("Выключено"),disabled:s.isUserBlocked},model:{value:s.cdnResourceSettings.useStale,callback:function(e){t.$set(s.c
1dnResourceSettings,"useStale",e)},expression:"cdnResourceSettings.useStale"}})],1),e("div",{staticClass:"content"},[e("p",{staticClass:"text-semibold margin-bottom"},[t._v(t._s(t.$t("Кешировать с учетом query string")))]),e(s.Toggle,{attrs:{"text-right":s.cdnResourceSettings.considerArgs?t.$t("Включено"):t.$t("Выключено"),disabled:s.isUserBlocked},model:{value:s.cdnResourceSettings.considerArgs,callback:function(e){t.$set(s.cdnResourceSettings,"considerArgs",e)},expression:"cdnResourceSettings.considerArgs"}})],1),e("div",{staticClass:"content"},[e("p",{staticClass:"text-semibold margin-bottom"},[t._v(t._s(t.$t("Кешировать с учетом cookies")))]),e(s.Toggle,{attrs:{"text-right":s.cdnResourceSettings.considerCookies?t.$t("Включено"):t.$t("Выключено"),disabled:s.isUserBlocked},model:{value:s.cdnResourceSettings.considerCookies,callback:function(e){t.$set(s.cdnResourceSettings,"considerCookies",e)},expression:"cdnResourceSettings.considerCookies"}})],1)]),e("section",[e("div",{staticClass:"buttons-footer container flex gap-2x padding-top-3x padding-bottom-3x section-footer-wrapper"},[e(s.Btn,{attrs:{disabled:s.isBtnDisabled||s.isUserBlocked},on:{click:s.saveChanges}},[t._v(t._s(t.$t("Сохранить")))])],1)])],1)}),[],!1,null,null,null).exports},57314:function(t,e,s){s.r(e),s.d(e,{default:function(){return h}}),s(44114);var a=s(98250),i=s(92249),n=s(46894),r=s(99281),l=s(10216),o=s(62033),c=s(64996),d=s(62628),u=s(72281),m=s(31669),p=s(33449),v=s(75939),g=s(15154),f={name:"AddDnsRrSet",mixins:[p.A],components:{Scrolled:a.A,Breadcrumbs:i.A,Btn:n.A,Toggle:c.A,Select:o.A,Textbox:l.A,ArrowCircleIcon:r.A,DeleteIcon:m.default,CloseIcon:u.A,AddIcon:d.A,DataHint:v.A},data(){return{breadcrumbs:[{text:"TurboFlare",route:{name:"turboflare"}},{text:"FSD",route:{name:"turboflare-fsd-table"}}],isLoading:!0,showManual:!0}},props:{zoneId:{type:String,required:!0}},created(){this.init()},computed:{buttonDisabled(){return!this.type||!this.rrSetName||""===this.ttl||this.isLoading||this.$v.$invalid||this.emptyRequiredFields},isUserBlocked(){return this.$user.isBlocked()}},methods:{init(){this.$api.getZone({accountName:this.$user.accountName,zoneId:this.zoneId,briefly:!0}).then((({data:{data:{zone_name:t}}})=>{this.zoneName=t,this.breadcrumbs.push({text:this.zoneName,route:{name:"turboflare-edit-dns-zone",params:{id:this.zoneId}}},{text:"Добавление набора записей"})})).catch((({response:{data:{description:t}}})=>{const e=(0,g.c)(t);this.$message.error({message:$t("Ошибка")+": "+e})})).finally((()=>{this.isLoading=!1}))},back(){this.$router.push({name:"dns-zone",params:{id:this.zoneId}})},getData(){const t={};return t.name=this.rrSetName,t.type=this.type,Number(this.ttl)&&(t.ttl=Number(this.ttl)),t.resource_records=this.validApiRecords,t},createRrSet(){this.$api.addRrSet({accountName:this.$user.accountName,zoneId:this.zoneId},this.getData()).then((()=>{this.back()})).catch((({response:{data:{description:t}}})=>{const e=(0,g.c)(t);this.$message.error({message:$t("Ошибка")+": "+e})}))},changeManual(t){this.showManual=t},handleSelectType(t){t&&(this.records=[],this.addRecord())}}},h=(0,s(81656).A)(f,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"add-rrSet flex column full-height full-width"},[e("Scrolled",[e("div",{ref:"section-header-table",staticClass:"content flex align-center gap-2x"},[e("Btn",{staticClass:"content-block-corner-button",attrs:{type:"icon",size:"medium"},on:{click:t.goToPreviousRoute}},[e("ArrowCircleIcon")],1),e("div",{staticClass:"wrapper flex grow column"},[t.isLoading?e("el-skeleton",{attrs:{rows:1,animated:""}},[e("template",{slot:"template"},[e("div",{staticClass:"el-skeleton__item custom text-extralight",staticStyle:{height:"18px","max-width":"250px",width:"100%"}},[t._v(" ")])])],2):e("Breadcrumbs",{attrs:{breadcrumbsItems:t.breadcrumbs}}),e("div",{staticClass:"wrapper flex grow align-center gap-2x margin-top"},[e("h1",{staticClass:"text-header-2"},[t._v(t._s(t.$t("Добавление набора записей")))])])],1
1),e("Toggle",{staticClass:"togle-hint",attrs:{questionMark:!0,textRight:t.$t("Подсказки")},on:{change:t.changeManual},model:{value:t.showManual,callback:function(e){t.showManual=e},expression:"showManual"}})],1),e("div",{staticClass:"rrSet-form row"},[e("div",{staticClass:"col-sm-5"},[e("div",{staticClass:"content flex gap-2x column rrSet-settings"},[e("h2",{staticClass:"text-sub-header-1"},[t._v(t._s(t.$t("Настройка набора записей")))]),e("div",{staticClass:"field flex column justify-between"},[e("label",{staticClass:"margin-bottom"},[t._v(t._s(t.$t("Тип")))]),t.isLoading?e("el-skeleton",{staticClass:"textbox-skeleton",attrs:{animated:""}},[e("template",{slot:"template"},[e("div",{staticClass:"el-skeleton__item custom select"},[e("Textbox",{staticClass:"visibility-hidden"})],1)])],2):e("Select",{staticStyle:{"max-width":"178px"},attrs:{placeholder:t.$t("Выберите тип")},on:{change:t.handleSelectType},model:{value:t.type,callback:function(e){t.type=e},expression:"type"}},[e("template",{slot:"options"},t._l(t.$options.rrSetTypes,(function(s){return e("el-option",{key:s.value,attrs:{label:t.$t(s.name),value:s.value}})})),1)],2)],1),e("div",{staticClass:"field grow flex column justify-between"},[e("label",{staticClass:"margin-bottom"},[t._v(t._s(t.$t("Наименование")+" (FQDN)"))]),t.isLoading?e("el-skeleton",{staticClass:"textbox-skeleton",attrs:{animated:""}},[e("template",{slot:"template"},[e("div",{staticClass:"el-skeleton__item custom"},[e("Textbox",{staticClass:"visibility-hidden"})],1)])],2):e("div",{staticClass:"field relative"},[e("Textbox",{attrs:{placeholder:t.$t("Например")+": sub."+t.zoneName,name:"rrSetName",disabled:!t.type},on:{input:function(e){return t.clearErrors(e,"rrSetName")},blur:function(e){return t.applyValue(e,"rrSetName")}},model:{value:t.rrSetName,callback:function(e){t.rrSetName=e},expression:"rrSetName"}}),e("div",{directives:[{name:"show",rawName:"v-show",value:t.$v.rrSetName.$error,expression:"$v.rrSetName.$error"}],staticClass:"input-error"},[t.$v.rrSetName.formatValidator?t.$v.rrSetName.rrSetInZoneValidator?t._e():e("span",[t._v(t._s(t.$t("Должно находится в домене DNS-зоны")))]):e("span",[t._v(t._s(t.$t("Значение невалидно")))])])],1)],1),e("div",{staticClass:"field flex column justify-between gap"},[e("div",{staticClass:"flex gap align-center"},[e("label",[t._v(t._s(t.$t("TTL")))]),e("DataHint",{attrs:{"hint-string":t.$t("Значение TTL указывает интервал в секундах, по истечении которого вступают в силу изменения, внесенные в запись DNS. Каждая запись DNS имеет заданное время жизни, которое определяет скорость ее обновления.")}})],1),t.isLoading?e("el-skeleton",{staticClass:"textbox-skeleton",attrs:{animated:""}},[e("template",{slot:"template"},[e("div",{staticClass:"el-skeleton__item custom"},[e("Textbox",{staticClass:"visibility-hidden"})],1)])],2):e("div",{staticClass:"field relative"},[e("Textbox",{attrs:{name:"ttl"},on:{input:function(e){return t.clearErrors(e,"ttl")},blur:function(e){return t.applyValue(e,"ttl")}},model:{value:t.ttl,callback:function(e){t.ttl=e},expression:"ttl"}}),e("div",{directives:[{name:"show",rawName:"v-show",value:t.$v.ttl.$error,expression:"$v.ttl.$error"}],staticClass:"input-error"},[t.$v.ttl.minValue?t.$v.ttl.maxValue?t.$v.ttl.integerValidator?t._e():e("span",[t._v(t._s(t.$t("Значение TTL должно быть целочисленым")))]):e("span",[t._v(t._s(t.$t("Значение TTL не может быть больше максимального значения INT")))]):e("span",[t._v(t._s(t.$t("Значение TTL не может быть отрицательным")))])])],1)],1)])]),e("div",{staticClass:"col-sm-7"},[e("div",{staticClass:"records-settings"},[t.isLoading?e("el-skeleton",{staticClass:"skeleton-block",attrs:{animated:""}},[e("template",{slot:"template"},[e("div",{staticClass:"content-block first flex gap-2x justify-between align-center"},[e("div",{staticClass:"el-skeleton__item custom text-sub-header-1"},[t._v(t._s(t.$t("Всего {type}
1 записей",{type:this.type})+" "+this.records.length))]),e("div",{staticClass:"el-skeleton__item custom"},[e("Btn",{staticClass:"visibility-hidden",attrs:{type:"link"}},[t._v(t._s(t.$t("Добавить"))),e("AddIcon")],1)],1)]),e("div",{staticClass:"content-block last flex gap-2x column"},[e("div",{staticClass:"el-skeleton__item custom text-semibold"},[t._v(t._s(t.$t("Настройка записи")+" 1"))]),e("div",{staticClass:"grow flex gap column"},[e("div",{staticClass:"row row-gap-2x"},[e("div",{staticClass:"field relative record-value col-sm-8 col-xs-7"},[e("div",{staticClass:"el-skeleton__item custom text-regular margin-bottom"},[t._v(t._s(t.$t("Значение")))]),e("div",{staticClass:"el-skeleton__item custom textbox"},[e("Textbox",{staticClass:"visibility-hidden"})],1)]),e("div",{staticClass:"field relative record-priority col-sm-4 col-xs-5"},[e("div",{staticClass:"el-skeleton__item custom text-regular margin-bottom"},[t._v(t._s(t.$t("Приоритет")))]),e("div",{staticClass:"el-skeleton__item custom textbox"},[e("Textbox",{staticClass:"visibility-hidden"})],1)])])]),e("div",{staticClass:"el-skeleton__item custom margin-top"},[e("Btn",{staticClass:"visibility-hidden",attrs:{type:"link"}},[t._v(t._s(t.$t("Добавить"))),e("AddIcon")],1)],1)])])],2):[e("div",{staticClass:"flex gap-2x justify-between align-center",class:t.records.length?" content-block first":"content"},[e("h2",{staticClass:"text-sub-header-1"},[t._v(t._s(t.$t("Всего {type}
1 записей",{type:this.type})+" "+this.records.length))]),e("Btn",{attrs:{type:"link",disabled:t.addRecordButtonDisable},on:{click:t.addRecord}},[t._v(t._s(t.$t("Добавить"))),e("AddIcon")],1)],1),t.records.length?t._l(t.records,(function(s,a){return e("div",{staticClass:"content-block record flex gap-2x column",class:{last:a===t.records.length-1}},[e("div",{staticClass:"flex justify-between"},[e("h3",{staticClass:"text-semibold"},[t._v(t._s(t.$t("Настройка записи")+" "+(a+1)))]),e("div",{staticClass:"cursor-pointer flex",on:{click:function(e){return t.removeRecord(a)}}},[e("DeleteIcon",{staticClass:"icon-small fill-gradient"})],1)]),e("div",{staticClass:"grow flex gap column"},[e("div",{staticClass:"row row-gap-2x"},["HTTPS"!==t.type?e("div",{staticClass:"field relative record-value col-sm-8 col-xs-7"},[e("label",{staticClass:"margin-bottom"},[t._v(t._s(t.$t("Значение")))]),e("div",{staticClass:"relative field"},[e("Textbox",{attrs:{name:`records.$each[${a}].value`,placeholder:t.$t("Например")+": "+t.recordValuePlaceholder},on:{input:function(e){return t.clearErrors(e,`records.$each[${a}].value`)},blur:function(e){return t.applyValue(e,`records.$each[${a}].value`)}},model:{value:s.value,callback:function(e){t.$set(s,"value",e)},expression:"record.value"}}),e("div",{directives:[{name:"show",rawName:"v-show",value:t.$v.records.$each[a].value.$error,expression:"$v.records.$each[index].value.$error"}],staticClass:"input-error"},[t._v(t._s(t.$t("Введите валидное значение")))])],1)]):t._e(),"HTTPS"===t.type?e("div",{staticClass:"field relative record-target col-sm-8 col-xs-7"},[e("label",{staticClass:"margin-bottom"},[t._v(t._s(t.$t("Назначение")))]),e("div",{staticClass:"field relative"},[e("Textbox",{attrs:{placeholder:t.$t("Например")+": example.com",name:`records.$each[${a}].target`},on:{input:function(e){return t.clearErrors(e,`records.$each[${a}].target`)},blur:function(e){return t.applyValue(e,`records.$each[${a}].target`)}},model:{value:s.target,callback:function(e){t.$set(s,"target",e)},expression:"record.target"}}),e("div",{directives:[{name:"show",rawName:"v-show",value:t.$v.records.$each[a].target.$error,expression:"$v.records.$each[index].target.$error"}],staticClass:"input-error"},[t._v(t._s(t.$t("Введите валидное значение")))])],1)]):t._e(),"MX"===t.type||"HTTPS"===t.type?e("div",{staticClass:"field relative record-priority col-sm-4 col-xs-5"},[e("label",{staticClass:"margin-bottom"},[t._v(t._s(t.$t("Приоритет")))]),e("div",{staticClass:"field relative"},[e("Textbox",{attrs:{type:"number",name:`records.$each[${a}].priority`,placeholder:t.$t("Например")+": 1"},on:{input:function(e){return t.clearErrors(e,`records.$each[${a}].priority`)},blur:function(e){return t.applyValue(e,`records.$each[${a}].priority`)}},model:{value:s.priority,callback:function(e){t.$set(s,"priority",e)},expression:"record.priority"}}),e("div",{directives:[{name:"show",rawName:"v-show",value:t.$v.records.$each[a].priority.$error,expression:"$v.records.$each[index].priority.$error"}],staticClass:"input-error"},[t._v(t._s(t.$t("Значение должно быть целочисленым")))])],1)]):t._e(),"HTTPS"===t.type?e("div",{staticClass:"field relative record-parameters col-xs-12"},[e("label",{staticClass:"margin-bottom"},[t._v(t._s(t.$t("Параметры")))]),e("div",{staticClass:"flex column gap-2x"},t._l(s.parameters,(function(a,i){return e("div",{key:i,staticClass:"flex gap align-end"},[e("div",{staticClass:"field"},[e("label",{staticClass:"margin-bottom"},[t._v(t._s("Key"))]),e("Textbox",{staticClass:"record-parameters__key",model:{value:a.key,callback:function(e){t.$set(a,"key",e)},expression:"parameter.key"}})],1),e("div",{staticClass:"field"},[e("label",{staticClass:"margin-bottom"},[t._v(t._s("Value"))]),e("Textbox",{staticClass:"record-parameters__value",model:{value:a.value,callback:function(e){t.$set(a,"value",e)},expression:"parameter.value"}})],1),s.parameters.length-1===i?e("div",{staticClass:"flex padding-bottom",on:{click:function(e){return t.addHttpsParameter(s)}}},[e("AddIcon",{staticClass:"icon-small fill-gradient"})],1):t._e(),s.parameters.length>1?e("div",{staticClass:"flex padding-bottom",on:{click:function(e){return t.removeHttpsParameter(s,i)}}},[e("DeleteIcon",{staticClass:"icon-small fill-gradient"})],1):t._e()])})),0)]):t._e()])])])})):t._e()]],2)])])]),e("div",{staticClass:"section-footer"},[e("div",{ref:"section-footer",staticClass:"buttons-footer container flex gap-2x padding-top-3x padding-bottom-3x 
1section-footer-wrapper"},[e("btn",{attrs:{disabled:t.buttonDisabled||t.isUserBlocked},on:{click:t.createRrSet}},[t._v(t._s(t.$t("Создать")))]),e("btn",{attrs:{type:"secondary"},on:{click:t.back}},[t._v(t._s(t.$t("Отмена")))])],1)])],1)}),[],!1,null,null,null).exports},85095:function(t,e,s){s.r(e),s.d(e,{default:function(){return I}}),s(44114),s(98992),s(54520),s(72577),s(81454),s(8872);var a=s(62628),i=s(56362),n=s(31669),r=s(6530),l=s(86180),o=s(29939),c=s(99281),d=s(24475),u=s(40615),m=s(29204),p=s.n(m),v=s(46894),g=s(64996),f=s(10216),h=s(75939),b=s(62033),x=s(98250),_=s(58693),C=s(92249),S=s(76668),$=s(42081),y=s(40399),k=s(15154),w=s(86454),T=s(90634),A=s(76458),D=s(33278),F={name:"EditDnsZone",mixins:[w.A,y.A],components:{ZoneManual:T.A,Scrolled:x.A,Breadcrumbs:C.A,StatusLabel:S.A,Btn:v.A,Toggle:g.A,Textbox:f.A,EmptyTable:_.A,DataHint:h.A,Select:b.A,CheckCircleIcon:d.A,EditIcon:i.A,ArrowCircleIcon:c.A,ArrowLong:l.A,DeleteIcon:n.default,ActionsIcon:u.A,CopyIcon:r.A,AddIcon:a.A,QuestionIcon:o.A,LockIcon:p()},rrSetTableFilters:$.Eb,zoneStatusLabelColorText:$.hF,data(){return{id:this.$route.params.zoneId,breadcrumbs:[{text:"TurboFlare",route:{name:"turboflare"}},{text:"FSD",route:{name:"turboflare-fsd-table"}}],activeFilter:"",isZoneLoading:!0,showManual:!0,zone:void 0,zoneName:"",rrSets:[],inputDisabled:!0,pageSize:15,minPageSize:5,page:1,sorting:{parameter:null,order:"default"},deleteRrSetObj:{},deleteRrSetDialogVisible:!1,editZoneDialogVisible:!1,filterValue:"",isSearchTextboxOpen:!1,expertMode:!1,advancedEditFields:{rname:"",serial:0,refresh:0,retry:0,expire:0,ttl:0,minimum:0},isZoneUpdating:!1}},created(){this.getZone()},mounted(){window.addEventListener("resize",this.calculateRows)},beforeDestroy(){window.removeEventListener("resize",this.calculateRows)},validations:{advancedEditFields:{rname:{validator:(0,D.or)(A.jw,(0,D.Uo)(D.Rp,A.kj))},serial:{validator:(0,D.or)(A.jw,A.Fq),minValue:(0,D.Ww)(0)},refresh:{validator:(0,D.or)(A.jw,A.Fq),minValue:(0,D.Ww)(0)},retry:{validator:(0,D.or)(A.jw,A.Fq),minValue:(0,D.Ww)(0)},expire:{validator:(0,D.or)(A.jw,A.Fq),minValue:(0,D.Ww)(0)},ttl:{validator:(0,D.or)(A.jw,A.Fq),minValue:(0,D.Ww)(0)},minimum:{validator:(0,D.or)(A.jw,A.Fq),minValue:(0,D.Ww)(0)}}},computed:{filteredRrSets(){let t=this.activeFilter?this.rrSets.filter((({type:t})=>t===this.activeFilter)):this.rrSets;return this.filterValue.length>2&&(t=t.filter((t=>t.name.toLowerCase().includes(this.filterValue.toLowerCase())))),t},filteredRrSetsTotal(){return this.filteredRrSets.length},hidePaginationOnSinglePage(){return this.filteredRrSetsTotal<=this.pageSize},rrSetsOnPage(){const t=(this.page-1)*this.pageSize,e=t+this.pageSize;return this.filteredRrSets.slice(t,e)},status(){return this.zone.delegation.status},statusLabelProps(){return this.$options.zoneStatusLabelColorText[this.status]||this.$options.zoneStatusLabelColorText.default},editZoneButtonDisabled(){return this.isZoneUpdating||this.$v.$invalid},errorText(){return this.$t("Введите валидное значение")},isUserBlocked(){return this.$user.isBlocked()}},methods:{init(t){this.zone=t;const{zone_name:e,rr_sets:s,serial:a,refresh:i,retry:n,expire:r,ttl:l,minimum:o,rname:c}=t;this.zoneName=e,this.rrSets=s,this.advancedEditFields.rname=c||0,this.advancedEditFields.serial=a||0,this.advancedEditFields.refresh=i||0,this.advancedEditFields.retry=n||0,this.advancedEditFields.expire=r||0,this.advancedEditFields.ttl=l||0,this.advancedEditFields.minimum=o||0},getZone(){this.$api.getZone({accountName:this.$user.accountName,zoneId:this.id,briefly:!1}).then((({data:{data:t}})=>{this.init(JSON.parse(JSON.stringify(t))),this.breadcrumbs.push({text:"Редактирование зоны {zoneName}",textParams:{zoneName:t.zone_name}})})).catch((({response:{data:{description:t}}})=>{const e=(0,k.c)(t);this.$message.error({message:$t("Ошибка")+": "+e})})).finally((()=>{this.isZoneLoading=!1}))},goToRrSet({id:t}){this.$router.push({name:"edit-dns-rrSet",params:{zoneId:this.id,rrSetId:t}})},deleteRrSet(){this.$api.deleteRrSet({accountName:this.$user.accountName,zoneId:this.id,rrSetId:this.deleteRrSetObj.rrSetId}).then((()=>{this.rrSets.splice(this.deleteRrSetObj.index,1),this.$message.success({message:"Набор записей успешно удален"}),this.closeDeleteRrSetDialog()})).catch((({response:{data:{description:t}}})=>{const e=(0,k.c)(t);this.$message.error({message:$t("Ошибка")+": "+e})}))},editZone(){this.isZoneUpdating=!0;const t=Object.entries(this.zone).reduce(((t,[e,s])=>{const a=this.advancedEditFields[e];if(void 0!==a){const i="rname"===e?a:Number(a);i!==s&&(t[e]=i)}return t}),{});this.$api.patchZone({accountName:this.$user.accountName,zoneId:this.id},t).then((()=>(this.$message.success({message:"Зона успешно обновлена"}),this.closeEditZoneDialog(),this.$api.getZone({accountName:this.$user.accountName,zoneId:this.id,briefly:!1})))).then((({data:{data:t}})=>{this.init(JSON.parse(JSON.stringify(t)))})).catch((({response:{data:{description:t}}})=>{const e=(0,k.c)(t);this.$message.error({message:$t("Ошибка")+": "+e})})).finally((()=>{this.isZoneUpdating=!1}))},calculateRows(){if(this.rrSets){const t=35,e=[0,0,18,36],s=27,a=56,i=this.$refs["section-header-table"],n=this.$refs["content-page-header"],r=this.$refs.table;let l=0;this.$children.find((t=>
1"Scrolled"===t.$options.name))&&(l+=parseFloat(this.$globalRefs["section-header"].offsetHeight));const o=parseFloat(window.getComputedStyle(this.$el).paddingTop)+l,c=this.getElementHeightWithPaddingAndMargin(r),d=this.getAbsoluteHeight(i)+this.getAbsoluteHeight(n)+o+c,u=window.innerHeight-d-s-a;let m=0,p=0;for(const{resource_records:s=[]}of this.filteredRrSets){const a=s.length,i=t+e[Math.min(a,3)];if(p+i>u)break;p+=i,m++}this.pageSize=Math.max(m,this.minPageSize)}},sortDefault(){this.sortResources("type","dsc"),this.sorting.parameter=null,this.sorting.order="default"},sortResources(t,e){this.rrSets.sort(((s,a)=>"string"==typeof s[t]&&"string"==typeof a[t]?"dsc"===e?s[t].localeCompare(a[t]):a[t].localeCompare(s[t]):"dsc"===e?a[t]-s[t]:s[t]-a[t])),this.calculateRows()},handleSorting(t){if(this.sorting.parameter!==t)this.sorting.parameter=t,this.sorting.order="dsc";else{if("dsc"!==this.sorting.order)return void this.sortDefault();this.sorting.order="asc"}this.sortResources(t,this.sorting.order)},back(){this.$router.push({name:"turboflare-edit-fsd",params:{id:this.$route.params.id}})},goToCreateRrSet(){this.$router.push({name:"turboflare-add-dns-rr-set",params:{zoneId:this.id}})},openDeleteRrSetDialog(t,{id:e,name:s},a){this.isUserBlocked||(t.stopPropagation(),this.deleteRrSetDialogVisible=!0,this.deleteRrSetObj.index=a,this.deleteRrSetObj.rrSetName=s,this.deleteRrSetObj.rrSetId=e)},closeDeleteRrSetDialog(){this.deleteRrSetDialogVisible=!1,this.deleteRrSetObj={}},openEditZoneDialog(){this.editZoneDialogVisible=!0},closeEditZoneDialog(){this.editZoneDialogVisible=!1},async toggleSearchTextbox(){this.isSearchTextboxOpen=!this.isSearchTextboxOpen,await this.$nextTick(),this.isSearchTextboxOpen&&this.$refs.searchboxInput.focus(),this.filterValue=""},copy(t){let e=this.$refs[t].textContent;navigator.clipboard.writeText(e),this.$toast.show({text:"Скопировано"})},rrSetContent(t){let e;const s="HTTPS"===t.type?"target":"value";return e=t.resource_records.length>3?[t.resource_records[0][s],"...",t.resource_records[t.resource_records.length-1][s]]:t.resource_records.map((t=>t[s])),e},getFormatedTime(t){return this.$options.filters.convertSecondsToHourMinSecString(t)},changeManual(t){this.showManual=t}},watch:{isZoneLoading(){this.isZoneLoading||(Object.keys(this.$route.query).length?(this.page=Number(this.$route.query.page)||1,this.sorting.order=this.$route.query.sortOrder,this.sorting.parameter=this.$route.query.sortParam,"default"===this.sorting.order?this.sortDefault():this.sortResources(this.sorting.parameter,this.sorting.order)):this.sortDefault())}}},I=(0,s(81656).A)(F,(function(){var t=this,e=t._self._c;return e("div",{staticClass:"flex column full-height full-width dns-zone"},[e("Scrolled",[e("div",{ref:"section-header-table",staticClass:"content flex align-center gap"},[e("Btn",{staticClass:"content-block-corner-button",attrs:{type:"icon",size:"medium"},on:{click:t.back}},[e("ArrowCircleIcon")],1),e("div",{staticClass:"wrapper flex grow column"},[t.isZoneLoading?e("el-skeleton",{attrs:{rows:2,animated:""}}):[e("Breadcrumbs",{staticClass:"margin-bottom",attrs:{breadcrumbsItems:t.breadcrumbs}}),e("div",{staticClass:"flex align-center grow gap"},[e("h1",{staticClass:"text-header-2"},[t._v(t._s(t.$t("Редактирование зоны {zoneName}",{zoneName:t.zoneName})))]),e("StatusLabel",{attrs:{text:t.statusLabelProps.text,statusColor:t.statusLabelProps.statusColor}})],1)]],2),e("Toggle",{staticClass:"togle-hint",attrs:{questionMark:!0,textRight:t.$t("Подсказки")},on:{change:t.changeManual},model:{value:t.showManual,callback:function(e){t.showManual=e},expression:"showManual"}})],1),e("div",{staticClass:"row"},[e("div",{staticClass:"col-md-8 col-sm-7 col-xs-12 left-content"},[e("div",{staticClass:"zone-config-block"},[e("div",{staticClass:"content flex column gap-3x"},[e("div",{staticClass:"text-sub-header-1"},[t._v(t._s(t.$t("Конфигурация зоны")))]),e("div",{staticClass:"flex wrap gap-3x"},[e("div",{staticClass:"flex column gap"},[e("div",{staticClass:"flex gap align-center"},[e("label",[t._v(t._s(t.$t("NS-записи")))]),e("DataHint",{attrs:{"hint-string":t.$t("NS (Name Server) — это DNS-запись, указ
1ывающая, какие серверы отвечают за зону домена. Она сообщает, какие авторитетные DNS-серверы хранят и обрабатывают записи для конкретного домена.")}})],1),t.isZoneLoading?[e("el-skeleton",{attrs:{animated:""}},[e("template",{slot:"template"},[e("div",{staticClass:"el-skeleton__item custom text-extralight ns"},[t._v(t._s(" "))])])],2),e("el-skeleton",{attrs:{animated:""}},[e("template",{slot:"template"},[e("div",{staticClass:"el-skeleton__item custom text-extralight ns"},[t._v(t._s(" "))])])],2)]:t._l(t.zone.ns,(function(s,a){return e("div",{staticClass:"flex gap justify-between align-center"},[e("div",{ref:"ns"+a,refInFor:!0,staticClass:"text-extralight"},[t._v(t._s(s))]),e("div",{staticClass:"copy-icon-wrapper cursor-pointer flex align-center",on:{click:function(e){return t.copy("ns"+a)}}},[e("CopyIcon",{staticClass:"copy-icon"})],1)])}))],2),e("div",{staticClass:"flex column gap"},[e("div",{staticClass:"flex gap align-center"},[e("label",[t._v(t._s("Rname"))]),e("DataHint",{attrs:{"hint-string":t.$t("RNAME - это поле, которое указывает на email-адрес администратора домена.")}})],1),e("div",{staticClass:"flex align-center"},[t.isZoneLoading?e("el-skeleton",{staticClass:"half-width",attrs:{animated:""}},[e("template",{slot:"template"},[e("div",{staticClass:"el-skeleton__item custom text-extralight"},[t._v(t._s(" "))])])],2):e("div",{staticClass:"flex gap justify-between align-center"},[e("div",{ref:"rname",staticClass:"text-extralight"},[t._v(t._s(t.zone.rname))]),e("div",{staticClass:"copy-icon-wrapper cursor-pointer flex align-center",on:{click:function(e){return t.copy("rname")}}},[e("CopyIcon",{staticClass:"copy-icon"})],1)])],1)])]),e("div",{staticClass:"flex wrap gap-5x"},[e("div",{staticClass:"flex column gap"},[e("div",{staticClass:"flex gap align-center"},[e("label",[t._v(t._s("Serial"))]),e("DataHint",{attrs:{"hint-string":t.$t("Serial — это уникальный номер версии зоны, который используется вторичными (slave) серверами для определения, обновилась ли зона на основном (master) сервере.")}})],1),e("div",{staticClass:"flex align-center"},[t.isZoneLoading?e("el-skeleton",{staticClass:"half-width",attrs:{rows:1,animated:""}}):e("div",{ref:"serial",staticClass:"text-extralight"},[t._v(t._s(t.zone.serial))])],1)]),e("div",{staticClass:"flex column gap"},[e("div",{staticClass:"flex gap align-center"},[e("label",[t._v(t._s("Refresh"))]),e("DataHint",{attrs:{"hint-string":t.$t("Refresh — это интервал обновления зоны, который указывает, как часто вторичный (slave) DNS-сервер должен запрашивать изменения у основного (master) DNS-сервера.")}})],1),e("div",{staticClass:"flex align-center"},[t.isZoneLoading?e("el-skeleton",{staticClass:"half-width",attrs:{rows:1,animated:""}}):e("div",{ref:"refresh",staticClass:"text-extralight"},[t._v(t._s(t.getFormatedTime(t.zone.refresh)))])],1)]),e("div",{staticClass:"flex column gap"},[e("div",{staticClass:"flex gap align-center"},[e("label",[t._v(t._s("Retry"))]),e("DataHint",{attrs:{"hint-string":t.$t("Retry — это интервал повторной попытки обновления зоны, если предыдущее обновление (Refresh) не удалось.")}})],1),e("div",{staticClass:"flex align-center"},[t.isZoneLoading?e("el-skeleton",{staticClass:"half-width",attrs:{rows:1,animated:""}}):e("div",{ref:"retry",staticClass:"text-extralight"},[t._v(t._s(t.getFormatedTime(t.zone.retry)))])],1)]),e("div",{staticClass:"flex column gap"},[e("div",{staticClass:"flex align-center gap"},[e("label",[t._v(t._s("Expire"))]),e("DataHint",{attrs:{"hint-string":t.$t("Expire в DNS-зоне определяет, через какое время вторичный (slave) DNS-сервер перестанет считать данные от основного (master) сервера актуальными, если не сможет обновить их.")}})],1),e("div",{staticClass:"flex align-center"},[t.isZoneLoading?e("el-skeleton",{staticClass:"half-width",attrs:{rows:1,animated:""}}):e("div",{ref:"expire",staticClass:"text-extralight"}
1,[t._v(t._s(t.getFormatedTime(t.zone.expire)))])],1)]),e("div",{staticClass:"flex column gap"},[e("div",{staticClass:"flex align-center gap"},[e("label",[t._v(t._s("Minimum"))]),e("DataHint",{attrs:{"hint-string":t.$t("Время кеширования негативных ответов - это минимальное время, в течение которого кеширующие DNS-серверы могут хранить негативные ответы (например, если домен не существует — NXDOMAIN) или другие временные записи.")}})],1),e("div",{staticClass:"flex align-center"},[t.isZoneLoading?e("el-skeleton",{staticClass:"half-width",attrs:{rows:1,animated:""}}):e("div",{ref:"minimum",staticClass:"text-extralight"},[t._v(t._s(t.zone.minimum))])],1)]),e("div",{staticClass:"flex column gap"},[e("div",{staticClass:"flex gap align-center"},[e("label",[t._v(t._s(t.$t("TTL")))]),e("DataHint",{attrs:{"hint-string":t.$t("Значение TTL указывает интервал в секундах, по истечении которого вступают в силу изменения, внесенные в запись DNS. Каждая запись DNS имеет заданное время жизни, которое определяет скорость ее обновления.")}})],1),e("div",{staticClass:"flex align-center"},[t.isZoneLoading?e("el-skeleton",{staticClass:"half-width",attrs:{rows:1,animated:""}}):e("div",{ref:"ttl",staticClass:"text-extralight"},[t._v(t._s(t.getFormatedTime(t.zone.ttl)))])],1)])]),e("btn",{staticClass:"margin-top",attrs:{type:"link",disabled:t.isUserBlocked},on:{click:t.openEditZoneDialog}},[t._v(t._s(t.$t("Редактировать"))),e("ArrowCircleIcon")],1)],1)]),e("div",{ref:"content-page-header",staticClass:"content-block first"},[e("div",{staticClass:"text-sub-header-1 margin-bottom-2x"},[t._v(t._s(t.$t("Наборы записей")))]),e("div",{staticClass:"field"},[e("h3",{staticClass:"text-regular margin-bottom"},[t._v(t._s(t.$t("Тип")))]),e("div",{staticClass:"flex gap-2x justify-between wrap align-end"},[e("div",{staticClass:"flex gap-2x align-center grow"},[e("Select",{staticStyle:{width:"125px"},attrs:{placeholder:"Select",size:"large",disabled:t.isZoneLoading},model:{value:t.activeFilter,callback:function(e){t.activeFilter=e},expression:"activeFilter"}},[e("template",{slot:"options"},t._l(t.$options.rrSetTableFilters,(function(s){return e("el-option",{key:s.value,attrs:{label:t.$t(s.name),value:s.value}})})),1)],2),t.isSearchTextboxOpen?e("div",{staticClass:"relative grow flex align-center gap",attrs:{id:"searchbox"}},[e("Textbox",{ref:"searchboxInput",staticClass:"grow",attrs:{type:"text",placeholder:t.$t("Название набора записей")},model:{value:t.filterValue,callback:function(e){t.filterValue=e},expression:"filterValue"}},[e("template",{slot:"button-1"},[e("btn",{attrs:{type:"icon",size:"small"}},[e("actions-icon",{attrs:{type:"search"}})],1)],1)],2),e("Btn",{attrs:{type:"icon",size:"small"},on:{click:t.toggleSearchTextbox}},[e("actions-icon",{staticClass:"close-icon",attrs:{type:"close"}})],1)],1):e("Tooltip",{attrs:{content:t.$t("Поиск"),placement:"top",enterable:!1}},[e("Btn",{attrs:{type:"icon",size:"medium",disabled:t.isZoneLoading},on:{click:t.toggleSearchTextbox}},[e("actions-icon",{attrs:{type:"search"}})],1)],1)],1),!t.isZoneLoading&&t.rrSets.length>0?e("Btn",{attrs:{type:"link",disabled:t.isUserBlocked},on:{click:t.goToCreateRrSet}},[t._v(t._s(t.$t("Добавить набор записей"))),e("AddIcon")],1):t._e()],1)])]),e("div",{ref:"table",staticClass:"content-block last no-side-padding"},[t.isZoneLoading?e("div",{staticClass:"resources-table-http__skeleton"},[e("el-skeleton",{key:"skeleton",staticClass:"padding-left-3x padding-right-3x",attrs:{rows:8,animated:""}})],1):0===t.rrSets.length?e("EmptyTable",{attrs:{text:t.$t("У вас пока нет наборов записей")}},[e("Btn",{attrs:{disabled:t.isUserBlocked},on:{click:t.goToCreateRrSet}},[t._v(t._s(t.$t("Добавить набор записей")))])],1
1):e("table",{staticClass:"table-wrapper rrSets-table"},[e("thead",{ref:"table-head"},[e("tr",[e("th",{staticClass:"table-header-cell indicator-column"}),e("th",{staticClass:"table-header-cell",staticStyle:{width:"75px"}},[e("div",{staticClass:"width-fit-content sortable flex align-center gap"},[e("span",{on:{click:function(e){return t.handleSorting("type")}}},[t._v(t._s(t.$t("Тип")))]),"type"===t.sorting.parameter?e("arrow-long",{staticClass:"rrSets-table__sort-icon",class:{descending:"dsc"===t.sorting.order}}):t._e()],1)]),e("th",{staticClass:"table-header-cell",staticStyle:{width:"auto"}},[e("div",{staticClass:"width-fit-content sortable flex align-center gap"},[e("span",{on:{click:function(e){return t.handleSorting("name")}}},[t._v(t._s(t.$t("Название")))]),"name"===t.sorting.parameter?e("arrow-long",{staticClass:"rrSets-table__sort-icon",class:{descending:"dsc"===t.sorting.order}}):t._e()],1)]),e("th",{staticClass:"table-header-cell",staticStyle:{width:"100px"}},[e("div",{staticClass:"width-fit-content sortable flex align-center gap"},[e("span",{on:{click:function(e){return t.handleSorting("ttl")}}},[t._v(t._s(t.$t("TTL")))]),e("DataHint",{attrs:{"hint-string":t.$t("Значение TTL указывает интервал в секундах, по истечении которого вступают в силу изменения, внесенные в запись DNS. Каждая запись DNS имеет заданное время жизни, которое определяет скорость ее обновления.")}}),"ttl"===t.sorting.parameter?e("arrow-long",{staticClass:"rrSets-table__sort-icon",class:{descending:"dsc"===t.sorting.order}}):t._e()],1)]),e("th",{staticClass:"table-header-cell resources-table-http__status-column",staticStyle:{width:"auto"}},[e("div",{staticClass:"width-fit-content sortable flex align-center"},[e("span",[t._v(t._s(t.$t("Содержимое набора")))])])]),e("th",{staticClass:"table-header-cell",staticStyle:{width:"20px"}}),e("th",{staticClass:"table-header-cell indicator-column"})])]),e("tbody",t._l(t.rrSetsOnPage,(function(s,a){return e("tr",{key:a,staticClass:"table-row cursor-pointer relative",class:{locked:s.locked},on:{click:function(e){return t.goToRrSet(s)}}},[e("td",{staticClass:"table-cell indicator-column"},[s.locked?e("div",{staticClass:"flex justify-center"},[e("LockIcon",{staticClass:"lock-icon"})],1):t._e()]),e("td",{staticClass:"table-cell source-column"},[t._v(t._s(s.type))]),e("td",{staticClass:"table-cell name-column"},[e("Tooltip",{attrs:{content:s.name,placement:"top"}},[e("span",[t._v(t._s(s.name))])])],1),e("td",{staticClass:"table-cell cnames"},[t._v(t._s(t.getFormatedTime(s.ttl)))]),e("td",{staticClass:"table-cell"},t._l(t.rrSetContent(s),(function(s,a){return e("div",{key:a,staticClass:"flex"},[e("p",{staticClass:"text-ellipsis overflow-hidden"},[t._v(t._s(s))])])})),0),e("td",{staticClass:"table-cell relative dropdown-cell center-xs"},[e("div",{staticClass:"flex",class:t.isUserBlocked?"disabled":"cursor-pointer",on:{click:function(e){return t.openDeleteRrSetDialog(e,s,a)}}},[e("DeleteIcon",{staticClass:"icon-small"})],1)]),e("td",{staticClass:"table-cell indicator-column"})])})),0)])],1),t.isZoneLoading?t._e():e("el-pagination",{staticClass:"custom padding-bottom-3x",attrs:{layout:"prev, pager, next",total:t.filteredRrSetsTotal,"hide-on-single-page":t.hidePaginationOnSinglePage,"current-page":t.page,"page-size":t.pageSize},on:{"update:currentPage":function(e){t.page=e},"update:current-page":function(e){t.page=e}}})],1),e("div",{staticClass:"col-md-4 col-sm-5 col-xs-12 right-content"},[e("ZoneManual",{attrs:{zone:t.zone,isLoading:t.isZoneLoading,showManual:t.showManual}})],1)])]),e("el-dialog",{staticClass:"custom",attrs:{title:t.$t("Вы уверены?"),width:"393px",visible:t.deleteRrSetDialogVisible},on:{"update:visible":function(e){t.deleteRrSetDialogVisible=e}}},[e("div",{staticClass:"flex column gap-2x"},[e("div",{staticClass:"hint"},[t._v(t._s(t.$t("Вы собираетесь удалить набор записей"))),e("span",{staticClass:"text-regular text-underline"},[t._v(" "+t._s(t.deleteRrSetObj.rrSetName))])])]),e("template",{slot:"footer"},[e("div",{staticClass:"flex align-center gap-2x"},[e("btn",{attrs:{type:"secondary",color:"red"},on:{click:t.deleteRrSet}},[t._v(t._s(t.$t("Удалить")))]),e("btn",{attrs:{type:"secondary"},on:{click:t.closeDeleteRrSetDialog}}
1,[t._v(t._s(t.$t("Отмена")))])],1)])],2),e("el-dialog",{staticClass:"custom",attrs:{title:t.$t("Изменение конфигурации зоны"),width:"450px",visible:t.editZoneDialogVisible},on:{"update:visible":function(e){t.editZoneDialogVisible=e}}},[e("div",{staticClass:"flex column gap-2x edit-zone-config"},[e("div",{staticClass:"hint"},[t._v(t._s(t.$t("Вы собираетесь изменить конфигурацию зоны"))),e("span",{staticClass:"text-regular text-underline"},[t._v(" "+t._s(t.zone&&t.zone.zone_name))])]),e("div",{staticClass:"flex"},[e("div",{staticClass:"flex column gap edit-zone-config__field full-height"},[e("div",{staticClass:"flex align-center gap"},[e("label",[t._v(t._s("Rname"))]),e("DataHint",{attrs:{"hint-string":t.$t("RNAME - это поле, которое указывает на email-адрес администратора домена.")}})],1),e("div",{staticClass:"field relative"},[e("Textbox",{attrs:{name:"advancedEditFields.rname",placeholder:t.$t("Например")+": [email protected]"},on:{input:function(e){return t.clearErrors(e,"advancedEditFields.rname")},blur:function(e){return t.applyValue(e,"advancedEditFields.rname")}},model:{value:t.advancedEditFields.rname,callback:function(e){t.$set(t.advancedEditFields,"rname",e)},expression:"advancedEditFields.rname"}}),e("div",{directives:[{name:"show",rawName:"v-show",value:t.$v.advancedEditFields.rname.$error,expression:"$v.advancedEditFields.rname.$error"}],staticClass:"input-error"},[t._v(t._s(t.errorText))])],1)])]),e("div",{staticClass:"flex gap-2x justify-between"},[e("div",{staticClass:"flex column gap edit-zone-config__field full-height"},[e("div",{staticClass:"flex align-center gap"},[e("label",[t._v(t._s("Serial"))]),e("DataHint",{attrs:{"hint-string":t.$t("Serial — это уникальный номер версии зоны, который используется вторичными (slave) серверами для определения, обновилась ли зона на основном (master) сервере.")}})],1),e("div",{staticClass:"field relative"},[e("Textbox",{attrs:{type:"number",name:"advancedEditFields.serial",placeholder:t.$t("Например")+": 2025010101"},on:{input:function(e){return t.clearErrors(e,"advancedEditFields.serial")},blur:function(e){return t.applyValue(e,"advancedEditFields.serial")}},model:{value:t.advancedEditFields.serial,callback:function(e){t.$set(t.advancedEditFields,"serial",e)},expression:"advancedEditFields.serial"}}),e("div",{directives:[{name:"show",rawName:"v-show",value:t.$v.advancedEditFields.serial.$error,expression:"$v.advancedEditFields.serial.$error"}],staticClass:"input-error"},[t._v(t._s(t.errorText))])],1)]),e("div",{staticClass:"flex column gap edit-zone-config__field full-height"},[e("div",{staticClass:"flex align-center gap"},[e("label",[t._v(t._s("Refresh"))]),e("DataHint",{attrs:{"hint-string":t.$t("Refresh — это интервал обновления зоны, который указывает, как часто вторичный (slave) DNS-сервер должен запрашивать изменения у основного (master) DNS-сервера.")}})],1),e("div",{staticClass:"field relative"},[e("Textbox",{attrs:{type:"number",placeholder:t.$t("Например")+": 86400",name:"advancedEditFields.refresh"},on:{input:function(e){return t.clearErrors(e,"advancedEditFields.refresh")},blur:function(e){return t.applyValue(e,"advancedEditFields.refresh")}},model:{value:t.advancedEditFields.refresh,callback:function(e){t.$set(t.advancedEditFields,"refresh",e)},expression:"advancedEditFields.refresh"}}),e("div",{directives:[{name:"show",rawName:"v-show",value:t.$v.advancedEditFields.refresh.$error,expression:"$v.advancedEditFields.refresh.$error"}],staticClass:"input-error"},[t._v(t._s(t.errorText))])],1)])]),e("div",{staticClass:"flex gap-2x justify-between"},[e("div",{staticClass:"flex column gap edit-zone-config__field full-height justify-between"},[e("div",{staticClass:"flex align-center gap"},[e("label",[t._v(t._s("Retry"))]),e("DataHint",{attrs:{"hint-string":t.$t("Retry — это интервал повторной попытки обновления зоны, если предыдущее обновление (Refresh) не удалось.")}})],1),e("div",{staticClass:"field relative"},[e("Textbox",{attrs:{type:"number",placeholder:t.$t("Например")+": 7200",name:"advancedEditFields.retry"},on:{input:function(e){return t.clearErrors(e,"advancedEditFields.retry")},blur:function(e){return t.applyValue(e,"advancedEditFields.retry")}},model:{value:t.advancedEditFields.retry,callback:function(e){t.$set(t.advancedEditFields,"retry",e)},expression:"advancedEditFields.retry"}}),e("div",{directives:[{name:"show",rawName:"v-show",value:t.$v.advancedEditFields.retry.$error,expression:"$v.advancedEditFields.retry.$error"}],staticClass:"input-error"},[t._v(t._s(t.errorText))])],1)]),e("div",{staticClass:"flex column gap edit-zone-config__field full-height justify-between"},[e("div",{staticClass:"flex align-center gap"},[e("label",[t._v(t._s("Expire"))]),e("DataHint",{attrs:{"hint-string":t.$t("Expire в DNS-зоне определяет, через какое время вторичный (slave) DNS-сервер перестанет считать данные от основного (master) сервера актуальными, если не сможет обновить их.")}})],1),e("div",{staticClass:"field relative"},[e("Textbox",{attrs:{type:"number",placeholder:t.$t("Например")+": 1209600",name:"advancedEditFields.expire"},on:{input:function(e){return t.clearErrors(e,"advancedEditFields.expire")},blur:function(e){return t.applyValue(e,"advancedEditFields.expire")}},model:{value:t.advancedEditFields.expire,callback:function(e){t.$set(t.advancedEditFields,"expire",e)},expression:"advancedEditFields.expire"}}),e("div",{directives:[{name:"show",rawName:"v-show",value:t.$v.advancedEditFields.expire.$error,expression:"$v.advancedEditFields.expire.$error"}],staticClass:"input-error"},[t._v(t._s(t.errorText))])],1)])]),e("div",{staticClass:"flex gap-2x justify-between"},[e("div",{staticClass:"flex column gap edit-zone-config__field full-height"},[e("div",{staticClass:"flex align-center gap"},[e("label",[t._v(t._s("TTL"))]),e("DataHint",{attrs:{"hint-string":t.$t("Значение TTL указ
1ывает интервал в секундах, по истечении которого вступают в силу изменения, внесенные в запись DNS. Каждая запись DNS имеет заданное время жизни, которое определяет скорость ее обновления.")}})],1),e("div",{staticClass:"field relative"},[e("Textbox",{attrs:{type:"number",placeholder:t.$t("Например")+": 86400",name:"advancedEditFields.ttl"},on:{input:function(e){return t.clearErrors(e,"advancedEditFields.ttl")},blur:function(e){return t.applyValue(e,"advancedEditFields.ttl")}},model:{value:t.advancedEditFields.ttl,callback:function(e){t.$set(t.advancedEditFields,"ttl",e)},expression:"advancedEditFields.ttl"}}),e("div",{directives:[{name:"show",rawName:"v-show",value:t.$v.advancedEditFields.ttl.$error,expression:"$v.advancedEditFields.ttl.$error"}],staticClass:"input-error"},[t._v(t._s(t.errorText))])],1)]),e("div",{staticClass:"flex column gap edit-zone-config__field full-height full-height"},[e("div",{staticClass:"flex align-center gap"},[e("label",[t._v(t._s("Minimum"))]),e("DataHint",{attrs:{"hint-string":t.$t("Время кеширования негативных ответов - это минимальное время, в течение которого кеширующие DNS-серверы могут хранить негативные ответы (например, если домен не существует — NXDOMAIN) или другие временные записи.")}})],1),e("div",{staticClass:"field relative"},[e("Textbox",{attrs:{type:"number",placeholder:t.$t("Например")+": 3600",name:"advancedEditFields.minimum"},on:{input:function(e){return t.clearErrors(e,"advancedEditFields.minimum")},blur:function(e){return t.applyValue(e,"advancedEditFields.minimum")}},model:{value:t.advancedEditFields.minimum,callback:function(e){t.$set(t.advancedEditFields,"minimum",e)},expression:"advancedEditFields.minimum"}}),e("div",{directives:[{name:"show",rawName:"v-show",value:t.$v.advancedEditFields.minimum.$error,expression:"$v.advancedEditFields.minimum.$error"}],staticClass:"input-error"},[t._v(t._s(t.errorText))])],1)])])]),e("template",{slot:"footer"},[e("div",{staticClass:"flex align-center gap-2x margin-top"},[e("btn",{attrs:{disabled:t.editZoneButtonDisabled},on:{click:t.editZone}},[t._v(t._s(t.$t("Применить")))]),e("btn",{attrs:{type:"secondary"},on:{click:t.closeEditZoneDialog}},[t._v(t._s(t.$t("Отмена")))])],1)])],2)],1)}),[],!1,null,null,null).exports},73493:function(t,e,s){s.r(e),s.d(e,{default:function(){return g}}),s(44114);var a=s(62893),i=s(34445),n=s(26588),r=s(69007),l=s(30852),o=s(98250),c=s(92249),d=s(46894),u=s(33053),m=s.n(u),p=s(15915),v={__name:"index",setup(t){const e=(0,a.inject)("$user"),{initializationParams:s}=(0,i.bP)((0,n.P)()),u=(0,a.ref)(!1),v=(0,a.ref)(!1);return(0,a.onMounted)((async()=>{if(!r.A.currentRoute.params.id)return r.A.push({name:"turboflare-fsd-table"});await l.A.getFSD({accountName:e.accountName,id:r.A.currentRoute.params.id}).then((({data:{data:t}})=>{s.value.id=t.id,s.value.domain=t.domain,s.value.isProxied=t.is_proxied,s.value.dnsZoneId=t.dns_zone_id,s.value.cdnResourceId=t.cdn_resource_id})),u.value=!0,l.A.getResource({accountName:e.accountName,type:"http",id:s.value.cdnResourceId}).then((({data:t})=>{})).finally((()=>{u.value=!1}))})),{__sfc:!0,user:e,initializationParams:s,breadcrumbsItems:[{text:"TurboFlare",route:{name:"turboflare"}},{text:"FSD",route:{name:"turboflare-fsd-table"}},{text:"Редактирование"}],isLoadingResource:u,isCancelConnectionModalVisible:v,closeCancelConnectionModal:()=>v.value=!1,handleDeleteConnection:function(){setTimeout((()=>{v.value=!0}),0)},gotToFsdTablePage:function(){r.A.push({name:"turboflare-fsd-table",params:{pathMatch:""}})},goToCdnResourceSettings:function(){r.A.push({name:"turboflare-edit-cdn-resource",params:{id:s.value.id,resourceId:s.value.cdnResourceId}})},goToDnsZoneSettings:function(){r.A.push({name:"turboflare-edit-dns-zone",params:{id:s.value.id,zoneId:s.value.dnsZoneId}})},Scrolled:o.A,Breadcrumbs:c.A,Btn:d.A,ArrowCircleIcon:m(),CancelConnectionModal:p.A}}},g=(0,s(81656).A)(v,(function(){var t=this,e=t._self._c,s=t._self._setupProxy;return e("div",{staticClass:"flex column grow full-height"},[e(s.Scrolled,[e("div",{staticClass:"content flex justify-between align-center"},[e("div",[e(s.Breadcrumbs,{staticClass:"margin-bottom-2x",attrs:{"breadcrumbs-items":s.breadcrumbsItems}}),s.isLoadingResource?e("ElSkeleton",{attrs:{animated:""}},[e("template",{slot:"template"},[e("div",{staticClass:"el-skeleton__item custom text-transparent",staticStyle:{height:"23px"}},[t._v("Редактирование defaultName")])])],2):e("h1",{staticClass:"text-header-2"},[t._v(t._s(t.$t("Редактирование")+" "+s.initializationParams.domain))])],1
1),e(s.Btn,{staticClass:"content-block-corner-button",attrs:{type:"icon",size:"medium"},on:{click:s.gotToFsdTablePage}},[e(s.ArrowCircleIcon)],1)],1),e("div",{staticClass:"flex gap"},[e("div",{staticClass:"content"},[e("p",{staticClass:"text-sub-header-2 margin-bottom-2x"},[t._v(t._s(t.$t("Настройки CDN-ресурса")))]),e(s.Btn,{attrs:{type:"link"},on:{click:s.goToCdnResourceSettings}},[t._v(t._s(t.$t("Перейти")))])],1),e("div",{staticClass:"content"},[e("p",{staticClass:"text-sub-header-2 margin-bottom-2x"},[t._v(t._s(t.$t("Настройки DNS-зоны")))]),e(s.Btn,{attrs:{type:"link"},on:{click:s.goToDnsZoneSettings}},[t._v(t._s(t.$t("Перейти")))])],1)])]),e("div",{staticClass:"section-footer"},[e("div",{ref:"section-footer",staticClass:"buttons-footer container flex gap-2x padding-top-3x padding-bottom-3x section-footer-wrapper"},[e(s.Btn,{on:{click:s.handleDeleteConnection}},[t._v(t._s(t.$t("Удалить")))])],1)]),e(s.CancelConnectionModal,{attrs:{visible:s.isCancelConnectionModalVisible,isZoneDelegated:!0,isDomainCreated:!0},on:{goToFsdTablePage:s.gotToFsdTablePage,cancel:s.closeCancelConnectionModal}})],1)}),[],!1,null,null,null).exports},63618:function(t,e,s){s.r(e),s.d(e,{default:function(){return n}});var a=s(45520),i={__name:"index",setup(t){return{__sfc:!0,navLinks:[{text:"Сайты",to:{name:"turboflare",params:{pathMatch:""}},alternativeRoutes:["turboflare-fsd-table","turboflare-create-fsd","turboflare-editing-fsd","turboflare-edit-fsd"]}],SectionNav:a.A}}},n=(0,s(81656).A)(i,(function(){var t=this._self._c,e=this._self._setupProxy;return t("div",{staticClass:"flex column full-height relative"},[t("section",{ref:"section-header",staticClass:"section-header"},[t("section",{staticClass:"section-header-wrapper relative container"},[t(e.SectionNav,{attrs:{links:e.navLinks}})],1)]),t("RouterView")],1)}),[],!1,null,null,null).exports},26588:function(t,e,s){s.d(e,{P:function(){return i}});var a=s(62893);const i=(0,s(34445).nY)("turboflare",(()=>{const t=(0,a.ref)([]),e=(0,a.reactive)({domain:"",origin:"",dnsZoneId:"",cdnResourceId:"",isProxied:null,id:""}),s=(0,a.ref)([]);return{ns:s,fsdList:t,initializationParams:e,setNs:function(t){s.value=t},clearInitializationParams:function(){e.domain="",e.origin="",e.dnsZoneId="",e.cdnResourceId="",e.id="",e.isProxied=null}}}))},20916:function(t,e,s){t.exports=s.p+"static/img/cloudflare-instruction-1.a2751569.png"},95407:function(t,e,s){t.exports=s.p+"static/img/cloudflare-instruction-2.e4ff2850.png"}}]);

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.