Merge "Fix js error in gr-label-scores"
diff --git a/polygerrit-ui/app/elements/change/gr-label-scores/gr-label-scores.ts b/polygerrit-ui/app/elements/change/gr-label-scores/gr-label-scores.ts
index 7af9d66..a966186 100644
--- a/polygerrit-ui/app/elements/change/gr-label-scores/gr-label-scores.ts
+++ b/polygerrit-ui/app/elements/change/gr-label-scores/gr-label-scores.ts
@@ -95,9 +95,11 @@
numberValue?: number
): string {
const detailedInfo = labels[labelName] as DetailedLabelInfo;
- for (const labelValue of Object.keys(detailedInfo.values)) {
- if (Number(labelValue) === numberValue) {
- return labelValue;
+ if (detailedInfo.values) {
+ for (const labelValue of Object.keys(detailedInfo.values)) {
+ if (Number(labelValue) === numberValue) {
+ return labelValue;
+ }
}
}
const stringVal = `${numberValue}`;
diff --git a/polygerrit-ui/app/elements/shared/gr-label-info/gr-label-info.ts b/polygerrit-ui/app/elements/shared/gr-label-info/gr-label-info.ts
index 70f68ae..60a07a4 100644
--- a/polygerrit-ui/app/elements/shared/gr-label-info/gr-label-info.ts
+++ b/polygerrit-ui/app/elements/shared/gr-label-info/gr-label-info.ts
@@ -223,7 +223,7 @@
if (
!labelInfo ||
!isDetailedLabelInfo(labelInfo) ||
- !labelInfo.values[score]
+ !labelInfo.values?.[score]
) {
return '';
}
diff --git a/polygerrit-ui/app/types/common.ts b/polygerrit-ui/app/types/common.ts
index 5f196b1..8f5518a 100644
--- a/polygerrit-ui/app/types/common.ts
+++ b/polygerrit-ui/app/types/common.ts
@@ -198,7 +198,7 @@
// This is not set when the change has no reviewers.
all?: ApprovalInfo[];
// Docs claim that 'values' is optional, but it is actually always set.
- values: LabelValueToDescriptionMap; // A map of all values that are allowed for this label
+ values?: LabelValueToDescriptionMap; // A map of all values that are allowed for this label
default_value?: number;
}
diff --git a/polygerrit-ui/app/utils/label-util.ts b/polygerrit-ui/app/utils/label-util.ts
index fc83d77..60ac4d8 100644
--- a/polygerrit-ui/app/utils/label-util.ts
+++ b/polygerrit-ui/app/utils/label-util.ts
@@ -27,7 +27,7 @@
export const CODE_REVIEW = 'Code-Review';
export function getVotingRange(label?: LabelInfo): VotingRangeInfo | undefined {
- if (!label || !isDetailedLabelInfo(label)) return undefined;
+ if (!label || !isDetailedLabelInfo(label) || !label.values) return undefined;
const values = Object.keys(label.values).map(v => Number(v));
values.sort((a, b) => a - b);
if (!values.length) return undefined;