82 lines
1.5 KiB
Protocol Buffer
Raw Normal View History

2022-03-02 21:12:21 +08:00
syntax = "proto3";
message Grid {
2022-03-04 08:22:49 +08:00
string id = 1;
2022-03-04 18:11:12 +08:00
RepeatedFieldOrder field_orders = 2;
RepeatedRowOrder row_orders = 3;
2022-03-02 21:12:21 +08:00
}
message FieldOrder {
string field_id = 1;
bool visibility = 2;
}
message RepeatedFieldOrder {
repeated FieldOrder items = 1;
}
message Field {
string id = 1;
string name = 2;
string desc = 3;
FieldType field_type = 4;
bool frozen = 5;
2022-03-03 22:17:07 +08:00
int32 width = 6;
AnyData type_options = 7;
}
message RepeatedField {
repeated Field items = 1;
2022-03-02 21:12:21 +08:00
}
message AnyData {
2022-03-03 22:17:07 +08:00
string type_id = 1;
2022-03-02 21:12:21 +08:00
bytes value = 2;
}
message RowOrder {
string grid_id = 1;
string row_id = 2;
bool visibility = 3;
}
message RepeatedRowOrder {
repeated RowOrder items = 1;
}
2022-03-04 08:22:49 +08:00
message RawRow {
2022-03-02 21:12:21 +08:00
string id = 1;
string grid_id = 2;
2022-03-04 08:22:49 +08:00
map<string, RawCell> cell_by_field_id = 3;
2022-03-03 22:17:07 +08:00
}
2022-03-04 08:22:49 +08:00
message RawCell {
2022-03-02 21:12:21 +08:00
string id = 1;
string row_id = 2;
string field_id = 3;
2022-03-04 08:22:49 +08:00
string data = 4;
}
message RepeatedRow {
repeated Row items = 1;
}
message Row {
string id = 1;
map<string, Cell> cell_by_field_id = 2;
}
message Cell {
string id = 1;
string field_id = 2;
string content = 3;
2022-03-02 21:12:21 +08:00
}
2022-03-04 18:11:12 +08:00
message CellChangeset {
string id = 1;
string row_id = 2;
string field_id = 3;
string data = 4;
}
2022-03-02 22:43:04 +08:00
message CreateGridPayload {
string name = 1;
}
message GridId {
string value = 1;
}
2022-03-02 21:12:21 +08:00
enum FieldType {
RichText = 0;
Number = 1;
DateTime = 2;
SingleSelect = 3;
MultiSelect = 4;
Checkbox = 5;
}