Null Safety - Widgets Folder
parent
b906ca60e6
commit
429c8136ee
@ -1,7 +1,7 @@
|
||||
class TimerModel {
|
||||
DateTime startAt;
|
||||
DateTime endAt;
|
||||
int durationInSecond;
|
||||
DateTime? startAt;
|
||||
DateTime? endAt;
|
||||
int? durationInSecond;
|
||||
|
||||
TimerModel({this.startAt,this.endAt,this.durationInSecond});
|
||||
}
|
||||
@ -1,74 +1,83 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:test_sa/views/app_style/sizing.dart';
|
||||
|
||||
import '../../app_style/sizing.dart';
|
||||
|
||||
class RequestInfoRow extends StatelessWidget {
|
||||
final String title;
|
||||
final String info;
|
||||
final String content;
|
||||
final Widget contentWidget;
|
||||
final Widget infoWidget;
|
||||
final String? title;
|
||||
final String? info;
|
||||
final String? content;
|
||||
final Widget? contentWidget;
|
||||
final Widget? infoWidget;
|
||||
|
||||
const RequestInfoRow({
|
||||
Key? key,
|
||||
this.title,
|
||||
this.info,
|
||||
this.content,
|
||||
this.contentWidget,
|
||||
this.infoWidget,
|
||||
}) : super(key: key);
|
||||
|
||||
const RequestInfoRow({Key key, this.title, this.info,this.content, this.contentWidget, this.infoWidget}) : super(key: key);
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
if(info != null && info.isEmpty){
|
||||
return SizedBox.shrink();
|
||||
if (info != null && info!.isEmpty) {
|
||||
return const SizedBox.shrink();
|
||||
}
|
||||
if(content != null && content.isEmpty){
|
||||
return SizedBox.shrink();
|
||||
if (content != null && content!.isEmpty) {
|
||||
return const SizedBox.shrink();
|
||||
}
|
||||
return Column(
|
||||
children: [
|
||||
Row(
|
||||
children: [
|
||||
Text(
|
||||
title + " : ",
|
||||
style: Theme.of(context).textTheme.subtitle2.copyWith(
|
||||
//fontSize: 12
|
||||
),
|
||||
"$title : ",
|
||||
style: Theme.of(context).textTheme.titleSmall?.copyWith(
|
||||
//fontSize: 12
|
||||
),
|
||||
textScaleFactor: AppStyle.getScaleFactor(context),
|
||||
),
|
||||
|
||||
if(info != null)
|
||||
Expanded(
|
||||
child: Text(
|
||||
info,
|
||||
style: Theme.of(context).textTheme.bodyText2,
|
||||
textAlign: TextAlign.right,
|
||||
textScaleFactor: AppStyle.getScaleFactor(context),
|
||||
if (info != null)
|
||||
Expanded(
|
||||
child: Text(
|
||||
info ?? '',
|
||||
style: Theme.of(context).textTheme.bodyMedium,
|
||||
textAlign: TextAlign.right,
|
||||
textScaleFactor: AppStyle.getScaleFactor(context),
|
||||
),
|
||||
),
|
||||
),
|
||||
if(infoWidget != null)
|
||||
if (infoWidget != null)
|
||||
Expanded(
|
||||
child: Row(
|
||||
mainAxisAlignment: MainAxisAlignment.end,
|
||||
children: [
|
||||
infoWidget,
|
||||
infoWidget ?? const SizedBox(),
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
|
||||
if(content != null)
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 8),
|
||||
child: Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: Text(
|
||||
content ?? 'No data found',
|
||||
style: Theme.of(context).textTheme.bodyText2,
|
||||
textAlign: TextAlign.center,
|
||||
textScaleFactor: AppStyle.getScaleFactor(context),
|
||||
if (content != null)
|
||||
Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 8),
|
||||
child: Row(
|
||||
children: [
|
||||
Expanded(
|
||||
child: Text(
|
||||
content ?? 'No data found',
|
||||
style: Theme.of(context).textTheme.bodyMedium,
|
||||
textAlign: TextAlign.center,
|
||||
textScaleFactor: AppStyle.getScaleFactor(context),
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
],
|
||||
),
|
||||
),
|
||||
if (contentWidget != null) contentWidget!,
|
||||
Divider(
|
||||
color: Theme.of(context).primaryColor,
|
||||
),
|
||||
if(contentWidget != null)
|
||||
contentWidget,
|
||||
Divider(color: Theme.of(context).primaryColor,),
|
||||
],
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,35 +1,39 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:test_sa/views/app_style/colors.dart';
|
||||
import 'package:test_sa/views/app_style/sizing.dart';
|
||||
class StatusLabel extends StatelessWidget {
|
||||
final String label;
|
||||
final Color color;
|
||||
|
||||
const StatusLabel({Key key, this.label, this.color}) : super(key: key);
|
||||
import '../../app_style/colors.dart';
|
||||
import '../../app_style/sizing.dart';
|
||||
|
||||
class StatusLabel extends StatelessWidget {
|
||||
final String? label;
|
||||
final Color? color;
|
||||
|
||||
const StatusLabel({
|
||||
Key? key,
|
||||
this.label,
|
||||
this.color,
|
||||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
padding: EdgeInsets.symmetric(vertical: 2,horizontal: 8),
|
||||
return Container(
|
||||
padding: const EdgeInsets.symmetric(vertical: 2, horizontal: 8),
|
||||
alignment: Alignment.center,
|
||||
decoration: BoxDecoration(
|
||||
color: color ?? Colors.green,
|
||||
borderRadius: BorderRadius.circular(
|
||||
AppStyle.getBorderRadius(context)
|
||||
),
|
||||
boxShadow: [
|
||||
AppStyle.boxShadow
|
||||
]
|
||||
color: color ?? Colors.green,
|
||||
borderRadius: BorderRadius.circular(
|
||||
AppStyle.getBorderRadius(context),
|
||||
),
|
||||
boxShadow: const [AppStyle.boxShadow],
|
||||
),
|
||||
child: Text(
|
||||
label ?? "no status",
|
||||
style: Theme.of(context).textTheme.subtitle2.copyWith(
|
||||
color: color.computeLuminance() > 0.5
|
||||
? AColors.black : Colors.white,
|
||||
),
|
||||
)
|
||||
);
|
||||
style: Theme.of(context).textTheme.titleSmall?.copyWith(
|
||||
color: color != null
|
||||
? color!.computeLuminance() > 0.5
|
||||
? AColors.black
|
||||
: Colors.white
|
||||
: null,
|
||||
),
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,37 +1,44 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:test_sa/controllers/providers/api/status_drop_down/employee/employee_provider.dart';
|
||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||
import 'package:test_sa/models/lookup.dart';
|
||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
||||
|
||||
import '../../../../controllers/providers/api/status_drop_down/employee/employee_provider.dart';
|
||||
import '../../../../controllers/providers/api/user_provider.dart';
|
||||
import '../../../../controllers/providers/settings/setting_provider.dart';
|
||||
import '../../../../models/lookup.dart';
|
||||
import '../../loaders/loading_manager.dart';
|
||||
import '../single_status_menu.dart';
|
||||
|
||||
class EmployeeMenu extends StatelessWidget {
|
||||
final Function(Lookup) onSelect;
|
||||
final Lookup initialValue;
|
||||
final Function(Lookup?) onSelect;
|
||||
final Lookup? initialValue;
|
||||
|
||||
const EmployeeMenu({
|
||||
Key? key,
|
||||
required this.onSelect,
|
||||
required this.initialValue,
|
||||
}) : super(key: key);
|
||||
|
||||
const EmployeeMenu({Key key, this.onSelect, this.initialValue}) : super(key: key);
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final settingProvider = Provider.of<SettingProvider>(context);
|
||||
final userProvider = Provider.of<UserProvider>(context);
|
||||
final menuProvider = Provider.of<EmployeesProvider>(context);
|
||||
return LoadingManager(
|
||||
isLoading: menuProvider.isLoading,
|
||||
isFailedLoading: menuProvider.items == null,
|
||||
stateCode: menuProvider.stateCode,
|
||||
onRefresh: () async {
|
||||
menuProvider.reset();
|
||||
await menuProvider.getData(
|
||||
user: userProvider.user,
|
||||
host: settingProvider.host
|
||||
);
|
||||
},
|
||||
child: SingleStatusMenu(
|
||||
initialStatus: initialValue,
|
||||
statuses: menuProvider.items,
|
||||
onSelect: onSelect,
|
||||
)
|
||||
isLoading: menuProvider.isLoading,
|
||||
isFailedLoading: menuProvider.items == null,
|
||||
stateCode: menuProvider.stateCode,
|
||||
onRefresh: () async {
|
||||
menuProvider.reset();
|
||||
await menuProvider.getData(
|
||||
user: userProvider.user,
|
||||
host: settingProvider.host,
|
||||
);
|
||||
},
|
||||
child: SingleStatusMenu(
|
||||
initialStatus: initialValue,
|
||||
statuses: menuProvider.items,
|
||||
onSelect: onSelect,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,37 +1,44 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:test_sa/controllers/providers/api/status_drop_down/gas_refill/gas_cylinder_size_provider.dart';
|
||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||
import 'package:test_sa/models/lookup.dart';
|
||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
||||
|
||||
import '../../../../controllers/providers/api/status_drop_down/gas_refill/gas_cylinder_size_provider.dart';
|
||||
import '../../../../controllers/providers/api/user_provider.dart';
|
||||
import '../../../../controllers/providers/settings/setting_provider.dart';
|
||||
import '../../../../models/lookup.dart';
|
||||
import '../../loaders/loading_manager.dart';
|
||||
import '../single_status_menu.dart';
|
||||
|
||||
class GasCylinderSizeMenu extends StatelessWidget {
|
||||
final Function(Lookup) onSelect;
|
||||
final Lookup initialValue;
|
||||
final Function(Lookup?)? onSelect;
|
||||
final Lookup? initialValue;
|
||||
|
||||
const GasCylinderSizeMenu({
|
||||
Key? key,
|
||||
this.onSelect,
|
||||
this.initialValue,
|
||||
}) : super(key: key);
|
||||
|
||||
const GasCylinderSizeMenu({Key key, this.onSelect, this.initialValue}) : super(key: key);
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final settingProvider = Provider.of<SettingProvider>(context);
|
||||
final userProvider = Provider.of<UserProvider>(context);
|
||||
final menuProvider = Provider.of<GasCylinderSizesProvider>(context);
|
||||
return LoadingManager(
|
||||
isLoading: menuProvider.isLoading,
|
||||
isFailedLoading: menuProvider.items == null,
|
||||
stateCode: menuProvider.stateCode,
|
||||
onRefresh: () async {
|
||||
menuProvider.reset();
|
||||
await menuProvider.getData(
|
||||
user: userProvider.user,
|
||||
host: settingProvider.host
|
||||
);
|
||||
},
|
||||
child: SingleStatusMenu(
|
||||
initialStatus: initialValue,
|
||||
statuses: menuProvider.items,
|
||||
onSelect: onSelect,
|
||||
)
|
||||
isLoading: menuProvider.isLoading,
|
||||
isFailedLoading: menuProvider.items == null,
|
||||
stateCode: menuProvider.stateCode,
|
||||
onRefresh: () async {
|
||||
menuProvider.reset();
|
||||
await menuProvider.getData(
|
||||
user: userProvider.user,
|
||||
host: settingProvider.host,
|
||||
);
|
||||
},
|
||||
child: SingleStatusMenu(
|
||||
initialStatus: initialValue,
|
||||
statuses: menuProvider.items,
|
||||
onSelect: onSelect,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,37 +1,42 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:test_sa/controllers/providers/api/status_drop_down/gas_refill/gas_types_provider.dart';
|
||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||
import 'package:test_sa/models/lookup.dart';
|
||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
||||
|
||||
import '../../../../controllers/providers/api/status_drop_down/gas_refill/gas_types_provider.dart';
|
||||
import '../../../../controllers/providers/api/user_provider.dart';
|
||||
import '../../../../controllers/providers/settings/setting_provider.dart';
|
||||
import '../../../../models/lookup.dart';
|
||||
import '../../loaders/loading_manager.dart';
|
||||
import '../single_status_menu.dart';
|
||||
|
||||
class GasTypeMenu extends StatelessWidget {
|
||||
final Function(Lookup) onSelect;
|
||||
final Lookup initialValue;
|
||||
final Function(Lookup?)? onSelect;
|
||||
final Lookup? initialValue;
|
||||
|
||||
const GasTypeMenu({
|
||||
Key? key,
|
||||
this.onSelect,
|
||||
this.initialValue,
|
||||
}) : super(key: key);
|
||||
|
||||
const GasTypeMenu({Key key, this.onSelect, this.initialValue}) : super(key: key);
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final settingProvider = Provider.of<SettingProvider>(context);
|
||||
final userProvider = Provider.of<UserProvider>(context);
|
||||
final menuProvider = Provider.of<GasTypesProvider>(context);
|
||||
return LoadingManager(
|
||||
isLoading: menuProvider.isLoading,
|
||||
isFailedLoading: menuProvider.items == null,
|
||||
stateCode: menuProvider.stateCode,
|
||||
onRefresh: () async {
|
||||
menuProvider.reset();
|
||||
await menuProvider.getData(
|
||||
user: userProvider.user,
|
||||
host: settingProvider.host
|
||||
);
|
||||
},
|
||||
child: SingleStatusMenu(
|
||||
initialStatus: initialValue,
|
||||
statuses: menuProvider.items,
|
||||
onSelect: onSelect,
|
||||
)
|
||||
isLoading: menuProvider.isLoading,
|
||||
isFailedLoading: menuProvider.items == null,
|
||||
stateCode: menuProvider.stateCode,
|
||||
onRefresh: () async {
|
||||
menuProvider.reset();
|
||||
await menuProvider.getData(
|
||||
user: userProvider.user, host: settingProvider.host);
|
||||
},
|
||||
child: SingleStatusMenu(
|
||||
initialStatus: initialValue,
|
||||
statuses: menuProvider.items,
|
||||
onSelect: onSelect,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,37 +1,40 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:test_sa/controllers/providers/api/status_drop_down/pentry/pentry_status_provider.dart';
|
||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||
import 'package:test_sa/models/lookup.dart';
|
||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
||||
import '../../../../controllers/providers/api/status_drop_down/pentry/pentry_status_provider.dart';
|
||||
import '../../../../controllers/providers/api/user_provider.dart';
|
||||
import '../../../../controllers/providers/settings/setting_provider.dart';
|
||||
import '../../../../models/lookup.dart';
|
||||
import '../../loaders/loading_manager.dart';
|
||||
import '../single_status_menu.dart';
|
||||
|
||||
class PentryStatusMenu extends StatelessWidget {
|
||||
final Function(Lookup) onSelect;
|
||||
final Lookup initialValue;
|
||||
final Function(Lookup?)? onSelect;
|
||||
final Lookup? initialValue;
|
||||
|
||||
const PentryStatusMenu({Key? key, this.onSelect, this.initialValue})
|
||||
: super(key: key);
|
||||
|
||||
const PentryStatusMenu({Key key, this.onSelect, this.initialValue}) : super(key: key);
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final settingProvider = Provider.of<SettingProvider>(context);
|
||||
final userProvider = Provider.of<UserProvider>(context);
|
||||
final menuProvider = Provider.of<PentryStatusProvider>(context);
|
||||
return LoadingManager(
|
||||
isLoading: menuProvider.isLoading,
|
||||
isFailedLoading: menuProvider.items == null,
|
||||
stateCode: menuProvider.stateCode,
|
||||
onRefresh: () async {
|
||||
menuProvider.reset();
|
||||
await menuProvider.getData(
|
||||
user: userProvider.user,
|
||||
host: settingProvider.host
|
||||
);
|
||||
},
|
||||
child: SingleStatusMenu(
|
||||
initialStatus: initialValue,
|
||||
statuses: menuProvider.items,
|
||||
onSelect: onSelect,
|
||||
)
|
||||
isLoading: menuProvider.isLoading,
|
||||
isFailedLoading: menuProvider.items == null,
|
||||
stateCode: menuProvider.stateCode,
|
||||
onRefresh: () async {
|
||||
menuProvider.reset();
|
||||
await menuProvider.getData(
|
||||
user: userProvider.user,
|
||||
host: settingProvider.host,
|
||||
);
|
||||
},
|
||||
child: SingleStatusMenu(
|
||||
initialStatus: initialValue,
|
||||
statuses: menuProvider.items,
|
||||
onSelect: onSelect,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,37 +1,44 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:test_sa/controllers/providers/api/status_drop_down/pentry/pentry_task_status_provider.dart';
|
||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||
import 'package:test_sa/models/lookup.dart';
|
||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
||||
|
||||
import '../../../../controllers/providers/api/status_drop_down/pentry/pentry_task_status_provider.dart';
|
||||
import '../../../../controllers/providers/api/user_provider.dart';
|
||||
import '../../../../controllers/providers/settings/setting_provider.dart';
|
||||
import '../../../../models/lookup.dart';
|
||||
import '../../loaders/loading_manager.dart';
|
||||
import '../single_status_menu.dart';
|
||||
|
||||
class PentryTaskStatusMenu extends StatelessWidget {
|
||||
final Function(Lookup) onSelect;
|
||||
final Lookup initialValue;
|
||||
final Function(Lookup?)? onSelect;
|
||||
final Lookup? initialValue;
|
||||
|
||||
const PentryTaskStatusMenu({
|
||||
Key? key,
|
||||
this.onSelect,
|
||||
this.initialValue,
|
||||
}) : super(key: key);
|
||||
|
||||
const PentryTaskStatusMenu({Key key, this.onSelect, this.initialValue}) : super(key: key);
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final settingProvider = Provider.of<SettingProvider>(context);
|
||||
final userProvider = Provider.of<UserProvider>(context);
|
||||
final menuProvider = Provider.of<PentryTaskStatusProvider>(context);
|
||||
return LoadingManager(
|
||||
isLoading: menuProvider.isLoading,
|
||||
isFailedLoading: menuProvider.items == null,
|
||||
stateCode: menuProvider.stateCode,
|
||||
onRefresh: () async {
|
||||
menuProvider.reset();
|
||||
await menuProvider.getData(
|
||||
user: userProvider.user,
|
||||
host: settingProvider.host
|
||||
);
|
||||
},
|
||||
child: SingleStatusMenu(
|
||||
initialStatus: initialValue,
|
||||
statuses: menuProvider.items,
|
||||
onSelect: onSelect,
|
||||
)
|
||||
isLoading: menuProvider.isLoading,
|
||||
isFailedLoading: menuProvider.items == null,
|
||||
stateCode: menuProvider.stateCode,
|
||||
onRefresh: () async {
|
||||
menuProvider.reset();
|
||||
await menuProvider.getData(
|
||||
user: userProvider.user,
|
||||
host: settingProvider.host,
|
||||
);
|
||||
},
|
||||
child: SingleStatusMenu(
|
||||
initialStatus: initialValue,
|
||||
statuses: menuProvider.items,
|
||||
onSelect: onSelect,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,37 +1,44 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:test_sa/controllers/providers/api/status_drop_down/pentry/pentry_visit_status_provider.dart';
|
||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||
import 'package:test_sa/models/lookup.dart';
|
||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
||||
|
||||
import '../../../../controllers/providers/api/status_drop_down/pentry/pentry_visit_status_provider.dart';
|
||||
import '../../../../controllers/providers/api/user_provider.dart';
|
||||
import '../../../../controllers/providers/settings/setting_provider.dart';
|
||||
import '../../../../models/lookup.dart';
|
||||
import '../../loaders/loading_manager.dart';
|
||||
import '../single_status_menu.dart';
|
||||
|
||||
class PentryVisitsStatusMenu extends StatelessWidget {
|
||||
final Function(Lookup) onSelect;
|
||||
final Lookup initialValue;
|
||||
final Function(Lookup?)? onSelect;
|
||||
final Lookup? initialValue;
|
||||
|
||||
const PentryVisitsStatusMenu({
|
||||
Key? key,
|
||||
this.onSelect,
|
||||
this.initialValue,
|
||||
}) : super(key: key);
|
||||
|
||||
const PentryVisitsStatusMenu({Key key, this.onSelect, this.initialValue}) : super(key: key);
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final settingProvider = Provider.of<SettingProvider>(context);
|
||||
final userProvider = Provider.of<UserProvider>(context);
|
||||
final menuProvider = Provider.of<PentryVisitStatusProvider>(context);
|
||||
return LoadingManager(
|
||||
isLoading: menuProvider.isLoading,
|
||||
isFailedLoading: menuProvider.items == null,
|
||||
stateCode: menuProvider.stateCode,
|
||||
onRefresh: () async {
|
||||
menuProvider.reset();
|
||||
await menuProvider.getData(
|
||||
user: userProvider.user,
|
||||
host: settingProvider.host
|
||||
);
|
||||
},
|
||||
child: SingleStatusMenu(
|
||||
initialStatus: initialValue,
|
||||
statuses: menuProvider.items,
|
||||
onSelect: onSelect,
|
||||
)
|
||||
isLoading: menuProvider.isLoading,
|
||||
isFailedLoading: menuProvider.items == null,
|
||||
stateCode: menuProvider.stateCode,
|
||||
onRefresh: () async {
|
||||
menuProvider.reset();
|
||||
await menuProvider.getData(
|
||||
user: userProvider.user,
|
||||
host: settingProvider.host,
|
||||
);
|
||||
},
|
||||
child: SingleStatusMenu(
|
||||
initialStatus: initialValue,
|
||||
statuses: menuProvider.items,
|
||||
onSelect: onSelect,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,29 +1,36 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_last_calls_provider.dart';
|
||||
import 'package:test_sa/models/lookup.dart';
|
||||
import 'package:test_sa/models/service_report.dart';
|
||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
||||
|
||||
import '../../../../controllers/providers/api/status_drop_down/report/service_report_last_calls_provider.dart';
|
||||
import '../../../../models/lookup.dart';
|
||||
import '../../../../models/service_report.dart';
|
||||
import '../../loaders/loading_manager.dart';
|
||||
import '../single_status_menu.dart';
|
||||
|
||||
class ServiceReportLastCallsMenu extends StatelessWidget {
|
||||
final Function(Lookup) onSelect;
|
||||
final ServiceReport report;
|
||||
final Function(Lookup?)? onSelect;
|
||||
final ServiceReport? report;
|
||||
|
||||
const ServiceReportLastCallsMenu({
|
||||
Key key,@required this.onSelect,@required this.report}) : super(key: key);
|
||||
Key? key,
|
||||
required this.onSelect,
|
||||
required this.report,
|
||||
}) : super(key: key);
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
ServiceReportLastCallsProvider _menuProvider = Provider.of<ServiceReportLastCallsProvider>(context);
|
||||
ServiceReportLastCallsProvider menuProvider =
|
||||
Provider.of<ServiceReportLastCallsProvider>(context);
|
||||
return LoadingManager(
|
||||
isLoading: _menuProvider.isLoading,
|
||||
isFailedLoading: _menuProvider.calls == null,
|
||||
stateCode: _menuProvider.stateCode,
|
||||
onRefresh: () async {},
|
||||
child: SingleStatusMenu(
|
||||
initialStatus: report?.callLastSituation,
|
||||
statuses: _menuProvider.calls,
|
||||
onSelect: onSelect,
|
||||
)
|
||||
isLoading: menuProvider.isLoading,
|
||||
isFailedLoading: menuProvider.calls == null,
|
||||
stateCode: menuProvider.stateCode,
|
||||
onRefresh: () async {},
|
||||
child: SingleStatusMenu(
|
||||
initialStatus: report?.callLastSituation,
|
||||
statuses: menuProvider.calls,
|
||||
onSelect: onSelect,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,38 +1,44 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_reasons_provider.dart';
|
||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||
import 'package:test_sa/models/lookup.dart';
|
||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
||||
import '../../../../controllers/providers/api/status_drop_down/report/service_report_reasons_provider.dart';
|
||||
import '../../../../controllers/providers/api/user_provider.dart';
|
||||
import '../../../../controllers/providers/settings/setting_provider.dart';
|
||||
import '../../../../models/lookup.dart';
|
||||
import '../../loaders/loading_manager.dart';
|
||||
import '../single_status_menu.dart';
|
||||
|
||||
class ServiceReportReasonsMenu extends StatelessWidget {
|
||||
final Lookup initialValue;
|
||||
final Function(Lookup) onSelect;
|
||||
final Lookup? initialValue;
|
||||
final Function(Lookup?)? onSelect;
|
||||
|
||||
const ServiceReportReasonsMenu({
|
||||
Key? key,
|
||||
this.onSelect,
|
||||
this.initialValue,
|
||||
}) : super(key: key);
|
||||
|
||||
const ServiceReportReasonsMenu({Key key, this.onSelect, this.initialValue}) : super(key: key);
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
SettingProvider _settingProvider = Provider.of<SettingProvider>(context);
|
||||
UserProvider _userProvider = Provider.of<UserProvider>(context);
|
||||
ServiceReportReasonsProvider _menuProvider = Provider.of<ServiceReportReasonsProvider>(context);
|
||||
SettingProvider settingProvider = Provider.of<SettingProvider>(context);
|
||||
UserProvider userProvider = Provider.of<UserProvider>(context);
|
||||
ServiceReportReasonsProvider menuProvider =
|
||||
Provider.of<ServiceReportReasonsProvider>(context);
|
||||
return LoadingManager(
|
||||
isLoading: _menuProvider.isLoading,
|
||||
isFailedLoading: _menuProvider.reasons == null,
|
||||
stateCode: _menuProvider.stateCode,
|
||||
onRefresh: () async {
|
||||
_menuProvider.reset();
|
||||
await _menuProvider.getTypes(
|
||||
user: _userProvider.user,
|
||||
host: _settingProvider.host,
|
||||
|
||||
);
|
||||
},
|
||||
child: SingleStatusMenu(
|
||||
initialStatus: initialValue,
|
||||
statuses: _menuProvider.reasons,
|
||||
onSelect: onSelect,
|
||||
)
|
||||
isLoading: menuProvider.isLoading,
|
||||
isFailedLoading: menuProvider.reasons == null,
|
||||
stateCode: menuProvider.stateCode,
|
||||
onRefresh: () async {
|
||||
menuProvider.reset();
|
||||
await menuProvider.getTypes(
|
||||
user: userProvider.user,
|
||||
host: settingProvider.host,
|
||||
);
|
||||
},
|
||||
child: SingleStatusMenu(
|
||||
initialStatus: initialValue,
|
||||
statuses: menuProvider.reasons,
|
||||
onSelect: onSelect,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,37 +1,44 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_types_provider.dart';
|
||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||
import 'package:test_sa/models/lookup.dart';
|
||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
||||
import '../../../../controllers/providers/api/status_drop_down/report/service_types_provider.dart';
|
||||
import '../../../../controllers/providers/api/user_provider.dart';
|
||||
import '../../../../controllers/providers/settings/setting_provider.dart';
|
||||
import '../../../../models/lookup.dart';
|
||||
import '../../loaders/loading_manager.dart';
|
||||
import '../single_status_menu.dart';
|
||||
|
||||
class ServiceStatusMenu extends StatelessWidget {
|
||||
final Function(Lookup) onSelect;
|
||||
final Lookup initialValue;
|
||||
final Function(Lookup?)? onSelect;
|
||||
final Lookup? initialValue;
|
||||
|
||||
const ServiceStatusMenu({
|
||||
Key? key,
|
||||
this.onSelect,
|
||||
this.initialValue,
|
||||
}) : super(key: key);
|
||||
|
||||
const ServiceStatusMenu({Key key, this.onSelect, this.initialValue}) : super(key: key);
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
SettingProvider _settingProvider = Provider.of<SettingProvider>(context);
|
||||
UserProvider _userProvider = Provider.of<UserProvider>(context);
|
||||
ServiceStatusProvider _menuProvider = Provider.of<ServiceStatusProvider>(context);
|
||||
SettingProvider settingProvider = Provider.of<SettingProvider>(context);
|
||||
UserProvider userProvider = Provider.of<UserProvider>(context);
|
||||
ServiceStatusProvider menuProvider =
|
||||
Provider.of<ServiceStatusProvider>(context);
|
||||
return LoadingManager(
|
||||
isLoading: _menuProvider.isLoading,
|
||||
isFailedLoading: _menuProvider.statuses == null,
|
||||
stateCode: _menuProvider.stateCode,
|
||||
onRefresh: () async {
|
||||
_menuProvider.reset();
|
||||
await _menuProvider.getTypes(
|
||||
user: _userProvider.user,
|
||||
host: _settingProvider.host
|
||||
);
|
||||
},
|
||||
child: SingleStatusMenu(
|
||||
initialStatus: initialValue,
|
||||
statuses: _menuProvider.statuses,
|
||||
onSelect: onSelect,
|
||||
)
|
||||
isLoading: menuProvider.isLoading,
|
||||
isFailedLoading: menuProvider.statuses == null,
|
||||
stateCode: menuProvider.stateCode,
|
||||
onRefresh: () async {
|
||||
menuProvider.reset();
|
||||
await menuProvider.getTypes(
|
||||
user: userProvider.user,
|
||||
host: settingProvider.host,
|
||||
);
|
||||
},
|
||||
child: SingleStatusMenu(
|
||||
initialStatus: initialValue,
|
||||
statuses: menuProvider.statuses,
|
||||
onSelect: onSelect,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,37 +1,44 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_defect_types_provider.dart';
|
||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||
import 'package:test_sa/models/lookup.dart';
|
||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
||||
import '../../../../controllers/providers/api/status_drop_down/report/service_report_defect_types_provider.dart';
|
||||
import '../../../../controllers/providers/api/user_provider.dart';
|
||||
import '../../../../controllers/providers/settings/setting_provider.dart';
|
||||
import '../../../../models/lookup.dart';
|
||||
import '../../loaders/loading_manager.dart';
|
||||
import '../single_status_menu.dart';
|
||||
|
||||
class ServiceRequestDefectTypesMenu extends StatelessWidget {
|
||||
final Function(Lookup) onSelect;
|
||||
final Lookup initialValue;
|
||||
final Function(Lookup?)? onSelect;
|
||||
final Lookup? initialValue;
|
||||
|
||||
const ServiceRequestDefectTypesMenu({
|
||||
Key? key,
|
||||
this.onSelect,
|
||||
this.initialValue,
|
||||
}) : super(key: key);
|
||||
|
||||
const ServiceRequestDefectTypesMenu({Key key, this.onSelect, this.initialValue}) : super(key: key);
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final settingProvider = Provider.of<SettingProvider>(context);
|
||||
final userProvider = Provider.of<UserProvider>(context);
|
||||
final menuProvider = Provider.of<ServiceRequestDefectTypesProvider>(context);
|
||||
final menuProvider =
|
||||
Provider.of<ServiceRequestDefectTypesProvider>(context);
|
||||
return LoadingManager(
|
||||
isLoading: menuProvider.isLoading,
|
||||
isFailedLoading: menuProvider.items == null,
|
||||
stateCode: menuProvider.stateCode,
|
||||
onRefresh: () async {
|
||||
menuProvider.reset();
|
||||
await menuProvider.getData(
|
||||
user: userProvider.user,
|
||||
host: settingProvider.host
|
||||
);
|
||||
},
|
||||
child: SingleStatusMenu(
|
||||
initialStatus: initialValue,
|
||||
statuses: menuProvider.items,
|
||||
onSelect: onSelect,
|
||||
)
|
||||
isLoading: menuProvider.isLoading,
|
||||
isFailedLoading: menuProvider.items == null,
|
||||
stateCode: menuProvider.stateCode,
|
||||
onRefresh: () async {
|
||||
menuProvider.reset();
|
||||
await menuProvider.getData(
|
||||
user: userProvider.user,
|
||||
host: settingProvider.host,
|
||||
);
|
||||
},
|
||||
child: SingleStatusMenu(
|
||||
initialStatus: initialValue,
|
||||
statuses: menuProvider.items,
|
||||
onSelect: onSelect,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,37 +1,43 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_priority_provider.dart';
|
||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||
import 'package:test_sa/models/lookup.dart';
|
||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
||||
import '../../../../controllers/providers/api/status_drop_down/report/service_report_priority_provider.dart';
|
||||
import '../../../../controllers/providers/api/user_provider.dart';
|
||||
import '../../../../controllers/providers/settings/setting_provider.dart';
|
||||
import '../../../../models/lookup.dart';
|
||||
import '../../loaders/loading_manager.dart';
|
||||
import '../single_status_menu.dart';
|
||||
|
||||
class ServiceRequestPriorityMenu extends StatelessWidget {
|
||||
final Function(Lookup) onSelect;
|
||||
final Lookup initialValue;
|
||||
final Function(Lookup?)? onSelect;
|
||||
final Lookup? initialValue;
|
||||
|
||||
const ServiceRequestPriorityMenu({
|
||||
Key? key,
|
||||
this.onSelect,
|
||||
this.initialValue,
|
||||
}) : super(key: key);
|
||||
|
||||
const ServiceRequestPriorityMenu({Key key, this.onSelect, this.initialValue}) : super(key: key);
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
final settingProvider = Provider.of<SettingProvider>(context);
|
||||
final userProvider = Provider.of<UserProvider>(context);
|
||||
final menuProvider = Provider.of<ServiceRequestPriorityProvider>(context);
|
||||
return LoadingManager(
|
||||
isLoading: menuProvider.isLoading,
|
||||
isFailedLoading: menuProvider.items == null,
|
||||
stateCode: menuProvider.stateCode,
|
||||
onRefresh: () async {
|
||||
menuProvider.reset();
|
||||
await menuProvider.getData(
|
||||
user: userProvider.user,
|
||||
host: settingProvider.host
|
||||
);
|
||||
},
|
||||
child: SingleStatusMenu(
|
||||
initialStatus: initialValue,
|
||||
statuses: menuProvider.items,
|
||||
onSelect: onSelect,
|
||||
)
|
||||
isLoading: menuProvider.isLoading,
|
||||
isFailedLoading: menuProvider.items == null,
|
||||
stateCode: menuProvider.stateCode,
|
||||
onRefresh: () async {
|
||||
menuProvider.reset();
|
||||
await menuProvider.getData(
|
||||
user: userProvider.user,
|
||||
host: settingProvider.host,
|
||||
);
|
||||
},
|
||||
child: SingleStatusMenu(
|
||||
initialStatus: initialValue,
|
||||
statuses: menuProvider.items,
|
||||
onSelect: onSelect,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,44 +1,47 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:test_sa/models/visits/visit.dart';
|
||||
import 'package:test_sa/views/app_style/colors.dart';
|
||||
import 'package:test_sa/views/app_style/sizing.dart';
|
||||
|
||||
import '../../../models/visits/visit.dart';
|
||||
import '../../app_style/colors.dart';
|
||||
import '../../app_style/sizing.dart';
|
||||
|
||||
class VisitStatusLabel extends StatelessWidget {
|
||||
final Visit visit;
|
||||
|
||||
const VisitStatusLabel({Key key, this.visit}) : super(key: key);
|
||||
const VisitStatusLabel({Key? key, required this.visit}) : super(key: key);
|
||||
|
||||
Color getStatusColor(){
|
||||
switch(visit.status.id){
|
||||
case 0: return AColors.green;
|
||||
case 1: return AColors.grey;
|
||||
case 2: return AColors.grey;
|
||||
default : return AColors.grey;
|
||||
Color getStatusColor() {
|
||||
switch (visit.status.id) {
|
||||
case 0:
|
||||
return AColors.green;
|
||||
case 1:
|
||||
return AColors.grey;
|
||||
case 2:
|
||||
return AColors.grey;
|
||||
default:
|
||||
return AColors.grey;
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Container(
|
||||
padding: EdgeInsets.symmetric(vertical: 2,horizontal: 8),
|
||||
alignment: Alignment.center,
|
||||
decoration: BoxDecoration(
|
||||
color: getStatusColor(),
|
||||
borderRadius: BorderRadius.circular(
|
||||
AppStyle.getBorderRadius(context)
|
||||
return Container(
|
||||
padding: const EdgeInsets.symmetric(vertical: 2, horizontal: 8),
|
||||
alignment: Alignment.center,
|
||||
decoration: BoxDecoration(
|
||||
color: getStatusColor(),
|
||||
borderRadius: BorderRadius.circular(AppStyle.getBorderRadius(context)),
|
||||
boxShadow: const [AppStyle.boxShadow],
|
||||
),
|
||||
child: Text(
|
||||
visit.status.label == null || visit.status.label.isEmpty
|
||||
? "no status"
|
||||
: visit.status.label,
|
||||
style: Theme.of(context).textTheme.titleSmall?.copyWith(
|
||||
color: getStatusColor().computeLuminance() > 0.5
|
||||
? AColors.black
|
||||
: Colors.white,
|
||||
),
|
||||
boxShadow: [
|
||||
AppStyle.boxShadow
|
||||
]
|
||||
),
|
||||
child: Text(
|
||||
visit.status.label == null
|
||||
|| visit.status.label.isEmpty
|
||||
? "no status" :visit.status.label,
|
||||
style: Theme.of(context).textTheme.subtitle2.copyWith(
|
||||
color: getStatusColor().computeLuminance() > 0.5
|
||||
? AColors.black : Colors.white,
|
||||
),
|
||||
)
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue