Skip to content
Snippets Groups Projects
data_statistics_recent_cubit.dart 1.23 KiB
Newer Older
  • Learn to ignore specific revisions
  • Benoît Harrault's avatar
    Benoît Harrault committed
    import 'package:equatable/equatable.dart';
    import 'package:flutter/material.dart';
    import 'package:hydrated_bloc/hydrated_bloc.dart';
    
    import 'package:scrobbles/models/statistics_recent.dart';
    
    part 'data_statistics_recent_state.dart';
    
    class DataStatisticsRecentCubit extends HydratedCubit<DataStatisticsRecentState> {
      DataStatisticsRecentCubit() : super(const DataStatisticsRecentState());
    
      void getData(DataStatisticsRecentState state) {
        emit(state);
      }
    
      StatisticsRecentData? getValue() {
        return state.statisticsRecent;
      }
    
    
      void update(StatisticsRecentData? statisticsRecent) {
        if (state.statisticsRecent.toString() != statisticsRecent.toString()) {
          setValue(statisticsRecent);
        }
      }
    
    
    Benoît Harrault's avatar
    Benoît Harrault committed
      void setValue(StatisticsRecentData? statisticsRecent) {
        emit(DataStatisticsRecentState(
          statisticsRecent: statisticsRecent,
        ));
      }
    
      @override
      DataStatisticsRecentState? fromJson(Map<String, dynamic> json) {
        return DataStatisticsRecentState(
          statisticsRecent: StatisticsRecentData.fromJson(json['statisticsRecent']),
        );
      }
    
      @override
      Map<String, Object?>? toJson(DataStatisticsRecentState state) {
        return <String, Object?>{
          'statisticsRecent': state.statisticsRecent?.toJson(),
        };
      }
    }