@eric-emg/symphiq-components 1.2.191 → 1.2.192

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.
@@ -1,4 +1,4 @@
1
- import { ViewModeEnum, MetricStatusEnum, TrendDirectionEnum, CompetitiveScoreEnum, ChartTypeEnum, IconSourceEnum, ProfileAnalysisRecommendationPriorityEnum, ProfileItemTypeEnum, PriceVsCompetitorsEnum, DifferentiationStrengthEnum, ThreatLevelEnum, normalizeToV3, MetricEnum, FocusAreaDetailStatusEnum, FocusAreaDomainEnumUtil, FocusAreaDomainEnum, ShopDataLoadStatusEnum, DimensionEnum, AiDynamicContentStatusEnum, FocusAreaHealthEnum, ProfileAnalysisPriorityEnum, CapabilityStateEnum, QuadrantEnum, AdvantageEnum, OverallGradeEnum, OperationalMaturityEnum, ProfileAnalysisEffortLevelEnum, ProfileAnalysisImpactLevelEnum, ProfileAnalysisTypeEnum, LineChartUseCaseEnum, BarChartUseCaseEnum } from '@jebgem/model';
1
+ import { ViewModeEnum, MetricStatusEnum, TrendDirectionEnum, CompetitiveScoreEnum, ChartTypeEnum, IconSourceEnum, ProfileAnalysisRecommendationPriorityEnum, ProfileItemTypeEnum, PriceVsCompetitorsEnum, DifferentiationStrengthEnum, ThreatLevelEnum, normalizeToV3, MetricEnum, FocusAreaDetailStatusEnum, FocusAreaDomainEnumUtil, FocusAreaDomainEnum, ShopDataLoadStatusEnum, DimensionEnum, UiDataPeriodEnum, UiDataComparePeriodEnum, AiDynamicContentStatusEnum, FocusAreaHealthEnum, ProfileAnalysisPriorityEnum, CapabilityStateEnum, QuadrantEnum, AdvantageEnum, OverallGradeEnum, OperationalMaturityEnum, ProfileAnalysisEffortLevelEnum, ProfileAnalysisImpactLevelEnum, ProfileAnalysisTypeEnum, LineChartUseCaseEnum, BarChartUseCaseEnum } from '@jebgem/model';
2
2
  export * from '@jebgem/model';
3
3
  import * as i0 from '@angular/core';
4
4
  import { Injectable, signal, computed, input, ChangeDetectionStrategy, Component, output, inject, ElementRef, Renderer2, effect, Directive, HostListener, untracked, ViewChild, PLATFORM_ID, Inject, Input } from '@angular/core';
@@ -57511,17 +57511,66 @@ function aggregateAndSortByMonth(points) {
57511
57511
  });
57512
57512
  return sortDataByMonth(Array.from(monthMap.values()));
57513
57513
  }
57514
- function sumMetricFromUiData(uiData, metricToSum) {
57514
+ function getConvertedDataForSource(uiData, source) {
57515
+ if (!uiData)
57516
+ return undefined;
57517
+ const periodInfo = uiData.periodInfo;
57518
+ console.group('[getConvertedDataForSource] Debug');
57519
+ console.log('source:', source);
57520
+ console.log('periodInfo:', periodInfo);
57521
+ console.log('period:', periodInfo?.period);
57522
+ console.log('comparePeriod:', periodInfo?.comparePeriod);
57523
+ let result;
57524
+ switch (source) {
57525
+ case 'current':
57526
+ result = uiData.convertedDataResults;
57527
+ console.log('Using convertedDataResults (current period)');
57528
+ break;
57529
+ case 'compare':
57530
+ result = uiData.convertedDataResultsCompare;
57531
+ console.log('Using convertedDataResultsCompare (compare period)');
57532
+ break;
57533
+ case 'priorYear':
57534
+ if (periodInfo?.period === UiDataPeriodEnum.THIS_YEAR &&
57535
+ periodInfo?.comparePeriod === UiDataComparePeriodEnum.PREVIOUS_PERIOD) {
57536
+ result = uiData.convertedDataResultsCompare;
57537
+ console.log('THIS_YEAR + PREVIOUS_PERIOD: Using convertedDataResultsCompare (all of last year)');
57538
+ }
57539
+ else if (periodInfo?.period === UiDataPeriodEnum.THIS_AND_LAST_YEAR) {
57540
+ console.log('THIS_AND_LAST_YEAR: Need to filter by year from convertedDataResults');
57541
+ result = uiData.convertedDataResults;
57542
+ }
57543
+ else if (periodInfo?.comparePeriod === UiDataComparePeriodEnum.SAME_PERIOD_LAST_YEAR) {
57544
+ result = uiData.convertedDataResultsCompare;
57545
+ console.log('SAME_PERIOD_LAST_YEAR: Using convertedDataResultsCompare');
57546
+ }
57547
+ else if (periodInfo?.comparePeriod === UiDataComparePeriodEnum.PREVIOUS_PERIOD) {
57548
+ result = uiData.convertedDataResultsCompare;
57549
+ console.log('PREVIOUS_PERIOD: Using convertedDataResultsCompare');
57550
+ }
57551
+ else {
57552
+ console.log('No matching period config for priorYear, falling back to convertedDataResultsCompare');
57553
+ result = uiData.convertedDataResultsCompare;
57554
+ }
57555
+ break;
57556
+ }
57557
+ console.log('Result exists:', !!result);
57558
+ console.groupEnd();
57559
+ return result;
57560
+ }
57561
+ function sumMetricFromUiData(uiData, metricToSum, source = 'current') {
57515
57562
  console.group('[sumMetricFromUiData] Debug');
57516
- console.log('Input uiData:', uiData);
57517
57563
  console.log('metricToSum:', metricToSum);
57518
- if (!uiData?.convertedDataResults) {
57519
- console.log('EARLY RETURN: uiData or convertedDataResults is falsy');
57564
+ console.log('source:', source);
57565
+ const convertedData = getConvertedDataForSource(uiData, source);
57566
+ if (!convertedData) {
57567
+ console.log('EARLY RETURN: convertedData is falsy');
57568
+ console.log('convertedDataResults exists:', !!uiData?.convertedDataResults);
57569
+ console.log('convertedDataResultsCompare exists:', !!uiData?.convertedDataResultsCompare);
57520
57570
  console.groupEnd();
57521
57571
  return 0;
57522
57572
  }
57523
57573
  let total = 0;
57524
- const convertedData = uiData.convertedDataResults;
57525
57574
  const metricIndex = convertedData.metrics?.indexOf(metricToSum);
57526
57575
  console.log('Available metrics:', convertedData.metrics);
57527
57576
  console.log('metricIndex for', metricToSum, ':', metricIndex);
@@ -57556,7 +57605,7 @@ class RevenueCalculatorService {
57556
57605
  return this.calculateTargetsFromRevenue(revenueTarget, mainUiData, funnelMetrics);
57557
57606
  }
57558
57607
  extractPriorYearRevenue(mainUiData) {
57559
- return sumMetricFromUiData(mainUiData, MetricEnum.PURCHASE_REVENUE);
57608
+ return sumMetricFromUiData(mainUiData, MetricEnum.PURCHASE_REVENUE, 'priorYear');
57560
57609
  }
57561
57610
  extractBaselineValues(mainUiData, funnelMetrics) {
57562
57611
  const baselineValues = new Map();
@@ -57565,7 +57614,7 @@ class RevenueCalculatorService {
57565
57614
  }
57566
57615
  funnelMetrics.forEach(fm => {
57567
57616
  if (fm.relatedMetric) {
57568
- const value = sumMetricFromUiData(mainUiData, fm.relatedMetric);
57617
+ const value = sumMetricFromUiData(mainUiData, fm.relatedMetric, 'priorYear');
57569
57618
  baselineValues.set(fm.relatedMetric, value);
57570
57619
  }
57571
57620
  });
@@ -57774,7 +57823,7 @@ class InitialTargetSettingComponent {
57774
57823
  this.percentageInput = signal(0, ...(ngDevMode ? [{ debugName: "percentageInput" }] : []));
57775
57824
  this.isSubmitting = signal(false, ...(ngDevMode ? [{ debugName: "isSubmitting" }] : []));
57776
57825
  this.priorYearRevenue = computed(() => {
57777
- return sumMetricFromUiData(this.mainUiData(), MetricEnum.PURCHASE_REVENUE);
57826
+ return sumMetricFromUiData(this.mainUiData(), MetricEnum.PURCHASE_REVENUE, 'priorYear');
57778
57827
  }, ...(ngDevMode ? [{ debugName: "priorYearRevenue" }] : []));
57779
57828
  this.currentPaceProjection = computed(() => {
57780
57829
  const pacingData = this.pacingMetrics();