Append change status, if applicable The needed code got brought over from gr-related-changes-list.js. Not all code paths are reachable, as we only have shallow ChangeInfo objects. We leave the code as untouched as possible to allow for easier updating from gr-related-changes-list.js. Change-Id: Ia32a4bab4282770acfd4896ce3c16f4457d3e5ea
diff --git a/gr-zuul/gr-zuul.js b/gr-zuul/gr-zuul.js index fe0c1f6..89e5527 100644 --- a/gr-zuul/gr-zuul.js +++ b/gr-zuul/gr-zuul.js
@@ -58,6 +58,43 @@ }); } + // copied from gr-related-changes-list.js, which is inaccessible from here. + // Resolved uses of `this.ChangeStatus.[...]`, as that's inaccessible from here too. + // Removed _isIndirectAncestor check, as the needed data is inaccessible from here. + // Not all code paths are reachable, as we only have shallow ChangeInfo objects. We leave the + // code here nonetheless, to allow for easier updating from gr-related-changes-list.js. + _computeChangeStatusClass(change) { + const classes = ['status']; + if (change._revision_number != change._current_revision_number) { + classes.push('notCurrent'); + } else if (change.submittable) { + classes.push('submittable'); + } else if (change.status == 'NEW') { + classes.push('hidden'); + } + return classes.join(' '); + } + + // copied from gr-related-changes-list.js, which is inaccessible from here. + // Resolved uses of `this.ChangeStatus.[...]`, as that's inaccessible from here too. + // Removed _isIndirectAncestor check, as the needed data is inaccessible from here. + // Not all code paths are reachable, as we only have shallow ChangeInfo objects. We leave the + // code here nonetheless, to allow for easier updating from gr-related-changes-list.js. + _computeChangeStatus(change) { + switch (change.status) { + case 'MERGED': + return 'Merged'; + case 'ABANDONED': + return 'Abandoned'; + } + if (change._revision_number != change._current_revision_number) { + return 'Not current'; + } else if (change.submittable) { + return 'Submittable'; + } + return ''; + } + setHidden(hidden) { if (this.hidden != hidden) { this.hidden = hidden;
diff --git a/gr-zuul/gr-zuul_html.js b/gr-zuul/gr-zuul_html.js index e94376f..5e208d4 100644 --- a/gr-zuul/gr-zuul_html.js +++ b/gr-zuul/gr-zuul_html.js
@@ -63,6 +63,9 @@ .missingFromThisServer { color: #d17171; } + .hidden { + display: none; + } </style> <template is="dom-if" if="[[_crd_loaded]]"> <template is="dom-if" if="[[_isDependsOnSectionVisible()]]"> @@ -76,6 +79,9 @@ > [[item.project]]: [[item.branch]]: [[item.subject]] </a> + <span class$="[[_computeChangeStatusClass(item)]]"> + ([[_computeChangeStatus(item)]]) + </span> <template is="dom-if" if="[[_crd.cycle]]"> <span class="status dependencyCycleDetected"> (Dependency cycle detected) @@ -106,6 +112,9 @@ > [[item.project]]: [[item.branch]]: [[item.subject]] </a> + <span class$="[[_computeChangeStatusClass(item)]]"> + ([[_computeChangeStatus(item)]]) + </span> <template is="dom-if" if="[[_crd.cycle]]"> <span class="status dependencyCycleDetected"> (Dependency cycle detected)