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
@@ -23,23 +23,22 @@ class ReceiptPrinterPage extends StatefulWidget {
class _ReceiptPrinterPageState extends State<ReceiptPrinterPage> {
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<GetPrinterReceiptBloc>().add(GetPrinterReceiptEvent.get());
WidgetsBinding.instance.addPostFrameCallback((_) {
context.read<GetPrinterReceiptBloc>().add(GetPrinterReceiptEvent.get());
});
}
@override
void dispose() {
addressController!.dispose();
printNameController!.dispose();
addressController.dispose();
printNameController.dispose();
super.dispose();
}
@@ -58,8 +57,8 @@ class _ReceiptPrinterPageState extends State<ReceiptPrinterPage> {
},
success: (data) {
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;
@@ -113,7 +112,7 @@ class _ReceiptPrinterPageState extends State<ReceiptPrinterPage> {
context: context,
builder: (context) => DialogSearchPrinter(
onSelected: (value) {
addressController!.text = value;
addressController.text = value;
setState(() {});
},
),
@@ -121,14 +120,14 @@ class _ReceiptPrinterPageState extends State<ReceiptPrinterPage> {
},
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,
),
@@ -162,8 +161,8 @@ class _ReceiptPrinterPageState extends State<ReceiptPrinterPage> {
// button test print
Button.outlined(
onPressed: () async {
if (addressController!.text.isNotEmpty &&
printNameController!.text.isNotEmpty) {
if (addressController.text.isNotEmpty &&
printNameController.text.isNotEmpty) {
try {
// Get actual tax and service charge settings
final settingsLocalDatasource =
@@ -177,8 +176,8 @@ class _ReceiptPrinterPageState extends State<ReceiptPrinterPage> {
// Create a test print model
final testPrinter = PrintModel(
code: 'receipt',
name: printNameController!.text,
address: addressController!.text,
name: printNameController.text,
address: addressController.text,
paper: paper,
type: selectedPrinter,
);
@@ -253,8 +252,8 @@ class _ReceiptPrinterPageState extends State<ReceiptPrinterPage> {
onPressed: () {
final printData = PrintModel(
code: 'receipt',
name: printNameController!.text,
address: addressController!.text,
name: printNameController.text,
address: addressController.text,
paper: paper,
type: selectedPrinter,
);
@@ -298,8 +297,8 @@ class _ReceiptPrinterPageState extends State<ReceiptPrinterPage> {
final printData = PrintModel(
id: data.id,
code: 'receipt',
name: printNameController!.text,
address: addressController!.text,
name: printNameController.text,
address: addressController.text,
paper: paper,
type: selectedPrinter,
);