Skip to content

Commit

Permalink
Add web ext efficiency factor summary field
Browse files Browse the repository at this point in the history
  • Loading branch information
thomaschampagne committed Aug 11, 2024
1 parent 824be65 commit f37fe93
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 11 deletions.
4 changes: 3 additions & 1 deletion appcore/src/app/activities/activity-columns.namespace.ts
Original file line number Diff line number Diff line change
Expand Up @@ -485,7 +485,9 @@ export namespace ActivityColumns {
"Efficiency Factor",
Print.number,
2
).setDescription('Efficiency Factor (EF) is your "Normalized Power® (Input)/ Average Heart rate (Output)". Higher value means better aerobic fit.'),
).setDescription(
'Efficiency Factor (EF) is your "Normalized Power® (Input)/ Average Heart rate (Output)". Higher value means better aerobic fit.'
),
new NumberColumn(
Category.COMMON,
["stats", "scores", "powerHr"],
Expand Down
4 changes: 4 additions & 0 deletions appcore/src/assets/option-helpers/displayAdvancedPowerData.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,10 @@ That's simply your _Average Power_ over your weight.

That's simply your _Normalized Power®_ over your weight.

# Efficiency Factor (EF)
---
Efficiency Factor (EF) is your "Normalized Power® (Input)/ Average Heart rate (Output)". Higher value means better aerobic fit.

# Quartiles and median
---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -166,10 +166,44 @@ export class CyclingExtendedDataModifier extends AbstractExtendedDataModifier {

this.insertContentAtGridPosition(1, 6, powerStressScore, labelPSS, "", null);
}

if (this.stats.scores.efficiency && this.userSettings.displayAdvancedPowerData) {
let label = "Efficiency Factor";
let efficiency = "-";
let efficiencyUnits = "";

if (_.isNumber(this.stats.scores.efficiency)) {
efficiency = this.printNumber(this.stats.scores.efficiency, 2);
efficiencyUnits = "";

if (!this.hasPowerMeter) {
efficiency = "<span style='font-size: 14px;'>~</span>" + efficiency;
label = "Estimated " + label;
}
}
this.insertContentAtGridPosition(0, 7, efficiency, label, efficiencyUnits, "displayAdvancedPowerData");
}

if (this.stats.power.intensityFactor && this.userSettings.displayAdvancedPowerData) {
let label = "Intensity Factor";
let intensityFactor = "-";
let intensityFactorUnits = "";

if (_.isNumber(this.stats.power.intensityFactor)) {
intensityFactor = this.printNumber(this.stats.power.intensityFactor, 2);
intensityFactorUnits = "";

if (!this.hasPowerMeter) {
intensityFactor = "<span style='font-size: 14px;'>~</span>" + intensityFactor;
label = "Estimated " + label;
}
}
this.insertContentAtGridPosition(1, 7, intensityFactor, label, intensityFactorUnits, "displayAdvancedPowerData");
}
}

protected placeSummaryPanel(panelAdded: () => void): void {
this.makeSummaryGrid(2, 7);
this.makeSummaryGrid(2, 8);
super.placeSummaryPanel(panelAdded);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -146,17 +146,10 @@ export class FeaturedDataView extends AbstractDataView {
}

if (this.stats?.scores?.powerHr && this.userSettings.displayAdvancedPowerData) {
this.insertContentAtGridPosition(
8,
0,
this.stats.scores.powerHr,
"Power / HR",
"",
"displayAdvancedPowerData"
);
this.insertContentAtGridPosition(8, 0, this.stats.scores.powerHr, "Power / HR", "", "displayAdvancedPowerData");
}

// Remove empty case in grid. This avoid unwanted padding on feature view rendering
// Remove empty case in grid. This avoids unwanted padding on feature view rendering
this.grid.find("td:empty").remove();
}
}

0 comments on commit f37fe93

Please sign in to comment.