Browse Source

clean code

master
daivph 5 years ago
parent
commit
3409588a91
5 changed files with 83 additions and 67 deletions
  1. +0
    -3
      lib/presentation/custom_widgets/widget_media_picker.dart
  2. +33
    -55
      lib/presentation/screens/actions/nursery/sc_edit_action_nursery.dart
  3. +25
    -0
      lib/presentation/screens/actions/state_management_helper/change_file_controller.dart
  4. +24
    -0
      lib/presentation/screens/actions/state_management_helper/change_supply.dart
  5. +1
    -9
      lib/presentation/screens/login/view/login_page.dart

+ 0
- 3
lib/presentation/custom_widgets/widget_media_picker.dart View File

return BlocBuilder<MediaHelperBloc, MediaHelperState>( return BlocBuilder<MediaHelperBloc, MediaHelperState>(
builder: (context, state) { builder: (context, state) {
if (state is MediaHelperSuccess) { if (state is MediaHelperSuccess) {
print("build list items length: " + state.items.length.toString());
print("" + currentItems.length.toString());
files = []; files = [];
currentItems.forEach((element) { currentItems.forEach((element) {
files.add(element.pathFile); files.add(element.pathFile);
}); });
widget.onChangeFiles(files); widget.onChangeFiles(files);
print("existed files ${files.length}");


return WrapContentHozListView( return WrapContentHozListView(
itemBuilder: (context, index) { itemBuilder: (context, index) {

+ 33
- 55
lib/presentation/screens/actions/nursery/sc_edit_action_nursery.dart View File

import 'package:farm_tpf/presentation/custom_widgets/widget_media_picker.dart'; import 'package:farm_tpf/presentation/custom_widgets/widget_media_picker.dart';
import 'package:farm_tpf/presentation/screens/actions/bloc/action_detail_bloc.dart'; import 'package:farm_tpf/presentation/screens/actions/bloc/action_detail_bloc.dart';
import 'package:farm_tpf/presentation/screens/actions/nursery/bloc/expansion_list_bloc.dart'; import 'package:farm_tpf/presentation/screens/actions/nursery/bloc/expansion_list_bloc.dart';
import 'package:farm_tpf/presentation/screens/actions/state_management_helper/change_file_controller.dart';
import 'package:farm_tpf/presentation/screens/actions/state_management_helper/change_supply.dart';
import 'package:farm_tpf/presentation/screens/resources/sc_resource_helper.dart'; import 'package:farm_tpf/presentation/screens/resources/sc_resource_helper.dart';
import 'package:farm_tpf/utils/bloc/bloc/status_add_form_bloc.dart'; import 'package:farm_tpf/utils/bloc/bloc/status_add_form_bloc.dart';
import 'package:farm_tpf/utils/const_color.dart'; import 'package:farm_tpf/utils/const_color.dart';
import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_cache_manager/flutter_cache_manager.dart'; import 'package:flutter_cache_manager/flutter_cache_manager.dart';
import 'package:flutter_datetime_picker/flutter_datetime_picker.dart'; import 'package:flutter_datetime_picker/flutter_datetime_picker.dart';
import 'package:fluttertoast/fluttertoast.dart';
import 'package:get/get.dart'; import 'package:get/get.dart';
import 'package:get/state_manager.dart'; import 'package:get/state_manager.dart';
import 'package:intl/intl.dart'; import 'package:intl/intl.dart';
bool _autoValidate = false; bool _autoValidate = false;
Nursery _nursery = Nursery(); Nursery _nursery = Nursery();
var pref = LocalPref(); var pref = LocalPref();
FlutterToast flutterToast;
TextEditingController _substrateController = TextEditingController(); TextEditingController _substrateController = TextEditingController();
TextEditingController _seedLengthController = TextEditingController(); TextEditingController _seedLengthController = TextEditingController();
TextEditingController _quantityController = TextEditingController(); TextEditingController _quantityController = TextEditingController();
String executeTimeView; String executeTimeView;
DateTime executeTime = DateTime.now(); DateTime executeTime = DateTime.now();
List<NurseryDetail> currentNurseryDetail = List<NurseryDetail>(); List<NurseryDetail> currentNurseryDetail = List<NurseryDetail>();
ExpansionListBloc _bloc;
int currentIndexUpdate = -1; int currentIndexUpdate = -1;
bool isResetForm = true; bool isResetForm = true;
final changeSupply = Get.put(ChangeSupply()); final changeSupply = Get.put(ChangeSupply());
changeSupply.initValue(); changeSupply.initValue();
changeFileController.initValue(); changeFileController.initValue();
_nursery.nurseryDetail = new List<NurseryDetail>(); _nursery.nurseryDetail = new List<NurseryDetail>();
flutterToast = FlutterToast(context);
//UPDATE //UPDATE
if (_nursery.id != null) { if (_nursery.id != null) {
try { try {
_repository.updateNursery((value) { _repository.updateNursery((value) {
LoadingDialog.hideLoadingDialog(context); LoadingDialog.hideLoadingDialog(context);
Get.back(); Get.back();
Get.snackbar(label_add_success, "Hoạt động ươm",
Get.snackbar(label_update_success, "Hoạt động ươm",
snackPosition: SnackPosition.BOTTOM); snackPosition: SnackPosition.BOTTOM);
}, (error) { }, (error) {
LoadingDialog.hideLoadingDialog(context); LoadingDialog.hideLoadingDialog(context);
))); )));
} }


Widget _btnSelectSeed() {
Widget _btnSelectSubstrates() {
return FlatButton( return FlatButton(
padding: EdgeInsets.only(top: 0.0, right: 0.0, bottom: 0.0, left: 0.0), padding: EdgeInsets.only(top: 0.0, right: 0.0, bottom: 0.0, left: 0.0),
onPressed: () { onPressed: () {
Navigator.of(context) Navigator.of(context)
.push(MaterialPageRoute( .push(MaterialPageRoute(
builder: (_) => ResourceHelperScreen( builder: (_) => ResourceHelperScreen(
titleName: "Gía thể",
titleName: "G thể",
type: ConstCommon.supplyTypeSubStrate, type: ConstCommon.supplyTypeSubStrate,
selectedId: Get.find<ChangeSupply>().selectedSupplyId), selectedId: Get.find<ChangeSupply>().selectedSupplyId),
fullscreenDialog: false)) fullscreenDialog: false))
itemBuilder: (context, index) { itemBuilder: (context, index) {
return GestureDetector( return GestureDetector(
onTap: () { onTap: () {
print("Show preview image or video");
print("edit worker");
currentIndexUpdate = index; currentIndexUpdate = index;
context.bloc<StatusAddFormBloc>().add(Changed( context.bloc<StatusAddFormBloc>().add(Changed(
status: CRUDStatus.edit, status: CRUDStatus.edit,
color: Colors.redAccent, color: Colors.redAccent,
), ),
onPressed: () { onPressed: () {
print("On tap delete media");
print("Delete worker");
context.bloc<ExpansionListBloc>().add( context.bloc<ExpansionListBloc>().add(
DeleteItem( DeleteItem(
index: index, index: index,
print("success"); print("success");
print(state.item); print(state.item);
_nursery = Nursery.fromJson(state.item); _nursery = Nursery.fromJson(state.item);
_seedLengthController.text =
_nursery.seedLength.toString();
_seedLengthController.text = _nursery
.seedLength
.formatNumtoStringDecimal();
_quantityController.text = _nursery.quantity
.formatNumtoStringDecimal();
_seedIncubationTimeController.text = _nursery
.seedIncubationTime
.formatNumtoStringDecimal();
_descriptionController.text =
_nursery.description;
try {
executeTime =
DateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'")
.parse(_nursery.executeDate);
} catch (_) {}
executeTimeView =
DateFormat("dd/MM/yyyy HH:mm")
.format(executeTime);
//Show media //Show media
if (_nursery.media.isNotEmpty) {
if (_nursery.media != null) {
await cacheFiles(_nursery.media) await cacheFiles(_nursery.media)
.then((value) { .then((value) {
print("then: ${value.length}"); print("then: ${value.length}");
.add(AddNew( .add(AddNew(
items: _nursery.nurseryDetail)); items: _nursery.nurseryDetail));
} }
//change subStrates
if (_nursery.substratesId != null) {
Get.find<ChangeSupply>()
.changeById(_nursery.substratesId);
}
} else if (state is ActionDetailInitial) { } else if (state is ActionDetailInitial) {
print("init"); print("init");
} else if (state is ActionDetailLoading) { } else if (state is ActionDetailLoading) {
Container( Container(
width: double.infinity, width: double.infinity,
child: Text( child: Text(
"Tên giống",
"Loại giá thể",
style: TextStyle( style: TextStyle(
color: Colors.black54, color: Colors.black54,
fontSize: 13.0), fontSize: 13.0),
), ),
), ),
_btnSelectSeed(),
_btnSelectSubstrates(),
SizedBox( SizedBox(
height: 8.0, height: 8.0,
), ),
return medias; return medias;
} }
} }

class ChangeSupply extends GetxController {
Supply currentSupply;
int selectedSupplyId;

void initValue() {
currentSupply = Supply();
selectedSupplyId = -1;
update();
}

void change(Supply supply) {
currentSupply = supply;
selectedSupplyId = supply.id;
update();
}
}

class ChangeFileController extends GetxController {
List<String> files;
void initValue() {
files = [];
update();
}

void addAllFile(List<String> filePaths) {
files = [];
files = filePaths;
update();
}

void addFile(String filePath) {
files.add(filePath);
update();
}

void deleteFile(String filePath) {
files.remove(filePath);
update();
}
}

+ 25
- 0
lib/presentation/screens/actions/state_management_helper/change_file_controller.dart View File

import 'package:get/get.dart';

class ChangeFileController extends GetxController {
List<String> files;
void initValue() {
files = [];
update();
}

void addAllFile(List<String> filePaths) {
files = [];
files = filePaths;
update();
}

void addFile(String filePath) {
files.add(filePath);
update();
}

void deleteFile(String filePath) {
files.remove(filePath);
update();
}
}

+ 24
- 0
lib/presentation/screens/actions/state_management_helper/change_supply.dart View File

import 'package:farm_tpf/models/Supply.dart';
import 'package:get/get.dart';

class ChangeSupply extends GetxController {
Supply currentSupply;
int selectedSupplyId;

void initValue() {
currentSupply = Supply();
selectedSupplyId = -1;
update();
}

void change(Supply supply) {
currentSupply = supply;
selectedSupplyId = supply.id;
update();
}

void changeById(int supplyId) {
selectedSupplyId = supplyId;
update();
}
}

+ 1
- 9
lib/presentation/screens/login/view/login_page.dart View File

); );
}, },
child: ListView( child: ListView(
children: <Widget>[
WidgetTopWelcome(),
LoginForm(),
IconButton(
icon: Icon(Icons.cake),
onPressed: () {
Get.to(EditActionNurseryScreen());
})
],
children: <Widget>[WidgetTopWelcome(), LoginForm()],
), ),
), ),
), ),

Loading…
Cancel
Save