grid.proto 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. syntax = "proto3";
  2. message Grid {
  3. string id = 1;
  4. repeated FieldOrder field_orders = 2;
  5. repeated GridBlockOrder block_orders = 3;
  6. }
  7. message Field {
  8. string id = 1;
  9. string name = 2;
  10. string desc = 3;
  11. FieldType field_type = 4;
  12. bool frozen = 5;
  13. bool visibility = 6;
  14. int32 width = 7;
  15. bool is_primary = 8;
  16. }
  17. message FieldOrder {
  18. string field_id = 1;
  19. }
  20. message GridFieldChangeset {
  21. string grid_id = 1;
  22. repeated IndexField inserted_fields = 2;
  23. repeated FieldOrder deleted_fields = 3;
  24. repeated Field updated_fields = 4;
  25. }
  26. message IndexField {
  27. Field field = 1;
  28. int32 index = 2;
  29. }
  30. message GetEditFieldContextPayload {
  31. string grid_id = 1;
  32. oneof one_of_field_id { string field_id = 2; };
  33. FieldType field_type = 3;
  34. }
  35. message EditFieldPayload {
  36. string grid_id = 1;
  37. oneof one_of_field_id { string field_id = 2; };
  38. FieldType field_type = 3;
  39. }
  40. message FieldTypeOptionContext {
  41. string grid_id = 1;
  42. Field grid_field = 2;
  43. bytes type_option_data = 3;
  44. }
  45. message FieldTypeOptionData {
  46. string grid_id = 1;
  47. string field_id = 2;
  48. bytes type_option_data = 3;
  49. }
  50. message RepeatedField {
  51. repeated Field items = 1;
  52. }
  53. message RepeatedFieldOrder {
  54. repeated FieldOrder items = 1;
  55. }
  56. message RowOrder {
  57. string row_id = 1;
  58. string block_id = 2;
  59. int32 height = 3;
  60. }
  61. message Row {
  62. string id = 1;
  63. map<string, Cell> cell_by_field_id = 2;
  64. int32 height = 3;
  65. }
  66. message RepeatedRow {
  67. repeated Row items = 1;
  68. }
  69. message RepeatedGridBlock {
  70. repeated GridBlock items = 1;
  71. }
  72. message GridBlockOrder {
  73. string block_id = 1;
  74. repeated RowOrder row_orders = 2;
  75. }
  76. message IndexRowOrder {
  77. RowOrder row_order = 1;
  78. oneof one_of_index { int32 index = 2; };
  79. }
  80. message UpdatedRowOrder {
  81. RowOrder row_order = 1;
  82. Row row = 2;
  83. }
  84. message GridRowsChangeset {
  85. string block_id = 1;
  86. repeated IndexRowOrder inserted_rows = 2;
  87. repeated RowOrder deleted_rows = 3;
  88. repeated UpdatedRowOrder updated_rows = 4;
  89. }
  90. message GridBlock {
  91. string id = 1;
  92. repeated RowOrder row_orders = 2;
  93. }
  94. message Cell {
  95. string field_id = 1;
  96. string content = 2;
  97. string data = 3;
  98. }
  99. message RepeatedCell {
  100. repeated Cell items = 1;
  101. }
  102. message CreateGridPayload {
  103. string name = 1;
  104. }
  105. message GridId {
  106. string value = 1;
  107. }
  108. message GridBlockId {
  109. string value = 1;
  110. }
  111. message CreateRowPayload {
  112. string grid_id = 1;
  113. oneof one_of_start_row_id { string start_row_id = 2; };
  114. }
  115. message InsertFieldPayload {
  116. string grid_id = 1;
  117. Field field = 2;
  118. bytes type_option_data = 3;
  119. oneof one_of_start_field_id { string start_field_id = 4; };
  120. }
  121. message UpdateFieldTypeOptionPayload {
  122. string grid_id = 1;
  123. string field_id = 2;
  124. bytes type_option_data = 3;
  125. }
  126. message QueryFieldPayload {
  127. string grid_id = 1;
  128. RepeatedFieldOrder field_orders = 2;
  129. }
  130. message QueryGridBlocksPayload {
  131. string grid_id = 1;
  132. repeated GridBlockOrder block_orders = 2;
  133. }
  134. message FieldChangesetPayload {
  135. string field_id = 1;
  136. string grid_id = 2;
  137. oneof one_of_name { string name = 3; };
  138. oneof one_of_desc { string desc = 4; };
  139. oneof one_of_field_type { FieldType field_type = 5; };
  140. oneof one_of_frozen { bool frozen = 6; };
  141. oneof one_of_visibility { bool visibility = 7; };
  142. oneof one_of_width { int32 width = 8; };
  143. oneof one_of_type_option_data { bytes type_option_data = 9; };
  144. }
  145. message MoveItemPayload {
  146. string grid_id = 1;
  147. string item_id = 2;
  148. int32 from_index = 3;
  149. int32 to_index = 4;
  150. MoveItemType ty = 5;
  151. }
  152. message CellChangeset {
  153. string grid_id = 1;
  154. string row_id = 2;
  155. string field_id = 3;
  156. oneof one_of_cell_content_changeset { string cell_content_changeset = 4; };
  157. }
  158. enum MoveItemType {
  159. MoveField = 0;
  160. MoveRow = 1;
  161. }
  162. enum FieldType {
  163. RichText = 0;
  164. Number = 1;
  165. DateTime = 2;
  166. SingleSelect = 3;
  167. MultiSelect = 4;
  168. Checkbox = 5;
  169. }