Skip to content
Snippets Groups Projects
Commit de7943f4 authored by Bjarke Madsen's avatar Bjarke Madsen
Browse files

Build

parent f8fb5c34
No related branches found
No related tags found
No related merge requests found
import{j as o,L as O,a as U,r as Y,F}from"./main-BIBsTO5W.js";import{C as t,S as D,a as I,b as P,U as L}from"./report.js";import{u as G,r as m,D as A,F as $,f as q}from"./useData-BDYwoQEh.js";import{S as B}from"./ScrollableMatrix-NiFkXWYi.js";import"./xlsx-CxqzP9DR.js";import"./index-D6hre9Be.js";import"./hook-DmuGcAOd.js";import"./Table-HH9WOnMU.js";const S={[t.ConnectedProportion]:"Proportion of Different Categories of Institutions Served by NRENs",[t.ConnectivityLevel]:"Level of IP Connectivity by Institution Type",[t.ConnectionCarrier]:"Methods of Carrying IP Traffic to Users",[t.ConnectivityLoad]:"Connectivity Load",[t.ConnectivityGrowth]:"Connectivity Growth",[t.CommercialChargingLevel]:"Commercial Charging Level",[t.CommercialConnectivity]:"Commercial Connectivity"},z={[t.ConnectedProportion]:o.jsxs("span",{children:["European NRENs all have different connectivity remits, as is shown in the table below. The categories of institutions make use of the ISCED 2011 classification system, the UNESCO scheme for International Standard Classification of Education.",o.jsx("br",{}),"The table shows whether a particular category of institution falls within the connectivity remit of the NREN, the actual number of such institutions connected, the % market share this represents, and the actual number of end users served in the category."]}),[t.ConnectivityLevel]:o.jsxs("span",{children:["The table below shows the average level of connectivity for each category of institution. The connectivity remit of different NRENs is shown on a different page, and NRENs are asked, at a minimum, to provide information about the typical and highest capacities (in Mbit/s) at which Universities and Research Institutes are connected.",o.jsx("br",{}),"NRENs are also asked to show proportionally how many institutions are connected at the highest capacity they offer."]}),[t.ConnectionCarrier]:o.jsxs("span",{children:["The table below shows the different mechanisms employed by NRENs to carry traffic to the different types of users they serve. Not all NRENs connect all of the types of institution listed below - details of connectivity remits can be found here: ",o.jsx(O,{to:"/connected-proportion",className:"",children:o.jsx("span",{children:S[t.ConnectedProportion]})})]}),[t.ConnectivityLoad]:o.jsx("span",{children:"The table below shows the traffic load in Mbit/s to and from institutions served by NRENs; both the average load, and peak load, when given. The types of institutions are broken down using the ISCED 2011 classification system (the UNESCO scheme for International Standard Classification of Education), plus other types."}),[t.ConnectivityGrowth]:o.jsx("span",{children:"The table below illustrates the anticipated traffic growth within NREN networks over the next three years."}),[t.CommercialChargingLevel]:o.jsx("span",{children:"The table below outlines the typical charging levels for various types of commercial connections."}),[t.CommercialConnectivity]:o.jsx("span",{children:"The table below outlines the types of commercial organizations NRENs connect."})},R={[t.ConnectedProportion]:{"Remit cover connectivity":"coverage","Number of institutions connected":"number_connected","Percentage market share of institutions connected":"market_share","Number of users served":"users_served"},[t.ConnectivityLevel]:{"Typical link speed (Mbit/s):":"typical_speed","Highest speed link (Mbit/s):":"highest_speed","Proportionally how many institutions in this category are connected at the highest capacity? (%):":"highest_speed_proportion"},[t.ConnectionCarrier]:{"Commercial Provider Backbone":"commercial_provider_backbone","NREN Local Loops":"nren_local_loops","Regional NREN Backbone":"regional_nren_backbone",MAN:"man",Other:"other"},[t.ConnectivityLoad]:{"Average Load From Institutions (Mbit/s)":"average_load_from_institutions","Average Load To Institutions (Mbit/s)":"average_load_to_institutions","Peak Load To Institution (Mbit/s)":"peak_load_to_institutions","Peak Load From Institution (Mbit/s)":"peak_load_from_institutions"},[t.ConnectivityGrowth]:{"Percentage growth":"growth"},[t.CommercialChargingLevel]:{"No charges applied if requested by R&E users":"no_charges_if_r_e_requested","Same charging model as for R&E users":"same_as_r_e_charges","Charges typically higher than for R&E users":"higher_than_r_e_charges","Charges typically lower than for R&E users":"lower_than_r_e_charges"},[t.CommercialConnectivity]:{"No - but we offer a direct or IX peering":"no_but_direct_peering","No - not eligible for policy reasons":"no_policy","No - financial restrictions (NREN is unable to charge/recover costs)":"no_financial","No - other reason / unsure":"no_other","Yes - National NREN access only":"yes_national_nren","Yes - Including transit to other networks":"yes_incl_other","Yes - only if sponsored by a connected institution":"yes_if_sponsored"}};function ee(T){const e=U.c(36),{page:i}=T,M=`/api/connected-${i.toString()}`,{filterSelection:n,setFilterSelection:u}=Y.useContext(F),{data:v,years:b,nrens:_}=G(M,u);let r,a,c,s;if(e[0]!==v||e[1]!==n.selectedNrens||e[2]!==n.selectedYears||e[3]!==i){let C;e[8]!==n.selectedNrens||e[9]!==n.selectedYears?(C=j=>n.selectedYears.includes(j.year)&&n.selectedNrens.includes(j.nren),e[8]=n.selectedNrens,e[9]=n.selectedYears,e[10]=C):C=e[10],s=v.filter(C),c=!1,i==t.CommercialConnectivity?(r=I,c=!0,a=m(s,Object.keys(I),void 0)):i==t.CommercialChargingLevel?(r=P,c=!0,a=m(s,Object.keys(P),void 0)):i==t.ConnectionCarrier?(r=L,c=!0,a=m(s,["carry_mechanism"],"user_category")):i==t.ConnectedProportion?(r=L,a=m(s,Object.values(R[i]),"user_category",!1)):(r=L,a=m(s,Object.values(R[i]),"user_category",!1)),e[0]=v,e[1]=n.selectedNrens,e[2]=n.selectedYears,e[3]=i,e[4]=r,e[5]=a,e[6]=c,e[7]=s}else r=e[4],a=e[5],c=e[6],s=e[7];let l;e[11]!==b?(l=[...b],e[11]=b,e[12]=l):l=e[12];let h;e[13]!==_?(h=_.values(),e[13]=_,e[14]=h):h=e[14];let d;e[15]!==h?(d=[...h],e[15]=h,e[16]=d):d=e[16];let f;e[17]!==l||e[18]!==d?(f={availableYears:l,availableNrens:d},e[17]=l,e[18]=d,e[19]=f):f=e[19];let y;e[20]!==n||e[21]!==u||e[22]!==f?(y=o.jsx($,{filterOptions:f,filterSelection:n,setFilterSelection:u}),e[20]=n,e[21]=u,e[22]=f,e[23]=y):y=e[23];const N=y,w=R[i],E=`nren_connected_${i.toString()}`,k=S[i],x=z[i];let p;e[24]!==r||e[25]!==a||e[26]!==c||e[27]!==w?(p=o.jsx(q,{children:o.jsx(B,{dataLookup:a,rowInfo:w,isTickIcon:c,categoryLookup:r})}),e[24]=r,e[25]=a,e[26]=c,e[27]=w,e[28]=p):p=e[28];let g;return e[29]!==E||e[30]!==N||e[31]!==s||e[32]!==k||e[33]!==x||e[34]!==p?(g=o.jsx(A,{title:k,description:x,category:D.ConnectedUsers,filter:N,data:s,filename:E,children:p}),e[29]=E,e[30]=N,e[31]=s,e[32]=k,e[33]=x,e[34]=p,e[35]=g):g=e[35],g}export{ee as default}; import{j as o,L as O,a as U,r as Y,F}from"./main-BIBsTO5W.js";import{C as t,S as D,a as I,b as P,U as L}from"./report.js";import{u as G,r as m,D as A,F as $,f as q}from"./useData-BDYwoQEh.js";import{S as B}from"./ScrollableMatrix-Cdgj4J9X.js";import"./xlsx-CxqzP9DR.js";import"./index-D6hre9Be.js";import"./hook-DmuGcAOd.js";import"./Table-HH9WOnMU.js";const S={[t.ConnectedProportion]:"Proportion of Different Categories of Institutions Served by NRENs",[t.ConnectivityLevel]:"Level of IP Connectivity by Institution Type",[t.ConnectionCarrier]:"Methods of Carrying IP Traffic to Users",[t.ConnectivityLoad]:"Connectivity Load",[t.ConnectivityGrowth]:"Connectivity Growth",[t.CommercialChargingLevel]:"Commercial Charging Level",[t.CommercialConnectivity]:"Commercial Connectivity"},z={[t.ConnectedProportion]:o.jsxs("span",{children:["European NRENs all have different connectivity remits, as is shown in the table below. The categories of institutions make use of the ISCED 2011 classification system, the UNESCO scheme for International Standard Classification of Education.",o.jsx("br",{}),"The table shows whether a particular category of institution falls within the connectivity remit of the NREN, the actual number of such institutions connected, the % market share this represents, and the actual number of end users served in the category."]}),[t.ConnectivityLevel]:o.jsxs("span",{children:["The table below shows the average level of connectivity for each category of institution. The connectivity remit of different NRENs is shown on a different page, and NRENs are asked, at a minimum, to provide information about the typical and highest capacities (in Mbit/s) at which Universities and Research Institutes are connected.",o.jsx("br",{}),"NRENs are also asked to show proportionally how many institutions are connected at the highest capacity they offer."]}),[t.ConnectionCarrier]:o.jsxs("span",{children:["The table below shows the different mechanisms employed by NRENs to carry traffic to the different types of users they serve. Not all NRENs connect all of the types of institution listed below - details of connectivity remits can be found here: ",o.jsx(O,{to:"/connected-proportion",className:"",children:o.jsx("span",{children:S[t.ConnectedProportion]})})]}),[t.ConnectivityLoad]:o.jsx("span",{children:"The table below shows the traffic load in Mbit/s to and from institutions served by NRENs; both the average load, and peak load, when given. The types of institutions are broken down using the ISCED 2011 classification system (the UNESCO scheme for International Standard Classification of Education), plus other types."}),[t.ConnectivityGrowth]:o.jsx("span",{children:"The table below illustrates the anticipated traffic growth within NREN networks over the next three years."}),[t.CommercialChargingLevel]:o.jsx("span",{children:"The table below outlines the typical charging levels for various types of commercial connections."}),[t.CommercialConnectivity]:o.jsx("span",{children:"The table below outlines the types of commercial organizations NRENs connect."})},R={[t.ConnectedProportion]:{"Remit cover connectivity":"coverage","Number of institutions connected":"number_connected","Percentage market share of institutions connected":"market_share","Number of users served":"users_served"},[t.ConnectivityLevel]:{"Typical link speed (Mbit/s):":"typical_speed","Highest speed link (Mbit/s):":"highest_speed","Proportionally how many institutions in this category are connected at the highest capacity? (%):":"highest_speed_proportion"},[t.ConnectionCarrier]:{"Commercial Provider Backbone":"commercial_provider_backbone","NREN Local Loops":"nren_local_loops","Regional NREN Backbone":"regional_nren_backbone",MAN:"man",Other:"other"},[t.ConnectivityLoad]:{"Average Load From Institutions (Mbit/s)":"average_load_from_institutions","Average Load To Institutions (Mbit/s)":"average_load_to_institutions","Peak Load To Institution (Mbit/s)":"peak_load_to_institutions","Peak Load From Institution (Mbit/s)":"peak_load_from_institutions"},[t.ConnectivityGrowth]:{"Percentage growth":"growth"},[t.CommercialChargingLevel]:{"No charges applied if requested by R&E users":"no_charges_if_r_e_requested","Same charging model as for R&E users":"same_as_r_e_charges","Charges typically higher than for R&E users":"higher_than_r_e_charges","Charges typically lower than for R&E users":"lower_than_r_e_charges"},[t.CommercialConnectivity]:{"No - but we offer a direct or IX peering":"no_but_direct_peering","No - not eligible for policy reasons":"no_policy","No - financial restrictions (NREN is unable to charge/recover costs)":"no_financial","No - other reason / unsure":"no_other","Yes - National NREN access only":"yes_national_nren","Yes - Including transit to other networks":"yes_incl_other","Yes - only if sponsored by a connected institution":"yes_if_sponsored"}};function ee(T){const e=U.c(36),{page:i}=T,M=`/api/connected-${i.toString()}`,{filterSelection:n,setFilterSelection:u}=Y.useContext(F),{data:v,years:b,nrens:_}=G(M,u);let r,a,c,s;if(e[0]!==v||e[1]!==n.selectedNrens||e[2]!==n.selectedYears||e[3]!==i){let C;e[8]!==n.selectedNrens||e[9]!==n.selectedYears?(C=j=>n.selectedYears.includes(j.year)&&n.selectedNrens.includes(j.nren),e[8]=n.selectedNrens,e[9]=n.selectedYears,e[10]=C):C=e[10],s=v.filter(C),c=!1,i==t.CommercialConnectivity?(r=I,c=!0,a=m(s,Object.keys(I),void 0)):i==t.CommercialChargingLevel?(r=P,c=!0,a=m(s,Object.keys(P),void 0)):i==t.ConnectionCarrier?(r=L,c=!0,a=m(s,["carry_mechanism"],"user_category")):i==t.ConnectedProportion?(r=L,a=m(s,Object.values(R[i]),"user_category",!1)):(r=L,a=m(s,Object.values(R[i]),"user_category",!1)),e[0]=v,e[1]=n.selectedNrens,e[2]=n.selectedYears,e[3]=i,e[4]=r,e[5]=a,e[6]=c,e[7]=s}else r=e[4],a=e[5],c=e[6],s=e[7];let l;e[11]!==b?(l=[...b],e[11]=b,e[12]=l):l=e[12];let h;e[13]!==_?(h=_.values(),e[13]=_,e[14]=h):h=e[14];let d;e[15]!==h?(d=[...h],e[15]=h,e[16]=d):d=e[16];let f;e[17]!==l||e[18]!==d?(f={availableYears:l,availableNrens:d},e[17]=l,e[18]=d,e[19]=f):f=e[19];let y;e[20]!==n||e[21]!==u||e[22]!==f?(y=o.jsx($,{filterOptions:f,filterSelection:n,setFilterSelection:u}),e[20]=n,e[21]=u,e[22]=f,e[23]=y):y=e[23];const N=y,w=R[i],E=`nren_connected_${i.toString()}`,k=S[i],x=z[i];let p;e[24]!==r||e[25]!==a||e[26]!==c||e[27]!==w?(p=o.jsx(q,{children:o.jsx(B,{dataLookup:a,rowInfo:w,isTickIcon:c,categoryLookup:r})}),e[24]=r,e[25]=a,e[26]=c,e[27]=w,e[28]=p):p=e[28];let g;return e[29]!==E||e[30]!==N||e[31]!==s||e[32]!==k||e[33]!==x||e[34]!==p?(g=o.jsx(A,{title:k,description:x,category:D.ConnectedUsers,filter:N,data:s,filename:E,children:p}),e[29]=E,e[30]=N,e[31]=s,e[32]=k,e[33]=x,e[34]=p,e[35]=g):g=e[35],g}export{ee as default};
import{a as T,j as t}from"./main-BIBsTO5W.js";import{c as k}from"./report.js";import{T as A}from"./Table-HH9WOnMU.js";const L=t.jsx("span",{children:""}),O=8;function Z(r){const e=T.c(12),{dataLookup:n,rowInfo:s,categoryLookup:h,isTickIcon:b}=r,l=b===void 0?!1:b;if(!n){let c;return e[0]===Symbol.for("react.memo_cache_sentinel")?(c=t.jsx("div",{className:"matrix-border"}),e[0]=c):c=e[0],c}let m;if(e[1]!==h||e[2]!==n||e[3]!==l||e[4]!==s){let c;e[6]!==n||e[7]!==l||e[8]!==s?(c=v=>{const[p,E]=v,C=Object.entries(s).map(o=>{const[u,a]=o,i=[];return Array.from(n.entries()).sort(F).forEach(y=>{const[,_]=y;_.forEach(g=>{const f=g.get(p);if(!f)return;const N=f[a]!=null?Object.keys(f[a])[0]:null,I=N!=null&&l?L:N;i.push(I)})}),i.length?t.jsxs("tr",{children:[t.jsx("th",{className:"fixed-column",children:u}),i.map(D)]},u):null}),j=Array.from(n.entries()).sort(B).reduce((o,u)=>{const[a,i]=u;return Array.from(i.entries()).forEach(y=>{const[_,g]=y;g.get(p)&&(o[a]||(o[a]=[]),o[a].push(_))}),o},{});for(const o in j)j[o].sort($);return t.jsx(k,{title:E,startCollapsed:!0,theme:"-matrix",children:C?t.jsx("div",{className:"table-responsive",children:t.jsxs(A,{className:"matrix-table",bordered:!0,children:[t.jsx("thead",{children:(()=>{const o=Object.entries(j);return t.jsxs(t.Fragment,{children:[t.jsxs("tr",{children:[t.jsx("th",{className:"fixed-column"}),o.map(w)]}),t.jsxs("tr",{children:[t.jsx("th",{className:"fixed-column"}),o.flatMap(S)]})]})})()}),t.jsx("tbody",{children:C})]})}):t.jsx("div",{style:{paddingLeft:"5%"},children:t.jsx("p",{children:"No data available for this section."})})},p)},e[6]=n,e[7]=l,e[8]=s,e[9]=c):c=e[9],m=Object.entries(h).map(c),e[1]=h,e[2]=n,e[3]=l,e[4]=s,e[5]=m}else m=e[5];const x=m;let d;return e[10]!==x?(d=t.jsx("div",{className:"matrix-border",children:x}),e[10]=x,e[11]=d):d=e[11],d}function S(r){const[e,n]=r;return n.map(s=>t.jsx("th",{children:s},`${e}-${s}`))}function w(r){const[e,n]=r;return t.jsx("th",{colSpan:n.length,style:{width:`${n.length*O}rem`},children:e},e)}function $(r,e){return r-e}function B(r,e){const[n]=r,[s]=e;return n.localeCompare(s)}function D(r,e){return t.jsx("td",{children:r},e)}function F(r,e){const[n]=r,[s]=e;return n.localeCompare(s)}export{Z as S};
import{a as k,j as t}from"./main-BIBsTO5W.js";import{c as L}from"./report.js";import{T as O}from"./Table-HH9WOnMU.js";const S=t.jsx("span",{children:""}),w=8;function G(s){const e=k.c(12),{dataLookup:r,rowInfo:n,categoryLookup:f,isTickIcon:_}=s,l=_===void 0?!1:_;if(!r){let o;return e[0]===Symbol.for("react.memo_cache_sentinel")?(o=t.jsx("div",{className:"matrix-border"}),e[0]=o):o=e[0],o}let m;if(e[1]!==f||e[2]!==r||e[3]!==l||e[4]!==n){let o;e[6]!==r||e[7]!==l||e[8]!==n?(o=v=>{const[x,E]=v,g=Object.entries(n).map(a=>{const[u,c]=a,i=[];return Array.from(r.entries()).sort(M).forEach(p=>{const[,j]=p;Array.from(j.entries()).sort(K).forEach(C=>{const[D,I]=C;console.log(D);const y=I.get(x);if(!y)return;const N=y[c]!=null?Object.keys(y[c])[0]:null,T=N!=null&&l?S:N;i.push(T)})}),i.length?t.jsxs("tr",{children:[t.jsx("th",{className:"fixed-column",children:u}),i.map(R)]},u):null}),A=Array.from(r.entries()).sort(F).reduce((a,u)=>{const[c,i]=u;return Array.from(i.entries()).forEach(p=>{const[j,b]=p;b.get(x)&&(a[c]||(a[c]=[]),a[c].push(j))}),a},{});return t.jsx(L,{title:E,startCollapsed:!0,theme:"-matrix",children:g?t.jsx("div",{className:"table-responsive",children:t.jsxs(O,{className:"matrix-table",bordered:!0,children:[t.jsx("thead",{children:(()=>{const a=Object.entries(A);return t.jsxs(t.Fragment,{children:[t.jsxs("tr",{children:[t.jsx("th",{className:"fixed-column"}),a.map($)]}),t.jsxs("tr",{children:[t.jsx("th",{className:"fixed-column"}),a.flatMap(B)]})]})})()}),t.jsx("tbody",{children:g})]})}):t.jsx("div",{style:{paddingLeft:"5%"},children:t.jsx("p",{children:"No data available for this section."})})},x)},e[6]=r,e[7]=l,e[8]=n,e[9]=o):o=e[9],m=Object.entries(f).map(o),e[1]=f,e[2]=r,e[3]=l,e[4]=n,e[5]=m}else m=e[5];const h=m;let d;return e[10]!==h?(d=t.jsx("div",{className:"matrix-border",children:h}),e[10]=h,e[11]=d):d=e[11],d}function B(s){const[e,r]=s;return r.map(n=>t.jsx("th",{children:n},`${e}-${n}`))}function $(s){const[e,r]=s;return t.jsx("th",{colSpan:r.length,style:{width:`${r.length*w}rem`},children:e},e)}function F(s,e){const[r]=s,[n]=e;return r.localeCompare(n)}function R(s,e){return t.jsx("td",{children:s},e)}function K(s,e){const[r]=s,[n]=e;return r-n}function M(s,e){const[r]=s,[n]=e;return r.localeCompare(n)}export{G as S};
import{a as _,r as w,F as j,j as c}from"./main-BIBsTO5W.js";import{u as k,r as C,D as E,F as R,f as Y}from"./useData-BDYwoQEh.js";import{S as F,U as I}from"./report.js";import{S as P}from"./ScrollableMatrix-NiFkXWYi.js";import"./xlsx-CxqzP9DR.js";import"./index-D6hre9Be.js";import"./hook-DmuGcAOd.js";import"./Table-HH9WOnMU.js";function q(){const e=_.c(29),{filterSelection:t,setFilterSelection:n}=w.useContext(j),{data:h,years:g,nrens:v}=k("/api/services-offered",n);let s,f;if(e[0]!==t.selectedNrens||e[1]!==t.selectedYears||e[2]!==h){let y;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(y=S=>t.selectedYears.includes(S.year)&&t.selectedNrens.includes(S.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=y):y=e[7],s=h.filter(y),f=C(s,["service_category"],"user_category"),e[0]=t.selectedNrens,e[1]=t.selectedYears,e[2]=h,e[3]=s,e[4]=f}else s=e[3],f=e[4];const N=f;let r;e[8]!==g?(r=[...g],e[8]=g,e[9]=r):r=e[9];let i;e[10]!==v?(i=v.values(),e[10]=v,e[11]=i):i=e[11];let o;e[12]!==i?(o=[...i],e[12]=i,e[13]=o):o=e[13];let a;e[14]!==r||e[15]!==o?(a={availableYears:r,availableNrens:o},e[14]=r,e[15]=o,e[16]=a):a=e[16];let d;e[17]!==t||e[18]!==n||e[19]!==a?(d=c.jsx(R,{filterOptions:a,filterSelection:t,setFilterSelection:n}),e[17]=t,e[18]=n,e[19]=a,e[20]=d):d=e[20];const x=d;let p;e[21]===Symbol.for("react.memo_cache_sentinel")?(p={"Identity/T&I":"identity",Multimedia:"multimedia","Professional services":"professional_services","Network services":"network_services",Collaboration:"collaboration",Security:"security","Storage and Hosting":"storage_and_hosting","ISP support":"isp_support"},e[21]=p):p=e[21];const b=p;let m;e[22]===Symbol.for("react.memo_cache_sentinel")?(m=c.jsx("span",{children:"The table below shows the different types of users served by NRENs. Selecting the institution type will expand the detail to show the categories of services offered by NRENs, with a tick indicating that the NREN offers a specific category of service to the type of user."}),e[22]=m):m=e[22];let l;e[23]!==N?(l=c.jsx(Y,{children:c.jsx(P,{dataLookup:N,rowInfo:b,categoryLookup:I,isTickIcon:!0})}),e[23]=N,e[24]=l):l=e[24];let u;return e[25]!==x||e[26]!==s||e[27]!==l?(u=c.jsx(E,{title:"Services Offered by NRENs by Types of Users",description:m,category:F.Policy,filter:x,data:s,filename:"nren_services_offered",children:l}),e[25]=x,e[26]=s,e[27]=l,e[28]=u):u=e[28],u}export{q as default}; import{a as _,r as w,F as j,j as c}from"./main-BIBsTO5W.js";import{u as k,r as C,D as E,F as R,f as Y}from"./useData-BDYwoQEh.js";import{S as F,U as I}from"./report.js";import{S as P}from"./ScrollableMatrix-Cdgj4J9X.js";import"./xlsx-CxqzP9DR.js";import"./index-D6hre9Be.js";import"./hook-DmuGcAOd.js";import"./Table-HH9WOnMU.js";function q(){const e=_.c(29),{filterSelection:t,setFilterSelection:n}=w.useContext(j),{data:h,years:g,nrens:v}=k("/api/services-offered",n);let s,f;if(e[0]!==t.selectedNrens||e[1]!==t.selectedYears||e[2]!==h){let y;e[5]!==t.selectedNrens||e[6]!==t.selectedYears?(y=S=>t.selectedYears.includes(S.year)&&t.selectedNrens.includes(S.nren),e[5]=t.selectedNrens,e[6]=t.selectedYears,e[7]=y):y=e[7],s=h.filter(y),f=C(s,["service_category"],"user_category"),e[0]=t.selectedNrens,e[1]=t.selectedYears,e[2]=h,e[3]=s,e[4]=f}else s=e[3],f=e[4];const N=f;let r;e[8]!==g?(r=[...g],e[8]=g,e[9]=r):r=e[9];let i;e[10]!==v?(i=v.values(),e[10]=v,e[11]=i):i=e[11];let o;e[12]!==i?(o=[...i],e[12]=i,e[13]=o):o=e[13];let a;e[14]!==r||e[15]!==o?(a={availableYears:r,availableNrens:o},e[14]=r,e[15]=o,e[16]=a):a=e[16];let d;e[17]!==t||e[18]!==n||e[19]!==a?(d=c.jsx(R,{filterOptions:a,filterSelection:t,setFilterSelection:n}),e[17]=t,e[18]=n,e[19]=a,e[20]=d):d=e[20];const x=d;let p;e[21]===Symbol.for("react.memo_cache_sentinel")?(p={"Identity/T&I":"identity",Multimedia:"multimedia","Professional services":"professional_services","Network services":"network_services",Collaboration:"collaboration",Security:"security","Storage and Hosting":"storage_and_hosting","ISP support":"isp_support"},e[21]=p):p=e[21];const b=p;let m;e[22]===Symbol.for("react.memo_cache_sentinel")?(m=c.jsx("span",{children:"The table below shows the different types of users served by NRENs. Selecting the institution type will expand the detail to show the categories of services offered by NRENs, with a tick indicating that the NREN offers a specific category of service to the type of user."}),e[22]=m):m=e[22];let l;e[23]!==N?(l=c.jsx(Y,{children:c.jsx(P,{dataLookup:N,rowInfo:b,categoryLookup:I,isTickIcon:!0})}),e[23]=N,e[24]=l):l=e[24];let u;return e[25]!==x||e[26]!==s||e[27]!==l?(u=c.jsx(E,{title:"Services Offered by NRENs by Types of Users",description:m,category:F.Policy,filter:x,data:s,filename:"nren_services_offered",children:l}),e[25]=x,e[26]=s,e[27]=l,e[28]=u):u=e[28],u}export{q as default};
This diff is collapsed.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment