controllerDetailTemplate function
dynamic
controllerDetailTemplate()
Implementation
controllerDetailTemplate() {
return """
import 'package:@packageName/helpers/api.dart';
import 'package:@packageName/helpers/state_util.dart';
import 'package:@packageName/helpers/widgets/dialog_confirm.dart';
import 'package:flutter/material.dart';
import 'package:flutter_easyloading/flutter_easyloading.dart';
import '../data/@modelImport.dart';
import '../data/@filename_repository.dart';
import '../views/@filename_add_view.dart';
import '../views/@filename_detail_view.dart';
import '../views/@filename_view.dart';
class @classNameDetailController extends State<@classNameDetailView> {
static late @classNameDetailController instance;
late @classNameDetailView view;
var error = '';
var connectionStatus = ConnectionStatus.loading;
late int id;
@modelName? @varName;
@override
Widget build(BuildContext context) => widget.build(context, this);
@override
void initState() {
instance = this;
id = widget.id;
super.initState();
getData();
}
getData() {
setState(() {
connectionStatus = ConnectionStatus.loading;
});
@classNameRepository().getDetail(
id,
onSuccess: (respon) {
setState(() {
@varName = respon.data as @modelName;
connectionStatus = ConnectionStatus.done;
});
},
onError: (err) {
setState(() {
connectionStatus = ConnectionStatus.error;
error = err.toString();
});
},
);
}
editData() {
Get.to(
@classNameAddView(id: id),
);
}
confirmDelete() {
dialogConfirm(
onConfirm: () {
delete();
},
msg: "Are sure want delete \${@varName!.name} ?",
confirmColor: Colors.red[300],
textConfirm: "Delete",
);
}
void delete() async {
EasyLoading.show();
@classNameRepository().delete(id, onSuccess: (respon) {
EasyLoading.dismiss();
EasyLoading.showSuccess(respon.message!);
Future.delayed(const Duration(seconds: 1), () {
Get.off(const @classNameView());
});
}, onError: (error) {
EasyLoading.dismiss();
EasyLoading.showError(error.toString());
});
}
}
""";
}