65 lines
1.2 KiB
Protocol Buffer
Raw Normal View History

2022-03-02 21:12:21 +08:00
syntax = "proto3";
message Grid {
string grid_id = 1;
RepeatedGridFilter filters = 2;
RepeatedFieldOrder field_orders = 3;
RepeatedRowOrder row_orders = 4;
}
message GridFilter {
string id = 1;
string name = 2;
string desc = 3;
}
message RepeatedGridFilter {
repeated GridFilter items = 1;
}
message FieldOrder {
string field_id = 1;
bool visibility = 2;
int32 width = 3;
}
message RepeatedFieldOrder {
repeated FieldOrder items = 1;
}
message Field {
string id = 1;
string name = 2;
string desc = 3;
FieldType field_type = 4;
bool frozen = 5;
AnyData type_options = 6;
}
message AnyData {
string type_url = 1;
bytes value = 2;
}
message RowOrder {
string grid_id = 1;
string row_id = 2;
bool visibility = 3;
}
message RepeatedRowOrder {
repeated RowOrder items = 1;
}
message Row {
string id = 1;
string grid_id = 2;
int64 modified_time = 3;
map<string, Cell> cell_by_field_id = 4;
}
message Cell {
string id = 1;
string row_id = 2;
string field_id = 3;
AnyData data = 4;
}
enum FieldType {
RichText = 0;
Number = 1;
DateTime = 2;
SingleSelect = 3;
MultiSelect = 4;
Checkbox = 5;
}