@oneuptime/common 12.0.23 → 12.0.25
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/Models/AnalyticsModels/Span.ts +101 -0
- package/Models/DatabaseModels/DetectionRule.ts +55 -0
- package/Models/DatabaseModels/NetworkDeviceAutoImportRule.ts +27 -7
- package/Models/DatabaseModels/NetworkDeviceDiscoveryScan.ts +67 -0
- package/Models/DatabaseModels/Project.ts +68 -0
- package/Models/DatabaseModels/User.ts +68 -0
- package/Server/API/BaseAPI.ts +0 -24
- package/Server/API/SlackAPI.ts +0 -2
- package/Server/API/TelemetryAPI.ts +29 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1789400000000-AddNameToNetworkDeviceDiscoveryScan.ts +28 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1789500000000-AddCampaignUtmFields.ts +49 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/1789512000000-AddDetectionRuleDistinctCountColumns.ts +33 -0
- package/Server/Infrastructure/Postgres/SchemaMigrations/Index.ts +6 -0
- package/Server/Middleware/GzipRequestBody.ts +311 -0
- package/Server/Middleware/MultipartFormData.ts +87 -3
- package/Server/Middleware/SlackAuthorization.ts +96 -18
- package/Server/Services/DetectionRuleService.ts +73 -6
- package/Server/Services/Index.ts +205 -0
- package/Server/Services/NetworkDeviceDiscoveryScanService.ts +59 -0
- package/Server/Services/NetworkDeviceService.ts +148 -0
- package/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.ts +65 -0
- package/Server/Services/OnCallDutyPolicyFeedService.ts +1 -1
- package/Server/Services/ProjectService.ts +29 -19
- package/Server/Services/SecurityEventService.ts +90 -13
- package/Server/Services/StatusPageResourceService.ts +223 -0
- package/Server/Services/TelemetryAttributeService.ts +17 -0
- package/Server/Services/UserService.ts +4 -6
- package/Server/Types/Markdown.ts +161 -67
- package/Server/Utils/AI/Toolbox/OnCallTools.ts +12 -4
- package/Server/Utils/AnalyticsDatabase/Statement.ts +13 -1
- package/Server/Utils/AnalyticsDatabase/StatementGenerator.ts +297 -6
- package/Server/Utils/Attribution.ts +4 -0
- package/Server/Utils/Marketing/MarketingEventUtil.ts +45 -7
- package/Server/Utils/SecurityEvent/DetectionRuleEvaluator.ts +55 -3
- package/Server/Utils/SecurityEvent/Sigma/SigmaClickhouseCompiler.ts +21 -0
- package/Server/Utils/StartServer.ts +12 -32
- package/Server/Utils/Telemetry/LlmCostBudgetEvaluator.ts +101 -4
- package/Server/Utils/Telemetry/LlmMetricSpend.ts +181 -0
- package/Server/Utils/Telemetry/LlmSpan.ts +46 -0
- package/Server/Utils/Workspace/Slack/Actions/Auth.ts +0 -12
- package/Server/Views/Partials/AnalyticsConsent.ejs +159 -102
- package/Server/Views/Partials/Head.ejs +2 -1
- package/Tests/App/Dashboard/AdminUserNotificationMethodsPage.test.tsx +776 -38
- package/Tests/App/Dashboard/CorrelateFilterBuilder.test.tsx +359 -0
- package/Tests/App/Dashboard/CorrelateGraph.test.tsx +865 -0
- package/Tests/App/Dashboard/CorrelationGraph.test.ts +346 -0
- package/Tests/App/Dashboard/CriteriaFilterConditionDropdown.test.tsx +256 -0
- package/Tests/App/Dashboard/CriteriaFilterDefaults.test.ts +738 -0
- package/Tests/App/Dashboard/CriteriaFilterMonitorTypeChange.test.ts +1122 -0
- package/Tests/App/Dashboard/DiscoveryScanWizardValidation.test.tsx +283 -0
- package/Tests/App/Dashboard/ExternalStatusPageCriteriaFilter.test.ts +407 -0
- package/Tests/App/Dashboard/LlmCallsTableIdentity.test.tsx +322 -0
- package/Tests/App/Dashboard/LlmOverview.test.tsx +335 -0
- package/Tests/App/Dashboard/LlmSpanDisplay.test.ts +391 -0
- package/Tests/App/Dashboard/LlmUsageBreakdown.test.tsx +1007 -0
- package/Tests/App/Dashboard/MetricSeriesInvestigateMenu.test.tsx +5 -14
- package/Tests/App/Dashboard/MonitorCriteriaActionToggles.test.tsx +426 -0
- package/Tests/App/Dashboard/MonitorStepsCriteriaAlignmentWiring.test.tsx +352 -0
- package/Tests/App/Dashboard/OnCallLayerCardOverrides.test.tsx +278 -0
- package/Tests/App/Dashboard/OnCallLayerShiftPreviewOverrides.test.ts +237 -0
- package/Tests/App/Dashboard/OnCallReadinessSurfaces.test.tsx +2 -2
- package/Tests/App/Dashboard/OnCallSchedulePreviewOverrides.test.tsx +460 -0
- package/Tests/App/Dashboard/SecurityEventAttributeUtil.test.ts +171 -0
- package/Tests/App/Dashboard/SecurityEventCorrelation.test.ts +857 -0
- package/Tests/App/Dashboard/SecurityEventDetailObservables.test.tsx +194 -0
- package/Tests/App/Dashboard/SecurityEventsDetectionRulesPage.test.tsx +124 -0
- package/Tests/App/Dashboard/SecurityEventsMonitorStepForm.test.tsx +79 -19
- package/Tests/App/Dashboard/SecurityEventsTableColumns.test.tsx +382 -0
- package/Tests/App/StatusPage/BulkAddStatusPageMonitors.test.ts +216 -0
- package/Tests/App/StatusPage/BulkAddStatusPageMonitorsModal.test.tsx +590 -11
- package/Tests/App/StatusPage/StatusPageResourceExplorer.test.tsx +757 -0
- package/Tests/Models/DiscoveryScanNameColumn.test.ts +293 -0
- package/Tests/Server/API/BaseAPI.test.ts +41 -0
- package/Tests/Server/API/BaseAPIUpdatePayloadValidation.test.ts +9 -16
- package/Tests/Server/API/SecurityEventAttributesAPI.test.ts +564 -0
- package/Tests/Server/Infrastructure/Postgres/SchemaMigrationsOrdering.test.ts +120 -4
- package/Tests/Server/Middleware/GzipRequestBody.test.ts +725 -0
- package/Tests/Server/Middleware/MultipartFormData.test.ts +298 -0
- package/Tests/Server/Middleware/SlackAuthorization.test.ts +262 -5
- package/Tests/Server/Services/AddDetectionRuleDistinctCountColumnsMigration.test.ts +311 -0
- package/Tests/Server/Services/DetectionRuleService.test.ts +134 -2
- package/Tests/Server/Services/DiscoveryScanClaimHookFreeSafety.test.ts +7 -1
- package/Tests/Server/Services/FeedRetentionConsistency.test.ts +131 -0
- package/Tests/Server/Services/NetworkDeviceDiscoveryScanService.test.ts +194 -0
- package/Tests/Server/Services/NetworkDeviceMonitorStatusStamp.test.ts +800 -0
- package/Tests/Server/Services/OnCallScheduleAttachRosterRefresh.test.ts +244 -0
- package/Tests/Server/Services/SecurityEventService.test.ts +376 -0
- package/Tests/Server/Services/StatusPageResourceDuplicates.test.ts +703 -0
- package/Tests/Server/Services/TelemetryAttributeServiceSecurityEvent.test.ts +256 -0
- package/Tests/Server/Types/Workflow/Components/ComponentRegistryParity.test.ts +417 -0
- package/Tests/Server/Utils/AnalyticsDatabase/StatementGeneratorWhereOperators.test.ts +677 -0
- package/Tests/Server/Utils/Marketing/MarketingEventUtil.test.ts +43 -0
- package/Tests/Server/Utils/Monitor/Criteria/ProfileMonitorCriteria.test.ts +15 -11
- package/Tests/Server/Utils/SecurityEvent/DetectionRuleEvaluator.test.ts +369 -8
- package/Tests/Server/Utils/SecurityEvent/SigmaClickhouseCompiler.test.ts +35 -0
- package/Tests/Server/Utils/Telemetry/LlmCostBudgetEvaluator.test.ts +387 -4
- package/Tests/Server/Utils/Telemetry/LlmMetricSpend.test.ts +386 -0
- package/Tests/Server/Utils/Telemetry/LlmSpan.test.ts +804 -0
- package/Tests/Server/Views/AnalyticsConsentPartial.test.ts +48 -5
- package/Tests/Types/Code/YamlSyntax.test.ts +396 -0
- package/Tests/Types/Monitor/MetricAndProfileDefaultCriteria.test.ts +957 -0
- package/Tests/Types/Monitor/MonitorCriteriaActionValidation.test.ts +598 -0
- package/Tests/Types/Monitor/MonitorCriteriaInstance.test.ts +49 -0
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationNotificationMode.test.ts +6 -6
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.test.ts +4 -4
- package/Tests/Types/Monitor/Recommendation/MonitorRecommendationUtil.test.ts +4 -3
- package/Tests/Types/Telemetry/LlmMetricConventions.test.ts +584 -0
- package/Tests/UI/Components/AiInvestigationSettingsCard.test.tsx +0 -12
- package/Tests/UI/Components/CardModelDetailEdit.test.tsx +1 -17
- package/Tests/UI/Components/CodeEditor.test.tsx +474 -10
- package/Tests/UI/Components/Detail/YamlField.test.tsx +105 -0
- package/Tests/UI/Components/EntityDropdownLabelsBulkAdd.test.tsx +319 -0
- package/Tests/UI/Components/Forms/FormFieldYaml.test.tsx +231 -0
- package/Tests/UI/Components/Forms/Utils/FormFieldSchemaTypeUtil.test.ts +1 -0
- package/Tests/UI/Components/Forms/ValidationYAML.test.ts +234 -0
- package/Tests/UI/Components/ModelTable/AttributeColumns.test.tsx +573 -0
- package/Tests/UI/Components/ModelTable/BaseModelTableAttributeColumns.test.tsx +824 -0
- package/Tests/UI/Components/ModelTable/ColumnCustomizationModalAddableColumns.test.tsx +707 -0
- package/Tests/UI/Components/SideOver.test.tsx +1 -1
- package/Tests/UI/Components/StatusPage/ResourceGridSelection.test.tsx +294 -0
- package/Tests/UI/Components/StatusPage/ResourceListSelection.test.tsx +436 -0
- package/Tests/UI/Components/TableBulkCsvExport.test.tsx +6 -2
- package/Tests/UI/Components/Toggle.test.tsx +25 -0
- package/Tests/UI/Components/YamlEditor.test.tsx +847 -0
- package/Tests/Utils/NetworkDevice/DeviceReachabilityUtil.test.ts +252 -0
- package/Tests/Utils/NetworkDiscovery/DiscoveredHostUtil.test.ts +221 -0
- package/Tests/Utils/NetworkDiscovery/ScanNameUtil.test.ts +312 -0
- package/Tests/Utils/StatusPage/ResourceExplorer.test.ts +468 -0
- package/Tests/Utils/Telemetry/LlmMetricQuery.test.ts +770 -0
- package/Types/Code/YamlSyntax.ts +396 -0
- package/Types/Exception/ExceptionCode.ts +1 -0
- package/Types/Exception/PayloadTooLargeException.ts +8 -0
- package/Types/Marketing/Attribution.ts +10 -0
- package/Types/Marketing/MarketingEvent.ts +4 -0
- package/Types/Monitor/MonitorCriteriaInstance.ts +116 -56
- package/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.ts +2 -1
- package/Types/SecurityEvent/DetectionFindingConstants.ts +11 -0
- package/Types/Telemetry/LlmConventions.ts +255 -0
- package/Types/Telemetry/LlmMetricConventions.ts +329 -0
- package/UI/Components/AutocompleteTextInput/AutocompleteTextInput.tsx +3 -0
- package/UI/Components/BulkUpdate/BulkUpdateForm.tsx +10 -1
- package/UI/Components/CodeEditor/CodeEditor.tsx +241 -79
- package/UI/Components/CodeEditor/YamlEditor.tsx +369 -0
- package/UI/Components/Detail/Detail.tsx +10 -0
- package/UI/Components/EntityDropdown/EntityDropdown.tsx +33 -0
- package/UI/Components/Forms/Fields/FormField.tsx +31 -0
- package/UI/Components/Forms/Types/Field.ts +8 -0
- package/UI/Components/Forms/Types/FormFieldSchemaType.ts +1 -0
- package/UI/Components/Forms/Utils/FormFieldSchemaTypeUtil.ts +2 -0
- package/UI/Components/Forms/Validation.ts +46 -0
- package/UI/Components/Input/Input.tsx +3 -0
- package/UI/Components/ModelTable/AttributeColumns.tsx +321 -0
- package/UI/Components/ModelTable/BaseModelTable.tsx +263 -14
- package/UI/Components/ModelTable/Column.ts +8 -0
- package/UI/Components/ModelTable/ColumnCustomizationModal.tsx +310 -0
- package/UI/Components/ModelTable/ColumnPreference.ts +13 -1
- package/UI/Components/MonitorTemplateVariables/TemplateVariablesModal.tsx +2 -2
- package/UI/Components/SideOver/SideOver.tsx +5 -5
- package/UI/Components/StatusPage/ResourceGrid.tsx +82 -2
- package/UI/Components/StatusPage/ResourceList.tsx +197 -38
- package/UI/Components/Toggle/Toggle.tsx +9 -1
- package/UI/Components/Types/FieldType.ts +1 -0
- package/Utils/NetworkDevice/DeviceReachabilityUtil.ts +73 -1
- package/Utils/NetworkDiscovery/ScanNameUtil.ts +181 -0
- package/Utils/StatusPage/ResourceExplorer.ts +258 -0
- package/Utils/Telemetry/LlmMetricQuery.ts +287 -0
- package/build/dist/Models/AnalyticsModels/Span.js +89 -0
- package/build/dist/Models/AnalyticsModels/Span.js.map +1 -1
- package/build/dist/Models/DatabaseModels/DetectionRule.js +57 -0
- package/build/dist/Models/DatabaseModels/DetectionRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceAutoImportRule.js +27 -7
- package/build/dist/Models/DatabaseModels/NetworkDeviceAutoImportRule.js.map +1 -1
- package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js +69 -0
- package/build/dist/Models/DatabaseModels/NetworkDeviceDiscoveryScan.js.map +1 -1
- package/build/dist/Models/DatabaseModels/Project.js +76 -0
- package/build/dist/Models/DatabaseModels/Project.js.map +1 -1
- package/build/dist/Models/DatabaseModels/User.js +76 -0
- package/build/dist/Models/DatabaseModels/User.js.map +1 -1
- package/build/dist/Server/API/BaseAPI.js +3 -19
- package/build/dist/Server/API/BaseAPI.js.map +1 -1
- package/build/dist/Server/API/SlackAPI.js +0 -2
- package/build/dist/Server/API/SlackAPI.js.map +1 -1
- package/build/dist/Server/API/TelemetryAPI.js +17 -0
- package/build/dist/Server/API/TelemetryAPI.js.map +1 -1
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789400000000-AddNameToNetworkDeviceDiscoveryScan.js +21 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789400000000-AddNameToNetworkDeviceDiscoveryScan.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789500000000-AddCampaignUtmFields.js +42 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789500000000-AddCampaignUtmFields.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789512000000-AddDetectionRuleDistinctCountColumns.js +22 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/1789512000000-AddDetectionRuleDistinctCountColumns.js.map +1 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js +6 -0
- package/build/dist/Server/Infrastructure/Postgres/SchemaMigrations/Index.js.map +1 -1
- package/build/dist/Server/Middleware/GzipRequestBody.js +224 -0
- package/build/dist/Server/Middleware/GzipRequestBody.js.map +1 -0
- package/build/dist/Server/Middleware/MultipartFormData.js +71 -2
- package/build/dist/Server/Middleware/MultipartFormData.js.map +1 -1
- package/build/dist/Server/Middleware/SlackAuthorization.js +58 -7
- package/build/dist/Server/Middleware/SlackAuthorization.js.map +1 -1
- package/build/dist/Server/Services/DetectionRuleService.js +49 -4
- package/build/dist/Server/Services/DetectionRuleService.js.map +1 -1
- package/build/dist/Server/Services/Index.js +204 -0
- package/build/dist/Server/Services/Index.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceDiscoveryScanService.js +50 -0
- package/build/dist/Server/Services/NetworkDeviceDiscoveryScanService.js.map +1 -1
- package/build/dist/Server/Services/NetworkDeviceService.js +124 -0
- package/build/dist/Server/Services/NetworkDeviceService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js +68 -13
- package/build/dist/Server/Services/OnCallDutyPolicyEscalationRuleScheduleService.js.map +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyFeedService.js +1 -1
- package/build/dist/Server/Services/OnCallDutyPolicyFeedService.js.map +1 -1
- package/build/dist/Server/Services/ProjectService.js +25 -45
- package/build/dist/Server/Services/ProjectService.js.map +1 -1
- package/build/dist/Server/Services/SecurityEventService.js +57 -5
- package/build/dist/Server/Services/SecurityEventService.js.map +1 -1
- package/build/dist/Server/Services/StatusPageResourceService.js +140 -0
- package/build/dist/Server/Services/StatusPageResourceService.js.map +1 -1
- package/build/dist/Server/Services/TelemetryAttributeService.js +17 -0
- package/build/dist/Server/Services/TelemetryAttributeService.js.map +1 -1
- package/build/dist/Server/Services/UserService.js +2 -12
- package/build/dist/Server/Services/UserService.js.map +1 -1
- package/build/dist/Server/Types/Markdown.js +147 -61
- package/build/dist/Server/Types/Markdown.js.map +1 -1
- package/build/dist/Server/Utils/AI/Toolbox/OnCallTools.js +12 -4
- package/build/dist/Server/Utils/AI/Toolbox/OnCallTools.js.map +1 -1
- package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js +12 -1
- package/build/dist/Server/Utils/AnalyticsDatabase/Statement.js.map +1 -1
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js +246 -9
- package/build/dist/Server/Utils/AnalyticsDatabase/StatementGenerator.js.map +1 -1
- package/build/dist/Server/Utils/Attribution.js.map +1 -1
- package/build/dist/Server/Utils/Marketing/MarketingEventUtil.js +27 -7
- package/build/dist/Server/Utils/Marketing/MarketingEventUtil.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/DetectionRuleEvaluator.js +42 -7
- package/build/dist/Server/Utils/SecurityEvent/DetectionRuleEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/SecurityEvent/Sigma/SigmaClickhouseCompiler.js +18 -0
- package/build/dist/Server/Utils/SecurityEvent/Sigma/SigmaClickhouseCompiler.js.map +1 -1
- package/build/dist/Server/Utils/StartServer.js +12 -21
- package/build/dist/Server/Utils/StartServer.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/LlmCostBudgetEvaluator.js +76 -5
- package/build/dist/Server/Utils/Telemetry/LlmCostBudgetEvaluator.js.map +1 -1
- package/build/dist/Server/Utils/Telemetry/LlmMetricSpend.js +151 -0
- package/build/dist/Server/Utils/Telemetry/LlmMetricSpend.js.map +1 -0
- package/build/dist/Server/Utils/Telemetry/LlmSpan.js +24 -1
- package/build/dist/Server/Utils/Telemetry/LlmSpan.js.map +1 -1
- package/build/dist/Server/Utils/Workspace/Slack/Actions/Auth.js +0 -10
- package/build/dist/Server/Utils/Workspace/Slack/Actions/Auth.js.map +1 -1
- package/build/dist/Types/Code/YamlSyntax.js +212 -0
- package/build/dist/Types/Code/YamlSyntax.js.map +1 -0
- package/build/dist/Types/Exception/ExceptionCode.js +1 -0
- package/build/dist/Types/Exception/ExceptionCode.js.map +1 -1
- package/build/dist/Types/Exception/PayloadTooLargeException.js +8 -0
- package/build/dist/Types/Exception/PayloadTooLargeException.js.map +1 -0
- package/build/dist/Types/Marketing/Attribution.js +10 -0
- package/build/dist/Types/Marketing/Attribution.js.map +1 -1
- package/build/dist/Types/Monitor/MonitorCriteriaInstance.js +112 -51
- package/build/dist/Types/Monitor/MonitorCriteriaInstance.js.map +1 -1
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.js +2 -1
- package/build/dist/Types/Monitor/Recommendation/MonitorRecommendationSeverityMapper.js.map +1 -1
- package/build/dist/Types/SecurityEvent/DetectionFindingConstants.js +9 -0
- package/build/dist/Types/SecurityEvent/DetectionFindingConstants.js.map +1 -1
- package/build/dist/Types/Telemetry/LlmConventions.js +236 -0
- package/build/dist/Types/Telemetry/LlmConventions.js.map +1 -1
- package/build/dist/Types/Telemetry/LlmMetricConventions.js +290 -0
- package/build/dist/Types/Telemetry/LlmMetricConventions.js.map +1 -0
- package/build/dist/UI/Components/AutocompleteTextInput/AutocompleteTextInput.js +1 -1
- package/build/dist/UI/Components/AutocompleteTextInput/AutocompleteTextInput.js.map +1 -1
- package/build/dist/UI/Components/BulkUpdate/BulkUpdateForm.js +5 -2
- package/build/dist/UI/Components/BulkUpdate/BulkUpdateForm.js.map +1 -1
- package/build/dist/UI/Components/CodeEditor/CodeEditor.js +206 -76
- package/build/dist/UI/Components/CodeEditor/CodeEditor.js.map +1 -1
- package/build/dist/UI/Components/CodeEditor/YamlEditor.js +201 -0
- package/build/dist/UI/Components/CodeEditor/YamlEditor.js.map +1 -0
- package/build/dist/UI/Components/Detail/Detail.js +9 -0
- package/build/dist/UI/Components/Detail/Detail.js.map +1 -1
- package/build/dist/UI/Components/EntityDropdown/EntityDropdown.js +16 -1
- package/build/dist/UI/Components/EntityDropdown/EntityDropdown.js.map +1 -1
- package/build/dist/UI/Components/Forms/Fields/FormField.js +14 -1
- package/build/dist/UI/Components/Forms/Fields/FormField.js.map +1 -1
- package/build/dist/UI/Components/Forms/Types/Field.js.map +1 -1
- package/build/dist/UI/Components/Forms/Types/FormFieldSchemaType.js +1 -0
- package/build/dist/UI/Components/Forms/Types/FormFieldSchemaType.js.map +1 -1
- package/build/dist/UI/Components/Forms/Utils/FormFieldSchemaTypeUtil.js +2 -0
- package/build/dist/UI/Components/Forms/Utils/FormFieldSchemaTypeUtil.js.map +1 -1
- package/build/dist/UI/Components/Forms/Validation.js +27 -0
- package/build/dist/UI/Components/Forms/Validation.js.map +1 -1
- package/build/dist/UI/Components/Input/Input.js +1 -1
- package/build/dist/UI/Components/Input/Input.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/AttributeColumns.js +159 -0
- package/build/dist/UI/Components/ModelTable/AttributeColumns.js.map +1 -0
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js +179 -17
- package/build/dist/UI/Components/ModelTable/BaseModelTable.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/ColumnCustomizationModal.js +133 -2
- package/build/dist/UI/Components/ModelTable/ColumnCustomizationModal.js.map +1 -1
- package/build/dist/UI/Components/ModelTable/ColumnPreference.js +7 -1
- package/build/dist/UI/Components/ModelTable/ColumnPreference.js.map +1 -1
- package/build/dist/UI/Components/MonitorTemplateVariables/TemplateVariablesModal.js +2 -2
- package/build/dist/UI/Components/SideOver/SideOver.js +5 -5
- package/build/dist/UI/Components/StatusPage/ResourceGrid.js +28 -2
- package/build/dist/UI/Components/StatusPage/ResourceGrid.js.map +1 -1
- package/build/dist/UI/Components/StatusPage/ResourceList.js +87 -20
- package/build/dist/UI/Components/StatusPage/ResourceList.js.map +1 -1
- package/build/dist/UI/Components/Toggle/Toggle.js +9 -1
- package/build/dist/UI/Components/Toggle/Toggle.js.map +1 -1
- package/build/dist/UI/Components/Types/FieldType.js +1 -0
- package/build/dist/UI/Components/Types/FieldType.js.map +1 -1
- package/build/dist/Utils/NetworkDevice/DeviceReachabilityUtil.js +37 -1
- package/build/dist/Utils/NetworkDevice/DeviceReachabilityUtil.js.map +1 -1
- package/build/dist/Utils/NetworkDiscovery/ScanNameUtil.js +120 -0
- package/build/dist/Utils/NetworkDiscovery/ScanNameUtil.js.map +1 -0
- package/build/dist/Utils/StatusPage/ResourceExplorer.js +171 -0
- package/build/dist/Utils/StatusPage/ResourceExplorer.js.map +1 -1
- package/build/dist/Utils/Telemetry/LlmMetricQuery.js +175 -0
- package/build/dist/Utils/Telemetry/LlmMetricQuery.js.map +1 -0
- package/jest.config.json +2 -0
- package/package.json +1 -1
- package/tsconfig.json +2 -1
- package/Tests/UI/Components/Toast.test.tsx +0 -197
- package/Tests/UI/Components/ToastStacking.test.tsx +0 -198
- package/UI/Components/Toast/Toast.tsx +0 -189
- package/UI/Components/Toast/ToastInit.tsx +0 -110
- package/build/dist/UI/Components/Toast/Toast.js +0 -123
- package/build/dist/UI/Components/Toast/Toast.js.map +0 -1
- package/build/dist/UI/Components/Toast/ToastInit.js +0 -53
- package/build/dist/UI/Components/Toast/ToastInit.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Validation.js","sourceRoot":"","sources":["../../../../../UI/Components/Forms/Validation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Validation.js","sourceRoot":"","sources":["../../../../../UI/Components/Forms/Validation.ts"],"names":[],"mappings":"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"}
|
|
@@ -106,7 +106,7 @@ const Input = (props) => {
|
|
|
106
106
|
return (React.createElement(React.Fragment, null,
|
|
107
107
|
React.createElement("div", { className: props.outerDivClassName ||
|
|
108
108
|
`relative mt-2 mb-1 rounded-md shadow-sm w-full` },
|
|
109
|
-
React.createElement("input", { autoFocus: props.autoFocus, ref: ref, id: props.id, onFocus: props.onFocus, onClick: props.onClick, "data-testid": props.dataTestId, spellCheck: !props.disableSpellCheck, autoComplete: props.autoComplete, "aria-labelledby": props.ariaLabelledby, "aria-haspopup": props.ariaHasPopup, "aria-expanded": props.ariaExpanded, "aria-controls": props.ariaControls, "aria-invalid": props.error || props.ariaInvalid ? "true" : undefined, "aria-describedby": props.error ? "input-error-message" : props.ariaDescribedby, onChange: (e) => {
|
|
109
|
+
React.createElement("input", { autoFocus: props.autoFocus, ref: ref, id: props.id, onFocus: props.onFocus, onClick: props.onClick, "data-testid": props.dataTestId, spellCheck: !props.disableSpellCheck, autoComplete: props.autoComplete, "aria-label": props.ariaLabel, "aria-labelledby": props.ariaLabelledby, "aria-haspopup": props.ariaHasPopup, "aria-expanded": props.ariaExpanded, "aria-controls": props.ariaControls, "aria-invalid": props.error || props.ariaInvalid ? "true" : undefined, "aria-describedby": props.error ? "input-error-message" : props.ariaDescribedby, onChange: (e) => {
|
|
110
110
|
const value = e.target.value;
|
|
111
111
|
if ((props.type === InputType.DATE ||
|
|
112
112
|
props.type === InputType.DATETIME_LOCAL) &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../../UI/Components/Input/Input.tsx"],"names":[],"mappings":"AAAA,WAAW;AACX,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,iBAAiB,MAAM,yBAAyB,CAAC;AACxD,OAAO,IAAI,MAAM,cAAc,CAAC;AAChC,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAChD,OAAO,QAAQ,MAAM,8BAA8B,CAAC;AACpD,OAAO,KAAK,EAAE,EAGZ,SAAS,EACT,MAAM,EACN,QAAQ,GACT,MAAM,OAAO,CAAC;AAEf,MAAM,CAAN,IAAY,SAQX;AARD,WAAY,SAAS;IACnB,0BAAa,CAAA;IACb,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;IACjB,0BAAa,CAAA;IACb,8CAAiC,CAAA;IACjC,wBAAW,CAAA;IACX,0BAAa,CAAA;AACf,CAAC,EARW,SAAS,KAAT,SAAS,QAQpB;
|
|
1
|
+
{"version":3,"file":"Input.js","sourceRoot":"","sources":["../../../../../UI/Components/Input/Input.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import FieldType from "../Types/FieldType";
|
|
2
|
+
import React from "react";
|
|
3
|
+
/*
|
|
4
|
+
* Deliberately the same shape ColumnPreference.getColumnBaseId would derive
|
|
5
|
+
* from `field` + `selectedProperty` on its own ("attributes.device.hostname"),
|
|
6
|
+
* so an explicitly-set id and a derived one can never disagree.
|
|
7
|
+
*/
|
|
8
|
+
export const getAttributeColumnId = (data) => {
|
|
9
|
+
return `${data.attributesColumnKey}.${data.attributeKey}`;
|
|
10
|
+
};
|
|
11
|
+
export const getAttributeKeyFromColumnId = (data) => {
|
|
12
|
+
const prefix = `${data.attributesColumnKey}.`;
|
|
13
|
+
if (!data.columnId.startsWith(prefix)) {
|
|
14
|
+
return null;
|
|
15
|
+
}
|
|
16
|
+
const attributeKey = data.columnId.slice(prefix.length);
|
|
17
|
+
return attributeKey.length > 0 ? attributeKey : null;
|
|
18
|
+
};
|
|
19
|
+
/*
|
|
20
|
+
* Whatever the server said, turned into a stable list: trimmed, de-duplicated,
|
|
21
|
+
* and sorted. The sort is load-bearing rather than cosmetic - the picker shows
|
|
22
|
+
* these in order, and an unsorted list from ClickHouse would reshuffle itself
|
|
23
|
+
* between requests.
|
|
24
|
+
*/
|
|
25
|
+
export const normalizeAttributeKeys = (keys) => {
|
|
26
|
+
if (!Array.isArray(keys)) {
|
|
27
|
+
return [];
|
|
28
|
+
}
|
|
29
|
+
const seen = new Set();
|
|
30
|
+
const normalized = [];
|
|
31
|
+
for (const key of keys) {
|
|
32
|
+
if (typeof key !== "string") {
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
const trimmed = key.trim();
|
|
36
|
+
if (trimmed.length === 0 || seen.has(trimmed)) {
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
seen.add(trimmed);
|
|
40
|
+
normalized.push(trimmed);
|
|
41
|
+
}
|
|
42
|
+
return normalized.sort((a, b) => {
|
|
43
|
+
return a.localeCompare(b);
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
export const getAttributeValue = (data) => {
|
|
47
|
+
var _a;
|
|
48
|
+
const attributes = (_a = data.item) === null || _a === void 0 ? void 0 : _a[data.attributesColumnKey];
|
|
49
|
+
if (!attributes || typeof attributes !== "object") {
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
return attributes[data.attributeKey];
|
|
53
|
+
};
|
|
54
|
+
export const getAttributeExportValue = (value) => {
|
|
55
|
+
if (value === undefined || value === null) {
|
|
56
|
+
return "";
|
|
57
|
+
}
|
|
58
|
+
if (Array.isArray(value)) {
|
|
59
|
+
return value
|
|
60
|
+
.map((entry) => {
|
|
61
|
+
return getAttributeExportValue(entry);
|
|
62
|
+
})
|
|
63
|
+
.join(", ");
|
|
64
|
+
}
|
|
65
|
+
if (typeof value === "object") {
|
|
66
|
+
return JSON.stringify(value);
|
|
67
|
+
}
|
|
68
|
+
return String(value);
|
|
69
|
+
};
|
|
70
|
+
/*
|
|
71
|
+
* Map values arrive as strings, but the ingest side is free to write a
|
|
72
|
+
* flattened object or an array under a key, and a project can PUT anything
|
|
73
|
+
* over the API - so this renders whatever it is handed rather than assuming.
|
|
74
|
+
*/
|
|
75
|
+
export const renderAttributeValue = (data) => {
|
|
76
|
+
var _a;
|
|
77
|
+
const noValueMessage = (_a = data.noValueMessage) !== null && _a !== void 0 ? _a : "-";
|
|
78
|
+
const text = getAttributeExportValue(data.value);
|
|
79
|
+
if (text.length === 0) {
|
|
80
|
+
return React.createElement("span", { className: "text-gray-400" }, noValueMessage);
|
|
81
|
+
}
|
|
82
|
+
return (React.createElement("span", { className: "break-words", title: text }, text));
|
|
83
|
+
};
|
|
84
|
+
/*
|
|
85
|
+
* `isRemovable` is what separates these from every other optional column: a
|
|
86
|
+
* viewer who switches an attribute column off still has it sitting in the
|
|
87
|
+
* picker forever, and a table whose source writes a few hundred keys would
|
|
88
|
+
* accumulate an unusable list. Removing drops the id from the stored layout,
|
|
89
|
+
* which is the same thing as the column never having been added.
|
|
90
|
+
*/
|
|
91
|
+
export const getAttributeColumns = (data) => {
|
|
92
|
+
const { attributesColumnKey } = data;
|
|
93
|
+
return (data.attributeKeys || []).map((attributeKey) => {
|
|
94
|
+
return {
|
|
95
|
+
id: getAttributeColumnId({ attributesColumnKey, attributeKey }),
|
|
96
|
+
field: {
|
|
97
|
+
[attributesColumnKey]: true,
|
|
98
|
+
},
|
|
99
|
+
selectedProperty: attributeKey,
|
|
100
|
+
title: attributeKey,
|
|
101
|
+
type: FieldType.Element,
|
|
102
|
+
// See the file header: a map key is not something the sort path can express.
|
|
103
|
+
disableSort: true,
|
|
104
|
+
isHiddenByDefault: Boolean(data.isHiddenByDefault),
|
|
105
|
+
isRemovable: true,
|
|
106
|
+
getExportValue: (item) => {
|
|
107
|
+
return getAttributeExportValue(getAttributeValue({ item, attributesColumnKey, attributeKey }));
|
|
108
|
+
},
|
|
109
|
+
getElement: (item) => {
|
|
110
|
+
return renderAttributeValue({
|
|
111
|
+
value: getAttributeValue({
|
|
112
|
+
item,
|
|
113
|
+
attributesColumnKey,
|
|
114
|
+
attributeKey,
|
|
115
|
+
}),
|
|
116
|
+
noValueMessage: data.noValueMessage,
|
|
117
|
+
});
|
|
118
|
+
},
|
|
119
|
+
};
|
|
120
|
+
});
|
|
121
|
+
};
|
|
122
|
+
/*
|
|
123
|
+
* The attribute columns a stored layout implies.
|
|
124
|
+
*
|
|
125
|
+
* Read from the RAW preference rather than the sanitized one: sanitizing drops
|
|
126
|
+
* ids that name no current column, and an attribute column is only ever a
|
|
127
|
+
* current column *because* its id is in here. `hidden` is scanned as well as
|
|
128
|
+
* `order` - buildColumnPreference always writes both, but a payload from an
|
|
129
|
+
* older release (or one hand-edited in devtools) may carry only the one, and
|
|
130
|
+
* losing the column would silently discard the viewer's choice.
|
|
131
|
+
*/
|
|
132
|
+
export const getAttributeKeysFromColumnPreference = (data) => {
|
|
133
|
+
if (!data.preference) {
|
|
134
|
+
return [];
|
|
135
|
+
}
|
|
136
|
+
const reserved = new Set(data.reservedColumnIds || []);
|
|
137
|
+
const seen = new Set();
|
|
138
|
+
const attributeKeys = [];
|
|
139
|
+
const columnIds = [
|
|
140
|
+
...(data.preference.order || []),
|
|
141
|
+
...(data.preference.hidden || []),
|
|
142
|
+
];
|
|
143
|
+
for (const columnId of columnIds) {
|
|
144
|
+
if (reserved.has(columnId)) {
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
const attributeKey = getAttributeKeyFromColumnId({
|
|
148
|
+
attributesColumnKey: data.attributesColumnKey,
|
|
149
|
+
columnId: columnId,
|
|
150
|
+
});
|
|
151
|
+
if (!attributeKey || seen.has(attributeKey)) {
|
|
152
|
+
continue;
|
|
153
|
+
}
|
|
154
|
+
seen.add(attributeKey);
|
|
155
|
+
attributeKeys.push(attributeKey);
|
|
156
|
+
}
|
|
157
|
+
return attributeKeys;
|
|
158
|
+
};
|
|
159
|
+
//# sourceMappingURL=AttributeColumns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AttributeColumns.js","sourceRoot":"","sources":["../../../../../UI/Components/ModelTable/AttributeColumns.tsx"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,7 @@ import Pill from "../Pill/Pill";
|
|
|
27
27
|
import Table from "../Table/Table";
|
|
28
28
|
import FieldType from "../Types/FieldType";
|
|
29
29
|
import ColumnCustomizationModal from "./ColumnCustomizationModal";
|
|
30
|
+
import { getAttributeColumns, getAttributeKeysFromColumnPreference, normalizeAttributeKeys, } from "./AttributeColumns";
|
|
30
31
|
import { applyColumnPreference, buildColumnPreference, fromJSON as columnPreferenceFromJSON, getCustomizableColumns, isEmptyColumnPreference, sanitizeColumnPreference, getColumnIds, toJSON as columnPreferenceToJSON, } from "./ColumnPreference";
|
|
31
32
|
import { CustomFieldsColumnKey } from "./CustomFieldColumns";
|
|
32
33
|
import useCustomFieldColumns from "./useCustomFieldColumns";
|
|
@@ -79,7 +80,7 @@ export var ModalType;
|
|
|
79
80
|
ModalType[ModalType["Edit"] = 1] = "Edit";
|
|
80
81
|
})(ModalType || (ModalType = {}));
|
|
81
82
|
const BaseModelTable = (props) => {
|
|
82
|
-
var _a, _b, _c;
|
|
83
|
+
var _a, _b, _c, _d;
|
|
83
84
|
const { translateValue, translateString } = useTranslateValue();
|
|
84
85
|
const tx = (value) => {
|
|
85
86
|
var _a;
|
|
@@ -148,12 +149,6 @@ const BaseModelTable = (props) => {
|
|
|
148
149
|
const isColumnCustomizationEnabled = Boolean(!props.disableColumnCustomization &&
|
|
149
150
|
props.userPreferencesKey &&
|
|
150
151
|
showAs !== ShowAs.OrderedStatesList);
|
|
151
|
-
const allColumns = useMemo(() => {
|
|
152
|
-
if (customFieldColumns.columns.length === 0) {
|
|
153
|
-
return props.columns || [];
|
|
154
|
-
}
|
|
155
|
-
return [...(props.columns || []), ...customFieldColumns.columns];
|
|
156
|
-
}, [props.columns, customFieldColumns.columns]);
|
|
157
152
|
const readStoredColumnPreference = () => {
|
|
158
153
|
if (!props.userPreferencesKey) {
|
|
159
154
|
return null;
|
|
@@ -165,6 +160,59 @@ const BaseModelTable = (props) => {
|
|
|
165
160
|
};
|
|
166
161
|
const [columnPreference, setColumnPreference] = useState(readStoredColumnPreference);
|
|
167
162
|
const [showColumnCustomizationModal, setShowColumnCustomizationModal] = useState(false);
|
|
163
|
+
/*
|
|
164
|
+
* ---------------------------------------------------------------------
|
|
165
|
+
* Attribute columns
|
|
166
|
+
* ---------------------------------------------------------------------
|
|
167
|
+
*
|
|
168
|
+
* A column per viewer-chosen key inside the model's map column. There is no
|
|
169
|
+
* second store for "which keys did they pick": a column exists precisely
|
|
170
|
+
* when its id is in the stored layout, and the id encodes the key. That is
|
|
171
|
+
* what makes "Reset to default" take them away, a saved TableView bring its
|
|
172
|
+
* own, and the two halves of a layout impossible to desynchronize.
|
|
173
|
+
*
|
|
174
|
+
* Derived from the RAW preference, before sanitizing: sanitizing drops ids
|
|
175
|
+
* that name no current column, and these are only current columns *because*
|
|
176
|
+
* their ids are in there.
|
|
177
|
+
*/
|
|
178
|
+
const attributeColumnKey = useMemo(() => {
|
|
179
|
+
var _a;
|
|
180
|
+
const columnKey = (_a = props.attributeColumnsProps) === null || _a === void 0 ? void 0 : _a.columnKey;
|
|
181
|
+
if (!columnKey || !isColumnCustomizationEnabled) {
|
|
182
|
+
return null;
|
|
183
|
+
}
|
|
184
|
+
/*
|
|
185
|
+
* A key that is not a column on the model would make getSelectFromColumns
|
|
186
|
+
* throw and blank the whole table. A misconfigured prop should cost the
|
|
187
|
+
* feature, not the page.
|
|
188
|
+
*/
|
|
189
|
+
return model.hasColumn(columnKey) ? columnKey : null;
|
|
190
|
+
}, [(_b = props.attributeColumnsProps) === null || _b === void 0 ? void 0 : _b.columnKey, isColumnCustomizationEnabled]);
|
|
191
|
+
const declaredColumns = useMemo(() => {
|
|
192
|
+
if (customFieldColumns.columns.length === 0) {
|
|
193
|
+
return props.columns || [];
|
|
194
|
+
}
|
|
195
|
+
return [...(props.columns || []), ...customFieldColumns.columns];
|
|
196
|
+
}, [props.columns, customFieldColumns.columns]);
|
|
197
|
+
const attributeColumns = useMemo(() => {
|
|
198
|
+
if (!attributeColumnKey) {
|
|
199
|
+
return [];
|
|
200
|
+
}
|
|
201
|
+
return getAttributeColumns({
|
|
202
|
+
attributesColumnKey: attributeColumnKey,
|
|
203
|
+
attributeKeys: getAttributeKeysFromColumnPreference({
|
|
204
|
+
preference: columnPreference,
|
|
205
|
+
attributesColumnKey: attributeColumnKey,
|
|
206
|
+
reservedColumnIds: getColumnIds(declaredColumns),
|
|
207
|
+
}),
|
|
208
|
+
});
|
|
209
|
+
}, [attributeColumnKey, columnPreference, declaredColumns]);
|
|
210
|
+
const allColumns = useMemo(() => {
|
|
211
|
+
if (attributeColumns.length === 0) {
|
|
212
|
+
return declaredColumns;
|
|
213
|
+
}
|
|
214
|
+
return [...declaredColumns, ...attributeColumns];
|
|
215
|
+
}, [declaredColumns, attributeColumns]);
|
|
168
216
|
/*
|
|
169
217
|
* Ids are derived over the *whole* declared set, so a column dropping out
|
|
170
218
|
* for lack of permission can never renumber the ones that remain.
|
|
@@ -204,6 +252,12 @@ const BaseModelTable = (props) => {
|
|
|
204
252
|
value: json,
|
|
205
253
|
});
|
|
206
254
|
};
|
|
255
|
+
/*
|
|
256
|
+
* The pool of keys the picker offers. Fetched the first time the picker
|
|
257
|
+
* opens, never on mount: it is a wide scan over the analytics table, and a
|
|
258
|
+
* table nobody customizes should not pay for it on every page load.
|
|
259
|
+
*/
|
|
260
|
+
const [attributeKeyPool, setAttributeKeyPool] = useState({ keys: [], isLoading: false, error: "", hasLoaded: false });
|
|
207
261
|
const [classicTableFilters, setClassicTableFilters] = useState([]);
|
|
208
262
|
const [cardButtons, setCardButtons] = useState([]);
|
|
209
263
|
const [actionButtonSchema, setActionButtonSchema] = useState([]);
|
|
@@ -248,7 +302,7 @@ const BaseModelTable = (props) => {
|
|
|
248
302
|
const urlStateKey = props.disableUrlState
|
|
249
303
|
? undefined
|
|
250
304
|
: props.urlStateKey ||
|
|
251
|
-
((
|
|
305
|
+
((_c = props.saveFilterProps) === null || _c === void 0 ? void 0 : _c.tableId) ||
|
|
252
306
|
props.userPreferencesKey ||
|
|
253
307
|
undefined;
|
|
254
308
|
const initialUrlState = useMemo(() => {
|
|
@@ -1237,6 +1291,17 @@ const BaseModelTable = (props) => {
|
|
|
1237
1291
|
hasPermissionToReadField(CustomFieldsColumnKey)) {
|
|
1238
1292
|
selectFields[CustomFieldsColumnKey] = true;
|
|
1239
1293
|
}
|
|
1294
|
+
/*
|
|
1295
|
+
* Same reasoning for the attribute map column: a column added from the
|
|
1296
|
+
* picker appears without a refetch, so the map it reads has to have been
|
|
1297
|
+
* on the wire since the first request or the new column renders blank
|
|
1298
|
+
* until something else happens to reload the page.
|
|
1299
|
+
*/
|
|
1300
|
+
if (attributeColumnKey &&
|
|
1301
|
+
(hasPermissionToReadField(attributeColumnKey) ||
|
|
1302
|
+
User.isMasterAdmin())) {
|
|
1303
|
+
selectFields[attributeColumnKey] = true;
|
|
1304
|
+
}
|
|
1240
1305
|
const selectMoreFields = props.selectMoreFields
|
|
1241
1306
|
? Object.keys(props.selectMoreFields)
|
|
1242
1307
|
: [];
|
|
@@ -1559,12 +1624,66 @@ const BaseModelTable = (props) => {
|
|
|
1559
1624
|
serializeToTableColumns();
|
|
1560
1625
|
}, [props.columns]);
|
|
1561
1626
|
/*
|
|
1562
|
-
* The viewer changed their layout,
|
|
1563
|
-
*
|
|
1627
|
+
* The viewer changed their layout, the project's custom field definitions
|
|
1628
|
+
* finally arrived, or an attribute column was added or removed.
|
|
1564
1629
|
*/
|
|
1565
1630
|
useEffect(() => {
|
|
1566
1631
|
serializeToTableColumns();
|
|
1567
|
-
}, [effectiveColumnPreference, customFieldColumns.columns]);
|
|
1632
|
+
}, [effectiveColumnPreference, customFieldColumns.columns, attributeColumns]);
|
|
1633
|
+
/*
|
|
1634
|
+
* The attribute key pool is only ever needed by the picker, so it is fetched
|
|
1635
|
+
* when the picker first opens and kept for the rest of the page's life.
|
|
1636
|
+
* A failure costs the "add a column" search box and nothing else — the
|
|
1637
|
+
* columns the viewer already added are rebuilt from their stored layout and
|
|
1638
|
+
* do not depend on this at all.
|
|
1639
|
+
*/
|
|
1640
|
+
useEffect(() => {
|
|
1641
|
+
if (!showColumnCustomizationModal ||
|
|
1642
|
+
!attributeColumnKey ||
|
|
1643
|
+
!props.attributeColumnsProps ||
|
|
1644
|
+
attributeKeyPool.hasLoaded ||
|
|
1645
|
+
attributeKeyPool.isLoading) {
|
|
1646
|
+
return;
|
|
1647
|
+
}
|
|
1648
|
+
const fetchAttributeKeys = props.attributeColumnsProps.fetchAttributeKeys;
|
|
1649
|
+
let isCancelled = false;
|
|
1650
|
+
setAttributeKeyPool({
|
|
1651
|
+
keys: [],
|
|
1652
|
+
isLoading: true,
|
|
1653
|
+
error: "",
|
|
1654
|
+
hasLoaded: false,
|
|
1655
|
+
});
|
|
1656
|
+
fetchAttributeKeys()
|
|
1657
|
+
.then((keys) => {
|
|
1658
|
+
if (isCancelled) {
|
|
1659
|
+
return;
|
|
1660
|
+
}
|
|
1661
|
+
setAttributeKeyPool({
|
|
1662
|
+
keys: normalizeAttributeKeys(keys),
|
|
1663
|
+
isLoading: false,
|
|
1664
|
+
error: "",
|
|
1665
|
+
hasLoaded: true,
|
|
1666
|
+
});
|
|
1667
|
+
})
|
|
1668
|
+
.catch((err) => {
|
|
1669
|
+
if (isCancelled) {
|
|
1670
|
+
return;
|
|
1671
|
+
}
|
|
1672
|
+
setAttributeKeyPool({
|
|
1673
|
+
keys: [],
|
|
1674
|
+
isLoading: false,
|
|
1675
|
+
error: API.getFriendlyMessage(err),
|
|
1676
|
+
/*
|
|
1677
|
+
* Not "loaded": closing and reopening the picker is the only retry
|
|
1678
|
+
* anyone would think to try, so let it be one.
|
|
1679
|
+
*/
|
|
1680
|
+
hasLoaded: false,
|
|
1681
|
+
});
|
|
1682
|
+
});
|
|
1683
|
+
return () => {
|
|
1684
|
+
isCancelled = true;
|
|
1685
|
+
};
|
|
1686
|
+
}, [showColumnCustomizationModal, attributeColumnKey]);
|
|
1568
1687
|
const setActionSchema = () => {
|
|
1569
1688
|
const permissions = PermissionUtil.getAllPermissions();
|
|
1570
1689
|
const actionsSchema = [];
|
|
@@ -2455,9 +2574,9 @@ const BaseModelTable = (props) => {
|
|
|
2455
2574
|
}
|
|
2456
2575
|
return hasPermissionToReadColumn(column) || User.isMasterAdmin();
|
|
2457
2576
|
};
|
|
2458
|
-
const getPickerEntries = (preference) => {
|
|
2577
|
+
const getPickerEntries = (preference, columns) => {
|
|
2459
2578
|
return getCustomizableColumns({
|
|
2460
|
-
columns: allColumns,
|
|
2579
|
+
columns: columns || allColumns,
|
|
2461
2580
|
preference: preference,
|
|
2462
2581
|
}).filter((entry) => {
|
|
2463
2582
|
return isPickableColumn(entry.column);
|
|
@@ -2481,7 +2600,13 @@ const BaseModelTable = (props) => {
|
|
|
2481
2600
|
* would be pinned to the column set of the release they opened it in, and
|
|
2482
2601
|
* columns added later would arrive already stale.
|
|
2483
2602
|
*/
|
|
2484
|
-
|
|
2603
|
+
/*
|
|
2604
|
+
* Over the DECLARED columns only. An attribute column exists because the
|
|
2605
|
+
* viewer added it, so the layout that has none of them is the default one
|
|
2606
|
+
* — otherwise adding a column and then removing it again would leave the
|
|
2607
|
+
* table pinned to a stored layout it no longer differs from.
|
|
2608
|
+
*/
|
|
2609
|
+
const defaultPreference = buildColumnPreference(getPickerEntries(null, declaredColumns));
|
|
2485
2610
|
const isBackToDefault = JSON.stringify(preference) === JSON.stringify(defaultPreference);
|
|
2486
2611
|
/*
|
|
2487
2612
|
* Sorting by a column that is no longer on screen leaves the viewer with
|
|
@@ -2503,11 +2628,48 @@ const BaseModelTable = (props) => {
|
|
|
2503
2628
|
saveColumnPreference(isBackToDefault ? null : preference);
|
|
2504
2629
|
setShowColumnCustomizationModal(false);
|
|
2505
2630
|
};
|
|
2631
|
+
/*
|
|
2632
|
+
* The pool the picker offers, as picker entries rather than model columns,
|
|
2633
|
+
* so the modal can stage one straight into its list. Every one starts
|
|
2634
|
+
* removable — the whole point is that the viewer can take it away again.
|
|
2635
|
+
*/
|
|
2636
|
+
const addableAttributeColumns = useMemo(() => {
|
|
2637
|
+
if (!attributeColumnKey || attributeKeyPool.keys.length === 0) {
|
|
2638
|
+
return [];
|
|
2639
|
+
}
|
|
2640
|
+
return getAttributeColumns({
|
|
2641
|
+
attributesColumnKey: attributeColumnKey,
|
|
2642
|
+
attributeKeys: attributeKeyPool.keys,
|
|
2643
|
+
}).map((column, index) => {
|
|
2644
|
+
return {
|
|
2645
|
+
id: column.id || `${attributeColumnKey}.${index}`,
|
|
2646
|
+
column: column,
|
|
2647
|
+
isVisible: true,
|
|
2648
|
+
isPinned: false,
|
|
2649
|
+
isRemovable: true,
|
|
2650
|
+
};
|
|
2651
|
+
});
|
|
2652
|
+
}, [attributeColumnKey, attributeKeyPool.keys]);
|
|
2653
|
+
const getAddableColumnsConfig = () => {
|
|
2654
|
+
if (!attributeColumnKey || !props.attributeColumnsProps) {
|
|
2655
|
+
return undefined;
|
|
2656
|
+
}
|
|
2657
|
+
return {
|
|
2658
|
+
title: props.attributeColumnsProps.title || tx("Add Attribute Column"),
|
|
2659
|
+
description: props.attributeColumnsProps.description ||
|
|
2660
|
+
tx("Attributes vary per event, so they are not listed above. Search for one to add it as a column."),
|
|
2661
|
+
placeholder: props.attributeColumnsProps.placeholder || "Search...",
|
|
2662
|
+
emptyMessage: props.attributeColumnsProps.emptyMessage,
|
|
2663
|
+
isLoading: attributeKeyPool.isLoading,
|
|
2664
|
+
errorMessage: attributeKeyPool.error,
|
|
2665
|
+
columns: addableAttributeColumns,
|
|
2666
|
+
};
|
|
2667
|
+
};
|
|
2506
2668
|
const getColumnCustomizationModal = () => {
|
|
2507
2669
|
if (!showColumnCustomizationModal || !isColumnCustomizationEnabled) {
|
|
2508
2670
|
return null;
|
|
2509
2671
|
}
|
|
2510
|
-
return (React.createElement(ColumnCustomizationModal, { columns: getPickerEntries(effectiveColumnPreference), isDefaultLayout: isEmptyColumnPreference(effectiveColumnPreference), title: tx("Customize Columns"), onSave: onColumnCustomizationSave, onReset: () => {
|
|
2672
|
+
return (React.createElement(ColumnCustomizationModal, { columns: getPickerEntries(effectiveColumnPreference), addableColumns: getAddableColumnsConfig(), isDefaultLayout: isEmptyColumnPreference(effectiveColumnPreference), title: tx("Customize Columns"), onSave: onColumnCustomizationSave, onReset: () => {
|
|
2511
2673
|
saveColumnPreference(null);
|
|
2512
2674
|
setShowColumnCustomizationModal(false);
|
|
2513
2675
|
}, onClose: () => {
|
|
@@ -2569,9 +2731,9 @@ const BaseModelTable = (props) => {
|
|
|
2569
2731
|
? new ObjectID(currentEditableItem["_id"])
|
|
2570
2732
|
: undefined,
|
|
2571
2733
|
})) : (React.createElement(React.Fragment, null)),
|
|
2572
|
-
showDeleteConfirmModal && (React.createElement(ConfirmModal, { title: `Delete ${props.singularName || model.singularName}`, description: `Are you sure you want to delete this ${(
|
|
2734
|
+
showDeleteConfirmModal && (React.createElement(ConfirmModal, { title: `Delete ${props.singularName || model.singularName}`, description: `Are you sure you want to delete this ${(_d = (props.singularName ||
|
|
2573
2735
|
model.singularName ||
|
|
2574
|
-
"item")) === null ||
|
|
2736
|
+
"item")) === null || _d === void 0 ? void 0 : _d.toLowerCase()}?`, onClose: () => {
|
|
2575
2737
|
setShowDeleteConfirmModal(false);
|
|
2576
2738
|
}, submitButtonText: "Delete", onSubmit: async () => {
|
|
2577
2739
|
if (currentDeleteableItem && currentDeleteableItem["_id"]) {
|