Line data Source code
1 : import 'package:flutter/material.dart'; 2 : 3 : import 'package:bootstrap_flutter/src/controller_bootstrap.dart'; 4 : 5 : import 'models/model.dart'; 6 : 7 : class ScaffoldBootstrap extends StatefulWidget { 8 : final Color? backgroundColor; 9 : final List<Component> children; 10 1 : const ScaffoldBootstrap({ 11 : Key? key, 12 : this.backgroundColor, 13 : required this.children, 14 1 : }) : super(key: key); 15 : 16 1 : @override 17 1 : _ScaffoldBootstrapState createState() => _ScaffoldBootstrapState(); 18 : } 19 : 20 : class _ScaffoldBootstrapState extends State<ScaffoldBootstrap> { 21 : late ControllerBootstrap controller; 22 : 23 1 : @override 24 : void initState() { 25 4 : controller = ControllerBootstrap(widget.children); 26 2 : controller.createComponents(); 27 1 : super.initState(); 28 : } 29 : 30 1 : List<Widget> mountWidgets(TypeScreen typeScreen) { 31 2 : final widgets = controller.components 32 4 : .map((e) => e.organizations.containsKey(typeScreen) 33 1 : ? SizedBox( 34 1 : child: e.child, 35 5 : height: MediaQuery.of(context).size.height * 36 3 : e.organizations[typeScreen]!.height, 37 4 : width: Screen.screens()[typeScreen]!.column * 38 3 : e.organizations[typeScreen]!.division, 39 : ) 40 0 : : Container()) 41 1 : .toList(); 42 : return widgets; 43 : } 44 : 45 1 : @override 46 : Widget build(BuildContext context) { 47 1 : return Scaffold( 48 2 : backgroundColor: widget.backgroundColor, 49 1 : body: SizedBox( 50 3 : width: MediaQuery.of(context).size.width, 51 3 : height: MediaQuery.of(context).size.height, 52 1 : child: SingleChildScrollView( 53 1 : child: LayoutBuilder( 54 1 : builder: (context, constraints) { 55 1 : return Wrap( 56 : alignment: WrapAlignment.center, 57 : direction: Axis.horizontal, 58 2 : children: mountWidgets(constraints.getScreenType)); 59 : }, 60 : ), 61 : ), 62 : ), 63 : ); 64 : } 65 : }