grid.proto 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. syntax = "proto3";
  2. import "field.proto";
  3. message Grid {
  4. string id = 1;
  5. repeated FieldOrder field_orders = 2;
  6. repeated GridBlockOrder block_orders = 3;
  7. }
  8. message RowOrder {
  9. string row_id = 1;
  10. string block_id = 2;
  11. int32 height = 3;
  12. }
  13. message Row {
  14. string id = 1;
  15. map<string, Cell> cell_by_field_id = 2;
  16. int32 height = 3;
  17. }
  18. message RepeatedRow {
  19. repeated Row items = 1;
  20. }
  21. message RepeatedGridBlock {
  22. repeated GridBlock items = 1;
  23. }
  24. message GridBlockOrder {
  25. string block_id = 1;
  26. repeated RowOrder row_orders = 2;
  27. }
  28. message IndexRowOrder {
  29. RowOrder row_order = 1;
  30. oneof one_of_index { int32 index = 2; };
  31. }
  32. message UpdatedRowOrder {
  33. RowOrder row_order = 1;
  34. Row row = 2;
  35. }
  36. message GridRowsChangeset {
  37. string block_id = 1;
  38. repeated IndexRowOrder inserted_rows = 2;
  39. repeated RowOrder deleted_rows = 3;
  40. repeated UpdatedRowOrder updated_rows = 4;
  41. }
  42. message GridBlock {
  43. string id = 1;
  44. repeated RowOrder row_orders = 2;
  45. }
  46. message Cell {
  47. string field_id = 1;
  48. bytes data = 2;
  49. }
  50. message RepeatedCell {
  51. repeated Cell items = 1;
  52. }
  53. message CreateGridPayload {
  54. string name = 1;
  55. }
  56. message GridId {
  57. string value = 1;
  58. }
  59. message GridBlockId {
  60. string value = 1;
  61. }
  62. message CreateRowPayload {
  63. string grid_id = 1;
  64. oneof one_of_start_row_id { string start_row_id = 2; };
  65. }
  66. message QueryGridBlocksPayload {
  67. string grid_id = 1;
  68. repeated GridBlockOrder block_orders = 2;
  69. }
  70. message MoveItemPayload {
  71. string grid_id = 1;
  72. string item_id = 2;
  73. int32 from_index = 3;
  74. int32 to_index = 4;
  75. MoveItemType ty = 5;
  76. }
  77. message CellChangeset {
  78. string grid_id = 1;
  79. string row_id = 2;
  80. string field_id = 3;
  81. oneof one_of_cell_content_changeset { string cell_content_changeset = 4; };
  82. }
  83. enum MoveItemType {
  84. MoveField = 0;
  85. MoveRow = 1;
  86. }