refactor(ui_kit): move exportable bloc from mixin to widget
	
		
			
	
		
	
	
		
	
		
			Some checks failed
		
		
	
	
		
			
				
	
				continuous-integration/drone/push Build is failing
				
			
		
		
	
	
				
					
				
			
		
			Some checks failed
		
		
	
	continuous-integration/drone/push Build is failing
				
			This commit is contained in:
		
							parent
							
								
									8044d07413
								
							
						
					
					
						commit
						4c08a692d2
					
				| @ -14,12 +14,22 @@ | |||||||
| // You should have received a copy of the GNU General Public License | // You should have received a copy of the GNU General Public License | ||||||
| // along with this program. If not, see <https://www.gnu.org/licenses/>. | // along with this program. If not, see <https://www.gnu.org/licenses/>. | ||||||
| 
 | 
 | ||||||
| import 'package:flutter/widgets.dart'; | import 'package:flutter/material.dart'; | ||||||
| import 'package:flutter_bloc/flutter_bloc.dart'; | import 'package:flutter_bloc/flutter_bloc.dart'; | ||||||
| 
 | 
 | ||||||
| mixin ExportBloc<T extends StateStreamableSource<Object?>> { | class ExportableBloc<T extends StateStreamableSource<Object?>> | ||||||
|   T get bloc; |     extends StatelessWidget { | ||||||
|   Widget exportBloc({required Widget child}) => BlocProvider<T>.value( |   const ExportableBloc({ | ||||||
|  |     required this.bloc, | ||||||
|  |     required this.child, | ||||||
|  |     super.key, | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   final T bloc; | ||||||
|  |   final Widget child; | ||||||
|  | 
 | ||||||
|  |   @override | ||||||
|  |   Widget build(BuildContext context) => BlocProvider<T>.value( | ||||||
|         value: bloc, |         value: bloc, | ||||||
|         child: child, |         child: child, | ||||||
|       ); |       ); | ||||||
| @ -18,15 +18,15 @@ import 'package:flutter/material.dart' hide ButtonStyle; | |||||||
| import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart'; | import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart'; | ||||||
| import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart'; | import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart'; | ||||||
| import 'package:wyatt_ui_kit/src/components/buttons/cubit/invalid_button_cubit.dart'; | import 'package:wyatt_ui_kit/src/components/buttons/cubit/invalid_button_cubit.dart'; | ||||||
|  | import 'package:wyatt_ui_kit/src/components/buttons/exportable_bloc.dart'; | ||||||
| import 'package:wyatt_ui_kit/src/components/buttons/file_selection_button/file_selection_button_screen.dart'; | import 'package:wyatt_ui_kit/src/components/buttons/file_selection_button/file_selection_button_screen.dart'; | ||||||
| import 'package:wyatt_ui_kit/src/components/buttons/file_selection_button/file_selection_button_theme_resolver.dart'; | import 'package:wyatt_ui_kit/src/components/buttons/file_selection_button/file_selection_button_theme_resolver.dart'; | ||||||
| import 'package:wyatt_ui_kit/src/core/mixin/export_bloc_mixin.dart'; |  | ||||||
| 
 | 
 | ||||||
| part 'file_selection_button.g.dart'; | part 'file_selection_button.g.dart'; | ||||||
| 
 | 
 | ||||||
| @ComponentCopyWithExtension() | @ComponentCopyWithExtension() | ||||||
| class FileSelectionButton extends FileSelectionButtonComponent | class FileSelectionButton extends FileSelectionButtonComponent | ||||||
|     with $FileSelectionButtonCWMixin, ExportBloc<InvalidButtonCubit> { |     with $FileSelectionButtonCWMixin { | ||||||
|   FileSelectionButton({ |   FileSelectionButton({ | ||||||
|     super.leading, |     super.leading, | ||||||
|     super.title, |     super.title, | ||||||
| @ -46,7 +46,6 @@ class FileSelectionButton extends FileSelectionButtonComponent | |||||||
| 
 | 
 | ||||||
|   final InvalidButtonCubit _cubit = InvalidButtonCubit(); |   final InvalidButtonCubit _cubit = InvalidButtonCubit(); | ||||||
| 
 | 
 | ||||||
|   @override |  | ||||||
|   InvalidButtonCubit get bloc => _cubit; |   InvalidButtonCubit get bloc => _cubit; | ||||||
| 
 | 
 | ||||||
|   @override |   @override | ||||||
| @ -82,7 +81,8 @@ class FileSelectionButton extends FileSelectionButtonComponent | |||||||
|       super.themeResolver as FileSelectionButtonThemeResolver?; |       super.themeResolver as FileSelectionButtonThemeResolver?; | ||||||
| 
 | 
 | ||||||
|   @override |   @override | ||||||
|   Widget build(BuildContext context) => exportBloc( |   Widget build(BuildContext context) => ExportableBloc( | ||||||
|  |         bloc: _cubit, | ||||||
|         child: FileSelectionButtonScreen( |         child: FileSelectionButtonScreen( | ||||||
|           leading: leading, |           leading: leading, | ||||||
|           title: title, |           title: title, | ||||||
|  | |||||||
| @ -18,15 +18,14 @@ import 'package:flutter/material.dart' hide ButtonStyle; | |||||||
| import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart'; | import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart'; | ||||||
| import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart'; | import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart'; | ||||||
| import 'package:wyatt_ui_kit/src/components/buttons/cubit/button_cubit.dart'; | import 'package:wyatt_ui_kit/src/components/buttons/cubit/button_cubit.dart'; | ||||||
|  | import 'package:wyatt_ui_kit/src/components/buttons/exportable_bloc.dart'; | ||||||
| import 'package:wyatt_ui_kit/src/components/buttons/flat_button/flat_button_screen.dart'; | import 'package:wyatt_ui_kit/src/components/buttons/flat_button/flat_button_screen.dart'; | ||||||
| import 'package:wyatt_ui_kit/src/components/buttons/flat_button/flat_button_theme_resolver.dart'; | import 'package:wyatt_ui_kit/src/components/buttons/flat_button/flat_button_theme_resolver.dart'; | ||||||
| import 'package:wyatt_ui_kit/src/core/mixin/export_bloc_mixin.dart'; |  | ||||||
| 
 | 
 | ||||||
| part 'flat_button.g.dart'; | part 'flat_button.g.dart'; | ||||||
| 
 | 
 | ||||||
| @ComponentCopyWithExtension() | @ComponentCopyWithExtension() | ||||||
| class FlatButton extends FlatButtonComponent | class FlatButton extends FlatButtonComponent with $FlatButtonCWMixin { | ||||||
|     with $FlatButtonCWMixin, ExportBloc<ButtonCubit> { |  | ||||||
|   FlatButton({ |   FlatButton({ | ||||||
|     super.prefix, |     super.prefix, | ||||||
|     super.suffix, |     super.suffix, | ||||||
| @ -44,7 +43,6 @@ class FlatButton extends FlatButtonComponent | |||||||
| 
 | 
 | ||||||
|   final ButtonCubit _cubit = ButtonCubit(); |   final ButtonCubit _cubit = ButtonCubit(); | ||||||
| 
 | 
 | ||||||
|   @override |  | ||||||
|   ButtonCubit get bloc => _cubit; |   ButtonCubit get bloc => _cubit; | ||||||
| 
 | 
 | ||||||
|   @override |   @override | ||||||
| @ -67,7 +65,8 @@ class FlatButton extends FlatButtonComponent | |||||||
|       super.themeResolver as FlatButtonThemeResolver?; |       super.themeResolver as FlatButtonThemeResolver?; | ||||||
| 
 | 
 | ||||||
|   @override |   @override | ||||||
|   Widget build(BuildContext context) => exportBloc( |   Widget build(BuildContext context) => ExportableBloc( | ||||||
|  |         bloc: _cubit, | ||||||
|         child: FlatButtonScreen( |         child: FlatButtonScreen( | ||||||
|           prefix: prefix, |           prefix: prefix, | ||||||
|           suffix: suffix, |           suffix: suffix, | ||||||
|  | |||||||
| @ -18,15 +18,15 @@ import 'package:flutter/material.dart' hide ButtonStyle; | |||||||
| import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart'; | import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart'; | ||||||
| import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart'; | import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart'; | ||||||
| import 'package:wyatt_ui_kit/src/components/buttons/cubit/button_cubit.dart'; | import 'package:wyatt_ui_kit/src/components/buttons/cubit/button_cubit.dart'; | ||||||
|  | import 'package:wyatt_ui_kit/src/components/buttons/exportable_bloc.dart'; | ||||||
| import 'package:wyatt_ui_kit/src/components/buttons/simple_icon_button/simple_icon_button_theme_resolver.dart'; | import 'package:wyatt_ui_kit/src/components/buttons/simple_icon_button/simple_icon_button_theme_resolver.dart'; | ||||||
| import 'package:wyatt_ui_kit/src/components/buttons/simple_icon_button/simple_icon_screen.dart'; | import 'package:wyatt_ui_kit/src/components/buttons/simple_icon_button/simple_icon_screen.dart'; | ||||||
| import 'package:wyatt_ui_kit/src/core/mixin/export_bloc_mixin.dart'; |  | ||||||
| 
 | 
 | ||||||
| part 'simple_icon_button.g.dart'; | part 'simple_icon_button.g.dart'; | ||||||
| 
 | 
 | ||||||
| @ComponentCopyWithExtension() | @ComponentCopyWithExtension() | ||||||
| class SimpleIconButton extends SimpleIconButtonComponent | class SimpleIconButton extends SimpleIconButtonComponent | ||||||
|     with $SimpleIconButtonCWMixin, ExportBloc<ButtonCubit> { |     with $SimpleIconButtonCWMixin { | ||||||
|   SimpleIconButton({ |   SimpleIconButton({ | ||||||
|     super.icon, |     super.icon, | ||||||
|     super.disabledStyle, |     super.disabledStyle, | ||||||
| @ -41,7 +41,6 @@ class SimpleIconButton extends SimpleIconButtonComponent | |||||||
| 
 | 
 | ||||||
|   final ButtonCubit _cubit = ButtonCubit(); |   final ButtonCubit _cubit = ButtonCubit(); | ||||||
| 
 | 
 | ||||||
|   @override |  | ||||||
|   ButtonCubit get bloc => _cubit; |   ButtonCubit get bloc => _cubit; | ||||||
| 
 | 
 | ||||||
|   @override |   @override | ||||||
| @ -69,7 +68,8 @@ class SimpleIconButton extends SimpleIconButtonComponent | |||||||
|       super.themeResolver as SimpleIconButtonThemeResolver?; |       super.themeResolver as SimpleIconButtonThemeResolver?; | ||||||
| 
 | 
 | ||||||
|   @override |   @override | ||||||
|   Widget build(BuildContext context) => exportBloc( |   Widget build(BuildContext context) => ExportableBloc( | ||||||
|  |         bloc: _cubit, | ||||||
|         child: SimpleIconButtonScreen( |         child: SimpleIconButtonScreen( | ||||||
|           icon: icon, |           icon: icon, | ||||||
|           disabledStyle: disabledStyle, |           disabledStyle: disabledStyle, | ||||||
|  | |||||||
| @ -18,15 +18,15 @@ import 'package:flutter/material.dart' hide ButtonStyle; | |||||||
| import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart'; | import 'package:wyatt_component_copy_with_extension/component_copy_with_extension.dart'; | ||||||
| import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart'; | import 'package:wyatt_ui_components/wyatt_wyatt_ui_components.dart'; | ||||||
| import 'package:wyatt_ui_kit/src/components/buttons/cubit/selectable_button_cubit.dart'; | import 'package:wyatt_ui_kit/src/components/buttons/cubit/selectable_button_cubit.dart'; | ||||||
|  | import 'package:wyatt_ui_kit/src/components/buttons/exportable_bloc.dart'; | ||||||
| import 'package:wyatt_ui_kit/src/components/buttons/symbol_button/symbol_button_screen.dart'; | import 'package:wyatt_ui_kit/src/components/buttons/symbol_button/symbol_button_screen.dart'; | ||||||
| import 'package:wyatt_ui_kit/src/components/buttons/symbol_button/symbol_button_theme_resolver.dart'; | import 'package:wyatt_ui_kit/src/components/buttons/symbol_button/symbol_button_theme_resolver.dart'; | ||||||
| import 'package:wyatt_ui_kit/src/core/mixin/export_bloc_mixin.dart'; |  | ||||||
| 
 | 
 | ||||||
| part 'symbol_button.g.dart'; | part 'symbol_button.g.dart'; | ||||||
| 
 | 
 | ||||||
| @ComponentCopyWithExtension() | @ComponentCopyWithExtension() | ||||||
| class SymbolButton extends SymbolButtonComponent | class SymbolButton extends SymbolButtonComponent | ||||||
|     with $SymbolButtonCWMixin, ExportBloc<SelectableButtonCubit> { |     with $SymbolButtonCWMixin{ | ||||||
|   SymbolButton({ |   SymbolButton({ | ||||||
|     super.icon, |     super.icon, | ||||||
|     super.label, |     super.label, | ||||||
| @ -44,7 +44,6 @@ class SymbolButton extends SymbolButtonComponent | |||||||
| 
 | 
 | ||||||
|   final SelectableButtonCubit _cubit = SelectableButtonCubit(); |   final SelectableButtonCubit _cubit = SelectableButtonCubit(); | ||||||
| 
 | 
 | ||||||
|   @override |  | ||||||
|   SelectableButtonCubit get bloc => _cubit; |   SelectableButtonCubit get bloc => _cubit; | ||||||
| 
 | 
 | ||||||
|   @override |   @override | ||||||
| @ -74,7 +73,8 @@ class SymbolButton extends SymbolButtonComponent | |||||||
|       super.themeResolver as SymbolButtonThemeResolver?; |       super.themeResolver as SymbolButtonThemeResolver?; | ||||||
| 
 | 
 | ||||||
|   @override |   @override | ||||||
|   Widget build(BuildContext context) => exportBloc( |   Widget build(BuildContext context) => ExportableBloc( | ||||||
|  |       bloc: _cubit, | ||||||
|         child: SymbolButtonScreen( |         child: SymbolButtonScreen( | ||||||
|           icon: icon, |           icon: icon, | ||||||
|           label: label, |           label: label, | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user