mirror of
https://seed.radicle.dev/rad:z39mP9rQAaGmERfUMPULfPUi473tY.git
synced 2026-11-15 16:00:38 +08:00
issue/list: Dissolve common module
This commit is contained in:
@@ -1,5 +1,3 @@
|
||||
#[path = "issue/common.rs"]
|
||||
mod common;
|
||||
#[path = "issue/list.rs"]
|
||||
mod list;
|
||||
|
||||
@@ -21,7 +19,7 @@ use cli::terminal::Context;
|
||||
use cli::terminal::{Args, Error, Help};
|
||||
|
||||
use crate::cob;
|
||||
use crate::commands::tui_issue::common::IssueOperation;
|
||||
use crate::commands::tui_issue::list::IssueOperation;
|
||||
use crate::terminal;
|
||||
use crate::ui::TerminalInfo;
|
||||
|
||||
|
||||
@@ -1,34 +0,0 @@
|
||||
use serde::Serialize;
|
||||
|
||||
use radicle::{cob::thread::CommentId, issue::IssueId};
|
||||
|
||||
/// The selected issue operation returned by the operation
|
||||
/// selection widget.
|
||||
#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
|
||||
pub enum IssueOperation {
|
||||
Edit {
|
||||
id: IssueId,
|
||||
comment_id: Option<CommentId>,
|
||||
search: String,
|
||||
},
|
||||
Show {
|
||||
id: IssueId,
|
||||
},
|
||||
Close {
|
||||
id: IssueId,
|
||||
search: String,
|
||||
},
|
||||
Solve {
|
||||
id: IssueId,
|
||||
search: String,
|
||||
},
|
||||
Reopen {
|
||||
id: IssueId,
|
||||
search: String,
|
||||
},
|
||||
Comment {
|
||||
id: IssueId,
|
||||
reply_to: Option<CommentId>,
|
||||
search: String,
|
||||
},
|
||||
}
|
||||
@@ -2,6 +2,8 @@ use std::collections::{HashMap, HashSet};
|
||||
use std::str::FromStr;
|
||||
use std::sync::{Arc, Mutex};
|
||||
|
||||
use serde::Serialize;
|
||||
|
||||
use anyhow::{bail, Result};
|
||||
|
||||
use ratatui::layout::{Alignment, Constraint, Layout, Position};
|
||||
@@ -35,10 +37,39 @@ use crate::ui::items::issue::{Issue, IssueFilter};
|
||||
use crate::ui::items::HasId;
|
||||
use crate::ui::{format, TerminalInfo};
|
||||
|
||||
use crate::tui_issue::common::IssueOperation;
|
||||
|
||||
type Selection = tui::Selection<IssueOperation>;
|
||||
|
||||
/// The selected issue operation returned by the operation
|
||||
/// selection widget.
|
||||
#[derive(Clone, Debug, Eq, PartialEq, Serialize)]
|
||||
pub enum IssueOperation {
|
||||
Edit {
|
||||
id: IssueId,
|
||||
comment_id: Option<CommentId>,
|
||||
search: String,
|
||||
},
|
||||
Show {
|
||||
id: IssueId,
|
||||
},
|
||||
Close {
|
||||
id: IssueId,
|
||||
search: String,
|
||||
},
|
||||
Solve {
|
||||
id: IssueId,
|
||||
search: String,
|
||||
},
|
||||
Reopen {
|
||||
id: IssueId,
|
||||
search: String,
|
||||
},
|
||||
Comment {
|
||||
id: IssueId,
|
||||
reply_to: Option<CommentId>,
|
||||
search: String,
|
||||
},
|
||||
}
|
||||
|
||||
const HELP: &str = r#"# Generic keybindings
|
||||
|
||||
`↑,k`: move cursor one line up
|
||||
|
||||
Reference in New Issue
Block a user