diff --git a/lib/presentation/setting/widgets/bar_printer_page.dart b/lib/presentation/setting/widgets/bar_printer_page.dart index d206128..9f367c4 100644 --- a/lib/presentation/setting/widgets/bar_printer_page.dart +++ b/lib/presentation/setting/widgets/bar_printer_page.dart @@ -22,23 +22,22 @@ class BarPrinterPage extends StatefulWidget { class _BarPrinterPageState extends State { 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().add(GetPrinterBarEvent.get()); + WidgetsBinding.instance.addPostFrameCallback((_) { + context.read().add(GetPrinterBarEvent.get()); + }); } @override void dispose() { - addressController!.dispose(); - printNameController!.dispose(); + addressController.dispose(); + printNameController.dispose(); super.dispose(); } @@ -57,8 +56,8 @@ class _BarPrinterPageState extends State { }, 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; @@ -112,7 +111,7 @@ class _BarPrinterPageState extends State { context: context, builder: (context) => DialogSearchPrinter( onSelected: (value) { - addressController!.text = value; + addressController.text = value; setState(() {}); }, ), @@ -120,14 +119,14 @@ class _BarPrinterPageState extends State { }, 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, ), @@ -161,14 +160,14 @@ class _BarPrinterPageState extends State { // 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: 'bar', - name: printNameController!.text, - address: addressController!.text, + name: printNameController.text, + address: addressController.text, paper: paper, type: selectedPrinter, ); @@ -234,8 +233,8 @@ class _BarPrinterPageState extends State { onPressed: () { final printData = PrintModel( code: 'bar', - name: printNameController!.text, - address: addressController!.text, + name: printNameController.text, + address: addressController.text, paper: paper, type: selectedPrinter, ); @@ -279,8 +278,8 @@ class _BarPrinterPageState extends State { final printData = PrintModel( id: data.id, code: 'bar', - name: printNameController!.text, - address: addressController!.text, + name: printNameController.text, + address: addressController.text, paper: paper, type: selectedPrinter, ); diff --git a/lib/presentation/setting/widgets/checker_printer_page.dart b/lib/presentation/setting/widgets/checker_printer_page.dart index 1405eb4..322987a 100644 --- a/lib/presentation/setting/widgets/checker_printer_page.dart +++ b/lib/presentation/setting/widgets/checker_printer_page.dart @@ -22,23 +22,22 @@ class CheckerPrinterPage extends StatefulWidget { class _CheckerPrinterPageState extends State { 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().add(GetPrinterCheckerEvent.get()); + WidgetsBinding.instance.addPostFrameCallback((_) { + context.read().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 { 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 { context: context, builder: (context) => DialogSearchPrinter( onSelected: (value) { - addressController!.text = value; + addressController.text = value; setState(() {}); }, ), @@ -122,14 +121,14 @@ class _CheckerPrinterPageState extends State { }, 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 { // 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 { 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 { final printData = PrintModel( id: data.id, code: 'checker', - name: printNameController!.text, - address: addressController!.text, + name: printNameController.text, + address: addressController.text, paper: paper, type: selectedPrinter, ); diff --git a/lib/presentation/setting/widgets/kitchen_printer_page.dart b/lib/presentation/setting/widgets/kitchen_printer_page.dart index 7ed4ad2..592b5ce 100644 --- a/lib/presentation/setting/widgets/kitchen_printer_page.dart +++ b/lib/presentation/setting/widgets/kitchen_printer_page.dart @@ -22,23 +22,22 @@ class KitchenPrinterPage extends StatefulWidget { class _KitchenPrinterPageState extends State { 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().add(GetPrinterKitchenEvent.get()); + WidgetsBinding.instance.addPostFrameCallback((_) { + context.read().add(GetPrinterKitchenEvent.get()); + }); } @override void dispose() { - addressController!.dispose(); - printNameController!.dispose(); + addressController.dispose(); + printNameController.dispose(); super.dispose(); } @@ -57,8 +56,8 @@ class _KitchenPrinterPageState extends State { }, 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; @@ -112,7 +111,7 @@ class _KitchenPrinterPageState extends State { context: context, builder: (context) => DialogSearchPrinter( onSelected: (value) { - addressController!.text = value; + addressController.text = value; setState(() {}); }, ), @@ -120,14 +119,14 @@ class _KitchenPrinterPageState extends State { }, 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, ), @@ -161,14 +160,14 @@ class _KitchenPrinterPageState extends State { // 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: 'kitchen', - name: printNameController!.text, - address: addressController!.text, + name: printNameController.text, + address: addressController.text, paper: paper, type: selectedPrinter, ); @@ -235,8 +234,8 @@ class _KitchenPrinterPageState extends State { onPressed: () { final printData = PrintModel( code: 'kitchen', - name: printNameController!.text, - address: addressController!.text, + name: printNameController.text, + address: addressController.text, paper: paper, type: selectedPrinter, ); @@ -280,8 +279,8 @@ class _KitchenPrinterPageState extends State { final printData = PrintModel( id: data.id, code: 'kitchen', - name: printNameController!.text, - address: addressController!.text, + name: printNameController.text, + address: addressController.text, paper: paper, type: selectedPrinter, ); diff --git a/lib/presentation/setting/widgets/receipt_printer_page.dart b/lib/presentation/setting/widgets/receipt_printer_page.dart index 0e1d016..31e9a30 100644 --- a/lib/presentation/setting/widgets/receipt_printer_page.dart +++ b/lib/presentation/setting/widgets/receipt_printer_page.dart @@ -23,23 +23,22 @@ class ReceiptPrinterPage extends StatefulWidget { class _ReceiptPrinterPageState extends State { 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().add(GetPrinterReceiptEvent.get()); + WidgetsBinding.instance.addPostFrameCallback((_) { + context.read().add(GetPrinterReceiptEvent.get()); + }); } @override void dispose() { - addressController!.dispose(); - printNameController!.dispose(); + addressController.dispose(); + printNameController.dispose(); super.dispose(); } @@ -58,8 +57,8 @@ class _ReceiptPrinterPageState extends State { }, 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 { context: context, builder: (context) => DialogSearchPrinter( onSelected: (value) { - addressController!.text = value; + addressController.text = value; setState(() {}); }, ), @@ -121,14 +120,14 @@ class _ReceiptPrinterPageState extends State { }, 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 { // 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 { // 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 { 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 { final printData = PrintModel( id: data.id, code: 'receipt', - name: printNameController!.text, - address: addressController!.text, + name: printNameController.text, + address: addressController.text, paper: paper, type: selectedPrinter, ); diff --git a/lib/presentation/setting/widgets/ticket_printer_page.dart b/lib/presentation/setting/widgets/ticket_printer_page.dart index bf80b29..e655553 100644 --- a/lib/presentation/setting/widgets/ticket_printer_page.dart +++ b/lib/presentation/setting/widgets/ticket_printer_page.dart @@ -23,22 +23,22 @@ class TicketPrinterPage extends StatefulWidget { class _TicketPrinterPageState extends State { String selectedPrinter = 'Bluetooth'; - TextEditingController? addressController; - TextEditingController? printNameController; + TextEditingController addressController = TextEditingController(); + TextEditingController printNameController = TextEditingController(); String paper = '58'; bool isInitialized = false; @override void initState() { super.initState(); - addressController = TextEditingController(); - printNameController = TextEditingController(); - context.read().add(GetPrinterTicketEvent.get()); + WidgetsBinding.instance.addPostFrameCallback((_) { + context.read().add(GetPrinterTicketEvent.get()); + }); } @override void dispose() { - addressController!.dispose(); - printNameController!.dispose(); + addressController.dispose(); + printNameController.dispose(); super.dispose(); } @@ -57,8 +57,8 @@ class _TicketPrinterPageState extends State { }, 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; @@ -112,7 +112,7 @@ class _TicketPrinterPageState extends State { context: context, builder: (context) => DialogSearchPrinter( onSelected: (value) { - addressController!.text = value; + addressController.text = value; setState(() {}); }, ), @@ -120,14 +120,14 @@ class _TicketPrinterPageState extends State { }, 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, ), @@ -161,14 +161,14 @@ class _TicketPrinterPageState extends State { // 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: 'ticket', - name: printNameController!.text, - address: addressController!.text, + name: printNameController.text, + address: addressController.text, paper: paper, type: selectedPrinter, ); @@ -231,8 +231,8 @@ class _TicketPrinterPageState extends State { onPressed: () { final printData = PrintModel( code: 'ticket', - name: printNameController!.text, - address: addressController!.text, + name: printNameController.text, + address: addressController.text, paper: paper, type: selectedPrinter, ); @@ -276,8 +276,8 @@ class _TicketPrinterPageState extends State { final printData = PrintModel( id: data.id, code: 'ticket', - name: printNameController!.text, - address: addressController!.text, + name: printNameController.text, + address: addressController.text, paper: paper, type: selectedPrinter, );