m3_lightmeter/lib/utils/map_model.dart

27 lines
544 B
Dart
Raw Permalink Normal View History

import 'package:flutter/material.dart';
class MapModel<T> extends InheritedModel<T> {
final Map<T, bool> data;
const MapModel({
required this.data,
required super.child,
});
@override
bool updateShouldNotify(MapModel oldWidget) => oldWidget.data != data;
@override
bool updateShouldNotifyDependent(
MapModel<T> oldWidget,
Set<T> dependencies,
) {
for (final dependecy in dependencies) {
if (oldWidget.data[dependecy] != data[dependecy]) {
return true;
}
}
return false;
}
}