Merge remote-tracking branch 'origin/main_design2.0' into main_design2.0
commit
ad3549b9a4
@ -1,75 +1,76 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:flutter/cupertino.dart';
|
//
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:http/http.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
// import 'package:http/http.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/urls.dart';
|
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
||||||
import 'package:test_sa/models/user.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
|
// import 'package:test_sa/models/user.dart';
|
||||||
class AssetTransferStatusProvider extends ChangeNotifier {
|
//
|
||||||
//reset provider data
|
// class AssetTransferStatusProvider extends ChangeNotifier {
|
||||||
void reset() {
|
// //reset provider data
|
||||||
_items = null;
|
// void reset() {
|
||||||
_loading = null;
|
// _items = null;
|
||||||
_stateCode = null;
|
// _loading = null;
|
||||||
}
|
// _stateCode = null;
|
||||||
|
// }
|
||||||
// state code of current request to defied error message
|
//
|
||||||
// like 400 customer request failed
|
// // state code of current request to defied error message
|
||||||
// 500 service not available
|
// // like 400 customer request failed
|
||||||
int _stateCode;
|
// // 500 service not available
|
||||||
|
// int _stateCode;
|
||||||
int get stateCode => _stateCode;
|
//
|
||||||
|
// int get stateCode => _stateCode;
|
||||||
// contain user data
|
//
|
||||||
// when user not login or register _user = null
|
// // contain user data
|
||||||
List<Lookup> _items;
|
// // when user not login or register _user = null
|
||||||
|
// List<Lookup> _items;
|
||||||
List<Lookup> get items => _items;
|
//
|
||||||
|
// List<Lookup> get items => _items;
|
||||||
// when categories in-process _loading = true
|
//
|
||||||
// done _loading = true
|
// // when categories in-process _loading = true
|
||||||
// failed _loading = false
|
// // done _loading = true
|
||||||
bool _loading;
|
// // failed _loading = false
|
||||||
|
// bool _loading;
|
||||||
bool get isLoading => _loading;
|
//
|
||||||
|
// bool get isLoading => _loading;
|
||||||
set isLoading(bool isLoading) {
|
//
|
||||||
_loading = isLoading;
|
// set isLoading(bool isLoading) {
|
||||||
notifyListeners();
|
// _loading = isLoading;
|
||||||
}
|
// notifyListeners();
|
||||||
|
// }
|
||||||
/// return -2 if request in progress
|
//
|
||||||
/// return -1 if error happen when sending request
|
// /// return -2 if request in progress
|
||||||
/// return state code if request complete may be 200, 404 or 403
|
// /// return -1 if error happen when sending request
|
||||||
/// for more details check http state manager
|
// /// return state code if request complete may be 200, 404 or 403
|
||||||
/// lib\controllers\http_status_manger\http_status_manger.dart
|
// /// for more details check http state manager
|
||||||
Future<int> getData({
|
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
||||||
String host,
|
// Future<int> getData({
|
||||||
User user,
|
// String host,
|
||||||
}) async {
|
// User user,
|
||||||
if (_loading == true) return -2;
|
// }) async {
|
||||||
_loading = true;
|
// if (_loading == true) return -2;
|
||||||
notifyListeners();
|
// _loading = true;
|
||||||
Response response;
|
// notifyListeners();
|
||||||
try {
|
// Response response;
|
||||||
response = await ApiManager.instance.get(URLs.getAssetTransferStatus);
|
// try {
|
||||||
_stateCode = response.statusCode;
|
// response = await ApiManager.instance.get(URLs.getAssetTransferStatus);
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// _stateCode = response.statusCode;
|
||||||
// client's request was successfully received
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
List categoriesListJson = json.decode(response.body)["data"];
|
// // client's request was successfully received
|
||||||
_items = categoriesListJson.map((item) => Lookup.fromJson(item)).toList();
|
// List categoriesListJson = json.decode(response.body)["data"];
|
||||||
}
|
// _items = categoriesListJson.map((item) => Lookup.fromJson(item)).toList();
|
||||||
_loading = false;
|
// }
|
||||||
notifyListeners();
|
// _loading = false;
|
||||||
return response.statusCode;
|
// notifyListeners();
|
||||||
} catch (error) {
|
// return response.statusCode;
|
||||||
_loading = false;
|
// } catch (error) {
|
||||||
_stateCode = -1;
|
// _loading = false;
|
||||||
notifyListeners();
|
// _stateCode = -1;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return -1;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,73 +1,74 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:flutter/cupertino.dart';
|
//
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:http/http.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
// import 'package:http/http.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/urls.dart';
|
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
||||||
import 'package:test_sa/models/user.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
|
// import 'package:test_sa/models/user.dart';
|
||||||
class AssignedToProvider extends ChangeNotifier {
|
//
|
||||||
//reset provider data
|
// class AssignedToProvider extends ChangeNotifier {
|
||||||
void reset() {
|
// //reset provider data
|
||||||
_items = null;
|
// void reset() {
|
||||||
_stateCode = null;
|
// _items = null;
|
||||||
}
|
// _stateCode = null;
|
||||||
|
// }
|
||||||
// state code of current request to defied error message
|
//
|
||||||
// like 400 customer request failed
|
// // state code of current request to defied error message
|
||||||
// 500 service not available
|
// // like 400 customer request failed
|
||||||
int _stateCode;
|
// // 500 service not available
|
||||||
|
// int _stateCode;
|
||||||
int get stateCode => _stateCode;
|
//
|
||||||
|
// int get stateCode => _stateCode;
|
||||||
// contain user data
|
//
|
||||||
// when user not login or register _user = null
|
// // contain user data
|
||||||
List<Lookup> _items;
|
// // when user not login or register _user = null
|
||||||
|
// List<Lookup> _items;
|
||||||
List<Lookup> get items => _items;
|
//
|
||||||
|
// List<Lookup> get items => _items;
|
||||||
// when categories in-process _loading = true
|
//
|
||||||
// done _loading = true
|
// // when categories in-process _loading = true
|
||||||
// failed _loading = false
|
// // done _loading = true
|
||||||
bool _loading;
|
// // failed _loading = false
|
||||||
|
// bool _loading;
|
||||||
bool get isLoading => _loading;
|
//
|
||||||
|
// bool get isLoading => _loading;
|
||||||
set isLoading(bool isLoading) {
|
//
|
||||||
_loading = isLoading;
|
// set isLoading(bool isLoading) {
|
||||||
notifyListeners();
|
// _loading = isLoading;
|
||||||
}
|
// notifyListeners();
|
||||||
|
// }
|
||||||
/// return -2 if request in progress
|
//
|
||||||
/// return -1 if error happen when sending request
|
// /// return -2 if request in progress
|
||||||
/// return state code if request complete may be 200, 404 or 403
|
// /// return -1 if error happen when sending request
|
||||||
/// for more details check http state manager
|
// /// return state code if request complete may be 200, 404 or 403
|
||||||
/// lib\controllers\http_status_manger\http_status_manger.dart
|
// /// for more details check http state manager
|
||||||
Future<int> getData({String host, User user}) async {
|
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
||||||
if (_loading == true) return -2;
|
// Future<int> getData({String host, User user}) async {
|
||||||
_loading = true;
|
// if (_loading == true) return -2;
|
||||||
notifyListeners();
|
// _loading = true;
|
||||||
Response response;
|
// notifyListeners();
|
||||||
try {
|
// Response response;
|
||||||
response = await ApiManager.instance.get(
|
// try {
|
||||||
URLs.getEmployees,
|
// response = await ApiManager.instance.get(
|
||||||
);
|
// URLs.getEmployees,
|
||||||
_stateCode = response.statusCode;
|
// );
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// _stateCode = response.statusCode;
|
||||||
// client's request was successfully received
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
List categoriesListJson = json.decode(response.body)["data"];
|
// // client's request was successfully received
|
||||||
_items = categoriesListJson.map((type) => Lookup.fromJson(type)).toList();
|
// List categoriesListJson = json.decode(response.body)["data"];
|
||||||
}
|
// _items = categoriesListJson.map((type) => Lookup.fromJson(type)).toList();
|
||||||
_loading = false;
|
// }
|
||||||
notifyListeners();
|
// _loading = false;
|
||||||
return response.statusCode;
|
// notifyListeners();
|
||||||
} catch (error) {
|
// return response.statusCode;
|
||||||
_loading = false;
|
// } catch (error) {
|
||||||
_stateCode = -1;
|
// _loading = false;
|
||||||
notifyListeners();
|
// _stateCode = -1;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return -1;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,73 +1,74 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:flutter/cupertino.dart';
|
//
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:http/http.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
// import 'package:http/http.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/urls.dart';
|
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
||||||
import 'package:test_sa/models/employee.dart';
|
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
||||||
import 'package:test_sa/models/user.dart';
|
// import 'package:test_sa/models/employee.dart';
|
||||||
|
// import 'package:test_sa/models/user.dart';
|
||||||
class EngineersProvider extends ChangeNotifier {
|
//
|
||||||
//reset provider data
|
// class EngineersProvider extends ChangeNotifier {
|
||||||
void reset() {
|
// //reset provider data
|
||||||
_items = null;
|
// void reset() {
|
||||||
_stateCode = null;
|
// _items = null;
|
||||||
}
|
// _stateCode = null;
|
||||||
|
// }
|
||||||
// state code of current request to defied error message
|
//
|
||||||
// like 400 customer request failed
|
// // state code of current request to defied error message
|
||||||
// 500 service not available
|
// // like 400 customer request failed
|
||||||
int _stateCode;
|
// // 500 service not available
|
||||||
|
// int _stateCode;
|
||||||
int get stateCode => _stateCode;
|
//
|
||||||
|
// int get stateCode => _stateCode;
|
||||||
// contain user data
|
//
|
||||||
// when user not login or register _user = null
|
// // contain user data
|
||||||
List<Employee> _items;
|
// // when user not login or register _user = null
|
||||||
|
// List<Employee> _items;
|
||||||
List<Employee> get items => _items;
|
//
|
||||||
|
// List<Employee> get items => _items;
|
||||||
// when categories in-process _loading = true
|
//
|
||||||
// done _loading = true
|
// // when categories in-process _loading = true
|
||||||
// failed _loading = false
|
// // done _loading = true
|
||||||
bool _loading;
|
// // failed _loading = false
|
||||||
|
// bool _loading;
|
||||||
bool get isLoading => _loading;
|
//
|
||||||
|
// bool get isLoading => _loading;
|
||||||
set isLoading(bool isLoading) {
|
//
|
||||||
_loading = isLoading;
|
// set isLoading(bool isLoading) {
|
||||||
notifyListeners();
|
// _loading = isLoading;
|
||||||
}
|
// notifyListeners();
|
||||||
|
// }
|
||||||
/// return -2 if request in progress
|
//
|
||||||
/// return -1 if error happen when sending request
|
// /// return -2 if request in progress
|
||||||
/// return state code if request complete may be 200, 404 or 403
|
// /// return -1 if error happen when sending request
|
||||||
/// for more details check http state manager
|
// /// return state code if request complete may be 200, 404 or 403
|
||||||
/// lib\controllers\http_status_manger\http_status_manger.dart
|
// /// for more details check http state manager
|
||||||
Future<int> getData({String host, User user}) async {
|
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
||||||
if (_loading == true) return -2;
|
// Future<int> getData({String host, User user}) async {
|
||||||
_loading = true;
|
// if (_loading == true) return -2;
|
||||||
notifyListeners();
|
// _loading = true;
|
||||||
Response response;
|
// notifyListeners();
|
||||||
try {
|
// Response response;
|
||||||
response = await ApiManager.instance.get(
|
// try {
|
||||||
URLs.getEngineers,
|
// response = await ApiManager.instance.get(
|
||||||
);
|
// URLs.getEngineers,
|
||||||
_stateCode = response.statusCode;
|
// );
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// _stateCode = response.statusCode;
|
||||||
// client's request was successfully received
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
List categoriesListJson = json.decode(response.body);
|
// // client's request was successfully received
|
||||||
_items = categoriesListJson.map((type) => Employee.fromJson(type)).toList();
|
// List categoriesListJson = json.decode(response.body);
|
||||||
}
|
// _items = categoriesListJson.map((type) => Employee.fromJson(type)).toList();
|
||||||
_loading = false;
|
// }
|
||||||
notifyListeners();
|
// _loading = false;
|
||||||
return response.statusCode;
|
// notifyListeners();
|
||||||
} catch (error) {
|
// return response.statusCode;
|
||||||
_loading = false;
|
// } catch (error) {
|
||||||
_stateCode = -1;
|
// _loading = false;
|
||||||
notifyListeners();
|
// _stateCode = -1;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return -1;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,77 +1,78 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:flutter/cupertino.dart';
|
//
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:http/http.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
// import 'package:http/http.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/urls.dart';
|
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
||||||
import 'package:test_sa/models/user.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
|
// import 'package:test_sa/models/user.dart';
|
||||||
class GasCylinderSizesProvider extends ChangeNotifier {
|
//
|
||||||
//reset provider data
|
// class GasCylinderSizesProvider extends ChangeNotifier {
|
||||||
void reset() {
|
// //reset provider data
|
||||||
_items = null;
|
// void reset() {
|
||||||
_loading = null;
|
// _items = null;
|
||||||
_stateCode = null;
|
// _loading = null;
|
||||||
}
|
// _stateCode = null;
|
||||||
|
// }
|
||||||
// state code of current request to defied error message
|
//
|
||||||
// like 400 customer request failed
|
// // state code of current request to defied error message
|
||||||
// 500 service not available
|
// // like 400 customer request failed
|
||||||
int _stateCode;
|
// // 500 service not available
|
||||||
|
// int _stateCode;
|
||||||
int get stateCode => _stateCode;
|
//
|
||||||
|
// int get stateCode => _stateCode;
|
||||||
// contain user data
|
//
|
||||||
// when user not login or register _user = null
|
// // contain user data
|
||||||
List<Lookup> _items;
|
// // when user not login or register _user = null
|
||||||
|
// List<Lookup> _items;
|
||||||
List<Lookup> get items => _items;
|
//
|
||||||
|
// List<Lookup> get items => _items;
|
||||||
// when categories in-process _loading = true
|
//
|
||||||
// done _loading = true
|
// // when categories in-process _loading = true
|
||||||
// failed _loading = false
|
// // done _loading = true
|
||||||
bool _loading;
|
// // failed _loading = false
|
||||||
|
// bool _loading;
|
||||||
bool get isLoading => _loading;
|
//
|
||||||
|
// bool get isLoading => _loading;
|
||||||
set isLoading(bool isLoading) {
|
//
|
||||||
_loading = isLoading;
|
// set isLoading(bool isLoading) {
|
||||||
notifyListeners();
|
// _loading = isLoading;
|
||||||
}
|
// notifyListeners();
|
||||||
|
// }
|
||||||
/// return -2 if request in progress
|
//
|
||||||
/// return -1 if error happen when sending request
|
// /// return -2 if request in progress
|
||||||
/// return state code if request complete may be 200, 404 or 403
|
// /// return -1 if error happen when sending request
|
||||||
/// for more details check http state manager
|
// /// return state code if request complete may be 200, 404 or 403
|
||||||
/// lib\controllers\http_status_manger\http_status_manger.dart
|
// /// for more details check http state manager
|
||||||
Future<int> getData({
|
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
||||||
String host,
|
// Future<int> getData({
|
||||||
User user,
|
// String host,
|
||||||
}) async {
|
// User user,
|
||||||
if (_loading == true) return -2;
|
// }) async {
|
||||||
_loading = true;
|
// if (_loading == true) return -2;
|
||||||
notifyListeners();
|
// _loading = true;
|
||||||
Response response;
|
// notifyListeners();
|
||||||
try {
|
// Response response;
|
||||||
response = await ApiManager.instance.get(
|
// try {
|
||||||
URLs.getGasCylinderSize,
|
// response = await ApiManager.instance.get(
|
||||||
);
|
// URLs.getGasCylinderSize,
|
||||||
_stateCode = response.statusCode;
|
// );
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// _stateCode = response.statusCode;
|
||||||
// client's request was successfully received
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
List categoriesListJson = json.decode(response.body)["data"];
|
// // client's request was successfully received
|
||||||
_items = categoriesListJson.map((item) => Lookup.fromJson(item)).toList();
|
// List categoriesListJson = json.decode(response.body)["data"];
|
||||||
}
|
// _items = categoriesListJson.map((item) => Lookup.fromJson(item)).toList();
|
||||||
_loading = false;
|
// }
|
||||||
notifyListeners();
|
// _loading = false;
|
||||||
return response.statusCode;
|
// notifyListeners();
|
||||||
} catch (error) {
|
// return response.statusCode;
|
||||||
_loading = false;
|
// } catch (error) {
|
||||||
_stateCode = -1;
|
// _loading = false;
|
||||||
notifyListeners();
|
// _stateCode = -1;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return -1;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,77 +1,78 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:flutter/cupertino.dart';
|
//
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:http/http.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
// import 'package:http/http.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/urls.dart';
|
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
||||||
import 'package:test_sa/models/user.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
|
// import 'package:test_sa/models/user.dart';
|
||||||
class GasCylinderTypesProvider extends ChangeNotifier {
|
//
|
||||||
//reset provider data
|
// class GasCylinderTypesProvider extends ChangeNotifier {
|
||||||
void reset() {
|
// //reset provider data
|
||||||
_items = null;
|
// void reset() {
|
||||||
_loading = null;
|
// _items = null;
|
||||||
_stateCode = null;
|
// _loading = null;
|
||||||
}
|
// _stateCode = null;
|
||||||
|
// }
|
||||||
// state code of current request to defied error message
|
//
|
||||||
// like 400 customer request failed
|
// // state code of current request to defied error message
|
||||||
// 500 service not available
|
// // like 400 customer request failed
|
||||||
int _stateCode;
|
// // 500 service not available
|
||||||
|
// int _stateCode;
|
||||||
int get stateCode => _stateCode;
|
//
|
||||||
|
// int get stateCode => _stateCode;
|
||||||
// contain user data
|
//
|
||||||
// when user not login or register _user = null
|
// // contain user data
|
||||||
List<Lookup> _items;
|
// // when user not login or register _user = null
|
||||||
|
// List<Lookup> _items;
|
||||||
List<Lookup> get items => _items;
|
//
|
||||||
|
// List<Lookup> get items => _items;
|
||||||
// when categories in-process _loading = true
|
//
|
||||||
// done _loading = true
|
// // when categories in-process _loading = true
|
||||||
// failed _loading = false
|
// // done _loading = true
|
||||||
bool _loading;
|
// // failed _loading = false
|
||||||
|
// bool _loading;
|
||||||
bool get isLoading => _loading;
|
//
|
||||||
|
// bool get isLoading => _loading;
|
||||||
set isLoading(bool isLoading) {
|
//
|
||||||
_loading = isLoading;
|
// set isLoading(bool isLoading) {
|
||||||
notifyListeners();
|
// _loading = isLoading;
|
||||||
}
|
// notifyListeners();
|
||||||
|
// }
|
||||||
/// return -2 if request in progress
|
//
|
||||||
/// return -1 if error happen when sending request
|
// /// return -2 if request in progress
|
||||||
/// return state code if request complete may be 200, 404 or 403
|
// /// return -1 if error happen when sending request
|
||||||
/// for more details check http state manager
|
// /// return state code if request complete may be 200, 404 or 403
|
||||||
/// lib\controllers\http_status_manger\http_status_manger.dart
|
// /// for more details check http state manager
|
||||||
Future<int> getData({
|
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
||||||
String host,
|
// Future<int> getData({
|
||||||
User user,
|
// String host,
|
||||||
}) async {
|
// User user,
|
||||||
if (_loading == true) return -2;
|
// }) async {
|
||||||
_loading = true;
|
// if (_loading == true) return -2;
|
||||||
notifyListeners();
|
// _loading = true;
|
||||||
Response response;
|
// notifyListeners();
|
||||||
try {
|
// Response response;
|
||||||
response = await ApiManager.instance.get(
|
// try {
|
||||||
URLs.getGasCylinderType,
|
// response = await ApiManager.instance.get(
|
||||||
);
|
// URLs.getGasCylinderType,
|
||||||
_stateCode = response.statusCode;
|
// );
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// _stateCode = response.statusCode;
|
||||||
// client's request was successfully received
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
List categoriesListJson = json.decode(response.body)["data"];
|
// // client's request was successfully received
|
||||||
_items = categoriesListJson.map((item) => Lookup.fromJson(item)).toList();
|
// List categoriesListJson = json.decode(response.body)["data"];
|
||||||
}
|
// _items = categoriesListJson.map((item) => Lookup.fromJson(item)).toList();
|
||||||
_loading = false;
|
// }
|
||||||
notifyListeners();
|
// _loading = false;
|
||||||
return response.statusCode;
|
// notifyListeners();
|
||||||
} catch (error) {
|
// return response.statusCode;
|
||||||
_loading = false;
|
// } catch (error) {
|
||||||
_stateCode = -1;
|
// _loading = false;
|
||||||
notifyListeners();
|
// _stateCode = -1;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return -1;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,77 +1,78 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:flutter/cupertino.dart';
|
//
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:http/http.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
// import 'package:http/http.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/urls.dart';
|
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
||||||
import 'package:test_sa/models/user.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
|
// import 'package:test_sa/models/user.dart';
|
||||||
class GasStatusProvider extends ChangeNotifier {
|
//
|
||||||
//reset provider data
|
// class GasStatusProvider extends ChangeNotifier {
|
||||||
void reset() {
|
// //reset provider data
|
||||||
_items = null;
|
// void reset() {
|
||||||
_loading = null;
|
// _items = null;
|
||||||
_stateCode = null;
|
// _loading = null;
|
||||||
}
|
// _stateCode = null;
|
||||||
|
// }
|
||||||
// state code of current request to defied error message
|
//
|
||||||
// like 400 customer request failed
|
// // state code of current request to defied error message
|
||||||
// 500 service not available
|
// // like 400 customer request failed
|
||||||
int _stateCode;
|
// // 500 service not available
|
||||||
|
// int _stateCode;
|
||||||
int get stateCode => _stateCode;
|
//
|
||||||
|
// int get stateCode => _stateCode;
|
||||||
// contain user data
|
//
|
||||||
// when user not login or register _user = null
|
// // contain user data
|
||||||
List<Lookup> _items;
|
// // when user not login or register _user = null
|
||||||
|
// List<Lookup> _items;
|
||||||
List<Lookup> get items => _items;
|
//
|
||||||
|
// List<Lookup> get items => _items;
|
||||||
// when categories in-process _loading = true
|
//
|
||||||
// done _loading = true
|
// // when categories in-process _loading = true
|
||||||
// failed _loading = false
|
// // done _loading = true
|
||||||
bool _loading;
|
// // failed _loading = false
|
||||||
|
// bool _loading;
|
||||||
bool get isLoading => _loading;
|
//
|
||||||
|
// bool get isLoading => _loading;
|
||||||
set isLoading(bool isLoading) {
|
//
|
||||||
_loading = isLoading;
|
// set isLoading(bool isLoading) {
|
||||||
notifyListeners();
|
// _loading = isLoading;
|
||||||
}
|
// notifyListeners();
|
||||||
|
// }
|
||||||
/// return -2 if request in progress
|
//
|
||||||
/// return -1 if error happen when sending request
|
// /// return -2 if request in progress
|
||||||
/// return state code if request complete may be 200, 404 or 403
|
// /// return -1 if error happen when sending request
|
||||||
/// for more details check http state manager
|
// /// return state code if request complete may be 200, 404 or 403
|
||||||
/// lib\controllers\http_status_manger\http_status_manger.dart
|
// /// for more details check http state manager
|
||||||
Future<int> getData({
|
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
||||||
String host,
|
// Future<int> getData({
|
||||||
User user,
|
// String host,
|
||||||
}) async {
|
// User user,
|
||||||
if (_loading == true) return -2;
|
// }) async {
|
||||||
_loading = true;
|
// if (_loading == true) return -2;
|
||||||
notifyListeners();
|
// _loading = true;
|
||||||
Response response;
|
// notifyListeners();
|
||||||
try {
|
// Response response;
|
||||||
response = await ApiManager.instance.get(
|
// try {
|
||||||
URLs.getGasStatus,
|
// response = await ApiManager.instance.get(
|
||||||
);
|
// URLs.getGasStatus,
|
||||||
_stateCode = response.statusCode;
|
// );
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// _stateCode = response.statusCode;
|
||||||
// client's request was successfully received
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
List categoriesListJson = json.decode(response.body)["data"];
|
// // client's request was successfully received
|
||||||
_items = categoriesListJson.map((item) => Lookup.fromJson(item)).toList();
|
// List categoriesListJson = json.decode(response.body)["data"];
|
||||||
}
|
// _items = categoriesListJson.map((item) => Lookup.fromJson(item)).toList();
|
||||||
_loading = false;
|
// }
|
||||||
notifyListeners();
|
// _loading = false;
|
||||||
return response.statusCode;
|
// notifyListeners();
|
||||||
} catch (error) {
|
// return response.statusCode;
|
||||||
_loading = false;
|
// } catch (error) {
|
||||||
_stateCode = -1;
|
// _loading = false;
|
||||||
notifyListeners();
|
// _stateCode = -1;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return -1;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,77 +1,78 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:flutter/cupertino.dart';
|
//
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:http/http.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
// import 'package:http/http.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/urls.dart';
|
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
||||||
import 'package:test_sa/models/user.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
|
// import 'package:test_sa/models/user.dart';
|
||||||
class GasTypesProvider extends ChangeNotifier {
|
//
|
||||||
//reset provider data
|
// class GasTypesProvider extends ChangeNotifier {
|
||||||
void reset() {
|
// //reset provider data
|
||||||
_items = null;
|
// void reset() {
|
||||||
_loading = null;
|
// _items = null;
|
||||||
_stateCode = null;
|
// _loading = null;
|
||||||
}
|
// _stateCode = null;
|
||||||
|
// }
|
||||||
// state code of current request to defied error message
|
//
|
||||||
// like 400 customer request failed
|
// // state code of current request to defied error message
|
||||||
// 500 service not available
|
// // like 400 customer request failed
|
||||||
int _stateCode;
|
// // 500 service not available
|
||||||
|
// int _stateCode;
|
||||||
int get stateCode => _stateCode;
|
//
|
||||||
|
// int get stateCode => _stateCode;
|
||||||
// contain user data
|
//
|
||||||
// when user not login or register _user = null
|
// // contain user data
|
||||||
List<Lookup> _items;
|
// // when user not login or register _user = null
|
||||||
|
// List<Lookup> _items;
|
||||||
List<Lookup> get items => _items;
|
//
|
||||||
|
// List<Lookup> get items => _items;
|
||||||
// when categories in-process _loading = true
|
//
|
||||||
// done _loading = true
|
// // when categories in-process _loading = true
|
||||||
// failed _loading = false
|
// // done _loading = true
|
||||||
bool _loading;
|
// // failed _loading = false
|
||||||
|
// bool _loading;
|
||||||
bool get isLoading => _loading;
|
//
|
||||||
|
// bool get isLoading => _loading;
|
||||||
set isLoading(bool isLoading) {
|
//
|
||||||
_loading = isLoading;
|
// set isLoading(bool isLoading) {
|
||||||
notifyListeners();
|
// _loading = isLoading;
|
||||||
}
|
// notifyListeners();
|
||||||
|
// }
|
||||||
/// return -2 if request in progress
|
//
|
||||||
/// return -1 if error happen when sending request
|
// /// return -2 if request in progress
|
||||||
/// return state code if request complete may be 200, 404 or 403
|
// /// return -1 if error happen when sending request
|
||||||
/// for more details check http state manager
|
// /// return state code if request complete may be 200, 404 or 403
|
||||||
/// lib\controllers\http_status_manger\http_status_manger.dart
|
// /// for more details check http state manager
|
||||||
Future<int> getData({
|
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
||||||
String host,
|
// Future<int> getData({
|
||||||
User user,
|
// String host,
|
||||||
}) async {
|
// User user,
|
||||||
if (_loading == true) return -2;
|
// }) async {
|
||||||
_loading = true;
|
// if (_loading == true) return -2;
|
||||||
notifyListeners();
|
// _loading = true;
|
||||||
Response response;
|
// notifyListeners();
|
||||||
try {
|
// Response response;
|
||||||
response = await ApiManager.instance.get(
|
// try {
|
||||||
URLs.getGasTypes,
|
// response = await ApiManager.instance.get(
|
||||||
);
|
// URLs.getGasTypes,
|
||||||
_stateCode = response.statusCode;
|
// );
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// _stateCode = response.statusCode;
|
||||||
// client's request was successfully received
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
List categoriesListJson = json.decode(response.body)["data"];
|
// // client's request was successfully received
|
||||||
_items = categoriesListJson.map((item) => Lookup.fromJson(item)).toList();
|
// List categoriesListJson = json.decode(response.body)["data"];
|
||||||
}
|
// _items = categoriesListJson.map((item) => Lookup.fromJson(item)).toList();
|
||||||
_loading = false;
|
// }
|
||||||
notifyListeners();
|
// _loading = false;
|
||||||
return response.statusCode;
|
// notifyListeners();
|
||||||
} catch (error) {
|
// return response.statusCode;
|
||||||
_loading = false;
|
// } catch (error) {
|
||||||
_stateCode = -1;
|
// _loading = false;
|
||||||
notifyListeners();
|
// _stateCode = -1;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return -1;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,74 +1,75 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:flutter/cupertino.dart';
|
//
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:http/http.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
// import 'package:http/http.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/urls.dart';
|
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
||||||
import 'package:test_sa/models/user.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
|
// import 'package:test_sa/models/user.dart';
|
||||||
class PentryStatusProvider extends ChangeNotifier {
|
//
|
||||||
//reset provider data
|
// class PentryStatusProvider extends ChangeNotifier {
|
||||||
void reset() {
|
// //reset provider data
|
||||||
_items = null;
|
// void reset() {
|
||||||
_stateCode = null;
|
// _items = null;
|
||||||
}
|
// _stateCode = null;
|
||||||
|
// }
|
||||||
// state code of current request to defied error message
|
//
|
||||||
// like 400 customer request failed
|
// // state code of current request to defied error message
|
||||||
// 500 service not available
|
// // like 400 customer request failed
|
||||||
int _stateCode;
|
// // 500 service not available
|
||||||
|
// int _stateCode;
|
||||||
int get stateCode => _stateCode;
|
//
|
||||||
|
// int get stateCode => _stateCode;
|
||||||
// contain user data
|
//
|
||||||
// when user not login or register _user = null
|
// // contain user data
|
||||||
List<Lookup> _items;
|
// // when user not login or register _user = null
|
||||||
|
// List<Lookup> _items;
|
||||||
List<Lookup> get items => _items;
|
//
|
||||||
|
// List<Lookup> get items => _items;
|
||||||
// when categories in-process _loading = true
|
//
|
||||||
// done _loading = true
|
// // when categories in-process _loading = true
|
||||||
// failed _loading = false
|
// // done _loading = true
|
||||||
bool _loading;
|
// // failed _loading = false
|
||||||
|
// bool _loading;
|
||||||
bool get isLoading => _loading;
|
//
|
||||||
|
// bool get isLoading => _loading;
|
||||||
set isLoading(bool isLoading) {
|
//
|
||||||
_loading = isLoading;
|
// set isLoading(bool isLoading) {
|
||||||
notifyListeners();
|
// _loading = isLoading;
|
||||||
}
|
// notifyListeners();
|
||||||
|
// }
|
||||||
/// return -2 if request in progress
|
//
|
||||||
/// return -1 if error happen when sending request
|
// /// return -2 if request in progress
|
||||||
/// return state code if request complete may be 200, 404 or 403
|
// /// return -1 if error happen when sending request
|
||||||
/// for more details check http state manager
|
// /// return state code if request complete may be 200, 404 or 403
|
||||||
/// lib\controllers\http_status_manger\http_status_manger.dart
|
// /// for more details check http state manager
|
||||||
Future<int> getData({String host, User user}) async {
|
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
||||||
if (_loading == true) return -2;
|
// Future<int> getData({String host, User user}) async {
|
||||||
_loading = true;
|
// if (_loading == true) return -2;
|
||||||
notifyListeners();
|
// _loading = true;
|
||||||
Response response;
|
// notifyListeners();
|
||||||
try {
|
// Response response;
|
||||||
response = await ApiManager.instance.get(
|
// try {
|
||||||
URLs.getPentryStatus,
|
// response = await ApiManager.instance.get(
|
||||||
);
|
// URLs.getPentryStatus,
|
||||||
|
// );
|
||||||
_stateCode = response.statusCode;
|
//
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// _stateCode = response.statusCode;
|
||||||
// client's request was successfully received
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
List listJson = json.decode(response.body)["data"];
|
// // client's request was successfully received
|
||||||
_items = listJson.map((type) => Lookup.fromJson(type)).toList();
|
// List listJson = json.decode(response.body)["data"];
|
||||||
}
|
// _items = listJson.map((type) => Lookup.fromJson(type)).toList();
|
||||||
_loading = false;
|
// }
|
||||||
notifyListeners();
|
// _loading = false;
|
||||||
return response.statusCode;
|
// notifyListeners();
|
||||||
} catch (error) {
|
// return response.statusCode;
|
||||||
_loading = false;
|
// } catch (error) {
|
||||||
_stateCode = -1;
|
// _loading = false;
|
||||||
notifyListeners();
|
// _stateCode = -1;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return -1;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,74 +1,75 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:flutter/cupertino.dart';
|
//
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:http/http.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
// import 'package:http/http.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/urls.dart';
|
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
||||||
import 'package:test_sa/models/user.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
|
// import 'package:test_sa/models/user.dart';
|
||||||
class PentryTaskStatusProvider extends ChangeNotifier {
|
//
|
||||||
//reset provider data
|
// class PentryTaskStatusProvider extends ChangeNotifier {
|
||||||
void reset() {
|
// //reset provider data
|
||||||
_items = null;
|
// void reset() {
|
||||||
_stateCode = null;
|
// _items = null;
|
||||||
}
|
// _stateCode = null;
|
||||||
|
// }
|
||||||
// state code of current request to defied error message
|
//
|
||||||
// like 400 customer request failed
|
// // state code of current request to defied error message
|
||||||
// 500 service not available
|
// // like 400 customer request failed
|
||||||
int _stateCode;
|
// // 500 service not available
|
||||||
|
// int _stateCode;
|
||||||
int get stateCode => _stateCode;
|
//
|
||||||
|
// int get stateCode => _stateCode;
|
||||||
// contain user data
|
//
|
||||||
// when user not login or register _user = null
|
// // contain user data
|
||||||
List<Lookup> _items;
|
// // when user not login or register _user = null
|
||||||
|
// List<Lookup> _items;
|
||||||
List<Lookup> get items => _items;
|
//
|
||||||
|
// List<Lookup> get items => _items;
|
||||||
// when categories in-process _loading = true
|
//
|
||||||
// done _loading = true
|
// // when categories in-process _loading = true
|
||||||
// failed _loading = false
|
// // done _loading = true
|
||||||
bool _loading;
|
// // failed _loading = false
|
||||||
|
// bool _loading;
|
||||||
bool get isLoading => _loading;
|
//
|
||||||
|
// bool get isLoading => _loading;
|
||||||
set isLoading(bool isLoading) {
|
//
|
||||||
_loading = isLoading;
|
// set isLoading(bool isLoading) {
|
||||||
notifyListeners();
|
// _loading = isLoading;
|
||||||
}
|
// notifyListeners();
|
||||||
|
// }
|
||||||
/// return -2 if request in progress
|
//
|
||||||
/// return -1 if error happen when sending request
|
// /// return -2 if request in progress
|
||||||
/// return state code if request complete may be 200, 404 or 403
|
// /// return -1 if error happen when sending request
|
||||||
/// for more details check http state manager
|
// /// return state code if request complete may be 200, 404 or 403
|
||||||
/// lib\controllers\http_status_manger\http_status_manger.dart
|
// /// for more details check http state manager
|
||||||
Future<int> getData({String host, User user}) async {
|
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
||||||
if (_loading == true) return -2;
|
// Future<int> getData({String host, User user}) async {
|
||||||
_loading = true;
|
// if (_loading == true) return -2;
|
||||||
notifyListeners();
|
// _loading = true;
|
||||||
Response response;
|
// notifyListeners();
|
||||||
try {
|
// Response response;
|
||||||
response = await ApiManager.instance.get(
|
// try {
|
||||||
URLs.getPentryTaskStatus,
|
// response = await ApiManager.instance.get(
|
||||||
);
|
// URLs.getPentryTaskStatus,
|
||||||
|
// );
|
||||||
_stateCode = response.statusCode;
|
//
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// _stateCode = response.statusCode;
|
||||||
// client's request was successfully received
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
List categoriesListJson = json.decode(response.body)["data"];
|
// // client's request was successfully received
|
||||||
_items = categoriesListJson.map((type) => Lookup.fromJson(type)).toList();
|
// List categoriesListJson = json.decode(response.body)["data"];
|
||||||
}
|
// _items = categoriesListJson.map((type) => Lookup.fromJson(type)).toList();
|
||||||
_loading = false;
|
// }
|
||||||
notifyListeners();
|
// _loading = false;
|
||||||
return response.statusCode;
|
// notifyListeners();
|
||||||
} catch (error) {
|
// return response.statusCode;
|
||||||
_loading = false;
|
// } catch (error) {
|
||||||
_stateCode = -1;
|
// _loading = false;
|
||||||
notifyListeners();
|
// _stateCode = -1;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return -1;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,74 +1,75 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:flutter/cupertino.dart';
|
//
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:http/http.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
// import 'package:http/http.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/urls.dart';
|
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
||||||
import 'package:test_sa/models/user.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
|
// import 'package:test_sa/models/user.dart';
|
||||||
class PentryVisitStatusProvider extends ChangeNotifier {
|
//
|
||||||
//reset provider data
|
// class PentryVisitStatusProvider extends ChangeNotifier {
|
||||||
void reset() {
|
// //reset provider data
|
||||||
_items = null;
|
// void reset() {
|
||||||
_stateCode = null;
|
// _items = null;
|
||||||
}
|
// _stateCode = null;
|
||||||
|
// }
|
||||||
// state code of current request to defied error message
|
//
|
||||||
// like 400 customer request failed
|
// // state code of current request to defied error message
|
||||||
// 500 service not available
|
// // like 400 customer request failed
|
||||||
int _stateCode;
|
// // 500 service not available
|
||||||
|
// int _stateCode;
|
||||||
int get stateCode => _stateCode;
|
//
|
||||||
|
// int get stateCode => _stateCode;
|
||||||
// contain user data
|
//
|
||||||
// when user not login or register _user = null
|
// // contain user data
|
||||||
List<Lookup> _items;
|
// // when user not login or register _user = null
|
||||||
|
// List<Lookup> _items;
|
||||||
List<Lookup> get items => _items;
|
//
|
||||||
|
// List<Lookup> get items => _items;
|
||||||
// when categories in-process _loading = true
|
//
|
||||||
// done _loading = true
|
// // when categories in-process _loading = true
|
||||||
// failed _loading = false
|
// // done _loading = true
|
||||||
bool _loading;
|
// // failed _loading = false
|
||||||
|
// bool _loading;
|
||||||
bool get isLoading => _loading;
|
//
|
||||||
|
// bool get isLoading => _loading;
|
||||||
set isLoading(bool isLoading) {
|
//
|
||||||
_loading = isLoading;
|
// set isLoading(bool isLoading) {
|
||||||
notifyListeners();
|
// _loading = isLoading;
|
||||||
}
|
// notifyListeners();
|
||||||
|
// }
|
||||||
/// return -2 if request in progress
|
//
|
||||||
/// return -1 if error happen when sending request
|
// /// return -2 if request in progress
|
||||||
/// return state code if request complete may be 200, 404 or 403
|
// /// return -1 if error happen when sending request
|
||||||
/// for more details check http state manager
|
// /// return state code if request complete may be 200, 404 or 403
|
||||||
/// lib\controllers\http_status_manger\http_status_manger.dart
|
// /// for more details check http state manager
|
||||||
Future<int> getData({String host, User user}) async {
|
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
||||||
if (_loading == true) return -2;
|
// Future<int> getData({String host, User user}) async {
|
||||||
_loading = true;
|
// if (_loading == true) return -2;
|
||||||
notifyListeners();
|
// _loading = true;
|
||||||
Response response;
|
// notifyListeners();
|
||||||
try {
|
// Response response;
|
||||||
response = await ApiManager.instance.get(
|
// try {
|
||||||
URLs.getPentryVisitStatus,
|
// response = await ApiManager.instance.get(
|
||||||
);
|
// URLs.getPentryVisitStatus,
|
||||||
|
// );
|
||||||
_stateCode = response.statusCode;
|
//
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// _stateCode = response.statusCode;
|
||||||
// client's request was successfully received
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
List listJson = json.decode(response.body)["data"];
|
// // client's request was successfully received
|
||||||
_items = listJson.map((type) => Lookup.fromJson(type)).toList();
|
// List listJson = json.decode(response.body)["data"];
|
||||||
}
|
// _items = listJson.map((type) => Lookup.fromJson(type)).toList();
|
||||||
_loading = false;
|
// }
|
||||||
notifyListeners();
|
// _loading = false;
|
||||||
return response.statusCode;
|
// notifyListeners();
|
||||||
} catch (error) {
|
// return response.statusCode;
|
||||||
_loading = false;
|
// } catch (error) {
|
||||||
_stateCode = -1;
|
// _loading = false;
|
||||||
notifyListeners();
|
// _stateCode = -1;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return -1;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,73 +1,74 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:flutter/cupertino.dart';
|
//
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:http/http.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
// import 'package:http/http.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/urls.dart';
|
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
||||||
import 'package:test_sa/models/user.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
|
// import 'package:test_sa/models/user.dart';
|
||||||
class ServiceRequestDefectTypesProvider extends ChangeNotifier {
|
//
|
||||||
//reset provider data
|
// class ServiceRequestDefectTypesProvider extends ChangeNotifier {
|
||||||
void reset() {
|
// //reset provider data
|
||||||
_items = null;
|
// void reset() {
|
||||||
_stateCode = null;
|
// _items = null;
|
||||||
}
|
// _stateCode = null;
|
||||||
|
// }
|
||||||
// state code of current request to defied error message
|
//
|
||||||
// like 400 customer request failed
|
// // state code of current request to defied error message
|
||||||
// 500 service not available
|
// // like 400 customer request failed
|
||||||
int _stateCode;
|
// // 500 service not available
|
||||||
|
// int _stateCode;
|
||||||
int get stateCode => _stateCode;
|
//
|
||||||
|
// int get stateCode => _stateCode;
|
||||||
// contain user data
|
//
|
||||||
// when user not login or register _user = null
|
// // contain user data
|
||||||
List<Lookup> _items;
|
// // when user not login or register _user = null
|
||||||
|
// List<Lookup> _items;
|
||||||
List<Lookup> get items => _items;
|
//
|
||||||
|
// List<Lookup> get items => _items;
|
||||||
// when categories in-process _loading = true
|
//
|
||||||
// done _loading = true
|
// // when categories in-process _loading = true
|
||||||
// failed _loading = false
|
// // done _loading = true
|
||||||
bool _loading;
|
// // failed _loading = false
|
||||||
|
// bool _loading;
|
||||||
bool get isLoading => _loading;
|
//
|
||||||
|
// bool get isLoading => _loading;
|
||||||
set isLoading(bool isLoading) {
|
//
|
||||||
_loading = isLoading;
|
// set isLoading(bool isLoading) {
|
||||||
notifyListeners();
|
// _loading = isLoading;
|
||||||
}
|
// notifyListeners();
|
||||||
|
// }
|
||||||
/// return -2 if request in progress
|
//
|
||||||
/// return -1 if error happen when sending request
|
// /// return -2 if request in progress
|
||||||
/// return state code if request complete may be 200, 404 or 403
|
// /// return -1 if error happen when sending request
|
||||||
/// for more details check http state manager
|
// /// return state code if request complete may be 200, 404 or 403
|
||||||
/// lib\controllers\http_status_manger\http_status_manger.dart
|
// /// for more details check http state manager
|
||||||
Future<int> getData({String host, User user}) async {
|
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
||||||
if (_loading == true) return -2;
|
// Future<int> getData({String host, User user}) async {
|
||||||
_loading = true;
|
// if (_loading == true) return -2;
|
||||||
notifyListeners();
|
// _loading = true;
|
||||||
Response response;
|
// notifyListeners();
|
||||||
try {
|
// Response response;
|
||||||
response = await ApiManager.instance.get(
|
// try {
|
||||||
URLs.getServiceReportDefectTypes,
|
// response = await ApiManager.instance.get(
|
||||||
);
|
// URLs.getServiceReportDefectTypes,
|
||||||
_stateCode = response.statusCode;
|
// );
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// _stateCode = response.statusCode;
|
||||||
// client's request was successfully received
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
List listJson = json.decode(response.body)["data"];
|
// // client's request was successfully received
|
||||||
_items = listJson.map((type) => Lookup.fromJson(type)).toList();
|
// List listJson = json.decode(response.body)["data"];
|
||||||
}
|
// _items = listJson.map((type) => Lookup.fromJson(type)).toList();
|
||||||
_loading = false;
|
// }
|
||||||
notifyListeners();
|
// _loading = false;
|
||||||
return response.statusCode;
|
// notifyListeners();
|
||||||
} catch (error) {
|
// return response.statusCode;
|
||||||
_loading = false;
|
// } catch (error) {
|
||||||
_stateCode = -1;
|
// _loading = false;
|
||||||
notifyListeners();
|
// _stateCode = -1;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return -1;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,72 +1,73 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:flutter/cupertino.dart';
|
//
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:http/http.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
// import 'package:http/http.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/urls.dart';
|
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
||||||
import 'package:test_sa/models/user.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
|
// import 'package:test_sa/models/user.dart';
|
||||||
class ServiceReportEquipmentStatusProvider extends ChangeNotifier {
|
//
|
||||||
//reset provider data
|
// class ServiceReportEquipmentStatusProvider extends ChangeNotifier {
|
||||||
void reset() {
|
// //reset provider data
|
||||||
_status = null;
|
// void reset() {
|
||||||
_stateCode = null;
|
// _status = null;
|
||||||
}
|
// _stateCode = null;
|
||||||
|
// }
|
||||||
// state code of current request to defied error message
|
//
|
||||||
// like 400 customer request failed
|
// // state code of current request to defied error message
|
||||||
// 500 service not available
|
// // like 400 customer request failed
|
||||||
int _stateCode;
|
// // 500 service not available
|
||||||
|
// int _stateCode;
|
||||||
int get stateCode => _stateCode;
|
//
|
||||||
|
// int get stateCode => _stateCode;
|
||||||
// contain user data
|
//
|
||||||
// when user not login or register _user = null
|
// // contain user data
|
||||||
List<Lookup> _status;
|
// // when user not login or register _user = null
|
||||||
|
// List<Lookup> _status;
|
||||||
List<Lookup> get statuses => _status;
|
//
|
||||||
|
// List<Lookup> get statuses => _status;
|
||||||
// when categories in-process _loading = true
|
//
|
||||||
// done _loading = true
|
// // when categories in-process _loading = true
|
||||||
// failed _loading = false
|
// // done _loading = true
|
||||||
bool _loading;
|
// // failed _loading = false
|
||||||
|
// bool _loading;
|
||||||
bool get isLoading => _loading;
|
//
|
||||||
|
// bool get isLoading => _loading;
|
||||||
set isLoading(bool isLoading) {
|
//
|
||||||
_loading = isLoading;
|
// set isLoading(bool isLoading) {
|
||||||
notifyListeners();
|
// _loading = isLoading;
|
||||||
}
|
// notifyListeners();
|
||||||
|
// }
|
||||||
/// return -2 if request in progress
|
//
|
||||||
/// return -1 if error happen when sending request
|
// /// return -2 if request in progress
|
||||||
/// return state code if request complete may be 200, 404 or 403
|
// /// return -1 if error happen when sending request
|
||||||
/// for more details check http state manager
|
// /// return state code if request complete may be 200, 404 or 403
|
||||||
/// lib\controllers\http_status_manger\http_status_manger.dart
|
// /// for more details check http state manager
|
||||||
Future<int> getTypes({String host, User user}) async {
|
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
||||||
if (_loading == true) return -2;
|
// Future<int> getTypes({String host, User user}) async {
|
||||||
_loading = true;
|
// if (_loading == true) return -2;
|
||||||
notifyListeners();
|
// _loading = true;
|
||||||
Response response;
|
// notifyListeners();
|
||||||
try {
|
// Response response;
|
||||||
response = await ApiManager.instance.get(URLs.equipmentStatus);
|
// try {
|
||||||
|
// response = await ApiManager.instance.get(URLs.equipmentStatus);
|
||||||
_stateCode = response.statusCode;
|
//
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// _stateCode = response.statusCode;
|
||||||
// client's request was successfully received
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
List categoriesListJson = json.decode(response.body)["data"];
|
// // client's request was successfully received
|
||||||
_status = categoriesListJson.map((type) => Lookup.fromJson(type)).toList();
|
// List categoriesListJson = json.decode(response.body)["data"];
|
||||||
}
|
// _status = categoriesListJson.map((type) => Lookup.fromJson(type)).toList();
|
||||||
_loading = false;
|
// }
|
||||||
notifyListeners();
|
// _loading = false;
|
||||||
return response.statusCode;
|
// notifyListeners();
|
||||||
} catch (error) {
|
// return response.statusCode;
|
||||||
_loading = false;
|
// } catch (error) {
|
||||||
_stateCode = -1;
|
// _loading = false;
|
||||||
notifyListeners();
|
// _stateCode = -1;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return -1;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,79 +1,80 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:flutter/cupertino.dart';
|
//
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:http/http.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
// import 'package:http/http.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/urls.dart';
|
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
||||||
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
class ServiceReportMaintenanceSituationProvider extends ChangeNotifier {
|
//
|
||||||
//reset provider data
|
// class ServiceReportMaintenanceSituationProvider extends ChangeNotifier {
|
||||||
void reset() {
|
// //reset provider data
|
||||||
_calls = null;
|
// void reset() {
|
||||||
_loading = null;
|
// _calls = null;
|
||||||
_stateCode = null;
|
// _loading = null;
|
||||||
}
|
// _stateCode = null;
|
||||||
|
// }
|
||||||
// state code of current request to defied error message
|
//
|
||||||
// like 400 customer request failed
|
// // state code of current request to defied error message
|
||||||
// 500 service not available
|
// // like 400 customer request failed
|
||||||
int _stateCode;
|
// // 500 service not available
|
||||||
|
// int _stateCode;
|
||||||
int get stateCode => _stateCode;
|
//
|
||||||
|
// int get stateCode => _stateCode;
|
||||||
// contain user data
|
//
|
||||||
// when user not login or register _user = null
|
// // contain user data
|
||||||
List<Lookup> _calls;
|
// // when user not login or register _user = null
|
||||||
|
// List<Lookup> _calls;
|
||||||
List<Lookup> get operators => _calls;
|
//
|
||||||
|
// List<Lookup> get operators => _calls;
|
||||||
// when categories in-process _loading = true
|
//
|
||||||
// done _loading = true
|
// // when categories in-process _loading = true
|
||||||
// failed _loading = false
|
// // done _loading = true
|
||||||
bool _loading;
|
// // failed _loading = false
|
||||||
|
// bool _loading;
|
||||||
bool get isLoading => _loading;
|
//
|
||||||
|
// bool get isLoading => _loading;
|
||||||
set isLoading(bool isLoading) {
|
//
|
||||||
_loading = isLoading;
|
// set isLoading(bool isLoading) {
|
||||||
notifyListeners();
|
// _loading = isLoading;
|
||||||
}
|
// notifyListeners();
|
||||||
|
// }
|
||||||
/// return -2 if request in progress
|
//
|
||||||
/// return -1 if error happen when sending request
|
// /// return -2 if request in progress
|
||||||
/// return state code if request complete may be 200, 404 or 403
|
// /// return -1 if error happen when sending request
|
||||||
/// for more details check http state manager
|
// /// return state code if request complete may be 200, 404 or 403
|
||||||
/// lib\controllers\http_status_manger\http_status_manger.dart
|
// /// for more details check http state manager
|
||||||
Future<int> getOperators(String woId) async {
|
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
||||||
if (_loading == true) return -2;
|
// Future<int> getOperators(String woId) async {
|
||||||
_loading = true;
|
// if (_loading == true) return -2;
|
||||||
notifyListeners();
|
// _loading = true;
|
||||||
Response response;
|
// notifyListeners();
|
||||||
try {
|
// Response response;
|
||||||
response = await ApiManager.instance.get(
|
// try {
|
||||||
woId == null ? "${URLs.getMaintenanceSituation}" : "${URLs.getServiceReportLastCalls}?parentWOId=$woId&isAdd=true&id=${0}&typeTransaction='Nothing'",
|
// response = await ApiManager.instance.get(
|
||||||
);
|
// woId == null ? "${URLs.getMaintenanceSituation}" : "${URLs.getServiceReportLastCalls}?parentWOId=$woId&isAdd=true&id=${0}&typeTransaction='Nothing'",
|
||||||
// response = await get(
|
|
||||||
// Uri.parse(
|
|
||||||
// URLs.getServiceReportLastCalls
|
|
||||||
// +(serviceStatus == null ? "" : "?service_status=$serviceStatus")
|
|
||||||
// ),
|
|
||||||
// );
|
// );
|
||||||
_stateCode = response.statusCode;
|
// // response = await get(
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// // Uri.parse(
|
||||||
// client's request was successfully received
|
// // URLs.getServiceReportLastCalls
|
||||||
List categoriesListJson = json.decode(response.body)["data"];
|
// // +(serviceStatus == null ? "" : "?service_status=$serviceStatus")
|
||||||
_calls = categoriesListJson.map((type) => Lookup.fromJson(type)).toList();
|
// // ),
|
||||||
}
|
// // );
|
||||||
_loading = false;
|
// _stateCode = response.statusCode;
|
||||||
notifyListeners();
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
return response.statusCode;
|
// // client's request was successfully received
|
||||||
} catch (error) {
|
// List categoriesListJson = json.decode(response.body)["data"];
|
||||||
_loading = false;
|
// _calls = categoriesListJson.map((type) => Lookup.fromJson(type)).toList();
|
||||||
_stateCode = -1;
|
// }
|
||||||
notifyListeners();
|
// _loading = false;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return response.statusCode;
|
||||||
}
|
// } catch (error) {
|
||||||
}
|
// _loading = false;
|
||||||
|
// _stateCode = -1;
|
||||||
|
// notifyListeners();
|
||||||
|
// return -1;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,75 +1,76 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:flutter/cupertino.dart';
|
//
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:http/http.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
// import 'package:http/http.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/urls.dart';
|
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
||||||
import 'package:test_sa/models/user.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
|
// import 'package:test_sa/models/user.dart';
|
||||||
@Deprecated("Use the one inside lib/providers folder")
|
//
|
||||||
class ServiceRequestPriorityProvider extends ChangeNotifier {
|
// @Deprecated("Use the one inside lib/providers folder")
|
||||||
//reset provider data
|
// class ServiceRequestPriorityProvider extends ChangeNotifier {
|
||||||
void reset() {
|
// //reset provider data
|
||||||
_items = null;
|
// void reset() {
|
||||||
_stateCode = null;
|
// _items = null;
|
||||||
}
|
// _stateCode = null;
|
||||||
|
// }
|
||||||
// state code of current request to defied error message
|
//
|
||||||
// like 400 customer request failed
|
// // state code of current request to defied error message
|
||||||
// 500 service not available
|
// // like 400 customer request failed
|
||||||
int _stateCode;
|
// // 500 service not available
|
||||||
|
// int _stateCode;
|
||||||
int get stateCode => _stateCode;
|
//
|
||||||
|
// int get stateCode => _stateCode;
|
||||||
// contain user data
|
//
|
||||||
// when user not login or register _user = null
|
// // contain user data
|
||||||
List<Lookup> _items;
|
// // when user not login or register _user = null
|
||||||
|
// List<Lookup> _items;
|
||||||
List<Lookup> get items => _items;
|
//
|
||||||
|
// List<Lookup> get items => _items;
|
||||||
// when categories in-process _loading = true
|
//
|
||||||
// done _loading = true
|
// // when categories in-process _loading = true
|
||||||
// failed _loading = false
|
// // done _loading = true
|
||||||
bool _loading;
|
// // failed _loading = false
|
||||||
|
// bool _loading;
|
||||||
bool get isLoading => _loading;
|
//
|
||||||
|
// bool get isLoading => _loading;
|
||||||
set isLoading(bool isLoading) {
|
//
|
||||||
_loading = isLoading;
|
// set isLoading(bool isLoading) {
|
||||||
notifyListeners();
|
// _loading = isLoading;
|
||||||
}
|
// notifyListeners();
|
||||||
|
// }
|
||||||
/// return -2 if request in progress
|
//
|
||||||
/// return -1 if error happen when sending request
|
// /// return -2 if request in progress
|
||||||
/// return state code if request complete may be 200, 404 or 403
|
// /// return -1 if error happen when sending request
|
||||||
/// for more details check http state manager
|
// /// return state code if request complete may be 200, 404 or 403
|
||||||
/// lib\controllers\http_status_manger\http_status_manger.dart
|
// /// for more details check http state manager
|
||||||
Future<int> getData({String host, User user}) async {
|
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
||||||
if (_loading == true) return -2;
|
// Future<int> getData({String host, User user}) async {
|
||||||
_loading = true;
|
// if (_loading == true) return -2;
|
||||||
notifyListeners();
|
// _loading = true;
|
||||||
Response response;
|
// notifyListeners();
|
||||||
try {
|
// Response response;
|
||||||
response = await ApiManager.instance.get(
|
// try {
|
||||||
URLs.getServiceReportPriority,
|
// response = await ApiManager.instance.get(
|
||||||
);
|
// URLs.getServiceReportPriority,
|
||||||
|
// );
|
||||||
_stateCode = response.statusCode;
|
//
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// _stateCode = response.statusCode;
|
||||||
// client's request was successfully received
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
List listJson = json.decode(response.body)["data"];
|
// // client's request was successfully received
|
||||||
_items = listJson.map((type) => Lookup.fromJson(type)).toList();
|
// List listJson = json.decode(response.body)["data"];
|
||||||
}
|
// _items = listJson.map((type) => Lookup.fromJson(type)).toList();
|
||||||
_loading = false;
|
// }
|
||||||
notifyListeners();
|
// _loading = false;
|
||||||
return response.statusCode;
|
// notifyListeners();
|
||||||
} catch (error) {
|
// return response.statusCode;
|
||||||
_loading = false;
|
// } catch (error) {
|
||||||
_stateCode = -1;
|
// _loading = false;
|
||||||
notifyListeners();
|
// _stateCode = -1;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return -1;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,73 +1,74 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:flutter/cupertino.dart';
|
//
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:http/http.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
// import 'package:http/http.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/urls.dart';
|
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
||||||
import 'package:test_sa/models/user.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
|
// import 'package:test_sa/models/user.dart';
|
||||||
class ServiceReportReasonsProvider extends ChangeNotifier {
|
//
|
||||||
//reset provider data
|
// class ServiceReportReasonsProvider extends ChangeNotifier {
|
||||||
void reset() {
|
// //reset provider data
|
||||||
_reasons = null;
|
// void reset() {
|
||||||
_stateCode = null;
|
// _reasons = null;
|
||||||
}
|
// _stateCode = null;
|
||||||
|
// }
|
||||||
// state code of current request to defied error message
|
//
|
||||||
// like 400 customer request failed
|
// // state code of current request to defied error message
|
||||||
// 500 service not available
|
// // like 400 customer request failed
|
||||||
int _stateCode;
|
// // 500 service not available
|
||||||
|
// int _stateCode;
|
||||||
int get stateCode => _stateCode;
|
//
|
||||||
|
// int get stateCode => _stateCode;
|
||||||
// contain user data
|
//
|
||||||
// when user not login or register _user = null
|
// // contain user data
|
||||||
List<Lookup> _reasons;
|
// // when user not login or register _user = null
|
||||||
|
// List<Lookup> _reasons;
|
||||||
List<Lookup> get reasons => _reasons;
|
//
|
||||||
|
// List<Lookup> get reasons => _reasons;
|
||||||
// when categories in-process _loading = true
|
//
|
||||||
// done _loading = true
|
// // when categories in-process _loading = true
|
||||||
// failed _loading = false
|
// // done _loading = true
|
||||||
bool _loading;
|
// // failed _loading = false
|
||||||
|
// bool _loading;
|
||||||
bool get isLoading => _loading;
|
//
|
||||||
|
// bool get isLoading => _loading;
|
||||||
set isLoading(bool isLoading) {
|
//
|
||||||
_loading = isLoading;
|
// set isLoading(bool isLoading) {
|
||||||
notifyListeners();
|
// _loading = isLoading;
|
||||||
}
|
// notifyListeners();
|
||||||
|
// }
|
||||||
/// return -2 if request in progress
|
//
|
||||||
/// return -1 if error happen when sending request
|
// /// return -2 if request in progress
|
||||||
/// return state code if request complete may be 200, 404 or 403
|
// /// return -1 if error happen when sending request
|
||||||
/// for more details check http state manager
|
// /// return state code if request complete may be 200, 404 or 403
|
||||||
/// lib\controllers\http_status_manger\http_status_manger.dart
|
// /// for more details check http state manager
|
||||||
Future<int> getTypes({String host, User user}) async {
|
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
||||||
if (_loading == true) return -2;
|
// Future<int> getTypes({String host, User user}) async {
|
||||||
_loading = true;
|
// if (_loading == true) return -2;
|
||||||
notifyListeners();
|
// _loading = true;
|
||||||
Response response;
|
// notifyListeners();
|
||||||
try {
|
// Response response;
|
||||||
response = await ApiManager.instance.get(
|
// try {
|
||||||
URLs.getServiceReportReasons+"&serviceRequestId=72355",
|
// response = await ApiManager.instance.get(
|
||||||
);
|
// URLs.getServiceReportReasons+"&serviceRequestId=72355",
|
||||||
_stateCode = response.statusCode;
|
// );
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// _stateCode = response.statusCode;
|
||||||
// client's request was successfully received
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
List categoriesListJson = json.decode(response.body)["data"];
|
// // client's request was successfully received
|
||||||
_reasons = categoriesListJson.map((type) => Lookup.fromJson(type)).toList();
|
// List categoriesListJson = json.decode(response.body)["data"];
|
||||||
}
|
// _reasons = categoriesListJson.map((type) => Lookup.fromJson(type)).toList();
|
||||||
_loading = false;
|
// }
|
||||||
notifyListeners();
|
// _loading = false;
|
||||||
return response.statusCode;
|
// notifyListeners();
|
||||||
} catch (error) {
|
// return response.statusCode;
|
||||||
_loading = false;
|
// } catch (error) {
|
||||||
_stateCode = -1;
|
// _loading = false;
|
||||||
notifyListeners();
|
// _stateCode = -1;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return -1;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,74 +1,75 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:flutter/cupertino.dart';
|
//
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:http/http.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
// import 'package:http/http.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/urls.dart';
|
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
||||||
import 'package:test_sa/models/user.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
|
// import 'package:test_sa/models/user.dart';
|
||||||
class ServiceReportStatusProvider extends ChangeNotifier {
|
//
|
||||||
//reset provider data
|
// class ServiceReportStatusProvider extends ChangeNotifier {
|
||||||
void reset() {
|
// //reset provider data
|
||||||
_status = null;
|
// void reset() {
|
||||||
_stateCode = null;
|
// _status = null;
|
||||||
}
|
// _stateCode = null;
|
||||||
|
// }
|
||||||
// state code of current request to defied error message
|
//
|
||||||
// like 400 customer request failed
|
// // state code of current request to defied error message
|
||||||
// 500 service not available
|
// // like 400 customer request failed
|
||||||
int _stateCode;
|
// // 500 service not available
|
||||||
|
// int _stateCode;
|
||||||
int get stateCode => _stateCode;
|
//
|
||||||
|
// int get stateCode => _stateCode;
|
||||||
// contain user data
|
//
|
||||||
// when user not login or register _user = null
|
// // contain user data
|
||||||
List<Lookup> _status;
|
// // when user not login or register _user = null
|
||||||
|
// List<Lookup> _status;
|
||||||
List<Lookup> get statuses => _status;
|
//
|
||||||
|
// List<Lookup> get statuses => _status;
|
||||||
// when categories in-process _loading = true
|
//
|
||||||
// done _loading = true
|
// // when categories in-process _loading = true
|
||||||
// failed _loading = false
|
// // done _loading = true
|
||||||
bool _loading;
|
// // failed _loading = false
|
||||||
|
// bool _loading;
|
||||||
bool get isLoading => _loading;
|
//
|
||||||
|
// bool get isLoading => _loading;
|
||||||
set isLoading(bool isLoading) {
|
//
|
||||||
_loading = isLoading;
|
// set isLoading(bool isLoading) {
|
||||||
notifyListeners();
|
// _loading = isLoading;
|
||||||
}
|
// notifyListeners();
|
||||||
|
// }
|
||||||
/// return -2 if request in progress
|
//
|
||||||
/// return -1 if error happen when sending request
|
// /// return -2 if request in progress
|
||||||
/// return state code if request complete may be 200, 404 or 403
|
// /// return -1 if error happen when sending request
|
||||||
/// for more details check http state manager
|
// /// return state code if request complete may be 200, 404 or 403
|
||||||
/// lib\controllers\http_status_manger\http_status_manger.dart
|
// /// for more details check http state manager
|
||||||
Future<int> getTypes({String host, User user}) async {
|
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
||||||
if (_loading == true) return -2;
|
// Future<int> getTypes({String host, User user}) async {
|
||||||
_loading = true;
|
// if (_loading == true) return -2;
|
||||||
notifyListeners();
|
// _loading = true;
|
||||||
Response response;
|
// notifyListeners();
|
||||||
try {
|
// Response response;
|
||||||
response = await ApiManager.instance.get(
|
// try {
|
||||||
URLs.getServiceReportStatus,
|
// response = await ApiManager.instance.get(
|
||||||
);
|
// URLs.getServiceReportStatus,
|
||||||
|
// );
|
||||||
_stateCode = response.statusCode;
|
//
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// _stateCode = response.statusCode;
|
||||||
// client's request was successfully received
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
List categoriesListJson = json.decode(response.body)["data"];
|
// // client's request was successfully received
|
||||||
_status = categoriesListJson.map((type) => Lookup.fromJson(type)).toList();
|
// List categoriesListJson = json.decode(response.body)["data"];
|
||||||
}
|
// _status = categoriesListJson.map((type) => Lookup.fromJson(type)).toList();
|
||||||
_loading = false;
|
// }
|
||||||
notifyListeners();
|
// _loading = false;
|
||||||
return response.statusCode;
|
// notifyListeners();
|
||||||
} catch (error) {
|
// return response.statusCode;
|
||||||
_loading = false;
|
// } catch (error) {
|
||||||
_stateCode = -1;
|
// _loading = false;
|
||||||
notifyListeners();
|
// _stateCode = -1;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return -1;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,73 +1,74 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:flutter/cupertino.dart';
|
//
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:http/http.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
// import 'package:http/http.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/urls.dart';
|
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
||||||
import 'package:test_sa/models/user.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
|
// import 'package:test_sa/models/user.dart';
|
||||||
class ServiceReportTypesProvider extends ChangeNotifier {
|
//
|
||||||
//reset provider data
|
// class ServiceReportTypesProvider extends ChangeNotifier {
|
||||||
void reset() {
|
// //reset provider data
|
||||||
_types = null;
|
// void reset() {
|
||||||
_stateCode = null;
|
// _types = null;
|
||||||
}
|
// _stateCode = null;
|
||||||
|
// }
|
||||||
// state code of current request to defied error message
|
//
|
||||||
// like 400 customer request failed
|
// // state code of current request to defied error message
|
||||||
// 500 service not available
|
// // like 400 customer request failed
|
||||||
int _stateCode;
|
// // 500 service not available
|
||||||
|
// int _stateCode;
|
||||||
int get stateCode => _stateCode;
|
//
|
||||||
|
// int get stateCode => _stateCode;
|
||||||
// contain user data
|
//
|
||||||
// when user not login or register _user = null
|
// // contain user data
|
||||||
List<Lookup> _types;
|
// // when user not login or register _user = null
|
||||||
|
// List<Lookup> _types;
|
||||||
List<Lookup> get types => _types;
|
//
|
||||||
|
// List<Lookup> get types => _types;
|
||||||
// when categories in-process _loading = true
|
//
|
||||||
// done _loading = true
|
// // when categories in-process _loading = true
|
||||||
// failed _loading = false
|
// // done _loading = true
|
||||||
bool _loading;
|
// // failed _loading = false
|
||||||
|
// bool _loading;
|
||||||
bool get isLoading => _loading;
|
//
|
||||||
|
// bool get isLoading => _loading;
|
||||||
set isLoading(bool isLoading) {
|
//
|
||||||
_loading = isLoading;
|
// set isLoading(bool isLoading) {
|
||||||
notifyListeners();
|
// _loading = isLoading;
|
||||||
}
|
// notifyListeners();
|
||||||
|
// }
|
||||||
/// return -2 if request in progress
|
//
|
||||||
/// return -1 if error happen when sending request
|
// /// return -2 if request in progress
|
||||||
/// return state code if request complete may be 200, 404 or 403
|
// /// return -1 if error happen when sending request
|
||||||
/// for more details check http state manager
|
// /// return state code if request complete may be 200, 404 or 403
|
||||||
/// lib\controllers\http_status_manger\http_status_manger.dart
|
// /// for more details check http state manager
|
||||||
Future<int> getTypes({String host, User user}) async {
|
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
||||||
if (_loading == true) return -2;
|
// Future<int> getTypes({String host, User user}) async {
|
||||||
_loading = true;
|
// if (_loading == true) return -2;
|
||||||
notifyListeners();
|
// _loading = true;
|
||||||
Response response;
|
// notifyListeners();
|
||||||
try {
|
// Response response;
|
||||||
response = await ApiManager.instance.get(
|
// try {
|
||||||
URLs.getServiceReportTypes,
|
// response = await ApiManager.instance.get(
|
||||||
);
|
// URLs.getServiceReportTypes,
|
||||||
_stateCode = response.statusCode;
|
// );
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// _stateCode = response.statusCode;
|
||||||
// client's request was successfully received
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
List categoriesListJson = json.decode(response.body)["data"];
|
// // client's request was successfully received
|
||||||
_types = categoriesListJson.map((type) => Lookup.fromJson(type)).toList();
|
// List categoriesListJson = json.decode(response.body)["data"];
|
||||||
}
|
// _types = categoriesListJson.map((type) => Lookup.fromJson(type)).toList();
|
||||||
_loading = false;
|
// }
|
||||||
notifyListeners();
|
// _loading = false;
|
||||||
return response.statusCode;
|
// notifyListeners();
|
||||||
} catch (error) {
|
// return response.statusCode;
|
||||||
_loading = false;
|
// } catch (error) {
|
||||||
_stateCode = -1;
|
// _loading = false;
|
||||||
notifyListeners();
|
// _stateCode = -1;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return -1;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,77 +1,78 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:flutter/cupertino.dart';
|
//
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:http/http.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
// import 'package:http/http.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/urls.dart';
|
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
||||||
import 'package:test_sa/models/employee.dart';
|
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
||||||
|
// import 'package:test_sa/models/employee.dart';
|
||||||
class ServiceReportUsersProvider extends ChangeNotifier {
|
//
|
||||||
//reset provider data
|
// class ServiceReportUsersProvider extends ChangeNotifier {
|
||||||
void reset() {
|
// //reset provider data
|
||||||
_engineers = null;
|
// void reset() {
|
||||||
_loading = null;
|
// _engineers = null;
|
||||||
_stateCode = null;
|
// _loading = null;
|
||||||
}
|
// _stateCode = null;
|
||||||
|
// }
|
||||||
// state code of current request to defied error message
|
//
|
||||||
// like 400 customer request failed
|
// // state code of current request to defied error message
|
||||||
// 500 service not available
|
// // like 400 customer request failed
|
||||||
int _stateCode;
|
// // 500 service not available
|
||||||
|
// int _stateCode;
|
||||||
int get stateCode => _stateCode;
|
//
|
||||||
|
// int get stateCode => _stateCode;
|
||||||
// contain user data
|
//
|
||||||
// when user not login or register _user = null
|
// // contain user data
|
||||||
List<Employee> _engineers;
|
// // when user not login or register _user = null
|
||||||
|
// List<Employee> _engineers;
|
||||||
List<Employee> get engineers => _engineers;
|
//
|
||||||
|
// List<Employee> get engineers => _engineers;
|
||||||
// when categories in-process _loading = true
|
//
|
||||||
// done _loading = true
|
// // when categories in-process _loading = true
|
||||||
// failed _loading = false
|
// // done _loading = true
|
||||||
bool _loading;
|
// // failed _loading = false
|
||||||
|
// bool _loading;
|
||||||
bool get isLoading => _loading;
|
//
|
||||||
|
// bool get isLoading => _loading;
|
||||||
set isLoading(bool isLoading) {
|
//
|
||||||
_loading = isLoading;
|
// set isLoading(bool isLoading) {
|
||||||
notifyListeners();
|
// _loading = isLoading;
|
||||||
}
|
// notifyListeners();
|
||||||
|
// }
|
||||||
/// return -2 if request in progress
|
//
|
||||||
/// return -1 if error happen when sending request
|
// /// return -2 if request in progress
|
||||||
/// return state code if request complete may be 200, 404 or 403
|
// /// return -1 if error happen when sending request
|
||||||
/// for more details check http state manager
|
// /// return state code if request complete may be 200, 404 or 403
|
||||||
/// lib\controllers\http_status_manger\http_status_manger.dart
|
// /// for more details check http state manager
|
||||||
Future<int> getAllUsers() async {
|
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
||||||
if (_loading == true) return -2;
|
// Future<int> getAllUsers() async {
|
||||||
_loading = true;
|
// if (_loading == true) return -2;
|
||||||
notifyListeners();
|
// _loading = true;
|
||||||
Response response;
|
// notifyListeners();
|
||||||
try {
|
// Response response;
|
||||||
response = await ApiManager.instance.get("${URLs.getEngineers}");
|
// try {
|
||||||
// response = await get(
|
// response = await ApiManager.instance.get("${URLs.getEngineers}");
|
||||||
// Uri.parse(
|
// // response = await get(
|
||||||
// URLs.getServiceReportLastCalls
|
// // Uri.parse(
|
||||||
// +(serviceStatus == null ? "" : "?service_status=$serviceStatus")
|
// // URLs.getServiceReportLastCalls
|
||||||
// ),
|
// // +(serviceStatus == null ? "" : "?service_status=$serviceStatus")
|
||||||
// );
|
// // ),
|
||||||
_stateCode = response.statusCode;
|
// // );
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// _stateCode = response.statusCode;
|
||||||
// client's request was successfully received
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
List usersListJson = json.decode(response.body);
|
// // client's request was successfully received
|
||||||
_engineers = usersListJson.map((type) => Employee.fromJson(type)).toList();
|
// List usersListJson = json.decode(response.body);
|
||||||
}
|
// _engineers = usersListJson.map((type) => Employee.fromJson(type)).toList();
|
||||||
_loading = false;
|
// }
|
||||||
notifyListeners();
|
// _loading = false;
|
||||||
return response.statusCode;
|
// notifyListeners();
|
||||||
} catch (error) {
|
// return response.statusCode;
|
||||||
_loading = false;
|
// } catch (error) {
|
||||||
_stateCode = -1;
|
// _loading = false;
|
||||||
notifyListeners();
|
// _stateCode = -1;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return -1;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,79 +1,80 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:flutter/cupertino.dart';
|
//
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:http/http.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
// import 'package:http/http.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/urls.dart';
|
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
||||||
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
class ServiceReportVisitOperatorProvider extends ChangeNotifier {
|
//
|
||||||
//reset provider data
|
// class ServiceReportVisitOperatorProvider extends ChangeNotifier {
|
||||||
void reset() {
|
// //reset provider data
|
||||||
_calls = null;
|
// void reset() {
|
||||||
_loading = null;
|
// _calls = null;
|
||||||
_stateCode = null;
|
// _loading = null;
|
||||||
}
|
// _stateCode = null;
|
||||||
|
// }
|
||||||
// state code of current request to defied error message
|
//
|
||||||
// like 400 customer request failed
|
// // state code of current request to defied error message
|
||||||
// 500 service not available
|
// // like 400 customer request failed
|
||||||
int _stateCode;
|
// // 500 service not available
|
||||||
|
// int _stateCode;
|
||||||
int get stateCode => _stateCode;
|
//
|
||||||
|
// int get stateCode => _stateCode;
|
||||||
// contain user data
|
//
|
||||||
// when user not login or register _user = null
|
// // contain user data
|
||||||
List<Lookup> _calls;
|
// // when user not login or register _user = null
|
||||||
|
// List<Lookup> _calls;
|
||||||
List<Lookup> get operators => _calls;
|
//
|
||||||
|
// List<Lookup> get operators => _calls;
|
||||||
// when categories in-process _loading = true
|
//
|
||||||
// done _loading = true
|
// // when categories in-process _loading = true
|
||||||
// failed _loading = false
|
// // done _loading = true
|
||||||
bool _loading;
|
// // failed _loading = false
|
||||||
|
// bool _loading;
|
||||||
bool get isLoading => _loading;
|
//
|
||||||
|
// bool get isLoading => _loading;
|
||||||
set isLoading(bool isLoading) {
|
//
|
||||||
_loading = isLoading;
|
// set isLoading(bool isLoading) {
|
||||||
notifyListeners();
|
// _loading = isLoading;
|
||||||
}
|
// notifyListeners();
|
||||||
|
// }
|
||||||
/// return -2 if request in progress
|
//
|
||||||
/// return -1 if error happen when sending request
|
// /// return -2 if request in progress
|
||||||
/// return state code if request complete may be 200, 404 or 403
|
// /// return -1 if error happen when sending request
|
||||||
/// for more details check http state manager
|
// /// return state code if request complete may be 200, 404 or 403
|
||||||
/// lib\controllers\http_status_manger\http_status_manger.dart
|
// /// for more details check http state manager
|
||||||
Future<int> getOperators() async {
|
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
||||||
if (_loading == true) return -2;
|
// Future<int> getOperators() async {
|
||||||
_loading = true;
|
// if (_loading == true) return -2;
|
||||||
notifyListeners();
|
// _loading = true;
|
||||||
Response response;
|
// notifyListeners();
|
||||||
try {
|
// Response response;
|
||||||
response = await ApiManager.instance.get(
|
// try {
|
||||||
"${URLs.getDateOperators}",
|
// response = await ApiManager.instance.get(
|
||||||
);
|
// "${URLs.getDateOperators}",
|
||||||
// response = await get(
|
|
||||||
// Uri.parse(
|
|
||||||
// URLs.getServiceReportLastCalls
|
|
||||||
// +(serviceStatus == null ? "" : "?service_status=$serviceStatus")
|
|
||||||
// ),
|
|
||||||
// );
|
// );
|
||||||
_stateCode = response.statusCode;
|
// // response = await get(
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// // Uri.parse(
|
||||||
// client's request was successfully received
|
// // URLs.getServiceReportLastCalls
|
||||||
List categoriesListJson = json.decode(response.body)["data"];
|
// // +(serviceStatus == null ? "" : "?service_status=$serviceStatus")
|
||||||
_calls = categoriesListJson.map((type) => Lookup.fromJson(type)).toList();
|
// // ),
|
||||||
}
|
// // );
|
||||||
_loading = false;
|
// _stateCode = response.statusCode;
|
||||||
notifyListeners();
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
return response.statusCode;
|
// // client's request was successfully received
|
||||||
} catch (error) {
|
// List categoriesListJson = json.decode(response.body)["data"];
|
||||||
_loading = false;
|
// _calls = categoriesListJson.map((type) => Lookup.fromJson(type)).toList();
|
||||||
_stateCode = -1;
|
// }
|
||||||
notifyListeners();
|
// _loading = false;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return response.statusCode;
|
||||||
}
|
// } catch (error) {
|
||||||
}
|
// _loading = false;
|
||||||
|
// _stateCode = -1;
|
||||||
|
// notifyListeners();
|
||||||
|
// return -1;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,73 +1,74 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:flutter/cupertino.dart';
|
//
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:http/http.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
// import 'package:http/http.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/urls.dart';
|
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
||||||
import 'package:test_sa/models/user.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
|
// import 'package:test_sa/models/user.dart';
|
||||||
class ServiceFirstActionProvider extends ChangeNotifier {
|
//
|
||||||
//reset provider data
|
// class ServiceFirstActionProvider extends ChangeNotifier {
|
||||||
void reset() {
|
// //reset provider data
|
||||||
_statuses = null;
|
// void reset() {
|
||||||
_stateCode = null;
|
// _statuses = null;
|
||||||
}
|
// _stateCode = null;
|
||||||
|
// }
|
||||||
// state code of current request to defied error message
|
//
|
||||||
// like 400 customer request failed
|
// // state code of current request to defied error message
|
||||||
// 500 service not available
|
// // like 400 customer request failed
|
||||||
int _stateCode;
|
// // 500 service not available
|
||||||
|
// int _stateCode;
|
||||||
int get stateCode => _stateCode;
|
//
|
||||||
|
// int get stateCode => _stateCode;
|
||||||
// contain user data
|
//
|
||||||
// when user not login or register _user = null
|
// // contain user data
|
||||||
List<Lookup> _statuses;
|
// // when user not login or register _user = null
|
||||||
|
// List<Lookup> _statuses;
|
||||||
List<Lookup> get items => _statuses;
|
//
|
||||||
|
// List<Lookup> get items => _statuses;
|
||||||
// when categories in-process _loading = true
|
//
|
||||||
// done _loading = true
|
// // when categories in-process _loading = true
|
||||||
// failed _loading = false
|
// // done _loading = true
|
||||||
bool _loading;
|
// // failed _loading = false
|
||||||
|
// bool _loading;
|
||||||
bool get isLoading => _loading;
|
//
|
||||||
|
// bool get isLoading => _loading;
|
||||||
set isLoading(bool isLoading) {
|
//
|
||||||
_loading = isLoading;
|
// set isLoading(bool isLoading) {
|
||||||
notifyListeners();
|
// _loading = isLoading;
|
||||||
}
|
// notifyListeners();
|
||||||
|
// }
|
||||||
/// return -2 if request in progress
|
//
|
||||||
/// return -1 if error happen when sending request
|
// /// return -2 if request in progress
|
||||||
/// return state code if request complete may be 200, 404 or 403
|
// /// return -1 if error happen when sending request
|
||||||
/// for more details check http state manager
|
// /// return state code if request complete may be 200, 404 or 403
|
||||||
/// lib\controllers\http_status_manger\http_status_manger.dart
|
// /// for more details check http state manager
|
||||||
Future<int> getData({String host, User user}) async {
|
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
||||||
if (_loading == true) return -2;
|
// Future<int> getData({String host, User user}) async {
|
||||||
_loading = true;
|
// if (_loading == true) return -2;
|
||||||
notifyListeners();
|
// _loading = true;
|
||||||
Response response;
|
// notifyListeners();
|
||||||
try {
|
// Response response;
|
||||||
response = await ApiManager.instance.get(
|
// try {
|
||||||
URLs.getServiceFirstAction,
|
// response = await ApiManager.instance.get(
|
||||||
);
|
// URLs.getServiceFirstAction,
|
||||||
_stateCode = response.statusCode;
|
// );
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// _stateCode = response.statusCode;
|
||||||
// client's request was successfully received
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
List categoriesListJson = json.decode(response.body)["data"];
|
// // client's request was successfully received
|
||||||
_statuses = categoriesListJson.map((e) => Lookup.fromJson(e)).toList();
|
// List categoriesListJson = json.decode(response.body)["data"];
|
||||||
}
|
// _statuses = categoriesListJson.map((e) => Lookup.fromJson(e)).toList();
|
||||||
_loading = false;
|
// }
|
||||||
notifyListeners();
|
// _loading = false;
|
||||||
return response.statusCode;
|
// notifyListeners();
|
||||||
} catch (error) {
|
// return response.statusCode;
|
||||||
_loading = false;
|
// } catch (error) {
|
||||||
_stateCode = -1;
|
// _loading = false;
|
||||||
notifyListeners();
|
// _stateCode = -1;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return -1;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,73 +1,74 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:flutter/cupertino.dart';
|
//
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:http/http.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
// import 'package:http/http.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/urls.dart';
|
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
||||||
import 'package:test_sa/models/user.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
|
// import 'package:test_sa/models/user.dart';
|
||||||
class ServiceRequestStatusProvider extends ChangeNotifier {
|
//
|
||||||
//reset provider data
|
// class ServiceRequestStatusProvider extends ChangeNotifier {
|
||||||
void reset() {
|
// //reset provider data
|
||||||
_statuses = null;
|
// void reset() {
|
||||||
_stateCode = null;
|
// _statuses = null;
|
||||||
}
|
// _stateCode = null;
|
||||||
|
// }
|
||||||
// state code of current request to defied error message
|
//
|
||||||
// like 400 customer request failed
|
// // state code of current request to defied error message
|
||||||
// 500 service not available
|
// // like 400 customer request failed
|
||||||
int _stateCode;
|
// // 500 service not available
|
||||||
|
// int _stateCode;
|
||||||
int get stateCode => _stateCode;
|
//
|
||||||
|
// int get stateCode => _stateCode;
|
||||||
// contain user data
|
//
|
||||||
// when user not login or register _user = null
|
// // contain user data
|
||||||
List<Lookup> _statuses;
|
// // when user not login or register _user = null
|
||||||
|
// List<Lookup> _statuses;
|
||||||
List<Lookup> get items => _statuses;
|
//
|
||||||
|
// List<Lookup> get items => _statuses;
|
||||||
// when categories in-process _loading = true
|
//
|
||||||
// done _loading = true
|
// // when categories in-process _loading = true
|
||||||
// failed _loading = false
|
// // done _loading = true
|
||||||
bool _loading;
|
// // failed _loading = false
|
||||||
|
// bool _loading;
|
||||||
bool get isLoading => _loading;
|
//
|
||||||
|
// bool get isLoading => _loading;
|
||||||
set isLoading(bool isLoading) {
|
//
|
||||||
_loading = isLoading;
|
// set isLoading(bool isLoading) {
|
||||||
notifyListeners();
|
// _loading = isLoading;
|
||||||
}
|
// notifyListeners();
|
||||||
|
// }
|
||||||
/// return -2 if request in progress
|
//
|
||||||
/// return -1 if error happen when sending request
|
// /// return -2 if request in progress
|
||||||
/// return state code if request complete may be 200, 404 or 403
|
// /// return -1 if error happen when sending request
|
||||||
/// for more details check http state manager
|
// /// return state code if request complete may be 200, 404 or 403
|
||||||
/// lib\controllers\http_status_manger\http_status_manger.dart
|
// /// for more details check http state manager
|
||||||
Future<int> getData({String host, User user}) async {
|
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
||||||
if (_loading == true) return -2;
|
// Future<int> getData({String host, User user}) async {
|
||||||
_loading = true;
|
// if (_loading == true) return -2;
|
||||||
notifyListeners();
|
// _loading = true;
|
||||||
Response response;
|
// notifyListeners();
|
||||||
try {
|
// Response response;
|
||||||
response = await ApiManager.instance.get(
|
// try {
|
||||||
URLs.getServiceRequestStatus,
|
// response = await ApiManager.instance.get(
|
||||||
);
|
// URLs.getServiceRequestStatus,
|
||||||
_stateCode = response.statusCode;
|
// );
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// _stateCode = response.statusCode;
|
||||||
// client's request was successfully received
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
List categoriesListJson = json.decode(response.body)["data"];
|
// // client's request was successfully received
|
||||||
_statuses = categoriesListJson.map((e) => Lookup.fromJson(e)).toList();
|
// List categoriesListJson = json.decode(response.body)["data"];
|
||||||
}
|
// _statuses = categoriesListJson.map((e) => Lookup.fromJson(e)).toList();
|
||||||
_loading = false;
|
// }
|
||||||
notifyListeners();
|
// _loading = false;
|
||||||
return response.statusCode;
|
// notifyListeners();
|
||||||
} catch (error) {
|
// return response.statusCode;
|
||||||
_loading = false;
|
// } catch (error) {
|
||||||
_stateCode = -1;
|
// _loading = false;
|
||||||
notifyListeners();
|
// _stateCode = -1;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return -1;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,77 +1,78 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:flutter/cupertino.dart';
|
//
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:http/http.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
// import 'package:http/http.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/urls.dart';
|
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
||||||
import 'package:test_sa/models/user.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
|
// import 'package:test_sa/models/user.dart';
|
||||||
class ServiceRequestedThroughProvider extends ChangeNotifier {
|
//
|
||||||
//reset provider data
|
// class ServiceRequestedThroughProvider extends ChangeNotifier {
|
||||||
void reset() {
|
// //reset provider data
|
||||||
_statuses = null;
|
// void reset() {
|
||||||
_stateCode = null;
|
// _statuses = null;
|
||||||
}
|
// _stateCode = null;
|
||||||
|
// }
|
||||||
// state code of current request to defied error message
|
//
|
||||||
// like 400 customer request failed
|
// // state code of current request to defied error message
|
||||||
// 500 service not available
|
// // like 400 customer request failed
|
||||||
int _stateCode;
|
// // 500 service not available
|
||||||
|
// int _stateCode;
|
||||||
int get stateCode => _stateCode;
|
//
|
||||||
|
// int get stateCode => _stateCode;
|
||||||
// contain user data
|
//
|
||||||
// when user not login or register _user = null
|
// // contain user data
|
||||||
List<Lookup> _statuses;
|
// // when user not login or register _user = null
|
||||||
|
// List<Lookup> _statuses;
|
||||||
List<Lookup> get items => _statuses;
|
//
|
||||||
|
// List<Lookup> get items => _statuses;
|
||||||
// when categories in-process _loading = true
|
//
|
||||||
// done _loading = true
|
// // when categories in-process _loading = true
|
||||||
// failed _loading = false
|
// // done _loading = true
|
||||||
bool _loading;
|
// // failed _loading = false
|
||||||
|
// bool _loading;
|
||||||
bool get isLoading => _loading;
|
//
|
||||||
|
// bool get isLoading => _loading;
|
||||||
set isLoading(bool isLoading) {
|
//
|
||||||
_loading = isLoading;
|
// set isLoading(bool isLoading) {
|
||||||
notifyListeners();
|
// _loading = isLoading;
|
||||||
}
|
// notifyListeners();
|
||||||
|
// }
|
||||||
/// return -2 if request in progress
|
//
|
||||||
/// return -1 if error happen when sending request
|
// /// return -2 if request in progress
|
||||||
/// return state code if request complete may be 200, 404 or 403
|
// /// return -1 if error happen when sending request
|
||||||
/// for more details check http state manager
|
// /// return state code if request complete may be 200, 404 or 403
|
||||||
/// lib\controllers\http_status_manger\http_status_manger.dart
|
// /// for more details check http state manager
|
||||||
Future<int> getData({String host, User user}) async {
|
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
||||||
if (_loading == true) return -2;
|
// Future<int> getData({String host, User user}) async {
|
||||||
_loading = true;
|
// if (_loading == true) return -2;
|
||||||
notifyListeners();
|
// _loading = true;
|
||||||
Response response;
|
// notifyListeners();
|
||||||
try {
|
// Response response;
|
||||||
response = await ApiManager.instance.get(
|
// try {
|
||||||
URLs.getServiceRequestThrough,
|
// response = await ApiManager.instance.get(
|
||||||
);
|
// URLs.getServiceRequestThrough,
|
||||||
_stateCode = response.statusCode;
|
// );
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// _stateCode = response.statusCode;
|
||||||
// client's request was successfully received
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
List categoriesListJson = json.decode(response.body)["data"];
|
// // client's request was successfully received
|
||||||
_statuses = categoriesListJson.map((e) => Lookup.fromJson(e)).toList();
|
// List categoriesListJson = json.decode(response.body)["data"];
|
||||||
}
|
// _statuses = categoriesListJson.map((e) => Lookup.fromJson(e)).toList();
|
||||||
_loading = false;
|
// }
|
||||||
notifyListeners();
|
// _loading = false;
|
||||||
return response.statusCode;
|
// notifyListeners();
|
||||||
} catch (error) {
|
// return response.statusCode;
|
||||||
_loading = false;
|
// } catch (error) {
|
||||||
_stateCode = -1;
|
// _loading = false;
|
||||||
notifyListeners();
|
// _stateCode = -1;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return -1;
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
Lookup getDefaultItem() {
|
//
|
||||||
return items?.firstWhere((element) => element.name.toLowerCase().contains("app"));
|
// Lookup getDefaultItem() {
|
||||||
}
|
// return items?.firstWhere((element) => element.name.toLowerCase().contains("app"));
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,77 +1,78 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:flutter/cupertino.dart';
|
//
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:http/http.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
// import 'package:http/http.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/urls.dart';
|
// import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/api_routes/urls.dart';
|
||||||
import 'package:test_sa/models/user.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
|
// import 'package:test_sa/models/user.dart';
|
||||||
class ServiceRequestTypeProvider extends ChangeNotifier {
|
//
|
||||||
//reset provider data
|
// class ServiceRequestTypeProvider extends ChangeNotifier {
|
||||||
void reset() {
|
// //reset provider data
|
||||||
_statuses = null;
|
// void reset() {
|
||||||
_stateCode = null;
|
// _statuses = null;
|
||||||
}
|
// _stateCode = null;
|
||||||
|
// }
|
||||||
// state code of current request to defied error message
|
//
|
||||||
// like 400 customer request failed
|
// // state code of current request to defied error message
|
||||||
// 500 service not available
|
// // like 400 customer request failed
|
||||||
int _stateCode;
|
// // 500 service not available
|
||||||
|
// int _stateCode;
|
||||||
int get stateCode => _stateCode;
|
//
|
||||||
|
// int get stateCode => _stateCode;
|
||||||
// contain user data
|
//
|
||||||
// when user not login or register _user = null
|
// // contain user data
|
||||||
List<Lookup> _statuses;
|
// // when user not login or register _user = null
|
||||||
|
// List<Lookup> _statuses;
|
||||||
List<Lookup> get items => _statuses;
|
//
|
||||||
|
// List<Lookup> get items => _statuses;
|
||||||
// when categories in-process _loading = true
|
//
|
||||||
// done _loading = true
|
// // when categories in-process _loading = true
|
||||||
// failed _loading = false
|
// // done _loading = true
|
||||||
bool _loading;
|
// // failed _loading = false
|
||||||
|
// bool _loading;
|
||||||
bool get isLoading => _loading;
|
//
|
||||||
|
// bool get isLoading => _loading;
|
||||||
set isLoading(bool isLoading) {
|
//
|
||||||
_loading = isLoading;
|
// set isLoading(bool isLoading) {
|
||||||
notifyListeners();
|
// _loading = isLoading;
|
||||||
}
|
// notifyListeners();
|
||||||
|
// }
|
||||||
/// return -2 if request in progress
|
//
|
||||||
/// return -1 if error happen when sending request
|
// /// return -2 if request in progress
|
||||||
/// return state code if request complete may be 200, 404 or 403
|
// /// return -1 if error happen when sending request
|
||||||
/// for more details check http state manager
|
// /// return state code if request complete may be 200, 404 or 403
|
||||||
/// lib\controllers\http_status_manger\http_status_manger.dart
|
// /// for more details check http state manager
|
||||||
Future<int> getData({String host, User user}) async {
|
// /// lib\controllers\http_status_manger\http_status_manger.dart
|
||||||
if (_loading == true) return -2;
|
// Future<int> getData({String host, User user}) async {
|
||||||
_loading = true;
|
// if (_loading == true) return -2;
|
||||||
notifyListeners();
|
// _loading = true;
|
||||||
Response response;
|
// notifyListeners();
|
||||||
try {
|
// Response response;
|
||||||
response = await ApiManager.instance.get(
|
// try {
|
||||||
URLs.getServiceRequestTypes,
|
// response = await ApiManager.instance.get(
|
||||||
);
|
// URLs.getServiceRequestTypes,
|
||||||
_stateCode = response.statusCode;
|
// );
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// _stateCode = response.statusCode;
|
||||||
// client's request was successfully received
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
List categoriesListJson = json.decode(response.body)["data"];
|
// // client's request was successfully received
|
||||||
_statuses = categoriesListJson.map((e) => Lookup.fromJson(e)).toList();
|
// List categoriesListJson = json.decode(response.body)["data"];
|
||||||
}
|
// _statuses = categoriesListJson.map((e) => Lookup.fromJson(e)).toList();
|
||||||
_loading = false;
|
// }
|
||||||
notifyListeners();
|
// _loading = false;
|
||||||
return response.statusCode;
|
// notifyListeners();
|
||||||
} catch (error) {
|
// return response.statusCode;
|
||||||
_loading = false;
|
// } catch (error) {
|
||||||
_stateCode = -1;
|
// _loading = false;
|
||||||
notifyListeners();
|
// _stateCode = -1;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return -1;
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
Lookup getDefaultItem() {
|
//
|
||||||
return items?.firstWhere((element) => element.name.toLowerCase().contains("maintenance"));
|
// Lookup getDefaultItem() {
|
||||||
}
|
// return items?.firstWhere((element) => element.name.toLowerCase().contains("maintenance"));
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,149 +1,150 @@
|
|||||||
class Customer {
|
///todo deleted
|
||||||
List<Data> data;
|
// class Customer {
|
||||||
String message;
|
// List<Data> data;
|
||||||
String innerMessage;
|
// String message;
|
||||||
int responseCode;
|
// String innerMessage;
|
||||||
bool isSuccess;
|
// int responseCode;
|
||||||
|
// bool isSuccess;
|
||||||
Customer({this.data, this.message, this.innerMessage, this.responseCode, this.isSuccess});
|
//
|
||||||
|
// Customer({this.data, this.message, this.innerMessage, this.responseCode, this.isSuccess});
|
||||||
Customer.fromJson(Map<String, dynamic> json) {
|
//
|
||||||
if (json['data'] != null) {
|
// Customer.fromJson(Map<String, dynamic> json) {
|
||||||
data = [];
|
// if (json['data'] != null) {
|
||||||
json['data'].forEach((v) {
|
// data = [];
|
||||||
data.add(new Data.fromJson(v));
|
// json['data'].forEach((v) {
|
||||||
});
|
// data.add(new Data.fromJson(v));
|
||||||
}
|
// });
|
||||||
message = json['message'];
|
// }
|
||||||
innerMessage = json['innerMessage'];
|
// message = json['message'];
|
||||||
responseCode = json['responseCode'];
|
// innerMessage = json['innerMessage'];
|
||||||
isSuccess = json['isSuccess'];
|
// responseCode = json['responseCode'];
|
||||||
}
|
// isSuccess = json['isSuccess'];
|
||||||
|
// }
|
||||||
Map<String, dynamic> toJson() {
|
//
|
||||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
// Map<String, dynamic> toJson() {
|
||||||
if (this.data != null) {
|
// final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
data['data'] = this.data.map((v) => v.toJson()).toList();
|
// if (this.data != null) {
|
||||||
}
|
// data['data'] = this.data.map((v) => v.toJson()).toList();
|
||||||
data['message'] = this.message;
|
// }
|
||||||
data['innerMessage'] = this.innerMessage;
|
// data['message'] = this.message;
|
||||||
data['responseCode'] = this.responseCode;
|
// data['innerMessage'] = this.innerMessage;
|
||||||
data['isSuccess'] = this.isSuccess;
|
// data['responseCode'] = this.responseCode;
|
||||||
return data;
|
// data['isSuccess'] = this.isSuccess;
|
||||||
}
|
// return data;
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
class Data {
|
//
|
||||||
int id;
|
// class Data {
|
||||||
int customerCode;
|
// int id;
|
||||||
String custName;
|
// int customerCode;
|
||||||
List<Buildings> buildings;
|
// String custName;
|
||||||
|
// List<Buildings> buildings;
|
||||||
Data({this.id, this.customerCode, this.custName, this.buildings});
|
//
|
||||||
|
// Data({this.id, this.customerCode, this.custName, this.buildings});
|
||||||
Data.fromJson(Map<String, dynamic> json) {
|
//
|
||||||
id = json['id'];
|
// Data.fromJson(Map<String, dynamic> json) {
|
||||||
customerCode = json['customerCode'];
|
// id = json['id'];
|
||||||
custName = json['custName'];
|
// customerCode = json['customerCode'];
|
||||||
if (json['buildings'] != null) {
|
// custName = json['custName'];
|
||||||
buildings = [];
|
// if (json['buildings'] != null) {
|
||||||
json['buildings'].forEach((v) {
|
// buildings = [];
|
||||||
buildings.add(new Buildings.fromJson(v));
|
// json['buildings'].forEach((v) {
|
||||||
});
|
// buildings.add(new Buildings.fromJson(v));
|
||||||
}
|
// });
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
Map<String, dynamic> toJson() {
|
//
|
||||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
// Map<String, dynamic> toJson() {
|
||||||
data['id'] = this.id;
|
// final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
data['customerCode'] = this.customerCode;
|
// data['id'] = this.id;
|
||||||
data['custName'] = this.custName;
|
// data['customerCode'] = this.customerCode;
|
||||||
if (this.buildings != null) {
|
// data['custName'] = this.custName;
|
||||||
data['buildings'] = this.buildings.map((v) => v.toJson()).toList();
|
// if (this.buildings != null) {
|
||||||
}
|
// data['buildings'] = this.buildings.map((v) => v.toJson()).toList();
|
||||||
return data;
|
// }
|
||||||
}
|
// return data;
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
class Buildings {
|
//
|
||||||
int id;
|
// class Buildings {
|
||||||
String name;
|
// int id;
|
||||||
int value;
|
// String name;
|
||||||
List<Floors> floors;
|
// int value;
|
||||||
|
// List<Floors> floors;
|
||||||
Buildings({this.id, this.name, this.value, this.floors});
|
//
|
||||||
|
// Buildings({this.id, this.name, this.value, this.floors});
|
||||||
Buildings.fromJson(Map<String, dynamic> json) {
|
//
|
||||||
id = json['id'];
|
// Buildings.fromJson(Map<String, dynamic> json) {
|
||||||
name = json['name'];
|
// id = json['id'];
|
||||||
value = json['value'];
|
// name = json['name'];
|
||||||
if (json['floors'] != null) {
|
// value = json['value'];
|
||||||
floors = [];
|
// if (json['floors'] != null) {
|
||||||
json['floors'].forEach((v) {
|
// floors = [];
|
||||||
floors.add(new Floors.fromJson(v));
|
// json['floors'].forEach((v) {
|
||||||
});
|
// floors.add(new Floors.fromJson(v));
|
||||||
}
|
// });
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
Map<String, dynamic> toJson() {
|
//
|
||||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
// Map<String, dynamic> toJson() {
|
||||||
data['id'] = this.id;
|
// final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
data['name'] = this.name;
|
// data['id'] = this.id;
|
||||||
data['value'] = this.value;
|
// data['name'] = this.name;
|
||||||
if (this.floors != null) {
|
// data['value'] = this.value;
|
||||||
data['floors'] = this.floors.map((v) => v.toJson()).toList();
|
// if (this.floors != null) {
|
||||||
}
|
// data['floors'] = this.floors.map((v) => v.toJson()).toList();
|
||||||
return data;
|
// }
|
||||||
}
|
// return data;
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
class Floors {
|
//
|
||||||
int id;
|
// class Floors {
|
||||||
String name;
|
// int id;
|
||||||
int value;
|
// String name;
|
||||||
List<Departments> departments;
|
// int value;
|
||||||
|
// List<Departments> departments;
|
||||||
Floors({this.id, this.name, this.value, this.departments});
|
//
|
||||||
|
// Floors({this.id, this.name, this.value, this.departments});
|
||||||
Floors.fromJson(Map<String, dynamic> json) {
|
//
|
||||||
id = json['id'];
|
// Floors.fromJson(Map<String, dynamic> json) {
|
||||||
name = json['name'];
|
// id = json['id'];
|
||||||
value = json['value'];
|
// name = json['name'];
|
||||||
if (json['departments'] != null) {
|
// value = json['value'];
|
||||||
departments = [];
|
// if (json['departments'] != null) {
|
||||||
json['departments'].forEach((v) {
|
// departments = [];
|
||||||
departments.add(new Departments.fromJson(v));
|
// json['departments'].forEach((v) {
|
||||||
});
|
// departments.add(new Departments.fromJson(v));
|
||||||
}
|
// });
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
Map<String, dynamic> toJson() {
|
//
|
||||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
// Map<String, dynamic> toJson() {
|
||||||
data['id'] = this.id;
|
// final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
data['name'] = this.name;
|
// data['id'] = this.id;
|
||||||
data['value'] = this.value;
|
// data['name'] = this.name;
|
||||||
if (this.departments != null) {
|
// data['value'] = this.value;
|
||||||
data['departments'] = this.departments.map((v) => v.toJson()).toList();
|
// if (this.departments != null) {
|
||||||
}
|
// data['departments'] = this.departments.map((v) => v.toJson()).toList();
|
||||||
return data;
|
// }
|
||||||
}
|
// return data;
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
class Departments {
|
//
|
||||||
int id;
|
// class Departments {
|
||||||
String name;
|
// int id;
|
||||||
|
// String name;
|
||||||
Departments({this.id, this.name});
|
//
|
||||||
|
// Departments({this.id, this.name});
|
||||||
Departments.fromJson(Map<String, dynamic> json) {
|
//
|
||||||
id = json['id'];
|
// Departments.fromJson(Map<String, dynamic> json) {
|
||||||
name = json['name'];
|
// id = json['id'];
|
||||||
}
|
// name = json['name'];
|
||||||
|
// }
|
||||||
Map<String, dynamic> toJson() {
|
//
|
||||||
final Map<String, dynamic> data = new Map<String, dynamic>();
|
// Map<String, dynamic> toJson() {
|
||||||
data['id'] = this.id;
|
// final Map<String, dynamic> data = new Map<String, dynamic>();
|
||||||
data['name'] = this.name;
|
// data['id'] = this.id;
|
||||||
return data;
|
// data['name'] = this.name;
|
||||||
}
|
// return data;
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,43 +1,44 @@
|
|||||||
import 'asset.dart';
|
///todo deleted
|
||||||
import 'asset_transfer.dart';
|
// import 'asset.dart';
|
||||||
|
// import 'asset_transfer.dart';
|
||||||
class AssetTransferSearch extends AssetTransfer {
|
//
|
||||||
Asset asset;
|
// class AssetTransferSearch extends AssetTransfer {
|
||||||
int pageNumber = 10, pageSize;
|
// Asset asset;
|
||||||
bool mostRecent;
|
// int pageNumber = 10, pageSize;
|
||||||
|
// bool mostRecent;
|
||||||
Map<String, dynamic> toSearch() {
|
//
|
||||||
final map = <String, dynamic>{};
|
// Map<String, dynamic> toSearch() {
|
||||||
map['pageSize'] = pageSize;
|
// final map = <String, dynamic>{};
|
||||||
map['pageNumber'] = pageNumber;
|
// map['pageSize'] = pageSize;
|
||||||
map['id'] = id;
|
// map['pageNumber'] = pageNumber;
|
||||||
map['transferNo'] = transferNo;
|
// map['id'] = id;
|
||||||
map['transferCode'] = transferCode;
|
// map['transferNo'] = transferNo;
|
||||||
map['assetId'] = assetId;
|
// map['transferCode'] = transferCode;
|
||||||
map['destSiteId'] = destSiteId;
|
// map['assetId'] = assetId;
|
||||||
map['destBuildingId'] = destBuildingId;
|
// map['destSiteId'] = destSiteId;
|
||||||
map['destFloorId'] = destFloorId;
|
// map['destBuildingId'] = destBuildingId;
|
||||||
map['destDepartmentId'] = destDepartmentId;
|
// map['destFloorId'] = destFloorId;
|
||||||
map['destRoomId'] = destRoomId;
|
// map['destDepartmentId'] = destDepartmentId;
|
||||||
map['senderSiteId'] = senderSiteId;
|
// map['destRoomId'] = destRoomId;
|
||||||
map['senderBuildingId'] = senderBuildingId;
|
// map['senderSiteId'] = senderSiteId;
|
||||||
map['senderFloorId'] = senderFloorId;
|
// map['senderBuildingId'] = senderBuildingId;
|
||||||
map['senderDepartmentId'] = senderDepartmentId;
|
// map['senderFloorId'] = senderFloorId;
|
||||||
map['senderRoom'] = senderRoom;
|
// map['senderDepartmentId'] = senderDepartmentId;
|
||||||
map['senderAssignedEmployeeId'] = senderAssignedEmployeeId;
|
// map['senderRoom'] = senderRoom;
|
||||||
map['receiverAssignedEmployeeId'] = receiverAssignedEmployeeId;
|
// map['senderAssignedEmployeeId'] = senderAssignedEmployeeId;
|
||||||
map['mostRecent'] = mostRecent;
|
// map['receiverAssignedEmployeeId'] = receiverAssignedEmployeeId;
|
||||||
map['assetNumber'] = asset?.assetNumber;
|
// map['mostRecent'] = mostRecent;
|
||||||
map['assetSerialNo'] = asset?.assetSerialNo;
|
// map['assetNumber'] = asset?.assetNumber;
|
||||||
map['siteName'] = asset?.site?.custName;
|
// map['assetSerialNo'] = asset?.assetSerialNo;
|
||||||
|
// map['siteName'] = asset?.site?.custName;
|
||||||
/// TODO : the below parameters need to be discussed
|
//
|
||||||
// map['relatedToEmployeeId'] = "";
|
// /// TODO : the below parameters need to be discussed
|
||||||
// map['assetGroup'] = {
|
// // map['relatedToEmployeeId'] = "";
|
||||||
// "id": 1,
|
// // map['assetGroup'] = {
|
||||||
// "name": "",
|
// // "id": 1,
|
||||||
// "code": "",
|
// // "name": "",
|
||||||
// };
|
// // "code": "",
|
||||||
return map;
|
// // };
|
||||||
}
|
// return map;
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,67 +1,68 @@
|
|||||||
import '../hospital.dart';
|
///todo deleted
|
||||||
import 'asset.dart';
|
// import '../hospital.dart';
|
||||||
|
// import 'asset.dart';
|
||||||
@Deprecated("Use asset_transfer_search.dart instead of this one")
|
//
|
||||||
class DeviceTransferSearch {
|
// @Deprecated("Use asset_transfer_search.dart instead of this one")
|
||||||
Asset device;
|
// class DeviceTransferSearch {
|
||||||
String title, room;
|
// Asset device;
|
||||||
bool mostRecent;
|
// String title, room;
|
||||||
Hospital hospital;
|
// bool mostRecent;
|
||||||
Buildings building;
|
// Hospital hospital;
|
||||||
List<Buildings> buildingsList;
|
// Buildings building;
|
||||||
Floors floor;
|
// List<Buildings> buildingsList;
|
||||||
List<Floors> floorsList;
|
// Floors floor;
|
||||||
Departments department;
|
// List<Floors> floorsList;
|
||||||
List<Departments> departmentsList;
|
// Departments department;
|
||||||
|
// List<Departments> departmentsList;
|
||||||
DeviceTransferSearch({
|
//
|
||||||
this.device,
|
// DeviceTransferSearch({
|
||||||
this.hospital,
|
// this.device,
|
||||||
this.building,
|
// this.hospital,
|
||||||
this.floor,
|
// this.building,
|
||||||
this.department,
|
// this.floor,
|
||||||
this.room,
|
// this.department,
|
||||||
this.title,
|
// this.room,
|
||||||
this.mostRecent = true,
|
// this.title,
|
||||||
});
|
// this.mostRecent = true,
|
||||||
|
// });
|
||||||
Map<String, dynamic> toMap() {
|
//
|
||||||
Map<String, dynamic> search = {};
|
// Map<String, dynamic> toMap() {
|
||||||
if (title != null && title.isNotEmpty) {
|
// Map<String, dynamic> search = {};
|
||||||
search["transferCode"] = title;
|
// if (title != null && title.isNotEmpty) {
|
||||||
}
|
// search["transferCode"] = title;
|
||||||
if (device != null) {
|
// }
|
||||||
search["assetId"] = device.id;
|
// if (device != null) {
|
||||||
}
|
// search["assetId"] = device.id;
|
||||||
if (mostRecent != null) {
|
// }
|
||||||
search["mostRecent"] = mostRecent;
|
// if (mostRecent != null) {
|
||||||
}
|
// search["mostRecent"] = mostRecent;
|
||||||
if (hospital?.id != null) {
|
// }
|
||||||
search["destSiteId"] = hospital.id;
|
// if (hospital?.id != null) {
|
||||||
}
|
// search["destSiteId"] = hospital.id;
|
||||||
if (building?.id != null) {
|
// }
|
||||||
search["destBuildingId"] = building.id;
|
// if (building?.id != null) {
|
||||||
}
|
// search["destBuildingId"] = building.id;
|
||||||
if (floor?.id != null) {
|
// }
|
||||||
search["destFloorId"] = floor.id;
|
// if (floor?.id != null) {
|
||||||
}
|
// search["destFloorId"] = floor.id;
|
||||||
if (department?.id != null) {
|
// }
|
||||||
search["destDepartmentId"] = department.id;
|
// if (department?.id != null) {
|
||||||
}
|
// search["destDepartmentId"] = department.id;
|
||||||
if (room != null && room.isNotEmpty) {
|
// }
|
||||||
search["destRoom"] = department.id;
|
// if (room != null && room.isNotEmpty) {
|
||||||
}
|
// search["destRoom"] = department.id;
|
||||||
return search;
|
// }
|
||||||
}
|
// return search;
|
||||||
|
// }
|
||||||
void fromSearch(DeviceTransferSearch newSearch) {
|
//
|
||||||
title = newSearch.title;
|
// void fromSearch(DeviceTransferSearch newSearch) {
|
||||||
room = newSearch.room;
|
// title = newSearch.title;
|
||||||
mostRecent = newSearch.mostRecent;
|
// room = newSearch.room;
|
||||||
device = newSearch.device;
|
// mostRecent = newSearch.mostRecent;
|
||||||
hospital = newSearch.hospital;
|
// device = newSearch.device;
|
||||||
building = newSearch.building;
|
// hospital = newSearch.hospital;
|
||||||
floor = newSearch.floor;
|
// building = newSearch.building;
|
||||||
department = newSearch.department;
|
// floor = newSearch.floor;
|
||||||
}
|
// department = newSearch.department;
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,49 +1,50 @@
|
|||||||
@Deprecated("Use the class inside model_definition.dart")
|
///todo deleted
|
||||||
class ModelDefinition {
|
// @Deprecated("Use the class inside model_definition.dart")
|
||||||
int id;
|
// class ModelDefinition {
|
||||||
String assetName;
|
// int id;
|
||||||
String modelDefCode;
|
// String assetName;
|
||||||
String modelName;
|
// String modelDefCode;
|
||||||
String manufacturerName;
|
// String modelName;
|
||||||
String supplierName;
|
// String manufacturerName;
|
||||||
String replacementDate;
|
// String supplierName;
|
||||||
int lifeSpan;
|
// String replacementDate;
|
||||||
|
// int lifeSpan;
|
||||||
ModelDefinition({
|
//
|
||||||
this.id,
|
// ModelDefinition({
|
||||||
this.assetName,
|
// this.id,
|
||||||
this.modelDefCode,
|
// this.assetName,
|
||||||
this.modelName,
|
// this.modelDefCode,
|
||||||
this.manufacturerName,
|
// this.modelName,
|
||||||
this.supplierName,
|
// this.manufacturerName,
|
||||||
this.replacementDate,
|
// this.supplierName,
|
||||||
this.lifeSpan,
|
// this.replacementDate,
|
||||||
});
|
// this.lifeSpan,
|
||||||
|
// });
|
||||||
Map<String, dynamic> toJson() {
|
//
|
||||||
final Map<String, dynamic> data = <String, dynamic>{};
|
// Map<String, dynamic> toJson() {
|
||||||
data['id'] = id;
|
// final Map<String, dynamic> data = <String, dynamic>{};
|
||||||
data['assetName'] = assetName;
|
// data['id'] = id;
|
||||||
data['modelDefCode'] = modelDefCode;
|
// data['assetName'] = assetName;
|
||||||
data['modelName'] = modelName;
|
// data['modelDefCode'] = modelDefCode;
|
||||||
data['manufacturerName'] = manufacturerName;
|
// data['modelName'] = modelName;
|
||||||
data['supplierName'] = supplierName;
|
// data['manufacturerName'] = manufacturerName;
|
||||||
data['replacementDate'] = replacementDate;
|
// data['supplierName'] = supplierName;
|
||||||
data['lifeSpan'] = lifeSpan;
|
// data['replacementDate'] = replacementDate;
|
||||||
return data;
|
// data['lifeSpan'] = lifeSpan;
|
||||||
}
|
// return data;
|
||||||
|
// }
|
||||||
factory ModelDefinition.fromJson(Map<String, dynamic> map) {
|
//
|
||||||
if (map == null) return null;
|
// factory ModelDefinition.fromJson(Map<String, dynamic> map) {
|
||||||
return ModelDefinition(
|
// if (map == null) return null;
|
||||||
id: map['id'] as int,
|
// return ModelDefinition(
|
||||||
assetName: map['assetName'] as String,
|
// id: map['id'] as int,
|
||||||
modelDefCode: map['modelDefCode'] as String,
|
// assetName: map['assetName'] as String,
|
||||||
modelName: map['modelName'] as String,
|
// modelDefCode: map['modelDefCode'] as String,
|
||||||
manufacturerName: map['manufacturerName'] as String,
|
// modelName: map['modelName'] as String,
|
||||||
supplierName: map['supplierName'] as String,
|
// manufacturerName: map['manufacturerName'] as String,
|
||||||
replacementDate: map['replacementDate'] as String,
|
// supplierName: map['supplierName'] as String,
|
||||||
lifeSpan: map['lifeSpan'] as int,
|
// replacementDate: map['replacementDate'] as String,
|
||||||
);
|
// lifeSpan: map['lifeSpan'] as int,
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,50 +1,51 @@
|
|||||||
enum TranslationKeys {
|
///todo deleted
|
||||||
login,
|
// enum TranslationKeys {
|
||||||
enterCredsToLogin,
|
// login,
|
||||||
forgotPassword,
|
// enterCredsToLogin,
|
||||||
password,
|
// forgotPassword,
|
||||||
username,
|
// password,
|
||||||
requiredField,
|
// username,
|
||||||
passwordLengthMessage,
|
// requiredField,
|
||||||
overview,
|
// passwordLengthMessage,
|
||||||
myRequests,
|
// overview,
|
||||||
myAssets,
|
// myRequests,
|
||||||
contactUs,
|
// myAssets,
|
||||||
welcome,
|
// contactUs,
|
||||||
openWhatsapp,
|
// welcome,
|
||||||
liveChat,
|
// openWhatsapp,
|
||||||
callUs,
|
// liveChat,
|
||||||
gasRefillRequest,
|
// callUs,
|
||||||
transferRequest,
|
// gasRefillRequest,
|
||||||
serviceRequest,
|
// transferRequest,
|
||||||
newServiceRequest,
|
// serviceRequest,
|
||||||
search,
|
// newServiceRequest,
|
||||||
filter,
|
// search,
|
||||||
newGasRefillRequest,
|
// filter,
|
||||||
newTransferRequest,
|
// newGasRefillRequest,
|
||||||
submitRequest,
|
// newTransferRequest,
|
||||||
select,
|
// submitRequest,
|
||||||
gasType,
|
// select,
|
||||||
quantity,
|
// gasType,
|
||||||
cylinderType,
|
// quantity,
|
||||||
cylinderSize,
|
// cylinderType,
|
||||||
department,
|
// cylinderSize,
|
||||||
httpError,
|
// department,
|
||||||
tryAgain,
|
// httpError,
|
||||||
destinationSite,
|
// tryAgain,
|
||||||
add,
|
// destinationSite,
|
||||||
site,
|
// add,
|
||||||
onlyNumbers,
|
// site,
|
||||||
youHaveToSelect,
|
// onlyNumbers,
|
||||||
building,
|
// youHaveToSelect,
|
||||||
floor,
|
// building,
|
||||||
createdSuccessfully,
|
// floor,
|
||||||
failedToCompleteRequest,
|
// createdSuccessfully,
|
||||||
youHaveToAddRequests,
|
// failedToCompleteRequest,
|
||||||
assetNo,
|
// youHaveToAddRequests,
|
||||||
manufacture,
|
// assetNo,
|
||||||
model,
|
// manufacture,
|
||||||
serialNumber,
|
// model,
|
||||||
device,
|
// serialNumber,
|
||||||
pickAsset,
|
// device,
|
||||||
}
|
// pickAsset,
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,22 +1,23 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
|
// import 'package:flutter/material.dart';
|
||||||
class AppTabBar extends StatelessWidget {
|
//
|
||||||
const AppTabBar({Key key}) : super(key: key);
|
// class AppTabBar extends StatelessWidget {
|
||||||
|
// const AppTabBar({Key key}) : super(key: key);
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return TabBar(
|
// Widget build(BuildContext context) {
|
||||||
tabs: [
|
// return TabBar(
|
||||||
Tab(
|
// tabs: [
|
||||||
icon: Icon(Icons.cloud_outlined),
|
// Tab(
|
||||||
),
|
// icon: Icon(Icons.cloud_outlined),
|
||||||
Tab(
|
// ),
|
||||||
icon: Icon(Icons.beach_access_sharp),
|
// Tab(
|
||||||
),
|
// icon: Icon(Icons.beach_access_sharp),
|
||||||
Tab(
|
// ),
|
||||||
icon: Icon(Icons.brightness_5_sharp),
|
// Tab(
|
||||||
),
|
// icon: Icon(Icons.brightness_5_sharp),
|
||||||
],
|
// ),
|
||||||
);
|
// ],
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,65 +1,66 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/extensions/int_extensions.dart';
|
// import 'package:test_sa/extensions/context_extension.dart';
|
||||||
|
// import 'package:test_sa/extensions/int_extensions.dart';
|
||||||
import '../../app_style/app_color.dart';
|
//
|
||||||
|
// import '../../app_style/app_color.dart';
|
||||||
class HomeAppBar extends StatelessWidget implements PreferredSizeWidget {
|
//
|
||||||
final GlobalKey<ScaffoldState> scaffoldKey;
|
// class HomeAppBar extends StatelessWidget implements PreferredSizeWidget {
|
||||||
|
// final GlobalKey<ScaffoldState> scaffoldKey;
|
||||||
const HomeAppBar({Key key, this.scaffoldKey}) : super(key: key);
|
//
|
||||||
|
// const HomeAppBar({Key key, this.scaffoldKey}) : super(key: key);
|
||||||
@override
|
//
|
||||||
Size get preferredSize => Size.fromHeight(60.toScreenHeight);
|
// @override
|
||||||
|
// Size get preferredSize => Size.fromHeight(60.toScreenHeight);
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return Padding(
|
// Widget build(BuildContext context) {
|
||||||
padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth),
|
// return Padding(
|
||||||
child: AppBar(
|
// padding: EdgeInsets.symmetric(horizontal: 16.toScreenWidth),
|
||||||
backgroundColor: context.isDark ? AppColor.backgroundDark : AppColor.backgroundLight,
|
// child: AppBar(
|
||||||
automaticallyImplyLeading: false,
|
// backgroundColor: context.isDark ? AppColor.backgroundDark : AppColor.backgroundLight,
|
||||||
elevation: 0,
|
// automaticallyImplyLeading: false,
|
||||||
leadingWidth: 48.toScreenWidth,
|
// elevation: 0,
|
||||||
leading: InkWell(
|
// leadingWidth: 48.toScreenWidth,
|
||||||
onTap: () {
|
// leading: InkWell(
|
||||||
scaffoldKey.currentState.openDrawer();
|
// onTap: () {
|
||||||
},
|
// scaffoldKey.currentState.openDrawer();
|
||||||
child: CircleAvatar(child: Image.network("", fit: BoxFit.fill)),
|
// },
|
||||||
),
|
// child: CircleAvatar(child: Image.network("", fit: BoxFit.fill)),
|
||||||
actions: [
|
// ),
|
||||||
Stack(
|
// actions: [
|
||||||
children: <Widget>[
|
// Stack(
|
||||||
Icon(
|
// children: <Widget>[
|
||||||
Icons.notifications,
|
// Icon(
|
||||||
color: context.isDark ? AppColor.neutral10 : AppColor.neutral20,
|
// Icons.notifications,
|
||||||
size: 34,
|
// color: context.isDark ? AppColor.neutral10 : AppColor.neutral20,
|
||||||
),
|
// size: 34,
|
||||||
|
// ),
|
||||||
///TODO [zaid] : put notifications count rather than number 1
|
//
|
||||||
if (1 != 0)
|
// ///TODO [zaid] : put notifications count rather than number 1
|
||||||
PositionedDirectional(
|
// if (1 != 0)
|
||||||
end: 0,
|
// PositionedDirectional(
|
||||||
top: 0,
|
// end: 0,
|
||||||
child: Container(
|
// top: 0,
|
||||||
height: 20.toScreenWidth,
|
// child: Container(
|
||||||
width: 20.toScreenWidth,
|
// height: 20.toScreenWidth,
|
||||||
padding: const EdgeInsets.all(1),
|
// width: 20.toScreenWidth,
|
||||||
decoration: BoxDecoration(
|
// padding: const EdgeInsets.all(1),
|
||||||
color: AppColor.red50,
|
// decoration: BoxDecoration(
|
||||||
borderRadius: BorderRadius.circular(10),
|
// color: AppColor.red50,
|
||||||
),
|
// borderRadius: BorderRadius.circular(10),
|
||||||
child: Text(
|
// ),
|
||||||
(1).toString(),
|
// child: Text(
|
||||||
style: Theme.of(context).textTheme.bodySmall?.copyWith(fontWeight: FontWeight.w500, color: AppColor.neutral30),
|
// (1).toString(),
|
||||||
textAlign: TextAlign.center,
|
// style: Theme.of(context).textTheme.bodySmall?.copyWith(fontWeight: FontWeight.w500, color: AppColor.neutral30),
|
||||||
),
|
// textAlign: TextAlign.center,
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
],
|
// ),
|
||||||
),
|
// ],
|
||||||
],
|
// ),
|
||||||
),
|
// ],
|
||||||
);
|
// ),
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,35 +1,36 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:http/http.dart';
|
//
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:http/http.dart';
|
||||||
import 'package:test_sa/providers/loading_list_notifier.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
|
// import 'package:test_sa/providers/loading_list_notifier.dart';
|
||||||
import '../../../controllers/api_routes/api_manager.dart';
|
//
|
||||||
import '../../../controllers/api_routes/urls.dart';
|
// import '../../../controllers/api_routes/api_manager.dart';
|
||||||
|
// import '../../../controllers/api_routes/urls.dart';
|
||||||
class PentryTaskStatusProvider extends LoadingListNotifier<Lookup> {
|
//
|
||||||
@override
|
// class PentryTaskStatusProvider extends LoadingListNotifier<Lookup> {
|
||||||
Future getDate() async {
|
// @override
|
||||||
if (loading ?? false) return -2;
|
// Future getDate() async {
|
||||||
loading = true;
|
// if (loading ?? false) return -2;
|
||||||
notifyListeners();
|
// loading = true;
|
||||||
Response response;
|
// notifyListeners();
|
||||||
try {
|
// Response response;
|
||||||
response = await ApiManager.instance.get(URLs.getPentryTaskStatus);
|
// try {
|
||||||
} catch (error) {
|
// response = await ApiManager.instance.get(URLs.getPentryTaskStatus);
|
||||||
loading = false;
|
// } catch (error) {
|
||||||
stateCode = -1;
|
// loading = false;
|
||||||
notifyListeners();
|
// stateCode = -1;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return -1;
|
||||||
stateCode = response.statusCode;
|
// }
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// stateCode = response.statusCode;
|
||||||
// client's request was successfully received
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
List listJson = json.decode(response.body)["data"];
|
// // client's request was successfully received
|
||||||
items = listJson.map((department) => Lookup.fromJson(department)).toList();
|
// List listJson = json.decode(response.body)["data"];
|
||||||
}
|
// items = listJson.map((department) => Lookup.fromJson(department)).toList();
|
||||||
loading = false;
|
// }
|
||||||
notifyListeners();
|
// loading = false;
|
||||||
return response.statusCode;
|
// notifyListeners();
|
||||||
}
|
// return response.statusCode;
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,36 +1,37 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:http/http.dart';
|
//
|
||||||
import 'package:test_sa/providers/loading_list_notifier.dart';
|
// import 'package:http/http.dart';
|
||||||
|
// import 'package:test_sa/providers/loading_list_notifier.dart';
|
||||||
import '../../controllers/api_routes/api_manager.dart';
|
//
|
||||||
import '../../controllers/api_routes/urls.dart';
|
// import '../../controllers/api_routes/api_manager.dart';
|
||||||
import '../../models/lookup.dart';
|
// import '../../controllers/api_routes/urls.dart';
|
||||||
|
// import '../../models/lookup.dart';
|
||||||
class RequestStatusProvider extends LoadingListNotifier<Lookup> {
|
//
|
||||||
@override
|
// class RequestStatusProvider extends LoadingListNotifier<Lookup> {
|
||||||
Future getDate() async {
|
// @override
|
||||||
if (loading == true) return -2;
|
// Future getDate() async {
|
||||||
loading = true;
|
// if (loading == true) return -2;
|
||||||
notifyListeners();
|
// loading = true;
|
||||||
loading = true;
|
// notifyListeners();
|
||||||
notifyListeners();
|
// loading = true;
|
||||||
try {
|
// notifyListeners();
|
||||||
Response response = await ApiManager.instance.get(URLs.getServiceRequestStatus);
|
// try {
|
||||||
stateCode = response.statusCode;
|
// Response response = await ApiManager.instance.get(URLs.getServiceRequestStatus);
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// stateCode = response.statusCode;
|
||||||
// client's request was successfully received
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
List categoriesListJson = json.decode(response.body)["data"];
|
// // client's request was successfully received
|
||||||
items = categoriesListJson.map((item) => Lookup.fromJson(item)).toList();
|
// List categoriesListJson = json.decode(response.body)["data"];
|
||||||
}
|
// items = categoriesListJson.map((item) => Lookup.fromJson(item)).toList();
|
||||||
loading = false;
|
// }
|
||||||
notifyListeners();
|
// loading = false;
|
||||||
return response.statusCode;
|
// notifyListeners();
|
||||||
} catch (error) {
|
// return response.statusCode;
|
||||||
loading = false;
|
// } catch (error) {
|
||||||
stateCode = -1;
|
// loading = false;
|
||||||
notifyListeners();
|
// stateCode = -1;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return -1;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,36 +1,37 @@
|
|||||||
import 'dart:convert';
|
///todo deleted
|
||||||
|
// import 'dart:convert';
|
||||||
import 'package:http/http.dart';
|
//
|
||||||
import 'package:test_sa/providers/loading_list_notifier.dart';
|
// import 'package:http/http.dart';
|
||||||
|
// import 'package:test_sa/providers/loading_list_notifier.dart';
|
||||||
import '../../controllers/api_routes/api_manager.dart';
|
//
|
||||||
import '../../controllers/api_routes/urls.dart';
|
// import '../../controllers/api_routes/api_manager.dart';
|
||||||
import '../../models/lookup.dart';
|
// import '../../controllers/api_routes/urls.dart';
|
||||||
|
// import '../../models/lookup.dart';
|
||||||
class AssetTypesProvider extends LoadingListNotifier<Lookup> {
|
//
|
||||||
@override
|
// class AssetTypesProvider extends LoadingListNotifier<Lookup> {
|
||||||
Future getDate() async {
|
// @override
|
||||||
if (loading == true) return -2;
|
// Future getDate() async {
|
||||||
loading = true;
|
// if (loading == true) return -2;
|
||||||
notifyListeners();
|
// loading = true;
|
||||||
loading = true;
|
// notifyListeners();
|
||||||
notifyListeners();
|
// loading = true;
|
||||||
try {
|
// notifyListeners();
|
||||||
Response response = await ApiManager.instance.get(URLs.getAssetTypes);
|
// try {
|
||||||
stateCode = response.statusCode;
|
// Response response = await ApiManager.instance.get(URLs.getAssetTypes);
|
||||||
if (response.statusCode >= 200 && response.statusCode < 300) {
|
// stateCode = response.statusCode;
|
||||||
// client's request was successfully received
|
// if (response.statusCode >= 200 && response.statusCode < 300) {
|
||||||
List categoriesListJson = json.decode(response.body)["data"];
|
// // client's request was successfully received
|
||||||
items = categoriesListJson.map((item) => Lookup.fromJson(item)).toList();
|
// List categoriesListJson = json.decode(response.body)["data"];
|
||||||
}
|
// items = categoriesListJson.map((item) => Lookup.fromJson(item)).toList();
|
||||||
loading = false;
|
// }
|
||||||
notifyListeners();
|
// loading = false;
|
||||||
return response.statusCode;
|
// notifyListeners();
|
||||||
} catch (error) {
|
// return response.statusCode;
|
||||||
loading = false;
|
// } catch (error) {
|
||||||
stateCode = -1;
|
// loading = false;
|
||||||
notifyListeners();
|
// stateCode = -1;
|
||||||
return -1;
|
// notifyListeners();
|
||||||
}
|
// return -1;
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,161 +1,162 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:fluttertoast/fluttertoast.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
// import 'package:fluttertoast/fluttertoast.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/http_status_manger.dart';
|
// import 'package:provider/provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
// import 'package:test_sa/controllers/api_routes/http_status_manger.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||||
import 'package:test_sa/controllers/validator/validator.dart';
|
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
// import 'package:test_sa/controllers/validator/validator.dart';
|
||||||
import 'package:test_sa/models/user.dart';
|
// import 'package:test_sa/extensions/context_extension.dart';
|
||||||
import 'package:test_sa/new_views/pages/land_page/land_page.dart';
|
// import 'package:test_sa/models/user.dart';
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:test_sa/new_views/pages/land_page/land_page.dart';
|
||||||
import 'package:test_sa/views/widgets/app_text_form_field.dart';
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
import 'package:test_sa/views/widgets/buttons/app_button.dart';
|
// import 'package:test_sa/views/widgets/app_text_form_field.dart';
|
||||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
// import 'package:test_sa/views/widgets/buttons/app_button.dart';
|
||||||
|
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
||||||
class Login extends StatefulWidget {
|
//
|
||||||
static final String id = "/login";
|
// class Login extends StatefulWidget {
|
||||||
|
// static final String id = "/login";
|
||||||
@override
|
//
|
||||||
_LoginState createState() => _LoginState();
|
// @override
|
||||||
}
|
// _LoginState createState() => _LoginState();
|
||||||
|
// }
|
||||||
class _LoginState extends State<Login> {
|
//
|
||||||
UserProvider _userProvider;
|
// class _LoginState extends State<Login> {
|
||||||
SettingProvider _settingProvider;
|
// UserProvider _userProvider;
|
||||||
User _user = User();
|
// SettingProvider _settingProvider;
|
||||||
bool _obscurePassword = true;
|
// User _user = User();
|
||||||
bool _firstTime = true;
|
// bool _obscurePassword = true;
|
||||||
double _height;
|
// bool _firstTime = true;
|
||||||
double _width;
|
// double _height;
|
||||||
String _payload;
|
// double _width;
|
||||||
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
// String _payload;
|
||||||
final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
|
// final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
||||||
|
// final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
_userProvider = Provider.of<UserProvider>(context);
|
// Widget build(BuildContext context) {
|
||||||
_settingProvider = Provider.of<SettingProvider>(context);
|
// _userProvider = Provider.of<UserProvider>(context);
|
||||||
_height = MediaQuery.of(context).size.height;
|
// _settingProvider = Provider.of<SettingProvider>(context);
|
||||||
_width = MediaQuery.of(context).size.width;
|
// _height = MediaQuery.of(context).size.height;
|
||||||
|
// _width = MediaQuery.of(context).size.width;
|
||||||
return Scaffold(
|
//
|
||||||
key: _scaffoldKey,
|
// return Scaffold(
|
||||||
body: SafeArea(
|
// key: _scaffoldKey,
|
||||||
child: LoadingManager(
|
// body: SafeArea(
|
||||||
isLoading: _userProvider.isLoading || !_settingProvider.isLoaded,
|
// child: LoadingManager(
|
||||||
isFailedLoading: false,
|
// isLoading: _userProvider.isLoading || !_settingProvider.isLoaded,
|
||||||
stateCode: 200,
|
// isFailedLoading: false,
|
||||||
onRefresh: () async {},
|
// stateCode: 200,
|
||||||
child: Form(
|
// onRefresh: () async {},
|
||||||
key: _formKey,
|
// child: Form(
|
||||||
child: SingleChildScrollView(
|
// key: _formKey,
|
||||||
//padding: EdgeInsets.symmetric(horizontal: 32),
|
// child: SingleChildScrollView(
|
||||||
child: Column(
|
// //padding: EdgeInsets.symmetric(horizontal: 32),
|
||||||
children: [
|
// child: Column(
|
||||||
//AppNameBar(),
|
// children: [
|
||||||
SizedBox(
|
// //AppNameBar(),
|
||||||
height: MediaQuery.of(context).size.height / 7,
|
|
||||||
),
|
|
||||||
Hero(
|
|
||||||
tag: "logo",
|
|
||||||
child: Image(
|
|
||||||
height: _height / 6,
|
|
||||||
fit: BoxFit.contain,
|
|
||||||
image: AssetImage("assets/images/logo.png"),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
Padding(
|
|
||||||
padding: EdgeInsets.symmetric(horizontal: 24 * AppStyle.getScaleFactor(context), vertical: 24 * AppStyle.getScaleFactor(context)),
|
|
||||||
child: Column(
|
|
||||||
children: [
|
|
||||||
SizedBox(
|
|
||||||
height: 24 * AppStyle.getScaleFactor(context),
|
|
||||||
),
|
|
||||||
ATextFormField(
|
|
||||||
initialValue: _user?.userName,
|
|
||||||
hintText: context.translation.name,
|
|
||||||
textAlign: TextAlign.left,
|
|
||||||
style: Theme.of(context).textTheme.bodyText1,
|
|
||||||
prefixIconData: Icons.account_circle,
|
|
||||||
validator: (value) => Validator.hasValue(value) ? null : context.translation.nameValidateMessage,
|
|
||||||
textInputType: TextInputType.name,
|
|
||||||
onSaved: (value) {
|
|
||||||
_user.userName = value;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
SizedBox(height: 12),
|
|
||||||
ATextFormField(
|
|
||||||
initialValue: _user?.password,
|
|
||||||
hintText: context.translation.password,
|
|
||||||
obscureText: _obscurePassword,
|
|
||||||
style: Theme.of(context).textTheme.bodyText1,
|
|
||||||
prefixIconData: Icons.vpn_key_sharp,
|
|
||||||
textAlign: TextAlign.left,
|
|
||||||
validator: (value) => Validator.isValidPassword(value) ? null : context.translation.passwordValidateMessage,
|
|
||||||
showPassword: () {
|
|
||||||
_obscurePassword = !_obscurePassword;
|
|
||||||
setState(() {});
|
|
||||||
},
|
|
||||||
onSaved: (value) {
|
|
||||||
_user.password = value;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
SizedBox(
|
|
||||||
height: 32 * AppStyle.getScaleFactor(context),
|
|
||||||
),
|
|
||||||
AButton(
|
|
||||||
text: context.translation.signIn,
|
|
||||||
onPressed: () async {
|
|
||||||
if (!_formKey.currentState.validate()) return;
|
|
||||||
_formKey.currentState.save();
|
|
||||||
int status = await _userProvider.login(
|
|
||||||
user: _user,
|
|
||||||
);
|
|
||||||
if (status >= 200 && status < 300) {
|
|
||||||
if (_userProvider.user.isAuthenticated ?? false) {
|
|
||||||
_settingProvider.setUser(_userProvider.user);
|
|
||||||
Navigator.of(context).pushNamed(LandPage.routeName);
|
|
||||||
} else {
|
|
||||||
Fluttertoast.showToast(msg: _userProvider.user.message);
|
|
||||||
}
|
|
||||||
|
|
||||||
// if (_userProvider.user.isActive)
|
|
||||||
|
|
||||||
// else
|
|
||||||
// Fluttertoast.showToast(msg: context.translation.activationAlert);
|
|
||||||
} else {
|
|
||||||
if (status >= 400 && status < 500) return;
|
|
||||||
|
|
||||||
String errorMessage = status == 400 || _userProvider.user?.userName == null
|
|
||||||
? context.translation.wrongEmailOrPassword
|
|
||||||
: HttpStatusManger.getStatusMessage(status: status, subtitle: context.translation);
|
|
||||||
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
|
|
||||||
content: Text(errorMessage),
|
|
||||||
));
|
|
||||||
}
|
|
||||||
},
|
|
||||||
),
|
|
||||||
// SizedBox(
|
// SizedBox(
|
||||||
// height: 140 * AppStyle.getScaleFactor(context),
|
// height: MediaQuery.of(context).size.height / 7,
|
||||||
// ),
|
// ),
|
||||||
// AOutLinedButton(
|
// Hero(
|
||||||
// text: context.translation.signUp,
|
// tag: "logo",
|
||||||
// //color: AColors.cyan,
|
// child: Image(
|
||||||
// onPressed: () {
|
// height: _height / 6,
|
||||||
// Navigator.of(context).pushNamed(Register.id);
|
// fit: BoxFit.contain,
|
||||||
|
// image: AssetImage("assets/images/logo.png"),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// Padding(
|
||||||
|
// padding: EdgeInsets.symmetric(horizontal: 24 * AppStyle.getScaleFactor(context), vertical: 24 * AppStyle.getScaleFactor(context)),
|
||||||
|
// child: Column(
|
||||||
|
// children: [
|
||||||
|
// SizedBox(
|
||||||
|
// height: 24 * AppStyle.getScaleFactor(context),
|
||||||
|
// ),
|
||||||
|
// ATextFormField(
|
||||||
|
// initialValue: _user?.userName,
|
||||||
|
// hintText: context.translation.name,
|
||||||
|
// textAlign: TextAlign.left,
|
||||||
|
// style: Theme.of(context).textTheme.bodyText1,
|
||||||
|
// prefixIconData: Icons.account_circle,
|
||||||
|
// validator: (value) => Validator.hasValue(value) ? null : context.translation.nameValidateMessage,
|
||||||
|
// textInputType: TextInputType.name,
|
||||||
|
// onSaved: (value) {
|
||||||
|
// _user.userName = value;
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// SizedBox(height: 12),
|
||||||
|
// ATextFormField(
|
||||||
|
// initialValue: _user?.password,
|
||||||
|
// hintText: context.translation.password,
|
||||||
|
// obscureText: _obscurePassword,
|
||||||
|
// style: Theme.of(context).textTheme.bodyText1,
|
||||||
|
// prefixIconData: Icons.vpn_key_sharp,
|
||||||
|
// textAlign: TextAlign.left,
|
||||||
|
// validator: (value) => Validator.isValidPassword(value) ? null : context.translation.passwordValidateMessage,
|
||||||
|
// showPassword: () {
|
||||||
|
// _obscurePassword = !_obscurePassword;
|
||||||
|
// setState(() {});
|
||||||
|
// },
|
||||||
|
// onSaved: (value) {
|
||||||
|
// _user.password = value;
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// SizedBox(
|
||||||
|
// height: 32 * AppStyle.getScaleFactor(context),
|
||||||
|
// ),
|
||||||
|
// AButton(
|
||||||
|
// text: context.translation.signIn,
|
||||||
|
// onPressed: () async {
|
||||||
|
// if (!_formKey.currentState.validate()) return;
|
||||||
|
// _formKey.currentState.save();
|
||||||
|
// int status = await _userProvider.login(
|
||||||
|
// user: _user,
|
||||||
|
// );
|
||||||
|
// if (status >= 200 && status < 300) {
|
||||||
|
// if (_userProvider.user.isAuthenticated ?? false) {
|
||||||
|
// _settingProvider.setUser(_userProvider.user);
|
||||||
|
// Navigator.of(context).pushNamed(LandPage.routeName);
|
||||||
|
// } else {
|
||||||
|
// Fluttertoast.showToast(msg: _userProvider.user.message);
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // if (_userProvider.user.isActive)
|
||||||
|
//
|
||||||
|
// // else
|
||||||
|
// // Fluttertoast.showToast(msg: context.translation.activationAlert);
|
||||||
|
// } else {
|
||||||
|
// if (status >= 400 && status < 500) return;
|
||||||
|
//
|
||||||
|
// String errorMessage = status == 400 || _userProvider.user?.userName == null
|
||||||
|
// ? context.translation.wrongEmailOrPassword
|
||||||
|
// : HttpStatusManger.getStatusMessage(status: status, subtitle: context.translation);
|
||||||
|
// ScaffoldMessenger.of(context).showSnackBar(SnackBar(
|
||||||
|
// content: Text(errorMessage),
|
||||||
|
// ));
|
||||||
|
// }
|
||||||
// },
|
// },
|
||||||
// ),
|
// ),
|
||||||
const SizedBox(height: 32),
|
// // SizedBox(
|
||||||
],
|
// // height: 140 * AppStyle.getScaleFactor(context),
|
||||||
),
|
// // ),
|
||||||
),
|
// // AOutLinedButton(
|
||||||
],
|
// // text: context.translation.signUp,
|
||||||
),
|
// // //color: AColors.cyan,
|
||||||
),
|
// // onPressed: () {
|
||||||
),
|
// // Navigator.of(context).pushNamed(Register.id);
|
||||||
),
|
// // },
|
||||||
),
|
// // ),
|
||||||
);
|
// const SizedBox(height: 32),
|
||||||
}
|
// ],
|
||||||
}
|
// ),
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,212 +1,213 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:fluttertoast/fluttertoast.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
// import 'package:fluttertoast/fluttertoast.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/http_status_manger.dart';
|
// import 'package:provider/provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
// import 'package:test_sa/controllers/api_routes/http_status_manger.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||||
import 'package:test_sa/controllers/validator/validator.dart';
|
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
// import 'package:test_sa/controllers/validator/validator.dart';
|
||||||
import 'package:test_sa/models/hospital.dart';
|
// import 'package:test_sa/extensions/context_extension.dart';
|
||||||
import 'package:test_sa/models/user.dart';
|
// import 'package:test_sa/models/hospital.dart';
|
||||||
import 'package:test_sa/views/widgets/app_text_form_field.dart';
|
// import 'package:test_sa/models/user.dart';
|
||||||
import 'package:test_sa/views/widgets/buttons/app_back_button.dart';
|
// import 'package:test_sa/views/widgets/app_text_form_field.dart';
|
||||||
import 'package:test_sa/views/widgets/buttons/app_button.dart';
|
// import 'package:test_sa/views/widgets/buttons/app_back_button.dart';
|
||||||
import 'package:test_sa/views/widgets/hospitals/hospital_button.dart';
|
// import 'package:test_sa/views/widgets/buttons/app_button.dart';
|
||||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
// import 'package:test_sa/views/widgets/hospitals/hospital_button.dart';
|
||||||
|
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
||||||
class Register extends StatefulWidget {
|
//
|
||||||
static final String id = "/register";
|
// class Register extends StatefulWidget {
|
||||||
|
// static final String id = "/register";
|
||||||
@override
|
//
|
||||||
_RegisterState createState() => _RegisterState();
|
// @override
|
||||||
}
|
// _RegisterState createState() => _RegisterState();
|
||||||
|
// }
|
||||||
class _RegisterState extends State<Register> {
|
//
|
||||||
UserProvider _userProvider;
|
// class _RegisterState extends State<Register> {
|
||||||
SettingProvider _settingProvider;
|
// UserProvider _userProvider;
|
||||||
double _width;
|
// SettingProvider _settingProvider;
|
||||||
double _height;
|
// double _width;
|
||||||
User _user = User();
|
// double _height;
|
||||||
bool _obscurePassword = true;
|
// User _user = User();
|
||||||
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
// bool _obscurePassword = true;
|
||||||
final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
|
// final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
||||||
|
// final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
_userProvider = Provider.of<UserProvider>(context);
|
// Widget build(BuildContext context) {
|
||||||
_settingProvider = Provider.of<SettingProvider>(context);
|
// _userProvider = Provider.of<UserProvider>(context);
|
||||||
_width = MediaQuery.of(context).size.width;
|
// _settingProvider = Provider.of<SettingProvider>(context);
|
||||||
_height = MediaQuery.of(context).size.height;
|
// _width = MediaQuery.of(context).size.width;
|
||||||
|
// _height = MediaQuery.of(context).size.height;
|
||||||
return Scaffold(
|
//
|
||||||
key: _scaffoldKey,
|
// return Scaffold(
|
||||||
body: LoadingManager(
|
// key: _scaffoldKey,
|
||||||
isLoading: _userProvider.isLoading,
|
// body: LoadingManager(
|
||||||
isFailedLoading: false,
|
// isLoading: _userProvider.isLoading,
|
||||||
stateCode: 200,
|
// isFailedLoading: false,
|
||||||
onRefresh: () async {},
|
// stateCode: 200,
|
||||||
child: SafeArea(
|
// onRefresh: () async {},
|
||||||
child: Stack(
|
// child: SafeArea(
|
||||||
children: [
|
// child: Stack(
|
||||||
Form(
|
// children: [
|
||||||
key: _formKey,
|
// Form(
|
||||||
child: ListView(
|
// key: _formKey,
|
||||||
padding: const EdgeInsets.all(20),
|
// child: ListView(
|
||||||
children: [
|
// padding: const EdgeInsets.all(20),
|
||||||
//AppNameBar(),
|
// children: [
|
||||||
//SizedBox(height: 16,),
|
// //AppNameBar(),
|
||||||
Hero(
|
// //SizedBox(height: 16,),
|
||||||
tag: "logo",
|
// Hero(
|
||||||
child: Padding(
|
// tag: "logo",
|
||||||
padding: const EdgeInsets.all(16),
|
// child: Padding(
|
||||||
child: Image(
|
// padding: const EdgeInsets.all(16),
|
||||||
height: _height / 6,
|
// child: Image(
|
||||||
image: AssetImage("assets/images/logo.png"),
|
// height: _height / 6,
|
||||||
),
|
// image: AssetImage("assets/images/logo.png"),
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
ATextFormField(
|
// ),
|
||||||
initialValue: _user.userName,
|
// ATextFormField(
|
||||||
hintText: context.translation.name,
|
// initialValue: _user.userName,
|
||||||
prefixIconData: Icons.account_circle,
|
// hintText: context.translation.name,
|
||||||
style: Theme.of(context).textTheme.headline6,
|
// prefixIconData: Icons.account_circle,
|
||||||
validator: (value) => Validator.hasValue(value) ? null : context.translation.nameValidateMessage,
|
// style: Theme.of(context).textTheme.headline6,
|
||||||
onSaved: (value) {
|
// validator: (value) => Validator.hasValue(value) ? null : context.translation.nameValidateMessage,
|
||||||
_user.userName = value;
|
// onSaved: (value) {
|
||||||
},
|
// _user.userName = value;
|
||||||
),
|
// },
|
||||||
const SizedBox(height: 12),
|
// ),
|
||||||
ATextFormField(
|
// const SizedBox(height: 12),
|
||||||
initialValue: _user.email,
|
// ATextFormField(
|
||||||
hintText: context.translation.email,
|
// initialValue: _user.email,
|
||||||
prefixIconData: Icons.email,
|
// hintText: context.translation.email,
|
||||||
textInputType: TextInputType.emailAddress,
|
// prefixIconData: Icons.email,
|
||||||
style: Theme.of(context).textTheme.headline6,
|
// textInputType: TextInputType.emailAddress,
|
||||||
validator: (value) => Validator.isEmail(value) ? null : context.translation.emailValidateMessage,
|
// style: Theme.of(context).textTheme.headline6,
|
||||||
onSaved: (value) {
|
// validator: (value) => Validator.isEmail(value) ? null : context.translation.emailValidateMessage,
|
||||||
_user.email = value;
|
// onSaved: (value) {
|
||||||
},
|
// _user.email = value;
|
||||||
),
|
// },
|
||||||
const SizedBox(height: 12),
|
// ),
|
||||||
ATextFormField(
|
// const SizedBox(height: 12),
|
||||||
initialValue: _user.password,
|
// ATextFormField(
|
||||||
hintText: context.translation.password,
|
// initialValue: _user.password,
|
||||||
prefixIconData: Icons.vpn_key_sharp,
|
// hintText: context.translation.password,
|
||||||
style: Theme.of(context).textTheme.headline6,
|
// prefixIconData: Icons.vpn_key_sharp,
|
||||||
obscureText: _obscurePassword,
|
// style: Theme.of(context).textTheme.headline6,
|
||||||
validator: (value) => Validator.isValidPassword(value) ? null : context.translation.passwordValidateMessage,
|
// obscureText: _obscurePassword,
|
||||||
showPassword: () {
|
// validator: (value) => Validator.isValidPassword(value) ? null : context.translation.passwordValidateMessage,
|
||||||
_obscurePassword = !_obscurePassword;
|
// showPassword: () {
|
||||||
setState(() {});
|
// _obscurePassword = !_obscurePassword;
|
||||||
},
|
// setState(() {});
|
||||||
onSaved: (value) {
|
// },
|
||||||
_user.password = value;
|
// onSaved: (value) {
|
||||||
},
|
// _user.password = value;
|
||||||
onChange: (value) {
|
// },
|
||||||
_user.password = value;
|
// onChange: (value) {
|
||||||
},
|
// _user.password = value;
|
||||||
),
|
// },
|
||||||
const SizedBox(height: 12),
|
// ),
|
||||||
ATextFormField(
|
// const SizedBox(height: 12),
|
||||||
initialValue: _user.password,
|
// ATextFormField(
|
||||||
prefixIconData: Icons.vpn_key_sharp,
|
// initialValue: _user.password,
|
||||||
hintText: context.translation.confirmPassword,
|
// prefixIconData: Icons.vpn_key_sharp,
|
||||||
style: Theme.of(context).textTheme.headline6,
|
// hintText: context.translation.confirmPassword,
|
||||||
obscureText: _obscurePassword,
|
// style: Theme.of(context).textTheme.headline6,
|
||||||
validator: (value) => _user.password == value ? null : context.translation.confirmPasswordValidateMessage,
|
// obscureText: _obscurePassword,
|
||||||
showPassword: () {
|
// validator: (value) => _user.password == value ? null : context.translation.confirmPasswordValidateMessage,
|
||||||
_obscurePassword = !_obscurePassword;
|
// showPassword: () {
|
||||||
setState(() {});
|
// _obscurePassword = !_obscurePassword;
|
||||||
},
|
// setState(() {});
|
||||||
),
|
// },
|
||||||
const SizedBox(height: 12),
|
// ),
|
||||||
HospitalButton(
|
|
||||||
hospital: Hospital(id: _user.clientId, name: _user.clientName),
|
|
||||||
onHospitalPick: (hospital) {
|
|
||||||
_user.clientId = hospital.id;
|
|
||||||
_user.clientName = hospital.name;
|
|
||||||
setState(() {});
|
|
||||||
},
|
|
||||||
),
|
|
||||||
// const SizedBox(height: 12),
|
// const SizedBox(height: 12),
|
||||||
// DepartmentButton(
|
// HospitalButton(
|
||||||
// department: Department(id: _user.departmentId, name: _user.departmentName),
|
// hospital: Hospital(id: _user.clientId, name: _user.clientName),
|
||||||
// onDepartmentPick: (department) {
|
// onHospitalPick: (hospital) {
|
||||||
// _user.departmentId = department.id;
|
// _user.clientId = hospital.id;
|
||||||
// _user.departmentName = department.name;
|
// _user.clientName = hospital.name;
|
||||||
// setState(() {});
|
// setState(() {});
|
||||||
// },
|
// },
|
||||||
// ),
|
// ),
|
||||||
const SizedBox(height: 12),
|
// // const SizedBox(height: 12),
|
||||||
ATextFormField(
|
// // DepartmentButton(
|
||||||
initialValue: _user.phoneNumber,
|
// // department: Department(id: _user.departmentId, name: _user.departmentName),
|
||||||
hintText: context.translation.phoneNumber,
|
// // onDepartmentPick: (department) {
|
||||||
style: Theme.of(context).textTheme.headline6,
|
// // _user.departmentId = department.id;
|
||||||
prefixIconData: Icons.phone_android,
|
// // _user.departmentName = department.name;
|
||||||
validator: (value) => Validator.isPhoneNumber(value) ? null : context.translation.phoneNumberValidateMessage,
|
// // setState(() {});
|
||||||
textInputType: TextInputType.phone,
|
// // },
|
||||||
onSaved: (value) {
|
// // ),
|
||||||
_user.phoneNumber = value;
|
// const SizedBox(height: 12),
|
||||||
},
|
|
||||||
),
|
|
||||||
SizedBox(height: 8),
|
|
||||||
// ATextFormField(
|
// ATextFormField(
|
||||||
// initialValue: _user.whatsApp,
|
// initialValue: _user.phoneNumber,
|
||||||
// hintText: context.translation.whatsApp,
|
// hintText: context.translation.phoneNumber,
|
||||||
// style: Theme.of(context).textTheme.headline6,
|
// style: Theme.of(context).textTheme.headline6,
|
||||||
// prefixIconData: FontAwesomeIcons.whatsapp,
|
// prefixIconData: Icons.phone_android,
|
||||||
// prefixIconSize: 36,
|
|
||||||
// validator: (value) => Validator.isPhoneNumber(value) ? null : context.translation.phoneNumberValidateMessage,
|
// validator: (value) => Validator.isPhoneNumber(value) ? null : context.translation.phoneNumberValidateMessage,
|
||||||
// textInputType: TextInputType.phone,
|
// textInputType: TextInputType.phone,
|
||||||
// onSaved: (value) {
|
// onSaved: (value) {
|
||||||
// _user.whatsApp = value;
|
// _user.phoneNumber = value;
|
||||||
// },
|
// },
|
||||||
// ),
|
// ),
|
||||||
const SizedBox(height: 12),
|
// SizedBox(height: 8),
|
||||||
AButton(
|
// // ATextFormField(
|
||||||
text: context.translation.signUp,
|
// // initialValue: _user.whatsApp,
|
||||||
onPressed: () async {
|
// // hintText: context.translation.whatsApp,
|
||||||
if (!_formKey.currentState.validate()) return;
|
// // style: Theme.of(context).textTheme.headline6,
|
||||||
_formKey.currentState.save();
|
// // prefixIconData: FontAwesomeIcons.whatsapp,
|
||||||
if (_user.clientId == null) {
|
// // prefixIconSize: 36,
|
||||||
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
|
// // validator: (value) => Validator.isPhoneNumber(value) ? null : context.translation.phoneNumberValidateMessage,
|
||||||
content: Text(context.translation.hospitalRequired),
|
// // textInputType: TextInputType.phone,
|
||||||
));
|
// // onSaved: (value) {
|
||||||
return;
|
// // _user.whatsApp = value;
|
||||||
}
|
// // },
|
||||||
if (_user.departmentId == null) {
|
// // ),
|
||||||
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
|
// const SizedBox(height: 12),
|
||||||
content: Text(context.translation.uniteRequired),
|
// AButton(
|
||||||
));
|
// text: context.translation.signUp,
|
||||||
return;
|
// onPressed: () async {
|
||||||
}
|
// if (!_formKey.currentState.validate()) return;
|
||||||
int status = await _userProvider.register(
|
// _formKey.currentState.save();
|
||||||
user: _user,
|
// if (_user.clientId == null) {
|
||||||
host: _settingProvider.host,
|
// ScaffoldMessenger.of(context).showSnackBar(SnackBar(
|
||||||
);
|
// content: Text(context.translation.hospitalRequired),
|
||||||
if (status >= 200 && status < 300) {
|
// ));
|
||||||
Fluttertoast.showToast(msg: context.translation.activationAlert);
|
// return;
|
||||||
Navigator.of(context).pop();
|
// }
|
||||||
} else {
|
// if (_user.departmentId == null) {
|
||||||
String errorMessage = status == 402
|
// ScaffoldMessenger.of(context).showSnackBar(SnackBar(
|
||||||
? context.translation.nameExist
|
// content: Text(context.translation.uniteRequired),
|
||||||
: status == 401
|
// ));
|
||||||
? context.translation.emailExist
|
// return;
|
||||||
: HttpStatusManger.getStatusMessage(status: status, subtitle: context.translation);
|
// }
|
||||||
ScaffoldMessenger.of(context).showSnackBar(SnackBar(
|
// int status = await _userProvider.register(
|
||||||
content: Text(errorMessage),
|
// user: _user,
|
||||||
));
|
// host: _settingProvider.host,
|
||||||
}
|
// );
|
||||||
},
|
// if (status >= 200 && status < 300) {
|
||||||
),
|
// Fluttertoast.showToast(msg: context.translation.activationAlert);
|
||||||
],
|
// Navigator.of(context).pop();
|
||||||
),
|
// } else {
|
||||||
),
|
// String errorMessage = status == 402
|
||||||
ABackButton(),
|
// ? context.translation.nameExist
|
||||||
],
|
// : status == 401
|
||||||
),
|
// ? context.translation.emailExist
|
||||||
),
|
// : HttpStatusManger.getStatusMessage(status: status, subtitle: context.translation);
|
||||||
),
|
// ScaffoldMessenger.of(context).showSnackBar(SnackBar(
|
||||||
);
|
// content: Text(errorMessage),
|
||||||
}
|
// ));
|
||||||
}
|
// }
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ABackButton(),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,76 +1,77 @@
|
|||||||
import 'package:firebase_core/firebase_core.dart';
|
///todo deleted
|
||||||
import 'package:flare_flutter/flare_actor.dart';
|
// import 'package:firebase_core/firebase_core.dart';
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flare_flutter/flare_actor.dart';
|
||||||
import 'package:provider/provider.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/notification/notification_manger.dart';
|
// import 'package:provider/provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
// import 'package:test_sa/controllers/notification/notification_manger.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||||
import 'package:test_sa/models/user.dart';
|
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/new_views/pages/land_page/land_page.dart';
|
// import 'package:test_sa/models/user.dart';
|
||||||
|
// import 'package:test_sa/new_views/pages/land_page/land_page.dart';
|
||||||
import 'login.dart';
|
//
|
||||||
|
// import 'login.dart';
|
||||||
class SplashScreen extends StatefulWidget {
|
//
|
||||||
static const String id = '/splash';
|
// class SplashScreen extends StatefulWidget {
|
||||||
|
// static const String id = '/splash';
|
||||||
const SplashScreen({Key key}) : super(key: key);
|
//
|
||||||
|
// const SplashScreen({Key key}) : super(key: key);
|
||||||
@override
|
//
|
||||||
State<SplashScreen> createState() => _SplashScreenState();
|
// @override
|
||||||
}
|
// State<SplashScreen> createState() => _SplashScreenState();
|
||||||
|
// }
|
||||||
class _SplashScreenState extends State<SplashScreen> {
|
//
|
||||||
SettingProvider _settingProvider;
|
// class _SplashScreenState extends State<SplashScreen> {
|
||||||
UserProvider _userProvider;
|
// SettingProvider _settingProvider;
|
||||||
|
// UserProvider _userProvider;
|
||||||
_goToUserScreen(User user) {
|
//
|
||||||
if (user.tokenlife != null && (DateTime.tryParse(user.tokenlife)?.isAfter(DateTime.now()) ?? false)) {
|
// _goToUserScreen(User user) {
|
||||||
_userProvider.user = user;
|
// if (user.tokenlife != null && (DateTime.tryParse(user.tokenlife)?.isAfter(DateTime.now()) ?? false)) {
|
||||||
// Navigator.of(context).pushNamed(Login.id);
|
// _userProvider.user = user;
|
||||||
Navigator.of(context).pushNamed(LandPage.routeName);
|
// // Navigator.of(context).pushNamed(Login.id);
|
||||||
}
|
// Navigator.of(context).pushNamed(LandPage.routeName);
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
void initState() {
|
// @override
|
||||||
Firebase.initializeApp();
|
// void initState() {
|
||||||
|
// Firebase.initializeApp();
|
||||||
NotificationManger.initialisation((notificationDetails) {
|
//
|
||||||
// todo @sikander, check notifications payload, because notification model is different to need to check from backend
|
// NotificationManger.initialisation((notificationDetails) {
|
||||||
// SystemNotificationModel notification = SystemNotificationModel.fromJson(json.decode(notificationDetails.payload));
|
// // todo @sikander, check notifications payload, because notification model is different to need to check from backend
|
||||||
// if (notification.path == null || notification.path.isEmpty) return;
|
// // SystemNotificationModel notification = SystemNotificationModel.fromJson(json.decode(notificationDetails.payload));
|
||||||
// Navigator.pushNamed(context, notification.path, arguments: notification.requestId);
|
// // if (notification.path == null || notification.path.isEmpty) return;
|
||||||
}, (id, title, body, payload) async {});
|
// // Navigator.pushNamed(context, notification.path, arguments: notification.requestId);
|
||||||
super.initState();
|
// }, (id, title, body, payload) async {});
|
||||||
}
|
// super.initState();
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
_settingProvider = Provider.of<SettingProvider>(context, listen: false);
|
// Widget build(BuildContext context) {
|
||||||
_userProvider = Provider.of<UserProvider>(context, listen: false);
|
// _settingProvider = Provider.of<SettingProvider>(context, listen: false);
|
||||||
return Scaffold(
|
// _userProvider = Provider.of<UserProvider>(context, listen: false);
|
||||||
backgroundColor: Colors.white,
|
// return Scaffold(
|
||||||
body: Center(
|
// backgroundColor: Colors.white,
|
||||||
child: SizedBox(
|
// body: Center(
|
||||||
width: MediaQuery.of(context).size.width / 1.1,
|
// child: SizedBox(
|
||||||
child: FlareActor(
|
// width: MediaQuery.of(context).size.width / 1.1,
|
||||||
"assets/rives/atoms_splash.flr",
|
// child: FlareActor(
|
||||||
fit: BoxFit.contain,
|
// "assets/rives/atoms_splash.flr",
|
||||||
animation: "splash",
|
|
||||||
callback: (animation) async {
|
|
||||||
Navigator.of(context).pushNamed(Login.id);
|
|
||||||
if (_settingProvider.isLoaded && _settingProvider.user != null) {
|
|
||||||
_goToUserScreen(_settingProvider.user);
|
|
||||||
}
|
|
||||||
},
|
|
||||||
),
|
|
||||||
//const Center(child: CircularProgressIndicator())
|
|
||||||
|
|
||||||
// Image.asset("assets/images/logo.png",
|
|
||||||
// fit: BoxFit.contain,
|
// fit: BoxFit.contain,
|
||||||
|
// animation: "splash",
|
||||||
|
// callback: (animation) async {
|
||||||
|
// Navigator.of(context).pushNamed(Login.id);
|
||||||
|
// if (_settingProvider.isLoaded && _settingProvider.user != null) {
|
||||||
|
// _goToUserScreen(_settingProvider.user);
|
||||||
|
// }
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// //const Center(child: CircularProgressIndicator())
|
||||||
|
//
|
||||||
|
// // Image.asset("assets/images/logo.png",
|
||||||
|
// // fit: BoxFit.contain,
|
||||||
|
// // ),
|
||||||
|
// ),
|
||||||
// ),
|
// ),
|
||||||
),
|
// );
|
||||||
),
|
// }
|
||||||
);
|
// }
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@ -1,72 +1,73 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:flutter_typeahead/flutter_typeahead.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
// import 'package:flutter_typeahead/flutter_typeahead.dart';
|
||||||
import 'package:test_sa/extensions/widget_extensions.dart';
|
// import 'package:provider/provider.dart';
|
||||||
import 'package:test_sa/models/service_request/supplier_details.dart';
|
// import 'package:test_sa/extensions/widget_extensions.dart';
|
||||||
|
// import 'package:test_sa/models/service_request/supplier_details.dart';
|
||||||
import '../../../providers/work_order/vendor_provider.dart';
|
//
|
||||||
|
// import '../../../providers/work_order/vendor_provider.dart';
|
||||||
class AutoGeneratedVendorName extends StatefulWidget {
|
//
|
||||||
final String initialValue;
|
// class AutoGeneratedVendorName extends StatefulWidget {
|
||||||
final Function(SupplierDetails) onSearch;
|
// final String initialValue;
|
||||||
|
// final Function(SupplierDetails) onSearch;
|
||||||
const AutoGeneratedVendorName({Key key, this.initialValue, this.onSearch}) : super(key: key);
|
//
|
||||||
|
// const AutoGeneratedVendorName({Key key, this.initialValue, this.onSearch}) : super(key: key);
|
||||||
@override
|
//
|
||||||
State<AutoGeneratedVendorName> createState() => _AutoGeneratedVendorNameState();
|
// @override
|
||||||
}
|
// State<AutoGeneratedVendorName> createState() => _AutoGeneratedVendorNameState();
|
||||||
|
// }
|
||||||
class _AutoGeneratedVendorNameState extends State<AutoGeneratedVendorName> {
|
//
|
||||||
TextEditingController _controller;
|
// class _AutoGeneratedVendorNameState extends State<AutoGeneratedVendorName> {
|
||||||
|
// TextEditingController _controller;
|
||||||
@override
|
//
|
||||||
void initState() {
|
// @override
|
||||||
super.initState();
|
// void initState() {
|
||||||
_controller = TextEditingController(text: widget.initialValue ?? "");
|
// super.initState();
|
||||||
}
|
// _controller = TextEditingController(text: widget.initialValue ?? "");
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
void didUpdateWidget(covariant AutoGeneratedVendorName oldWidget) {
|
// @override
|
||||||
super.didUpdateWidget(oldWidget);
|
// void didUpdateWidget(covariant AutoGeneratedVendorName oldWidget) {
|
||||||
|
// super.didUpdateWidget(oldWidget);
|
||||||
if (oldWidget.initialValue != widget.initialValue) {
|
//
|
||||||
_controller = TextEditingController(text: widget.initialValue ?? "");
|
// if (oldWidget.initialValue != widget.initialValue) {
|
||||||
}
|
// _controller = TextEditingController(text: widget.initialValue ?? "");
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
void dispose() {
|
// @override
|
||||||
_controller.dispose();
|
// void dispose() {
|
||||||
super.dispose();
|
// _controller.dispose();
|
||||||
}
|
// super.dispose();
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
final vendorProvider = Provider.of<VendorProvider>(context, listen: false);
|
// Widget build(BuildContext context) {
|
||||||
return TypeAheadField<SupplierDetails>(
|
// final vendorProvider = Provider.of<VendorProvider>(context, listen: false);
|
||||||
textFieldConfiguration: TextFieldConfiguration(
|
// return TypeAheadField<SupplierDetails>(
|
||||||
style: Theme.of(context).textTheme.titleLarge,
|
// textFieldConfiguration: TextFieldConfiguration(
|
||||||
controller: _controller,
|
// style: Theme.of(context).textTheme.titleLarge,
|
||||||
textAlign: TextAlign.center,
|
// controller: _controller,
|
||||||
decoration: const InputDecoration(
|
// textAlign: TextAlign.center,
|
||||||
hintText: "Vendor Name",
|
// decoration: const InputDecoration(
|
||||||
border: InputBorder.none,
|
// hintText: "Vendor Name",
|
||||||
disabledBorder: InputBorder.none,
|
// border: InputBorder.none,
|
||||||
focusedBorder: InputBorder.none,
|
// disabledBorder: InputBorder.none,
|
||||||
enabledBorder: InputBorder.none,
|
// focusedBorder: InputBorder.none,
|
||||||
),
|
// enabledBorder: InputBorder.none,
|
||||||
textInputAction: TextInputAction.search,
|
// ),
|
||||||
),
|
// textInputAction: TextInputAction.search,
|
||||||
suggestionsCallback: (vale) async {
|
// ),
|
||||||
// await vendorProvider.getVendors(_controller.text.trim());
|
// suggestionsCallback: (vale) async {
|
||||||
// return vendorProvider.vendors;
|
// // await vendorProvider.getVendors(_controller.text.trim());
|
||||||
},
|
// // return vendorProvider.vendors;
|
||||||
itemBuilder: (context, vendor) {
|
// },
|
||||||
return ListTile(title: Text(vendor.suppliername));
|
// itemBuilder: (context, vendor) {
|
||||||
},
|
// return ListTile(title: Text(vendor.suppliername));
|
||||||
onSuggestionSelected: (hospital) {
|
// },
|
||||||
widget.onSearch(hospital);
|
// onSuggestionSelected: (hospital) {
|
||||||
},
|
// widget.onSearch(hospital);
|
||||||
).toShadowContainer(context);
|
// },
|
||||||
}
|
// ).toShadowContainer(context);
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,214 +1,215 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/models/service_request/search_work_order.dart';
|
// import 'package:test_sa/extensions/context_extension.dart';
|
||||||
|
// import 'package:test_sa/models/service_request/search_work_order.dart';
|
||||||
import '../../../models/service_request/spare_parts.dart';
|
//
|
||||||
import '../../app_style/sizing.dart';
|
// import '../../../models/service_request/spare_parts.dart';
|
||||||
import '../../widgets/app_text_form_field.dart';
|
// import '../../app_style/sizing.dart';
|
||||||
import '../../widgets/buttons/app_button.dart';
|
// import '../../widgets/app_text_form_field.dart';
|
||||||
import '../../widgets/parts/part_item.dart';
|
// import '../../widgets/buttons/app_button.dart';
|
||||||
import '../../widgets/titles/app_sub_title.dart';
|
// import '../../widgets/parts/part_item.dart';
|
||||||
|
// import '../../widgets/titles/app_sub_title.dart';
|
||||||
class SparePartsBottomSheet extends StatefulWidget {
|
//
|
||||||
final SearchWorkOrder subWorkOrder;
|
// class SparePartsBottomSheet extends StatefulWidget {
|
||||||
final num assetId;
|
// final SearchWorkOrder subWorkOrder;
|
||||||
|
// final num assetId;
|
||||||
const SparePartsBottomSheet({this.subWorkOrder, this.assetId, Key key}) : super(key: key);
|
//
|
||||||
|
// const SparePartsBottomSheet({this.subWorkOrder, this.assetId, Key key}) : super(key: key);
|
||||||
@override
|
//
|
||||||
State<SparePartsBottomSheet> createState() => _SparePartsBottomSheetState();
|
// @override
|
||||||
}
|
// State<SparePartsBottomSheet> createState() => _SparePartsBottomSheetState();
|
||||||
|
// }
|
||||||
class _SparePartsBottomSheetState extends State<SparePartsBottomSheet> {
|
//
|
||||||
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
// class _SparePartsBottomSheetState extends State<SparePartsBottomSheet> {
|
||||||
final SearchWorkOrder _workOrder = SearchWorkOrder();
|
// final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
||||||
bool _validate = false;
|
// final SearchWorkOrder _workOrder = SearchWorkOrder();
|
||||||
|
// bool _validate = false;
|
||||||
@override
|
//
|
||||||
void initState() {
|
// @override
|
||||||
super.initState();
|
// void initState() {
|
||||||
_workOrder.copyFrom(widget.subWorkOrder);
|
// super.initState();
|
||||||
}
|
// _workOrder.copyFrom(widget.subWorkOrder);
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
void dispose() {
|
// @override
|
||||||
_workOrder.sparePartsWorkOrders = widget.subWorkOrder.sparePartsWorkOrders;
|
// void dispose() {
|
||||||
super.dispose();
|
// _workOrder.sparePartsWorkOrders = widget.subWorkOrder.sparePartsWorkOrders;
|
||||||
}
|
// super.dispose();
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
final size = MediaQuery.of(context).size;
|
// Widget build(BuildContext context) {
|
||||||
|
// final size = MediaQuery.of(context).size;
|
||||||
return Padding(
|
//
|
||||||
padding: EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom),
|
// return Padding(
|
||||||
child: ClipRRect(
|
// padding: EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom),
|
||||||
borderRadius: const BorderRadius.only(
|
// child: ClipRRect(
|
||||||
topLeft: Radius.circular(15),
|
// borderRadius: const BorderRadius.only(
|
||||||
topRight: Radius.circular(15),
|
// topLeft: Radius.circular(15),
|
||||||
),
|
// topRight: Radius.circular(15),
|
||||||
clipBehavior: Clip.antiAliasWithSaveLayer,
|
// ),
|
||||||
child: Container(
|
// clipBehavior: Clip.antiAliasWithSaveLayer,
|
||||||
color: Colors.white,
|
// child: Container(
|
||||||
height: size.height * 0.9,
|
// color: Colors.white,
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 20),
|
// height: size.height * 0.9,
|
||||||
child: Form(
|
// padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 20),
|
||||||
key: _formKey,
|
// child: Form(
|
||||||
child: Column(
|
// key: _formKey,
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
// child: Column(
|
||||||
children: [
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
const ASubTitle("Spare Parts"),
|
// children: [
|
||||||
const SizedBox(height: 8),
|
// const ASubTitle("Spare Parts"),
|
||||||
Expanded(
|
// const SizedBox(height: 8),
|
||||||
child: Padding(
|
// Expanded(
|
||||||
padding: const EdgeInsets.all(8.0),
|
// child: Padding(
|
||||||
child: SingleChildScrollView(
|
// padding: const EdgeInsets.all(8.0),
|
||||||
child: Column(
|
// child: SingleChildScrollView(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
// child: Column(
|
||||||
children: [
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
Container(
|
// children: [
|
||||||
width: double.infinity,
|
// Container(
|
||||||
padding: const EdgeInsets.all(16),
|
// width: double.infinity,
|
||||||
margin: const EdgeInsets.symmetric(vertical: 16),
|
// padding: const EdgeInsets.all(16),
|
||||||
// decoration: BoxDecoration(color: AColors.grey, borderRadius: BorderRadius.circular(AppStyle.getBorderRadius(context)), boxShadow: const [
|
// margin: const EdgeInsets.symmetric(vertical: 16),
|
||||||
// BoxShadow(
|
// // decoration: BoxDecoration(color: AColors.grey, borderRadius: BorderRadius.circular(AppStyle.getBorderRadius(context)), boxShadow: const [
|
||||||
// color: AColors.grey,
|
// // BoxShadow(
|
||||||
// offset: Offset(0, -1),
|
// // color: AColors.grey,
|
||||||
|
// // offset: Offset(0, -1),
|
||||||
|
// // )
|
||||||
|
// // ]),
|
||||||
|
// child: Column(
|
||||||
|
// mainAxisSize: MainAxisSize.min,
|
||||||
|
// children: [
|
||||||
|
// Row(
|
||||||
|
// children: [
|
||||||
|
// Expanded(
|
||||||
|
// flex: 3,
|
||||||
|
// child: Column(
|
||||||
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
// children: [
|
||||||
|
// ASubTitle(context.translation.partNumber),
|
||||||
|
// _validate && _workOrder.sparePartsWorkOrders == null
|
||||||
|
// ? ASubTitle(
|
||||||
|
// context.translation.requiredWord,
|
||||||
|
// color: Colors.red,
|
||||||
// )
|
// )
|
||||||
// ]),
|
// : const SizedBox.shrink(),
|
||||||
child: Column(
|
// const SizedBox(height: 4),
|
||||||
mainAxisSize: MainAxisSize.min,
|
// // AutoCompletePartsField(
|
||||||
children: [
|
// // assetId: widget.assetId,
|
||||||
Row(
|
// // onPick: (part) {
|
||||||
children: [
|
// // _workOrder.sparePartsWorkOrders ??= [];
|
||||||
Expanded(
|
// // _workOrder.sparePartsWorkOrders.add(SparePartsWorkOrders(
|
||||||
flex: 3,
|
// // id: part.reportPartID,
|
||||||
child: Column(
|
// // qty: part.quantity,
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
// // sparePart: SparePart(id: part.id, partName: part.partName, partNo: part.partNo),
|
||||||
children: [
|
// // installQty: part.installQty,
|
||||||
ASubTitle(context.translation.partNumber),
|
// // returnQty: part.returnQty,
|
||||||
_validate && _workOrder.sparePartsWorkOrders == null
|
// // ));
|
||||||
? ASubTitle(
|
// // },
|
||||||
context.translation.requiredWord,
|
// // ),
|
||||||
color: Colors.red,
|
// ],
|
||||||
)
|
// ),
|
||||||
: const SizedBox.shrink(),
|
// ),
|
||||||
const SizedBox(height: 4),
|
// ],
|
||||||
// AutoCompletePartsField(
|
// ),
|
||||||
// assetId: widget.assetId,
|
// SizedBox(
|
||||||
// onPick: (part) {
|
// height: 8 * AppStyle.getScaleFactor(context),
|
||||||
// _workOrder.sparePartsWorkOrders ??= [];
|
// ),
|
||||||
// _workOrder.sparePartsWorkOrders.add(SparePartsWorkOrders(
|
// if (_workOrder.sparePartsWorkOrders?.isNotEmpty ?? false)
|
||||||
// id: part.reportPartID,
|
// Row(
|
||||||
// qty: part.quantity,
|
// children: [
|
||||||
// sparePart: SparePart(id: part.id, partName: part.partName, partNo: part.partNo),
|
// Expanded(flex: 3, child: Text(context.translation.number)),
|
||||||
// installQty: part.installQty,
|
// Expanded(flex: 1, child: Text(context.translation.quantity)),
|
||||||
// returnQty: part.returnQty,
|
// ],
|
||||||
// ));
|
// ),
|
||||||
|
// if (_workOrder.sparePartsWorkOrders?.isNotEmpty ?? false)
|
||||||
|
// Column(
|
||||||
|
// children: List.generate(
|
||||||
|
// _workOrder.sparePartsWorkOrders?.length,
|
||||||
|
// (index) {
|
||||||
|
// final spare = _workOrder.sparePartsWorkOrders[index];
|
||||||
|
// SparePartsWorkOrders part = SparePartsWorkOrders(
|
||||||
|
// id: spare.sparePart?.id,
|
||||||
|
// sparePart: SparePart(
|
||||||
|
// id: spare.id,
|
||||||
|
// partNo: spare.sparePart?.partNo,
|
||||||
|
// partName: spare.sparePart?.partName,
|
||||||
|
// ),
|
||||||
|
// qty: spare.qty?.toInt(),
|
||||||
|
// installQty: spare.installQty,
|
||||||
|
// returnQty: spare.returnQty,
|
||||||
|
// );
|
||||||
|
// return Column(
|
||||||
|
// children: [
|
||||||
|
// PartItem(
|
||||||
|
// part: part,
|
||||||
|
// onEdit: (qty) {
|
||||||
|
// spare.qty = qty;
|
||||||
|
// },
|
||||||
|
// onDelete: (part) {
|
||||||
|
// _workOrder.sparePartsWorkOrders.remove(spare);
|
||||||
|
// setState(() {});
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// if (_workOrder.calllastSituation?.name?.toLowerCase()?.contains("part installation") ?? false)
|
||||||
|
// Row(
|
||||||
|
// children: [
|
||||||
|
// Expanded(
|
||||||
|
// child: ATextFormField(
|
||||||
|
// initialValue: part?.returnQty?.toString(),
|
||||||
|
// labelText: "Return Quantity",
|
||||||
|
// textAlign: TextAlign.center,
|
||||||
|
// style: Theme.of(context).textTheme.titleMedium,
|
||||||
|
// textInputType: TextInputType.number,
|
||||||
|
// onSaved: (value) {
|
||||||
|
// spare.returnQty = num.tryParse(value)?.toDouble();
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// const SizedBox(width: 8),
|
||||||
|
// Expanded(
|
||||||
|
// child: ATextFormField(
|
||||||
|
// initialValue: part?.installQty?.toString(),
|
||||||
|
// labelText: "Install Quantity",
|
||||||
|
// textAlign: TextAlign.center,
|
||||||
|
// style: Theme.of(context).textTheme.titleMedium,
|
||||||
|
// textInputType: TextInputType.number,
|
||||||
|
// onSaved: (value) {
|
||||||
|
// spare.installQty = num.tryParse(value)?.toDouble();
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// );
|
||||||
// },
|
// },
|
||||||
// ),
|
// ),
|
||||||
],
|
// ),
|
||||||
),
|
// const SizedBox(height: 16),
|
||||||
),
|
// ],
|
||||||
],
|
// ),
|
||||||
),
|
// ),
|
||||||
SizedBox(
|
// const SizedBox(height: 24),
|
||||||
height: 8 * AppStyle.getScaleFactor(context),
|
// ],
|
||||||
),
|
// ),
|
||||||
if (_workOrder.sparePartsWorkOrders?.isNotEmpty ?? false)
|
// ),
|
||||||
Row(
|
// ),
|
||||||
children: [
|
// ),
|
||||||
Expanded(flex: 3, child: Text(context.translation.number)),
|
// AButton(
|
||||||
Expanded(flex: 1, child: Text(context.translation.quantity)),
|
// text: context.translation.submit,
|
||||||
],
|
// onPressed: () async {
|
||||||
),
|
// _formKey.currentState.save();
|
||||||
if (_workOrder.sparePartsWorkOrders?.isNotEmpty ?? false)
|
// widget.subWorkOrder.copyFrom(_workOrder);
|
||||||
Column(
|
// Navigator.pop(context);
|
||||||
children: List.generate(
|
// },
|
||||||
_workOrder.sparePartsWorkOrders?.length,
|
// ),
|
||||||
(index) {
|
// ],
|
||||||
final spare = _workOrder.sparePartsWorkOrders[index];
|
// ),
|
||||||
SparePartsWorkOrders part = SparePartsWorkOrders(
|
// ),
|
||||||
id: spare.sparePart?.id,
|
// ),
|
||||||
sparePart: SparePart(
|
// ),
|
||||||
id: spare.id,
|
// );
|
||||||
partNo: spare.sparePart?.partNo,
|
// }
|
||||||
partName: spare.sparePart?.partName,
|
// }
|
||||||
),
|
|
||||||
qty: spare.qty?.toInt(),
|
|
||||||
installQty: spare.installQty,
|
|
||||||
returnQty: spare.returnQty,
|
|
||||||
);
|
|
||||||
return Column(
|
|
||||||
children: [
|
|
||||||
PartItem(
|
|
||||||
part: part,
|
|
||||||
onEdit: (qty) {
|
|
||||||
spare.qty = qty;
|
|
||||||
},
|
|
||||||
onDelete: (part) {
|
|
||||||
_workOrder.sparePartsWorkOrders.remove(spare);
|
|
||||||
setState(() {});
|
|
||||||
},
|
|
||||||
),
|
|
||||||
if (_workOrder.calllastSituation?.name?.toLowerCase()?.contains("part installation") ?? false)
|
|
||||||
Row(
|
|
||||||
children: [
|
|
||||||
Expanded(
|
|
||||||
child: ATextFormField(
|
|
||||||
initialValue: part?.returnQty?.toString(),
|
|
||||||
labelText: "Return Quantity",
|
|
||||||
textAlign: TextAlign.center,
|
|
||||||
style: Theme.of(context).textTheme.titleMedium,
|
|
||||||
textInputType: TextInputType.number,
|
|
||||||
onSaved: (value) {
|
|
||||||
spare.returnQty = num.tryParse(value)?.toDouble();
|
|
||||||
},
|
|
||||||
),
|
|
||||||
),
|
|
||||||
const SizedBox(width: 8),
|
|
||||||
Expanded(
|
|
||||||
child: ATextFormField(
|
|
||||||
initialValue: part?.installQty?.toString(),
|
|
||||||
labelText: "Install Quantity",
|
|
||||||
textAlign: TextAlign.center,
|
|
||||||
style: Theme.of(context).textTheme.titleMedium,
|
|
||||||
textInputType: TextInputType.number,
|
|
||||||
onSaved: (value) {
|
|
||||||
spare.installQty = num.tryParse(value)?.toDouble();
|
|
||||||
},
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
],
|
|
||||||
);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
),
|
|
||||||
const SizedBox(height: 16),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
const SizedBox(height: 24),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
AButton(
|
|
||||||
text: context.translation.submit,
|
|
||||||
onPressed: () async {
|
|
||||||
_formKey.currentState.save();
|
|
||||||
widget.subWorkOrder.copyFrom(_workOrder);
|
|
||||||
Navigator.pop(context);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@ -1,252 +1,253 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:fluttertoast/fluttertoast.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
// import 'package:fluttertoast/fluttertoast.dart';
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
// import 'package:provider/provider.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/extensions/context_extension.dart';
|
||||||
import 'package:test_sa/models/service_request/search_work_order.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
import 'package:test_sa/models/service_request/supplier_details.dart';
|
// import 'package:test_sa/models/service_request/search_work_order.dart';
|
||||||
import 'package:test_sa/views/widgets/app_text_form_field.dart';
|
// import 'package:test_sa/models/service_request/supplier_details.dart';
|
||||||
import 'package:test_sa/views/widgets/buttons/app_button.dart';
|
// import 'package:test_sa/views/widgets/app_text_form_field.dart';
|
||||||
import 'package:test_sa/views/widgets/status/report/service_report_assistant_employee_menu.dart';
|
// import 'package:test_sa/views/widgets/buttons/app_button.dart';
|
||||||
import 'package:test_sa/views/widgets/status/report/service_report_maintenance_situation.dart';
|
// import 'package:test_sa/views/widgets/status/report/service_report_assistant_employee_menu.dart';
|
||||||
import 'package:test_sa/views/widgets/status/report/service_report_repair_location.dart';
|
// import 'package:test_sa/views/widgets/status/report/service_report_maintenance_situation.dart';
|
||||||
import 'package:test_sa/views/widgets/status/service_request/supplier_engineers_menu.dart';
|
// import 'package:test_sa/views/widgets/status/report/service_report_repair_location.dart';
|
||||||
|
// import 'package:test_sa/views/widgets/status/service_request/supplier_engineers_menu.dart';
|
||||||
import '../../../controllers/providers/api/status_drop_down/report/service_report_maintenance_situation_provider.dart';
|
//
|
||||||
import '../../../models/service_request/supp_engineer_work_orders.dart';
|
// import '../../../controllers/providers/api/status_drop_down/report/service_report_maintenance_situation_provider.dart';
|
||||||
import '../../widgets/timer/app_timer.dart';
|
// import '../../../models/service_request/supp_engineer_work_orders.dart';
|
||||||
import '../../widgets/titles/app_sub_title.dart';
|
// import '../../widgets/timer/app_timer.dart';
|
||||||
import 'auto_generated_vendor_name.dart';
|
// import '../../widgets/titles/app_sub_title.dart';
|
||||||
|
// import 'auto_generated_vendor_name.dart';
|
||||||
class WorkOrderDetailsBottomSheet extends StatefulWidget {
|
//
|
||||||
final SearchWorkOrder subWorkOrder;
|
// class WorkOrderDetailsBottomSheet extends StatefulWidget {
|
||||||
final num assetId;
|
// final SearchWorkOrder subWorkOrder;
|
||||||
|
// final num assetId;
|
||||||
const WorkOrderDetailsBottomSheet({this.subWorkOrder, this.assetId, Key key}) : super(key: key);
|
//
|
||||||
|
// const WorkOrderDetailsBottomSheet({this.subWorkOrder, this.assetId, Key key}) : super(key: key);
|
||||||
@override
|
//
|
||||||
State<WorkOrderDetailsBottomSheet> createState() => _WorkOrderDetailsBottomSheetState();
|
// @override
|
||||||
}
|
// State<WorkOrderDetailsBottomSheet> createState() => _WorkOrderDetailsBottomSheetState();
|
||||||
|
// }
|
||||||
class _WorkOrderDetailsBottomSheetState extends State<WorkOrderDetailsBottomSheet> {
|
//
|
||||||
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
// class _WorkOrderDetailsBottomSheetState extends State<WorkOrderDetailsBottomSheet> {
|
||||||
final SearchWorkOrder _workOrder = SearchWorkOrder();
|
// final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
||||||
bool _showVendorFields = false;
|
// final SearchWorkOrder _workOrder = SearchWorkOrder();
|
||||||
SuppEngineerWorkOrders engineer;
|
// bool _showVendorFields = false;
|
||||||
|
// SuppEngineerWorkOrders engineer;
|
||||||
@override
|
//
|
||||||
void initState() {
|
// @override
|
||||||
super.initState();
|
// void initState() {
|
||||||
_workOrder.copyFrom(widget.subWorkOrder);
|
// super.initState();
|
||||||
if (checkVendorFieldsVisibility(_workOrder.calllastSituation)) {
|
// _workOrder.copyFrom(widget.subWorkOrder);
|
||||||
if (_workOrder.suppEngineerWorkOrders?.isNotEmpty ?? false) {
|
// if (checkVendorFieldsVisibility(_workOrder.calllastSituation)) {
|
||||||
engineer = _workOrder.suppEngineerWorkOrders?.last;
|
// if (_workOrder.suppEngineerWorkOrders?.isNotEmpty ?? false) {
|
||||||
engineer?.id = engineer?.supplierContactId;
|
// engineer = _workOrder.suppEngineerWorkOrders?.last;
|
||||||
}
|
// engineer?.id = engineer?.supplierContactId;
|
||||||
_workOrder.supplier ??= SupplierDetails(id: _workOrder?.supplier?.id);
|
// }
|
||||||
}
|
// _workOrder.supplier ??= SupplierDetails(id: _workOrder?.supplier?.id);
|
||||||
if (context.mounted) {
|
// }
|
||||||
Provider.of<ServiceReportMaintenanceSituationProvider>(context, listen: false).reset();
|
// if (context.mounted) {
|
||||||
}
|
// Provider.of<ServiceReportMaintenanceSituationProvider>(context, listen: false).reset();
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
bool checkVendorFieldsVisibility(Lookup callsLastSituation) {
|
//
|
||||||
bool result = (_workOrder.supplier?.suppliername?.isNotEmpty ?? false) ||
|
// bool checkVendorFieldsVisibility(Lookup callsLastSituation) {
|
||||||
(callsLastSituation?.name?.toLowerCase()?.contains("under repair-vendor") ?? false) ||
|
// bool result = (_workOrder.supplier?.suppliername?.isNotEmpty ?? false) ||
|
||||||
(callsLastSituation?.name?.toLowerCase()?.contains("waiting for vendor") ?? false);
|
// (callsLastSituation?.name?.toLowerCase()?.contains("under repair-vendor") ?? false) ||
|
||||||
_showVendorFields = result;
|
// (callsLastSituation?.name?.toLowerCase()?.contains("waiting for vendor") ?? false);
|
||||||
return result;
|
// _showVendorFields = result;
|
||||||
}
|
// return result;
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
final size = MediaQuery.of(context).size;
|
// Widget build(BuildContext context) {
|
||||||
|
// final size = MediaQuery.of(context).size;
|
||||||
return Padding(
|
//
|
||||||
padding: EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom),
|
// return Padding(
|
||||||
child: ClipRRect(
|
// padding: EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom),
|
||||||
borderRadius: const BorderRadius.only(
|
// child: ClipRRect(
|
||||||
topLeft: Radius.circular(15),
|
// borderRadius: const BorderRadius.only(
|
||||||
topRight: Radius.circular(15),
|
// topLeft: Radius.circular(15),
|
||||||
),
|
// topRight: Radius.circular(15),
|
||||||
clipBehavior: Clip.antiAliasWithSaveLayer,
|
// ),
|
||||||
child: Container(
|
// clipBehavior: Clip.antiAliasWithSaveLayer,
|
||||||
color: Colors.white,
|
// child: Container(
|
||||||
height: size.height * 0.9,
|
// color: Colors.white,
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 20),
|
// height: size.height * 0.9,
|
||||||
child: Form(
|
// padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 20),
|
||||||
key: _formKey,
|
// child: Form(
|
||||||
child: Column(
|
// key: _formKey,
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
// child: Column(
|
||||||
children: [
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
const ASubTitle("WO Details"),
|
// children: [
|
||||||
const SizedBox(height: 8),
|
// const ASubTitle("WO Details"),
|
||||||
Expanded(
|
// const SizedBox(height: 8),
|
||||||
child: Padding(
|
// Expanded(
|
||||||
padding: const EdgeInsets.all(8.0),
|
// child: Padding(
|
||||||
child: SingleChildScrollView(
|
// padding: const EdgeInsets.all(8.0),
|
||||||
child: Column(
|
// child: SingleChildScrollView(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
// child: Column(
|
||||||
children: [
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
const SizedBox(height: 8),
|
// children: [
|
||||||
ATextFormField(enable: false, hintText: "Assigned Employee: ${_workOrder.assignedEmployee?.name}"),
|
// const SizedBox(height: 8),
|
||||||
const SizedBox(height: 8),
|
// ATextFormField(enable: false, hintText: "Assigned Employee: ${_workOrder.assignedEmployee?.name}"),
|
||||||
const ASubTitle("Assistant Employee"),
|
// const SizedBox(height: 8),
|
||||||
const SizedBox(height: 4),
|
// const ASubTitle("Assistant Employee"),
|
||||||
ServiceReportAssistantEmployeeMenu(
|
// const SizedBox(height: 4),
|
||||||
assetId: widget.assetId,
|
// ServiceReportAssistantEmployeeMenu(
|
||||||
initialValue: (_workOrder.assistantEmployees?.isNotEmpty ?? false) ? _workOrder.assistantEmployees?.first : null,
|
// assetId: widget.assetId,
|
||||||
onSelect: (assistantsEmployee) {
|
// initialValue: (_workOrder.assistantEmployees?.isNotEmpty ?? false) ? _workOrder.assistantEmployees?.first : null,
|
||||||
if (assistantsEmployee == null) {
|
// onSelect: (assistantsEmployee) {
|
||||||
_workOrder.assistantEmployees = [];
|
// if (assistantsEmployee == null) {
|
||||||
} else {
|
// _workOrder.assistantEmployees = [];
|
||||||
_workOrder.assistantEmployees = [assistantsEmployee];
|
// } else {
|
||||||
}
|
// _workOrder.assistantEmployees = [assistantsEmployee];
|
||||||
},
|
// }
|
||||||
),
|
// },
|
||||||
const SizedBox(height: 8),
|
// ),
|
||||||
ASubTitle(context.translation.workingHours),
|
// const SizedBox(height: 8),
|
||||||
const SizedBox(height: 8),
|
// ASubTitle(context.translation.workingHours),
|
||||||
Row(
|
// const SizedBox(height: 8),
|
||||||
children: [
|
// Row(
|
||||||
Expanded(
|
// children: [
|
||||||
child: AppTimer(
|
// Expanded(
|
||||||
timer: _workOrder.timer,
|
// child: AppTimer(
|
||||||
onChange: (timer) async {
|
// timer: _workOrder.timer,
|
||||||
_workOrder.timer = timer;
|
// onChange: (timer) async {
|
||||||
_workOrder.workingHours = num.tryParse((((timer?.durationInSecond ?? 0) / 60) / 60)?.toStringAsFixed(2) ?? "0");
|
// _workOrder.timer = timer;
|
||||||
return true;
|
// _workOrder.workingHours = num.tryParse((((timer?.durationInSecond ?? 0) / 60) / 60)?.toStringAsFixed(2) ?? "0");
|
||||||
},
|
// return true;
|
||||||
),
|
// },
|
||||||
),
|
// ),
|
||||||
],
|
// ),
|
||||||
),
|
// ],
|
||||||
const SizedBox(height: 16),
|
// ),
|
||||||
ATextFormField(
|
// const SizedBox(height: 16),
|
||||||
labelText: "Travel Hours",
|
// ATextFormField(
|
||||||
initialValue: _workOrder.travelingHours?.toString(),
|
// labelText: "Travel Hours",
|
||||||
textInputType: TextInputType.number,
|
// initialValue: _workOrder.travelingHours?.toString(),
|
||||||
onSaved: (value) {
|
// textInputType: TextInputType.number,
|
||||||
_workOrder.travelingHours = num.tryParse(value);
|
// onSaved: (value) {
|
||||||
},
|
// _workOrder.travelingHours = num.tryParse(value);
|
||||||
),
|
// },
|
||||||
const SizedBox(height: 8),
|
// ),
|
||||||
ATextFormField(
|
// const SizedBox(height: 8),
|
||||||
labelText: "Travel Expense",
|
// ATextFormField(
|
||||||
initialValue: _workOrder.travelingExpenses?.toString(),
|
// labelText: "Travel Expense",
|
||||||
textInputType: TextInputType.number,
|
// initialValue: _workOrder.travelingExpenses?.toString(),
|
||||||
onSaved: (value) {
|
// textInputType: TextInputType.number,
|
||||||
_workOrder.travelingExpenses = num.tryParse(value);
|
// onSaved: (value) {
|
||||||
},
|
// _workOrder.travelingExpenses = num.tryParse(value);
|
||||||
),
|
// },
|
||||||
const SizedBox(height: 8),
|
// ),
|
||||||
ASubTitle(context.translation.callLastSituation),
|
// const SizedBox(height: 8),
|
||||||
const SizedBox(height: 4),
|
// ASubTitle(context.translation.callLastSituation),
|
||||||
ServiceReportMaintenanceSituation(
|
// const SizedBox(height: 4),
|
||||||
initialValue: _workOrder.calllastSituation,
|
// ServiceReportMaintenanceSituation(
|
||||||
onSelect: (status) {
|
// initialValue: _workOrder.calllastSituation,
|
||||||
if (checkVendorFieldsVisibility(status)) {
|
// onSelect: (status) {
|
||||||
_workOrder.supplier ??= SupplierDetails(id: _workOrder?.supplier?.id);
|
// if (checkVendorFieldsVisibility(status)) {
|
||||||
engineer = null;
|
// _workOrder.supplier ??= SupplierDetails(id: _workOrder?.supplier?.id);
|
||||||
}
|
// engineer = null;
|
||||||
if (status?.value == 12 || _workOrder.calllastSituation?.value == 12) {
|
// }
|
||||||
_workOrder.calllastSituation = status;
|
// if (status?.value == 12 || _workOrder.calllastSituation?.value == 12) {
|
||||||
_workOrder.mrNumber = null;
|
// _workOrder.calllastSituation = status;
|
||||||
setState(() {});
|
// _workOrder.mrNumber = null;
|
||||||
} else {
|
// setState(() {});
|
||||||
_workOrder.calllastSituation = status;
|
// } else {
|
||||||
}
|
// _workOrder.calllastSituation = status;
|
||||||
setState(() {});
|
// }
|
||||||
},
|
// setState(() {});
|
||||||
woId: widget.subWorkOrder?.parentWOId?.toString(),
|
// },
|
||||||
),
|
// woId: widget.subWorkOrder?.parentWOId?.toString(),
|
||||||
if (_workOrder.calllastSituation.value == 12) const ASubTitle(" You have to add parts", color: Colors.amber, padding: EdgeInsets.all(2), font: 11),
|
// ),
|
||||||
if (_workOrder.calllastSituation.value == 12) const SizedBox(height: 8),
|
// if (_workOrder.calllastSituation.value == 12) const ASubTitle(" You have to add parts", color: Colors.amber, padding: EdgeInsets.all(2), font: 11),
|
||||||
if (_workOrder.calllastSituation.value == 12)
|
// if (_workOrder.calllastSituation.value == 12) const SizedBox(height: 8),
|
||||||
ATextFormField(
|
// if (_workOrder.calllastSituation.value == 12)
|
||||||
labelText: "MR number",
|
// ATextFormField(
|
||||||
initialValue: _workOrder.mrNumber,
|
// labelText: "MR number",
|
||||||
onSaved: (value) {
|
// initialValue: _workOrder.mrNumber,
|
||||||
_workOrder.mrNumber = value;
|
// onSaved: (value) {
|
||||||
},
|
// _workOrder.mrNumber = value;
|
||||||
),
|
// },
|
||||||
if (_showVendorFields) const SizedBox(height: 8),
|
// ),
|
||||||
if (_showVendorFields)
|
// if (_showVendorFields) const SizedBox(height: 8),
|
||||||
AutoGeneratedVendorName(
|
// if (_showVendorFields)
|
||||||
initialValue: _workOrder.supplier?.suppliername,
|
// AutoGeneratedVendorName(
|
||||||
onSearch: (supplier) {
|
// initialValue: _workOrder.supplier?.suppliername,
|
||||||
_workOrder.supplier.id = supplier.id;
|
// onSearch: (supplier) {
|
||||||
_workOrder.supplier.suppliername = supplier.suppliername;
|
// _workOrder.supplier.id = supplier.id;
|
||||||
_workOrder.supplier.suppPersons = supplier.suppPersons;
|
// _workOrder.supplier.suppliername = supplier.suppliername;
|
||||||
setState(() {});
|
// _workOrder.supplier.suppPersons = supplier.suppPersons;
|
||||||
},
|
// setState(() {});
|
||||||
),
|
// },
|
||||||
if (_showVendorFields) const SizedBox(height: 8),
|
// ),
|
||||||
if (_showVendorFields)
|
// if (_showVendorFields) const SizedBox(height: 8),
|
||||||
SupplierEngineersMenu(
|
// if (_showVendorFields)
|
||||||
initialValue: engineer,
|
// SupplierEngineersMenu(
|
||||||
engineers: _workOrder?.supplier?.suppPersons,
|
// initialValue: engineer,
|
||||||
onSelect: (engineer) {
|
// engineers: _workOrder?.supplier?.suppPersons,
|
||||||
if (engineer != null) {
|
// onSelect: (engineer) {
|
||||||
this.engineer = engineer;
|
// if (engineer != null) {
|
||||||
}
|
// this.engineer = engineer;
|
||||||
},
|
// }
|
||||||
),
|
// },
|
||||||
const SizedBox(height: 8),
|
// ),
|
||||||
const ASubTitle("Repair Location"),
|
// const SizedBox(height: 8),
|
||||||
const SizedBox(height: 4),
|
// const ASubTitle("Repair Location"),
|
||||||
ServiceReportRepairLocation(
|
// const SizedBox(height: 4),
|
||||||
initialValue: _workOrder.repairLocation,
|
// ServiceReportRepairLocation(
|
||||||
onSelect: (status) {
|
// initialValue: _workOrder.repairLocation,
|
||||||
_workOrder.repairLocation = status;
|
// onSelect: (status) {
|
||||||
},
|
// _workOrder.repairLocation = status;
|
||||||
),
|
// },
|
||||||
const SizedBox(height: 8),
|
// ),
|
||||||
ATextFormField(
|
// const SizedBox(height: 8),
|
||||||
labelText: "Technical Comments",
|
// ATextFormField(
|
||||||
initialValue: _workOrder.comment,
|
// labelText: "Technical Comments",
|
||||||
textInputType: TextInputType.multiline,
|
// initialValue: _workOrder.comment,
|
||||||
onSaved: (value) {
|
// textInputType: TextInputType.multiline,
|
||||||
_workOrder.comment = value;
|
// onSaved: (value) {
|
||||||
},
|
// _workOrder.comment = value;
|
||||||
),
|
// },
|
||||||
const SizedBox(height: 24),
|
// ),
|
||||||
],
|
// const SizedBox(height: 24),
|
||||||
),
|
// ],
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
AButton(
|
// ),
|
||||||
text: context.translation.submit,
|
// AButton(
|
||||||
onPressed: () async {
|
// text: context.translation.submit,
|
||||||
if (_workOrder?.workingHours == null) {
|
// onPressed: () async {
|
||||||
await Fluttertoast.showToast(msg: "Working Hours Timer Isn't Started");
|
// if (_workOrder?.workingHours == null) {
|
||||||
return;
|
// await Fluttertoast.showToast(msg: "Working Hours Timer Isn't Started");
|
||||||
}
|
// return;
|
||||||
if (_showVendorFields && (_workOrder.supplier.suppliername == null || _workOrder.supplier.suppliername.isEmpty)) {
|
// }
|
||||||
await Fluttertoast.showToast(msg: "Vendor Name Field is Required");
|
// if (_showVendorFields && (_workOrder.supplier.suppliername == null || _workOrder.supplier.suppliername.isEmpty)) {
|
||||||
return;
|
// await Fluttertoast.showToast(msg: "Vendor Name Field is Required");
|
||||||
}
|
// return;
|
||||||
if (_showVendorFields && _workOrder.suppEngineerWorkOrders == null) {
|
// }
|
||||||
await Fluttertoast.showToast(msg: "Vendor Engineer Field is Required");
|
// if (_showVendorFields && _workOrder.suppEngineerWorkOrders == null) {
|
||||||
return;
|
// await Fluttertoast.showToast(msg: "Vendor Engineer Field is Required");
|
||||||
}
|
// return;
|
||||||
_workOrder.suppEngineerWorkOrders ?? [];
|
// }
|
||||||
if (engineer != null) _workOrder.suppEngineerWorkOrders.add(engineer..id = 0);
|
// _workOrder.suppEngineerWorkOrders ?? [];
|
||||||
if (_workOrder.calllastSituation == null) {
|
// if (engineer != null) _workOrder.suppEngineerWorkOrders.add(engineer..id = 0);
|
||||||
await Fluttertoast.showToast(msg: "Call Last Situation Field is Required");
|
// if (_workOrder.calllastSituation == null) {
|
||||||
return;
|
// await Fluttertoast.showToast(msg: "Call Last Situation Field is Required");
|
||||||
}
|
// return;
|
||||||
_formKey.currentState.save();
|
// }
|
||||||
widget.subWorkOrder.copyFrom(_workOrder);
|
// _formKey.currentState.save();
|
||||||
Navigator.pop(context);
|
// widget.subWorkOrder.copyFrom(_workOrder);
|
||||||
},
|
// Navigator.pop(context);
|
||||||
),
|
// },
|
||||||
],
|
// ),
|
||||||
),
|
// ],
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
);
|
// ),
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,41 +1,42 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/extensions/text_extensions.dart';
|
// import 'package:test_sa/extensions/context_extension.dart';
|
||||||
import 'package:test_sa/extensions/widget_extensions.dart';
|
// import 'package:test_sa/extensions/text_extensions.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/extensions/widget_extensions.dart';
|
||||||
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
import '../../../models/service_request/search_work_order.dart';
|
//
|
||||||
|
// import '../../../models/service_request/search_work_order.dart';
|
||||||
class WorkOrderDetails extends StatelessWidget {
|
//
|
||||||
final SearchWorkOrder item;
|
// class WorkOrderDetails extends StatelessWidget {
|
||||||
final Lookup assetType;
|
// final SearchWorkOrder item;
|
||||||
|
// final Lookup assetType;
|
||||||
const WorkOrderDetails({@required this.item, this.assetType, Key key}) : super(key: key);
|
//
|
||||||
|
// const WorkOrderDetails({@required this.item, this.assetType, Key key}) : super(key: key);
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return Column(
|
// Widget build(BuildContext context) {
|
||||||
children: [
|
// return Column(
|
||||||
_buildRow(context.translation.callId, item.callRequest?.id?.toString() ?? "", context),
|
// children: [
|
||||||
_buildRow(context.translation.assetNumber, item.callRequest?.asset?.assetNumber ?? "", context),
|
// _buildRow(context.translation.callId, item.callRequest?.id?.toString() ?? "", context),
|
||||||
_buildRow("WO No", item.workOrderNo, context),
|
// _buildRow(context.translation.assetNumber, item.callRequest?.asset?.assetNumber ?? "", context),
|
||||||
_buildRow(context.translation.assetName, item.callRequest?.asset?.assetNumber ?? '', context),
|
// _buildRow("WO No", item.workOrderNo, context),
|
||||||
_buildRow(context.translation.department, item.callRequest?.asset?.department ?? '', context),
|
// _buildRow(context.translation.assetName, item.callRequest?.asset?.assetNumber ?? '', context),
|
||||||
_buildRow(context.translation.assetSN, item.callRequest?.asset?.assetSerialNo ?? '', context),
|
// _buildRow(context.translation.department, item.callRequest?.asset?.department ?? '', context),
|
||||||
_buildRow(context.translation.assetType, assetType?.name ?? (item.assetType?.name ?? ""), context),
|
// _buildRow(context.translation.assetSN, item.callRequest?.asset?.assetSerialNo ?? '', context),
|
||||||
_buildRow(context.translation.model, item.callRequest?.asset?.modelDefinition?.modelName ?? "", context),
|
// _buildRow(context.translation.assetType, assetType?.name ?? (item.assetType?.name ?? ""), context),
|
||||||
_buildRow(context.translation.manufacture, item.callRequest?.asset?.modelDefinition?.manufacturerName ?? "", context),
|
// _buildRow(context.translation.model, item.callRequest?.asset?.modelDefinition?.modelName ?? "", context),
|
||||||
_buildRow(context.translation.site, item.callRequest?.asset?.site?.custName ?? "", context),
|
// _buildRow(context.translation.manufacture, item.callRequest?.asset?.modelDefinition?.manufacturerName ?? "", context),
|
||||||
],
|
// _buildRow(context.translation.site, item.callRequest?.asset?.site?.custName ?? "", context),
|
||||||
).toShadowContainer(context);
|
// ],
|
||||||
}
|
// ).toShadowContainer(context);
|
||||||
|
// }
|
||||||
Widget _buildRow(String title, String value, BuildContext context) {
|
//
|
||||||
return Row(
|
// Widget _buildRow(String title, String value, BuildContext context) {
|
||||||
mainAxisAlignment: MainAxisAlignment.start,
|
// return Row(
|
||||||
children: [
|
// mainAxisAlignment: MainAxisAlignment.start,
|
||||||
"$title: $value".bodyText(context),
|
// children: [
|
||||||
],
|
// "$title: $value".bodyText(context),
|
||||||
);
|
// ],
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,151 +1,152 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:fluttertoast/fluttertoast.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
// import 'package:fluttertoast/fluttertoast.dart';
|
||||||
import 'package:test_sa/extensions/int_extensions.dart';
|
// import 'package:test_sa/extensions/context_extension.dart';
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:test_sa/extensions/int_extensions.dart';
|
||||||
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
import '../../../models/service_request/search_work_order.dart';
|
//
|
||||||
|
// import '../../../models/service_request/search_work_order.dart';
|
||||||
class WorkOrderItem extends StatelessWidget {
|
//
|
||||||
final int index;
|
// class WorkOrderItem extends StatelessWidget {
|
||||||
final SearchWorkOrder item;
|
// final int index;
|
||||||
final Function(SearchWorkOrder) onPressed;
|
// final SearchWorkOrder item;
|
||||||
|
// final Function(SearchWorkOrder) onPressed;
|
||||||
const WorkOrderItem({Key key, this.item, this.onPressed, this.index}) : super(key: key);
|
//
|
||||||
|
// const WorkOrderItem({Key key, this.item, this.onPressed, this.index}) : super(key: key);
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
Color itemColor = index % 2 == 0 ? Theme.of(context).colorScheme.primary : Theme.of(context).colorScheme.onPrimary;
|
// Widget build(BuildContext context) {
|
||||||
Color onItemColor = index % 2 != 0 ? Theme.of(context).colorScheme.primary : Theme.of(context).colorScheme.onPrimary;
|
// Color itemColor = index % 2 == 0 ? Theme.of(context).colorScheme.primary : Theme.of(context).colorScheme.onPrimary;
|
||||||
|
// Color onItemColor = index % 2 != 0 ? Theme.of(context).colorScheme.primary : Theme.of(context).colorScheme.onPrimary;
|
||||||
return Padding(
|
//
|
||||||
padding: const EdgeInsets.symmetric(vertical: 4),
|
// return Padding(
|
||||||
child: ElevatedButton(
|
// padding: const EdgeInsets.symmetric(vertical: 4),
|
||||||
style: ElevatedButton.styleFrom(
|
// child: ElevatedButton(
|
||||||
padding: EdgeInsets.symmetric(vertical: 8, horizontal: 8),
|
// style: ElevatedButton.styleFrom(
|
||||||
backgroundColor: itemColor,
|
// padding: EdgeInsets.symmetric(vertical: 8, horizontal: 8),
|
||||||
shape: RoundedRectangleBorder(
|
// backgroundColor: itemColor,
|
||||||
borderRadius: BorderRadius.circular(AppStyle.getBorderRadius(context)),
|
// shape: RoundedRectangleBorder(
|
||||||
),
|
// borderRadius: BorderRadius.circular(AppStyle.getBorderRadius(context)),
|
||||||
),
|
// ),
|
||||||
onPressed: () {
|
// ),
|
||||||
item.callRequest.status.value == 5 || item.callRequest.status.value == 3
|
// onPressed: () {
|
||||||
? Fluttertoast.showToast(
|
// item.callRequest.status.value == 5 || item.callRequest.status.value == 3
|
||||||
msg: "Request is ${item.callRequest.status.name}. No more sub work orders will be create.",
|
// ? Fluttertoast.showToast(
|
||||||
toastLength: Toast.LENGTH_LONG,
|
// msg: "Request is ${item.callRequest.status.name}. No more sub work orders will be create.",
|
||||||
gravity: ToastGravity.BOTTOM,
|
// toastLength: Toast.LENGTH_LONG,
|
||||||
)
|
// gravity: ToastGravity.BOTTOM,
|
||||||
: onPressed(item);
|
// )
|
||||||
},
|
// : onPressed(item);
|
||||||
child: Column(
|
// },
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
// child: Column(
|
||||||
children: [
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
Row(
|
// children: [
|
||||||
children: [
|
// Row(
|
||||||
Expanded(
|
// children: [
|
||||||
child: Column(
|
// Expanded(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
// child: Column(
|
||||||
children: [
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
Text(
|
// children: [
|
||||||
item.callRequest.callNo ?? "-----",
|
// Text(
|
||||||
style: Theme.of(context).textTheme.headline6.copyWith(color: onItemColor, fontSize: 16, fontWeight: FontWeight.bold),
|
// item.callRequest.callNo ?? "-----",
|
||||||
),
|
// style: Theme.of(context).textTheme.headline6.copyWith(color: onItemColor, fontSize: 16, fontWeight: FontWeight.bold),
|
||||||
|
// ),
|
||||||
|
// // Text(
|
||||||
|
// // item.callRequest.asset.id.toString(),
|
||||||
|
// // style: Theme.of(context).textTheme.subtitle2.copyWith(
|
||||||
|
// // color: onItemColor,
|
||||||
|
// // ),
|
||||||
|
// // ),
|
||||||
|
// Row(
|
||||||
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
// children: [
|
||||||
|
// Text(
|
||||||
|
// "Asset Name:",
|
||||||
|
// style: Theme.of(context).textTheme.subtitle2.copyWith(
|
||||||
|
// color: onItemColor,
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// 8.width,
|
||||||
|
// Expanded(
|
||||||
|
// child: Text(
|
||||||
|
// //CallRequest.Asset.ModelDefinition.AssetND
|
||||||
|
// // .AssetName
|
||||||
|
// item.callRequest.asset.modelDefinition.assetName,
|
||||||
|
// style: Theme.of(context).textTheme.subtitle2.copyWith(
|
||||||
|
// color: onItemColor,
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// Row(
|
||||||
|
// children: [
|
||||||
|
// Expanded(
|
||||||
|
// child: Text(
|
||||||
|
// "Asset Number:",
|
||||||
|
// style: Theme.of(context).textTheme.subtitle2.copyWith(
|
||||||
|
// color: onItemColor,
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// //if (item.clientName != null)
|
||||||
|
// Text(
|
||||||
|
// item.callRequest.asset.assetNumber,
|
||||||
|
// style: Theme.of(context).textTheme.subtitle2.copyWith(
|
||||||
|
// color: onItemColor,
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// Row(
|
||||||
|
// children: [
|
||||||
|
// Expanded(
|
||||||
|
// child: Text(
|
||||||
|
// "Asset SN:",
|
||||||
|
// style: Theme.of(context).textTheme.subtitle2.copyWith(
|
||||||
|
// color: onItemColor,
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// //if (item.clientName != null)
|
||||||
// Text(
|
// Text(
|
||||||
// item.callRequest.asset.id.toString(),
|
// item.callRequest.asset.assetSerialNo,
|
||||||
// style: Theme.of(context).textTheme.subtitle2.copyWith(
|
// style: Theme.of(context).textTheme.subtitle2.copyWith(
|
||||||
// color: onItemColor,
|
// color: onItemColor,
|
||||||
// ),
|
// ),
|
||||||
// ),
|
// ),
|
||||||
Row(
|
// ],
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
// ),
|
||||||
children: [
|
// Text(
|
||||||
Text(
|
// item.currentSituation.name,
|
||||||
"Asset Name:",
|
// style: Theme.of(context).textTheme.subtitle2.copyWith(
|
||||||
style: Theme.of(context).textTheme.subtitle2.copyWith(
|
// color: onItemColor,
|
||||||
color: onItemColor,
|
// ),
|
||||||
),
|
// ),
|
||||||
),
|
// Divider(
|
||||||
8.width,
|
// color: onItemColor,
|
||||||
Expanded(
|
// ),
|
||||||
child: Text(
|
// Row(
|
||||||
//CallRequest.Asset.ModelDefinition.AssetND
|
// children: [
|
||||||
// .AssetName
|
// Expanded(
|
||||||
item.callRequest.asset.modelDefinition.assetName,
|
// child: Text(
|
||||||
style: Theme.of(context).textTheme.subtitle2.copyWith(
|
// context.translation.status,
|
||||||
color: onItemColor,
|
// style: Theme.of(context).textTheme.subtitle2.copyWith(
|
||||||
),
|
// color: onItemColor,
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
],
|
// ),
|
||||||
),
|
// // if (item.callRequest.status?.id != null) StatusLabel(label: item.callRequest.status.name, backgroundColor: AColors.getGasStatusColor(item.callRequest.status.id)),
|
||||||
Row(
|
// ],
|
||||||
children: [
|
// ),
|
||||||
Expanded(
|
// ],
|
||||||
child: Text(
|
// ),
|
||||||
"Asset Number:",
|
// ),
|
||||||
style: Theme.of(context).textTheme.subtitle2.copyWith(
|
// ],
|
||||||
color: onItemColor,
|
// ),
|
||||||
),
|
// ],
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
//if (item.clientName != null)
|
// );
|
||||||
Text(
|
// }
|
||||||
item.callRequest.asset.assetNumber,
|
// }
|
||||||
style: Theme.of(context).textTheme.subtitle2.copyWith(
|
|
||||||
color: onItemColor,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
Row(
|
|
||||||
children: [
|
|
||||||
Expanded(
|
|
||||||
child: Text(
|
|
||||||
"Asset SN:",
|
|
||||||
style: Theme.of(context).textTheme.subtitle2.copyWith(
|
|
||||||
color: onItemColor,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
//if (item.clientName != null)
|
|
||||||
Text(
|
|
||||||
item.callRequest.asset.assetSerialNo,
|
|
||||||
style: Theme.of(context).textTheme.subtitle2.copyWith(
|
|
||||||
color: onItemColor,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
Text(
|
|
||||||
item.currentSituation.name,
|
|
||||||
style: Theme.of(context).textTheme.subtitle2.copyWith(
|
|
||||||
color: onItemColor,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
Divider(
|
|
||||||
color: onItemColor,
|
|
||||||
),
|
|
||||||
Row(
|
|
||||||
children: [
|
|
||||||
Expanded(
|
|
||||||
child: Text(
|
|
||||||
context.translation.status,
|
|
||||||
style: Theme.of(context).textTheme.subtitle2.copyWith(
|
|
||||||
color: onItemColor,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
// if (item.callRequest.status?.id != null) StatusLabel(label: item.callRequest.status.name, backgroundColor: AColors.getGasStatusColor(item.callRequest.status.id)),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@ -1,63 +1,64 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/views/pages/sub_workorder/workorder_details.dart';
|
// import 'package:flutter/material.dart';
|
||||||
|
// import 'package:test_sa/views/pages/sub_workorder/workorder_details.dart';
|
||||||
import '../../../models/service_request/search_work_order.dart';
|
//
|
||||||
import '../../widgets/buttons/app_back_button.dart';
|
// import '../../../models/service_request/search_work_order.dart';
|
||||||
import '../../widgets/loaders/loading_manager.dart';
|
// import '../../widgets/buttons/app_back_button.dart';
|
||||||
|
// import '../../widgets/loaders/loading_manager.dart';
|
||||||
class WorkOrderUpdate extends StatefulWidget {
|
//
|
||||||
final SearchWorkOrder item;
|
// class WorkOrderUpdate extends StatefulWidget {
|
||||||
|
// final SearchWorkOrder item;
|
||||||
const WorkOrderUpdate({@required this.item, Key key}) : super(key: key);
|
//
|
||||||
|
// const WorkOrderUpdate({@required this.item, Key key}) : super(key: key);
|
||||||
@override
|
//
|
||||||
State<WorkOrderUpdate> createState() => _WorkOrderUpdateState();
|
// @override
|
||||||
}
|
// State<WorkOrderUpdate> createState() => _WorkOrderUpdateState();
|
||||||
|
// }
|
||||||
class _WorkOrderUpdateState extends State<WorkOrderUpdate> {
|
//
|
||||||
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
// class _WorkOrderUpdateState extends State<WorkOrderUpdate> {
|
||||||
|
// final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
||||||
bool _isLoading = false;
|
//
|
||||||
|
// bool _isLoading = false;
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return Scaffold(
|
// Widget build(BuildContext context) {
|
||||||
body: SafeArea(
|
// return Scaffold(
|
||||||
child: Form(
|
// body: SafeArea(
|
||||||
key: _formKey,
|
// child: Form(
|
||||||
child: LoadingManager(
|
// key: _formKey,
|
||||||
isLoading: _isLoading,
|
// child: LoadingManager(
|
||||||
isFailedLoading: false,
|
// isLoading: _isLoading,
|
||||||
stateCode: 200,
|
// isFailedLoading: false,
|
||||||
onRefresh: () async {},
|
// stateCode: 200,
|
||||||
child: Column(
|
// onRefresh: () async {},
|
||||||
children: [
|
// child: Column(
|
||||||
Container(
|
// children: [
|
||||||
color: Theme.of(context).colorScheme.primary,
|
// Container(
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 0, vertical: 4),
|
// color: Theme.of(context).colorScheme.primary,
|
||||||
child: Row(
|
// padding: const EdgeInsets.symmetric(horizontal: 0, vertical: 4),
|
||||||
children: [
|
// child: Row(
|
||||||
const ABackButton(),
|
// children: [
|
||||||
Expanded(
|
// const ABackButton(),
|
||||||
child: Center(
|
// Expanded(
|
||||||
child: Text(
|
// child: Center(
|
||||||
"Work Order",
|
// child: Text(
|
||||||
// style: Theme.of(context).textTheme.headline6.copyWith(color: AColors.white, fontStyle: FontStyle.italic),
|
// "Work Order",
|
||||||
),
|
// // style: Theme.of(context).textTheme.headline6.copyWith(color: AColors.white, fontStyle: FontStyle.italic),
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
const SizedBox(width: 58),
|
// ),
|
||||||
],
|
// const SizedBox(width: 58),
|
||||||
),
|
// ],
|
||||||
),
|
// ),
|
||||||
WorkOrderDetails(
|
// ),
|
||||||
item: widget.item,
|
// WorkOrderDetails(
|
||||||
)
|
// item: widget.item,
|
||||||
],
|
// )
|
||||||
),
|
// ],
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
);
|
// ),
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,436 +1,437 @@
|
|||||||
import 'dart:io';
|
///todo deleted
|
||||||
|
// import 'dart:io';
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/services.dart';
|
|
||||||
import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
|
||||||
import 'package:provider/provider.dart';
|
|
||||||
import 'package:test_sa/controllers/notification/firebase_notification_manger.dart';
|
|
||||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
|
||||||
import 'package:test_sa/new_views/pages/new_gas_refill_request_page.dart';
|
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
|
||||||
import 'package:test_sa/views/pages/device_transfer/track_device_transfer.dart';
|
|
||||||
import 'package:test_sa/views/pages/user/gas_refill/track_gas_refill.dart';
|
|
||||||
import 'package:test_sa/views/pages/user/ppm/ppm_page.dart';
|
|
||||||
import 'package:test_sa/views/pages/user/requests/create_service_request_page.dart';
|
|
||||||
import 'package:test_sa/views/widgets/dialogs/dialog.dart';
|
|
||||||
|
|
||||||
import '../../../models/enums/user_types.dart';
|
|
||||||
import '../../widgets/land_page/land_page_item.dart';
|
|
||||||
import '../device_transfer/request_device_transfer.dart';
|
|
||||||
import 'requests/requests_page.dart';
|
|
||||||
|
|
||||||
@Deprecated("Use the page which is inside the [new_views/pages/land_page] folder")
|
|
||||||
class LandPage extends StatefulWidget {
|
|
||||||
static const String id = "/old-land-page";
|
|
||||||
|
|
||||||
const LandPage({Key key}) : super(key: key);
|
|
||||||
|
|
||||||
@override
|
|
||||||
State<LandPage> createState() => _LandPageState();
|
|
||||||
}
|
|
||||||
|
|
||||||
class _LandPageState extends State<LandPage> {
|
|
||||||
double _height;
|
|
||||||
double _width;
|
|
||||||
UserProvider _userProvider;
|
|
||||||
SettingProvider _settingProvider;
|
|
||||||
|
|
||||||
// DepartmentsProvider _departmentsProvider;
|
|
||||||
// DevicesProvider _devicesProvider;
|
|
||||||
double _buttonHeight;
|
|
||||||
bool firstTime = true;
|
|
||||||
|
|
||||||
// ServiceRequestsProvider _serviceRequestsProvider;
|
|
||||||
// PreventiveMaintenanceVisitsProvider _preventiveMaintenanceVisitsProvider;
|
|
||||||
// RegularVisitsProvider _regularVisitsProvider;
|
|
||||||
final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
|
|
||||||
|
|
||||||
@override
|
|
||||||
void initState() {
|
|
||||||
WidgetsBinding.instance.addPostFrameCallback((timeStamp) async {
|
|
||||||
try {
|
|
||||||
FirebaseNotificationManger.initialized(context);
|
|
||||||
} catch (error) {}
|
|
||||||
});
|
|
||||||
super.initState();
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
String path = ModalRoute.of(context).settings.arguments;
|
|
||||||
_height = MediaQuery.of(context).size.height;
|
|
||||||
_width = MediaQuery.of(context).size.width;
|
|
||||||
_settingProvider = Provider.of<SettingProvider>(context);
|
|
||||||
_userProvider = Provider.of<UserProvider>(context);
|
|
||||||
// _departmentsProvider = Provider.of<DepartmentsProvider>(context);
|
|
||||||
// _devicesProvider = Provider.of<DevicesProvider>(context);
|
|
||||||
// _serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context);
|
|
||||||
// _preventiveMaintenanceVisitsProvider = Provider.of<PreventiveMaintenanceVisitsProvider>(context);
|
|
||||||
// _regularVisitsProvider = Provider.of<RegularVisitsProvider>(context);
|
|
||||||
//
|
//
|
||||||
if (firstTime) {
|
// import 'package:flutter/material.dart';
|
||||||
if (path != null) {
|
// import 'package:flutter/services.dart';
|
||||||
Navigator.of(context).pushNamed("/" + path.split("/").first, arguments: path.split("/").last);
|
// import 'package:font_awesome_flutter/font_awesome_flutter.dart';
|
||||||
}
|
// import 'package:provider/provider.dart';
|
||||||
firstTime = false;
|
// import 'package:test_sa/controllers/notification/firebase_notification_manger.dart';
|
||||||
}
|
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||||
_buttonHeight = 68 * AppStyle.getScaleFactor(context);
|
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||||
return WillPopScope(
|
// import 'package:test_sa/extensions/context_extension.dart';
|
||||||
onWillPop: () async {
|
// import 'package:test_sa/new_views/pages/new_gas_refill_request_page.dart';
|
||||||
bool result = await showDialog(
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
context: context,
|
// import 'package:test_sa/views/pages/device_transfer/track_device_transfer.dart';
|
||||||
builder: (_) => AAlertDialog(
|
// import 'package:test_sa/views/pages/user/gas_refill/track_gas_refill.dart';
|
||||||
// title: _subtitle.exit,
|
// import 'package:test_sa/views/pages/user/ppm/ppm_page.dart';
|
||||||
title: context.translation.exit,
|
// import 'package:test_sa/views/pages/user/requests/create_service_request_page.dart';
|
||||||
// content: _subtitle.exitAlert,
|
// import 'package:test_sa/views/widgets/dialogs/dialog.dart';
|
||||||
content: context.translation.sureExit,
|
//
|
||||||
));
|
// import '../../../models/enums/user_types.dart';
|
||||||
if (result == true) {
|
// import '../../widgets/land_page/land_page_item.dart';
|
||||||
if (Platform.isAndroid) {
|
// import '../device_transfer/request_device_transfer.dart';
|
||||||
SystemChannels.platform.invokeMethod('SystemNavigator.pop');
|
// import 'requests/requests_page.dart';
|
||||||
} else {
|
//
|
||||||
exit(0);
|
// @Deprecated("Use the page which is inside the [new_views/pages/land_page] folder")
|
||||||
}
|
// class LandPage extends StatefulWidget {
|
||||||
}
|
// static const String id = "/old-land-page";
|
||||||
return false;
|
//
|
||||||
},
|
// const LandPage({Key key}) : super(key: key);
|
||||||
child: Scaffold(
|
//
|
||||||
key: _scaffoldKey, //backgroundColor: Color(0xffF8F8F8),
|
// @override
|
||||||
body: SafeArea(
|
// State<LandPage> createState() => _LandPageState();
|
||||||
child: Stack(
|
// }
|
||||||
children: [
|
//
|
||||||
ListView(
|
// class _LandPageState extends State<LandPage> {
|
||||||
padding: const EdgeInsets.all(16.0),
|
// double _height;
|
||||||
children: [
|
// double _width;
|
||||||
//AppNameBar(),
|
// UserProvider _userProvider;
|
||||||
// SizedBox(
|
// SettingProvider _settingProvider;
|
||||||
// height: _height/3.2,
|
//
|
||||||
// width: _width,
|
// // DepartmentsProvider _departmentsProvider;
|
||||||
// child: CarouselSlider.builder(
|
// // DevicesProvider _devicesProvider;
|
||||||
// options: CarouselOptions(
|
// double _buttonHeight;
|
||||||
// height: _height/3,
|
// bool firstTime = true;
|
||||||
// autoPlay: true,
|
//
|
||||||
// viewportFraction: 1
|
// // ServiceRequestsProvider _serviceRequestsProvider;
|
||||||
// ),
|
// // PreventiveMaintenanceVisitsProvider _preventiveMaintenanceVisitsProvider;
|
||||||
// itemCount: 4,
|
// // RegularVisitsProvider _regularVisitsProvider;
|
||||||
// itemBuilder: (BuildContext context, int itemIndex, int pageViewIndex) =>
|
// final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
|
||||||
// Image(
|
//
|
||||||
|
// @override
|
||||||
|
// void initState() {
|
||||||
|
// WidgetsBinding.instance.addPostFrameCallback((timeStamp) async {
|
||||||
|
// try {
|
||||||
|
// FirebaseNotificationManger.initialized(context);
|
||||||
|
// } catch (error) {}
|
||||||
|
// });
|
||||||
|
// super.initState();
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// @override
|
||||||
|
// Widget build(BuildContext context) {
|
||||||
|
// String path = ModalRoute.of(context).settings.arguments;
|
||||||
|
// _height = MediaQuery.of(context).size.height;
|
||||||
|
// _width = MediaQuery.of(context).size.width;
|
||||||
|
// _settingProvider = Provider.of<SettingProvider>(context);
|
||||||
|
// _userProvider = Provider.of<UserProvider>(context);
|
||||||
|
// // _departmentsProvider = Provider.of<DepartmentsProvider>(context);
|
||||||
|
// // _devicesProvider = Provider.of<DevicesProvider>(context);
|
||||||
|
// // _serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context);
|
||||||
|
// // _preventiveMaintenanceVisitsProvider = Provider.of<PreventiveMaintenanceVisitsProvider>(context);
|
||||||
|
// // _regularVisitsProvider = Provider.of<RegularVisitsProvider>(context);
|
||||||
|
// //
|
||||||
|
// if (firstTime) {
|
||||||
|
// if (path != null) {
|
||||||
|
// Navigator.of(context).pushNamed("/" + path.split("/").first, arguments: path.split("/").last);
|
||||||
|
// }
|
||||||
|
// firstTime = false;
|
||||||
|
// }
|
||||||
|
// _buttonHeight = 68 * AppStyle.getScaleFactor(context);
|
||||||
|
// return WillPopScope(
|
||||||
|
// onWillPop: () async {
|
||||||
|
// bool result = await showDialog(
|
||||||
|
// context: context,
|
||||||
|
// builder: (_) => AAlertDialog(
|
||||||
|
// // title: _subtitle.exit,
|
||||||
|
// title: context.translation.exit,
|
||||||
|
// // content: _subtitle.exitAlert,
|
||||||
|
// content: context.translation.sureExit,
|
||||||
|
// ));
|
||||||
|
// if (result == true) {
|
||||||
|
// if (Platform.isAndroid) {
|
||||||
|
// SystemChannels.platform.invokeMethod('SystemNavigator.pop');
|
||||||
|
// } else {
|
||||||
|
// exit(0);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// return false;
|
||||||
|
// },
|
||||||
|
// child: Scaffold(
|
||||||
|
// key: _scaffoldKey, //backgroundColor: Color(0xffF8F8F8),
|
||||||
|
// body: SafeArea(
|
||||||
|
// child: Stack(
|
||||||
|
// children: [
|
||||||
|
// ListView(
|
||||||
|
// padding: const EdgeInsets.all(16.0),
|
||||||
|
// children: [
|
||||||
|
// //AppNameBar(),
|
||||||
|
// // SizedBox(
|
||||||
|
// // height: _height/3.2,
|
||||||
// // width: _width,
|
// // width: _width,
|
||||||
// image: AssetImage("assets/images/$itemIndex.png"),
|
// // child: CarouselSlider.builder(
|
||||||
// fit: BoxFit.cover,
|
// // options: CarouselOptions(
|
||||||
// )
|
// // height: _height/3,
|
||||||
// ),
|
// // autoPlay: true,
|
||||||
// ),
|
// // viewportFraction: 1
|
||||||
// SizedBox(
|
// // ),
|
||||||
// height: 48 * AppStyle.getScaleFactor(context),
|
// // itemCount: 4,
|
||||||
// ),
|
// // itemBuilder: (BuildContext context, int itemIndex, int pageViewIndex) =>
|
||||||
// Hero(
|
// // Image(
|
||||||
// tag: "logo",
|
// // //width: _width,
|
||||||
// child: Image(
|
// // image: AssetImage("assets/images/$itemIndex.png"),
|
||||||
// height: _height / 6,
|
// // fit: BoxFit.cover,
|
||||||
// image: const AssetImage("assets/images/logo.png"),
|
// // )
|
||||||
// ),
|
// // ),
|
||||||
// ),
|
// // ),
|
||||||
GridView.count(
|
// // SizedBox(
|
||||||
shrinkWrap: true,
|
// // height: 48 * AppStyle.getScaleFactor(context),
|
||||||
physics: const ClampingScrollPhysics(),
|
// // ),
|
||||||
crossAxisCount: 2,
|
// // Hero(
|
||||||
crossAxisSpacing: 12,
|
// // tag: "logo",
|
||||||
mainAxisSpacing: 12,
|
// // child: Image(
|
||||||
childAspectRatio: 1,
|
// // height: _height / 6,
|
||||||
children: [
|
// // image: const AssetImage("assets/images/logo.png"),
|
||||||
if (_userProvider.user != null && _userProvider.user.type == UsersTypes.normal_user)
|
// // ),
|
||||||
LandPageItem(
|
// // ),
|
||||||
// text: _subtitle.newServiceRequest,
|
// GridView.count(
|
||||||
text: context.translation.newServiceRequest,
|
// shrinkWrap: true,
|
||||||
icon: FontAwesomeIcons.screwdriverWrench,
|
// physics: const ClampingScrollPhysics(),
|
||||||
onPressed: () {
|
// crossAxisCount: 2,
|
||||||
Navigator.of(context).pushNamed(CreateServiceRequestPage.id);
|
// crossAxisSpacing: 12,
|
||||||
},
|
// mainAxisSpacing: 12,
|
||||||
),
|
// childAspectRatio: 1,
|
||||||
LandPageItem(
|
// children: [
|
||||||
// text: _subtitle.trackServiceRequest,
|
// if (_userProvider.user != null && _userProvider.user.type == UsersTypes.normal_user)
|
||||||
text: context.translation.trackServiceRequest,
|
|
||||||
icon: FontAwesomeIcons.listCheck,
|
|
||||||
onPressed: () {
|
|
||||||
Navigator.of(context).pushNamed(ServiceRequestsPage.id);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
//if (_userProvider.user.type == UsersTypes.engineer)
|
|
||||||
LandPageItem(
|
|
||||||
// text: _subtitle.preventiveMaintenance,
|
|
||||||
text: context.translation.preventiveMaintenance,
|
|
||||||
icon: FontAwesomeIcons.personWalking,
|
|
||||||
onPressed: () {
|
|
||||||
Navigator.of(context).pushNamed(PpmPage.id);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
//if (_userProvider.user.type == UsersTypes.engineer)
|
|
||||||
// LandPageItem(
|
// LandPageItem(
|
||||||
// text: _subtitle.preventiveMaintenance,
|
// // text: _subtitle.newServiceRequest,
|
||||||
// icon: FontAwesomeIcons.toolbox,
|
// text: context.translation.newServiceRequest,
|
||||||
|
// icon: FontAwesomeIcons.screwdriverWrench,
|
||||||
// onPressed: () {
|
// onPressed: () {
|
||||||
// Navigator.of(context).pushNamed(PreventiveMaintenanceVisitsPage.id);
|
// Navigator.of(context).pushNamed(CreateServiceRequestPage.id);
|
||||||
// },
|
// },
|
||||||
// ),
|
// ),
|
||||||
if (_userProvider?.user != null && _userProvider?.user?.type != UsersTypes.engineer)
|
|
||||||
LandPageItem(
|
|
||||||
text: context.translation.requestGasRefill,
|
|
||||||
icon: FontAwesomeIcons.truckFast,
|
|
||||||
onPressed: () {
|
|
||||||
// Navigator.of(context).pushNamed(RequestGasRefill.id);
|
|
||||||
Navigator.of(context).pushNamed(NewGasRefillRequestPage.routeName);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
LandPageItem(
|
|
||||||
text: context.translation.trackGasRefill,
|
|
||||||
icon: Icons.content_paste_search,
|
|
||||||
onPressed: () {
|
|
||||||
Navigator.of(context).pushNamed(TrackGasRefillPage.id);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
LandPageItem(
|
|
||||||
text: context.translation.deviceTransfer,
|
|
||||||
icon: FontAwesomeIcons.rightLeft,
|
|
||||||
onPressed: () {
|
|
||||||
Navigator.of(context).pushNamed(RequestDeviceTransfer.id);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
LandPageItem(
|
|
||||||
text: context.translation.trackAssetTransfer,
|
|
||||||
icon: FontAwesomeIcons.peopleCarryBox,
|
|
||||||
onPressed: () {
|
|
||||||
Navigator.of(context).pushNamed(TrackDeviceTransferPage.id);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
// if (_userProvider?.user != null && _userProvider?.user?.type != UsersTypes.normal_user)
|
|
||||||
// LandPageItem(
|
// LandPageItem(
|
||||||
// text: "Create Sub Work Order",
|
// // text: _subtitle.trackServiceRequest,
|
||||||
// svgPath: "assets/images/sub_workorder_icon.svg",
|
// text: context.translation.trackServiceRequest,
|
||||||
|
// icon: FontAwesomeIcons.listCheck,
|
||||||
// onPressed: () {
|
// onPressed: () {
|
||||||
// Navigator.of(context).pushNamed(SearchSubWorkOrderPage.id);
|
// Navigator.of(context).pushNamed(ServiceRequestsPage.id);
|
||||||
// },
|
// },
|
||||||
// ),
|
// ),
|
||||||
],
|
// //if (_userProvider.user.type == UsersTypes.engineer)
|
||||||
),
|
// LandPageItem(
|
||||||
],
|
// // text: _subtitle.preventiveMaintenance,
|
||||||
),
|
// text: context.translation.preventiveMaintenance,
|
||||||
// Align(
|
// icon: FontAwesomeIcons.personWalking,
|
||||||
// alignment: Alignment.topLeft,
|
// onPressed: () {
|
||||||
// child: ABackButton(
|
// Navigator.of(context).pushNamed(PpmPage.id);
|
||||||
// icon: Icons.power_settings_new_rounded,
|
|
||||||
// onPressed: () async {
|
|
||||||
// bool result = await showDialog(
|
|
||||||
// context: context,
|
|
||||||
// builder: (_) => const AAlertDialog(
|
|
||||||
// // title: _subtitle.signOut,
|
|
||||||
// title: "Sign Out",
|
|
||||||
// // content: _subtitle.signOutAlert,
|
|
||||||
// content: "Are you sure you want to exit?",
|
|
||||||
// ));
|
|
||||||
// if (result) {
|
|
||||||
// // _devicesProvider.reset();
|
|
||||||
// // _departmentsProvider.reset();
|
|
||||||
// // _serviceRequestsProvider.reset();
|
|
||||||
// // _regularVisitsProvider.reset();
|
|
||||||
// // _preventiveMaintenanceVisitsProvider.reset();
|
|
||||||
// _settingProvider.resetSettings();
|
|
||||||
// _userProvider.reset();
|
|
||||||
// Navigator.of(context).pop();
|
|
||||||
// }
|
|
||||||
// },
|
// },
|
||||||
// ),
|
// ),
|
||||||
// ),
|
// //if (_userProvider.user.type == UsersTypes.engineer)
|
||||||
// Align(
|
// // LandPageItem(
|
||||||
// alignment: Alignment.topRight,
|
// // text: _subtitle.preventiveMaintenance,
|
||||||
// child: Padding(
|
// // icon: FontAwesomeIcons.toolbox,
|
||||||
// padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4),
|
// // onPressed: (){
|
||||||
// child: AIconButton(
|
// // Navigator.of(context).pushNamed(PreventiveMaintenanceVisitsPage.id);
|
||||||
// iconData: Icons.menu,
|
// // },
|
||||||
// color: AColors.primaryColor,
|
// // ),
|
||||||
// buttonSize: 42,
|
// if (_userProvider?.user != null && _userProvider?.user?.type != UsersTypes.engineer)
|
||||||
// backgroundColor: AColors.white,
|
// LandPageItem(
|
||||||
|
// text: context.translation.requestGasRefill,
|
||||||
|
// icon: FontAwesomeIcons.truckFast,
|
||||||
// onPressed: () {
|
// onPressed: () {
|
||||||
// _scaffoldKey.currentState.openEndDrawer();
|
// // Navigator.of(context).pushNamed(RequestGasRefill.id);
|
||||||
|
// Navigator.of(context).pushNamed(NewGasRefillRequestPage.routeName);
|
||||||
// },
|
// },
|
||||||
// ),
|
// ),
|
||||||
|
// LandPageItem(
|
||||||
|
// text: context.translation.trackGasRefill,
|
||||||
|
// icon: Icons.content_paste_search,
|
||||||
|
// onPressed: () {
|
||||||
|
// Navigator.of(context).pushNamed(TrackGasRefillPage.id);
|
||||||
|
// },
|
||||||
// ),
|
// ),
|
||||||
|
// LandPageItem(
|
||||||
|
// text: context.translation.deviceTransfer,
|
||||||
|
// icon: FontAwesomeIcons.rightLeft,
|
||||||
|
// onPressed: () {
|
||||||
|
// Navigator.of(context).pushNamed(RequestDeviceTransfer.id);
|
||||||
|
// },
|
||||||
// ),
|
// ),
|
||||||
],
|
// LandPageItem(
|
||||||
),
|
// text: context.translation.trackAssetTransfer,
|
||||||
),
|
// icon: FontAwesomeIcons.peopleCarryBox,
|
||||||
// endDrawer: Drawer(
|
// onPressed: () {
|
||||||
// backgroundColor: Colors.white,
|
// Navigator.of(context).pushNamed(TrackDeviceTransferPage.id);
|
||||||
// child: Column(
|
// },
|
||||||
// children: [
|
|
||||||
// 40.height,
|
|
||||||
// Row(
|
|
||||||
// mainAxisAlignment: MainAxisAlignment.end,
|
|
||||||
// children: [
|
|
||||||
// const Icon(Icons.clear).onPress(() => Navigator.pop(context)),
|
|
||||||
// ],
|
|
||||||
// ).paddingOnly(start: 4, end: 14),
|
|
||||||
// Row(
|
|
||||||
// children: [
|
|
||||||
// Container(
|
|
||||||
// height: 50 * AppStyle.getScaleFactor(context),
|
|
||||||
// width: 50 * AppStyle.getScaleFactor(context),
|
|
||||||
// padding: EdgeInsets.all(4),
|
|
||||||
// decoration: BoxDecoration(border: Border.all(color: Theme.of(context).primaryColor, width: 2), shape: BoxShape.circle),
|
|
||||||
// child: ClipOval(
|
|
||||||
// child: ClipOval(
|
|
||||||
// child: Icon(
|
|
||||||
// Icons.person,
|
|
||||||
// size: 36,
|
|
||||||
// color: Theme.of(context).colorScheme.primary,
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// 12.width,
|
|
||||||
// Text(
|
|
||||||
// _userProvider.user?.userName ?? "??",
|
|
||||||
// style: Theme.of(context).textTheme.headline6.copyWith(
|
|
||||||
// fontWeight: FontWeight.w600,
|
|
||||||
// ),
|
|
||||||
// textScaleFactor: AppStyle.getScaleFactor(context),
|
|
||||||
// ).expanded
|
|
||||||
// ],
|
|
||||||
// ).paddingOnly(start: 14, end: 14, top: 21, bottom: 21),
|
|
||||||
// Divider(
|
|
||||||
// height: 1,
|
|
||||||
// thickness: 1,
|
|
||||||
// color: AColors.greyEF,
|
|
||||||
// ),
|
|
||||||
// ListView(
|
|
||||||
// children: [
|
|
||||||
// Row(
|
|
||||||
// children: [
|
|
||||||
// Radio(
|
|
||||||
// value: "en",
|
|
||||||
// activeColor: AColors.grey3A,
|
|
||||||
// focusColor: AColors.grey3A,
|
|
||||||
// groupValue: _settingProvider.language,
|
|
||||||
// onChanged: (value) {
|
|
||||||
// _settingProvider.setLanguage(value);
|
|
||||||
// }),
|
|
||||||
// Text(
|
|
||||||
// "English",
|
|
||||||
// style: Theme.of(context).textTheme.bodyText1.copyWith(color: AColors.grey3A),
|
|
||||||
// textScaleFactor: AppStyle.getScaleFactor(context),
|
|
||||||
// ),
|
|
||||||
// Radio(
|
|
||||||
// value: "ar",
|
|
||||||
// activeColor: AColors.grey3A,
|
|
||||||
// focusColor: AColors.grey3A,
|
|
||||||
// groupValue: _settingProvider.language,
|
|
||||||
// onChanged: (value) {
|
|
||||||
// _settingProvider.setLanguage(value);
|
|
||||||
// }),
|
|
||||||
// Text(
|
|
||||||
// "عربي",
|
|
||||||
// style: Theme.of(context).textTheme.bodyText1.copyWith(color: AColors.grey3A),
|
|
||||||
// textScaleFactor: AppStyle.getScaleFactor(context),
|
|
||||||
// ),
|
// ),
|
||||||
|
// // if (_userProvider?.user != null && _userProvider?.user?.type != UsersTypes.normal_user)
|
||||||
|
// // LandPageItem(
|
||||||
|
// // text: "Create Sub Work Order",
|
||||||
|
// // svgPath: "assets/images/sub_workorder_icon.svg",
|
||||||
|
// // onPressed: () {
|
||||||
|
// // Navigator.of(context).pushNamed(SearchSubWorkOrderPage.id);
|
||||||
|
// // },
|
||||||
|
// // ),
|
||||||
// ],
|
// ],
|
||||||
// ),
|
// ),
|
||||||
// Row(
|
|
||||||
// children: [
|
|
||||||
// Radio(
|
|
||||||
// value: true,
|
|
||||||
// activeColor: AColors.grey3A,
|
|
||||||
// focusColor: AColors.grey3A,
|
|
||||||
// groupValue: _settingProvider.language,
|
|
||||||
// onChanged: (value) {
|
|
||||||
// _settingProvider.setDarkTheme(value);
|
|
||||||
// }),
|
|
||||||
// Text(
|
|
||||||
// "Dark",
|
|
||||||
// style: Theme.of(context).textTheme.bodyText1.copyWith(color: AColors.grey3A),
|
|
||||||
// textScaleFactor: AppStyle.getScaleFactor(context),
|
|
||||||
// ),
|
|
||||||
// Radio(
|
|
||||||
// value: false,
|
|
||||||
// activeColor: AColors.grey3A,
|
|
||||||
// focusColor: AColors.grey3A,
|
|
||||||
// groupValue: _settingProvider.language,
|
|
||||||
// onChanged: (value) {
|
|
||||||
// _settingProvider.setDarkTheme(value);
|
|
||||||
// }),
|
|
||||||
// Text(
|
|
||||||
// "Light",
|
|
||||||
// style: Theme.of(context).textTheme.bodyText1.copyWith(color: AColors.grey3A),
|
|
||||||
// textScaleFactor: AppStyle.getScaleFactor(context),
|
|
||||||
// ),
|
|
||||||
// ],
|
// ],
|
||||||
// ),
|
// ),
|
||||||
// // DrawerItem(
|
// // Align(
|
||||||
// // icon: Icons.notifications,
|
// // alignment: Alignment.topLeft,
|
||||||
// // title: _subtitle.notifications,
|
// // child: ABackButton(
|
||||||
// // onPressed: () {
|
// // icon: Icons.power_settings_new_rounded,
|
||||||
// // Navigator.of(context).pushNamed(NotificationsPage.id);
|
// // onPressed: () async {
|
||||||
|
// // bool result = await showDialog(
|
||||||
|
// // context: context,
|
||||||
|
// // builder: (_) => const AAlertDialog(
|
||||||
|
// // // title: _subtitle.signOut,
|
||||||
|
// // title: "Sign Out",
|
||||||
|
// // // content: _subtitle.signOutAlert,
|
||||||
|
// // content: "Are you sure you want to exit?",
|
||||||
|
// // ));
|
||||||
|
// // if (result) {
|
||||||
|
// // // _devicesProvider.reset();
|
||||||
|
// // // _departmentsProvider.reset();
|
||||||
|
// // // _serviceRequestsProvider.reset();
|
||||||
|
// // // _regularVisitsProvider.reset();
|
||||||
|
// // // _preventiveMaintenanceVisitsProvider.reset();
|
||||||
|
// // _settingProvider.resetSettings();
|
||||||
|
// // _userProvider.reset();
|
||||||
|
// // Navigator.of(context).pop();
|
||||||
|
// // }
|
||||||
// // },
|
// // },
|
||||||
// // ),
|
// // ),
|
||||||
// DrawerItem(
|
// // ),
|
||||||
// icon: Icons.mail,
|
// // Align(
|
||||||
// // title: _subtitle.email,
|
// // alignment: Alignment.topRight,
|
||||||
// title: "Email",
|
// // child: Padding(
|
||||||
// onPressed: () {
|
// // padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 4),
|
||||||
// launch("mailto:customerservice@Test SA.com");
|
// // child: AIconButton(
|
||||||
// },
|
// // iconData: Icons.menu,
|
||||||
// ),
|
// // color: AColors.primaryColor,
|
||||||
// // DrawerItem(
|
// // buttonSize: 42,
|
||||||
// // icon: Icons.phone_in_talk,
|
// // backgroundColor: AColors.white,
|
||||||
// // title: "${_subtitle.hotLine} 15564",
|
|
||||||
// // onPressed: () {
|
// // onPressed: () {
|
||||||
// // launch("tel:15564");
|
// // _scaffoldKey.currentState.openEndDrawer();
|
||||||
// // },
|
// // },
|
||||||
// // ),
|
// // ),
|
||||||
|
// // ),
|
||||||
|
// // ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// // endDrawer: Drawer(
|
||||||
|
// // backgroundColor: Colors.white,
|
||||||
|
// // child: Column(
|
||||||
|
// // children: [
|
||||||
|
// // 40.height,
|
||||||
|
// // Row(
|
||||||
|
// // mainAxisAlignment: MainAxisAlignment.end,
|
||||||
|
// // children: [
|
||||||
|
// // const Icon(Icons.clear).onPress(() => Navigator.pop(context)),
|
||||||
|
// // ],
|
||||||
|
// // ).paddingOnly(start: 4, end: 14),
|
||||||
|
// // Row(
|
||||||
|
// // children: [
|
||||||
|
// // Container(
|
||||||
|
// // height: 50 * AppStyle.getScaleFactor(context),
|
||||||
|
// // width: 50 * AppStyle.getScaleFactor(context),
|
||||||
|
// // padding: EdgeInsets.all(4),
|
||||||
|
// // decoration: BoxDecoration(border: Border.all(color: Theme.of(context).primaryColor, width: 2), shape: BoxShape.circle),
|
||||||
|
// // child: ClipOval(
|
||||||
|
// // child: ClipOval(
|
||||||
|
// // child: Icon(
|
||||||
|
// // Icons.person,
|
||||||
|
// // size: 36,
|
||||||
|
// // color: Theme.of(context).colorScheme.primary,
|
||||||
|
// // ),
|
||||||
|
// // ),
|
||||||
|
// // ),
|
||||||
|
// // ),
|
||||||
|
// // 12.width,
|
||||||
|
// // Text(
|
||||||
|
// // _userProvider.user?.userName ?? "??",
|
||||||
|
// // style: Theme.of(context).textTheme.headline6.copyWith(
|
||||||
|
// // fontWeight: FontWeight.w600,
|
||||||
|
// // ),
|
||||||
|
// // textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
|
// // ).expanded
|
||||||
|
// // ],
|
||||||
|
// // ).paddingOnly(start: 14, end: 14, top: 21, bottom: 21),
|
||||||
|
// // Divider(
|
||||||
|
// // height: 1,
|
||||||
|
// // thickness: 1,
|
||||||
|
// // color: AColors.greyEF,
|
||||||
|
// // ),
|
||||||
|
// // ListView(
|
||||||
|
// // children: [
|
||||||
|
// // Row(
|
||||||
|
// // children: [
|
||||||
|
// // Radio(
|
||||||
|
// // value: "en",
|
||||||
|
// // activeColor: AColors.grey3A,
|
||||||
|
// // focusColor: AColors.grey3A,
|
||||||
|
// // groupValue: _settingProvider.language,
|
||||||
|
// // onChanged: (value) {
|
||||||
|
// // _settingProvider.setLanguage(value);
|
||||||
|
// // }),
|
||||||
|
// // Text(
|
||||||
|
// // "English",
|
||||||
|
// // style: Theme.of(context).textTheme.bodyText1.copyWith(color: AColors.grey3A),
|
||||||
|
// // textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
|
// // ),
|
||||||
|
// // Radio(
|
||||||
|
// // value: "ar",
|
||||||
|
// // activeColor: AColors.grey3A,
|
||||||
|
// // focusColor: AColors.grey3A,
|
||||||
|
// // groupValue: _settingProvider.language,
|
||||||
|
// // onChanged: (value) {
|
||||||
|
// // _settingProvider.setLanguage(value);
|
||||||
|
// // }),
|
||||||
|
// // Text(
|
||||||
|
// // "عربي",
|
||||||
|
// // style: Theme.of(context).textTheme.bodyText1.copyWith(color: AColors.grey3A),
|
||||||
|
// // textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
|
// // ),
|
||||||
|
// // ],
|
||||||
|
// // ),
|
||||||
|
// // Row(
|
||||||
|
// // children: [
|
||||||
|
// // Radio(
|
||||||
|
// // value: true,
|
||||||
|
// // activeColor: AColors.grey3A,
|
||||||
|
// // focusColor: AColors.grey3A,
|
||||||
|
// // groupValue: _settingProvider.language,
|
||||||
|
// // onChanged: (value) {
|
||||||
|
// // _settingProvider.setDarkTheme(value);
|
||||||
|
// // }),
|
||||||
|
// // Text(
|
||||||
|
// // "Dark",
|
||||||
|
// // style: Theme.of(context).textTheme.bodyText1.copyWith(color: AColors.grey3A),
|
||||||
|
// // textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
|
// // ),
|
||||||
|
// // Radio(
|
||||||
|
// // value: false,
|
||||||
|
// // activeColor: AColors.grey3A,
|
||||||
|
// // focusColor: AColors.grey3A,
|
||||||
|
// // groupValue: _settingProvider.language,
|
||||||
|
// // onChanged: (value) {
|
||||||
|
// // _settingProvider.setDarkTheme(value);
|
||||||
|
// // }),
|
||||||
|
// // Text(
|
||||||
|
// // "Light",
|
||||||
|
// // style: Theme.of(context).textTheme.bodyText1.copyWith(color: AColors.grey3A),
|
||||||
|
// // textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
|
// // ),
|
||||||
|
// // ],
|
||||||
|
// // ),
|
||||||
|
// // // DrawerItem(
|
||||||
|
// // // icon: Icons.notifications,
|
||||||
|
// // // title: _subtitle.notifications,
|
||||||
|
// // // onPressed: () {
|
||||||
|
// // // Navigator.of(context).pushNamed(NotificationsPage.id);
|
||||||
|
// // // },
|
||||||
|
// // // ),
|
||||||
// // DrawerItem(
|
// // DrawerItem(
|
||||||
// // icon: FontAwesomeIcons.linkedinIn,
|
// // icon: Icons.mail,
|
||||||
// // title: _subtitle.linkedIn,
|
// // // title: _subtitle.email,
|
||||||
|
// // title: "Email",
|
||||||
// // onPressed: () {
|
// // onPressed: () {
|
||||||
// // launch("https://www.linkedin.com/company/Test SA/");
|
// // launch("mailto:customerservice@Test SA.com");
|
||||||
// // },
|
// // },
|
||||||
// // ),
|
// // ),
|
||||||
|
// // // DrawerItem(
|
||||||
|
// // // icon: Icons.phone_in_talk,
|
||||||
|
// // // title: "${_subtitle.hotLine} 15564",
|
||||||
|
// // // onPressed: () {
|
||||||
|
// // // launch("tel:15564");
|
||||||
|
// // // },
|
||||||
|
// // // ),
|
||||||
|
// // // DrawerItem(
|
||||||
|
// // // icon: FontAwesomeIcons.linkedinIn,
|
||||||
|
// // // title: _subtitle.linkedIn,
|
||||||
|
// // // onPressed: () {
|
||||||
|
// // // launch("https://www.linkedin.com/company/Test SA/");
|
||||||
|
// // // },
|
||||||
|
// // // ),
|
||||||
|
// // // DrawerItem(
|
||||||
|
// // // icon: FontAwesomeIcons.globe,
|
||||||
|
// // // title: _subtitle.ourWebsite,
|
||||||
|
// // // onPressed: () {
|
||||||
|
// // // launch("https://www.Test SA.com/");
|
||||||
|
// // // },
|
||||||
|
// // // ),
|
||||||
// // DrawerItem(
|
// // DrawerItem(
|
||||||
// // icon: FontAwesomeIcons.globe,
|
// // icon: Icons.share,
|
||||||
// // title: _subtitle.ourWebsite,
|
// // // title: _subtitle.shareApp,
|
||||||
// // onPressed: () {
|
// // title: "Share App",
|
||||||
// // launch("https://www.Test SA.com/");
|
// // onPressed: () async {
|
||||||
|
// // PackageInfo packageInfo = await PackageInfo.fromPlatform();
|
||||||
|
// // String shareLink = "\n https://play.google.com/store/apps/details?id=" + packageInfo.packageName + "\n https://apps.apple.com/us/app/";
|
||||||
|
// // Share.share(shareLink);
|
||||||
// // },
|
// // },
|
||||||
// // ),
|
// // ),
|
||||||
// DrawerItem(
|
// // ],
|
||||||
// icon: Icons.share,
|
// // ).expanded,
|
||||||
// // title: _subtitle.shareApp,
|
// // Divider(height: 1, thickness: 1, color: AColors.greyEF),
|
||||||
// title: "Share App",
|
// // Row(
|
||||||
// onPressed: () async {
|
// // mainAxisAlignment: MainAxisAlignment.center,
|
||||||
// PackageInfo packageInfo = await PackageInfo.fromPlatform();
|
// // children: [
|
||||||
// String shareLink = "\n https://play.google.com/store/apps/details?id=" + packageInfo.packageName + "\n https://apps.apple.com/us/app/";
|
// // Text(
|
||||||
// Share.share(shareLink);
|
// // "Powered By Cloud Solutions",
|
||||||
// },
|
// // style: Theme.of(context).textTheme.headline6.copyWith(fontWeight: FontWeight.w500, color: AColors.grey3A, fontSize: 12),
|
||||||
// ),
|
// // textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
// ],
|
// // ),
|
||||||
// ).expanded,
|
// // 6.width,
|
||||||
// Divider(height: 1, thickness: 1, color: AColors.greyEF),
|
// // Image.asset("assets/images/cloud_logo.png", width: 32, height: 32)
|
||||||
// Row(
|
// // ],
|
||||||
// mainAxisAlignment: MainAxisAlignment.center,
|
// // ).paddingOnly(start: 20, end: 20, top: 8, bottom: 8),
|
||||||
// children: [
|
// // ],
|
||||||
// Text(
|
// // ),
|
||||||
// "Powered By Cloud Solutions",
|
// // ),
|
||||||
// style: Theme.of(context).textTheme.headline6.copyWith(fontWeight: FontWeight.w500, color: AColors.grey3A, fontSize: 12),
|
|
||||||
// textScaleFactor: AppStyle.getScaleFactor(context),
|
|
||||||
// ),
|
|
||||||
// 6.width,
|
|
||||||
// Image.asset("assets/images/cloud_logo.png", width: 32, height: 32)
|
|
||||||
// ],
|
|
||||||
// ).paddingOnly(start: 20, end: 20, top: 8, bottom: 8),
|
|
||||||
// ],
|
|
||||||
// ),
|
|
||||||
// ),
|
// ),
|
||||||
),
|
// );
|
||||||
);
|
// }
|
||||||
}
|
// }
|
||||||
}
|
|
||||||
|
|||||||
@ -1,19 +1,20 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:flutter/material.dart';
|
||||||
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
class AppNameBar extends StatelessWidget {
|
//
|
||||||
@override
|
// class AppNameBar extends StatelessWidget {
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return Container(
|
// Widget build(BuildContext context) {
|
||||||
height: 50 * AppStyle.getScaleFactor(context),
|
// return Container(
|
||||||
// color: AColors.primaryColor,
|
// height: 50 * AppStyle.getScaleFactor(context),
|
||||||
padding: const EdgeInsets.all(8.0),
|
// // color: AColors.primaryColor,
|
||||||
child: Center(
|
// padding: const EdgeInsets.all(8.0),
|
||||||
child: Text(
|
// child: Center(
|
||||||
"Test SA",
|
// child: Text(
|
||||||
style: Theme.of(context).textTheme.headline6.copyWith(/*color: AColors.white,*/ fontStyle: FontStyle.italic),
|
// "Test SA",
|
||||||
),
|
// style: Theme.of(context).textTheme.headline6.copyWith(/*color: AColors.white,*/ fontStyle: FontStyle.italic),
|
||||||
),
|
// ),
|
||||||
);
|
// ),
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,27 +1,28 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:flutter/material.dart';
|
||||||
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
class AFlatButton extends StatelessWidget {
|
//
|
||||||
final String text;
|
// class AFlatButton extends StatelessWidget {
|
||||||
final Color textColor;
|
// final String text;
|
||||||
final TextStyle style;
|
// final Color textColor;
|
||||||
final EdgeInsets padding;
|
// final TextStyle style;
|
||||||
final VoidCallback onPressed;
|
// final EdgeInsets padding;
|
||||||
|
// final VoidCallback onPressed;
|
||||||
const AFlatButton({Key key, this.text, this.textColor, this.style, this.onPressed, this.padding}) : super(key: key);
|
//
|
||||||
|
// const AFlatButton({Key key, this.text, this.textColor, this.style, this.onPressed, this.padding}) : super(key: key);
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return TextButton(
|
// Widget build(BuildContext context) {
|
||||||
style: TextButton.styleFrom(
|
// return TextButton(
|
||||||
foregroundColor: this.textColor ?? Colors.black,
|
// style: TextButton.styleFrom(
|
||||||
padding: padding,
|
// foregroundColor: this.textColor ?? Colors.black,
|
||||||
),
|
// padding: padding,
|
||||||
onPressed: onPressed,
|
// ),
|
||||||
child: Text(
|
// onPressed: onPressed,
|
||||||
text ?? "",
|
// child: Text(
|
||||||
style: style ?? Theme.of(context).textTheme.bodyText1,
|
// text ?? "",
|
||||||
textScaleFactor: AppStyle.getScaleFactor(context),
|
// style: style ?? Theme.of(context).textTheme.bodyText1,
|
||||||
));
|
// textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
}
|
// ));
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,35 +1,36 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:flutter/material.dart';
|
||||||
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
class AOutLinedButton extends StatelessWidget {
|
//
|
||||||
final String text;
|
// class AOutLinedButton extends StatelessWidget {
|
||||||
final Color color;
|
// final String text;
|
||||||
final EdgeInsets padding;
|
// final Color color;
|
||||||
final TextStyle textStyle;
|
// final EdgeInsets padding;
|
||||||
final VoidCallback onPressed;
|
// final TextStyle textStyle;
|
||||||
|
// final VoidCallback onPressed;
|
||||||
const AOutLinedButton({Key key, this.color/*= AColors.primaryColor*/, this.text, this.padding, this.onPressed, this.textStyle}) : super(key: key);
|
//
|
||||||
|
// const AOutLinedButton({Key key, this.color/*= AColors.primaryColor*/, this.text, this.padding, this.onPressed, this.textStyle}) : super(key: key);
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return OutlinedButton(
|
// Widget build(BuildContext context) {
|
||||||
style: ElevatedButton.styleFrom(
|
// return OutlinedButton(
|
||||||
padding: padding ?? EdgeInsets.symmetric(vertical: 12),
|
// style: ElevatedButton.styleFrom(
|
||||||
textStyle: textStyle ?? Theme.of(context).textTheme.subtitle2.copyWith(fontSize: 18),
|
// padding: padding ?? EdgeInsets.symmetric(vertical: 12),
|
||||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(AppStyle.getBorderRadius(context))),
|
// textStyle: textStyle ?? Theme.of(context).textTheme.subtitle2.copyWith(fontSize: 18),
|
||||||
),
|
// shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(AppStyle.getBorderRadius(context))),
|
||||||
onPressed: onPressed,
|
// ),
|
||||||
child: Row(
|
// onPressed: onPressed,
|
||||||
children: [
|
// child: Row(
|
||||||
Expanded(
|
// children: [
|
||||||
child: Text(
|
// Expanded(
|
||||||
text ?? "",
|
// child: Text(
|
||||||
// style: Theme.of(context).textTheme.subtitle2.copyWith(color: AColors.primaryColor, fontSize: 14, fontWeight: FontWeight.w600),
|
// text ?? "",
|
||||||
textAlign: TextAlign.center,
|
// // style: Theme.of(context).textTheme.subtitle2.copyWith(color: AColors.primaryColor, fontSize: 14, fontWeight: FontWeight.w600),
|
||||||
textScaleFactor: AppStyle.getScaleFactor(context),
|
// textAlign: TextAlign.center,
|
||||||
),
|
// textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
),
|
// ),
|
||||||
],
|
// ),
|
||||||
));
|
// ],
|
||||||
}
|
// ));
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,28 +1,29 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:flutter/material.dart';
|
||||||
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
class ASmallButton extends StatelessWidget {
|
//
|
||||||
final String text;
|
// class ASmallButton extends StatelessWidget {
|
||||||
final TextStyle style;
|
// final String text;
|
||||||
final Color color;
|
// final TextStyle style;
|
||||||
final EdgeInsets padding;
|
// final Color color;
|
||||||
final VoidCallback onPressed;
|
// final EdgeInsets padding;
|
||||||
|
// final VoidCallback onPressed;
|
||||||
const ASmallButton({Key key, this.text, this.style, this.onPressed, this.padding, this.color}) : super(key: key);
|
//
|
||||||
|
// const ASmallButton({Key key, this.text, this.style, this.onPressed, this.padding, this.color}) : super(key: key);
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return ElevatedButton(
|
// Widget build(BuildContext context) {
|
||||||
style: ElevatedButton.styleFrom(
|
// return ElevatedButton(
|
||||||
padding: padding,
|
// style: ElevatedButton.styleFrom(
|
||||||
primary: color ?? Theme.of(context).primaryColor,
|
// padding: padding,
|
||||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)),
|
// primary: color ?? Theme.of(context).primaryColor,
|
||||||
),
|
// shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)),
|
||||||
child: Text(
|
// ),
|
||||||
text ?? "",
|
// child: Text(
|
||||||
style: style ?? Theme.of(context).textTheme.bodyText1.copyWith(color: color == Colors.white ? Theme.of(context).primaryColor : Colors.white),
|
// text ?? "",
|
||||||
textScaleFactor: AppStyle.getScaleFactor(context),
|
// style: style ?? Theme.of(context).textTheme.bodyText1.copyWith(color: color == Colors.white ? Theme.of(context).primaryColor : Colors.white),
|
||||||
),
|
// textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
onPressed: onPressed);
|
// ),
|
||||||
}
|
// onPressed: onPressed);
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,23 +1,24 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
|
// import 'package:flutter/material.dart';
|
||||||
class CarveInImage extends CustomClipper<Path> {
|
//
|
||||||
final double gab;
|
// class CarveInImage extends CustomClipper<Path> {
|
||||||
var radius = 10.0;
|
// final double gab;
|
||||||
|
// var radius = 10.0;
|
||||||
CarveInImage(this.gab);
|
//
|
||||||
|
// CarveInImage(this.gab);
|
||||||
@override
|
//
|
||||||
Path getClip(Size size) {
|
// @override
|
||||||
Path path = Path();
|
// Path getClip(Size size) {
|
||||||
path.lineTo(0, size.height);
|
// Path path = Path();
|
||||||
path.lineTo(size.width / 2 - gab / 2, size.height);
|
// path.lineTo(0, size.height);
|
||||||
path.arcToPoint(Offset(size.width / 2 + gab / 2, size.height), radius: Radius.circular(gab / 2));
|
// path.lineTo(size.width / 2 - gab / 2, size.height);
|
||||||
path.lineTo(size.width, size.height);
|
// path.arcToPoint(Offset(size.width / 2 + gab / 2, size.height), radius: Radius.circular(gab / 2));
|
||||||
path.lineTo(size.width, 0);
|
// path.lineTo(size.width, size.height);
|
||||||
path.lineTo(0, 0);
|
// path.lineTo(size.width, 0);
|
||||||
return path;
|
// path.lineTo(0, 0);
|
||||||
}
|
// return path;
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
bool shouldReclip(CustomClipper<Path> oldClipper) => true;
|
// @override
|
||||||
}
|
// bool shouldReclip(CustomClipper<Path> oldClipper) => true;
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,79 +1,80 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:test_sa/extensions/context_extension.dart';
|
||||||
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
import 'date_picker.dart';
|
//
|
||||||
|
// import 'date_picker.dart';
|
||||||
class FromToDateBar extends StatefulWidget {
|
//
|
||||||
final DateTime from;
|
// class FromToDateBar extends StatefulWidget {
|
||||||
final DateTime to;
|
// final DateTime from;
|
||||||
final Function(DateTime) onPickFrom;
|
// final DateTime to;
|
||||||
final Function(DateTime) onPickTo;
|
// final Function(DateTime) onPickFrom;
|
||||||
|
// final Function(DateTime) onPickTo;
|
||||||
const FromToDateBar({Key key, this.from, this.to, this.onPickFrom, this.onPickTo}) : super(key: key);
|
//
|
||||||
|
// const FromToDateBar({Key key, this.from, this.to, this.onPickFrom, this.onPickTo}) : super(key: key);
|
||||||
@override
|
//
|
||||||
_FromToDateBarState createState() => _FromToDateBarState();
|
// @override
|
||||||
}
|
// _FromToDateBarState createState() => _FromToDateBarState();
|
||||||
|
// }
|
||||||
class _FromToDateBarState extends State<FromToDateBar> {
|
//
|
||||||
DateTime _from;
|
// class _FromToDateBarState extends State<FromToDateBar> {
|
||||||
DateTime _to;
|
// DateTime _from;
|
||||||
|
// DateTime _to;
|
||||||
@override
|
//
|
||||||
void initState() {
|
// @override
|
||||||
_from = widget.from;
|
// void initState() {
|
||||||
_to = widget.to;
|
// _from = widget.from;
|
||||||
super.initState();
|
// _to = widget.to;
|
||||||
}
|
// super.initState();
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return Row(
|
// Widget build(BuildContext context) {
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
// return Row(
|
||||||
children: [
|
// mainAxisAlignment: MainAxisAlignment.spaceEvenly,
|
||||||
Column(
|
// children: [
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
// Column(
|
||||||
children: [
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
Text(
|
// children: [
|
||||||
context.translation.from,
|
// Text(
|
||||||
style: Theme.of(context).textTheme.bodyText1.copyWith(fontSize: 12, fontWeight: FontWeight.normal),
|
// context.translation.from,
|
||||||
textScaleFactor: AppStyle.getScaleFactor(context),
|
// style: Theme.of(context).textTheme.bodyText1.copyWith(fontSize: 12, fontWeight: FontWeight.normal),
|
||||||
),
|
// textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
ADatePicker(
|
// ),
|
||||||
date: _from,
|
// ADatePicker(
|
||||||
from: DateTime(1950),
|
// date: _from,
|
||||||
onDatePicker: (date) {
|
// from: DateTime(1950),
|
||||||
_from = date;
|
// onDatePicker: (date) {
|
||||||
setState(() {});
|
// _from = date;
|
||||||
widget.onPickFrom(date);
|
// setState(() {});
|
||||||
},
|
// widget.onPickFrom(date);
|
||||||
),
|
// },
|
||||||
],
|
// ),
|
||||||
),
|
// ],
|
||||||
Column(
|
// ),
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
// Column(
|
||||||
children: [
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
Text(
|
// children: [
|
||||||
context.translation.to,
|
// Text(
|
||||||
style: Theme.of(context).textTheme.bodyText1.copyWith(fontSize: 12, fontWeight: FontWeight.normal),
|
// context.translation.to,
|
||||||
textScaleFactor: AppStyle.getScaleFactor(context),
|
// style: Theme.of(context).textTheme.bodyText1.copyWith(fontSize: 12, fontWeight: FontWeight.normal),
|
||||||
),
|
// textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
ADatePicker(
|
// ),
|
||||||
date: _to,
|
// ADatePicker(
|
||||||
from: DateTime(1950),
|
// date: _to,
|
||||||
onDatePicker: (date) {
|
// from: DateTime(1950),
|
||||||
_to = date;
|
// onDatePicker: (date) {
|
||||||
setState(() {});
|
// _to = date;
|
||||||
widget.onPickTo(date);
|
// setState(() {});
|
||||||
},
|
// widget.onPickTo(date);
|
||||||
),
|
// },
|
||||||
],
|
// ),
|
||||||
),
|
// ],
|
||||||
SizedBox.shrink(),
|
// ),
|
||||||
SizedBox.shrink(),
|
// SizedBox.shrink(),
|
||||||
SizedBox.shrink(),
|
// SizedBox.shrink(),
|
||||||
],
|
// SizedBox.shrink(),
|
||||||
);
|
// ],
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,72 +1,73 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:flutter/material.dart';
|
||||||
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
class ADateTimePicker extends StatelessWidget {
|
//
|
||||||
final DateTime date;
|
// class ADateTimePicker extends StatelessWidget {
|
||||||
final DateTime from;
|
// final DateTime date;
|
||||||
final DateTime to;
|
// final DateTime from;
|
||||||
final Function(DateTime) onDateTimePicker;
|
// final DateTime to;
|
||||||
final bool enable;
|
// final Function(DateTime) onDateTimePicker;
|
||||||
|
// final bool enable;
|
||||||
const ADateTimePicker({Key key, this.date, this.onDateTimePicker, this.from, this.to, this.enable}) : super(key: key);
|
//
|
||||||
|
// const ADateTimePicker({Key key, this.date, this.onDateTimePicker, this.from, this.to, this.enable}) : super(key: key);
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return ElevatedButton(
|
// Widget build(BuildContext context) {
|
||||||
style: ElevatedButton.styleFrom(
|
// return ElevatedButton(
|
||||||
foregroundColor: Colors.white,
|
// style: ElevatedButton.styleFrom(
|
||||||
textStyle: Theme.of(context).textTheme.subtitle2,
|
// foregroundColor: Colors.white,
|
||||||
shape: RoundedRectangleBorder(
|
// textStyle: Theme.of(context).textTheme.subtitle2,
|
||||||
borderRadius: BorderRadius.circular(12 * AppStyle.getScaleFactor(context)),
|
// shape: RoundedRectangleBorder(
|
||||||
),
|
// borderRadius: BorderRadius.circular(12 * AppStyle.getScaleFactor(context)),
|
||||||
),
|
// ),
|
||||||
child: Text(
|
// ),
|
||||||
date == null ? "Pick Time" : date.toString().substring(0, date.toString().lastIndexOf(":")),
|
// child: Text(
|
||||||
textScaleFactor: AppStyle.getScaleFactor(context),
|
// date == null ? "Pick Time" : date.toString().substring(0, date.toString().lastIndexOf(":")),
|
||||||
),
|
// textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
onPressed: enable
|
// ),
|
||||||
? () async {
|
// onPressed: enable
|
||||||
// TimeOfDay picked = await showTimePicker(context: context, initialTime: TimeOfDay.now());
|
// ? () async {
|
||||||
onDateTimePicker(await showDateTimePicker(context: context, initialDate: date, firstDate: from, lastDate: to));
|
// // TimeOfDay picked = await showTimePicker(context: context, initialTime: TimeOfDay.now());
|
||||||
}
|
// onDateTimePicker(await showDateTimePicker(context: context, initialDate: date, firstDate: from, lastDate: to));
|
||||||
: null,
|
// }
|
||||||
);
|
// : null,
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
Future<DateTime> showDateTimePicker({
|
//
|
||||||
BuildContext context,
|
// Future<DateTime> showDateTimePicker({
|
||||||
DateTime initialDate,
|
// BuildContext context,
|
||||||
DateTime firstDate,
|
// DateTime initialDate,
|
||||||
DateTime lastDate,
|
// DateTime firstDate,
|
||||||
}) async {
|
// DateTime lastDate,
|
||||||
initialDate ??= DateTime.now();
|
// }) async {
|
||||||
firstDate ??= initialDate.subtract(const Duration(days: 365 * 100));
|
// initialDate ??= DateTime.now();
|
||||||
lastDate ??= firstDate.add(const Duration(days: 365 * 200));
|
// firstDate ??= initialDate.subtract(const Duration(days: 365 * 100));
|
||||||
|
// lastDate ??= firstDate.add(const Duration(days: 365 * 200));
|
||||||
final DateTime selectedDate = await showDatePicker(
|
//
|
||||||
context: context,
|
// final DateTime selectedDate = await showDatePicker(
|
||||||
initialDate: initialDate,
|
// context: context,
|
||||||
firstDate: firstDate,
|
// initialDate: initialDate,
|
||||||
lastDate: lastDate,
|
// firstDate: firstDate,
|
||||||
);
|
// lastDate: lastDate,
|
||||||
|
// );
|
||||||
if (selectedDate == null) return null;
|
//
|
||||||
|
// if (selectedDate == null) return null;
|
||||||
if (!context.mounted) return selectedDate;
|
//
|
||||||
|
// if (!context.mounted) return selectedDate;
|
||||||
final TimeOfDay selectedTime = await showTimePicker(
|
//
|
||||||
context: context,
|
// final TimeOfDay selectedTime = await showTimePicker(
|
||||||
initialTime: TimeOfDay.fromDateTime(selectedDate),
|
// context: context,
|
||||||
);
|
// initialTime: TimeOfDay.fromDateTime(selectedDate),
|
||||||
|
// );
|
||||||
return selectedTime == null
|
//
|
||||||
? selectedDate
|
// return selectedTime == null
|
||||||
: DateTime(
|
// ? selectedDate
|
||||||
selectedDate.year,
|
// : DateTime(
|
||||||
selectedDate.month,
|
// selectedDate.year,
|
||||||
selectedDate.day,
|
// selectedDate.month,
|
||||||
selectedTime.hour,
|
// selectedDate.day,
|
||||||
selectedTime.minute,
|
// selectedTime.hour,
|
||||||
);
|
// selectedTime.minute,
|
||||||
}
|
// );
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,47 +1,48 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/models/department.dart';
|
// import 'package:test_sa/extensions/context_extension.dart';
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:test_sa/models/department.dart';
|
||||||
import 'package:test_sa/views/widgets/departments/single_department_picker.dart';
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
|
// import 'package:test_sa/views/widgets/departments/single_department_picker.dart';
|
||||||
class DepartmentButton extends StatelessWidget {
|
//
|
||||||
final Function(Department) onDepartmentPick;
|
// class DepartmentButton extends StatelessWidget {
|
||||||
final Department department;
|
// final Function(Department) onDepartmentPick;
|
||||||
|
// final Department department;
|
||||||
const DepartmentButton({Key key, this.department, this.onDepartmentPick}) : super(key: key);
|
//
|
||||||
|
// const DepartmentButton({Key key, this.department, this.onDepartmentPick}) : super(key: key);
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return ElevatedButton(
|
// Widget build(BuildContext context) {
|
||||||
style: ElevatedButton.styleFrom(
|
// return ElevatedButton(
|
||||||
elevation: 0,
|
// style: ElevatedButton.styleFrom(
|
||||||
padding: EdgeInsets.symmetric(horizontal: 8, vertical: 8),
|
// elevation: 0,
|
||||||
shape: RoundedRectangleBorder(
|
// padding: EdgeInsets.symmetric(horizontal: 8, vertical: 8),
|
||||||
borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
|
// shape: RoundedRectangleBorder(
|
||||||
),
|
// borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
|
||||||
// foregroundColor: AColors.primaryColor,
|
// ),
|
||||||
// backgroundColor: AColors.inputFieldBackgroundColor,
|
// // foregroundColor: AColors.primaryColor,
|
||||||
),
|
// // backgroundColor: AColors.inputFieldBackgroundColor,
|
||||||
child: Row(
|
// ),
|
||||||
children: [
|
// child: Row(
|
||||||
Expanded(
|
// children: [
|
||||||
child: Padding(
|
// Expanded(
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 8),
|
// child: Padding(
|
||||||
child: Text(
|
// padding: const EdgeInsets.symmetric(horizontal: 8),
|
||||||
department?.name ?? context.translation.pickUnite,
|
// child: Text(
|
||||||
style: Theme.of(context).textTheme.bodyText1,
|
// department?.name ?? context.translation.pickUnite,
|
||||||
textScaleFactor: AppStyle.getScaleFactor(context),
|
// style: Theme.of(context).textTheme.bodyText1,
|
||||||
textDirection: TextDirection.rtl,
|
// textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
textAlign: TextAlign.left,
|
// textDirection: TextDirection.rtl,
|
||||||
),
|
// textAlign: TextAlign.left,
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
// const Icon(Icons.keyboard_arrow_down, size: 28, color: AColors.grey3A),
|
// ),
|
||||||
],
|
// // const Icon(Icons.keyboard_arrow_down, size: 28, color: AColors.grey3A),
|
||||||
),
|
// ],
|
||||||
onPressed: () async {
|
// ),
|
||||||
Department _department = await Navigator.of(context).pushNamed(SingleDepartmentPicker.id) as Department;
|
// onPressed: () async {
|
||||||
onDepartmentPick(_department);
|
// Department _department = await Navigator.of(context).pushNamed(SingleDepartmentPicker.id) as Department;
|
||||||
});
|
// onDepartmentPick(_department);
|
||||||
}
|
// });
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,75 +1,76 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:provider/provider.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
// import 'package:provider/provider.dart';
|
||||||
import 'package:test_sa/views/widgets/loaders/image_loader.dart';
|
// import 'package:test_sa/extensions/context_extension.dart';
|
||||||
import 'package:test_sa/views/widgets/requests/info_row.dart';
|
// import 'package:test_sa/views/widgets/loaders/image_loader.dart';
|
||||||
import 'package:test_sa/views/widgets/requests/request_status.dart';
|
// import 'package:test_sa/views/widgets/requests/info_row.dart';
|
||||||
|
// import 'package:test_sa/views/widgets/requests/request_status.dart';
|
||||||
import '../../../controllers/providers/api/user_provider.dart';
|
//
|
||||||
import '../../../models/device/device_transfer_info.dart';
|
// import '../../../controllers/providers/api/user_provider.dart';
|
||||||
import '../images/multi_image_picker.dart';
|
// import '../../../models/device/device_transfer_info.dart';
|
||||||
|
// import '../images/multi_image_picker.dart';
|
||||||
class DeviceTransferInfoSection extends StatelessWidget {
|
//
|
||||||
final DeviceTransferInfo info;
|
// class DeviceTransferInfoSection extends StatelessWidget {
|
||||||
final bool isSender;
|
// final DeviceTransferInfo info;
|
||||||
final VoidCallback onEdit;
|
// final bool isSender;
|
||||||
|
// final VoidCallback onEdit;
|
||||||
const DeviceTransferInfoSection({Key key, this.info, this.onEdit, this.isSender}) : super(key: key);
|
//
|
||||||
|
// const DeviceTransferInfoSection({Key key, this.info, this.onEdit, this.isSender}) : super(key: key);
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
info.userName = Provider.of<UserProvider>(context).user.username;
|
// Widget build(BuildContext context) {
|
||||||
info.attachments ??= [];
|
// info.userName = Provider.of<UserProvider>(context).user.username;
|
||||||
return Column(
|
// info.attachments ??= [];
|
||||||
children: [
|
// return Column(
|
||||||
RequestInfoRow(
|
// children: [
|
||||||
title: context.translation.hospital,
|
|
||||||
info: info.client.name,
|
|
||||||
),
|
|
||||||
RequestInfoRow(
|
|
||||||
title: context.translation.department,
|
|
||||||
info: info.department.name,
|
|
||||||
),
|
|
||||||
// RequestInfoRow(
|
// RequestInfoRow(
|
||||||
// title: isSender ? "Sender Name " : "Receiver Name",
|
// title: context.translation.hospital,
|
||||||
// info: info.userName,
|
// info: info.client.name,
|
||||||
// ),
|
// ),
|
||||||
RequestInfoRow(
|
// RequestInfoRow(
|
||||||
title: context.translation.workingHours,
|
// title: context.translation.department,
|
||||||
info: info.workingHours,
|
// info: info.department.name,
|
||||||
),
|
// ),
|
||||||
RequestInfoRow(
|
// // RequestInfoRow(
|
||||||
title: context.translation.travelingHours,
|
// // title: isSender ? "Sender Name " : "Receiver Name",
|
||||||
info: info.travelingHours,
|
// // info: info.userName,
|
||||||
),
|
// // ),
|
||||||
RequestInfoRow(
|
// RequestInfoRow(
|
||||||
title: "Comment",
|
// title: context.translation.workingHours,
|
||||||
info: info.comment,
|
// info: info.workingHours,
|
||||||
),
|
// ),
|
||||||
RequestInfoRow(
|
// RequestInfoRow(
|
||||||
title: "Assigned Engineer",
|
// title: context.translation.travelingHours,
|
||||||
info: info.assignedEmployeeName,
|
// info: info.travelingHours,
|
||||||
),
|
// ),
|
||||||
RequestInfoRow(
|
// RequestInfoRow(
|
||||||
title: "Signature",
|
// title: "Comment",
|
||||||
info: info.engSignature?.isEmpty != false ? context.translation.noDateFound : null,
|
// info: info.comment,
|
||||||
contentWidget: info.engSignature?.isEmpty != false ? null : ImageLoader(url: info.engSignature),
|
// ),
|
||||||
),
|
// RequestInfoRow(
|
||||||
Padding(
|
// title: "Assigned Engineer",
|
||||||
padding: const EdgeInsets.symmetric(vertical: 16),
|
// info: info.assignedEmployeeName,
|
||||||
child: MultiFilesPicker(
|
// ),
|
||||||
label: "Attachments",
|
// RequestInfoRow(
|
||||||
files: info.attachments,
|
// title: "Signature",
|
||||||
enabled: false,
|
// info: info.engSignature?.isEmpty != false ? context.translation.noDateFound : null,
|
||||||
),
|
// contentWidget: info.engSignature?.isEmpty != false ? null : ImageLoader(url: info.engSignature),
|
||||||
),
|
// ),
|
||||||
RequestInfoRow(
|
// Padding(
|
||||||
title: context.translation.status,
|
// padding: const EdgeInsets.symmetric(vertical: 16),
|
||||||
infoWidget: StatusLabel(
|
// child: MultiFilesPicker(
|
||||||
label: info.status?.name, /*backgroundColor: AColors.getGasStatusColor(info.status?.id)*/
|
// label: "Attachments",
|
||||||
),
|
// files: info.attachments,
|
||||||
),
|
// enabled: false,
|
||||||
],
|
// ),
|
||||||
);
|
// ),
|
||||||
}
|
// RequestInfoRow(
|
||||||
}
|
// title: context.translation.status,
|
||||||
|
// infoWidget: StatusLabel(
|
||||||
|
// label: info.status?.name, /*backgroundColor: AColors.getGasStatusColor(info.status?.id)*/
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,41 +1,42 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/extensions/int_extensions.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/extensions/widget_extensions.dart';
|
// import 'package:test_sa/extensions/int_extensions.dart';
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:test_sa/extensions/widget_extensions.dart';
|
||||||
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
class DrawerItem extends StatelessWidget {
|
//
|
||||||
final String title;
|
// class DrawerItem extends StatelessWidget {
|
||||||
final IconData icon;
|
// final String title;
|
||||||
final VoidCallback onPressed;
|
// final IconData icon;
|
||||||
|
// final VoidCallback onPressed;
|
||||||
const DrawerItem({Key key, this.title, this.icon, this.onPressed}) : super(key: key);
|
//
|
||||||
|
// const DrawerItem({Key key, this.title, this.icon, this.onPressed}) : super(key: key);
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return Padding(
|
// Widget build(BuildContext context) {
|
||||||
padding: const EdgeInsets.all(0.0),
|
// return Padding(
|
||||||
child: ElevatedButton(
|
// padding: const EdgeInsets.all(0.0),
|
||||||
style: ElevatedButton.styleFrom(
|
// child: ElevatedButton(
|
||||||
padding: EdgeInsets.zero,
|
// style: ElevatedButton.styleFrom(
|
||||||
elevation: 0,
|
// padding: EdgeInsets.zero,
|
||||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(AppStyle.getBorderRadius(context))),
|
// elevation: 0,
|
||||||
primary: Theme.of(context).colorScheme.onPrimary,
|
// shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(AppStyle.getBorderRadius(context))),
|
||||||
),
|
// primary: Theme.of(context).colorScheme.onPrimary,
|
||||||
onPressed: onPressed,
|
// ),
|
||||||
child: Row(
|
// onPressed: onPressed,
|
||||||
children: [
|
// child: Row(
|
||||||
Icon(icon, /*color: AColors.grey3A,*/ size: 20),
|
// children: [
|
||||||
12.width,
|
// Icon(icon, /*color: AColors.grey3A,*/ size: 20),
|
||||||
Text(
|
// 12.width,
|
||||||
title,
|
// Text(
|
||||||
style: Theme.of(context).textTheme.headline6.copyWith(
|
// title,
|
||||||
fontSize: 14, /* color: AColors.grey3A*/
|
// style: Theme.of(context).textTheme.headline6.copyWith(
|
||||||
),
|
// fontSize: 14, /* color: AColors.grey3A*/
|
||||||
textScaleFactor: AppStyle.getScaleFactor(context),
|
// ),
|
||||||
),
|
// textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
],
|
// ),
|
||||||
).paddingOnly(start: 20, end: 20),
|
// ],
|
||||||
),
|
// ).paddingOnly(start: 20, end: 20),
|
||||||
);
|
// ),
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,97 +1,98 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:flutter_typeahead/flutter_typeahead.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
// import 'package:flutter_typeahead/flutter_typeahead.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/devices_provider.dart';
|
// import 'package:provider/provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/devices_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
|
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
||||||
import '../../../models/device/asset.dart';
|
//
|
||||||
|
// import '../../../models/device/asset.dart';
|
||||||
class AutoCompleteDeviceField extends StatefulWidget {
|
//
|
||||||
final Asset initialValue;
|
// class AutoCompleteDeviceField extends StatefulWidget {
|
||||||
final int hospitalId;
|
// final Asset initialValue;
|
||||||
final Function(int) onPick;
|
// final int hospitalId;
|
||||||
|
// final Function(int) onPick;
|
||||||
const AutoCompleteDeviceField({Key key, this.initialValue, this.onPick, this.hospitalId}) : super(key: key);
|
//
|
||||||
|
// const AutoCompleteDeviceField({Key key, this.initialValue, this.onPick, this.hospitalId}) : super(key: key);
|
||||||
@override
|
//
|
||||||
_AutoCompleteDeviceFieldState createState() => _AutoCompleteDeviceFieldState();
|
// @override
|
||||||
}
|
// _AutoCompleteDeviceFieldState createState() => _AutoCompleteDeviceFieldState();
|
||||||
|
// }
|
||||||
class _AutoCompleteDeviceFieldState extends State<AutoCompleteDeviceField> {
|
//
|
||||||
SettingProvider _settingProvider;
|
// class _AutoCompleteDeviceFieldState extends State<AutoCompleteDeviceField> {
|
||||||
AssetProvider _devicesProvider;
|
// SettingProvider _settingProvider;
|
||||||
UserProvider _userProvider;
|
// AssetProvider _devicesProvider;
|
||||||
TextEditingController _controller;
|
// UserProvider _userProvider;
|
||||||
|
// TextEditingController _controller;
|
||||||
@override
|
//
|
||||||
void initState() {
|
// @override
|
||||||
_controller = TextEditingController(text: widget.initialValue.assetSerialNo);
|
// void initState() {
|
||||||
super.initState();
|
// _controller = TextEditingController(text: widget.initialValue.assetSerialNo);
|
||||||
}
|
// super.initState();
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
void dispose() {
|
// @override
|
||||||
_controller.dispose();
|
// void dispose() {
|
||||||
super.dispose();
|
// _controller.dispose();
|
||||||
}
|
// super.dispose();
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
_settingProvider = Provider.of<SettingProvider>(context);
|
// Widget build(BuildContext context) {
|
||||||
_userProvider = Provider.of<UserProvider>(context);
|
// _settingProvider = Provider.of<SettingProvider>(context);
|
||||||
_devicesProvider = Provider.of<AssetProvider>(context);
|
// _userProvider = Provider.of<UserProvider>(context);
|
||||||
|
// _devicesProvider = Provider.of<AssetProvider>(context);
|
||||||
return LoadingManager(
|
//
|
||||||
isLoading: _devicesProvider.isLoading,
|
// return LoadingManager(
|
||||||
isFailedLoading: _devicesProvider.devices == null,
|
// isLoading: _devicesProvider.isLoading,
|
||||||
stateCode: _devicesProvider.stateCode,
|
// isFailedLoading: _devicesProvider.devices == null,
|
||||||
onRefresh: () async {
|
// stateCode: _devicesProvider.stateCode,
|
||||||
_devicesProvider.reset();
|
// onRefresh: () async {
|
||||||
await _devicesProvider.getAssets();
|
// _devicesProvider.reset();
|
||||||
},
|
// await _devicesProvider.getAssets();
|
||||||
child: Container(
|
// },
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 16),
|
// child: Container(
|
||||||
decoration: BoxDecoration(
|
// padding: const EdgeInsets.symmetric(horizontal: 16),
|
||||||
color: Colors.white,
|
// decoration: BoxDecoration(
|
||||||
// border: Border.all(color: AColors.black),
|
// color: Colors.white,
|
||||||
borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
|
// // border: Border.all(color: AColors.black),
|
||||||
boxShadow: [AppStyle.boxShadow]),
|
// borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
|
||||||
child: TypeAheadField<Asset>(
|
// boxShadow: [AppStyle.boxShadow]),
|
||||||
textFieldConfiguration: TextFieldConfiguration(
|
// child: TypeAheadField<Asset>(
|
||||||
style: Theme.of(context).textTheme.headline6,
|
// textFieldConfiguration: TextFieldConfiguration(
|
||||||
controller: _controller,
|
// style: Theme.of(context).textTheme.headline6,
|
||||||
textAlign: TextAlign.center,
|
// controller: _controller,
|
||||||
decoration: const InputDecoration(
|
// textAlign: TextAlign.center,
|
||||||
border: InputBorder.none,
|
// decoration: const InputDecoration(
|
||||||
disabledBorder: InputBorder.none,
|
// border: InputBorder.none,
|
||||||
focusedBorder: InputBorder.none,
|
// disabledBorder: InputBorder.none,
|
||||||
enabledBorder: InputBorder.none,
|
// focusedBorder: InputBorder.none,
|
||||||
),
|
// enabledBorder: InputBorder.none,
|
||||||
textInputAction: TextInputAction.search,
|
// ),
|
||||||
),
|
// textInputAction: TextInputAction.search,
|
||||||
suggestionsCallback: (value) async {
|
// ),
|
||||||
return await _devicesProvider.getDevicesList(
|
// suggestionsCallback: (value) async {
|
||||||
host: _settingProvider.host,
|
// return await _devicesProvider.getDevicesList(
|
||||||
user: _userProvider.user,
|
// host: _settingProvider.host,
|
||||||
hospitalId: widget.hospitalId ?? _userProvider.user.clientId,
|
// user: _userProvider.user,
|
||||||
// serialNumber: value,
|
// hospitalId: widget.hospitalId ?? _userProvider.user.clientId,
|
||||||
);
|
// // serialNumber: value,
|
||||||
},
|
// );
|
||||||
itemBuilder: (context, device) {
|
// },
|
||||||
return ListTile(
|
// itemBuilder: (context, device) {
|
||||||
title: Text(device.assetSerialNo),
|
// return ListTile(
|
||||||
subtitle: Text("${device.modelDefinition.modelName}/${device.modelDefinition.manufacturerName}"),
|
// title: Text(device.assetSerialNo),
|
||||||
);
|
// subtitle: Text("${device.modelDefinition.modelName}/${device.modelDefinition.manufacturerName}"),
|
||||||
},
|
// );
|
||||||
onSuggestionSelected: (device) {
|
// },
|
||||||
_controller.text = device.assetSerialNo;
|
// onSuggestionSelected: (device) {
|
||||||
widget.onPick(device.id);
|
// _controller.text = device.assetSerialNo;
|
||||||
},
|
// widget.onPick(device.id);
|
||||||
),
|
// },
|
||||||
),
|
// ),
|
||||||
);
|
// ),
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,86 +1,87 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:flutter_typeahead/flutter_typeahead.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
// import 'package:flutter_typeahead/flutter_typeahead.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/devices_provider.dart';
|
// import 'package:provider/provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/devices_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
class AutoCompleteModelField extends StatefulWidget {
|
//
|
||||||
final Lookup initialValue;
|
// class AutoCompleteModelField extends StatefulWidget {
|
||||||
final Function(Lookup) onPick;
|
// final Lookup initialValue;
|
||||||
|
// final Function(Lookup) onPick;
|
||||||
const AutoCompleteModelField({
|
//
|
||||||
Key key,
|
// const AutoCompleteModelField({
|
||||||
this.initialValue,
|
// Key key,
|
||||||
this.onPick,
|
// this.initialValue,
|
||||||
}) : super(key: key);
|
// this.onPick,
|
||||||
|
// }) : super(key: key);
|
||||||
@override
|
//
|
||||||
_AutoCompleteModelFieldState createState() => _AutoCompleteModelFieldState();
|
// @override
|
||||||
}
|
// _AutoCompleteModelFieldState createState() => _AutoCompleteModelFieldState();
|
||||||
|
// }
|
||||||
class _AutoCompleteModelFieldState extends State<AutoCompleteModelField> {
|
//
|
||||||
SettingProvider _settingProvider;
|
// class _AutoCompleteModelFieldState extends State<AutoCompleteModelField> {
|
||||||
AssetProvider _devicesProvider;
|
// SettingProvider _settingProvider;
|
||||||
UserProvider _userProvider;
|
// AssetProvider _devicesProvider;
|
||||||
TextEditingController _controller;
|
// UserProvider _userProvider;
|
||||||
|
// TextEditingController _controller;
|
||||||
@override
|
//
|
||||||
void initState() {
|
// @override
|
||||||
_controller = TextEditingController(text: widget.initialValue?.name);
|
// void initState() {
|
||||||
super.initState();
|
// _controller = TextEditingController(text: widget.initialValue?.name);
|
||||||
}
|
// super.initState();
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
void dispose() {
|
// @override
|
||||||
_controller.dispose();
|
// void dispose() {
|
||||||
super.dispose();
|
// _controller.dispose();
|
||||||
}
|
// super.dispose();
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
_settingProvider = Provider.of<SettingProvider>(context);
|
// Widget build(BuildContext context) {
|
||||||
_userProvider = Provider.of<UserProvider>(context);
|
// _settingProvider = Provider.of<SettingProvider>(context);
|
||||||
_devicesProvider = Provider.of<AssetProvider>(context);
|
// _userProvider = Provider.of<UserProvider>(context);
|
||||||
|
// _devicesProvider = Provider.of<AssetProvider>(context);
|
||||||
return Container(
|
//
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 16),
|
// return Container(
|
||||||
decoration: BoxDecoration(
|
// padding: const EdgeInsets.symmetric(horizontal: 16),
|
||||||
color: Colors.white,
|
// decoration: BoxDecoration(
|
||||||
// border: Border.all(color: AColors.black),
|
// color: Colors.white,
|
||||||
borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
|
// // border: Border.all(color: AColors.black),
|
||||||
boxShadow: [AppStyle.boxShadow]),
|
// borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
|
||||||
child: TypeAheadField<Lookup>(
|
// boxShadow: [AppStyle.boxShadow]),
|
||||||
textFieldConfiguration: TextFieldConfiguration(
|
// child: TypeAheadField<Lookup>(
|
||||||
style: Theme.of(context).textTheme.headline6,
|
// textFieldConfiguration: TextFieldConfiguration(
|
||||||
controller: _controller,
|
// style: Theme.of(context).textTheme.headline6,
|
||||||
textAlign: TextAlign.center,
|
// controller: _controller,
|
||||||
decoration: const InputDecoration(
|
// textAlign: TextAlign.center,
|
||||||
hintText: "Model",
|
// decoration: const InputDecoration(
|
||||||
border: InputBorder.none,
|
// hintText: "Model",
|
||||||
disabledBorder: InputBorder.none,
|
// border: InputBorder.none,
|
||||||
focusedBorder: InputBorder.none,
|
// disabledBorder: InputBorder.none,
|
||||||
enabledBorder: InputBorder.none,
|
// focusedBorder: InputBorder.none,
|
||||||
),
|
// enabledBorder: InputBorder.none,
|
||||||
textInputAction: TextInputAction.search,
|
// ),
|
||||||
),
|
// textInputAction: TextInputAction.search,
|
||||||
suggestionsCallback: (value) async {
|
// ),
|
||||||
return await _devicesProvider.getModels(
|
// suggestionsCallback: (value) async {
|
||||||
code: value,
|
// return await _devicesProvider.getModels(
|
||||||
);
|
// code: value,
|
||||||
},
|
// );
|
||||||
itemBuilder: (context, lookup) {
|
// },
|
||||||
return ListTile(
|
// itemBuilder: (context, lookup) {
|
||||||
title: Text(lookup.name),
|
// return ListTile(
|
||||||
);
|
// title: Text(lookup.name),
|
||||||
},
|
// );
|
||||||
onSuggestionSelected: (lookup) {
|
// },
|
||||||
_controller.text = lookup.name;
|
// onSuggestionSelected: (lookup) {
|
||||||
widget.onPick(lookup);
|
// _controller.text = lookup.name;
|
||||||
},
|
// widget.onPick(lookup);
|
||||||
),
|
// },
|
||||||
);
|
// ),
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,110 +1,111 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/models/hospital.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:test_sa/models/hospital.dart';
|
||||||
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
import '../loaders/app_loading.dart';
|
//
|
||||||
|
// import '../loaders/app_loading.dart';
|
||||||
class BuildingTypeMenu extends StatefulWidget {
|
//
|
||||||
final Function(Buildings) onSelect;
|
// class BuildingTypeMenu extends StatefulWidget {
|
||||||
Buildings initialValue;
|
// final Function(Buildings) onSelect;
|
||||||
List<Buildings> building;
|
// Buildings initialValue;
|
||||||
bool enabled, loading;
|
// List<Buildings> building;
|
||||||
|
// bool enabled, loading;
|
||||||
BuildingTypeMenu({
|
//
|
||||||
Key key,
|
// BuildingTypeMenu({
|
||||||
this.onSelect,
|
// Key key,
|
||||||
this.initialValue,
|
// this.onSelect,
|
||||||
this.building = const [],
|
// this.initialValue,
|
||||||
this.enabled = true,
|
// this.building = const [],
|
||||||
this.loading = false,
|
// this.enabled = true,
|
||||||
}) : super(key: key);
|
// this.loading = false,
|
||||||
|
// }) : super(key: key);
|
||||||
@override
|
//
|
||||||
_BuildingTypeMenuState createState() {
|
// @override
|
||||||
return _BuildingTypeMenuState();
|
// _BuildingTypeMenuState createState() {
|
||||||
}
|
// return _BuildingTypeMenuState();
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
class _BuildingTypeMenuState extends State<BuildingTypeMenu> {
|
//
|
||||||
Buildings _selectedBuilding;
|
// class _BuildingTypeMenuState extends State<BuildingTypeMenu> {
|
||||||
List<Buildings> _building;
|
// Buildings _selectedBuilding;
|
||||||
|
// List<Buildings> _building;
|
||||||
@override
|
//
|
||||||
void initState() {
|
// @override
|
||||||
super.initState();
|
// void initState() {
|
||||||
_selectedBuilding = widget.initialValue;
|
// super.initState();
|
||||||
_building = widget.building;
|
// _selectedBuilding = widget.initialValue;
|
||||||
}
|
// _building = widget.building;
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
void didUpdateWidget(covariant BuildingTypeMenu oldWidget) {
|
// @override
|
||||||
if (oldWidget.building != widget.building) {
|
// void didUpdateWidget(covariant BuildingTypeMenu oldWidget) {
|
||||||
_building = widget.building;
|
// if (oldWidget.building != widget.building) {
|
||||||
_selectedBuilding = null;
|
// _building = widget.building;
|
||||||
}
|
// _selectedBuilding = null;
|
||||||
if (oldWidget.initialValue != widget.initialValue && widget.initialValue != null) {
|
// }
|
||||||
_selectedBuilding = widget.initialValue;
|
// if (oldWidget.initialValue != widget.initialValue && widget.initialValue != null) {
|
||||||
}
|
// _selectedBuilding = widget.initialValue;
|
||||||
super.didUpdateWidget(oldWidget);
|
// }
|
||||||
}
|
// super.didUpdateWidget(oldWidget);
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
void dispose() {
|
// @override
|
||||||
super.dispose();
|
// void dispose() {
|
||||||
}
|
// super.dispose();
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return Container(
|
// Widget build(BuildContext context) {
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 16),
|
// return Container(
|
||||||
decoration: BoxDecoration(
|
// padding: const EdgeInsets.symmetric(horizontal: 16),
|
||||||
// color: AColors.inputFieldBackgroundColor,
|
// decoration: BoxDecoration(
|
||||||
border: Border.all(
|
// // color: AColors.inputFieldBackgroundColor,
|
||||||
color: const Color(0xffefefef),
|
// border: Border.all(
|
||||||
),
|
// color: const Color(0xffefefef),
|
||||||
borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
|
// ),
|
||||||
// boxShadow: const [
|
// borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
|
||||||
// AppStyle.boxShadow
|
// // boxShadow: const [
|
||||||
// ]
|
// // AppStyle.boxShadow
|
||||||
),
|
// // ]
|
||||||
child: widget.loading
|
// ),
|
||||||
? const Padding(padding: EdgeInsets.all(8.0), child: ALoading())
|
// child: widget.loading
|
||||||
: (widget.enabled && (_building?.isEmpty ?? false)) || (!widget.enabled)
|
// ? const Padding(padding: EdgeInsets.all(8.0), child: ALoading())
|
||||||
? ListTile(
|
// : (widget.enabled && (_building?.isEmpty ?? false)) || (!widget.enabled)
|
||||||
title: Center(child: Text(widget.initialValue?.name ?? "")),
|
// ? ListTile(
|
||||||
)
|
// title: Center(child: Text(widget.initialValue?.name ?? "")),
|
||||||
: DropdownButton<Buildings>(
|
// )
|
||||||
value: _selectedBuilding,
|
// : DropdownButton<Buildings>(
|
||||||
iconSize: 24,
|
// value: _selectedBuilding,
|
||||||
icon: const Icon(Icons.keyboard_arrow_down_rounded),
|
// iconSize: 24,
|
||||||
elevation: 0,
|
// icon: const Icon(Icons.keyboard_arrow_down_rounded),
|
||||||
isExpanded: true,
|
// elevation: 0,
|
||||||
hint: Text(
|
// isExpanded: true,
|
||||||
"Select Building",
|
// hint: Text(
|
||||||
style: Theme.of(context).textTheme.subtitle1,
|
// "Select Building",
|
||||||
),
|
// style: Theme.of(context).textTheme.subtitle1,
|
||||||
style: TextStyle(color: Theme.of(context).primaryColor),
|
// ),
|
||||||
underline: const SizedBox.shrink(),
|
// style: TextStyle(color: Theme.of(context).primaryColor),
|
||||||
onChanged: (Buildings newValue) {
|
// underline: const SizedBox.shrink(),
|
||||||
setState(() {
|
// onChanged: (Buildings newValue) {
|
||||||
_selectedBuilding = newValue;
|
// setState(() {
|
||||||
});
|
// _selectedBuilding = newValue;
|
||||||
widget.onSelect(newValue);
|
// });
|
||||||
},
|
// widget.onSelect(newValue);
|
||||||
items: _building?.map<DropdownMenuItem<Buildings>>((Buildings value) {
|
// },
|
||||||
return DropdownMenuItem<Buildings>(
|
// items: _building?.map<DropdownMenuItem<Buildings>>((Buildings value) {
|
||||||
value: value,
|
// return DropdownMenuItem<Buildings>(
|
||||||
child: Text(
|
// value: value,
|
||||||
value.name ?? "",
|
// child: Text(
|
||||||
style: Theme.of(context).textTheme.subtitle1.copyWith(
|
// value.name ?? "",
|
||||||
color: Theme.of(context).primaryColor,
|
// style: Theme.of(context).textTheme.subtitle1.copyWith(
|
||||||
fontSize: 11,
|
// color: Theme.of(context).primaryColor,
|
||||||
//fontWeight: FontWeight.bold
|
// fontSize: 11,
|
||||||
),
|
// //fontWeight: FontWeight.bold
|
||||||
),
|
// ),
|
||||||
);
|
// ),
|
||||||
})?.toList() ??
|
// );
|
||||||
[],
|
// })?.toList() ??
|
||||||
));
|
// [],
|
||||||
}
|
// ));
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,111 +1,112 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/models/hospital.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:test_sa/models/hospital.dart';
|
||||||
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
import '../loaders/app_loading.dart';
|
//
|
||||||
|
// import '../loaders/app_loading.dart';
|
||||||
class DepartmentTypeMenu extends StatefulWidget {
|
//
|
||||||
final Function(Departments) onSelect;
|
// class DepartmentTypeMenu extends StatefulWidget {
|
||||||
Departments initialValue;
|
// final Function(Departments) onSelect;
|
||||||
List<Departments> departments;
|
// Departments initialValue;
|
||||||
bool enabled, loading;
|
// List<Departments> departments;
|
||||||
|
// bool enabled, loading;
|
||||||
DepartmentTypeMenu({
|
//
|
||||||
Key key,
|
// DepartmentTypeMenu({
|
||||||
this.onSelect,
|
// Key key,
|
||||||
this.initialValue,
|
// this.onSelect,
|
||||||
this.departments = const [],
|
// this.initialValue,
|
||||||
this.enabled = true,
|
// this.departments = const [],
|
||||||
this.loading = false,
|
// this.enabled = true,
|
||||||
}) : super(key: key);
|
// this.loading = false,
|
||||||
|
// }) : super(key: key);
|
||||||
@override
|
//
|
||||||
_DepartmentTypeMenuState createState() {
|
// @override
|
||||||
return _DepartmentTypeMenuState();
|
// _DepartmentTypeMenuState createState() {
|
||||||
}
|
// return _DepartmentTypeMenuState();
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
class _DepartmentTypeMenuState extends State<DepartmentTypeMenu> {
|
//
|
||||||
Departments _selected;
|
// class _DepartmentTypeMenuState extends State<DepartmentTypeMenu> {
|
||||||
List<Departments> _departments;
|
// Departments _selected;
|
||||||
|
// List<Departments> _departments;
|
||||||
@override
|
//
|
||||||
void initState() {
|
// @override
|
||||||
super.initState();
|
// void initState() {
|
||||||
_selected = widget.initialValue;
|
// super.initState();
|
||||||
_departments = widget.departments;
|
// _selected = widget.initialValue;
|
||||||
}
|
// _departments = widget.departments;
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
void didUpdateWidget(covariant DepartmentTypeMenu oldWidget) {
|
// @override
|
||||||
if (oldWidget.departments != widget.departments) {
|
// void didUpdateWidget(covariant DepartmentTypeMenu oldWidget) {
|
||||||
_departments = widget.departments;
|
// if (oldWidget.departments != widget.departments) {
|
||||||
_selected = null;
|
// _departments = widget.departments;
|
||||||
}
|
// _selected = null;
|
||||||
if (oldWidget.initialValue != widget.initialValue && widget.initialValue != null) {
|
// }
|
||||||
_selected = widget.initialValue;
|
// if (oldWidget.initialValue != widget.initialValue && widget.initialValue != null) {
|
||||||
}
|
// _selected = widget.initialValue;
|
||||||
super.didUpdateWidget(oldWidget);
|
// }
|
||||||
}
|
// super.didUpdateWidget(oldWidget);
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
void dispose() {
|
// @override
|
||||||
super.dispose();
|
// void dispose() {
|
||||||
}
|
// super.dispose();
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return Container(
|
// Widget build(BuildContext context) {
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 16),
|
// return Container(
|
||||||
decoration: BoxDecoration(
|
// padding: const EdgeInsets.symmetric(horizontal: 16),
|
||||||
// color: AColors.inputFieldBackgroundColor,
|
// decoration: BoxDecoration(
|
||||||
border: Border.all(
|
// // color: AColors.inputFieldBackgroundColor,
|
||||||
color: Color(0xffefefef),
|
// border: Border.all(
|
||||||
),
|
// color: Color(0xffefefef),
|
||||||
borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
|
// ),
|
||||||
// boxShadow: const [
|
// borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
|
||||||
// AppStyle.boxShadow
|
// // boxShadow: const [
|
||||||
// ]
|
// // AppStyle.boxShadow
|
||||||
),
|
// // ]
|
||||||
child: widget.loading
|
// ),
|
||||||
? const Padding(padding: EdgeInsets.all(8.0), child: ALoading())
|
// child: widget.loading
|
||||||
: (widget.enabled && (_departments?.isEmpty ?? false)) || (!widget.enabled)
|
// ? const Padding(padding: EdgeInsets.all(8.0), child: ALoading())
|
||||||
? ListTile(
|
// : (widget.enabled && (_departments?.isEmpty ?? false)) || (!widget.enabled)
|
||||||
title: Center(child: Text(widget.initialValue?.name ?? "")),
|
// ? ListTile(
|
||||||
)
|
// title: Center(child: Text(widget.initialValue?.name ?? "")),
|
||||||
: DropdownButton<Departments>(
|
// )
|
||||||
value: _selected,
|
// : DropdownButton<Departments>(
|
||||||
iconSize: 24,
|
// value: _selected,
|
||||||
icon: const Icon(Icons.keyboard_arrow_down_rounded),
|
// iconSize: 24,
|
||||||
elevation: 0,
|
// icon: const Icon(Icons.keyboard_arrow_down_rounded),
|
||||||
isExpanded: true,
|
// elevation: 0,
|
||||||
hint: Text(
|
// isExpanded: true,
|
||||||
"Select Department",
|
// hint: Text(
|
||||||
style: Theme.of(context).textTheme.subtitle1,
|
// "Select Department",
|
||||||
),
|
// style: Theme.of(context).textTheme.subtitle1,
|
||||||
style: TextStyle(color: Theme.of(context).primaryColor),
|
// ),
|
||||||
underline: SizedBox.shrink(),
|
// style: TextStyle(color: Theme.of(context).primaryColor),
|
||||||
onChanged: (Departments newValue) {
|
// underline: SizedBox.shrink(),
|
||||||
setState(() {
|
// onChanged: (Departments newValue) {
|
||||||
_selected = newValue;
|
// setState(() {
|
||||||
});
|
// _selected = newValue;
|
||||||
widget.onSelect(newValue);
|
// });
|
||||||
},
|
// widget.onSelect(newValue);
|
||||||
items: widget?.departments?.map<DropdownMenuItem<Departments>>((Departments value) {
|
// },
|
||||||
return DropdownMenuItem<Departments>(
|
// items: widget?.departments?.map<DropdownMenuItem<Departments>>((Departments value) {
|
||||||
value: value,
|
// return DropdownMenuItem<Departments>(
|
||||||
child: Text(
|
// value: value,
|
||||||
value?.name ?? "",
|
// child: Text(
|
||||||
style: Theme.of(context).textTheme.subtitle1.copyWith(
|
// value?.name ?? "",
|
||||||
color: Theme.of(context).primaryColor,
|
// style: Theme.of(context).textTheme.subtitle1.copyWith(
|
||||||
fontSize: 11,
|
// color: Theme.of(context).primaryColor,
|
||||||
//fontWeight: FontWeight.bold
|
// fontSize: 11,
|
||||||
),
|
// //fontWeight: FontWeight.bold
|
||||||
),
|
// ),
|
||||||
);
|
// ),
|
||||||
})?.toList() ??
|
// );
|
||||||
[],
|
// })?.toList() ??
|
||||||
),
|
// [],
|
||||||
);
|
// ),
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,112 +1,113 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/models/hospital.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:test_sa/models/hospital.dart';
|
||||||
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
import '../loaders/app_loading.dart';
|
//
|
||||||
|
// import '../loaders/app_loading.dart';
|
||||||
class FloorTypeMenu extends StatefulWidget {
|
//
|
||||||
final Function(Floors) onSelect;
|
// class FloorTypeMenu extends StatefulWidget {
|
||||||
Floors initialValue;
|
// final Function(Floors) onSelect;
|
||||||
List<Floors> floors;
|
// Floors initialValue;
|
||||||
bool enabled;
|
// List<Floors> floors;
|
||||||
bool loading;
|
// bool enabled;
|
||||||
|
// bool loading;
|
||||||
FloorTypeMenu({
|
//
|
||||||
Key key,
|
// FloorTypeMenu({
|
||||||
this.onSelect,
|
// Key key,
|
||||||
this.initialValue,
|
// this.onSelect,
|
||||||
this.floors = const [],
|
// this.initialValue,
|
||||||
this.enabled = true,
|
// this.floors = const [],
|
||||||
this.loading = false,
|
// this.enabled = true,
|
||||||
}) : super(key: key);
|
// this.loading = false,
|
||||||
|
// }) : super(key: key);
|
||||||
@override
|
//
|
||||||
_FloorTypeMenuState createState() {
|
// @override
|
||||||
return _FloorTypeMenuState();
|
// _FloorTypeMenuState createState() {
|
||||||
}
|
// return _FloorTypeMenuState();
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
class _FloorTypeMenuState extends State<FloorTypeMenu> {
|
//
|
||||||
Floors _selected;
|
// class _FloorTypeMenuState extends State<FloorTypeMenu> {
|
||||||
List<Floors> _floors;
|
// Floors _selected;
|
||||||
|
// List<Floors> _floors;
|
||||||
@override
|
//
|
||||||
void initState() {
|
// @override
|
||||||
super.initState();
|
// void initState() {
|
||||||
_selected = widget.initialValue;
|
// super.initState();
|
||||||
_floors = widget.floors;
|
// _selected = widget.initialValue;
|
||||||
}
|
// _floors = widget.floors;
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
void didUpdateWidget(covariant FloorTypeMenu oldWidget) {
|
// @override
|
||||||
if (oldWidget.floors != widget.floors) {
|
// void didUpdateWidget(covariant FloorTypeMenu oldWidget) {
|
||||||
_floors = widget.floors;
|
// if (oldWidget.floors != widget.floors) {
|
||||||
_selected = null;
|
// _floors = widget.floors;
|
||||||
}
|
// _selected = null;
|
||||||
if (oldWidget.initialValue != widget.initialValue && widget.initialValue != null) {
|
// }
|
||||||
_selected = widget.initialValue;
|
// if (oldWidget.initialValue != widget.initialValue && widget.initialValue != null) {
|
||||||
}
|
// _selected = widget.initialValue;
|
||||||
super.didUpdateWidget(oldWidget);
|
// }
|
||||||
}
|
// super.didUpdateWidget(oldWidget);
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
void dispose() {
|
// @override
|
||||||
super.dispose();
|
// void dispose() {
|
||||||
}
|
// super.dispose();
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return Container(
|
// Widget build(BuildContext context) {
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 16),
|
// return Container(
|
||||||
decoration: BoxDecoration(
|
// padding: const EdgeInsets.symmetric(horizontal: 16),
|
||||||
// color: AColors.inputFieldBackgroundColor,
|
// decoration: BoxDecoration(
|
||||||
border: Border.all(
|
// // color: AColors.inputFieldBackgroundColor,
|
||||||
color: const Color(0xffefefef),
|
// border: Border.all(
|
||||||
),
|
// color: const Color(0xffefefef),
|
||||||
borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
|
// ),
|
||||||
// boxShadow: const [
|
// borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
|
||||||
// AppStyle.boxShadow
|
// // boxShadow: const [
|
||||||
// ]
|
// // AppStyle.boxShadow
|
||||||
),
|
// // ]
|
||||||
child: widget.loading
|
// ),
|
||||||
? const Padding(padding: EdgeInsets.all(8.0), child: ALoading())
|
// child: widget.loading
|
||||||
: (widget.enabled && (_floors?.isEmpty ?? false)) || (!widget.enabled)
|
// ? const Padding(padding: EdgeInsets.all(8.0), child: ALoading())
|
||||||
? ListTile(
|
// : (widget.enabled && (_floors?.isEmpty ?? false)) || (!widget.enabled)
|
||||||
title: Center(child: Text(widget.initialValue?.name ?? "")),
|
// ? ListTile(
|
||||||
)
|
// title: Center(child: Text(widget.initialValue?.name ?? "")),
|
||||||
: DropdownButton<Floors>(
|
// )
|
||||||
value: _selected,
|
// : DropdownButton<Floors>(
|
||||||
iconSize: 24,
|
// value: _selected,
|
||||||
icon: const Icon(Icons.keyboard_arrow_down_rounded),
|
// iconSize: 24,
|
||||||
elevation: 0,
|
// icon: const Icon(Icons.keyboard_arrow_down_rounded),
|
||||||
isExpanded: true,
|
// elevation: 0,
|
||||||
hint: Text(
|
// isExpanded: true,
|
||||||
"Select Floor",
|
// hint: Text(
|
||||||
style: Theme.of(context).textTheme.subtitle1,
|
// "Select Floor",
|
||||||
),
|
// style: Theme.of(context).textTheme.subtitle1,
|
||||||
style: TextStyle(color: Theme.of(context).primaryColor),
|
// ),
|
||||||
underline: const SizedBox.shrink(),
|
// style: TextStyle(color: Theme.of(context).primaryColor),
|
||||||
onChanged: (Floors newValue) {
|
// underline: const SizedBox.shrink(),
|
||||||
setState(() {
|
// onChanged: (Floors newValue) {
|
||||||
_selected = newValue;
|
// setState(() {
|
||||||
});
|
// _selected = newValue;
|
||||||
widget.onSelect(newValue);
|
// });
|
||||||
},
|
// widget.onSelect(newValue);
|
||||||
items: _floors?.map<DropdownMenuItem<Floors>>((Floors value) {
|
// },
|
||||||
return DropdownMenuItem<Floors>(
|
// items: _floors?.map<DropdownMenuItem<Floors>>((Floors value) {
|
||||||
value: value,
|
// return DropdownMenuItem<Floors>(
|
||||||
child: Text(
|
// value: value,
|
||||||
value.name ?? "",
|
// child: Text(
|
||||||
style: Theme.of(context).textTheme.subtitle1.copyWith(
|
// value.name ?? "",
|
||||||
color: Theme.of(context).primaryColor,
|
// style: Theme.of(context).textTheme.subtitle1.copyWith(
|
||||||
fontSize: 11,
|
// color: Theme.of(context).primaryColor,
|
||||||
//fontWeight: FontWeight.bold
|
// fontSize: 11,
|
||||||
),
|
// //fontWeight: FontWeight.bold
|
||||||
),
|
// ),
|
||||||
);
|
// ),
|
||||||
})?.toList() ??
|
// );
|
||||||
[],
|
// })?.toList() ??
|
||||||
),
|
// [],
|
||||||
);
|
// ),
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,90 +1,91 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/views/widgets/app_text_form_field.dart';
|
// import 'package:test_sa/extensions/context_extension.dart';
|
||||||
|
// import 'package:test_sa/views/widgets/app_text_form_field.dart';
|
||||||
import '../../../models/new_models/gas_refill_model.dart';
|
//
|
||||||
import '../buttons/app_button.dart';
|
// import '../../../models/new_models/gas_refill_model.dart';
|
||||||
import '../titles/app_sub_title.dart';
|
// import '../buttons/app_button.dart';
|
||||||
|
// import '../titles/app_sub_title.dart';
|
||||||
class GasRefillCreateDetailsItem extends StatefulWidget {
|
//
|
||||||
final GasRefillDetails model;
|
// class GasRefillCreateDetailsItem extends StatefulWidget {
|
||||||
final VoidCallback onPressed;
|
// final GasRefillDetails model;
|
||||||
final bool isUpdate;
|
// final VoidCallback onPressed;
|
||||||
|
// final bool isUpdate;
|
||||||
const GasRefillCreateDetailsItem({Key key, this.isUpdate, this.model, this.onPressed}) : super(key: key);
|
//
|
||||||
|
// const GasRefillCreateDetailsItem({Key key, this.isUpdate, this.model, this.onPressed}) : super(key: key);
|
||||||
@override
|
//
|
||||||
State<GasRefillCreateDetailsItem> createState() => _GasRefillCreateDetailsItemState();
|
// @override
|
||||||
}
|
// State<GasRefillCreateDetailsItem> createState() => _GasRefillCreateDetailsItemState();
|
||||||
|
// }
|
||||||
class _GasRefillCreateDetailsItemState extends State<GasRefillCreateDetailsItem> {
|
//
|
||||||
GlobalKey<FormState> _formKey;
|
// class _GasRefillCreateDetailsItemState extends State<GasRefillCreateDetailsItem> {
|
||||||
|
// GlobalKey<FormState> _formKey;
|
||||||
@override
|
//
|
||||||
void initState() {
|
// @override
|
||||||
super.initState();
|
// void initState() {
|
||||||
_formKey = GlobalKey<FormState>();
|
// super.initState();
|
||||||
}
|
// _formKey = GlobalKey<FormState>();
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
final startEditing = widget.isUpdate && (widget.model.selectedForEditing ?? false);
|
// Widget build(BuildContext context) {
|
||||||
return Form(
|
// final startEditing = widget.isUpdate && (widget.model.selectedForEditing ?? false);
|
||||||
key: _formKey,
|
// return Form(
|
||||||
child: Column(
|
// key: _formKey,
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
// child: Column(
|
||||||
children: [
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
Row(
|
// children: [
|
||||||
children: [
|
// Row(
|
||||||
Expanded(child: Text(widget.model.gasType.name)),
|
// children: [
|
||||||
IconButton(onPressed: widget.onPressed, /* color: widget.isUpdate ? AColors.cyan : AColors.red,*/ icon: Icon(widget.isUpdate ? Icons.edit : Icons.delete))
|
// Expanded(child: Text(widget.model.gasType.name)),
|
||||||
],
|
// IconButton(onPressed: widget.onPressed, /* color: widget.isUpdate ? AColors.cyan : AColors.red,*/ icon: Icon(widget.isUpdate ? Icons.edit : Icons.delete))
|
||||||
),
|
// ],
|
||||||
Wrap(
|
// ),
|
||||||
spacing: 10,
|
// Wrap(
|
||||||
children: [
|
// spacing: 10,
|
||||||
Text("Quantity: ${widget.model.requestedQty.toStringAsFixed(0)}"),
|
// children: [
|
||||||
Text("Cylinder Size: ${widget.model.cylinderSize.name}"),
|
// Text("Quantity: ${widget.model.requestedQty.toStringAsFixed(0)}"),
|
||||||
Text("Cylinder Type: ${widget.model.cylinderType.name}"),
|
// Text("Cylinder Size: ${widget.model.cylinderSize.name}"),
|
||||||
],
|
// Text("Cylinder Type: ${widget.model.cylinderType.name}"),
|
||||||
),
|
// ],
|
||||||
if (widget.model.deliverdQty != null)
|
// ),
|
||||||
Row(
|
// if (widget.model.deliverdQty != null)
|
||||||
children: [
|
// Row(
|
||||||
const Text("Delivered Quantity: "),
|
// children: [
|
||||||
Text(widget.model.deliverdQty.toStringAsFixed(0)),
|
// const Text("Delivered Quantity: "),
|
||||||
],
|
// Text(widget.model.deliverdQty.toStringAsFixed(0)),
|
||||||
),
|
// ],
|
||||||
if (startEditing) const SizedBox(height: 16),
|
// ),
|
||||||
if (startEditing) ASubTitle(context.translation.deliveredQuantity),
|
// if (startEditing) const SizedBox(height: 16),
|
||||||
if (startEditing) const SizedBox(height: 4),
|
// if (startEditing) ASubTitle(context.translation.deliveredQuantity),
|
||||||
if (startEditing)
|
// if (startEditing) const SizedBox(height: 4),
|
||||||
ATextFormField(
|
// if (startEditing)
|
||||||
initialValue: widget.model.deliverdQty?.toString() ?? "0",
|
// ATextFormField(
|
||||||
textAlign: TextAlign.center,
|
// initialValue: widget.model.deliverdQty?.toString() ?? "0",
|
||||||
style: Theme.of(context).textTheme.titleMedium,
|
// textAlign: TextAlign.center,
|
||||||
// validator: (value) => Validator.isNumeric(value) ? null : "allow numbers only",
|
// style: Theme.of(context).textTheme.titleMedium,
|
||||||
textInputType: TextInputType.number,
|
// // validator: (value) => Validator.isNumeric(value) ? null : "allow numbers only",
|
||||||
onSaved: (value) {
|
// textInputType: TextInputType.number,
|
||||||
if (value.isNotEmpty) {
|
// onSaved: (value) {
|
||||||
widget.model.deliverdQty = double.tryParse(value);
|
// if (value.isNotEmpty) {
|
||||||
} else {
|
// widget.model.deliverdQty = double.tryParse(value);
|
||||||
widget.model.deliverdQty = 0;
|
// } else {
|
||||||
}
|
// widget.model.deliverdQty = 0;
|
||||||
},
|
// }
|
||||||
),
|
// },
|
||||||
if (startEditing) const SizedBox(height: 8),
|
// ),
|
||||||
if (startEditing)
|
// if (startEditing) const SizedBox(height: 8),
|
||||||
AButton(
|
// if (startEditing)
|
||||||
text: context.translation.edit,
|
// AButton(
|
||||||
onPressed: () {
|
// text: context.translation.edit,
|
||||||
_formKey.currentState?.save();
|
// onPressed: () {
|
||||||
widget.onPressed();
|
// _formKey.currentState?.save();
|
||||||
},
|
// widget.onPressed();
|
||||||
),
|
// },
|
||||||
const Divider(),
|
// ),
|
||||||
],
|
// const Divider(),
|
||||||
),
|
// ],
|
||||||
);
|
// ),
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,65 +1,66 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/controllers/validator/validator.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
// import 'package:test_sa/controllers/validator/validator.dart';
|
||||||
import 'package:test_sa/views/widgets/app_text_form_field.dart';
|
// import 'package:test_sa/extensions/context_extension.dart';
|
||||||
import 'package:test_sa/views/widgets/requests/info_row.dart';
|
// import 'package:test_sa/views/widgets/app_text_form_field.dart';
|
||||||
import 'package:test_sa/views/widgets/titles/app_sub_title.dart';
|
// import 'package:test_sa/views/widgets/requests/info_row.dart';
|
||||||
import 'package:test_sa/views/widgets/titles/app_title.dart';
|
// import 'package:test_sa/views/widgets/titles/app_sub_title.dart';
|
||||||
|
// import 'package:test_sa/views/widgets/titles/app_title.dart';
|
||||||
import '../../../models/new_models/gas_refill_model.dart';
|
//
|
||||||
|
// import '../../../models/new_models/gas_refill_model.dart';
|
||||||
class GasRefillUpdateDetailsItem extends StatelessWidget {
|
//
|
||||||
final GasRefillDetails details;
|
// class GasRefillUpdateDetailsItem extends StatelessWidget {
|
||||||
final bool enableEdit;
|
// final GasRefillDetails details;
|
||||||
final bool validate;
|
// final bool enableEdit;
|
||||||
|
// final bool validate;
|
||||||
const GasRefillUpdateDetailsItem({Key key, this.details, this.enableEdit, this.validate}) : super(key: key);
|
//
|
||||||
|
// const GasRefillUpdateDetailsItem({Key key, this.details, this.enableEdit, this.validate}) : super(key: key);
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return Column(
|
// Widget build(BuildContext context) {
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
// return Column(
|
||||||
children: [
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
ATitle(details.gasType.name),
|
// children: [
|
||||||
RequestInfoRow(
|
// ATitle(details.gasType.name),
|
||||||
title: "Cylinder Size",
|
// RequestInfoRow(
|
||||||
info: details.cylinderSize.name,
|
// title: "Cylinder Size",
|
||||||
),
|
// info: details.cylinderSize.name,
|
||||||
RequestInfoRow(
|
// ),
|
||||||
title: "Requested Quantity",
|
// RequestInfoRow(
|
||||||
info: details.deliverdQty?.toStringAsFixed(0) ?? "",
|
// title: "Requested Quantity",
|
||||||
),
|
// info: details.deliverdQty?.toStringAsFixed(0) ?? "",
|
||||||
enableEdit
|
// ),
|
||||||
? Column(
|
// enableEdit
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
// ? Column(
|
||||||
children: [
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
ASubTitle(context.translation.quantity),
|
// children: [
|
||||||
if (validate && details.deliverdQty == null)
|
// ASubTitle(context.translation.quantity),
|
||||||
ASubTitle(
|
// if (validate && details.deliverdQty == null)
|
||||||
context.translation.requiredWord,
|
// ASubTitle(
|
||||||
color: Colors.red,
|
// context.translation.requiredWord,
|
||||||
),
|
// color: Colors.red,
|
||||||
SizedBox(
|
// ),
|
||||||
height: 4,
|
// SizedBox(
|
||||||
),
|
// height: 4,
|
||||||
ATextFormField(
|
// ),
|
||||||
initialValue: (details.deliverdQty ?? "").toString(),
|
// ATextFormField(
|
||||||
textAlign: TextAlign.center,
|
// initialValue: (details.deliverdQty ?? "").toString(),
|
||||||
style: Theme.of(context).textTheme.subtitle1,
|
// textAlign: TextAlign.center,
|
||||||
validator: (value) => Validator.isNumeric(value) ? null : "allow numbers only",
|
// style: Theme.of(context).textTheme.subtitle1,
|
||||||
textInputType: TextInputType.number,
|
// validator: (value) => Validator.isNumeric(value) ? null : "allow numbers only",
|
||||||
onSaved: (value) {
|
// textInputType: TextInputType.number,
|
||||||
details.deliverdQty = double.tryParse(value);
|
// onSaved: (value) {
|
||||||
},
|
// details.deliverdQty = double.tryParse(value);
|
||||||
),
|
// },
|
||||||
],
|
// ),
|
||||||
)
|
// ],
|
||||||
: RequestInfoRow(
|
// )
|
||||||
title: "Delivered Quantity",
|
// : RequestInfoRow(
|
||||||
info: details.deliverdQty?.toStringAsFixed(0),
|
// title: "Delivered Quantity",
|
||||||
),
|
// info: details.deliverdQty?.toStringAsFixed(0),
|
||||||
//SizedBox(height: 16,)
|
// ),
|
||||||
],
|
// //SizedBox(height: 16,)
|
||||||
);
|
// ],
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,95 +1,96 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:flutter_typeahead/flutter_typeahead.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
// import 'package:flutter_typeahead/flutter_typeahead.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/hospitals_provider.dart';
|
// import 'package:provider/provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/hospitals_provider.dart';
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/models/hospital.dart';
|
// import 'package:test_sa/extensions/context_extension.dart';
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:test_sa/models/hospital.dart';
|
||||||
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
class HospitalAutoCompleteField extends StatefulWidget {
|
//
|
||||||
final String initialValue;
|
// class HospitalAutoCompleteField extends StatefulWidget {
|
||||||
final Function(Hospital) onSearch;
|
// final String initialValue;
|
||||||
|
// final Function(Hospital) onSearch;
|
||||||
//final Function(Hospital) onSave;
|
//
|
||||||
|
// //final Function(Hospital) onSave;
|
||||||
const HospitalAutoCompleteField({
|
//
|
||||||
Key key,
|
// const HospitalAutoCompleteField({
|
||||||
this.onSearch,
|
// Key key,
|
||||||
this.initialValue,
|
// this.onSearch,
|
||||||
}) : super(key: key);
|
// this.initialValue,
|
||||||
|
// }) : super(key: key);
|
||||||
@override
|
//
|
||||||
_HospitalAutoCompleteFieldState createState() => _HospitalAutoCompleteFieldState();
|
// @override
|
||||||
}
|
// _HospitalAutoCompleteFieldState createState() => _HospitalAutoCompleteFieldState();
|
||||||
|
// }
|
||||||
class _HospitalAutoCompleteFieldState extends State<HospitalAutoCompleteField> {
|
//
|
||||||
SettingProvider _settingProvider;
|
// class _HospitalAutoCompleteFieldState extends State<HospitalAutoCompleteField> {
|
||||||
TextEditingController _controller;
|
// SettingProvider _settingProvider;
|
||||||
|
// TextEditingController _controller;
|
||||||
@override
|
//
|
||||||
void initState() {
|
// @override
|
||||||
_controller = TextEditingController(text: widget.initialValue);
|
// void initState() {
|
||||||
super.initState();
|
// _controller = TextEditingController(text: widget.initialValue);
|
||||||
}
|
// super.initState();
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
void didUpdateWidget(covariant HospitalAutoCompleteField oldWidget) {
|
// @override
|
||||||
super.didUpdateWidget(oldWidget);
|
// void didUpdateWidget(covariant HospitalAutoCompleteField oldWidget) {
|
||||||
|
// super.didUpdateWidget(oldWidget);
|
||||||
if (oldWidget.initialValue != widget.initialValue) {
|
//
|
||||||
_controller = TextEditingController(text: widget.initialValue);
|
// if (oldWidget.initialValue != widget.initialValue) {
|
||||||
}
|
// _controller = TextEditingController(text: widget.initialValue);
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
void dispose() {
|
// @override
|
||||||
_controller.dispose();
|
// void dispose() {
|
||||||
super.dispose();
|
// _controller.dispose();
|
||||||
}
|
// super.dispose();
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
_settingProvider = Provider.of<SettingProvider>(context);
|
// Widget build(BuildContext context) {
|
||||||
|
// _settingProvider = Provider.of<SettingProvider>(context);
|
||||||
return Container(
|
//
|
||||||
padding: EdgeInsets.symmetric(horizontal: 16),
|
// return Container(
|
||||||
decoration: BoxDecoration(
|
// padding: EdgeInsets.symmetric(horizontal: 16),
|
||||||
// color: AColors.inputFieldBackgroundColor,
|
// decoration: BoxDecoration(
|
||||||
border: Border.all(
|
// // color: AColors.inputFieldBackgroundColor,
|
||||||
color: Color(0xffefefef),
|
// border: Border.all(
|
||||||
),
|
// color: Color(0xffefefef),
|
||||||
borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
|
// ),
|
||||||
// boxShadow: [
|
// borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
|
||||||
// AppStyle.boxShadow
|
// // boxShadow: [
|
||||||
// ]
|
// // AppStyle.boxShadow
|
||||||
),
|
// // ]
|
||||||
child: TypeAheadField<Hospital>(
|
// ),
|
||||||
textFieldConfiguration: TextFieldConfiguration(
|
// child: TypeAheadField<Hospital>(
|
||||||
style: Theme.of(context).textTheme.headline6,
|
// textFieldConfiguration: TextFieldConfiguration(
|
||||||
controller: _controller,
|
// style: Theme.of(context).textTheme.headline6,
|
||||||
textAlign: TextAlign.center,
|
// controller: _controller,
|
||||||
decoration: InputDecoration(
|
// textAlign: TextAlign.center,
|
||||||
hintText: context.translation.hospital,
|
// decoration: InputDecoration(
|
||||||
border: InputBorder.none,
|
// hintText: context.translation.hospital,
|
||||||
disabledBorder: InputBorder.none,
|
// border: InputBorder.none,
|
||||||
focusedBorder: InputBorder.none,
|
// disabledBorder: InputBorder.none,
|
||||||
enabledBorder: InputBorder.none,
|
// focusedBorder: InputBorder.none,
|
||||||
),
|
// enabledBorder: InputBorder.none,
|
||||||
textInputAction: TextInputAction.search,
|
// ),
|
||||||
),
|
// textInputAction: TextInputAction.search,
|
||||||
suggestionsCallback: (vale) async {
|
// ),
|
||||||
return await HospitalsProvider().getHospitalsList(host: _settingProvider.host, title: vale);
|
// suggestionsCallback: (vale) async {
|
||||||
},
|
// return await HospitalsProvider().getHospitalsList(host: _settingProvider.host, title: vale);
|
||||||
itemBuilder: (context, hospital) {
|
// },
|
||||||
return ListTile(
|
// itemBuilder: (context, hospital) {
|
||||||
title: Text(hospital.name),
|
// return ListTile(
|
||||||
);
|
// title: Text(hospital.name),
|
||||||
},
|
// );
|
||||||
onSuggestionSelected: (hospital) {
|
// },
|
||||||
widget.onSearch(hospital);
|
// onSuggestionSelected: (hospital) {
|
||||||
},
|
// widget.onSearch(hospital);
|
||||||
),
|
// },
|
||||||
);
|
// ),
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,107 +1,108 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:flutter_typeahead/flutter_typeahead.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
// import 'package:flutter_typeahead/flutter_typeahead.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/hospitals_provider.dart';
|
// import 'package:provider/provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/hospitals_provider.dart';
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/models/hospital.dart';
|
// import 'package:test_sa/extensions/context_extension.dart';
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:test_sa/models/hospital.dart';
|
||||||
import 'package:test_sa/views/widgets/loaders/app_loading.dart';
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
|
// import 'package:test_sa/views/widgets/loaders/app_loading.dart';
|
||||||
class HospitalAutoCompleteField extends StatefulWidget {
|
//
|
||||||
final String initialValue;
|
// class HospitalAutoCompleteField extends StatefulWidget {
|
||||||
final Function(Hospital) onSearch;
|
// final String initialValue;
|
||||||
final bool enabled;
|
// final Function(Hospital) onSearch;
|
||||||
|
// final bool enabled;
|
||||||
//final Function(Hospital) onSave;
|
//
|
||||||
|
// //final Function(Hospital) onSave;
|
||||||
const HospitalAutoCompleteField({
|
//
|
||||||
Key key,
|
// const HospitalAutoCompleteField({
|
||||||
this.onSearch,
|
// Key key,
|
||||||
this.initialValue,
|
// this.onSearch,
|
||||||
this.enabled = true,
|
// this.initialValue,
|
||||||
}) : super(key: key);
|
// this.enabled = true,
|
||||||
|
// }) : super(key: key);
|
||||||
@override
|
//
|
||||||
_HospitalAutoCompleteFieldState createState() => _HospitalAutoCompleteFieldState();
|
// @override
|
||||||
}
|
// _HospitalAutoCompleteFieldState createState() => _HospitalAutoCompleteFieldState();
|
||||||
|
// }
|
||||||
class _HospitalAutoCompleteFieldState extends State<HospitalAutoCompleteField> {
|
//
|
||||||
SettingProvider _settingProvider;
|
// class _HospitalAutoCompleteFieldState extends State<HospitalAutoCompleteField> {
|
||||||
TextEditingController _controller;
|
// SettingProvider _settingProvider;
|
||||||
|
// TextEditingController _controller;
|
||||||
@override
|
//
|
||||||
void initState() {
|
// @override
|
||||||
_controller = TextEditingController(text: widget.initialValue);
|
// void initState() {
|
||||||
super.initState();
|
// _controller = TextEditingController(text: widget.initialValue);
|
||||||
}
|
// super.initState();
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
void didUpdateWidget(covariant HospitalAutoCompleteField oldWidget) {
|
// @override
|
||||||
super.didUpdateWidget(oldWidget);
|
// void didUpdateWidget(covariant HospitalAutoCompleteField oldWidget) {
|
||||||
|
// super.didUpdateWidget(oldWidget);
|
||||||
if (oldWidget.initialValue != widget.initialValue) {
|
//
|
||||||
_controller = TextEditingController(text: widget.initialValue);
|
// if (oldWidget.initialValue != widget.initialValue) {
|
||||||
}
|
// _controller = TextEditingController(text: widget.initialValue);
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
void dispose() {
|
// @override
|
||||||
_controller.dispose();
|
// void dispose() {
|
||||||
super.dispose();
|
// _controller.dispose();
|
||||||
}
|
// super.dispose();
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
_settingProvider = Provider.of<SettingProvider>(context);
|
// Widget build(BuildContext context) {
|
||||||
|
// _settingProvider = Provider.of<SettingProvider>(context);
|
||||||
return Container(
|
//
|
||||||
padding: EdgeInsets.symmetric(horizontal: 16),
|
// return Container(
|
||||||
decoration: BoxDecoration(
|
// padding: EdgeInsets.symmetric(horizontal: 16),
|
||||||
// color: AColors.inputFieldBackgroundColor,
|
// decoration: BoxDecoration(
|
||||||
border: Border.all(
|
// // color: AColors.inputFieldBackgroundColor,
|
||||||
color: Color(0xffefefef),
|
// border: Border.all(
|
||||||
),
|
// color: Color(0xffefefef),
|
||||||
borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
|
// ),
|
||||||
// boxShadow: [
|
// borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
|
||||||
// AppStyle.boxShadow
|
// // boxShadow: [
|
||||||
// ]
|
// // AppStyle.boxShadow
|
||||||
),
|
// // ]
|
||||||
child: widget.enabled
|
// ),
|
||||||
? TypeAheadField<Hospital>(
|
// child: widget.enabled
|
||||||
textFieldConfiguration: TextFieldConfiguration(
|
// ? TypeAheadField<Hospital>(
|
||||||
style: Theme.of(context).textTheme.headline6,
|
// textFieldConfiguration: TextFieldConfiguration(
|
||||||
controller: _controller,
|
// style: Theme.of(context).textTheme.headline6,
|
||||||
textAlign: TextAlign.center,
|
// controller: _controller,
|
||||||
decoration: InputDecoration(
|
// textAlign: TextAlign.center,
|
||||||
hintText: context.translation.hospital,
|
// decoration: InputDecoration(
|
||||||
border: InputBorder.none,
|
// hintText: context.translation.hospital,
|
||||||
disabledBorder: InputBorder.none,
|
// border: InputBorder.none,
|
||||||
focusedBorder: InputBorder.none,
|
// disabledBorder: InputBorder.none,
|
||||||
enabledBorder: InputBorder.none,
|
// focusedBorder: InputBorder.none,
|
||||||
),
|
// enabledBorder: InputBorder.none,
|
||||||
textInputAction: TextInputAction.search,
|
// ),
|
||||||
),
|
// textInputAction: TextInputAction.search,
|
||||||
suggestionsCallback: (vale) async {
|
// ),
|
||||||
return await HospitalsProvider().getHospitalsListByVal(searchVal: _controller.text);
|
// suggestionsCallback: (vale) async {
|
||||||
},
|
// return await HospitalsProvider().getHospitalsListByVal(searchVal: _controller.text);
|
||||||
itemBuilder: (context, hospital) {
|
// },
|
||||||
return ListTile(
|
// itemBuilder: (context, hospital) {
|
||||||
title: Text(hospital.name),
|
// return ListTile(
|
||||||
);
|
// title: Text(hospital.name),
|
||||||
},
|
// );
|
||||||
onSuggestionSelected: (hospital) {
|
// },
|
||||||
widget.onSearch(hospital);
|
// onSuggestionSelected: (hospital) {
|
||||||
},
|
// widget.onSearch(hospital);
|
||||||
)
|
// },
|
||||||
: widget.initialValue == null
|
// )
|
||||||
? const Padding(
|
// : widget.initialValue == null
|
||||||
padding: EdgeInsets.all(8.0),
|
// ? const Padding(
|
||||||
child: ALoading(),
|
// padding: EdgeInsets.all(8.0),
|
||||||
)
|
// child: ALoading(),
|
||||||
: ListTile(
|
// )
|
||||||
title: Center(child: Text(widget.initialValue)),
|
// : ListTile(
|
||||||
),
|
// title: Center(child: Text(widget.initialValue)),
|
||||||
);
|
// ),
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,48 +1,49 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/models/hospital.dart';
|
// import 'package:test_sa/extensions/context_extension.dart';
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:test_sa/models/hospital.dart';
|
||||||
import 'package:test_sa/views/widgets/hospitals/single_hospital_picker.dart';
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
|
// import 'package:test_sa/views/widgets/hospitals/single_hospital_picker.dart';
|
||||||
class HospitalButton extends StatelessWidget {
|
//
|
||||||
final Function(Hospital) onHospitalPick;
|
// class HospitalButton extends StatelessWidget {
|
||||||
final Hospital hospital;
|
// final Function(Hospital) onHospitalPick;
|
||||||
|
// final Hospital hospital;
|
||||||
const HospitalButton({Key key, this.hospital, this.onHospitalPick}) : super(key: key);
|
//
|
||||||
|
// const HospitalButton({Key key, this.hospital, this.onHospitalPick}) : super(key: key);
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return ElevatedButton(
|
// Widget build(BuildContext context) {
|
||||||
style: ElevatedButton.styleFrom(
|
// return ElevatedButton(
|
||||||
elevation: 0,
|
// style: ElevatedButton.styleFrom(
|
||||||
// foregroundColor: AColors.primaryColor,
|
// elevation: 0,
|
||||||
// backgroundColor: AColors.inputFieldBackgroundColor,
|
// // foregroundColor: AColors.primaryColor,
|
||||||
padding: EdgeInsets.symmetric(horizontal: 8, vertical: 8),
|
// // backgroundColor: AColors.inputFieldBackgroundColor,
|
||||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context))),
|
// padding: EdgeInsets.symmetric(horizontal: 8, vertical: 8),
|
||||||
),
|
// shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context))),
|
||||||
child: Row(
|
// ),
|
||||||
children: [
|
// child: Row(
|
||||||
Expanded(
|
// children: [
|
||||||
child: Padding(
|
// Expanded(
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 8),
|
// child: Padding(
|
||||||
child: Text(
|
// padding: const EdgeInsets.symmetric(horizontal: 8),
|
||||||
hospital?.name ?? context.translation.pickHospital,
|
// child: Text(
|
||||||
// style: Theme.of(context).textTheme.bodyText1.copyWith(fontSize: 14, color: AColors.grey3A),
|
// hospital?.name ?? context.translation.pickHospital,
|
||||||
// textScaleFactor: AppStyle.getScaleFactor(context),
|
// // style: Theme.of(context).textTheme.bodyText1.copyWith(fontSize: 14, color: AColors.grey3A),
|
||||||
textDirection: TextDirection.rtl,
|
// // textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
textAlign: TextAlign.left,
|
// textDirection: TextDirection.rtl,
|
||||||
),
|
// textAlign: TextAlign.left,
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
const Icon(
|
// ),
|
||||||
Icons.keyboard_arrow_down,
|
// const Icon(
|
||||||
size: 28, /*color: AColors.grey3A*/
|
// Icons.keyboard_arrow_down,
|
||||||
),
|
// size: 28, /*color: AColors.grey3A*/
|
||||||
],
|
// ),
|
||||||
),
|
// ],
|
||||||
onPressed: () async {
|
// ),
|
||||||
Hospital _hospital = await Navigator.of(context).pushNamed(SingleHospitalPicker.id) as Hospital;
|
// onPressed: () async {
|
||||||
onHospitalPick(_hospital);
|
// Hospital _hospital = await Navigator.of(context).pushNamed(SingleHospitalPicker.id) as Hospital;
|
||||||
});
|
// onHospitalPick(_hospital);
|
||||||
}
|
// });
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,32 +1,33 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:flutter/material.dart';
|
||||||
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
import 'image_item.dart';
|
//
|
||||||
import 'images_viewer.dart';
|
// import 'image_item.dart';
|
||||||
|
// import 'images_viewer.dart';
|
||||||
class ImagesList extends StatelessWidget {
|
//
|
||||||
final List<String> images;
|
// class ImagesList extends StatelessWidget {
|
||||||
final EdgeInsets padding;
|
// final List<String> images;
|
||||||
|
// final EdgeInsets padding;
|
||||||
const ImagesList({Key key, this.images, this.padding}) : super(key: key);
|
//
|
||||||
|
// const ImagesList({Key key, this.images, this.padding}) : super(key: key);
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return ListView.builder(
|
// Widget build(BuildContext context) {
|
||||||
padding: padding ?? EdgeInsets.symmetric(horizontal: 32 * AppStyle.getScaleFactor(context)),
|
// return ListView.builder(
|
||||||
scrollDirection: Axis.horizontal,
|
// padding: padding ?? EdgeInsets.symmetric(horizontal: 32 * AppStyle.getScaleFactor(context)),
|
||||||
itemCount: images.length,
|
// scrollDirection: Axis.horizontal,
|
||||||
itemBuilder: (context, itemIndex) {
|
// itemCount: images.length,
|
||||||
return ImageItem(
|
// itemBuilder: (context, itemIndex) {
|
||||||
url: images[itemIndex],
|
// return ImageItem(
|
||||||
onPressed: () {
|
// url: images[itemIndex],
|
||||||
Navigator.of(context).push(MaterialPageRoute(
|
// onPressed: () {
|
||||||
builder: (_) => ImagesViewer(
|
// Navigator.of(context).push(MaterialPageRoute(
|
||||||
initialIndex: itemIndex,
|
// builder: (_) => ImagesViewer(
|
||||||
images: images,
|
// initialIndex: itemIndex,
|
||||||
)));
|
// images: images,
|
||||||
},
|
// )));
|
||||||
);
|
// },
|
||||||
});
|
// );
|
||||||
}
|
// });
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,86 +1,87 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/views/widgets/loaders/image_loader.dart';
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
|
// import 'package:test_sa/views/widgets/loaders/image_loader.dart';
|
||||||
class ImagesViewer extends StatelessWidget {
|
//
|
||||||
final List<String> images;
|
// class ImagesViewer extends StatelessWidget {
|
||||||
final int initialIndex;
|
// final List<String> images;
|
||||||
|
// final int initialIndex;
|
||||||
const ImagesViewer({
|
//
|
||||||
Key key,
|
// const ImagesViewer({
|
||||||
this.images,
|
// Key key,
|
||||||
this.initialIndex = 0,
|
// this.images,
|
||||||
}) : super(key: key);
|
// this.initialIndex = 0,
|
||||||
|
// }) : super(key: key);
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return Scaffold(
|
// Widget build(BuildContext context) {
|
||||||
body: DefaultTabController(
|
// return Scaffold(
|
||||||
length: images.length,
|
// body: DefaultTabController(
|
||||||
initialIndex: initialIndex,
|
// length: images.length,
|
||||||
child: SafeArea(
|
// initialIndex: initialIndex,
|
||||||
child: Column(
|
// child: SafeArea(
|
||||||
children: [
|
// child: Column(
|
||||||
images.length == 1
|
// children: [
|
||||||
? SizedBox.shrink()
|
// images.length == 1
|
||||||
: Column(
|
// ? SizedBox.shrink()
|
||||||
children: [
|
// : Column(
|
||||||
SizedBox(
|
// children: [
|
||||||
height: 8 * AppStyle.getScaleFactor(context),
|
// SizedBox(
|
||||||
),
|
// height: 8 * AppStyle.getScaleFactor(context),
|
||||||
TabBar(
|
// ),
|
||||||
isScrollable: images.length * 84 > MediaQuery.of(context).size.width,
|
// TabBar(
|
||||||
indicator: BoxDecoration(
|
// isScrollable: images.length * 84 > MediaQuery.of(context).size.width,
|
||||||
color: Theme.of(context).primaryColor,
|
// indicator: BoxDecoration(
|
||||||
borderRadius: BorderRadius.only(
|
// color: Theme.of(context).primaryColor,
|
||||||
topRight: Radius.circular(24 * AppStyle.getScaleFactor(context)),
|
// borderRadius: BorderRadius.only(
|
||||||
bottomLeft: Radius.circular(24 * AppStyle.getScaleFactor(context)),
|
// topRight: Radius.circular(24 * AppStyle.getScaleFactor(context)),
|
||||||
),
|
// bottomLeft: Radius.circular(24 * AppStyle.getScaleFactor(context)),
|
||||||
),
|
// ),
|
||||||
indicatorSize: TabBarIndicatorSize.label,
|
// ),
|
||||||
tabs: images
|
// indicatorSize: TabBarIndicatorSize.label,
|
||||||
.map((imagePath) => InteractiveViewer(
|
// tabs: images
|
||||||
child: Container(
|
// .map((imagePath) => InteractiveViewer(
|
||||||
height: 60,
|
// child: Container(
|
||||||
width: 80,
|
// height: 60,
|
||||||
padding: EdgeInsets.all(
|
// width: 80,
|
||||||
AppStyle.getScaleFactor(context),
|
// padding: EdgeInsets.all(
|
||||||
),
|
// AppStyle.getScaleFactor(context),
|
||||||
child: ClipRRect(
|
// ),
|
||||||
borderRadius: BorderRadius.only(
|
// child: ClipRRect(
|
||||||
topRight: Radius.circular(22 * AppStyle.getScaleFactor(context)),
|
// borderRadius: BorderRadius.only(
|
||||||
bottomLeft: Radius.circular(22 * AppStyle.getScaleFactor(context)),
|
// topRight: Radius.circular(22 * AppStyle.getScaleFactor(context)),
|
||||||
),
|
// bottomLeft: Radius.circular(22 * AppStyle.getScaleFactor(context)),
|
||||||
child: ImageLoader(
|
// ),
|
||||||
url: imagePath,
|
// child: ImageLoader(
|
||||||
boxFit: BoxFit.cover,
|
// url: imagePath,
|
||||||
),
|
// boxFit: BoxFit.cover,
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
))
|
// ),
|
||||||
.toList(),
|
// ))
|
||||||
),
|
// .toList(),
|
||||||
SizedBox(
|
// ),
|
||||||
height: 8 * AppStyle.getScaleFactor(context),
|
// SizedBox(
|
||||||
),
|
// height: 8 * AppStyle.getScaleFactor(context),
|
||||||
],
|
// ),
|
||||||
),
|
// ],
|
||||||
Expanded(
|
// ),
|
||||||
child: TabBarView(
|
// Expanded(
|
||||||
children: images
|
// child: TabBarView(
|
||||||
.map((imagePath) => InteractiveViewer(
|
// children: images
|
||||||
child: ImageLoader(
|
// .map((imagePath) => InteractiveViewer(
|
||||||
url: imagePath,
|
// child: ImageLoader(
|
||||||
boxFit: BoxFit.contain,
|
// url: imagePath,
|
||||||
),
|
// boxFit: BoxFit.contain,
|
||||||
))
|
// ),
|
||||||
.toList(),
|
// ))
|
||||||
),
|
// .toList(),
|
||||||
),
|
// ),
|
||||||
],
|
// ),
|
||||||
),
|
// ],
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
);
|
// ),
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,143 +1,144 @@
|
|||||||
import 'dart:io';
|
///todo deleted
|
||||||
|
// import 'dart:io';
|
||||||
import 'package:file_picker/file_picker.dart';
|
//
|
||||||
import 'package:flutter/cupertino.dart';
|
// import 'package:file_picker/file_picker.dart';
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:image_picker/image_picker.dart';
|
// import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
// import 'package:image_picker/image_picker.dart';
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:test_sa/extensions/context_extension.dart';
|
||||||
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
class AMiniOneFilePicker extends StatefulWidget {
|
//
|
||||||
final Function(File) onPick;
|
// class AMiniOneFilePicker extends StatefulWidget {
|
||||||
final File file;
|
// final Function(File) onPick;
|
||||||
final String label;
|
// final File file;
|
||||||
final bool error;
|
// final String label;
|
||||||
|
// final bool error;
|
||||||
const AMiniOneFilePicker({Key key, this.label, this.error, this.file, this.onPick}) : super(key: key);
|
//
|
||||||
|
// const AMiniOneFilePicker({Key key, this.label, this.error, this.file, this.onPick}) : super(key: key);
|
||||||
@override
|
//
|
||||||
_AMiniOneFilePickerState createState() => _AMiniOneFilePickerState();
|
// @override
|
||||||
}
|
// _AMiniOneFilePickerState createState() => _AMiniOneFilePickerState();
|
||||||
|
// }
|
||||||
class _AMiniOneFilePickerState extends State<AMiniOneFilePicker> {
|
//
|
||||||
File _file;
|
// class _AMiniOneFilePickerState extends State<AMiniOneFilePicker> {
|
||||||
|
// File _file;
|
||||||
@override
|
//
|
||||||
void initState() {
|
// @override
|
||||||
super.initState();
|
// void initState() {
|
||||||
_file = widget.file;
|
// super.initState();
|
||||||
}
|
// _file = widget.file;
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return Column(
|
// Widget build(BuildContext context) {
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
// return Column(
|
||||||
children: [
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
Visibility(
|
// children: [
|
||||||
visible: widget.label != null,
|
// Visibility(
|
||||||
child: Column(
|
// visible: widget.label != null,
|
||||||
children: [
|
// child: Column(
|
||||||
SizedBox(height: 8 * AppStyle.getScaleFactor(context)),
|
// children: [
|
||||||
Text(
|
// SizedBox(height: 8 * AppStyle.getScaleFactor(context)),
|
||||||
widget.label ?? '',
|
// Text(
|
||||||
style: Theme.of(context).textTheme.titleLarge,
|
// widget.label ?? '',
|
||||||
textScaleFactor: AppStyle.getScaleFactor(context),
|
// style: Theme.of(context).textTheme.titleLarge,
|
||||||
),
|
// textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
],
|
// ),
|
||||||
),
|
// ],
|
||||||
),
|
// ),
|
||||||
Visibility(
|
// ),
|
||||||
visible: _file == null && widget.error == true,
|
// Visibility(
|
||||||
child: Column(
|
// visible: _file == null && widget.error == true,
|
||||||
children: [
|
// child: Column(
|
||||||
const SizedBox(height: 4),
|
// children: [
|
||||||
Text(
|
// const SizedBox(height: 4),
|
||||||
context.translation.requiredFile,
|
// Text(
|
||||||
style: Theme.of(context).textTheme.titleLarge.copyWith(color: Colors.red),
|
// context.translation.requiredFile,
|
||||||
textScaleFactor: AppStyle.getScaleFactor(context),
|
// style: Theme.of(context).textTheme.titleLarge.copyWith(color: Colors.red),
|
||||||
),
|
// textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
],
|
// ),
|
||||||
),
|
// ],
|
||||||
),
|
// ),
|
||||||
const SizedBox(height: 8),
|
// ),
|
||||||
SizedBox(
|
// const SizedBox(height: 8),
|
||||||
width: MediaQuery.of(context).size.width,
|
// SizedBox(
|
||||||
child: ElevatedButton(
|
// width: MediaQuery.of(context).size.width,
|
||||||
style: ElevatedButton.styleFrom(
|
// child: ElevatedButton(
|
||||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context))),
|
// style: ElevatedButton.styleFrom(
|
||||||
//primary: Colors.grey[200],
|
// shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context))),
|
||||||
textStyle: Theme.of(context).textTheme.labelSmall,
|
// //primary: Colors.grey[200],
|
||||||
padding: _file == null ? null : EdgeInsets.zero,
|
// textStyle: Theme.of(context).textTheme.labelSmall,
|
||||||
),
|
// padding: _file == null ? null : EdgeInsets.zero,
|
||||||
child: Padding(
|
// ),
|
||||||
padding: const EdgeInsets.all(8.0),
|
// child: Padding(
|
||||||
child: Text(
|
// padding: const EdgeInsets.all(8.0),
|
||||||
_file == null ? context.translation.pickFile : _file.path.split("/").last,
|
// child: Text(
|
||||||
textScaleFactor: AppStyle.getScaleFactor(context),
|
// _file == null ? context.translation.pickFile : _file.path.split("/").last,
|
||||||
),
|
// textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
),
|
// ),
|
||||||
onPressed: () async {
|
// ),
|
||||||
onFilePicker(context.translation);
|
// onPressed: () async {
|
||||||
},
|
// onFilePicker(context.translation);
|
||||||
),
|
// },
|
||||||
),
|
// ),
|
||||||
],
|
// ),
|
||||||
);
|
// ],
|
||||||
}
|
// );
|
||||||
|
// }
|
||||||
fromFilePicker(AppLocalizations subtitle) async {
|
//
|
||||||
FilePickerResult result = await FilePicker.platform.pickFiles(
|
// fromFilePicker(AppLocalizations subtitle) async {
|
||||||
type: FileType.custom,
|
// FilePickerResult result = await FilePicker.platform.pickFiles(
|
||||||
allowedExtensions: ['jpg', 'jpeg', 'png', 'pdf', 'doc', 'docx', 'xlsx', 'pptx'],
|
// type: FileType.custom,
|
||||||
);
|
// allowedExtensions: ['jpg', 'jpeg', 'png', 'pdf', 'doc', 'docx', 'xlsx', 'pptx'],
|
||||||
if (result != null) {
|
// );
|
||||||
for (var path in result.paths) {
|
// if (result != null) {
|
||||||
_file = File(path);
|
// for (var path in result.paths) {
|
||||||
widget.onPick(_file);
|
// _file = File(path);
|
||||||
}
|
// widget.onPick(_file);
|
||||||
setState(() {});
|
// }
|
||||||
}
|
// setState(() {});
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
onFilePicker(AppLocalizations subtitle) async {
|
//
|
||||||
ImageSource source = await showDialog(
|
// onFilePicker(AppLocalizations subtitle) async {
|
||||||
context: context,
|
// ImageSource source = await showDialog(
|
||||||
builder: (dialogContext) => CupertinoAlertDialog(
|
// context: context,
|
||||||
actions: <Widget>[
|
// builder: (dialogContext) => CupertinoAlertDialog(
|
||||||
TextButton(
|
// actions: <Widget>[
|
||||||
child: Text(subtitle.pickFromCamera),
|
// TextButton(
|
||||||
onPressed: () {
|
// child: Text(subtitle.pickFromCamera),
|
||||||
Navigator.of(dialogContext).pop(ImageSource.camera);
|
// onPressed: () {
|
||||||
},
|
// Navigator.of(dialogContext).pop(ImageSource.camera);
|
||||||
),
|
// },
|
||||||
TextButton(
|
// ),
|
||||||
child: Text(subtitle.pickFromGallery),
|
// TextButton(
|
||||||
onPressed: () {
|
// child: Text(subtitle.pickFromGallery),
|
||||||
Navigator.of(dialogContext).pop(ImageSource.gallery);
|
// onPressed: () {
|
||||||
},
|
// Navigator.of(dialogContext).pop(ImageSource.gallery);
|
||||||
),
|
// },
|
||||||
TextButton(
|
// ),
|
||||||
child: Text(subtitle.pickFromFiles),
|
// TextButton(
|
||||||
onPressed: () async {
|
// child: Text(subtitle.pickFromFiles),
|
||||||
await fromFilePicker(subtitle);
|
// onPressed: () async {
|
||||||
Navigator.pop(context);
|
// await fromFilePicker(subtitle);
|
||||||
},
|
// Navigator.pop(context);
|
||||||
),
|
// },
|
||||||
],
|
// ),
|
||||||
),
|
// ],
|
||||||
);
|
// ),
|
||||||
if (source == null) return;
|
// );
|
||||||
|
// if (source == null) return;
|
||||||
final pickedFile = await ImagePicker().pickImage(source: source, imageQuality: 70, maxWidth: 800, maxHeight: 800);
|
//
|
||||||
|
// final pickedFile = await ImagePicker().pickImage(source: source, imageQuality: 70, maxWidth: 800, maxHeight: 800);
|
||||||
if (pickedFile != null) {
|
//
|
||||||
File fileImage = File(pickedFile.path);
|
// if (pickedFile != null) {
|
||||||
if (fileImage != null) {
|
// File fileImage = File(pickedFile.path);
|
||||||
_file = File(pickedFile.path);
|
// if (fileImage != null) {
|
||||||
widget.onPick(_file);
|
// _file = File(pickedFile.path);
|
||||||
}
|
// widget.onPick(_file);
|
||||||
}
|
// }
|
||||||
setState(() {});
|
// }
|
||||||
}
|
// setState(() {});
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,127 +1,128 @@
|
|||||||
import 'dart:io';
|
///todo deleted
|
||||||
|
// import 'dart:io';
|
||||||
import 'package:flutter/cupertino.dart';
|
//
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:image_picker/image_picker.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
// import 'package:image_picker/image_picker.dart';
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:test_sa/extensions/context_extension.dart';
|
||||||
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
class AOneImagePicker extends StatefulWidget {
|
//
|
||||||
final Function(File) onPick;
|
// class AOneImagePicker extends StatefulWidget {
|
||||||
final File image;
|
// final Function(File) onPick;
|
||||||
final String label;
|
// final File image;
|
||||||
final bool error;
|
// final String label;
|
||||||
|
// final bool error;
|
||||||
const AOneImagePicker({Key key, this.label, this.error, this.image, this.onPick}) : super(key: key);
|
//
|
||||||
|
// const AOneImagePicker({Key key, this.label, this.error, this.image, this.onPick}) : super(key: key);
|
||||||
@override
|
//
|
||||||
_AOneImagePickerState createState() => _AOneImagePickerState();
|
// @override
|
||||||
}
|
// _AOneImagePickerState createState() => _AOneImagePickerState();
|
||||||
|
// }
|
||||||
class _AOneImagePickerState extends State<AOneImagePicker> {
|
//
|
||||||
File _image;
|
// class _AOneImagePickerState extends State<AOneImagePicker> {
|
||||||
|
// File _image;
|
||||||
@override
|
//
|
||||||
void initState() {
|
// @override
|
||||||
super.initState();
|
// void initState() {
|
||||||
_image = widget.image;
|
// super.initState();
|
||||||
}
|
// _image = widget.image;
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return Column(
|
// Widget build(BuildContext context) {
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
// return Column(
|
||||||
children: [
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
Visibility(
|
// children: [
|
||||||
visible: widget.label != null,
|
// Visibility(
|
||||||
child: Column(
|
// visible: widget.label != null,
|
||||||
children: [
|
// child: Column(
|
||||||
SizedBox(
|
// children: [
|
||||||
height: 8 * AppStyle.getScaleFactor(context),
|
// SizedBox(
|
||||||
),
|
// height: 8 * AppStyle.getScaleFactor(context),
|
||||||
Text(
|
// ),
|
||||||
widget.label ?? '',
|
// Text(
|
||||||
style: Theme.of(context).textTheme.headline6,
|
// widget.label ?? '',
|
||||||
textScaleFactor: AppStyle.getScaleFactor(context),
|
// style: Theme.of(context).textTheme.headline6,
|
||||||
),
|
// textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
],
|
// ),
|
||||||
),
|
// ],
|
||||||
),
|
// ),
|
||||||
Visibility(
|
// ),
|
||||||
visible: _image == null && widget.error == true,
|
// Visibility(
|
||||||
child: Column(
|
// visible: _image == null && widget.error == true,
|
||||||
children: [
|
// child: Column(
|
||||||
SizedBox(
|
// children: [
|
||||||
height: 4,
|
// SizedBox(
|
||||||
),
|
// height: 4,
|
||||||
Text(
|
// ),
|
||||||
context.translation.requiredImage,
|
// Text(
|
||||||
style: Theme.of(context).textTheme.headline6.copyWith(color: Colors.red),
|
// context.translation.requiredImage,
|
||||||
textScaleFactor: AppStyle.getScaleFactor(context),
|
// style: Theme.of(context).textTheme.headline6.copyWith(color: Colors.red),
|
||||||
),
|
// textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
],
|
// ),
|
||||||
),
|
// ],
|
||||||
),
|
// ),
|
||||||
SizedBox(
|
// ),
|
||||||
height: 8,
|
// SizedBox(
|
||||||
),
|
// height: 8,
|
||||||
Container(
|
// ),
|
||||||
height: MediaQuery.of(context).size.height / 8,
|
// Container(
|
||||||
width: MediaQuery.of(context).size.width,
|
// height: MediaQuery.of(context).size.height / 8,
|
||||||
child: ElevatedButton(
|
// width: MediaQuery.of(context).size.width,
|
||||||
style: ElevatedButton.styleFrom(
|
// child: ElevatedButton(
|
||||||
shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context))),
|
// style: ElevatedButton.styleFrom(
|
||||||
primary: Colors.grey[200],
|
// shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context))),
|
||||||
padding: _image == null ? null : EdgeInsets.zero,
|
// primary: Colors.grey[200],
|
||||||
),
|
// padding: _image == null ? null : EdgeInsets.zero,
|
||||||
child: _image == null
|
// ),
|
||||||
? Text(
|
// child: _image == null
|
||||||
context.translation.pickImage,
|
// ? Text(
|
||||||
style: Theme.of(context).textTheme.headline6,
|
// context.translation.pickImage,
|
||||||
textScaleFactor: AppStyle.getScaleFactor(context),
|
// style: Theme.of(context).textTheme.headline6,
|
||||||
)
|
// textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
: ClipRRect(
|
// )
|
||||||
borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
|
// : ClipRRect(
|
||||||
child: Image(
|
// borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
|
||||||
height: MediaQuery.of(context).size.height / 6,
|
// child: Image(
|
||||||
width: MediaQuery.of(context).size.width,
|
// height: MediaQuery.of(context).size.height / 6,
|
||||||
image: FileImage(_image),
|
// width: MediaQuery.of(context).size.width,
|
||||||
fit: BoxFit.cover,
|
// image: FileImage(_image),
|
||||||
),
|
// fit: BoxFit.cover,
|
||||||
),
|
// ),
|
||||||
onPressed: () async {
|
// ),
|
||||||
ImageSource source = await showDialog(
|
// onPressed: () async {
|
||||||
context: context,
|
// ImageSource source = await showDialog(
|
||||||
builder: (_) => CupertinoAlertDialog(
|
// context: context,
|
||||||
actions: <Widget>[
|
// builder: (_) => CupertinoAlertDialog(
|
||||||
TextButton(
|
// actions: <Widget>[
|
||||||
child: Text("pick from camera"),
|
// TextButton(
|
||||||
onPressed: () {
|
// child: Text("pick from camera"),
|
||||||
Navigator.of(context).pop(ImageSource.camera);
|
// onPressed: () {
|
||||||
},
|
// Navigator.of(context).pop(ImageSource.camera);
|
||||||
),
|
// },
|
||||||
TextButton(
|
// ),
|
||||||
child: Text("pick from gallery"),
|
// TextButton(
|
||||||
onPressed: () {
|
// child: Text("pick from gallery"),
|
||||||
Navigator.of(context).pop(ImageSource.gallery);
|
// onPressed: () {
|
||||||
},
|
// Navigator.of(context).pop(ImageSource.gallery);
|
||||||
),
|
// },
|
||||||
],
|
// ),
|
||||||
));
|
// ],
|
||||||
if (source == null) return;
|
// ));
|
||||||
|
// if (source == null) return;
|
||||||
final pickedFile = await ImagePicker().pickImage(source: source, imageQuality: 70, maxWidth: 1000, maxHeight: 1000);
|
//
|
||||||
|
// final pickedFile = await ImagePicker().pickImage(source: source, imageQuality: 70, maxWidth: 1000, maxHeight: 1000);
|
||||||
setState(() {
|
//
|
||||||
if (pickedFile != null) {
|
// setState(() {
|
||||||
_image = File(pickedFile.path);
|
// if (pickedFile != null) {
|
||||||
widget.onPick(_image);
|
// _image = File(pickedFile.path);
|
||||||
}
|
// widget.onPick(_image);
|
||||||
});
|
// }
|
||||||
},
|
// });
|
||||||
),
|
// },
|
||||||
),
|
// ),
|
||||||
],
|
// ),
|
||||||
);
|
// ],
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,140 +1,141 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/extensions/int_extensions.dart';
|
// import 'package:test_sa/extensions/context_extension.dart';
|
||||||
import 'package:test_sa/extensions/text_extensions.dart';
|
// import 'package:test_sa/extensions/int_extensions.dart';
|
||||||
import 'package:test_sa/extensions/widget_extensions.dart';
|
// import 'package:test_sa/extensions/text_extensions.dart';
|
||||||
import 'package:test_sa/new_views/app_style/app_color.dart';
|
// import 'package:test_sa/extensions/widget_extensions.dart';
|
||||||
|
// import 'package:test_sa/new_views/app_style/app_color.dart';
|
||||||
class InputWidget extends StatefulWidget {
|
//
|
||||||
final String labelText;
|
// class InputWidget extends StatefulWidget {
|
||||||
final String hintText;
|
// final String labelText;
|
||||||
final TextEditingController controller;
|
// final String hintText;
|
||||||
final VoidCallback suffixTap;
|
// final TextEditingController controller;
|
||||||
final bool isEnable;
|
// final VoidCallback suffixTap;
|
||||||
final bool hasSelection;
|
// final bool isEnable;
|
||||||
final int lines;
|
// final bool hasSelection;
|
||||||
final bool isInputTypeNum;
|
// final int lines;
|
||||||
final bool isTextIsPassword;
|
// final bool isInputTypeNum;
|
||||||
final bool isBackgroundEnable;
|
// final bool isTextIsPassword;
|
||||||
final bool isEnableBorder;
|
// final bool isBackgroundEnable;
|
||||||
final double verticalPadding;
|
// final bool isEnableBorder;
|
||||||
final double horizontalPadding;
|
// final double verticalPadding;
|
||||||
final Function(String) onChange;
|
// final double horizontalPadding;
|
||||||
final Function(String) validator;
|
// final Function(String) onChange;
|
||||||
|
// final Function(String) validator;
|
||||||
InputWidget(
|
//
|
||||||
this.labelText,
|
// InputWidget(
|
||||||
this.hintText,
|
// this.labelText,
|
||||||
this.controller, {
|
// this.hintText,
|
||||||
Key key,
|
// this.controller, {
|
||||||
this.isTextIsPassword = false,
|
// Key key,
|
||||||
this.suffixTap,
|
// this.isTextIsPassword = false,
|
||||||
this.validator,
|
// this.suffixTap,
|
||||||
this.isEnable = true,
|
// this.validator,
|
||||||
this.hasSelection = false,
|
// this.isEnable = true,
|
||||||
this.isEnableBorder = false,
|
// this.hasSelection = false,
|
||||||
this.lines = 1,
|
// this.isEnableBorder = false,
|
||||||
this.onChange,
|
// this.lines = 1,
|
||||||
this.isInputTypeNum = false,
|
// this.onChange,
|
||||||
this.isBackgroundEnable = false,
|
// this.isInputTypeNum = false,
|
||||||
this.verticalPadding = 10,
|
// this.isBackgroundEnable = false,
|
||||||
this.horizontalPadding = 16,
|
// this.verticalPadding = 10,
|
||||||
}) : super(key: key);
|
// this.horizontalPadding = 16,
|
||||||
|
// }) : super(key: key);
|
||||||
@override
|
//
|
||||||
_InputWidgetState createState() {
|
// @override
|
||||||
return _InputWidgetState();
|
// _InputWidgetState createState() {
|
||||||
}
|
// return _InputWidgetState();
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
class _InputWidgetState extends State<InputWidget> {
|
//
|
||||||
bool isObscureText;
|
// class _InputWidgetState extends State<InputWidget> {
|
||||||
|
// bool isObscureText;
|
||||||
@override
|
//
|
||||||
void initState() {
|
// @override
|
||||||
super.initState();
|
// void initState() {
|
||||||
isObscureText = widget.isTextIsPassword;
|
// super.initState();
|
||||||
}
|
// isObscureText = widget.isTextIsPassword;
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
void dispose() {
|
// @override
|
||||||
super.dispose();
|
// void dispose() {
|
||||||
}
|
// super.dispose();
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return Container(
|
// Widget build(BuildContext context) {
|
||||||
height: 56,
|
// return Container(
|
||||||
padding: EdgeInsets.only(left: widget.horizontalPadding, right: widget.horizontalPadding, bottom: widget.verticalPadding, top: widget.verticalPadding),
|
// height: 56,
|
||||||
alignment: Alignment.center,
|
// padding: EdgeInsets.only(left: widget.horizontalPadding, right: widget.horizontalPadding, bottom: widget.verticalPadding, top: widget.verticalPadding),
|
||||||
decoration: BoxDecoration(
|
// alignment: Alignment.center,
|
||||||
borderRadius: BorderRadius.circular(10),
|
// decoration: BoxDecoration(
|
||||||
color: widget.isBackgroundEnable ? Color(0xffF7F7F7) : Colors.white,
|
// borderRadius: BorderRadius.circular(10),
|
||||||
border: Border.all(
|
// color: widget.isBackgroundEnable ? Color(0xffF7F7F7) : Colors.white,
|
||||||
color: widget.isEnableBorder ? Color(0xffefefef) : Colors.transparent,
|
// border: Border.all(
|
||||||
width: 1,
|
// color: widget.isEnableBorder ? Color(0xffefefef) : Colors.transparent,
|
||||||
),
|
// width: 1,
|
||||||
boxShadow: const [
|
// ),
|
||||||
BoxShadow(
|
// boxShadow: const [
|
||||||
color: Color.fromRGBO(0, 0, 0, 0.05),
|
// BoxShadow(
|
||||||
blurRadius: 10.0,
|
// color: Color.fromRGBO(0, 0, 0, 0.05),
|
||||||
spreadRadius: 0.0,
|
// blurRadius: 10.0,
|
||||||
offset: Offset(0, 0),
|
// spreadRadius: 0.0,
|
||||||
),
|
// offset: Offset(0, 0),
|
||||||
],
|
// ),
|
||||||
),
|
// ],
|
||||||
child: InkWell(
|
// ),
|
||||||
onTap: widget.hasSelection ? () {} : null,
|
// child: InkWell(
|
||||||
child: Row(
|
// onTap: widget.hasSelection ? () {} : null,
|
||||||
children: [
|
// child: Row(
|
||||||
Expanded(
|
// children: [
|
||||||
child: Column(
|
// Expanded(
|
||||||
mainAxisSize: MainAxisSize.min,
|
// child: Column(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
// mainAxisSize: MainAxisSize.min,
|
||||||
children: [
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
Text(
|
// children: [
|
||||||
widget.labelText,
|
// Text(
|
||||||
style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
// widget.labelText,
|
||||||
),
|
// style: AppTextStyles.tinyFont.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20),
|
||||||
TextFormField(
|
// ),
|
||||||
enabled: widget.isEnable,
|
// TextFormField(
|
||||||
scrollPadding: EdgeInsets.zero,
|
// enabled: widget.isEnable,
|
||||||
keyboardType: widget.isInputTypeNum ? TextInputType.number : TextInputType.text,
|
// scrollPadding: EdgeInsets.zero,
|
||||||
controller: widget.controller,
|
// keyboardType: widget.isInputTypeNum ? TextInputType.number : TextInputType.text,
|
||||||
maxLines: widget.lines,
|
// controller: widget.controller,
|
||||||
validator: widget.validator,
|
// maxLines: widget.lines,
|
||||||
obscuringCharacter: "*",
|
// validator: widget.validator,
|
||||||
obscureText: isObscureText,
|
// obscuringCharacter: "*",
|
||||||
onChanged: widget.onChange,
|
// obscureText: isObscureText,
|
||||||
style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.primary50 : AppColor.neutral50),
|
// onChanged: widget.onChange,
|
||||||
decoration: InputDecoration(
|
// style: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.primary50 : AppColor.neutral50),
|
||||||
isDense: true,
|
// decoration: InputDecoration(
|
||||||
hintText: widget.hintText,
|
// isDense: true,
|
||||||
// hintStyle: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.primary50 : AppColor.neutral50),
|
// hintText: widget.hintText,
|
||||||
hintStyle: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20.withOpacity(.4)),
|
// // hintStyle: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.primary50 : AppColor.neutral50),
|
||||||
//suffixIconConstraints: const BoxConstraints(minWidth: 50),
|
// hintStyle: AppTextStyles.bodyText.copyWith(color: context.isDark ? AppColor.neutral10 : AppColor.neutral20.withOpacity(.4)),
|
||||||
// suffixIcon: widget.suffixTap == null ? null : IconButton(icon: const Icon(Icons.mic, color: MyColors.darkTextColor), onPressed: widget.suffixTap),
|
// //suffixIconConstraints: const BoxConstraints(minWidth: 50),
|
||||||
contentPadding: EdgeInsets.zero,
|
// // suffixIcon: widget.suffixTap == null ? null : IconButton(icon: const Icon(Icons.mic, color: MyColors.darkTextColor), onPressed: widget.suffixTap),
|
||||||
border: InputBorder.none,
|
// contentPadding: EdgeInsets.zero,
|
||||||
focusedBorder: InputBorder.none,
|
// border: InputBorder.none,
|
||||||
enabledBorder: InputBorder.none,
|
// focusedBorder: InputBorder.none,
|
||||||
),
|
// enabledBorder: InputBorder.none,
|
||||||
),
|
// ),
|
||||||
],
|
// ),
|
||||||
),
|
// ],
|
||||||
),
|
// ),
|
||||||
if (widget.isTextIsPassword) ...[
|
// ),
|
||||||
16.width,
|
// if (widget.isTextIsPassword) ...[
|
||||||
Icon(isObscureText ? Icons.visibility_rounded : Icons.visibility_off_rounded).onPress(() {
|
// 16.width,
|
||||||
setState(() {
|
// Icon(isObscureText ? Icons.visibility_rounded : Icons.visibility_off_rounded).onPress(() {
|
||||||
isObscureText = !isObscureText;
|
// setState(() {
|
||||||
});
|
// isObscureText = !isObscureText;
|
||||||
})
|
// });
|
||||||
],
|
// })
|
||||||
if (widget.hasSelection) Icon(Icons.keyboard_arrow_down_outlined),
|
// ],
|
||||||
],
|
// if (widget.hasSelection) Icon(Icons.keyboard_arrow_down_outlined),
|
||||||
),
|
// ],
|
||||||
),
|
// ),
|
||||||
);
|
// ),
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,46 +1,47 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:flutter_svg/svg.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
// import 'package:flutter_svg/svg.dart';
|
||||||
import 'package:test_sa/extensions/widget_extensions.dart';
|
// import 'package:test_sa/extensions/context_extension.dart';
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:test_sa/extensions/widget_extensions.dart';
|
||||||
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
import '../../../new_views/app_style/app_color.dart';
|
//
|
||||||
|
// import '../../../new_views/app_style/app_color.dart';
|
||||||
class LandPageItem extends StatelessWidget {
|
//
|
||||||
final String text;
|
// class LandPageItem extends StatelessWidget {
|
||||||
final IconData icon;
|
// final String text;
|
||||||
final VoidCallback onPressed;
|
// final IconData icon;
|
||||||
final String svgPath;
|
// final VoidCallback onPressed;
|
||||||
|
// final String svgPath;
|
||||||
const LandPageItem({Key key, this.svgPath, this.text, this.icon, this.onPressed}) : super(key: key);
|
//
|
||||||
|
// const LandPageItem({Key key, this.svgPath, this.text, this.icon, this.onPressed}) : super(key: key);
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return InkWell(
|
// Widget build(BuildContext context) {
|
||||||
onTap: onPressed,
|
// return InkWell(
|
||||||
child: Column(
|
// onTap: onPressed,
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
// child: Column(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: <Widget>[
|
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
if (icon != null)
|
// children: <Widget>[
|
||||||
Icon(
|
// if (icon != null)
|
||||||
icon,
|
// Icon(
|
||||||
// color: AColors.primaryColor,
|
// icon,
|
||||||
size: 42 * AppStyle.getScaleFactor(context),
|
// // color: AColors.primaryColor,
|
||||||
),
|
// size: 42 * AppStyle.getScaleFactor(context),
|
||||||
if (svgPath != null)
|
// ),
|
||||||
SvgPicture.asset(
|
// if (svgPath != null)
|
||||||
svgPath,
|
// SvgPicture.asset(
|
||||||
width: 42 * AppStyle.getScaleFactor(context),
|
// svgPath,
|
||||||
height: 42 * AppStyle.getScaleFactor(context),
|
// width: 42 * AppStyle.getScaleFactor(context),
|
||||||
// color: AColors.primaryColor,
|
// height: 42 * AppStyle.getScaleFactor(context),
|
||||||
),
|
// // color: AColors.primaryColor,
|
||||||
Text(text,
|
// ),
|
||||||
style: TextStyle(
|
// Text(text,
|
||||||
color: context.isDark ? AppColor.neutral30 : AppColor.neutral50,
|
// style: TextStyle(
|
||||||
)),
|
// color: context.isDark ? AppColor.neutral30 : AppColor.neutral50,
|
||||||
],
|
// )),
|
||||||
).toShadowContainer(context),
|
// ],
|
||||||
);
|
// ).toShadowContainer(context),
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,105 +1,106 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/views/widgets/buttons/app_icon_button2.dart';
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
|
// import 'package:test_sa/views/widgets/buttons/app_icon_button2.dart';
|
||||||
import '../../../models/service_request/spare_parts.dart';
|
//
|
||||||
|
// import '../../../models/service_request/spare_parts.dart';
|
||||||
class PartItem extends StatefulWidget {
|
//
|
||||||
final SparePartsWorkOrders part;
|
// class PartItem extends StatefulWidget {
|
||||||
final Function(SparePartsWorkOrders) onDelete;
|
// final SparePartsWorkOrders part;
|
||||||
final Function(int qty) onEdit;
|
// final Function(SparePartsWorkOrders) onDelete;
|
||||||
|
// final Function(int qty) onEdit;
|
||||||
const PartItem({Key key, this.part, this.onEdit, this.onDelete}) : super(key: key);
|
//
|
||||||
|
// const PartItem({Key key, this.part, this.onEdit, this.onDelete}) : super(key: key);
|
||||||
@override
|
//
|
||||||
_PartItemState createState() => _PartItemState();
|
// @override
|
||||||
}
|
// _PartItemState createState() => _PartItemState();
|
||||||
|
// }
|
||||||
class _PartItemState extends State<PartItem> {
|
//
|
||||||
@override
|
// class _PartItemState extends State<PartItem> {
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return Column(
|
// Widget build(BuildContext context) {
|
||||||
children: [
|
// return Column(
|
||||||
const Divider(),
|
// children: [
|
||||||
Row(
|
// const Divider(),
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
// Row(
|
||||||
children: [
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
Expanded(
|
// children: [
|
||||||
child: Column(
|
// Expanded(
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
// child: Column(
|
||||||
children: [
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
Row(
|
// children: [
|
||||||
children: [
|
// Row(
|
||||||
Expanded(
|
// children: [
|
||||||
child: Text(
|
// Expanded(
|
||||||
widget?.part?.sparePart?.partNo ?? "",
|
// child: Text(
|
||||||
style: Theme.of(context).textTheme.bodyText1.copyWith(fontSize: 12, fontWeight: FontWeight.bold),
|
// widget?.part?.sparePart?.partNo ?? "",
|
||||||
),
|
// style: Theme.of(context).textTheme.bodyText1.copyWith(fontSize: 12, fontWeight: FontWeight.bold),
|
||||||
),
|
// ),
|
||||||
AIconButton2(
|
// ),
|
||||||
iconData: Icons.add,
|
// AIconButton2(
|
||||||
color: Theme.of(context).primaryColor,
|
// iconData: Icons.add,
|
||||||
onPressed: () {
|
// color: Theme.of(context).primaryColor,
|
||||||
if (widget.onEdit == null) {
|
// onPressed: () {
|
||||||
++widget.part.qty;
|
// if (widget.onEdit == null) {
|
||||||
} else {
|
// ++widget.part.qty;
|
||||||
widget.onEdit(++widget.part.qty);
|
// } else {
|
||||||
}
|
// widget.onEdit(++widget.part.qty);
|
||||||
setState(() {});
|
// }
|
||||||
},
|
// setState(() {});
|
||||||
),
|
// },
|
||||||
AIconButton2(
|
// ),
|
||||||
iconData: Icons.remove,
|
// AIconButton2(
|
||||||
color: Theme.of(context).primaryColor,
|
// iconData: Icons.remove,
|
||||||
onPressed: widget.part.qty < 2
|
// color: Theme.of(context).primaryColor,
|
||||||
? null
|
// onPressed: widget.part.qty < 2
|
||||||
: () {
|
// ? null
|
||||||
if (widget.onEdit == null) {
|
// : () {
|
||||||
--widget.part.qty;
|
// if (widget.onEdit == null) {
|
||||||
} else {
|
// --widget.part.qty;
|
||||||
widget.onEdit(--widget.part.qty);
|
// } else {
|
||||||
}
|
// widget.onEdit(--widget.part.qty);
|
||||||
setState(() {});
|
// }
|
||||||
},
|
// setState(() {});
|
||||||
),
|
// },
|
||||||
SizedBox(
|
// ),
|
||||||
width: 8 * AppStyle.getScaleFactor(context),
|
// SizedBox(
|
||||||
),
|
// width: 8 * AppStyle.getScaleFactor(context),
|
||||||
Text(
|
// ),
|
||||||
widget.part.qty.toString(),
|
// Text(
|
||||||
style: Theme.of(context).textTheme.headline6.copyWith(
|
// widget.part.qty.toString(),
|
||||||
//fontSize: 12,
|
// style: Theme.of(context).textTheme.headline6.copyWith(
|
||||||
//fontWeight: FontWeight.bold
|
// //fontSize: 12,
|
||||||
),
|
// //fontWeight: FontWeight.bold
|
||||||
),
|
// ),
|
||||||
SizedBox(
|
// ),
|
||||||
width: 8 * AppStyle.getScaleFactor(context),
|
// SizedBox(
|
||||||
),
|
// width: 8 * AppStyle.getScaleFactor(context),
|
||||||
],
|
// ),
|
||||||
),
|
// ],
|
||||||
widget.part?.sparePart?.partName == null
|
// ),
|
||||||
? const SizedBox.shrink()
|
// widget.part?.sparePart?.partName == null
|
||||||
: Text(
|
// ? const SizedBox.shrink()
|
||||||
widget.part?.sparePart?.partName,
|
// : Text(
|
||||||
style: Theme.of(context).textTheme.caption.copyWith(fontSize: 11, fontWeight: FontWeight.bold),
|
// widget.part?.sparePart?.partName,
|
||||||
maxLines: 1,
|
// style: Theme.of(context).textTheme.caption.copyWith(fontSize: 11, fontWeight: FontWeight.bold),
|
||||||
overflow: TextOverflow.ellipsis,
|
// maxLines: 1,
|
||||||
),
|
// overflow: TextOverflow.ellipsis,
|
||||||
|
// ),
|
||||||
// Row(crossAxisAlignment: ,)
|
//
|
||||||
],
|
// // Row(crossAxisAlignment: ,)
|
||||||
),
|
// ],
|
||||||
),
|
// ),
|
||||||
AIconButton2(
|
// ),
|
||||||
iconData: Icons.close,
|
// AIconButton2(
|
||||||
color: Colors.red,
|
// iconData: Icons.close,
|
||||||
onPressed: () {
|
// color: Colors.red,
|
||||||
widget.onDelete(widget.part);
|
// onPressed: () {
|
||||||
},
|
// widget.onDelete(widget.part);
|
||||||
),
|
// },
|
||||||
],
|
// ),
|
||||||
),
|
// ],
|
||||||
],
|
// ),
|
||||||
);
|
// ],
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,110 +1,111 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:flutter_typeahead/flutter_typeahead.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
// import 'package:flutter_typeahead/flutter_typeahead.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/devices_provider.dart';
|
// import 'package:provider/provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/devices_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/extensions/int_extensions.dart';
|
// import 'package:test_sa/extensions/context_extension.dart';
|
||||||
import 'package:test_sa/extensions/widget_extensions.dart';
|
// import 'package:test_sa/extensions/int_extensions.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/extensions/widget_extensions.dart';
|
||||||
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
import '../../../../extensions/text_extensions.dart';
|
//
|
||||||
import '../../../../models/device/asset.dart';
|
// import '../../../../extensions/text_extensions.dart';
|
||||||
import '../../../../models/device/asset_search.dart';
|
// import '../../../../models/device/asset.dart';
|
||||||
import '../../../../new_views/app_style/app_color.dart';
|
// import '../../../../models/device/asset_search.dart';
|
||||||
import '../../../../new_views/app_style/app_text_style.dart';
|
// import '../../../../new_views/app_style/app_color.dart';
|
||||||
import '../../../app_style/sizing.dart';
|
// import '../../../../new_views/app_style/app_text_style.dart';
|
||||||
|
// import '../../../app_style/sizing.dart';
|
||||||
class AutoCompleteDeviceNumberField extends StatefulWidget {
|
//
|
||||||
final Lookup initialValue;
|
// class AutoCompleteDeviceNumberField extends StatefulWidget {
|
||||||
final int hospitalId;
|
// final Lookup initialValue;
|
||||||
final Function(Lookup) onPick;
|
// final int hospitalId;
|
||||||
|
// final Function(Lookup) onPick;
|
||||||
const AutoCompleteDeviceNumberField({Key key, this.initialValue, this.onPick, this.hospitalId}) : super(key: key);
|
//
|
||||||
|
// const AutoCompleteDeviceNumberField({Key key, this.initialValue, this.onPick, this.hospitalId}) : super(key: key);
|
||||||
@override
|
//
|
||||||
State<AutoCompleteDeviceNumberField> createState() => _AutoCompleteDeviceNumberFieldState();
|
// @override
|
||||||
}
|
// State<AutoCompleteDeviceNumberField> createState() => _AutoCompleteDeviceNumberFieldState();
|
||||||
|
// }
|
||||||
class _AutoCompleteDeviceNumberFieldState extends State<AutoCompleteDeviceNumberField> {
|
//
|
||||||
SettingProvider _settingProvider;
|
// class _AutoCompleteDeviceNumberFieldState extends State<AutoCompleteDeviceNumberField> {
|
||||||
AssetProvider _devicesProvider;
|
// SettingProvider _settingProvider;
|
||||||
UserProvider _userProvider;
|
// AssetProvider _devicesProvider;
|
||||||
TextEditingController _controller;
|
// UserProvider _userProvider;
|
||||||
|
// TextEditingController _controller;
|
||||||
@override
|
//
|
||||||
void initState() {
|
// @override
|
||||||
_controller = TextEditingController(text: widget.initialValue?.name);
|
// void initState() {
|
||||||
super.initState();
|
// _controller = TextEditingController(text: widget.initialValue?.name);
|
||||||
}
|
// super.initState();
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
void didUpdateWidget(covariant AutoCompleteDeviceNumberField oldWidget) {
|
// @override
|
||||||
if (widget.initialValue != oldWidget.initialValue) {
|
// void didUpdateWidget(covariant AutoCompleteDeviceNumberField oldWidget) {
|
||||||
_controller = TextEditingController(text: widget.initialValue?.name);
|
// if (widget.initialValue != oldWidget.initialValue) {
|
||||||
}
|
// _controller = TextEditingController(text: widget.initialValue?.name);
|
||||||
super.didUpdateWidget(oldWidget);
|
// }
|
||||||
}
|
// super.didUpdateWidget(oldWidget);
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
void dispose() {
|
// @override
|
||||||
_controller.dispose();
|
// void dispose() {
|
||||||
super.dispose();
|
// _controller.dispose();
|
||||||
}
|
// super.dispose();
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
_settingProvider = Provider.of<SettingProvider>(context);
|
// Widget build(BuildContext context) {
|
||||||
_userProvider = Provider.of<UserProvider>(context);
|
// _settingProvider = Provider.of<SettingProvider>(context);
|
||||||
_devicesProvider = Provider.of<AssetProvider>(context);
|
// _userProvider = Provider.of<UserProvider>(context);
|
||||||
final border = UnderlineInputBorder(borderSide: BorderSide.none, borderRadius: BorderRadius.circular(10));
|
// _devicesProvider = Provider.of<AssetProvider>(context);
|
||||||
return Container(
|
// final border = UnderlineInputBorder(borderSide: BorderSide.none, borderRadius: BorderRadius.circular(10));
|
||||||
decoration: BoxDecoration(
|
// return Container(
|
||||||
color: AppColor.background(context),
|
// decoration: BoxDecoration(
|
||||||
borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
|
// color: AppColor.background(context),
|
||||||
boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.05), blurRadius: 10)],
|
// borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
|
||||||
),
|
// boxShadow: [BoxShadow(color: Colors.black.withOpacity(0.05), blurRadius: 10)],
|
||||||
child: TypeAheadField<Asset>(
|
// ),
|
||||||
minCharsForSuggestions: 1,
|
// child: TypeAheadField<Asset>(
|
||||||
textFieldConfiguration: TextFieldConfiguration(
|
// minCharsForSuggestions: 1,
|
||||||
style: AppTextStyles.bodyText,
|
// textFieldConfiguration: TextFieldConfiguration(
|
||||||
controller: _controller,
|
// style: AppTextStyles.bodyText,
|
||||||
textAlign: TextAlign.start,
|
// controller: _controller,
|
||||||
textInputAction: TextInputAction.search,
|
// textAlign: TextAlign.start,
|
||||||
decoration: InputDecoration(
|
// textInputAction: TextInputAction.search,
|
||||||
border: border,
|
// decoration: InputDecoration(
|
||||||
disabledBorder: border,
|
// border: border,
|
||||||
focusedBorder: border,
|
// disabledBorder: border,
|
||||||
enabledBorder: border,
|
// focusedBorder: border,
|
||||||
errorBorder: border,
|
// enabledBorder: border,
|
||||||
contentPadding: EdgeInsets.symmetric(vertical: 8.toScreenHeight, horizontal: 16.toScreenWidth),
|
// errorBorder: border,
|
||||||
constraints: const BoxConstraints(),
|
// contentPadding: EdgeInsets.symmetric(vertical: 8.toScreenHeight, horizontal: 16.toScreenWidth),
|
||||||
suffixIconConstraints: const BoxConstraints(minWidth: 0),
|
// constraints: const BoxConstraints(),
|
||||||
filled: true,
|
// suffixIconConstraints: const BoxConstraints(minWidth: 0),
|
||||||
fillColor: (context.isDark ? AppColor.neutral50 : AppColor.background(context)),
|
// filled: true,
|
||||||
errorStyle: AppTextStyle.tiny.copyWith(color: context.isDark ? AppColor.red50 : AppColor.red60),
|
// fillColor: (context.isDark ? AppColor.neutral50 : AppColor.background(context)),
|
||||||
floatingLabelStyle: AppTextStyle.body1?.copyWith(fontWeight: FontWeight.w500, color: context.isDark ? null : AppColor.neutral20),
|
// errorStyle: AppTextStyle.tiny.copyWith(color: context.isDark ? AppColor.red50 : AppColor.red60),
|
||||||
labelText: context.translation.assetNumber,
|
// floatingLabelStyle: AppTextStyle.body1?.copyWith(fontWeight: FontWeight.w500, color: context.isDark ? null : AppColor.neutral20),
|
||||||
),
|
// labelText: context.translation.assetNumber,
|
||||||
),
|
// ),
|
||||||
suggestionsCallback: (value) async {
|
// ),
|
||||||
return await _devicesProvider.getDevicesList(
|
// suggestionsCallback: (value) async {
|
||||||
host: _settingProvider.host,
|
// return await _devicesProvider.getDevicesList(
|
||||||
user: _userProvider.user,
|
// host: _settingProvider.host,
|
||||||
hospitalId: widget.hospitalId,
|
// user: _userProvider.user,
|
||||||
addPagination: false,
|
// hospitalId: widget.hospitalId,
|
||||||
search: AssetSearch(assetNo: value),
|
// addPagination: false,
|
||||||
);
|
// search: AssetSearch(assetNo: value),
|
||||||
},
|
// );
|
||||||
itemBuilder: (context, device) {
|
// },
|
||||||
return device.assetNumber.bodyText(context).paddingOnly(bottom: 16, start: 16);
|
// itemBuilder: (context, device) {
|
||||||
},
|
// return device.assetNumber.bodyText(context).paddingOnly(bottom: 16, start: 16);
|
||||||
onSuggestionSelected: (device) {
|
// },
|
||||||
_controller.text = device.assetNumber;
|
// onSuggestionSelected: (device) {
|
||||||
widget.onPick(Lookup(id: device.id, name: device.assetNumber));
|
// _controller.text = device.assetNumber;
|
||||||
},
|
// widget.onPick(Lookup(id: device.id, name: device.assetNumber));
|
||||||
),
|
// },
|
||||||
);
|
// ),
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,75 +1,76 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:flutter/material.dart';
|
||||||
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
class RequestInfoRow extends StatelessWidget {
|
//
|
||||||
final String title;
|
// class RequestInfoRow extends StatelessWidget {
|
||||||
final String info;
|
// final String title;
|
||||||
final String content;
|
// final String info;
|
||||||
final Widget contentWidget;
|
// final String content;
|
||||||
final Widget infoWidget;
|
// final Widget contentWidget;
|
||||||
|
// final Widget infoWidget;
|
||||||
const RequestInfoRow({Key key, this.title, this.info, this.content, this.contentWidget, this.infoWidget}) : super(key: key);
|
//
|
||||||
|
// const RequestInfoRow({Key key, this.title, this.info, this.content, this.contentWidget, this.infoWidget}) : super(key: key);
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
if (info != null && info.isEmpty) {
|
// Widget build(BuildContext context) {
|
||||||
return SizedBox.shrink();
|
// if (info != null && info.isEmpty) {
|
||||||
}
|
// return SizedBox.shrink();
|
||||||
if (content != null && content.isEmpty) {
|
// }
|
||||||
return SizedBox.shrink();
|
// if (content != null && content.isEmpty) {
|
||||||
}
|
// return SizedBox.shrink();
|
||||||
return Column(
|
// }
|
||||||
children: [
|
// return Column(
|
||||||
Row(
|
// children: [
|
||||||
children: [
|
// Row(
|
||||||
Text(
|
// children: [
|
||||||
title + " : ",
|
// Text(
|
||||||
style: Theme.of(context).textTheme.subtitle2.copyWith(
|
// title + " : ",
|
||||||
//fontSize: 12
|
// style: Theme.of(context).textTheme.subtitle2.copyWith(
|
||||||
),
|
// //fontSize: 12
|
||||||
textScaleFactor: AppStyle.getScaleFactor(context),
|
// ),
|
||||||
),
|
// textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
if (info != null)
|
// ),
|
||||||
Expanded(
|
// if (info != null)
|
||||||
child: Text(
|
// Expanded(
|
||||||
info,
|
// child: Text(
|
||||||
style: Theme.of(context).textTheme.bodyText2,
|
// info,
|
||||||
textAlign: TextAlign.right,
|
// style: Theme.of(context).textTheme.bodyText2,
|
||||||
textScaleFactor: AppStyle.getScaleFactor(context),
|
// textAlign: TextAlign.right,
|
||||||
),
|
// textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
),
|
// ),
|
||||||
if (infoWidget != null)
|
// ),
|
||||||
Expanded(
|
// if (infoWidget != null)
|
||||||
child: Row(
|
// Expanded(
|
||||||
mainAxisAlignment: MainAxisAlignment.end,
|
// child: Row(
|
||||||
children: [
|
// mainAxisAlignment: MainAxisAlignment.end,
|
||||||
infoWidget,
|
// children: [
|
||||||
],
|
// infoWidget,
|
||||||
),
|
// ],
|
||||||
),
|
// ),
|
||||||
],
|
// ),
|
||||||
),
|
// ],
|
||||||
if (content != null)
|
// ),
|
||||||
Padding(
|
// if (content != null)
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 8),
|
// Padding(
|
||||||
child: Row(
|
// padding: const EdgeInsets.symmetric(horizontal: 8),
|
||||||
children: [
|
// child: Row(
|
||||||
Expanded(
|
// children: [
|
||||||
child: Text(
|
// Expanded(
|
||||||
content ?? 'No data found',
|
// child: Text(
|
||||||
style: Theme.of(context).textTheme.bodyText2,
|
// content ?? 'No data found',
|
||||||
textAlign: TextAlign.center,
|
// style: Theme.of(context).textTheme.bodyText2,
|
||||||
textScaleFactor: AppStyle.getScaleFactor(context),
|
// textAlign: TextAlign.center,
|
||||||
),
|
// textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
),
|
// ),
|
||||||
],
|
// ),
|
||||||
),
|
// ],
|
||||||
),
|
// ),
|
||||||
if (contentWidget != null) contentWidget,
|
// ),
|
||||||
Divider(
|
// if (contentWidget != null) contentWidget,
|
||||||
color: Theme.of(context).primaryColor,
|
// Divider(
|
||||||
),
|
// color: Theme.of(context).primaryColor,
|
||||||
],
|
// ),
|
||||||
);
|
// ],
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,142 +1,143 @@
|
|||||||
import 'package:flutter/cupertino.dart';
|
///todo deleted
|
||||||
import 'package:flutter/material.dart';
|
// import 'package:flutter/cupertino.dart';
|
||||||
import 'package:fluttertoast/fluttertoast.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
// import 'package:fluttertoast/fluttertoast.dart';
|
||||||
import 'package:test_sa/controllers/api_routes/http_status_manger.dart';
|
// import 'package:provider/provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/service_requests_provider.dart';
|
// import 'package:test_sa/controllers/api_routes/http_status_manger.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/service_requests_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/extensions/context_extension.dart';
|
||||||
import 'package:test_sa/models/service_request/service_request.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:test_sa/models/service_request/service_request.dart';
|
||||||
import 'package:test_sa/views/widgets/buttons/app_small_button.dart';
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
import 'package:test_sa/views/widgets/date_and_time/date_picker.dart';
|
// import 'package:test_sa/views/widgets/buttons/app_small_button.dart';
|
||||||
import 'package:test_sa/views/widgets/status/employee/assigned_to_menu.dart';
|
// import 'package:test_sa/views/widgets/date_and_time/date_picker.dart';
|
||||||
|
// import 'package:test_sa/views/widgets/status/employee/assigned_to_menu.dart';
|
||||||
class ServiceRequestsUpdateDialog extends StatefulWidget {
|
//
|
||||||
final ServiceRequest request;
|
// class ServiceRequestsUpdateDialog extends StatefulWidget {
|
||||||
|
// final ServiceRequest request;
|
||||||
const ServiceRequestsUpdateDialog({
|
//
|
||||||
Key key,
|
// const ServiceRequestsUpdateDialog({
|
||||||
this.request,
|
// Key key,
|
||||||
}) : super(key: key);
|
// this.request,
|
||||||
|
// }) : super(key: key);
|
||||||
@override
|
//
|
||||||
State<ServiceRequestsUpdateDialog> createState() => _ServiceRequestsUpdateDialogState();
|
// @override
|
||||||
}
|
// State<ServiceRequestsUpdateDialog> createState() => _ServiceRequestsUpdateDialogState();
|
||||||
|
// }
|
||||||
class _ServiceRequestsUpdateDialogState extends State<ServiceRequestsUpdateDialog> with TickerProviderStateMixin {
|
//
|
||||||
DateTime _dateTime;
|
// class _ServiceRequestsUpdateDialogState extends State<ServiceRequestsUpdateDialog> with TickerProviderStateMixin {
|
||||||
Lookup _employee;
|
// DateTime _dateTime;
|
||||||
|
// Lookup _employee;
|
||||||
UserProvider _userProvider;
|
//
|
||||||
SettingProvider _settingProvider;
|
// UserProvider _userProvider;
|
||||||
ServiceRequestsProvider _serviceRequestsProvider;
|
// SettingProvider _settingProvider;
|
||||||
|
// ServiceRequestsProvider _serviceRequestsProvider;
|
||||||
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
//
|
||||||
|
// final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
||||||
_update() async {
|
//
|
||||||
if (_dateTime == null && _employee == null) {
|
// _update() async {
|
||||||
Fluttertoast.showToast(
|
// if (_dateTime == null && _employee == null) {
|
||||||
msg: context.translation.noDateFound,
|
// Fluttertoast.showToast(
|
||||||
);
|
// msg: context.translation.noDateFound,
|
||||||
return;
|
// );
|
||||||
}
|
// return;
|
||||||
showDialog<void>(
|
// }
|
||||||
context: context,
|
// showDialog<void>(
|
||||||
barrierDismissible: false,
|
// context: context,
|
||||||
builder: (BuildContext context) {
|
// barrierDismissible: false,
|
||||||
return CupertinoAlertDialog(
|
// builder: (BuildContext context) {
|
||||||
title: Text(context.translation.updatingDots),
|
// return CupertinoAlertDialog(
|
||||||
content: Center(child: CircularProgressIndicator()),
|
// title: Text(context.translation.updatingDots),
|
||||||
);
|
// content: Center(child: CircularProgressIndicator()),
|
||||||
},
|
// );
|
||||||
);
|
// },
|
||||||
int status = await _serviceRequestsProvider.updateRequest(user: _userProvider.user, request: widget.request);
|
// );
|
||||||
if (status == 200) Navigator.of(context).pop();
|
// int status = await _serviceRequestsProvider.updateRequest(user: _userProvider.user, request: widget.request);
|
||||||
Navigator.of(context).pop();
|
// if (status == 200) Navigator.of(context).pop();
|
||||||
Fluttertoast.showToast(
|
// Navigator.of(context).pop();
|
||||||
msg: HttpStatusManger.getStatusMessage(status: status, subtitle: context.translation),
|
// Fluttertoast.showToast(
|
||||||
);
|
// msg: HttpStatusManger.getStatusMessage(status: status, subtitle: context.translation),
|
||||||
}
|
// );
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
void initState() {
|
// @override
|
||||||
super.initState();
|
// void initState() {
|
||||||
}
|
// super.initState();
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
_userProvider = Provider.of<UserProvider>(context, listen: false);
|
// Widget build(BuildContext context) {
|
||||||
_settingProvider = Provider.of<SettingProvider>(context, listen: false);
|
// _userProvider = Provider.of<UserProvider>(context, listen: false);
|
||||||
_serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context, listen: false);
|
// _settingProvider = Provider.of<SettingProvider>(context, listen: false);
|
||||||
return Column(
|
// _serviceRequestsProvider = Provider.of<ServiceRequestsProvider>(context, listen: false);
|
||||||
mainAxisSize: MainAxisSize.min,
|
// return Column(
|
||||||
children: [
|
// mainAxisSize: MainAxisSize.min,
|
||||||
SizedBox(
|
// children: [
|
||||||
// height: MediaQuery.of(context).size.height / 1.2,
|
// SizedBox(
|
||||||
child: Form(
|
// // height: MediaQuery.of(context).size.height / 1.2,
|
||||||
key: _formKey,
|
// child: Form(
|
||||||
child: Padding(
|
// key: _formKey,
|
||||||
padding: const EdgeInsets.all(16.0),
|
// child: Padding(
|
||||||
child: Column(
|
// padding: const EdgeInsets.all(16.0),
|
||||||
children: [
|
// child: Column(
|
||||||
Row(
|
// children: [
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
// Row(
|
||||||
children: [
|
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
ASmallButton(
|
// children: [
|
||||||
text: context.translation.cancel,
|
// ASmallButton(
|
||||||
onPressed: () {
|
// text: context.translation.cancel,
|
||||||
Navigator.of(context).pop();
|
// onPressed: () {
|
||||||
},
|
// Navigator.of(context).pop();
|
||||||
),
|
// },
|
||||||
ASmallButton(
|
// ),
|
||||||
text: context.translation.update,
|
// ASmallButton(
|
||||||
onPressed: _update,
|
// text: context.translation.update,
|
||||||
)
|
// onPressed: _update,
|
||||||
],
|
// )
|
||||||
),
|
// ],
|
||||||
SizedBox(
|
// ),
|
||||||
height: 8.0 * AppStyle.getScaleFactor(context),
|
// SizedBox(
|
||||||
),
|
// height: 8.0 * AppStyle.getScaleFactor(context),
|
||||||
Row(
|
// ),
|
||||||
children: [
|
// Row(
|
||||||
Expanded(
|
// children: [
|
||||||
child: Text(
|
// Expanded(
|
||||||
context.translation.date,
|
// child: Text(
|
||||||
style: Theme.of(context).textTheme.subtitle1,
|
// context.translation.date,
|
||||||
textScaleFactor: AppStyle.getScaleFactor(context),
|
// style: Theme.of(context).textTheme.subtitle1,
|
||||||
),
|
// textScaleFactor: AppStyle.getScaleFactor(context),
|
||||||
),
|
// ),
|
||||||
ADatePicker(
|
// ),
|
||||||
date: _dateTime,
|
// ADatePicker(
|
||||||
from: DateTime.now(),
|
// date: _dateTime,
|
||||||
onDatePicker: (date) {
|
// from: DateTime.now(),
|
||||||
_dateTime = date;
|
// onDatePicker: (date) {
|
||||||
setState(() {});
|
// _dateTime = date;
|
||||||
},
|
// setState(() {});
|
||||||
),
|
// },
|
||||||
],
|
// ),
|
||||||
),
|
// ],
|
||||||
SizedBox(
|
// ),
|
||||||
height: 8.0 * AppStyle.getScaleFactor(context),
|
// SizedBox(
|
||||||
),
|
// height: 8.0 * AppStyle.getScaleFactor(context),
|
||||||
AssignedToMenu(
|
// ),
|
||||||
initialValue: _employee,
|
// AssignedToMenu(
|
||||||
onSelect: (employee) {
|
// initialValue: _employee,
|
||||||
_employee = employee;
|
// onSelect: (employee) {
|
||||||
},
|
// _employee = employee;
|
||||||
),
|
// },
|
||||||
SizedBox(
|
// ),
|
||||||
height: 8.0 * AppStyle.getScaleFactor(context),
|
// SizedBox(
|
||||||
),
|
// height: 8.0 * AppStyle.getScaleFactor(context),
|
||||||
],
|
// ),
|
||||||
),
|
// ],
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
),
|
// ),
|
||||||
],
|
// ),
|
||||||
);
|
// ],
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,196 +1,197 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/models/device/asset_transfer.dart';
|
// import 'package:test_sa/extensions/context_extension.dart';
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:test_sa/models/device/asset_transfer.dart';
|
||||||
import 'package:test_sa/views/widgets/buttons/app_small_button.dart';
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
import 'package:test_sa/views/widgets/equipment/pick_asset.dart';
|
// import 'package:test_sa/views/widgets/buttons/app_small_button.dart';
|
||||||
|
// import 'package:test_sa/views/widgets/equipment/pick_asset.dart';
|
||||||
import '../../../models/device/asset_transfer_search.dart';
|
//
|
||||||
import '../app_text_form_field.dart';
|
// import '../../../models/device/asset_transfer_search.dart';
|
||||||
import '../switch_button.dart';
|
// import '../app_text_form_field.dart';
|
||||||
|
// import '../switch_button.dart';
|
||||||
class AssetTransferSearchDialog extends StatefulWidget {
|
//
|
||||||
final AssetTransfer initialSearchValue;
|
// class AssetTransferSearchDialog extends StatefulWidget {
|
||||||
final bool expandedSearch;
|
// final AssetTransfer initialSearchValue;
|
||||||
final Function(AssetTransfer) onSearch;
|
// final bool expandedSearch;
|
||||||
|
// final Function(AssetTransfer) onSearch;
|
||||||
const AssetTransferSearchDialog({Key key, this.initialSearchValue, this.expandedSearch, this.onSearch}) : super(key: key);
|
//
|
||||||
|
// const AssetTransferSearchDialog({Key key, this.initialSearchValue, this.expandedSearch, this.onSearch}) : super(key: key);
|
||||||
@override
|
//
|
||||||
AssetTransferSearchDialogState createState() => AssetTransferSearchDialogState();
|
// @override
|
||||||
}
|
// AssetTransferSearchDialogState createState() => AssetTransferSearchDialogState();
|
||||||
|
// }
|
||||||
class AssetTransferSearchDialogState extends State<AssetTransferSearchDialog> with TickerProviderStateMixin {
|
//
|
||||||
AssetTransferSearch _search;
|
// class AssetTransferSearchDialogState extends State<AssetTransferSearchDialog> with TickerProviderStateMixin {
|
||||||
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
// AssetTransferSearch _search;
|
||||||
bool _isLoading = false;
|
// final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
||||||
|
// bool _isLoading = false;
|
||||||
@override
|
//
|
||||||
void initState() {
|
// @override
|
||||||
super.initState();
|
// void initState() {
|
||||||
_search = AssetTransferSearch();
|
// super.initState();
|
||||||
// _search.fromSearch(widget.initialSearchValue);
|
// _search = AssetTransferSearch();
|
||||||
}
|
// // _search.fromSearch(widget.initialSearchValue);
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return Padding(
|
// Widget build(BuildContext context) {
|
||||||
padding: EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom),
|
// return Padding(
|
||||||
child: ClipRRect(
|
// padding: EdgeInsets.only(bottom: MediaQuery.of(context).viewInsets.bottom),
|
||||||
borderRadius: const BorderRadius.only(topLeft: Radius.circular(15), topRight: Radius.circular(15)),
|
// child: ClipRRect(
|
||||||
clipBehavior: Clip.antiAliasWithSaveLayer,
|
// borderRadius: const BorderRadius.only(topLeft: Radius.circular(15), topRight: Radius.circular(15)),
|
||||||
child: Container(
|
// clipBehavior: Clip.antiAliasWithSaveLayer,
|
||||||
color: Colors.white,
|
// child: Container(
|
||||||
height: MediaQuery.of(context).size.height / 1.3,
|
// color: Colors.white,
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 20),
|
// height: MediaQuery.of(context).size.height / 1.3,
|
||||||
child: Form(
|
// padding: const EdgeInsets.symmetric(horizontal: 8, vertical: 20),
|
||||||
key: _formKey,
|
// child: Form(
|
||||||
child: ListView(
|
// key: _formKey,
|
||||||
padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 16),
|
// child: ListView(
|
||||||
children: [
|
// padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 16),
|
||||||
Row(
|
// children: [
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
// Row(
|
||||||
children: [
|
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
ASmallButton(
|
// children: [
|
||||||
text: context.translation.cancel,
|
// ASmallButton(
|
||||||
onPressed: () {
|
// text: context.translation.cancel,
|
||||||
Navigator.of(context).pop();
|
// onPressed: () {
|
||||||
},
|
// Navigator.of(context).pop();
|
||||||
),
|
|
||||||
ASmallButton(
|
|
||||||
text: context.translation.search,
|
|
||||||
onPressed: () {
|
|
||||||
if (!_formKey.currentState.validate()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
_formKey.currentState.save();
|
|
||||||
Navigator.of(context).pop(_search);
|
|
||||||
},
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
ASwitchButton(
|
|
||||||
title: "Most Recent",
|
|
||||||
value: _search.mostRecent ?? false,
|
|
||||||
onChange: (value) {
|
|
||||||
_search.mostRecent = value;
|
|
||||||
setState(() {});
|
|
||||||
},
|
|
||||||
),
|
|
||||||
SizedBox(height: 8.0 * AppStyle.getScaleFactor(context)),
|
|
||||||
PickAsset(
|
|
||||||
device: _search.asset,
|
|
||||||
onPickAsset: (device) {
|
|
||||||
_search.asset = device;
|
|
||||||
setState(() {});
|
|
||||||
},
|
|
||||||
),
|
|
||||||
SizedBox(height: 8.0 * AppStyle.getScaleFactor(context)),
|
|
||||||
ATextFormField(
|
|
||||||
initialValue: "_search.title",
|
|
||||||
hintText: context.translation.title,
|
|
||||||
style: Theme.of(context).textTheme.titleLarge,
|
|
||||||
textInputAction: TextInputAction.search,
|
|
||||||
onAction: () {
|
|
||||||
if (!_formKey.currentState.validate()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
_formKey.currentState.save();
|
|
||||||
Navigator.of(context).pop(_search);
|
|
||||||
},
|
|
||||||
onSaved: (value) {
|
|
||||||
// _search.title = value;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
SizedBox(height: 8.0 * AppStyle.getScaleFactor(context)),
|
|
||||||
// HospitalAutoCompleteField(
|
|
||||||
// initialValue: _search?.hospital?.name,
|
|
||||||
// onSearch: (selected) async {
|
|
||||||
// _search.building = null;
|
|
||||||
// _search.floor = null;
|
|
||||||
// _search.department = null;
|
|
||||||
// _search.buildingsList = null;
|
|
||||||
// _search.floorsList = null;
|
|
||||||
// _search.departmentsList = null;
|
|
||||||
// _isLoading = true;
|
|
||||||
// setState(() {});
|
|
||||||
// await HospitalsProvider().getHospitalsListByVal(searchVal: selected?.name ?? "").then((value) {
|
|
||||||
// _search.hospital = value?.firstWhere((element) => element.name == selected.name, orElse: () => null);
|
|
||||||
// _search.buildingsList = _search.hospital?.buildings;
|
|
||||||
// });
|
|
||||||
// _isLoading = false;
|
|
||||||
// setState(() {});
|
|
||||||
// },
|
// },
|
||||||
// ),
|
// ),
|
||||||
const SizedBox(height: 8),
|
// ASmallButton(
|
||||||
// BuildingTypeMenu(
|
// text: context.translation.search,
|
||||||
// initialValue: _search?.building,
|
// onPressed: () {
|
||||||
// building: _search.buildingsList,
|
// if (!_formKey.currentState.validate()) {
|
||||||
// enabled: !_isLoading,
|
// return;
|
||||||
// onSelect: (status) {
|
// }
|
||||||
// _search.building = status;
|
// _formKey.currentState.save();
|
||||||
// _search.floorsList = status?.floors;
|
// Navigator.of(context).pop(_search);
|
||||||
// setState(() {});
|
|
||||||
// },
|
// },
|
||||||
|
// )
|
||||||
|
// ],
|
||||||
// ),
|
// ),
|
||||||
const SizedBox(height: 8),
|
// ASwitchButton(
|
||||||
// FloorTypeMenu(
|
// title: "Most Recent",
|
||||||
// initialValue: _search?.floor,
|
// value: _search.mostRecent ?? false,
|
||||||
// floors: _search.floorsList,
|
// onChange: (value) {
|
||||||
// enabled: !_isLoading,
|
// _search.mostRecent = value;
|
||||||
// onSelect: (status) {
|
|
||||||
// _search.floor = status;
|
|
||||||
// _search.departmentsList = _search.floor?.departments;
|
|
||||||
// setState(() {});
|
// setState(() {});
|
||||||
// },
|
// },
|
||||||
// ),
|
// ),
|
||||||
const SizedBox(height: 8),
|
// SizedBox(height: 8.0 * AppStyle.getScaleFactor(context)),
|
||||||
// DepartmentTypeMenu(
|
// PickAsset(
|
||||||
// initialValue: _search?.department,
|
// device: _search.asset,
|
||||||
// departments: _search.departmentsList,
|
// onPickAsset: (device) {
|
||||||
// enabled: !_isLoading,
|
// _search.asset = device;
|
||||||
// onSelect: (status) {
|
|
||||||
// _search.department = status;
|
|
||||||
// setState(() {});
|
// setState(() {});
|
||||||
// },
|
// },
|
||||||
// ),
|
// ),
|
||||||
SizedBox(height: 8.0 * AppStyle.getScaleFactor(context)),
|
// SizedBox(height: 8.0 * AppStyle.getScaleFactor(context)),
|
||||||
ATextFormField(
|
// ATextFormField(
|
||||||
initialValue: "_search.room",
|
// initialValue: "_search.title",
|
||||||
hintText: context.translation.room,
|
// hintText: context.translation.title,
|
||||||
style: Theme.of(context).textTheme.titleLarge,
|
// style: Theme.of(context).textTheme.titleLarge,
|
||||||
textInputAction: TextInputAction.search,
|
// textInputAction: TextInputAction.search,
|
||||||
onAction: () {
|
// onAction: () {
|
||||||
if (!_formKey.currentState.validate()) {
|
// if (!_formKey.currentState.validate()) {
|
||||||
return;
|
// return;
|
||||||
}
|
// }
|
||||||
_formKey.currentState.save();
|
// _formKey.currentState.save();
|
||||||
Navigator.of(context).pop(_search);
|
// Navigator.of(context).pop(_search);
|
||||||
},
|
// },
|
||||||
onSaved: (value) {
|
// onSaved: (value) {
|
||||||
// _search.room = value;
|
// // _search.title = value;
|
||||||
},
|
// },
|
||||||
),
|
// ),
|
||||||
SizedBox(height: 16.0 * AppStyle.getScaleFactor(context)),
|
// SizedBox(height: 8.0 * AppStyle.getScaleFactor(context)),
|
||||||
// Visibility(
|
// // HospitalAutoCompleteField(
|
||||||
// visible: (_search.toMap()..remove("mostRecent"))?.isNotEmpty ?? false,
|
// // initialValue: _search?.hospital?.name,
|
||||||
// child: Padding(
|
// // onSearch: (selected) async {
|
||||||
// padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 16),
|
// // _search.building = null;
|
||||||
// child: AButton(
|
// // _search.floor = null;
|
||||||
// padding: EdgeInsets.zero,
|
// // _search.department = null;
|
||||||
// text: context.translation.clearSearch,
|
// // _search.buildingsList = null;
|
||||||
// onPressed: () {
|
// // _search.floorsList = null;
|
||||||
// _search = DeviceTransferSearch();
|
// // _search.departmentsList = null;
|
||||||
|
// // _isLoading = true;
|
||||||
|
// // setState(() {});
|
||||||
|
// // await HospitalsProvider().getHospitalsListByVal(searchVal: selected?.name ?? "").then((value) {
|
||||||
|
// // _search.hospital = value?.firstWhere((element) => element.name == selected.name, orElse: () => null);
|
||||||
|
// // _search.buildingsList = _search.hospital?.buildings;
|
||||||
|
// // });
|
||||||
|
// // _isLoading = false;
|
||||||
|
// // setState(() {});
|
||||||
|
// // },
|
||||||
|
// // ),
|
||||||
|
// const SizedBox(height: 8),
|
||||||
|
// // BuildingTypeMenu(
|
||||||
|
// // initialValue: _search?.building,
|
||||||
|
// // building: _search.buildingsList,
|
||||||
|
// // enabled: !_isLoading,
|
||||||
|
// // onSelect: (status) {
|
||||||
|
// // _search.building = status;
|
||||||
|
// // _search.floorsList = status?.floors;
|
||||||
|
// // setState(() {});
|
||||||
|
// // },
|
||||||
|
// // ),
|
||||||
|
// const SizedBox(height: 8),
|
||||||
|
// // FloorTypeMenu(
|
||||||
|
// // initialValue: _search?.floor,
|
||||||
|
// // floors: _search.floorsList,
|
||||||
|
// // enabled: !_isLoading,
|
||||||
|
// // onSelect: (status) {
|
||||||
|
// // _search.floor = status;
|
||||||
|
// // _search.departmentsList = _search.floor?.departments;
|
||||||
|
// // setState(() {});
|
||||||
|
// // },
|
||||||
|
// // ),
|
||||||
|
// const SizedBox(height: 8),
|
||||||
|
// // DepartmentTypeMenu(
|
||||||
|
// // initialValue: _search?.department,
|
||||||
|
// // departments: _search.departmentsList,
|
||||||
|
// // enabled: !_isLoading,
|
||||||
|
// // onSelect: (status) {
|
||||||
|
// // _search.department = status;
|
||||||
|
// // setState(() {});
|
||||||
|
// // },
|
||||||
|
// // ),
|
||||||
|
// SizedBox(height: 8.0 * AppStyle.getScaleFactor(context)),
|
||||||
|
// ATextFormField(
|
||||||
|
// initialValue: "_search.room",
|
||||||
|
// hintText: context.translation.room,
|
||||||
|
// style: Theme.of(context).textTheme.titleLarge,
|
||||||
|
// textInputAction: TextInputAction.search,
|
||||||
|
// onAction: () {
|
||||||
|
// if (!_formKey.currentState.validate()) {
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
// _formKey.currentState.save();
|
||||||
// Navigator.of(context).pop(_search);
|
// Navigator.of(context).pop(_search);
|
||||||
// },
|
// },
|
||||||
|
// onSaved: (value) {
|
||||||
|
// // _search.room = value;
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// SizedBox(height: 16.0 * AppStyle.getScaleFactor(context)),
|
||||||
|
// // Visibility(
|
||||||
|
// // visible: (_search.toMap()..remove("mostRecent"))?.isNotEmpty ?? false,
|
||||||
|
// // child: Padding(
|
||||||
|
// // padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 16),
|
||||||
|
// // child: AButton(
|
||||||
|
// // padding: EdgeInsets.zero,
|
||||||
|
// // text: context.translation.clearSearch,
|
||||||
|
// // onPressed: () {
|
||||||
|
// // _search = DeviceTransferSearch();
|
||||||
|
// // Navigator.of(context).pop(_search);
|
||||||
|
// // },
|
||||||
|
// // ),
|
||||||
|
// // ),
|
||||||
|
// // ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
// ),
|
// ),
|
||||||
// ),
|
// ),
|
||||||
// ),
|
// ),
|
||||||
],
|
// );
|
||||||
),
|
// }
|
||||||
),
|
// }
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@ -1,329 +1,330 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:test_sa/extensions/context_extension.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/extensions/context_extension.dart';
|
||||||
import 'package:test_sa/models/service_request/service_request_search.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:test_sa/models/service_request/service_request_search.dart';
|
||||||
import 'package:test_sa/views/widgets/buttons/app_button.dart';
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
import 'package:test_sa/views/widgets/buttons/app_small_button.dart';
|
// import 'package:test_sa/views/widgets/buttons/app_button.dart';
|
||||||
import 'package:test_sa/views/widgets/hospitals/hospital_auto_complete_field.dart';
|
// import 'package:test_sa/views/widgets/buttons/app_small_button.dart';
|
||||||
import 'package:test_sa/views/widgets/status/service_request/service_request_status_mune.dart';
|
// import 'package:test_sa/views/widgets/hospitals/hospital_auto_complete_field.dart';
|
||||||
import 'package:test_sa/views/widgets/switch_button.dart';
|
// import 'package:test_sa/views/widgets/status/service_request/service_request_status_mune.dart';
|
||||||
import 'package:test_sa/views/widgets/titles/app_sub_title.dart';
|
// import 'package:test_sa/views/widgets/switch_button.dart';
|
||||||
|
// import 'package:test_sa/views/widgets/titles/app_sub_title.dart';
|
||||||
import '../../../models/employee.dart';
|
//
|
||||||
import '../../../models/new_models/assigned_employee.dart';
|
// import '../../../models/employee.dart';
|
||||||
import '../app_text_form_field.dart';
|
// import '../../../models/new_models/assigned_employee.dart';
|
||||||
import '../date_and_time/date_picker.dart';
|
// import '../app_text_form_field.dart';
|
||||||
import '../status/report/service_report_all_users.dart';
|
// import '../date_and_time/date_picker.dart';
|
||||||
import '../status/report/service_report_visit_date_operator.dart';
|
// import '../status/report/service_report_all_users.dart';
|
||||||
|
// import '../status/report/service_report_visit_date_operator.dart';
|
||||||
class ServiceRequestsSearchDialog extends StatefulWidget {
|
//
|
||||||
final ServiceRequestSearch initialSearchValue;
|
// class ServiceRequestsSearchDialog extends StatefulWidget {
|
||||||
final bool expandedSearch;
|
// final ServiceRequestSearch initialSearchValue;
|
||||||
final Function(ServiceRequestSearch) onSearch;
|
// final bool expandedSearch;
|
||||||
|
// final Function(ServiceRequestSearch) onSearch;
|
||||||
const ServiceRequestsSearchDialog({Key key, this.initialSearchValue, this.expandedSearch, this.onSearch}) : super(key: key);
|
//
|
||||||
|
// const ServiceRequestsSearchDialog({Key key, this.initialSearchValue, this.expandedSearch, this.onSearch}) : super(key: key);
|
||||||
@override
|
//
|
||||||
_ServiceRequestsSearchDialogState createState() => _ServiceRequestsSearchDialogState();
|
// @override
|
||||||
}
|
// _ServiceRequestsSearchDialogState createState() => _ServiceRequestsSearchDialogState();
|
||||||
|
// }
|
||||||
class _ServiceRequestsSearchDialogState extends State<ServiceRequestsSearchDialog> with TickerProviderStateMixin {
|
//
|
||||||
ServiceRequestSearch _search;
|
// class _ServiceRequestsSearchDialogState extends State<ServiceRequestsSearchDialog> with TickerProviderStateMixin {
|
||||||
List<Lookup> status = [
|
// ServiceRequestSearch _search;
|
||||||
Lookup(
|
// List<Lookup> status = [
|
||||||
name: "New",
|
// Lookup(
|
||||||
id: 4,
|
// name: "New",
|
||||||
),
|
// id: 4,
|
||||||
Lookup(
|
// ),
|
||||||
name: "Repaired",
|
// Lookup(
|
||||||
id: 6,
|
// name: "Repaired",
|
||||||
),
|
// id: 6,
|
||||||
Lookup(name: "Repeated", id: 8),
|
// ),
|
||||||
Lookup(
|
// Lookup(name: "Repeated", id: 8),
|
||||||
name: "Closed",
|
// Lookup(
|
||||||
id: 9,
|
// name: "Closed",
|
||||||
),
|
// id: 9,
|
||||||
Lookup(
|
// ),
|
||||||
name: "Under Repair",
|
// Lookup(
|
||||||
id: 5,
|
// name: "Under Repair",
|
||||||
),
|
// id: 5,
|
||||||
];
|
// ),
|
||||||
|
// ];
|
||||||
final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
//
|
||||||
|
// final GlobalKey<FormState> _formKey = GlobalKey<FormState>();
|
||||||
@override
|
//
|
||||||
void initState() {
|
// @override
|
||||||
super.initState();
|
// void initState() {
|
||||||
_search = ServiceRequestSearch();
|
// super.initState();
|
||||||
_search.fromSearch(widget.initialSearchValue);
|
// _search = ServiceRequestSearch();
|
||||||
}
|
// _search.fromSearch(widget.initialSearchValue);
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return SizedBox(
|
|
||||||
height: MediaQuery.of(context).size.height / 1.2,
|
|
||||||
child: Form(
|
|
||||||
key: _formKey,
|
|
||||||
child: Padding(
|
|
||||||
padding: const EdgeInsets.all(16.0),
|
|
||||||
child: SingleChildScrollView(
|
|
||||||
child: Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
|
||||||
children: [
|
|
||||||
Row(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
||||||
children: [
|
|
||||||
ASmallButton(
|
|
||||||
text: context.translation.cancel,
|
|
||||||
onPressed: () {
|
|
||||||
Navigator.of(context).pop();
|
|
||||||
},
|
|
||||||
),
|
|
||||||
ASmallButton(
|
|
||||||
text: context.translation.search,
|
|
||||||
onPressed: () {
|
|
||||||
if (!_formKey.currentState.validate()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
_formKey.currentState.save();
|
|
||||||
Navigator.of(context).pop(_search);
|
|
||||||
},
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
SizedBox(
|
|
||||||
height: 8.0 * AppStyle.getScaleFactor(context),
|
|
||||||
),
|
|
||||||
ASwitchButton(
|
|
||||||
title: "Most Recent",
|
|
||||||
value: _search.mostRecent ?? false,
|
|
||||||
onChange: (value) {
|
|
||||||
_search.mostRecent = value;
|
|
||||||
setState(() {});
|
|
||||||
},
|
|
||||||
),
|
|
||||||
SizedBox(
|
|
||||||
height: 8.0 * AppStyle.getScaleFactor(context),
|
|
||||||
),
|
|
||||||
ATextFormField(
|
|
||||||
labelText: "Call ID",
|
|
||||||
onSaved: (value) {
|
|
||||||
_search.callId = value;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
SizedBox(
|
|
||||||
height: 8.0 * AppStyle.getScaleFactor(context),
|
|
||||||
),
|
|
||||||
ATextFormField(
|
|
||||||
initialValue: _search.deviceNumber,
|
|
||||||
hintText: context.translation.assetNumber,
|
|
||||||
style: Theme.of(context).textTheme.headline6,
|
|
||||||
textInputAction: TextInputAction.search,
|
|
||||||
onAction: () {
|
|
||||||
if (!_formKey.currentState.validate()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
_formKey.currentState.save();
|
|
||||||
Navigator.of(context).pop(_search);
|
|
||||||
},
|
|
||||||
onSaved: (value) {
|
|
||||||
_search.deviceNumber = value;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
SizedBox(
|
|
||||||
height: 8.0 * AppStyle.getScaleFactor(context),
|
|
||||||
),
|
|
||||||
ATextFormField(
|
|
||||||
initialValue: _search.deviceSerialNumber,
|
|
||||||
hintText: context.translation.serialNumber,
|
|
||||||
style: Theme.of(context).textTheme.headline6,
|
|
||||||
textInputAction: TextInputAction.search,
|
|
||||||
onAction: () {
|
|
||||||
if (!_formKey.currentState.validate()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
_formKey.currentState.save();
|
|
||||||
Navigator.of(context).pop(_search);
|
|
||||||
},
|
|
||||||
onSaved: (value) {
|
|
||||||
_search.deviceSerialNumber = value;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
SizedBox(
|
|
||||||
height: 8.0 * AppStyle.getScaleFactor(context),
|
|
||||||
),
|
|
||||||
HospitalAutoCompleteField(
|
|
||||||
initialValue: _search.hospital?.name,
|
|
||||||
// onSave: (value){
|
|
||||||
// _search.hospital = value;
|
|
||||||
// },
|
|
||||||
onSearch: (value) {
|
|
||||||
_search.hospital = value;
|
|
||||||
Navigator.of(context).pop(_search);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
SizedBox(
|
|
||||||
height: 8.0 * AppStyle.getScaleFactor(context),
|
|
||||||
),
|
|
||||||
ATextFormField(
|
|
||||||
initialValue: _search.deviceName,
|
|
||||||
hintText: context.translation.deviceName,
|
|
||||||
style: Theme.of(context).textTheme.headline6,
|
|
||||||
textInputAction: TextInputAction.search,
|
|
||||||
onAction: () {
|
|
||||||
if (!_formKey.currentState.validate()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
_formKey.currentState.save();
|
|
||||||
Navigator.of(context).pop(_search);
|
|
||||||
},
|
|
||||||
onSaved: (value) {
|
|
||||||
_search.deviceName = value;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
SizedBox(
|
|
||||||
height: 8.0 * AppStyle.getScaleFactor(context),
|
|
||||||
),
|
|
||||||
ATextFormField(
|
|
||||||
initialValue: _search.model,
|
|
||||||
hintText: context.translation.model,
|
|
||||||
style: Theme.of(context).textTheme.headline6,
|
|
||||||
textInputAction: TextInputAction.search,
|
|
||||||
onAction: () {
|
|
||||||
if (!_formKey.currentState.validate()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
_formKey.currentState.save();
|
|
||||||
Navigator.of(context).pop(_search);
|
|
||||||
},
|
|
||||||
onSaved: (value) {
|
|
||||||
_search.model = value;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
SizedBox(
|
|
||||||
height: 16 * AppStyle.getScaleFactor(context),
|
|
||||||
),
|
|
||||||
const ASubTitle("Status"),
|
|
||||||
const SizedBox(
|
|
||||||
height: 4,
|
|
||||||
),
|
|
||||||
ServiceRequestStatusMenu(
|
|
||||||
initialValue: _search.statusValue,
|
|
||||||
onSelect: (status) {
|
|
||||||
_search.statusValue = status;
|
|
||||||
},
|
|
||||||
),
|
|
||||||
SizedBox(
|
|
||||||
height: 16 * AppStyle.getScaleFactor(context),
|
|
||||||
),
|
|
||||||
ASubTitle(context.translation.assignedEmployee),
|
|
||||||
const SizedBox(height: 4),
|
|
||||||
ServiceReportAllUsers(
|
|
||||||
initialValue: _search.assignedEmployee == null ? null : Employee(id: _search.assignedEmployee.id, name: _search.assignedEmployee.name),
|
|
||||||
onSelect: (engineer) {
|
|
||||||
_search.assignedEmployee = AssignedEmployee(id: engineer.id, name: engineer.name);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
SizedBox(
|
|
||||||
height: 16 * AppStyle.getScaleFactor(context),
|
|
||||||
),
|
|
||||||
const ASubTitle("Request Date"),
|
|
||||||
const SizedBox(height: 4),
|
|
||||||
ServiceReportVisitDateOperator(
|
|
||||||
initialValue: _search.dateOperator,
|
|
||||||
onSelect: (status) {
|
|
||||||
_search.dateOperator = status;
|
|
||||||
setState(() {});
|
|
||||||
},
|
|
||||||
),
|
|
||||||
Row(
|
|
||||||
children: [
|
|
||||||
Expanded(
|
|
||||||
child: Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
|
||||||
children: [
|
|
||||||
if (_search?.dateOperator?.name?.toLowerCase()?.contains("between") ?? false) const ASubTitle("From"),
|
|
||||||
ADatePicker(
|
|
||||||
date: DateTime.tryParse(_search.from ?? ""),
|
|
||||||
from: DateTime(1950),
|
|
||||||
onDatePicker: (date) {
|
|
||||||
_search.from = date?.toIso8601String();
|
|
||||||
setState(() {});
|
|
||||||
},
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
if (_search?.dateOperator?.name?.toLowerCase()?.contains("between") ?? false) const SizedBox(width: 16),
|
|
||||||
if (_search?.dateOperator?.name?.toLowerCase()?.contains("between") ?? false)
|
|
||||||
Expanded(
|
|
||||||
child: Column(
|
|
||||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
|
||||||
children: [
|
|
||||||
const ASubTitle("To"),
|
|
||||||
ADatePicker(
|
|
||||||
date: DateTime.tryParse(_search.to ?? ""),
|
|
||||||
from: DateTime(1950),
|
|
||||||
onDatePicker: (date) {
|
|
||||||
_search.to = date?.toIso8601String();
|
|
||||||
setState(() {});
|
|
||||||
},
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
const SizedBox(width: 16),
|
|
||||||
// Padding(
|
|
||||||
// padding: const EdgeInsets.symmetric(horizontal: 12),
|
|
||||||
// child: Wrap(
|
|
||||||
// spacing: 10,
|
|
||||||
// runSpacing: 10,
|
|
||||||
// alignment: WrapAlignment.spaceEvenly,
|
|
||||||
// children: List.generate(
|
|
||||||
// status.length,
|
|
||||||
// (index) {
|
|
||||||
// bool isSelected = _search.statusValue == status[index];
|
|
||||||
// return FilterItem(
|
|
||||||
// isSelected: isSelected,
|
|
||||||
// onSelected: (){
|
|
||||||
// if(isSelected) {
|
|
||||||
// _search.statusValue = null;
|
|
||||||
// } else {
|
|
||||||
// _search.statusValue = status[index];
|
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
|
// @override
|
||||||
|
// Widget build(BuildContext context) {
|
||||||
|
// return SizedBox(
|
||||||
|
// height: MediaQuery.of(context).size.height / 1.2,
|
||||||
|
// child: Form(
|
||||||
|
// key: _formKey,
|
||||||
|
// child: Padding(
|
||||||
|
// padding: const EdgeInsets.all(16.0),
|
||||||
|
// child: SingleChildScrollView(
|
||||||
|
// child: Column(
|
||||||
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
|
// children: [
|
||||||
|
// Row(
|
||||||
|
// mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
|
// children: [
|
||||||
|
// ASmallButton(
|
||||||
|
// text: context.translation.cancel,
|
||||||
|
// onPressed: () {
|
||||||
|
// Navigator.of(context).pop();
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// ASmallButton(
|
||||||
|
// text: context.translation.search,
|
||||||
|
// onPressed: () {
|
||||||
|
// if (!_formKey.currentState.validate()) {
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
// _formKey.currentState.save();
|
||||||
|
// Navigator.of(context).pop(_search);
|
||||||
|
// },
|
||||||
|
// )
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// SizedBox(
|
||||||
|
// height: 8.0 * AppStyle.getScaleFactor(context),
|
||||||
|
// ),
|
||||||
|
// ASwitchButton(
|
||||||
|
// title: "Most Recent",
|
||||||
|
// value: _search.mostRecent ?? false,
|
||||||
|
// onChange: (value) {
|
||||||
|
// _search.mostRecent = value;
|
||||||
// setState(() {});
|
// setState(() {});
|
||||||
// },
|
// },
|
||||||
// status: status[index],
|
// ),
|
||||||
// );
|
// SizedBox(
|
||||||
|
// height: 8.0 * AppStyle.getScaleFactor(context),
|
||||||
|
// ),
|
||||||
|
// ATextFormField(
|
||||||
|
// labelText: "Call ID",
|
||||||
|
// onSaved: (value) {
|
||||||
|
// _search.callId = value;
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// SizedBox(
|
||||||
|
// height: 8.0 * AppStyle.getScaleFactor(context),
|
||||||
|
// ),
|
||||||
|
// ATextFormField(
|
||||||
|
// initialValue: _search.deviceNumber,
|
||||||
|
// hintText: context.translation.assetNumber,
|
||||||
|
// style: Theme.of(context).textTheme.headline6,
|
||||||
|
// textInputAction: TextInputAction.search,
|
||||||
|
// onAction: () {
|
||||||
|
// if (!_formKey.currentState.validate()) {
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
// _formKey.currentState.save();
|
||||||
|
// Navigator.of(context).pop(_search);
|
||||||
|
// },
|
||||||
|
// onSaved: (value) {
|
||||||
|
// _search.deviceNumber = value;
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// SizedBox(
|
||||||
|
// height: 8.0 * AppStyle.getScaleFactor(context),
|
||||||
|
// ),
|
||||||
|
// ATextFormField(
|
||||||
|
// initialValue: _search.deviceSerialNumber,
|
||||||
|
// hintText: context.translation.serialNumber,
|
||||||
|
// style: Theme.of(context).textTheme.headline6,
|
||||||
|
// textInputAction: TextInputAction.search,
|
||||||
|
// onAction: () {
|
||||||
|
// if (!_formKey.currentState.validate()) {
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
// _formKey.currentState.save();
|
||||||
|
// Navigator.of(context).pop(_search);
|
||||||
|
// },
|
||||||
|
// onSaved: (value) {
|
||||||
|
// _search.deviceSerialNumber = value;
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// SizedBox(
|
||||||
|
// height: 8.0 * AppStyle.getScaleFactor(context),
|
||||||
|
// ),
|
||||||
|
// HospitalAutoCompleteField(
|
||||||
|
// initialValue: _search.hospital?.name,
|
||||||
|
// // onSave: (value){
|
||||||
|
// // _search.hospital = value;
|
||||||
|
// // },
|
||||||
|
// onSearch: (value) {
|
||||||
|
// _search.hospital = value;
|
||||||
|
// Navigator.of(context).pop(_search);
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// SizedBox(
|
||||||
|
// height: 8.0 * AppStyle.getScaleFactor(context),
|
||||||
|
// ),
|
||||||
|
// ATextFormField(
|
||||||
|
// initialValue: _search.deviceName,
|
||||||
|
// hintText: context.translation.deviceName,
|
||||||
|
// style: Theme.of(context).textTheme.headline6,
|
||||||
|
// textInputAction: TextInputAction.search,
|
||||||
|
// onAction: () {
|
||||||
|
// if (!_formKey.currentState.validate()) {
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
// _formKey.currentState.save();
|
||||||
|
// Navigator.of(context).pop(_search);
|
||||||
|
// },
|
||||||
|
// onSaved: (value) {
|
||||||
|
// _search.deviceName = value;
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// SizedBox(
|
||||||
|
// height: 8.0 * AppStyle.getScaleFactor(context),
|
||||||
|
// ),
|
||||||
|
// ATextFormField(
|
||||||
|
// initialValue: _search.model,
|
||||||
|
// hintText: context.translation.model,
|
||||||
|
// style: Theme.of(context).textTheme.headline6,
|
||||||
|
// textInputAction: TextInputAction.search,
|
||||||
|
// onAction: () {
|
||||||
|
// if (!_formKey.currentState.validate()) {
|
||||||
|
// return;
|
||||||
// }
|
// }
|
||||||
|
// _formKey.currentState.save();
|
||||||
|
// Navigator.of(context).pop(_search);
|
||||||
|
// },
|
||||||
|
// onSaved: (value) {
|
||||||
|
// _search.model = value;
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// SizedBox(
|
||||||
|
// height: 16 * AppStyle.getScaleFactor(context),
|
||||||
|
// ),
|
||||||
|
// const ASubTitle("Status"),
|
||||||
|
// const SizedBox(
|
||||||
|
// height: 4,
|
||||||
|
// ),
|
||||||
|
// ServiceRequestStatusMenu(
|
||||||
|
// initialValue: _search.statusValue,
|
||||||
|
// onSelect: (status) {
|
||||||
|
// _search.statusValue = status;
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// SizedBox(
|
||||||
|
// height: 16 * AppStyle.getScaleFactor(context),
|
||||||
|
// ),
|
||||||
|
// ASubTitle(context.translation.assignedEmployee),
|
||||||
|
// const SizedBox(height: 4),
|
||||||
|
// ServiceReportAllUsers(
|
||||||
|
// initialValue: _search.assignedEmployee == null ? null : Employee(id: _search.assignedEmployee.id, name: _search.assignedEmployee.name),
|
||||||
|
// onSelect: (engineer) {
|
||||||
|
// _search.assignedEmployee = AssignedEmployee(id: engineer.id, name: engineer.name);
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// SizedBox(
|
||||||
|
// height: 16 * AppStyle.getScaleFactor(context),
|
||||||
|
// ),
|
||||||
|
// const ASubTitle("Request Date"),
|
||||||
|
// const SizedBox(height: 4),
|
||||||
|
// ServiceReportVisitDateOperator(
|
||||||
|
// initialValue: _search.dateOperator,
|
||||||
|
// onSelect: (status) {
|
||||||
|
// _search.dateOperator = status;
|
||||||
|
// setState(() {});
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// Row(
|
||||||
|
// children: [
|
||||||
|
// Expanded(
|
||||||
|
// child: Column(
|
||||||
|
// crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||||
|
// children: [
|
||||||
|
// if (_search?.dateOperator?.name?.toLowerCase()?.contains("between") ?? false) const ASubTitle("From"),
|
||||||
|
// ADatePicker(
|
||||||
|
// date: DateTime.tryParse(_search.from ?? ""),
|
||||||
|
// from: DateTime(1950),
|
||||||
|
// onDatePicker: (date) {
|
||||||
|
// _search.from = date?.toIso8601String();
|
||||||
|
// setState(() {});
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// if (_search?.dateOperator?.name?.toLowerCase()?.contains("between") ?? false) const SizedBox(width: 16),
|
||||||
|
// if (_search?.dateOperator?.name?.toLowerCase()?.contains("between") ?? false)
|
||||||
|
// Expanded(
|
||||||
|
// child: Column(
|
||||||
|
// crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||||
|
// children: [
|
||||||
|
// const ASubTitle("To"),
|
||||||
|
// ADatePicker(
|
||||||
|
// date: DateTime.tryParse(_search.to ?? ""),
|
||||||
|
// from: DateTime(1950),
|
||||||
|
// onDatePicker: (date) {
|
||||||
|
// _search.to = date?.toIso8601String();
|
||||||
|
// setState(() {});
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
|
// ),
|
||||||
|
// const SizedBox(width: 16),
|
||||||
|
// // Padding(
|
||||||
|
// // padding: const EdgeInsets.symmetric(horizontal: 12),
|
||||||
|
// // child: Wrap(
|
||||||
|
// // spacing: 10,
|
||||||
|
// // runSpacing: 10,
|
||||||
|
// // alignment: WrapAlignment.spaceEvenly,
|
||||||
|
// // children: List.generate(
|
||||||
|
// // status.length,
|
||||||
|
// // (index) {
|
||||||
|
// // bool isSelected = _search.statusValue == status[index];
|
||||||
|
// // return FilterItem(
|
||||||
|
// // isSelected: isSelected,
|
||||||
|
// // onSelected: (){
|
||||||
|
// // if(isSelected) {
|
||||||
|
// // _search.statusValue = null;
|
||||||
|
// // } else {
|
||||||
|
// // _search.statusValue = status[index];
|
||||||
|
// // }
|
||||||
|
// //
|
||||||
|
// // setState(() {});
|
||||||
|
// // },
|
||||||
|
// // status: status[index],
|
||||||
|
// // );
|
||||||
|
// // }
|
||||||
|
// //
|
||||||
|
// // ),
|
||||||
|
// // ),
|
||||||
|
// // ),
|
||||||
//
|
//
|
||||||
|
// Visibility(
|
||||||
|
// visible: widget.initialSearchValue.toMap().isNotEmpty,
|
||||||
|
// child: Padding(
|
||||||
|
// padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 16),
|
||||||
|
// child: AButton(
|
||||||
|
// padding: EdgeInsets.zero,
|
||||||
|
// text: context.translation.clearSearch,
|
||||||
|
// onPressed: () {
|
||||||
|
// _search = ServiceRequestSearch();
|
||||||
|
// Navigator.of(context).pop(_search);
|
||||||
|
// },
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ),
|
||||||
|
// ],
|
||||||
// ),
|
// ),
|
||||||
// ),
|
// ),
|
||||||
// ),
|
// ),
|
||||||
|
// ),
|
||||||
Visibility(
|
// );
|
||||||
visible: widget.initialSearchValue.toMap().isNotEmpty,
|
// }
|
||||||
child: Padding(
|
// }
|
||||||
padding: const EdgeInsets.symmetric(vertical: 8, horizontal: 16),
|
|
||||||
child: AButton(
|
|
||||||
padding: EdgeInsets.zero,
|
|
||||||
text: context.translation.clearSearch,
|
|
||||||
onPressed: () {
|
|
||||||
_search = ServiceRequestSearch();
|
|
||||||
Navigator.of(context).pop(_search);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@ -1,37 +1,38 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:provider/provider.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/status_drop_down/asset_transfer_status_provider.dart';
|
// import 'package:provider/provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/status_drop_down/asset_transfer_status_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
||||||
|
// import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
||||||
class AssetStatusMenu extends StatelessWidget {
|
//
|
||||||
final Function(Lookup) onSelect;
|
// class AssetStatusMenu extends StatelessWidget {
|
||||||
final Lookup initialValue;
|
// final Function(Lookup) onSelect;
|
||||||
final bool enabled;
|
// final Lookup initialValue;
|
||||||
|
// final bool enabled;
|
||||||
const AssetStatusMenu({Key key, this.enabled = true, this.onSelect, this.initialValue}) : super(key: key);
|
//
|
||||||
|
// const AssetStatusMenu({Key key, this.enabled = true, this.onSelect, this.initialValue}) : super(key: key);
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
final settingProvider = Provider.of<SettingProvider>(context);
|
// Widget build(BuildContext context) {
|
||||||
final userProvider = Provider.of<UserProvider>(context);
|
// final settingProvider = Provider.of<SettingProvider>(context);
|
||||||
final assetProvider = Provider.of<AssetTransferStatusProvider>(context);
|
// final userProvider = Provider.of<UserProvider>(context);
|
||||||
return LoadingManager(
|
// final assetProvider = Provider.of<AssetTransferStatusProvider>(context);
|
||||||
isLoading: assetProvider.isLoading,
|
// return LoadingManager(
|
||||||
isFailedLoading: assetProvider.items == null,
|
// isLoading: assetProvider.isLoading,
|
||||||
stateCode: assetProvider.stateCode,
|
// isFailedLoading: assetProvider.items == null,
|
||||||
onRefresh: () async {
|
// stateCode: assetProvider.stateCode,
|
||||||
assetProvider.reset();
|
// onRefresh: () async {
|
||||||
await assetProvider.getData(user: userProvider.user, host: settingProvider.host);
|
// assetProvider.reset();
|
||||||
},
|
// await assetProvider.getData(user: userProvider.user, host: settingProvider.host);
|
||||||
child: SingleStatusMenu(
|
// },
|
||||||
initialStatus: initialValue,
|
// child: SingleStatusMenu(
|
||||||
statuses: assetProvider.items,
|
// initialStatus: initialValue,
|
||||||
onSelect: onSelect,
|
// statuses: assetProvider.items,
|
||||||
enabled: enabled,
|
// onSelect: onSelect,
|
||||||
));
|
// enabled: enabled,
|
||||||
}
|
// ));
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,35 +1,36 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:provider/provider.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/status_drop_down/employee/assigned_to_provider.dart';
|
// import 'package:provider/provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/status_drop_down/employee/assigned_to_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
||||||
|
// import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
||||||
class AssignedToMenu extends StatelessWidget {
|
//
|
||||||
final Function(Lookup) onSelect;
|
// class AssignedToMenu extends StatelessWidget {
|
||||||
final Lookup initialValue;
|
// final Function(Lookup) onSelect;
|
||||||
|
// final Lookup initialValue;
|
||||||
const AssignedToMenu({Key key, this.onSelect, this.initialValue}) : super(key: key);
|
//
|
||||||
|
// const AssignedToMenu({Key key, this.onSelect, this.initialValue}) : super(key: key);
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
final settingProvider = Provider.of<SettingProvider>(context);
|
// Widget build(BuildContext context) {
|
||||||
final userProvider = Provider.of<UserProvider>(context);
|
// final settingProvider = Provider.of<SettingProvider>(context);
|
||||||
final menuProvider = Provider.of<AssignedToProvider>(context);
|
// final userProvider = Provider.of<UserProvider>(context);
|
||||||
return LoadingManager(
|
// final menuProvider = Provider.of<AssignedToProvider>(context);
|
||||||
isLoading: menuProvider.isLoading,
|
// return LoadingManager(
|
||||||
isFailedLoading: menuProvider.items == null,
|
// isLoading: menuProvider.isLoading,
|
||||||
stateCode: menuProvider.stateCode,
|
// isFailedLoading: menuProvider.items == null,
|
||||||
onRefresh: () async {
|
// stateCode: menuProvider.stateCode,
|
||||||
menuProvider.reset();
|
// onRefresh: () async {
|
||||||
await menuProvider.getData(user: userProvider.user, host: settingProvider.host);
|
// menuProvider.reset();
|
||||||
},
|
// await menuProvider.getData(user: userProvider.user, host: settingProvider.host);
|
||||||
child: SingleStatusMenu(
|
// },
|
||||||
initialStatus: initialValue,
|
// child: SingleStatusMenu(
|
||||||
statuses: menuProvider.items,
|
// initialStatus: initialValue,
|
||||||
onSelect: onSelect,
|
// statuses: menuProvider.items,
|
||||||
));
|
// onSelect: onSelect,
|
||||||
}
|
// ));
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,35 +1,36 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:provider/provider.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/status_drop_down/gas_refill/gas_cylinder_size_provider.dart';
|
// import 'package:provider/provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/status_drop_down/gas_refill/gas_cylinder_size_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
||||||
|
// import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
||||||
class GasCylinderSizeMenu extends StatelessWidget {
|
//
|
||||||
final Function(Lookup) onSelect;
|
// class GasCylinderSizeMenu extends StatelessWidget {
|
||||||
final Lookup initialValue;
|
// final Function(Lookup) onSelect;
|
||||||
|
// final Lookup initialValue;
|
||||||
const GasCylinderSizeMenu({Key key, this.onSelect, this.initialValue}) : super(key: key);
|
//
|
||||||
|
// const GasCylinderSizeMenu({Key key, this.onSelect, this.initialValue}) : super(key: key);
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
final settingProvider = Provider.of<SettingProvider>(context);
|
// Widget build(BuildContext context) {
|
||||||
final userProvider = Provider.of<UserProvider>(context);
|
// final settingProvider = Provider.of<SettingProvider>(context);
|
||||||
final menuProvider = Provider.of<GasCylinderSizesProvider>(context);
|
// final userProvider = Provider.of<UserProvider>(context);
|
||||||
return LoadingManager(
|
// final menuProvider = Provider.of<GasCylinderSizesProvider>(context);
|
||||||
isLoading: menuProvider.isLoading,
|
// return LoadingManager(
|
||||||
isFailedLoading: menuProvider.items == null,
|
// isLoading: menuProvider.isLoading,
|
||||||
stateCode: menuProvider.stateCode,
|
// isFailedLoading: menuProvider.items == null,
|
||||||
onRefresh: () async {
|
// stateCode: menuProvider.stateCode,
|
||||||
menuProvider.reset();
|
// onRefresh: () async {
|
||||||
await menuProvider.getData(user: userProvider.user, host: settingProvider.host);
|
// menuProvider.reset();
|
||||||
},
|
// await menuProvider.getData(user: userProvider.user, host: settingProvider.host);
|
||||||
child: SingleStatusMenu(
|
// },
|
||||||
initialStatus: initialValue,
|
// child: SingleStatusMenu(
|
||||||
statuses: menuProvider.items,
|
// initialStatus: initialValue,
|
||||||
onSelect: onSelect,
|
// statuses: menuProvider.items,
|
||||||
));
|
// onSelect: onSelect,
|
||||||
}
|
// ));
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,35 +1,36 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:provider/provider.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/status_drop_down/gas_refill/gas_cylinder_type_provider.dart';
|
// import 'package:provider/provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/status_drop_down/gas_refill/gas_cylinder_type_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
||||||
|
// import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
||||||
class GasCylinderTypesMenu extends StatelessWidget {
|
//
|
||||||
final Function(Lookup) onSelect;
|
// class GasCylinderTypesMenu extends StatelessWidget {
|
||||||
final Lookup initialValue;
|
// final Function(Lookup) onSelect;
|
||||||
|
// final Lookup initialValue;
|
||||||
const GasCylinderTypesMenu({Key key, this.onSelect, this.initialValue}) : super(key: key);
|
//
|
||||||
|
// const GasCylinderTypesMenu({Key key, this.onSelect, this.initialValue}) : super(key: key);
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
final settingProvider = Provider.of<SettingProvider>(context);
|
// Widget build(BuildContext context) {
|
||||||
final userProvider = Provider.of<UserProvider>(context);
|
// final settingProvider = Provider.of<SettingProvider>(context);
|
||||||
final menuProvider = Provider.of<GasCylinderTypesProvider>(context);
|
// final userProvider = Provider.of<UserProvider>(context);
|
||||||
return LoadingManager(
|
// final menuProvider = Provider.of<GasCylinderTypesProvider>(context);
|
||||||
isLoading: menuProvider.isLoading,
|
// return LoadingManager(
|
||||||
isFailedLoading: menuProvider.items == null,
|
// isLoading: menuProvider.isLoading,
|
||||||
stateCode: menuProvider.stateCode,
|
// isFailedLoading: menuProvider.items == null,
|
||||||
onRefresh: () async {
|
// stateCode: menuProvider.stateCode,
|
||||||
menuProvider.reset();
|
// onRefresh: () async {
|
||||||
await menuProvider.getData(user: userProvider.user, host: settingProvider.host);
|
// menuProvider.reset();
|
||||||
},
|
// await menuProvider.getData(user: userProvider.user, host: settingProvider.host);
|
||||||
child: SingleStatusMenu(
|
// },
|
||||||
initialStatus: initialValue,
|
// child: SingleStatusMenu(
|
||||||
statuses: menuProvider.items,
|
// initialStatus: initialValue,
|
||||||
onSelect: onSelect,
|
// statuses: menuProvider.items,
|
||||||
));
|
// onSelect: onSelect,
|
||||||
}
|
// ));
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,37 +1,38 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:provider/provider.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/status_drop_down/gas_refill/gas_status_provider.dart';
|
// import 'package:provider/provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/status_drop_down/gas_refill/gas_status_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
||||||
|
// import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
||||||
class GasStatusMenu extends StatelessWidget {
|
//
|
||||||
final Function(Lookup) onSelect;
|
// class GasStatusMenu extends StatelessWidget {
|
||||||
final Lookup initialValue;
|
// final Function(Lookup) onSelect;
|
||||||
final bool enabled;
|
// final Lookup initialValue;
|
||||||
|
// final bool enabled;
|
||||||
const GasStatusMenu({Key key, this.enabled = true, this.onSelect, this.initialValue}) : super(key: key);
|
//
|
||||||
|
// const GasStatusMenu({Key key, this.enabled = true, this.onSelect, this.initialValue}) : super(key: key);
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
final settingProvider = Provider.of<SettingProvider>(context);
|
// Widget build(BuildContext context) {
|
||||||
final userProvider = Provider.of<UserProvider>(context);
|
// final settingProvider = Provider.of<SettingProvider>(context);
|
||||||
final menuProvider = Provider.of<GasStatusProvider>(context);
|
// final userProvider = Provider.of<UserProvider>(context);
|
||||||
return LoadingManager(
|
// final menuProvider = Provider.of<GasStatusProvider>(context);
|
||||||
isLoading: menuProvider.isLoading,
|
// return LoadingManager(
|
||||||
isFailedLoading: menuProvider.items == null,
|
// isLoading: menuProvider.isLoading,
|
||||||
stateCode: menuProvider.stateCode,
|
// isFailedLoading: menuProvider.items == null,
|
||||||
onRefresh: () async {
|
// stateCode: menuProvider.stateCode,
|
||||||
menuProvider.reset();
|
// onRefresh: () async {
|
||||||
await menuProvider.getData(user: userProvider.user, host: settingProvider.host);
|
// menuProvider.reset();
|
||||||
},
|
// await menuProvider.getData(user: userProvider.user, host: settingProvider.host);
|
||||||
child: SingleStatusMenu(
|
// },
|
||||||
initialStatus: initialValue,
|
// child: SingleStatusMenu(
|
||||||
statuses: menuProvider.items,
|
// initialStatus: initialValue,
|
||||||
onSelect: onSelect,
|
// statuses: menuProvider.items,
|
||||||
enabled: enabled,
|
// onSelect: onSelect,
|
||||||
));
|
// enabled: enabled,
|
||||||
}
|
// ));
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,35 +1,36 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:provider/provider.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/status_drop_down/gas_refill/gas_types_provider.dart';
|
// import 'package:provider/provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/status_drop_down/gas_refill/gas_types_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
||||||
|
// import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
||||||
class GasTypeMenu extends StatelessWidget {
|
//
|
||||||
final Function(Lookup) onSelect;
|
// class GasTypeMenu extends StatelessWidget {
|
||||||
final Lookup initialValue;
|
// final Function(Lookup) onSelect;
|
||||||
|
// final Lookup initialValue;
|
||||||
const GasTypeMenu({Key key, this.onSelect, this.initialValue}) : super(key: key);
|
//
|
||||||
|
// const GasTypeMenu({Key key, this.onSelect, this.initialValue}) : super(key: key);
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
final settingProvider = Provider.of<SettingProvider>(context);
|
// Widget build(BuildContext context) {
|
||||||
final userProvider = Provider.of<UserProvider>(context);
|
// final settingProvider = Provider.of<SettingProvider>(context);
|
||||||
final menuProvider = Provider.of<GasTypesProvider>(context);
|
// final userProvider = Provider.of<UserProvider>(context);
|
||||||
return LoadingManager(
|
// final menuProvider = Provider.of<GasTypesProvider>(context);
|
||||||
isLoading: menuProvider.isLoading,
|
// return LoadingManager(
|
||||||
isFailedLoading: menuProvider.items == null,
|
// isLoading: menuProvider.isLoading,
|
||||||
stateCode: menuProvider.stateCode,
|
// isFailedLoading: menuProvider.items == null,
|
||||||
onRefresh: () async {
|
// stateCode: menuProvider.stateCode,
|
||||||
menuProvider.reset();
|
// onRefresh: () async {
|
||||||
await menuProvider.getData(user: userProvider.user, host: settingProvider.host);
|
// menuProvider.reset();
|
||||||
},
|
// await menuProvider.getData(user: userProvider.user, host: settingProvider.host);
|
||||||
child: SingleStatusMenu(
|
// },
|
||||||
initialStatus: initialValue,
|
// child: SingleStatusMenu(
|
||||||
statuses: menuProvider.items,
|
// initialStatus: initialValue,
|
||||||
onSelect: onSelect,
|
// statuses: menuProvider.items,
|
||||||
));
|
// onSelect: onSelect,
|
||||||
}
|
// ));
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,117 +1,118 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:flutter_typeahead/flutter_typeahead.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:flutter_typeahead/flutter_typeahead.dart';
|
||||||
import 'package:test_sa/views/app_style/sizing.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
|
// import 'package:test_sa/views/app_style/sizing.dart';
|
||||||
class MultiStatusMenu extends StatefulWidget {
|
//
|
||||||
final List<Lookup> statuses;
|
// class MultiStatusMenu extends StatefulWidget {
|
||||||
final List<Lookup> initialSelectedStatus;
|
// final List<Lookup> statuses;
|
||||||
final Function(List<Lookup>) onSelect;
|
// final List<Lookup> initialSelectedStatus;
|
||||||
|
// final Function(List<Lookup>) onSelect;
|
||||||
const MultiStatusMenu({Key key, this.statuses, this.onSelect, this.initialSelectedStatus}) : super(key: key);
|
//
|
||||||
|
// const MultiStatusMenu({Key key, this.statuses, this.onSelect, this.initialSelectedStatus}) : super(key: key);
|
||||||
@override
|
//
|
||||||
_MultiStatusMenuState createState() => _MultiStatusMenuState();
|
// @override
|
||||||
}
|
// _MultiStatusMenuState createState() => _MultiStatusMenuState();
|
||||||
|
// }
|
||||||
class _MultiStatusMenuState extends State<MultiStatusMenu> {
|
//
|
||||||
List<Lookup> _selectedStatus = [];
|
// class _MultiStatusMenuState extends State<MultiStatusMenu> {
|
||||||
TextEditingController _controller;
|
// List<Lookup> _selectedStatus = [];
|
||||||
|
// TextEditingController _controller;
|
||||||
@override
|
//
|
||||||
void initState() {
|
// @override
|
||||||
_controller = TextEditingController();
|
// void initState() {
|
||||||
_selectedStatus.addAll(widget.initialSelectedStatus);
|
// _controller = TextEditingController();
|
||||||
super.initState();
|
// _selectedStatus.addAll(widget.initialSelectedStatus);
|
||||||
}
|
// super.initState();
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
void dispose() {
|
// @override
|
||||||
_controller.clear();
|
// void dispose() {
|
||||||
super.dispose();
|
// _controller.clear();
|
||||||
}
|
// super.dispose();
|
||||||
|
// }
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
return Column(
|
// Widget build(BuildContext context) {
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
// return Column(
|
||||||
children: [
|
// crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
Wrap(
|
// children: [
|
||||||
crossAxisAlignment: WrapCrossAlignment.start,
|
// Wrap(
|
||||||
alignment: WrapAlignment.start,
|
// crossAxisAlignment: WrapCrossAlignment.start,
|
||||||
runAlignment: WrapAlignment.start,
|
// alignment: WrapAlignment.start,
|
||||||
children: List.generate(_selectedStatus.length, (index) {
|
// runAlignment: WrapAlignment.start,
|
||||||
final status = _selectedStatus[index];
|
// children: List.generate(_selectedStatus.length, (index) {
|
||||||
return Container(
|
// final status = _selectedStatus[index];
|
||||||
height: 36 * AppStyle.getScaleFactor(context),
|
// return Container(
|
||||||
margin: EdgeInsets.all(4 * AppStyle.getScaleFactor(context)),
|
// height: 36 * AppStyle.getScaleFactor(context),
|
||||||
//padding: EdgeInsets.all(4 * AppStyle.getScaleFactor(context)),
|
// margin: EdgeInsets.all(4 * AppStyle.getScaleFactor(context)),
|
||||||
decoration: BoxDecoration(color: Theme.of(context).colorScheme.primary, borderRadius: BorderRadius.circular(8)),
|
// //padding: EdgeInsets.all(4 * AppStyle.getScaleFactor(context)),
|
||||||
child: Row(
|
// decoration: BoxDecoration(color: Theme.of(context).colorScheme.primary, borderRadius: BorderRadius.circular(8)),
|
||||||
mainAxisSize: MainAxisSize.min,
|
// child: Row(
|
||||||
children: [
|
// mainAxisSize: MainAxisSize.min,
|
||||||
const SizedBox(
|
// children: [
|
||||||
width: 12,
|
// const SizedBox(
|
||||||
),
|
// width: 12,
|
||||||
Text(
|
// ),
|
||||||
status.name,
|
// Text(
|
||||||
style: Theme.of(context).textTheme.bodyText1.copyWith(
|
// status.name,
|
||||||
color: Theme.of(context).colorScheme.onPrimary,
|
// style: Theme.of(context).textTheme.bodyText1.copyWith(
|
||||||
),
|
// color: Theme.of(context).colorScheme.onPrimary,
|
||||||
),
|
// ),
|
||||||
IconButton(
|
// ),
|
||||||
color: Theme.of(context).colorScheme.onPrimary,
|
// IconButton(
|
||||||
onPressed: () {
|
// color: Theme.of(context).colorScheme.onPrimary,
|
||||||
_selectedStatus.remove(status);
|
// onPressed: () {
|
||||||
widget.onSelect(_selectedStatus);
|
// _selectedStatus.remove(status);
|
||||||
setState(() {});
|
// widget.onSelect(_selectedStatus);
|
||||||
},
|
// setState(() {});
|
||||||
icon: const Icon(Icons.delete))
|
// },
|
||||||
],
|
// icon: const Icon(Icons.delete))
|
||||||
));
|
// ],
|
||||||
}),
|
// ));
|
||||||
),
|
// }),
|
||||||
Container(
|
// ),
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 16),
|
// Container(
|
||||||
decoration: BoxDecoration(
|
// padding: const EdgeInsets.symmetric(horizontal: 16),
|
||||||
color: Colors.white,
|
// decoration: BoxDecoration(
|
||||||
// border: Border.all(color: AColors.black),
|
// color: Colors.white,
|
||||||
borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
|
// // border: Border.all(color: AColors.black),
|
||||||
boxShadow: const [AppStyle.boxShadow]),
|
// borderRadius: BorderRadius.circular(AppStyle.borderRadius * AppStyle.getScaleFactor(context)),
|
||||||
child: TypeAheadField<Lookup>(
|
// boxShadow: const [AppStyle.boxShadow]),
|
||||||
textFieldConfiguration: TextFieldConfiguration(
|
// child: TypeAheadField<Lookup>(
|
||||||
style: Theme.of(context).textTheme.subtitle1,
|
// textFieldConfiguration: TextFieldConfiguration(
|
||||||
controller: _controller,
|
// style: Theme.of(context).textTheme.subtitle1,
|
||||||
textAlign: TextAlign.center,
|
// controller: _controller,
|
||||||
decoration: const InputDecoration(
|
// textAlign: TextAlign.center,
|
||||||
border: InputBorder.none,
|
// decoration: const InputDecoration(
|
||||||
disabledBorder: InputBorder.none,
|
// border: InputBorder.none,
|
||||||
focusedBorder: InputBorder.none,
|
// disabledBorder: InputBorder.none,
|
||||||
enabledBorder: InputBorder.none,
|
// focusedBorder: InputBorder.none,
|
||||||
),
|
// enabledBorder: InputBorder.none,
|
||||||
textInputAction: TextInputAction.search,
|
// ),
|
||||||
),
|
// textInputAction: TextInputAction.search,
|
||||||
suggestionsCallback: (vale) {
|
// ),
|
||||||
return widget.statuses.where((Lookup option) {
|
// suggestionsCallback: (vale) {
|
||||||
return option.name.toLowerCase().contains(_controller.text);
|
// return widget.statuses.where((Lookup option) {
|
||||||
});
|
// return option.name.toLowerCase().contains(_controller.text);
|
||||||
},
|
// });
|
||||||
itemBuilder: (context, part) {
|
// },
|
||||||
return ListTile(
|
// itemBuilder: (context, part) {
|
||||||
title: Text(part.name),
|
// return ListTile(
|
||||||
);
|
// title: Text(part.name),
|
||||||
},
|
// );
|
||||||
onSuggestionSelected: (status) {
|
// },
|
||||||
_controller.clear();
|
// onSuggestionSelected: (status) {
|
||||||
if (!_selectedStatus.contains(status)) {
|
// _controller.clear();
|
||||||
_selectedStatus.add(status);
|
// if (!_selectedStatus.contains(status)) {
|
||||||
widget.onSelect(_selectedStatus);
|
// _selectedStatus.add(status);
|
||||||
setState(() {});
|
// widget.onSelect(_selectedStatus);
|
||||||
}
|
// setState(() {});
|
||||||
},
|
// }
|
||||||
),
|
// },
|
||||||
),
|
// ),
|
||||||
],
|
// ),
|
||||||
);
|
// ],
|
||||||
}
|
// );
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
@ -1,35 +1,36 @@
|
|||||||
import 'package:flutter/material.dart';
|
///todo deleted
|
||||||
import 'package:provider/provider.dart';
|
// import 'package:flutter/material.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/status_drop_down/pentry/pentry_status_provider.dart';
|
// import 'package:provider/provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/status_drop_down/pentry/pentry_status_provider.dart';
|
||||||
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
// import 'package:test_sa/controllers/providers/api/user_provider.dart';
|
||||||
import 'package:test_sa/models/lookup.dart';
|
// import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
||||||
import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
// import 'package:test_sa/models/lookup.dart';
|
||||||
import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
// import 'package:test_sa/views/widgets/loaders/loading_manager.dart';
|
||||||
|
// import 'package:test_sa/views/widgets/status/single_status_menu.dart';
|
||||||
class PentryStatusMenu extends StatelessWidget {
|
//
|
||||||
final Function(Lookup) onSelect;
|
// class PentryStatusMenu extends StatelessWidget {
|
||||||
final Lookup initialValue;
|
// final Function(Lookup) onSelect;
|
||||||
|
// final Lookup initialValue;
|
||||||
const PentryStatusMenu({Key key, this.onSelect, this.initialValue}) : super(key: key);
|
//
|
||||||
|
// const PentryStatusMenu({Key key, this.onSelect, this.initialValue}) : super(key: key);
|
||||||
@override
|
//
|
||||||
Widget build(BuildContext context) {
|
// @override
|
||||||
final settingProvider = Provider.of<SettingProvider>(context);
|
// Widget build(BuildContext context) {
|
||||||
final userProvider = Provider.of<UserProvider>(context);
|
// final settingProvider = Provider.of<SettingProvider>(context);
|
||||||
final menuProvider = Provider.of<PentryStatusProvider>(context);
|
// final userProvider = Provider.of<UserProvider>(context);
|
||||||
return LoadingManager(
|
// final menuProvider = Provider.of<PentryStatusProvider>(context);
|
||||||
isLoading: menuProvider.isLoading,
|
// return LoadingManager(
|
||||||
isFailedLoading: menuProvider.items == null,
|
// isLoading: menuProvider.isLoading,
|
||||||
stateCode: menuProvider.stateCode,
|
// isFailedLoading: menuProvider.items == null,
|
||||||
onRefresh: () async {
|
// stateCode: menuProvider.stateCode,
|
||||||
menuProvider.reset();
|
// onRefresh: () async {
|
||||||
await menuProvider.getData(user: userProvider.user, host: settingProvider.host);
|
// menuProvider.reset();
|
||||||
},
|
// await menuProvider.getData(user: userProvider.user, host: settingProvider.host);
|
||||||
child: SingleStatusMenu(
|
// },
|
||||||
initialStatus: initialValue,
|
// child: SingleStatusMenu(
|
||||||
statuses: menuProvider.items,
|
// initialStatus: initialValue,
|
||||||
onSelect: onSelect,
|
// statuses: menuProvider.items,
|
||||||
));
|
// onSelect: onSelect,
|
||||||
}
|
// ));
|
||||||
}
|
// }
|
||||||
|
// }
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue