Select Git revision
data_heatmap_cubit.dart
-
Benoît Harrault authoredBenoît Harrault authored
data_heatmap_cubit.dart 1.04 KiB
import 'package:equatable/equatable.dart';
import 'package:flutter/material.dart';
import 'package:hydrated_bloc/hydrated_bloc.dart';
import 'package:scrobbles/models/heatmap.dart';
part 'data_heatmap_state.dart';
class DataHeatmapCubit extends HydratedCubit<DataHeatmapState> {
DataHeatmapCubit() : super(const DataHeatmapState());
void getData(DataHeatmapState state) {
emit(state);
}
HeatmapData? getValue() {
return state.heatmap;
}
void update(HeatmapData? heatmapData) {
if ((heatmapData != null) && (state.heatmap.toString() != heatmapData.toString())) {
setValue(heatmapData);
}
}
void setValue(HeatmapData? heatmapData) {
emit(DataHeatmapState(
heatmap: heatmapData,
));
}
@override
DataHeatmapState? fromJson(Map<String, dynamic> json) {
return DataHeatmapState(
heatmap: HeatmapData.fromJson(json['heatmap']),
);
}
@override
Map<String, Object?>? toJson(DataHeatmapState state) {
return <String, Object?>{
'heatmap': state.heatmap?.toJson(),
};
}
}