bitque/web/src/changes.rs
Adrian Woźniak a13678d98f
X
2021-10-05 14:34:20 +02:00

86 lines
2.0 KiB
Rust

use jirs_data::{EpicId, IssueStatusId, WsMsg};
use seed::prelude::WebSocketMessage;
use crate::components::styled_md_editor::MdEditorMode as TabMode;
use crate::FieldId;
#[derive(Clone, Debug, PartialEq)]
pub enum FieldChange {
LinkCopied(FieldId, bool),
TabChanged(FieldId, TabMode),
ToggleCommentForm(FieldId, bool),
EditComment(FieldId, i32),
}
#[derive(Clone, Debug, PartialEq)]
pub enum BoardPageChange {
// dragging
IssueDragStarted(EpicId),
IssueDragStopped(EpicId),
DragLeave(EpicId),
ChangePosition(EpicId),
IssueDragOverStatus(IssueStatusId),
IssueDropZone(IssueStatusId),
}
#[derive(Clone, Debug, PartialEq)]
#[repr(C)]
pub enum UsersPageChange {
ResetForm,
}
#[derive(Clone, Debug, PartialEq)]
pub enum ProjectPageChange {
ResetForm,
SubmitProjectSettingsForm,
// dragging
ColumnDragStarted(IssueStatusId),
ColumnDragStopped(IssueStatusId),
ColumnDragLeave(IssueStatusId),
ColumnExchangePosition(IssueStatusId),
ColumnDragOverStatus(IssueStatusId),
ColumnDropZone(IssueStatusId),
// edit issue status name
EditIssueStatusName(Option<IssueStatusId>),
SubmitIssueStatusForm,
}
#[derive(Clone, Debug, PartialEq)]
#[repr(C)]
pub enum ProfilePageChange {
SubmitForm,
}
#[derive(Clone, Debug, PartialEq)]
#[repr(C)]
pub enum InvitationPageChange {
SubmitForm,
}
#[derive(Clone, Debug, PartialEq)]
pub enum ReportsPageChange {
DayHovered(Option<chrono::NaiveDate>),
DaySelected(Option<chrono::NaiveDate>),
}
#[derive(Clone, Debug, PartialEq)]
pub enum PageChanged {
Users(UsersPageChange),
ProjectSettings(ProjectPageChange),
Profile(ProfilePageChange),
Board(BoardPageChange),
Invitation(InvitationPageChange),
Reports(ReportsPageChange),
}
#[derive(Debug)]
pub enum WebSocketChanged {
WsMsg(WsMsg),
WebSocketMessage(WebSocketMessage),
WebSocketMessageLoaded(Vec<u8>),
WebSocketOpened,
WebSocketClosed,
SendPing,
Bounced(WsMsg),
}