Skip to content
Snippets Groups Projects
data_statistics_global_cubit.dart 1.27 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_global.dart';
    
    part 'data_statistics_global_state.dart';
    
    class DataStatisticsGlobalCubit extends HydratedCubit<DataStatisticsGlobalState> {
      DataStatisticsGlobalCubit() : super(const DataStatisticsGlobalState());
    
      void getData(DataStatisticsGlobalState state) {
        emit(state);
      }
    
      StatisticsGlobalData? getValue() {
        return state.statisticsGlobal;
      }
    
    
      void update(StatisticsGlobalData? statisticsGlobal) {
    
        if ((statisticsGlobal != null) &&
            (state.statisticsGlobal.toString() != statisticsGlobal.toString())) {
    
          setValue(statisticsGlobal);
        }
      }
    
    
    Benoît Harrault's avatar
    Benoît Harrault committed
      void setValue(StatisticsGlobalData? statisticsGlobal) {
        emit(DataStatisticsGlobalState(
          statisticsGlobal: statisticsGlobal,
        ));
      }
    
      @override
      DataStatisticsGlobalState? fromJson(Map<String, dynamic> json) {
        return DataStatisticsGlobalState(
          statisticsGlobal: StatisticsGlobalData.fromJson(json['statisticsGlobal']),
        );
      }
    
      @override
      Map<String, Object?>? toJson(DataStatisticsGlobalState state) {
        return <String, Object?>{
          'statisticsGlobal': state.statisticsGlobal?.toJson(),
        };
      }
    }