implemented Ticker page selection persistence and enhanced ProseMirror table display modes

This commit is contained in:
2026-07-10 19:15:52 +02:00
parent 0d01f6b631
commit 37608e59b3
10 changed files with 827 additions and 131 deletions
@@ -15,7 +15,7 @@ T _$identity<T>(T value) => value;
/// @nodoc
mixin _$TickerState {
TickerResponse? get ticker; TickerNavResponse? get nav;
TickerResponse? get ticker; TickerNavResponse? get nav; String? get selectedSlug;
/// Create a copy of TickerState
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@@ -28,16 +28,16 @@ $TickerStateCopyWith<TickerState> get copyWith => _$TickerStateCopyWithImpl<Tick
@override
bool operator ==(Object other) {
return identical(this, other) || (other.runtimeType == runtimeType&&other is TickerState&&(identical(other.ticker, ticker) || other.ticker == ticker)&&(identical(other.nav, nav) || other.nav == nav));
return identical(this, other) || (other.runtimeType == runtimeType&&other is TickerState&&(identical(other.ticker, ticker) || other.ticker == ticker)&&(identical(other.nav, nav) || other.nav == nav)&&(identical(other.selectedSlug, selectedSlug) || other.selectedSlug == selectedSlug));
}
@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,ticker,nav);
int get hashCode => Object.hash(runtimeType,ticker,nav,selectedSlug);
@override
String toString() {
return 'TickerState(ticker: $ticker, nav: $nav)';
return 'TickerState(ticker: $ticker, nav: $nav, selectedSlug: $selectedSlug)';
}
@@ -48,7 +48,7 @@ abstract mixin class $TickerStateCopyWith<$Res> {
factory $TickerStateCopyWith(TickerState value, $Res Function(TickerState) _then) = _$TickerStateCopyWithImpl;
@useResult
$Res call({
TickerResponse? ticker, TickerNavResponse? nav
TickerResponse? ticker, TickerNavResponse? nav, String? selectedSlug
});
@@ -65,11 +65,12 @@ class _$TickerStateCopyWithImpl<$Res>
/// Create a copy of TickerState
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline') @override $Res call({Object? ticker = freezed,Object? nav = freezed,}) {
@pragma('vm:prefer-inline') @override $Res call({Object? ticker = freezed,Object? nav = freezed,Object? selectedSlug = freezed,}) {
return _then(_self.copyWith(
ticker: freezed == ticker ? _self.ticker : ticker // ignore: cast_nullable_to_non_nullable
as TickerResponse?,nav: freezed == nav ? _self.nav : nav // ignore: cast_nullable_to_non_nullable
as TickerNavResponse?,
as TickerNavResponse?,selectedSlug: freezed == selectedSlug ? _self.selectedSlug : selectedSlug // ignore: cast_nullable_to_non_nullable
as String?,
));
}
@@ -154,10 +155,10 @@ return $default(_that);case _:
/// }
/// ```
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( TickerResponse? ticker, TickerNavResponse? nav)? $default,{required TResult orElse(),}) {final _that = this;
@optionalTypeArgs TResult maybeWhen<TResult extends Object?>(TResult Function( TickerResponse? ticker, TickerNavResponse? nav, String? selectedSlug)? $default,{required TResult orElse(),}) {final _that = this;
switch (_that) {
case _TickerState() when $default != null:
return $default(_that.ticker,_that.nav);case _:
return $default(_that.ticker,_that.nav,_that.selectedSlug);case _:
return orElse();
}
@@ -175,10 +176,10 @@ return $default(_that.ticker,_that.nav);case _:
/// }
/// ```
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( TickerResponse? ticker, TickerNavResponse? nav) $default,) {final _that = this;
@optionalTypeArgs TResult when<TResult extends Object?>(TResult Function( TickerResponse? ticker, TickerNavResponse? nav, String? selectedSlug) $default,) {final _that = this;
switch (_that) {
case _TickerState():
return $default(_that.ticker,_that.nav);case _:
return $default(_that.ticker,_that.nav,_that.selectedSlug);case _:
throw StateError('Unexpected subclass');
}
@@ -195,10 +196,10 @@ return $default(_that.ticker,_that.nav);case _:
/// }
/// ```
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( TickerResponse? ticker, TickerNavResponse? nav)? $default,) {final _that = this;
@optionalTypeArgs TResult? whenOrNull<TResult extends Object?>(TResult? Function( TickerResponse? ticker, TickerNavResponse? nav, String? selectedSlug)? $default,) {final _that = this;
switch (_that) {
case _TickerState() when $default != null:
return $default(_that.ticker,_that.nav);case _:
return $default(_that.ticker,_that.nav,_that.selectedSlug);case _:
return null;
}
@@ -210,11 +211,12 @@ return $default(_that.ticker,_that.nav);case _:
@JsonSerializable()
class _TickerState implements TickerState {
const _TickerState({this.ticker, this.nav});
const _TickerState({this.ticker, this.nav, this.selectedSlug});
factory _TickerState.fromJson(Map<String, dynamic> json) => _$TickerStateFromJson(json);
@override final TickerResponse? ticker;
@override final TickerNavResponse? nav;
@override final String? selectedSlug;
/// Create a copy of TickerState
/// with the given fields replaced by the non-null parameter values.
@@ -229,16 +231,16 @@ Map<String, dynamic> toJson() {
@override
bool operator ==(Object other) {
return identical(this, other) || (other.runtimeType == runtimeType&&other is _TickerState&&(identical(other.ticker, ticker) || other.ticker == ticker)&&(identical(other.nav, nav) || other.nav == nav));
return identical(this, other) || (other.runtimeType == runtimeType&&other is _TickerState&&(identical(other.ticker, ticker) || other.ticker == ticker)&&(identical(other.nav, nav) || other.nav == nav)&&(identical(other.selectedSlug, selectedSlug) || other.selectedSlug == selectedSlug));
}
@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(runtimeType,ticker,nav);
int get hashCode => Object.hash(runtimeType,ticker,nav,selectedSlug);
@override
String toString() {
return 'TickerState(ticker: $ticker, nav: $nav)';
return 'TickerState(ticker: $ticker, nav: $nav, selectedSlug: $selectedSlug)';
}
@@ -249,7 +251,7 @@ abstract mixin class _$TickerStateCopyWith<$Res> implements $TickerStateCopyWith
factory _$TickerStateCopyWith(_TickerState value, $Res Function(_TickerState) _then) = __$TickerStateCopyWithImpl;
@override @useResult
$Res call({
TickerResponse? ticker, TickerNavResponse? nav
TickerResponse? ticker, TickerNavResponse? nav, String? selectedSlug
});
@@ -266,11 +268,12 @@ class __$TickerStateCopyWithImpl<$Res>
/// Create a copy of TickerState
/// with the given fields replaced by the non-null parameter values.
@override @pragma('vm:prefer-inline') $Res call({Object? ticker = freezed,Object? nav = freezed,}) {
@override @pragma('vm:prefer-inline') $Res call({Object? ticker = freezed,Object? nav = freezed,Object? selectedSlug = freezed,}) {
return _then(_TickerState(
ticker: freezed == ticker ? _self.ticker : ticker // ignore: cast_nullable_to_non_nullable
as TickerResponse?,nav: freezed == nav ? _self.nav : nav // ignore: cast_nullable_to_non_nullable
as TickerNavResponse?,
as TickerNavResponse?,selectedSlug: freezed == selectedSlug ? _self.selectedSlug : selectedSlug // ignore: cast_nullable_to_non_nullable
as String?,
));
}