@eric-emg/symphiq-components 1.2.542 → 1.2.544
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 +276 -84
- package/fesm2022/symphiq-components.mjs.map +1 -1
- package/index.d.ts +60 -56
- 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" }] : []));
|
|
@@ -70062,10 +70099,13 @@ class MetricExecutiveSummaryComponent {
|
|
|
70062
70099
|
: 'bg-blue-100 text-blue-800', ...(ngDevMode ? [{ debugName: "numberBadgeClasses" }] : []));
|
|
70063
70100
|
this.quickWinTextClasses = computed(() => this.isDark() ? 'text-slate-100' : 'text-slate-900', ...(ngDevMode ? [{ debugName: "quickWinTextClasses" }] : []));
|
|
70064
70101
|
this.metaTextClasses = computed(() => this.isDark() ? 'text-slate-400' : 'text-slate-600', ...(ngDevMode ? [{ debugName: "metaTextClasses" }] : []));
|
|
70102
|
+
console.log('[MetricExecutiveSummary] Component constructed - button should be clickable!');
|
|
70065
70103
|
}
|
|
70066
70104
|
handleViewMetricDetailsClick() {
|
|
70067
70105
|
console.log('[MetricExecutiveSummary] View Metric Details button clicked!');
|
|
70106
|
+
console.log('[MetricExecutiveSummary] viewMetricDetailsClick output exists:', !!this.viewMetricDetailsClick);
|
|
70068
70107
|
this.viewMetricDetailsClick.emit();
|
|
70108
|
+
console.log('[MetricExecutiveSummary] Event emitted');
|
|
70069
70109
|
}
|
|
70070
70110
|
getYoyIcon() {
|
|
70071
70111
|
const change = this.summary().yoyChange;
|
|
@@ -70158,7 +70198,7 @@ class MetricExecutiveSummaryComponent {
|
|
|
70158
70198
|
return str.charAt(0).toUpperCase() + str.slice(1).toLowerCase();
|
|
70159
70199
|
}
|
|
70160
70200
|
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:
|
|
70201
|
+
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
70202
|
i0.ɵɵelementStart(0, "section", 0)(1, "div", 1)(2, "div", 2)(3, "div", 3)(4, "div", 4)(5, "div", 5);
|
|
70163
70203
|
i0.ɵɵelement(6, "symphiq-icon", 6);
|
|
70164
70204
|
i0.ɵɵelementStart(7, "h2", 7);
|
|
@@ -70176,23 +70216,24 @@ class MetricExecutiveSummaryComponent {
|
|
|
70176
70216
|
i0.ɵɵconditionalCreate(15, MetricExecutiveSummaryComponent_Conditional_15_Template, 7, 8, "div", 12);
|
|
70177
70217
|
i0.ɵɵconditionalCreate(16, MetricExecutiveSummaryComponent_Conditional_16_Template, 7, 8, "div", 12);
|
|
70178
70218
|
i0.ɵɵconditionalCreate(17, MetricExecutiveSummaryComponent_Conditional_17_Template, 7, 8, "div", 12);
|
|
70219
|
+
i0.ɵɵconditionalCreate(18, MetricExecutiveSummaryComponent_Conditional_18_Template, 7, 8, "div", 12);
|
|
70179
70220
|
i0.ɵɵelementEnd();
|
|
70180
|
-
i0.ɵɵelementStart(
|
|
70181
|
-
i0.ɵɵtext(
|
|
70221
|
+
i0.ɵɵelementStart(19, "div", 13)(20, "div", 14)(21, "span");
|
|
70222
|
+
i0.ɵɵtext(22, "View Metric Details");
|
|
70182
70223
|
i0.ɵɵelementEnd();
|
|
70183
|
-
i0.ɵɵelement(
|
|
70224
|
+
i0.ɵɵelement(23, "symphiq-icon", 15);
|
|
70184
70225
|
i0.ɵɵelementEnd()()();
|
|
70185
|
-
i0.ɵɵconditionalCreate(
|
|
70186
|
-
i0.ɵɵconditionalCreate(
|
|
70187
|
-
i0.ɵɵconditionalCreate(
|
|
70226
|
+
i0.ɵɵconditionalCreate(24, MetricExecutiveSummaryComponent_Conditional_24_Template, 8, 5, "div", 16);
|
|
70227
|
+
i0.ɵɵconditionalCreate(25, MetricExecutiveSummaryComponent_Conditional_25_Template, 6, 1, "div", 17);
|
|
70228
|
+
i0.ɵɵconditionalCreate(26, MetricExecutiveSummaryComponent_Conditional_26_Template, 6, 1, "div", 18);
|
|
70188
70229
|
i0.ɵɵelementEnd()()();
|
|
70189
70230
|
} if (rf & 2) {
|
|
70190
|
-
let tmp_16_0;
|
|
70191
70231
|
let tmp_17_0;
|
|
70232
|
+
let tmp_18_0;
|
|
70192
70233
|
i0.ɵɵadvance();
|
|
70193
70234
|
i0.ɵɵproperty("ngClass", ctx.bannerClasses());
|
|
70194
70235
|
i0.ɵɵadvance(5);
|
|
70195
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(
|
|
70236
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(19, _c0$u, ctx.iconSource))("size", "w-8 h-8")("ngClass", ctx.iconClasses());
|
|
70196
70237
|
i0.ɵɵadvance();
|
|
70197
70238
|
i0.ɵɵproperty("ngClass", ctx.titleClasses());
|
|
70198
70239
|
i0.ɵɵadvance();
|
|
@@ -70208,19 +70249,21 @@ class MetricExecutiveSummaryComponent {
|
|
|
70208
70249
|
i0.ɵɵadvance();
|
|
70209
70250
|
i0.ɵɵconditional(ctx.summary().targetValue ? 15 : -1);
|
|
70210
70251
|
i0.ɵɵadvance();
|
|
70211
|
-
i0.ɵɵconditional(ctx.
|
|
70252
|
+
i0.ɵɵconditional(ctx.projectedValue() ? 16 : -1);
|
|
70253
|
+
i0.ɵɵadvance();
|
|
70254
|
+
i0.ɵɵconditional(ctx.summary().pacingStatus ? 17 : -1);
|
|
70212
70255
|
i0.ɵɵadvance();
|
|
70213
|
-
i0.ɵɵconditional(ctx.summary().metricHealth ?
|
|
70256
|
+
i0.ɵɵconditional(ctx.summary().metricHealth ? 18 : -1);
|
|
70214
70257
|
i0.ɵɵadvance(2);
|
|
70215
70258
|
i0.ɵɵproperty("ngClass", ctx.viewDetailsButtonClasses());
|
|
70216
70259
|
i0.ɵɵadvance(3);
|
|
70217
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(
|
|
70260
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(21, _c1$d, ctx.iconSource));
|
|
70218
70261
|
i0.ɵɵadvance();
|
|
70219
|
-
i0.ɵɵconditional(ctx.summary().narrative ?
|
|
70262
|
+
i0.ɵɵconditional(ctx.summary().narrative ? 24 : -1);
|
|
70220
70263
|
i0.ɵɵadvance();
|
|
70221
|
-
i0.ɵɵconditional(ctx.summary().topPriorities && (((
|
|
70264
|
+
i0.ɵɵconditional(ctx.summary().topPriorities && (((tmp_17_0 = ctx.summary().topPriorities) == null ? null : tmp_17_0.length) ?? 0) > 0 ? 25 : -1);
|
|
70222
70265
|
i0.ɵɵadvance();
|
|
70223
|
-
i0.ɵɵconditional(ctx.summary().quickWins && (((
|
|
70266
|
+
i0.ɵɵconditional(ctx.summary().quickWins && (((tmp_18_0 = ctx.summary().quickWins) == null ? null : tmp_18_0.length) ?? 0) > 0 ? 26 : -1);
|
|
70224
70267
|
} }, dependencies: [CommonModule, i1$1.NgClass, GradeBadgeComponent,
|
|
70225
70268
|
SymphiqIconComponent,
|
|
70226
70269
|
NapkinVisualPlaceholderComponent,
|
|
@@ -70328,6 +70371,25 @@ class MetricExecutiveSummaryComponent {
|
|
|
70328
70371
|
</div>
|
|
70329
70372
|
}
|
|
70330
70373
|
|
|
70374
|
+
<!-- Projected Value -->
|
|
70375
|
+
@if (projectedValue()) {
|
|
70376
|
+
<div [ngClass]="metricCardClasses()" class="rounded-xl p-4 transition-all duration-200 group-hover:scale-[1.02] group-hover:shadow-lg">
|
|
70377
|
+
<div class="flex items-center gap-2 mb-2">
|
|
70378
|
+
<symphiq-icon
|
|
70379
|
+
[icon]="{ name: 'chart-bar', source: iconSource }"
|
|
70380
|
+
size="w-4 h-4"
|
|
70381
|
+
[ngClass]="metricLabelClasses()"
|
|
70382
|
+
/>
|
|
70383
|
+
<span [ngClass]="metricLabelClasses()" class="text-xs font-semibold uppercase tracking-wider">
|
|
70384
|
+
Projected
|
|
70385
|
+
</span>
|
|
70386
|
+
</div>
|
|
70387
|
+
<div [ngClass]="metricValueClasses()" class="text-2xl font-bold">
|
|
70388
|
+
{{ projectedValue() }}
|
|
70389
|
+
</div>
|
|
70390
|
+
</div>
|
|
70391
|
+
}
|
|
70392
|
+
|
|
70331
70393
|
<!-- Pacing Status -->
|
|
70332
70394
|
@if (summary().pacingStatus) {
|
|
70333
70395
|
<div [ngClass]="metricCardClasses()" class="rounded-xl p-4 transition-all duration-200 group-hover:scale-[1.02] group-hover:shadow-lg">
|
|
@@ -70514,8 +70576,8 @@ class MetricExecutiveSummaryComponent {
|
|
|
70514
70576
|
</section>
|
|
70515
70577
|
`
|
|
70516
70578
|
}]
|
|
70517
|
-
}],
|
|
70518
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MetricExecutiveSummaryComponent, { className: "MetricExecutiveSummaryComponent", filePath: "lib/components/profile-analysis-shop-dashboard/metric-executive-summary.component.ts", lineNumber:
|
|
70579
|
+
}], () => [], { 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"] }] }); })();
|
|
70580
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MetricExecutiveSummaryComponent, { className: "MetricExecutiveSummaryComponent", filePath: "lib/components/profile-analysis-shop-dashboard/metric-executive-summary.component.ts", lineNumber: 314 }); })();
|
|
70519
70581
|
|
|
70520
70582
|
const _c0$t = a0 => ({ name: "chevron-right", source: a0 });
|
|
70521
70583
|
function GoalCardComponent_Conditional_13_Template(rf, ctx) { if (rf & 1) {
|
|
@@ -74915,6 +74977,28 @@ const _c0$l = (a0, a1) => ({ name: a0, source: a1 });
|
|
|
74915
74977
|
const _c1$9 = a0 => ({ name: "signal", source: a0 });
|
|
74916
74978
|
const _c2$9 = a0 => ({ name: "calendar", source: a0 });
|
|
74917
74979
|
const _c3$5 = a0 => ({ name: "flag", source: a0 });
|
|
74980
|
+
const _c4$3 = a0 => ({ name: "chart-bar", source: a0 });
|
|
74981
|
+
function PerformanceMetricsCardComponent_Conditional_32_Template(rf, ctx) { if (rf & 1) {
|
|
74982
|
+
i0.ɵɵelementStart(0, "div", 8)(1, "div", 9);
|
|
74983
|
+
i0.ɵɵelement(2, "symphiq-icon", 10);
|
|
74984
|
+
i0.ɵɵelementStart(3, "span", 11);
|
|
74985
|
+
i0.ɵɵtext(4, " Projected ");
|
|
74986
|
+
i0.ɵɵelementEnd()();
|
|
74987
|
+
i0.ɵɵelementStart(5, "div", 12);
|
|
74988
|
+
i0.ɵɵtext(6);
|
|
74989
|
+
i0.ɵɵelementEnd()();
|
|
74990
|
+
} if (rf & 2) {
|
|
74991
|
+
const ctx_r0 = i0.ɵɵnextContext();
|
|
74992
|
+
i0.ɵɵproperty("ngClass", ctx_r0.metricBoxClasses());
|
|
74993
|
+
i0.ɵɵadvance(2);
|
|
74994
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(6, _c4$3, ctx_r0.iconSource))("ngClass", ctx_r0.labelClasses());
|
|
74995
|
+
i0.ɵɵadvance();
|
|
74996
|
+
i0.ɵɵproperty("ngClass", ctx_r0.labelClasses());
|
|
74997
|
+
i0.ɵɵadvance(2);
|
|
74998
|
+
i0.ɵɵproperty("ngClass", ctx_r0.valueClasses());
|
|
74999
|
+
i0.ɵɵadvance();
|
|
75000
|
+
i0.ɵɵtextInterpolate1(" ", ctx_r0.metrics().projectedValue, " ");
|
|
75001
|
+
} }
|
|
74918
75002
|
class PerformanceMetricsCardComponent {
|
|
74919
75003
|
constructor() {
|
|
74920
75004
|
this.metrics = signal({
|
|
@@ -74923,7 +75007,8 @@ class PerformanceMetricsCardComponent {
|
|
|
74923
75007
|
targetValue: '0',
|
|
74924
75008
|
pacingStatus: PacingStatusEnum.ON_TRACK,
|
|
74925
75009
|
percentToTarget: '0%',
|
|
74926
|
-
trendDirection: ProfileAnalysisTrendDirectionEnum.STABLE
|
|
75010
|
+
trendDirection: ProfileAnalysisTrendDirectionEnum.STABLE,
|
|
75011
|
+
projectedValue: undefined
|
|
74927
75012
|
}, ...(ngDevMode ? [{ debugName: "metrics" }] : []));
|
|
74928
75013
|
this.viewMode = signal(ViewModeEnum.LIGHT, ...(ngDevMode ? [{ debugName: "viewMode" }] : []));
|
|
74929
75014
|
this.iconSource = IconSourceEnum.HEROICONS;
|
|
@@ -75058,13 +75143,15 @@ class PerformanceMetricsCardComponent {
|
|
|
75058
75143
|
effect(() => {
|
|
75059
75144
|
const val = this.performanceMetrics();
|
|
75060
75145
|
if (val) {
|
|
75146
|
+
const valWithProjected = val;
|
|
75061
75147
|
this.metrics.set({
|
|
75062
75148
|
currentValue: val.currentValue ?? '0',
|
|
75063
75149
|
previousYearValue: val.previousYearValue ?? '0',
|
|
75064
75150
|
targetValue: val.targetValue ?? '0',
|
|
75065
75151
|
pacingStatus: val.pacingStatus ?? PacingStatusEnum.ON_TRACK,
|
|
75066
75152
|
percentToTarget: val.percentToTarget ?? '0%',
|
|
75067
|
-
trendDirection: val.trendDirection ?? ProfileAnalysisTrendDirectionEnum.STABLE
|
|
75153
|
+
trendDirection: val.trendDirection ?? ProfileAnalysisTrendDirectionEnum.STABLE,
|
|
75154
|
+
projectedValue: valWithProjected.projectedValue
|
|
75068
75155
|
});
|
|
75069
75156
|
}
|
|
75070
75157
|
});
|
|
@@ -75073,7 +75160,7 @@ class PerformanceMetricsCardComponent {
|
|
|
75073
75160
|
});
|
|
75074
75161
|
}
|
|
75075
75162
|
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:
|
|
75163
|
+
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
75164
|
i0.ɵɵelementStart(0, "div", 0)(1, "div", 1)(2, "h3", 2);
|
|
75078
75165
|
i0.ɵɵtext(3, " Performance Metrics ");
|
|
75079
75166
|
i0.ɵɵelementEnd();
|
|
@@ -75107,15 +75194,17 @@ class PerformanceMetricsCardComponent {
|
|
|
75107
75194
|
i0.ɵɵelementEnd()();
|
|
75108
75195
|
i0.ɵɵelementStart(30, "div", 12);
|
|
75109
75196
|
i0.ɵɵtext(31);
|
|
75110
|
-
i0.ɵɵelementEnd()()
|
|
75111
|
-
i0.ɵɵ
|
|
75112
|
-
i0.ɵɵtext(35, " Progress to Target ");
|
|
75197
|
+
i0.ɵɵelementEnd()();
|
|
75198
|
+
i0.ɵɵconditionalCreate(32, PerformanceMetricsCardComponent_Conditional_32_Template, 7, 8, "div", 8);
|
|
75113
75199
|
i0.ɵɵelementEnd();
|
|
75114
|
-
i0.ɵɵelementStart(
|
|
75115
|
-
i0.ɵɵtext(
|
|
75200
|
+
i0.ɵɵelementStart(33, "div", 13)(34, "div", 14)(35, "span", 15);
|
|
75201
|
+
i0.ɵɵtext(36, " Progress to Target ");
|
|
75202
|
+
i0.ɵɵelementEnd();
|
|
75203
|
+
i0.ɵɵelementStart(37, "span", 2);
|
|
75204
|
+
i0.ɵɵtext(38);
|
|
75116
75205
|
i0.ɵɵelementEnd()();
|
|
75117
|
-
i0.ɵɵelementStart(
|
|
75118
|
-
i0.ɵɵelement(
|
|
75206
|
+
i0.ɵɵelementStart(39, "div", 16);
|
|
75207
|
+
i0.ɵɵelement(40, "div", 17);
|
|
75119
75208
|
i0.ɵɵelementEnd()()();
|
|
75120
75209
|
} if (rf & 2) {
|
|
75121
75210
|
i0.ɵɵproperty("ngClass", ctx.cardClasses());
|
|
@@ -75128,13 +75217,13 @@ class PerformanceMetricsCardComponent {
|
|
|
75128
75217
|
i0.ɵɵadvance();
|
|
75129
75218
|
i0.ɵɵproperty("ngClass", ctx.trendBadgeClasses());
|
|
75130
75219
|
i0.ɵɵadvance();
|
|
75131
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction2(
|
|
75220
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction2(33, _c0$l, ctx.trendIcon(), ctx.iconSource));
|
|
75132
75221
|
i0.ɵɵadvance();
|
|
75133
75222
|
i0.ɵɵtextInterpolate1(" ", ctx.metrics().trendDirection, " ");
|
|
75134
75223
|
i0.ɵɵadvance(2);
|
|
75135
75224
|
i0.ɵɵproperty("ngClass", ctx.metricBoxClasses());
|
|
75136
75225
|
i0.ɵɵadvance(2);
|
|
75137
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(
|
|
75226
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(36, _c1$9, ctx.iconSource))("ngClass", ctx.labelClasses());
|
|
75138
75227
|
i0.ɵɵadvance();
|
|
75139
75228
|
i0.ɵɵproperty("ngClass", ctx.labelClasses());
|
|
75140
75229
|
i0.ɵɵadvance(2);
|
|
@@ -75144,7 +75233,7 @@ class PerformanceMetricsCardComponent {
|
|
|
75144
75233
|
i0.ɵɵadvance();
|
|
75145
75234
|
i0.ɵɵproperty("ngClass", ctx.metricBoxClasses());
|
|
75146
75235
|
i0.ɵɵadvance(2);
|
|
75147
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(
|
|
75236
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(38, _c2$9, ctx.iconSource))("ngClass", ctx.labelClasses());
|
|
75148
75237
|
i0.ɵɵadvance();
|
|
75149
75238
|
i0.ɵɵproperty("ngClass", ctx.labelClasses());
|
|
75150
75239
|
i0.ɵɵadvance(2);
|
|
@@ -75154,13 +75243,15 @@ class PerformanceMetricsCardComponent {
|
|
|
75154
75243
|
i0.ɵɵadvance();
|
|
75155
75244
|
i0.ɵɵproperty("ngClass", ctx.metricBoxClasses());
|
|
75156
75245
|
i0.ɵɵadvance(2);
|
|
75157
|
-
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(
|
|
75246
|
+
i0.ɵɵproperty("icon", i0.ɵɵpureFunction1(40, _c3$5, ctx.iconSource))("ngClass", ctx.labelClasses());
|
|
75158
75247
|
i0.ɵɵadvance();
|
|
75159
75248
|
i0.ɵɵproperty("ngClass", ctx.labelClasses());
|
|
75160
75249
|
i0.ɵɵadvance(2);
|
|
75161
75250
|
i0.ɵɵproperty("ngClass", ctx.valueClasses());
|
|
75162
75251
|
i0.ɵɵadvance();
|
|
75163
75252
|
i0.ɵɵtextInterpolate1(" ", ctx.metrics().targetValue, " ");
|
|
75253
|
+
i0.ɵɵadvance();
|
|
75254
|
+
i0.ɵɵconditional(ctx.metrics().projectedValue ? 32 : -1);
|
|
75164
75255
|
i0.ɵɵadvance(3);
|
|
75165
75256
|
i0.ɵɵproperty("ngClass", ctx.labelClasses());
|
|
75166
75257
|
i0.ɵɵadvance(2);
|
|
@@ -75200,7 +75291,7 @@ class PerformanceMetricsCardComponent {
|
|
|
75200
75291
|
</div>
|
|
75201
75292
|
|
|
75202
75293
|
<!-- Metrics Grid -->
|
|
75203
|
-
<div class="grid grid-cols-1 md:grid-cols-
|
|
75294
|
+
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4">
|
|
75204
75295
|
<!-- Current Value -->
|
|
75205
75296
|
<div [ngClass]="metricBoxClasses()" class="rounded-lg p-4">
|
|
75206
75297
|
<div class="flex items-center gap-2 mb-2">
|
|
@@ -75251,6 +75342,25 @@ class PerformanceMetricsCardComponent {
|
|
|
75251
75342
|
{{ metrics().targetValue }}
|
|
75252
75343
|
</div>
|
|
75253
75344
|
</div>
|
|
75345
|
+
|
|
75346
|
+
<!-- Projected Value -->
|
|
75347
|
+
@if (metrics().projectedValue) {
|
|
75348
|
+
<div [ngClass]="metricBoxClasses()" class="rounded-lg p-4">
|
|
75349
|
+
<div class="flex items-center gap-2 mb-2">
|
|
75350
|
+
<symphiq-icon
|
|
75351
|
+
[icon]="{ name: 'chart-bar', source: iconSource }"
|
|
75352
|
+
size="w-4 h-4"
|
|
75353
|
+
[ngClass]="labelClasses()"
|
|
75354
|
+
/>
|
|
75355
|
+
<span [ngClass]="labelClasses()" class="text-xs font-semibold uppercase tracking-wider">
|
|
75356
|
+
Projected
|
|
75357
|
+
</span>
|
|
75358
|
+
</div>
|
|
75359
|
+
<div [ngClass]="valueClasses()" class="text-2xl font-bold">
|
|
75360
|
+
{{ metrics().projectedValue }}
|
|
75361
|
+
</div>
|
|
75362
|
+
</div>
|
|
75363
|
+
}
|
|
75254
75364
|
</div>
|
|
75255
75365
|
|
|
75256
75366
|
<!-- Progress to Target -->
|
|
@@ -75274,7 +75384,7 @@ class PerformanceMetricsCardComponent {
|
|
|
75274
75384
|
</div>
|
|
75275
75385
|
`, 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
75386
|
}], () => [], { 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:
|
|
75387
|
+
(() => { (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
75388
|
|
|
75279
75389
|
const _c0$k = a0 => ({ name: "funnel", source: a0 });
|
|
75280
75390
|
const _c1$8 = a0 => ({ name: "chart-bar-square", source: a0 });
|
|
@@ -92780,7 +92890,7 @@ function SymphiqProfileShopAnalysisDashboardComponent_Conditional_10_Conditional
|
|
|
92780
92890
|
function SymphiqProfileShopAnalysisDashboardComponent_Conditional_10_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
92781
92891
|
const _r12 = i0.ɵɵgetCurrentView();
|
|
92782
92892
|
i0.ɵɵelementStart(0, "symphiq-metric-executive-summary", 92);
|
|
92783
|
-
i0.ɵɵlistener("topPrioritiesClick", function SymphiqProfileShopAnalysisDashboardComponent_Conditional_10_Conditional_1_Template_symphiq_metric_executive_summary_topPrioritiesClick_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.handleMetricTopPrioritiesClick()); })("priorityDetailClick", function SymphiqProfileShopAnalysisDashboardComponent_Conditional_10_Conditional_1_Template_symphiq_metric_executive_summary_priorityDetailClick_0_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.handleMetricPriorityDetailClick($event)); });
|
|
92893
|
+
i0.ɵɵlistener("topPrioritiesClick", function SymphiqProfileShopAnalysisDashboardComponent_Conditional_10_Conditional_1_Template_symphiq_metric_executive_summary_topPrioritiesClick_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.handleMetricTopPrioritiesClick()); })("priorityDetailClick", function SymphiqProfileShopAnalysisDashboardComponent_Conditional_10_Conditional_1_Template_symphiq_metric_executive_summary_priorityDetailClick_0_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.handleMetricPriorityDetailClick($event)); })("viewMetricDetailsClick", function SymphiqProfileShopAnalysisDashboardComponent_Conditional_10_Conditional_1_Template_symphiq_metric_executive_summary_viewMetricDetailsClick_0_listener() { i0.ɵɵrestoreView(_r12); const ctx_r1 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r1.handleMetricViewDetailsClick()); });
|
|
92784
92894
|
i0.ɵɵelementEnd();
|
|
92785
92895
|
} if (rf & 2) {
|
|
92786
92896
|
const ctx_r1 = i0.ɵɵnextContext(2);
|
|
@@ -93643,6 +93753,66 @@ class SymphiqProfileShopAnalysisDashboardComponent {
|
|
|
93643
93753
|
this.modalService.navigateToTopPriorityDetail(priority, index, this.viewMode(), metricName, totalCount);
|
|
93644
93754
|
}
|
|
93645
93755
|
}
|
|
93756
|
+
handleMetricViewDetailsClick() {
|
|
93757
|
+
console.log('[ShopDashboard.ViewMetricDetails] Handler called');
|
|
93758
|
+
const summary = this.metricExecutiveSummary();
|
|
93759
|
+
const metricKey = summary?.metric || this.metricName();
|
|
93760
|
+
console.log('[ShopDashboard.ViewMetricDetails] metricKey:', metricKey);
|
|
93761
|
+
if (!metricKey) {
|
|
93762
|
+
console.log('[ShopDashboard.ViewMetricDetails] No metricKey found, returning early');
|
|
93763
|
+
return;
|
|
93764
|
+
}
|
|
93765
|
+
const allMetricsArr = this.allMetrics();
|
|
93766
|
+
console.log('[ShopDashboard.ViewMetricDetails] allMetrics count:', allMetricsArr.length);
|
|
93767
|
+
const metric = allMetricsArr.find(m => m.metric === metricKey);
|
|
93768
|
+
console.log('[ShopDashboard.ViewMetricDetails] Found metric:', metric?.metric);
|
|
93769
|
+
if (metric) {
|
|
93770
|
+
const charts = this.chartsForMetric(metric);
|
|
93771
|
+
console.log('[ShopDashboard.ViewMetricDetails] Filtered charts count:', charts.length);
|
|
93772
|
+
this.modalService.openMetricModal(metric, charts);
|
|
93773
|
+
}
|
|
93774
|
+
else if (summary) {
|
|
93775
|
+
const constructedMetric = {
|
|
93776
|
+
metric: metricKey,
|
|
93777
|
+
currentValue: typeof summary.currentValue === 'string' ? parseFloat(summary.currentValue) || 0 : (summary.currentValue ?? 0),
|
|
93778
|
+
targetValue: typeof summary.targetValue === 'string' ? parseFloat(summary.targetValue) || 0 : (summary.targetValue ?? 0),
|
|
93779
|
+
description: summary.gradeRationale
|
|
93780
|
+
};
|
|
93781
|
+
console.log('[ShopDashboard.ViewMetricDetails] Using constructed metric');
|
|
93782
|
+
const charts = this.chartsForMetric(constructedMetric);
|
|
93783
|
+
console.log('[ShopDashboard.ViewMetricDetails] Filtered charts count:', charts.length);
|
|
93784
|
+
this.modalService.openMetricModal(constructedMetric, charts);
|
|
93785
|
+
}
|
|
93786
|
+
}
|
|
93787
|
+
chartsForMetric(metric) {
|
|
93788
|
+
const metricId = metric.performanceItemId;
|
|
93789
|
+
const metricName = metric.metric;
|
|
93790
|
+
console.log('[ShopDashboard.chartsForMetric] Called with metric:', metricName, 'performanceItemId:', metricId);
|
|
93791
|
+
if (!metricId && !metricName) {
|
|
93792
|
+
return [];
|
|
93793
|
+
}
|
|
93794
|
+
const allChartsArr = this.allCharts();
|
|
93795
|
+
console.log('[ShopDashboard.chartsForMetric] Total allCharts:', allChartsArr.length);
|
|
93796
|
+
const matchingCharts = [];
|
|
93797
|
+
const metricNameLower = metricName?.toLowerCase() || '';
|
|
93798
|
+
const metricNameNormalized = metricNameLower.replace(/\s+/g, '_');
|
|
93799
|
+
for (const chart of allChartsArr) {
|
|
93800
|
+
const chartId = chart.performanceItemId || '';
|
|
93801
|
+
const chartIdLower = chartId.toLowerCase();
|
|
93802
|
+
if (metricId) {
|
|
93803
|
+
const prefix = metricId + '_';
|
|
93804
|
+
if (chartId === metricId || chartId.startsWith(prefix)) {
|
|
93805
|
+
matchingCharts.push(chart);
|
|
93806
|
+
continue;
|
|
93807
|
+
}
|
|
93808
|
+
}
|
|
93809
|
+
if (metricName && chartIdLower.includes(metricNameNormalized)) {
|
|
93810
|
+
matchingCharts.push(chart);
|
|
93811
|
+
}
|
|
93812
|
+
}
|
|
93813
|
+
console.log('[ShopDashboard.chartsForMetric] Matching charts count:', matchingCharts.length);
|
|
93814
|
+
return matchingCharts;
|
|
93815
|
+
}
|
|
93646
93816
|
getCurrentModalState() {
|
|
93647
93817
|
return {
|
|
93648
93818
|
type: this.modalType(),
|
|
@@ -93985,7 +94155,7 @@ class SymphiqProfileShopAnalysisDashboardComponent {
|
|
|
93985
94155
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.planSelectionContainer = _t.first);
|
|
93986
94156
|
} }, hostBindings: function SymphiqProfileShopAnalysisDashboardComponent_HostBindings(rf, ctx) { if (rf & 1) {
|
|
93987
94157
|
i0.ɵɵlistener("scroll", function SymphiqProfileShopAnalysisDashboardComponent_scroll_HostBindingHandler($event) { return ctx.onWindowScroll($event); }, i0.ɵɵresolveWindow);
|
|
93988
|
-
} }, inputs: { viewMode: [1, "viewMode"], requestedByUser: [1, "requestedByUser"], createdDate: [1, "createdDate"], embedded: [1, "embedded"], profileAnalysis: [1, "profileAnalysis"], profile: [1, "profile"], funnelAnalysis: [1, "funnelAnalysis"], focusAreaDetails: [1, "focusAreaDetails"], account: [1, "account"], profileShop: [1, "profileShop"], profileShopQuestions: [1, "profileShopQuestions"], profileAnswers: [1, "profileAnswers"], profileAnswerHistories: [1, "profileAnswerHistories"], itemStatusProfileShop: [1, "itemStatusProfileShop"], itemStatusProfileAnalysis: [1, "itemStatusProfileAnalysis"], planCardInfos: [1, "planCardInfos"], isOnboarded: [1, "isOnboarded"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], users: [1, "users"], isLoading: [1, "isLoading"], forDemo: [1, "forDemo"], currentUser: [1, "currentUser"], maxAccessibleStepId: [1, "maxAccessibleStepId"], isMarkingAsReviewed: [1, "isMarkingAsReviewed"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick", currencySelectionClick: "currencySelectionClick", editCurrencyClick: "editCurrencyClick", periodUnitChanged: "periodUnitChanged", planSelected: "planSelected", checkoutPlanClick: "checkoutPlanClick", answerShopProfileQuestions: "answerShopProfileQuestions", continueShopProfileQuestions: "continueShopProfileQuestions", profileQuestionAnswerSave: "profileQuestionAnswerSave", shopProfileAdminAnswerAction: "shopProfileAdminAnswerAction", markAsReviewedClick: "markAsReviewedClick" }, features: [i0.ɵɵNgOnChangesFeature], decls: 31, vars: 58, consts: [["shopProfileStatusCard", ""], ["planSelectionContainer", ""], [1, "relative", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "relative", "z-[51]"], [3, "searchClick", "viewModeClick", "title", "subtitle", "currentSection", "viewMode", "viewModeLabel", "isLoading", "requestedByUser", "createdDate", "showControls"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative", "z-10", "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-12", "space-y-12"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "close", "isOpen", "isLightMode"], [3, "close", "modeSelected", "isOpen", "currentMode", "viewMode"], [3, "isLightMode", "allMetrics", "allInsights", "allBusinessInsights", "allCharts"], [3, "goal", "viewMode", "isInModal", "allMetrics", "allCharts", "allInsights", "currentModalState", "businessProfile"], [3, "goal", "viewMode"], [3, "objective", "goalTitle", "viewMode"], [3, "strategy", "objectiveTitle", "goalTitle", "viewMode", "expandedRecommendationId", "allMetrics", "allCharts", "allInsights", "allBusinessInsights", "currentModalState"], [3, "category", "viewMode", "scrollToSection"], [3, "strength", "viewMode", "allFunnelStrengths", "currentModalState"], [3, "gap", "viewMode", "allGoals", "allWeaknesses", "currentModalState"], [3, "opportunity", "viewMode", "allStrengths", "currentModalState"], [3, "isLightMode", "viewMode", "allMetrics", "allInsights", "allCharts"], [3, "isLightMode"], [3, "viewMode", "isEnabled", "isLoading"], [3, "viewMode", "totalQuestions", "answeredQuestions", "buttonConfig"], [1, "fixed", "bottom-0", "left-0", "right-0", "z-50", "border-t", "backdrop-blur-lg", 3, "ngClass"], [3, "markAsReviewedClick", "viewMode", "reviewStatus", "selfContentStatus", "isMarkingAsReviewed"], [3, "nextStepClick", "stepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "mb-12"], [3, "viewMode", "businessName", "isOnboarded"], [3, "viewMode", "metricName", "isOnboarded"], [1, "rounded-2xl", "border", "shadow-lg", "p-8", "backdrop-blur-sm", 3, "ngClass"], [1, "flex", "flex-col", "items-center", "justify-center", "space-y-4"], ["size", "large", 3, "viewMode"], [1, "text-center"], [1, "text-lg", "font-semibold", "mb-1", 3, "ngClass"], [1, "text-sm", 3, "ngClass"], [1, "mb-8"], [3, "startCategoryQuestions", "answerSave", "adminAnswerAction", "viewMode", "totalQuestions", "answeredQuestions", "questions", "profileAnswers", "profileAnswerHistories", "users", "config", "groupConfig", "currentUser"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], ["title", "Generating Your Shop Profile", "subtitle", "We're analyzing your data to create shop specific questions and answers. They will appear when ready.", 3, "itemStatus", "viewMode"], [3, "goals", "viewMode"], ["subtitle", "We're analyzing your data to create your personalized analysis. It will appear when ready.", 3, "itemStatus", "viewMode", "title"], [3, "viewMoreClick", "goals", "viewMode"], [3, "viewMode", "selectedCurrency"], [3, "currencySelected", "selectionChanged", "viewMode", "isLoading", "initialCurrency"], [3, "viewMode"], [1, "mb-32"], [3, "periodUnitChanged", "planSelected", "editCurrency", "checkout", "viewMode", "selectedCurrency", "planCardInfos", "isLoading", "selectedPeriodUnit"], [3, "editCurrency", "viewMode", "selectedCurrency"], [3, "sections", "viewMode", "executiveSummary", "metricExecutiveSummary", "metricName", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], ["id", "section-executive-summary", 1, "space-y-6", "scroll-mt-24"], [3, "viewMode", "summary", "metricName", "allGoals"], [1, "space-y-8"], [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, "text-2xl", "font-bold", "mb-3", 3, "ngClass"], [1, "text-lg", "leading-relaxed", 3, "ngClass"], [3, "grade", "gradeRationale", "viewMode"], [1, "rounded-xl", "p-6", 3, "ngClass"], [1, "grid", "grid-cols-1", "md:grid-cols-3", "gap-4"], ["type", "button", 1, "p-4", "rounded-xl", "text-left", "transition-all", "duration-200", "hover:scale-[1.02]", "active:scale-[0.98]", "group", "cursor-pointer", 3, "click", "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-1", 3, "ngClass"], [1, "text-3xl", "font-bold", "mb-2", 3, "ngClass"], [1, "flex", "items-center", "gap-1.5", "text-xs", "font-medium"], [3, "ngClass"], ["size", "w-4 h-4", 1, "transition-transform", "group-hover:translate-x-1", 3, "icon", "ngClass"], ["size", "w-4 h-4", 1, "transition-transform", "group-hover:translate-y-1", "animate-bounce", 3, "icon", "ngClass"], ["id", "quick-wins-section", 1, "space-y-4", "scroll-mt-24"], [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", 3, "ngClass"], [1, "grid", "grid-cols-1", "lg: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, "flex-shrink-0", "w-8", "h-8", "rounded-full", "flex", "items-center", "justify-center", "text-sm", "font-bold", 3, "ngClass"], [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"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [3, "relatedGoalIds", "allGoals", "viewMode"], [3, "topPrioritiesClick", "priorityDetailClick", "viewMode", "summary", "metricName", "allGoals"], [3, "viewMode", "sectionIcon"], [1, "rounded-xl", "p-8", "scroll-mt-24", 3, "id", "ngClass"], [1, "flex", "items-start", "gap-3", "mb-6"], [1, "flex-shrink-0", "w-12", "h-12", "rounded-xl", "flex", "items-center", "justify-center", 3, "ngClass"], [1, "text-2xl", "font-bold", 3, "ngClass"], [1, "mb-6", "flex", "flex-col", "lg:flex-row", "gap-6", "items-start", 3, "lg:flex-row-reverse"], [3, "section", "executiveSummary", "viewMode", "sectionIndex", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], ["size", "w-6 h-6", 3, "icon"], [1, "mb-6", "flex", "flex-col", "lg:flex-row", "gap-6", "items-start"], [1, "w-full", "lg:w-2/3"], [1, "w-full", 3, "lg:w-1/3", "lg:w-full"], [1, "w-full"], [3, "continueClick", "viewMode", "isEnabled", "isLoading"], [3, "continueClick", "viewMode", "totalQuestions", "answeredQuestions", "buttonConfig"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-4"], [1, "flex", "items-center", "gap-4"], [1, "px-6", "py-4", "rounded-xl", "font-semibold", "text-lg", "transition-all", "duration-300", "cursor-pointer", 3, "click", "ngClass"], [1, "flex-1", "px-6", "py-4", "rounded-xl", "font-semibold", "text-lg", "transition-all", "duration-300", "flex", "items-center", "justify-center", "gap-3", "shadow-2xl", 3, "click", "disabled", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "transition-transform", "duration-200"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"]], template: function SymphiqProfileShopAnalysisDashboardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
94158
|
+
} }, inputs: { viewMode: [1, "viewMode"], requestedByUser: [1, "requestedByUser"], createdDate: [1, "createdDate"], embedded: [1, "embedded"], profileAnalysis: [1, "profileAnalysis"], profile: [1, "profile"], funnelAnalysis: [1, "funnelAnalysis"], focusAreaDetails: [1, "focusAreaDetails"], account: [1, "account"], profileShop: [1, "profileShop"], profileShopQuestions: [1, "profileShopQuestions"], profileAnswers: [1, "profileAnswers"], profileAnswerHistories: [1, "profileAnswerHistories"], itemStatusProfileShop: [1, "itemStatusProfileShop"], itemStatusProfileAnalysis: [1, "itemStatusProfileAnalysis"], planCardInfos: [1, "planCardInfos"], isOnboarded: [1, "isOnboarded"], scrollEvent: [1, "scrollEvent"], scrollElement: [1, "scrollElement"], users: [1, "users"], isLoading: [1, "isLoading"], forDemo: [1, "forDemo"], currentUser: [1, "currentUser"], maxAccessibleStepId: [1, "maxAccessibleStepId"], isMarkingAsReviewed: [1, "isMarkingAsReviewed"] }, outputs: { stepClick: "stepClick", nextStepClick: "nextStepClick", currencySelectionClick: "currencySelectionClick", editCurrencyClick: "editCurrencyClick", periodUnitChanged: "periodUnitChanged", planSelected: "planSelected", checkoutPlanClick: "checkoutPlanClick", answerShopProfileQuestions: "answerShopProfileQuestions", continueShopProfileQuestions: "continueShopProfileQuestions", profileQuestionAnswerSave: "profileQuestionAnswerSave", shopProfileAdminAnswerAction: "shopProfileAdminAnswerAction", markAsReviewedClick: "markAsReviewedClick" }, features: [i0.ɵɵNgOnChangesFeature], decls: 31, vars: 58, consts: [["shopProfileStatusCard", ""], ["planSelectionContainer", ""], [1, "relative", 3, "ngClass"], [1, "animated-bubbles", 2, "position", "fixed", "top", "0", "left", "0", "right", "0", "bottom", "0", "width", "100vw", "height", "100vh", "z-index", "1", "pointer-events", "none"], [1, "h-full", "transition-all", "duration-200", "ease-out", 3, "ngClass"], [1, "relative", "z-[51]"], [3, "searchClick", "viewModeClick", "title", "subtitle", "currentSection", "viewMode", "viewModeLabel", "isLoading", "requestedByUser", "createdDate", "showControls"], [3, "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "relative", "z-10", "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-12", "space-y-12"], [3, "sections", "viewMode", "embedded", "scrollElement"], [3, "close", "isOpen", "isLightMode"], [3, "close", "modeSelected", "isOpen", "currentMode", "viewMode"], [3, "isLightMode", "allMetrics", "allInsights", "allBusinessInsights", "allCharts"], [3, "goal", "viewMode", "isInModal", "allMetrics", "allCharts", "allInsights", "currentModalState", "businessProfile"], [3, "goal", "viewMode"], [3, "objective", "goalTitle", "viewMode"], [3, "strategy", "objectiveTitle", "goalTitle", "viewMode", "expandedRecommendationId", "allMetrics", "allCharts", "allInsights", "allBusinessInsights", "currentModalState"], [3, "category", "viewMode", "scrollToSection"], [3, "strength", "viewMode", "allFunnelStrengths", "currentModalState"], [3, "gap", "viewMode", "allGoals", "allWeaknesses", "currentModalState"], [3, "opportunity", "viewMode", "allStrengths", "currentModalState"], [3, "isLightMode", "viewMode", "allMetrics", "allInsights", "allCharts"], [3, "isLightMode"], [3, "viewMode", "isEnabled", "isLoading"], [3, "viewMode", "totalQuestions", "answeredQuestions", "buttonConfig"], [1, "fixed", "bottom-0", "left-0", "right-0", "z-50", "border-t", "backdrop-blur-lg", 3, "ngClass"], [3, "markAsReviewedClick", "viewMode", "reviewStatus", "selfContentStatus", "isMarkingAsReviewed"], [3, "nextStepClick", "stepClick", "viewMode", "currentStepId", "showNextStepAction", "forDemo", "maxAccessibleStepId"], [1, "mb-12"], [3, "viewMode", "businessName", "isOnboarded"], [3, "viewMode", "metricName", "isOnboarded"], [1, "rounded-2xl", "border", "shadow-lg", "p-8", "backdrop-blur-sm", 3, "ngClass"], [1, "flex", "flex-col", "items-center", "justify-center", "space-y-4"], ["size", "large", 3, "viewMode"], [1, "text-center"], [1, "text-lg", "font-semibold", "mb-1", 3, "ngClass"], [1, "text-sm", 3, "ngClass"], [1, "mb-8"], [3, "startCategoryQuestions", "answerSave", "adminAnswerAction", "viewMode", "totalQuestions", "answeredQuestions", "questions", "profileAnswers", "profileAnswerHistories", "users", "config", "groupConfig", "currentUser"], [1, "rounded-2xl", "border", "shadow-lg", "overflow-hidden", 3, "ngClass"], ["title", "Generating Your Shop Profile", "subtitle", "We're analyzing your data to create shop specific questions and answers. They will appear when ready.", 3, "itemStatus", "viewMode"], [3, "goals", "viewMode"], ["subtitle", "We're analyzing your data to create your personalized analysis. It will appear when ready.", 3, "itemStatus", "viewMode", "title"], [3, "viewMoreClick", "goals", "viewMode"], [3, "viewMode", "selectedCurrency"], [3, "currencySelected", "selectionChanged", "viewMode", "isLoading", "initialCurrency"], [3, "viewMode"], [1, "mb-32"], [3, "periodUnitChanged", "planSelected", "editCurrency", "checkout", "viewMode", "selectedCurrency", "planCardInfos", "isLoading", "selectedPeriodUnit"], [3, "editCurrency", "viewMode", "selectedCurrency"], [3, "sections", "viewMode", "executiveSummary", "metricExecutiveSummary", "metricName", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], ["id", "section-executive-summary", 1, "space-y-6", "scroll-mt-24"], [3, "viewMode", "summary", "metricName", "allGoals"], [1, "space-y-8"], [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, "text-2xl", "font-bold", "mb-3", 3, "ngClass"], [1, "text-lg", "leading-relaxed", 3, "ngClass"], [3, "grade", "gradeRationale", "viewMode"], [1, "rounded-xl", "p-6", 3, "ngClass"], [1, "grid", "grid-cols-1", "md:grid-cols-3", "gap-4"], ["type", "button", 1, "p-4", "rounded-xl", "text-left", "transition-all", "duration-200", "hover:scale-[1.02]", "active:scale-[0.98]", "group", "cursor-pointer", 3, "click", "ngClass"], [1, "text-xs", "font-semibold", "uppercase", "mb-1", 3, "ngClass"], [1, "text-3xl", "font-bold", "mb-2", 3, "ngClass"], [1, "flex", "items-center", "gap-1.5", "text-xs", "font-medium"], [3, "ngClass"], ["size", "w-4 h-4", 1, "transition-transform", "group-hover:translate-x-1", 3, "icon", "ngClass"], ["size", "w-4 h-4", 1, "transition-transform", "group-hover:translate-y-1", "animate-bounce", 3, "icon", "ngClass"], ["id", "quick-wins-section", 1, "space-y-4", "scroll-mt-24"], [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", 3, "ngClass"], [1, "grid", "grid-cols-1", "lg: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, "flex-shrink-0", "w-8", "h-8", "rounded-full", "flex", "items-center", "justify-center", "text-sm", "font-bold", 3, "ngClass"], [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"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-4", "h-4"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"], [1, "text-xs", "font-semibold", "uppercase", "tracking-wider", 3, "ngClass"], [3, "relatedGoalIds", "allGoals", "viewMode"], [3, "topPrioritiesClick", "priorityDetailClick", "viewMetricDetailsClick", "viewMode", "summary", "metricName", "allGoals"], [3, "viewMode", "sectionIcon"], [1, "rounded-xl", "p-8", "scroll-mt-24", 3, "id", "ngClass"], [1, "flex", "items-start", "gap-3", "mb-6"], [1, "flex-shrink-0", "w-12", "h-12", "rounded-xl", "flex", "items-center", "justify-center", 3, "ngClass"], [1, "text-2xl", "font-bold", 3, "ngClass"], [1, "mb-6", "flex", "flex-col", "lg:flex-row", "gap-6", "items-start", 3, "lg:flex-row-reverse"], [3, "section", "executiveSummary", "viewMode", "sectionIndex", "allGoals", "allMetrics", "allCharts", "allInsights", "businessProfile"], ["size", "w-6 h-6", 3, "icon"], [1, "mb-6", "flex", "flex-col", "lg:flex-row", "gap-6", "items-start"], [1, "w-full", "lg:w-2/3"], [1, "w-full", 3, "lg:w-1/3", "lg:w-full"], [1, "w-full"], [3, "continueClick", "viewMode", "isEnabled", "isLoading"], [3, "continueClick", "viewMode", "totalQuestions", "answeredQuestions", "buttonConfig"], [1, "max-w-7xl", "mx-auto", "px-4", "sm:px-6", "lg:px-8", "py-4"], [1, "flex", "items-center", "gap-4"], [1, "px-6", "py-4", "rounded-xl", "font-semibold", "text-lg", "transition-all", "duration-300", "cursor-pointer", 3, "click", "ngClass"], [1, "flex-1", "px-6", "py-4", "rounded-xl", "font-semibold", "text-lg", "transition-all", "duration-300", "flex", "items-center", "justify-center", "gap-3", "shadow-2xl", 3, "click", "disabled", "ngClass"], ["fill", "none", "stroke", "currentColor", "viewBox", "0 0 24 24", 1, "w-6", "h-6", "transition-transform", "duration-200"], ["stroke-linecap", "round", "stroke-linejoin", "round", "stroke-width", "2", "d", "M13 7l5 5m0 0l-5 5m5-5H6"]], template: function SymphiqProfileShopAnalysisDashboardComponent_Template(rf, ctx) { if (rf & 1) {
|
|
93989
94159
|
i0.ɵɵelementStart(0, "div", 2);
|
|
93990
94160
|
i0.ɵɵelement(1, "div", 3);
|
|
93991
94161
|
i0.ɵɵelementStart(2, "div");
|
|
@@ -94522,6 +94692,7 @@ class SymphiqProfileShopAnalysisDashboardComponent {
|
|
|
94522
94692
|
[allGoals]="allGoals()"
|
|
94523
94693
|
(topPrioritiesClick)="handleMetricTopPrioritiesClick()"
|
|
94524
94694
|
(priorityDetailClick)="handleMetricPriorityDetailClick($event)"
|
|
94695
|
+
(viewMetricDetailsClick)="handleMetricViewDetailsClick()"
|
|
94525
94696
|
/>
|
|
94526
94697
|
}
|
|
94527
94698
|
|
|
@@ -94819,7 +94990,7 @@ class SymphiqProfileShopAnalysisDashboardComponent {
|
|
|
94819
94990
|
type: HostListener,
|
|
94820
94991
|
args: ['window:scroll', ['$event']]
|
|
94821
94992
|
}] }); })();
|
|
94822
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileShopAnalysisDashboardComponent, { className: "SymphiqProfileShopAnalysisDashboardComponent", filePath: "lib/components/profile-analysis-shop-dashboard/symphiq-profile-shop-analysis-dashboard.component.ts", lineNumber:
|
|
94993
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SymphiqProfileShopAnalysisDashboardComponent, { className: "SymphiqProfileShopAnalysisDashboardComponent", filePath: "lib/components/profile-analysis-shop-dashboard/symphiq-profile-shop-analysis-dashboard.component.ts", lineNumber: 834 }); })();
|
|
94823
94994
|
|
|
94824
94995
|
function ProfileAnalysisStatusSummaryComponent_Conditional_1_Template(rf, ctx) { if (rf & 1) {
|
|
94825
94996
|
i0.ɵɵelementStart(0, "div", 1)(1, "div", 3);
|
|
@@ -99222,7 +99393,7 @@ class SymphiqProfileMetricsAnalysesDashboardComponent {
|
|
|
99222
99393
|
i0.ɵɵstyleProp("width", ctx.scrollProgress(), "%");
|
|
99223
99394
|
i0.ɵɵproperty("ngClass", ctx.isLightMode() ? "bg-gradient-to-r from-blue-500 to-cyan-500" : "bg-gradient-to-r from-blue-400 to-cyan-400");
|
|
99224
99395
|
i0.ɵɵadvance(2);
|
|
99225
|
-
i0.ɵɵproperty("title", "
|
|
99396
|
+
i0.ɵɵproperty("title", "Funnel Metrics")("subtitle", "Provide context for funnel stage metrics and performance")("viewMode", ctx.viewMode())("showControls", false);
|
|
99226
99397
|
i0.ɵɵadvance();
|
|
99227
99398
|
i0.ɵɵconditional(ctx.isSimplifiedView() ? 6 : -1);
|
|
99228
99399
|
i0.ɵɵadvance(2);
|
|
@@ -99314,7 +99485,7 @@ class SymphiqProfileMetricsAnalysesDashboardComponent {
|
|
|
99314
99485
|
<div class="relative z-[51]">
|
|
99315
99486
|
<!-- Dashboard Header -->
|
|
99316
99487
|
<symphiq-dashboard-header
|
|
99317
|
-
[title]="'
|
|
99488
|
+
[title]="'Funnel Metrics'"
|
|
99318
99489
|
[subtitle]="'Provide context for funnel stage metrics and performance'"
|
|
99319
99490
|
[viewMode]="viewMode()"
|
|
99320
99491
|
[showControls]="false"
|
|
@@ -100294,6 +100465,10 @@ class SymphiqProfileAnalysisMetricDashboardComponent {
|
|
|
100294
100465
|
}
|
|
100295
100466
|
}
|
|
100296
100467
|
ngOnInit() {
|
|
100468
|
+
console.log('[MetricDashboard] ngOnInit');
|
|
100469
|
+
console.log('[MetricDashboard] isSimplifiedView:', this.isSimplifiedView());
|
|
100470
|
+
console.log('[MetricDashboard] currentDisplayMode:', this.currentDisplayMode());
|
|
100471
|
+
console.log('[MetricDashboard] metricExecutiveSummary:', !!this.metricExecutiveSummary());
|
|
100297
100472
|
this.funnelAnalysisSignal.set(this.funnelAnalysis());
|
|
100298
100473
|
const profileToUse = this.profile();
|
|
100299
100474
|
if (profileToUse) {
|
|
@@ -100364,25 +100539,36 @@ class SymphiqProfileAnalysisMetricDashboardComponent {
|
|
|
100364
100539
|
chartsForMetric(metric) {
|
|
100365
100540
|
const metricId = metric.performanceItemId;
|
|
100366
100541
|
const metricName = metric.metric;
|
|
100367
|
-
|
|
100542
|
+
console.log('[chartsForMetric] Called with metric:', metricName, 'performanceItemId:', metricId);
|
|
100543
|
+
if (!metricId && !metricName) {
|
|
100544
|
+
console.log('[chartsForMetric] No metricId or metricName, returning empty');
|
|
100368
100545
|
return [];
|
|
100546
|
+
}
|
|
100369
100547
|
const allCharts = this.allCharts();
|
|
100548
|
+
console.log('[chartsForMetric] Total allCharts:', allCharts.length);
|
|
100549
|
+
console.log('[chartsForMetric] Chart performanceItemIds:', allCharts.map(c => c.performanceItemId));
|
|
100370
100550
|
const matchingCharts = [];
|
|
100551
|
+
const metricNameLower = metricName?.toLowerCase() || '';
|
|
100552
|
+
const metricNameNormalized = metricNameLower.replace(/\s+/g, '_');
|
|
100553
|
+
console.log('[chartsForMetric] metricNameNormalized:', metricNameNormalized);
|
|
100371
100554
|
for (const chart of allCharts) {
|
|
100372
100555
|
const chartId = chart.performanceItemId || '';
|
|
100373
100556
|
const chartIdLower = chartId.toLowerCase();
|
|
100374
|
-
const metricNameLower = metricName?.toLowerCase() || '';
|
|
100375
100557
|
if (metricId) {
|
|
100376
100558
|
const prefix = metricId + '_';
|
|
100377
100559
|
if (chartId === metricId || chartId.startsWith(prefix)) {
|
|
100560
|
+
console.log('[chartsForMetric] Matched by metricId:', chartId);
|
|
100378
100561
|
matchingCharts.push(chart);
|
|
100379
100562
|
continue;
|
|
100380
100563
|
}
|
|
100381
100564
|
}
|
|
100382
|
-
if (metricName && chartIdLower.includes(
|
|
100565
|
+
if (metricName && chartIdLower.includes(metricNameNormalized)) {
|
|
100566
|
+
console.log('[chartsForMetric] Matched by name:', chartId, 'contains', metricNameNormalized);
|
|
100383
100567
|
matchingCharts.push(chart);
|
|
100384
100568
|
}
|
|
100385
100569
|
}
|
|
100570
|
+
console.log('[chartsForMetric] Matching charts count:', matchingCharts.length);
|
|
100571
|
+
console.log('[chartsForMetric] Matching chart IDs:', matchingCharts.map(c => c.performanceItemId));
|
|
100386
100572
|
return matchingCharts;
|
|
100387
100573
|
}
|
|
100388
100574
|
handleViewMetricDetailsClick() {
|
|
@@ -100406,8 +100592,10 @@ class SymphiqProfileAnalysisMetricDashboardComponent {
|
|
|
100406
100592
|
console.log('[ViewMetricDetails] Found metric in allMetrics:', metric);
|
|
100407
100593
|
if (metric) {
|
|
100408
100594
|
console.log('[ViewMetricDetails] Opening modal with metric from allMetrics');
|
|
100595
|
+
console.log('[ViewMetricDetails] Metric performanceItemId:', metric.performanceItemId);
|
|
100409
100596
|
const charts = this.chartsForMetric(metric);
|
|
100410
100597
|
console.log('[ViewMetricDetails] Filtered charts count:', charts.length);
|
|
100598
|
+
console.log('[ViewMetricDetails] Filtered chart IDs:', charts.map((c) => c.performanceItemId));
|
|
100411
100599
|
this.modalService.openMetricModal(metric, charts);
|
|
100412
100600
|
}
|
|
100413
100601
|
else {
|
|
@@ -100421,8 +100609,10 @@ class SymphiqProfileAnalysisMetricDashboardComponent {
|
|
|
100421
100609
|
description: summary.gradeRationale
|
|
100422
100610
|
};
|
|
100423
100611
|
console.log('[ViewMetricDetails] Opening modal with constructed metric:', constructedMetric);
|
|
100612
|
+
console.log('[ViewMetricDetails] Constructed metric performanceItemId:', constructedMetric.performanceItemId);
|
|
100424
100613
|
const charts = this.chartsForMetric(constructedMetric);
|
|
100425
100614
|
console.log('[ViewMetricDetails] Filtered charts count:', charts.length);
|
|
100615
|
+
console.log('[ViewMetricDetails] Filtered chart IDs:', charts.map((c) => c.performanceItemId));
|
|
100426
100616
|
this.modalService.openMetricModal(constructedMetric, charts);
|
|
100427
100617
|
}
|
|
100428
100618
|
else {
|
|
@@ -100491,6 +100681,8 @@ class SymphiqProfileAnalysisMetricDashboardComponent {
|
|
|
100491
100681
|
return null;
|
|
100492
100682
|
}
|
|
100493
100683
|
handleDisplayModeChange(mode) {
|
|
100684
|
+
console.log('[MetricDashboard] handleDisplayModeChange:', mode);
|
|
100685
|
+
console.log('[MetricDashboard] Will show MetricExecutiveSummary:', mode !== DisplayModeEnum.SIMPLIFIED);
|
|
100494
100686
|
this.currentDisplayMode.set(mode);
|
|
100495
100687
|
if (mode === DisplayModeEnum.EXPANDED) {
|
|
100496
100688
|
this.viewModeService.setViewMode('expanded');
|