grid.proto 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  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. string data = 3;
  97. }
  98. message RepeatedCell {
  99. repeated Cell items = 1;
  100. }
  101. message CreateGridPayload {
  102. string name = 1;
  103. }
  104. message GridId {
  105. string value = 1;
  106. }
  107. message GridBlockId {
  108. string value = 1;
  109. }
  110. message CreateRowPayload {
  111. string grid_id = 1;
  112. oneof one_of_start_row_id { string start_row_id = 2; };
  113. }
  114. message InsertFieldPayload {
  115. string grid_id = 1;
  116. Field field = 2;
  117. bytes type_option_data = 3;
  118. oneof one_of_start_field_id { string start_field_id = 4; };
  119. }
  120. message QueryFieldPayload {
  121. string grid_id = 1;
  122. RepeatedFieldOrder field_orders = 2;
  123. }
  124. message QueryGridBlocksPayload {
  125. string grid_id = 1;
  126. repeated GridBlockOrder block_orders = 2;
  127. }
  128. message FieldChangesetPayload {
  129. string field_id = 1;
  130. string grid_id = 2;
  131. oneof one_of_name { string name = 3; };
  132. oneof one_of_desc { string desc = 4; };
  133. oneof one_of_field_type { FieldType field_type = 5; };
  134. oneof one_of_frozen { bool frozen = 6; };
  135. oneof one_of_visibility { bool visibility = 7; };
  136. oneof one_of_width { int32 width = 8; };
  137. oneof one_of_type_option_data { bytes type_option_data = 9; };
  138. }
  139. message MoveItemPayload {
  140. string grid_id = 1;
  141. string item_id = 2;
  142. int32 from_index = 3;
  143. int32 to_index = 4;
  144. MoveItemType ty = 5;
  145. }
  146. message CellChangeset {
  147. string grid_id = 1;
  148. string row_id = 2;
  149. string field_id = 3;
  150. oneof one_of_data { string data = 4; };
  151. }
  152. enum MoveItemType {
  153. MoveField = 0;
  154. MoveRow = 1;
  155. }
  156. enum FieldType {
  157. RichText = 0;
  158. Number = 1;
  159. DateTime = 2;
  160. SingleSelect = 3;
  161. MultiSelect = 4;
  162. Checkbox = 5;
  163. }