printer checker
This commit is contained in:
parent
1b24bae23a
commit
98b152cbc2
@ -123,9 +123,7 @@ class PrinterLocalDataProvider {
|
|||||||
|
|
||||||
if (result.isEmpty) {
|
if (result.isEmpty) {
|
||||||
log('Printer with code $code not found');
|
log('Printer with code $code not found');
|
||||||
return DC.error(
|
return DC.error(PrinterFailure.empty());
|
||||||
PrinterFailure.dynamicErrorMessage('Printer not found'),
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
final printer = PrinterDto.fromJson(result.first);
|
final printer = PrinterDto.fromJson(result.first);
|
||||||
|
|||||||
@ -0,0 +1,103 @@
|
|||||||
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||||
|
|
||||||
|
import '../../../../../../../application/printer/printer_loader/printer_loader_bloc.dart';
|
||||||
|
import '../../../../../../../common/theme/theme.dart';
|
||||||
|
import '../../../../../../components/card/error_card.dart';
|
||||||
|
import '../../../../../../components/loader/loader_with_text.dart';
|
||||||
|
import '../../widgets/printer_card.dart';
|
||||||
|
import 'setting_printer_form.dart';
|
||||||
|
|
||||||
|
class SettingPrinterChecker extends StatefulWidget {
|
||||||
|
const SettingPrinterChecker({super.key});
|
||||||
|
|
||||||
|
@override
|
||||||
|
State<SettingPrinterChecker> createState() => _SettingPrinterCheckerState();
|
||||||
|
}
|
||||||
|
|
||||||
|
class _SettingPrinterCheckerState extends State<SettingPrinterChecker> {
|
||||||
|
bool isEdit = false;
|
||||||
|
@override
|
||||||
|
initState() {
|
||||||
|
context.read<PrinterLoaderBloc>().add(
|
||||||
|
const PrinterLoaderEvent.getByCode('checker'),
|
||||||
|
);
|
||||||
|
super.initState();
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
return Material(
|
||||||
|
color: AppColor.background,
|
||||||
|
child: SingleChildScrollView(
|
||||||
|
padding: const EdgeInsets.all(16.0),
|
||||||
|
child: Column(
|
||||||
|
children: [
|
||||||
|
BlocBuilder<PrinterLoaderBloc, PrinterLoaderState>(
|
||||||
|
builder: (context, state) {
|
||||||
|
if (state.isFetching) {
|
||||||
|
return const Center(child: LoaderWithText());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (state.printer.code == '') {
|
||||||
|
return SettingPrinterForm(
|
||||||
|
code: 'checker',
|
||||||
|
onSuccess: () {
|
||||||
|
context.read<PrinterLoaderBloc>().add(
|
||||||
|
PrinterLoaderEvent.getByCode('checker'),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return state.failureOption.fold(
|
||||||
|
() => isEdit
|
||||||
|
? SettingPrinterForm(
|
||||||
|
code: 'checker',
|
||||||
|
printer: state.printer,
|
||||||
|
onCancel: () {
|
||||||
|
setState(() {
|
||||||
|
isEdit = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
onSuccess: () {
|
||||||
|
context.read<PrinterLoaderBloc>().add(
|
||||||
|
PrinterLoaderEvent.getByCode('checker'),
|
||||||
|
);
|
||||||
|
setState(() {
|
||||||
|
isEdit = false;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
)
|
||||||
|
: PrinterCard(
|
||||||
|
printer: state.printer,
|
||||||
|
onEdit: () {
|
||||||
|
setState(() {
|
||||||
|
isEdit = true;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
),
|
||||||
|
(f) => f.maybeMap(
|
||||||
|
orElse: () => ErrorCard(
|
||||||
|
title: 'Error',
|
||||||
|
message: 'Terjadi Kesalahan',
|
||||||
|
onTap: () {},
|
||||||
|
),
|
||||||
|
empty: (value) => SettingPrinterForm(
|
||||||
|
code: 'checker',
|
||||||
|
onSuccess: () {
|
||||||
|
context.read<PrinterLoaderBloc>().add(
|
||||||
|
PrinterLoaderEvent.getByCode('checker'),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -3,6 +3,7 @@ import 'package:flutter_bloc/flutter_bloc.dart';
|
|||||||
|
|
||||||
import '../../../../../../../application/printer/printer_loader/printer_loader_bloc.dart';
|
import '../../../../../../../application/printer/printer_loader/printer_loader_bloc.dart';
|
||||||
import '../../../../../../../common/theme/theme.dart';
|
import '../../../../../../../common/theme/theme.dart';
|
||||||
|
import '../../../../../../components/card/error_card.dart';
|
||||||
import '../../../../../../components/loader/loader_with_text.dart';
|
import '../../../../../../components/loader/loader_with_text.dart';
|
||||||
import '../../widgets/printer_card.dart';
|
import '../../widgets/printer_card.dart';
|
||||||
import 'setting_printer_form.dart';
|
import 'setting_printer_form.dart';
|
||||||
@ -49,7 +50,8 @@ class _SettingPrinterReceiptState extends State<SettingPrinterReceipt> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
return isEdit
|
return state.failureOption.fold(
|
||||||
|
() => isEdit
|
||||||
? SettingPrinterForm(
|
? SettingPrinterForm(
|
||||||
code: 'receipt',
|
code: 'receipt',
|
||||||
printer: state.printer,
|
printer: state.printer,
|
||||||
@ -74,6 +76,22 @@ class _SettingPrinterReceiptState extends State<SettingPrinterReceipt> {
|
|||||||
isEdit = true;
|
isEdit = true;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
),
|
||||||
|
(f) => f.maybeMap(
|
||||||
|
orElse: () => ErrorCard(
|
||||||
|
title: "Error",
|
||||||
|
message: "Terjadi kesalahan saat memuat printer",
|
||||||
|
onTap: () {},
|
||||||
|
),
|
||||||
|
empty: (value) => SettingPrinterForm(
|
||||||
|
code: 'receipt',
|
||||||
|
onSuccess: () {
|
||||||
|
context.read<PrinterLoaderBloc>().add(
|
||||||
|
PrinterLoaderEvent.getByCode('receipt'),
|
||||||
|
);
|
||||||
|
},
|
||||||
|
),
|
||||||
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
|||||||
@ -2,6 +2,7 @@ import 'package:flutter/material.dart';
|
|||||||
|
|
||||||
import '../../../../../components/page/page_title.dart';
|
import '../../../../../components/page/page_title.dart';
|
||||||
import '../../../../../components/tab/custom_tabbar.dart';
|
import '../../../../../components/tab/custom_tabbar.dart';
|
||||||
|
import 'printer/setting_printer_checker.dart';
|
||||||
import 'printer/setting_printer_receipt.dart';
|
import 'printer/setting_printer_receipt.dart';
|
||||||
|
|
||||||
class SettingPrinterSection extends StatelessWidget {
|
class SettingPrinterSection extends StatelessWidget {
|
||||||
@ -27,7 +28,7 @@ class SettingPrinterSection extends StatelessWidget {
|
|||||||
],
|
],
|
||||||
tabViews: [
|
tabViews: [
|
||||||
SettingPrinterReceipt(),
|
SettingPrinterReceipt(),
|
||||||
Text('Checker Printer'),
|
SettingPrinterChecker(),
|
||||||
Text('Kitchen Printer'),
|
Text('Kitchen Printer'),
|
||||||
Text('Bar Printer'),
|
Text('Bar Printer'),
|
||||||
Text('Tiket Printer'),
|
Text('Tiket Printer'),
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user