Merge "Add a plugin endpoint to the cherrypick dialog"
diff --git a/Documentation/pg-plugin-endpoints.txt b/Documentation/pg-plugin-endpoints.txt
index f2a72f1..41f544d 100644
--- a/Documentation/pg-plugin-endpoints.txt
+++ b/Documentation/pg-plugin-endpoints.txt
@@ -141,6 +141,11 @@
=== header-title
This endpoint wraps the title-text in the application header.
+=== cherrypick-main
+This endpoint is located in the cherrypick dialog. It has two slots `top`
+and `bottom` and `changes` as a parameter with the list of changes (or
+just the one change) to be cherrypicked.
+
=== confirm-revert-change
This endpoint is inside the confirm revert dialog. By default it displays a
generic confirmation message regarding reverting the change. Plugins may add
diff --git a/polygerrit-ui/app/elements/change/gr-confirm-cherrypick-dialog/gr-confirm-cherrypick-dialog.ts b/polygerrit-ui/app/elements/change/gr-confirm-cherrypick-dialog/gr-confirm-cherrypick-dialog.ts
index e6b9058..8bebf58 100644
--- a/polygerrit-ui/app/elements/change/gr-confirm-cherrypick-dialog/gr-confirm-cherrypick-dialog.ts
+++ b/polygerrit-ui/app/elements/change/gr-confirm-cherrypick-dialog/gr-confirm-cherrypick-dialog.ts
@@ -231,34 +231,40 @@
Cherry Pick Change to Another Branch
</div>
<div class="main" slot="main">
- ${when(this.showCherryPickTopic, () =>
- this.renderCherrypickTopicLayout()
- )}
- <label for="branchInput"> Cherry Pick to branch </label>
- <gr-autocomplete
- id="branchInput"
- .text=${this.branch}
- .query=${this.query}
- placeholder="Destination branch"
- @text-changed=${(e: BindValueChangeEvent) =>
- (this.branch = e.detail.value as BranchName)}
- >
- </gr-autocomplete>
- ${when(
- this.invalidBranch,
- () => html`
- <span class="error"
- >Branch name cannot contain space or commas.</span
- >
- `
- )}
- ${choose(this.cherryPickType, [
- [
- CherryPickType.SINGLE_CHANGE,
- () => this.renderCherrypickSingleChangeInputs(),
- ],
- [CherryPickType.TOPIC, () => this.renderCherrypickTopicTable()],
- ])}
+ <gr-endpoint-decorator name="cherrypick-main">
+ <gr-endpoint-param name="changes" .value=${this.changes}>
+ </gr-endpoint-param>
+ <gr-endpoint-slot name="top"></gr-endpoint-slot>
+ ${when(this.showCherryPickTopic, () =>
+ this.renderCherrypickTopicLayout()
+ )}
+ <label for="branchInput"> Cherry Pick to branch </label>
+ <gr-autocomplete
+ id="branchInput"
+ .text=${this.branch}
+ .query=${this.query}
+ placeholder="Destination branch"
+ @text-changed=${(e: BindValueChangeEvent) =>
+ (this.branch = e.detail.value as BranchName)}
+ >
+ </gr-autocomplete>
+ ${when(
+ this.invalidBranch,
+ () => html`
+ <span class="error"
+ >Branch name cannot contain space or commas.</span
+ >
+ `
+ )}
+ ${choose(this.cherryPickType, [
+ [
+ CherryPickType.SINGLE_CHANGE,
+ () => this.renderCherrypickSingleChangeInputs(),
+ ],
+ [CherryPickType.TOPIC, () => this.renderCherrypickTopicTable()],
+ ])}
+ <gr-endpoint-slot name="bottom"></gr-endpoint-slot>
+ </gr-endpoint-decorator>
</div>
</gr-dialog>
`;
diff --git a/polygerrit-ui/app/elements/change/gr-confirm-cherrypick-dialog/gr-confirm-cherrypick-dialog_test.ts b/polygerrit-ui/app/elements/change/gr-confirm-cherrypick-dialog/gr-confirm-cherrypick-dialog_test.ts
index fbb6839..7933896 100644
--- a/polygerrit-ui/app/elements/change/gr-confirm-cherrypick-dialog/gr-confirm-cherrypick-dialog_test.ts
+++ b/polygerrit-ui/app/elements/change/gr-confirm-cherrypick-dialog/gr-confirm-cherrypick-dialog_test.ts
@@ -60,29 +60,34 @@
Cherry Pick Change to Another Branch
</div>
<div class="main" slot="main">
- <label for="branchInput"> Cherry Pick to branch </label>
- <gr-autocomplete id="branchInput" placeholder="Destination branch">
- </gr-autocomplete>
- <label for="baseInput">
- Provide base commit sha1 for cherry-pick
- </label>
- <iron-input>
- <input
- id="baseCommitInput"
- is="iron-input"
- maxlength="40"
- placeholder="(optional)"
- />
- </iron-input>
- <label for="messageInput"> Cherry Pick Commit Message </label>
- <iron-autogrow-textarea
- aria-disabled="false"
- autocomplete="on"
- class="message"
- id="messageInput"
- rows="4"
- >
- </iron-autogrow-textarea>
+ <gr-endpoint-decorator name="cherrypick-main">
+ <gr-endpoint-param name="changes"> </gr-endpoint-param>
+ <gr-endpoint-slot name="top"> </gr-endpoint-slot>
+ <label for="branchInput"> Cherry Pick to branch </label>
+ <gr-autocomplete id="branchInput" placeholder="Destination branch">
+ </gr-autocomplete>
+ <label for="baseInput">
+ Provide base commit sha1 for cherry-pick
+ </label>
+ <iron-input>
+ <input
+ id="baseCommitInput"
+ is="iron-input"
+ maxlength="40"
+ placeholder="(optional)"
+ />
+ </iron-input>
+ <label for="messageInput"> Cherry Pick Commit Message </label>
+ <iron-autogrow-textarea
+ aria-disabled="false"
+ autocomplete="on"
+ class="message"
+ id="messageInput"
+ rows="4"
+ >
+ </iron-autogrow-textarea>
+ <gr-endpoint-slot name="bottom"></gr-endpoint-slot>
+ </gr-endpoint-decorator>
</div>
</gr-dialog>
`);