@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.
- package/fesm2022/symphiq-components.mjs +71 -24
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +52 -52
- package/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -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
|
|
57674
|
-
|
|
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 =
|
|
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 {
|