Submit Requirements - add endpoint decorator

Google-Bug-Id: b/202289548

Change-Id: Ie19e6e1771bdb4b7c3b4244bed3b6aec60d71e08
diff --git a/polygerrit-ui/app/elements/change/gr-submit-requirements/gr-submit-requirements.ts b/polygerrit-ui/app/elements/change/gr-submit-requirements/gr-submit-requirements.ts
index 2992923..6406e3c 100644
--- a/polygerrit-ui/app/elements/change/gr-submit-requirements/gr-submit-requirements.ts
+++ b/polygerrit-ui/app/elements/change/gr-submit-requirements/gr-submit-requirements.ts
@@ -159,25 +159,8 @@
           </tr>
         </thead>
         <tbody>
-          ${submit_requirements.map(
-            requirement => html`<tr
-              id="requirement-${charsOnly(requirement.name)}"
-            >
-              <td>${this.renderStatus(requirement.status)}</td>
-              <td class="name">
-                <gr-limited-text
-                  class="name"
-                  limit="25"
-                  .text="${requirement.name}"
-                ></gr-limited-text>
-              </td>
-              <td>
-                <div class="votes-cell">
-                  ${this.renderVotes(requirement)}
-                  ${this.renderChecks(requirement)}
-                </div>
-              </td>
-            </tr>`
+          ${submit_requirements.map(requirement =>
+            this.renderRequirement(requirement)
           )}
         </tbody>
       </table>
@@ -195,6 +178,37 @@
       ${this.renderTriggerVotes()}`;
   }
 
+  renderRequirement(requirement: SubmitRequirementResultInfo) {
+    return html`
+      <tr id="requirement-${charsOnly(requirement.name)}">
+        <td>${this.renderStatus(requirement.status)}</td>
+        <td class="name">
+          <gr-limited-text
+            class="name"
+            limit="25"
+            .text="${requirement.name}"
+          ></gr-limited-text>
+        </td>
+        <td>
+          <gr-endpoint-decorator
+            class="votes-cell"
+            name="${`submit-requirement-${charsOnly(requirement.name)}`}"
+          >
+            <gr-endpoint-param
+              name="change"
+              .value=${this.change}
+            ></gr-endpoint-param>
+            <gr-endpoint-param
+              name="requirement"
+              .value=${requirement}
+            ></gr-endpoint-param>
+            ${this.renderVotes(requirement)}${this.renderChecks(requirement)}
+          </gr-endpoint-decorator>
+        </td>
+      </tr>
+    `;
+  }
+
   renderStatus(status: SubmitRequirementStatus) {
     const icon = iconForStatus(status);
     return html`<iron-icon