grid.proto 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  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 EditFieldContext {
  41. string grid_id = 1;
  42. Field grid_field = 2;
  43. bytes type_option_data = 3;
  44. }
  45. message FieldTypeOptionData {
  46. string field_id = 1;
  47. bytes type_option_data = 2;
  48. }
  49. message RepeatedField {
  50. repeated Field items = 1;
  51. }
  52. message RepeatedFieldOrder {
  53. repeated FieldOrder items = 1;
  54. }
  55. message RowOrder {
  56. string row_id = 1;
  57. string block_id = 2;
  58. int32 height = 3;
  59. }
  60. message Row {
  61. string id = 1;
  62. map<string, Cell> cell_by_field_id = 2;
  63. int32 height = 3;
  64. }
  65. message RepeatedRow {
  66. repeated Row items = 1;
  67. }
  68. message RepeatedGridBlock {
  69. repeated GridBlock items = 1;
  70. }
  71. message GridBlockOrder {
  72. string block_id = 1;
  73. repeated RowOrder row_orders = 2;
  74. }
  75. message IndexRowOrder {
  76. RowOrder row_order = 1;
  77. oneof one_of_index { int32 index = 2; };
  78. }
  79. message UpdatedRowOrder {
  80. RowOrder row_order = 1;
  81. Row row = 2;
  82. }
  83. message GridRowsChangeset {
  84. string block_id = 1;
  85. repeated IndexRowOrder inserted_rows = 2;
  86. repeated RowOrder deleted_rows = 3;
  87. repeated UpdatedRowOrder updated_rows = 4;
  88. }
  89. message GridBlock {
  90. string id = 1;
  91. repeated RowOrder row_orders = 2;
  92. }
  93. message Cell {
  94. string field_id = 1;
  95. string content = 2;
  96. }
  97. message RepeatedCell {
  98. repeated Cell items = 1;
  99. }
  100. message CreateGridPayload {
  101. string name = 1;
  102. }
  103. message GridId {
  104. string value = 1;
  105. }
  106. message GridBlockId {
  107. string value = 1;
  108. }
  109. message CreateRowPayload {
  110. string grid_id = 1;
  111. oneof one_of_start_row_id { string start_row_id = 2; };
  112. }
  113. message InsertFieldPayload {
  114. string grid_id = 1;
  115. Field field = 2;
  116. bytes type_option_data = 3;
  117. oneof one_of_start_field_id { string start_field_id = 4; };
  118. }
  119. message QueryFieldPayload {
  120. string grid_id = 1;
  121. RepeatedFieldOrder field_orders = 2;
  122. }
  123. message QueryGridBlocksPayload {
  124. string grid_id = 1;
  125. repeated GridBlockOrder block_orders = 2;
  126. }
  127. message FieldChangesetPayload {
  128. string field_id = 1;
  129. string grid_id = 2;
  130. oneof one_of_name { string name = 3; };
  131. oneof one_of_desc { string desc = 4; };
  132. oneof one_of_field_type { FieldType field_type = 5; };
  133. oneof one_of_frozen { bool frozen = 6; };
  134. oneof one_of_visibility { bool visibility = 7; };
  135. oneof one_of_width { int32 width = 8; };
  136. oneof one_of_type_option_data { bytes type_option_data = 9; };
  137. }
  138. message MoveItemPayload {
  139. string grid_id = 1;
  140. string item_id = 2;
  141. int32 from_index = 3;
  142. int32 to_index = 4;
  143. MoveItemType ty = 5;
  144. }
  145. message CellChangeset {
  146. string grid_id = 1;
  147. string row_id = 2;
  148. string field_id = 3;
  149. oneof one_of_data { string data = 4; };
  150. }
  151. enum MoveItemType {
  152. MoveField = 0;
  153. MoveRow = 1;
  154. }
  155. enum FieldType {
  156. RichText = 0;
  157. Number = 1;
  158. DateTime = 2;
  159. SingleSelect = 3;
  160. MultiSelect = 4;
  161. Checkbox = 5;
  162. }