grid.proto 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  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. }
  16. message FieldOrder {
  17. string field_id = 1;
  18. }
  19. message GetEditFieldContextPayload {
  20. string grid_id = 1;
  21. oneof one_of_field_id { string field_id = 2; };
  22. FieldType field_type = 3;
  23. }
  24. message EditFieldPayload {
  25. string grid_id = 1;
  26. string field_id = 2;
  27. FieldType field_type = 3;
  28. }
  29. message EditFieldContext {
  30. string grid_id = 1;
  31. Field grid_field = 2;
  32. bytes type_option_data = 3;
  33. }
  34. message RepeatedField {
  35. repeated Field items = 1;
  36. }
  37. message RepeatedFieldOrder {
  38. repeated FieldOrder items = 1;
  39. }
  40. message RowOrder {
  41. string row_id = 1;
  42. string block_id = 2;
  43. int32 height = 3;
  44. }
  45. message Row {
  46. string id = 1;
  47. map<string, Cell> cell_by_field_id = 2;
  48. int32 height = 3;
  49. }
  50. message RepeatedRow {
  51. repeated Row items = 1;
  52. }
  53. message RepeatedGridBlock {
  54. repeated GridBlock items = 1;
  55. }
  56. message GridBlockOrder {
  57. string block_id = 1;
  58. repeated RowOrder row_orders = 2;
  59. }
  60. message GridBlockOrderChangeset {
  61. string block_id = 1;
  62. repeated IndexRowOrder inserted_rows = 2;
  63. repeated RowOrder deleted_rows = 3;
  64. repeated RowOrder updated_rows = 4;
  65. }
  66. message IndexRowOrder {
  67. RowOrder row_order = 1;
  68. oneof one_of_index { int32 index = 2; };
  69. }
  70. message GridBlock {
  71. string id = 1;
  72. repeated RowOrder row_orders = 2;
  73. }
  74. message Cell {
  75. string field_id = 1;
  76. string content = 2;
  77. }
  78. message CellNotificationData {
  79. string grid_id = 1;
  80. string field_id = 2;
  81. string row_id = 3;
  82. oneof one_of_content { string content = 4; };
  83. }
  84. message RepeatedCell {
  85. repeated Cell items = 1;
  86. }
  87. message CreateGridPayload {
  88. string name = 1;
  89. }
  90. message GridId {
  91. string value = 1;
  92. }
  93. message GridBlockId {
  94. string value = 1;
  95. }
  96. message CreateRowPayload {
  97. string grid_id = 1;
  98. oneof one_of_start_row_id { string start_row_id = 2; };
  99. }
  100. message CreateFieldPayload {
  101. string grid_id = 1;
  102. Field field = 2;
  103. bytes type_option_data = 3;
  104. oneof one_of_start_field_id { string start_field_id = 4; };
  105. }
  106. message QueryFieldPayload {
  107. string grid_id = 1;
  108. RepeatedFieldOrder field_orders = 2;
  109. }
  110. message QueryGridBlocksPayload {
  111. string grid_id = 1;
  112. repeated GridBlockOrder block_orders = 2;
  113. }
  114. message FieldChangesetPayload {
  115. string field_id = 1;
  116. string grid_id = 2;
  117. oneof one_of_name { string name = 3; };
  118. oneof one_of_desc { string desc = 4; };
  119. oneof one_of_field_type { FieldType field_type = 5; };
  120. oneof one_of_frozen { bool frozen = 6; };
  121. oneof one_of_visibility { bool visibility = 7; };
  122. oneof one_of_width { int32 width = 8; };
  123. oneof one_of_type_option_data { bytes type_option_data = 9; };
  124. }
  125. message CellChangeset {
  126. string grid_id = 1;
  127. string row_id = 2;
  128. string field_id = 3;
  129. oneof one_of_data { string data = 4; };
  130. }
  131. enum FieldType {
  132. RichText = 0;
  133. Number = 1;
  134. DateTime = 2;
  135. SingleSelect = 3;
  136. MultiSelect = 4;
  137. Checkbox = 5;
  138. }