flutter-freaccess-hub/lib/modals/details/visit_details_modal/widget.dart

125 lines
3.9 KiB
Dart

import 'package:hub/modals/details/schedule_visit_detail/widget.dart';
import 'package:hub/modals/details/view_visit_detail/widget.dart';
import '/commons/widgets/flutter_flow_util.dart';
import 'package:flutter/material.dart';
import 'model.dart';
export 'model.dart';
class VisitDetailsModalTemplateComponentWidget extends StatefulWidget {
const VisitDetailsModalTemplateComponentWidget({
super.key,
this.visitStatusStr,
this.visitStartDateStr,
this.visitEndDateStr,
this.visitReasonStr,
this.visitLevelStr,
this.visitTempStr,
this.visitObsStr,
this.visitorStrList,
this.visitorJsonList,
this.visitorImgPath,
this.visitorImgList,
this.visitIdStr,
this.updateToggleIdx,
this.repeatVisitSchedule,
this.visitStatusColor,
});
final String? visitStatusStr;
final String? visitStartDateStr;
final String? visitEndDateStr;
final String? visitReasonStr;
final String? visitLevelStr;
final String? visitTempStr;
final String? visitObsStr;
final String? visitorStrList;
final List<dynamic>? visitorJsonList;
final String? visitorImgPath;
final List<String>? visitorImgList;
final String? visitIdStr;
final Future Function()? updateToggleIdx;
final Future Function()? repeatVisitSchedule;
final Color? visitStatusColor;
@override
State<VisitDetailsModalTemplateComponentWidget> createState() =>
_VisitDetailsModalTemplateComponentWidgetState();
}
class _VisitDetailsModalTemplateComponentWidgetState
extends State<VisitDetailsModalTemplateComponentWidget> {
late VisitDetailsModalTemplateComponentModel _model;
@override
void setState(VoidCallback callback) {
super.setState(callback);
_model.onUpdate();
}
@override
void initState() {
super.initState();
_model =
createModel(context, () => VisitDetailsModalTemplateComponentModel());
}
@override
void dispose() {
_model.maybeDispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Align(
alignment: const AlignmentDirectional(0.0, 1.0),
child: Builder(
builder: (context) {
if (widget.visitStatusStr != null && widget.visitStatusStr != '') {
return wrapWithModel(
model: _model.viewVisitDetailModel,
updateCallback: () => setState(() {}),
updateOnChange: true,
child: ViewVisitDetailWidget(
visitorImgPath: widget.visitorImgPath,
visitStartDate: widget.visitStartDateStr!,
visitEndDate: widget.visitEndDateStr!,
visitReasonStr: widget.visitReasonStr!,
visitLevelStr: widget.visitLevelStr!,
visitTempStr: widget.visitTempStr!,
visitObsStr: widget.visitObsStr!,
visitStatusStr: widget.visitStatusStr!,
visitorStrList: widget.visitorStrList!,
visitorJsonList: widget.visitorJsonList,
visitIdStr: widget.visitIdStr!,
visitStatusColor: widget.visitStatusColor!,
),
);
} else {
return wrapWithModel(
model: _model.scheduleVisitDetailModel,
updateCallback: () => setState(() {}),
updateOnChange: true,
child: ScheduleVisitDetailWidget(
visitorStrList: widget.visitorStrList!,
visitorImgPath: widget.visitorImgPath,
visitStartDate: widget.visitStartDateStr!,
visitEndDate: widget.visitEndDateStr!,
visitResonStr: widget.visitReasonStr!,
visitLevelStr: widget.visitLevelStr!,
visitTempStr: widget.visitTempStr!,
visitObsStr: widget.visitObsStr!,
visitorJsonList: widget.visitorJsonList!,
),
);
}
},
),
);
}
}