| Future<List<ActionType>> getActionTypes(); | Future<List<ActionType>> getActionTypes(); | ||||
| @GET("/api/water-types") | @GET("/api/water-types") | ||||
| Future<List<WaterType>> getWaterTypes(); | |||||
| Future<List<WaterType>> getWaterTypes({@DioOptions() Options options}); | |||||
| //Crop | //Crop | ||||
| @GET( | @GET( |
| } | } | ||||
| @override | @override | ||||
| getWaterTypes() async { | |||||
| getWaterTypes({options}) async { | |||||
| const _extra = <String, dynamic>{}; | const _extra = <String, dynamic>{}; | ||||
| final queryParameters = <String, dynamic>{}; | final queryParameters = <String, dynamic>{}; | ||||
| queryParameters.removeWhere((k, v) => v == null); | |||||
| final _data = <String, dynamic>{}; | final _data = <String, dynamic>{}; | ||||
| final newOptions = newRequestOptions(options); | |||||
| newOptions.extra.addAll(_extra); | |||||
| newOptions.headers.addAll(<String, dynamic>{}); | |||||
| final Response<List<dynamic>> _result = await _dio.request( | final Response<List<dynamic>> _result = await _dio.request( | ||||
| '/api/water-types', | '/api/water-types', | ||||
| queryParameters: queryParameters, | queryParameters: queryParameters, | ||||
| options: RequestOptions( | |||||
| method: 'GET', | |||||
| headers: <String, dynamic>{}, | |||||
| extra: _extra, | |||||
| baseUrl: baseUrl), | |||||
| options: newOptions.merge(method: 'GET', baseUrl: baseUrl), | |||||
| data: _data); | data: _data); | ||||
| var value = _result.data | var value = _result.data | ||||
| .map((dynamic i) => WaterType.fromJson(i as Map<String, dynamic>)) | .map((dynamic i) => WaterType.fromJson(i as Map<String, dynamic>)) | ||||
| .toList(); | .toList(); | ||||
| return value; | return value; | ||||
| } | } | ||||
| RequestOptions newRequestOptions(Options options) { | |||||
| if (options is RequestOptions) { | |||||
| return options; | |||||
| } | |||||
| if (options == null) { | |||||
| return RequestOptions(); | |||||
| } | |||||
| return RequestOptions( | |||||
| method: options.method, | |||||
| sendTimeout: options.sendTimeout, | |||||
| receiveTimeout: options.receiveTimeout, | |||||
| extra: options.extra, | |||||
| headers: options.headers, | |||||
| responseType: options.responseType, | |||||
| contentType: options.contentType.toString(), | |||||
| validateStatus: options.validateStatus, | |||||
| receiveDataWhenStatusError: options.receiveDataWhenStatusError, | |||||
| followRedirects: options.followRedirects, | |||||
| maxRedirects: options.maxRedirects, | |||||
| requestEncoder: options.requestEncoder, | |||||
| responseDecoder: options.responseDecoder, | |||||
| ); | |||||
| } | |||||
| } | } |
| Future<List<WaterType>> getWaterTypes() { | Future<List<WaterType>> getWaterTypes() { | ||||
| final client = RestClient(dio); | final client = RestClient(dio); | ||||
| var op = buildConfigurableCacheOptions( | |||||
| forceRefresh: true, maxAge: Duration(days: 7)); | |||||
| return client.getWaterTypes(); | |||||
| var op = buildConfigurableCacheOptions(forceRefresh: true); | |||||
| return client.getWaterTypes(options: op); | |||||
| } | } | ||||
| Future<CropPlot> getPlotDetail(int cropId, {int page, int size}) { | Future<CropPlot> getPlotDetail(int cropId, {int page, int size}) { |
| bool _autoValidate = false; | bool _autoValidate = false; | ||||
| UseWater _useWater = UseWater(); | UseWater _useWater = UseWater(); | ||||
| var pref = LocalPref(); | var pref = LocalPref(); | ||||
| TextEditingController _waterTypeController = TextEditingController(); | |||||
| TextEditingController _amountController = TextEditingController(); | TextEditingController _amountController = TextEditingController(); | ||||
| TextEditingController _descriptionController = TextEditingController(); | TextEditingController _descriptionController = TextEditingController(); | ||||
| return Container( | return Container( | ||||
| height: 150, | height: 150, | ||||
| child: ListView.builder( | child: ListView.builder( | ||||
| physics: NeverScrollableScrollPhysics(), | |||||
| shrinkWrap: true, | shrinkWrap: true, | ||||
| itemBuilder: (context, index) { | itemBuilder: (context, index) { | ||||
| return GestureDetector( | return GestureDetector( |
| get: ^3.8.0 | get: ^3.8.0 | ||||
| intl: ^0.16.1 | intl: ^0.16.1 | ||||
| flutter_datetime_picker: ^1.3.8 | flutter_datetime_picker: ^1.3.8 | ||||
| # analyzer: ^0.39.14 | |||||
| http: ^0.12.2 | http: ^0.12.2 | ||||
| http_parser: ^3.1.4 | http_parser: ^3.1.4 | ||||
| rflutter_alert: ^1.1.0 | rflutter_alert: ^1.1.0 |