data.dart 860 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import 'package:flowy_sdk/protobuf/flowy-grid-data-model/grid.pb.dart';
  2. import 'package:equatable/equatable.dart';
  3. class GridInfo {
  4. List<Row> rows;
  5. List<Field> fields;
  6. GridInfo({
  7. required this.rows,
  8. required this.fields,
  9. });
  10. GridRowData rowAtIndex(int index) {
  11. final row = rows[index];
  12. return GridRowData(
  13. row: row,
  14. fields: fields,
  15. cellMap: row.cellByFieldId,
  16. );
  17. }
  18. int numberOfRows() {
  19. return rows.length;
  20. }
  21. }
  22. class GridRowData extends Equatable {
  23. final Row row;
  24. final List<Field> fields;
  25. final Map<String, Cell> cellMap;
  26. const GridRowData({
  27. required this.row,
  28. required this.fields,
  29. required this.cellMap,
  30. });
  31. @override
  32. List<Object> get props => [row.hashCode, cellMap];
  33. }
  34. class GridColumnData {
  35. final List<Field> fields;
  36. GridColumnData({required this.fields});
  37. }