@eric-emg/symphiq-components 1.2.179 → 1.2.180

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.
@@ -57356,6 +57356,74 @@ function sortDataByMonth(data) {
57356
57356
  return aMonth - bMonth;
57357
57357
  });
57358
57358
  }
57359
+ function transformTrendUiDataToChartSeries(trendUiData, metricToExtract) {
57360
+ if (!trendUiData?.convertedDataResults) {
57361
+ return [];
57362
+ }
57363
+ const convertedData = trendUiData.convertedDataResults;
57364
+ const metricIndex = convertedData.metrics?.indexOf(metricToExtract);
57365
+ if (metricIndex === undefined || metricIndex === -1)
57366
+ return [];
57367
+ const dateIndex = convertedData.dimensions?.indexOf(DimensionEnum.DATE);
57368
+ const monthIndex = convertedData.dimensions?.indexOf(DimensionEnum.MONTH);
57369
+ if (dateIndex === undefined || dateIndex === -1) {
57370
+ if (monthIndex === undefined || monthIndex === -1)
57371
+ return [];
57372
+ return extractSeriesFromConvertedData(convertedData, metricToExtract, 'Current Year')
57373
+ ? [extractSeriesFromConvertedData(convertedData, metricToExtract, 'Current Year')]
57374
+ : [];
57375
+ }
57376
+ const currentYear = new Date().getFullYear();
57377
+ const priorYear = currentYear - 1;
57378
+ const priorYearPoints = [];
57379
+ const currentYearPoints = [];
57380
+ convertedData.rows?.forEach((row) => {
57381
+ const dateValue = row.dimensionValues?.[dateIndex];
57382
+ const metricValue = parseFloat(row.metricValues?.[metricIndex] || '0');
57383
+ if (dateValue) {
57384
+ const year = parseInt(dateValue.substring(0, 4), 10);
57385
+ const month = parseInt(dateValue.substring(4, 6) || dateValue.substring(5, 7), 10);
57386
+ const point = {
57387
+ category: String(month),
57388
+ value: metricValue,
57389
+ displayLabel: formatMonthLabel(String(month))
57390
+ };
57391
+ if (year === priorYear) {
57392
+ priorYearPoints.push(point);
57393
+ }
57394
+ else if (year === currentYear) {
57395
+ currentYearPoints.push(point);
57396
+ }
57397
+ }
57398
+ });
57399
+ const series = [];
57400
+ if (priorYearPoints.length > 0) {
57401
+ series.push({
57402
+ name: 'Prior Year',
57403
+ data: aggregateAndSortByMonth(priorYearPoints)
57404
+ });
57405
+ }
57406
+ if (currentYearPoints.length > 0) {
57407
+ series.push({
57408
+ name: 'Current Year',
57409
+ data: aggregateAndSortByMonth(currentYearPoints)
57410
+ });
57411
+ }
57412
+ return series;
57413
+ }
57414
+ function aggregateAndSortByMonth(points) {
57415
+ const monthMap = new Map();
57416
+ points.forEach(point => {
57417
+ const existing = monthMap.get(point.category);
57418
+ if (existing) {
57419
+ existing.value += point.value;
57420
+ }
57421
+ else {
57422
+ monthMap.set(point.category, { ...point });
57423
+ }
57424
+ });
57425
+ return sortDataByMonth(Array.from(monthMap.values()));
57426
+ }
57359
57427
  function sumMetricFromUiData(uiData, metricToSum) {
57360
57428
  if (!uiData?.convertedDataResults) {
57361
57429
  return 0;
@@ -57670,33 +57738,12 @@ class InitialTargetSettingComponent {
57670
57738
  return this.isValid() && this.metricCalculations().length > 0;
57671
57739
  }, ...(ngDevMode ? [{ debugName: "showMetricsVisualization" }] : []));
57672
57740
  this.revenueChartData = computed(() => {
57673
- const mainData = this.mainUiData();
57674
- const yoyData = this.yoyUiData();
57675
- if (!mainData && !yoyData) {
57676
- console.log('no data', mainData, yoyData);
57741
+ const trendData = this.trendUiData();
57742
+ if (!trendData?.convertedDataResults) {
57677
57743
  return null;
57678
57744
  }
57679
- const series = transformUiDataToChartSeries(mainData, yoyData, MetricEnum.PURCHASE_REVENUE);
57745
+ const series = transformTrendUiDataToChartSeries(trendData, MetricEnum.PURCHASE_REVENUE);
57680
57746
  if (series.length === 0) {
57681
- console.log('[revenueChartData] series.length === 0. Diagnostic info:', {
57682
- mainData: {
57683
- exists: !!mainData,
57684
- hasConvertedDataResults: !!mainData?.convertedDataResults,
57685
- metrics: mainData?.convertedDataResults?.metrics,
57686
- dimensions: mainData?.convertedDataResults?.dimensions,
57687
- hasPurchaseRevenue: mainData?.convertedDataResults?.metrics?.includes(MetricEnum.PURCHASE_REVENUE),
57688
- rowCount: mainData?.convertedDataResults?.rows?.length ?? 0
57689
- },
57690
- yoyData: {
57691
- exists: !!yoyData,
57692
- hasConvertedDataResults: !!yoyData?.convertedDataResults,
57693
- metrics: yoyData?.convertedDataResults?.metrics,
57694
- dimensions: yoyData?.convertedDataResults?.dimensions,
57695
- hasPurchaseRevenue: yoyData?.convertedDataResults?.metrics?.includes(MetricEnum.PURCHASE_REVENUE),
57696
- rowCount: yoyData?.convertedDataResults?.rows?.length ?? 0
57697
- },
57698
- targetMetric: MetricEnum.PURCHASE_REVENUE
57699
- });
57700
57747
  return null;
57701
57748
  }
57702
57749
  return {