Skip to content

Commit 5a7aefe

Browse files
committed
feat(edit_source): add EditSourceEvent
- Added events for data changes - Added event for form submission
1 parent 760be57 commit 5a7aefe

File tree

1 file changed

+79
-0
lines changed

1 file changed

+79
-0
lines changed
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
part of 'edit_source_bloc.dart';
2+
3+
/// Base class for all events related to the [EditSourceBloc].
4+
sealed class EditSourceEvent extends Equatable {
5+
const EditSourceEvent();
6+
7+
@override
8+
List<Object?> get props => [];
9+
}
10+
11+
/// Event to load the initial source data for editing.
12+
final class EditSourceLoaded extends EditSourceEvent {
13+
const EditSourceLoaded();
14+
}
15+
16+
/// Event triggered when the source name input changes.
17+
final class EditSourceNameChanged extends EditSourceEvent {
18+
const EditSourceNameChanged(this.name);
19+
20+
final String name;
21+
22+
@override
23+
List<Object> get props => [name];
24+
}
25+
26+
/// Event triggered when the source description input changes.
27+
final class EditSourceDescriptionChanged extends EditSourceEvent {
28+
const EditSourceDescriptionChanged(this.description);
29+
30+
final String description;
31+
32+
@override
33+
List<Object> get props => [description];
34+
}
35+
36+
/// Event triggered when the source URL input changes.
37+
final class EditSourceUrlChanged extends EditSourceEvent {
38+
const EditSourceUrlChanged(this.url);
39+
40+
final String url;
41+
42+
@override
43+
List<Object> get props => [url];
44+
}
45+
46+
/// Event triggered when the source type input changes.
47+
final class EditSourceTypeChanged extends EditSourceEvent {
48+
const EditSourceTypeChanged(this.sourceType);
49+
50+
final SourceType? sourceType;
51+
52+
@override
53+
List<Object?> get props => [sourceType];
54+
}
55+
56+
/// Event triggered when the source language input changes.
57+
final class EditSourceLanguageChanged extends EditSourceEvent {
58+
const EditSourceLanguageChanged(this.language);
59+
60+
final String language;
61+
62+
@override
63+
List<Object> get props => [language];
64+
}
65+
66+
/// Event triggered when the source headquarters input changes.
67+
final class EditSourceHeadquartersChanged extends EditSourceEvent {
68+
const EditSourceHeadquartersChanged(this.headquarters);
69+
70+
final Country? headquarters;
71+
72+
@override
73+
List<Object?> get props => [headquarters];
74+
}
75+
76+
/// Event to submit the edited source data.
77+
final class EditSourceSubmitted extends EditSourceEvent {
78+
const EditSourceSubmitted();
79+
}

0 commit comments

Comments
 (0)