1(globalThis.webpackChunkPlesk||=[]).push([["views/admin/websites-diagnostic/index"],{1609(e,n,t){"use strict";t.r(n),t.d(n,{SORT_ASC:()=>l,SORT_DESC:()=>c,default:()=>g});var i=t(341),s=t(782),o=t.n(s),a=t(342);const r=t(95).Locale.getSection("components.list"),l="ASC",c="DESC",d="all",m={set(e,n){localStorage.setItem(e,JSON.stringify(n))},get(e){const n=localStorage.getItem(e);return JSON.parse(n)}},u=e=>`list-sort_${e}`,p=e=>`list-page_${e}`,h=({id:e,data:n,columns:t,itemsPerPage:s=25,itemsPerPageOptions:o=[10,25,100,d],sortColumn:c,sortDirection:h=l,searchField:g,locale:b={},emptyView:k,emptyFilteredView:f,toolbar:x,selection:j=[],onSelectionChange:y,searchBarInputProps:C,rowKey:S="key",useStorage:D=!0,...v})=>{const{sortColumn:R,sortDirection:T,setSortState:w}=((e,{sortColumn:n,sortDirection:t})=>{const[{sortColumn:s,sortDirection:o},a]=(0,i.useState)({sortColumn:m.get(u(e))?.sortColumn??n,sortDirection:m.get(u(e))?.sortDirection??t});return{sortColumn:s,sortDirection:o,setSortState:n=>{a(e=>({...e,...n})),m.set(u(e),{...m.get(u(e)),...n})}}})(e,{sortColumn:c??t.find(({sortable:e})=>e)?.key,sortDirection:h}),{page:E,itemsPerPage:P,searchPattern:I,setPageState:O}=((e,{itemsPerPage:n},t=!0)=>{const s=t?{page:m.get(p(e))?.page,itemsPerPage:m.get(p(e))?.itemsPerPage,searchPattern:m.get(p(e))?.searchPattern}:{},[{page:o,itemsPerPage:a,searchPattern:r},l]=(0,i.useState)({page:s.page??1,itemsPerPage:s.itemsPerPage??n,searchPattern:s.searchPattern??""});return{page:o,itemsPerPage:a,searchPattern:r,setPageState:n=>{l(e=>({...e,...n})),t&&m.set(p(e),{...m.get(p(e)),...n})}}})(e,{itemsPerPage:o.includes(s)?s:o[0]},D),F=(0,i.useMemo)(()=>I?f??(0,i.jsx)(a.ListEmptyView,{reason:"filtered","data-testid":"list-empty-view-filtered"}):k??(0,i.jsx)(a.ListEmptyView,{}),[I,k,f]),M=(0,i.useMemo)(()=>t.map(({sortDataField:e,...n})=>n),[t]),L=(0,i.useMemo)(()=>g&&I?n.filter(e=>(Array.isArray(g)?g:[g]).some(n=>e[n]&&String(e[n]).toLowerCase().includes(I.toLowerCase()))):n,[n,I,g]),N=(0,i.useMemo)(()=>{if(!R)return L;const e=t.find(({key:e})=>e===R)?.sortDataField??R,n=t.find(({key:e})=>e===R)?.sort??((n,t)=>n[e]<t[e]?-1:n[e]>t[e]?1:0);return[...L].sort((e,t)=>l===T?n(e,t):n(t,e))},[L,R,T,t]),q=(0,i.useMemo)(()=>{if(P===d)return N;const e=P*(E-1),n=e+P;return N.slice(e,n)},[E,N,P]),A=(0,i.useCallback)(e=>{O({searchPattern:e}),e!==I&&O({page:1})},[I]),W=(0,i.useCallback)(e=>{O({itemsPerPage:e});(e===d?1:Math.ceil(L.length/e))<E&&O({page:1})},[L.length,E]);return(0,i.useEffect)(()=>{if("function"==typeof y&&j.length){const e=L.map(e=>{return n=e,"function"==typeof(t=S)?t(n):n[t];var n,t}).filter(e=>j.includes(e));y(e)}},[L]),(0,i.jsx)(a.List,{pagination:(0,i.jsx)(a.Pagination,{current:E,total:P===d?1:Math.ceil(L.length/P),onSelect:e=>O({page:e}),itemsPerPage:P,itemsPerPageOptions:o,onItemsPerPageChange:W}),toolbar:(x||g)&&(0,i.jsxs)(a.Toolbar,{children:[x,g&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.ToolbarExpander,{}),(0,i.jsx)(a.ToolbarGroup,{title:"",children:(0,i.jsx)(a.SearchBar,{inputProps:{placeholder:r.lmsg("searchPlaceholder"),"data-testid":"list-searchbar",value:I,...C??{}},onTyping:A})})]})]}),totalRows:L.length,sortColumn:R,sortDirection:T,onSortChange:w,columns:M,data:q,filtered:!!I,locale:{totalRows:({totalRows:e})=>r.formatMessage("recordsTotal",{total:e}),...b},emptyView:F,onSelectionChange:y,selection:j,rowKey:S,...v})};h.propTypes={id:o().string.isRequired,data:o().array.isRequired,columns:o().array.isRequired,itemsPerPage:o().number,itemsPerPageOptions:o().array,sortColumn:o().string,sortDirection:o().string,searchField:o().oneOfType([o().string,o().arrayOf(o().string.isRequired)]),locale:o().object,emptyView:o().node,emptyFilteredView:o().node,toolbar:o().node,onSelectionChange:o().func,selection:o().array,rowKey:o().oneOfType([o().string,o().func]),searchBarInputProps:o().object,useStorage:o().bool};const g=h},2661(e,n,t){"use strict";t.r(n),t.d(n,{default:()=>b});var i=t(341),s=t(782),o=t.n(s),a=t(95),r=t(342),l=t(755),c=t(811),d=t(813),m=t(852);const u=a.Locale.getTranslate("admin.controllers.websites-diagnostic.new-check"),p=a.Locale.getSection("admin.controllers.websites-diagnostic.new-check"),h=l.gql` 2 mutation RunWebsitesDiagnostic($period: Int!, $domainIds: [ID!]!, ) { 3 runWebsitesDiagnostic(input: { period: $period, domainIds: $domainIds }) { 4 id, 5 progressTitle, 6 } 7 } 8`,g=({isOpen:e=!1,onClose:n,domains:t,checkedDomains:s,skippedDomains:o,domainF
8orManualCheck:a})=>{const[l,g]=(0,i.useState)({depth:[]}),[b,k]=(0,i.useState)(""),[f,x]=(0,i.useState)([]),[j,y]=(0,i.useState)(null),[C,S]=(0,i.useState)(null),[D]=(0,c.useMutation)(h),v=(0,r.useTranslate)("admin.controllers.websites-diagnostic.new-check"),R=t.filter(({websitesDiagnosticChecks:e})=>{const n=e.find(({type:e})=>"regular"===e),t=e.find(({type:e})=>"manual"===e);return(t?.problems??n.problems).length}),T=s.length+o.length,w=(0,i.useMemo)(()=>[...s,...o].filter(({id:e})=>(0,r.getIn)(l,e)).length,[s,o,l]),E=(0,i.useMemo)(()=>{if(!e)return!0;const n=Math.max(...t.map(({websitesDiagnosticChecks:e})=>Math.max(...e.map(({date:e})=>+new Date(e)))));if(!n)return!0;const i=new Date(n);return(+(0,m.getSysdate)()-+i)/m.HOURS_IN_MS>24},[t,e]);(0,i.useEffect)(()=>{e&&(y(null),g({depth:E?"H24":"M60",all:!o.length,withCheckProblems:R.every(({id:e})=>s.find(n=>n.id===e)),...s.reduce((e,{id:n})=>({...e,[n]:!0}),{}),...o.reduce((e,{id:n})=>({...e,[n]:!1}),{})}),k(""),x([...s,...o]))},[e,s,o,E]),(0,i.useEffect)(()=>{x([...s,...o].filter(({name:e})=>e.toLowerCase().includes(b.toLowerCase())))},[b]);const P=()=>{"submit"!==j&&n(),S(null)},I=(e,n)=>{switch(g(t=>(0,r.setIn)(t,e,n)),e){case"withCheckProblems":R.forEach(({id:e})=>I(e,n));break;case"all":[...s,...o].forEach(({id:e})=>I(e,n));break;default:n?(t=e,[...s,...o].every(({id:e})=>e===t||l[e])&&g(e=>(0,r.setIn)(e,"all",!0)),R.every(({id:e})=>e===t||l[e])&&g(e=>(0,r.setIn)(e,"withCheckProblems",!0))):(e=>{g(e=>(0,r.setIn)(e,"all",!1)),R.find(({id:n})=>n===e)&&g(e=>(0,r.setIn)(e,"withCheckProblems",!1))})(e)}var t};return(0,i.jsxs)(d.default,{pageUrl:window.location.pathname,task:C,dataType:"websites-diagnostic-new-check",title:a?p.formatMessage("titleForWebsite",{website:a.name}):C?p.formatMessage("titleRunning",{count:w}):p.formatMessage("title"),subtitle:!C&&!a&&(0,i.jsx)(u,{content:"description",params:{total:T,selected:w}}),size:"sm",isOpen:e,onClose:P,form:{state:j,applyButton:!1,onFieldChange:I,submitButton:{id:"btn-send",name:"send","data-cy":"run-manual-check",children:(0,i.jsx)(u,{content:"buttonSave"}),onClick:async()=>{y("submit");const{data:e}=await D({variables:{period:(n=l.depth,n.includes("M")?+n.replace("M",""):60*+n.replace("H","")),domainIds:a?[a.id]:[...s,...o].filter(({id:e})=>l[e]).map(({id:e})=>e)}});var n;S(e.runWebsitesDiagnostic),y(null)}},cancelButton:{id:"btn-cancel",name:"cancel",children:(0,i.jsx)(u,{content:"buttonCancel"}),onClick:P},values:l},children:[(0,i.jsx)(r.Section,{title:(0,i.jsx)(r.Heading,{level:4,children:(0,i.jsx)(u,{content:"depth"})}),children:(0,i.jsxs)(r.SectionItem,{children:[(0,i.jsx)(r.FormField,{label:(0,i.jsx)(u,{content:"checkTheLast"}),name:"depth",vertical:!0,required:!0,children:({getValue:e,setValue:n})=>{const[t,...s]=e();return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.InputNumber,{min:1,max:"M"===t?60:24,value:+s.join(""),onChange:e=>n(`${t}${e}`),"data-testid":"depthValue"})," ",(0,i.jsxs)(r.Select,{value:t,onChange:e=>n(((e,n)=>"H"===e&&n>24?`${e}24`:`${e}${n}`)(e,+s.join(""))),"data-testid":`periodValue-${t}`,children:[(0,i.jsx)(r.SelectOption,{value:"M",children:p.formatMessage("selectMinutes")}),(0,i.jsx)(r.SelectOption,{value:"H",children:p.formatMessage("selectHours")})]})]})}}),(0,i.jsx)(r.SectionItem,{children:(0,i.jsx)(u,{content:"ifYouHaveAnyProblemActivities"})}),(0,i.jsx)(r.SectionItem,{children:(0,i.jsx)(u,{content:"weAlsoRecommendVisiting",params:{visitingTheWebsite:a?(0,i.jsx)("a",{href:a.siteUrl,target:"_blank",rel:"noopener noreferrer",children:p.formatMessage("visitingTheWebsite")}):p.formatMessage("visitingTheWebsite")}})})]})}),T&&!a?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("br",{}),(0,i.jsx)(r.Heading,{level:4,children:(0,i.jsx)(u,{content:"websites"})}),(0,i.jsx)(r.SearchBar,{inputProps:{placeholder:v("search")},onTyping:e=>k(e.trim())}),(0,i.jsx)("br",{}),R.length?(0,i.jsx)(r.FormFieldCheckbox,{label:(0,i.jsx)(r.Text,{bold:!0,"data-cy":"websites-with-problems",children:(0,i.jsx)(u,{content:"checkProblems"})}),name:"withCheckProblems"}):null,(0,i.jsx)(r.FormFieldCheckbox,{label:(0,i.jsx)(r.Text,{bold:!0,"data-cy":"all-websites",children:(0,i.jsx)(u,{content:"allWebsites"})}),name:"all"}),(0,i.jsx)(r.MenuDivider,{}),f.sort(({name:e},{name:n})=>e<=n?-1:1).map(({id:e,name:n})=>(0,i.jsx)(r.FormFieldCheckbox,{label:n,name:e},e))]}):null]})};g.propTypes={isOpen:o().bool,onClose:o().func.isRequired,domains:o().array.isRequired,checkedDomains:o().array.isRequired,skippedDomains:o().array.isRequired,domainF
8orManualCheck:o().shape({id:o().string,name:o().string,siteUrl:o().string})};const b=g},2660(e,n,t){"use strict";t.r(n),t.d(n,{default:()=>m});var i=t(782),s=t.n(i),o=t(342),a=t(95),r=t(2661),l=t(341);const c=a.Locale.getTranslate("admin.controllers.websites-diagnostic"),d=({checkedDomains:e,skippedDomains:n,domains:t,isNewCheckOpen:i,onToggleManualCheck:s,domainForManualCheck:a})=>(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(r.default,{isOpen:i,onClose:()=>s(!1),domains:t,checkedDomains:e,skippedDomains:n,domainForManualCheck:a}),(0,l.jsxs)(o.Item,{view:"card",children:[(0,l.jsx)(o.Button,{intent:"primary",icon:"start-circle",size:"lg","data-cy":"start-manual-check",onClick:()=>s(!0),children:(0,l.jsx)(c,{content:"buttonRun"})}),(0,l.jsx)("br",{}),(0,l.jsx)("br",{}),(0,l.jsx)("p",{children:(0,l.jsx)(c,{content:"buttonRunDescription"})})]})]});d.propTypes={checkedDomains:s().array.isRequired,skippedDomains:s().array.isRequired,isNewCheckOpen:s().bool.isRequired,domains:s().array.isRequired,onToggleManualCheck:s().func.isRequired,domainF
8orManualCheck:s().shape({id:s().string,name:s().string})};const m=d},2638(e,n,t){"use strict";t.r(n),t.d(n,{default:()=>x});var i=t(341),s=t(811),o=t(785),a=t(782),r=t.n(a),l=t(342),c=t(2639),d=t(2641),m=t(2649),u=t(2658),p=t(2660),h=t(860),g=t.n(h),b=t(2662),k=t.n(b);const f=({params:{domainId:e}={}})=>{const{data:{server:{websitesDiagnostic:{settings:{isPromoShown:n,documentationLink:t,checkedDomains:a,skippedDomains:r,...h},domains:b}}}}=(0,o.useQuery)(g()),[f,x]=(0,i.useState)(!1),[j,y]=(0,i.useState)(),[C,S]=(0,i.useState)(),[D,v]=(0,i.useState)(),[R,T]=(0,i.useState)({}),[w,E]=(0,i.useState)(!1),[P,I]=(0,i.useState)(!1),[O,{loading:F}]=(0,s.useMutation)(k()),M=(0,i.useCallback)(e=>(n,t)=>{v(e),T(n),S(t),x(!0)},[]),L=(0,i.useCallback)(()=>{x(!1),v(void 0),S(void 0),T({})},[]),N=(0,i.useCallback)(e=>{x(!1),y(e),E(!0)},[]),q=(0,i.useCallback)(e=>{y(void 0),E(e)},[]),A=(0,i.useCallback)(()=>{x(!1),O({variables:{isRegularCheckEnabled:!h.isRegularCheckEnabled}})},[O,h.isRegularCheckEnabled]),W=(0,i.useCallback)(()=>{x(!1),I(!0)},[]),B={isEnabled:h.isRegularCheckEnabled,isSkippedInCheck:r.find(({id:e})=>C===e),onToggleRegularCheck:A,onOpenWebsitesList:W};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(c.default,{isPromoShown:n,documentationLink:t}),(0,i.jsxs)(l.ItemList,{gap:"md",stretchable:!0,xs:1,sm:2,md:3,hoverable:!1,children:[(0,i.jsx)(u.default,{checkedDomains:a,skippedDomains:r,isWebsitesListOpen:P,isLoading:F,onToggleFeature:O,onOpenWebsitesList:I,...h}),(0,i.jsx)(p.default,{checkedDomains:a,skippedDomains:r,domains:b,isNewCheckOpen:w,onToggleManualCheck:q,domainForManualCheck:j,...h})]}),!!b.length&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(d.default,{domains:b,onOpenProblemDetails:M,onCheckDomainManually:N,domainId:e}),(0,i.jsx)(m.ProblemReport,{domains:b,isOpen:f,reportType:D,problemData:R,chosenDomainId:C,regularCheckInfo:B,onCloseReport:L,onChangeReportType:v,onSetChosenDomainId:S,onCheckDomainManually:N})]})]})};f.propTypes={params:r().shape({domainId:r().string})};const x=f},2657(e,n,t){"use strict";t.r(n),t.d(n,{AffectedWebsites:()=>l});var i=t(782),s=t.n(i),o=t(342),a=t(1609),r=t(341);const l=({data:e,onGotoDomain:n})=>{const t=(0,o.useTranslate)("admin.controllers.websites-diagnostic.affected-websites"),i=[{key:"name",title:t("websites"),sortable:!0,render:e=>(0,r.jsx)(o.Link,{onClick:()=>n(e.id),"data-cy":"affected-site",children:e.name})},{key:"links",render:e=>(0,r.jsx)(o.Button,{ghost:!0,icon:"web-settings",tooltip:t("showProblemDetails"),onClick:()=>n(e.id)}),align:"right"}];return(0,r.jsx)(a.default,{id:"affected-websites-list",data:e,rowKey:"id",columns:i,searchField:"name",itemsPerPage:10,searchBarInputProps:{placeholder:t("searchForWebsite")}})};l.propTypes={data:s().array.isRequired,onGotoDomain:s().func.isRequired}},2653(e,n,t){"use strict";t.r(n),t.d(n,{ProblemReportChart:()=>m});var i=t(782),s=t.n(i),o=t(341),a=t(2130),r=t(342),l=t(2654),c=t(852),d=t(2642);const m=({data:e=[],serverUTC:n,selectedTZ:t,dispayedDay:i})=>{const[s,m]=(0,o.useState)(null),u=(0,r.useTranslate)("admin.controllers.websites-diagnostic.chart"),p=(0,o.useCallback)((0,l.throttle)((e,{event:n})=>{"rect"!==n.target.tagName?s&&m(null):s||m(e)},50),[s]);if(!e.length)return;const h=[{title:u("requests"),color:"#bdb7b7",strokeWidth:3},{title:u("errors"),color:"#bc1515",strokeWidth:3}],g=(0,c.getTimezoneShift)(e[0].timestamp.replace(/(.+)([-+])/,"$2")),b=t===d.Timezones.SERVER?n-g:d.USER_TIMEZONE-g,{requests:k,errors:f}=e.reduce((e,n)=>{if(!((e,n,t)=>{const i=(0,c.addHours)(t,new Date(n)),s=e===d.PROBLEM_PERIOD.TODAY&&(0,c.isSameDay)(i,new Date),o=e===d.PROBLEM_PERIOD.YESTERDAY&&(0,c.isSameDay)(i,(0,c.addDays)(-1,new Date));return s||o})(i,n.timestamp,b))return e;const[t,s]=(({timestamp:e,requestsCount:n,errorsCount:t},i)=>{const[,s]=e.split(" "),[o]=s.split(/[+-]/),[a,r]=o.split(":"),l=+a+r/60;return[{x:l+i,y:n},{x:l+i,y:t}]})(n,b);return e.requests.push(t),e.errors.push(s),e},{requests:[],errors:[]}),x=Math.max(...k.concat(f).map(({y:e})=>e));return(0,o.jsx)("div",{id:"problem-report-chart",children:(0,o.jsxs)(a.XYPlot,{width:852,height:300,margin:{left:0,right:0},xDomain:[0,24],yDomain:[0,1.2*x],xDistance:1.2,children:[(0,o.jsx)(a.DiscreteColorLegend,{items:h,orientation:"vertical",style:{position:"absolute",left:5,top:10}}),(0,o.jsx)(a.VerticalBarSeries,{data:k,barWidth:10,color:"#bdb7b7",onNearestX:p}),(0,o.jsx)(a.VerticalBarSeries,{data:f,barWidth:10,color:"#bc1515",onNearestX:p}),(0,o.jsx)(a.XAxis,{tickValues:[4,8,12,16,20],tickFormat:e=>`${`0${e}`.slice(-2)}.00`}),(0,o.jsx)(a.XAxis,{top:10,tickTotal:0}),(0,o.jsx)(a.YAxis,{tickTotal:0}),(0,o.jsx)(a.VerticalGridLines,{tickValues:[4,8,12,16,20,24]}),s&&(0,o.jsx)(a.Hint,{value:s,children:(0,o.jsxs)("div",{className:"chart-hint",children:[(0,o.jsx)("div",{children:`${u("errors")}: ${f.find(({x:e})=>e===s.x)?.y??0}`}),(0,o.jsx)("div",{children:`${u("requests")}: ${k.find(({x:e})=>e===s.x)?.y??0}`})]})})]})})};m.propTypes={serverUTC:s().number.isRequired,selectedTZ:s().string.isRequired,data:s().arrayOf(s().shape({timestamp:s().string,errorsCount:s().number,requestsCount:s().number})),dispayedDay:s().string.isRequired}},2652(e,n,t){"use strict";t.r(n),t.d(n,{DistributionOverTime:()=>m});var i=t(341),s=t(782),o=t.n(s),a=t(95),r=t(342),l=t(2642),c=t(2653);const d=a.Locale.getTranslate("admin.controllers.websites-diagnostic.distribution-over-time"),m=({serverUTC:e,plotItems:n,dispayedDay:t,regularCheckInfo:s,domain:o,onCheckDomainManually:a})=>{const[m,u]=(0,i.useState)(l.Timezones.SERVER),{id:p,name:h,siteUrl:g}=o,{isEnabled:b,isSkippedInCheck:k,onOpenWebsitesList:f,onToggleRegularCheck:x}=s,j=(0,i.useMemo)(()=>{switch(t){case l.PROBLEM_PERIOD.TODAY:return(0,i.jsx)(d,{content:"titleToday"});case l.PROBLEM_PERIOD.YESTERDAY:return(0,i.jsx)(d,{content:"titleYesterday"});default:return(0,i.jsx)(d,{content:"title"})}},[t]),y=(0,i.useCallback)(()=>b?b&&k?(0,i.jsx)(d,{content:"pleseIncludeWebsiteForCheck"}):(0,i.jsx)(d,{content:"pleaseWaitUntilRegularCheckWillBeStarted"}):(0,i.jsx)(d,{content:"pleseEnableRegularCheck"}),[b,k]);if(!n.length)return null;return!Object.values(l.PROBLEM_PERIOD).includes(t)?(0,i.jsx)(r.Section,{title:j,children:(0,i.jsxs)(r.Alert,{intent:"info",children:[(0,i.jsx)(d,{content:"noDataForRecentTime",params:{suggestion:y()}}),!b&&(0,i.jsx)("div",{children:(0,i.jsx)(r.Action,{icon:"power",onClick:x,children:(0,i.jsx)(d,{content:"enableRegularCheck"})})}),b&&k&&(0,i.jsx)("div",{children:(0,i.jsx)(r.Action,{icon:"plus",onClick:f,children:(0,i.jsx)(d,{content:"addWebsiteToRegularCheckList"})})}),(0,i.jsx)("div",{children:(0,i.jsx)(r.Action,{icon:"refresh",onClick:()=>a({id:p,name:h,siteUrl:g}),children:(0,i.jsx)(d,{content:"runManualCheck"})})})]})}):(0,i.jsxs)(r.Section,{title:j,id:"distribution-over-time",children:[(0,i.jsx)(r.SegmentedControl,{buttons:[{value:l.Timezones.SERVER,title:(0,i.jsx)(d,{content:"serverTimezone",params:{utcShift:e<0?e:`+${e}`}})},{value:l.Timezones.CLIENT,title:(0,i.jsx)(d,{content:"yourTimezone",params:{utcShift:l.USER_TIMEZONE<0?l.USER_TIMEZONE:`+${l.USER_TIMEZONE}`}})}],selected:m,onChange:u}),(0,i.jsx)(c.ProblemReportChart,{data:n,serverUTC:e,selectedTZ:m,dis
8payedDay:t})]})};m.propTypes={serverUTC:o().number.isRequired,plotItems:o().arrayOf(o().shape({requestsCount:o().number,errorsCount:o().number,timestamp:o().string})).isRequired,regularCheckInfo:o().shape({isEnabled:o().bool,isSkippedInCheck:o().bool,onToggleRegularCheck:o().func,onOpenWebsitesList:o().func}).isRequired,dispayedDay:o().string,domain:o().shape({id:o().string,name:o().string,siteUrl:o().string}).isRequired,onCheckDomainManually:o().func.isRequired}},2651(e,n,t){"use strict";t.r(n),t.d(n,{ProblemDetails:()=>y});var i=t(341),s=t(785),o=t(782),a=t.n(o),r=t(342),l=t(95),c=t(897),d=t(1367),m=t(2652),u=t(2655),p=t(2644),h=t(852),g=t(2642),b=t(2656),k=t.n(b);const f=l.Locale.getTranslate("admin.controllers.websites-diagnostic.problem-report"),x=l.Locale.getSection("admin.controllers.websites-diagnostic.problem-report"),j=(e,n)=>{if(!e)return{};const[t,i]=e.split(" "),[s]=i.split(/[+-]/),o=n-g.USER_TIMEZONE,a=(0,h.addHours)(o,new Date(e)),r=new Date;if((0,h.isSameDay)(r,a))return{period:g.PROBLEM_PERIOD.TODAY,time:s};const l=(0,h.addDays)(-1,r);if((0,h.isSameDay)(l,a))return{period:g.PROBLEM_PERIOD.YESTERDAY,time:s};const[c,d,m]=t.split("-");return{period:`${m}.${d}.${c}`,time:s}},y=({problemCode:e,isServerWide:n=!1,chosenDomainId:t,affectedWebsitesCount:o,regularCheckInfo:a,onGotoAffectedWebsites:l,onCheckDomainManually:h})=>{const{data:b,loading:y,error:C}=(0,s.useQuery)(k(),{variables:{domainId:t,problemCode:e}});C&&window.location.reload();const S=(0,i.useMemo)(()=>{if(!b)return"";const e=b.server.websitesDiagnostic.domains[0],n=(0,c.getId)(e.id),t=(0,c.getId)(e.baseDomain?.id||e.id);return(0,d.getContextUrl)(t,`/smb/log-file/browser/id/${n}`)},[b]);if(y)return(0,i.jsx)(r.ContentLoader,{});const{settings:D,domains:v}=b.server.websitesDiagnostic,R=[{key:"path",title:(0,i.jsx)(f,{content:"logFile"}),type:"title"},{key:"line",title:(0,i.jsx)(f,{content:"logEntry"}),type:"title"}],T=v[0],w=[...(0,p.getReportProblems)(T.websitesDiagnosticChecks,g.CheckType.MANUAL),...(0,p.getReportProblems)(T.websitesDiagnosticChecks,g.CheckType.REGULAR)],E=w[0],P=w.reduce((e,n)=>e.concat(n.plotItems),[]).map(e=>e.timestamp).sort(),I=j(P[0],D.timezoneOffset),O=j(P[P.length-1],D.timezoneOffset),{id:F,name:M,siteUrl:L}=T;return(0,i.jsxs)(i.Fragment,{children:[!n&&(0,i.jsxs)(r.StatusMessage,{intent:"info",children:[x.formatMessage("problemAppearsOn",{count:o})," ",(0,i.jsx)(r.Link,{onClick:l,children:(0,i.jsx)(r.Text,{bold:!0,children:(0,i.jsx)(f,{content:"seeTheConsolidatedReport"})})})]}),n&&(0,i.jsx)(r.Section,{children:(0,i.jsx)(f,{content:"thisIsServerWideProblem"})}),(0,i.jsx)(r.Section,{children:(0,i.jsx)("div",{dangerouslySetInnerHTML:{__html:E.description}})}),O&&(0,i.jsx)(u.ProblemOccuranceTime,{timezoneOffset:D.timezoneOffset,firstProblemTimeInfo:I,lastProblemTimeInfo:O}),(0,i.jsx)(r.Section,{title:(0,i.jsx)(r.Heading,{level:4,children:(0,i.jsx)(f,{content:"cause"})}),children:(0,i.jsx)("div",{dangerouslySetInnerHTML:{__html:E.cause}})}),(0,i.jsx)(r.Section,{title:(0,i.jsx)(f,{content:"possibleSolutions"}),children:E.solutions.map((e,n)=>{const t=(e=>{const n=e.replace(/<ol>.+<\/ol>/,""),t=e.match(/<ol>.+<\/ol>/),i=t?t[0]:"",s=document.createElement("div");return s.innerHTML=i,{description:n,steps:[...s.querySelectorAll("li")].map(e=>e.innerHTML)}})(e.text);return(0,i.jsxs)(r.Section,{title:(0,i.jsx)(r.Heading,{level:4,children:(0,i.jsxs)("div",{className:"problem-details-solution__heading",children:[E.solutions.length>1&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(f,{content:"option",params:{number:n+1}})," "]}),e.title,0===n&&(0,i.jsx)(r.Label,{intent:"success",children:x.formatMessage("recommended")})]})}),collapsible:!0,collapsed:0!==n,children:[!!t.description&&(0,i.jsx)("div",{dangerouslySetInnerHTML:{__html:t.description}}),!!t.steps&&(0,i.jsxs)("ol",{children:[t.steps.map((e,n)=>(0,i.jsx)("li",{dangerouslySetInnerHTML:{__html:e}},n)),(0,i.jsx)("li",{"data-cy":"recheck-website-from-details",children:(0,i.jsx)(f,{content:"weRecommendToRecheck",params:{recheckWebsite:(0,i.jsx)(r.Action,{icon:"refresh",onClick:()=>h({id:F,name:M,siteUrl:L}),children:(0,i.jsx)(f,{content:"recheckWebsite"})})}})},t.steps.length)]})]},n)})}),(0,i.jsx)(m.DistributionOverTime,{serverUTC:D.timezoneOffset,plotItems:E.plotItems,dispayedDay:O.period,regularCheckInfo:a,domain:T,onCheckDomainManually:h}),(0,i.jsxs)(r.Section,{title:(0,i.jsx)(f,{content:"logEntries"}),children:[(0,i.jsx)(f,{content:"pleaseKeepInMind"}),(0,i.jsx)(r.List,{columns:R,rowKey:({path:e,line:n})=>`${e}|${n}`,data:E.examples}),!n&&(0,i.jsx)(r.Link,{href:S,target:"_blank",children:(0,i.jsx)(f,{content:"openWebsiteLogs"})})]})]})};y.propTypes={isServerWide:a().bool,problemCode:a().string.isRequired,chosenDomainId:a().string.isRequired,affectedWebsitesCount:a().number.isRequired,regularCheckInfo:a().shape({isEnabled:a().bool,isSkippedInCheck:a().bool,onToggleRegularCheck:a().func,onOpenWebsitesList:a().func}).isRequired,onGotoAffectedWebsites:a().func.isRequired,onCheckDomainManually:a().func.isRequired}},2655(e,n,t){"use strict";t.r(n),t.d(n,{ProblemOccuranceTime:()=>m});var i=t(342),s=t(95),o=t(2642),a=t(782),r=t.n(a),l=t(341);const c=s.Locale.getTranslate("admin.controllers.websites-diagnostic.problem-report"),d=e=>{switch(e.period){case o.PROBLEM_PERIOD.YESTERDAY:return(0,l.jsx)(c,{content:"yesterdayAt",params:{time:e.time}});case o.PROBLEM_PERIOD.TODAY:return(0,l.jsx)(c,{content:"todayAt",params:{time:e.time}});default:return(0,l.jsx)(c,{content:"dateAt",params:{date:e.period,time:e.time}})}},m=({timezoneOffset:e,firstProblemTimeInfo:n,lastProblemTimeInfo:t})=>{const s=[o.PROBLEM_PERIOD.TODAY,o.PROBLEM_PERIOD.YESTERDAY].includes(t.period),a=s&&t.period===n.period,r=(e,n)=>{const t=(0,l.jsx)(c,{content:"firstProblemTime",params:{info:d(e)}});return n?(0,l.jsx)(i.Link,{onClick:()=>document.getElementById("distribution-over-time").scrollIntoView({behavior:"smooth"}),children:t}):t};return(0,l.jsxs)(i.Section,{children:[(0,l.jsx)(c,{content:"checkDetectedIssue",params:{timezone:e>0?`+${e}`:e}}),(0,l.jsxs)("ul",{children:[(0,l.jsx)("li",{children:r(n,a)}),(0,l.jsx)("li",{children:r(t,s)})]})]})};m.propTypes={timezoneOffset:r().number.isRequired,firstProblemTimeInfo:r().shape({period:r().string,time:r().str
8ing}).isRequired,lastProblemTimeInfo:r().shape({period:r().string,time:r().string}).isRequired}},2650(e,n,t){"use strict";t.r(n),t.d(n,{ReportContent:()=>d});var i=t(782),s=t.n(i),o=t(2651),a=t(2657),r=t(2642),l=t(2644),c=t(341);const d=({domains:e,problemCode:n,chosenDomainId:t,reportType:i,regularCheckInfo:s,onGotoAffectedWebsites:d,onGotoDomain:m,onCheckDomainManually:u})=>{if(!n)return null;const p=e.filter(({websitesDiagnosticChecks:e})=>(0,l.findProblem)(e,n));return i===r.ReportTypes.AFFECTED_WEBSITES?(0,c.jsx)(a.AffectedWebsites,{data:p,onGotoDomain:m}):(0,c.jsx)(o.ProblemDetails,{problemCode:n,chosenDomainId:t,affectedWebsitesCount:p.length,isServerWide:i===r.ReportTypes.SERVERWIDE,regularCheckInfo:s,onGotoAffectedWebsites:d,onCheckDomainManually:u})};d.propTypes={domains:s().array.isRequired,problemCode:s().string,chosenDomainId:s().string,reportType:s().oneOf(Object.values(r.ReportTypes)).isRequired,regularCheckInfo:s().shape({isEnabled:s().bool,isSkippedInCheck:s().bool,onToggleRegularCheck:s().func,onOpenWebsitesList:s().func}).isRequired,onGotoAffectedWebsites:s().func.isRequired,onCheckDomainManually:s().func.isRequired,onGotoDomain:s().func.isRequired}},2649(e,n,t){"use strict";t.r(n),t.d(n,{ProblemReport:()=>p});var i=t(341),s=t(782),o=t.n(s),a=t(342),r=t(95),l=t(2650),c=t(2642),d=t(2644);const m=r.Locale.getTranslate("admin.controllers.websites-diagnostic.problem-report"),u=r.Locale.getSection("admin.controllers.websites-diagnostic.problem-report"),p=({isOpen:e=!1,reportType:n,domains:t,problemData:s,chosenDomainId:o,regularCheckInfo:r,onCloseReport:p,onChangeReportType:h,onSetChosenDomainId:g,onCheckDomainManually:b})=>{const k=(0,i.useMemo)(()=>{switch(n){case c.ReportTypes.AFFECTED_WEBSITES:{const e=t.filter(({websitesDiagnosticChecks:e})=>!!(0,d.findProblem)(e,s.code));return u.formatMessage("cumulativeTitle",{count:e.length})}case c.ReportTypes.DOMAIN:{const e=t.find(({id:e})=>e===o);return(0,i.jsx)(m,{content:"domainTitle",params:{domain:(0,i.jsx)(a.Text,{bold:!0,children:e.name})}})}case c.ReportTypes.SERVERWIDE:return(0,i.jsx)(m,{content:"serverWideTitle"})}},[n,t,s,o]),f=(0,i.useCallback)(e=>{h(c.ReportTypes.DOMAIN),g(e)},[h,g]),x=(0,i.useCallback)(()=>
8h(c.ReportTypes.AFFECTED_WEBSITES),[h]);return(0,i.jsx)(a.Drawer,{"data-type":"problem-report",title:k,subtitle:s.name,isOpen:e,onClose:p,children:s.code?(0,i.jsx)(l.ReportContent,{domains:t,chosenDomainId:o,problemCode:s.code,reportType:n,regularCheckInfo:r,onGotoAffectedWebsites:x,onGotoDomain:f,onCheckDomainManually:b}):null})};p.propTypes={isOpen:o().bool,chosenDomainId:o().string,problemData:o().shape({code:o().string,name:o().string,domainName:o().string}).isRequired,reportType:o().oneOf(Object.values(c.ReportTypes)),domains:o().array.isRequired,regularCheckInfo:o().shape({isEnabled:o().bool,isSkippedInCheck:o().bool,onToggleRegularCheck:o().func,onOpenWebsitesList:o().func}).isRequired,onCloseReport:o().func.isRequired,onSetChosenDomainId:o().func.isRequired,onChangeReportType:o().func.isRequired,onCheckDomainManually:o().func.isRequired}},2644(e,n,t){"use strict";t.r(n),t.d(n,{findProblem:()=>o,getReportProblems:()=>s});var i=t(2642);const s=(e,n)=>(e.find(({type:e})=>e===n)??{problems:[]}).problems,o=(e,n)=>[...s(e,i.CheckType.MANUAL),...s(e,i.CheckType.REGULAR)].find(e=>e.code===n)},2639(e,n,t){"use strict";t.r(n),t.d(n,{default:()=>p});var i=t(342),s=t(755),o=t(811),a=t(95),r=t(782),l=t.n(r),c=t(341);const d=a.Locale.getTranslate("admin.controllers.websites-diagnostic"),m=s.gql` 9 mutation CloseWebsitesDiagnosticPromo { 10 updateWebsitesDiagnosticSettings(input: { isPromoShown: false }) { 11 query { 12 server { 13 websitesDiagnostic { 14 settings { 15 isPromoShown 16 } 17 } 18 } 19 } 20 } 21 } 22`,u=({isPromoShown:e=!0,documentationLink:n})=>{const[s]=(0,o.useMutation)(m);return e?(0,c.jsx)(i.Panel,{title:(0,c.jsx)(i.Heading,{level:4,children:(0,c.jsx)(d,{content:"promoTitle"})}),extra:(0,c.jsx)(i.Button,{ghost:!0,icon:"remove",onClick:s}),children:(0,c.jsxs)(i.Media,{image:(0,c.jsx)(i.Icon,{src:t(2640),size:"128"}),children:[(0,c.jsx)(i.MediaSection,{children:(0,c.jsx)(d,{content:"promoDescription"})}),n&&(0,c.jsx)(i.MediaSection,{children:(0,c.jsx)("a",{target:"_blank",href:n,rel:"noopener noreferrer",children:(0,c.jsx)(d,{content:"promoMore"})})}),(0,c.jsx)(i.MediaSection,{children:(0,c.jsx)(i.Button,{onClick:s,children:(0,c.jsx)(d,{content:"promoButton"})})})]})}):null};u.propTypes={isPromoShown:l().bool,documentationLink:l().string};const p=u},2659(e,n,t){"use strict";t.r(n),t.d(n,{default:()=>h});var i=t(342),s=t(341),o=t(95),a=t(755),r=t(811),l=t(718),c=t(782),d=t.n(c);const m=o.Locale.getTranslate("admin.controllers.websites-diagnostic.websites"),u=a.gql` 23 mutation UpdateWebsitesDiagnosticSettings($isNewDomainsChecked: Boolean!, $domains: [UpdateWebsitesDiagnosticSettingsDomainsInput!]) { 24 updateWebsitesDiagnosticSettings(input: { isNewDomainsChecked: $isNewDomainsChecked, domains: $domains }) { 25 query { 26 server { 27 websitesDiagnostic { 28 settings { 29 isNewDomainsChecked 30 checkedDomains { 31 id 32 name(idn: false) 33 } 34 skippedDomains { 35 id 36 name(idn: false) 37 } 38 } 39 } 40 } 41 } 42 } 43 } 44`,p=({isOpen:e=!1,onClose:n,checkedDomains:t,skippedDomains:o,isNewDomainsChecked:a=!1})=>{const[c,d]=(0,s.useState)({}
44),[p,h]=(0,s.useState)(""),[g,b]=(0,s.useState)([]),[k,f]=(0,s.useState)(null),[x]=(0,r.useMutation)(u,{onCompleted:()=>{(0,l.addToast)({intent:"success",message:(0,s.jsx)(m,{content:"updateSuccess"})})}}),j=(0,i.useTranslate)("admin.controllers.websites-diagnostic.websites"),y=t.length+o.length;(0,s.useEffect)(()=>{e&&(d({new:a,existing:!o.length,...t.reduce((e,{id:n})=>({...e,[n]:!0}),{}),...o.reduce((e,{id:n})=>({...e,[n]:!1}),{})}),h(""),b([...t,...o]))},[e,a,t,o]),(0,s.useEffect)(()=>{b([...t,...o].filter(({name:e})=>e.toLowerCase().includes(p.toLowerCase())))},[p,t,o]);const C=()=>"submit"!==k&&n(),S=(e,n)=>{switch(d(t=>(0,i.setIn)(t,e,n)),e){case"new":break;case"existing":[...t,...o].forEach(({id:e})=>S(e,n));break;default:n?[...t,...o].every(({id:n})=>n===e||c[n])&&d(e=>(0,i.setIn)(e,"all",!0)):d(e=>(0,i.setIn)(e,"existing",!1))}};return(0,s.jsxs)(i.Drawer,{"data-type":"websites-diagnostic-websites-list",title:(0,s.jsx)(m,{content:"title"}),subtitle:(0,s.jsx)(m,{content:"description",params:{total:y,selected:[...t,...o].filter(({id:e})=>(0,i.getIn)(c,e)).length}}),isOpen:e,onClose:C,size:"sm",form:{state:k,applyButton:!1,onFieldChange:S,submitButton:{id:"btn-send",name:"send",children:(0,s.jsx)(m,{content:"buttonSave"}),onClick:async()=>{f("submit"),await x({variables:{isNewDomainsChecked:c.new,domains:[...t,...o].map(({id:e})=>({id:e,isChecked:c[e]}))}}),f(null),C()}},cancelButton:{id:"btn-cancel",name:"cancel",children:(0,s.jsx)(m,{content:"buttonCancel"}),onClick:C},values:c},children:[y?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.SearchBar,{inputProps:{placeholder:j("search")},onTyping:e=>h(e.trim())}),(0,s.jsx)("br",{})]}):null,(0,s.jsx)(i.FormField,{label:null,name:"new",children:({getValue:e,setValue:n})=>(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.Checkbox,{checked:e(),onChange:n,children:(0,s.jsx)(i.Text,{bold:!0,children:(0,s.jsx)(m,{content:"new"})})})," ",(0,s.jsx)(i.Popover,{intent:"info",target:(0,s.jsx)(i.Icon,{name:"info-circle"}),children:(0,s.jsx)(m,{content:"newHint"})})]})}),y?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.FormFieldCheckbox,{label:(0,s.jsx)(i.Text,{bold:!0,"data-cy":"existing-sites",children:(0,s.jsx)(m,{content:"existing"})}),name:"existing"}),(0,s.jsx)(i.MenuDivider,{}),g.sort(({name:e},{name:n})=>e<=n?-1:1).map(({id:e,name:n})=>(0,s.jsx)(i.FormFieldCheckbox,{label:(0,s.jsx)("span",{"data-cy":`checkbox-${e}`,children:n}),name:e},e))]}):null]})};p.propTypes={isOpen:d().bool,onClose:d().func.isRequired,checkedDomains:d().array.isRequired,skippedDomains:d().array.isRequired,isNewDomainsChecked:d().bool};const h=p},2658(e,n,t){"use strict";t.r(n),t.d(n,{default:()=>p,getTime:()=>m});var i=t(782),s=t.n(i),o=t(95),a=t(342),r=t(2659),l=t(341);const c=o.Locale.getTranslate("admin.controllers.websites-diagnostic"),d=o.Locale.getSection("admin.controllers.websites-diagnostic"),m=e=>`${`0${e.getHours()}`.slice(-2)}:${`0${e.getMinutes()}`.slice(-2)}`,u=({isRegularCheckEnabled:e,isNewDomainsChecked:n,date:t,checkedDomains:i,skippedDomains:s,lastCheckDuration:o,isWebsitesListOpen:u=!1,isLoading:p,onToggleFeature:h,onOpenWebsitesList:g})=>{const b=t?new Date(t):null;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(r.default,{isOpen:u,onClose:()=>g(!1),checkedDomains:i,skippedDomains:s,isNewDomainsChecked:n}),(0,l.jsx)(a.Item,{title:(0,l.jsx)(l.Fragment,{children:(0,l.jsxs)(a.Columns,{gap:"xs",vertical:!1,style:{flex:1},children:[(0,l.jsx)(a.Column,{fill:!0,children:(0,l.jsx)(a.Heading,{level:"3",children:(0,l.jsx)(c,{content:e?"checkEnabledTitle":"checkDisabledTitle"})})}),(0,l.jsx)(a.Column,{children:(0,l.jsx)(a.Switch,{"data-action":"toggle-regular-check",checked:e,loading:p,onChange:()=>h({variables:{isRegularCheckEnabled:!e}})})})]})}),view:"card",children:e?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(a.Action,{icon:"list","data-cy":"websites-for-regular-check","data-cy-info":`${i.length}-of-${i.length+s.length}`,onClick:()=>g(!0),children:d.formatMessage(s.length?"websitesChecked"+(b?"At":""):"websitesAllChecked"+(b?"At":""),{count:i.length,totalCount:i.length+s.length,time:b?m(b):""})}),o?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("br",{}),(0,l.jsx)("br",{}),(0,l.jsx)(c,{content:"lastCheckDescription",params:{duration:+(o/60).toFixed(1)||(0,l.jsx)(c,{content:"durationLess"})}})]}):null]}):(0,l.jsx)("p",{children:(0,l.jsx)(c,{content:"disabledDescription"})})})]})};u.propTypes={isRegularCheckEnabled:s().bool.isRequired,isNewDomainsChecked:s().bool.isRequired,date:s().string,checkedDomains:s().array.isRequired,skippedDomains:s().array.isRequired,lastCheckDuration:s().number,isWebsitesListOpen:s().bool,isLoading:s().bool,onToggleFeature:s().func.isRequired,onOpenWebsitesList:s().func.isRequired};const p=u},2647(e,n,t){"use strict";t.r(n),t.d(n,{default:()=>p});var i=t(342),s=t(95),o=t(782),a=t.n(o),r=t(341);const l="no-problems",c=s.Locale.getTranslate("admin.controllers.websites-diagnostic.problems"),d=(e,n,t)=>t?e===l?(0,r.jsx)(i.Status,{intent:"success",icon:{name:"check-mark"},children:(0,r.jsx)(c,{content:"resultNoProblems"})}):n?(0,r.jsx)(i.Text,{intent:"danger",children:(0,r.jsx)(c,{content:"resultDetected"})}):(0,r.jsx)(i.Text,{intent:"muted",children:(0,r.jsx)(c,{content:"resultNotDetected"})}):(0,r.jsx)(i.Text,{intent:"muted",children:"â"}),m=e=>{if(!e)return(0,r.jsx)(c,{content:"notRun"});const n=new Date(e.date),t=new Date(e.date);t.setSeconds(t.getSeconds()-e.depth);const i=e=>`${`0${e.getDate()}`.slice(-2)}.${`0${e.getMonth()+1}`.slice(-2)}.${e.getFullYear()}`,s=e=>`${`0${e.getHours()}`.slice(-2)}:${`0${e.getMinutes()}`.slice(-2)}`,o=i(t),a=i(n);return(0,r.jsx)(c,{content:o===a?"runSameDay":"run",params:{fromDate:o,toDate:a,fromTime:s(t),toTime:s(n)}})},u=({problems:e,regularReport:n,manualReport:t,onOpenProblemDetails:s})=>(0,r.jsx)(i.List,{style:{maxInlineSize:"800px"},rowKey:"code",columns:[{key:"name",title:(0,r.jsx)(i.Text,{bold:!0,component:"div",children:(0,r.jsx)(c,{content:"columnTitle"})}),type:"title",render:({name:e,code:n})=>n===l?(0,r.jsx)(i.Text,{intent:"muted",children:"â"}):(0,r.jsx)(i.Link,{"data-cy":n,onClick:()=>s({code:n,name:e}),children:e})},{key:"regular",title:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.Text,{bold:!0,component:"div",children:(0,r.jsx)(c,{content:"columnRegular"})}),(0,r.jsx)(i.Text,{intent:"muted",fontSize:"sm",children:m(n)})]}),render:({code:e,regular:t})=>d(e,t,n)},{key:"manual",title:(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.Text,{bold:!0,component:"div",children:(0,r.jsx)(c,{content:"columnManual"})}),(0,r.jsx)(i.Text,{intent:"muted",fontSize:"sm",children:m(t)})]}),render:({code:e,manual:n})=>d(e,n,t)}],data:e.length?e:[{code:l}]});u.propTypes={problems:a().array.isRequired,regularReport:a().shape({date:a().string.isRequired,depth:a().number.isRequired}),manualReport:a().shape({date:a().string.isRequired,depth:a().number.isRequired}),onOpenProblemDetails:a().func.isRequired};const p=u},2643(e,n,t){"use strict";t.r(n),t.d(n,{default:()=>g});var i=t(782),s=t.n(i),o=t(342),a=t(95),r=t(1609),l=t(2642),c=t(2644),d=t(341);const m="admin.controllers.websites-diagnostic.report",u=a.Locale.getTranslate(m),p=a.Locale.getSection(m),h=({toolbar:e,domains:n,onOpenProblemDetails:i}
44)=>{const s=(0,o.useTranslate)(m),a=(e=>{const n={};return e.forEach(({id:e,name:t,websitesDiagnosticChecks:i})=>{const s=(0,c.getReportProblems)(i,l.CheckType.REGULAR),o=(0,c.getReportProblems)(i,l.CheckType.MANUAL);[...s.filter(e=>!o.some(n=>e.code===n.code)),...o].forEach(({code:i,name:s})=>{n[i]={code:i,name:s,domains:[{id:e,name:t},...n[i]?.domains??[]]}})}),Object.values(n)})(n);return(0,d.jsxs)(d.Fragment,{children:[a.length?null:e,(0,d.jsx)(r.default,{id:"report-by-problems-list",rowKey:"code",columns:[{key:"name",title:(0,d.jsx)(u,{content:"columnProblem"}),type:"title",sortable:!0,render:({name:e,domains:n,code:t})=>{const s=0===n.length?l.ReportTypes.SERVERWIDE:l.ReportTypes.AFFECTED_WEBSITES;return(0,d.jsx)(o.Link,{onClick:()=>i(s)({code:t,domains:n,name:e}),children:(0,d.jsx)(o.Text,{bold:!0,"data-cy":t,children:e})})}},{key:"appearedOn",title:(0,d.jsx)(u,{content:"columnAppearedOn"}),sortable:!0,sort:({domains:e},{domains:n})=>(e.length||Number.MAX_SAFE_INTEGER)<(n.length||Number.MAX_SAFE_INTEGER)?-1:1,render:({domains:e})=>(0,d.jsx)("span",{"data-cy":"affected-count","data-cy-info":e.length,children:p.formatMessage(e.length?"appearedOn":"serverWide",{count:e.length})})}],data:a,itemsPerPage:10,sortColumn:"appearedOn",sortDirection:r.SORT_DESC,searchField:"name",searchBarInputProps:{placeholder:s("searchProblem")},locale:{totalRows:e=>p.formatMessage("groupByProblemsTotal",{...e,websitesCount:n.length})},emptyView:(0,d.jsx)(o.ListEmptyView,{image:(0,d.jsx)(o.Icon,{src:t(2640),size:"192"}),title:p.formatMessage("noProblemsTitle",{websitesCount:n.length}),description:(0,d.jsx)(u,{content:"noProblemsDescription"})}),toolbar:e})]})};h.propTypes={toolbar:s().node,domains:s().array.isRequired,onOpenProblemDetails:s().func.isRequired};const g=h},2645(e,n,t){"use strict";t.r(n),t.d(n,{default:()=>S});var i=t(782),s=t.n(i),o=t(342),a=t(1367),r=t(897),l=t(95),c=t(1609),d=t(797),m=t(2646),u=t(2648),p=t(2642),h=t(341);const g="admin.controllers.websites-diagnostic.report",b=l.Locale.getTranslate(g),k=l.Locale.getSection(g),f=({key:e})=>"server-wide"===e,x=({id:e,problems:n},t)=>""!==t&&t===e&&Boolean(n.length),j=(e,n)=>{const t=e.find(e=>x(e,n));return t?[t.key]:[]},y=(e,n)=>{const t=[...e,...n].reduce((e,{code:n,name:t})=>({...e,[n]:t}),{});return Object.keys(t).map(i=>({code:i,name:t[i],regular:e.some(e=>e.code===i),manual:n.some(e=>e.code===i)}))},C=({toolbar:e,domains:n,onOpenProblemDetails:t,onCheckDomainManually:i,domainId:s=""})=>{const C=(0,o.useTranslate)(g),S=(e=>e.map(({id:e,baseDomain:n,siteUrl:t,name:i,websitesDiagnosticChecks:s})=>{const o=s.find(({type:e})=>"regular"===e),l=s.find(({type:e})=>"manual"===e),c=(0,r.getId)(e),d=(0,r.getId)(n?.id||e);return{key:e,id:e,name:i,siteUrl:t,problems:y(o?.problems??[],l?.problems??[]),regularReport:o?{date:o.date,depth:o.depth}:null,manualReport:l?{date:l.date,depth:l.depth}:null,overviewUrl:(0,a.getContextUrl)(d,`/smb/web/overview/id/${c}/type/domain`),logsUrl:(0,a.getContextUrl)(d,`/smb/log-file/browser/id/${c}`)}}).map(e=>({...e,stats:{problemsFound:e.manualReport?e.problems.filter(({manual:e})=>e).length:e.problems.length,problemsSolved:e.manualReport?e.problems.filter(({regular:e,manual:n})=>e&&!n).length:0}})))(n),D=btoa(`Domain:${s}`);return(0,h.jsxs)(h.Fragment,{children:[S.length?null:e,(0,h.jsx)(c.default,{id:"report-by-websites-list",rowProps:e=>({"data-cy":`row-${e.id}`}),columns:[{key:"name",title:(0,h.jsx)(b,{content:"columnWebsite"}),type:"title",sortable:!0,sort:(e,n)=>f(e)?-1:f(n)?1:e.name<n.name?-1:e.name>n.name?1:0,render:e=>(0,h.jsxs)(h.Fragment,{children:[f(e)&&(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(o.Icon,{name:"server"})," "]}),(0,h.jsx)(o.Text,{bold:!0,children:e.name})]})},{key:"problems",title:(0,h.jsx)(b,{content:"columnStatus"}),sortable:!0,sort:(e,n)=>x(e,D)||f(e)?1:x(n,D)||f(n)||e.stats.problemsFound<n.stats.problemsFound?-1:e.stats.problemsFound>n.stats.problemsFound?1:e.stats.problemsSolved<n.stats.problemsSolved?-1:e.stats.problemsSolved>n.stats.problemsSolved?1:0,render:({stats:{problemsFound:e,problemsSolved:n}})=>(0,h.jsxs)(h.Fragment,{children:[e||n?null:(0,h.jsx)(o.Status,{"data-cy":"no-problems",icon:(0,h.jsx)(o.Icon,{name:"check-mark"}),intent:"success",children:(0,h.jsx)(b,{content:"statusSuccess"})}),e?(0,h.jsx)(o.Label,{intent:"danger","data-cy":"found-problems","data-cy-info":e,children:k.formatMessage(n?"statusProblemsFound":"statusProblemsFoundFull",{count:e})}):null,e&&n?" ":null,n?(0,h.jsx)(o.Label,{intent:"inactive","data-cy":"solved-problems","data-cy-info":n,
44children:k.formatMessage(e?"statusProblemsSolved":"statusProblemsSolvedFull",{count:n})}):null]})},{key:"actions",type:"actions",render:e=>f(e)?null:(0,h.jsxs)(o.ListActions,{children:[(0,h.jsx)(o.ListAction,{icon:"refresh",primary:!0,onClick:()=>i(e),children:(0,h.jsx)(b,{content:"recheckWebsite"})}),(0,h.jsx)(o.ListAction,{component:"a",icon:"globe",primary:!0,href:e.siteUrl,target:"_blank",children:(0,h.jsx)(b,{content:"actionOpen"})}),(0,h.jsx)(o.ListAction,{component:d.default,icon:"web-settings",primary:!0,to:e.overviewUrl,children:(0,h.jsx)(b,{content:"actionManage"})}),(0,h.jsx)(o.ListAction,{component:"a",icon:"list",primary:!0,href:e.logsUrl,children:(0,h.jsx)(b,{content:"actionLogs"})})]})}],data:S,renderRowBody:e=>{const{key:n,...s}=e;return f(e)?(0,h.jsx)(u.default,{...s,onOpenProblemDetails:t(p.ReportTypes.SERVERWIDE)}):(0,h.jsx)(m.default,{...s,onOpenProblemDetails:t(p.ReportTypes.DOMAIN),onCheckDomainManually:i})},itemsPerPage:10,sortColumn:"problems",sortDirection:c.SORT_DESC,searchField:"name",searchBarInputProps:{placeholder:C("searchWebsite")},toolbar:e,onExpandedRowsChange:e=>{l.UAT.dispatchAction("EXPAND_ROWS",{expanded:e.join(";")})},expandedRows:j(S,D)})]})};C.propTypes={toolbar:s().node,domains:s().array.isRequired,onOpenProblemDetails:s().func.isRequired,onCheckDomainManually:s().func.isRequired,domainId:s().string};const S=C},2646(e,n,t){"use strict";t.r(n),t.d(n,{default:()=>u});var i=t(342),s=t(95),o=t(797),a=t(782),r=t.n(a),l=t(2647),c=t(341);const d=s.Locale.getTranslate("admin.controllers.websites-diagnostic.report"),m=({id:e,overviewUrl:n,logsUrl:t,onOpenProblemDetails:s,onCheckDomainManually:a,siteUrl:r,name:m,...u})=>(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(l.default,{...u,onOpenProblemDetails:n=>s(n,e)}),(0,c.jsxs)(i.Columns,{gap:"sm",children:[(0,c.jsx)(i.Column,{children:(0,c.jsx)(i.Action,{icon:"refresh",onClick:()=>a({id:e,name:m,siteUrl:r}),children:(0,c.jsx)(d,{content:"recheckWebsite"})})}),(0,c.jsx)(i.Column,{children:(0,c.jsx)(i.Action,{icon:"web",href:r,target:"_blank",children:(0,c.jsx)(d,{content:"actionOpen"})})}),(0,c.jsx)(i.Column,{children:(0,c.jsx)(i.Action,{component:o.default,icon:"web-settings",to:n,children:(0,c.jsx)(d,{content:"actionManage"})})}),(0,c.jsx)(i.Column,{children:(0,c.jsx)(i.Action,{icon:"list",href:t,children:(0,c.jsx)(d,{content:"actionLogs"})})})]})]});m.propTypes={id:r().string.isRequired,overviewUrl:r().string.isRequired,logsUrl:r().string.isRequired,name:r().string.isRequired,siteUrl:r().string.isRequired,problems:r().array.isRequired,onOpenProblemDetails:r().func.isRequired,onCheckDomainManually:r().func.isRequired};const u=m},2648(e,n,t){"use strict";t.r(n),t.d(n,{default:()=>r});var i=t(95),s=t(2647),o=t(341);const a=i.Locale.getTranslate("admin.controllers.websites-diagnostic.report"),r=e=>(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("p",{children:(0,o.jsx)(a,{content:"serverWideDescription"})}),(0,o.jsx)(s.default,{...e})]})},2641(e,n,t){"use strict";t.r(n),t.d(n,{default:()=>p});var i=t(782),s=t.n(i),o=t(341),a=t(342),r=t(95),l=t(2642),c=t(2643),d=t(2645);const m=r.Locale.getTranslate("admin.controllers.websites-diagnostic.report"),u=({domains:e,onOpenProblemDetails:n,onCheckDomainManually:t,domainId:i=""})=>{const[s,r]=(0,o.useState)(e.some(({websitesDiagnosticChecks:e})=>e.some(({problems:e})=>e.length))?l.GroupBy.WEBSITES:l.GroupBy.PROBLEMS),u=(0,o.jsx)(a.SegmentedControl,{buttons:[{value:l.GroupBy.WEBSITES,title:(0,o.jsx)(m,{content:"groupByWebsites"}),"data-action":"group-by-websites","data-cy":"sort-by-websites"},{value:l.GroupBy.PROBLEMS,title:(0,o.jsx)(m,{content:"groupByProblems"}),"data-action":"group-by-problems","data-cy":"sort-by-problems"}],selected:s,onChange:r});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(a.Heading,{level:3,children:(0,o.jsx)(m,{content:"title"})}),s===l.GroupBy.WEBSITES?(0,o.jsx)(d.default,{toolbar:u,domains:e,onOpenProblemDetails:n,onCheckDomainManually:t,domainId:i}):(0,o.jsx)(c.default,{toolbar:u,domains:e,onOpenProblemDetails:n})]})};u.propTypes={domains:s().array.isRequired,onOpenProblemDetails:s().func.isRequired,onCheckDomainManually:s().func.isRequired,domainId:s().string};const p=u},2642(e,n,t){"use strict";t.r(n),t.d(n,{CheckType:()=>r,GroupBy:()=>a,MIN_IN_HOUR:()=>i,PROBLEM_PERIOD:()=>c,ReportTypes:()=>o,Timezones:()=>l,USER_TIMEZONE:()=>s});const i=60,s=-(new Date).getTimezoneOffset()/i,o={DOMAIN:"DOMAIN",AFFECTED_WEBSITES:"AFFECTED_WEBSITES",SERVERWIDE:"SERVERWIDE"},a={WEBSITES:"groupByWebsites",PROBLEMS:"groupByProblems"},r={REGULAR:"regular",MANUAL:"manual"},l={SERVER:"SERVER",CLIENT:"CLIENT"},c={YESTERDAY:"yesterday",TODAY:"today"}},2637(e,n,t){"use strict";t.r(n),t.d(n,{default:()=>a});var i=t(95),s=t(408),o=t(2638);const a=(0,t(909).withPageLayout)(o.default,()=>{const{showFrames:e,pageHeader:n,pageSidebar:t}=(0,s.default)(),o=[t?.isPowerUserPanel?null:{title:i.Locale.getSection("admin.controllers.home.admin").lmsg("title"),href:"/admin/home"},{title:i.Locale.getSection("admin.controllers.server.tools").lmsg("title"),href:"/admin/server/tools"},{title:i.Locale.getSection("admin.controllers.websites-diagnostic").lmsg("title"),href:"/cp/websites-diagnostic"}
44].filter(Boolean),a=o[o.length-1].title;return{showFrames:e,pageHeader:n,pageSidebar:t,pageContentHeader:{breadcrumbs:o,pageTitle:a},pageTitle:a}})},2654(e,n,t){"use strict";t.r(n),t.d(n,{throttle:()=>i});const i=(e,n)=>{let t=!1;return(...i)=>{t||(t=!0,e(...i),setTimeout(()=>{t=!1},n))}}},2640(e){e.exports=Jsw.skinUrl+"/images/websites-diagnostic.svg?e3aab84260ea4356754097624179d8d6"},2662(e){var n={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"ToggleWebsitesDiagnostic"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"isRegularCheckEnabled"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Boolean"}}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"updateWebsitesDiagnosticSettings"},arguments:[{kind:"Argument",name:{kind:"Name",value:"input"},value:{kind:"ObjectValue",fields:[{kind:"ObjectField",name:{kind:"Name",value:"isRegularCheckEnabled"},value:{kind:"Variable",name:{kind:"Name",value:"isRegularCheckEnabled"}}}]}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"query"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"server"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"websitesDiagnostic"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"settings"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"isRegularCheckEnabled"}}]}}]}}]}}]}}]}}]}}],loc:{start:0,end:389}};n.loc.source={body:"mutation ToggleWebsitesDiagnostic($isRegularCheckEnabled: Boolean!) {\n updateWebsitesDiagnosticSettings(input: { isRegularCheckEnabled: $isRegularCheckEnabled }) {\n query {\n server {\n websitesDiagnostic {\n settings {\n isRegularCheckEnabled\n }\n }\n }\n }\n }\n}",name:"GraphQL request",locationOffset:{line:1,column:1}};function t(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach(function(e){t(e,n)}),e.variableDefinitions&&e.variableDefinitions.forEach(function(e){t(e,n)}),e.definitions&&e.definitions.forEach(function(e){t(e,n)})}var i={};function s(e,n){for(var t=0;t<e.definitions.length;t++){var i=e.definitions[t];if(i.name&&i.name.value==n)return i}}n.definitions.forEach(function(e){if(e.name){var n=new Set;t(e,n),i[e.name.value]=n}}),e.exports=n,e.exports.ToggleWebsitesDiagnostic=function(e,n){var t={kind:e.kind,definitions:[s(e,n)]};e.hasOwnProperty("loc")&&(t.loc=e.loc);var o=i[n]||new Set,a=new Set,r=new Set;for(o.forEach(function(e){r.add(e)});r.size>0;){var l=r;r=new Set,l.forEach(function(e){a.has(e)||(a.add(e),(i[e]||new Set).forEach(function(e){r.add(e)}))})}return a.forEach(function(n){var i=s(e,n);i&&t.definitions.push(i)}),t}(n,"ToggleWebsitesDiagnostic")},2656(e){var n={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"WebsitesDiagnosticProblem"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"domainId"}},type:{kind:"NamedType",name:{kind:"Name",value:"ID"}}}
44,{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"problemCode"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"server"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"websitesDiagnostic"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"settings"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"timezoneOffset"}}]}},{kind:"Field",name:{kind:"Name",value:"domains"},arguments:[{kind:"Argument",name:{kind:"Name",value:"filter"},value:{kind:"ObjectValue",fields:[{kind:"ObjectField",name:{kind:"Name",value:"domainId"},value:{kind:"Variable",name:{kind:"Name",value:"domainId"}}}]}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}},{kind:"Field",name:{kind:"Name",value:"name"},arguments:[{kind:"Argument",name:{kind:"Name",value:"idn"},value:{kind:"BooleanValue",value:!1}}]},{kind:"Field",name:{kind:"Name",value:"siteUrl"}},{kind:"Field",name:{kind:"Name",value:"baseDomain"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"}}]}},{kind:"Field",name:{kind:"Name",value:"websitesDiagnosticChecks"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"type"}},{kind:"Field",name:{kind:"Name",value:"date"}},{kind:"Field",name:{kind:"Name",value:"depth"}},{kind:"Field",name:{kind:"Name",value:"problems"},arguments:[{kind:"Argument",name:{kind:"Name",value:"filter"},value:{kind:"ObjectValue",fields:[{kind:"ObjectField",name:{kind:"Name",value:"code"},value:{kind:"Variable",name:{kind:"Name",value:"problemCode"}}}]}}],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"}},{kind:"Field",name:{kind:"Name",value:"code"}},{kind:"Field",name:{kind:"Name",value:"cause"}},{kind:"Field",name:{kind:"Name",value:"description"}},{kind:"Field",name:{kind:"Name",value:"examples"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"line"}},{kind:"Field",name:{kind:"Name",value:"path"}}]}},{kind:"Field",name:{kind:"Name",value:"solutions"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"title"}},{kind:"Field",name:{kind:"Name",value:"text"}}]}},{kind:"Field",name:{kind:"Name",value:"plotItems"},selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"timestamp"}},{kind:"Field",name:{kind:"Name",value:"errorsCount"}},{kind:"Field",name:{kind:"Name",value:"requestsCount"}}]}}]}}]}}]}}]}}]}}]}}],loc:{start:0,end:1198}};n.loc.source={body:"query WebsitesDiagnosticProblem($domainId: ID, $problemCode: String) {\n server {\n websitesDiagnostic {\n settings {\n timezoneOffset\n }\n domains(filter: { domainId: $domainId }) {\n id\n name(idn: false)\n siteUrl\n baseDomain {\n id\n }\n websitesDiagnosticChecks {\n type\n date\n depth\n problems(filter: { code: $problemCode }) {\n name\n code\n cause\n description\n examples {\n line\n path\n }\n solutions {\n title\n text\n }\n plotItems {\n timestamp\n errorsCount\n requestsCount\n }\n }\n }\n }\n }\n }\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};function t(e,n){if("FragmentSpread"===e.kind)n.add(e.name.value);
44else if("VariableDefinition"===e.kind){var i=e.type;"NamedType"===i.kind&&n.add(i.name.value)}e.selectionSet&&e.selectionSet.selections.forEach(function(e){t(e,n)}),e.variableDefinitions&&e.variableDefinitions.forEach(function(e){t(e,n)}),e.definitions&&e.definitions.forEach(function(e){t(e,n)})}var i={};function s(e,n){for(var t=0;t<e.definitions.length;t++){var i=e.definitions[t];if(i.name&&i.name.value==n)return i}}n.definitions.forEach(function(e){if(e.name){var n=new Set;t(e,n),i[e.name.value]=n}}),e.exports=n,e.exports.WebsitesDiagnosticProblem=function(e,n){var t={kind:e.kind,definitions:[s(e,n)]};e.hasOwnProperty("loc")&&(t.loc=e.loc);var o=i[n]||new Set,a=new Set,r=new Set;for(o.forEach(function(e){r.add(e)});r.size>0;){var l=r;r=new Set,l.forEach(function(e){a.has(e)||(a.add(e),(i[e]||new Set).forEach(function(e){r.add(e)}))})}return a.forEach(function(n){var i=s(e,n);i&&t.definitions.push(i)}),t}(n,"WebsitesDiagnosticProblem")}}]); 45//# sourceMappingURL=index.js.map?ec7cbfb5b9a13cd55446
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.