@spotify/backstage-plugin-soundcheck 0.8.2 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +38 -4
- package/README.md +16 -3
- package/config.d.ts +9 -0
- package/dist/esm/EntitySoundcheckContent-d8bf249e.esm.js +2 -0
- package/dist/esm/OverviewPageContent-5557813a.esm.js +2 -0
- package/dist/esm/{RefetchingIndicator-e114bc04.esm.js → RefetchingIndicator-a31faa1d.esm.js} +2 -2
- package/dist/esm/index-293deb4d.esm.js +2 -0
- package/dist/esm/{index-e3458e3b.esm.js → index-920b177e.esm.js} +2 -2
- package/dist/esm/index-927a757e.esm.js +2 -0
- package/dist/esm/index-c3aebdd7.esm.js +429 -0
- package/dist/images/empty-state.svg +1 -0
- package/dist/images/no-results.svg +42 -0
- package/dist/index.esm.js +1 -1
- package/package.json +23 -17
- package/dist/esm/EntitySoundcheckContent-61aee236.esm.js +0 -2
- package/dist/esm/OverviewPageContent-31025374.esm.js +0 -2
- package/dist/esm/index-0208f72c.esm.js +0 -2
- package/dist/esm/index-7b347cd4.esm.js +0 -388
- package/dist/esm/index-7f1f7ff1.esm.js +0 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,43 @@
|
|
|
1
1
|
# @spotify/backstage-plugin-soundcheck
|
|
2
2
|
|
|
3
|
+
## 0.9.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Upgraded Backstage to `v1.20.3`.
|
|
8
|
+
- Updated dependency `cross-fetch` to `^4.0.0`.
|
|
9
|
+
- Added Track owner select to Track form.
|
|
10
|
+
- Checks are now linkable by id via the following url format `soundcheck/checks/:checkId`. Pages will now properly link to the check instead of the checks list page.
|
|
11
|
+
- Renamed Soundcheck menu options for Checks, Tracks, and Collectors to include "Library".
|
|
12
|
+
- Tracks are now linkable by id via the following url format `soundcheck/tracks/:trackId`. Pages will now properly link to the track instead of the tracks list page.
|
|
13
|
+
- Check descriptions, check passed messages, check failed messages, and track descriptions now support markdown in the UI.
|
|
14
|
+
- Updated dependencies
|
|
15
|
+
- @spotify/backstage-plugin-soundcheck-common@0.9.1
|
|
16
|
+
- @spotify/backstage-plugin-core@0.5.8
|
|
17
|
+
|
|
18
|
+
## 0.9.0
|
|
19
|
+
|
|
20
|
+
### Minor Changes
|
|
21
|
+
|
|
22
|
+
- Added entity type/lifecycle/kind filters to Soundcheck's Tech Health page.
|
|
23
|
+
|
|
24
|
+
### Patch Changes
|
|
25
|
+
|
|
26
|
+
- Resolved an issue with Check filters generated via UI not applying to parent Tracks.
|
|
27
|
+
|
|
28
|
+
Resolved an edge case where the displayed entity counts on the Overview page tabs could be mismatched.
|
|
29
|
+
|
|
30
|
+
- Added grid view for Checks, Tracks, Entities and Teams tabs on Tech Health page.
|
|
31
|
+
- Souncheck's overview table will now show entities by title rather than name if title is present.
|
|
32
|
+
- Added .csv export functionality to the Soundcheck Tech Health pages.
|
|
33
|
+
- Added "Export to CSV" buttons for graphs on Tech Health Summary Page.
|
|
34
|
+
- Updated default page pagination to 10 and enabled pagination options on the Soundcheck Checks and Tracks pages.
|
|
35
|
+
- Resolved an issue that could prevent newly created tracks from displaying on the Tech Health page and recently deleted tracks are now immediately removed.
|
|
36
|
+
- Upgraded Backstage to v1.19.0
|
|
37
|
+
- Updated dependencies
|
|
38
|
+
- @spotify/backstage-plugin-soundcheck-common@0.9.0
|
|
39
|
+
- @spotify/backstage-plugin-core@0.5.7
|
|
40
|
+
|
|
3
41
|
## 0.8.2
|
|
4
42
|
|
|
5
43
|
### Patch Changes
|
|
@@ -61,10 +99,6 @@
|
|
|
61
99
|
- Resolved an issue where newly added Checks would not immediately show up in the Track UI.
|
|
62
100
|
- Resolved an issue where the text for warning messages on the Soundcheck Group page was not accurate.
|
|
63
101
|
- Tooltips in the overview table now support Markdown in check descriptions.
|
|
64
|
-
- Updated dependencies
|
|
65
|
-
- Updated dependencies
|
|
66
|
-
- Updated dependencies
|
|
67
|
-
- Updated dependencies
|
|
68
102
|
- Updated dependencies
|
|
69
103
|
- @spotify/backstage-plugin-soundcheck-common@0.8.0
|
|
70
104
|
- @spotify/backstage-plugin-core@0.5.6
|
package/README.md
CHANGED
|
@@ -45,6 +45,7 @@ Together, they show you how any given software component is performing against y
|
|
|
45
45
|
- [Aggregations](#aggregations)
|
|
46
46
|
- [Filters](#filters-1)
|
|
47
47
|
- [Trends](#trends)
|
|
48
|
+
- [Data Export](#data-export)
|
|
48
49
|
<!-- TOC -->
|
|
49
50
|
|
|
50
51
|
## Prerequisites
|
|
@@ -331,15 +332,21 @@ The check result and certification data can be aggregated by:
|
|
|
331
332
|
The data can be filtered by the following categories:
|
|
332
333
|
|
|
333
334
|
- `Entities`: check and certification pass rates will be calculated only for selected entities.
|
|
334
|
-
- `Entity
|
|
335
|
+
- `Entity Kind`: check and certification pass rates will be calculated only for the entities
|
|
336
|
+
with selected kinds.
|
|
337
|
+
- `Entity Type`: check and certification pass rates will be calculated only for the entities
|
|
338
|
+
with selected types.
|
|
339
|
+
- `Entity Owner`: check and certification pass rates will be calculated only for the entities
|
|
335
340
|
owned by selected teams and their child teams recursively.
|
|
341
|
+
- `Entity Lifecycle`: check and certification pass rates will be calculated only for the entities
|
|
342
|
+
with selected lifecycles.
|
|
336
343
|
- `Tracks`: check and certification pass rates will be calculated only for selected tracks and
|
|
337
344
|
checks included in these tracks.
|
|
338
|
-
- `Track
|
|
345
|
+
- `Track Level`: check and certification pass rates will be calculated only for selected track
|
|
339
346
|
levels and checks included in these track levels.
|
|
340
347
|
- `Checks`: check pass rates will be calculated only for selected checks. Certification pass rates
|
|
341
348
|
will be calculated only for track levels that include these checks.
|
|
342
|
-
- `Check
|
|
349
|
+
- `Check Owner`: check pass rates will be calculated only for the checks owned by selected teams.
|
|
343
350
|
Certification pass rates will be calculated only for track levels that include checks owned by
|
|
344
351
|
selected teams.
|
|
345
352
|
|
|
@@ -356,3 +363,9 @@ Check result history and certification history must be enabled in order to be ab
|
|
|
356
363
|
|
|
357
364
|
- [Enabling check result history](https://www.npmjs.com/package/@spotify/backstage-plugin-soundcheck-backend#enabling-check-result-history)
|
|
358
365
|
- [Enabling certification history](https://www.npmjs.com/package/@spotify/backstage-plugin-soundcheck-backend#enabling-certification-history)
|
|
366
|
+
|
|
367
|
+
### Data Export
|
|
368
|
+
|
|
369
|
+
The aggregated data from each Tech Health Page tab can be exported into a Comma-Separated Values (CSV)
|
|
370
|
+
file format. The CSV format is widely supported and can be easily imported into various data analysis
|
|
371
|
+
tools, spreadsheets, and databases.
|
package/config.d.ts
CHANGED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e,{useState as W,useEffect as $}from"react";import{Link as O,useParams as Q,Routes as j,Route as k,Navigate as I}from"react-router-dom";import{makeStyles as p,Typography as f,Box as U,Tab as L,Tabs as T,Paper as V,Divider as Y}from"@material-ui/core";import{SpotifyLicenseBanner as q}from"@spotify/backstage-plugin-core";import{useEntity as u}from"@backstage/plugin-catalog-react";import{R as G}from"./RefetchingIndicator-a31faa1d.esm.js";import{s as H,R as c,A as y,F as B,a as J,u as x,L as K,N as X,b as C,c as g,d as Z,C as _,e as ee,i as te,f as F,S as ae}from"./index-c3aebdd7.esm.js";import{Skeleton as s}from"@material-ui/lab";import{MarkdownContent as P}from"@backstage/core-components";import{stringifyEntityRef as ne}from"@backstage/catalog-model";import{useApi as re,useRouteRef as b,useRouteRefParams as ie}from"@backstage/core-plugin-api";import{useQuery as le}from"@tanstack/react-query";import oe from"react-use/lib/useMeasure";import A from"react-use/lib/usePrevious";import ce from"react-confetti";import"react-use/lib/useDebounce";import"graphql-request";import"graphql-tag";import"lodash";import"@material-ui/core/styles/makeStyles";import"classnames";import"@material-ui/icons/Schedule";import"luxon";import"@material-ui/icons/Check";import"@material-ui/icons/Close";import"@material-ui/icons/RemoveCircleOutline";import"@material-ui/icons/HelpOutline";import"../images/empty-state.svg";function se(t,n,a){const r=re(H),i=ne(t);return le(["soundcheck/check-details",i,n,a],async()=>r.getCheckResultDetails(i,n,a),{enabled:!!n&&!!a})}const me=p({markdownContent:{"& :last-child":{marginBottom:0}}}),de=({state:t,notes:n})=>{const a=me(),r={[c.Passed]:"success",[c.Failed]:"error",[c.NotReported]:"info",[c.NotApplicable]:"info"}[t],i={[c.Passed]:"Check passed",[c.Failed]:"Check did not pass",[c.NotReported]:"Check not reported",[c.NotApplicable]:"Check not applicable"}[t];return e.createElement(y,{severity:r,title:i},n?e.createElement(P,{className:a.markdownContent,content:n}):null)},pe=()=>{const t=D();return e.createElement(B,null,e.createElement("div",{className:t.root,"data-testid":"check-details-view"},e.createElement("div",{className:t.topBar},e.createElement(f,{variant:"h2",className:t.title},e.createElement(s,{width:300,height:32})),e.createElement(s,{width:100,height:32})),e.createElement(s,{variant:"rect",height:120}),e.createElement("div",{"data-testid":"soundcheck-check-details-description"},e.createElement(f,{variant:"h3"},e.createElement(s,null)),e.createElement(s,null),e.createElement(s,null),e.createElement(s,null))))},D=p(t=>({root:{padding:`${t.spacing(3)}px ${t.spacing(5)}px`},title:{fontWeight:"normal",fontSize:t.typography.h5.fontSize},description:{padding:`${t.spacing(3)}px 0`},subtitle:{fontWeight:"normal",fontSize:t.typography.h6.fontSize},topBar:{display:"flex",justifyContent:"space-between",marginBottom:t.spacing(2)}})),ue=({programId:t,checkId:n})=>{const a=D(),{entity:r}=u(),{data:i,isLoading:l,isError:o}=se(r,t,n);if(o)return e.createElement(U,{padding:2},e.createElement(y,{severity:"error",title:"Error loading check details"}));if(l||!t||!n)return e.createElement(pe,null);if(!i)return null;const{name:h,description:d,result:v,timestamp:m,notes:E}=i;return e.createElement("div",{className:a.root,"data-testid":"check-details-view"},e.createElement("div",{className:a.topBar},e.createElement(f,{variant:"h2",className:a.title},h),m?e.createElement(J,{timestamp:m,description:"Last updated"}):null),e.createElement(de,{state:v,notes:E}),e.createElement("div",{className:a.description,"data-testid":"soundcheck-check-details-description"},e.createElement(f,{variant:"h3",className:a.subtitle},"Description"),e.createElement(P,{content:d})))},he=p(()=>({root:{position:"absolute",width:"100%",height:"100%"}})),Ee=({programId:t})=>{var n,a;const r=he(),{entity:i}=u(),{data:l,isLoading:o}=x(i,t),[h,{width:d,height:v}]=oe(),m=o?void 0:(a=(n=l==null?void 0:l.highestLevel)==null?void 0:n.ordinal)!=null?a:-1,E=A(m),R=A(t),[M,S]=W(!1);return $(()=>{typeof E!="undefined"&&typeof m!="undefined"&&t===R&&m>E&&S(!0)},[m,E,t,R]),M?e.createElement("div",{ref:h,className:r.root},e.createElement(ce,{width:d,height:v,numberOfPieces:1e3,gravity:1,initialVelocityY:20,recycle:!1,onConfettiComplete:()=>S(!1)})):null},z=p(t=>({root:{maxWidth:"80ch",textTransform:"uppercase",paddingTop:t.spacing(2),paddingBottom:t.spacing(2)},wrapper:{display:"inline-block",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"},badge:{marginRight:t.spacing(1)}})),fe=({id:t,name:n,badge:a,href:r,selected:i=!1})=>{const l=z();return e.createElement(L,{className:l.root,classes:{wrapper:l.wrapper},value:t,label:e.createElement(e.Fragment,null,a?e.createElement(K,{badge:a,className:l.badge}):e.createElement(X,{className:l.badge}),n),component:O,to:r,selected:i})},w=()=>{const t=z();return e.createElement(L,{className:t.root,classes:{wrapper:t.wrapper},label:e.createElement(s,{width:180})})},ge=()=>e.createElement(B,null,e.createElement(T,{value:!1,indicatorColor:"primary"},e.createElement(w,null),e.createElement(w,null),e.createElement(w,null)));function ve(t=[],n){const a=t.findIndex(r=>r.program.id===n);return a<0?!1:a}const ke=({trackId:t})=>{const{entity:n}=u(),{isLoading:a,data:r}=C(n),i=b(g);if(a||!t)return e.createElement(ge,null);const l=ve(r,t);return e.createElement(T,{value:l,indicatorColor:"primary","aria-label":"Certifications",variant:"scrollable"},r&&r.map(({program:{id:o,name:h},highestLevel:d})=>e.createElement(fe,{key:o,id:o,name:h,badge:d==null?void 0:d.badge,selected:o===t,href:i({trackId:o})})))},ye=p({paper:{overflow:"hidden",position:"relative"},view:{display:"grid",gridTemplateColumns:"1fr 2fr"}}),Ce=()=>{const{trackId:t,checkId:n}=Q(),a=ye(),{entity:r}=u(),{isError:i,isFetched:l,data:o}=C(r);return i?e.createElement(y,{severity:"error",title:"Error loading certifications"}):l&&!(o!=null&&o.length)?e.createElement(Z,null):e.createElement(V,{className:a.paper},e.createElement(G,null),e.createElement(ke,{trackId:t}),e.createElement(Y,null),e.createElement("div",{"data-testid":"soundcheck-certification-view",className:a.view},e.createElement(_,{trackId:t,checkId:n}),e.createElement(ue,{programId:t,checkId:n}),e.createElement(Ee,{programId:t})))},be=p(t=>({root:{"&:not(:first-child)":{marginTop:t.spacing(2)}}})),N=()=>{const t=be();return e.createElement(e.Fragment,null,e.createElement(q,{backend:ee,invalidLicenseMessage:te,inline:!0}),e.createElement("div",{className:t.root},e.createElement(Ce,null)))},we=()=>{var t;const{entity:n}=u(),a=b(g),{data:r}=C(n),i=(t=r==null?void 0:r[0])==null?void 0:t.program.id;return i?e.createElement(I,{to:a({trackId:i}),replace:!0}):null},Ne=()=>{var t,n;const{entity:a}=u(),{trackId:r}=ie(g),i=b(F),{data:l}=x(a,r),o=(n=(t=l==null?void 0:l.levels[0])==null?void 0:t.checks[0])==null?void 0:n.id;return o?e.createElement(I,{to:i({trackId:r,checkId:o}),replace:!0}):null},Re=()=>e.createElement(j,null,e.createElement(k,{path:"/",element:e.createElement(e.Fragment,null,e.createElement(N,null),e.createElement(we,null))}),e.createElement(k,{path:g.path,element:e.createElement(e.Fragment,null,e.createElement(N,null),e.createElement(Ne,null))}),e.createElement(k,{path:F.path,element:e.createElement(N,null)})),Se=()=>e.createElement(ae,null,e.createElement(Re,null));export{Se as EntitySoundcheckContent};
|
|
2
|
+
//# sourceMappingURL=EntitySoundcheckContent-d8bf249e.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import t,{useState as L,useEffect as E,useMemo as P,useCallback as M,createContext as ge,useContext as he,memo as b,Fragment as fe}from"react";import{useSearchParams as ye}from"react-router-dom";import{makeStyles as f,alpha as j,TextField as ve,CircularProgress as Ee,Tooltip as K,LinearProgress as ke,withStyles as be,Grid as C,Typography as k}from"@material-ui/core";import Ce from"@material-ui/lab/Autocomplete";import{stringifyEntityRef as A,parseEntityRef as x}from"@backstage/catalog-model";import{useApi as v,identityApiRef as U,useRouteRef as F,configApiRef as Re}from"@backstage/core-plugin-api";import{useQuery as T}from"@tanstack/react-query";import{s as D,R,h as we,B as Ne,L as Q,N as _,Q as q,A as $e,d as xe,j as Te}from"./index-c3aebdd7.esm.js";import{catalogApiRef as B,humanizeEntityRef as O,entityRouteRef as S}from"@backstage/plugin-catalog-react";import Ie from"react-use/lib/useAsync";import{HeaderTabs as J,MarkdownContent as Le,Link as z,EmptyState as Be}from"@backstage/core-components";import{R as Oe}from"./RefetchingIndicator-a31faa1d.esm.js";import Pe,{countBy as X}from"lodash";import{Skeleton as H}from"@material-ui/lab";import{VariableSizeGrid as Ae}from"react-window";function Y(e,r){const a=v(D);return T(["soundcheck/track-overview-for-owner",e,r],async()=>a.getProgramOverviewForOwner(e,r),{enabled:!!e&&!!(r!=null&&r.kind)})}function Z(){const e=v(B);return T(["soundcheck/all-groups"],async()=>{const{items:r}=await e.getEntities({filter:{kind:"Group"},fields:["spec.profile.displayName","metadata.title","metadata.name","metadata.namespace","kind"]});return r.filter(a=>(a==null?void 0:a.kind)==="Group").map(a=>{var n,l,s,i;return{name:(i=(s=(l=(n=a.spec)==null?void 0:n.profile)==null?void 0:l.displayName)!=null?s:a.metadata.title)!=null?i:a.metadata.name,ref:A(a)}})},{staleTime:5*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1})}function Fe(){const e=v(U),r=v(B);return T(["soundcheck/user-groups-claims"],async()=>{const{ownershipEntityRefs:a}=await e.getBackstageIdentity();return(await r.getEntitiesByRefs({entityRefs:a})).items.filter(n=>(n==null?void 0:n.kind)==="Group").map(n=>{var l,s,i,c;return{name:(c=(i=(s=(l=n.spec)==null?void 0:l.profile)==null?void 0:s.displayName)!=null?i:n.metadata.title)!=null?c:n.metadata.name,ref:A(n)}})})}function Se(e){const r=v(D);return T(["soundcheck/facets-for-owner",e],async()=>r.getFacetsForOwner(e),{enabled:!!e})}const ze=()=>{const[e,r]=ye(),a=Object.fromEntries(e.entries()),[n,l]=L(a);return E(()=>{r(n,{replace:!0})},[n]),[n,l]},ee=()=>{const{data:e,isLoading:r,isError:a}=Fe(),{data:n,isLoading:l,isError:s}=Z();return{options:P(()=>{const i=new Map;return e&&e.forEach(({name:c,ref:o})=>{i.set(`${o}`,{name:c,ref:o,key:"My Groups"})}),n&&n.forEach(({name:c,ref:o})=>{i.has(`${o}`)||i.set(`${o}`,{name:c,ref:o,key:"All Groups"})}),[...i.values()]},[e,n]),isLoading:r||l,isError:a||s}},He=f(e=>({root:{width:"100%",minWidth:250},textField:{"& $notchedOutline":{borderColor:j(e.page.fontColor,.25)},"&:hover $notchedOutline":{borderColor:e.page.fontColor}},input:{backgroundColor:"transparent",color:e.page.fontColor},clearIndicator:{color:e.page.fontColor},popupIndicator:{color:e.page.fontColor},notchedOutline:{}})),We=e=>{const{onChange:r,initialValue:a,setError:n}=e,{options:l,isLoading:s,isError:i}=ee(),c=He(),[o,d]=L(null);E(()=>{if(!s&&l!=null&&l.length&&!o){const m=a?l.find(p=>p.ref===a):l[0];m&&(d(m),r==null||r(m.ref))}},[s,l,o,r,a]);const u=M((m,p)=>{d(p),r==null||r(p==null?void 0:p.ref)},[r,d]);return E(()=>{n==null||n(i?new Error("Error loading groups"):void 0)},[i,n]),i?null:t.createElement(Ce,{"aria-label":"Current group",className:c.root,classes:{clearIndicator:c.clearIndicator,popupIndicator:c.popupIndicator},disableClearable:!0,options:l!=null?l:[],loading:s,groupBy:m=>m.key,value:o,freeSolo:!1,onChange:u,getOptionLabel:m=>m.name,renderInput:m=>t.createElement(ve,{...m,variant:"outlined",placeholder:s?"Loading":"Select a group",className:c.textField,InputProps:{...m.InputProps,className:c.input,classes:{notchedOutline:c.notchedOutline},endAdornment:t.createElement(t.Fragment,null,s?t.createElement(Ee,{color:"inherit",size:20}):null,m.InputProps.endAdornment)}})})},te={loading:!1},re=ge(te),Ge=()=>he(re),Ve=({children:e})=>{const[r,a]=L(te),n=v(B),l=v(U),{value:s,loading:i,error:c}=Ie(async()=>{const[{token:o},d]=await Promise.all([l.getCredentials(),l.getBackstageIdentity()]);return o?await n.getEntityByRef(d.userEntityRef):null},[n,l]);return E(()=>{if(s){const o=A(s);a({user:s,userEntityRef:o,loading:i,error:c})}else a({loading:i,error:c})},[s,i,c]),t.createElement(re.Provider,{value:r},e)},Me=e=>({key:`skeleton${e}`,label:"",id:`skeleton${e}`}),je=()=>{const e=Array.from({length:4},(r,a)=>Me(a));return t.createElement(J,{tabs:e})},Ke=f(e=>({root:{borderTop:`1px solid ${e.palette.divider}`,borderBottom:`1px solid ${e.palette.divider}`},tab:{textTransform:"uppercase",paddingTop:e.spacing(2),paddingBottom:e.spacing(2)}})),Ue=({unfilteredFacets:e,onChange:r,kind:a,type:n})=>{var l,s,i;const c=Ke(),o={types:(l=e==null?void 0:e.types.filter(({count:p})=>p>0))!=null?l:[]},d=M(p=>{var g;r((g=o==null?void 0:o.types[p].kind)!=null?g:"",o==null?void 0:o.types[p].type)},[o==null?void 0:o.types,r]);E(()=>{var p,g,y;const h=(o==null?void 0:o.types)&&o.types.length>=0,I=!a&&h,G=a&&h&&!(o!=null&&o.types.find(({kind:N,type:$})=>a===N&&(!n&&!$||n===$)));(I||G)&&r((g=(p=o==null?void 0:o.types[0])==null?void 0:p.kind)!=null?g:"",(y=o==null?void 0:o.types[0])==null?void 0:y.type)},[a,n,o==null?void 0:o.types,r]);const u=(s=o==null?void 0:o.types.map(({kind:p,type:g,count:y})=>{const h=`${p}|${g!=null?g:""}`;return{key:h,label:`${g!=null?g:p} (${y>50?"50+":y})`,id:h,tabProps:{className:c.tab}}}))!=null?s:[];if(!u.length)return null;const m=(i=o==null?void 0:o.types.findIndex(p=>p.kind===a&&(!p.type&&!n||p.type===n)))!=null?i:-1;return t.createElement(t.Fragment,null,t.createElement(Oe,null),t.createElement(J,{onChange:d,tabs:u,selectedIndex:m>-1?m:void 0}))},De=f(e=>({root:{height:"8px",minWidth:"64px",marginLeft:e.spacing(2),borderRadius:"100vh",backgroundColor:e.palette.background.default},bar:{backgroundColor:e.palette.success.main,transition:"none"}})),ae=e=>{var r,a;const n=De(e),l=P(()=>Object.entries(e.progress).reduce((i,[,c])=>i+c,0),[e.progress]);if(l===0)return null;const s=(r=e.progress[R.Passed])!=null?r:0;return t.createElement(K,{arrow:!0,title:`Check passing for ${s} of ${l} ${l===1?"entity":"entities"}`,enterDelay:0,placement:"top"},t.createElement(ke,{variant:"determinate",value:((a=e.progress[R.Passed])!=null?a:0)/l*100,classes:{root:n.root,bar:n.bar}}))},Qe=f(e=>({headerWrapper:{marginTop:e.spacing(.5)},entityRefName:{fontWeight:"bold"},iconWrapper:{padding:e.spacing(1.5,.5),display:"flex",alignItems:"center",justifyContent:"center"}})),_e=({check:{name:e,description:r},icon:a,entityRef:n})=>{const l=Qe(),s=x(n);return t.createElement(C,{spacing:1},t.createElement(C,{container:!0,direction:"row",spacing:1,wrap:"nowrap"},t.createElement("div",{className:l.iconWrapper},a),t.createElement(k,{variant:"h6",className:l.headerWrapper,noWrap:!0},e)),t.createElement(C,{item:!0,wrap:"nowrap"},t.createElement(k,{variant:"subtitle2",className:l.entityRefName},O(s,{defaultKind:s.kind}))),t.createElement(Le,{content:r}))},qe=be(e=>{const r=e.palette.type==="dark"?e.palette.common.black:e.palette.grey[300];return{tooltip:{backgroundColor:r,color:e.palette.type==="dark"?e.palette.common.white:e.palette.grey[700]},arrow:{color:r}}})(K),Je=({children:e,check:r,icon:a,entityRef:n})=>t.createElement(qe,{arrow:!0,title:t.createElement(_e,{check:r,icon:a,entityRef:n}),enterDelay:150,placement:"top"},e),Xe=f(e=>({root:{padding:0},iconWrapper:{padding:e.spacing(1.5),display:"flex",alignItems:"center",justifyContent:"center"},link:{"&:hover $iconWrapper, &:active $iconWrapper, &:focus $iconWrapper":{backgroundColor:e.palette.infoBackground}},icon:{width:"17px",height:"17px"},virtualized:{borderBottom:`1px solid ${e.palette.divider}`,borderRight:`1px solid ${e.palette.divider}`}})),ne=b(({programId:e,check:r,entityRef:a,result:n,entityRoute:l,isVirtualized:s})=>{const i=Xe();if(typeof a!="string"){const u=t.createElement("div",{className:i.iconWrapper},t.createElement("div",{className:i.icon}));return s?t.createElement("div",{className:`${i.root} ${i.virtualized}`,"aria-hidden":!0},u):t.createElement("td",{className:i.root,"aria-hidden":!0},u)}const c=t.createElement(we,{className:i.icon,result:n!=null?n:R.NotReported}),o=t.createElement("div",{className:i.iconWrapper},c),d=n&&n===R.NotApplicable?o:t.createElement(z,{className:i.link,to:`${l(x(a))}/soundcheck/${e}/${r.id}`},o);return s?t.createElement("div",{className:`${i.root} ${i.virtualized}`},t.createElement(Je,{check:r,icon:c,entityRef:a},d)):t.createElement("td",{className:`${i.root}`},d)}),le=8,Ye=16,w={programTitle:70,levelTitle:30,check:42,entityRefFooter:100},W={programTitle:350+Ye*2,checkResult:42},Ze=e=>e.reduce((r,a)=>r+a.height,0),et=e=>e*W.checkResult+W.programTitle,tt=e=>e.filter(r=>r!==void 0).map(r=>{const a=x(r);return O(a,{defaultKind:a.kind})}).reduce((r,a)=>r.length>a.length?r:a,""),rt=e=>le*e+le,oe="NoLevel",at=e=>({name:oe,badge:{options:{level:0,color:""},variant:Ne.Medal},entityRef:e,ordinal:0}),ie=f(e=>({checkNameCell:{padding:0,backgroundColor:e.palette.background.paper},checkNameContent:{padding:`0 ${e.spacing(2)}px`,display:"flex",justifyContent:"space-between",alignItems:"center"},checkNameTypography:{overflow:"hidden",textOverflow:"ellipsis"},checkIndicator:{flexBasis:e.spacing(8)},checkNameCellVirtualized:{height:`${w.check}px`,lineHeight:`${w.check}px`,borderBottom:`1px solid ${e.palette.divider}`,borderRight:`1px solid ${e.palette.divider}`}})),nt=b(({programId:e,programName:r,check:a,entityRefs:n,results:l,entityRoute:s})=>{const i=ie(),c=P(()=>X(l.filter(({result:d})=>d!==R.NotApplicable),"result"),[l]),o=new Map(l.map(d=>[d.entityRef,d.result]));return t.createElement("tr",{"data-testid":"track-check-row"},t.createElement("th",{scope:"row",className:i.checkNameCell,"aria-label":`${a.name} check for ${r} track`},t.createElement("div",{className:i.checkNameContent},t.createElement(k,{className:i.checkNameTypography,variant:"subtitle2",component:"p"},a.name),t.createElement(ae,{className:i.checkIndicator,progress:c}))),n.map((d,u)=>t.createElement(ne,{key:u,programId:e,check:a,entityRef:d,result:typeof d=="string"?o.get(d):void 0,entityRoute:s})))}),lt=({name:e,progress:r})=>{const a=ie();return t.createElement("div",{className:a.checkNameCell,"aria-label":`${e} check`},t.createElement("div",{className:`${a.checkNameContent} ${a.checkNameCellVirtualized}`},t.createElement(k,{variant:"subtitle2",component:"p",className:a.checkNameTypography},e),t.createElement(ae,{className:a.checkIndicator,progress:r})))},ot=f(e=>({virtualized:{borderRight:`1px solid ${e.palette.divider}`,height:`${w.programTitle}px`,display:"flex",justifyContent:"center",alignItems:"center"}})),it=b(({entityRef:e,highestLevels:r})=>{const a=r.find(n=>n.entityRef===e);return t.createElement(t.Fragment,null,a!=null&&a.badge?t.createElement(Q,{badge:a.badge}):t.createElement(_,null))}),st=({highestLevel:e})=>{const r=ot();if(!(e!=null&&e.badge))return t.createElement("div",{className:r.virtualized},"\xA0");const a=e.name!==oe;return t.createElement("div",{className:r.virtualized},a?t.createElement(Q,{badge:e.badge}):t.createElement(_,null))},se=f(e=>({programNameCell:{padding:0,position:"sticky",backgroundColor:e.palette.background.paper},programNameContent:{padding:e.spacing(2)},programNameTypography:{overflow:"hidden",textOverflow:"ellipsis"},badgeCellContent:{display:"flex",justifyContent:"center",alignItems:"center"},programNameCellVirtualized:{borderRight:`1px solid ${e.palette.divider}`}})),ct=b(({program:e,entityRefs:r,highestLevels:a})=>{const n=se();return t.createElement("tr",{"data-testid":"track-title-row"},t.createElement("th",{scope:"row",className:n.programNameCell},t.createElement("div",{className:n.programNameContent},t.createElement(k,{className:n.programNameTypography,variant:"h5",component:"p"},e.name))),r.map((l,s)=>typeof l!="string"?t.createElement("td",{key:s,"aria-hidden":!0}):t.createElement("td",{key:s,"data-testid":"track-certification-cell"},t.createElement("div",{className:n.badgeCellContent},t.createElement(it,{entityRef:l,highestLevels:a})))))}),dt=b(({name:e})=>{const r=se();return t.createElement("div",{className:`${r.programNameCell} ${r.programNameCellVirtualized}`},t.createElement("div",{className:r.programNameContent},t.createElement(k,{className:r.programNameTypography,variant:"h5",component:"p"},e)))}),V=f(e=>{const r=e.palette.type==="dark"?e.palette.grey[700]:e.palette.grey[100];return{root:{color:j(e.palette.getContrastText(r),.8),backgroundColor:r},levelContent:{padding:`${e.spacing(.5)}px ${e.spacing(2)}px`,backgroundColor:r},levelTypography:{overflow:"hidden",textOverflow:"ellipsis"},levelHeaderCell:{padding:`${e.spacing(.5)}px ${e.spacing(2)}px`,borderRight:`1px solid ${e.palette.divider}`,height:`${w.levelTitle}px`}}}),pt=b(({level:e,entityRefs:r,programName:a})=>{const n=V();return t.createElement("tr",{className:n.root,"data-testid":"track-level-row"},t.createElement("th",{scope:"row",className:n.root},t.createElement("div",{className:n.levelContent},t.createElement(k,{className:n.levelTypography,variant:"subtitle2",component:"p","aria-label":`${e.name} for ${a} track`},e.name))),r.map((l,s)=>t.createElement("td",{key:s,className:n.root,"aria-hidden":!0})))}),mt=({name:e})=>{const r=V();return t.createElement("div",{className:`${r.levelHeaderCell} ${r.root}`,"aria-label":`${e}`},t.createElement(k,{variant:"subtitle2",component:"p",className:r.levelTypography},e))},ut=()=>{const e=V();return t.createElement("div",{className:`${e.levelHeaderCell} ${e.root}`},"\xA0")},gt=({program:e,highestLevels:r,levels:a,entityRefs:n,entityRoute:l})=>t.createElement("tbody",null,t.createElement(ct,{program:e,entityRefs:n,highestLevels:r}),a.map((s,i)=>t.createElement(fe,{key:i},t.createElement(pt,{entityRefs:n,level:s,programName:e.name}),s.checks.map(({check:c,results:o},d)=>t.createElement(nt,{key:d,check:c,programId:e.id,programName:e.name,entityRefs:n,results:o,entityRoute:l}))))),ce=e=>{const r=v(B);return T([q.EntityByRef,e],async()=>r.getEntityByRef(e),{onError:()=>{},enabled:!!e})},ht=e=>{const r=v(B);return T([q.EntitiesByRefs,e],async()=>r.getEntitiesByRefs({entityRefs:e.entityRefs,fields:e.fields}),{onError:()=>{},enabled:!!e.entityRefs})},de=f(e=>({root:{position:"sticky",bottom:"-1px",backgroundColor:e.palette.background.default,boxShadow:`0 -1px ${e.palette.divider}`,"& td$cell, & th$cell":{border:0,padding:e.spacing(1)},"& td$cell":{backgroundColor:e.palette.background.default}},row:{boxShadow:`1px 0 ${e.palette.background.default}, -1px 0 ${e.palette.background.default}`},cell:{verticalAlign:"top"},cellInner:{textOrientation:"mixed",writingMode:"vertical-lr",transform:"rotate(-20deg)",transformOrigin:`100% ${e.spacing(1)}px`,wordBreak:"keep-all",fontWeight:"bold",overflow:"hidden",textOverflow:"ellipsis",maxHeight:"max(15vh, 175px)"}})),ft=({entityRefs:e})=>{const r=F(S),a=de(),{data:n}=ht({entityRefs:Pe.compact(e),fields:["kind","metadata.name","metadata.namespace","metadata.title"]});return t.createElement("tfoot",{className:a.root,"data-testid":"results-table-footer"},t.createElement("tr",{className:a.row},t.createElement("td",{className:a.cell}),e.map((l,s)=>{if(typeof l!="string")return t.createElement("th",{key:s,className:a.cell,"aria-hidden":!0});const i=x(l),c=n==null?void 0:n.items.find(o=>o&&A(o)===l);return t.createElement("th",{scope:"col",key:s,className:a.cell},t.createElement("div",{className:a.cellInner},t.createElement(z,{to:r(i)},c!=null&&c.metadata.title?c.metadata.title:O(i,{defaultKind:i.kind}))))})))},yt=({entityRef:e})=>{const{data:r}=ce(e),a=F(S),n=de(),l=e?x(e):void 0,s=l?t.createElement(z,{to:a(l)},r!=null&&r.metadata.title?r.metadata.title:O(l,{defaultKind:l.kind})):t.createElement(t.Fragment,null);return t.createElement("div",{className:n.cell},t.createElement("div",{className:n.cellInner},s))},vt=f(e=>({table:{backgroundColor:e.palette.background.paper,borderCollapse:"collapse",whiteSpace:"nowrap","& th, & td":{border:`1px solid ${e.palette.divider}`,borderCollapse:"collapse"},paddingBottom:e.spacing(2)},programTitle:{padding:e.spacing(2)},checkResult:{padding:e.spacing(1.5)},title:{padding:`${e.spacing(1)}px ${e.spacing(2)}px`},header:{backgroundColor:e.palette.type==="dark"?e.palette.grey[700]:e.palette.grey[100]}})),pe=()=>{const e=vt(),r=new Array(25).fill(void 0),a=new Array(5).fill(void 0),n=new Array(3).fill(void 0);return t.createElement("table",{className:e.table},t.createElement("tbody",null,t.createElement("tr",null,t.createElement("td",{className:e.programTitle},t.createElement(H,{width:180,height:40})),r.map((l,s)=>t.createElement("td",{key:s}))),n.map((l,s)=>t.createElement(t.Fragment,{key:s},t.createElement("tr",{className:e.header},t.createElement("td",{className:e.title},t.createElement(H,{width:180})),r.map((i,c)=>t.createElement("td",{key:c}))),a.map((i,c)=>t.createElement("tr",{key:c},t.createElement("td",{className:e.title},t.createElement(H,{width:240})),r.map((o,d)=>t.createElement("td",{key:d,className:e.checkResult},t.createElement(H,{width:18,height:18,variant:"rect"})))))))))},Et=f(e=>({root:{width:"100%"},table:{overflow:"auto",backgroundColor:e.palette.background.paper,borderCollapse:"collapse",whiteSpace:"nowrap",textAlign:"left","& th, & td":{border:`1px solid ${e.palette.divider}`,borderCollapse:"collapse"},"& th:first-of-type":{position:"sticky",left:0,zIndex:1,maxWidth:"60ch"},"& tfoot":{bottom:0,zIndex:1e3},"& tbody td:first-of-type":{border:`1px solid ${e.palette.divider}`,boxShadow:`1px 0 ${e.palette.background.default}, -1px 0 ${e.palette.background.default}`}}})),kt=b(e=>{const{setError:r,kind:a,type:n,ownerEntityRef:l}=e,s=Et(),i=F(S),{data:c,isLoading:o,isError:d}=Y(l,{kind:a,type:n});if(E(()=>{r==null||r(d?new Error("Error loading track overview"):void 0)},[d,r]),o)return t.createElement(pe,null);if(!c||!l)return null;const{programs:u,entityRefs:m}=c;if(!o&&!u.length)return t.createElement(Be,{missing:"data",title:"Missing tracks",description:t.createElement(t.Fragment,null,"Looks like the group"," ",O(x(l),{defaultKind:"Group"})," ","doesn't own any ",n!=null?n:a," components that have Soundcheck tracks set up.",t.createElement("br",null),t.createElement("br",null),"If you're an administrator, you can learn more about configuring and filtering tracks in the"," ",t.createElement(z,{to:"https://www.npmjs.com/package/@spotify/backstage-plugin-soundcheck-backend#entity-filter"},"docs"),".")});if(d)return null;const p=m.length>=25?m:[...m,...Array.from({length:25-m.length},()=>{})];return t.createElement("div",{className:s.root},t.createElement("table",{className:s.table,"aria-label":"Check results"},u.map(({program:g,levels:y,highestLevels:h},I)=>t.createElement(gt,{key:I,program:g,entityRefs:p,levels:y,highestLevels:h,entityRoute:i})),t.createElement(ft,{entityRefs:p})))}),bt=e=>t.createElement(dt,{name:e}),Ct=e=>({type:"ProgramHeader",render:()=>bt(e)}),Rt=e=>e?t.createElement(mt,{name:e}):t.createElement(ut,null),me=e=>({type:"LevelHeader",render:()=>Rt(e)}),wt=(e,r)=>t.createElement(lt,{name:e,progress:r}),Nt=(e,r)=>({type:"CheckTitle",render:()=>wt(e,r)}),$t=(e,r,a,n,l)=>t.createElement(ne,{check:r,entityRef:a,entityRoute:l,programId:e,result:n,isVirtualized:!0}),xt=(e,r,a,n,l)=>({type:"CheckResult",render:()=>$t(e,r,a,n,l)}),Tt=e=>t.createElement(yt,{entityRef:e}),ue=e=>({type:"EntityHeader",render:()=>Tt(e)}),It=e=>t.createElement(st,{highestLevel:e}),Lt=e=>({type:"LevelBadge",render:()=>It(e)}),Bt=e=>r=>{const a=e[r.rowIndex].cells[r.columnIndex];return a?t.createElement("div",{style:r.style},a.render()):t.createElement("div",{style:r.style})},Ot=(e,r,a)=>{var n;const l=[];for(const{program:i,levels:c,highestLevels:o}of e){l.push({height:w.programTitle,cells:[Ct(i.name),...r.map(d=>{const u=d?o.find(m=>m.entityRef===d)||at(d):void 0;return Lt(u)})]});for(const d of c){l.push({height:w.levelTitle,cells:[me(d.name),...r.map(u=>me(""))]});for(const{check:u,results:m}of d.checks)l.push({height:w.check,cells:[Nt(u.name,X(m.filter(({result:p})=>p!==R.NotApplicable),"result")),...r.map(p=>{var g,y;return xt(i.id,u,p,(y=(g=m.find(h=>h.entityRef===p))==null?void 0:g.result)!=null?y:R.NotApplicable,a)})]})}}const s=tt(r!=null?r:[]);return l.push({height:rt((n=s.length)!=null?n:1),cells:[ue(""),...r.map(i=>ue(i||""))]}),l},Pt=f(e=>({table:{backgroundColor:e.palette.background.paper,borderCollapse:"collapse",whiteSpace:"nowrap",textAlign:"left",overflow:"auto"}})),At=e=>{const{setError:r,kind:a,type:n,ownerEntityRef:l}=e,s=Pt(),i=F(S),{data:c,isLoading:o,isError:d}=Y(l,{kind:a,type:n});if(E(()=>{r==null||r(d?new Error("Error loading program overview"):void 0)},[d,r]),o)return t.createElement(pe,null);if(!c||!l)return null;const{programs:u,entityRefs:m}=c,p=m.length>=25?m:[...m,...Array.from({length:25-m.length},()=>{})],g=Ot(u,p,i),y=Bt(g);return t.createElement(C,{"aria-label":`Check results for ${n!=null?n:a}`,key:`${a}|${n!=null?n:""}`,item:!0,xs:12},t.createElement(Ae,{className:s.table,columnCount:p.length+1,columnWidth:h=>h===0?W.programTitle:W.checkResult,rowCount:g.length,rowHeight:h=>g[h].height,height:Ze(g),width:et(p.length)},y))},Ft=({facets:e,ownerEntityRef:r,kind:a,type:n,setError:l})=>{const s=P(()=>{const i=new Map;return e.types.forEach(({kind:c,type:o})=>{const d=`${c}|${o!=null?o:""}`;i.set(d,t.createElement(At,{key:d,ownerEntityRef:r,kind:c,type:o,setError:l}))}),i},[e,r,l]);return t.createElement("div",null,s.get(`${a}|${n!=null?n:""}`))},St=f(()=>({scrollContainer:{overflow:"auto"}})),zt=({facets:e,ownerEntityRef:r,hasError:a,kind:n,type:l,setError:s,useVirtualizedResultsTable:i,isFixedGroup:c})=>{var o,d,u;const m=St();if(a)return t.createElement($e,{severity:"error",title:a.message});const p="Use the groups drop-down list at the top-right of the page to select another group.";return e&&((d=(o=e.types)==null?void 0:o.length)!=null?d:0)>0?(u=e.types)!=null&&u.find(g=>g.count>0)?t.createElement("div",{className:m.scrollContainer},i?t.createElement(Ft,{facets:e,kind:n,type:l,setError:s,ownerEntityRef:r,hasError:a}):t.createElement(kt,{ownerEntityRef:r,kind:n,type:l,setError:s})):t.createElement(xe,{ownerEntityRef:r,selectGroupHint:p}):t.createElement(Te,{ownerEntityRef:r,selectGroupHint:c?void 0:p})},Ht=f(()=>({tableContainer:{padding:0,backgroundColor:"transparent"}})),Wt=({groupSelectorError:e,searchParams:r,setSearchParams:a,isFixedGroup:n=!1})=>{var l;const{group:s,kind:i,type:c}=r,[o,d]=L(void 0),[u,m]=L(void 0);E(()=>{((o==null?void 0:o.kind)!==i||(o==null?void 0:o.type)!==c)&&d({kind:i,type:c})},[i,c,o]);const{data:p,isLoading:g}=Se(s),y=(l=v(Re).getOptionalBoolean("soundcheck.virtualizeOverviewPage"))!=null?l:!0,h=u||e,I=(N,$)=>{N&&(d({kind:N,type:$}),$?a({...r,kind:N,type:$}):(r!=null&&r.hasOwnProperty("type")&&delete r.type,a({...r,kind:N})))},G=Ht();return t.createElement(C,{container:!0,spacing:0},t.createElement(C,{item:!0,xs:12},g?t.createElement(je,null):t.createElement(Ue,{unfilteredFacets:p,kind:o==null?void 0:o.kind,type:o==null?void 0:o.type,onChange:I})),t.createElement(C,{item:!0,xs:12,className:G.tableContainer},!g&&t.createElement(zt,{facets:p,kind:o==null?void 0:o.kind,type:o==null?void 0:o.type,setError:m,hasError:h,ownerEntityRef:s,useVirtualizedResultsTable:y,isFixedGroup:n})))};export{We as G,Wt as O,Ve as U,ee as a,Ge as b,Z as c,ce as d,ze as u};
|
|
2
|
+
//# sourceMappingURL=OverviewPageContent-5557813a.esm.js.map
|
package/dist/esm/{RefetchingIndicator-e114bc04.esm.js → RefetchingIndicator-a31faa1d.esm.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import t,{useState as n}from"react";import{makeStyles as a,LinearProgress as m}from"@material-ui/core";import s from"react-use/lib/useDebounce";import"@backstage/catalog-model";import"@backstage/core-plugin-api";import{useIsFetching as c}from"@tanstack/react-query";import{F as d}from"./index-
|
|
2
|
-
//# sourceMappingURL=RefetchingIndicator-
|
|
1
|
+
import t,{useState as n}from"react";import{makeStyles as a,LinearProgress as m}from"@material-ui/core";import s from"react-use/lib/useDebounce";import"@backstage/catalog-model";import"@backstage/core-plugin-api";import{useIsFetching as c}from"@tanstack/react-query";import{F as d}from"./index-c3aebdd7.esm.js";import"@backstage/plugin-catalog-react";import"react-router-dom";const p=a(e=>({indicator:{position:"absolute",width:"100%",zIndex:e.zIndex.speedDial}})),l=()=>{const e=c(),i=p(),[r,o]=n(!!e);return s(()=>{o(!!e)},250,[e]),r?t.createElement(d,null,t.createElement("div",{className:i.indicator},t.createElement(m,{variant:"indeterminate","data-testid":"refetching-indicator"}))):null};export{l as R};
|
|
2
|
+
//# sourceMappingURL=RefetchingIndicator-a31faa1d.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import e,{useState as n}from"react";import{Page as g,Header as f}from"@backstage/core-components";import{SpotifyLicenseBanner as s}from"@spotify/backstage-plugin-core";import{u as h,U as P,G as S,O as c}from"./OverviewPageContent-5557813a.esm.js";import{S as l,w as y,e as p,i as u}from"./index-c3aebdd7.esm.js";import{stringifyEntityRef as k}from"@backstage/catalog-model";import"@backstage/core-plugin-api";import"@tanstack/react-query";import{useEntity as w}from"@backstage/plugin-catalog-react";import{Routes as C,Route as G}from"react-router-dom";import{makeStyles as L}from"@material-ui/core";import"@material-ui/lab/Autocomplete";import"react-use/lib/useAsync";import"./RefetchingIndicator-a31faa1d.esm.js";import"react-use/lib/useDebounce";import"lodash";import"@material-ui/lab";import"react-window";import"graphql-request";import"graphql-tag";import"@material-ui/core/styles/makeStyles";import"classnames";import"@material-ui/icons/Schedule";import"luxon";import"@material-ui/icons/Check";import"@material-ui/icons/Close";import"@material-ui/icons/RemoveCircleOutline";import"@material-ui/icons/HelpOutline";import"../images/empty-state.svg";const O=L(t=>({overviewContainer:{padding:t.spacing(1,3)}})),b=t=>{const{title:i="Soundcheck"}=t,o=O(),[r,a]=h(),{group:d}=r,[E,v]=n(void 0);return e.createElement(l,null,e.createElement(P,null,e.createElement(y,null,e.createElement(g,{themeId:"website"},e.createElement(s,{backend:p,invalidLicenseMessage:u}),e.createElement(f,{title:i},e.createElement(S,{onChange:m=>{m&&a({...r,group:m})},initialValue:d,setError:v})),e.createElement("div",{className:o.overviewContainer},e.createElement(c,{groupSelectorError:E,searchParams:r,setSearchParams:a}))))))},x=()=>{const{entity:t}=w(),i={group:k(t)},[o,r]=n(i);return e.createElement(l,null,e.createElement(C,null,e.createElement(G,{path:"/*",element:e.createElement(e.Fragment,null,e.createElement(s,{backend:p,invalidLicenseMessage:u,inline:!0}),e.createElement(c,{searchParams:o,setSearchParams:r,isFixedGroup:!0}))})))};export{x as FixedGroupOverviewPage,b as OverviewPage};
|
|
2
|
+
//# sourceMappingURL=index-293deb4d.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import t from"react";import{S as o,g as i}from"./index-
|
|
2
|
-
//# sourceMappingURL=index-
|
|
1
|
+
import t from"react";import{S as o,g as i}from"./index-c3aebdd7.esm.js";import"@backstage/core-plugin-api";import"graphql-request";import"graphql-tag";import"@tanstack/react-query";import"lodash";import"@material-ui/core/styles/makeStyles";import"@material-ui/core";import"@backstage/core-components";import"@backstage/plugin-catalog-react";import"@spotify/backstage-plugin-core";import"@backstage/catalog-model";import"@material-ui/lab";import"react-router-dom";import"classnames";import"@material-ui/icons/Schedule";import"luxon";import"@material-ui/icons/Check";import"@material-ui/icons/Close";import"@material-ui/icons/RemoveCircleOutline";import"@material-ui/icons/HelpOutline";import"../images/empty-state.svg";const m=({title:r})=>t.createElement(o,null,t.createElement(i,{title:r}));export{m as EntitySoundcheckCard};
|
|
2
|
+
//# sourceMappingURL=index-920b177e.esm.js.map
|