Line data Source code
1 : import 'package:flutter/widgets.dart'; 2 : import 'package:get_core/src/rx/rx_obx.dart'; 3 : import 'get_state.dart'; 4 : 5 : class MixinBuilder<T extends GetController> extends StatelessWidget { 6 : @required 7 : final Widget Function(T) builder; 8 : final bool global; 9 : final String id; 10 : final bool autoRemove; 11 : final void Function(State state) initState, dispose, didChangeDependencies; 12 : final void Function(GetBuilder oldWidget, State state) didUpdateWidget; 13 : final T init; 14 1 : const MixinBuilder({ 15 : Key key, 16 : this.init, 17 : this.global = true, 18 : this.builder, 19 : this.autoRemove = true, 20 : this.initState, 21 : this.dispose, 22 : this.id, 23 : this.didChangeDependencies, 24 : this.didUpdateWidget, 25 1 : }) : assert(builder != null), 26 1 : super(key: key); 27 : 28 1 : @override 29 : Widget build(BuildContext context) { 30 1 : return GetBuilder<T>( 31 1 : init: init, 32 1 : global: global, 33 1 : autoRemove: autoRemove, 34 1 : initState: initState, 35 1 : dispose: dispose, 36 1 : id: id, 37 1 : didChangeDependencies: didChangeDependencies, 38 1 : didUpdateWidget: didUpdateWidget, 39 5 : builder: (controller) => obx(() => builder.call(controller))); 40 : } 41 : }