aves/lib/services/image_op_events.dart
2021-05-13 19:34:23 +09:00

85 lines
2.1 KiB
Dart

import 'package:flutter/foundation.dart';
import 'package:flutter/widgets.dart';
@immutable
class ImageOpEvent {
final bool success;
final String uri;
const ImageOpEvent({
required this.success,
required this.uri,
});
factory ImageOpEvent.fromMap(Map map) {
return ImageOpEvent(
success: map['success'] ?? false,
uri: map['uri'],
);
}
@override
bool operator ==(Object other) {
if (other.runtimeType != runtimeType) return false;
return other is ImageOpEvent && other.success == success && other.uri == uri;
}
@override
int get hashCode => hashValues(success, uri);
@override
String toString() => '$runtimeType#${shortHash(this)}{success=$success, uri=$uri}';
}
class MoveOpEvent extends ImageOpEvent {
final Map newFields;
const MoveOpEvent({required bool success, required String uri, required this.newFields})
: super(
success: success,
uri: uri,
);
factory MoveOpEvent.fromMap(Map map) {
return MoveOpEvent(
success: map['success'] ?? false,
uri: map['uri'],
newFields: map['newFields'] ?? {},
);
}
@override
String toString() => '$runtimeType#${shortHash(this)}{success=$success, uri=$uri, newFields=$newFields}';
}
class ExportOpEvent extends MoveOpEvent {
final int? pageId;
const ExportOpEvent({required bool success, required String uri, this.pageId, required Map newFields})
: super(
success: success,
uri: uri,
newFields: newFields,
);
factory ExportOpEvent.fromMap(Map map) {
return ExportOpEvent(
success: map['success'] ?? false,
uri: map['uri'],
pageId: map['pageId'],
newFields: map['newFields'] ?? {},
);
}
@override
bool operator ==(Object other) {
if (other.runtimeType != runtimeType) return false;
return other is ExportOpEvent && other.success == success && other.uri == uri && other.pageId == pageId;
}
@override
int get hashCode => hashValues(success, uri, pageId);
@override
String toString() => '$runtimeType#${shortHash(this)}{success=$success, uri=$uri, pageId=$pageId, newFields=$newFields}';
}