row_service.dart 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. import 'package:dartz/dartz.dart';
  2. import 'package:flowy_sdk/dispatch/dispatch.dart';
  3. import 'package:flowy_sdk/protobuf/flowy-error/errors.pb.dart';
  4. import 'package:flowy_sdk/protobuf/flowy-grid/block_entities.pb.dart';
  5. import 'package:flowy_sdk/protobuf/flowy-grid/grid_entities.pb.dart';
  6. import 'package:flowy_sdk/protobuf/flowy-grid/group_changeset.pb.dart';
  7. import 'package:flowy_sdk/protobuf/flowy-grid/row_entities.pb.dart';
  8. class RowFFIService {
  9. final String gridId;
  10. final String blockId;
  11. RowFFIService({
  12. required this.gridId,
  13. required this.blockId,
  14. });
  15. Future<Either<RowPB, FlowyError>> createRow(String rowId) {
  16. final payload = CreateTableRowPayloadPB.create()
  17. ..gridId = gridId
  18. ..startRowId = rowId;
  19. return GridEventCreateTableRow(payload).send();
  20. }
  21. Future<Either<OptionalRowPB, FlowyError>> getRow(String rowId) {
  22. final payload = RowIdPB.create()
  23. ..gridId = gridId
  24. ..blockId = blockId
  25. ..rowId = rowId;
  26. return GridEventGetRow(payload).send();
  27. }
  28. Future<Either<Unit, FlowyError>> deleteRow(String rowId) {
  29. final payload = RowIdPB.create()
  30. ..gridId = gridId
  31. ..blockId = blockId
  32. ..rowId = rowId;
  33. return GridEventDeleteRow(payload).send();
  34. }
  35. Future<Either<Unit, FlowyError>> duplicateRow(String rowId) {
  36. final payload = RowIdPB.create()
  37. ..gridId = gridId
  38. ..blockId = blockId
  39. ..rowId = rowId;
  40. return GridEventDuplicateRow(payload).send();
  41. }
  42. }
  43. class MoveRowFFIService {
  44. final String gridId;
  45. MoveRowFFIService({
  46. required this.gridId,
  47. });
  48. Future<Either<Unit, FlowyError>> moveRow({
  49. required String fromRowId,
  50. required String toRowId,
  51. }) {
  52. var payload = MoveRowPayloadPB.create()
  53. ..viewId = gridId
  54. ..fromRowId = fromRowId
  55. ..toRowId = toRowId;
  56. return GridEventMoveRow(payload).send();
  57. }
  58. Future<Either<Unit, FlowyError>> moveGroupRow({
  59. required String fromRowId,
  60. required String toGroupId,
  61. required String? toRowId,
  62. }) {
  63. var payload = MoveGroupRowPayloadPB.create()
  64. ..viewId = gridId
  65. ..fromRowId = fromRowId
  66. ..toGroupId = toGroupId;
  67. if (toRowId != null) {
  68. payload.toRowId = toRowId;
  69. }
  70. return GridEventMoveGroupRow(payload).send();
  71. }
  72. Future<Either<Unit, FlowyError>> moveGroup({
  73. required String fromGroupId,
  74. required String toGroupId,
  75. }) {
  76. final payload = MoveGroupPayloadPB.create()
  77. ..viewId = gridId
  78. ..fromGroupId = fromGroupId
  79. ..toGroupId = toGroupId;
  80. return GridEventMoveGroup(payload).send();
  81. }
  82. }