pub enum FormFocus {
Title,
Status,
Priority,
Labels,
Assignee,
Estimate,
Cycles,
Milestones,
Reviewer,
StartDate,
DueDate,
Parent,
}Variants§
Title
Status
Priority
Labels
Assignee
Estimate
Cycles
Milestones
Reviewer
StartDate
DueDate
Parent
The parent issue (WP06 / T026). Appended last, not slotted next to
Assignee where it would read better: every existing row’s index is the
identity of that row in render_with_bindings’s fields array, and
inserting in the middle renumbers all five rows after it. Appending keeps
the eleven existing indices stable, so no render or golden assertion moves.
Implementations§
Source§impl FormFocus
impl FormFocus
Sourcepub const RING: [FormFocus; 12]
pub const RING: [FormFocus; 12]
The focus ring, in next() order, starting at Title.
One list, so render_with_bindings can derive both the focus index and the
row labels from it. It used to hold a hand-written match for the index
beside a positional array of labels, which agree only by inspection — and
the two disagree silently, as a bold cursor on the wrong row.
pub fn next(self) -> Self
pub fn prev(self) -> Self
pub fn label(self) -> &'static str
Sourcepub fn index(self) -> usize
pub fn index(self) -> usize
This field’s row in FormFocus::RING.
Sourcepub fn is_picker_only(self) -> bool
pub fn is_picker_only(self) -> bool
Whether the field’s value is chosen from a picker rather than typed.
Typing is refused on these, because a half-typed number or a hand-typed
title is not a value: the service validates a parent by resolved number, so
free text here could only ever fail. This is the general form of what
is_date was already doing for dates alone.
Trait Implementations§
impl Copy for FormFocus
impl Eq for FormFocus
impl StructuralPartialEq for FormFocus
Auto Trait Implementations§
impl Freeze for FormFocus
impl RefUnwindSafe for FormFocus
impl Send for FormFocus
impl Sync for FormFocus
impl Unpin for FormFocus
impl UnsafeUnpin for FormFocus
impl UnwindSafe for FormFocus
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more