@eric-emg/symphiq-components 1.2.542 → 1.2.543
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 +202 -78
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +56 -55
- package/index.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -175,14 +175,16 @@ class ModalService {
|
|
|
175
175
|
this.modalState.next(newState);
|
|
176
176
|
}
|
|
177
177
|
openMetricModal(metric, charts = [], previousState, expandedSection) {
|
|
178
|
-
console.log('[ModalService.openMetricModal] Called with metric:', metric);
|
|
178
|
+
console.log('[ModalService.openMetricModal] Called with metric:', metric?.metric);
|
|
179
|
+
console.log('[ModalService.openMetricModal] Charts count:', charts.length);
|
|
180
|
+
console.log('[ModalService.openMetricModal] Chart IDs:', charts.map(c => c.performanceItemId));
|
|
179
181
|
const prevStack = previousState?.navigationStack || [];
|
|
180
182
|
const navigationStack = previousState ? [...prevStack, previousState] : [];
|
|
181
183
|
const openedFromMainBody = !previousState;
|
|
182
184
|
const newState = { type: 'metric', data: metric, charts, previousState: previousState || null, expandedSection, navigationStack, openedFromMainBody };
|
|
183
|
-
console.log('[ModalService.openMetricModal] Setting modal state:', newState);
|
|
185
|
+
console.log('[ModalService.openMetricModal] Setting modal state with charts:', newState.charts.length);
|
|
184
186
|
this.modalState.next(newState);
|
|
185
|
-
console.log('[ModalService.openMetricModal] Modal state after next:', this.modalState.value);
|
|
187
|
+
console.log('[ModalService.openMetricModal] Modal state value after next, charts count:', this.modalState.value?.charts?.length);
|
|
186
188
|
}
|
|
187
189
|
openChartModal(chart, previousState) {
|
|
188
190
|
const navigationStack = previousState ? [...(previousState.navigationStack || []), previousState] : [];
|
|
@@ -8518,6 +8520,14 @@ class MetricCardComponent {
|
|
|
8518
8520
|
}
|
|
8519
8521
|
});
|
|
8520
8522
|
});
|
|
8523
|
+
effect(() => {
|
|
8524
|
+
const metric = this.metric();
|
|
8525
|
+
const chartsInput = this.charts();
|
|
8526
|
+
const allChartsInput = this.allCharts();
|
|
8527
|
+
console.log('[MetricCard] Metric:', metric.metric);
|
|
8528
|
+
console.log('[MetricCard] charts() count:', chartsInput.length, 'IDs:', chartsInput.map(c => c.performanceItemId));
|
|
8529
|
+
console.log('[MetricCard] allCharts() count:', allChartsInput.length);
|
|
8530
|
+
});
|
|
8521
8531
|
}
|
|
8522
8532
|
animateValue(target) {
|
|
8523
8533
|
if (this.animationFrame !== null) {
|
|
@@ -16647,6 +16657,8 @@ class ModalComponent {
|
|
|
16647
16657
|
current = current.previousState;
|
|
16648
16658
|
}
|
|
16649
16659
|
console.log('[FunnelAnalysisModal] Setting modalStateSignal with type:', state.type);
|
|
16660
|
+
console.log('[FunnelAnalysisModal] Charts received from state:', state.charts?.length ?? 0, 'charts');
|
|
16661
|
+
console.log('[FunnelAnalysisModal] Chart IDs:', state.charts?.map((c) => c.performanceItemId));
|
|
16650
16662
|
this.modalStateSignal.set({
|
|
16651
16663
|
type: state.type,
|
|
16652
16664
|
data: data,
|
|
@@ -32835,7 +32847,7 @@ const _c0$W = a0 => ({ name: "star", source: a0 });
|
|
|
32835
32847
|
const _c1$u = a0 => ({ name: "globe-americas", source: a0 });
|
|
32836
32848
|
const _c2$m = a0 => ({ name: "academic-cap", source: a0 });
|
|
32837
32849
|
const _c3$i = a0 => ({ name: "information-circle", source: a0 });
|
|
32838
|
-
const _c4$
|
|
32850
|
+
const _c4$d = a0 => ({ name: "signal", source: a0 });
|
|
32839
32851
|
const _c5$a = a0 => ({ name: "wrench-screwdriver", source: a0 });
|
|
32840
32852
|
function RegionCardComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
32841
32853
|
i0.ɵɵelementStart(0, "p", 2);
|
|
@@ -33026,7 +33038,7 @@ function RegionCardComponent_Conditional_21_Conditional_7_Template(rf, ctx) { if
|
|
|
33026
33038
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
33027
33039
|
i0.ɵɵproperty("ngClass", ctx_r0.getCompetitiveGapSectionClasses());
|
|
33028
33040
|
i0.ɵɵadvance(2);
|
|
33029
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c4$
|
|
33041
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c4$d, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.getExpandedIconClasses());
|
|
33030
33042
|
i0.ɵɵadvance();
|
|
33031
33043
|
i0.ɵɵproperty("ngClass", ctx_r0.getExpandedTitleClasses());
|
|
33032
33044
|
i0.ɵɵadvance(2);
|
|
@@ -33909,7 +33921,7 @@ const _c0$V = a0 => ({ name: "calendar-days", source: a0 });
|
|
|
33909
33921
|
const _c1$t = a0 => ({ name: "chart-bar", source: a0 });
|
|
33910
33922
|
const _c2$l = a0 => ({ name: "academic-cap", source: a0 });
|
|
33911
33923
|
const _c3$h = a0 => ({ name: "information-circle", source: a0 });
|
|
33912
|
-
const _c4$
|
|
33924
|
+
const _c4$c = a0 => ({ name: "signal", source: a0 });
|
|
33913
33925
|
const _c5$9 = a0 => ({ name: "wrench-screwdriver", source: a0 });
|
|
33914
33926
|
function SeasonCardComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
33915
33927
|
i0.ɵɵelementStart(0, "p", 2);
|
|
@@ -34108,7 +34120,7 @@ function SeasonCardComponent_Conditional_20_Conditional_7_Template(rf, ctx) { if
|
|
|
34108
34120
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
34109
34121
|
i0.ɵɵproperty("ngClass", ctx_r0.getCompetitiveGapSectionClasses());
|
|
34110
34122
|
i0.ɵɵadvance(2);
|
|
34111
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c4$
|
|
34123
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c4$c, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.getExpandedIconClasses());
|
|
34112
34124
|
i0.ɵɵadvance();
|
|
34113
34125
|
i0.ɵɵproperty("ngClass", ctx_r0.getExpandedTitleClasses());
|
|
34114
34126
|
i0.ɵɵadvance(2);
|
|
@@ -34743,7 +34755,7 @@ const _c0$U = a0 => ({ name: "currency-dollar", source: a0 });
|
|
|
34743
34755
|
const _c1$s = a0 => ({ name: "chart-bar", source: a0 });
|
|
34744
34756
|
const _c2$k = a0 => ({ name: "academic-cap", source: a0 });
|
|
34745
34757
|
const _c3$g = a0 => ({ name: "information-circle", source: a0 });
|
|
34746
|
-
const _c4$
|
|
34758
|
+
const _c4$b = a0 => ({ name: "signal", source: a0 });
|
|
34747
34759
|
const _c5$8 = a0 => ({ name: "wrench-screwdriver", source: a0 });
|
|
34748
34760
|
function CustomerSegmentCardComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
34749
34761
|
i0.ɵɵelementStart(0, "p", 8);
|
|
@@ -34951,7 +34963,7 @@ function CustomerSegmentCardComponent_Conditional_23_Conditional_11_Template(rf,
|
|
|
34951
34963
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
34952
34964
|
i0.ɵɵproperty("ngClass", ctx_r0.getCompetitiveGapSectionClasses());
|
|
34953
34965
|
i0.ɵɵadvance(2);
|
|
34954
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c4$
|
|
34966
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c4$b, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.getExpandedIconClasses());
|
|
34955
34967
|
i0.ɵɵadvance();
|
|
34956
34968
|
i0.ɵɵproperty("ngClass", ctx_r0.getExpandedTitleClasses());
|
|
34957
34969
|
i0.ɵɵadvance(2);
|
|
@@ -35102,7 +35114,7 @@ function CustomerSegmentCardComponent_Conditional_24_Conditional_7_Template(rf,
|
|
|
35102
35114
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
35103
35115
|
i0.ɵɵproperty("ngClass", ctx_r0.getCompetitiveGapSectionClasses());
|
|
35104
35116
|
i0.ɵɵadvance(2);
|
|
35105
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c4$
|
|
35117
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c4$b, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.getExpandedIconClasses());
|
|
35106
35118
|
i0.ɵɵadvance();
|
|
35107
35119
|
i0.ɵɵproperty("ngClass", ctx_r0.getExpandedTitleClasses());
|
|
35108
35120
|
i0.ɵɵadvance(2);
|
|
@@ -35859,7 +35871,7 @@ const _c0$T = a0 => ({ name: "currency-dollar", source: a0 });
|
|
|
35859
35871
|
const _c1$r = a0 => ({ name: "document-text", source: a0 });
|
|
35860
35872
|
const _c2$j = a0 => ({ name: "academic-cap", source: a0 });
|
|
35861
35873
|
const _c3$f = a0 => ({ name: "information-circle", source: a0 });
|
|
35862
|
-
const _c4$
|
|
35874
|
+
const _c4$a = a0 => ({ name: "signal", source: a0 });
|
|
35863
35875
|
const _c5$7 = a0 => ({ name: "wrench-screwdriver", source: a0 });
|
|
35864
35876
|
function PriceTierCardComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
35865
35877
|
i0.ɵɵelementStart(0, "p", 7);
|
|
@@ -36039,7 +36051,7 @@ function PriceTierCardComponent_Conditional_27_Conditional_7_Template(rf, ctx) {
|
|
|
36039
36051
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
36040
36052
|
i0.ɵɵproperty("ngClass", ctx_r0.getCompetitiveGapSectionClasses());
|
|
36041
36053
|
i0.ɵɵadvance(2);
|
|
36042
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c4$
|
|
36054
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c4$a, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.getExpandedIconClasses());
|
|
36043
36055
|
i0.ɵɵadvance();
|
|
36044
36056
|
i0.ɵɵproperty("ngClass", ctx_r0.getExpandedTitleClasses());
|
|
36045
36057
|
i0.ɵɵadvance(2);
|
|
@@ -36695,7 +36707,7 @@ const _c0$S = () => ({ name: "cube", source: "HEROICONS" });
|
|
|
36695
36707
|
const _c1$q = () => ({ name: "currency-dollar", source: "HEROICONS" });
|
|
36696
36708
|
const _c2$i = () => ({ name: "chart-bar", source: "HEROICONS" });
|
|
36697
36709
|
const _c3$e = a0 => ({ name: "chart-bar", source: a0 });
|
|
36698
|
-
const _c4$
|
|
36710
|
+
const _c4$9 = a0 => ({ name: "academic-cap", source: a0 });
|
|
36699
36711
|
const _c5$6 = a0 => ({ name: "information-circle", source: a0 });
|
|
36700
36712
|
const _c6$2 = a0 => ({ name: "signal", source: a0 });
|
|
36701
36713
|
const _c7$1 = a0 => ({ name: "wrench-screwdriver", source: a0 });
|
|
@@ -36928,7 +36940,7 @@ function ProductCategoryCardComponent_Conditional_18_Conditional_5_Template(rf,
|
|
|
36928
36940
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
36929
36941
|
i0.ɵɵproperty("ngClass", ctx_r0.getCompetitiveGapSectionClasses());
|
|
36930
36942
|
i0.ɵɵadvance(2);
|
|
36931
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c4$
|
|
36943
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c4$9, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.getExpandedIconClasses());
|
|
36932
36944
|
i0.ɵɵadvance();
|
|
36933
36945
|
i0.ɵɵproperty("ngClass", ctx_r0.getExpandedTitleClasses());
|
|
36934
36946
|
i0.ɵɵadvance(2);
|
|
@@ -37851,7 +37863,7 @@ const _c0$Q = a0 => ({ name: "shield-check", source: a0 });
|
|
|
37851
37863
|
const _c1$p = a0 => ({ name: "building-storefront", source: a0 });
|
|
37852
37864
|
const _c2$h = a0 => ({ name: "academic-cap", source: a0 });
|
|
37853
37865
|
const _c3$d = a0 => ({ name: "information-circle", source: a0 });
|
|
37854
|
-
const _c4$
|
|
37866
|
+
const _c4$8 = a0 => ({ name: "signal", source: a0 });
|
|
37855
37867
|
const _c5$5 = a0 => ({ name: "wrench-screwdriver", source: a0 });
|
|
37856
37868
|
function EnhancedListItemCardComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
37857
37869
|
i0.ɵɵelementStart(0, "div", 2);
|
|
@@ -37984,7 +37996,7 @@ function EnhancedListItemCardComponent_Conditional_22_Conditional_7_Template(rf,
|
|
|
37984
37996
|
const ctx_r0 = i0.ɵɵnextContext(2);
|
|
37985
37997
|
i0.ɵɵproperty("ngClass", ctx_r0.getCompetitiveGapSectionClasses());
|
|
37986
37998
|
i0.ɵɵadvance(2);
|
|
37987
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c4$
|
|
37999
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c4$8, ctx_r0.IconSourceEnum.HEROICONS))("ngClass", ctx_r0.getExpandedIconClasses());
|
|
37988
38000
|
i0.ɵɵadvance();
|
|
37989
38001
|
i0.ɵɵproperty("ngClass", ctx_r0.getExpandedTitleClasses());
|
|
37990
38002
|
i0.ɵɵadvance(2);
|
|
@@ -41814,7 +41826,7 @@ const ProfileAnalysisModalComponent_Conditional_0_Conditional_28_Conditional_4_D
|
|
|
41814
41826
|
const ProfileAnalysisModalComponent_Conditional_0_Conditional_28_Conditional_5_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return pieChart_component; }).then(m => m.PieChartComponent)];
|
|
41815
41827
|
const ProfileAnalysisModalComponent_Conditional_0_Conditional_28_Conditional_6_Defer_2_DepsFn = () => [Promise.resolve().then(function () { return areaChart_component; }).then(m => m.AreaChartComponent)];
|
|
41816
41828
|
const _c3$b = a0 => ({ name: "arrow-left", source: a0 });
|
|
41817
|
-
const _c4$
|
|
41829
|
+
const _c4$7 = a0 => ({ name: "chevron-right", source: a0 });
|
|
41818
41830
|
const _forTrack0$H = ($index, $item) => $item.performanceItemId || $index;
|
|
41819
41831
|
const _forTrack1$6 = ($index, $item) => $item.id || $index;
|
|
41820
41832
|
const _forTrack2$2 = ($index, $item) => $item.metric || $index;
|
|
@@ -41848,7 +41860,7 @@ function ProfileAnalysisModalComponent_Conditional_0_Conditional_7_For_5_Conditi
|
|
|
41848
41860
|
const ctx_r1 = i0.ɵɵnextContext(3);
|
|
41849
41861
|
i0.ɵɵconditional(crumb_r5.stackIndex !== undefined || crumb_r5.backSteps !== undefined ? 0 : 1);
|
|
41850
41862
|
i0.ɵɵadvance(2);
|
|
41851
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(2, _c4$
|
|
41863
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(2, _c4$7, ctx_r1.IconSourceEnum.HEROICONS));
|
|
41852
41864
|
} }
|
|
41853
41865
|
function ProfileAnalysisModalComponent_Conditional_0_Conditional_7_For_5_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
41854
41866
|
i0.ɵɵelementStart(0, "span", 40);
|
|
@@ -43274,6 +43286,7 @@ class ProfileAnalysisModalComponent {
|
|
|
43274
43286
|
this.modalService.modalState$
|
|
43275
43287
|
.pipe(takeUntilDestroyed())
|
|
43276
43288
|
.subscribe(state => {
|
|
43289
|
+
console.log('[ProfileAnalysisModal] Received modal state:', state.type, state);
|
|
43277
43290
|
// Types that this modal handles (only update previousState for these)
|
|
43278
43291
|
const handledTypes = [
|
|
43279
43292
|
'goal-detail', 'goal-objectives', 'objective-strategies', 'strategy-recommendations',
|
|
@@ -43564,12 +43577,14 @@ class ProfileAnalysisModalComponent {
|
|
|
43564
43577
|
this.currentCharts.set(state.charts || []);
|
|
43565
43578
|
}
|
|
43566
43579
|
else if (state.type === 'metric' && state.data) {
|
|
43580
|
+
console.log('[ProfileAnalysisModal] Handling metric type, opening modal');
|
|
43567
43581
|
const metric = state.data;
|
|
43568
43582
|
this.modalData.set(metric);
|
|
43569
43583
|
const formattedName = metric.metric ? this.metricFormatter.formatMetricName(metric.metric) : 'Metric Details';
|
|
43570
43584
|
this.modalTitle.set(formattedName);
|
|
43571
43585
|
this.modalType.set('metric');
|
|
43572
43586
|
this.isOpen.set(true);
|
|
43587
|
+
console.log('[ProfileAnalysisModal] isOpen set to true, modalType:', this.modalType());
|
|
43573
43588
|
const stack = state.navigationStack || [];
|
|
43574
43589
|
this.navigationStack.set(stack);
|
|
43575
43590
|
this.currentCharts.set(state.charts || []);
|
|
@@ -44609,7 +44624,7 @@ const _c0$L = a0 => ({ name: "light-bulb", source: a0 });
|
|
|
44609
44624
|
const _c1$l = a0 => ({ name: "trophy", source: a0 });
|
|
44610
44625
|
const _c2$e = a0 => ({ name: "academic-cap", source: a0 });
|
|
44611
44626
|
const _c3$a = a0 => ({ name: "signal", source: a0 });
|
|
44612
|
-
const _c4$
|
|
44627
|
+
const _c4$6 = a0 => ({ name: "wrench-screwdriver", source: a0 });
|
|
44613
44628
|
const _c5$4 = a0 => ({ name: "link", source: a0 });
|
|
44614
44629
|
function CompetitiveGapModalComponent_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
44615
44630
|
i0.ɵɵelementStart(0, "span", 7);
|
|
@@ -44718,7 +44733,7 @@ function CompetitiveGapModalComponent_Conditional_13_Template(rf, ctx) { if (rf
|
|
|
44718
44733
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
44719
44734
|
i0.ɵɵproperty("ngClass", ctx_r0.sectionClasses());
|
|
44720
44735
|
i0.ɵɵadvance(2);
|
|
44721
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(4, _c4$
|
|
44736
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(4, _c4$6, ctx_r0.iconSource))("ngClass", ctx_r0.sectionIconClasses());
|
|
44722
44737
|
i0.ɵɵadvance();
|
|
44723
44738
|
i0.ɵɵproperty("ngClass", ctx_r0.sectionTitleClasses());
|
|
44724
44739
|
i0.ɵɵadvance(3);
|
|
@@ -47004,7 +47019,7 @@ const _c0$H = ["dashboardContainer"];
|
|
|
47004
47019
|
const _c1$h = () => ({});
|
|
47005
47020
|
const _c2$c = () => [1, 2, 3, 4, 5, 6];
|
|
47006
47021
|
const _c3$8 = () => [1, 2, 3];
|
|
47007
|
-
const _c4$
|
|
47022
|
+
const _c4$5 = () => [1, 2, 3, 4];
|
|
47008
47023
|
const _c5$3 = () => [1, 2];
|
|
47009
47024
|
const _forTrack0$F = ($index, $item) => $item.value;
|
|
47010
47025
|
function SymphiqFunnelAnalysisDashboardComponent_Conditional_7_For_6_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -47686,7 +47701,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_18_Conditional_4_Co
|
|
|
47686
47701
|
i0.ɵɵadvance();
|
|
47687
47702
|
i0.ɵɵproperty("width", "80px")("height", "36px")("isLightMode", ctx_r2.isLightMode());
|
|
47688
47703
|
i0.ɵɵadvance(2);
|
|
47689
|
-
i0.ɵɵrepeater(i0.ɵɵpureFunction0(13, _c4$
|
|
47704
|
+
i0.ɵɵrepeater(i0.ɵɵpureFunction0(13, _c4$5));
|
|
47690
47705
|
} }
|
|
47691
47706
|
function SymphiqFunnelAnalysisDashboardComponent_Conditional_18_Conditional_4_Conditional_28_Template(rf, ctx) { if (rf & 1) {
|
|
47692
47707
|
i0.ɵɵelementStart(0, "div", 115);
|
|
@@ -47779,7 +47794,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_18_Conditional_4_Co
|
|
|
47779
47794
|
i0.ɵɵelementEnd();
|
|
47780
47795
|
} if (rf & 2) {
|
|
47781
47796
|
i0.ɵɵadvance();
|
|
47782
|
-
i0.ɵɵrepeater(i0.ɵɵpureFunction0(0, _c4$
|
|
47797
|
+
i0.ɵɵrepeater(i0.ɵɵpureFunction0(0, _c4$5));
|
|
47783
47798
|
} }
|
|
47784
47799
|
function SymphiqFunnelAnalysisDashboardComponent_Conditional_18_Conditional_4_Conditional_29_For_2_Conditional_2_Template(rf, ctx) { if (rf & 1) {
|
|
47785
47800
|
i0.ɵɵconditionalCreate(0, SymphiqFunnelAnalysisDashboardComponent_Conditional_18_Conditional_4_Conditional_29_For_2_Conditional_2_Conditional_0_Template, 3, 0, "div", 132)(1, SymphiqFunnelAnalysisDashboardComponent_Conditional_18_Conditional_4_Conditional_29_For_2_Conditional_2_Conditional_1_Template, 3, 0, "div", 133)(2, SymphiqFunnelAnalysisDashboardComponent_Conditional_18_Conditional_4_Conditional_29_For_2_Conditional_2_Conditional_2_Template, 3, 1, "div", 132);
|
|
@@ -47970,7 +47985,7 @@ function SymphiqFunnelAnalysisDashboardComponent_Conditional_18_Conditional_5_Co
|
|
|
47970
47985
|
i0.ɵɵadvance();
|
|
47971
47986
|
i0.ɵɵproperty("width", "100px")("height", "24px")("isLightMode", ctx_r2.isLightMode());
|
|
47972
47987
|
i0.ɵɵadvance(2);
|
|
47973
|
-
i0.ɵɵrepeater(i0.ɵɵpureFunction0(7, _c4$
|
|
47988
|
+
i0.ɵɵrepeater(i0.ɵɵpureFunction0(7, _c4$5));
|
|
47974
47989
|
} }
|
|
47975
47990
|
function SymphiqFunnelAnalysisDashboardComponent_Conditional_18_Conditional_5_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
47976
47991
|
i0.ɵɵelementStart(0, "div", 80);
|
|
@@ -69659,7 +69674,7 @@ const _c0$u = a0 => ({ name: "chart-bar", source: a0 });
|
|
|
69659
69674
|
const _c1$d = a0 => ({ name: "arrow-right", source: a0 });
|
|
69660
69675
|
const _c2$b = a0 => ({ name: "signal", source: a0 });
|
|
69661
69676
|
const _c3$7 = (a0, a1) => ({ name: a0, source: a1 });
|
|
69662
|
-
const _c4$
|
|
69677
|
+
const _c4$4 = a0 => ({ name: "flag", source: a0 });
|
|
69663
69678
|
const _c5$2 = a0 => ({ name: "arrow-trending-up", source: a0 });
|
|
69664
69679
|
const _c6$1 = a0 => ({ name: "heart", source: a0 });
|
|
69665
69680
|
const _c7 = a0 => ({ name: "light-bulb", source: a0 });
|
|
@@ -69725,7 +69740,7 @@ function MetricExecutiveSummaryComponent_Conditional_15_Template(rf, ctx) { if (
|
|
|
69725
69740
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
69726
69741
|
i0.ɵɵproperty("ngClass", ctx_r0.metricCardClasses());
|
|
69727
69742
|
i0.ɵɵadvance(2);
|
|
69728
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c4$
|
|
69743
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c4$4, ctx_r0.iconSource))("ngClass", ctx_r0.metricLabelClasses());
|
|
69729
69744
|
i0.ɵɵadvance();
|
|
69730
69745
|
i0.ɵɵproperty("ngClass", ctx_r0.metricLabelClasses());
|
|
69731
69746
|
i0.ɵɵadvance(2);
|
|
@@ -69734,6 +69749,27 @@ function MetricExecutiveSummaryComponent_Conditional_15_Template(rf, ctx) { if (
|
|
|
69734
69749
|
i0.ɵɵtextInterpolate1(" ", ctx_r0.summary().targetValue, " ");
|
|
69735
69750
|
} }
|
|
69736
69751
|
function MetricExecutiveSummaryComponent_Conditional_16_Template(rf, ctx) { if (rf & 1) {
|
|
69752
|
+
i0.ɵɵelementStart(0, "div", 12)(1, "div", 19);
|
|
69753
|
+
i0.ɵɵelement(2, "symphiq-icon", 20);
|
|
69754
|
+
i0.ɵɵelementStart(3, "span", 21);
|
|
69755
|
+
i0.ɵɵtext(4, " Projected ");
|
|
69756
|
+
i0.ɵɵelementEnd()();
|
|
69757
|
+
i0.ɵɵelementStart(5, "div", 22);
|
|
69758
|
+
i0.ɵɵtext(6);
|
|
69759
|
+
i0.ɵɵelementEnd()();
|
|
69760
|
+
} if (rf & 2) {
|
|
69761
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
69762
|
+
i0.ɵɵproperty("ngClass", ctx_r0.metricCardClasses());
|
|
69763
|
+
i0.ɵɵadvance(2);
|
|
69764
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c0$u, ctx_r0.iconSource))("ngClass", ctx_r0.metricLabelClasses());
|
|
69765
|
+
i0.ɵɵadvance();
|
|
69766
|
+
i0.ɵɵproperty("ngClass", ctx_r0.metricLabelClasses());
|
|
69767
|
+
i0.ɵɵadvance(2);
|
|
69768
|
+
i0.ɵɵproperty("ngClass", ctx_r0.metricValueClasses());
|
|
69769
|
+
i0.ɵɵadvance();
|
|
69770
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.projectedValue(), " ");
|
|
69771
|
+
} }
|
|
69772
|
+
function MetricExecutiveSummaryComponent_Conditional_17_Template(rf, ctx) { if (rf & 1) {
|
|
69737
69773
|
i0.ɵɵelementStart(0, "div", 12)(1, "div", 19);
|
|
69738
69774
|
i0.ɵɵelement(2, "symphiq-icon", 20);
|
|
69739
69775
|
i0.ɵɵelementStart(3, "span", 21);
|
|
@@ -69754,7 +69790,7 @@ function MetricExecutiveSummaryComponent_Conditional_16_Template(rf, ctx) { if (
|
|
|
69754
69790
|
i0.ɵɵadvance();
|
|
69755
69791
|
i0.ɵɵtextInterpolate1(" ", ctx_r0.summary().pacingStatus, " ");
|
|
69756
69792
|
} }
|
|
69757
|
-
function
|
|
69793
|
+
function MetricExecutiveSummaryComponent_Conditional_18_Template(rf, ctx) { if (rf & 1) {
|
|
69758
69794
|
i0.ɵɵelementStart(0, "div", 12)(1, "div", 19);
|
|
69759
69795
|
i0.ɵɵelement(2, "symphiq-icon", 20);
|
|
69760
69796
|
i0.ɵɵelementStart(3, "span", 21);
|
|
@@ -69776,7 +69812,7 @@ function MetricExecutiveSummaryComponent_Conditional_17_Template(rf, ctx) { if (
|
|
|
69776
69812
|
i0.ɵɵadvance();
|
|
69777
69813
|
i0.ɵɵtextInterpolate1(" ", (tmp_6_0 = ctx_r0.summary().metricHealth) == null ? null : tmp_6_0.replace("_", " "), " ");
|
|
69778
69814
|
} }
|
|
69779
|
-
function
|
|
69815
|
+
function MetricExecutiveSummaryComponent_Conditional_24_Conditional_4_Template(rf, ctx) { if (rf & 1) {
|
|
69780
69816
|
i0.ɵɵelementStart(0, "div", 28);
|
|
69781
69817
|
i0.ɵɵelement(1, "symphiq-napkin-visual-placeholder", 31);
|
|
69782
69818
|
i0.ɵɵelementEnd();
|
|
@@ -69785,12 +69821,12 @@ function MetricExecutiveSummaryComponent_Conditional_23_Conditional_4_Template(r
|
|
|
69785
69821
|
i0.ɵɵadvance();
|
|
69786
69822
|
i0.ɵɵproperty("visual", ctx_r0.summary().napkinVisual)("viewMode", ctx_r0.viewMode());
|
|
69787
69823
|
} }
|
|
69788
|
-
function
|
|
69824
|
+
function MetricExecutiveSummaryComponent_Conditional_24_Template(rf, ctx) { if (rf & 1) {
|
|
69789
69825
|
i0.ɵɵelementStart(0, "div", 16)(1, "h3", 26);
|
|
69790
69826
|
i0.ɵɵtext(2, " Analysis Narrative ");
|
|
69791
69827
|
i0.ɵɵelementEnd();
|
|
69792
69828
|
i0.ɵɵelementStart(3, "div", 27);
|
|
69793
|
-
i0.ɵɵconditionalCreate(4,
|
|
69829
|
+
i0.ɵɵconditionalCreate(4, MetricExecutiveSummaryComponent_Conditional_24_Conditional_4_Template, 2, 2, "div", 28);
|
|
69794
69830
|
i0.ɵɵelementStart(5, "p", 29);
|
|
69795
69831
|
i0.ɵɵtext(6);
|
|
69796
69832
|
i0.ɵɵelementEnd();
|
|
@@ -69809,7 +69845,7 @@ function MetricExecutiveSummaryComponent_Conditional_23_Template(rf, ctx) { if (
|
|
|
69809
69845
|
i0.ɵɵadvance();
|
|
69810
69846
|
i0.ɵɵtextInterpolate1(" ", ctx_r0.summary().narrative, " ");
|
|
69811
69847
|
} }
|
|
69812
|
-
function
|
|
69848
|
+
function MetricExecutiveSummaryComponent_Conditional_25_For_5_Conditional_8_Template(rf, ctx) { if (rf & 1) {
|
|
69813
69849
|
i0.ɵɵelementStart(0, "div", 40)(1, "div", 41);
|
|
69814
69850
|
i0.ɵɵelement(2, "symphiq-icon", 42);
|
|
69815
69851
|
i0.ɵɵelementStart(3, "div")(4, "span", 43);
|
|
@@ -69831,10 +69867,10 @@ function MetricExecutiveSummaryComponent_Conditional_24_For_5_Conditional_8_Temp
|
|
|
69831
69867
|
i0.ɵɵadvance();
|
|
69832
69868
|
i0.ɵɵtextInterpolate1(" ", priority_r4.expectedImpact, " ");
|
|
69833
69869
|
} }
|
|
69834
|
-
function
|
|
69870
|
+
function MetricExecutiveSummaryComponent_Conditional_25_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
69835
69871
|
const _r2 = i0.ɵɵgetCurrentView();
|
|
69836
69872
|
i0.ɵɵelementStart(0, "button", 35);
|
|
69837
|
-
i0.ɵɵlistener("click", function
|
|
69873
|
+
i0.ɵɵlistener("click", function MetricExecutiveSummaryComponent_Conditional_25_For_5_Template_button_click_0_listener() { const ctx_r2 = i0.ɵɵrestoreView(_r2); const priority_r4 = ctx_r2.$implicit; const $index_r5 = ctx_r2.$index; const ctx_r0 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r0.priorityDetailClick.emit({ priority: priority_r4, index: $index_r5 })); });
|
|
69838
69874
|
i0.ɵɵelementStart(1, "div", 36)(2, "span", 37);
|
|
69839
69875
|
i0.ɵɵtext(3);
|
|
69840
69876
|
i0.ɵɵelementEnd();
|
|
@@ -69844,7 +69880,7 @@ function MetricExecutiveSummaryComponent_Conditional_24_For_5_Template(rf, ctx)
|
|
|
69844
69880
|
i0.ɵɵelementStart(6, "p", 39);
|
|
69845
69881
|
i0.ɵɵtext(7);
|
|
69846
69882
|
i0.ɵɵelementEnd();
|
|
69847
|
-
i0.ɵɵconditionalCreate(8,
|
|
69883
|
+
i0.ɵɵconditionalCreate(8, MetricExecutiveSummaryComponent_Conditional_25_For_5_Conditional_8_Template, 8, 8, "div", 40);
|
|
69848
69884
|
i0.ɵɵelementEnd();
|
|
69849
69885
|
} if (rf & 2) {
|
|
69850
69886
|
const priority_r4 = ctx.$implicit;
|
|
@@ -69866,12 +69902,12 @@ function MetricExecutiveSummaryComponent_Conditional_24_For_5_Template(rf, ctx)
|
|
|
69866
69902
|
i0.ɵɵadvance();
|
|
69867
69903
|
i0.ɵɵconditional(priority_r4.expectedImpact ? 8 : -1);
|
|
69868
69904
|
} }
|
|
69869
|
-
function
|
|
69905
|
+
function MetricExecutiveSummaryComponent_Conditional_25_Template(rf, ctx) { if (rf & 1) {
|
|
69870
69906
|
i0.ɵɵelementStart(0, "div", 17)(1, "h3", 32);
|
|
69871
69907
|
i0.ɵɵtext(2, "Top Priorities");
|
|
69872
69908
|
i0.ɵɵelementEnd();
|
|
69873
69909
|
i0.ɵɵelementStart(3, "div", 33);
|
|
69874
|
-
i0.ɵɵrepeaterCreate(4,
|
|
69910
|
+
i0.ɵɵrepeaterCreate(4, MetricExecutiveSummaryComponent_Conditional_25_For_5_Template, 9, 8, "button", 34, i0.ɵɵrepeaterTrackByIndex);
|
|
69875
69911
|
i0.ɵɵelementEnd()();
|
|
69876
69912
|
} if (rf & 2) {
|
|
69877
69913
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -69880,7 +69916,7 @@ function MetricExecutiveSummaryComponent_Conditional_24_Template(rf, ctx) { if (
|
|
|
69880
69916
|
i0.ɵɵadvance(3);
|
|
69881
69917
|
i0.ɵɵrepeater(ctx_r0.summary().topPriorities);
|
|
69882
69918
|
} }
|
|
69883
|
-
function
|
|
69919
|
+
function MetricExecutiveSummaryComponent_Conditional_26_For_5_Conditional_12_Template(rf, ctx) { if (rf & 1) {
|
|
69884
69920
|
i0.ɵɵelementStart(0, "div", 53);
|
|
69885
69921
|
i0.ɵɵelement(1, "symphiq-icon", 15);
|
|
69886
69922
|
i0.ɵɵelementStart(2, "span");
|
|
@@ -69895,7 +69931,7 @@ function MetricExecutiveSummaryComponent_Conditional_25_For_5_Conditional_12_Tem
|
|
|
69895
69931
|
i0.ɵɵadvance(2);
|
|
69896
69932
|
i0.ɵɵtextInterpolate(win_r6.estimatedTimeframe);
|
|
69897
69933
|
} }
|
|
69898
|
-
function
|
|
69934
|
+
function MetricExecutiveSummaryComponent_Conditional_26_For_5_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
69899
69935
|
i0.ɵɵelementStart(0, "div", 54)(1, "h4", 21);
|
|
69900
69936
|
i0.ɵɵtext(2, " Related Goal ");
|
|
69901
69937
|
i0.ɵɵelementEnd();
|
|
@@ -69909,7 +69945,7 @@ function MetricExecutiveSummaryComponent_Conditional_25_For_5_Conditional_13_Tem
|
|
|
69909
69945
|
i0.ɵɵadvance(2);
|
|
69910
69946
|
i0.ɵɵproperty("relatedGoalIds", i0.ɵɵpureFunction1(4, _c9, win_r6.relatedGoalId))("allGoals", ctx_r0.allGoals() || i0.ɵɵpureFunction0(6, _c10))("viewMode", ctx_r0.viewMode());
|
|
69911
69947
|
} }
|
|
69912
|
-
function
|
|
69948
|
+
function MetricExecutiveSummaryComponent_Conditional_26_For_5_Template(rf, ctx) { if (rf & 1) {
|
|
69913
69949
|
i0.ɵɵelementStart(0, "div", 47)(1, "div", 48)(2, "div", 49)(3, "span", 37);
|
|
69914
69950
|
i0.ɵɵtext(4);
|
|
69915
69951
|
i0.ɵɵelementEnd();
|
|
@@ -69922,8 +69958,8 @@ function MetricExecutiveSummaryComponent_Conditional_25_For_5_Template(rf, ctx)
|
|
|
69922
69958
|
i0.ɵɵelementStart(10, "span", 52);
|
|
69923
69959
|
i0.ɵɵtext(11);
|
|
69924
69960
|
i0.ɵɵelementEnd()();
|
|
69925
|
-
i0.ɵɵconditionalCreate(12,
|
|
69926
|
-
i0.ɵɵconditionalCreate(13,
|
|
69961
|
+
i0.ɵɵconditionalCreate(12, MetricExecutiveSummaryComponent_Conditional_26_For_5_Conditional_12_Template, 4, 5, "div", 53);
|
|
69962
|
+
i0.ɵɵconditionalCreate(13, MetricExecutiveSummaryComponent_Conditional_26_For_5_Conditional_13_Template, 4, 7, "div", 54);
|
|
69927
69963
|
i0.ɵɵelementEnd()();
|
|
69928
69964
|
} if (rf & 2) {
|
|
69929
69965
|
const win_r6 = ctx.$implicit;
|
|
@@ -69951,12 +69987,12 @@ function MetricExecutiveSummaryComponent_Conditional_25_For_5_Template(rf, ctx)
|
|
|
69951
69987
|
i0.ɵɵadvance();
|
|
69952
69988
|
i0.ɵɵconditional(win_r6.relatedGoalId && ctx_r0.allGoals() ? 13 : -1);
|
|
69953
69989
|
} }
|
|
69954
|
-
function
|
|
69990
|
+
function MetricExecutiveSummaryComponent_Conditional_26_Template(rf, ctx) { if (rf & 1) {
|
|
69955
69991
|
i0.ɵɵelementStart(0, "div", 18)(1, "h3", 45);
|
|
69956
69992
|
i0.ɵɵtext(2, "Quick Wins");
|
|
69957
69993
|
i0.ɵɵelementEnd();
|
|
69958
69994
|
i0.ɵɵelementStart(3, "div", 46);
|
|
69959
|
-
i0.ɵɵrepeaterCreate(4,
|
|
69995
|
+
i0.ɵɵrepeaterCreate(4, MetricExecutiveSummaryComponent_Conditional_26_For_5_Template, 14, 11, "div", 47, i0.ɵɵrepeaterTrackByIndex);
|
|
69960
69996
|
i0.ɵɵelementEnd()();
|
|
69961
69997
|
} if (rf & 2) {
|
|
69962
69998
|
const ctx_r0 = i0.ɵɵnextContext();
|
|
@@ -69976,6 +70012,7 @@ class MetricExecutiveSummaryComponent {
|
|
|
69976
70012
|
this.viewMetricDetailsClick = output();
|
|
69977
70013
|
this.iconSource = IconSourceEnum.HEROICONS;
|
|
69978
70014
|
this.isDark = computed(() => this.viewMode() === ViewModeEnum.DARK, ...(ngDevMode ? [{ debugName: "isDark" }] : []));
|
|
70015
|
+
this.projectedValue = computed(() => this.summary().projectedValue, ...(ngDevMode ? [{ debugName: "projectedValue" }] : []));
|
|
69979
70016
|
this.bannerClasses = computed(() => this.isDark()
|
|
69980
70017
|
? 'bg-gradient-to-br from-slate-800/50 to-slate-800/30 border border-slate-700/50'
|
|
69981
70018
|
: 'bg-gradient-to-br from-white to-slate-50/50 border border-slate-200', ...(ngDevMode ? [{ debugName: "bannerClasses" }] : []));
|
|
@@ -70065,7 +70102,9 @@ class MetricExecutiveSummaryComponent {
|
|
|
70065
70102
|
}
|
|
70066
70103
|
handleViewMetricDetailsClick() {
|
|
70067
70104
|
console.log('[MetricExecutiveSummary] View Metric Details button clicked!');
|
|
70105
|
+
console.log('[MetricExecutiveSummary] viewMetricDetailsClick output exists:', !!this.viewMetricDetailsClick);
|
|
70068
70106
|
this.viewMetricDetailsClick.emit();
|
|
70107
|
+
console.log('[MetricExecutiveSummary] Event emitted');
|
|
70069
70108
|
}
|
|
70070
70109
|
getYoyIcon() {
|
|
70071
70110
|
const change = this.summary().yoyChange;
|
|
@@ -70158,7 +70197,7 @@ class MetricExecutiveSummaryComponent {
|
|
|
70158
70197
|
return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
|
|
70159
70198
|
}
|
|
70160
70199
|
static { this.ɵfac = function MetricExecutiveSummaryComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MetricExecutiveSummaryComponent)(); }; }
|
|
70161
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MetricExecutiveSummaryComponent, selectors: [["symphiq-metric-executive-summary"]], inputs: { viewMode: [1, "viewMode"], summary: [1, "summary"], metricName: [1, "metricName"], allGoals: [1, "allGoals"] }, outputs: { topPrioritiesClick: "topPrioritiesClick", priorityDetailClick: "priorityDetailClick", viewMetricDetailsClick: "viewMetricDetailsClick" }, decls:
|
|
70200
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MetricExecutiveSummaryComponent, selectors: [["symphiq-metric-executive-summary"]], inputs: { viewMode: [1, "viewMode"], summary: [1, "summary"], metricName: [1, "metricName"], allGoals: [1, "allGoals"] }, outputs: { topPrioritiesClick: "topPrioritiesClick", priorityDetailClick: "priorityDetailClick", viewMetricDetailsClick: "viewMetricDetailsClick" }, decls: 27, vars: 23, consts: [["id", "section-metric-executive-summary", 1, "space-y-6", "scroll-mt-24"], [1, "rounded-2xl", "p-8", "shadow-xl", 3, "ngClass"], [1, "space-y-6"], [1, "flex", "items-start", "justify-between", "gap-4"], [1, "flex-1"], [1, "flex", "items-center", "gap-3", "mb-3"], [3, "icon", "size", "ngClass"], [1, "text-3xl", "font-bold", 3, "ngClass"], [1, "text-lg", "leading-relaxed", 3, "ngClass"], [3, "grade", "gradeRationale", "viewMode"], ["type", "button", 1, "w-full", "text-left", "cursor-pointer", "group", 3, "click"], [1, "grid", "grid-cols-1", "md:grid-cols-2", "lg:grid-cols-4", "gap-4"], [1, "rounded-xl", "p-4", "transition-all", "duration-200", "group-hover:scale-[1.02]", "group-hover:shadow-lg", 3, "ngClass"], [1, "flex", "items-center", "justify-center", "mt-4"], [1, "inline-flex", "items-center", "gap-2", "px-4", "py-2", "rounded-lg", "text-sm", "font-semibold", "transition-all", "duration-200", "group-hover:scale-105", 3, "ngClass"], ["size", "w-4 h-4", 3, "icon"], [1, "rounded-xl", "p-6", "mt-6", 3, "ngClass"], [1, "mt-6"], ["id", "quick-wins-section", 1, "mt-8", "scroll-mt-24"], [1, "flex", "items-center", "gap-2", "mb-2"], ["size", "w-4 h-4", 3, "icon", "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [1, "text-2xl", "font-bold", 3, "ngClass"], [1, "flex", "items-center", "gap-1", "mt-2"], [1, "text-sm", "font-medium", 3, "ngClass"], [1, "text-xl", "font-bold", 3, "ngClass"], [1, "text-lg", "font-semibold", "mb-3", 3, "ngClass"], [1, "relative"], [1, "mb-6", "lg:float-left", "lg:mr-6", "lg:mb-4", "lg:max-w-[66%]"], [1, "text-sm", "leading-relaxed", "whitespace-pre-line", 3, "ngClass"], [1, "clear-both"], [3, "visual", "viewMode"], [1, "text-xl", "font-bold", "mb-4", 3, "ngClass"], [1, "grid", "grid-cols-1", "md:grid-cols-2", "gap-4"], ["type", "button", 1, "rounded-xl", "p-6", "text-left", "transition-all", "duration-200", "hover:scale-[1.02]", "active:scale-[0.98]", "cursor-pointer", 3, "ngClass"], ["type", "button", 1, "rounded-xl", "p-6", "text-left", "transition-all", "duration-200", "hover:scale-[1.02]", "active:scale-[0.98]", "cursor-pointer", 3, "click", "ngClass"], [1, "flex", "items-start", "gap-3", "mb-3"], [1, "flex-shrink-0", "w-8", "h-8", "rounded-full", "flex", "items-center", "justify-center", "text-sm", "font-bold", 3, "ngClass"], [1, "text-lg", "font-semibold", "flex-1", 3, "ngClass"], [1, "text-sm", "leading-relaxed", "mb-3", 3, "ngClass"], [1, "rounded-lg", "p-3", 3, "ngClass"], [1, "flex", "items-start", "gap-2"], ["size", "w-4 h-4", 1, "mt-0.5", 3, "icon", "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", "block", "mb-1", 3, "ngClass"], [1, "text-xs", "leading-relaxed", 3, "ngClass"], [1, "text-xl", "font-bold", "mb-6", 3, "ngClass"], [1, "grid", "grid-cols-1", "md:grid-cols-2", "gap-6"], [1, "rounded-xl", "p-6", "transition-all", "duration-300", 3, "ngClass"], [1, "space-y-4"], [1, "flex", "items-start", "gap-3"], [1, "font-semibold", "leading-tight", "flex-1", 3, "ngClass"], [1, "flex", "flex-wrap", "gap-2"], [1, "px-3", "py-1", "rounded-full", "text-xs", "font-semibold", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "text-sm", 3, "ngClass"], [1, "space-y-2"], [3, "relatedGoalIds", "allGoals", "viewMode"]], template: function MetricExecutiveSummaryComponent_Template(rf, ctx) { if (rf & 1) {
|
|
70162
70201
|
i0.ɵɵelementStart(0, "section", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "div", 4)(5, "div", 5);
|
|
70163
70202
|
i0.ɵɵelement(6, "symphiq-icon", 6);
|
|
70164
70203
|
i0.ɵɵelementStart(7, "h2", 7);
|
|
@@ -70176,23 +70215,24 @@ class MetricExecutiveSummaryComponent {
|
|
|
70176
70215
|
i0.ɵɵconditionalCreate(15, MetricExecutiveSummaryComponent_Conditional_15_Template, 7, 8, "div", 12);
|
|
70177
70216
|
i0.ɵɵconditionalCreate(16, MetricExecutiveSummaryComponent_Conditional_16_Template, 7, 8, "div", 12);
|
|
70178
70217
|
i0.ɵɵconditionalCreate(17, MetricExecutiveSummaryComponent_Conditional_17_Template, 7, 8, "div", 12);
|
|
70218
|
+
i0.ɵɵconditionalCreate(18, MetricExecutiveSummaryComponent_Conditional_18_Template, 7, 8, "div", 12);
|
|
70179
70219
|
i0.ɵɵelementEnd();
|
|
70180
|
-
i0.ɵɵelementStart(
|
|
70181
|
-
i0.ɵɵtext(
|
|
70220
|
+
i0.ɵɵelementStart(19, "div", 13)(20, "div", 14)(21, "span");
|
|
70221
|
+
i0.ɵɵtext(22, "View Metric Details");
|
|
70182
70222
|
i0.ɵɵelementEnd();
|
|
70183
|
-
i0.ɵɵelement(
|
|
70223
|
+
i0.ɵɵelement(23, "symphiq-icon", 15);
|
|
70184
70224
|
i0.ɵɵelementEnd()()();
|
|
70185
|
-
i0.ɵɵconditionalCreate(
|
|
70186
|
-
i0.ɵɵconditionalCreate(
|
|
70187
|
-
i0.ɵɵconditionalCreate(
|
|
70225
|
+
i0.ɵɵconditionalCreate(24, MetricExecutiveSummaryComponent_Conditional_24_Template, 8, 5, "div", 16);
|
|
70226
|
+
i0.ɵɵconditionalCreate(25, MetricExecutiveSummaryComponent_Conditional_25_Template, 6, 1, "div", 17);
|
|
70227
|
+
i0.ɵɵconditionalCreate(26, MetricExecutiveSummaryComponent_Conditional_26_Template, 6, 1, "div", 18);
|
|
70188
70228
|
i0.ɵɵelementEnd()()();
|
|
70189
70229
|
} if (rf & 2) {
|
|
70190
|
-
let tmp_16_0;
|
|
70191
70230
|
let tmp_17_0;
|
|
70231
|
+
let tmp_18_0;
|
|
70192
70232
|
i0.ɵɵadvance();
|
|
70193
70233
|
i0.ɵɵproperty("ngClass", ctx.bannerClasses());
|
|
70194
70234
|
i0.ɵɵadvance(5);
|
|
70195
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(
|
|
70235
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(19, _c0$u, ctx.iconSource))("size", "w-8 h-8")("ngClass", ctx.iconClasses());
|
|
70196
70236
|
i0.ɵɵadvance();
|
|
70197
70237
|
i0.ɵɵproperty("ngClass", ctx.titleClasses());
|
|
70198
70238
|
i0.ɵɵadvance();
|
|
@@ -70208,19 +70248,21 @@ class MetricExecutiveSummaryComponent {
|
|
|
70208
70248
|
i0.ɵɵadvance();
|
|
70209
70249
|
i0.ɵɵconditional(ctx.summary().targetValue ? 15 : -1);
|
|
70210
70250
|
i0.ɵɵadvance();
|
|
70211
|
-
i0.ɵɵconditional(ctx.
|
|
70251
|
+
i0.ɵɵconditional(ctx.projectedValue() ? 16 : -1);
|
|
70212
70252
|
i0.ɵɵadvance();
|
|
70213
|
-
i0.ɵɵconditional(ctx.summary().
|
|
70253
|
+
i0.ɵɵconditional(ctx.summary().pacingStatus ? 17 : -1);
|
|
70254
|
+
i0.ɵɵadvance();
|
|
70255
|
+
i0.ɵɵconditional(ctx.summary().metricHealth ? 18 : -1);
|
|
70214
70256
|
i0.ɵɵadvance(2);
|
|
70215
70257
|
i0.ɵɵproperty("ngClass", ctx.viewDetailsButtonClasses());
|
|
70216
70258
|
i0.ɵɵadvance(3);
|
|
70217
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(
|
|
70259
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(21, _c1$d, ctx.iconSource));
|
|
70218
70260
|
i0.ɵɵadvance();
|
|
70219
|
-
i0.ɵɵconditional(ctx.summary().narrative ?
|
|
70261
|
+
i0.ɵɵconditional(ctx.summary().narrative ? 24 : -1);
|
|
70220
70262
|
i0.ɵɵadvance();
|
|
70221
|
-
i0.ɵɵconditional(ctx.summary().topPriorities && (((
|
|
70263
|
+
i0.ɵɵconditional(ctx.summary().topPriorities && (((tmp_17_0 = ctx.summary().topPriorities) == null ? null : tmp_17_0.length) ?? 0) > 0 ? 25 : -1);
|
|
70222
70264
|
i0.ɵɵadvance();
|
|
70223
|
-
i0.ɵɵconditional(ctx.summary().quickWins && (((
|
|
70265
|
+
i0.ɵɵconditional(ctx.summary().quickWins && (((tmp_18_0 = ctx.summary().quickWins) == null ? null : tmp_18_0.length) ?? 0) > 0 ? 26 : -1);
|
|
70224
70266
|
} }, dependencies: [CommonModule, i1$1.NgClass, GradeBadgeComponent,
|
|
70225
70267
|
SymphiqIconComponent,
|
|
70226
70268
|
NapkinVisualPlaceholderComponent,
|
|
@@ -70328,6 +70370,25 @@ class MetricExecutiveSummaryComponent {
|
|
|
70328
70370
|
</div>
|
|
70329
70371
|
}
|
|
70330
70372
|
|
|
70373
|
+
<!-- Projected Value -->
|
|
70374
|
+
@if (projectedValue()) {
|
|
70375
|
+
<div [ngClass]="metricCardClasses()" class="rounded-xl p-4 transition-all duration-200 group-hover:scale-[1.02] group-hover:shadow-lg">
|
|
70376
|
+
<div class="flex items-center gap-2 mb-2">
|
|
70377
|
+
<symphiq-icon
|
|
70378
|
+
[icon]="{ name: 'chart-bar', source: iconSource }"
|
|
70379
|
+
size="w-4 h-4"
|
|
70380
|
+
[ngClass]="metricLabelClasses()"
|
|
70381
|
+
/>
|
|
70382
|
+
<span [ngClass]="metricLabelClasses()" class="text-xs font-semibold uppercase tracking-wider">
|
|
70383
|
+
Projected
|
|
70384
|
+
</span>
|
|
70385
|
+
</div>
|
|
70386
|
+
<div [ngClass]="metricValueClasses()" class="text-2xl font-bold">
|
|
70387
|
+
{{ projectedValue() }}
|
|
70388
|
+
</div>
|
|
70389
|
+
</div>
|
|
70390
|
+
}
|
|
70391
|
+
|
|
70331
70392
|
<!-- Pacing Status -->
|
|
70332
70393
|
@if (summary().pacingStatus) {
|
|
70333
70394
|
<div [ngClass]="metricCardClasses()" class="rounded-xl p-4 transition-all duration-200 group-hover:scale-[1.02] group-hover:shadow-lg">
|
|
@@ -70515,7 +70576,7 @@ class MetricExecutiveSummaryComponent {
|
|
|
70515
70576
|
`
|
|
70516
70577
|
}]
|
|
70517
70578
|
}], null, { viewMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "viewMode", required: false }] }], summary: [{ type: i0.Input, args: [{ isSignal: true, alias: "summary", required: true }] }], metricName: [{ type: i0.Input, args: [{ isSignal: true, alias: "metricName", required: false }] }], allGoals: [{ type: i0.Input, args: [{ isSignal: true, alias: "allGoals", required: false }] }], topPrioritiesClick: [{ type: i0.Output, args: ["topPrioritiesClick"] }], priorityDetailClick: [{ type: i0.Output, args: ["priorityDetailClick"] }], viewMetricDetailsClick: [{ type: i0.Output, args: ["viewMetricDetailsClick"] }] }); })();
|
|
70518
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MetricExecutiveSummaryComponent, { className: "MetricExecutiveSummaryComponent", filePath: "lib/components/profile-analysis-shop-dashboard/metric-executive-summary.component.ts", lineNumber:
|
|
70579
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MetricExecutiveSummaryComponent, { className: "MetricExecutiveSummaryComponent", filePath: "lib/components/profile-analysis-shop-dashboard/metric-executive-summary.component.ts", lineNumber: 314 }); })();
|
|
70519
70580
|
|
|
70520
70581
|
const _c0$t = a0 => ({ name: "chevron-right", source: a0 });
|
|
70521
70582
|
function GoalCardComponent_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -74915,6 +74976,28 @@ const _c0$l = (a0, a1) => ({ name: a0, source: a1 });
|
|
|
74915
74976
|
const _c1$9 = a0 => ({ name: "signal", source: a0 });
|
|
74916
74977
|
const _c2$9 = a0 => ({ name: "calendar", source: a0 });
|
|
74917
74978
|
const _c3$5 = a0 => ({ name: "flag", source: a0 });
|
|
74979
|
+
const _c4$3 = a0 => ({ name: "chart-bar", source: a0 });
|
|
74980
|
+
function PerformanceMetricsCardComponent_Conditional_32_Template(rf, ctx) { if (rf & 1) {
|
|
74981
|
+
i0.ɵɵelementStart(0, "div", 8)(1, "div", 9);
|
|
74982
|
+
i0.ɵɵelement(2, "symphiq-icon", 10);
|
|
74983
|
+
i0.ɵɵelementStart(3, "span", 11);
|
|
74984
|
+
i0.ɵɵtext(4, " Projected ");
|
|
74985
|
+
i0.ɵɵelementEnd()();
|
|
74986
|
+
i0.ɵɵelementStart(5, "div", 12);
|
|
74987
|
+
i0.ɵɵtext(6);
|
|
74988
|
+
i0.ɵɵelementEnd()();
|
|
74989
|
+
} if (rf & 2) {
|
|
74990
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
74991
|
+
i0.ɵɵproperty("ngClass", ctx_r0.metricBoxClasses());
|
|
74992
|
+
i0.ɵɵadvance(2);
|
|
74993
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c4$3, ctx_r0.iconSource))("ngClass", ctx_r0.labelClasses());
|
|
74994
|
+
i0.ɵɵadvance();
|
|
74995
|
+
i0.ɵɵproperty("ngClass", ctx_r0.labelClasses());
|
|
74996
|
+
i0.ɵɵadvance(2);
|
|
74997
|
+
i0.ɵɵproperty("ngClass", ctx_r0.valueClasses());
|
|
74998
|
+
i0.ɵɵadvance();
|
|
74999
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.metrics().projectedValue, " ");
|
|
75000
|
+
} }
|
|
74918
75001
|
class PerformanceMetricsCardComponent {
|
|
74919
75002
|
constructor() {
|
|
74920
75003
|
this.metrics = signal({
|
|
@@ -74923,7 +75006,8 @@ class PerformanceMetricsCardComponent {
|
|
|
74923
75006
|
targetValue: '0',
|
|
74924
75007
|
pacingStatus: PacingStatusEnum.ON_TRACK,
|
|
74925
75008
|
percentToTarget: '0%',
|
|
74926
|
-
trendDirection: ProfileAnalysisTrendDirectionEnum.STABLE
|
|
75009
|
+
trendDirection: ProfileAnalysisTrendDirectionEnum.STABLE,
|
|
75010
|
+
projectedValue: undefined
|
|
74927
75011
|
}, ...(ngDevMode ? [{ debugName: "metrics" }] : []));
|
|
74928
75012
|
this.viewMode = signal(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
74929
75013
|
this.iconSource = IconSourceEnum.HEROICONS;
|
|
@@ -75058,13 +75142,15 @@ class PerformanceMetricsCardComponent {
|
|
|
75058
75142
|
effect(() => {
|
|
75059
75143
|
const val = this.performanceMetrics();
|
|
75060
75144
|
if (val) {
|
|
75145
|
+
const valWithProjected = val;
|
|
75061
75146
|
this.metrics.set({
|
|
75062
75147
|
currentValue: val.currentValue ?? '0',
|
|
75063
75148
|
previousYearValue: val.previousYearValue ?? '0',
|
|
75064
75149
|
targetValue: val.targetValue ?? '0',
|
|
75065
75150
|
pacingStatus: val.pacingStatus ?? PacingStatusEnum.ON_TRACK,
|
|
75066
75151
|
percentToTarget: val.percentToTarget ?? '0%',
|
|
75067
|
-
trendDirection: val.trendDirection ?? ProfileAnalysisTrendDirectionEnum.STABLE
|
|
75152
|
+
trendDirection: val.trendDirection ?? ProfileAnalysisTrendDirectionEnum.STABLE,
|
|
75153
|
+
projectedValue: valWithProjected.projectedValue
|
|
75068
75154
|
});
|
|
75069
75155
|
}
|
|
75070
75156
|
});
|
|
@@ -75073,7 +75159,7 @@ class PerformanceMetricsCardComponent {
|
|
|
75073
75159
|
});
|
|
75074
75160
|
}
|
|
75075
75161
|
static { this.ɵfac = function PerformanceMetricsCardComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || PerformanceMetricsCardComponent)(); }; }
|
|
75076
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PerformanceMetricsCardComponent, selectors: [["symphiq-performance-metrics-card"]], inputs: { performanceMetrics: [1, "performanceMetrics"], mode: [1, "mode"] }, decls:
|
|
75162
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PerformanceMetricsCardComponent, selectors: [["symphiq-performance-metrics-card"]], inputs: { performanceMetrics: [1, "performanceMetrics"], mode: [1, "mode"] }, decls: 41, vars: 42, consts: [[1, "rounded-xl", "p-6", "shadow-lg", 3, "ngClass"], [1, "flex", "items-center", "justify-between", "mb-6"], [1, "text-lg", "font-bold", 3, "ngClass"], [1, "flex", "items-center", "gap-2"], [1, "px-3", "py-1", "rounded-full", "text-xs", "font-bold", "uppercase", "tracking-wider", 3, "ngClass"], [1, "px-3", "py-1", "rounded-full", "text-xs", "font-bold", "uppercase", "tracking-wider", "flex", "items-center", "gap-1", 3, "ngClass"], ["size", "w-3 h-3", 3, "icon"], [1, "grid", "grid-cols-1", "md:grid-cols-2", "lg:grid-cols-4", "gap-4"], [1, "rounded-lg", "p-4", 3, "ngClass"], [1, "flex", "items-center", "gap-2", "mb-2"], ["size", "w-4 h-4", 3, "icon", "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [1, "text-2xl", "font-bold", 3, "ngClass"], [1, "mt-6"], [1, "flex", "items-center", "justify-between", "mb-2"], [1, "text-sm", "font-semibold", 3, "ngClass"], [1, "w-full", "h-3", "rounded-full", "overflow-hidden", 3, "ngClass"], [1, "h-full", "rounded-full", "transition-all", "duration-500", 3, "ngClass"]], template: function PerformanceMetricsCardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
75077
75163
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "h3", 2);
|
|
75078
75164
|
i0.ɵɵtext(3, " Performance Metrics ");
|
|
75079
75165
|
i0.ɵɵelementEnd();
|
|
@@ -75107,15 +75193,17 @@ class PerformanceMetricsCardComponent {
|
|
|
75107
75193
|
i0.ɵɵelementEnd()();
|
|
75108
75194
|
i0.ɵɵelementStart(30, "div", 12);
|
|
75109
75195
|
i0.ɵɵtext(31);
|
|
75110
|
-
i0.ɵɵelementEnd()()
|
|
75111
|
-
i0.ɵɵ
|
|
75112
|
-
i0.ɵɵtext(35, " Progress to Target ");
|
|
75196
|
+
i0.ɵɵelementEnd()();
|
|
75197
|
+
i0.ɵɵconditionalCreate(32, PerformanceMetricsCardComponent_Conditional_32_Template, 7, 8, "div", 8);
|
|
75113
75198
|
i0.ɵɵelementEnd();
|
|
75114
|
-
i0.ɵɵelementStart(
|
|
75115
|
-
i0.ɵɵtext(
|
|
75199
|
+
i0.ɵɵelementStart(33, "div", 13)(34, "div", 14)(35, "span", 15);
|
|
75200
|
+
i0.ɵɵtext(36, " Progress to Target ");
|
|
75201
|
+
i0.ɵɵelementEnd();
|
|
75202
|
+
i0.ɵɵelementStart(37, "span", 2);
|
|
75203
|
+
i0.ɵɵtext(38);
|
|
75116
75204
|
i0.ɵɵelementEnd()();
|
|
75117
|
-
i0.ɵɵelementStart(
|
|
75118
|
-
i0.ɵɵelement(
|
|
75205
|
+
i0.ɵɵelementStart(39, "div", 16);
|
|
75206
|
+
i0.ɵɵelement(40, "div", 17);
|
|
75119
75207
|
i0.ɵɵelementEnd()()();
|
|
75120
75208
|
} if (rf & 2) {
|
|
75121
75209
|
i0.ɵɵproperty("ngClass", ctx.cardClasses());
|
|
@@ -75128,13 +75216,13 @@ class PerformanceMetricsCardComponent {
|
|
|
75128
75216
|
i0.ɵɵadvance();
|
|
75129
75217
|
i0.ɵɵproperty("ngClass", ctx.trendBadgeClasses());
|
|
75130
75218
|
i0.ɵɵadvance();
|
|
75131
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction2(
|
|
75219
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction2(33, _c0$l, ctx.trendIcon(), ctx.iconSource));
|
|
75132
75220
|
i0.ɵɵadvance();
|
|
75133
75221
|
i0.ɵɵtextInterpolate1(" ", ctx.metrics().trendDirection, " ");
|
|
75134
75222
|
i0.ɵɵadvance(2);
|
|
75135
75223
|
i0.ɵɵproperty("ngClass", ctx.metricBoxClasses());
|
|
75136
75224
|
i0.ɵɵadvance(2);
|
|
75137
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(
|
|
75225
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(36, _c1$9, ctx.iconSource))("ngClass", ctx.labelClasses());
|
|
75138
75226
|
i0.ɵɵadvance();
|
|
75139
75227
|
i0.ɵɵproperty("ngClass", ctx.labelClasses());
|
|
75140
75228
|
i0.ɵɵadvance(2);
|
|
@@ -75144,7 +75232,7 @@ class PerformanceMetricsCardComponent {
|
|
|
75144
75232
|
i0.ɵɵadvance();
|
|
75145
75233
|
i0.ɵɵproperty("ngClass", ctx.metricBoxClasses());
|
|
75146
75234
|
i0.ɵɵadvance(2);
|
|
75147
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(
|
|
75235
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(38, _c2$9, ctx.iconSource))("ngClass", ctx.labelClasses());
|
|
75148
75236
|
i0.ɵɵadvance();
|
|
75149
75237
|
i0.ɵɵproperty("ngClass", ctx.labelClasses());
|
|
75150
75238
|
i0.ɵɵadvance(2);
|
|
@@ -75154,13 +75242,15 @@ class PerformanceMetricsCardComponent {
|
|
|
75154
75242
|
i0.ɵɵadvance();
|
|
75155
75243
|
i0.ɵɵproperty("ngClass", ctx.metricBoxClasses());
|
|
75156
75244
|
i0.ɵɵadvance(2);
|
|
75157
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(
|
|
75245
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(40, _c3$5, ctx.iconSource))("ngClass", ctx.labelClasses());
|
|
75158
75246
|
i0.ɵɵadvance();
|
|
75159
75247
|
i0.ɵɵproperty("ngClass", ctx.labelClasses());
|
|
75160
75248
|
i0.ɵɵadvance(2);
|
|
75161
75249
|
i0.ɵɵproperty("ngClass", ctx.valueClasses());
|
|
75162
75250
|
i0.ɵɵadvance();
|
|
75163
75251
|
i0.ɵɵtextInterpolate1(" ", ctx.metrics().targetValue, " ");
|
|
75252
|
+
i0.ɵɵadvance();
|
|
75253
|
+
i0.ɵɵconditional(ctx.metrics().projectedValue ? 32 : -1);
|
|
75164
75254
|
i0.ɵɵadvance(3);
|
|
75165
75255
|
i0.ɵɵproperty("ngClass", ctx.labelClasses());
|
|
75166
75256
|
i0.ɵɵadvance(2);
|
|
@@ -75200,7 +75290,7 @@ class PerformanceMetricsCardComponent {
|
|
|
75200
75290
|
</div>
|
|
75201
75291
|
|
|
75202
75292
|
<!-- Metrics Grid -->
|
|
75203
|
-
<div class="grid grid-cols-1 md:grid-cols-
|
|
75293
|
+
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4">
|
|
75204
75294
|
<!-- Current Value -->
|
|
75205
75295
|
<div [ngClass]="metricBoxClasses()" class="rounded-lg p-4">
|
|
75206
75296
|
<div class="flex items-center gap-2 mb-2">
|
|
@@ -75251,6 +75341,25 @@ class PerformanceMetricsCardComponent {
|
|
|
75251
75341
|
{{ metrics().targetValue }}
|
|
75252
75342
|
</div>
|
|
75253
75343
|
</div>
|
|
75344
|
+
|
|
75345
|
+
<!-- Projected Value -->
|
|
75346
|
+
@if (metrics().projectedValue) {
|
|
75347
|
+
<div [ngClass]="metricBoxClasses()" class="rounded-lg p-4">
|
|
75348
|
+
<div class="flex items-center gap-2 mb-2">
|
|
75349
|
+
<symphiq-icon
|
|
75350
|
+
[icon]="{ name: 'chart-bar', source: iconSource }"
|
|
75351
|
+
size="w-4 h-4"
|
|
75352
|
+
[ngClass]="labelClasses()"
|
|
75353
|
+
/>
|
|
75354
|
+
<span [ngClass]="labelClasses()" class="text-xs font-semibold uppercase tracking-wider">
|
|
75355
|
+
Projected
|
|
75356
|
+
</span>
|
|
75357
|
+
</div>
|
|
75358
|
+
<div [ngClass]="valueClasses()" class="text-2xl font-bold">
|
|
75359
|
+
{{ metrics().projectedValue }}
|
|
75360
|
+
</div>
|
|
75361
|
+
</div>
|
|
75362
|
+
}
|
|
75254
75363
|
</div>
|
|
75255
75364
|
|
|
75256
75365
|
<!-- Progress to Target -->
|
|
@@ -75274,7 +75383,7 @@ class PerformanceMetricsCardComponent {
|
|
|
75274
75383
|
</div>
|
|
75275
75384
|
`, styles: ["@keyframes pulse-glow{0%,to{box-shadow:0 0 #ef4444b3}50%{box-shadow:0 0 0 8px #ef444400}}.pulse-critical{animation:pulse-glow 2s infinite}@keyframes badge-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.badge-pulse{animation:badge-pulse 2s infinite}\n"] }]
|
|
75276
75385
|
}], () => [], { performanceMetrics: [{ type: i0.Input, args: [{ isSignal: true, alias: "performanceMetrics", required: false }] }], mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }] }); })();
|
|
75277
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PerformanceMetricsCardComponent, { className: "PerformanceMetricsCardComponent", filePath: "lib/components/profile-analysis-shop-dashboard/cards/performance-metrics-card.component.ts", lineNumber:
|
|
75386
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(PerformanceMetricsCardComponent, { className: "PerformanceMetricsCardComponent", filePath: "lib/components/profile-analysis-shop-dashboard/cards/performance-metrics-card.component.ts", lineNumber: 157 }); })();
|
|
75278
75387
|
|
|
75279
75388
|
const _c0$k = a0 => ({ name: "funnel", source: a0 });
|
|
75280
75389
|
const _c1$8 = a0 => ({ name: "chart-bar-square", source: a0 });
|
|
@@ -100364,25 +100473,36 @@ class SymphiqProfileAnalysisMetricDashboardComponent {
|
|
|
100364
100473
|
chartsForMetric(metric) {
|
|
100365
100474
|
const metricId = metric.performanceItemId;
|
|
100366
100475
|
const metricName = metric.metric;
|
|
100367
|
-
|
|
100476
|
+
console.log('[chartsForMetric] Called with metric:', metricName, 'performanceItemId:', metricId);
|
|
100477
|
+
if (!metricId && !metricName) {
|
|
100478
|
+
console.log('[chartsForMetric] No metricId or metricName, returning empty');
|
|
100368
100479
|
return [];
|
|
100480
|
+
}
|
|
100369
100481
|
const allCharts = this.allCharts();
|
|
100482
|
+
console.log('[chartsForMetric] Total allCharts:', allCharts.length);
|
|
100483
|
+
console.log('[chartsForMetric] Chart performanceItemIds:', allCharts.map(c => c.performanceItemId));
|
|
100370
100484
|
const matchingCharts = [];
|
|
100485
|
+
const metricNameLower = metricName?.toLowerCase() || '';
|
|
100486
|
+
const metricNameNormalized = metricNameLower.replace(/\s+/g, '_');
|
|
100487
|
+
console.log('[chartsForMetric] metricNameNormalized:', metricNameNormalized);
|
|
100371
100488
|
for (const chart of allCharts) {
|
|
100372
100489
|
const chartId = chart.performanceItemId || '';
|
|
100373
100490
|
const chartIdLower = chartId.toLowerCase();
|
|
100374
|
-
const metricNameLower = metricName?.toLowerCase() || '';
|
|
100375
100491
|
if (metricId) {
|
|
100376
100492
|
const prefix = metricId + '_';
|
|
100377
100493
|
if (chartId === metricId || chartId.startsWith(prefix)) {
|
|
100494
|
+
console.log('[chartsForMetric] Matched by metricId:', chartId);
|
|
100378
100495
|
matchingCharts.push(chart);
|
|
100379
100496
|
continue;
|
|
100380
100497
|
}
|
|
100381
100498
|
}
|
|
100382
|
-
if (metricName && chartIdLower.includes(
|
|
100499
|
+
if (metricName && chartIdLower.includes(metricNameNormalized)) {
|
|
100500
|
+
console.log('[chartsForMetric] Matched by name:', chartId, 'contains', metricNameNormalized);
|
|
100383
100501
|
matchingCharts.push(chart);
|
|
100384
100502
|
}
|
|
100385
100503
|
}
|
|
100504
|
+
console.log('[chartsForMetric] Matching charts count:', matchingCharts.length);
|
|
100505
|
+
console.log('[chartsForMetric] Matching chart IDs:', matchingCharts.map(c => c.performanceItemId));
|
|
100386
100506
|
return matchingCharts;
|
|
100387
100507
|
}
|
|
100388
100508
|
handleViewMetricDetailsClick() {
|
|
@@ -100406,8 +100526,10 @@ class SymphiqProfileAnalysisMetricDashboardComponent {
|
|
|
100406
100526
|
console.log('[ViewMetricDetails] Found metric in allMetrics:', metric);
|
|
100407
100527
|
if (metric) {
|
|
100408
100528
|
console.log('[ViewMetricDetails] Opening modal with metric from allMetrics');
|
|
100529
|
+
console.log('[ViewMetricDetails] Metric performanceItemId:', metric.performanceItemId);
|
|
100409
100530
|
const charts = this.chartsForMetric(metric);
|
|
100410
100531
|
console.log('[ViewMetricDetails] Filtered charts count:', charts.length);
|
|
100532
|
+
console.log('[ViewMetricDetails] Filtered chart IDs:', charts.map((c) => c.performanceItemId));
|
|
100411
100533
|
this.modalService.openMetricModal(metric, charts);
|
|
100412
100534
|
}
|
|
100413
100535
|
else {
|
|
@@ -100421,8 +100543,10 @@ class SymphiqProfileAnalysisMetricDashboardComponent {
|
|
|
100421
100543
|
description: summary.gradeRationale
|
|
100422
100544
|
};
|
|
100423
100545
|
console.log('[ViewMetricDetails] Opening modal with constructed metric:', constructedMetric);
|
|
100546
|
+
console.log('[ViewMetricDetails] Constructed metric performanceItemId:', constructedMetric.performanceItemId);
|
|
100424
100547
|
const charts = this.chartsForMetric(constructedMetric);
|
|
100425
100548
|
console.log('[ViewMetricDetails] Filtered charts count:', charts.length);
|
|
100549
|
+
console.log('[ViewMetricDetails] Filtered chart IDs:', charts.map((c) => c.performanceItemId));
|
|
100426
100550
|
this.modalService.openMetricModal(constructedMetric, charts);
|
|
100427
100551
|
}
|
|
100428
100552
|
else {
|