File: //opt/netdata/usr/local/share/netdata/web/v3/1452.d2f3b6ae7a2df7344dc6.chunk.js
!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{};e.SENTRY_RELEASE={id:"0725d67f2585acd82a0d73d488b6cd9060c3224d"};var t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="829efe5e-eb6f-4fbc-91ec-85c1eadcc0b1",e._sentryDebugIdIdentifier="sentry-dbid-829efe5e-eb6f-4fbc-91ec-85c1eadcc0b1")}catch(e){}}(),(globalThis.webpackChunkcloud_frontend=globalThis.webpackChunkcloud_frontend||[]).push([[1452],{98212(e,t,o){o.d(t,{A:()=>l});var n=o(96540),r=o(41514),s=o(78904),i=o(74848);class a extends n.Component{constructor(e){super(e),this.state={hasError:!1,error:null}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidCatch(e,t){(0,r.H)("geomap-error",{error:e.message,stack:t.componentStack})}render(){return this.state.hasError?(0,i.jsxs)(s.Flex,{column:!0,alignItems:"center",justifyContent:"center",height:"100%",gap:4,padding:[8],children:[(0,i.jsx)(s.Icon,{name:"alert_triangle",size:"large",color:"error"}),(0,i.jsx)(s.Text,{strong:!0,children:"Map failed to load"}),(0,i.jsx)(s.Text,{color:"textLite",textAlign:"center",width:{max:100},children:this.state.error?.message||"An error occurred while loading the map. Please check your network connection and try again."}),(0,i.jsx)(s.Button,{flavour:"borderless",onClick:()=>this.setState({hasError:!1,error:null}),children:"Retry"})]}):this.props.children}}const l=a},41452(e,t,o){o.r(t),o.d(t,{default:()=>y});o(98992),o(81454);var n=o(96540),r=o(35268),s=(o(49367),o(882)),i=o(84819),a=o(98212),l=(o(54520),o(74848));const d=["geomap-links-line","geomap-links-hit"],c=e=>{let{links:t,nodeById:o,selectedLinkId:s}=e;const i=(0,n.useMemo)(()=>({type:"FeatureCollection",features:t.filter(e=>o[e.fromNodeId]&&o[e.toNodeId]).map(e=>{const t=o[e.fromNodeId]._geo,n=o[e.toNodeId]._geo;return{type:"Feature",properties:{id:e.id,color:e.color,selected:s===e.id},geometry:{type:"LineString",coordinates:[[t.longitude,t.latitude],[n.longitude,n.latitude]]}}})}),[t,o,s]);return 0===t.length?null:(0,l.jsxs)(r.kL,{id:"geomap-links",type:"geojson",data:i,children:[(0,l.jsx)(r.Wd,{id:"geomap-links-line",type:"line",paint:{"line-color":["get","color"],"line-width":["case",["get","selected"],4,2.5],"line-opacity":["case",["get","selected"],1,.7]},layout:{"line-cap":"round","line-join":"round"}}),(0,l.jsx)(r.Wd,{id:"geomap-links-hit",type:"line",paint:{"line-color":"transparent","line-width":12}})]})};var u=o(15715),g=o(2817),p=o(75811),h=o(82226),m=o(53450);const f=e=>{let{node:t,onClick:o}=e;const[s,a]=(0,n.useState)(!1),d=(0,h.qY)(t),{hasAlert:c,critical:g}=(0,h.t3)(t),p=(0,n.useCallback)(e=>{e.originalEvent?.stopPropagation(),o&&o(t.id)},[t.id,o]);return(0,l.jsx)(r.pH,{longitude:t._geo.longitude,latitude:t._geo.latitude,anchor:"center",onClick:p,children:(0,l.jsxs)("div",{style:{position:"relative"},onMouseEnter:()=>a(!0),onMouseLeave:()=>a(!1),role:"button",tabIndex:0,"aria-label":`Node ${t.name||t.nm}`,children:[(0,l.jsx)(i.O9,{color:d,children:c&&(g>0?(0,l.jsx)(i.t6,{}):(0,l.jsx)(i.sH,{}))}),s&&(0,l.jsx)(i.fT,{children:(0,l.jsx)(u.A,{node:t,statusColor:d})})]})})},x=e=>{let{cluster:t,nodes:o,onClick:s,isDark:a}=e;const d=(0,i.fA)(t.count),c=(0,h._9)(o,a),u=(0,h.OQ)(o),g=(0,n.useCallback)(e=>{e.originalEvent?.stopPropagation(),s&&s(t)},[t,s]);return(0,l.jsx)(r.pH,{longitude:t.lng,latitude:t.lat,anchor:"center",onClick:g,children:(0,l.jsxs)(i.lk,{bg:c,style:{width:d,height:d},role:"button",tabIndex:0,"aria-label":`Cluster of ${t.count} nodes`,children:[u&&(0,l.jsx)(i.Hg,{color:m.s2[u]}),t.count]})})},b=e=>{if(!e)return null;const t=e.getBounds();return t?{north:t.getNorth(),south:t.getSouth(),east:t.getEast(),west:t.getWest()}:null},y=e=>{let{onNodeClick:t,savedViewport:o,onViewportChange:i,linkProps:u={}}=e;const y="Default"!==(0,s.useTheme)().name,k=(0,n.useRef)(null),C=(0,g.A)(),[w,j]=(0,n.useState)(o?.zoom||m.aM),[_,v]=(0,n.useState)(null),I=(0,n.useRef)(w);I.current=w;const E=(0,n.useRef)(null);(0,n.useEffect)(()=>()=>clearTimeout(E.current),[]);const M=(0,n.useMemo)(()=>{const e=(0,h.bW)(C);if(e)return[[e.west,e.south],[e.east,e.north]]},[C]),S=(0,n.useMemo)(()=>1===C.length?{longitude:C[0]._geo.longitude,latitude:C[0]._geo.latitude}:{longitude:10,latitude:30},[C]),T=(0,n.useCallback)(e=>{const t=e.target;k.current=t,v(b(t)),j(t.getZoom())},[]),A=(0,n.useCallback)(e=>{const t=e.target;v(b(t));const o=t.getZoom();j(o),i&&(clearTimeout(E.current),E.current=setTimeout(()=>{const e=t.getCenter();i({lat:e.lat,lng:e.lng,zoom:o})},m.l6))},[i]),{processed:z,getClusterExpansionZoom:L,nodeById:B}=(0,p.A)(C,w,_),D=(0,n.useCallback)(e=>{const t=k.current;if(!t)return;const o=L(e.id);t.flyTo({center:[e.lng,e.lat],zoom:Math.min(o,m.nD)})},[L]),N=(0,n.useCallback)(e=>{if(I.current<m.KC){const t=k.current,o=B[e];return void(t&&o&&t.flyTo({center:[o._geo.longitude,o._geo.latitude],zoom:m.p9}))}t&&t(e)},[B,t]),F=(0,n.useCallback)(e=>{const t=e.features?.[0];t?.properties?.id&&u.onSelectLink&&u.onSelectLink(t.properties.id)},[u]);return(0,l.jsx)(a.A,{children:(0,l.jsxs)(r.Ay,{ref:k,initialViewState:o?{longitude:o.lng,latitude:o.lat,zoom:o.zoom}:M?{bounds:M,fitBoundsOptions:{padding:60}}:{...S,zoom:1===C.length?10:m.aM},minZoom:m.DQ,maxZoom:m.nD,mapStyle:y?"https://basemaps.cartocdn.com/gl/dark-matter-gl-style/style.json":"https://basemaps.cartocdn.com/gl/positron-gl-style/style.json",style:{width:"100%",height:"100%"},onLoad:T,onMoveEnd:A,interactiveLayerIds:u.links?.length>0?d:[],onClick:F,children:[(0,l.jsx)(r.ov,{position:"bottom-right"}),u.links?.length>0&&(0,l.jsx)(c,{links:u.links,nodeById:B,selectedLinkId:u.selectedLinkId}),z.map(e=>"cluster"===e.type?(0,l.jsx)(x,{cluster:e,nodes:e.nodes,onClick:D,isDark:y},`cluster-${e.id}`):e.node?(0,l.jsx)(f,{node:e.node,onClick:N},e.id):null)]})})}},15715(e,t,o){o.d(t,{A:()=>l});var n=o(882),r=o(78904),s=o(53450),i=o(74848);const a=(0,n.default)(r.Flex).attrs({alignItems:"center",gap:1,round:!0,padding:[0,1]}).withConfig({displayName:"nodeMapTooltip__AlertBadge",componentId:"sc-1jgq7ul-0"})(["font-size:10px;font-weight:600;background:",";color:",";"],e=>{let{bg:t}=e;return t},(0,r.getColor)("bright")),l=e=>{let{node:t,statusColor:o}=e;const n=t.health?.alerts?.critical||0,l=t.health?.alerts?.warning||0,d=t.nodeStatus||"Unknown";return(0,i.jsxs)(r.Flex,{column:!0,padding:[2,3],round:2,background:"mainBackground",border:{color:"borderSecondary"},width:{min:"200px",max:"280px"},style:{boxShadow:"0 4px 12px rgba(0,0,0,0.15)",pointerEvents:"none",whiteSpace:"nowrap"},children:[(0,i.jsx)(r.Text,{strong:!0,children:t.name||t.nm}),(0,i.jsxs)(r.Flex,{alignItems:"center",gap:1,children:[(0,i.jsx)(r.Box,{width:"8px",height:"8px",round:1,style:{background:o,flexShrink:0}}),(0,i.jsx)(r.TextSmall,{color:"textLite",children:d})]}),t.os?.nm&&(0,i.jsxs)(r.TextSmall,{color:"textLite",children:["OS: ",t.os.nm]}),(n>0||l>0)&&(0,i.jsxs)(r.Flex,{alignItems:"center",gap:1,margin:[1,0,0],children:[n>0&&(0,i.jsxs)(a,{bg:s.s2.critical,children:[n," critical"]}),l>0&&(0,i.jsxs)(a,{bg:s.s2.warning,children:[l," warning"]})]})]})}},84819(e,t,o){o.d(t,{Hg:()=>g,O9:()=>a,fA:()=>p,fT:()=>c,lk:()=>u,sH:()=>d,t6:()=>l});var n=o(882),r=o(78904),s=o(53450);const i=(0,n.keyframes)(["0%{transform:scale(1);opacity:0.8;}50%{transform:scale(1.8);opacity:0;}100%{transform:scale(1.8);opacity:0;}"]),a=(0,n.default)(r.Flex).attrs({alignItems:"center",justifyContent:"center",cursor:"pointer",position:"relative"}).withConfig({displayName:"shared__MarkerDot",componentId:"sc-27t4jv-0"})(["width:","px;height:","px;border-radius:50%;background:",";border:2px solid ",";box-shadow:0 2px 6px rgba(0,0,0,0.3);transition:transform 0.15s ease;&:hover{transform:scale(1.3);}"],s.DT,s.DT,e=>{let{color:t}=e;return t},(0,r.getRgbColor)("bright",.9)),l=(0,n.default)(r.Box).attrs({position:"absolute"}).withConfig({displayName:"shared__PulseRingCritical",componentId:"sc-27t4jv-1"})(["inset:-4px;border-radius:50%;border:2px solid ",";animation:"," ","s ease-out infinite;pointer-events:none;"],s.s2.critical,i,s.ap),d=(0,n.default)(r.Box).attrs({position:"absolute"}).withConfig({displayName:"shared__PulseRingWarning",componentId:"sc-27t4jv-2"})(["inset:-4px;border-radius:50%;border:2px solid ",";animation:"," ","s ease-out infinite;pointer-events:none;"],s.s2.warning,i,s.jf),c=(0,n.default)(r.Box).attrs({position:"absolute",zIndex:10}).withConfig({displayName:"shared__TooltipAnchor",componentId:"sc-27t4jv-3"})(["bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);"]),u=(0,n.default)(r.Flex).attrs({alignItems:"center",justifyContent:"center",cursor:"pointer",position:"relative"}).withConfig({displayName:"shared__ClusterDotBase",componentId:"sc-27t4jv-4"})(["border-radius:50%;background:",";border:3px solid ",";box-shadow:0 2px 8px rgba(0,0,0,0.3);font-size:13px;font-weight:700;color:",";transition:transform 0.15s ease;&:hover{transform:scale(1.15);}"],e=>{let{bg:t}=e;return t},(0,r.getRgbColor)("bright",.9),(0,r.getColor)("bright")),g=(0,n.default)(r.Box).attrs({position:"absolute"}).withConfig({displayName:"shared__ClusterAlertRing",componentId:"sc-27t4jv-5"})(["inset:-3px;border-radius:50%;border:2px solid ",";pointer-events:none;"],e=>{let{color:t}=e;return t}),p=e=>Math.min(s.zc+2*e,60)},75811(e,t,o){o.d(t,{A:()=>l});o(98992),o(54520),o(81454);var n=o(96540),r=o(22882),s=o(53450),i=o(49519);const a=r.A.default||r.A,l=(e,t,o)=>{const r=(0,n.useMemo)(()=>{const t=new a({radius:s.cF,maxZoom:s.cE}),o=e.map(e=>({type:"Feature",properties:{nodeId:e.id},geometry:{type:"Point",coordinates:[e._geo.longitude,e._geo.latitude]}}));return t.load(o),t},[e]),l=(0,n.useMemo)(()=>{if(!o)return[];const e=[o.west,o.south,o.east,o.north];return r.getClusters(e,Math.floor(t))},[r,o,t]),d=(0,i.A)(e),c=(0,n.useCallback)(e=>{try{return r.getClusterExpansionZoom(e)}catch{return t+2}},[r,t]),u=(0,n.useCallback)(e=>{try{return r.getLeaves(e,1/0).map(e=>d[e.properties.nodeId]).filter(Boolean)}catch{return[]}},[r,d]);return{processed:(0,n.useMemo)(()=>l.map(e=>{const[t,o]=e.geometry.coordinates;return e.properties.cluster?{type:"cluster",id:e.properties.cluster_id,lat:o,lng:t,count:e.properties.point_count,nodes:u(e.properties.cluster_id)}:{type:"node",id:e.properties.nodeId,node:d[e.properties.nodeId]}}),[l,d,u]),getClusterExpansionZoom:c,nodeById:d}}},82226(e,t,o){o.d(t,{OQ:()=>i,_9:()=>s,bW:()=>l,qY:()=>r,t3:()=>a});o(98992),o(54520),o(81454);var n=o(53450);const r=e=>e.isLive?n.Ez.live:e.isOffline?n.Ez.offline:"stale"===e.state?n.Ez.stale:n.Ez.unseen,s=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const o=e.length;if(0===o)return n.Ez.offline;const r=e.filter(e=>e.isLive).length/o;if(r>n.z1)return n.Ez.live;const s=(0,n.fK)(t);return r>n.e9?s.mixed:r>n.FU?s.mostOffline:n.Ez.offline},i=e=>{for(const t of e)if(t.health?.alerts?.critical)return"critical";for(const t of e)if(t.health?.alerts?.warning)return"warning";return null},a=e=>{const t=e.health?.alerts?.critical||0,o=e.health?.alerts?.warning||0;return{critical:t,warning:o,hasAlert:t>0||o>0,alertColor:t>0?n.s2.critical:n.s2.warning,alertSpeed:t>0?n.ap:n.jf}},l=e=>{if(e.length<=1)return null;let t=90,o=-90,n=180,r=-180;for(const a of e)t=Math.min(t,a._geo.latitude),o=Math.max(o,a._geo.latitude),n=Math.min(n,a._geo.longitude),r=Math.max(r,a._geo.longitude);const s=Math.max(.15*(o-t),2);if(r-n>180){const n=e.map(e=>{const t=e._geo.longitude;return t<0?t+360:t}),r=Math.min(...n),i=Math.max(...n),a=Math.max(.15*(i-r),2),l=r-a,d=i+a;return{north:o+s,south:t-s,west:l>180?l-360:l,east:d>180?d-360:d}}const i=Math.max(.15*(r-n),2);return{north:o+s,south:t-s,east:r+i,west:n-i}}}}]);