generatePaginationService function
Generates a dart file and installs the required package.
Implementation
Future<void> generatePaginationService() async {
final start = DateTime.now();
ConsoleLog.title('Generating Pagination Service...');
DartgenxConfig config = DartgenxConfig.load();
final fileController = File(p.join(config.outputPath?.paginationService ?? 'lib', 'pagination_controller.dart'));
fileController.createSync(recursive: true);
fileController.writeAsStringSync(paginationControllerTemplate);
ConsoleLog.success(
'PaginationController generated at ${fileController.path}');
final fileWidget = File(p.join(config.outputPath?.paginationService ?? 'lib', 'paging_list_view.dart'));
fileWidget.createSync(recursive: true);
fileWidget.writeAsStringSync(
paginationListViewTemplate(p.join(config.outputPath?.paginationService?.replaceAll('lib', '') ?? '' , 'pagination_controller.dart')));
ConsoleLog.success('PagingListView generated at ${fileWidget.path}');
final customScrollViewWidget = File(p.join(config.outputPath?.paginationService ?? 'lib', 'paging_custom_scroll_view.dart'));
customScrollViewWidget.createSync(recursive: true);
customScrollViewWidget.writeAsStringSync(
paginationCustomScrollViewTemplate(p.join(config.outputPath?.paginationService?.replaceAll('lib', '') ?? '' , 'pagination_controller.dart')));
ConsoleLog.success('PagingCustomScrollView generated at ${customScrollViewWidget.path}');
ConsoleLog.info('Installing required dependencies...');
final packages = ['dio'];
ConsoleLog.step('flutter pub add ${packages.join(" ")}');
final result = await Process.run(
'flutter',
['pub', 'add', ...packages],
runInShell: true,
);
stdout.write(result.stdout);
stderr.write(result.stderr);
final duration = DateTime.now().difference(start).inMilliseconds;
ConsoleLog.info('⌚ Completed in ${duration}ms');
ConsoleLog.line();
}