@spotify/backstage-plugin-soundcheck 0.22.4 → 0.23.0
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 +47 -0
- package/dist/alpha/CampaignsRouterPage.esm.js +2 -0
- package/dist/alpha/ChecksRouterPage.esm.js +2 -0
- package/dist/alpha/IntegrationsRouterPage.esm.js +2 -0
- package/dist/alpha/OverviewPageWrapper.esm.js +2 -0
- package/dist/alpha/TracksRouterPage.esm.js +2 -0
- package/dist/alpha/plugin.esm.js +1 -1
- package/dist/alpha.d.ts +155 -59
- package/dist/blueprints/IntegrationPageBlueprint.esm.js +1 -1
- package/dist/components/Badge/Badge.esm.js +2 -0
- package/dist/components/Badges/LevelBadge.esm.js +1 -1
- package/dist/components/Badges/StatusBadge.esm.js +1 -1
- package/dist/components/CampaignCreatePage/CampaignCreatePage.esm.js +1 -1
- package/dist/components/CampaignForm/hooks/useCampaignForm.esm.js +1 -1
- package/dist/components/CampaignForm/utils/validation.esm.js +1 -1
- package/dist/components/CampaignPage/CampaignPageBUI.esm.js +1 -1
- package/dist/components/CampaignPage/CampaignStatusBarBUI.esm.js +1 -1
- package/dist/components/CampaignPage/CampaignTechInsightsExplorerPage.esm.js +1 -1
- package/dist/components/CampaignsPage/CampaignListPageBUI.esm.js +1 -1
- package/dist/components/CampaignsPage/CampaignsPage.esm.js +1 -1
- package/dist/components/CampaignsPage/EditCampaignView.esm.js +1 -1
- package/dist/components/Cards/CheckStatusCard/CheckStatusCard.esm.js +1 -1
- package/dist/components/CertificationAccordion/CertificationAccordion.esm.js +1 -1
- package/dist/components/CertificationSidebar/CertificationSidebar.esm.js +1 -1
- package/dist/components/CertificationSidebar/Check.esm.js +1 -1
- package/dist/components/CertificationSidebar/ExemptionJustificationDialog.esm.js +1 -1
- package/dist/components/CertificationsPage/CertificationTab.esm.js +1 -1
- package/dist/components/CertificationsPage/CertificationTabs.esm.js +1 -1
- package/dist/components/CertificationsPage/CertificationsPage.esm.js +1 -1
- package/dist/components/CertificationsPage/Playlist/PlaylistContext.esm.js +1 -1
- package/dist/components/CheckCreatePage/CheckCreatePage.esm.js +1 -1
- package/dist/components/CheckDetails/CheckDetails.esm.js +1 -1
- package/dist/components/CheckDetails/CheckPullRequest.esm.js +1 -1
- package/dist/components/CheckDetails/FixMeDialog.esm.js +1 -1
- package/dist/components/CheckForm/CheckForm.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/Conditions/RuleConditionInput.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/Conditions/useRuleOptions.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/RuleInputBox.esm.js +1 -1
- package/dist/components/CheckForm/Steps/CheckApplicabilityStep.esm.js +1 -1
- package/dist/components/CheckForm/Steps/CheckDetailsStep.esm.js +1 -1
- package/dist/components/CheckForm/Steps/CheckRulesStep.esm.js +1 -1
- package/dist/components/CheckForm/useCheckForm.esm.js +1 -1
- package/dist/components/CheckForm/utils/validation.esm.js +1 -1
- package/dist/components/CheckIcon/CheckIcon.esm.js +1 -1
- package/dist/components/CheckPage/CheckEditPage.esm.js +1 -1
- package/dist/components/CheckPage/CheckEditView.esm.js +1 -1
- package/dist/components/CheckPage/CheckEntitiesTable/CheckEntitiesTableBUI.esm.js +1 -1
- package/dist/components/CheckPage/CheckPageBUI.esm.js +1 -1
- package/dist/components/CheckPage/ExemptionsTableBUI.esm.js +1 -1
- package/dist/components/CheckPage/utils.esm.js +1 -1
- package/dist/components/CheckSelection/CheckSelection.esm.js +1 -1
- package/dist/components/CheckStatusBar/CheckStatusBarBUI.esm.js +1 -1
- package/dist/components/CheckTemplatesPage/CheckTemplatesPageBUI.esm.js +1 -1
- package/dist/components/ChecksPage/ChecksListPageBUI.esm.js +1 -1
- package/dist/components/ChecksTable/ChecksTable.esm.js +1 -1
- package/dist/components/ChecksTable/FixMeCell.esm.js +1 -1
- package/dist/components/ChecksTable/PullRequestsTable.esm.js +1 -1
- package/dist/components/ChecksTable/utils.esm.js +2 -0
- package/dist/components/CollectorPage/CollectorDetailsPageBUI.esm.js +1 -1
- package/dist/components/CollectorPage/CollectorPage.esm.js +1 -1
- package/dist/components/CollectorPage/CollectorStatus.esm.js +2 -0
- package/dist/components/CollectorPage/Configurators/AzureDevOps/AzureDevOpsConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/AzureDevOps/validation.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/BigQuery/BigQueryConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/BigQuery/validation.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Catalog/CatalogConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Common/CollectorOption.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Common/utils.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Configurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/DataDog/DataDogConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/DataRegistry/DataRegistryConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Github/GithubConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Github/validation.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Gitlab/GitlabConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/HTTP/HttpConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/HTTP/validation.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Jira/JiraConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Jira/validation.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Kubernetes/KubernetesConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Kubernetes/validation.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/NewRelic/NewRelicConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/PagerDuty/PagerDutyConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/PagerDuty/validation.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SCM/RegexFactDetailsComponent.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SCM/ScmConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SCM/utils.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SCM/validation.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SchemaBased/SchemaBasedConfigurator.esm.js +2 -0
- package/dist/components/CollectorPage/Configurators/SchemaBased/SchemaField.esm.js +2 -0
- package/dist/components/CollectorPage/Configurators/SchemaBased/utils.esm.js +2 -0
- package/dist/components/CollectorPage/Configurators/SonarQube/SonarQubeConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SonarQube/validation.esm.js +1 -1
- package/dist/components/CollectorPage/utils.esm.js +2 -0
- package/dist/components/CollectorsPage/CollectorsPage.esm.js +1 -1
- package/dist/components/CollectorsPage/IntegrationLogoBUI.esm.js +1 -1
- package/dist/components/CollectorsPage/IntegrationsListPageBUI.esm.js +1 -1
- package/dist/components/CreateNewTrackPage/CreateNewTrackPage.esm.js +1 -1
- package/dist/components/DescriptionCell/DescriptionCell.esm.js +1 -1
- package/dist/components/EntityChip/EntityChip.esm.js +1 -1
- package/dist/components/EntitySoundcheckCard/Card.esm.js +1 -1
- package/dist/components/FactExplorer/FactExplorer.esm.js +1 -1
- package/dist/components/FactExplorer/useFactOptions.esm.js +1 -1
- package/dist/components/Filter/FilterComponent.esm.js +1 -1
- package/dist/components/Filter/FilterPreviewDisplay.esm.js +2 -0
- package/dist/components/FilterSidebar/useTrackFilterSidebar.esm.js +1 -1
- package/dist/components/FilterSidebar/util.esm.js +1 -1
- package/dist/components/FixMeBetaBadge/FixMeBetaBadge.esm.js +2 -0
- package/dist/components/FixMeButton/FixMeButton.esm.js +1 -1
- package/dist/components/FormControlledAutocomplete/ControlledAutocomplete.esm.js +1 -1
- package/dist/components/FormattedPreview/FormattedPreview.esm.js +3 -3
- package/dist/components/GroupSelectorBUI/GroupSelectList.esm.js +1 -1
- package/dist/components/GroupSelectorBUI/GroupSelectionHistory.esm.js +1 -1
- package/dist/components/GroupSelectorBUI/GroupSelectorBUI.esm.js +1 -1
- package/dist/components/GroupSelectorBUI/GroupTagsDisplay.esm.js +2 -0
- package/dist/components/GroupSelectorBUI/ListViewMode.esm.js +2 -0
- package/dist/components/LevelUpParty/LevelUpParty.esm.js +1 -1
- package/dist/components/ListPageCustomActions/ListPageCustomActions.esm.js +1 -1
- package/dist/components/Menus/useCampaignActions.esm.js +1 -1
- package/dist/components/Menus/useCheckActions.esm.js +1 -1
- package/dist/components/Menus/useTrackActions.esm.js +1 -1
- package/dist/components/OverviewTable/ResultsTable.esm.js +1 -1
- package/dist/components/RefetchingIndicator/RefetchingIndicator.esm.js +1 -1
- package/dist/components/Router.esm.js +1 -1
- package/dist/components/RoutingPage/RoutingPageBUI.esm.js +1 -1
- package/dist/components/RoutingPage/RoutingPageWrapperBUI.esm.js +1 -1
- package/dist/components/SendCampaignNotificationDialog/SendCampaignNotificationDialogBUI.esm.js +1 -1
- package/dist/components/StatusBar/StatusBar.esm.js +1 -1
- package/dist/components/Stepper/Stepper.esm.js +1 -1
- package/dist/components/TableRowWithOwner/TableRowWithOwner.esm.js +1 -1
- package/dist/components/TechInsights/TechInsightsPageBUI.esm.js +1 -1
- package/dist/components/TechInsights/TechInsightsTableBUI.esm.js +1 -1
- package/dist/components/TechInsights/hierarchyToNivo.esm.js +2 -0
- package/dist/components/TechInsightsExplorerTable/TechInsightsExplorerTable.esm.js +1 -1
- package/dist/components/TechInsightsGroupSelector/TechInsightsGroupSelector.esm.js +1 -1
- package/dist/components/TimePeriodBar/TimePeriodBarBUI.esm.js +1 -1
- package/dist/components/TopAndBottomPerformingTeams/TopAndBottomPerformingTeams.esm.js +1 -1
- package/dist/components/TopFailingChecksTable/TopFailingChecksTableBUI.esm.js +1 -1
- package/dist/components/TrackBuilderPage/components/SelectProviderStep/SelectProviderStep.esm.js +1 -1
- package/dist/components/TrackCreatePage/TrackCreatePage.esm.js +1 -1
- package/dist/components/TrackEditPage/TrackEditPage.esm.js +1 -1
- package/dist/components/TrackEditPage/TrackEditView.esm.js +1 -1
- package/dist/components/TrackForm/utils/useTrackForm.esm.js +1 -1
- package/dist/components/TrackForm/utils/validation.esm.js +1 -1
- package/dist/components/TrackPage/TrackEntitiesTable/TrackEntitiesTableBUI.esm.js +1 -1
- package/dist/components/TrackPage/TrackPageBUI.esm.js +1 -1
- package/dist/components/TrackPage/TrackStatusBarBUI.esm.js +1 -1
- package/dist/components/TrackPage/TrackStatusTableBUI.esm.js +1 -1
- package/dist/components/TrackPage/TrackTechInsightsExplorerPage.esm.js +1 -1
- package/dist/components/TracksPage/TracksListPageBUI.esm.js +1 -1
- package/dist/contexts/UserProvider.esm.js +1 -1
- package/dist/graphql/generated/index.esm.js +22 -13
- package/dist/hooks/catalog/useEntityPresentation.esm.js +2 -0
- package/dist/hooks/catalog/useEntityPrimaryTitle.esm.js +2 -0
- package/dist/hooks/catalog/useGetEntityRefs.esm.js +1 -1
- package/dist/hooks/checks/useChecks.esm.js +2 -0
- package/dist/hooks/checks/useDeleteCheck.esm.js +1 -1
- package/dist/hooks/collectors/useGetCollectors.esm.js +1 -1
- package/dist/hooks/filters/useFilters.esm.js +1 -1
- package/dist/hooks/filters/useListPageFilters.esm.js +2 -0
- package/dist/hooks/fixMe/useFixMe.esm.js +1 -1
- package/dist/hooks/fixWithAika/useFixWithAika.esm.js +1 -1
- package/dist/hooks/groups/useGroupOptions.esm.js +1 -1
- package/dist/hooks/useChipScopedUrlState.esm.js +2 -0
- package/dist/hooks/usePagination.esm.js +1 -1
- package/dist/index.d.ts +130 -4
- package/dist/index.esm.js +1 -1
- package/dist/plugins/soundcheck/package.json.esm.js +2 -0
- package/dist/utils/charts.esm.js +1 -1
- package/dist/utils/facetFilters/utils.esm.js +1 -1
- package/dist/utils/filters.esm.js +1 -1
- package/dist/utils/validation.esm.js +1 -1
- package/package.json +24 -22
- package/dist/alpha/pages.esm.js +0 -2
- package/dist/components/CategoryBar/CategoryBar.esm.js +0 -2
- package/dist/components/CheckStatusBar/CheckStatusBar.esm.js +0 -2
- package/dist/components/CheckTemplatesPage/CheckTemplatesPageDeprecated.esm.js +0 -2
- package/dist/components/CheckTemplatesPage/TemplateCategory.esm.js +0 -2
- package/dist/components/CollectorPage/CollectorDetailsPageDeprecated.esm.js +0 -2
- package/dist/components/CollectorPage/CollectorFactTable.esm.js +0 -2
- package/dist/components/CollectorsPage/CollectorListPage/CollectorListPageDeprecated.esm.js +0 -2
- package/dist/components/CollectorsPage/CollectorListPage/CollectorLogo.esm.js +0 -2
- package/dist/components/CollectorsPage/CollectorListPage/CollectorSummaryCard.esm.js +0 -2
- package/dist/components/HierarchicalTechInsightsPage/getLeafNodes.esm.js +0 -2
- package/dist/components/HierarchicalTechInsightsPage/visualizations/LoadingOverlay.esm.js +0 -2
- package/dist/components/HierarchicalTechInsightsPage/visualizations/NivoCirclePacking.esm.js +0 -2
- package/dist/components/HierarchicalTechInsightsPage/visualizations/NivoHeatmap.esm.js +0 -2
- package/dist/components/HierarchicalTechInsightsPage/visualizations/NivoIcicle.esm.js +0 -2
- package/dist/components/HierarchicalTechInsightsPage/visualizations/NivoSunburst.esm.js +0 -2
- package/dist/components/HierarchicalTechInsightsPage/visualizations/NivoTreemap.esm.js +0 -2
- package/dist/components/HierarchicalTechInsightsPage/visualizations/VisualizationBreadcrumb.esm.js +0 -2
- package/dist/components/HierarchicalTechInsightsPage/visualizations/hierarchyToNivo.esm.js +0 -2
- package/dist/components/ImportExportPanel/ImportExportPanelDeprecated.esm.js +0 -2
- package/dist/components/SummaryCard/SummaryCard.esm.js +0 -2
- package/dist/components/SummaryCard/SummaryCardActionsMenu.esm.js +0 -2
- package/dist/images/GitHub_Logo.svg +0 -9
- package/dist/images/GitHub_Logo_White.svg +0 -9
- package/dist/images/SCM_DARK.svg +0 -10
- package/dist/images/SCM_LIGHT.svg +0 -10
- package/dist/images/azure-devops-rgb.svg +0 -13
- package/dist/images/azure-devops-white.svg +0 -13
- package/dist/images/bigquery-rgb.svg +0 -15
- package/dist/images/bigquery-white.svg +0 -15
- package/dist/images/cat-blk.svg +0 -12
- package/dist/images/cat-wht.svg +0 -12
- package/dist/images/data-registry-blk.svg +0 -36
- package/dist/images/data-registry-wht.svg +0 -36
- package/dist/images/dd_logo_h_rgb.svg +0 -17
- package/dist/images/dd_logo_h_white.svg +0 -17
- package/dist/images/gitlab-rgb.svg +0 -1
- package/dist/images/gitlab-white.svg +0 -1
- package/dist/images/http-rgb.svg +0 -11
- package/dist/images/http-white.svg +0 -11
- package/dist/images/jira-rgb.svg +0 -25
- package/dist/images/jira-white.svg +0 -25
- package/dist/images/k8s_blue.svg +0 -108
- package/dist/images/k8s_white.svg +0 -108
- package/dist/images/new-relic-rgb.svg +0 -1
- package/dist/images/new-relic-white.svg +0 -1
- package/dist/images/pd-black.svg +0 -9
- package/dist/images/pd-white.svg +0 -9
- package/dist/images/sonarqube-rgb.svg +0 -14
- package/dist/images/sonarqube-white.svg +0 -14
- package/dist/images/soundcheck-black.svg +0 -13
- package/dist/images/soundcheck-white.svg +0 -13
- package/dist/images/tech-black.svg +0 -11
- package/dist/images/tech-white.svg +0 -11
- /package/dist/components/CampaignsPage/{CampaignListPage/useArchiveConfirmationModal.esm.js → useArchiveConfirmationModal.esm.js} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,52 @@
|
|
|
1
1
|
# @spotify/backstage-plugin-soundcheck
|
|
2
2
|
|
|
3
|
+
## 0.23.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- Added job queue status to intergrations. Minor version bump due to new graphql field for collectors.
|
|
8
|
+
- Initial Soundcheck MCP work - not yet publicly released
|
|
9
|
+
- Added support for configuring custom fact collectors via the UI for Portal customers.
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Updated dependency `backstage` to `1.49.0`.
|
|
14
|
+
- Fixed notifications being sent for draft campaigns in Soundcheck.
|
|
15
|
+
- Fixed owner field showing entity ID instead of display name on Track page.
|
|
16
|
+
- Added Liquid template variable support for campaign reminder notifications. Custom notification titles and descriptions now support Liquid template variables (e.g., `{{ campaign.name }}`, `{{ ownerEntityRef }}`) and markdown-style hyperlinks.
|
|
17
|
+
- Fix PagerDuty schedule display in Soundcheck integrations
|
|
18
|
+
- Fixed bug where check and track filters were not applying to the entity table by default
|
|
19
|
+
- Fix custom badge colors from track YAML not being applied in the frontend.
|
|
20
|
+
- Added owner and status filters to Track, Campaign, and Check List pages.
|
|
21
|
+
- Added 'Beta' label for new Fleetshift features.
|
|
22
|
+
- Add matchAll option to the SCM regex fact collector. When enabled, the extractor finds all occurrences of a pattern in a file and returns { matchCount: number, matches: string[] } instead of { matches: boolean }. The NCUI gains a new "Match All Mode" radio option, mutually exclusive with Capture Groups mode.
|
|
23
|
+
- Fixed Soundcheck Historical Status chart's custom number of days filter.
|
|
24
|
+
- Added UI support for the SCM `cacheFullResultsForEtags` setting so it can be configured from the integrations page without editing YAML. Also improved UI-config detection so SCM configurations that only set this global option are correctly treated as UI-managed.
|
|
25
|
+
- Hide documentation info icon for custom fact collectors that do not have a corresponding documentation page.
|
|
26
|
+
- Added copy to clipboard button to fact explorer, check dry run, and yaml preview.
|
|
27
|
+
- Added "Not Applicable" count to Current Status on the Soundcheck Checks page.
|
|
28
|
+
- Fixed column display condition for 'Fix With Fleetshift' in Checks Table.
|
|
29
|
+
- Fixed dropdown behavior in Check selection to ensure selected checks remain visible.
|
|
30
|
+
- Fix issue where incorrect titles appeared on page load in Soundcheck by dynamically loading names from the catalog entity fetch.
|
|
31
|
+
- Soundcheck will now detect and inform the user on the check page if the check is defined in both yaml and NCUI, as well as providing a remediation.
|
|
32
|
+
- Improve soundcheck's group selector
|
|
33
|
+
- Changed default table page size to 20 results per page.
|
|
34
|
+
- Added Filter by Entity Kind to Soundcheck's Track and Check Insights pages.
|
|
35
|
+
- Updated package to be compatible with zod versions 3 and 4.
|
|
36
|
+
- Updated dependencies
|
|
37
|
+
- Updated dependencies
|
|
38
|
+
- Updated dependencies
|
|
39
|
+
- Updated dependencies
|
|
40
|
+
- @spotify/backstage-plugin-core@0.8.16
|
|
41
|
+
- @spotify/backstage-plugin-soundcheck-common@0.22.0
|
|
42
|
+
|
|
43
|
+
## 0.22.5
|
|
44
|
+
|
|
45
|
+
### Patch Changes
|
|
46
|
+
|
|
47
|
+
- Updated Soundcheck AI FM integration to support additional information sent from Fleetshift (PR status, PR branch and shift name).
|
|
48
|
+
- Fixed column display condition for 'Fix With Fleetshift' in Checks Table.
|
|
49
|
+
|
|
3
50
|
## 0.22.4
|
|
4
51
|
|
|
5
52
|
### Patch Changes
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as e,jsxs as p}from"react/jsx-runtime";import{useApi as s,featureFlagsApiRef as g,useRouteRef as c}from"@backstage/core-plugin-api";import{usePermission as l}from"@backstage/plugin-permission-react";import{soundcheckCampaignCreatePermission as d}from"@spotify/backstage-plugin-soundcheck-common";import{Routes as f,Route as a,useParams as u,Navigate as h}from"react-router-dom";import{CampaignActionsProvider as C}from"../components/CampaignPage/CampaignActionsContext.esm.js";import{CampaignPageBUI as I}from"../components/CampaignPage/CampaignPageBUI.esm.js";import{CampaignTechInsightsExplorerPage as P}from"../components/CampaignPage/CampaignTechInsightsExplorerPage.esm.js";import{CampaignListPageBUI as R}from"../components/CampaignsPage/CampaignListPageBUI.esm.js";import"../components/CampaignsPage/useArchiveConfirmationModal.esm.js";import{CampaignCreatePage as v}from"../components/CampaignCreatePage/CampaignCreatePage.esm.js";import{EditCampaignView as x}from"../components/CampaignsPage/EditCampaignView.esm.js";import{campaignOverviewRouteRef as A}from"../routes.esm.js";const w=()=>{const{campaignId:i}=u(),m=c(A);return i?e(h,{to:m({campaignId:i}),replace:!0}):null},k=()=>{const i=s(g),m=!i.getRegisteredFlags().find(n=>n.name==="soundcheck-enable-campaigns")||i.isActive("soundcheck-enable-campaigns"),{loading:r,allowed:t}=l({permission:d}),o=!r&&t;return m?e(C,{actions:[],children:p(f,{children:[e(a,{index:!0,element:e(R,{})}),e(a,{path:":campaignId/edit",element:e(x,{})}),e(a,{path:":campaignId",element:e(w,{})}),e(a,{path:":campaignId/overview",element:e(I,{})}),e(a,{path:":campaignId/explorer",element:e(P,{})}),o&&e(a,{path:"create",element:e(v,{})})]})}):null};export{k as CampaignsRouterPage};
|
|
2
|
+
//# sourceMappingURL=CampaignsRouterPage.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsxs as r,jsx as e,Fragment as s}from"react/jsx-runtime";import{useApi as h,featureFlagsApiRef as p}from"@backstage/core-plugin-api";import{usePermission as l}from"@backstage/plugin-permission-react";import{soundcheckCheckCreatePermission as d}from"@spotify/backstage-plugin-soundcheck-common";import{Routes as k,Route as t}from"react-router-dom";import{CheckCreatePage as f}from"../components/CheckCreatePage/CheckCreatePage.esm.js";import{CheckEditPage as g}from"../components/CheckPage/CheckEditPage.esm.js";import{CheckPageBUI as u}from"../components/CheckPage/CheckPageBUI.esm.js";import{ChecksTab as C}from"../components/ChecksTab/ChecksTab.esm.js";import{CheckTemplatesPageBUI as P}from"../components/CheckTemplatesPage/CheckTemplatesPageBUI.esm.js";const R=()=>{const o=h(p),m=o.getRegisteredFlags(),{loading:i,allowed:c}=l({permission:d}),a=!m.find(n=>n.name==="soundcheck-enable-check-creation")||o.isActive("soundcheck-enable-check-creation");return r(k,{children:[e(t,{index:!0,element:e(C,{})}),e(t,{path:":checkId",element:e(u,{})}),e(t,{path:":checkId/edit",element:e(g,{})}),!i&&c&&a&&r(s,{children:[e(t,{path:"create",element:e(f,{})}),e(t,{path:"templates",element:e(P,{})})]})]})};export{R as ChecksRouterPage};
|
|
2
|
+
//# sourceMappingURL=ChecksRouterPage.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsxs as r,jsx as t}from"react/jsx-runtime";import{Routes as i,Route as e}from"react-router-dom";import{CollectorPage as n}from"../components/CollectorPage/CollectorPage.esm.js";import{CollectorDetailsPageBUI as a}from"../components/CollectorPage/CollectorDetailsPageBUI.esm.js";import{CollectorsPage as m}from"../components/CollectorsPage/CollectorsPage.esm.js";const l=({integrations:o})=>r(i,{children:[t(e,{index:!0,element:t(m,{integrations:o})}),t(e,{path:":integrationId",element:t(a,{integrations:o})}),t(e,{path:":integrationId/edit",element:t(n,{})})]});export{l as IntegrationsRouterPage};
|
|
2
|
+
//# sourceMappingURL=IntegrationsRouterPage.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{Box as e}from"@backstage/ui";import{OverviewPageContent as o}from"../components/OverviewPage/OverviewPageContent.esm.js";const i=()=>r(e,{style:{padding:"0 var(--bui-space-3)"},children:r(o,{})});export{i as OverviewPageWrapper};
|
|
2
|
+
//# sourceMappingURL=OverviewPageWrapper.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsx as e,jsxs as d,Fragment as f}from"react/jsx-runtime";import{useApi as h,featureFlagsApiRef as g,useRouteRef as n}from"@backstage/core-plugin-api";import{usePermission as R}from"@backstage/plugin-permission-react";import{soundcheckTrackCreatePermission as b}from"@spotify/backstage-plugin-soundcheck-common";import{Routes as T,Route as r,Outlet as P,useParams as I,useLocation as v,Navigate as u}from"react-router-dom";import{CheckPageBUI as w}from"../components/CheckPage/CheckPageBUI.esm.js";import{CreateNewTrackPage as B}from"../components/CreateNewTrackPage/CreateNewTrackPage.esm.js";import{TrackBuilderPage as C}from"../components/TrackBuilderPage/TrackBuilderPage.esm.js";import{TrackCreatePage as x}from"../components/TrackCreatePage/TrackCreatePage.esm.js";import{TrackEditPage as N}from"../components/TrackEditPage/TrackEditPage.esm.js";import{TrackPageBUI as O}from"../components/TrackPage/TrackPageBUI.esm.js";import{TrackTechInsightsExplorerPage as A}from"../components/TrackPage/TrackTechInsightsExplorerPage.esm.js";import{TracksTab as F}from"../components/TracksTab/TracksTab.esm.js";import{trackOverviewRouteRef as j,tracksPageRouteRef as y,trackCreateRouteRef as E,newTrackRouteRef as U,trackBuilderRouteRef as W}from"../routes.esm.js";const L=()=>{const t=n(j),a=n(y),o=n(E),i=n(U),c=n(W);return{buildOverview:t,buildTracks:a,buildCreate:o,buildNew:i,buildBuilder:c}},m=t=>{try{return t?.()??null}catch{return null}},S=()=>{const{trackId:t}=I(),a=v(),{buildOverview:o,buildTracks:i,buildCreate:c,buildNew:l,buildBuilder:k}=L();if(!t)return null;const s=[m(c),m(l),m(k)].filter(Boolean).find(p=>a.pathname.endsWith(p));if(s)return e(u,{to:s,replace:!0});try{return e(u,{to:o({trackId:t}),replace:!0})}catch{return e(u,{to:i?.()??"/soundcheck/tracks",replace:!0})}},q=()=>{const t=h(g),a=t.getRegisteredFlags(),{loading:o,allowed:i}=R({permission:b}),c=!a.find(l=>l.name==="soundcheck-enable-track-creation")||t.isActive("soundcheck-enable-track-creation");return e(T,{children:d(r,{element:e(P,{}),children:[e(r,{index:!0,element:e(F,{})}),e(r,{path:"builder",element:e(C,{})}),!o&&i&&c&&d(f,{children:[e(r,{path:"create",element:e(x,{})}),e(r,{path:"new",element:e(B,{})})]}),e(r,{path:":trackId/edit",element:e(N,{})}),e(r,{path:":trackId",element:e(S,{})}),e(r,{path:":trackId/overview",element:e(O,{})}),e(r,{path:":trackId/explorer",element:e(A,{})}),e(r,{path:":trackId/checks/:checkId",element:e(w,{})})]})})};export{q as TracksRouterPage};
|
|
2
|
+
//# sourceMappingURL=TracksRouterPage.esm.js.map
|
package/dist/alpha/plugin.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{createFrontendPlugin as
|
|
1
|
+
import{jsx as i}from"react/jsx-runtime";import{PageBlueprint as c,SubPageBlueprint as e,createFrontendPlugin as p}from"@backstage/frontend-plugin-api";import{RiCheckDoubleLine as m}from"@remixicon/react";import s from"react";import{rootRouteRef as g}from"../routes.esm.js";import{soundcheckApi as h}from"./apis.esm.js";import{entitySoundcheckContent as u,entitySoundcheckCard as d,groupSoundcheckContent as l}from"./entity-content.esm.js";import{azureIntegration as k,bigqueryIntegration as I,catalogIntegration as f,datadogIntegration as w,dataRegistryIntegration as v,githubIntegration as R,gitlabIntegration as C,httpIntegration as P,jiraIntegration as b,kubernetesIntegration as y,newrelicIntegration as S,pagerdutyIntegration as x,scmIntegration as T,sonarqubeIntegration as j}from"./integrations.esm.js";import{soundcheckSidebarItem as B}from"./sidebar-item.esm.js";const $=async(a,n)=>{const r=await import("../components/RoutingPage/RoutingPageWrapperBUI.esm.js");return i(r.RoutingPageWrapperBUI,{title:a,hideHeader:!0,children:n})},t=(a,n,r,F)=>async()=>{const o=(await n())[r];if(!o)throw new Error(`Soundcheck page loader could not find export "${r}" for "${a}"`);if(typeof o!="function"&&!(typeof o=="object"&&o!==null))throw new Error(`Soundcheck page loader export "${r}" for "${a}" is not a React component`);return $(a,s.createElement(o,{}))},q=c.make({params:{path:"/soundcheck",routeRef:g,title:"Soundcheck"}}),E=e.make({name:"overview",params:{path:"overview",title:"Overview",loader:t("Overview",()=>import("./OverviewPageWrapper.esm.js"),"OverviewPageWrapper")}}),O=e.make({name:"tech-insights",params:{path:"tech-insights",title:"Tech Insights",loader:t("Tech Insights",()=>import("../components/TechInsights/TechInsightsPageBUI.esm.js"),"TechInsightsPageBUI")}}),U=e.make({name:"tracks",params:{path:"tracks",title:"Tracks",loader:t("Tracks",()=>import("./TracksRouterPage.esm.js"),"TracksRouterPage")}}),W=e.make({name:"checks",params:{path:"checks",title:"Checks",loader:t("Checks",()=>import("./ChecksRouterPage.esm.js"),"ChecksRouterPage")}}),z=e.make({name:"campaigns",params:{path:"campaigns",title:"Campaigns",loader:t("Campaigns",()=>import("./CampaignsRouterPage.esm.js"),"CampaignsRouterPage")}}),A=e.make({name:"integrations",params:{path:"integrations",title:"Integrations",loader:t("Integrations",()=>import("./IntegrationsRouterPage.esm.js"),"IntegrationsRouterPage")}});var D=p({pluginId:"soundcheck",title:"Soundcheck",icon:i(m,{}),info:{packageJson:()=>import("../plugins/soundcheck/package.json.esm.js")},extensions:[q,O,W,U,z,A,E,h,u,d,l,B,k,I,f,w,v,R,C,P,b,y,S,x,T,j]});export{D as default};
|
|
2
2
|
//# sourceMappingURL=plugin.esm.js.map
|
package/dist/alpha.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as _backstage_frontend_plugin_api from '@backstage/frontend-plugin-api';
|
|
2
|
-
import
|
|
2
|
+
import React__default from 'react';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* @public
|
|
6
|
-
|
|
7
|
-
* The Soundcheck plugin for use within Backstage
|
|
6
|
+
*
|
|
7
|
+
* The Soundcheck plugin for use within Backstage's new frontend system
|
|
8
8
|
*/
|
|
9
9
|
declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin<{}, {}, {
|
|
10
10
|
"integration:soundcheck/azure": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
|
|
@@ -12,7 +12,7 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
|
|
|
12
12
|
name: "azure";
|
|
13
13
|
config: {};
|
|
14
14
|
configInput: {};
|
|
15
|
-
output: _backstage_frontend_plugin_api.ExtensionDataRef<
|
|
15
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
16
16
|
optional: true;
|
|
17
17
|
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "soundcheck.integrationId", {}>;
|
|
18
18
|
inputs: {};
|
|
@@ -28,7 +28,7 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
|
|
|
28
28
|
name: "bigquery";
|
|
29
29
|
config: {};
|
|
30
30
|
configInput: {};
|
|
31
|
-
output: _backstage_frontend_plugin_api.ExtensionDataRef<
|
|
31
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
32
32
|
optional: true;
|
|
33
33
|
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "soundcheck.integrationId", {}>;
|
|
34
34
|
inputs: {};
|
|
@@ -44,7 +44,7 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
|
|
|
44
44
|
name: "catalog";
|
|
45
45
|
config: {};
|
|
46
46
|
configInput: {};
|
|
47
|
-
output: _backstage_frontend_plugin_api.ExtensionDataRef<
|
|
47
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
48
48
|
optional: true;
|
|
49
49
|
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "soundcheck.integrationId", {}>;
|
|
50
50
|
inputs: {};
|
|
@@ -60,7 +60,7 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
|
|
|
60
60
|
name: "datadog";
|
|
61
61
|
config: {};
|
|
62
62
|
configInput: {};
|
|
63
|
-
output: _backstage_frontend_plugin_api.ExtensionDataRef<
|
|
63
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
64
64
|
optional: true;
|
|
65
65
|
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "soundcheck.integrationId", {}>;
|
|
66
66
|
inputs: {};
|
|
@@ -76,7 +76,7 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
|
|
|
76
76
|
name: "data-registry";
|
|
77
77
|
config: {};
|
|
78
78
|
configInput: {};
|
|
79
|
-
output: _backstage_frontend_plugin_api.ExtensionDataRef<
|
|
79
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
80
80
|
optional: true;
|
|
81
81
|
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "soundcheck.integrationId", {}>;
|
|
82
82
|
inputs: {};
|
|
@@ -92,7 +92,7 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
|
|
|
92
92
|
name: "github";
|
|
93
93
|
config: {};
|
|
94
94
|
configInput: {};
|
|
95
|
-
output: _backstage_frontend_plugin_api.ExtensionDataRef<
|
|
95
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
96
96
|
optional: true;
|
|
97
97
|
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "soundcheck.integrationId", {}>;
|
|
98
98
|
inputs: {};
|
|
@@ -108,7 +108,7 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
|
|
|
108
108
|
name: "gitlab";
|
|
109
109
|
config: {};
|
|
110
110
|
configInput: {};
|
|
111
|
-
output: _backstage_frontend_plugin_api.ExtensionDataRef<
|
|
111
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
112
112
|
optional: true;
|
|
113
113
|
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "soundcheck.integrationId", {}>;
|
|
114
114
|
inputs: {};
|
|
@@ -124,7 +124,7 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
|
|
|
124
124
|
name: "http";
|
|
125
125
|
config: {};
|
|
126
126
|
configInput: {};
|
|
127
|
-
output: _backstage_frontend_plugin_api.ExtensionDataRef<
|
|
127
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
128
128
|
optional: true;
|
|
129
129
|
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "soundcheck.integrationId", {}>;
|
|
130
130
|
inputs: {};
|
|
@@ -140,7 +140,7 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
|
|
|
140
140
|
name: "jira";
|
|
141
141
|
config: {};
|
|
142
142
|
configInput: {};
|
|
143
|
-
output: _backstage_frontend_plugin_api.ExtensionDataRef<
|
|
143
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
144
144
|
optional: true;
|
|
145
145
|
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "soundcheck.integrationId", {}>;
|
|
146
146
|
inputs: {};
|
|
@@ -156,7 +156,7 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
|
|
|
156
156
|
name: "kubernetes";
|
|
157
157
|
config: {};
|
|
158
158
|
configInput: {};
|
|
159
|
-
output: _backstage_frontend_plugin_api.ExtensionDataRef<
|
|
159
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
160
160
|
optional: true;
|
|
161
161
|
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "soundcheck.integrationId", {}>;
|
|
162
162
|
inputs: {};
|
|
@@ -172,7 +172,7 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
|
|
|
172
172
|
name: "newrelic";
|
|
173
173
|
config: {};
|
|
174
174
|
configInput: {};
|
|
175
|
-
output: _backstage_frontend_plugin_api.ExtensionDataRef<
|
|
175
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
176
176
|
optional: true;
|
|
177
177
|
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "soundcheck.integrationId", {}>;
|
|
178
178
|
inputs: {};
|
|
@@ -188,7 +188,7 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
|
|
|
188
188
|
name: "pagerduty";
|
|
189
189
|
config: {};
|
|
190
190
|
configInput: {};
|
|
191
|
-
output: _backstage_frontend_plugin_api.ExtensionDataRef<
|
|
191
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
192
192
|
optional: true;
|
|
193
193
|
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "soundcheck.integrationId", {}>;
|
|
194
194
|
inputs: {};
|
|
@@ -204,7 +204,7 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
|
|
|
204
204
|
name: "scm";
|
|
205
205
|
config: {};
|
|
206
206
|
configInput: {};
|
|
207
|
-
output: _backstage_frontend_plugin_api.ExtensionDataRef<
|
|
207
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
208
208
|
optional: true;
|
|
209
209
|
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "soundcheck.integrationId", {}>;
|
|
210
210
|
inputs: {};
|
|
@@ -220,7 +220,7 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
|
|
|
220
220
|
name: "sonarqube";
|
|
221
221
|
config: {};
|
|
222
222
|
configInput: {};
|
|
223
|
-
output: _backstage_frontend_plugin_api.ExtensionDataRef<
|
|
223
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
224
224
|
optional: true;
|
|
225
225
|
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "soundcheck.integrationId", {}>;
|
|
226
226
|
inputs: {};
|
|
@@ -248,16 +248,18 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
|
|
|
248
248
|
routeRef: _backstage_frontend_plugin_api.RouteRef<undefined>;
|
|
249
249
|
};
|
|
250
250
|
}>;
|
|
251
|
-
"page:soundcheck
|
|
251
|
+
"page:soundcheck": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
|
|
252
|
+
kind: "page";
|
|
253
|
+
name: undefined;
|
|
252
254
|
config: {
|
|
253
255
|
path: string | undefined;
|
|
254
256
|
title: string | undefined;
|
|
255
257
|
};
|
|
256
258
|
configInput: {
|
|
257
|
-
title?: string | undefined
|
|
258
|
-
path?: string | undefined
|
|
259
|
+
title?: string | undefined;
|
|
260
|
+
path?: string | undefined;
|
|
259
261
|
};
|
|
260
|
-
output: _backstage_frontend_plugin_api.ExtensionDataRef<
|
|
262
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
261
263
|
optional: true;
|
|
262
264
|
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.title", {
|
|
263
265
|
optional: true;
|
|
@@ -265,7 +267,7 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
|
|
|
265
267
|
optional: true;
|
|
266
268
|
}>;
|
|
267
269
|
inputs: {
|
|
268
|
-
pages: _backstage_frontend_plugin_api.ExtensionInput<_backstage_frontend_plugin_api.ConfigurableExtensionDataRef<
|
|
270
|
+
pages: _backstage_frontend_plugin_api.ExtensionInput<_backstage_frontend_plugin_api.ConfigurableExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
269
271
|
optional: true;
|
|
270
272
|
}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "core.title", {
|
|
271
273
|
optional: true;
|
|
@@ -276,33 +278,93 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
|
|
|
276
278
|
optional: false;
|
|
277
279
|
internal: false;
|
|
278
280
|
}>;
|
|
279
|
-
integrations: _backstage_frontend_plugin_api.ExtensionInput<_backstage_frontend_plugin_api.ConfigurableExtensionDataRef<react.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "soundcheck.integrationId", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
280
|
-
optional: true;
|
|
281
|
-
}>, {
|
|
282
|
-
singleton: false;
|
|
283
|
-
optional: false;
|
|
284
|
-
internal: false;
|
|
285
|
-
}>;
|
|
286
|
-
campaignActions: _backstage_frontend_plugin_api.ExtensionInput<_backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "soundcheck.campaignAction.label", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<string, "soundcheck.campaignAction.id", {}> | _backstage_frontend_plugin_api.ConfigurableExtensionDataRef<(campaignId: string) => string, "soundcheck.campaignAction.href", {}>, {
|
|
287
|
-
singleton: false;
|
|
288
|
-
optional: false;
|
|
289
|
-
internal: false;
|
|
290
|
-
}>;
|
|
291
281
|
};
|
|
292
|
-
kind: "page";
|
|
293
|
-
name: "SoundcheckRoutingPage";
|
|
294
282
|
params: {
|
|
295
|
-
defaultPath?: [Error: `Use the 'path' param instead`];
|
|
296
283
|
path: string;
|
|
297
284
|
title?: string;
|
|
298
285
|
icon?: _backstage_frontend_plugin_api.IconElement;
|
|
299
|
-
loader?: () => Promise<
|
|
286
|
+
loader?: () => Promise<React__default.JSX.Element>;
|
|
300
287
|
routeRef?: _backstage_frontend_plugin_api.RouteRef;
|
|
301
288
|
noHeader?: boolean;
|
|
302
289
|
};
|
|
303
290
|
}>;
|
|
304
|
-
"page:soundcheck/
|
|
305
|
-
kind: "page";
|
|
291
|
+
"sub-page:soundcheck/campaigns": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
|
|
292
|
+
kind: "sub-page";
|
|
293
|
+
name: "campaigns";
|
|
294
|
+
config: {
|
|
295
|
+
path: string | undefined;
|
|
296
|
+
title: string | undefined;
|
|
297
|
+
};
|
|
298
|
+
configInput: {
|
|
299
|
+
title?: string | undefined;
|
|
300
|
+
path?: string | undefined;
|
|
301
|
+
};
|
|
302
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
303
|
+
optional: true;
|
|
304
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.title", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.IconElement, "core.icon", {
|
|
305
|
+
optional: true;
|
|
306
|
+
}>;
|
|
307
|
+
inputs: {};
|
|
308
|
+
params: {
|
|
309
|
+
path: string;
|
|
310
|
+
title: string;
|
|
311
|
+
icon?: _backstage_frontend_plugin_api.IconElement;
|
|
312
|
+
loader: () => Promise<JSX.Element>;
|
|
313
|
+
routeRef?: _backstage_frontend_plugin_api.RouteRef;
|
|
314
|
+
};
|
|
315
|
+
}>;
|
|
316
|
+
"sub-page:soundcheck/checks": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
|
|
317
|
+
kind: "sub-page";
|
|
318
|
+
name: "checks";
|
|
319
|
+
config: {
|
|
320
|
+
path: string | undefined;
|
|
321
|
+
title: string | undefined;
|
|
322
|
+
};
|
|
323
|
+
configInput: {
|
|
324
|
+
title?: string | undefined;
|
|
325
|
+
path?: string | undefined;
|
|
326
|
+
};
|
|
327
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
328
|
+
optional: true;
|
|
329
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.title", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.IconElement, "core.icon", {
|
|
330
|
+
optional: true;
|
|
331
|
+
}>;
|
|
332
|
+
inputs: {};
|
|
333
|
+
params: {
|
|
334
|
+
path: string;
|
|
335
|
+
title: string;
|
|
336
|
+
icon?: _backstage_frontend_plugin_api.IconElement;
|
|
337
|
+
loader: () => Promise<JSX.Element>;
|
|
338
|
+
routeRef?: _backstage_frontend_plugin_api.RouteRef;
|
|
339
|
+
};
|
|
340
|
+
}>;
|
|
341
|
+
"sub-page:soundcheck/integrations": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
|
|
342
|
+
kind: "sub-page";
|
|
343
|
+
name: "integrations";
|
|
344
|
+
config: {
|
|
345
|
+
path: string | undefined;
|
|
346
|
+
title: string | undefined;
|
|
347
|
+
};
|
|
348
|
+
configInput: {
|
|
349
|
+
title?: string | undefined;
|
|
350
|
+
path?: string | undefined;
|
|
351
|
+
};
|
|
352
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
353
|
+
optional: true;
|
|
354
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.title", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.IconElement, "core.icon", {
|
|
355
|
+
optional: true;
|
|
356
|
+
}>;
|
|
357
|
+
inputs: {};
|
|
358
|
+
params: {
|
|
359
|
+
path: string;
|
|
360
|
+
title: string;
|
|
361
|
+
icon?: _backstage_frontend_plugin_api.IconElement;
|
|
362
|
+
loader: () => Promise<JSX.Element>;
|
|
363
|
+
routeRef?: _backstage_frontend_plugin_api.RouteRef;
|
|
364
|
+
};
|
|
365
|
+
}>;
|
|
366
|
+
"sub-page:soundcheck/overview": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
|
|
367
|
+
kind: "sub-page";
|
|
306
368
|
name: "overview";
|
|
307
369
|
config: {
|
|
308
370
|
path: string | undefined;
|
|
@@ -312,34 +374,68 @@ declare const _default: _backstage_frontend_plugin_api.OverridableFrontendPlugin
|
|
|
312
374
|
title?: string | undefined;
|
|
313
375
|
path?: string | undefined;
|
|
314
376
|
};
|
|
315
|
-
output: _backstage_frontend_plugin_api.ExtensionDataRef<
|
|
377
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
316
378
|
optional: true;
|
|
317
|
-
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.title", {
|
|
379
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.title", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.IconElement, "core.icon", {
|
|
318
380
|
optional: true;
|
|
319
|
-
}
|
|
381
|
+
}>;
|
|
382
|
+
inputs: {};
|
|
383
|
+
params: {
|
|
384
|
+
path: string;
|
|
385
|
+
title: string;
|
|
386
|
+
icon?: _backstage_frontend_plugin_api.IconElement;
|
|
387
|
+
loader: () => Promise<JSX.Element>;
|
|
388
|
+
routeRef?: _backstage_frontend_plugin_api.RouteRef;
|
|
389
|
+
};
|
|
390
|
+
}>;
|
|
391
|
+
"sub-page:soundcheck/tech-insights": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
|
|
392
|
+
kind: "sub-page";
|
|
393
|
+
name: "tech-insights";
|
|
394
|
+
config: {
|
|
395
|
+
path: string | undefined;
|
|
396
|
+
title: string | undefined;
|
|
397
|
+
};
|
|
398
|
+
configInput: {
|
|
399
|
+
title?: string | undefined;
|
|
400
|
+
path?: string | undefined;
|
|
401
|
+
};
|
|
402
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
403
|
+
optional: true;
|
|
404
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.title", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.IconElement, "core.icon", {
|
|
320
405
|
optional: true;
|
|
321
406
|
}>;
|
|
322
|
-
inputs: {
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
}>, {
|
|
330
|
-
singleton: false;
|
|
331
|
-
optional: false;
|
|
332
|
-
internal: false;
|
|
333
|
-
}>;
|
|
407
|
+
inputs: {};
|
|
408
|
+
params: {
|
|
409
|
+
path: string;
|
|
410
|
+
title: string;
|
|
411
|
+
icon?: _backstage_frontend_plugin_api.IconElement;
|
|
412
|
+
loader: () => Promise<JSX.Element>;
|
|
413
|
+
routeRef?: _backstage_frontend_plugin_api.RouteRef;
|
|
334
414
|
};
|
|
415
|
+
}>;
|
|
416
|
+
"sub-page:soundcheck/tracks": _backstage_frontend_plugin_api.OverridableExtensionDefinition<{
|
|
417
|
+
kind: "sub-page";
|
|
418
|
+
name: "tracks";
|
|
419
|
+
config: {
|
|
420
|
+
path: string | undefined;
|
|
421
|
+
title: string | undefined;
|
|
422
|
+
};
|
|
423
|
+
configInput: {
|
|
424
|
+
title?: string | undefined;
|
|
425
|
+
path?: string | undefined;
|
|
426
|
+
};
|
|
427
|
+
output: _backstage_frontend_plugin_api.ExtensionDataRef<React__default.JSX.Element, "core.reactElement", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.routing.path", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.RouteRef<_backstage_frontend_plugin_api.AnyRouteRefParams>, "core.routing.ref", {
|
|
428
|
+
optional: true;
|
|
429
|
+
}> | _backstage_frontend_plugin_api.ExtensionDataRef<string, "core.title", {}> | _backstage_frontend_plugin_api.ExtensionDataRef<_backstage_frontend_plugin_api.IconElement, "core.icon", {
|
|
430
|
+
optional: true;
|
|
431
|
+
}>;
|
|
432
|
+
inputs: {};
|
|
335
433
|
params: {
|
|
336
|
-
defaultPath?: [Error: `Use the 'path' param instead`];
|
|
337
434
|
path: string;
|
|
338
|
-
title
|
|
435
|
+
title: string;
|
|
339
436
|
icon?: _backstage_frontend_plugin_api.IconElement;
|
|
340
|
-
loader
|
|
437
|
+
loader: () => Promise<JSX.Element>;
|
|
341
438
|
routeRef?: _backstage_frontend_plugin_api.RouteRef;
|
|
342
|
-
noHeader?: boolean;
|
|
343
439
|
};
|
|
344
440
|
}>;
|
|
345
441
|
}>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as r}from"react/jsx-runtime";import{compatWrapper as u}from"@backstage/core-compat-api";import{createExtensionDataRef as c,createExtensionBlueprint as l,coreExtensionData as t,ExtensionBoundary as s}from"@backstage/frontend-plugin-api";import{lazy as f}from"react";import"@backstage/core-plugin-api";import"@backstage/plugin-permission-react";import"@backstage/ui";import"@spotify/backstage-plugin-soundcheck-common";import"react-helmet";import"react-router-dom";import"../routes.esm.js";import"../components/CampaignPage/CampaignPageBUI.esm.js";import"../components/CampaignPage/CampaignActionsContext.esm.js";import"../components/CampaignPage/CampaignTechInsightsExplorerPage.esm.js";import"../components/CampaignsPage/
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{compatWrapper as u}from"@backstage/core-compat-api";import{createExtensionDataRef as c,createExtensionBlueprint as l,coreExtensionData as t,ExtensionBoundary as s}from"@backstage/frontend-plugin-api";import{lazy as f}from"react";import"@backstage/core-plugin-api";import"@backstage/plugin-permission-react";import"@backstage/ui";import"@spotify/backstage-plugin-soundcheck-common";import"react-helmet";import"react-router-dom";import"../routes.esm.js";import"../components/CampaignPage/CampaignPageBUI.esm.js";import"../components/CampaignPage/CampaignActionsContext.esm.js";import"../components/CampaignPage/CampaignTechInsightsExplorerPage.esm.js";import"../components/CampaignsPage/CampaignListPageBUI.esm.js";import"../components/CampaignsPage/useArchiveConfirmationModal.esm.js";import"../contexts/TrackFormContext.esm.js";import"../contexts/CheckFormContext.esm.js";import"../contexts/CampaignFormContext.esm.js";import"../contexts/UserProvider.esm.js";import"@backstage/catalog-model";import"@tanstack/react-query";import"../api.esm.js";import"../hooks/graphqlKeys.esm.js";import"@backstage/plugin-catalog-react";import"../hooks/useSoundcheckAlert.esm.js";import"../hooks/useConfirmationModal.esm.js";import"react-use/lib/useLocalStorage";import"react-use/lib/useAsync";import"../components/ChecksTable/utils.esm.js";import"../graphql/generated/index.esm.js";import"react-use/lib/useAsyncRetry";import"../components/CampaignForm/CampaignForm.esm.js";import"@remixicon/react";import"../components/SoundcheckHeader/SoundcheckHeader.esm.js";import"../components/SoundcheckHeader/SoundcheckHeaderContext.esm.js";import"../components/Loading/Loading.esm.js";import"../components/PageWarningMessage/PageWarningMessage.esm.js";import"../components/CampaignsPage/CampaignEmptyState.esm.js";import"uuid";import"@backstage/core-components";import"react-hook-form";import"../utils/formStyles.esm.js";import"@material-ui/core";import"@material-ui/icons/Search";import"../components/SoundcheckDialog/SoundcheckDialog.esm.js";import"../components/FactExplorer/FactExplorer.esm.js";import"../components/FactExplorer/FactExplorerContext.esm.js";import"../components/FormStepper/FormStepper.esm.js";import"../components/CheckForm/FormFields/CheckNameInput/CheckNameInput.esm.js";import"../components/CheckForm/FormFields/PassFailMessageInput/PassFailMessageInput.esm.js";import"../components/FormMarkdownInput/FormMarkdownInput.esm.js";import"../components/CheckForm/utils/checkFormUtils.esm.js";import"../components/CheckForm/FormFields/TeamDetailsInput/TeamDetailsInput.esm.js";import"../components/CheckForm/FormFields/RuleInput/AddMenuButton.esm.js";import"../components/CheckForm/FormFields/RuleInput/RuleInputBox.esm.js";import"../components/CheckForm/FormFields/RuleInput/Expressions/ExpressionBox.esm.js";import"../components/CheckForm/FormFields/RuleInput/Expressions/ExpressionTypeToggle.esm.js";import"@material-ui/icons/Close";import"@material-ui/icons/Delete";import"@material-ui/icons/List";import"../components/FormControlledAutocomplete/FormControlledAutocomplete.esm.js";import"../components/CheckForm/FormFields/RuleInput/Conditions/styles.esm.js";import"../components/CheckForm/FormFields/RuleInput/Conditions/ValueListInput.esm.js";import"../components/CheckForm/FormFields/RuleInput/Conditions/ConditionList.esm.js";import"../components/CheckForm/FormFields/CheckScheduleSection/ScheduleSection.esm.js";import"../components/CheckForm/FormFields/CheckPathResolverInput.esm.js";import"../components/CheckForm/Steps/CheckDetailsStep.esm.js";import"../components/CheckForm/Steps/CheckRulesStep.esm.js";import"../components/CheckForm/Steps/CheckApplicabilityStep.esm.js";import"../components/CheckForm/Steps/CheckReviewStep.esm.js";import"../components/CheckForm/types/ExpressionType.esm.js";import"../components/Frequency/types.esm.js";import"../components/Frequency/util.esm.js";import"../components/Frequency/FrequencyComponent.esm.js";import"../components/CheckForm/types/Path.esm.js";import"@hookform/resolvers/standard-schema";import"../components/CheckForm/utils/validation.esm.js";import"../components/LoadingIndicator/LoadingIndicator.esm.js";import"../components/CheckPage/CheckPageBUI.esm.js";import"../components/ChecksPage/ChecksListPageBUI.esm.js";import"../components/CheckTemplatesPage/CheckTemplatesPageBUI.esm.js";import"../components/CollectorPage/Configurators/AzureDevOps/AzureDevOpsConfigurator.esm.js";import"../components/CollectorPage/Configurators/BigQuery/BigQueryConfigurator.esm.js";import"../components/CollectorPage/Configurators/Catalog/CatalogConfigurator.esm.js";import"../components/CollectorPage/Configurators/DataDog/DataDogConfigurator.esm.js";import"../components/CollectorPage/Configurators/DataRegistry/DataRegistryConfigurator.esm.js";import"../components/CollectorPage/Configurators/Github/GithubConfigurator.esm.js";import"../components/CollectorPage/Configurators/Gitlab/GitlabConfigurator.esm.js";import"../components/CollectorPage/Configurators/HTTP/HttpConfigurator.esm.js";import"../components/CollectorPage/Configurators/Jira/JiraConfigurator.esm.js";import"../components/CollectorPage/Configurators/Kubernetes/KubernetesConfigurator.esm.js";import"../components/CollectorPage/Configurators/NewRelic/NewRelicConfigurator.esm.js";import"../components/CollectorPage/Configurators/PagerDuty/PagerDutyConfigurator.esm.js";import"../components/CollectorPage/Configurators/SchemaBased/SchemaBasedConfigurator.esm.js";import"../components/CollectorPage/Configurators/SCM/ScmConfigurator.esm.js";import"../components/CollectorPage/Configurators/SonarQube/SonarQubeConfigurator.esm.js";import"../components/CollectorPage/CollectorDetailsPageBUI.esm.js";import"../components/CollectorsPage/IntegrationsListPageBUI.esm.js";import"../components/CreateNewTrackPage/CreateNewTrackPage.esm.js";import"../components/OverviewPage/OverviewPageContent.esm.js";import"../components/TechInsights/TechInsightsPageBUI.esm.js";import"../components/TrackBuilderPage/TrackBuilderPage.esm.js";import"lodash";import"../components/Filter/FilterComponent.esm.js";import"../components/TrackForm/Steps/LevelsStep/LevelsStepNew.esm.js";import"../components/TrackForm/Steps/TrackDetailsStep/TrackDetailsStep.esm.js";import"../components/TrackForm/utils/validation.esm.js";import"../components/TrackPage/TrackPageBUI.esm.js";import"../components/TrackPage/TrackTechInsightsExplorerPage.esm.js";import"../components/TracksPage/TracksListPageBUI.esm.js";import"@spotify/backstage-plugin-core";import"../components/SoundcheckQueryClientProvider/SoundcheckQueryClientProvider.esm.js";import{RoutingPageWrapper as g}from"../components/RoutingPage/RoutingPageWrapper.esm.js";const o=c().with({id:"soundcheck.integrationId"}),h=l({kind:"integration",attachTo:{id:"app/routes",input:"routes"},output:[t.routePath,t.reactElement,t.routeRef.optional(),o],dataRefs:{integrationId:o},*factory({integrationId:i,loader:m,path:e,routeRef:p},{node:n}){const a=f(()=>m().then(d=>({default:()=>d})));yield t.routePath(e??`/soundcheck/integrations/${i}/edit`),yield t.reactElement(u(r(s,{node:n,children:r(g,{children:r(a,{})})}))),p&&(yield t.routeRef(p)),yield o(i)}});export{h as IntegrationPageBlueprint,o as integrationIdExtensionDataRef};
|
|
2
2
|
//# sourceMappingURL=IntegrationPageBlueprint.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsxs as s,jsx as g}from"react/jsx-runtime";const c={default:{bg:"var(--bui-bg-neutral-1)",color:"var(--bui-fg-secondary)",border:"1px solid var(--bui-border-2)"},info:{bg:"var(--bui-bg-info)",color:"var(--bui-fg-info)",border:"1px solid var(--bui-border-info)"},success:{bg:"var(--bui-bg-success)",color:"var(--bui-fg-success)",border:"1px solid var(--bui-border-success)"},warning:{bg:"var(--bui-bg-warning)",color:"var(--bui-fg-warning)",border:"1px solid var(--bui-border-warning)"},danger:{bg:"var(--bui-bg-danger)",color:"var(--bui-fg-danger)",border:"1px solid var(--bui-border-danger)"}},u=({children:a,icon:b,variant:i="default",bg:e,color:d,border:n})=>{const r=c[i],o={bg:e??r.bg,color:d??r.color,border:n??r.border};return s("span",{style:{display:"inline-flex",alignItems:"center",padding:"var(--bui-space-1) var(--bui-space-3)",borderRadius:"var(--bui-radius-full)",backgroundColor:o.bg,color:o.color,border:o.border},children:[b&&g("span",{style:{marginRight:"var(--bui-space-1)"},children:b}),a]})};export{u as Badge};
|
|
2
|
+
//# sourceMappingURL=Badge.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as r,Fragment as
|
|
1
|
+
import{jsx as r,Fragment as s}from"react/jsx-runtime";import{makeStyles as n,alpha as p,Box as m}from"@material-ui/core";import d from"classnames";import{BadgeVariant as l}from"../../graphql/generated/index.esm.js";import{BaseBadge as c}from"./BaseBadge.esm.js";import{StatusBadge as g}from"./StatusBadge.esm.js";const x=n(e=>({root:{background:({color:t})=>t,color:({color:t})=>t?e.palette.getContrastText(t):e.palette.text.primary,border:({size:t})=>e.palette.type==="dark"?void 0:`${t==="small"?"1px":"2px"} solid ${p(e.palette.text.primary,.8)}`,"&::after":{position:"absolute",display:"block",content:'""',top:0,left:0,width:"100%",height:"100%",borderRadius:"50%",boxShadow:["inset 0 -0.10em 0 0 rgba(0, 0, 0, 0.15)","inset 0px 0.10em 0px 0px rgba(255, 255, 255, 0.4)","inset 0px 0.9em 0px -0.4em rgba(255, 255, 255, 0.1)"].join(",")}},borderTheme:{borderColor:e.palette.text.primary,borderStyle:"solid",color:e.palette.text.primary}})),b=({className:e,badge:t,size:a="small"})=>{const i=x({color:"color"in t.options?t.options.color:void 0,size:a});if(t.variant===l.Status){const o=t.options;return r(g,{className:e,size:a,status:o.status,pathColor:o.pathColor})}if(t.variant===l.Medal){const o=t.options;return o.svg?r(m,{width:a==="small"?24:48,display:"inline-flex",alignItems:"center",justifyContent:"center",marginRight:1,children:r("img",{src:`data:image/svg+xml;utf8,${encodeURIComponent(o.svg)}`,alt:"level-badge"})}):r(c,{className:d(e,o.color?i.root:i.borderTheme),size:a,label:`L${o.level}`})}return r(s,{})};export{b as LevelBadge};
|
|
2
2
|
//# sourceMappingURL=LevelBadge.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as e,Fragment as
|
|
1
|
+
import{jsx as e,Fragment as b,jsxs as d}from"react/jsx-runtime";import{makeStyles as y,useTheme as v,Box as N,Tooltip as $}from"@material-ui/core";import x from"@material-ui/icons/Check";import z from"@material-ui/icons/Close";import W from"@material-ui/icons/HelpOutline";import w from"@material-ui/icons/PriorityHigh";import L from"classnames";import{CircularProgressbarWithChildren as p,buildStyles as c}from"react-circular-progressbar";import"react-circular-progressbar/dist/styles.css";const f=24,S=15,h=s=>s==="small"?1:2,T=y(s=>({root:{position:"relative",display:"inline-block",alignItems:"center",justifyContent:"center",cursor:"default",lineHeight:0,width:({size:t})=>`${f*h(t)}px`,height:({size:t})=>`${f*h(t)}px`},icon:{color:s.palette.background.default,fontSize:({size:t})=>S*h(t)}})),j=({className:s,status:t,size:g="small",hideTooltip:C,pathColor:k})=>{const l=T({size:g}),n=v();if(!t)return e(b,{});const o=t.passed+t.failed+t.warning+t.error+t.notReported,r=o?t.passed/o*100:0,a=o?t.warning/o*100:0,i=o?(t.failed+t.error)/o*100:0,m=100-r-a-i,u=e(N,{className:L(s,l.root),role:"img","aria-label":`${r} badge`,children:d(p,{value:r,strokeWidth:r<100?15:50,styles:c({pathColor:k??n.palette.success.main,trailColor:"transparent",strokeLinecap:"butt",rotation:0}),children:[r===100&&e(x,{className:l.icon}),r<100&&d(p,{value:a,strokeWidth:a<100?15:50,styles:c({pathColor:n.palette.warning.main,trailColor:"transparent",strokeLinecap:"butt",rotation:r/100}),children:[a===100&&e(w,{className:l.icon}),a<100&&d(p,{value:i,strokeWidth:i<100?15:50,styles:c({pathColor:n.palette.error.main,trailColor:"transparent",strokeLinecap:"butt",rotation:(r+a)/100}),children:[i===100&&e(z,{className:l.icon}),i<100&&e(p,{value:m,strokeWidth:m<100?15:50,styles:c({pathColor:n.palette.divider,trailColor:"transparent",strokeLinecap:"butt",rotation:(r+a+i)/100}),children:m===100&&e(W,{className:l.icon})})]})]})]})});return C?u:e($,{title:`${t.passed}/${o} checks passed (${Math.round(r)}%)`,children:u})};export{j as StatusBadge};
|
|
2
2
|
//# sourceMappingURL=StatusBadge.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as c,Fragment as g,jsx as o}from"react/jsx-runtime";import{useRouteRef as f}from"@backstage/core-plugin-api";import{HeaderPage as u}from"@backstage/ui";import{useEffect as d}from"react";import"../../contexts/TrackFormContext.esm.js";import"../../contexts/CheckFormContext.esm.js";import{CampaignFormProvider as
|
|
1
|
+
import{jsxs as c,Fragment as g,jsx as o}from"react/jsx-runtime";import{useRouteRef as f}from"@backstage/core-plugin-api";import{HeaderPage as u}from"@backstage/ui";import{useEffect as d}from"react";import"../../contexts/TrackFormContext.esm.js";import"../../contexts/CheckFormContext.esm.js";import{CampaignFormProvider as i,useCampaignFormContext as C}from"../../contexts/CampaignFormContext.esm.js";import"../../contexts/UserProvider.esm.js";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{useCreateCampaign as l}from"../../hooks/campaigns/useCreateCampaign.esm.js";import"../../hooks/useSoundcheckAlert.esm.js";import"../../hooks/useConfirmationModal.esm.js";import{useNavigateBack as h}from"../../hooks/useNavigateBack.esm.js";import"react-router-dom";import"react-use/lib/useLocalStorage";import"react-use/lib/useAsync";import"../ChecksTable/utils.esm.js";import"../../graphql/generated/index.esm.js";import"react-use/lib/useAsyncRetry";import{campaignsPageRouteRef as m}from"../../routes.esm.js";import{CampaignForm as k}from"../CampaignForm/CampaignForm.esm.js";import{DocLinkButton as b}from"../DocLinkButton/DocLinkButton.esm.js";import"../SoundcheckHeader/SoundcheckHeader.esm.js";import"../SoundcheckHeader/SoundcheckHeaderContext.esm.js";import{useHeader as y}from"../SoundcheckHeader/useHeader.esm.js";const x=()=>{const{setIsLoading:t}=C(),{mutateAsync:e,isLoading:r}=l();d(()=>{t(r)},[t,r]);const[a,p]=h(m),s=async n=>{await e(n,{onSuccess:p})};return y({title:"Create a Campaign",description:"Create, monitor, and manage software updates or system transitions.",docLink:"https://backstage.spotify.com/docs/plugins/soundcheck/core-concepts/campaigns"}),o(i,{children:o(k,{onSave:s,onCancel:a})})},F=()=>{const t=f(m);return c(g,{children:[o(u,{title:"Create Campaign",breadcrumbs:[{label:"All Campaigns",href:t()}],customActions:o(b,{href:"https://backstage.spotify.com/docs/plugins/soundcheck/core-concepts/campaigns/"})}),o(i,{children:o(x,{})})]})};export{F as CampaignCreatePage};
|
|
2
2
|
//# sourceMappingURL=CampaignCreatePage.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{standardSchemaResolver as s}from"@hookform/resolvers/standard-schema";import{useMemo as n}from"react";import{useForm as u}from"react-hook-form";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{useConfirmationModal as f}from"../../../hooks/useConfirmationModal.esm.js";import"react-router-dom";import"react-use/lib/useLocalStorage";import"react-use/lib/useAsync";import"../../ChecksTable/utils.esm.js";import"../../../graphql/generated/index.esm.js";import"react-use/lib/useAsyncRetry";import{useGetChecksMap as c}from"../../../hooks/tracks/useGetChecksMap.esm.js";import{DEFAULT_FORM_VALUES as g}from"../utils/campaignFormUtils.esm.js";import{campaignFormSchema as l}from"../utils/validation.esm.js";import{mapCampaignToFormValues as d,mapCampaignFormDataToCampaignInput as C}from"./utils.esm.js";const h=(r,o)=>{const t=n(()=>o?d(o):g,[o]),a=u({defaultValues:t,mode:"onChange",resolver:s(l)}),{showModal:i}=f(),{checksMap:e}=c();return{formMethods:a,onSubmit:async m=>{if(!await i({title:"Save Campaign",message:`Are you sure you want to save campaign: ${m.detailsStep.name}?`,error:!1}))return;const p=C(m,o,e);r(p)}}};export{h as useCampaignForm};
|
|
2
2
|
//# sourceMappingURL=useCampaignForm.esm.js.map
|