| = Gerrit Code Review - PolyGerrit Plugin Styling |
| |
| Plugins should be html-based and imported following PolyGerrit's |
| link:pg-plugin-dev.html#loading[dev guide]. |
| |
| Sample code for testing endpoints: |
| |
| ``` js |
| Gerrit.install(plugin => { |
| // Change endpoint below |
| const endpoint = 'change-metadata-item'; |
| plugin.hook(endpoint).onAttached(element => { |
| console.log(endpoint, element); |
| const el = element.appendChild(document.createElement('div')); |
| el.textContent = 'Ah, there it is. Lovely.'; |
| el.style = 'background: pink; line-height: 4em; text-align: center;'; |
| }); |
| }); |
| ``` |
| |
| == Default parameters |
| All endpoints receive the following parameters, set as attributes to custom |
| components that are instantiated at the endpoint: |
| |
| * `plugin` |
| + |
| the current plugin instance, the one that is used by `Gerrit.install()`. |
| |
| * `content` |
| + |
| decorated DOM Element, is only set for registrations that decorate existing |
| components. |
| |
| == Plugin endpoints |
| |
| The following endpoints are available to plugins. |
| |
| === change-view-integration |
| The `change-view-integration` extension point is located between `Files` and |
| `Messages` section on the change view page, and it may take full page's |
| width. Primary purpose is to enable plugins to display custom CI-related |
| information (build status, etc). |
| |
| * `change` |
| + |
| current change displayed, an instance of |
| link:rest-api-changes.html#change-info[ChangeInfo] |
| |
| * `revision` |
| + |
| current revision displayed, an instance of |
| link:rest-api-changes.html#revision-info[RevisionInfo] |
| |
| === change-metadata-item |
| The `change-metadata-item` extension point is located on the bottom of the |
| change view left panel, under the `Label Status` and `Links` sections. Its width |
| is equal to the left panel's, and its primary purpose is to allow plugins to add |
| sections of metadata to the left panel. |
| |
| In addition to default parameters, the following are available: |
| |
| * `change` |
| + |
| current change displayed, an instance of |
| link:rest-api-changes.html#change-info[ChangeInfo] |
| |
| * `revision` |
| + |
| current revision displayed, an instance of |
| link:rest-api-changes.html#revision-info[RevisionInfo] |
| |
| === robot-comment-controls |
| The `robot-comment-controls` extension point is located inside each comment |
| rendered on the diff page, and is only visible when the comment is a robot |
| comment, specifically if the comment has a `robot_id` property. |
| |
| In addition to default parameters, the following are available: |
| |
| * `comment` |
| + |
| current comment displayed, an instance of |
| link:rest-api-changes.html#comment-info[CommentInfo] |