@spotify/backstage-plugin-soundcheck 0.18.0 → 0.18.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 +29 -0
- package/dist/api.esm.js +1 -1
- package/dist/blueprints/IntegrationPageBlueprint.esm.js +1 -1
- package/dist/components/Badges/StatusBadge.esm.js +1 -1
- package/dist/components/CampaignForm/Steps/CampaignDetailsStep/CampaignOwnerField.esm.js +1 -1
- package/dist/components/CheckForm/CheckForm.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/CheckPathResolverInput.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/CheckScheduleSection/ScheduleSection.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/Conditions/useRuleOptions.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/TeamDetailsInput/TeamDetailsInput.esm.js +1 -1
- package/dist/components/CheckPage/CheckInsightsPage.esm.js +1 -1
- package/dist/components/CollapsablePanel/CollapsablePanel.esm.js +1 -1
- package/dist/components/CollectorPage/CollectorDetailsPage.esm.js +2 -0
- package/dist/components/CollectorPage/CollectorFactTable.esm.js +2 -0
- package/dist/components/CollectorPage/Configurators/Github/CodeScanningAlertsFactDetails.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Github/DependabotAlertsFactDetails.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Github/SecretScanningAlertsFactDetails.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Github/SecurityAdvisoriesFactDetails.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SonarQube/IssuesFactDetailsInput.esm.js +1 -1
- package/dist/components/CollectorsPage/CollectorListPage/CollectorSummaryCard.esm.js +1 -1
- package/dist/components/ColorChip/ColorChip.esm.js +2 -0
- package/dist/components/Expand/Expand.esm.js +1 -1
- package/dist/components/FactExplorer/FactExplorer.esm.js +1 -1
- package/dist/components/FactExplorer/FactExplorerContext.esm.js +1 -1
- package/dist/components/FactExplorer/FactExplorerDialog.esm.js +1 -1
- package/dist/components/FactExplorer/useFactOptions.esm.js +1 -1
- package/dist/components/FormControlledAutocomplete/ControlledAutocomplete.esm.js +1 -1
- package/dist/components/GroupHierarchySelector/GroupHierarchyCategorySelection.esm.js +2 -0
- package/dist/components/GroupHierarchySelector/GroupHierarchyChip.esm.js +2 -0
- package/dist/components/GroupHierarchySelector/GroupHierarchyGroupInfo.esm.js +2 -0
- package/dist/components/GroupHierarchySelector/GroupHierarchySelector.esm.js +2 -0
- package/dist/components/GroupHierarchySelector/GroupHierarchySelectorDialog.esm.js +2 -0
- package/dist/components/GroupHierarchySelector/usePreviousSelectedGroups.esm.js +2 -0
- package/dist/components/QuickstartPage/HowDoIListItem.esm.js +1 -1
- package/dist/components/QuickstartPage/QuickstartCardBase.esm.js +1 -1
- package/dist/components/QuickstartPage/QuickstartPage.esm.js +2 -1
- package/dist/components/QuickstartPage/WelcomeHelpSection.esm.js +5 -5
- package/dist/components/QuickstartPage/WelcomeModal.esm.js +1 -1
- package/dist/components/QuickstartPage/styles.esm.js +1 -1
- package/dist/components/RoutingPage/RoutingPage.esm.js +1 -1
- package/dist/components/SoundcheckHeader/SoundcheckHeader.esm.js +1 -1
- package/dist/components/SoundcheckHeader/headerUtil.esm.js +1 -1
- package/dist/components/TechHealth/Filters/FilterProvider.esm.js +1 -1
- package/dist/components/TechHealth/Loading/Loading.esm.js +1 -1
- package/dist/components/TechHealth/Loading/TechHealthLoading.esm.js +1 -1
- package/dist/components/TechInsights/ColorLegend.esm.js +1 -1
- package/dist/components/TechInsights/ColorSchemeSelector.esm.js +2 -0
- package/dist/components/TechInsights/FilterControls.esm.js +2 -0
- package/dist/components/TechInsights/HierarchicalTechInsightsPage.esm.js +2 -0
- package/dist/components/TechInsights/HierarchyTable.esm.js +2 -0
- package/dist/components/TechInsights/LoadingOverlay.esm.js +1 -1
- package/dist/components/TechInsights/LowestPerformingTeams.esm.js +1 -1
- package/dist/components/TechInsights/NivoCirclePacking.esm.js +1 -1
- package/dist/components/TechInsights/NivoIcicle.esm.js +1 -1
- package/dist/components/TechInsights/NivoSunburst.esm.js +1 -1
- package/dist/components/TechInsights/NivoTreemap.esm.js +1 -1
- package/dist/components/TechInsights/SelectedNodeSidebar.esm.js +2 -0
- package/dist/components/TechInsights/SummaryTiles.esm.js +2 -0
- package/dist/components/TechInsights/TeamComparison/FailingComponentsTable.esm.js +1 -1
- package/dist/components/TechInsights/TeamComparison/MultiCheckStatusHistoryChart.esm.js +1 -1
- package/dist/components/TechInsights/TeamPerformanceCard.esm.js +1 -1
- package/dist/components/TechInsights/TeamStatusBar.esm.js +2 -0
- package/dist/components/TechInsights/TechInsightsCardsView.esm.js +2 -0
- package/dist/components/TechInsights/TechInsightsChartView.esm.js +2 -0
- package/dist/components/TechInsights/TechInsightsGroupSelector.esm.js +1 -1
- package/dist/components/TechInsights/TechInsightsPage2.esm.js +1 -1
- package/dist/components/TechInsights/TechInsightsTableView.esm.js +2 -0
- package/dist/components/TechInsights/TechInsightsViewSelector.esm.js +1 -1
- package/dist/components/TechInsights/Tiles/TileUtils.esm.js +1 -1
- package/dist/components/TechInsights/Tiles/TrackStatusCard.esm.js +2 -0
- package/dist/components/TechInsights/TopPerformingTeams.esm.js +1 -1
- package/dist/components/TechInsights/ViewModeControls.esm.js +2 -0
- package/dist/components/TechInsights/VisualizationBreadcrumb.esm.js +2 -0
- package/dist/components/TechInsights/findNodePath.esm.js +2 -0
- package/dist/components/TechInsights/hierarchy/GroupNode.esm.js +1 -1
- package/dist/components/TechInsights/hierarchy/Hierarchy.esm.js +1 -1
- package/dist/components/TechInsights/hierarchyToNivo.esm.js +1 -1
- package/dist/components/TechInsights/persistence/FavoriteViews.esm.js +1 -1
- package/dist/components/TechInsights/styles.esm.js +1 -1
- package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackBadgeTypeSelect/TrackBadgeTypeSelect.esm.js +1 -1
- package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackOwnerSelect/TrackOwnerSelect.esm.js +1 -1
- package/dist/components/TrackPage/TrackEntitiesTable/TrackStatusChip.esm.js +1 -1
- package/dist/components/TrackPage/TrackPage.esm.js +1 -1
- package/dist/components/TrackSelection/TrackSelection.esm.js +2 -0
- package/dist/graphql/generated/index.esm.js +188 -133
- package/dist/hooks/cache/useEntityCountCached.esm.js +2 -0
- package/dist/hooks/cache/useTrackCountCached.esm.js +2 -0
- package/dist/hooks/campaigns/useGetCampaigns.esm.js +1 -1
- package/dist/hooks/catalog/useGetEntityCount.esm.js +2 -0
- package/dist/hooks/checks/useUpdateCheck.esm.js +1 -1
- package/dist/hooks/graphqlKeys.esm.js +1 -1
- package/dist/hooks/groups/useAllGroups.esm.js +1 -1
- package/dist/hooks/groups/useGroupOptions.esm.js +1 -1
- package/dist/hooks/heirarchy/useBatchedHierarchicalTrackStatuses.esm.js +2 -0
- package/dist/hooks/heirarchy/useGroupHierarchy.esm.js +1 -1
- package/dist/hooks/heirarchy/useGroupTypeHierarchy.esm.js +2 -0
- package/dist/hooks/heirarchy/useHierarchicalTrackStatus.esm.js +1 -1
- package/dist/hooks/tracks/useGetAllTracks.esm.js +1 -1
- package/dist/hooks/tracks/useGetTracksApplicableEntityCount.esm.js +2 -0
- package/dist/hooks/tracks/useTracksApplicableToGroup.esm.js +2 -0
- package/dist/index.d.ts +3 -0
- package/dist/routes.esm.js +1 -1
- package/package.json +25 -24
- package/dist/components/QuickstartPage/QuickStartChecksCard.esm.js +0 -2
- package/dist/components/QuickstartPage/QuickstartCollectorConfigurationsCard.esm.js +0 -2
- package/dist/components/QuickstartPage/QuickstartTracksCard.esm.js +0 -2
- package/dist/components/TechHealth/Loading/Emoji.esm.js +0 -2
- package/dist/components/TechHealth/Loading/EmojiFountain.esm.js +0 -2
- package/dist/components/TechInsights/TeamComparison/CheckComparison.esm.js +0 -2
- package/dist/components/TechInsights/TeamComparison/LineChartContainer.esm.js +0 -2
- package/dist/components/TechInsights/TeamComparison/MultiTrackHistoryChart.esm.js +0 -2
- package/dist/components/TechInsights/TeamComparison/TeamComparison.esm.js +0 -2
- package/dist/components/TechInsights/TeamComparison/TrackComparison.esm.js +0 -2
- package/dist/components/TechInsights/TechInsightsPage.esm.js +0 -2
- package/dist/components/TechInsights/TechInsightsSidebar.esm.js +0 -2
- package/dist/components/TechInsights/Tiles/CheckStatusTile.esm.js +0 -2
- package/dist/components/TechInsights/Tiles/TrackStatusTile.esm.js +0 -2
- package/dist/components/TechInsights/TrackCardGrid.esm.js +0 -2
- package/dist/components/TechInsights/TrackCardGridBox.esm.js +0 -2
- package/dist/components/TechInsights/hierarchy/VirtualRow.esm.js +0 -2
- package/dist/hooks/aggregations/useCertificationStatusHistories.esm.js +0 -2
- package/dist/hooks/aggregations/useCertificationStatuses.esm.js +0 -2
- package/dist/hooks/aggregations/useCheckStatusByGroups.esm.js +0 -2
- package/dist/hooks/aggregations/useCheckStatusHistoriesMultiFilter.esm.js +0 -2
- package/dist/hooks/heirarchy/useRootGroups.esm.js +0 -2
- package/dist/hooks/savedViews/useDeleteView.esm.js +0 -2
- package/dist/hooks/savedViews/useSaveView.esm.js +0 -2
- package/dist/hooks/savedViews/useSavedViews.esm.js +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useState as a,useEffect as r}from"react";import{useGetEntityCount as s}from"../catalog/useGetEntityCount.esm.js";let t=null,o=null;const d=15*60*1e3;function c(){const[i,l]=a(t===null),e=t===null||(o?Date.now()-o>d:!0),{data:n,isLoading:u}=s(e);return r(()=>{!u&&n!==void 0&&(t=n,o=Date.now()),l(!1)},[n,u,e]),{entityCount:t,loading:i}}export{c as useEntityCountCached};
|
|
2
|
+
//# sourceMappingURL=useEntityCountCached.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useState as r,useEffect as s}from"react";import{useGetAllTracks as c}from"../tracks/useGetAllTracks.esm.js";let t=null,o=null;const i=15*60*1e3;function d(){const[a,u]=r(t===null),e=t===null||(o?Date.now()-o>i:!0),{data:n,isLoading:l}=c({},{enabled:e});return s(()=>{!l&&n!==void 0&&(t=n.totalCount,o=Date.now()),u(!1)},[n,l,e]),{trackCount:t,loading:a}}export{d as useTrackCountCached};
|
|
2
|
+
//# sourceMappingURL=useTrackCountCached.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useApi as
|
|
1
|
+
import{useApi as o}from"@backstage/core-plugin-api";import{useQuery as i}from"@tanstack/react-query";import{soundcheckApiRef as c}from"../../api.esm.js";import{QueryKeys as m}from"../graphqlKeys.esm.js";function s(e,t,n){const r=o(c);return i([m.GetCampaigns,JSON.stringify(e)],async()=>r.getCampaigns(e,n),{staleTime:1e3*60*15,cacheTime:1e3*60*60,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1,refetchInterval:!1,enabled:t})}export{s as useGetCampaigns};
|
|
2
2
|
//# sourceMappingURL=useGetCampaigns.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useApi as i}from"@backstage/core-plugin-api";import{catalogApiRef as s}from"@backstage/plugin-catalog-react";import{useQuery as m}from"@tanstack/react-query";import{useState as u}from"react";const a=(t=!1)=>{const r=i(s),[o,n]=u(0);return m(["GetEntityCount"],async()=>{if(!t)return o;const e=await r.queryEntities({limit:0});return n(e.totalItems),e.totalItems},{enabled:t,refetchOnWindowFocus:!1,refetchInterval:!1,staleTime:15*60*1e3})};export{a as useGetEntityCount};
|
|
2
|
+
//# sourceMappingURL=useGetEntityCount.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useApi as n,useAnalytics as p}from"@backstage/core-plugin-api";import{useQueryClient as d,useMutation as h}from"@tanstack/react-query";import{soundcheckApiRef as k}from"../../api.esm.js";import{MutationKeys as
|
|
1
|
+
import{useApi as n,useAnalytics as p}from"@backstage/core-plugin-api";import{useQueryClient as d,useMutation as h}from"@tanstack/react-query";import{soundcheckApiRef as k}from"../../api.esm.js";import{MutationKeys as l,QueryKeys as r}from"../graphqlKeys.esm.js";import{useSoundcheckAlert as C}from"../useSoundcheckAlert.esm.js";const m="Error Creating Check";function y(){const u=n(k),o=d(),{showAlert:a}=C(),s=p(),i=async e=>{const t=await u.updateCheck(e);if(!t)throw new Error("Failed to update check.");return t};return h([l.UpdateCheck],i,{onSuccess:e=>{const t=[r.GetChecks,r.GetCheckOwners,r.ExecutableChecks,r.GetFacetsForOwner,r.GetTrackOverviewForOwner,r.GetCollectors];return o.setQueryData([r.Check,e.id],e),s.captureEvent("resource_action","Update Check",{attributes:{resourceType:"check",resourceAction:"update",resourceId:e.id,success:"true"}}),Promise.all(t.map(c=>o.invalidateQueries({queryKey:[c]})))},onError:(e,t)=>{let c="Failed to update check.";e instanceof Error&&(c=e.message),a({severity:"error",title:m,message:c}),s.captureEvent("resource_action","Update Check",{attributes:{resourceType:"check",resourceAction:"update",resourceId:t.id,success:"false"}}),s.captureEvent("error","Update Check",{attributes:{errorMessage:c}})}})}export{y as useUpdateCheck};
|
|
2
2
|
//# sourceMappingURL=useUpdateCheck.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var t=(e=>(e.GetTrack="soundcheck/track",e.GetAllTracks="soundcheck/tracks",e.GetChecks="soundcheck/checks",e.GetCollectors="soundcheck/collectors",e.GetFactSchema="soundcheck/collectors/schema",e.GetEntityFacets="soundcheck/catalog/facets",e.GetSoftwareEntityRefsForUser="soundcheck/entities/softwareEntityRefsForUser",e.GetEntityRefs="soundcheck/catalog/entityRefs",e.ExecutableChecks="soundcheck/executableChecks",e.GetCampaigns="soundcheck/campaigns",e.GetOverallCheckPassRateTrends="soundcheck/charts/overallCheckPassRateTrends",e.GetIndividualCheckPassRateTrends="soundcheck/charts/getIndividualCheckPassRateTrends",e.GetOverallTrackPassRateTrends="soundcheck/charts/overallTrackPassRateTrends",e.GetIndividualTrackPassRateTrends="soundcheck/charts/individualTrackPassRateTrends",e.GetOverallEntityPassRateTrends="soundcheck/charts/overallEntityPassRateTrends",e.GetIndividualEntityPassRateTrends="soundcheck/charts/individualEntityPassRateTrends",e.GetOverallGroupPassRateTrends="soundcheck/charts/overallGroupPassRateTrends",e.GetIndividualGroupPassRateTrends="soundcheck/charts/individualGroupPassRateTrends",e.EntityByRef="soundcheck/catalog/entityByRef",e.EntitiesByRefs="soundcheck/catalog/entitiesByRef",e.TrackEntities="soundcheck/track/entities",e.CheckEntities="soundcheck/check/entities",e.CertificationStatus="soundcheck/certificationStatus",e.CertificationStatuses="soundcheck/certificationStatuses",e.CertificationStatusHistory="soundcheck/certificationStatusHistory",e.CertificationStatusHistories="soundcheck/certificationStatusHistories",e.CheckStatus="soundcheck/checkStatus",e.CheckStatuses="soundcheck/checkStatuses",e.SavedViews="soundcheck/savedViews",e.CheckStatusHistory="soundcheck/checkStatusHistory",e.CheckStatusHistories="soundcheck/checkStatusHistories",e.CheckStatusHistoriesMultiFilter="soundcheck/checkStatusHistoriesMultiFilter",e.Check="soundcheck/check",e.CheckDetails="soundcheck/checkDetails",e.Certifications="soundcheck/certifications",e.CertificationDetails="soundcheck/certificationDetails",e.GetCheckOwners="soundcheck/checks/getOwners",e.GetTrackOwners="soundcheck/tracks/getOwners",e.GetCampaignOwners="soundcheck/campaigns/getOwners",e.GetTrackRelatedGroups="soundcheck/track/getTrackRelatedGroups",e.CheckTemplates="soundcheck/checkTemplates",e.GetFacetsForOwner="soundcheck/facets-for-owner",e.GetTrackOverviewForOwner="soundcheck/track-overview-for-owner",e.GetExemption="soundcheck/getExemption",e.GetExemptions="soundcheck/getExemptions",e.GetExemptCheckIds="soundcheck/getExemptCheckIds",e))(t||{}),s=(e=>(e.DeleteCheck="soundcheck/deleteCheck",e.CreateCheck="soundcheck/createCheck",e.UpdateCheck="soundcheck/updateCheck",e.ExecuteCheck="soundcheck/executeCheck",e.ImportChecks="soundcheck/importChecks",e.SetResult="soundcheck/setResult",e.CreateExemption="soundcheck/createExemption",e.UpdateExemption="soundcheck/updateExemption",e.DeleteExemption="soundcheck/deleteExemption",e.SaveView="soundcheck/saveView",e.DeleteTrack="soundcheck/deleteTrack",e.CreateTrack="soundcheck/createTrack",e.UpdateTrack="soundcheck/updateTrack",e.ImportTracks="soundcheck/importTracks",e.UpdateCollectorConfig="soundcheck/updateCollectorConfig",e.CreateCampaign="soundcheck/createCampaign",e.UpdateCampaign="soundcheck/updateCampaign",e.DeleteCampaign="soundcheck/deleteCampaign",e.ArchiveCampaign="soundcheck/archiveCampaign",e.SendCampaignNotification="soundcheck/sendCampaignNotification",e))(s||{});export{s as MutationKeys,t as QueryKeys};
|
|
1
|
+
var t=(e=>(e.GetTrack="soundcheck/track",e.GetAllTracks="soundcheck/tracks",e.GetTracksApplicableEntityCount="soundcheck/tracks/applicableEntities",e.GetChecks="soundcheck/checks",e.GetCollectors="soundcheck/collectors",e.GetFactSchema="soundcheck/collectors/schema",e.GetEntityFacets="soundcheck/catalog/facets",e.GetSoftwareEntityRefsForUser="soundcheck/entities/softwareEntityRefsForUser",e.GetEntityRefs="soundcheck/catalog/entityRefs",e.ExecutableChecks="soundcheck/executableChecks",e.GetCampaigns="soundcheck/campaigns",e.GetOverallCheckPassRateTrends="soundcheck/charts/overallCheckPassRateTrends",e.GetIndividualCheckPassRateTrends="soundcheck/charts/getIndividualCheckPassRateTrends",e.GetOverallTrackPassRateTrends="soundcheck/charts/overallTrackPassRateTrends",e.GetIndividualTrackPassRateTrends="soundcheck/charts/individualTrackPassRateTrends",e.GetOverallEntityPassRateTrends="soundcheck/charts/overallEntityPassRateTrends",e.GetIndividualEntityPassRateTrends="soundcheck/charts/individualEntityPassRateTrends",e.GetOverallGroupPassRateTrends="soundcheck/charts/overallGroupPassRateTrends",e.GetIndividualGroupPassRateTrends="soundcheck/charts/individualGroupPassRateTrends",e.EntityByRef="soundcheck/catalog/entityByRef",e.EntitiesByRefs="soundcheck/catalog/entitiesByRef",e.TrackEntities="soundcheck/track/entities",e.CheckEntities="soundcheck/check/entities",e.CertificationStatus="soundcheck/certificationStatus",e.CertificationStatuses="soundcheck/certificationStatuses",e.MultipleTrackStatuses="soundcheck/multipleTrackStatuses",e.CertificationStatusHistory="soundcheck/certificationStatusHistory",e.CertificationStatusHistories="soundcheck/certificationStatusHistories",e.CheckStatus="soundcheck/checkStatus",e.CheckStatuses="soundcheck/checkStatuses",e.SavedViews="soundcheck/savedViews",e.CheckStatusHistory="soundcheck/checkStatusHistory",e.CheckStatusHistories="soundcheck/checkStatusHistories",e.CheckStatusHistoriesMultiFilter="soundcheck/checkStatusHistoriesMultiFilter",e.TrackStatusHistory="soundcheck/trackStatusHistory",e.TrackStatusHistories="soundcheck/trackStatusHistories",e.Check="soundcheck/check",e.CheckDetails="soundcheck/checkDetails",e.Certifications="soundcheck/certifications",e.CertificationDetails="soundcheck/certificationDetails",e.GetCheckOwners="soundcheck/checks/getOwners",e.GetTrackOwners="soundcheck/tracks/getOwners",e.GetCampaignOwners="soundcheck/campaigns/getOwners",e.GetTrackRelatedGroups="soundcheck/track/getTrackRelatedGroups",e.CheckTemplates="soundcheck/checkTemplates",e.GetFacetsForOwner="soundcheck/facets-for-owner",e.GetTrackOverviewForOwner="soundcheck/track-overview-for-owner",e.GetExemption="soundcheck/getExemption",e.GetExemptions="soundcheck/getExemptions",e.GetExemptCheckIds="soundcheck/getExemptCheckIds",e))(t||{}),s=(e=>(e.DeleteCheck="soundcheck/deleteCheck",e.CreateCheck="soundcheck/createCheck",e.UpdateCheck="soundcheck/updateCheck",e.ExecuteCheck="soundcheck/executeCheck",e.ImportChecks="soundcheck/importChecks",e.SetResult="soundcheck/setResult",e.CreateExemption="soundcheck/createExemption",e.UpdateExemption="soundcheck/updateExemption",e.DeleteExemption="soundcheck/deleteExemption",e.SaveView="soundcheck/saveView",e.DeleteTrack="soundcheck/deleteTrack",e.CreateTrack="soundcheck/createTrack",e.UpdateTrack="soundcheck/updateTrack",e.ImportTracks="soundcheck/importTracks",e.UpdateCollectorConfig="soundcheck/updateCollectorConfig",e.CreateCampaign="soundcheck/createCampaign",e.UpdateCampaign="soundcheck/updateCampaign",e.DeleteCampaign="soundcheck/deleteCampaign",e.ArchiveCampaign="soundcheck/archiveCampaign",e.SendCampaignNotification="soundcheck/sendCampaignNotification",e))(s||{});export{s as MutationKeys,t as QueryKeys};
|
|
2
2
|
//# sourceMappingURL=graphqlKeys.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{stringifyEntityRef as
|
|
1
|
+
import{stringifyEntityRef as m}from"@backstage/catalog-model";import{useApi as t,configApiRef as n}from"@backstage/core-plugin-api";import{catalogApiRef as s}from"@backstage/plugin-catalog-react";import{getGroupFilterFromConfig as f,combineEntityFilterQueries as l}from"@spotify/backstage-plugin-soundcheck-common";import{useQuery as c}from"@tanstack/react-query";function u(){const i=t(s),r=t(n);return c(["soundcheck/all-groups"],async()=>{const a=f(r),o=l({kind:"Group"},a),{items:p}=await i.getEntities({filter:o,fields:["spec.profile.displayName","metadata.title","metadata.name","metadata.namespace","kind","spec.type"]});return p.filter(e=>e?.kind==="Group").map(e=>({name:e.spec?.profile?.displayName??e.metadata.title??e.metadata.name,ref:m(e),type:e.spec?.type}))},{staleTime:5*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1})}export{u as useAllGroups};
|
|
2
2
|
//# sourceMappingURL=useAllGroups.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useMemo as u}from"react";import"@backstage/catalog-model";import"@backstage/core-plugin-api";import"@tanstack/react-query";import"../../api.esm.js";import"../graphqlKeys.esm.js";import{useAllGroups as f}from"./useAllGroups.esm.js";import{useUsersGroupClaims as
|
|
1
|
+
import{useMemo as u}from"react";import"@backstage/catalog-model";import"@backstage/core-plugin-api";import"@tanstack/react-query";import"../../api.esm.js";import"../graphqlKeys.esm.js";import{useAllGroups as f}from"./useAllGroups.esm.js";import{useUsersGroupClaims as y}from"./useUsersGroupClaims.esm.js";import"../useSoundcheckAlert.esm.js";import"../useConfirmationModal.esm.js";import"react-router-dom";const l=()=>{const{data:e,isLoading:i,isError:m}=y(),{data:t,isLoading:a,isError:n}=f();return{options:u(()=>{const o=new Map;return e&&e.forEach(({name:s,ref:r,type:p})=>{o.set(`${r}`,{name:s,ref:r,type:p,key:"My Groups"})}),t&&t.forEach(({name:s,ref:r,type:p})=>{o.has(`${r}`)||o.set(`${r}`,{name:s,ref:r,type:p,key:"All Groups"})}),[...o.values()]},[e,t]),isLoading:i||a,isError:m||n}};export{l as useGroupOptions};
|
|
2
2
|
//# sourceMappingURL=useGroupOptions.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useApi as k}from"@backstage/core-plugin-api";import{useQueries as T}from"@tanstack/react-query";import{useMemo as n,useState as L,useEffect as S}from"react";import{soundcheckApiRef as y}from"../../api.esm.js";const q=({trackIds:h,groupRef:i,batchSize:c=10,skip:u})=>{const d=k(y),a=n(()=>[...h].sort(),[h]),g=n(()=>{const e=[];for(let r=0;r<a.length;r+=c)e.push(a.slice(r,r+c));return e},[a,c]),f=n(()=>g.map((e,r)=>({queryKey:["hierarchicalTrackStatuses",e,i,r],queryFn:async()=>await d.getHierarchicalTrackStatuses(e,i),enabled:!u&&e.length>0,staleTime:1e3*60*15,cacheTime:1e3*60*60,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1})),[g,i,u,d]),o=T({queries:f}),[l,m]=L({loadedTracks:0,totalTracks:a.length,isLoading:!1,error:null}),p=n(()=>o.map(e=>[e.isLoading,e.error,e.data?e.data.length:0].join(":")).join("|"),[o]);return S(()=>{let e=0,r=!1,s=null;o.forEach(t=>{t.isLoading&&(r=!0),t.error&&(s=t.error),t.data&&(e+=t.data.length)}),m(t=>t.loadedTracks===e&&t.totalTracks===a.length&&t.isLoading===r&&t.error===s?t:{loadedTracks:e,totalTracks:a.length,isLoading:r,error:s})},[o,p,a.length]),{data:n(()=>{if(o.length===0)return null;const e=[];return o.forEach(r=>{r.data&&e.push(...r.data)}),e.map(r=>({...r,...r.status,children:r.children.map(s=>({...s,...s.status}))}))},[o]),isLoading:l.isLoading,progress:l,error:l.error}};export{q as useBatchedHierarchicalTrackStatuses};
|
|
2
|
+
//# sourceMappingURL=useBatchedHierarchicalTrackStatuses.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useApi as
|
|
1
|
+
import{useApi as t}from"@backstage/core-plugin-api";import{useQuery as n}from"@tanstack/react-query";import{soundcheckApiRef as o}from"../../api.esm.js";const u=(r,e)=>{const i=t(o);return n({queryKey:["groupHierarchy",r,e?.ownedEntitiesFilter,!!e?.includeParent],queryFn:async()=>(await i.getGroupHierarchy(r,e?.ownedEntitiesFilter,e?.includeParent)).hierarchy,staleTime:60*60*1e3,refetchOnWindowFocus:!1,enabled:e?.enabled??!0})};export{u as useGroupHierarchy};
|
|
2
2
|
//# sourceMappingURL=useGroupHierarchy.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useApi as r}from"@backstage/core-plugin-api";import{useQuery as c}from"@tanstack/react-query";import{soundcheckApiRef as o}from"../../api.esm.js";const t=()=>{const e=r(o);return c({queryKey:["groupTypeHierarchy"],queryFn:async()=>(await e.getGroupTypeHierarchy()).hierarchy,staleTime:1e3*60*60,cacheTime:1e3*60*60*4,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1})};export{t as useGroupTypeHierarchy};
|
|
2
|
+
//# sourceMappingURL=useGroupTypeHierarchy.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useApi as a}from"@backstage/core-plugin-api";import{useQuery as i}from"@tanstack/react-query";import{soundcheckApiRef as
|
|
1
|
+
import{useApi as a}from"@backstage/core-plugin-api";import{useQuery as i}from"@tanstack/react-query";import{soundcheckApiRef as n}from"../../api.esm.js";const o=({trackId:e,groupRef:r,skip:c})=>{const t=a(n);return i({queryKey:["hierarchicalTrackStatus",e,r],queryFn:async()=>!e||!r?null:await t.getHierarchicalTrackStatus(e,r),enabled:!c,staleTime:1e3*60*15,cacheTime:1e3*60*60,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1})};export{o as useHierarchicalTrackStatus};
|
|
2
2
|
//# sourceMappingURL=useHierarchicalTrackStatus.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useApi as
|
|
1
|
+
import{useApi as s}from"@backstage/core-plugin-api";import{useQueryClient as f,useQuery as i}from"@tanstack/react-query";import{useEffect as u}from"react";import{soundcheckApiRef as m}from"../../api.esm.js";import{QueryKeys as c}from"../graphqlKeys.esm.js";function d(r,n){const a=s(m),t=f(),e=i([c.GetAllTracks,r],async()=>a.getTracks(r),{staleTime:1e3*60*15,cacheTime:1e3*60*60,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1,refetchInterval:!1,enabled:n?.enabled??!0});return u(()=>{if(e.data)for(const o of e.data.edges)t.setQueryData([c.GetTrack,o.node.id],o.node)},[e.data,t]),e}export{d as useGetAllTracks};
|
|
2
2
|
//# sourceMappingURL=useGetAllTracks.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{useApi as o}from"@backstage/core-plugin-api";import{useQuery as i}from"@tanstack/react-query";import{soundcheckApiRef as c}from"../../api.esm.js";import{QueryKeys as u}from"../graphqlKeys.esm.js";function p(e,t={},r){const n=o(c);return i({queryKey:[u.GetTracksApplicableEntityCount,t,e],queryFn:async()=>n.getTracksApplicableEntityCount(t,e??""),staleTime:5*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1,enabled:!!e&&(r?.enabled??!0)})}export{p as useGetTracksApplicableEntityCount};
|
|
2
|
+
//# sourceMappingURL=useGetTracksApplicableEntityCount.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{parseEntityRef as G}from"@backstage/catalog-model";import{useMemo as o}from"react";import{useGetCampaigns as L}from"../campaigns/useGetCampaigns.esm.js";import{useGetAllTracks as E}from"./useGetAllTracks.esm.js";import{useGetTracksApplicableEntityCount as T}from"./useGetTracksApplicableEntityCount.esm.js";function A(r){if(!r||r.trim()==="")return!1;try{return G(r).kind.toLowerCase()==="group"}catch{return!1}}function M(r,h={},k){const n=A(r)&&(k?.enabled??!0),{data:d,isLoading:s,error:m}=E(h,{enabled:n}),{data:p,isLoading:l,error:c}=L({},n),u=o(()=>p?.edges?new Set(p.edges.filter(({node:e})=>e.archived).map(({node:e})=>e.track.id)):new Set,[p]),i=o(()=>d?.edges?d.edges.map(({node:e})=>e).filter(e=>!u.has(e.id)).filter(e=>!e.draft).sort((e,a)=>e.id.localeCompare(a.id)):[],[d,u]),{data:t,isLoading:f,error:g}=T(r,{ids:i.map(e=>e.id)},{enabled:n&&i.length>0&&!s&&!l}),b=o(()=>t?new Map(t.map(e=>[e.id,e.applicableEntityCount])):new Map,[t]),w=o(()=>t?i.filter(e=>{const a=b.get(e.id);return a!==void 0&&a>0}):[],[i,b,t]),y=o(()=>s||l||f||!!r&&!t&&i.length>0,[s,l,f,r,t,i.length]),C=o(()=>m||c||g,[m,c,g]);return{tracks:w,counts:t,isLoading:y,error:C}}export{M as useTracksApplicableToGroup};
|
|
2
|
+
//# sourceMappingURL=useTracksApplicableToGroup.esm.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -125,6 +125,9 @@ declare function useGetCollectors(collectorIds?: string[]): _tanstack_react_quer
|
|
|
125
125
|
__typename?: "Checker";
|
|
126
126
|
id: string;
|
|
127
127
|
name?: string | null;
|
|
128
|
+
description?: string | null;
|
|
129
|
+
rule?: any | null;
|
|
130
|
+
schedule?: any | null;
|
|
128
131
|
}> | null;
|
|
129
132
|
}[], unknown>;
|
|
130
133
|
|
package/dist/routes.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createRouteRef as a,createSubRouteRef as
|
|
1
|
+
import{createRouteRef as a,createSubRouteRef as t}from"@backstage/core-plugin-api";const c=a({id:"soundcheck-entity"}),i=a({id:"soundcheck-group"}),n=t({id:"soundcheck-entity-certification-track-redirect",parent:c,path:"/tracks/:trackId"}),s=t({id:"soundcheck-entity-certification",parent:c,path:"/tracks/:trackId/checks/:checkId"}),r=t({id:"soundcheck-entity-playlist-redirect",parent:c,path:"/playlists/:playlistId"}),h=t({id:"soundcheck-entity-playlist-track-redirect",parent:c,path:"/playlists/:playlistId/tracks/:trackId"}),d=t({id:"soundcheck-entity-playlist-track-redirect",parent:c,path:"/playlists/:playlistId/tracks/:trackId/checks/:checkId"}),e=a({id:"soundcheck"}),k=t({id:"soundcheck-quickstart",parent:e,path:"/quickstart"}),o=t({id:"soundcheck-checks",parent:e,path:"/checks"}),p=t({id:"soundcheck-check-details",parent:e,path:"/checks/:checkId"}),u=t({id:"soundcheck-check-edit",parent:e,path:"/checks/:checkId/edit"}),R=t({id:"soundcheck-check-create",parent:e,path:"/checks/create"}),g=t({id:"soundcheck-check-templates",parent:e,path:"/checks/templates"}),l=t({id:"soundcheck-tracks",parent:e,path:"/tracks"}),f=t({id:"soundcheck-track-details",parent:e,path:"/tracks/:trackId"}),I=t({id:"soundcheck-track-edit",parent:e,path:"/tracks/:trackId/edit"}),m=t({id:"soundcheck-track-create",parent:e,path:"/tracks/create"}),y=t({id:"soundcheck-track-check-details",parent:e,path:"/tracks/:trackId/checks/:checkId"}),P=t({id:"soundcheck-campaigns",parent:e,path:"/campaigns"}),C=t({id:"soundcheck-campaign-details",parent:e,path:"/campaigns/:campaignId"}),D=t({id:"soundcheck-campaign-edit",parent:e,path:"/campaigns/:campaignId/edit"}),T=t({id:"soundcheck-campaign-create",parent:e,path:"/campaigns/create"}),E=t({id:"soundcheck-tech-health",parent:e,path:"/tech-health"}),q=t({id:"soundcheck-tech-insights",parent:e,path:"/tech-insights"}),b=t({id:"soundcheck-integrations-page",parent:e,path:"/integrations"}),x=t({id:"soundcheck-integration-details",parent:e,path:"/integrations/:integrationId"}),H=t({id:"soundcheck-integration-edit",parent:e,path:"/integrations/:integrationId/edit"});t({id:"soundcheck-tech-insights-tracks",parent:e,path:"/tech-insights/tracks"});const S=t({id:"soundcheck-tech-insights-track",parent:e,path:"/tech-insights/track"});export{T as campaignCreateRouteRef,C as campaignDetailsRouteRef,D as campaignEditRouteRef,P as campaignsPageRouteRef,r as certificationPlaylistRouteRef,d as certificationPlaylistTrackCheckRouteRef,h as certificationPlaylistTrackRouteRef,s as certificationRouteRef,n as certificationTrackRouteRef,R as checkCreateRouteRef,p as checkDetailsRouteRef,u as checkEditRouteRef,g as checkTemplatesRouteRef,o as checksPageRouteRef,c as entityRootRouteRef,i as groupRootRouteRef,x as integrationDetailsRouteRef,H as integrationEditRouteRef,b as integrationsPageRouteRef,k as quickstartRouteRef,e as rootRouteRef,E as techHealthRouteRef,q as techInsightsPageRouteRef,S as techInsightsTrackRouteRef,y as trackCheckDetailsRouteRef,m as trackCreateRouteRef,f as trackDetailsRouteRef,I as trackEditRouteRef,l as tracksPageRouteRef};
|
|
2
2
|
//# sourceMappingURL=routes.esm.js.map
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@spotify/backstage-plugin-soundcheck",
|
|
3
3
|
"description": "Ensure quality, reliability and alignment of software development with codified checks and guidance.",
|
|
4
|
-
"version": "0.18.
|
|
4
|
+
"version": "0.18.1",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"homepage": "https://backstage.spotify.com",
|
|
7
7
|
"main": "./dist/index.esm.js",
|
|
@@ -58,16 +58,16 @@
|
|
|
58
58
|
"prepare": "yarn generate"
|
|
59
59
|
},
|
|
60
60
|
"dependencies": {
|
|
61
|
-
"@backstage/catalog-client": "^1.10.
|
|
62
|
-
"@backstage/catalog-model": "^1.7.
|
|
63
|
-
"@backstage/config": "^1.3.
|
|
64
|
-
"@backstage/core-compat-api": "^0.4.
|
|
65
|
-
"@backstage/core-components": "^0.17.
|
|
66
|
-
"@backstage/core-plugin-api": "^1.10.
|
|
67
|
-
"@backstage/frontend-plugin-api": "^0.10.
|
|
68
|
-
"@backstage/plugin-catalog-react": "^1.19.
|
|
69
|
-
"@backstage/plugin-permission-react": "^0.4.
|
|
70
|
-
"@backstage/plugin-scaffolder-react": "^1.
|
|
61
|
+
"@backstage/catalog-client": "^1.10.2",
|
|
62
|
+
"@backstage/catalog-model": "^1.7.5",
|
|
63
|
+
"@backstage/config": "^1.3.3",
|
|
64
|
+
"@backstage/core-compat-api": "^0.4.4",
|
|
65
|
+
"@backstage/core-components": "^0.17.4",
|
|
66
|
+
"@backstage/core-plugin-api": "^1.10.9",
|
|
67
|
+
"@backstage/frontend-plugin-api": "^0.10.4",
|
|
68
|
+
"@backstage/plugin-catalog-react": "^1.19.1",
|
|
69
|
+
"@backstage/plugin-permission-react": "^0.4.36",
|
|
70
|
+
"@backstage/plugin-scaffolder-react": "^1.18.0",
|
|
71
71
|
"@backstage/types": "^1.2.1",
|
|
72
72
|
"@date-io/luxon": "^1.0.0",
|
|
73
73
|
"@hookform/resolvers": "^4.0.0",
|
|
@@ -75,17 +75,16 @@
|
|
|
75
75
|
"@material-ui/icons": "^4.9.1",
|
|
76
76
|
"@material-ui/lab": "4.0.0-alpha.61",
|
|
77
77
|
"@material-ui/pickers": "3.3.11",
|
|
78
|
-
"@mui/icons-material": "^5.11.16",
|
|
79
|
-
"@mui/material": "^5.12.2",
|
|
80
78
|
"@mui/styles": "^5.14.7",
|
|
81
79
|
"@nivo/circle-packing": "^0.99.0",
|
|
82
80
|
"@nivo/colors": "^0.99.0",
|
|
83
81
|
"@nivo/core": "^0.99.0",
|
|
82
|
+
"@nivo/heatmap": "^0.99.0",
|
|
84
83
|
"@nivo/icicle": "^0.99.0",
|
|
85
84
|
"@nivo/sunburst": "^0.99.0",
|
|
86
85
|
"@nivo/treemap": "^0.99.0",
|
|
87
|
-
"@spotify/backstage-plugin-core": "^0.8.
|
|
88
|
-
"@spotify/backstage-plugin-soundcheck-common": "^0.18.
|
|
86
|
+
"@spotify/backstage-plugin-core": "^0.8.9",
|
|
87
|
+
"@spotify/backstage-plugin-soundcheck-common": "^0.18.1",
|
|
89
88
|
"@tanstack/react-query": "^4.6.1",
|
|
90
89
|
"@tanstack/react-virtual": "^3.13.9",
|
|
91
90
|
"@types/react-csv": "^1.1.6",
|
|
@@ -121,6 +120,7 @@
|
|
|
121
120
|
"recharts": "^2.8.0",
|
|
122
121
|
"rehype-raw": "^7.0.0",
|
|
123
122
|
"remark-gfm": "^4.0.0",
|
|
123
|
+
"slate": "^0.117.0",
|
|
124
124
|
"use-immer": "^0.11.0",
|
|
125
125
|
"use-resize-observer": "^9.1.0",
|
|
126
126
|
"uuid": "^11.0.0",
|
|
@@ -132,20 +132,21 @@
|
|
|
132
132
|
"react-router-dom": "6.0.0-beta.0 || ^6.3.0"
|
|
133
133
|
},
|
|
134
134
|
"devDependencies": {
|
|
135
|
-
"@backstage/cli": "^0.33.
|
|
136
|
-
"@backstage/core-app-api": "^1.
|
|
137
|
-
"@backstage/dev-utils": "^1.1.
|
|
135
|
+
"@backstage/cli": "^0.33.1",
|
|
136
|
+
"@backstage/core-app-api": "^1.18.0",
|
|
137
|
+
"@backstage/dev-utils": "^1.1.12",
|
|
138
138
|
"@backstage/e2e-test-utils": "^0.1.1",
|
|
139
|
-
"@backstage/frontend-test-utils": "^0.3.
|
|
140
|
-
"@backstage/
|
|
139
|
+
"@backstage/frontend-test-utils": "^0.3.4",
|
|
140
|
+
"@backstage/plugin-permission-common": "^0.9.1",
|
|
141
|
+
"@backstage/test-utils": "^1.7.10",
|
|
141
142
|
"@graphql-codegen/cli": "^5.0.0",
|
|
142
143
|
"@graphql-codegen/typescript": "^4.0.0",
|
|
143
144
|
"@graphql-codegen/typescript-graphql-request": "^6.0.0",
|
|
144
145
|
"@graphql-codegen/typescript-operations": "^4.0.0",
|
|
145
146
|
"@playwright/test": "^1.32.3",
|
|
146
147
|
"@sp4b-dev/test-utils": "^0.0.13",
|
|
147
|
-
"@spotify/backstage-plugin-core-common": "^0.6.
|
|
148
|
-
"@spotify/backstage-plugin-soundcheck-node": "^0.9.
|
|
148
|
+
"@spotify/backstage-plugin-core-common": "^0.6.8",
|
|
149
|
+
"@spotify/backstage-plugin-soundcheck-node": "^0.9.11",
|
|
149
150
|
"@testing-library/jest-dom": "^6.0.0",
|
|
150
151
|
"@testing-library/react": "^14.0.0",
|
|
151
152
|
"@testing-library/user-event": "^14.0.0",
|
|
@@ -155,8 +156,8 @@
|
|
|
155
156
|
"@types/d3-scale": "^4",
|
|
156
157
|
"@types/d3-scale-chromatic": "^3.0.0",
|
|
157
158
|
"@types/d3-shape": "^3",
|
|
158
|
-
"@types/git-url-parse": "^
|
|
159
|
-
"@types/jest": "^
|
|
159
|
+
"@types/git-url-parse": "^16.0.0",
|
|
160
|
+
"@types/jest": "^30.0.0",
|
|
160
161
|
"@types/luxon": "^3.0.1",
|
|
161
162
|
"@types/node": "^22.0.0",
|
|
162
163
|
"@types/react-window": "^1.8.5",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsxs as r,jsx as e}from"react/jsx-runtime";import{useRouteRef as a}from"@backstage/core-plugin-api";import{Typography as t,Link as s}from"@material-ui/core";import{checksPageRouteRef as n}from"../../routes.esm.js";import{QuickstartCardBase as i}from"./QuickstartCardBase.esm.js";import{useQuickstartStyles as p}from"./styles.esm.js";const d=()=>{const o=p(),c=a(n);return r(i,{header:"Checks",routeRef:c,children:[e(t,{variant:"body1",component:"div",className:o.mainPoint,children:"Checks are comparisons between defined acceptable fact values and the actual fact values of given collected facts."}),e(t,{variant:"body1",component:"div",paragraph:!0,children:"We've pre-populated your instance with two sets of checks which are used in the provided tracks."}),r(t,{children:["Need Help? Check out the"," ",e(s,{href:"https://backstage.spotify.com/docs/plugins/soundcheck/core-concepts/checks",className:o.link,target:"_blank",rel:"noopener noreferrer",children:"documentation"}),"."]})]})};export{d as QuickstartChecksCard};
|
|
2
|
-
//# sourceMappingURL=QuickStartChecksCard.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsxs as n,jsx as e}from"react/jsx-runtime";import{useRouteRef as c}from"@backstage/core-plugin-api";import{Typography as r,Link as i,Grid as o}from"@material-ui/core";import{integrationsPageRouteRef as h,integrationDetailsRouteRef as m}from"../../routes.esm.js";import{QuickstartCardBase as f}from"./QuickstartCardBase.esm.js";import{useQuickstartStyles as u}from"./styles.esm.js";const p=()=>{const t=u(),s=c(h),a=c(m),l=a({integrationId:"scm"}),d=a({integrationId:"github"});return n(f,{header:"Integrations",routeRef:s,children:[n(r,{variant:"body1",component:"div",className:t.mainPoint,children:["One of the foundational elements of Soundcheck,"," ",e(i,{href:"https://backstage.spotify.com/docs/plugins/soundcheck/core-concepts/fact-collectors",className:t.link,target:"_blank",rel:"noopener noreferrer",children:"Integrations"})," ","collect raw data about your components. These facts are then used by checks to determine the health of your components."]}),e(r,{variant:"body1",component:"div",children:"Soundcheck comes with a variety of integrations, two of which we've enabled and configured for your starting instance:"}),n(o,{container:!0,direction:"row",className:t.grid,children:[e(o,{item:!0,xs:4,children:e(r,{variant:"body1",children:e(i,{href:l,className:t.link,target:"_blank",rel:"noopener noreferrer",children:"SCM Integration"})})}),e(o,{item:!0,xs:8,children:e(r,{variant:"body1",children:"Checks for recommended settings in your GitHub repositories."})}),e(o,{item:!0,xs:4,children:e(r,{variant:"body1",children:e(i,{href:d,className:t.link,target:"_blank",rel:"noopener noreferrer",children:"GitHub Integration"})})}),e(o,{item:!0,xs:8,children:e(r,{variant:"body1",children:"Pulls information from Github."})})]}),n(r,{children:["Need Help? Check out the"," ",e(i,{href:"https://backstage.spotify.com/docs/plugins/soundcheck/core-concepts/fact-collectors",className:t.link,target:"_blank",rel:"noopener noreferrer",children:"documentation"}),"."]})]})};export{p as QuickstartCollectorConfigurationsCard};
|
|
2
|
-
//# sourceMappingURL=QuickstartCollectorConfigurationsCard.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsxs as n,jsx as e}from"react/jsx-runtime";import{useRouteRef as c}from"@backstage/core-plugin-api";import{Typography as r,Grid as a,Link as o}from"@material-ui/core";import{tracksPageRouteRef as m,trackDetailsRouteRef as h}from"../../routes.esm.js";import{QuickstartCardBase as u}from"./QuickstartCardBase.esm.js";import{useQuickstartStyles as p}from"./styles.esm.js";const k=()=>{const t=p(),s=c(m),i=c(h),d=i({trackId:"993a9b69-3445-4d42-a950-2a847d618825"}),l=i({trackId:"140ea084-d918-4d41-9035-95d72516ec4b"});return n(u,{header:"Tracks",routeRef:s,children:[e(r,{variant:"body1",component:"div",className:t.mainPoint,children:"Tracks encourage alignment to architectural best practices and standards and are analogous to an organization\u2019s long-term tech health initiatives."}),e(r,{variant:"body1",component:"div",children:"We have provided two tracks to start you off:"}),n(a,{container:!0,direction:"row",className:t.grid,children:[e(a,{item:!0,xs:5,children:e(r,{variant:"body1",children:e(o,{href:d,className:t.link,target:"_blank",rel:"noopener noreferrer",children:"Basic SCM Compliance"})})}),e(a,{item:!0,xs:6,children:e(r,{variant:"body1",children:"Ensures your source control management is configured correctly."})}),e(a,{item:!0,xs:5,children:e(r,{variant:"body1",children:e(o,{href:l,className:t.link,target:"_blank",rel:"noopener noreferrer",children:"Recommended GitHub Settings"})})}),e(a,{item:!0,xs:6,children:e(r,{variant:"body1",children:"Checks for recommended settings in your GitHub repositories."})})]}),n(r,{children:["Need Help? Check out the"," ",e(o,{href:"https://backstage.spotify.com/docs/plugins/soundcheck/core-concepts/tracks",className:t.link,target:"_blank",rel:"noopener noreferrer",children:"documentation"}),"."]})]})};export{k as QuickstartTracksCard};
|
|
2
|
-
//# sourceMappingURL=QuickstartTracksCard.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as d}from"react/jsx-runtime";import{motion as l}from"framer-motion";function m({angle:o,arc:i,direction:t,dist:e,emoji:n,delay:r,fontSize:a,speed:p}){return d(l.div,{style:{position:"absolute",fontSize:a},initial:{top:0,left:"50%",x:"-50%",y:"-100%",rotate:0,originX:`${i*t}px`,originY:`${i}px`},animate:{opacity:[0,1,0,0,0,0],y:`${-e}px`,rotate:o*t},transition:{delay:r,duration:p,ease:[.2,.83,.46,.63],repeat:1/0},children:n})}export{m as Emoji};
|
|
2
|
-
//# sourceMappingURL=Emoji.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsxs as l,jsx as d}from"react/jsx-runtime";import{makeStyles as p,Typography as c}from"@material-ui/core";import{useMemo as f}from"react";import{Emoji as M}from"./Emoji.esm.js";const F=["\u{1F4C8}","\u{1F4CA}","\u{1F4C9}","\u{1F680}","\u2B50\uFE0F"],j=p(()=>({container:{position:"relative"}}));function y({angle:r=125,density:m=20,emojis:o=F,fontSizeMin:e=6,fontSizeMax:s=24,size:a=300,speed:n=4}){const h=j(),u=f(()=>Array.from({length:m*o.length}).map((t,i)=>({emoji:o[Math.floor(Math.random()*o.length)],arc:Math.random()*a*.5,delay:Math.random()*n,dist:Math.random()*a,direction:i%2?1:-1,fontSize:Math.random()*(s-e)+e,angle:r,speed:n})),[m,o,n,a,r,s,e]);return l("div",{className:h.container,children:[d(c,{variant:"h1",children:"\u{1F469}\u200D\u{1F4BB}"}),u.map((t,i)=>d(M,{...t},`${t.emoji}-${i}`))]})}export{y as EmojiFountain};
|
|
2
|
-
//# sourceMappingURL=EmojiFountain.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as r,jsxs as f}from"react/jsx-runtime";import{useTheme as G,Grid as i,Typography as h}from"@material-ui/core";import{useState as u,useEffect as k}from"react";import{useSearchParams as b}from"react-router-dom";import{useGroupOptions as M}from"../../../hooks/groups/useGroupOptions.esm.js";import{toFilter as O}from"../../../utils/helpers.esm.js";import{getChartColors as j}from"../../Charts/chartUtils.esm.js";import"../../TechHealth/Filters/types.esm.js";import"../../TechHealth/Filters/FacetFilter.esm.js";import{useFilterContext as L}from"../../TechHealth/Filters/FilterProvider.esm.js";import"../../TechHealth/Filters/Filters.esm.js";import"../../TechHealth/Filters/FiltersHeader.esm.js";import"../../TechHealth/Filters/FiltersSection.esm.js";import"@backstage/catalog-model";import"lodash";import"../../../contexts/TrackFormContext.esm.js";import"../../../contexts/CheckFormContext.esm.js";import"../../../contexts/CampaignFormContext.esm.js";import"../../../contexts/UserProvider.esm.js";import"@backstage/core-plugin-api";import"@tanstack/react-query";import"../../../api.esm.js";import"../../../hooks/graphqlKeys.esm.js";import"@backstage/plugin-catalog-react";import"@spotify/backstage-plugin-soundcheck-common";import"../../../hooks/useSoundcheckAlert.esm.js";import"../../../hooks/useConfirmationModal.esm.js";import{getTechInsightsStyles as $}from"../styles.esm.js";import{parseTogglesString as B}from"../TechInsightsPage.esm.js";import{CheckStatusTile as H}from"../Tiles/CheckStatusTile.esm.js";import{FailingComponentsTable as P}from"./FailingComponentsTable.esm.js";import{MultiCheckStatusHistoryChart as V}from"./MultiCheckStatusHistoryChart.esm.js";import{getGroupName as W}from"./TeamComparison.esm.js";const q=({checksConnection:C})=>{const w=G(),s=$(),{options:S,isLoading:v,isError:x}=M(),[y]=b(),c=B(y.get("toggles")),{getSelectedFacetValues:d,facetFilters:m}=L(),[T,I]=u([]);k(()=>{I(m.Check)},[d,m]);const[l,N]=u([]);return k(()=>{N(m["Entity Owner"])},[d,m]),v?r(i,{item:!0,children:r(h,{variant:"h1",children:"Loading..."})},"checks"):x?r(i,{item:!0,children:r(h,{variant:"h3",children:"Error loading groups."})},"checks"):r(i,{item:!0,children:T?.map(t=>{const o=C?.edges.find(({node:e})=>e.id===t)?.node,g={id:o?.id??t,name:o?.name??t,description:o?.description??"None"},n=j(w),a=l??[],p=new Map;return a.forEach((e,E)=>{const F=n[E%n.length];p.set(e,F)}),f(i,{container:!0,spacing:2,direction:"row",children:[r(i,{item:!0,className:s.header,xs:12,children:f(h,{variant:"h4",children:["Check: ",o?.name??t]})}),c?.showGraphs&&r(i,{item:!0,className:`check-history-chart-${t}`,xs:12,children:r(V,{checkId:t,trackId:void 0,filters:l?.map(e=>O({owners:[e]})),states:void 0,colorMap:p})}),c?.showCards&&a.map(e=>r(i,{item:!0,className:s.gridItem,children:r(H,{existsWithinSoundcheck:!!o,titleOverride:`${W(e,S)}`,check:g,filter:e?{"relations.ownedBy":e}:void 0,color:p.get(e)??n[0]})},e)),c?.showTables&&r(i,{item:!0,className:s.gridItem,xs:12,children:r(P,{checkId:g.id,groupIds:a})},"failing-components-table")]})})},"checks")};export{q as CheckComparison};
|
|
2
|
-
//# sourceMappingURL=CheckComparison.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as e,jsxs as p}from"react/jsx-runtime";import{useTheme as c,Typography as l}from"@material-ui/core";import{DateTime as k}from"luxon";import{ResponsiveContainer as h,LineChart as x,CartesianGrid as y,XAxis as u,YAxis as a,Tooltip as g,Line as f}from"recharts";import{compactNumberFormatter as b}from"../../../utils/formatters.esm.js";const L=({mergedHistory:n,colorMap:o,checkStatusHistories:s,max:d})=>{const t=c(),m={stroke:t.palette.background.paper,strokeWidth:1,r:5};return e(h,{height:250,debounce:1,children:p(x,{data:n??[],margin:{top:0,right:0,bottom:0,left:0},children:[e(y,{stroke:t.palette.divider,strokeWidth:1,horizontal:!0,vertical:!1}),e(u,{dataKey:"date",tickFormatter:r=>k.fromISO(r).toFormat("MMM d"),tickLine:!1,axisLine:!1}),e(a,{yAxisId:"percentage",domain:[0,100],axisLine:!1,tickLine:!1,tickFormatter:r=>`${r}%`,ticks:[0,25,50,75,100]}),e(a,{yAxisId:"count",orientation:"right",domain:[0,d],axisLine:!1,tickLine:!1,tickFormatter:r=>b(r)}),e(g,{contentStyle:{backgroundColor:t.palette.background.paper,color:t.palette.text.primary,border:`1px solid ${t.palette.divider}`},cursor:{stroke:t.palette.divider,strokeWidth:1}}),s?.map(r=>{if(r.filter){const i=r.filter["relations.ownedBy"][0];return e(f,{type:"monotone",dataKey:i,stroke:o?.get(i)??t.palette.primary.main,yAxisId:"count",strokeWidth:2,dot:!1,isAnimationActive:!1,activeDot:{fill:o?.get(i)??t.palette.primary.main,...m}})}return e(l,{children:e("span",{style:{color:t.palette.text.disabled},children:"No data available."})})})]})})};export{L as LineChartContainer};
|
|
2
|
-
//# sourceMappingURL=LineChartContainer.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as r,jsxs as y}from"react/jsx-runtime";import{useTheme as x,Typography as L}from"@material-ui/core";import{ResponsiveContainer as C,LineChart as b,CartesianGrid as v,XAxis as A,YAxis as h,Tooltip as I,Line as H}from"recharts";import"@backstage/catalog-model";import"@backstage/core-plugin-api";import"@tanstack/react-query";import"../../../api.esm.js";import"../../../hooks/graphqlKeys.esm.js";import"@backstage/plugin-catalog-react";import"@spotify/backstage-plugin-soundcheck-common";import"react";import"../../../hooks/useSoundcheckAlert.esm.js";import{useTrack as T}from"../../../hooks/tracks/useTrack.esm.js";import"../../../hooks/useConfirmationModal.esm.js";import"react-router-dom";import{useCertificationStatusHistories as $}from"../../../hooks/aggregations/useCertificationStatusHistories.esm.js";import{compactNumberFormatter as E}from"../../../utils/formatters.esm.js";import{getChartColors as F}from"../../Charts/chartUtils.esm.js";import{LoadingChart as S}from"../../Charts/LoadingChart.esm.js";function W(a){const e=[];for(const[p,i]of a.entries()){const m=i.certificationStatusHistory.history,l=p.filter["relations.ownedBy"][0];for(const n of m){let s=e.find(d=>d.name===n.date);s||(e.push({name:n.date}),s=e[e.length-1]),s[`${l}`]=(n.statusByLevel[0].passed/i.certificationStatusHistory.numberOfEntities*100).toFixed(2)}}return e}const w=({trackId:a,filters:e,colorMap:p})=>{const i=x(),m=e?.map(t=>({trackId:a,filter:t,numberOfDays:30}))??[],{data:l,isLoading:n,error:s}=$(m,!!a),d=m.map(t=>t.filter["relations.ownedBy"][0]),{data:f,isLoading:u,isError:g}=T(a);if(n||u)return r(S,{type:"line",numLines:3});if(s||g||!l||!f)return r(L,{children:r("span",{style:{color:i.palette.error.main},children:"Error loading track status histories."})});const o=F(i),k=W(l);return r(C,{width:"100%",height:"100%",minHeight:250,children:y(b,{data:k,height:250,margin:{top:0,right:0,bottom:0,left:0},children:[r(v,{stroke:i.palette.divider,strokeWidth:1,horizontal:!0,vertical:!1}),r(A,{dataKey:"name",tickLine:!1,axisLine:!1}),r(h,{yAxisId:"left",domain:[0,100],axisLine:!1,tickLine:!1,tickFormatter:t=>`${t}%`,ticks:[0,25,50,75,100]}),r(h,{yAxisId:"right",orientation:"right",dataKey:"totalEntities",axisLine:!1,tickLine:!1,tickFormatter:t=>E(t)}),r(I,{contentStyle:{backgroundColor:i.palette.background.paper,color:i.palette.text.primary,border:`1px solid ${i.palette.divider}`},cursor:{stroke:i.palette.divider,strokeWidth:1}}),d.map((t,c)=>r(H,{type:"monotone",dataKey:t,name:`Group: ${t.replace("group:default/","")} - Checks Passing %`,yAxisId:"left",stroke:p?.get(t)??o[c%o.length],strokeWidth:2,dot:!1,fill:p?.get(t)??o[c%o.length],isAnimationActive:!1,activeDot:{fill:o[c%o.length],stroke:i.palette.background.paper,strokeWidth:1,r:5}},`Group:${t} - Checks Passing %`))]})})};export{w as MultiTrackHistoryChart};
|
|
2
|
-
//# sourceMappingURL=MultiTrackHistoryChart.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as r,jsxs as d}from"react/jsx-runtime";import{Box as n,Typography as l,Grid as u}from"@material-ui/core";import{useMemo as h}from"react";import{useSearchParams as k}from"react-router-dom";import"@backstage/catalog-model";import"@backstage/core-plugin-api";import"@tanstack/react-query";import"../../../api.esm.js";import"../../../hooks/graphqlKeys.esm.js";import"@backstage/plugin-catalog-react";import"@spotify/backstage-plugin-soundcheck-common";import{useGetChecks as C}from"../../../hooks/checks/useGetChecks.esm.js";import"../../../hooks/useSoundcheckAlert.esm.js";import{useGetAllTracks as N}from"../../../hooks/tracks/useGetAllTracks.esm.js";import"../../../hooks/useConfirmationModal.esm.js";import{Facet as f}from"../../TechHealth/Filters/types.esm.js";import"../../TechHealth/Filters/FacetFilter.esm.js";import{useFilterContext as T}from"../../TechHealth/Filters/FilterProvider.esm.js";import"../../TechHealth/Filters/Filters.esm.js";import"../../TechHealth/Filters/FiltersHeader.esm.js";import"../../TechHealth/Filters/FiltersSection.esm.js";import"lodash";import"../../../contexts/TrackFormContext.esm.js";import"../../../contexts/CheckFormContext.esm.js";import"../../../contexts/CampaignFormContext.esm.js";import"../../../contexts/UserProvider.esm.js";import{getTechInsightsStyles as w}from"../styles.esm.js";import{parseTogglesString as x}from"../TechInsightsPage.esm.js";import{CheckComparison as y}from"./CheckComparison.esm.js";import{TrackComparison as G}from"./TrackComparison.esm.js";const S=(o,a)=>{const e=a.find(c=>c.ref===o);return e?e.name:o},b=()=>{const o=w(),[a]=k(),{data:e,isLoading:c}=N({}),{data:g}=C({}),{getSelectedFacetValues:t}=T(),i=h(()=>t(f.Track),[t]),s=h(()=>t(f.Check),[t]),m=h(()=>t(f.EntityOwner),[t]);if(c)return r(n,{className:o.content,children:r(l,{variant:"h1",children:"Loading..."})});if(!m||m.length===0||(!s||s.length===0)&&(!i||i.length===0))return r(n,{className:o.info,children:r(l,{className:o.info,children:"Select both a set of groups and some checks/tracks to see comparisons."})});const p=x(a.get("toggles"));return!p.showGraphs&&!p.showCards&&!p.showTables?r(n,{className:o.info,children:r(l,{className:o.info,children:"No graphs, cards or tables selected. Please select at least one from the 'Display' selection on the left."})}):r(n,{className:o.content,children:d(u,{container:!0,direction:"row",spacing:2,children:[s&&s.length>0&&g&&m&&r(y,{checksConnection:g}),i&&i.length>0&&e&&m&&r(G,{tracksConnection:e})]})})};export{b as TeamComparison,S as getGroupName};
|
|
2
|
-
//# sourceMappingURL=TeamComparison.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as r,jsxs as g}from"react/jsx-runtime";import{useTheme as N,Grid as i,Typography as l}from"@material-ui/core";import{useState as f,useEffect as u}from"react";import{useSearchParams as G}from"react-router-dom";import{useGroupOptions as M}from"../../../hooks/groups/useGroupOptions.esm.js";import{toFilter as O}from"../../../utils/helpers.esm.js";import{getChartColors as j}from"../../Charts/chartUtils.esm.js";import"../../TechHealth/Filters/types.esm.js";import"../../TechHealth/Filters/FacetFilter.esm.js";import{useFilterContext as L}from"../../TechHealth/Filters/FilterProvider.esm.js";import"../../TechHealth/Filters/Filters.esm.js";import"../../TechHealth/Filters/FiltersHeader.esm.js";import"../../TechHealth/Filters/FiltersSection.esm.js";import"@backstage/catalog-model";import"lodash";import"../../../contexts/TrackFormContext.esm.js";import"../../../contexts/CheckFormContext.esm.js";import"../../../contexts/CampaignFormContext.esm.js";import"../../../contexts/UserProvider.esm.js";import"@backstage/core-plugin-api";import"@tanstack/react-query";import"../../../api.esm.js";import"../../../hooks/graphqlKeys.esm.js";import"@backstage/plugin-catalog-react";import"@spotify/backstage-plugin-soundcheck-common";import"../../../hooks/useSoundcheckAlert.esm.js";import"../../../hooks/useConfirmationModal.esm.js";import{getTechInsightsStyles as R}from"../styles.esm.js";import{parseTogglesString as U}from"../TechInsightsPage.esm.js";import{TrackStatusTile as W}from"../Tiles/TrackStatusTile.esm.js";import{FailingComponentsTable as B}from"./FailingComponentsTable.esm.js";import{MultiTrackHistoryChart as H}from"./MultiTrackHistoryChart.esm.js";import{getGroupName as P}from"./TeamComparison.esm.js";const V=({tracksConnection:k})=>{const w=N(),n=R(),{options:T,isLoading:y,isError:E}=M(),[C]=G(),a=U(C.get("toggles")),{getSelectedFacetValues:d,facetFilters:m}=L(),[v,x]=f([]);u(()=>{x(m.Track)},[d,m]);const[h,S]=f([]);return u(()=>{S(m["Entity Owner"])},[d,m]),y?r(i,{item:!0,children:r(l,{variant:"h1",children:"Loading..."})},"tracks"):E?r(i,{item:!0,children:r(l,{variant:"h3",children:"Error loading groups."})},"tracks"):r(i,{item:!0,children:v?.map(o=>{const e=k?.edges.find(({node:t})=>t.id===o)?.node,b={id:e?.id??o,name:e?.name??o,description:e?.description??"None",isEditable:e?.isEditable??!1,levels:e?.levels??[],ownerEntityRef:e?.ownerEntityRef??"Unknown",type:e?.type??"Unknown"},s=j(w),p=h??[],c=new Map;return p.forEach((t,F)=>{const I=s[F%s.length];c.set(t,I)}),g(i,{container:!0,spacing:2,direction:"row",children:[r(i,{item:!0,className:n.header,xs:12,children:g(l,{variant:"h4",children:["Track: ",e?.name??o]})}),a?.showGraphs&&r(i,{item:!0,className:n.content,xs:12,children:r(H,{trackId:o,filters:h?.map(t=>O({owners:[t]})),colorMap:c})}),a?.showCards&&p.map(t=>r(i,{item:!0,className:n.gridItem,style:{minWidth:200},children:r(W,{existsWithinSoundcheck:!!e,titleOverride:`${P(t,T)}`,track:b,filter:t?{"relations.ownedBy":t}:void 0,color:c.get(t)??s[0]})},t)),a?.showTables&&r(i,{item:!0,className:n.gridItem,xs:12,children:r(B,{trackId:o,groupIds:p})},"failing-components-table")]})})},"tracks")};export{V as TrackComparison};
|
|
2
|
-
//# sourceMappingURL=TrackComparison.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as t,jsxs as p}from"react/jsx-runtime";import{Grid as i,Typography as u}from"@material-ui/core";import{useState as T,useEffect as V}from"react";import{useSearchParams as b}from"react-router-dom";import C from"react-use/lib/useLocalStorage";import"../TechHealth/Filters/types.esm.js";import"../TechHealth/Filters/FacetFilter.esm.js";import{FilterProvider as S}from"../TechHealth/Filters/FilterProvider.esm.js";import"../TechHealth/Filters/Filters.esm.js";import"../TechHealth/Filters/FiltersHeader.esm.js";import"../TechHealth/Filters/FiltersSection.esm.js";import"@backstage/catalog-model";import"lodash";import"../../contexts/TrackFormContext.esm.js";import"../../contexts/CheckFormContext.esm.js";import"../../contexts/CampaignFormContext.esm.js";import"../../contexts/UserProvider.esm.js";import"@backstage/core-plugin-api";import"@tanstack/react-query";import"../../api.esm.js";import"../../hooks/graphqlKeys.esm.js";import"@backstage/plugin-catalog-react";import"@spotify/backstage-plugin-soundcheck-common";import"../../hooks/useSoundcheckAlert.esm.js";import"../../hooks/useConfirmationModal.esm.js";import{getTechInsightsStyles as a}from"./styles.esm.js";import{TeamComparison as y}from"./TeamComparison/TeamComparison.esm.js";import{TechInsightsSidebar as x}from"./TechInsightsSidebar.esm.js";import{TechInsightsViewSelector as G}from"./TechInsightsViewSelector.esm.js";import{TrackCardGridBox as v}from"./TrackCardGridBox.esm.js";const I=({selectedView:e})=>{switch(e){case"Comparison":return t(y,{});default:return t(v,{})}},P=({selectedView:e,setSelectedView:r})=>{const o=a();return p(i,{item:!0,className:o.sidebar,style:{paddingBottom:4},children:[t(u,{variant:"body1",style:{marginBottom:4,fontWeight:"bold"},children:"Choose a view to explore:"}),t(G,{selectedView:e,setSelectedView:r})]})},h=e=>`${e.showCards},${e.showGraphs},${e.showTables}`,l=e=>{if(e)try{const[r,o,s]=e.split(",").map(n=>n==="true");return{showCards:r,showGraphs:o,showTables:s}}catch{}return{showCards:!0,showGraphs:!0,showTables:!0}},j=()=>{const e=a(),[r,o]=b(),[s,n]=C("soundcheck.techInsights.selectedView",void 0),[c,d]=T(()=>{const m=r.get("toggles");return l(m)||{showGraphs:!0,showCards:!0,showTables:!0}}),w=(m,g)=>{d(f=>({...f,[m]:g}))};return V(()=>{const m={...Object.fromEntries(r.entries()),toggles:h(c)};o(m)},[r,o,c]),t(S,{children:t(i,{container:!0,direction:"column",className:e.root,children:t(i,{item:!0,children:p(i,{container:!0,direction:"row",wrap:"nowrap",children:[p(i,{item:!0,style:{width:280,minWidth:280},children:[t(P,{selectedView:s,setSelectedView:n}),t(x,{selectedView:s,toggles:c,onToggleChange:w})]}),t(i,{item:!0,xs:!0,style:{overflow:"auto"},children:t(I,{selectedView:s})})]})})})})};export{j as TechInsightsPage,l as parseTogglesString,h as togglesToString};
|
|
2
|
-
//# sourceMappingURL=TechInsightsPage.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsxs as i,Fragment as n,jsx as o}from"react/jsx-runtime";import{Divider as t,Box as h,Typography as d,FormControlLabel as s,Switch as m}from"@material-ui/core";import{Facet as l}from"../TechHealth/Filters/types.esm.js";import{FacetFilter as p}from"../TechHealth/Filters/FacetFilter.esm.js";import"../TechHealth/Filters/FilterProvider.esm.js";import"../TechHealth/Filters/Filters.esm.js";import"../TechHealth/Filters/FiltersHeader.esm.js";import"../TechHealth/Filters/FiltersSection.esm.js";import"@backstage/catalog-model";import"lodash";import"react";import"../../contexts/TrackFormContext.esm.js";import"../../contexts/CheckFormContext.esm.js";import"../../contexts/CampaignFormContext.esm.js";import"../../contexts/UserProvider.esm.js";import"@backstage/core-plugin-api";import"@tanstack/react-query";import"../../api.esm.js";import"../../hooks/graphqlKeys.esm.js";import"@backstage/plugin-catalog-react";import"@spotify/backstage-plugin-soundcheck-common";import"../../hooks/useSoundcheckAlert.esm.js";import"../../hooks/useConfirmationModal.esm.js";import"react-router-dom";import g from"./hierarchy/Hierarchy.esm.js";import C from"./persistence/FavoriteViews.esm.js";import{getTechInsightsStyles as w}from"./styles.esm.js";const T=({toggles:e,onToggleChange:a})=>i("div",{children:[o(d,{variant:"subtitle2",children:"Display"}),i("div",{children:[o(s,{control:o(m,{checked:e?.showCards,onChange:()=>a?.("showCards",!e?.showCards)}),label:"Cards"}),o(s,{control:o(m,{checked:e?.showGraphs,onChange:()=>a?.("showGraphs",!e?.showGraphs)}),label:"Graphs"}),o(s,{control:o(m,{checked:e.showTables,onChange:()=>a("showTables",!e.showTables)}),label:"Tables"})]})]}),b=({selectedView:e,toggles:a,onToggleChange:c})=>{const r=w();return i("div",{className:r.sidebar,style:{paddingTop:4},children:[e==="Comparison"&&i(n,{children:[o(t,{className:r.divider}),o(C,{onToggleChange:c})]}),i(h,{children:[o(t,{className:r.divider}),o(p,{facet:l.EntityOwner}),o(t,{className:r.divider}),o(g,{}),o(t,{className:r.divider})]}),e==="Comparison"&&i(n,{children:[o(p,{facet:l.Check}),o(t,{className:r.divider})]}),o(p,{facet:l.Track}),o(t,{className:r.divider}),e==="Comparison"&&o(T,{selectedView:e,toggles:a,onToggleChange:c})]})};export{b as TechInsightsSidebar};
|
|
2
|
-
//# sourceMappingURL=TechInsightsSidebar.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsxs as o,jsx as e}from"react/jsx-runtime";import{useRouteRef as R}from"@backstage/core-plugin-api";import{useTheme as T,Paper as b,Typography as a,Tooltip as w,Box as i,Grid as I}from"@material-ui/core";import P from"lodash";import{useCallback as j}from"react";import{useNavigate as B,useSearchParams as F}from"react-router-dom";import"@backstage/catalog-model";import"@tanstack/react-query";import"../../../api.esm.js";import"../../../hooks/graphqlKeys.esm.js";import"@backstage/plugin-catalog-react";import"@spotify/backstage-plugin-soundcheck-common";import"../../../hooks/useSoundcheckAlert.esm.js";import"../../../hooks/useConfirmationModal.esm.js";import{useCheckStatus as G}from"../../../hooks/aggregations/useCheckStatus.esm.js";import{checkDetailsRouteRef as L}from"../../../routes.esm.js";import{CategoryBar as $}from"../../CategoryBar/CategoryBar.esm.js";import{LoadingIndicator as D}from"../../LoadingIndicator/LoadingIndicator.esm.js";import{parseTogglesString as M}from"../TechInsightsPage.esm.js";import{useStyles as O,getPercentageColor as U,formatValue as E,StatusItem as h,ColorSwatch as H}from"./TileUtils.esm.js";const V=({check:l,existsWithinSoundcheck:s,filter:k,titleOverride:x,color:g})=>{const t=T(),u=B(),f=R(L),[d]=F(),S=M(d.get("toggles")).showGraphs,{data:r,isLoading:N}=G({checkId:l.id,filter:k},!0),n=r?.numberOfEntities??0,y=r?.passed?r.passed/n*100:0,c=O(),v=j(()=>{s&&u(`${f({checkId:l.id})}?${d.toString()}`)},[s,u,f,l.id,d]),C=x??l.name;return N?o(b,{className:c.card,onClick:v,children:[e(a,{variant:"h6",children:C}),e(D,{})]}):e(w,{title:e(a,{children:"Cannot navigate to check details page: this check exists only in results, and is not present in any yaml files nor configured via the NCUI."}),disableHoverListener:s,children:o(b,{className:c.card,onClick:v,children:[e(a,{variant:"h6",children:C}),r?e(i,{className:c.content,children:o(i,{width:"100%",children:[o(i,{mb:2,children:[e(a,{variant:"caption",color:"textSecondary",display:"block",align:"left",children:"Current"}),o(a,{variant:"h1",style:{color:U(t,Math.floor(y))},children:[Math.floor(y),"%"]})]}),e(a,{variant:"caption",color:"textSecondary",display:"block",align:"left",children:"Check Summary"}),e(i,{className:c.categoryBarContainer,children:e($,{data:P.map(status,(m,p)=>({category:p,value:m})),valueFormatter:E,categories:["passed","failed","notReported"],categoryFormatter:m=>m.replace(/\b\w/g,p=>p.toUpperCase()),colors:[t.palette.success.main,t.palette.error.main,t.palette.text.disabled]})}),o(I,{container:!0,spacing:0,children:[e(h,{label:"Passing",value:r?.passed??0,total:n,color:t.palette.success.main}),e(h,{label:"Failing",value:r?.failed??0,total:n,color:t.palette.error.main}),e(h,{label:"Not Reported",value:r?.notReported??0,total:n,color:t.palette.text.disabled})]})]})}):e(i,{margin:"auto",children:e(a,{variant:"body2",children:"No Data"})}),e(i,{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"flex-end",style:{paddingTop:"1.5rem"},children:g&&S&&e(H,{color:g,style:{width:"80%",height:"1.5rem",borderRadius:4,border:"1px solid #ccc"}})})]})})};export{V as CheckStatusTile};
|
|
2
|
-
//# sourceMappingURL=CheckStatusTile.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsxs as l,jsx as e}from"react/jsx-runtime";import{useRouteRef as v}from"@backstage/core-plugin-api";import{useTheme as T,Paper as x,Typography as r,Tooltip as D,Box as i,Grid as $}from"@material-ui/core";import{useCallback as B}from"react";import{useSearchParams as L}from"react-router-dom";import"@backstage/catalog-model";import"@tanstack/react-query";import"../../../api.esm.js";import"../../../hooks/graphqlKeys.esm.js";import"@backstage/plugin-catalog-react";import"@spotify/backstage-plugin-soundcheck-common";import"../../../hooks/useSoundcheckAlert.esm.js";import"../../../hooks/useConfirmationModal.esm.js";import{useCertificationStatus as P}from"../../../hooks/aggregations/useCertificationStatus.esm.js";import{trackDetailsRouteRef as j,campaignDetailsRouteRef as F}from"../../../routes.esm.js";import{CategoryBar as G}from"../../CategoryBar/CategoryBar.esm.js";import{LoadingIndicator as M}from"../../LoadingIndicator/LoadingIndicator.esm.js";import{parseTogglesString as O}from"../TechInsightsPage.esm.js";import{useStyles as U,getPercentageColor as _,formatValue as E,StatusItem as h,ColorSwatch as H}from"./TileUtils.esm.js";const V=({track:n,existsWithinSoundcheck:p,filter:N,titleOverride:C,color:f,campaignId:m})=>{const a=T(),g=v(j),u=v(F),[s]=L(),S=O(s.get("toggles")).showGraphs,{data:y,isLoading:w}=P({trackId:n.id,filter:N},!0),t=y?.certificationStatus.statusByLevel[0],c=y?.certificationStatus.numberOfEntities??0,o=t?t.passed/c*100:0,d=U(),b=B(()=>{m?window.open(`${u({campaignId:m})}?${s.toString()}`,"_blank"):p&&window.open(`${g({trackId:n.id})}?${s.toString()}`,"_blank")},[m,p,g,n.id,s,u]),k=C??n.name;return w?l(x,{className:d.card,onClick:b,children:[e(r,{variant:"h6",children:k}),e(M,{})]}):e(D,{title:e(r,{children:"Cannot navigate to track details page: this track exists only in results, and is not present in any yaml files nor configured via the NCUI."}),disableHoverListener:p,children:l(x,{className:d.card,onClick:b,children:[e(i,{display:"flex",flexDirection:"column",alignItems:"flex-start",mb:1,children:e(r,{variant:"h6",children:k})}),!t||isNaN(o)?e(i,{margin:"auto",children:e(r,{variant:"body2",children:"No Data"})}):e(i,{className:d.content,children:l(i,{width:"100%",children:[l(i,{mb:2,children:[e(r,{variant:"caption",color:"textSecondary",display:"block",align:"left",children:"Current"}),l(r,{variant:"h1",style:{color:_(a,Math.floor(o))},children:[!isNaN(o)&&`${Math.floor(o)}%`,isNaN(o)&&"No Data"]})]}),e(r,{variant:"caption",color:"textSecondary",display:"block",align:"left",children:"Check Summary"}),e(i,{className:d.categoryBarContainer,children:e(G,{data:t,valueFormatter:E,categories:["passed","failed","notReported"],categoryFormatter:R=>R.replace(/\b\w/g,I=>I.toUpperCase()),colors:[a.palette.success.main,a.palette.error.main,a.palette.text.disabled]})}),l($,{container:!0,spacing:0,children:[e(h,{label:"Passing",value:t.passed,total:c,color:a.palette.success.main}),e(h,{label:"Failing",value:t.failed,total:c,color:a.palette.error.main}),e(h,{label:"Not Reported",value:t.notReported,total:c,color:a.palette.text.disabled})]})]})}),t&&!isNaN(o)&&e(i,{width:"100%",height:"100%",display:"flex",justifyContent:"center",alignItems:"flex-end",style:{paddingTop:"1.5rem"},children:f&&S&&e(H,{color:f,style:{width:"80%",height:"1.5rem",borderRadius:4,border:"1px solid #ccc"}})})]})})};export{V as TrackStatusTile};
|
|
2
|
-
//# sourceMappingURL=TrackStatusTile.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsxs as g,jsx as i}from"react/jsx-runtime";import{Typography as h,Grid as r}from"@material-ui/core";import{Skeleton as C}from"@material-ui/lab";import{useMemo as T}from"react";import{useSearchParams as G}from"react-router-dom";import"@backstage/catalog-model";import"@backstage/core-plugin-api";import"@tanstack/react-query";import"../../api.esm.js";import"../../hooks/graphqlKeys.esm.js";import"@backstage/plugin-catalog-react";import"@spotify/backstage-plugin-soundcheck-common";import"../../hooks/useSoundcheckAlert.esm.js";import{useGetCampaigns as I}from"../../hooks/campaigns/useGetCampaigns.esm.js";import{useGetAllTracks as v}from"../../hooks/tracks/useGetAllTracks.esm.js";import"../../hooks/useConfirmationModal.esm.js";import{GroupSelector as b}from"../GroupSelector/GroupSelector.esm.js";import{Facet as w}from"../TechHealth/Filters/types.esm.js";import"../TechHealth/Filters/FacetFilter.esm.js";import{useFilterContext as L}from"../TechHealth/Filters/FilterProvider.esm.js";import"../TechHealth/Filters/Filters.esm.js";import"../TechHealth/Filters/FiltersHeader.esm.js";import"../TechHealth/Filters/FiltersSection.esm.js";import"lodash";import"../../contexts/TrackFormContext.esm.js";import"../../contexts/CheckFormContext.esm.js";import"../../contexts/CampaignFormContext.esm.js";import"../../contexts/UserProvider.esm.js";import{getTechInsightsStyles as S}from"./styles.esm.js";import{TrackStatusTile as x}from"./Tiles/TrackStatusTile.esm.js";const F=({tracksConnection:e,campaignsConnection:c})=>{const o=S(),[m]=G(),d=c?.edges.map(({node:t})=>t.id)||[],{data:f,isLoading:s}=I({ids:d},!0,!0),a=m.get("entityOwner"),u=a?a.split(","):void 0,{getSelectedFacetValues:y}=L(),n=T(()=>y(w.Track),[y]);if(s)return i(r,{item:!0,className:o.content,children:i(h,{variant:"body1",color:"textSecondary",children:"Loading campaigns..."})});const N=f?.edges.map(t=>t.node),p=e?.edges.filter(({node:t})=>t.draft?!1:n.length===0?!0:n.includes(t.id)),l=N?.filter(t=>t.archived?!1:t&&n.length===0?!0:n.includes(t.id));return(p===void 0||p.length===0)&&(l===void 0||l.length===0)?i(r,{item:!0,className:o.content,children:i(h,{variant:"body1",color:"textSecondary",children:"No tracks or campaigns found."})}):g(r,{container:!0,spacing:2,children:[p?.map(({node:t})=>i(r,{item:!0,className:o.gridItem,children:i(x,{track:t,filter:a?{"relations.ownedBy":u}:void 0,existsWithinSoundcheck:!0})},t.id)),l?.map(({id:t,track:k})=>i(r,{item:!0,className:o.gridItem,children:i(x,{track:k,campaignId:t,filter:a?{"relations.ownedBy":u}:void 0,existsWithinSoundcheck:!0})},k.id))]})},j=()=>{const e=S(),{data:c,isLoading:o}=v({types:["standard"]}),{data:m,isLoading:d}=v({types:["campaign"]});return o||d?g("div",{className:e.root,children:[g("div",{className:e.sidebar,children:[i(h,{variant:"caption",color:"textSecondary",children:"Group"}),i(b,{margin:"dense",searchParam:"owners"})]}),i("div",{className:e.content,children:i(r,{container:!0,spacing:2,children:[...Array(12)].map((f,s)=>i(r,{item:!0,className:e.gridItem,children:i(C,{variant:"rect",height:200})},s))})})]}):i(F,{tracksConnection:c,campaignsConnection:m})};export{j as TrackCardGrid};
|
|
2
|
-
//# sourceMappingURL=TrackCardGrid.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as r}from"react/jsx-runtime";import{Box as t}from"@material-ui/core";import{getTechInsightsStyles as m}from"./styles.esm.js";import{TrackCardGrid as c}from"./TrackCardGrid.esm.js";const e=()=>{const o=m();return r(t,{className:o.content,children:r(c,{})})};export{e as TrackCardGridBox};
|
|
2
|
-
//# sourceMappingURL=TrackCardGridBox.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as r}from"react/jsx-runtime";import{useRef as u}from"react";import{GroupNode as p}from"./GroupNode.esm.js";import{useHierarchyStyles as d}from"./Hierarchy.esm.js";function m({group:t,start:o,index:n,selected:i,onSelect:a,virtualizer:l}){const s=d(),e=u(null);return r("div",{ref:e,className:s.virtualRow,"data-index":n,"data-group-id":t.entityRef,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${o}px)`},children:r(p,{group:t,selected:i,onSelect:a,onExpandChange:()=>{e.current&&l.measureElement(e.current)}})})}export{m as VirtualRow};
|
|
2
|
-
//# sourceMappingURL=VirtualRow.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{useApi as a}from"@backstage/core-plugin-api";import{useQuery as n}from"@tanstack/react-query";import{soundcheckApiRef as c}from"../../api.esm.js";import{QueryKeys as u}from"../graphqlKeys.esm.js";const m=(t,i)=>{const o=a(c);return n([u.CertificationStatusHistories,t],async()=>{const e=new Map;return await Promise.all(t.map(async r=>{const s=await o.getCertificationStatusHistory(r);e.set(r,s)})),e},{enabled:i,staleTime:60*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1})};export{m as useCertificationStatusHistories};
|
|
2
|
-
//# sourceMappingURL=useCertificationStatusHistories.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{useApi as n}from"@backstage/core-plugin-api";import{useQuery as a}from"@tanstack/react-query";import{soundcheckApiRef as u}from"../../api.esm.js";import{QueryKeys as c}from"../graphqlKeys.esm.js";const p=e=>{const s=n(u);return a([c.CertificationStatuses,e],async()=>{const r=[];return!e.trackId||!e.groups||e.groups.length===0||e.trackId==="-"?[]:(await Promise.all(e.groups.map(t=>{const o=s.getCertificationStatus({trackId:e.trackId,filter:{"relations.ownedBy":t}});return o.then(i=>{r.push({...i,group:t})}),o})),r)},{staleTime:60*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1})};export{p as useCertificationStatuses};
|
|
2
|
-
//# sourceMappingURL=useCertificationStatuses.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{useApi as c}from"@backstage/core-plugin-api";import{useQuery as n}from"@tanstack/react-query";import{soundcheckApiRef as p}from"../../api.esm.js";import{QueryKeys as a}from"../graphqlKeys.esm.js";const h=e=>{const s=c(p);return n([a.CheckStatuses,e],async()=>{const t=[];return!e.groupIds||e.groupIds.length===0||await Promise.all(e.groupIds.map(r=>{const o=s.getCheckStatus({checkId:e.checkId,filter:{"relations.ownedBy":r}});return o.then(u=>{t.push({checkStatus:u,group:r})}),o})),t},{enabled:!0,staleTime:10*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1})};export{h as useCheckStatusByGroups};
|
|
2
|
-
//# sourceMappingURL=useCheckStatusByGroups.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{useApi as c}from"@backstage/core-plugin-api";import{useQuery as a}from"@tanstack/react-query";import{soundcheckApiRef as l}from"../../api.esm.js";import{QueryKeys as m}from"../graphqlKeys.esm.js";const f=(e,i=!0)=>{const o=c(l);return a([m.CheckStatusHistoriesMultiFilter,e],async()=>{const t=[],u=e.map(async r=>{const s=o.getCheckStatusHistory(r);return s.then(n=>{t.push({...n,filter:r.filter})}),s});return await Promise.all(u),t},{enabled:i,staleTime:60*60*1e3,refetchInterval:!1,refetchOnWindowFocus:!1})};export{f as useCheckStatusHistoriesMultiFilter};
|
|
2
|
-
//# sourceMappingURL=useCheckStatusHistoriesMultiFilter.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{useApi as r}from"@backstage/core-plugin-api";import{useQuery as t}from"@tanstack/react-query";import{soundcheckApiRef as c}from"../../api.esm.js";function n(e){const o=r(c);return t(["soundcheck/rootGroups"],async()=>o.getRootGroups(),{enabled:e,staleTime:1e3*60*60,cacheTime:1e3*60*60*4,refetchOnWindowFocus:!1,refetchOnMount:!1,refetchOnReconnect:!1})}export{n as useRootGroups};
|
|
2
|
-
//# sourceMappingURL=useRootGroups.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{useApi as i,identityApiRef as w}from"@backstage/core-plugin-api";import{useQueryClient as c,useMutation as l}from"@tanstack/react-query";import{soundcheckApiRef as m}from"../../api.esm.js";import{QueryKeys as f}from"../graphqlKeys.esm.js";const p=()=>{const r=c(),o=i(m),n=i(w),{mutate:s,isLoading:a,error:u}=l(async e=>{const d=await n.getBackstageIdentity(),t=await o.deleteView({loggedInUser:d.userEntityRef,id:e});if(!t)throw new Error(`Failed to delete view with name ${e}.`);return t},{onSuccess:()=>r.invalidateQueries([f.SavedViews])});return{deleteView:s,isDeletingView:a,deletionError:u}};export{p as useDeleteView};
|
|
2
|
-
//# sourceMappingURL=useDeleteView.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{useApi as i,identityApiRef as w}from"@backstage/core-plugin-api";import{useQueryClient as v,useMutation as y}from"@tanstack/react-query";import{soundcheckApiRef as f}from"../../api.esm.js";import{QueryKeys as g}from"../graphqlKeys.esm.js";const V=()=>{const r=v(),a=i(f),s=i(w),{mutate:o,isLoading:n,error:u}=y(async({data:m,name:e,description:c,type:d})=>{const p=await s.getBackstageIdentity(),t=await a.saveView({loggedInUser:p.userEntityRef,name:e,description:c,data:m,type:d});if(!t)throw new Error(`Failed to save view with name ${e}.`);return t},{onSuccess:()=>r.invalidateQueries([g.SavedViews])});return{saveView:o,isSavingView:n,saveError:u}};export{V as useSaveView};
|
|
2
|
-
//# sourceMappingURL=useSaveView.esm.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{useApi as e,identityApiRef as a}from"@backstage/core-plugin-api";import{useQuery as d}from"@tanstack/react-query";import{soundcheckApiRef as u}from"../../api.esm.js";import{QueryKeys as c}from"../graphqlKeys.esm.js";const m=t=>{const i=e(u),s=e(a),{data:o,isLoading:r}=d([c.SavedViews],async()=>{const n=await s.getBackstageIdentity();return i.getSavedViews({loggedInUser:n.userEntityRef,type:t})},{staleTime:10*60*1e3,refetchOnWindowFocus:!1});return{views:o,isLoading:r}};export{m as useSavedViews};
|
|
2
|
-
//# sourceMappingURL=useSavedViews.esm.js.map
|