logisheets_controller/api/
types.rs1use gents_derives::TS;
2use logisheets_base::{BlockId, DiyCellId};
3
4use crate::{Appendix, Style, Value, style_manager::RawStyle};
5
6#[derive(Debug, Clone, TS)]
7#[ts(file_name = "save_file_result.ts", rename_all = "camelCase")]
8pub struct SaveFileResult {
9 pub data: Vec<u8>,
10 pub code: u8,
11}
12
13#[derive(Debug, Clone, TS)]
14#[ts(file_name = "cell_info.ts", rename_all = "camelCase")]
15pub struct CellInfo {
16 pub value: Value,
17 pub formula: String,
18 pub style: Style,
19 pub block_id: Option<BlockId>,
20 pub diy_cell_id: Option<DiyCellId>,
21 pub validation_shadow: Option<Value>,
25}
26
27#[derive(Debug, Clone, TS)]
28#[ts(file_name = "sheet_dimension.ts", rename_all = "camelCase")]
29pub struct SheetDimension {
30 pub max_row: usize,
31 pub max_col: usize,
32 pub height: f64,
33 pub width: f64,
34}
35
36#[derive(Debug, Clone, TS)]
37#[ts(file_name = "reproducible_cell.ts", rename_all = "camelCase")]
38pub struct ReproducibleCell {
42 pub coordinate: SheetCoordinate,
43 pub value: Value,
44 pub style: RawStyle,
45 pub appendix: Vec<Appendix>,
46}
47
48#[derive(Debug, Clone, TS)]
49#[ts(file_name = "sheet_coordinate.ts", rename_all = "camelCase")]
50pub struct SheetCoordinate {
51 pub row: usize,
52 pub col: usize,
53}