63 lines
2.0 KiB
Markdown
63 lines
2.0 KiB
Markdown
# 315 PullRequestCard 拉取请求卡片
|
|
|
|
## 用途
|
|
|
|
概览一个拉取请求:标题、作者、状态、检查、评审人与差异统计。
|
|
|
|
## 最小示例
|
|
|
|
```go
|
|
pr := mujica.PullRequest{Number: 42, Title: "Add git components", Author: "Sakiko", Head: "feature", Base: "main",
|
|
ChecksPassed: 3, Reviewers: []mujica.Reviewer{{Name: "Uika", State: mujica.ReviewApproved}}, Added: 120, Deleted: 8, Files: 6}
|
|
view := func(c *ui.Context) {
|
|
mujica.Use(c, mujica.Settings{})
|
|
if mujica.PullRequestCard(c, pr, mujica.PullRequestCardOptions{}).Changed() {
|
|
// open the pull request
|
|
}
|
|
}
|
|
ui.Render(view, 400, 300, 1)
|
|
```
|
|
|
|
签名:`func PullRequestCard(c *ui.Context, pr PullRequest, opts PullRequestCardOptions) ChoiceResult`
|
|
|
|
## 参数
|
|
|
|
`PullRequest`
|
|
|
|
| 字段 | 类型 | 默认值 | 含义 |
|
|
| --- | --- | --- | --- |
|
|
| Number | int | 必填 | 编号,须为正。 |
|
|
| Title | string | 必填 | 标题。 |
|
|
| Author | string | "" | 作者。 |
|
|
| State | PullRequestState | PullRequestOpen | Open、Draft、Merged、Closed;未知值 panic。 |
|
|
| Head, Base | string | "" | 源分支与目标分支,都有值时显示。 |
|
|
| ChecksPassed, ChecksFailed, ChecksPending | int | 0 | 检查计数;为负 panic。 |
|
|
| Reviewers | []Reviewer | nil | 评审人与状态(Pending、Approved、ChangesRequested)。 |
|
|
| Added, Deleted, Files | int | 0 | 差异统计。 |
|
|
|
|
`PullRequestCardOptions`
|
|
|
|
| 字段 | 类型 | 默认值 | 含义 |
|
|
| --- | --- | --- | --- |
|
|
| Disabled | bool | false | 禁用打开。 |
|
|
|
|
返回 `ChoiceResult`。
|
|
|
|
## 状态
|
|
|
|
- 状态徽章同时使用图标、文字与描边颜色。
|
|
- 检查以图标加数字显示,朗读完整说明;为 0 的类别不显示。
|
|
- 评审人以头像加角标图标表示状态,名称与状态写入提示和朗读文本。
|
|
|
|
## 事件
|
|
|
|
- `Changed()`:点击标题或在标题上按 Enter,表示打开。
|
|
|
|
## 键盘操作
|
|
|
|
- Tab 到标题链接,Enter 或 Space 打开。
|
|
|
|
## 限制
|
|
|
|
- 数据由调用方获取;组件不刷新检查状态。
|