170 lines
3.8 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-10 12:01:31 +08:00
repeated FieldOrder field_orders = 2;
2022-03-18 17:14:46 +08:00
repeated GridBlockOrder block_orders = 3;
2022-03-02 21:12:21 +08:00
}
2022-03-15 11:07:18 +08:00
message Field {
string id = 1;
string name = 2;
string desc = 3;
FieldType field_type = 4;
bool frozen = 5;
bool visibility = 6;
int32 width = 7;
2022-04-20 16:32:12 +08:00
bool is_primary = 8;
2022-03-15 11:07:18 +08:00
}
2022-03-02 21:12:21 +08:00
message FieldOrder {
string field_id = 1;
}
2022-04-13 21:26:27 +08:00
message GridFieldChangeset {
string grid_id = 1;
repeated IndexField inserted_fields = 2;
repeated FieldOrder deleted_fields = 3;
repeated Field updated_fields = 4;
}
message IndexField {
Field field = 1;
2022-04-14 13:29:42 +08:00
int32 index = 2;
2022-04-13 21:26:27 +08:00
}
message GetEditFieldContextPayload {
2022-03-25 15:02:43 +08:00
string grid_id = 1;
2022-03-31 22:51:46 +08:00
oneof one_of_field_id { string field_id = 2; };
FieldType field_type = 3;
2022-03-25 15:02:43 +08:00
}
message EditFieldPayload {
string grid_id = 1;
2022-05-09 14:59:26 +08:00
oneof one_of_field_id { string field_id = 2; };
FieldType field_type = 3;
}
2022-03-25 15:02:43 +08:00
message EditFieldContext {
string grid_id = 1;
Field grid_field = 2;
bytes type_option_data = 3;
}
message FieldTypeOptionData {
string field_id = 1;
bytes type_option_data = 2;
}
2022-03-15 11:07:18 +08:00
message RepeatedField {
repeated Field items = 1;
}
2022-03-02 21:12:21 +08:00
message RepeatedFieldOrder {
repeated FieldOrder items = 1;
}
message RowOrder {
2022-03-10 12:01:31 +08:00
string row_id = 1;
2022-03-13 11:06:28 +08:00
string block_id = 2;
2022-03-18 21:04:01 +08:00
int32 height = 3;
2022-03-02 21:12:21 +08:00
}
2022-03-04 08:22:49 +08:00
message Row {
string id = 1;
map<string, Cell> cell_by_field_id = 2;
2022-03-08 15:25:56 +08:00
int32 height = 3;
2022-03-04 08:22:49 +08:00
}
2022-03-18 17:14:46 +08:00
message RepeatedRow {
repeated Row items = 1;
}
2022-03-17 17:25:43 +08:00
message RepeatedGridBlock {
repeated GridBlock items = 1;
}
2022-03-18 17:14:46 +08:00
message GridBlockOrder {
string block_id = 1;
2022-04-10 08:25:01 +08:00
repeated RowOrder row_orders = 2;
2022-03-18 17:14:46 +08:00
}
2022-04-13 21:26:27 +08:00
message IndexRowOrder {
RowOrder row_order = 1;
oneof one_of_index { int32 index = 2; };
}
2022-04-25 08:13:09 +08:00
message UpdatedRowOrder {
RowOrder row_order = 1;
Row row = 2;
}
2022-04-13 14:24:54 +08:00
message GridRowsChangeset {
string block_id = 1;
repeated IndexRowOrder inserted_rows = 2;
repeated RowOrder deleted_rows = 3;
2022-04-25 08:13:09 +08:00
repeated UpdatedRowOrder updated_rows = 4;
}
2022-03-17 17:25:43 +08:00
message GridBlock {
2022-03-20 17:17:06 +08:00
string id = 1;
2022-03-18 21:04:01 +08:00
repeated RowOrder row_orders = 2;
2022-03-10 12:01:31 +08:00
}
2022-03-04 08:22:49 +08:00
message Cell {
2022-03-13 11:06:28 +08:00
string field_id = 1;
string content = 2;
2022-05-09 16:08:27 +08:00
string data = 3;
2022-03-02 21:12:21 +08:00
}
2022-03-16 21:19:51 +08:00
message RepeatedCell {
repeated Cell items = 1;
}
2022-03-02 22:43:04 +08:00
message CreateGridPayload {
string name = 1;
}
message GridId {
string value = 1;
}
2022-03-17 17:25:43 +08:00
message GridBlockId {
string value = 1;
}
message CreateRowPayload {
string grid_id = 1;
2022-03-18 17:14:46 +08:00
oneof one_of_start_row_id { string start_row_id = 2; };
}
message InsertFieldPayload {
string grid_id = 1;
Field field = 2;
bytes type_option_data = 3;
oneof one_of_start_field_id { string start_field_id = 4; };
}
2022-05-10 09:33:34 +08:00
message UpdateFieldTypeOptionPayload {
string grid_id = 1;
string field_id = 2;
bytes type_option_data = 3;
}
2022-03-05 17:52:25 +08:00
message QueryFieldPayload {
string grid_id = 1;
RepeatedFieldOrder field_orders = 2;
}
2022-03-17 17:25:43 +08:00
message QueryGridBlocksPayload {
2022-03-05 17:52:25 +08:00
string grid_id = 1;
2022-03-18 17:14:46 +08:00
repeated GridBlockOrder block_orders = 2;
}
message FieldChangesetPayload {
string field_id = 1;
string grid_id = 2;
oneof one_of_name { string name = 3; };
oneof one_of_desc { string desc = 4; };
oneof one_of_field_type { FieldType field_type = 5; };
oneof one_of_frozen { bool frozen = 6; };
oneof one_of_visibility { bool visibility = 7; };
oneof one_of_width { int32 width = 8; };
oneof one_of_type_option_data { bytes type_option_data = 9; };
}
2022-04-13 14:24:54 +08:00
message MoveItemPayload {
string grid_id = 1;
string item_id = 2;
int32 from_index = 3;
int32 to_index = 4;
MoveItemType ty = 5;
}
message CellChangeset {
string grid_id = 1;
string row_id = 2;
string field_id = 3;
oneof one_of_data { string data = 4; };
}
2022-04-13 14:24:54 +08:00
enum MoveItemType {
MoveField = 0;
MoveRow = 1;
}
enum FieldType {
RichText = 0;
Number = 1;
DateTime = 2;
SingleSelect = 3;
MultiSelect = 4;
Checkbox = 5;
}