| { | { | ||||
| "tbCropDTO": "$plotCrop", | |||||
| "activities": "$[]historyActivity", | |||||
| "sowingDate": "2020-08-20T02:34:18Z", | |||||
| "soakSeedsTime": 1, | |||||
| "seedIncubationTime": 1, | |||||
| "numberPlants": 1, | |||||
| "numberCurrentPlants": 1, | |||||
| "endOfFarmingDate": "2020-08-20T02:34:18Z" | |||||
| "id": 1, | |||||
| "qrCode": "QRLO01", | |||||
| "code": "LO01", | |||||
| "areaM2": 1000.0, | |||||
| "type": 0, | |||||
| "startDate": "2020-08-20T02:34:18Z", | |||||
| "endDate": "2020-08-20T02:34:18Z", | |||||
| "status": "STATUS_ARE_ACTIVE", | |||||
| "description": "", | |||||
| "ageDayStartAt": 3, | |||||
| "tbSuppliesId": 1, | |||||
| "suppliesName": "Rau muống", | |||||
| "tbGuidelineId": 2, | |||||
| "netHouseId": 26, | |||||
| "netHouseName": "T01", | |||||
| "areaId": 3, | |||||
| "area": "Khu C" | |||||
| } | } |
| { | |||||
| "id": 1, | |||||
| "ageDay": 24, | |||||
| "cropId": 1, | |||||
| "executeDate": "2020-08-20T02:34:18Z", | |||||
| "description": "test", | |||||
| "activityTypeId": 1, | |||||
| "activityTypeName": "ACTIVE_TYPE_NURSERY" | |||||
| } |
| { | |||||
| "id": 1, | |||||
| "qrCode": "QRLO01", | |||||
| "code": "LO01", | |||||
| "areaM2": 1000.0, | |||||
| "type": 0, | |||||
| "startDate": "2020-08-20T02:34:18Z", | |||||
| "endDate": "2020-08-20T02:34:18Z", | |||||
| "status": "STATUS_ARE_ACTIVE", | |||||
| "description": "", | |||||
| "ageDayStartAt": 3, | |||||
| "tbSuppliesId": 1, | |||||
| "suppliesName": "Rau muống", | |||||
| "tbGuidelineId": 2, | |||||
| "netHouseId": 26, | |||||
| "netHouseName": "T01", | |||||
| "areaId": 3, | |||||
| "area": "Khu C" | |||||
| } |
| Future<void> updateFcmToken(@Body() String token); | Future<void> updateFcmToken(@Body() String token); | ||||
| @GET("/api/tb-crops?page={page}&size={size}&query={query}") | @GET("/api/tb-crops?page={page}&size={size}&query={query}") | ||||
| Future<List<PlotCrop>> getPlots( | |||||
| Future<List<Crop>> getPlots( | |||||
| {@Path() int page = 0, @Path() int size = 20, @Path() String query = ""}); | {@Path() int page = 0, @Path() int size = 20, @Path() String query = ""}); | ||||
| @GET("/api/listActivityTypesOther") | @GET("/api/listActivityTypesOther") | ||||
| Future<List<ActionType>> getActionTypes(); | Future<List<ActionType>> getActionTypes(); |
| // GENERATED CODE - DO NOT MODIFY BY HAND | |||||
| part of 'rest_client.dart'; | |||||
| // ************************************************************************** | |||||
| // RetrofitGenerator | |||||
| // ************************************************************************** | |||||
| class _RestClient implements RestClient { | |||||
| _RestClient(this._dio, {this.baseUrl}) { | |||||
| ArgumentError.checkNotNull(_dio, '_dio'); | |||||
| this.baseUrl ??= 'http://tpf.aztrace.vn'; | |||||
| } | |||||
| final Dio _dio; | |||||
| String baseUrl; | |||||
| @override | |||||
| login(userRequest) async { | |||||
| ArgumentError.checkNotNull(userRequest, 'userRequest'); | |||||
| const _extra = <String, dynamic>{}; | |||||
| final queryParameters = <String, dynamic>{}; | |||||
| final _data = <String, dynamic>{}; | |||||
| _data.addAll(userRequest?.toJson() ?? <String, dynamic>{}); | |||||
| final Response<Map<String, dynamic>> _result = await _dio.request( | |||||
| '/api/authenticate', | |||||
| queryParameters: queryParameters, | |||||
| options: RequestOptions( | |||||
| method: 'POST', | |||||
| headers: <String, dynamic>{}, | |||||
| extra: _extra, | |||||
| baseUrl: baseUrl), | |||||
| data: _data); | |||||
| final value = User.fromJson(_result.data); | |||||
| return value; | |||||
| } | |||||
| @override | |||||
| getMe() async { | |||||
| const _extra = <String, dynamic>{}; | |||||
| final queryParameters = <String, dynamic>{}; | |||||
| final _data = <String, dynamic>{}; | |||||
| final Response<Map<String, dynamic>> _result = await _dio.request( | |||||
| '/api/account', | |||||
| queryParameters: queryParameters, | |||||
| options: RequestOptions( | |||||
| method: 'GET', | |||||
| headers: <String, dynamic>{}, | |||||
| extra: _extra, | |||||
| baseUrl: baseUrl), | |||||
| data: _data); | |||||
| final value = Account.fromJson(_result.data); | |||||
| return value; | |||||
| } | |||||
| @override | |||||
| forgotPassword(email) async { | |||||
| ArgumentError.checkNotNull(email, 'email'); | |||||
| const _extra = <String, dynamic>{}; | |||||
| final queryParameters = <String, dynamic>{}; | |||||
| final _data = email; | |||||
| await _dio.request<void>('/api/account/reset-password/init', | |||||
| queryParameters: queryParameters, | |||||
| options: RequestOptions( | |||||
| method: 'POST', | |||||
| headers: <String, dynamic>{}, | |||||
| extra: _extra, | |||||
| baseUrl: baseUrl), | |||||
| data: _data); | |||||
| return null; | |||||
| } | |||||
| @override | |||||
| resetPassword(password) async { | |||||
| ArgumentError.checkNotNull(password, 'password'); | |||||
| const _extra = <String, dynamic>{}; | |||||
| final queryParameters = <String, dynamic>{}; | |||||
| final _data = <String, dynamic>{}; | |||||
| _data.addAll(password?.toJson() ?? <String, dynamic>{}); | |||||
| await _dio.request<void>('/api/account/reset-password/finish', | |||||
| queryParameters: queryParameters, | |||||
| options: RequestOptions( | |||||
| method: 'POST', | |||||
| headers: <String, dynamic>{}, | |||||
| extra: _extra, | |||||
| baseUrl: baseUrl), | |||||
| data: _data); | |||||
| return null; | |||||
| } | |||||
| @override | |||||
| changePassword(password) async { | |||||
| ArgumentError.checkNotNull(password, 'password'); | |||||
| const _extra = <String, dynamic>{}; | |||||
| final queryParameters = <String, dynamic>{}; | |||||
| final _data = <String, dynamic>{}; | |||||
| _data.addAll(password?.toJson() ?? <String, dynamic>{}); | |||||
| await _dio.request<void>('/api/account/change-password', | |||||
| queryParameters: queryParameters, | |||||
| options: RequestOptions( | |||||
| method: 'POST', | |||||
| headers: <String, dynamic>{}, | |||||
| extra: _extra, | |||||
| baseUrl: baseUrl), | |||||
| data: _data); | |||||
| return null; | |||||
| } | |||||
| @override | |||||
| updateProfile(account) async { | |||||
| ArgumentError.checkNotNull(account, 'account'); | |||||
| const _extra = <String, dynamic>{}; | |||||
| final queryParameters = <String, dynamic>{}; | |||||
| final _data = <String, dynamic>{}; | |||||
| _data.addAll(account?.toJson() ?? <String, dynamic>{}); | |||||
| final Response<Map<String, dynamic>> _result = await _dio.request( | |||||
| '/api/update-my-profile', | |||||
| queryParameters: queryParameters, | |||||
| options: RequestOptions( | |||||
| method: 'PUT', | |||||
| headers: <String, dynamic>{}, | |||||
| extra: _extra, | |||||
| baseUrl: baseUrl), | |||||
| data: _data); | |||||
| final value = Account.fromJson(_result.data); | |||||
| return value; | |||||
| } | |||||
| @override | |||||
| getSupplies(type) async { | |||||
| ArgumentError.checkNotNull(type, 'type'); | |||||
| const _extra = <String, dynamic>{}; | |||||
| final queryParameters = <String, dynamic>{}; | |||||
| final _data = <String, dynamic>{}; | |||||
| final Response<List<dynamic>> _result = await _dio.request( | |||||
| '/api/tb-supplies-by-type/$type', | |||||
| queryParameters: queryParameters, | |||||
| options: RequestOptions( | |||||
| method: 'GET', | |||||
| headers: <String, dynamic>{}, | |||||
| extra: _extra, | |||||
| baseUrl: baseUrl), | |||||
| data: _data); | |||||
| var value = _result.data | |||||
| .map((dynamic i) => Supply.fromJson(i as Map<String, dynamic>)) | |||||
| .toList(); | |||||
| return value; | |||||
| } | |||||
| @override | |||||
| updateFcmToken(token) async { | |||||
| ArgumentError.checkNotNull(token, 'token'); | |||||
| const _extra = <String, dynamic>{}; | |||||
| final queryParameters = <String, dynamic>{}; | |||||
| final _data = token; | |||||
| await _dio.request<void>('/api/update-fcmToken', | |||||
| queryParameters: queryParameters, | |||||
| options: RequestOptions( | |||||
| method: 'PUT', | |||||
| headers: <String, dynamic>{}, | |||||
| extra: _extra, | |||||
| baseUrl: baseUrl), | |||||
| data: _data); | |||||
| return null; | |||||
| } | |||||
| @override | |||||
| getPlots({page = 0, size = 20, query = ""}) async { | |||||
| const _extra = <String, dynamic>{}; | |||||
| final queryParameters = <String, dynamic>{}; | |||||
| queryParameters.removeWhere((k, v) => v == null); | |||||
| final _data = <String, dynamic>{}; | |||||
| final Response<List<dynamic>> _result = await _dio.request( | |||||
| '/api/tb-crops?page=$page&size=$size&query=$query', | |||||
| queryParameters: queryParameters, | |||||
| options: RequestOptions( | |||||
| method: 'GET', | |||||
| headers: <String, dynamic>{}, | |||||
| extra: _extra, | |||||
| baseUrl: baseUrl), | |||||
| data: _data); | |||||
| var value = _result.data | |||||
| .map((dynamic i) => PlotCrop.fromJson(i as Map<String, dynamic>)) | |||||
| .toList(); | |||||
| return value; | |||||
| } | |||||
| @override | |||||
| getActionTypes() async { | |||||
| const _extra = <String, dynamic>{}; | |||||
| final queryParameters = <String, dynamic>{}; | |||||
| final _data = <String, dynamic>{}; | |||||
| final Response<List<dynamic>> _result = await _dio.request( | |||||
| '/api/listActivityTypesOther', | |||||
| queryParameters: queryParameters, | |||||
| options: RequestOptions( | |||||
| method: 'GET', | |||||
| headers: <String, dynamic>{}, | |||||
| extra: _extra, | |||||
| baseUrl: baseUrl), | |||||
| data: _data); | |||||
| var value = _result.data | |||||
| .map((dynamic i) => ActionType.fromJson(i as Map<String, dynamic>)) | |||||
| .toList(); | |||||
| return value; | |||||
| } | |||||
| @override | |||||
| getCropDetail(cropId, {page = 0, size = 20}) async { | |||||
| ArgumentError.checkNotNull(cropId, 'cropId'); | |||||
| const _extra = <String, dynamic>{}; | |||||
| final queryParameters = <String, dynamic>{}; | |||||
| queryParameters.removeWhere((k, v) => v == null); | |||||
| final _data = <String, dynamic>{}; | |||||
| final Response<Map<String, dynamic>> _result = await _dio.request( | |||||
| '/api/tb-crops-detail/$cropId?page=$page&size=$size&sort=executeDate,DESC', | |||||
| queryParameters: queryParameters, | |||||
| options: RequestOptions( | |||||
| method: 'GET', | |||||
| headers: <String, dynamic>{}, | |||||
| extra: _extra, | |||||
| baseUrl: baseUrl), | |||||
| data: _data); | |||||
| final value = CropPlot.fromJson(_result.data); | |||||
| return value; | |||||
| } | |||||
| } |
| return client.getCropDetail(cropId, page: page, size: size); | return client.getCropDetail(cropId, page: page, size: size); | ||||
| } | } | ||||
| Future<List<PlotCrop>> getPlots({int page, int size, String searchString}) { | |||||
| Future<List<Crop>> getPlots({int page, int size, String searchString}) { | |||||
| final client = RestClient(dio); | final client = RestClient(dio); | ||||
| return client.getPlots(page: page, size: size, query: searchString); | return client.getPlots(page: page, size: size, query: searchString); | ||||
| } | } | ||||
| Object getInstanceClass() { | Object getInstanceClass() { | ||||
| var instanceClass; | var instanceClass; | ||||
| if (1 == 1) { | if (1 == 1) { | ||||
| instanceClass = new PlotCrop(); | |||||
| instanceClass = new Crop(); | |||||
| } | } | ||||
| return instanceClass; | return instanceClass; | ||||
| } | } |
| <String, dynamic>{ | <String, dynamic>{ | ||||
| 'id': instance.id, | 'id': instance.id, | ||||
| 'name': instance.name, | 'name': instance.name, | ||||
| 'description': instance.description, | |||||
| 'description': instance.description | |||||
| }; | }; |
| import 'package:farm_tpf/models/index.dart'; | |||||
| import 'package:json_annotation/json_annotation.dart'; | import 'package:json_annotation/json_annotation.dart'; | ||||
| part 'Crop.g.dart'; | part 'Crop.g.dart'; | ||||
| @JsonSerializable() | @JsonSerializable() | ||||
| class Crop { | class Crop { | ||||
| Crop(); | |||||
| PlotCrop tbCropDTO; | |||||
| List<HistoryActivity> activities; | |||||
| String sowingDate; | |||||
| num soakSeedsTime; | |||||
| num seedIncubationTime; | |||||
| num numberPlants; | |||||
| num numberCurrentPlants; | |||||
| String endOfFarmingDate; | |||||
| Crop(); | |||||
| factory Crop.fromJson(Map<String, dynamic> json) => _$CropFromJson(json); | |||||
| Map<String, dynamic> toJson() => _$CropToJson(this); | |||||
| num id; | |||||
| String qrCode; | |||||
| String code; | |||||
| num areaM2; | |||||
| num type; | |||||
| String startDate; | |||||
| String endDate; | |||||
| String status; | |||||
| String description; | |||||
| num ageDayStartAt; | |||||
| num tbSuppliesId; | |||||
| String suppliesName; | |||||
| num tbGuidelineId; | |||||
| num netHouseId; | |||||
| String netHouseName; | |||||
| num areaId; | |||||
| String area; | |||||
| factory Crop.fromJson(Map<String,dynamic> json) => _$CropFromJson(json); | |||||
| Map<String, dynamic> toJson() => _$CropToJson(this); | |||||
| } | } |
| Crop _$CropFromJson(Map<String, dynamic> json) { | Crop _$CropFromJson(Map<String, dynamic> json) { | ||||
| return Crop() | return Crop() | ||||
| ..tbCropDTO = json['tbCropDTO'] | |||||
| ..activities = json['activities'] as List | |||||
| ..sowingDate = json['sowingDate'] as String | |||||
| ..soakSeedsTime = json['soakSeedsTime'] as num | |||||
| ..seedIncubationTime = json['seedIncubationTime'] as num | |||||
| ..numberPlants = json['numberPlants'] as num | |||||
| ..numberCurrentPlants = json['numberCurrentPlants'] as num | |||||
| ..endOfFarmingDate = json['endOfFarmingDate'] as String; | |||||
| ..id = json['id'] as num | |||||
| ..qrCode = json['qrCode'] as String | |||||
| ..code = json['code'] as String | |||||
| ..areaM2 = json['areaM2'] as num | |||||
| ..type = json['type'] as num | |||||
| ..startDate = json['startDate'] as String | |||||
| ..endDate = json['endDate'] as String | |||||
| ..status = json['status'] as String | |||||
| ..description = json['description'] as String | |||||
| ..ageDayStartAt = json['ageDayStartAt'] as num | |||||
| ..tbSuppliesId = json['tbSuppliesId'] as num | |||||
| ..suppliesName = json['suppliesName'] as String | |||||
| ..tbGuidelineId = json['tbGuidelineId'] as num | |||||
| ..netHouseId = json['netHouseId'] as num | |||||
| ..netHouseName = json['netHouseName'] as String | |||||
| ..areaId = json['areaId'] as num | |||||
| ..area = json['area'] as String; | |||||
| } | } | ||||
| Map<String, dynamic> _$CropToJson(Crop instance) => <String, dynamic>{ | Map<String, dynamic> _$CropToJson(Crop instance) => <String, dynamic>{ | ||||
| 'tbCropDTO': instance.tbCropDTO, | |||||
| 'activities': instance.activities, | |||||
| 'sowingDate': instance.sowingDate, | |||||
| 'soakSeedsTime': instance.soakSeedsTime, | |||||
| 'seedIncubationTime': instance.seedIncubationTime, | |||||
| 'numberPlants': instance.numberPlants, | |||||
| 'numberCurrentPlants': instance.numberCurrentPlants, | |||||
| 'endOfFarmingDate': instance.endOfFarmingDate, | |||||
| 'id': instance.id, | |||||
| 'qrCode': instance.qrCode, | |||||
| 'code': instance.code, | |||||
| 'areaM2': instance.areaM2, | |||||
| 'type': instance.type, | |||||
| 'startDate': instance.startDate, | |||||
| 'endDate': instance.endDate, | |||||
| 'status': instance.status, | |||||
| 'description': instance.description, | |||||
| 'ageDayStartAt': instance.ageDayStartAt, | |||||
| 'tbSuppliesId': instance.tbSuppliesId, | |||||
| 'suppliesName': instance.suppliesName, | |||||
| 'tbGuidelineId': instance.tbGuidelineId, | |||||
| 'netHouseId': instance.netHouseId, | |||||
| 'netHouseName': instance.netHouseName, | |||||
| 'areaId': instance.areaId, | |||||
| 'area': instance.area | |||||
| }; | }; |
| import 'package:json_annotation/json_annotation.dart'; | |||||
| part 'HistoryActivity.g.dart'; | |||||
| @JsonSerializable() | |||||
| class HistoryActivity { | |||||
| HistoryActivity(); | |||||
| num id; | |||||
| num ageDay; | |||||
| num cropId; | |||||
| String executeDate; | |||||
| String description; | |||||
| num activityTypeId; | |||||
| String activityTypeName; | |||||
| factory HistoryActivity.fromJson(Map<String,dynamic> json) => _$HistoryActivityFromJson(json); | |||||
| Map<String, dynamic> toJson() => _$HistoryActivityToJson(this); | |||||
| } |
| // GENERATED CODE - DO NOT MODIFY BY HAND | |||||
| part of 'HistoryActivity.dart'; | |||||
| // ************************************************************************** | |||||
| // JsonSerializableGenerator | |||||
| // ************************************************************************** | |||||
| HistoryActivity _$HistoryActivityFromJson(Map<String, dynamic> json) { | |||||
| return HistoryActivity() | |||||
| ..id = json['id'] as num | |||||
| ..ageDay = json['ageDay'] as num | |||||
| ..cropId = json['cropId'] as num | |||||
| ..executeDate = json['executeDate'] as String | |||||
| ..description = json['description'] as String | |||||
| ..activityTypeId = json['activityTypeId'] as num | |||||
| ..activityTypeName = json['activityTypeName'] as String; | |||||
| } | |||||
| Map<String, dynamic> _$HistoryActivityToJson(HistoryActivity instance) => | |||||
| <String, dynamic>{ | |||||
| 'id': instance.id, | |||||
| 'ageDay': instance.ageDay, | |||||
| 'cropId': instance.cropId, | |||||
| 'executeDate': instance.executeDate, | |||||
| 'description': instance.description, | |||||
| 'activityTypeId': instance.activityTypeId, | |||||
| 'activityTypeName': instance.activityTypeName, | |||||
| }; |
| 'executeDate': instance.executeDate, | 'executeDate': instance.executeDate, | ||||
| 'description': instance.description, | 'description': instance.description, | ||||
| 'activityTypeName': instance.activityTypeName, | 'activityTypeName': instance.activityTypeName, | ||||
| 'workerName': instance.workerName, | |||||
| 'workerName': instance.workerName | |||||
| }; | }; |
| import 'package:json_annotation/json_annotation.dart'; | |||||
| part 'PlotCrop.g.dart'; | |||||
| @JsonSerializable() | |||||
| class PlotCrop { | |||||
| PlotCrop(); | |||||
| num id; | |||||
| String qrCode; | |||||
| String code; | |||||
| num areaM2; | |||||
| num type; | |||||
| String startDate; | |||||
| String endDate; | |||||
| String status; | |||||
| String description; | |||||
| num ageDayStartAt; | |||||
| num tbSuppliesId; | |||||
| String suppliesName; | |||||
| num tbGuidelineId; | |||||
| num netHouseId; | |||||
| String netHouseName; | |||||
| num areaId; | |||||
| String area; | |||||
| factory PlotCrop.fromJson(Map<String,dynamic> json) => _$PlotCropFromJson(json); | |||||
| Map<String, dynamic> toJson() => _$PlotCropToJson(this); | |||||
| } |
| // GENERATED CODE - DO NOT MODIFY BY HAND | |||||
| part of 'PlotCrop.dart'; | |||||
| // ************************************************************************** | |||||
| // JsonSerializableGenerator | |||||
| // ************************************************************************** | |||||
| PlotCrop _$PlotCropFromJson(Map<String, dynamic> json) { | |||||
| return PlotCrop() | |||||
| ..id = json['id'] as num | |||||
| ..qrCode = json['qrCode'] as String | |||||
| ..code = json['code'] as String | |||||
| ..areaM2 = json['areaM2'] as num | |||||
| ..type = json['type'] as num | |||||
| ..startDate = json['startDate'] as String | |||||
| ..endDate = json['endDate'] as String | |||||
| ..status = json['status'] as String | |||||
| ..description = json['description'] as String | |||||
| ..ageDayStartAt = json['ageDayStartAt'] as num | |||||
| ..tbSuppliesId = json['tbSuppliesId'] as num | |||||
| ..suppliesName = json['suppliesName'] as String | |||||
| ..tbGuidelineId = json['tbGuidelineId'] as num | |||||
| ..netHouseId = json['netHouseId'] as num | |||||
| ..netHouseName = json['netHouseName'] as String | |||||
| ..areaId = json['areaId'] as num | |||||
| ..area = json['area'] as String; | |||||
| } | |||||
| Map<String, dynamic> _$PlotCropToJson(PlotCrop instance) => <String, dynamic>{ | |||||
| 'id': instance.id, | |||||
| 'qrCode': instance.qrCode, | |||||
| 'code': instance.code, | |||||
| 'areaM2': instance.areaM2, | |||||
| 'type': instance.type, | |||||
| 'startDate': instance.startDate, | |||||
| 'endDate': instance.endDate, | |||||
| 'status': instance.status, | |||||
| 'description': instance.description, | |||||
| 'ageDayStartAt': instance.ageDayStartAt, | |||||
| 'tbSuppliesId': instance.tbSuppliesId, | |||||
| 'suppliesName': instance.suppliesName, | |||||
| 'tbGuidelineId': instance.tbGuidelineId, | |||||
| 'netHouseId': instance.netHouseId, | |||||
| 'netHouseName': instance.netHouseName, | |||||
| 'areaId': instance.areaId, | |||||
| 'area': instance.area, | |||||
| }; |
| export 'HistoryActivity.dart' ; | |||||
| export 'PlotCrop.dart' ; | |||||
| export 'Supply.dart' ; | export 'Supply.dart' ; | ||||
| export 'Crop.dart' ; | export 'Crop.dart' ; | ||||
| export 'ResourceHelper.dart' ; | export 'ResourceHelper.dart' ; |
| } | } | ||||
| class ItemInfinityWidget extends StatelessWidget { | class ItemInfinityWidget extends StatelessWidget { | ||||
| final PlotCrop item; | |||||
| final Crop item; | |||||
| const ItemInfinityWidget({Key key, @required this.item}) : super(key: key); | const ItemInfinityWidget({Key key, @required this.item}) : super(key: key); | ||||
| import 'package:farm_tpf/custom_model/CropPlot.dart'; | import 'package:farm_tpf/custom_model/CropPlot.dart'; | ||||
| import 'package:farm_tpf/models/index.dart'; | |||||
| import 'package:farm_tpf/presentation/custom_widgets/loading_list_page.dart'; | import 'package:farm_tpf/presentation/custom_widgets/loading_list_page.dart'; | ||||
| import 'package:farm_tpf/presentation/screens/plot_detail/bloc_plot_information.dart'; | import 'package:farm_tpf/presentation/screens/plot_detail/bloc_plot_information.dart'; | ||||
| import 'package:farm_tpf/utils/const_color.dart'; | import 'package:farm_tpf/utils/const_color.dart'; | ||||
| import 'package:farm_tpf/utils/const_string.dart'; | import 'package:farm_tpf/utils/const_string.dart'; | ||||
| import 'package:farm_tpf/utils/validators.dart'; | |||||
| import 'package:flutter/material.dart'; | import 'package:flutter/material.dart'; | ||||
| import 'package:get/get.dart'; | import 'package:get/get.dart'; | ||||
| import 'package:keyboard_dismisser/keyboard_dismisser.dart'; | import 'package:keyboard_dismisser/keyboard_dismisser.dart'; | ||||
| class PlotInformationScreen extends StatefulWidget { | class PlotInformationScreen extends StatefulWidget { | ||||
| final int cropId; | final int cropId; | ||||
| final PlotCrop plot; | |||||
| PlotInformationScreen({@required this.cropId, this.plot}); | |||||
| PlotInformationScreen({@required this.cropId}); | |||||
| @override | @override | ||||
| _PlotInformationScreenState createState() => _PlotInformationScreenState(); | _PlotInformationScreenState createState() => _PlotInformationScreenState(); | ||||
| } | } |
| name: _fe_analyzer_shared | name: _fe_analyzer_shared | ||||
| url: "https://pub.dartlang.org" | url: "https://pub.dartlang.org" | ||||
| source: hosted | source: hosted | ||||
| version: "6.0.0" | |||||
| version: "7.0.0" | |||||
| analyzer: | analyzer: | ||||
| dependency: transitive | dependency: transitive | ||||
| description: | description: | ||||
| name: analyzer | name: analyzer | ||||
| url: "https://pub.dartlang.org" | url: "https://pub.dartlang.org" | ||||
| source: hosted | source: hosted | ||||
| version: "0.39.14" | |||||
| version: "0.39.17" | |||||
| archive: | archive: | ||||
| dependency: transitive | dependency: transitive | ||||
| description: | description: | ||||
| name: build | name: build | ||||
| url: "https://pub.dartlang.org" | url: "https://pub.dartlang.org" | ||||
| source: hosted | source: hosted | ||||
| version: "1.3.0" | |||||
| version: "1.2.2" | |||||
| build_config: | build_config: | ||||
| dependency: transitive | dependency: transitive | ||||
| description: | description: | ||||
| name: build_config | name: build_config | ||||
| url: "https://pub.dartlang.org" | url: "https://pub.dartlang.org" | ||||
| source: hosted | source: hosted | ||||
| version: "0.4.2" | |||||
| version: "0.4.1+1" | |||||
| build_daemon: | build_daemon: | ||||
| dependency: transitive | dependency: transitive | ||||
| description: | description: | ||||
| name: build_resolvers | name: build_resolvers | ||||
| url: "https://pub.dartlang.org" | url: "https://pub.dartlang.org" | ||||
| source: hosted | source: hosted | ||||
| version: "1.3.11" | |||||
| version: "1.3.7" | |||||
| build_runner: | build_runner: | ||||
| dependency: "direct dev" | dependency: "direct dev" | ||||
| description: | description: | ||||
| name: build_runner | name: build_runner | ||||
| url: "https://pub.dartlang.org" | url: "https://pub.dartlang.org" | ||||
| source: hosted | source: hosted | ||||
| version: "1.10.1" | |||||
| version: "1.7.4" | |||||
| build_runner_core: | build_runner_core: | ||||
| dependency: transitive | dependency: transitive | ||||
| description: | description: | ||||
| name: build_runner_core | name: build_runner_core | ||||
| url: "https://pub.dartlang.org" | url: "https://pub.dartlang.org" | ||||
| source: hosted | source: hosted | ||||
| version: "6.0.1" | |||||
| version: "4.3.0" | |||||
| built_collection: | built_collection: | ||||
| dependency: transitive | dependency: transitive | ||||
| description: | description: | ||||
| name: cli_util | name: cli_util | ||||
| url: "https://pub.dartlang.org" | url: "https://pub.dartlang.org" | ||||
| source: hosted | source: hosted | ||||
| version: "0.1.4" | |||||
| version: "0.2.0" | |||||
| code_builder: | code_builder: | ||||
| dependency: transitive | dependency: transitive | ||||
| description: | description: | ||||
| name: stream_transform | name: stream_transform | ||||
| url: "https://pub.dartlang.org" | url: "https://pub.dartlang.org" | ||||
| source: hosted | source: hosted | ||||
| version: "1.2.0" | |||||
| version: "0.0.20" | |||||
| string_scanner: | string_scanner: | ||||
| dependency: transitive | dependency: transitive | ||||
| description: | description: |