File: //opt/netdata/usr/local/share/netdata/web/v3/5325.845e1a11f5d6412770cf.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:"9170653e16c97eceaa1ad9e3f6f38e5725ee9d53"};var o=(new e.Error).stack;o&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[o]="062e550b-4191-4565-974d-d5172fe20832",e._sentryDebugIdIdentifier="sentry-dbid-062e550b-4191-4565-974d-d5172fe20832")}catch(e){}}(),(self.webpackChunkcloud_frontend=self.webpackChunkcloud_frontend||[]).push([[5325],{65325(e,o,t){t.r(o),t.d(o,{default:()=>I});var n=t(64467),r=(t(98992),t(54520),t(3949),t(62953),t(96540)),l=t(42358),i=t(44245),a=t(39484),s=(t(72577),t(51510)),d=t(22337),c=t(66188),g=t(99728),p=t(53450),u=t(25059),b=t(65259),f=t(74848);const h=(0,s.styled)(l.Button).withConfig({displayName:"mapControls__MapButton",componentId:"sc-1vmpoog-0"})(["&&&{background:",";color:",";box-shadow:0 1px 4px rgba(0,0,0,0.2);white-space:nowrap;.button-icon{fill:",";}}"],(e=>{let{active:o}=e;return o?(0,l.getRgbColor)("primary",.9):(0,l.getRgbColor)("bright",.92)}),(e=>{let{active:o}=e;return o?(0,l.getColor)("bright"):(0,l.getColor)("text")}),(e=>{let{active:o}=e;return o?(0,l.getColor)("bright"):(0,l.getColor)("text")})),x=(0,s.styled)(l.IconButton).attrs({padding:[0]}).withConfig({displayName:"mapControls__MapIconButton",componentId:"sc-1vmpoog-1"})(["&&&{background:",";color:",";box-shadow:0 1px 4px rgba(0,0,0,0.2);width:24px;height:24px;}"],(0,l.getRgbColor)("bright",.92),(0,l.getColor)("textLite")),m=e=>{let{onToggleTraffic:o,provider:t,setProvider:n,setGoogleApiKey:i,isDrawing:a,pendingNodeId:s,onToggleDrawMode:m,selectedLinkId:k,links:v,nodeById:y,onDeleteLink:w,onUpdateLink:j,onDeselectLink:I,canEdit:C}=e;const[S,P]=(0,r.useState)(!1),O=(0,g.JT)("space:UpdateSettings"),D=k?null===v||void 0===v?void 0:v.find((e=>e.id===k)):null;return(0,f.jsxs)(f.Fragment,{children:[D&&!a&&(0,f.jsx)(l.Flex,{position:"absolute",style:{top:10,left:10,zIndex:5},children:(0,f.jsx)(l.Flex,{alignItems:"center",gap:2,padding:[1,2],round:1,style:{background:"rgba(255,255,255,0.95)",boxShadow:"0 2px 8px rgba(0,0,0,0.15)"},children:(0,f.jsx)(b.A,{link:D,nodeById:y,onUpdate:j,onDelete:w,onClose:I,canEdit:C})})}),(0,f.jsxs)(l.Flex,{position:"absolute",alignItems:"center",gap:2,style:{top:10,right:10,zIndex:5},children:[a&&s&&(0,f.jsx)(l.Flex,{padding:[1,2],round:1,style:{background:"rgba(0,0,0,0.75)",boxShadow:"0 1px 4px rgba(0,0,0,0.3)",whiteSpace:"nowrap"},children:(0,f.jsx)(l.TextSmall,{color:"bright",children:"Click another node to connect"})}),a&&!s&&(0,f.jsx)(l.Flex,{padding:[1,2],round:1,style:{background:"rgba(0,0,0,0.75)",boxShadow:"0 1px 4px rgba(0,0,0,0.3)",whiteSpace:"nowrap"},children:(0,f.jsx)(l.TextSmall,{color:"bright",children:"Click a node to start a link"})}),t===p.mK.google&&(0,f.jsx)(h,{flavour:"borderless",small:!0,onClick:o,"aria-label":"Toggle traffic layer",children:(0,f.jsxs)(l.Flex,{alignItems:"center",gap:1,children:[(0,f.jsx)(d.gc,{icon:c.zC5,size:"sm"}),(0,f.jsx)("span",{children:"Traffic"})]})}),C&&(0,f.jsx)(h,{flavour:"borderless",small:!0,onClick:m,"aria-label":"Toggle draw link mode",icon:"pencilOutline",active:a,children:a?"Done":"Draw Links"}),O&&(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(x,{icon:"gear",onClick:()=>P((e=>!e)),flavour:"borderless",tooltip:"Map settings"}),S&&(0,f.jsx)(u.A,{onClose:()=>P(!1),provider:t,setProvider:n,setGoogleApiKey:i})]})]})]})};var k=t(7960);function v(e,o){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);o&&(n=n.filter((function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable}))),t.push.apply(t,n)}return t}function y(e){for(var o=1;o<arguments.length;o++){var t=null!=arguments[o]?arguments[o]:{};o%2?v(Object(t),!0).forEach((function(o){(0,n.A)(e,o,t[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):v(Object(t)).forEach((function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(t,o))}))}return e}const w=(0,k.A)((()=>Promise.all([t.e(2882),t.e(4550),t.e(3348)]).then(t.bind(t,93348))),"GoogleMapView"),j=(0,k.A)((()=>Promise.all([t.e(2882),t.e(8658),t.e(1452)]).then(t.bind(t,41452))),"MapLibreView"),I=()=>{const{isGoogle:e,handleNodeClick:o,viewport:t,setViewport:n,showTraffic:s,linkProps:d,settingsProps:c,editProps:g}=(0,a.A)();return(0,i.ZB)({title:"Geo Map",id:"geo-map",destination:"geo-map",type:"geomap",icon:"node_hollow",tooltip:{title:"Geo Map",description:"Visualize node locations on an interactive map"}}),(0,f.jsx)(l.Flex,{column:!0,flex:!0,overflow:"hidden",height:"100%",children:(0,f.jsxs)(l.Flex,{flex:!0,position:"relative",overflow:"hidden",children:[(0,f.jsx)(m,y(y({},c),g)),(0,f.jsx)(r.Suspense,{fallback:(0,f.jsx)(l.Flex,{justifyContent:"center",alignItems:"center",height:"100%",children:(0,f.jsx)(l.Text,{color:"textLite",children:"Loading map..."})}),children:e?(0,f.jsx)(w,{onNodeClick:o,showTraffic:s,savedViewport:t,onViewportChange:n,linkProps:d}):(0,f.jsx)(j,{onNodeClick:o,savedViewport:t,onViewportChange:n,linkProps:d})})]})})}},65259(e,o,t){t.d(o,{A:()=>a});t(98992),t(81454);var n=t(51510),r=t(42358),l=t(53450),i=t(74848);const a=e=>{let{link:o,nodeById:t,onUpdate:a,onDelete:s,onClose:d,canEdit:c}=e;const g=(0,n.useTheme)(),p="Default"!==g.name,u=(0,l.vQ)(p),b=(0,r.getColor)("text")({theme:g}),f=t[o.fromNodeId],h=t[o.toNodeId];return(0,i.jsxs)(r.Flex,{alignItems:"center",gap:2,padding:[0,2],round:1,border:{color:"borderSecondary"},background:"panelBg",children:[(0,i.jsxs)(r.TextSmall,{strong:!0,whiteSpace:"nowrap",children:[(null===f||void 0===f?void 0:f.name)||(null===f||void 0===f?void 0:f.nm)||"?"," \u2192 ",(null===h||void 0===h?void 0:h.name)||(null===h||void 0===h?void 0:h.nm)||"?"]}),c&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.TextInput,{placeholder:"Label",value:o.label||"",onChange:e=>a(o.id,{label:e.target.value}),"aria-label":"Link label",size:"tiny",width:"120px"}),(0,i.jsx)(r.Flex,{alignItems:"center",gap:1,children:u.map((e=>(0,i.jsx)(r.Button,{flavour:"borderless",onClick:()=>a(o.id,{color:e}),"aria-label":"Color ".concat(e),style:{width:16,height:16,minWidth:16,minHeight:16,padding:0,borderRadius:3,background:e,border:"2px solid ".concat(o.color===e?b:"transparent"),flexShrink:0}},e)))}),(0,i.jsx)(r.Button,{flavour:"borderless",small:!0,danger:!0,onClick:()=>{s(o.id),d()},"aria-label":"Delete link",label:"Delete"})]}),(0,i.jsx)(r.Button,{flavour:"borderless",small:!0,neutral:!0,onClick:d,"aria-label":"Deselect link",label:"\u2715"})]})}},25059(e,o,t){t.d(o,{A:()=>c});t(42762),t(62953);var n=t(96540),r=t(51510),l=t(22337),i=t(66188),a=t(42358),s=t(53450),d=t(74848);const c=e=>{let{onClose:o,provider:t,setProvider:c,setGoogleApiKey:g}=e;const p=(0,r.useTheme)(),u=(0,s.Pq)(),[b,f]=(0,n.useState)(t),[h,x]=(0,n.useState)(u.googleApiKey||""),[m,k]=(0,n.useState)(!1),v=e=>(0,a.getColor)(e)({theme:p}),y=(0,n.useCallback)((()=>{b===s.mK.google&&g(h.trim()),c(b),o()}),[b,h,c,g,o]),w=b===s.mK.google&&!h.trim(),j=e=>{return{flex:1,border:"1px solid ".concat(v(e?"primary":"borderSecondary")),background:e?(o="primary",t=.1,(0,a.getRgbColor)(o,t)({theme:p})):"transparent"};var o,t};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(a.Box,{position:"fixed",style:{inset:0,zIndex:9},onClick:o}),(0,d.jsxs)(a.Flex,{column:!0,padding:[3],gap:3,round:2,background:"mainBackground",border:{color:"borderSecondary"},position:"absolute",width:"280px",zIndex:10,style:{top:44,right:10,boxShadow:"0 4px 16px rgba(0,0,0,0.15)"},children:[(0,d.jsx)(a.TextMicro,{strong:!0,color:"textLite",children:"MAP PROVIDER"}),(0,d.jsxs)(a.Flex,{gap:1,children:[(0,d.jsx)(a.Button,{flavour:"borderless",small:!0,onClick:()=>f(s.mK.libre),"aria-label":"Select OpenStreetMap provider",style:j(b===s.mK.libre),children:"OpenStreetMap (Free)"}),(0,d.jsx)(a.Button,{flavour:"borderless",small:!0,onClick:()=>f(s.mK.google),"aria-label":"Select Google Maps provider",style:j(b===s.mK.google),children:"Google Maps"})]}),b===s.mK.google&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(a.TextMicro,{strong:!0,color:"textLite",children:"GOOGLE MAPS API KEY"}),(0,d.jsx)(a.TextInput,{type:m?"text":"password",value:h,onChange:e=>x(e.target.value),placeholder:"AIzaSy...","aria-label":"Google Maps API key",size:"small",iconRight:(0,d.jsx)(a.Button,{flavour:"borderless",onClick:()=>k((e=>!e)),"aria-label":m?"Hide API key":"Show API key",style:{padding:2,minWidth:"auto",height:"auto"},children:(0,d.jsx)(l.gc,{icon:m?i.pS3:i.k6j,size:"sm"})})}),(0,d.jsx)(a.TextMicro,{color:"textLite",children:"Required for Google Maps. Get a key from the Google Cloud Console."})]}),(0,d.jsx)(a.Button,{onClick:y,disabled:w,"aria-label":"Save map settings",children:w?"API key required":"Save"})]})]})}},53450(e,o,t){t.d(o,{DQ:()=>i,DT:()=>p,Ez:()=>s,FU:()=>C,Ii:()=>r,KC:()=>c,Pq:()=>h,RN:()=>x,Sz:()=>m,_s:()=>v,aM:()=>l,ap:()=>S,cE:()=>w,cF:()=>y,dD:()=>k,e9:()=>I,fK:()=>A,jf:()=>P,l6:()=>O,mK:()=>b,nD:()=>a,p9:()=>g,s2:()=>d,vQ:()=>D,z1:()=>j,zc:()=>u});t(33110),t(98992),t(81454);var n=t(81395);const r={lat:30,lng:10},l=2,i=2,a=20,s={live:"#00ab44",stale:"#c59c12",offline:"#8c8c8c",unseen:"#b3b3b3"},d={critical:"#ff4136",warning:"#ffc300"},c=10,g=12,p=18,u=40,b={libre:"libre",google:"google"},f="netdata-geomap-settings",h=()=>{try{const e=localStorage.getItem(f);if(e)return JSON.parse(e)}catch(e){}return{provider:b.libre,googleApiKey:""}},x=e=>{try{localStorage.setItem(f,JSON.stringify(e))}catch(o){}},m=()=>{const{googleApiKey:e}=h();return window.NETDATA_GOOGLE_MAPS_API_KEY||e||""},k=()=>!!m(),v=()=>{const{provider:e}=h();return e===b.google&&k()?b.google:b.libre},y=60,w=16,j=.8,I=.5,C=.2,S=1.2,P=1.8,O=300,D=e=>{const o=e?1:0;return n.default.slice(0,8).map((e=>e[o]))},A=e=>{const o=e?1:0;return{mixed:n.default[2][o],mostOffline:n.default[9][o]}}},39484(e,o,t){t.d(o,{A:()=>I});var n=t(96540),r=t(41344),l=t(99728),i=t(19186),a=t(53450),s=(t(62953),t(52035)),d=t(34843);const c=(0,s.eU)(!1),g=(0,s.eU)(null),p=()=>{const[e,o]=(0,n.useState)(a._s),[t,r]=(0,d.fp)(c),[l,i]=(0,d.fp)(g),s=(0,n.useCallback)((e=>{const t=(0,a.Pq)();t.provider=e,(0,a.RN)(t),o(e===a.mK.google&&(0,a.dD)()?a.mK.google:a.mK.libre),r(!1)}),[r]),p=(0,n.useCallback)((e=>{const t=(0,a.Pq)();t.googleApiKey=e,(0,a.RN)(t),e&&t.provider===a.mK.google&&o(a.mK.google),e||t.provider!==a.mK.google||o(a.mK.libre)}),[]);return{provider:e,setProvider:s,showTraffic:t,toggleTraffic:(0,n.useCallback)((()=>r((e=>!e))),[r]),viewport:l,setViewport:i,setGoogleApiKey:p}};var u=t(64467),b=(t(33110),t(98992),t(54520),t(3949),t(81454),t(37550),t(24609));function f(e,o){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);o&&(n=n.filter((function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable}))),t.push.apply(t,n)}return t}function h(e){for(var o=1;o<arguments.length;o++){var t=null!=arguments[o]?arguments[o]:{};o%2?f(Object(t),!0).forEach((function(o){(0,u.A)(e,o,t[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):f(Object(t)).forEach((function(o){Object.defineProperty(e,o,Object.getOwnPropertyDescriptor(t,o))}))}return e}const x=e=>"netdata-geomap-links-".concat(e),m=e=>{try{const o=localStorage.getItem(x(e));if(o)return JSON.parse(o)}catch(o){}return[]},k=(e,o)=>{try{localStorage.setItem(x(e),JSON.stringify(o))}catch(t){}},v=()=>{const e=(0,b.vt)(),[o,t]=(0,n.useState)((()=>m(e)));(0,n.useEffect)((()=>{t(m(e))}),[e]);const r=(0,n.useCallback)((function(o,n){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",l=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"#4A90D9";t((t=>{if(t.some((e=>e.fromNodeId===o&&e.toNodeId===n||e.fromNodeId===n&&e.toNodeId===o)))return t;const i="link-".concat(Math.random().toString(36).slice(2)),a=[...t,{id:i,fromNodeId:o,toNodeId:n,label:r,color:l}];return k(e,a),a}))}),[e]);return{links:o,addLink:r,removeLink:(0,n.useCallback)((o=>{t((t=>{const n=t.filter((e=>e.id!==o));return k(e,n),n}))}),[e]),updateLink:(0,n.useCallback)(((o,n)=>{t((t=>{const r=t.map((e=>e.id===o?h(h({},e),n):e));return k(e,r),r}))}),[e])}},y=e=>{let{addLink:o}=e;const[t,r]=(0,n.useState)(!1),[l,i]=(0,n.useState)(null),[a,s]=(0,n.useState)(null),d=(0,n.useCallback)((()=>{r((e=>!e)),i(null),s(null)}),[]),c=(0,n.useCallback)((e=>l?l===e?(i(null),!0):(o(l,e),i(null),!0):(i(e),!0)),[l,o]),g=(0,n.useCallback)((()=>{i(null)}),[]);return{isDrawing:t,pendingNodeId:l,selectedLinkId:a,setSelectedLinkId:s,toggleDrawMode:d,handleNodeClickInDrawMode:c,cancelPending:g}};var w=t(2817),j=t(49519);const I=function(){let{onNodeNavigate:e}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const o=(0,i.r9)(),t=(0,r.Zp)(),s=(0,l.JT)("space:UpdateSettings"),{provider:d,setProvider:c,showTraffic:g,toggleTraffic:u,viewport:b,setViewport:f,setGoogleApiKey:h}=p(),{links:x,addLink:m,removeLink:k,updateLink:I}=v(),C=(0,w.A)(),{isDrawing:S,pendingNodeId:P,selectedLinkId:O,setSelectedLinkId:D,toggleDrawMode:A,handleNodeClickInDrawMode:L,cancelPending:T}=y({addLink:m}),N=(0,j.A)(C),M=(0,n.useCallback)((n=>{S?L(n):n&&o&&(null===e||void 0===e||e(),t("".concat(o,"/nodes/").concat(n)))}),[S,L,o,t,e]),K=(0,n.useCallback)((()=>D(null)),[D]),E=d===a.mK.google,F=(0,n.useMemo)((()=>({links:x,selectedLinkId:O,onSelectLink:D,pendingNodeId:P,isDrawing:S})),[x,O,D,P,S]),G=(0,n.useMemo)((()=>({showTraffic:g,onToggleTraffic:u,provider:d,setProvider:c,setGoogleApiKey:h})),[g,u,d,c,h]),B=(0,n.useMemo)((()=>({isDrawing:S,pendingNodeId:P,onToggleDrawMode:A,selectedLinkId:O,links:x,nodeById:N,onDeleteLink:k,onUpdateLink:I,onDeselectLink:K,canEdit:s})),[S,P,A,O,x,N,k,I,K,s]);return{isGoogle:E,handleNodeClick:M,viewport:b,setViewport:f,showTraffic:g,linkProps:F,settingsProps:G,editProps:B,isDrawing:S,pendingNodeId:P,selectedLinkId:O,setSelectedLinkId:D,toggleDrawMode:A,cancelPending:T}}},49519(e,o,t){t.d(o,{A:()=>r});t(62953);var n=t(96540);const r=e=>(0,n.useMemo)((()=>{const o={};for(const t of e)o[t.id]=t;return o}),[e])}}]);