diff --git a/lib/views/widgets/equipment/asset_detail_page.dart b/lib/views/widgets/equipment/asset_detail_page.dart index bcb571f..5132d55 100644 --- a/lib/views/widgets/equipment/asset_detail_page.dart +++ b/lib/views/widgets/equipment/asset_detail_page.dart @@ -43,7 +43,7 @@ class _AssetDetailPageState extends State { @override Widget build(BuildContext context) { assetId ??= ModalRoute.of(context).settings.arguments; - _assetProvider ??= Provider.of(context); + _assetProvider ??= Provider.of(context, listen: false); _assetProvider?.stateCode = null; return Scaffold( appBar: DefaultAppBar(title: context.translation.assetDetails), @@ -62,6 +62,7 @@ class _AssetDetailPageState extends State { return const Center(child: ALoading()); } else if (snapshot.hasData) {} if (snapshot.hasData) { + AssetByIdModel assetModel = snapshot.data; return SingleChildScrollView( padding: const EdgeInsets.all(16), child: Column( @@ -80,7 +81,7 @@ class _AssetDetailPageState extends State { image: DecorationImage( fit: BoxFit.cover, image: NetworkImage( - _assetProvider.assetById?.assetPhoto != null ? URLs.getFileUrl(_assetProvider.assetById.assetPhoto) : "https://www.lasteelcraft.com/images/no-image-available.png"), + assetModel?.assetPhoto != null ? URLs.getFileUrl(assetModel.assetPhoto) : "https://www.lasteelcraft.com/images/no-image-available.png"), )), ), ), @@ -89,14 +90,14 @@ class _AssetDetailPageState extends State { mainAxisAlignment: MainAxisAlignment.spaceBetween, crossAxisAlignment: CrossAxisAlignment.start, children: [ - if (_assetProvider.assetById.commissioningStatus != null) + if (assetModel.commissioningStatus != null) StatusLabel( - label: _assetProvider.assetById.commissioningStatus.name, - textColor: AppColor.getRequestStatusTextColorByName(context, _assetProvider.assetById.commissioningStatus.name), - backgroundColor: AppColor.getRequestStatusColorByName(context, _assetProvider.assetById.commissioningStatus.name), + label: assetModel.commissioningStatus.name, + textColor: AppColor.getRequestStatusTextColorByName(context, assetModel.commissioningStatus.name), + backgroundColor: AppColor.getRequestStatusColorByName(context, assetModel.commissioningStatus.name), ), - if (_assetProvider.assetById.commissioningStatus != null) 8.height, - (_assetProvider.assetById?.modelDefinition?.assetName?.cleanupWhitespace?.capitalizeFirstOfEach ?? "-").heading5(context), + if (assetModel.commissioningStatus != null) 8.height, + (assetModel?.modelDefinition?.assetName?.cleanupWhitespace?.capitalizeFirstOfEach ?? "-").heading5(context), 8.height, Row( crossAxisAlignment: CrossAxisAlignment.start, @@ -104,11 +105,11 @@ class _AssetDetailPageState extends State { Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ - "${context.translation.assetNo}: ${_assetProvider.assetById.multiAssets.first.assetNumber}".bodyText(context), - "${context.translation.modelName}: ${_assetProvider.assetById.modelDefinition.modelName}".bodyText(context), - "${context.translation.supplier}: ${_assetProvider.assetById.supplier?.suppliername ?? "-"}".bodyText(context), - "${context.translation.manufacture}: ${_assetProvider.assetById.modelDefinition.manufacturerName}".bodyText(context), - "${context.translation.location}: ${_assetProvider.assetById.site.custName?.cleanupWhitespace?.capitalizeFirstOfEach}".bodyText(context), + "${context.translation.assetNo}: ${assetModel.multiAssets.first.assetNumber}".bodyText(context), + "${context.translation.modelName}: ${assetModel.modelDefinition.modelName}".bodyText(context), + "${context.translation.supplier}: ${assetModel.supplier?.suppliername ?? "-"}".bodyText(context), + "${context.translation.manufacture}: ${assetModel.modelDefinition.manufacturerName}".bodyText(context), + "${context.translation.location}: ${assetModel.site.custName?.cleanupWhitespace?.capitalizeFirstOfEach}".bodyText(context), ], ).expanded, 8.width, @@ -117,9 +118,9 @@ class _AssetDetailPageState extends State { children: [ /// TODO: theres no [ORACLE CODE] available to preview // "${context.translation.oracleCode}: ${"-"}".bodyText(context), - "${context.translation.snNo}: ${_assetProvider.assetById.multiAssets.first.assetSerialNo}".bodyText(context), - "${context.translation.site}: ${_assetProvider.assetById?.site?.custName?.cleanupWhitespace?.capitalizeFirstOfEach ?? "-"}".bodyText(context), - "${context.translation.md}: ${_assetProvider.assetById?.department?.departmentName?.cleanupWhitespace?.capitalizeFirstOfEach ?? "-"}".bodyText(context), + "${context.translation.snNo}: ${assetModel.multiAssets.first.assetSerialNo}".bodyText(context), + "${context.translation.site}: ${assetModel?.site?.custName?.cleanupWhitespace?.capitalizeFirstOfEach ?? "-"}".bodyText(context), + "${context.translation.md}: ${assetModel?.department?.departmentName?.cleanupWhitespace?.capitalizeFirstOfEach ?? "-"}".bodyText(context), ], ).expanded, ], @@ -127,14 +128,14 @@ class _AssetDetailPageState extends State { 8.height, const Divider(color: AppColor.neutral30, height: 1, thickness: 1), 8.height, - "${context.translation.installationDate}: ${_assetProvider.assetById.installationDate.toAssetDetailsFormat ?? "-"}".bodyText(context), - "${context.translation.nextPmDate}: ${_assetProvider.assetById.nextPMDate.toAssetDetailsFormat}".bodyText(context), - "${context.translation.lastPmDate}: ${_assetProvider.assetById.lastPMDate.toAssetDetailsFormat}".bodyText(context), - if ((_assetProvider.assetById.modelDefinition.assetDescription ?? "").isNotEmpty) ...[ + "${context.translation.installationDate}: ${assetModel.installationDate.toAssetDetailsFormat ?? "-"}".bodyText(context), + "${context.translation.nextPmDate}: ${assetModel.nextPMDate.toAssetDetailsFormat}".bodyText(context), + "${context.translation.lastPmDate}: ${assetModel.lastPMDate.toAssetDetailsFormat}".bodyText(context), + if ((assetModel.modelDefinition.assetDescription ?? "").isNotEmpty) ...[ 8.height, const Divider(color: AppColor.neutral30, height: 1, thickness: 1), 8.height, - _assetProvider.assetById.modelDefinition.assetDescription.bodyText(context), + assetModel.modelDefinition.assetDescription.bodyText(context), ] ], ) diff --git a/lib/views/widgets/pentry/pentry_tbs_form.dart b/lib/views/widgets/pentry/pentry_tbs_form.dart index 42fc33a..7394686 100644 --- a/lib/views/widgets/pentry/pentry_tbs_form.dart +++ b/lib/views/widgets/pentry/pentry_tbs_form.dart @@ -28,10 +28,24 @@ class PentryTBSForm extends StatefulWidget { } class _PentryTBSFormState extends State { + Ppm _model; + + @override + void initState() { + _model = widget.model; + super.initState(); + } + + @override + void dispose() { + print("disposeddddddd"); + super.dispose(); + } + @override Widget build(BuildContext context) { - widget.model?.files ??= []; - widget.model?.files = (widget.model.files ?? []).where((element) => element.attachmentName != null && element.attachmentName.isNotEmpty).toList(); + _model?.files ??= []; + _model?.files = (_model.files ?? []).where((element) => element.attachmentName != null && element.attachmentName.isNotEmpty).toList(); return SingleChildScrollView( child: Column( @@ -40,7 +54,7 @@ class _PentryTBSFormState extends State { 8.height, SingleItemDropDownMenu( context: context, - initialValue: widget.model.visitStatusId == null ? null : Lookup(name: widget.model.visitStatusName ?? "", id: widget.model.visitStatusId), + initialValue: _model.visitStatusId == null ? null : Lookup(name: _model.visitStatusName ?? "", id: _model.visitStatusId), title: context.translation.ppmVisit, onSelect: (value) { if (value?.value == 4) { @@ -50,93 +64,93 @@ class _PentryTBSFormState extends State { } if (value != null) { - widget.model.visitStatusName = value.name; - widget.model.visitStatusId = value.id; + _model.visitStatusName = value.name; + _model.visitStatusId = value.id; } }, ), 8.height, AppTimer( label: context.translation.timer, - timer: widget.model.tbsTimer, - enabled: widget.model.tbsTimer.endAt == null, + timer: _model.tbsTimer, + enabled: _model.tbsTimer.endAt == null, onChange: (timer) async { - widget.model.tbsTimer = timer; + _model.tbsTimer = timer; return true; }, ), 8.height, SingleItemDropDownMenu( context: context, - initialValue: widget.model.deviceStatusId == null ? null : Lookup(name: widget.model.deviceStatusName ?? "", id: widget.model.deviceStatusId), + initialValue: _model.deviceStatusId == null ? null : Lookup(name: _model.deviceStatusName ?? "", id: _model.deviceStatusId), title: context.translation.deviceStatus, onSelect: (value) { if (value != null) { - widget.model.deviceStatusId = value.id; - widget.model.deviceStatusName = value.name; + _model.deviceStatusId = value.id; + _model.deviceStatusName = value.name; } }, ), 8.height, ADatePicker( label: context.translation.actualVisitDate, - date: DateTime.tryParse(widget.model.actualDate ?? ""), + date: DateTime.tryParse(_model.actualDate ?? ""), from: DateTime.now().subtract(const Duration(days: 30)), onDatePicker: (date) { if (date == null) return; - widget.model.actualDate = date?.toIso8601String(); + _model.actualDate = date?.toIso8601String(); setState(() {}); }, ), 8.height, ADatePicker( label: context.translation.expectedVisitDate, - date: DateTime.tryParse(widget.model.expectedDate ?? ""), + date: DateTime.tryParse(_model.expectedDate ?? ""), from: DateTime.now().subtract(const Duration(days: 30)), enable: false, onDatePicker: (date) { if (date == null) return; - widget.model.expectedDate = date?.toIso8601String(); + _model.expectedDate = date?.toIso8601String(); setState(() {}); }, ), 8.height, AppTextFormField( labelText: context.translation.travelingHours, - initialValue: (widget.model.travelingHours ?? "").toString(), + initialValue: (_model.travelingHours ?? "").toString(), textAlign: TextAlign.center, style: Theme.of(context).textTheme.titleMedium, textInputType: TextInputType.number, onChange: (value) { - widget.model.travelingHours = value; + _model.travelingHours = value; }, ), 8.height, MultiFilesPicker( label: context.translation.attachImage, - files: widget.model.files.map((e) => File(e.attachmentName)).toList(), + files: _model.files.map((e) => File(e.attachmentName)).toList(), onChange: (files) { - widget.model.files = files.map((e) => PpmAttachments(attachmentName: e.path)).toList(); + _model.files = files.map((e) => PpmAttachments(attachmentName: e.path)).toList(); }, ), 8.height, ESignature( title: context.translation.nurseSignature, - oldSignature: widget.model.nurseSignature, - newSignature: widget.model.localNurseSignature, + oldSignature: _model.nurseSignature, + newSignature: _model.localNurseSignature, onChange: (signature) { - widget.model.localNurseSignature = signature; - widget.model.nurseSignature = "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}"; + _model.localNurseSignature = signature; + _model.nurseSignature = "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}"; }, ), 8.height, ESignature( title: context.translation.engSign, - oldSignature: widget.model.engSignature, - newSignature: widget.model.localEngineerSignature, + oldSignature: _model.engSignature, + newSignature: _model.localEngineerSignature, onChange: (signature) { - widget.model.localEngineerSignature = signature; - widget.model.engSignature = "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}"; + _model.localEngineerSignature = signature; + _model.engSignature = "${DateTime.now().toIso8601String()}.png|${base64Encode(signature)}"; }, ), 8.height,