Merge remote-tracking branch 'origin/restructuring' into support_null_safety
# Conflicts: # old_lib/controllers/http_status_manger/http_status_manger.dart # old_lib/controllers/providers/api/service_requests_provider.dart # old_lib/models/visits/visits_search.dart # old_lib/views/widgets/app_text_form_field.dart # old_lib/views/widgets/buttons/app_small_button.dart # old_lib/views/widgets/date_and_time/from_to_date_bar.dart # old_lib/views/widgets/loaders/loading_manager.dart # old_lib/views/widgets/loaders/no_item_found.dart # old_lib/views/widgets/sound/record_sound.dart # old_lib/views/widgets/status/report/service_report_last_call.dart # old_lib/views/widgets/titles/app_sub_title.dartmerge-requests/2/head
commit
f926951125
@ -1,35 +1,39 @@
|
|||||||
import 'package:flutter/material.dart';
|
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
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Container(
|
return Container(
|
||||||
padding: EdgeInsets.symmetric(vertical: 2,horizontal: 8),
|
padding: const EdgeInsets.symmetric(vertical: 2, horizontal: 8),
|
||||||
alignment: Alignment.center,
|
alignment: Alignment.center,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: color ?? Colors.green,
|
color: color ?? Colors.green,
|
||||||
borderRadius: BorderRadius.circular(
|
borderRadius: BorderRadius.circular(
|
||||||
AppStyle.getBorderRadius(context)
|
AppStyle.getBorderRadius(context),
|
||||||
),
|
),
|
||||||
boxShadow: [
|
boxShadow: const [AppStyle.boxShadow],
|
||||||
AppStyle.boxShadow
|
|
||||||
]
|
|
||||||
),
|
),
|
||||||
child: Text(
|
child: Text(
|
||||||
label ?? "no status",
|
label ?? "no status",
|
||||||
style: Theme.of(context).textTheme.subtitle2.copyWith(
|
style: Theme.of(context).textTheme.titleSmall?.copyWith(
|
||||||
color: color.computeLuminance() > 0.5
|
color: color != null
|
||||||
? AColors.black : Colors.white,
|
? color!.computeLuminance() > 0.5
|
||||||
),
|
? AColors.black
|
||||||
)
|
: Colors.white
|
||||||
);
|
: null,
|
||||||
|
),
|
||||||
|
));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,37 +1,44 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.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 '../../../../controllers/providers/api/status_drop_down/employee/employee_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
import '../../../../controllers/providers/api/user_provider.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
import '../../../../controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
import '../../../../models/lookup.dart';
|
||||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
import '../../loaders/loading_manager.dart';
|
||||||
|
import '../single_status_menu.dart';
|
||||||
|
|
||||||
class EmployeeMenu extends StatelessWidget {
|
class EmployeeMenu extends StatelessWidget {
|
||||||
final Function(Lookup) onSelect;
|
final Function(Lookup?) onSelect;
|
||||||
final Lookup initialValue;
|
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
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final settingProvider = Provider.of<SettingProvider>(context);
|
final settingProvider = Provider.of<SettingProvider>(context);
|
||||||
final userProvider = Provider.of<UserProvider>(context);
|
final userProvider = Provider.of<UserProvider>(context);
|
||||||
final menuProvider = Provider.of<EmployeesProvider>(context);
|
final menuProvider = Provider.of<EmployeesProvider>(context);
|
||||||
return LoadingManager(
|
return LoadingManager(
|
||||||
isLoading: menuProvider.isLoading,
|
isLoading: menuProvider.isLoading,
|
||||||
isFailedLoading: menuProvider.items == null,
|
isFailedLoading: menuProvider.items == null,
|
||||||
stateCode: menuProvider.stateCode,
|
stateCode: menuProvider.stateCode,
|
||||||
onRefresh: () async {
|
onRefresh: () async {
|
||||||
menuProvider.reset();
|
menuProvider.reset();
|
||||||
await menuProvider.getData(
|
await menuProvider.getData(
|
||||||
user: userProvider.user,
|
user: userProvider.user,
|
||||||
host: settingProvider.host
|
host: settingProvider.host,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
child: SingleStatusMenu(
|
child: SingleStatusMenu(
|
||||||
initialStatus: initialValue,
|
initialStatus: initialValue,
|
||||||
statuses: menuProvider.items,
|
statuses: menuProvider.items,
|
||||||
onSelect: onSelect,
|
onSelect: onSelect,
|
||||||
)
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,37 +1,44 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.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 '../../../../controllers/providers/api/status_drop_down/gas_refill/gas_cylinder_size_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
import '../../../../controllers/providers/api/user_provider.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
import '../../../../controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
import '../../../../models/lookup.dart';
|
||||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
import '../../loaders/loading_manager.dart';
|
||||||
|
import '../single_status_menu.dart';
|
||||||
|
|
||||||
class GasCylinderSizeMenu extends StatelessWidget {
|
class GasCylinderSizeMenu extends StatelessWidget {
|
||||||
final Function(Lookup) onSelect;
|
final Function(Lookup?)? onSelect;
|
||||||
final Lookup initialValue;
|
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
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final settingProvider = Provider.of<SettingProvider>(context);
|
final settingProvider = Provider.of<SettingProvider>(context);
|
||||||
final userProvider = Provider.of<UserProvider>(context);
|
final userProvider = Provider.of<UserProvider>(context);
|
||||||
final menuProvider = Provider.of<GasCylinderSizesProvider>(context);
|
final menuProvider = Provider.of<GasCylinderSizesProvider>(context);
|
||||||
return LoadingManager(
|
return LoadingManager(
|
||||||
isLoading: menuProvider.isLoading,
|
isLoading: menuProvider.isLoading,
|
||||||
isFailedLoading: menuProvider.items == null,
|
isFailedLoading: menuProvider.items == null,
|
||||||
stateCode: menuProvider.stateCode,
|
stateCode: menuProvider.stateCode,
|
||||||
onRefresh: () async {
|
onRefresh: () async {
|
||||||
menuProvider.reset();
|
menuProvider.reset();
|
||||||
await menuProvider.getData(
|
await menuProvider.getData(
|
||||||
user: userProvider.user,
|
user: userProvider.user,
|
||||||
host: settingProvider.host
|
host: settingProvider.host,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
child: SingleStatusMenu(
|
child: SingleStatusMenu(
|
||||||
initialStatus: initialValue,
|
initialStatus: initialValue,
|
||||||
statuses: menuProvider.items,
|
statuses: menuProvider.items,
|
||||||
onSelect: onSelect,
|
onSelect: onSelect,
|
||||||
)
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,37 +1,42 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.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 '../../../../controllers/providers/api/status_drop_down/gas_refill/gas_types_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
import '../../../../controllers/providers/api/user_provider.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
import '../../../../controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
import '../../../../models/lookup.dart';
|
||||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
import '../../loaders/loading_manager.dart';
|
||||||
|
import '../single_status_menu.dart';
|
||||||
|
|
||||||
class GasTypeMenu extends StatelessWidget {
|
class GasTypeMenu extends StatelessWidget {
|
||||||
final Function(Lookup) onSelect;
|
final Function(Lookup?)? onSelect;
|
||||||
final Lookup initialValue;
|
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
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final settingProvider = Provider.of<SettingProvider>(context);
|
final settingProvider = Provider.of<SettingProvider>(context);
|
||||||
final userProvider = Provider.of<UserProvider>(context);
|
final userProvider = Provider.of<UserProvider>(context);
|
||||||
final menuProvider = Provider.of<GasTypesProvider>(context);
|
final menuProvider = Provider.of<GasTypesProvider>(context);
|
||||||
return LoadingManager(
|
return LoadingManager(
|
||||||
isLoading: menuProvider.isLoading,
|
isLoading: menuProvider.isLoading,
|
||||||
isFailedLoading: menuProvider.items == null,
|
isFailedLoading: menuProvider.items == null,
|
||||||
stateCode: menuProvider.stateCode,
|
stateCode: menuProvider.stateCode,
|
||||||
onRefresh: () async {
|
onRefresh: () async {
|
||||||
menuProvider.reset();
|
menuProvider.reset();
|
||||||
await menuProvider.getData(
|
await menuProvider.getData(
|
||||||
user: userProvider.user,
|
user: userProvider.user, host: settingProvider.host);
|
||||||
host: settingProvider.host
|
},
|
||||||
);
|
child: SingleStatusMenu(
|
||||||
},
|
initialStatus: initialValue,
|
||||||
child: SingleStatusMenu(
|
statuses: menuProvider.items,
|
||||||
initialStatus: initialValue,
|
onSelect: onSelect,
|
||||||
statuses: menuProvider.items,
|
),
|
||||||
onSelect: onSelect,
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,37 +1,40 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/status_drop_down/pentry/pentry_status_provider.dart';
|
import '../../../../controllers/providers/api/status_drop_down/pentry/pentry_status_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
import '../../../../controllers/providers/api/user_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
import '../../../../controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
import '../../../../models/lookup.dart';
|
||||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
import '../../loaders/loading_manager.dart';
|
||||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
import '../single_status_menu.dart';
|
||||||
|
|
||||||
class PentryStatusMenu extends StatelessWidget {
|
class PentryStatusMenu extends StatelessWidget {
|
||||||
final Function(Lookup) onSelect;
|
final Function(Lookup?)? onSelect;
|
||||||
final Lookup initialValue;
|
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
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final settingProvider = Provider.of<SettingProvider>(context);
|
final settingProvider = Provider.of<SettingProvider>(context);
|
||||||
final userProvider = Provider.of<UserProvider>(context);
|
final userProvider = Provider.of<UserProvider>(context);
|
||||||
final menuProvider = Provider.of<PentryStatusProvider>(context);
|
final menuProvider = Provider.of<PentryStatusProvider>(context);
|
||||||
return LoadingManager(
|
return LoadingManager(
|
||||||
isLoading: menuProvider.isLoading,
|
isLoading: menuProvider.isLoading,
|
||||||
isFailedLoading: menuProvider.items == null,
|
isFailedLoading: menuProvider.items == null,
|
||||||
stateCode: menuProvider.stateCode,
|
stateCode: menuProvider.stateCode,
|
||||||
onRefresh: () async {
|
onRefresh: () async {
|
||||||
menuProvider.reset();
|
menuProvider.reset();
|
||||||
await menuProvider.getData(
|
await menuProvider.getData(
|
||||||
user: userProvider.user,
|
user: userProvider.user,
|
||||||
host: settingProvider.host
|
host: settingProvider.host,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
child: SingleStatusMenu(
|
child: SingleStatusMenu(
|
||||||
initialStatus: initialValue,
|
initialStatus: initialValue,
|
||||||
statuses: menuProvider.items,
|
statuses: menuProvider.items,
|
||||||
onSelect: onSelect,
|
onSelect: onSelect,
|
||||||
)
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,37 +1,44 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.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 '../../../../controllers/providers/api/status_drop_down/pentry/pentry_task_status_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
import '../../../../controllers/providers/api/user_provider.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
import '../../../../controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
import '../../../../models/lookup.dart';
|
||||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
import '../../loaders/loading_manager.dart';
|
||||||
|
import '../single_status_menu.dart';
|
||||||
|
|
||||||
class PentryTaskStatusMenu extends StatelessWidget {
|
class PentryTaskStatusMenu extends StatelessWidget {
|
||||||
final Function(Lookup) onSelect;
|
final Function(Lookup?)? onSelect;
|
||||||
final Lookup initialValue;
|
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
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final settingProvider = Provider.of<SettingProvider>(context);
|
final settingProvider = Provider.of<SettingProvider>(context);
|
||||||
final userProvider = Provider.of<UserProvider>(context);
|
final userProvider = Provider.of<UserProvider>(context);
|
||||||
final menuProvider = Provider.of<PentryTaskStatusProvider>(context);
|
final menuProvider = Provider.of<PentryTaskStatusProvider>(context);
|
||||||
return LoadingManager(
|
return LoadingManager(
|
||||||
isLoading: menuProvider.isLoading,
|
isLoading: menuProvider.isLoading,
|
||||||
isFailedLoading: menuProvider.items == null,
|
isFailedLoading: menuProvider.items == null,
|
||||||
stateCode: menuProvider.stateCode,
|
stateCode: menuProvider.stateCode,
|
||||||
onRefresh: () async {
|
onRefresh: () async {
|
||||||
menuProvider.reset();
|
menuProvider.reset();
|
||||||
await menuProvider.getData(
|
await menuProvider.getData(
|
||||||
user: userProvider.user,
|
user: userProvider.user,
|
||||||
host: settingProvider.host
|
host: settingProvider.host,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
child: SingleStatusMenu(
|
child: SingleStatusMenu(
|
||||||
initialStatus: initialValue,
|
initialStatus: initialValue,
|
||||||
statuses: menuProvider.items,
|
statuses: menuProvider.items,
|
||||||
onSelect: onSelect,
|
onSelect: onSelect,
|
||||||
)
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,37 +1,44 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.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 '../../../../controllers/providers/api/status_drop_down/pentry/pentry_visit_status_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
import '../../../../controllers/providers/api/user_provider.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
import '../../../../controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
import '../../../../models/lookup.dart';
|
||||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
import '../../loaders/loading_manager.dart';
|
||||||
|
import '../single_status_menu.dart';
|
||||||
|
|
||||||
class PentryVisitsStatusMenu extends StatelessWidget {
|
class PentryVisitsStatusMenu extends StatelessWidget {
|
||||||
final Function(Lookup) onSelect;
|
final Function(Lookup?)? onSelect;
|
||||||
final Lookup initialValue;
|
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
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final settingProvider = Provider.of<SettingProvider>(context);
|
final settingProvider = Provider.of<SettingProvider>(context);
|
||||||
final userProvider = Provider.of<UserProvider>(context);
|
final userProvider = Provider.of<UserProvider>(context);
|
||||||
final menuProvider = Provider.of<PentryVisitStatusProvider>(context);
|
final menuProvider = Provider.of<PentryVisitStatusProvider>(context);
|
||||||
return LoadingManager(
|
return LoadingManager(
|
||||||
isLoading: menuProvider.isLoading,
|
isLoading: menuProvider.isLoading,
|
||||||
isFailedLoading: menuProvider.items == null,
|
isFailedLoading: menuProvider.items == null,
|
||||||
stateCode: menuProvider.stateCode,
|
stateCode: menuProvider.stateCode,
|
||||||
onRefresh: () async {
|
onRefresh: () async {
|
||||||
menuProvider.reset();
|
menuProvider.reset();
|
||||||
await menuProvider.getData(
|
await menuProvider.getData(
|
||||||
user: userProvider.user,
|
user: userProvider.user,
|
||||||
host: settingProvider.host
|
host: settingProvider.host,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
child: SingleStatusMenu(
|
child: SingleStatusMenu(
|
||||||
initialStatus: initialValue,
|
initialStatus: initialValue,
|
||||||
statuses: menuProvider.items,
|
statuses: menuProvider.items,
|
||||||
onSelect: onSelect,
|
onSelect: onSelect,
|
||||||
)
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,29 +1,36 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.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 '../../../../controllers/providers/api/status_drop_down/report/service_report_last_calls_provider.dart';
|
||||||
import 'package:test_sa/models/service_report.dart';
|
import '../../../../models/lookup.dart';
|
||||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
import '../../../../models/service_report.dart';
|
||||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
import '../../loaders/loading_manager.dart';
|
||||||
|
import '../single_status_menu.dart';
|
||||||
|
|
||||||
class ServiceReportLastCallsMenu extends StatelessWidget {
|
class ServiceReportLastCallsMenu extends StatelessWidget {
|
||||||
final Function(Lookup) onSelect;
|
final Function(Lookup?)? onSelect;
|
||||||
final ServiceReport report;
|
final ServiceReport? report;
|
||||||
|
|
||||||
const ServiceReportLastCallsMenu({
|
const ServiceReportLastCallsMenu({
|
||||||
Key key, this.onSelect, this.report}) : super(key: key);
|
Key? key,
|
||||||
|
required this.onSelect,
|
||||||
|
required this.report,
|
||||||
|
}) : super(key: key);
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
ServiceReportLastCallsProvider _menuProvider = Provider.of<ServiceReportLastCallsProvider>(context);
|
ServiceReportLastCallsProvider menuProvider =
|
||||||
|
Provider.of<ServiceReportLastCallsProvider>(context);
|
||||||
return LoadingManager(
|
return LoadingManager(
|
||||||
isLoading: _menuProvider.isLoading,
|
isLoading: menuProvider.isLoading,
|
||||||
isFailedLoading: _menuProvider.calls == null,
|
isFailedLoading: menuProvider.calls == null,
|
||||||
stateCode: _menuProvider.stateCode,
|
stateCode: menuProvider.stateCode,
|
||||||
onRefresh: () async {},
|
onRefresh: () async {},
|
||||||
child: SingleStatusMenu(
|
child: SingleStatusMenu(
|
||||||
initialStatus: report?.callLastSituation,
|
initialStatus: report?.callLastSituation,
|
||||||
statuses: _menuProvider.calls,
|
statuses: menuProvider.calls,
|
||||||
onSelect: onSelect,
|
onSelect: onSelect,
|
||||||
)
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,38 +1,44 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_reasons_provider.dart';
|
import '../../../../controllers/providers/api/status_drop_down/report/service_report_reasons_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
import '../../../../controllers/providers/api/user_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
import '../../../../controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
import '../../../../models/lookup.dart';
|
||||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
import '../../loaders/loading_manager.dart';
|
||||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
import '../single_status_menu.dart';
|
||||||
|
|
||||||
class ServiceReportReasonsMenu extends StatelessWidget {
|
class ServiceReportReasonsMenu extends StatelessWidget {
|
||||||
final Lookup initialValue;
|
final Lookup? initialValue;
|
||||||
final Function(Lookup) onSelect;
|
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
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
SettingProvider _settingProvider = Provider.of<SettingProvider>(context);
|
SettingProvider settingProvider = Provider.of<SettingProvider>(context);
|
||||||
UserProvider _userProvider = Provider.of<UserProvider>(context);
|
UserProvider userProvider = Provider.of<UserProvider>(context);
|
||||||
ServiceReportReasonsProvider _menuProvider = Provider.of<ServiceReportReasonsProvider>(context);
|
ServiceReportReasonsProvider menuProvider =
|
||||||
|
Provider.of<ServiceReportReasonsProvider>(context);
|
||||||
return LoadingManager(
|
return LoadingManager(
|
||||||
isLoading: _menuProvider.isLoading,
|
isLoading: menuProvider.isLoading,
|
||||||
isFailedLoading: _menuProvider.reasons == null,
|
isFailedLoading: menuProvider.reasons == null,
|
||||||
stateCode: _menuProvider.stateCode,
|
stateCode: menuProvider.stateCode,
|
||||||
onRefresh: () async {
|
onRefresh: () async {
|
||||||
_menuProvider.reset();
|
menuProvider.reset();
|
||||||
await _menuProvider.getTypes(
|
await menuProvider.getTypes(
|
||||||
user: _userProvider.user,
|
user: userProvider.user,
|
||||||
host: _settingProvider.host,
|
host: settingProvider.host,
|
||||||
|
);
|
||||||
);
|
},
|
||||||
},
|
child: SingleStatusMenu(
|
||||||
child: SingleStatusMenu(
|
initialStatus: initialValue,
|
||||||
initialStatus: initialValue,
|
statuses: menuProvider.reasons,
|
||||||
statuses: _menuProvider.reasons,
|
onSelect: onSelect,
|
||||||
onSelect: onSelect,
|
),
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,37 +1,44 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_types_provider.dart';
|
import '../../../../controllers/providers/api/status_drop_down/report/service_types_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
import '../../../../controllers/providers/api/user_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
import '../../../../controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
import '../../../../models/lookup.dart';
|
||||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
import '../../loaders/loading_manager.dart';
|
||||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
import '../single_status_menu.dart';
|
||||||
|
|
||||||
class ServiceStatusMenu extends StatelessWidget {
|
class ServiceStatusMenu extends StatelessWidget {
|
||||||
final Function(Lookup) onSelect;
|
final Function(Lookup?)? onSelect;
|
||||||
final Lookup initialValue;
|
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
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
SettingProvider _settingProvider = Provider.of<SettingProvider>(context);
|
SettingProvider settingProvider = Provider.of<SettingProvider>(context);
|
||||||
UserProvider _userProvider = Provider.of<UserProvider>(context);
|
UserProvider userProvider = Provider.of<UserProvider>(context);
|
||||||
ServiceStatusProvider _menuProvider = Provider.of<ServiceStatusProvider>(context);
|
ServiceStatusProvider menuProvider =
|
||||||
|
Provider.of<ServiceStatusProvider>(context);
|
||||||
return LoadingManager(
|
return LoadingManager(
|
||||||
isLoading: _menuProvider.isLoading,
|
isLoading: menuProvider.isLoading,
|
||||||
isFailedLoading: _menuProvider.statuses == null,
|
isFailedLoading: menuProvider.statuses == null,
|
||||||
stateCode: _menuProvider.stateCode,
|
stateCode: menuProvider.stateCode,
|
||||||
onRefresh: () async {
|
onRefresh: () async {
|
||||||
_menuProvider.reset();
|
menuProvider.reset();
|
||||||
await _menuProvider.getTypes(
|
await menuProvider.getTypes(
|
||||||
user: _userProvider.user,
|
user: userProvider.user,
|
||||||
host: _settingProvider.host
|
host: settingProvider.host,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
child: SingleStatusMenu(
|
child: SingleStatusMenu(
|
||||||
initialStatus: initialValue,
|
initialStatus: initialValue,
|
||||||
statuses: _menuProvider.statuses,
|
statuses: menuProvider.statuses,
|
||||||
onSelect: onSelect,
|
onSelect: onSelect,
|
||||||
)
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,37 +1,44 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_defect_types_provider.dart';
|
import '../../../../controllers/providers/api/status_drop_down/report/service_report_defect_types_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
import '../../../../controllers/providers/api/user_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
import '../../../../controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
import '../../../../models/lookup.dart';
|
||||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
import '../../loaders/loading_manager.dart';
|
||||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
import '../single_status_menu.dart';
|
||||||
|
|
||||||
class ServiceRequestDefectTypesMenu extends StatelessWidget {
|
class ServiceRequestDefectTypesMenu extends StatelessWidget {
|
||||||
final Function(Lookup) onSelect;
|
final Function(Lookup?)? onSelect;
|
||||||
final Lookup initialValue;
|
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
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final settingProvider = Provider.of<SettingProvider>(context);
|
final settingProvider = Provider.of<SettingProvider>(context);
|
||||||
final userProvider = Provider.of<UserProvider>(context);
|
final userProvider = Provider.of<UserProvider>(context);
|
||||||
final menuProvider = Provider.of<ServiceRequestDefectTypesProvider>(context);
|
final menuProvider =
|
||||||
|
Provider.of<ServiceRequestDefectTypesProvider>(context);
|
||||||
return LoadingManager(
|
return LoadingManager(
|
||||||
isLoading: menuProvider.isLoading,
|
isLoading: menuProvider.isLoading,
|
||||||
isFailedLoading: menuProvider.items == null,
|
isFailedLoading: menuProvider.items == null,
|
||||||
stateCode: menuProvider.stateCode,
|
stateCode: menuProvider.stateCode,
|
||||||
onRefresh: () async {
|
onRefresh: () async {
|
||||||
menuProvider.reset();
|
menuProvider.reset();
|
||||||
await menuProvider.getData(
|
await menuProvider.getData(
|
||||||
user: userProvider.user,
|
user: userProvider.user,
|
||||||
host: settingProvider.host
|
host: settingProvider.host,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
child: SingleStatusMenu(
|
child: SingleStatusMenu(
|
||||||
initialStatus: initialValue,
|
initialStatus: initialValue,
|
||||||
statuses: menuProvider.items,
|
statuses: menuProvider.items,
|
||||||
onSelect: onSelect,
|
onSelect: onSelect,
|
||||||
)
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,37 +1,43 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/status_drop_down/report/service_report_priority_provider.dart';
|
import '../../../../controllers/providers/api/status_drop_down/report/service_report_priority_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
import '../../../../controllers/providers/api/user_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
import '../../../../controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
import '../../../../models/lookup.dart';
|
||||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
import '../../loaders/loading_manager.dart';
|
||||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
import '../single_status_menu.dart';
|
||||||
|
|
||||||
class ServiceRequestPriorityMenu extends StatelessWidget {
|
class ServiceRequestPriorityMenu extends StatelessWidget {
|
||||||
final Function(Lookup) onSelect;
|
final Function(Lookup?)? onSelect;
|
||||||
final Lookup initialValue;
|
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
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final settingProvider = Provider.of<SettingProvider>(context);
|
final settingProvider = Provider.of<SettingProvider>(context);
|
||||||
final userProvider = Provider.of<UserProvider>(context);
|
final userProvider = Provider.of<UserProvider>(context);
|
||||||
final menuProvider = Provider.of<ServiceRequestPriorityProvider>(context);
|
final menuProvider = Provider.of<ServiceRequestPriorityProvider>(context);
|
||||||
return LoadingManager(
|
return LoadingManager(
|
||||||
isLoading: menuProvider.isLoading,
|
isLoading: menuProvider.isLoading,
|
||||||
isFailedLoading: menuProvider.items == null,
|
isFailedLoading: menuProvider.items == null,
|
||||||
stateCode: menuProvider.stateCode,
|
stateCode: menuProvider.stateCode,
|
||||||
onRefresh: () async {
|
onRefresh: () async {
|
||||||
menuProvider.reset();
|
menuProvider.reset();
|
||||||
await menuProvider.getData(
|
await menuProvider.getData(
|
||||||
user: userProvider.user,
|
user: userProvider.user,
|
||||||
host: settingProvider.host
|
host: settingProvider.host,
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
child: SingleStatusMenu(
|
child: SingleStatusMenu(
|
||||||
initialStatus: initialValue,
|
initialStatus: initialValue,
|
||||||
statuses: menuProvider.items,
|
statuses: menuProvider.items,
|
||||||
onSelect: onSelect,
|
onSelect: onSelect,
|
||||||
)
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,44 +1,47 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/models/visits/visit.dart';
|
|
||||||
import 'package:test_sa/views/app_style/colors.dart';
|
import '../../../models/visits/visit.dart';
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
import '../../app_style/colors.dart';
|
||||||
|
import '../../app_style/sizing.dart';
|
||||||
|
|
||||||
class VisitStatusLabel extends StatelessWidget {
|
class VisitStatusLabel extends StatelessWidget {
|
||||||
final Visit visit;
|
final Visit visit;
|
||||||
|
|
||||||
const VisitStatusLabel({Key key, this.visit}) : super(key: key);
|
const VisitStatusLabel({Key? key, required this.visit}) : super(key: key);
|
||||||
|
|
||||||
Color getStatusColor(){
|
Color getStatusColor() {
|
||||||
switch(visit.status.id){
|
switch (visit.status.id) {
|
||||||
case 0: return AColors.green;
|
case 0:
|
||||||
case 1: return AColors.grey;
|
return AColors.green;
|
||||||
case 2: return AColors.grey;
|
case 1:
|
||||||
default : return AColors.grey;
|
return AColors.grey;
|
||||||
|
case 2:
|
||||||
|
return AColors.grey;
|
||||||
|
default:
|
||||||
|
return AColors.grey;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Container(
|
return Container(
|
||||||
padding: EdgeInsets.symmetric(vertical: 2,horizontal: 8),
|
padding: const EdgeInsets.symmetric(vertical: 2, horizontal: 8),
|
||||||
alignment: Alignment.center,
|
alignment: Alignment.center,
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: getStatusColor(),
|
color: getStatusColor(),
|
||||||
borderRadius: BorderRadius.circular(
|
borderRadius: BorderRadius.circular(AppStyle.getBorderRadius(context)),
|
||||||
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