@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
|
|
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
|
-
|
|
57519
|
-
|
|
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();
|