@spotify/backstage-plugin-soundcheck 0.16.0 → 0.16.2
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 +67 -0
- package/dist/alpha/entity-content.esm.js +1 -1
- package/dist/alpha/pages.esm.js +1 -1
- package/dist/alpha.d.ts +62 -47
- package/dist/api.esm.js +1 -1
- package/dist/components/AlertPanel/AlertPanel.esm.js +1 -1
- package/dist/components/AreaChart/AreaChart.esm.js +1 -1
- package/dist/components/AreaChart/ChartTooltip.esm.js +1 -1
- package/dist/components/AreaChart/Legend.esm.js +1 -1
- package/dist/components/AreaChart/LegendItem.esm.js +1 -1
- package/dist/components/Badges/BaseBadge.esm.js +1 -1
- package/dist/components/Badges/CampaignBadge.esm.js +1 -1
- package/dist/components/Badges/CertificationBadge.esm.js +1 -1
- package/dist/components/Badges/LevelBadge.esm.js +1 -1
- package/dist/components/Badges/NoLevelBadge.esm.js +2 -2
- package/dist/components/Badges/PlaylistBadge.esm.js +1 -1
- package/dist/components/Badges/StatusBadge.esm.js +1 -1
- package/dist/components/CacheConfig/CacheConfigComponent.esm.js +1 -1
- package/dist/components/CampaignCreatePage/CampaignCreatePage.esm.js +1 -1
- package/dist/components/CampaignForm/CampaignForm.esm.js +1 -1
- package/dist/components/CampaignForm/Steps/CampaignDetailsStep/CampaignDescriptionField.esm.js +1 -1
- package/dist/components/CampaignForm/Steps/CampaignDetailsStep/CampaignDetailsStep.esm.js +1 -1
- package/dist/components/CampaignForm/Steps/CampaignDetailsStep/CampaignDraftField.esm.js +2 -0
- package/dist/components/CampaignForm/Steps/CampaignDetailsStep/CampaignNameField.esm.js +1 -1
- package/dist/components/CampaignForm/Steps/CampaignDetailsStep/CampaignOwnerField.esm.js +1 -1
- package/dist/components/CampaignForm/Steps/CampaignDetailsStep/CampaignScheduleField.esm.js +1 -1
- package/dist/components/CampaignForm/Steps/CampaignDetailsStep/CampaignSupportChannelField.esm.js +1 -1
- package/dist/components/CampaignForm/Steps/CampaignDetailsStep/EndDateChips.esm.js +1 -1
- package/dist/components/CampaignForm/Steps/CampaignMilestonesStep.esm.js +1 -1
- package/dist/components/CampaignForm/Steps/CampaignTrackStepNew.esm.js +2 -0
- package/dist/components/CampaignForm/hooks/useCampaignForm.esm.js +1 -1
- package/dist/components/CampaignForm/hooks/utils.esm.js +1 -1
- package/dist/components/CampaignForm/utils/campaignFormUtils.esm.js +1 -1
- package/dist/components/CampaignForm/utils/validation.esm.js +1 -1
- package/dist/components/CampaignInsightsPage/CampaignInsightsPage.esm.js +1 -1
- package/dist/components/CampaignInsightsPage/CampaignStatusHistoryTile.esm.js +1 -1
- package/dist/components/CampaignInsightsPage/CampaignStatusTile.esm.js +1 -1
- package/dist/components/CampaignInsightsPage/DaysRemainingTile.esm.js +1 -1
- package/dist/components/CampaignsPage/CampaignEmptyState.esm.js +1 -1
- package/dist/components/CampaignsPage/CampaignListPage/CampaignListPage.esm.js +1 -1
- package/dist/components/CampaignsPage/CampaignListPage/CampaignMetadata.esm.js +1 -1
- package/dist/components/CampaignsPage/CampaignListPage/CampaignSummaryCard.esm.js +1 -1
- package/dist/components/CampaignsPage/CampaignListPage/CampaignsOverviewSkeleton.esm.js +1 -1
- package/dist/components/CampaignsPage/CampaignListPage/useArchiveConfirmationModal.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/CategoryBar/CategoryBar.esm.js +1 -1
- package/dist/components/CertificationAccordion/CertificationAccordion.esm.js +1 -1
- package/dist/components/CertificationSidebar/CertificationLevel.esm.js +1 -1
- package/dist/components/CertificationSidebar/CertificationSidebar.esm.js +1 -1
- package/dist/components/CertificationSidebar/CertificationSummary.esm.js +1 -1
- package/dist/components/CertificationSidebar/Check.esm.js +1 -1
- package/dist/components/CertificationSidebar/CheckResultInputPopup.esm.js +2 -0
- package/dist/components/CertificationSidebar/CheckResultSummaryList.esm.js +1 -1
- package/dist/components/CertificationSidebar/ExemptionJustificationDialog.esm.js +2 -0
- package/dist/components/CertificationSidebar/LevelSummary.esm.js +1 -1
- package/dist/components/CertificationSidebar/StatusDetails.esm.js +1 -1
- package/dist/components/CertificationSidebar/skeletons/CertificationSidebarSkeleton.esm.js +1 -1
- package/dist/components/CertificationSidebar/skeletons/CertificationSummarySkeleton.esm.js +1 -1
- package/dist/components/CertificationSidebar/skeletons/CheckSkeleton.esm.js +1 -1
- package/dist/components/CertificationSidebar/skeletons/LevelSummarySkeleton.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/PlaylistComponent.esm.js +1 -1
- package/dist/components/CertificationsPage/Playlist/PlaylistContext.esm.js +1 -1
- package/dist/components/CertificationsPage/Playlist/PlaylistProgress.esm.js +1 -1
- package/dist/components/CertificationsPage/Playlist/PlaylistSummary.esm.js +1 -1
- package/dist/components/CertificationsPage/PlaylistCertificationTab.esm.js +1 -1
- package/dist/components/CertificationsPage/skeletons/CertificationTabSkeleton.esm.js +1 -1
- package/dist/components/CertificationsPage/skeletons/CertificationTabsSkeleton.esm.js +1 -1
- package/dist/components/Charts/BarChart/BarChart.esm.js +1 -1
- package/dist/components/Charts/BarChart/BarChartPlaceholder.esm.js +1 -1
- package/dist/components/Charts/BarChart/GroupPassRateHistoryBarChart.esm.js +1 -1
- package/dist/components/Charts/BarChart/TrackSummaryBarChart.esm.js +1 -1
- package/dist/components/Charts/ChartWrapper/ChartWrapper.esm.js +1 -1
- package/dist/components/Charts/LineChart/EntityPassRateHistoryLineChart.esm.js +1 -1
- package/dist/components/Charts/LineChart/LineChart.esm.js +1 -1
- package/dist/components/Charts/LineChart/LineChartPlaceholder.esm.js +1 -1
- package/dist/components/Charts/LineChart/PassRateHistoryLineChart.esm.js +1 -1
- package/dist/components/Charts/LineChart/TableLineChart.esm.js +1 -1
- package/dist/components/Charts/LineChart/TrackPassRateHistoryLineChart.esm.js +1 -1
- package/dist/components/Charts/LoadingChart.esm.js +2 -0
- package/dist/components/Charts/chartUtils.esm.js +1 -1
- package/dist/components/CheckCard/CheckCard.esm.js +1 -1
- package/dist/components/CheckCard/CheckHistoryChart.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/CheckResultDetails.esm.js +1 -1
- package/dist/components/CheckDetails/CollapseRow.esm.js +1 -1
- package/dist/components/CheckDetails/FactTable.esm.js +1 -1
- package/dist/components/CheckDetails/FixMeDialog.esm.js +1 -1
- package/dist/components/CheckDetails/JustificationDetails.esm.js +2 -0
- package/dist/components/CheckDetails/OngoingTaskComponent.esm.js +1 -1
- package/dist/components/CheckDetails/ResolvedValueTable.esm.js +1 -1
- package/dist/components/CheckDetails/ResultStateBox.esm.js +1 -1
- package/dist/components/CheckDetails/ReviewStateComponent.esm.js +1 -1
- package/dist/components/CheckDetails/SelectedValueContext.esm.js +1 -1
- package/dist/components/CheckDetails/skeletons/CheckDetailsSkeleton.esm.js +1 -1
- package/dist/components/CheckDryRun/CheckDryRun.esm.js +1 -1
- package/dist/components/CheckDryRun/CheckDryRunContext.esm.js +1 -1
- package/dist/components/CheckDryRun/CheckDryRunDetails.esm.js +1 -1
- package/dist/components/CheckDryRun/CheckDryRunDialog.esm.js +1 -1
- package/dist/components/CheckDryRun/CheckDryRunDialogButton.esm.js +1 -1
- package/dist/components/CheckForm/CheckForm.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/CheckDescriptionInput/CheckDescriptionInput.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/CheckNameInput/CheckNameInput.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/CheckTypeInput/CheckTypeInput.esm.js +2 -0
- package/dist/components/CheckForm/FormFields/PassFailMessageInput/PassFailMessageInput.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/AddMenuButton.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/Conditions/ConditionList.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/Conditions/FactValueDisplay.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/Conditions/RuleConditionInput.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/Conditions/ValueListContext.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/Conditions/ValueListInput.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/Expressions/ExpressionBox.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/Expressions/ExpressionTypeToggle.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/RuleInput/RuleInputBox.esm.js +1 -1
- package/dist/components/CheckForm/FormFields/TeamDetailsInput/TeamDetailsInput.esm.js +1 -1
- package/dist/components/CheckForm/Steps/CheckApplicabilityStep.esm.js +2 -0
- package/dist/components/CheckForm/Steps/CheckDetailsStep.esm.js +1 -1
- package/dist/components/CheckForm/Steps/CheckReviewStep.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/checkFormUtils.esm.js +2 -2
- package/dist/components/CheckForm/utils/validation.esm.js +1 -1
- package/dist/components/CheckHistoryChartCard/CheckHistoryChartCard.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/CheckEntitiesTable.esm.js +1 -1
- package/dist/components/CheckPage/CheckEntitiesTable/columns.esm.js +1 -1
- package/dist/components/CheckPage/CheckInsightsPage.esm.js +1 -1
- package/dist/components/CheckPage/CheckStatusHistoryChart.esm.js +1 -1
- package/dist/components/CheckPage/CheckStatusTable.esm.js +1 -1
- package/dist/components/CheckSelection/CheckPreview.esm.js +2 -0
- package/dist/components/CheckSelection/CheckPreviewContext.esm.js +2 -0
- package/dist/components/CheckSelection/CheckSelection.esm.js +2 -0
- package/dist/components/CheckStatusBar/CheckStatusBar.esm.js +2 -0
- package/dist/components/CheckTemplatesPage/CheckTemplatesPage.esm.js +1 -1
- package/dist/components/CheckTemplatesPage/TemplateCategory.esm.js +1 -1
- package/dist/components/ChecksPage/CheckListPage/CheckListPage.esm.js +1 -1
- package/dist/components/ChecksPage/CheckListPage/CheckMetadata.esm.js +1 -1
- package/dist/components/ChecksPage/CheckListPage/CheckSummaryCard.esm.js +1 -1
- package/dist/components/ChecksPage/ChecksPage.esm.js +1 -1
- package/dist/components/ChecksPage/skeletons/ChecksOverviewSkeleton.esm.js +1 -1
- package/dist/components/ChecksTab/ChecksTab.esm.js +1 -1
- package/dist/components/CollectorPage/CollectorPage.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/AzureDevOps/AzureDevOpsConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/AzureDevOps/NumberOfDaysComponent.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/AzureDevOps/NumberOfWorkItemsComponent.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/QueryFactDetailsComponent.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/CollectorSchedulingOptions.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Common/FactCollectionConfig.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 +2 -0
- package/dist/components/CollectorPage/Configurators/DataRegistry/utils.esm.js +2 -0
- package/dist/components/CollectorPage/Configurators/Github/CodeScanningAlertsFactDetails.esm.js +2 -0
- package/dist/components/CollectorPage/Configurators/Github/DependabotAlertsFactDetails.esm.js +2 -0
- package/dist/components/CollectorPage/Configurators/Github/GithubConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Github/SecretScanningAlertsFactDetails.esm.js +2 -0
- package/dist/components/CollectorPage/Configurators/Github/SecurityAdvisoriesFactDetails.esm.js +2 -0
- package/dist/components/CollectorPage/Configurators/Github/types.esm.js +2 -0
- package/dist/components/CollectorPage/Configurators/Github/utils.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Github/validation.esm.js +2 -0
- 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/HttpRequestComponent.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/HTTP/HttpResponseComponent.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/HTTP/HttpRetriesComponent.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/HTTP/HttpStatusesInput.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/HTTP/RequestFactDetailsComponent.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/HTTP/validation.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/Jira/IssuesSearchFactDetailsComponent.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/KubernetesFactDetails.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/IncidentsFactDetailsComponent.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/PagerDuty/PagerDutyConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/PagerDuty/StatusesComponent.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/PagerDuty/validation.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SCM/ExistsFactDetailsComponent.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SCM/FactDetailsComponent.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SCM/JsonFactDetailsComponent.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/SonarQube/IssuesFactDetailsInput.esm.js +2 -0
- package/dist/components/CollectorPage/Configurators/SonarQube/MeasuresFactDetailsInput.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SonarQube/MetricsInput.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SonarQube/SonarQubeConfigurator.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SonarQube/utils.esm.js +1 -1
- package/dist/components/CollectorPage/Configurators/SonarQube/validation.esm.js +1 -1
- package/dist/components/CollectorsPage/CollectorListPage/CollectorListPage.esm.js +1 -1
- package/dist/components/CollectorsPage/CollectorListPage/CollectorListSkeleton.esm.js +1 -1
- package/dist/components/CollectorsPage/CollectorListPage/CollectorLogo.esm.js +1 -1
- package/dist/components/CollectorsPage/CollectorListPage/CollectorSummaryCard.esm.js +1 -1
- package/dist/components/CollectorsPage/CollectorsPage.esm.js +1 -1
- package/dist/components/EmptyState/EmptyState.esm.js +1 -1
- package/dist/components/EntitiesAutocompletePicker/EntitiesAutocompletePicker.esm.js +2 -0
- package/dist/components/EntityChip/EntityChip.esm.js +1 -1
- package/dist/components/EntityContent/EntityContent.esm.js +1 -1
- package/dist/components/EntityPassRateCard/EntityPassRateCard.esm.js +1 -1
- package/dist/components/EntitySoundcheckCard/Card.esm.js +1 -1
- package/dist/components/EntitySoundcheckCard/EntitySoundcheckCard.esm.js +1 -1
- package/dist/components/EntitySoundcheckCard/skeletons/CardSkeleton.esm.js +1 -1
- package/dist/components/EntitySoundcheckContent.esm.js +1 -1
- package/dist/components/Expand/Expand.esm.js +1 -1
- package/dist/components/ExpandableSection/ExpandableSection.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/FadeIn/FadeIn.esm.js +1 -1
- package/dist/components/Filter/EntityAutocompletePicker.esm.js +1 -1
- package/dist/components/Filter/FilterComponent.esm.js +1 -1
- package/dist/components/Filter/FilterKeyValueInput.esm.js +1 -1
- package/dist/components/Filter/FilterPreviewTable/EntityTableColumns.esm.js +1 -1
- package/dist/components/Filter/FilterPreviewTable/FilterPreviewTable.esm.js +1 -1
- package/dist/components/Filter/KeyValueInputDialog.esm.js +1 -1
- package/dist/components/FilterSidebar/FilterSidebar.esm.js +2 -0
- package/dist/components/FilterSidebar/StateFilter.esm.js +2 -0
- package/dist/components/FooterButtons/FooterButtons.esm.js +1 -1
- package/dist/components/FormControlledAutocomplete/ControlledAutocomplete.esm.js +1 -1
- package/dist/components/FormControlledAutocomplete/FormControlledAutocomplete.esm.js +1 -1
- package/dist/components/FormControlledAutocomplete/FormControlledMultipleAutocomplete.esm.js +2 -0
- package/dist/components/FormControlledSelect/FormControlledSelect.esm.js +1 -1
- package/dist/components/FormControlledTextField/FormControlledTextField.esm.js +1 -1
- package/dist/components/FormFieldLabel/FormFieldLabel.esm.js +1 -1
- package/dist/components/FormFilterSection/FormFilterSection.esm.js +1 -1
- package/dist/components/FormMarkdownInput/FormMarkdownInput.esm.js +1 -1
- package/dist/components/FormStepper/FormStepper.esm.js +1 -1
- package/dist/components/FormTextInput/FormTextInput.esm.js +1 -1
- package/dist/components/FormattedPreview/FormattedPreview.esm.js +2 -2
- package/dist/components/Frequency/FrequencyComponent.esm.js +1 -1
- package/dist/components/GroupPassRateCard/GroupPassRateCard.esm.js +1 -1
- package/dist/components/GroupSelector/GroupSelector.esm.js +1 -1
- package/dist/components/LevelUpParty/LevelUpParty.esm.js +1 -1
- package/dist/components/LevelsTable/CheckRowContent.esm.js +2 -0
- package/dist/components/LevelsTable/LevelsTable.esm.js +2 -0
- package/dist/components/ListboxVirtualized/ListboxVirtualized.esm.js +1 -1
- package/dist/components/LoadingIndicator/LoadingIndicator.esm.js +1 -1
- package/dist/components/MultiSelectFilter/MultiSelectFilter.esm.js +1 -1
- package/dist/components/NoBorderButton/NoBorderButton.esm.js +1 -1
- package/dist/components/OrgHealth/OrgHealthPage.esm.js +2 -0
- package/dist/components/OverviewChartCard/OverviewChartCard.esm.js +1 -1
- package/dist/components/OverviewPage/FixedGroupOverviewPage.esm.js +1 -1
- package/dist/components/OverviewPage/OverviewPage.esm.js +1 -1
- package/dist/components/OverviewPage/OverviewPageContent.esm.js +1 -1
- package/dist/components/OverviewPage/OverviewPageHeader.esm.js +1 -1
- package/dist/components/OverviewTable/Cell/CheckCell.esm.js +1 -1
- package/dist/components/OverviewTable/Cell/CheckCellTooltip.esm.js +1 -1
- package/dist/components/OverviewTable/Cell/CheckLabelCell.esm.js +1 -1
- package/dist/components/OverviewTable/Cell/CheckNameCell.esm.js +1 -1
- package/dist/components/OverviewTable/Cell/EntityRefCell.esm.js +1 -1
- package/dist/components/OverviewTable/Cell/TrackBadgeCell.esm.js +1 -1
- package/dist/components/OverviewTable/Cell/TrackCheckIndicator.esm.js +1 -1
- package/dist/components/OverviewTable/Cell/TrackLevelHeaderCell.esm.js +1 -1
- package/dist/components/OverviewTable/Cell/TrackTitleCell.esm.js +1 -1
- package/dist/components/OverviewTable/Cell/cellRenderer.esm.js +1 -1
- package/dist/components/OverviewTable/OverviewTable.esm.js +1 -1
- package/dist/components/OverviewTable/OverviewTableContent.esm.js +1 -1
- package/dist/components/OverviewTable/OverviewTableSkeleton.esm.js +1 -1
- package/dist/components/OverviewTable/ResultsTable.esm.js +1 -1
- package/dist/components/OverviewTable/ResultsTableHeader.esm.js +1 -1
- package/dist/components/OverviewTable/ResultsTableRow.esm.js +1 -1
- package/dist/components/PageWarningMessage/PageWarningMessage.esm.js +1 -1
- package/dist/components/Pagination/CursorPagination.esm.js +1 -1
- package/dist/components/Pagination/Pagination.esm.js +1 -1
- package/dist/components/PassRateGrid/PassRateGrid.esm.js +1 -1
- package/dist/components/PassRateGrid/PassRateMetadata.esm.js +1 -1
- package/dist/components/PassRateTable/NewPassRateTable.esm.js +1 -1
- package/dist/components/PassRateTable/PassRateTable.esm.js +2 -2
- package/dist/components/QuickstartPage/HowDoIListItem.esm.js +1 -1
- package/dist/components/QuickstartPage/QuickStartChecksCard.esm.js +1 -1
- package/dist/components/QuickstartPage/QuickstartCardBase.esm.js +1 -1
- package/dist/components/QuickstartPage/QuickstartCollectorConfigurationsCard.esm.js +1 -1
- package/dist/components/QuickstartPage/QuickstartPage.esm.js +1 -1
- package/dist/components/QuickstartPage/QuickstartTracksCard.esm.js +1 -1
- package/dist/components/QuickstartPage/WelcomeHelpSection.esm.js +6 -6
- package/dist/components/QuickstartPage/WelcomeModal.esm.js +1 -1
- package/dist/components/RefetchingIndicator/RefetchingIndicator.esm.js +1 -1
- package/dist/components/RelativeTime/RelativeTime.esm.js +1 -1
- package/dist/components/RichTooltip/RichTooltip.esm.js +1 -1
- package/dist/components/Router.esm.js +1 -1
- package/dist/components/RoutingPage/RoutingPage.esm.js +1 -1
- package/dist/components/RuleResult/BranchResultComponent.esm.js +1 -1
- package/dist/components/RuleResult/ConditionResultComponent.esm.js +1 -1
- package/dist/components/RuleResult/RuleResultComponent.esm.js +1 -1
- package/dist/components/SearchBar/SearchBar.esm.js +1 -1
- package/dist/components/SearchFilters/SearchFilters.esm.js +1 -1
- package/dist/components/SoundcheckDialog/SoundcheckDialog.esm.js +1 -1
- package/dist/components/SoundcheckHeader/Breadcrumbs.esm.js +1 -1
- package/dist/components/SoundcheckHeader/SoundcheckHeader.esm.js +1 -1
- package/dist/components/SoundcheckHeader/SoundcheckHeaderContext.esm.js +1 -1
- package/dist/components/SoundcheckHeader/headerUtil.esm.js +1 -1
- package/dist/components/SoundcheckMarkdownContent/ComponentRenders.esm.js +2 -0
- package/dist/components/SoundcheckMarkdownContent/SoundcheckMarkdownContent.esm.js +2 -0
- package/dist/components/SoundcheckQueryClientProvider/SoundcheckQueryClientProvider.esm.js +1 -1
- package/dist/components/SummaryCard/SummaryCard.esm.js +1 -1
- package/dist/components/SummaryCard/SummaryCardActionsMenu.esm.js +1 -1
- package/dist/components/TechHealth/Filters/FacetFilter.esm.js +1 -1
- package/dist/components/TechHealth/Filters/FilterProvider.esm.js +1 -1
- package/dist/components/TechHealth/Filters/Filters.esm.js +1 -1
- package/dist/components/TechHealth/Filters/FiltersHeader.esm.js +1 -1
- package/dist/components/TechHealth/Filters/FiltersSection.esm.js +1 -1
- package/dist/components/TechHealth/Filters/NumberOfDaysFilter.esm.js +1 -1
- package/dist/components/TechHealth/Filters/useFacetOptions.esm.js +1 -1
- package/dist/components/TechHealth/Loading/Emoji.esm.js +1 -1
- package/dist/components/TechHealth/Loading/EmojiFountain.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/TechHealth/TechHealth.esm.js +1 -1
- package/dist/components/TechHealthSummary/SummaryAggregationsProvider.esm.js +1 -1
- package/dist/components/TechHealthSummary/TechHealthSummary.esm.js +1 -1
- package/dist/components/TechHealthTabs/ActionColumn.esm.js +1 -1
- package/dist/components/TechHealthTabs/CampaignResultsTab/CampaignResultsTab.esm.js +1 -1
- package/dist/components/TechHealthTabs/CheckResultsTab/CheckResultsTab.esm.js +1 -1
- package/dist/components/TechHealthTabs/CheckResultsTab/CheckTrendColumn.esm.js +1 -1
- package/dist/components/TechHealthTabs/EntityResultsTab/EntityResultsTab.esm.js +1 -1
- package/dist/components/TechHealthTabs/EntityResultsTab/EntityTrendColumn.esm.js +1 -1
- package/dist/components/TechHealthTabs/GroupResultsTab/GroupResultsTab.esm.js +1 -1
- package/dist/components/TechHealthTabs/GroupResultsTab/GroupTrendColumn.esm.js +1 -1
- package/dist/components/TechHealthTabs/MostRecentColumn.esm.js +1 -1
- package/dist/components/TechHealthTabs/NameColumn.esm.js +1 -1
- package/dist/components/TechHealthTabs/OwnerColumn.esm.js +1 -1
- package/dist/components/TechHealthTabs/PassRateTabHeader.esm.js +1 -1
- package/dist/components/TechHealthTabs/TrackResultsTab/TrackLevelTrendColumn.esm.js +1 -1
- package/dist/components/TechHealthTabs/TrackResultsTab/TrackResultsTab.esm.js +1 -1
- package/dist/components/TechHealthTabs/techHealthTabUtils.esm.js +1 -1
- package/dist/components/TopFailingChecksTable/TopFailingChecksTable.esm.js +2 -0
- 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/Steps/LevelsStep/LevelsStepNew.esm.js +2 -0
- package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackBadgeTypeSelect/TrackBadgeTypeSelect.esm.js +1 -1
- package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackDescriptionInput/TrackDescriptionInput.esm.js +1 -1
- package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackDetailsStep.esm.js +1 -1
- package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackDocumentationUrlInput/TrackDocumentationUrlInput.esm.js +1 -1
- package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackDraftInput/TrackDraftInput.esm.js +2 -0
- package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackNameInput/TrackNameInput.esm.js +1 -1
- package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackOwnerSelect/TrackOwnerSelect.esm.js +1 -1
- package/dist/components/TrackForm/TrackForm.esm.js +1 -1
- package/dist/components/TrackForm/utils/useTrackForm.esm.js +1 -1
- package/dist/components/TrackHistoryChartCard/TrackHistoryChartCard.esm.js +1 -1
- package/dist/components/TrackPage/FilterBar/FilterBar.esm.js +1 -1
- package/dist/components/TrackPage/TrackEntitiesTable/TrackEntitiesTable.esm.js +1 -1
- package/dist/components/TrackPage/TrackEntitiesTable/TrackStatusChip.esm.js +1 -1
- package/dist/components/TrackPage/TrackEntitiesTable/columns.esm.js +1 -1
- package/dist/components/TrackPage/TrackEntitiesTable/utils.esm.js +1 -1
- package/dist/components/TrackPage/TrackHistoryChart.esm.js +1 -1
- package/dist/components/TrackPage/TrackPage.esm.js +1 -1
- package/dist/components/TrackPage/TrackProgressCard.esm.js +1 -1
- package/dist/components/TrackPage/TrackStatus.esm.js +2 -0
- package/dist/components/TrackPage/TrackStatusBar.esm.js +2 -0
- package/dist/components/TrackPage/TrackStatusTable.esm.js +2 -0
- package/dist/components/TracksPage/TrackListPage/TrackListPage.esm.js +1 -1
- package/dist/components/TracksPage/TrackListPage/TrackMetadata.esm.js +1 -1
- package/dist/components/TracksPage/TrackListPage/TrackSummaryCard.esm.js +1 -1
- package/dist/components/TracksPage/TrackListPage/TracksOverviewSkeleton.esm.js +1 -1
- package/dist/components/TracksPage/TracksPage.esm.js +1 -1
- package/dist/components/TracksTab/TracksTab.esm.js +1 -1
- package/dist/contexts/GenericFormContext.esm.js +1 -1
- package/dist/contexts/UserProvider.esm.js +1 -1
- package/dist/graphql/generated/index.esm.js +152 -65
- package/dist/hooks/aggregations/useCertificationStatus.esm.js +1 -1
- package/dist/hooks/aggregations/useCheckStatus.esm.js +1 -1
- package/dist/hooks/aggregations/useCheckStatuses.esm.js +1 -1
- package/dist/hooks/catalog/useGetEntityFacets.esm.js +1 -1
- package/dist/hooks/catalog/useGetEntityRefs.esm.js +1 -1
- package/dist/hooks/certifications/useAllCertifications.esm.js +1 -1
- package/dist/hooks/certifications/useCertificationDetails.esm.js +1 -1
- package/dist/hooks/certifications/useCertificationDetailsForTrack.esm.js +1 -1
- package/dist/hooks/checks/useCheck.esm.js +2 -0
- package/dist/hooks/checks/useDeleteCheck.esm.js +1 -1
- package/dist/hooks/checks/useGetChecks.esm.js +1 -1
- package/dist/hooks/checks/useSetManualResult.esm.js +2 -0
- package/dist/hooks/checks/useUpdateCheck.esm.js +1 -1
- package/dist/hooks/exemptions/useDeleteExemption.esm.js +2 -0
- package/dist/hooks/exemptions/useExemptCheckIds.esm.js +2 -0
- package/dist/hooks/exemptions/useGetExemption.esm.js +2 -0
- package/dist/hooks/exemptions/useSetEntityExempt.esm.js +2 -0
- package/dist/hooks/facets/useFacetFilters.esm.js +1 -1
- package/dist/hooks/graphqlKeys.esm.js +1 -1
- package/dist/hooks/tracks/useGetAllTracks.esm.js +1 -1
- package/dist/hooks/tracks/useTrack.esm.js +2 -0
- package/dist/hooks/tracks/useUpdateTrack.esm.js +1 -1
- package/dist/hooks/useConfirmationModal.esm.js +1 -1
- package/dist/hooks/useSoundcheckAlert.esm.js +1 -1
- package/dist/images/data-registry-blk.svg +36 -0
- package/dist/images/data-registry-wht.svg +36 -0
- package/dist/index.d.ts +4 -5
- package/dist/index.esm.js +1 -1
- package/dist/routes.esm.js +1 -1
- package/dist/utils/colors.esm.js +2 -0
- package/dist/utils/export.esm.js +3 -3
- package/dist/utils/formatters.esm.js +2 -0
- package/dist/utils/validation.esm.js +1 -1
- package/package.json +30 -26
- package/dist/components/Badges/badge.esm.js +0 -2
- package/dist/components/CampaignForm/Steps/CampaignTrackStep.esm.js +0 -2
- package/dist/components/CheckDetails/ExemptionDetails.esm.js +0 -2
- package/dist/components/CheckDryRun/checkDryRunUtils.esm.js +0 -2
- package/dist/components/CheckPage/CheckStatusBar.esm.js +0 -2
- package/dist/components/CheckPage/FilterBar/FilterBar.esm.js +0 -2
- package/dist/components/CheckPage/StatusRow.esm.js +0 -2
- package/dist/components/ChecksErrors/ChecksErrors.esm.js +0 -2
- package/dist/components/ContextMenu/ContextMenu.esm.js +0 -2
- package/dist/components/DraggableChip/DraggableChip.esm.js +0 -2
- package/dist/components/DraggableChip/chipStyles.esm.js +0 -2
- package/dist/components/DroppableInput/DroppableInput.esm.js +0 -2
- package/dist/components/LevelCard/LevelCard.esm.js +0 -2
- package/dist/components/LevelCard/LevelTooltip.esm.js +0 -2
- package/dist/components/TrackForm/Steps/LevelsStep/ChecksSection/ChecksSection.esm.js +0 -2
- package/dist/components/TrackForm/Steps/LevelsStep/LevelsSection/LevelChipsSection.esm.js +0 -2
- package/dist/components/TrackForm/Steps/LevelsStep/LevelsSection/LevelsSection.esm.js +0 -2
- package/dist/components/TrackForm/Steps/LevelsStep/LevelsStep.esm.js +0 -2
- package/dist/components/TrackPage/TrackLevelsChart.esm.js +0 -2
- package/dist/hooks/useContextMenu.esm.js +0 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsx as r,jsxs as t}from"react/jsx-runtime";import{Box as a}from"@material-ui/core";import{makeStyles as m}from"@material-ui/core/styles";import{CheckHistoryChartCard as e}from"../CheckHistoryChartCard/CheckHistoryChartCard.esm.js";import{EntityPassRateCard as i}from"../EntityPassRateCard/EntityPassRateCard.esm.js";import{GroupPassRateCard as s}from"../GroupPassRateCard/GroupPassRateCard.esm.js";import{TrackHistoryChartCard as c}from"../TrackHistoryChartCard/TrackHistoryChartCard.esm.js";import{SummaryAggregationsProvider as p}from"./SummaryAggregationsProvider.esm.js";const n=m(o=>({root:{display:"flex",flexDirection:"column",gap:o.spacing(2),flex:1,background:o.palette.background.default}})),f=()=>{const o=n();return r(a,{className:o.root,children:t(p,{children:[r(e,{}),r(c,{}),r(i,{}),r(s,{})]})})};export{f as TechHealthSummary};
|
|
2
2
|
//# sourceMappingURL=TechHealthSummary.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Button as r,Typography as
|
|
1
|
+
import{jsx as t,Fragment as s}from"react/jsx-runtime";import{Button as r,Typography as n}from"@material-ui/core";import{useNavigate as c}from"react-router-dom";import{StyledTooltip as d}from"../StyledTooltip/StyledTooltip.esm.js";import{usePassRateTabStyles as m}from"./PassRateTabStyles.esm.js";const h=({navigateTo:o,disabled:e,toolTipText:a})=>{const i=m(),l=c();return o?a?t(d,{title:a,children:t("span",{children:t(r,{variant:"text",className:i.detailButton,onClick:()=>l(o),disabled:e,children:t(n,{style:e?{textDecoration:"line-through"}:{},className:i.ownerText,children:"View detail"})})})}):t(r,{variant:"text",className:i.detailButton,disabled:e,children:t(n,{style:e?{textDecoration:"line-through"}:{},className:i.ownerText,onClick:()=>l(o),children:"View detail"})}):t(s,{})};export{h as ActionColumn};
|
|
2
2
|
//# sourceMappingURL=ActionColumn.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useRouteRef as I}from"@backstage/core-plugin-api";import{Typography as T,Box as M,Grid as S}from"@material-ui/core";import
|
|
1
|
+
import{jsx as a,jsxs as G}from"react/jsx-runtime";import{useRouteRef as I}from"@backstage/core-plugin-api";import{Typography as T,Box as M,Grid as S}from"@material-ui/core";import{useState as i,useEffect as A,useMemo as B}from"react";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{useGetCampaigns as D}from"../../../hooks/campaigns/useGetCampaigns.esm.js";import"../../../hooks/useConfirmationModal.esm.js";import{useTrackPassRateTrend as F}from"../../../hooks/aggregations/useTrackPassRateTrend.esm.js";import"react-router-dom";import{campaignDetailsRouteRef as N}from"../../../routes.esm.js";import{campaignTrackPassRatesCsvFilename as j}from"../../../utils/charts.esm.js";import{PassRateGrid as V}from"../../PassRateGrid/PassRateGrid.esm.js";import"../../PassRateGrid/types.esm.js";import{PassRateTable as H}from"../../PassRateTable/PassRateTable.esm.js";import"../../PassRateTable/types.esm.js";import"../../TechHealth/Filters/types.esm.js";import"../../TechHealth/Filters/FacetFilter.esm.js";import{useFilterContext as q}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{Loading as z}from"../../TechHealth/Loading/Loading.esm.js";import{PassRateTabHeader as J}from"../PassRateTabHeader.esm.js";import{usePassRateTabStyles as K}from"../PassRateTabStyles.esm.js";import{trackPassRatesToCsv as O}from"../TechHealthExportFunctions.esm.js";import{ViewMode as u,generateTrackPassRateGridData as Q}from"../techHealthTabUtils.esm.js";import{generateColumns as U}from"../TrackResultsTab/TrackResultsTab.esm.js";const W=()=>{const h=K(),{filter:g}=q(),m=I(N),{data:k}=D({orderAlphabetical:"default",searchByStatus:"active"}),t=k?.edges.map(r=>r.node)?.map(({id:r,track:f})=>({campaignId:r,trackId:f.id})),P=t?.map(({trackId:r})=>({trackId:r})),{data:s,isLoading:R,isError:v}=F({...g,tracks:P,trackTypes:{included:["campaign"]}}),[p,C]=i(u.TABLE),[e,w]=i(""),[c,n]=i(0),[d,b]=i(10);A(()=>{n(0)},[g,e]);const L=B(()=>U(s?.individualTrackPassRate??[],void 0,m,t),[s?.individualTrackPassRate,m,t]);if(R)return a(z,{});if(v)return a(T,{color:"error",children:"Failed to load campaign tracks"});const{individualTrackPassRate:l}=s;if(!l)return a(T,{color:"error",children:"No available campaign tracks"});const o=e.length?l.filter(({trackName:r})=>r?.toLowerCase()?.includes(e.toLowerCase())):l,y=async()=>O(o,t),x=(r,f)=>{n(()=>f)},E=r=>{b(+r.target.value),n(0)};return a(M,{className:h.root,children:G(S,{container:!0,direction:"row",children:[a(J,{viewMode:p,setViewMode:C,isLoading:R,searchTerm:e,setSearchTerm:w,searchPlaceholder:"Search Available Campaigns",fetchCsvData:y,csvFilename:j}),p===u.TABLE&&a(H,{data:o,columns:L}),p===u.GRID&&a(V,{data:Q(o.slice(c*d,(c+1)*d),void 0,m,t),totalCount:o?.length??0,page:c,rowsPerPage:d,onPageChange:x,onRowsPerPageChange:E})]})})};export{W as CampaignResultsTab};
|
|
2
2
|
//# sourceMappingURL=CampaignResultsTab.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useRouteRef as
|
|
1
|
+
import{jsx as r,jsxs as L}from"react/jsx-runtime";import{useRouteRef as N}from"@backstage/core-plugin-api";import{Typography as R,Box as E,Grid as A}from"@material-ui/core";import{useState as m,useEffect as D}from"react";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{useCheckPassRateTrend as x}from"../../../hooks/aggregations/useCheckPassRateTrend.esm.js";import"react-router-dom";import{checkDetailsRouteRef as y}from"../../../routes.esm.js";import{checkPassRatesCsvFilename as M}from"../../../utils/charts.esm.js";import{PassRateGrid as O}from"../../PassRateGrid/PassRateGrid.esm.js";import"../../PassRateGrid/types.esm.js";import{PassRateTable as S}from"../../PassRateTable/PassRateTable.esm.js";import"../../PassRateTable/types.esm.js";import"../../TechHealth/Filters/types.esm.js";import"../../TechHealth/Filters/FacetFilter.esm.js";import{useFilterContext as F}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{Loading as G}from"../../TechHealth/Loading/Loading.esm.js";import{NameColumn as B}from"../NameColumn.esm.js";import{ActionColumn as I}from"../ActionColumn.esm.js";import{OwnerColumn as j}from"../OwnerColumn.esm.js";import{checkPassRatesToCsv as V}from"../TechHealthExportFunctions.esm.js";import{PassRateTabHeader as H}from"../PassRateTabHeader.esm.js";import{usePassRateTabStyles as J}from"../PassRateTabStyles.esm.js";import{ViewMode as C,generateCheckPassRateGridData as W}from"../techHealthTabUtils.esm.js";import"recharts";import"../../Charts/ChartTypes.esm.js";import"../../Charts/LineChart/LineChart.esm.js";import"../../Charts/chartUtils.esm.js";import"luxon";import"../../TechHealthSummary/SummaryAggregationsProvider.esm.js";import"../../Charts/BarChart/BarChart.esm.js";import"../../PassRateTable/NewPassRateTable.esm.js";import{MostRecentColumn as q}from"../MostRecentColumn.esm.js";import{CheckTrendColumn as z}from"./CheckTrendColumn.esm.js";function K(s){return[{label:"NAME",id:"checkName",renderCell:e=>r(B,{name:e.checkName??e.id,description:e.checkDescription})},{label:"LATEST",id:"snapshotPassRate",renderCell:e=>r(q,{snapshot:e.snapshotPassRate})},{label:"TREND",id:"trendPassRate",renderCell:e=>r(z,{row:e})},{label:"OWNER",id:"checkOwner",renderCell:e=>r(j,{ownerEntityRef:e.checkOwnerRef??void 0})},{label:"ACTION",id:"action",renderCell:(e,t,n)=>r(I,{navigateTo:s({checkId:e.id}),disabled:t,toolTipText:n})}]}const Q=()=>{const s=J(),{filter:e}=F(),t=N(y),{data:n,isLoading:u,isError:k}=x(e),[c,P]=m(C.TABLE),[o,T]=m(""),[l,p]=m(0),[d,w]=m(10);if(D(()=>{p(0)},[e,o]),u)return r(G,{});if(k)return r(R,{color:"error",children:"Failed to load checks"});const{individualCheckPassRates:h}=n;if(!h)return r(R,{color:"error",children:"No available checks"});const i=o.length?h.filter(({id:a,checkName:f})=>f?.toLowerCase()?.includes(o.toLowerCase())||a.toLowerCase().includes(o.toLowerCase())):h,g=async()=>V(i),b=(a,f)=>{p(()=>f)},v=a=>{w(+a.target.value),p(0)};return r(E,{className:s.root,children:L(A,{container:!0,direction:"row",children:[r(H,{viewMode:c,setViewMode:P,isLoading:u,searchTerm:o,setSearchTerm:T,searchPlaceholder:"Search for Available Checks",fetchCsvData:g,csvFilename:M}),c===C.TABLE&&r(S,{data:i,columns:K(t),showsCheckData:!0}),c===C.GRID&&r(O,{data:W(i.slice(l*d,(l+1)*d),t),totalCount:i?.length??0,page:l,rowsPerPage:d,onPageChange:b,onRowsPerPageChange:v})]})})};export{Q as CheckResultsTab};
|
|
2
2
|
//# sourceMappingURL=CheckResultsTab.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{Box as a}from"@material-ui/core";import"recharts";import{convertPassRateToDataPoints as s}from"../../Charts/ChartTypes.esm.js";import"../../Charts/LineChart/LineChart.esm.js";import"../../Charts/chartUtils.esm.js";import{PassRateHistoryLineChart as e}from"../../Charts/LineChart/PassRateHistoryLineChart.esm.js";import"luxon";import"../../TechHealthSummary/SummaryAggregationsProvider.esm.js";import"@backstage/catalog-model";import"../../Charts/BarChart/BarChart.esm.js";import{usePassRateTabStyles as i}from"../PassRateTabStyles.esm.js";const p=({row:o})=>{const r=i(),m=s(o.trendPassRates??[]);return t(a,{className:r.flexColumn,children:t(e,{chartData:m,tableChart:!0})})};export{p as CheckTrendColumn};
|
|
2
2
|
//# sourceMappingURL=CheckTrendColumn.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{parseEntityRef as N}from"@backstage/catalog-model";import{useApi as V,useRouteRef as H}from"@backstage/core-plugin-api";import{entityRouteRef as W}from"@backstage/plugin-catalog-react";import{Typography as L,Box as $,Grid as
|
|
1
|
+
import{jsx as t,jsxs as j}from"react/jsx-runtime";import{parseEntityRef as N}from"@backstage/catalog-model";import{useApi as V,useRouteRef as H}from"@backstage/core-plugin-api";import{entityRouteRef as W}from"@backstage/plugin-catalog-react";import{Typography as L,Box as $,Grid as q}from"@material-ui/core";import{useState as a,useEffect as A}from"react";import{soundcheckApiRef as z}from"../../../api.esm.js";import"@tanstack/react-query";import"../../../hooks/graphqlKeys.esm.js";import"@spotify/backstage-plugin-soundcheck-common";import"../../../hooks/useSoundcheckAlert.esm.js";import"../../../hooks/useConfirmationModal.esm.js";import{useEntityPassRateTrend as J}from"../../../hooks/aggregations/useEntityPassRateTrend.esm.js";import"react-router-dom";import{entityPassRatesCsvFilename as K}from"../../../utils/charts.esm.js";import{PassRateGrid as Q}from"../../PassRateGrid/PassRateGrid.esm.js";import"../../PassRateGrid/types.esm.js";import{NewPassRateTable as U}from"../../PassRateTable/NewPassRateTable.esm.js";import"../../TechHealth/Filters/types.esm.js";import"../../TechHealth/Filters/FacetFilter.esm.js";import{useFilterContext as X}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{Loading as Y}from"../../TechHealth/Loading/Loading.esm.js";import{ActionColumn as Z}from"../ActionColumn.esm.js";import{MostRecentColumn as _}from"../MostRecentColumn.esm.js";import{NameColumn as ee}from"../NameColumn.esm.js";import{OwnerColumn as te}from"../OwnerColumn.esm.js";import{PassRateTabHeader as oe}from"../PassRateTabHeader.esm.js";import{usePassRateTabStyles as re}from"../PassRateTabStyles.esm.js";import{entityPassRatesToCsv as ie}from"../TechHealthExportFunctions.esm.js";import{ViewMode as g,generateEntityPassRateGridData as ae}from"../techHealthTabUtils.esm.js";import{EntityTrendColumn as se}from"./EntityTrendColumn.esm.js";function ne(l){return[{label:"NAME",id:"entityName",renderCell:({id:o,entityDescription:s})=>t(ee,{name:N(o).name,description:s})},{label:"LATEST",id:"latest",renderCell:o=>t(_,{snapshot:o.snapshotPassRate})},{label:"TREND",id:"trend",renderCell:o=>t(se,{row:o})},{label:"OWNER",id:"entityOwnerRef",renderCell:({entityOwnerRef:o})=>t(te,{ownerEntityRef:o??void 0})},{label:"ACTION",id:"action",renderCell:({id:o})=>t(Z,{navigateTo:`${l(N(o))}/soundcheck`})}]}const de=()=>{const l=re(),o=V(z),{filter:s}=X(),c=H(W),[P,R]=a([]),[C,n]=a(void 0),[h,p]=a(0),[u,x]=a(10),{data:r,isLoading:y,isError:I}=J({filter:s,first:u,after:C}),[i,D]=a(r?.individualEntityPassRates),S=i?.edges?i?.edges[i?.edges.length-1]:{cursor:""};A(()=>{r&&D(()=>({totalCount:r.individualEntityPassRates.totalCount,edges:r.individualEntityPassRates.edges,pageInfo:{endCursor:r.individualEntityPassRates.pageInfo.endCursor,hasNextPage:r.individualEntityPassRates.pageInfo.hasNextPage??!1,hasPreviousPage:r.individualEntityPassRates.pageInfo.hasPreviousPage??!1}}))},[r]);const[f,F]=a(g.TABLE),[d,G]=a("");if(A(()=>{p(0),n("")},[s]),y)return t(Y,{});if(I)return t(L,{color:"error",children:"Failed to load entities"});if(!i?.edges?.length)return t(L,{color:"error",children:"No available entities"});const v=d.length?{...i,edges:i.edges.filter(({node:e})=>e.id.toLowerCase().includes(d.toLowerCase())),totalCount:i.edges.filter(({node:e})=>e.id.toLowerCase().includes(d.toLowerCase())).length}:i,E=v?.edges.map(({node:e})=>e)??[],w=v?.totalCount??0,M=async()=>{const{individualEntityPassRates:e}=await o.getIndividualEntityPassRates({filter:s});return ie(e.edges.map(({node:m})=>m))},O=()=>{R(e=>[...e,C]),n(S?.cursor)},B=()=>{n(P[P.length-1]),R(e=>e.slice(0,-1))},T=(e,m)=>{p(k=>(m>k?O():B(),m))},b=e=>{n(void 0),x(+e.target.value),p(0)};return t($,{className:l.root,children:j(q,{container:!0,direction:"row",children:[t(oe,{viewMode:f,setViewMode:F,isLoading:y,searchTerm:d,setSearchTerm:G,searchPlaceholder:"Search available entities",fetchCsvData:M,csvFilename:K}),f===g.TABLE&&t(U,{data:E,totalCount:w,page:h,rowsPerPage:u,columns:ne(c),onPageChange:T,onRowsPerPageChange:b}),f===g.GRID&&t(Q,{data:ae(E,c),totalCount:w,page:h,rowsPerPage:u,onPageChange:T,onRowsPerPageChange:b})]})})};export{de as EntityResultsTab};
|
|
2
2
|
//# sourceMappingURL=EntityResultsTab.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{Box as m}from"@material-ui/core";import"recharts";import{convertPassRateToDataPoints as s}from"../../Charts/ChartTypes.esm.js";import"../../Charts/LineChart/LineChart.esm.js";import"../../Charts/chartUtils.esm.js";import{PassRateHistoryLineChart as e}from"../../Charts/LineChart/PassRateHistoryLineChart.esm.js";import"luxon";import"../../TechHealthSummary/SummaryAggregationsProvider.esm.js";import"@backstage/catalog-model";import"../../Charts/BarChart/BarChart.esm.js";import{usePassRateTabStyles as i}from"../PassRateTabStyles.esm.js";const p=({row:{trendPassRates:r}})=>{const o=i(),a=s(r??[]);return t(m,{className:o.flexColumn,children:t(e,{chartData:a,tableChart:!0})})};export{p as EntityTrendColumn};
|
|
2
2
|
//# sourceMappingURL=EntityTrendColumn.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{parseEntityRef as
|
|
1
|
+
import{jsx as o,jsxs as k}from"react/jsx-runtime";import{parseEntityRef as L}from"@backstage/catalog-model";import{useApi as H,useRouteRef as O}from"@backstage/core-plugin-api";import{entityRouteRef as q}from"@backstage/plugin-catalog-react";import{Typography as x,Box as z,Grid as J}from"@material-ui/core";import{useState as s,useEffect as A}from"react";import{soundcheckApiRef as K}from"../../../api.esm.js";import"@tanstack/react-query";import"../../../hooks/graphqlKeys.esm.js";import"@spotify/backstage-plugin-soundcheck-common";import"../../../hooks/useSoundcheckAlert.esm.js";import"../../../hooks/useConfirmationModal.esm.js";import{useGroupPassRateTrend as Q}from"../../../hooks/aggregations/useGroupPassRateTrend.esm.js";import"react-router-dom";import{groupPassRatesCsvFilename as U}from"../../../utils/charts.esm.js";import{PassRateGrid as W}from"../../PassRateGrid/PassRateGrid.esm.js";import"../../PassRateGrid/types.esm.js";import{NewPassRateTable as X}from"../../PassRateTable/NewPassRateTable.esm.js";import"../../TechHealth/Filters/types.esm.js";import"../../TechHealth/Filters/FacetFilter.esm.js";import{useFilterContext as Y}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{Loading as Z}from"../../TechHealth/Loading/Loading.esm.js";import{ActionColumn as _}from"../ActionColumn.esm.js";import{MostRecentColumn as $}from"../MostRecentColumn.esm.js";import{NameColumn as ee}from"../NameColumn.esm.js";import{PassRateTabHeader as oe}from"../PassRateTabHeader.esm.js";import{usePassRateTabStyles as re}from"../PassRateTabStyles.esm.js";import{groupPassRatesToCsv as te}from"../TechHealthExportFunctions.esm.js";import{ViewMode as f,generateGroupPassRateGridData as ae}from"../techHealthTabUtils.esm.js";import{GroupTrendColumn as se}from"./GroupTrendColumn.esm.js";function ie(l){return[{label:"NAME",id:"groupName",renderCell:({groupTitle:r,id:i})=>o(ee,{name:r??L(i).name})},{label:"LATEST",id:"latest",renderCell:r=>o($,{snapshot:r.snapshotPassRate})},{label:"TREND",id:"trend",renderCell:r=>o(se,{row:r})},{label:"ACTION",id:"action",renderCell:({id:r})=>o(_,{navigateTo:l(L(r))})}]}const ne=()=>{const l=re(),r=H(K),{filter:i}=Y();i.context=void 0;const c=O(q),[P,R]=s([]),[C,n]=s(void 0),[h,d]=s(0),[u,E]=s(10),{data:t,isLoading:T,isError:I}=Q({filter:i,first:u,after:C}),[a,y]=s(t?.groupPassRates),S=a?.edges?a?.edges[a?.edges.length-1]:{cursor:""};A(()=>{t&&y(()=>({totalCount:t.groupPassRates.totalCount,edges:t.groupPassRates.edges,pageInfo:{endCursor:t.groupPassRates.pageInfo.endCursor,hasNextPage:t.groupPassRates.pageInfo.hasNextPage??!1,hasPreviousPage:t.groupPassRates.pageInfo.hasPreviousPage??!1}}))},[t]);const[g,D]=s(f.TABLE),[m,F]=s("");if(A(()=>{d(0),n("")},[i]),T)return o(Z,{});if(I)return o(x,{color:"error",children:"Failed to load groups"});if(!a?.edges?.length)return o(x,{color:"error",children:"No available groups"});const v=m.length?{...a,edges:a.edges.filter(({node:e})=>e.groupTitle?.toLowerCase()?.includes(m.toLowerCase())||e.id.toLowerCase().includes(m.toLowerCase()))}:a,w=v?.edges.map(({node:e})=>e)??[],b=v?.totalCount??0,M=async()=>{const{groupPassRates:e}=await r.getIndividualGroupPassRates({filter:i});return te(e.edges.map(({node:p})=>p))},B=()=>{R(e=>[...e,C]),n(S?.cursor)},V=()=>{n(P[P.length-1]),R(e=>e.slice(0,-1))},N=(e,p)=>{d(j=>(p>j?B():V(),p))},G=e=>{n(void 0),E(+e.target.value),d(0)};return o(z,{className:l.root,children:k(J,{container:!0,direction:"row",children:[o(oe,{viewMode:g,setViewMode:D,isLoading:T,searchTerm:m,setSearchTerm:F,searchPlaceholder:"Search available teams",csvFilename:U,fetchCsvData:M}),g===f.TABLE&&o(X,{data:w,totalCount:b,page:h,rowsPerPage:u,columns:ie(c),onPageChange:N,onRowsPerPageChange:G}),g===f.GRID&&o(W,{data:ae(w,c),totalCount:b,page:h,rowsPerPage:u,onPageChange:N,onRowsPerPageChange:G})]})})};export{ne as GroupResultsTab};
|
|
2
2
|
//# sourceMappingURL=GroupResultsTab.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Box as
|
|
1
|
+
import{jsx as r}from"react/jsx-runtime";import{Box as a,Typography as e}from"@material-ui/core";import"recharts";import{convertPassRateToDataPoints as s}from"../../Charts/ChartTypes.esm.js";import"../../Charts/LineChart/LineChart.esm.js";import"../../Charts/chartUtils.esm.js";import{PassRateHistoryLineChart as i}from"../../Charts/LineChart/PassRateHistoryLineChart.esm.js";import"luxon";import"../../TechHealthSummary/SummaryAggregationsProvider.esm.js";import"@backstage/catalog-model";import"../../Charts/BarChart/BarChart.esm.js";import{usePassRateTabStyles as p}from"../PassRateTabStyles.esm.js";const n=({row:{trendPassRates:m}})=>{const t=p(),o=s(m??[]);return o.length?r(a,{className:t.flexColumn,children:r(i,{chartData:o,tableChart:!0})}):r(a,{className:t.flexColumn,children:r(e,{children:"No data"})})};export{n as GroupTrendColumn};
|
|
2
2
|
//# sourceMappingURL=GroupTrendColumn.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsx as r,jsxs as t}from"react/jsx-runtime";import{Box as e,Typography as n}from"@material-ui/core";import{usePassRateTabStyles as m}from"./PassRateTabStyles.esm.js";const a=({snapshot:o})=>{const s=m();return r(e,{className:s.flexColumn,children:t(n,{children:[Math.round(o),"%"]})})};export{a as MostRecentColumn};
|
|
2
2
|
//# sourceMappingURL=MostRecentColumn.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsxs as m,jsx as t}from"react/jsx-runtime";import{Box as s,Typography as n}from"@material-ui/core";import{SoundcheckMarkdownContent as i}from"../SoundcheckMarkdownContent/SoundcheckMarkdownContent.esm.js";import"@backstage/core-components";import"react";import"react-markdown";import"rehype-raw";import"remark-gfm";import{usePassRateTabStyles as p}from"./PassRateTabStyles.esm.js";const a=({name:r="",description:e=""})=>{const o=p();return m(s,{className:o.flexColumn,children:[t(n,{className:o.boldText,children:r}),t(i,{className:o.descriptionText,content:e??""})]})};export{a as NameColumn};
|
|
2
2
|
//# sourceMappingURL=NameColumn.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{stringifyEntityRef as a,parseEntityRef as l}from"@backstage/catalog-model";import{EntityRefLink as
|
|
1
|
+
import{jsx as n}from"react/jsx-runtime";import{stringifyEntityRef as a,parseEntityRef as l}from"@backstage/catalog-model";import{EntityRefLink as f}from"@backstage/plugin-catalog-react";import{makeStyles as m,Tooltip as p,Typography as y}from"@material-ui/core";import{useEntityByRef as s}from"../../hooks/catalog/useEntityByRef.esm.js";const d=e=>e?.kind==="Group",c=e=>e?.kind==="User",u=m(e=>({ownerLink:{"& span":{"&:hover":{textDecoration:"underline"}},fontSize:e.typography.body1.fontSize}})),h=({ownerEntityRef:e})=>{const{data:t,error:o}=s(e??void 0),i=u();if(t){let r;return d(t)||c(t)?r=t.metadata.title??t.spec.profile?.displayName:r=t.metadata.name,n(f,{entityRef:a(t),title:r,className:i.ownerLink})}else if(o&&e)return n(p,{title:"Unable to pull owner reference from Catalog API",children:n(y,{style:{color:"red"},variant:"body2",children:(()=>{try{return l(e).name}catch{return e}})()})});return null};export{h as OwnerColumn};
|
|
2
2
|
//# sourceMappingURL=OwnerColumn.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Grid as
|
|
1
|
+
import{jsxs as o,jsx as e}from"react/jsx-runtime";import{Grid as s,Button as I,Menu as w,MenuItem as z,ListItemIcon as M,ListItemText as N}from"@material-ui/core";import{makeStyles as E}from"@material-ui/core/styles";import G from"@material-ui/icons/Apps";import P from"@material-ui/icons/GridOn";import V from"@material-ui/icons/KeyboardArrowDown";import j from"@material-ui/icons/Reorder";import{ToggleButtonGroup as R,ToggleButton as h}from"@material-ui/lab";import{useRef as A,useState as u,useEffect as D}from"react";import{CSVLink as O}from"react-csv";import{SearchBar as W}from"../SearchBar/SearchBar.esm.js";import{ViewMode as g}from"./techHealthTabUtils.esm.js";const _=E(r=>({header:{padding:r.spacing(0,0,1),display:"flex"},headerButtons:{display:"flex",gap:r.spacing(1),flexWrap:"nowrap",justifyContent:"end",alignItems:"end"},exportButton:{height:"40px",width:"112px"},csvLink:{display:"none"},menuIconSize:{minWidth:r.spacing(4),color:r.palette.text.primary},menuList:{backgroundColor:r.palette.background.paper,color:r.palette.text.primary}})),F=({viewMode:r,setViewMode:f,isLoading:c,searchTerm:x,setSearchTerm:v,searchPlaceholder:b,fetchCsvData:S,csvFilename:k})=>{const t=_(),m=A(),B=(i,p)=>{p!==null&&f(p)},[d,n]=u(null),[a,C]=u([]),l=!!d,L=i=>{n(i.currentTarget)},T=()=>{n(null)},y=async()=>{n(null);const i=await S();C(i)};return D(()=>{a.length&&m?.current?.link.click()},[a]),o(s,{container:!0,spacing:2,className:t.header,children:[e(s,{item:!0,xs:6,children:e(W,{searchTerm:x,setSearchTerm:v,disabled:c,placeholder:b||"Search",variant:"outlined",size:"small"})}),o(s,{item:!0,xs:6,className:t.headerButtons,children:[e(I,{id:"export-button",className:t.exportButton,disabled:c,variant:"contained",color:"primary","aria-controls":l?"export-menu":void 0,"aria-haspopup":"true","aria-expanded":l?"true":void 0,onClick:L,endIcon:e(V,{}),children:"Export"}),e(O,{data:a,filename:k,className:t.csvLink,ref:m,target:"_blank"}),e(w,{id:"export-menu",anchorEl:d,getContentAnchorEl:null,open:l,onClose:T,MenuListProps:{"aria-labelledby":"export-button",disablePadding:!0,className:t.menuList},anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:o(z,{onClick:y,children:[e(M,{color:"inherit",className:t.menuIconSize,children:e(P,{fontSize:"small"})}),e(N,{children:"CSV"})]})}),o(R,{size:"small",value:r,exclusive:!0,onChange:B,children:[e(h,{value:g.TABLE,title:"Table view",children:e(j,{color:"inherit"})}),e(h,{value:g.GRID,title:"Grid view",children:e(G,{color:"inherit"})})]})]})]})};export{F as PassRateTabHeader};
|
|
2
2
|
//# sourceMappingURL=PassRateTabHeader.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Box as
|
|
1
|
+
import{jsxs as t,jsx as m}from"react/jsx-runtime";import{Box as e,Typography as i}from"@material-ui/core";import"recharts";import{convertPassRateToDataPoints as p}from"../../Charts/ChartTypes.esm.js";import"../../Charts/LineChart/LineChart.esm.js";import"../../Charts/chartUtils.esm.js";import{PassRateHistoryLineChart as n}from"../../Charts/LineChart/PassRateHistoryLineChart.esm.js";import"luxon";import"../../TechHealthSummary/SummaryAggregationsProvider.esm.js";import"@backstage/catalog-model";import"../../Charts/BarChart/BarChart.esm.js";import{usePassRateTabStyles as c}from"../PassRateTabStyles.esm.js";const h=({row:{trendPassRates:r,snapshotPassRate:o}})=>{const a=c(),s=p(r??[]);return t(e,{className:a.flexColumn,children:[t(i,{children:[Math.round(o),"%"]}),m(n,{chartData:s,tableChart:!0})]})};export{h as TrackTrendColumn};
|
|
2
2
|
//# sourceMappingURL=TrackLevelTrendColumn.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsx as e,jsxs as N,Fragment as O}from"react/jsx-runtime";import{useRouteRef as A}from"@backstage/core-plugin-api";import{Typography as k,Box as x,Grid as y}from"@material-ui/core";import{useState as p,useEffect as D,useMemo as S}from"react";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{useTrackPassRateTrend as F}from"../../../hooks/aggregations/useTrackPassRateTrend.esm.js";import"react-router-dom";import{trackDetailsRouteRef as G}from"../../../routes.esm.js";import{trackPassRatesCsvFilename as B}from"../../../utils/charts.esm.js";import{PassRateGrid as V}from"../../PassRateGrid/PassRateGrid.esm.js";import"../../PassRateGrid/types.esm.js";import{PassRateTable as j}from"../../PassRateTable/PassRateTable.esm.js";import"../../PassRateTable/types.esm.js";import"../../TechHealth/Filters/types.esm.js";import"../../TechHealth/Filters/FacetFilter.esm.js";import{useFilterContext as I}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{Loading as $}from"../../TechHealth/Loading/Loading.esm.js";import{trackPassRatesToCsv as H}from"../TechHealthExportFunctions.esm.js";import{ActionColumn as W}from"../ActionColumn.esm.js";import{NameColumn as q}from"../NameColumn.esm.js";import{OwnerColumn as z}from"../OwnerColumn.esm.js";import{PassRateTabHeader as J}from"../PassRateTabHeader.esm.js";import{usePassRateTabStyles as K}from"../PassRateTabStyles.esm.js";import{ViewMode as h,generateTrackPassRateGridData as Q,getDetailsRoute as U}from"../techHealthTabUtils.esm.js";import{TrackTrendColumn as X}from"./TrackLevelTrendColumn.esm.js";const v=(m,s,o)=>{const i=Math.min(5,s-m+1);return Array.from({length:i}).map((n,l)=>{const a=m+l;return{label:o?"PROGRESS":`LEVEL ${a}`,id:`levels-${l}`,renderCell:r=>{const t=r.levels?.find(({levelOrdinal:f})=>f===a);return t?e(X,{row:t}):e(O,{})}}})},P=(m,s,o,i)=>{const n=m.flatMap(r=>r.levels?.map(t=>t.levelOrdinal)||[]),l=Math.min(...n),a=Math.max(...n);return[{label:"NAME",id:"trackName",renderCell:r=>e(q,{name:r.trackName??r.id,description:r.trackDescription})},...v(l,a,!!o),{label:"OWNER",id:"trackOwnerRef",renderCell:r=>e(z,{ownerEntityRef:r.trackOwnerRef??void 0})},{label:"ACTION",id:"action",renderCell:({id:r})=>e(W,{navigateTo:U(r,s,o,i)})}]},Y=()=>{const m=K(),{filter:s}=I(),o=A(G),{data:i,isLoading:n,isError:l}=F(s),[a,r]=p(h.TABLE),[t,f]=p(""),[u,R]=p(0),[T,w]=p(10);D(()=>{R(0)},[s,t]);const b=S(()=>P(i?.individualTrackPassRate??[],o),[i?.individualTrackPassRate,o]);if(n)return e($,{});if(l)return e(k,{color:"error",children:"Failed to load tracks"});const{individualTrackPassRate:C}=i;if(!C)return e(k,{color:"error",children:"No available tracks"});const c=t.length?C.filter(({id:d,trackName:g})=>g?.toLowerCase()?.includes(t.toLowerCase())||d.toLowerCase().includes(t.toLowerCase())):C,E=async()=>H(c),L=(d,g)=>{R(()=>g)},M=d=>{w(+d.target.value),R(0)};return e(x,{className:m.root,children:N(y,{container:!0,direction:"row",children:[e(J,{viewMode:a,setViewMode:r,isLoading:n,searchTerm:t,setSearchTerm:f,searchPlaceholder:"Search Available Tracks",fetchCsvData:E,csvFilename:B}),a===h.TABLE&&e(j,{data:c,columns:b}),a===h.GRID&&e(V,{data:Q(c.slice(u*T,(u+1)*T),o),totalCount:c?.length??0,page:u,rowsPerPage:T,onPageChange:L,onRowsPerPageChange:M})]})})};export{Y as TrackResultsTab,P as generateColumns,v as generateTrendColumns};
|
|
2
2
|
//# sourceMappingURL=TrackResultsTab.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{parseEntityRef as p}from"@backstage/catalog-model";import"react";import"recharts";import{convertPassRateToDataPoints as l}from"../Charts/ChartTypes.esm.js";import"../Charts/LineChart/LineChart.esm.js";import"@material-ui/core";import"../Charts/chartUtils.esm.js";import{formatLineChartData as P}from"../Charts/LineChart/TrackPassRateHistoryLineChart.esm.js";import"luxon";import"../TechHealthSummary/SummaryAggregationsProvider.esm.js";import"../Charts/BarChart/BarChart.esm.js";import"../PassRateGrid/PassRateGrid.esm.js";import{Trend as n}from"../PassRateGrid/types.esm.js";var m=(e=>(e[e.TABLE=0]="TABLE",e[e.GRID=1]="GRID",e))(m||{});function i(e){if(!e||!e.length)return n.FLAT;if(e.length===1)return e[0]>0?n.UP:n.FLAT;const t=e[e.length-1]-e[0];return t<0?n.DOWN:t>0?n.UP:n.FLAT}function u(e,t){return e.map(a=>({id:a.id,name:a.checkName??a.id,description:a.checkDescription??void 0,lineChart:{snapshotPassRates:[{value:a.snapshotPassRate,trend:i(a.trendPassRates??[])}],trendPassRates:l(a.trendPassRates??[])},owner:a.checkOwnerRef??void 0,navigateTo:t({checkId:a.id})}))}function h(e,t){return e.map(a=>({id:a.id,name:p(a.id).name,description:a.entityDescription??void 0,lineChart:{snapshotPassRates:[{value:a.snapshotPassRate,trend:i(a.trendPassRates??[])}],trendPassRates:l(a.trendPassRates??[])},owner:a.entityOwnerRef??void 0,navigateTo:`${t(p(a.id))}/soundcheck`}))}function f(e,t){return e.map(a=>({id:a.id,name:a.groupTitle??p(a.id).name,lineChart:{snapshotPassRates:[{value:a.snapshotPassRate,trend:i(a.trendPassRates??[])}],trendPassRates:l(a.trendPassRates??[])},navigateTo:t(p(a.id))}))}const c=(e,t,a,o)=>{if(t)return t({trackId:e});if(a&&o){const s=o.find(({trackId:r})=>r===e)?.campaignId;if(s)return a({campaignId:s})}};function g(e,t,a,o){return e.map(s=>({id:s.id,name:s.trackName??s.id,description:s.trackDescription??void 0,lineChart:{snapshotPassRates:s.levels?.map(({levelOrdinal:r,levelName:d,snapshotPassRate:R,trendPassRates:v})=>({name:d?`Level ${r} (${d})`:`Level ${r}`,value:R,trend:i(v??[])}))??[],trendPassRates:P({overallTrackPassRate:s.levels}),lineConfigs:s.levels?.map(({levelOrdinal:r,levelName:d})=>({dataKey:`Level${r}`,name:d??`Level ${r}`}))??[]},owner:s.trackOwnerRef??void 0,navigateTo:c(s.id,t,a,o)}))}export{m as ViewMode,i as calculateTrend,u as generateCheckPassRateGridData,h as generateEntityPassRateGridData,f as generateGroupPassRateGridData,g as generateTrackPassRateGridData,c as getDetailsRoute};
|
|
1
|
+
import{parseEntityRef as p}from"@backstage/catalog-model";import"react/jsx-runtime";import"recharts";import{convertPassRateToDataPoints as l}from"../Charts/ChartTypes.esm.js";import"../Charts/LineChart/LineChart.esm.js";import"@material-ui/core";import"../Charts/chartUtils.esm.js";import{formatLineChartData as P}from"../Charts/LineChart/TrackPassRateHistoryLineChart.esm.js";import"luxon";import"../TechHealthSummary/SummaryAggregationsProvider.esm.js";import"../Charts/BarChart/BarChart.esm.js";import"../PassRateGrid/PassRateGrid.esm.js";import{Trend as n}from"../PassRateGrid/types.esm.js";var m=(e=>(e[e.TABLE=0]="TABLE",e[e.GRID=1]="GRID",e))(m||{});function i(e){if(!e||!e.length)return n.FLAT;if(e.length===1)return e[0]>0?n.UP:n.FLAT;const t=e[e.length-1]-e[0];return t<0?n.DOWN:t>0?n.UP:n.FLAT}function u(e,t){return e.map(a=>({id:a.id,name:a.checkName??a.id,description:a.checkDescription??void 0,lineChart:{snapshotPassRates:[{value:a.snapshotPassRate,trend:i(a.trendPassRates??[])}],trendPassRates:l(a.trendPassRates??[])},owner:a.checkOwnerRef??void 0,navigateTo:t({checkId:a.id})}))}function h(e,t){return e.map(a=>({id:a.id,name:p(a.id).name,description:a.entityDescription??void 0,lineChart:{snapshotPassRates:[{value:a.snapshotPassRate,trend:i(a.trendPassRates??[])}],trendPassRates:l(a.trendPassRates??[])},owner:a.entityOwnerRef??void 0,navigateTo:`${t(p(a.id))}/soundcheck`}))}function f(e,t){return e.map(a=>({id:a.id,name:a.groupTitle??p(a.id).name,lineChart:{snapshotPassRates:[{value:a.snapshotPassRate,trend:i(a.trendPassRates??[])}],trendPassRates:l(a.trendPassRates??[])},navigateTo:t(p(a.id))}))}const c=(e,t,a,o)=>{if(t)return t({trackId:e});if(a&&o){const s=o.find(({trackId:r})=>r===e)?.campaignId;if(s)return a({campaignId:s})}};function g(e,t,a,o){return e.map(s=>({id:s.id,name:s.trackName??s.id,description:s.trackDescription??void 0,lineChart:{snapshotPassRates:s.levels?.map(({levelOrdinal:r,levelName:d,snapshotPassRate:R,trendPassRates:v})=>({name:d?`Level ${r} (${d})`:`Level ${r}`,value:R,trend:i(v??[])}))??[],trendPassRates:P({overallTrackPassRate:s.levels}),lineConfigs:s.levels?.map(({levelOrdinal:r,levelName:d})=>({dataKey:`Level${r}`,name:d??`Level ${r}`}))??[]},owner:s.trackOwnerRef??void 0,navigateTo:c(s.id,t,a,o)}))}export{m as ViewMode,i as calculateTrend,u as generateCheckPassRateGridData,h as generateEntityPassRateGridData,f as generateGroupPassRateGridData,g as generateTrackPassRateGridData,c as getDetailsRoute};
|
|
2
2
|
//# sourceMappingURL=techHealthTabUtils.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsxs as n,jsx as e}from"react/jsx-runtime";import{useRouteRef as N}from"@backstage/core-plugin-api";import{useTheme as x,TableContainer as T,Table as v,TableHead as w,TableRow as o,TableCell as t,TableBody as y,Link as z,Typography as p,Box as A}from"@material-ui/core";import{makeStyles as S}from"@material-ui/core/styles";import{Skeleton as s}from"@material-ui/lab";import{useMemo as f}from"react";import{trackCheckDetailsRouteRef as R}from"../../routes.esm.js";import{getCheckStatusColor as $}from"../../utils/colors.esm.js";const F=S(r=>({root:{width:"100%",height:"100%",display:"flex",flexDirection:"column"},checkNameLink:{color:"inherit",textDecoration:"none"},bar:{height:8,display:"block"},barContainer:{width:"100%",display:"block"},cell:{padding:r.spacing(1),width:"auto"},barCell:{width:150,padding:"4px 8px"},rightAlignedCell:{textAlign:"right"}})),D=({track:r,checkStatuses:c,certificationStatus:d})=>{const l=F(),u=x(),g=N(R),h=f(()=>r.levels?.flatMap(i=>i.checks)??[],[r.levels]),m=f(()=>h.map(i=>{const a=c?.find(C=>C.id===i.id),b=a?a.numberOfEntities-a.notApplicable-a.exempt:0,k=a?.failed??0;return{check:i,failedCount:k,applicableCount:b}}).filter(({failedCount:i})=>i>0).sort((i,a)=>(a.failedCount??0)-(i.failedCount??0)),[h,c]);return r.levels?.length?n("div",{className:l.root,children:[e(T,{children:n(v,{padding:"none",children:[e(w,{children:n(o,{children:[e(t,{className:l.barCell}),e(t,{size:"medium",className:l.cell,children:"Name"}),e(t,{size:"small",className:l.cell,children:"Failing"})]})}),e(y,{children:c===void 0||d===void 0?Array.from({length:10}).map((i,a)=>n(o,{children:[e(t,{className:l.barCell,children:e(s,{variant:"rect",width:30,height:8})}),e(t,{size:"medium",className:l.cell,children:e(s,{variant:"rect",width:140,height:8})}),e(t,{size:"small",className:l.cell,children:e(s,{variant:"rect",width:100,height:8})})]},`skeleton-${a}`)):m.map(({check:i,failedCount:a})=>n(o,{children:[e(t,{className:l.barCell,children:e("div",{className:l.barContainer,children:e("span",{className:l.bar,style:{width:`${(a??0)/d.numberOfEntities*100}%`,backgroundColor:$(u,"failed")}})})}),e(t,{size:"medium",className:l.cell,children:e(z,{className:l.checkNameLink,href:g({trackId:r.id,checkId:i.id}),children:e(p,{children:i.name})})}),e(t,{size:"small",className:`${l.cell} ${l.rightAlignedCell}`,children:e(p,{children:`${new Intl.NumberFormat().format(a??0)}`})})]},i.id))})]})}),c&&d&&m.length===0&&e(A,{textAlign:"center",padding:4,children:"No Failing Checks"})]}):null};export{D as TopFailingChecksTable};
|
|
2
|
+
//# sourceMappingURL=TopFailingChecksTable.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import t
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{useEffect as p}from"react";import{TrackFormProvider as n,useTrackFormContext as k}from"../../contexts/TrackFormContext.esm.js";import"../../contexts/CheckFormContext.esm.js";import"../../contexts/CampaignFormContext.esm.js";import"../../contexts/UserProvider.esm.js";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{useCreateTrack as f}from"../../hooks/tracks/useCreateTrack.esm.js";import"../../hooks/useConfirmationModal.esm.js";import{useNavigateBack as u}from"../../hooks/useNavigateBack.esm.js";import{tracksPageRouteRef as d}from"../../routes.esm.js";import"../SoundcheckHeader/SoundcheckHeader.esm.js";import"../SoundcheckHeader/SoundcheckHeaderContext.esm.js";import{useHeader as g}from"../SoundcheckHeader/useHeader.esm.js";import{TrackForm as h}from"../TrackForm/TrackForm.esm.js";const e=()=>{const{setIsLoading:r}=k(),{mutateAsync:i,isLoading:o}=f();p(()=>{r(o)},[r,o]);const[a,m]=u(d),c=async s=>{await i(s,{onSuccess:m})};return g({title:"Create Track",description:"Create a new track that aligns with your organization's long-term tech health initiatives by entering the details below.",docLink:"https://backstage.spotify.com/docs/plugins/soundcheck/core-concepts/tracks"}),t(h,{handleClose:a,onSave:c})},l=()=>t(n,{children:t(e,{})});export{l as TrackCreatePage,e as TrackCreateView};
|
|
2
2
|
//# sourceMappingURL=TrackCreatePage.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsxs as p,Fragment as s,jsx as o}from"react/jsx-runtime";import{usePermission as n}from"@backstage/plugin-permission-react";import{soundcheckTrackUpdatePermission as d}from"@spotify/backstage-plugin-soundcheck-common";import{useParams as c}from"react-router-dom";import{TrackFormProvider as f}from"../../contexts/TrackFormContext.esm.js";import"../../contexts/CheckFormContext.esm.js";import"../../contexts/CampaignFormContext.esm.js";import"react";import"../../contexts/UserProvider.esm.js";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"../../hooks/useSoundcheckAlert.esm.js";import{useTrack as k}from"../../hooks/tracks/useTrack.esm.js";import"../../hooks/useConfirmationModal.esm.js";import{LoadingIndicator as g}from"../LoadingIndicator/LoadingIndicator.esm.js";import{PageWarningMessage as u}from"../PageWarningMessage/PageWarningMessage.esm.js";import{TrackEditView as l}from"./TrackEditView.esm.js";const P=()=>{const{trackId:i}=c(),{data:r,isLoading:t}=k(i),{loading:m,allowed:a}=n({permission:d,resourceRef:i}),e=a&&r?.isEditable;return p(s,{children:[o(u,{entityName:"track",entityId:i,showNotFound:!t&&!r,showCannotEdit:!m&&!e}),t||m?o(g,{}):r&&e&&o(f,{children:o(l,{track:r,canEdit:a})})]})};export{P as TrackEditPage};
|
|
2
2
|
//# sourceMappingURL=TrackEditPage.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import l
|
|
1
|
+
import{jsx as l}from"react/jsx-runtime";import{useEffect as i,useCallback as f}from"react";import{useTrackFormContext as g}from"../../contexts/TrackFormContext.esm.js";import"../../contexts/CheckFormContext.esm.js";import"../../contexts/CampaignFormContext.esm.js";import"../../contexts/UserProvider.esm.js";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"../../hooks/useConfirmationModal.esm.js";import{useNavigateBack as y}from"../../hooks/useNavigateBack.esm.js";import{useUpdateTrack as E}from"../../hooks/tracks/useUpdateTrack.esm.js";import{tracksPageRouteRef as h}from"../../routes.esm.js";import"../SoundcheckHeader/SoundcheckHeader.esm.js";import"../SoundcheckHeader/SoundcheckHeaderContext.esm.js";import{useHeader as T}from"../SoundcheckHeader/useHeader.esm.js";import{TrackForm as w}from"../TrackForm/TrackForm.esm.js";const b=({track:t,canEdit:p})=>{const{setSelectedItem:e,setIsLoading:m,selectedItem:n,showReadOnly:r}=g(),{mutateAsync:s,isLoading:c}=E();i(()=>m(c),[m,c]);const o=!p||!t.isEditable;i(()=>{o?r(t):e(t)},[t,e,o,r]);const[d,a]=y(h),k=f(async u=>{await s(u,{onSuccess:a})},[a,s]);return i(()=>{},[t,r,o]),T({title:`${o?"View":"Edit"} Track`,description:"Edit your track's details to match your needs.",docLink:"https://backstage.spotify.com/docs/plugins/soundcheck/core-concepts/tracks"}),n?l(w,{handleClose:d,onSave:k}):null};export{b as TrackEditView};
|
|
2
2
|
//# sourceMappingURL=TrackEditView.esm.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsxs as n,jsx as t}from"react/jsx-runtime";import{makeStyles as $,Box as o,Typography as F,Button as y}from"@material-ui/core";import{get as N}from"lodash";import{useMemo as A,useCallback as C}from"react";import{useFormContext as B,useFieldArray as b}from"react-hook-form";import{CheckSelection as T}from"../../../CheckSelection/CheckSelection.esm.js";import{CheckPreview as L}from"../../../CheckSelection/CheckPreview.esm.js";import{CheckPreviewProvider as P}from"../../../CheckSelection/CheckPreviewContext.esm.js";import{FormControlledTextField as w}from"../../../FormControlledTextField/FormControlledTextField.esm.js";import{FormFieldLabel as p}from"../../../FormFieldLabel/FormFieldLabel.esm.js";const W=$(l=>({levelStep:{display:"flex",gap:l.spacing(2),maxHeight:"80vh",marginBottom:l.spacing(2)},actionButton:{color:l.palette.text.primary,padding:l.spacing(.25,0),margin:l.spacing(0,.5)}})),j=({idx:l,allSelectedCheckIds:d,sectionCheckIds:r,updateAll:s})=>{const{control:v,formState:{errors:f}}=B(),{append:m,remove:c}=b({control:v,name:`levelsStep.levels.${l}.checks`}),h=N(f,`levelsStep.levels.${l}.checks`),k=C(e=>{e&&!r.includes(e.id)&&(d.includes(e.id)&&s(e.id,l),m({id:e.id,name:e.name??"",description:e.description??""}))},[d,m,l,r,s]),u=C(e=>{const i=r.indexOf(e);i>-1&&c(i)},[c,r]);return n(o,{children:[t(p,{title:"Checks"}),t(T,{currentSectionCheckIds:r,addCheckToSelection:k,removeCheck:u,error:!!h,helperText:h?.message,blankText:"Search checks to add them to this level. Checks used in another level will be automatically moved if selected."})]})},z=()=>{const l=W(),{watch:d,control:r,setValue:s}=B(),{insert:v,remove:f,fields:m}=b({control:r,name:"levelsStep.levels"}),c=d("levelsStep.levels"),h=A(()=>c.flatMap(e=>e.checks.map(i=>i.id)),[c]),k=e=>{v(e+1,{name:`Level ${e+2}`,description:"",checks:[]})},u=C((e,i)=>{let a=0;for(const g of c){const S=g.checks;if(S.findIndex(x=>x.id===e)>-1&&a!==i){const x=S.filter(I=>I.id!==e);s(`levelsStep.levels.${a}.checks`,x)}a++}},[s,c]);return n(o,{children:[t(o,{marginBottom:2,children:t(F,{variant:"body2",children:"Add the checks to your track by selecting them from the autocomplete. You can preview the checks to see its properties."})}),t(P,{children:n(o,{className:l.levelStep,children:[t(o,{flex:1,minWidth:300,display:"flex",flexDirection:"column",overflow:"auto",paddingRight:2,children:m.map((e,i)=>{const a=c[i].checks.map(g=>g.id);return n(o,{marginBottom:2,children:[n(o,{marginBottom:1,children:[t(p,{title:"Level Name"}),n(o,{display:"flex",alignItems:"center",children:[t(w,{control:r,name:`levelsStep.levels.${i}.name`,fullWidth:!0}),t(y,{className:l.actionButton,variant:"text",size:"small",onClick:()=>k(i),children:"Add"}),t(y,{className:l.actionButton,disabled:c.length<2,variant:"text",size:"small",onClick:()=>f(i),"data-testid":`remove-label-${i}`,children:"Remove"})]})]}),n(o,{marginBottom:1,children:[t(p,{title:"Description"}),t(o,{display:"flex",alignItems:"center",children:t(w,{control:r,name:`levelsStep.levels.${i}.description`,fullWidth:!0})})]}),t(j,{allSelectedCheckIds:h,sectionCheckIds:a,idx:i,updateAll:u})]},e.id)})}),n(o,{flex:1,marginBottom:2,children:[t(p,{title:"Check Preview"}),t(L,{})]})]})})]})};export{z as LevelsStepNew};
|
|
2
|
+
//# sourceMappingURL=LevelsStepNew.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{makeStyles as
|
|
1
|
+
import{jsx as e,jsxs as i,Fragment as d}from"react/jsx-runtime";import{makeStyles as m}from"@material-ui/core/styles";import{useFormContext as g,Controller as b}from"react-hook-form";import{BadgeVariant as l}from"../../../../../graphql/generated/index.esm.js";import{LevelBadge as n}from"../../../../Badges/LevelBadge.esm.js";import"../../../../Badges/NoLevelBadge.esm.js";import"../../../../Badges/CampaignBadge.esm.js";import{FormControlledAutocomplete as f}from"../../../../FormControlledAutocomplete/FormControlledAutocomplete.esm.js";import"@material-ui/core";import"@material-ui/icons/CheckBox";import"@material-ui/icons/CheckBoxOutlineBlank";import"@material-ui/lab";import"../../../../ListboxVirtualized/ListboxVirtualized.esm.js";import{useLabelOptions as u}from"../../../../FormControlledAutocomplete/useLabelOptions.esm.js";import"react";import{FormFieldLabel as y}from"../../../../FormFieldLabel/FormFieldLabel.esm.js";const v=m(o=>({container:{display:"flex",flexDirection:"column",gap:o.spacing(1)},badgeTypeInput:{display:"flex",flexDirection:"row",gap:o.spacing(1)},badgeTypeIcon:{alignSelf:"center"}})),T=({disabled:o})=>{const a=v(),{control:t}=g(),r=[{value:"medal",label:"Medal",icon:e(n,{className:a.badgeTypeIcon,badge:{variant:l.Medal,options:{color:"#FCE54F",level:3}}})},{value:"status",label:"Status",icon:e(n,{className:a.badgeTypeIcon,badge:{variant:l.Status,options:{status:{passed:3,failed:2,warning:0,error:0,notApplicable:0,notReported:0,passPercentage:60}}}})}],p=u(r);return i("div",{className:a.container,children:[e("div",{children:e(y,{title:"Badge type",docLink:"https://backstage.spotify.com/docs/plugins/soundcheck/core-concepts/tracks#certifications-and-badges"})}),i("div",{className:a.badgeTypeInput,children:[e(f,{name:"detailsStep.badgeType",disableClearable:!0,control:t,width:300,freeSolo:!1,disabled:o,placeholder:"Badge type",...p}),e(b,{name:"detailsStep.badgeType",control:t,render:({field:s})=>e(d,{children:r.find(c=>c.value===s.value)?.icon})})]})]})};export{T as TrackBadgeTypeSelect};
|
|
2
2
|
//# sourceMappingURL=TrackBadgeTypeSelect.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import p
|
|
1
|
+
import{jsx as p}from"react/jsx-runtime";import{useFormContext as d}from"react-hook-form";import{FormMarkdownInput as m}from"../../../../FormMarkdownInput/FormMarkdownInput.esm.js";import"../../../utils/validation.esm.js";import{TRACK_FIELDS as s}from"../../../utils/trackFormUtils.esm.js";const a=({isLoading:o,disabled:r})=>{const{control:t,formState:{errors:e}}=d(),{name:i,placeholder:n}=s.description;return p(m,{name:"detailsStep.description",control:t,error:e.detailsStep?.description,label:i,placeholder:r?void 0:n,disabled:r||o})};export{a as TrackDescriptionInput};
|
|
2
2
|
//# sourceMappingURL=TrackDescriptionInput.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsxs as a,jsx as o}from"react/jsx-runtime";import{makeStyles as n}from"@material-ui/core/styles";import{useTrackFormContext as m}from"../../../../contexts/TrackFormContext.esm.js";import"../../../../contexts/CheckFormContext.esm.js";import"../../../../contexts/CampaignFormContext.esm.js";import"react";import"../../../../contexts/UserProvider.esm.js";import{TrackBadgeTypeSelect as s}from"./TrackBadgeTypeSelect/TrackBadgeTypeSelect.esm.js";import{TrackDescriptionInput as p}from"./TrackDescriptionInput/TrackDescriptionInput.esm.js";import{TrackDocumentationUrlInput as c}from"./TrackDocumentationUrlInput/TrackDocumentationUrlInput.esm.js";import{TrackDraftInput as d}from"./TrackDraftInput/TrackDraftInput.esm.js";import{TrackNameInput as l}from"./TrackNameInput/TrackNameInput.esm.js";import{TrackOwnerSelect as f}from"./TrackOwnerSelect/TrackOwnerSelect.esm.js";const k=n(t=>({container:{display:"flex",flexDirection:"column",gap:t.spacing(2)}})),T=()=>{const t=k(),{isLoading:r,isReadOnly:i,selectedItem:e}=m();return a("div",{className:t.container,children:[o(l,{disabled:i,isLoading:r}),o(p,{isLoading:r,disabled:i}),o(f,{disabled:r||i,ownerEntityRef:e?.ownerEntityRef??void 0}),o(c,{isLoading:r,disabled:i}),o(s,{disabled:r||i}),o(d,{disabled:r||i})]})};export{T as TrackDetailsStep};
|
|
2
2
|
//# sourceMappingURL=TrackDetailsStep.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{makeStyles as
|
|
1
|
+
import{jsxs as d,jsx as e}from"react/jsx-runtime";import{makeStyles as m,Typography as s}from"@material-ui/core";import{useFormContext as c}from"react-hook-form";import{FormTextInput as p}from"../../../../FormTextInput/FormTextInput.esm.js";import"../../../utils/validation.esm.js";import{TRACK_FIELDS as u}from"../../../utils/trackFormUtils.esm.js";const f=m(t=>({container:{display:"flex",flexDirection:"column"},fieldContainer:{width:"300px",marginTop:t.spacing(1)}})),h=({isLoading:t,disabled:i})=>{const o=f(),{control:n,formState:{errors:r}}=c(),{name:a,placeholder:l}=u.documentationURL;return d("div",{className:o.container,children:[e("div",{children:e(s,{variant:"subtitle2",children:a})}),e("div",{className:o.fieldContainer,children:e(p,{name:"detailsStep.documentationURL",control:n,placeholder:l,disabled:i||t,variant:"outlined",margin:"dense",error:r?.detailsStep?.documentationURL,helperText:r?.detailsStep?.documentationURL?.message??void 0})})]})};export{h as TrackDocumentationUrlInput};
|
|
2
2
|
//# sourceMappingURL=TrackDocumentationUrlInput.esm.js.map
|
package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackDraftInput/TrackDraftInput.esm.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{jsxs as n,jsx as e}from"react/jsx-runtime";import{Typography as i,FormControlLabel as l,Checkbox as c}from"@material-ui/core";import{makeStyles as d}from"@material-ui/core/styles";import{useFormContext as s,Controller as m}from"react-hook-form";import{FormFieldLabel as f}from"../../../../FormFieldLabel/FormFieldLabel.esm.js";const p=d(r=>({container:{display:"flex",flexDirection:"column",width:"300px"},draftInput:{display:"flex",flexDirection:"row",gap:r.spacing(1)}})),h=({disabled:r})=>{const t=p(),{control:a}=s();return n("div",{className:t.container,children:[n("div",{children:[e(f,{title:"Mark as draft"}),e(i,{variant:"caption",children:"Enable to hide this track from Soundcheck entity views."})]}),e("div",{className:t.draftInput,children:e(m,{name:"detailsStep.draft",control:a,render:({field:o})=>e(l,{label:"Draft",disabled:r,control:e(c,{checked:o.value,onChange:o.onChange})})})})]})};export{h as TrackDraftInput};
|
|
2
|
+
//# sourceMappingURL=TrackDraftInput.esm.js.map
|
package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackNameInput/TrackNameInput.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Typography as
|
|
1
|
+
import{jsxs as p,jsx as e}from"react/jsx-runtime";import{Typography as d,TextField as c}from"@material-ui/core";import{makeStyles as x}from"@material-ui/core/styles";import{useFormContext as f,Controller as h}from"react-hook-form";import"../../../utils/validation.esm.js";import{TRACK_FIELDS as T}from"../../../utils/trackFormUtils.esm.js";const u=x(r=>({container:{display:"flex",flexDirection:"column",gap:r.spacing(2)},helperText:{marginLeft:0},field:{marginTop:"-10px"}})),g=({disabled:r,isLoading:l})=>{const t=u(),{control:o,formState:{errors:a}}=f(),{placeholder:i,name:n,helperText:m}=T.name;return p("div",{className:t.container,children:[e("div",{children:e(d,{variant:"subtitle2",children:n})}),e(h,{name:"detailsStep.name",control:o,defaultValue:"",render:({field:s})=>e(c,{...s,FormHelperTextProps:{className:t.helperText},className:t.field,variant:"outlined",margin:"dense",fullWidth:!0,placeholder:i,disabled:l||r,type:"text",error:!!a.detailsStep?.name,helperText:a.detailsStep?.name?.message??m})})]})};export{g as TrackNameInput};
|
|
2
2
|
//# sourceMappingURL=TrackNameInput.esm.js.map
|
package/dist/components/TrackForm/Steps/TrackDetailsStep/TrackOwnerSelect/TrackOwnerSelect.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{parseEntityRef as
|
|
1
|
+
import{jsxs as n,jsx as t}from"react/jsx-runtime";import{parseEntityRef as h}from"@backstage/catalog-model";import{Typography as a}from"@material-ui/core";import{makeStyles as b}from"@material-ui/core/styles";import{uniqBy as g}from"lodash";import{useFormContext as w}from"react-hook-form";import"../../../../../contexts/TrackFormContext.esm.js";import"../../../../../contexts/CheckFormContext.esm.js";import"../../../../../contexts/CampaignFormContext.esm.js";import"react";import{useLoggedInUser as x}from"../../../../../contexts/UserProvider.esm.js";import{useGroupOptions as S}from"../../../../../hooks/groups/useGroupOptions.esm.js";import{FormControlledAutocomplete as E}from"../../../../FormControlledAutocomplete/FormControlledAutocomplete.esm.js";import"@material-ui/icons/CheckBox";import"@material-ui/icons/CheckBoxOutlineBlank";import"@material-ui/lab";import"../../../../ListboxVirtualized/ListboxVirtualized.esm.js";import{useLabelOptions as R}from"../../../../FormControlledAutocomplete/useLabelOptions.esm.js";import"../../../utils/validation.esm.js";import{TRACK_FIELDS as L}from"../../../utils/trackFormUtils.esm.js";const O=b(i=>({container:{display:"flex",flexDirection:"column",gap:i.spacing(1)}})),T=({disabled:i,ownerEntityRef:r})=>{const l=O(),{options:p,isLoading:s}=S(),{user:c,userEntityRef:m}=x(),{control:d,formState:{errors:f}}=w();let e=g(p.map(o=>({value:o.ref,label:o.name})),"value");m&&(e=[{value:m,label:c?.metadata.name},...e]),r&&m!==r&&!e.some(o=>o.value===r)&&(e=[{value:r,label:h(r).name},...e]);const u=R(e),{name:v,description:y}=L.owner;return n("div",{className:l.container,children:[n("div",{children:[t(a,{variant:"subtitle2",children:v}),t(a,{variant:"caption",children:y})]}),t("div",{children:t(E,{name:"detailsStep.ownerEntityRef",control:d,width:300,freeSolo:!1,disabled:i||s,helperText:f?.detailsStep?.ownerEntityRef?.message??void 0,placeholder:"Owner",...u})})]})};export{T as TrackOwnerSelect};
|
|
2
2
|
//# sourceMappingURL=TrackOwnerSelect.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{jsx as e}from"react/jsx-runtime";import{Content as d}from"@backstage/core-components";import{FormProvider as c}from"react-hook-form";import{useTrackFormContext as f}from"../../contexts/TrackFormContext.esm.js";import"../../contexts/CheckFormContext.esm.js";import"../../contexts/CampaignFormContext.esm.js";import"react";import"../../contexts/UserProvider.esm.js";import{formStyles as S}from"../../utils/formStyles.esm.js";import{FormFilterSection as u}from"../FormFilterSection/FormFilterSection.esm.js";import{FormStepper as F}from"../FormStepper/FormStepper.esm.js";import{LevelsStepNew as h}from"./Steps/LevelsStep/LevelsStepNew.esm.js";import{TrackDetailsStep as b}from"./Steps/TrackDetailsStep/TrackDetailsStep.esm.js";import{TrackStepNameMapping as k}from"./utils/types.esm.js";import"./utils/validation.esm.js";import{TRACK_FIELDS as y}from"./utils/trackFormUtils.esm.js";import{useTrackForm as g}from"./utils/useTrackForm.esm.js";const x=({onSave:m,handleClose:l})=>{const{selectedItem:a,isLoading:n,isReadOnly:r}=f(),p=S(),{formMethods:t,onSubmit:i}=g(m),o=[{label:"Enter track details",content:()=>e(b,{})},{label:"Add levels",content:()=>e(h,{})},{label:"Choose the affected entities (Optional)",content:()=>e(u,{name:"filtersStep.filter",keyValueFilterName:"filtersStep.keyValueFilter",disabled:r,description:y.filter.description,excludeFilterName:"filtersStep.excludeFilter",excludeKeyValueFilterName:"filtersStep.excludeKeyValueFilter"})}],s=a?[...Array(o.length).keys()]:[0];return e(d,{className:p.formWrapper,children:e(c,{...t,children:e("form",{onSubmit:t.handleSubmit(i),children:e(F,{onClose:l,handleSubmit:t.handleSubmit,trigger:t.trigger,onSubmit:i,initialVisited:s,stepNameMap:k,steps:o,isLoading:n,isReadOnly:r,saveButtonText:"Save Track"})})})})};export{x as TrackForm};
|
|
2
2
|
//# sourceMappingURL=TrackForm.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{zodResolver as
|
|
1
|
+
import{zodResolver as k}from"@hookform/resolvers/zod";import{useMemo as T,useEffect as R}from"react";import{useForm as V}from"react-hook-form";import{v4 as g}from"uuid";import{useTrackFormContext as h}from"../../../contexts/TrackFormContext.esm.js";import"../../../contexts/CheckFormContext.esm.js";import"../../../contexts/CampaignFormContext.esm.js";import"react/jsx-runtime";import{useLoggedInUser as E}from"../../../contexts/UserProvider.esm.js";import{BadgeVariant as w}from"../../../graphql/generated/index.esm.js";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 x}from"../../../hooks/useConfirmationModal.esm.js";import"react-router-dom";import{useGetChecksMap as L}from"../../../hooks/tracks/useGetChecksMap.esm.js";import{mapInputFilterToFormFilters as d,mapCatalogFilterToFormKeyValueFilters as c,mapFiltersToCatalogFilter as u}from"../../Filter/utils.esm.js";import"../../Filter/FilterComponent.esm.js";import{emptyFilters as f,emptyKeyValueFilters as y}from"../../Filter/types.esm.js";import{trackFormSchema as C}from"./validation.esm.js";const F={detailsStep:{name:"",description:"",ownerEntityRef:"",badgeType:"medal",draft:!1},levelsStep:{levels:[{name:"Level 1",description:"",checks:[]}]},filtersStep:{filter:f(),keyValueFilter:y(),excludeFilter:f(),excludeKeyValueFilter:y()}},S=({name:e,description:r,ownerEntityRef:o,filter:t,levels:i,documentationURL:a,badge:p,exclude:l,draft:n})=>({detailsStep:{name:e,ownerEntityRef:o,description:r??"",documentationURL:a??void 0,badgeType:p?.variant===w.Status?"status":"medal",draft:n??!1},levelsStep:{levels:i?.map(m=>({name:m.name??`Level ${m.ordinal}`??"Level 1",description:m.description??"",checks:m.checks.map(s=>({id:s.id,name:s.name??s.id,description:s.description??""}))}))||[]},filtersStep:{filter:d(t),keyValueFilter:c(t),excludeFilter:d(l),excludeKeyValueFilter:c(l)}}),v=(e,r,o)=>({id:o?.id??g(),ownerEntityRef:e.detailsStep.ownerEntityRef,description:e.detailsStep.description,name:e.detailsStep.name,documentationURL:e.detailsStep.documentationURL??"",badgeType:e.detailsStep.badgeType,type:o?.type??"standard",levels:e.levelsStep.levels?.map((t,i)=>({ordinal:i+1,name:t.name??"",description:t.description??"",checks:t.checks.map(a=>r[a.id])})),filter:u(e.filtersStep.filter,e.filtersStep.keyValueFilter),exclude:u(e.filtersStep.excludeFilter,e.filtersStep.excludeKeyValueFilter),draft:e.detailsStep.draft??!1}),M=e=>{const{selectedItem:r}=h(),o=T(()=>r?S(r):F,[r]),t=V({defaultValues:o,mode:"onChange",resolver:k(C)}),{userEntityRef:i}=E();R(()=>{!r&&i&&!t.getValues("detailsStep.ownerEntityRef")&&t.setValue("detailsStep.ownerEntityRef",i)},[r,i,t]);const{checksMap:a}=L(),{showModal:p}=x();return{formMethods:t,onSubmit:async l=>{if(!await p({title:"Save Track",message:`Are you sure you want to save track: ${l.detailsStep.name}?`,error:!1}))return;const n=v(l,a??{},r);e(n)}}};export{F as DEFAULT_TRACK_FORM_VALUES,v as mapTrackFormToInput,S as mapTrackToFormValues,M as useTrackForm};
|
|
2
2
|
//# sourceMappingURL=useTrackForm.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import t
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{trackPassRatesSummaryCsvFilename as m}from"../../utils/charts.esm.js";import"recharts";import"../Charts/ChartTypes.esm.js";import"../Charts/LineChart/LineChart.esm.js";import"@material-ui/core";import"../Charts/chartUtils.esm.js";import{TrackPassRateHistoryLineChart as i}from"../Charts/LineChart/TrackPassRateHistoryLineChart.esm.js";import"@backstage/catalog-model";import"luxon";import{useSummaryAggregationsContext as p}from"../TechHealthSummary/SummaryAggregationsProvider.esm.js";import"../Charts/BarChart/BarChart.esm.js";import{TrackSummaryBarChart as c}from"../Charts/BarChart/TrackSummaryBarChart.esm.js";import{OverviewChartCard as n}from"../OverviewChartCard/OverviewChartCard.esm.js";import"../OverviewChartCard/OverviewChartCardStyles.esm.js";import{overallTrackPassRatesToCsv as l}from"../TechHealthTabs/TechHealthExportFunctions.esm.js";const C=()=>{const{trackPassRateOverviewTrend:{data:r,isLoading:a,isError:o}}=p(),e=r?.overallTrackPassRate?.length,s=!r?.overallTrackPassRate||!e||a||o;return t(n,{title:"Track pass rate",subtitle:"Aggregate pass rate for tracks",summaryCardContent:t(c,{}),chartSectionContent:t(i,{}),disableDataExport:s,csvFilename:m,csvData:l(r)})};export{C as TrackHistoryChartCard};
|
|
2
2
|
//# sourceMappingURL=TrackHistoryChartCard.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{parseEntityRef as B}from"@backstage/catalog-model";import{EntityDisplayName as C}from"@backstage/plugin-catalog-react";import{makeStyles as D,Typography as G,Checkbox as N}from"@material-ui/core";import Q from"@material-ui/icons/Category";import
|
|
1
|
+
import{jsxs as f,jsx as e,Fragment as j}from"react/jsx-runtime";import{parseEntityRef as B}from"@backstage/catalog-model";import{EntityDisplayName as C}from"@backstage/plugin-catalog-react";import{makeStyles as D,Typography as G,Checkbox as N}from"@material-ui/core";import Q from"@material-ui/icons/Category";import A from"@material-ui/icons/Class";import M from"@material-ui/icons/Group";import P from"@material-ui/icons/Loop";import{toEntityFilterQuery as W}from"@spotify/backstage-plugin-soundcheck-common";import{useMemo as y}from"react";import{useGetEntityFacets as n}from"../../../hooks/catalog/useGetEntityFacets.esm.js";import{useGroupOptions as q}from"../../../hooks/groups/useGroupOptions.esm.js";import r from"../../MultiSelectFilter/MultiSelectFilter.esm.js";const z=D(t=>({root:{display:"flex",flexDirection:"row",alignItems:"center",gap:t.spacing(2)}})),d=(t,{selected:i})=>f(j,{children:[e(N,{value:t,checked:i,color:"primary"}),e(C,{entityRef:t,hideIcon:!0})]}),H=({track:t,label:i,owners:g,setOwners:h,lifecycles:u,setLifecycles:b,types:F,setTypes:w,systems:x,setSystems:L})=>{const k=z(),o=W(t.filter),{options:l,isLoading:O}=q(),E=y(()=>l.map(s=>s.ref),[l]),{data:a,isLoading:R}=n("spec.lifecycle",o),{data:m,isLoading:T}=n("spec.type",o),{data:p,isLoading:S}=n("relations.partOf",o),c=y(()=>p?.filter(s=>{try{return B(s).kind.toLowerCase()==="system"}catch{return!1}}),[p]),v=(a||[]).length<=1,I=(m||[]).length<=1,$=(c||[]).length<=1;return f("div",{className:k.root,children:[i&&e(G,{variant:"caption",children:`${i}:`}),e(r,{name:"system",label:"System",icon:e(Q,{}),filters:x,setFilters:L,options:c??[],disabled:S||$,customRenderOption:d}),e(r,{name:"owner",label:"Owner",icon:e(M,{}),filters:g,setFilters:h,options:E??[],disabled:O,customRenderOption:d}),e(r,{name:"type",label:"Type",icon:e(A,{}),filters:F,setFilters:w,options:m??[],disabled:T||I}),e(r,{name:"lifecycle",label:"Lifecycle",icon:e(P,{}),filters:u,setFilters:b,options:a??[],disabled:R||v})]})};export{H as FilterBar};
|
|
2
2
|
//# sourceMappingURL=FilterBar.esm.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{stringifyEntityRef as B}from"@backstage/catalog-model";import{Table as R}from"@backstage/core-components";import{makeStyles as z}from"@material-ui/core";import L from"lodash";import
|
|
1
|
+
import{jsx as u}from"react/jsx-runtime";import{stringifyEntityRef as B}from"@backstage/catalog-model";import{Table as R}from"@backstage/core-components";import{makeStyles as z}from"@material-ui/core";import L from"lodash";import{useState as P,useEffect as O,useCallback as y}from"react";import{TrackEntityField as r,Direction as C}from"../../../graphql/generated/index.esm.js";import{useEntitiesByRefs as x}from"../../../hooks/catalog/useEntitiesByRefs.esm.js";import{useTrackEntities as D}from"../../../hooks/entities/useTrackEntities.esm.js";import{columnFactories as i}from"./columns.esm.js";import{toTrackEntityRow as F}from"./utils.esm.js";const N=10,j=[i.createBadgeColumn(),i.createNameColumn(),i.createStatusColumn(),i.createSystemColumn(),i.createOwnerColumn(),i.createSpecTypeColumn(),i.createSpecLifecycleColumn()],q=[r.CertificationLevel,r.Name,r.CheckPassRate,r.System,r.Owner,r.Type,r.Lifecycle],w=g=>{const{lifecycles:d,owners:n,types:a,systems:s}=g,p=d?.length?{"spec.lifecycle":d}:void 0,m=n?.length?{"relations.ownedBy":n}:void 0,e=a?.length?{"spec.type":a}:void 0,f=s?.length?{"relations.partOf":s}:void 0;return{...p,...m,...e,...f}},A=z({tableContainer:{display:"flex",flexDirection:"column",height:"100%"}}),W=({track:g,initialPageSize:d,lifecycles:n,owners:a,types:s,systems:p})=>{const m=A(),[e,f]=P({orderBy:void 0,filter:w({lifecycles:n,owners:a,types:s,systems:p}),pageInfo:{page:0,pageSize:d??N,direction:"forward",cursor:null}});O(()=>{f(t=>({...t,pageInfo:{...t.pageInfo,page:0,cursor:null},filter:w({lifecycles:n,owners:a,types:s,systems:p})}))},[n,a,s,p]);const{data:c,isLoading:k}=D({trackId:g.id,orderBy:e.orderBy,filter:e.filter,[e.pageInfo.direction==="forward"?"first":"last"]:e.pageInfo.pageSize,[e.pageInfo.direction==="forward"?"after":"before"]:e.pageInfo.cursor}),I=y((t,l)=>{let o;t===-1?o=void 0:o={field:q[t],direction:l==="asc"?C.Asc:C.Desc},f({...e,orderBy:o,pageInfo:{...e.pageInfo,page:0,cursor:null}})},[e]),h=y((t,l)=>{const o=t>e.pageInfo.page?"forward":"backward",v=o==="forward"?c?.trackEntities.pageInfo.endCursor??null:c?.trackEntities.pageInfo.startCursor??null;f({...e,pageInfo:{page:t,pageSize:l,direction:o,cursor:v}})},[c,e]),S=c?.trackEntities.edges.map(t=>t.node.entityRef)??[],{data:E,isLoading:T}=x({entityRefs:S}),b=L.compact(c?.trackEntities.edges.map(t=>{const l=E?.items.find(o=>!!o&&B(o)===t.node.entityRef);return l?F({trackDetails:t.node,track:g,entity:l}):void 0}))??[];return u("div",{className:m.tableContainer,children:u(R,{columns:j,data:b,options:{paging:!0,showFirstLastPageButtons:!1,paginationPosition:"both",emptyRowsWhenPaging:!1,pageSizeOptions:[10,25,50],pageSize:e.pageInfo.pageSize,search:!1,showTitle:!1,padding:"dense"},onOrderChange:I,onPageChange:h,page:e.pageInfo.page,totalCount:c?.trackEntities.totalCount??0,isLoading:k||T,components:{Toolbar:()=>null}})})};export{W as TrackEntitiesTable};
|
|
2
2
|
//# sourceMappingURL=TrackEntitiesTable.esm.js.map
|