null safety

This commit is contained in:
Phaung Phaung
2021-09-10 14:29:55 +06:30
parent 5a313d641e
commit d862049b45
22 changed files with 93 additions and 51 deletions

View File

@@ -15,7 +15,7 @@ import 'package:provider/provider.dart';
typedef void FindCallBack();
class StaffEditor extends StatefulWidget {
final User staff;
final User? staff;
const StaffEditor({this.staff});
@override
_StaffEditorState createState() => _StaffEditorState();
@@ -25,8 +25,8 @@ class _StaffEditorState extends State<StaffEditor> {
TextEditingController _phoneInput = new TextEditingController();
bool _isLoading = false;
User user;
User selectedUser;
late User user;
User? selectedUser;
List<Privilege> privileges = [];
bool isNew = true;
@@ -38,8 +38,8 @@ class _StaffEditorState extends State<StaffEditor> {
user = User();
if (!isNew) {
user =
User(name: widget.staff.name, phoneNumber: widget.staff.phoneNumber);
user.privileges = widget.staff.privileges;
User(name: widget.staff!.name, phoneNumber: widget.staff!.phoneNumber);
user.privileges = widget.staff!.privileges;
privileges.forEach((p) => user.privileges.contains(p.id)
? p.isChecked = true
: p.isChecked = false);
@@ -64,7 +64,8 @@ class _StaffEditorState extends State<StaffEditor> {
new Checkbox(
value: p.isChecked == null ? false : p.isChecked,
activeColor: primaryColor,
onChanged: (bool value) {
onChanged: (bool? value) {
if(value != null)
setState(() {
p.isChecked = value;
});
@@ -110,7 +111,7 @@ class _StaffEditorState extends State<StaffEditor> {
style: textStyle,
decoration: new InputDecoration(
labelText:
AppTranslations.of(context).text('staff.phone.search'),
AppTranslations.of(context)!.text('staff.phone.search'),
labelStyle: languageModel.isEng ? labelStyle : labelStyleMM,
// icon: Icon(
// Icons.search,
@@ -226,7 +227,7 @@ class _StaffEditorState extends State<StaffEditor> {
});
StaffModel staffModel = Provider.of<StaffModel>(context, listen: false);
try {
await staffModel.updatePrivileges(this.selectedUser.id, privilegesIDs());
await staffModel.updatePrivileges(this.selectedUser!.id, privilegesIDs());
Navigator.pop(context);
} catch (e) {
showMsgDialog(context, "Error", e.toString());
@@ -248,7 +249,7 @@ class _StaffEditorState extends State<StaffEditor> {
if (widget.staff == null) return;
StaffModel staffModel = Provider.of<StaffModel>(context, listen: false);
try {
await staffModel.updatePrivileges(widget.staff.id, privilegesIDs());
await staffModel.updatePrivileges(widget.staff!.id, privilegesIDs());
Navigator.pop(context);
} catch (e) {
showMsgDialog(context, "Error", e.toString());

View File

@@ -5,7 +5,6 @@ import 'package:fcs/pages/widgets/local_text.dart';
import 'package:fcs/pages/widgets/progress.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_icons/flutter_icons.dart';
import 'package:intl/intl.dart';
import 'package:provider/provider.dart';
@@ -84,7 +83,7 @@ class _StaffListState extends State<StaffList> {
padding: new EdgeInsets.symmetric(
horizontal: 32.0 - dotSize / 2),
child: Icon(
MaterialCommunityIcons.worker,
Icons.person,
color: primaryColor,
size: 40,
),