printer checker
This commit is contained in:
parent
1b24bae23a
commit
98b152cbc2
@ -123,9 +123,7 @@ class PrinterLocalDataProvider {
|
||||
|
||||
if (result.isEmpty) {
|
||||
log('Printer with code $code not found');
|
||||
return DC.error(
|
||||
PrinterFailure.dynamicErrorMessage('Printer not found'),
|
||||
);
|
||||
return DC.error(PrinterFailure.empty());
|
||||
}
|
||||
|
||||
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 '../../../../../../../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';
|
||||
@ -49,32 +50,49 @@ class _SettingPrinterReceiptState extends State<SettingPrinterReceipt> {
|
||||
);
|
||||
}
|
||||
|
||||
return isEdit
|
||||
? SettingPrinterForm(
|
||||
code: 'receipt',
|
||||
printer: state.printer,
|
||||
onCancel: () {
|
||||
setState(() {
|
||||
isEdit = false;
|
||||
});
|
||||
},
|
||||
onSuccess: () {
|
||||
context.read<PrinterLoaderBloc>().add(
|
||||
PrinterLoaderEvent.getByCode('receipt'),
|
||||
);
|
||||
setState(() {
|
||||
isEdit = false;
|
||||
});
|
||||
},
|
||||
)
|
||||
: PrinterCard(
|
||||
printer: state.printer,
|
||||
onEdit: () {
|
||||
setState(() {
|
||||
isEdit = true;
|
||||
});
|
||||
},
|
||||
);
|
||||
return state.failureOption.fold(
|
||||
() => isEdit
|
||||
? SettingPrinterForm(
|
||||
code: 'receipt',
|
||||
printer: state.printer,
|
||||
onCancel: () {
|
||||
setState(() {
|
||||
isEdit = false;
|
||||
});
|
||||
},
|
||||
onSuccess: () {
|
||||
context.read<PrinterLoaderBloc>().add(
|
||||
PrinterLoaderEvent.getByCode('receipt'),
|
||||
);
|
||||
setState(() {
|
||||
isEdit = false;
|
||||
});
|
||||
},
|
||||
)
|
||||
: PrinterCard(
|
||||
printer: state.printer,
|
||||
onEdit: () {
|
||||
setState(() {
|
||||
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/tab/custom_tabbar.dart';
|
||||
import 'printer/setting_printer_checker.dart';
|
||||
import 'printer/setting_printer_receipt.dart';
|
||||
|
||||
class SettingPrinterSection extends StatelessWidget {
|
||||
@ -27,7 +28,7 @@ class SettingPrinterSection extends StatelessWidget {
|
||||
],
|
||||
tabViews: [
|
||||
SettingPrinterReceipt(),
|
||||
Text('Checker Printer'),
|
||||
SettingPrinterChecker(),
|
||||
Text('Kitchen Printer'),
|
||||
Text('Bar Printer'),
|
||||
Text('Tiket Printer'),
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user