| = 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. |
| |
| === banner |
| The `banner` extension point is located at the top of all pages. The purpose |
| is to allow plugins to show outage information and important announcements to |
| all users. |
| |
| === 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] |
| |
| * `labels` |
| + |
| labels with scores applied to the change, map of the label names to |
| link:rest-api-changes.html#label-info[LabelInfo] entries |
| |
| === 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] |
| |
| === repo-command |
| This endpoint is situated among the repository commands. |
| |
| In addition to default parameters, the following are available: |
| |
| * `repoName` |
| + |
| String name of the repository currently being configured. |
| |
| * `config` |
| + |
| The object representing the repo config. |
| |
| === repo-config |
| The `repo-config` extension point is located at the bottom of the repository |
| configuration settings screen. |
| |
| In addition to default parameters, the following are available: |
| |
| * `repoName` |
| + |
| String name of the repository currently being configured. |
| |
| * `readOnly` |
| + |
| Boolean whether the repository configuration is read only by the logged in user. |
| |
| === settings-menu-item |
| This endpoint is situated at the end of the navigation menu in the settings |
| screen. |
| |
| === settings-screen |
| This endpoint is situated at the end of the body of the settings screen. |
| |
| === reply-text |
| This endpoint wraps the textarea in the reply dialog. |
| |
| === reply-label-scores |
| This endpoint decorator wraps the voting buttons in the reply dialog. |
| |
| === header-title |
| This endpoint wraps the title-text in the application header. |
| |
| === confirm-submit-change |
| This endpoint is inside the confirm submit dialog. By default it displays a |
| generic confirmation message regarding submission of the change. Plugins may add |
| content to this message or replace it entirely. |
| |
| In addition to default parameters, the following are available: |
| |
| * `change` |
| + |
| The change beinng potentially submitted, an instance of |
| link:rest-api-changes.html#change-info[ChangeInfo] |
| |
| * `action` |
| + |
| The submit action, including the title and label, an instance of |
| link:rest-api-changes.html#action-info[ActionInfo] |
| |
| === commit-container |
| The `commit-container` extension point adds content at the end of the commit |
| message to the change view. |
| |
| 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] |