init state issue resolve

lab_result
taha.alam 5 months ago
parent a68da808da
commit 9a23b7dd7c

@ -39,6 +39,7 @@ class _LaboratoryResultPageState extends State<LaboratoryResultPage> {
baseViewModel: model, baseViewModel: model,
showNewAppBar: true, showNewAppBar: true,
showNewAppBarTitle: true, showNewAppBarTitle: true,
showLoader: false,
backgroundColor: Color(0xffF8F8F8), backgroundColor: Color(0xffF8F8F8),
body: SingleChildScrollView( body: SingleChildScrollView(
child: Column( child: Column(
@ -63,6 +64,7 @@ class _LaboratoryResultPageState extends State<LaboratoryResultPage> {
: getSpecialResults(model), : getSpecialResults(model),
orderNo: widget.patientLabOrders!.orderNo, orderNo: widget.patientLabOrders!.orderNo,
patientLabOrder: widget.patientLabOrders, patientLabOrder: widget.patientLabOrders,
labmodel: model
), ),
], ],
), ),

@ -20,8 +20,9 @@ class LaboratoryResultWidget extends StatefulWidget {
final String? projectName; final String? projectName;
final PatientLabOrders? patientLabOrder; final PatientLabOrders? patientLabOrder;
final bool showConfirmMessageDialog; final bool showConfirmMessageDialog;
final LabsViewModel labmodel;
const LaboratoryResultWidget({Key? key, this.onTap, this.billNo, this.details, this.orderNo, this.projectName, this.patientLabOrder, this.showConfirmMessageDialog = true}) : super(key: key); const LaboratoryResultWidget({Key? key, this.onTap, this.billNo, this.details, this.orderNo, this.projectName, this.patientLabOrder, this.showConfirmMessageDialog = true,required this.labmodel}) : super(key: key);
@override @override
_LaboratoryResultWidgetState createState() => _LaboratoryResultWidgetState(); _LaboratoryResultWidgetState createState() => _LaboratoryResultWidgetState();
@ -37,8 +38,10 @@ class _LaboratoryResultWidgetState extends State<LaboratoryResultWidget> {
@override @override
void initState() { void initState() {
super.initState(); super.initState();
this.model = widget.labmodel;
labSpecialResult = widget.details ?? TranslationBase.of(context).noDataAvailable; print("the details are ${widget.details}");
labSpecialResult = widget.details;
} }
@ -67,21 +70,24 @@ class _LaboratoryResultWidgetState extends State<LaboratoryResultWidget> {
isTabletScreen = isTablet(context); isTabletScreen = isTablet(context);
projectViewModel = Provider.of(context); projectViewModel = Provider.of(context);
return BaseView<LabsViewModel>( return BaseView<LabsViewModel>(
onModelReady: (model) { onModelReady: (_) {
this.model = model; print("the length of in on model Ready ${model?.patientLabSpecialResult.length}");
model.getPatientLabResult(isVidaPlus: Utils.isVidaPlusProject(projectViewModel, int.parse(widget.patientLabOrder!.projectID!)), patientLabOrder: widget.patientLabOrder!, isTablet: isTabletScreen); WidgetsBinding.instance.addPostFrameCallback((_) {
model?.getPatientLabResult(isVidaPlus: Utils.isVidaPlusProject(projectViewModel, int.parse(widget.patientLabOrder!.projectID!)), patientLabOrder: widget.patientLabOrder!, isTablet: isTabletScreen);
});
}, },
builder: (_, model, w) => NetworkBaseView( builder: (_, __, w) => NetworkBaseView(
baseViewModel: model, baseViewModel: widget.labmodel,
child: Column( child: Column(
mainAxisSize: MainAxisSize.max, mainAxisSize: MainAxisSize.max,
children: [ children: [
_buildDoctorHeader(), _buildDoctorHeader(),
SizedBox(height: 10), SizedBox(height: 10),
if (model.labResultLists.isNotEmpty) if (this.model?.labResultLists.isNotEmpty == true)
Padding( Padding(
padding: const EdgeInsets.all(21.0), padding: const EdgeInsets.all(21.0),
child: _buildLabResultsList(model), child: _buildLabResultsList(model!),
), ),
// Expanded( // Expanded(

@ -90,6 +90,7 @@ class AppScaffold extends StatefulWidget {
final bool resizeToAvoidBottomInset; final bool resizeToAvoidBottomInset;
final bool showCenteredLogo; final bool showCenteredLogo;
final bool showLastLoginScreenBar; final bool showLastLoginScreenBar;
final bool showLoader;
AppScaffold setOnAppBarCartClick(VoidCallback onClick) { AppScaffold setOnAppBarCartClick(VoidCallback onClick) {
_onCartClick = onClick; _onCartClick = onClick;
@ -143,6 +144,7 @@ class AppScaffold extends StatefulWidget {
this.resizeToAvoidBottomInset = false, this.resizeToAvoidBottomInset = false,
this.showCenteredLogo = false, this.showCenteredLogo = false,
this.showLastLoginScreenBar = false, this.showLastLoginScreenBar = false,
this.showLoader = true,
}); });
@override @override
@ -298,6 +300,7 @@ class _AppScaffoldState extends State<AppScaffold> {
? NetworkBaseView( ? NetworkBaseView(
child: buildBodyWidget(context), child: buildBodyWidget(context),
baseViewModel: widget.baseViewModel, baseViewModel: widget.baseViewModel,
showLoader : widget.showLoader
) )
: buildBodyWidget(context), : buildBodyWidget(context),
), ),

@ -10,8 +10,9 @@ class NetworkBaseView extends StatefulWidget {
final Widget? child; final Widget? child;
final bool isLocalLoader; final bool isLocalLoader;
final bool? isLoading; final bool? isLoading;
final bool? showLoader;
NetworkBaseView({Key? key, this.baseViewModel, this.child, this.isLocalLoader = false, this.isLoading}); NetworkBaseView({Key? key, this.baseViewModel, this.child, this.isLocalLoader = false, this.isLoading, this.showLoader = true});
@override @override
_NetworkBaseViewState createState() => _NetworkBaseViewState(); _NetworkBaseViewState createState() => _NetworkBaseViewState();
@ -47,6 +48,9 @@ class _NetworkBaseViewState extends State<NetworkBaseView> {
} }
buildBaseViewWidget() { buildBaseViewWidget() {
if(widget.showLoader == false) {
return widget.child;
}
switch (widget.baseViewModel!.state) { switch (widget.baseViewModel!.state) {
case ViewState.ErrorLocal: case ViewState.ErrorLocal:
case ViewState.Idle: case ViewState.Idle:

Loading…
Cancel
Save