printer setting null safety

This commit is contained in:
efrilm
2025-09-17 22:35:00 +07:00
parent bd02f389e5
commit 8aa326c513
5 changed files with 100 additions and 104 deletions
@@ -22,23 +22,22 @@ class CheckerPrinterPage extends StatefulWidget {
class _CheckerPrinterPageState extends State<CheckerPrinterPage> {
String selectedPrinter = 'Bluetooth';
TextEditingController? addressController;
TextEditingController? printNameController;
TextEditingController addressController = TextEditingController();
TextEditingController printNameController = TextEditingController();
String paper = '58';
bool isInitialized = false;
@override
void initState() {
// TODO: implement initState
super.initState();
addressController = TextEditingController();
printNameController = TextEditingController();
context.read<GetPrinterCheckerBloc>().add(GetPrinterCheckerEvent.get());
WidgetsBinding.instance.addPostFrameCallback((_) {
context.read<GetPrinterCheckerBloc>().add(GetPrinterCheckerEvent.get());
});
}
@override
void dispose() {
addressController!.dispose();
printNameController!.dispose();
addressController.dispose();
printNameController.dispose();
isInitialized = false;
super.dispose();
}
@@ -59,8 +58,8 @@ class _CheckerPrinterPageState extends State<CheckerPrinterPage> {
success: (data) {
log("Checker Printer: ${data?.toMap()}");
if (data != null && !isInitialized) {
addressController!.text = data.address;
printNameController!.text = data.name;
addressController.text = data.address;
printNameController.text = data.name;
selectedPrinter = data.type;
paper = data.paper;
isInitialized = true;
@@ -114,7 +113,7 @@ class _CheckerPrinterPageState extends State<CheckerPrinterPage> {
context: context,
builder: (context) => DialogSearchPrinter(
onSelected: (value) {
addressController!.text = value;
addressController.text = value;
setState(() {});
},
),
@@ -122,14 +121,14 @@ class _CheckerPrinterPageState extends State<CheckerPrinterPage> {
},
label: 'Search')
: CustomTextField(
controller: addressController!,
controller: addressController,
label: 'Address',
showLabel: false,
),
SpaceHeight(16),
// Textfield for name
CustomTextField(
controller: printNameController!,
controller: printNameController,
label: 'Print Name',
showLabel: false,
),
@@ -163,14 +162,14 @@ class _CheckerPrinterPageState extends State<CheckerPrinterPage> {
// button test print
Button.outlined(
onPressed: () async {
if (addressController!.text.isNotEmpty &&
printNameController!.text.isNotEmpty) {
if (addressController.text.isNotEmpty &&
printNameController.text.isNotEmpty) {
try {
// Create a test print model
final testPrinter = PrintModel(
code: 'checker',
name: printNameController!.text,
address: addressController!.text,
name: printNameController.text,
address: addressController.text,
paper: paper,
type: selectedPrinter,
);
@@ -237,8 +236,8 @@ class _CheckerPrinterPageState extends State<CheckerPrinterPage> {
onPressed: () {
final printData = PrintModel(
code: 'checker',
name: printNameController!.text,
address: addressController!.text,
name: printNameController.text,
address: addressController.text,
paper: paper,
type: selectedPrinter,
);
@@ -282,8 +281,8 @@ class _CheckerPrinterPageState extends State<CheckerPrinterPage> {
final printData = PrintModel(
id: data.id,
code: 'checker',
name: printNameController!.text,
address: addressController!.text,
name: printNameController.text,
address: addressController.text,
paper: paper,
type: selectedPrinter,
);