| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101 | 
							- import 'package:dartz/dartz.dart';
 
- import 'package:flowy_sdk/dispatch/dispatch.dart';
 
- import 'package:flowy_sdk/protobuf/flowy-error/errors.pb.dart';
 
- import 'package:flowy_sdk/protobuf/flowy-grid/block_entities.pb.dart';
 
- import 'package:flowy_sdk/protobuf/flowy-grid/grid_entities.pb.dart';
 
- import 'package:flowy_sdk/protobuf/flowy-grid/group_changeset.pb.dart';
 
- import 'package:flowy_sdk/protobuf/flowy-grid/row_entities.pb.dart';
 
- class RowFFIService {
 
-   final String gridId;
 
-   final String blockId;
 
-   RowFFIService({
 
-     required this.gridId,
 
-     required this.blockId,
 
-   });
 
-   Future<Either<RowPB, FlowyError>> createRow(String rowId) {
 
-     final payload = CreateTableRowPayloadPB.create()
 
-       ..gridId = gridId
 
-       ..startRowId = rowId;
 
-     return GridEventCreateTableRow(payload).send();
 
-   }
 
-   Future<Either<OptionalRowPB, FlowyError>> getRow(String rowId) {
 
-     final payload = RowIdPB.create()
 
-       ..gridId = gridId
 
-       ..blockId = blockId
 
-       ..rowId = rowId;
 
-     return GridEventGetRow(payload).send();
 
-   }
 
-   Future<Either<Unit, FlowyError>> deleteRow(String rowId) {
 
-     final payload = RowIdPB.create()
 
-       ..gridId = gridId
 
-       ..blockId = blockId
 
-       ..rowId = rowId;
 
-     return GridEventDeleteRow(payload).send();
 
-   }
 
-   Future<Either<Unit, FlowyError>> duplicateRow(String rowId) {
 
-     final payload = RowIdPB.create()
 
-       ..gridId = gridId
 
-       ..blockId = blockId
 
-       ..rowId = rowId;
 
-     return GridEventDuplicateRow(payload).send();
 
-   }
 
- }
 
- class MoveRowFFIService {
 
-   final String gridId;
 
-   MoveRowFFIService({
 
-     required this.gridId,
 
-   });
 
-   Future<Either<Unit, FlowyError>> moveRow({
 
-     required String fromRowId,
 
-     required String toRowId,
 
-   }) {
 
-     var payload = MoveRowPayloadPB.create()
 
-       ..viewId = gridId
 
-       ..fromRowId = fromRowId
 
-       ..toRowId = toRowId;
 
-     return GridEventMoveRow(payload).send();
 
-   }
 
-   Future<Either<Unit, FlowyError>> moveGroupRow({
 
-     required String fromRowId,
 
-     required String toGroupId,
 
-     required String? toRowId,
 
-   }) {
 
-     var payload = MoveGroupRowPayloadPB.create()
 
-       ..viewId = gridId
 
-       ..fromRowId = fromRowId
 
-       ..toGroupId = toGroupId;
 
-     if (toRowId != null) {
 
-       payload.toRowId = toRowId;
 
-     }
 
-     return GridEventMoveGroupRow(payload).send();
 
-   }
 
-   Future<Either<Unit, FlowyError>> moveGroup({
 
-     required String fromGroupId,
 
-     required String toGroupId,
 
-   }) {
 
-     final payload = MoveGroupPayloadPB.create()
 
-       ..viewId = gridId
 
-       ..fromGroupId = fromGroupId
 
-       ..toGroupId = toGroupId;
 
-     return GridEventMoveGroup(payload).send();
 
-   }
 
- }
 
 
  |