row_service.dart 2.3 KB

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