init state issue resolve

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

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

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

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

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

Loading…
Cancel
Save