|
|
|
|
@ -1,13 +1,16 @@
|
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
import 'package:provider/provider.dart';
|
|
|
|
|
import 'package:test_sa/controllers/api_routes/api_manager.dart';
|
|
|
|
|
import 'package:test_sa/controllers/providers/settings/setting_provider.dart';
|
|
|
|
|
import 'package:test_sa/dashboard_latest/dashboard_provider.dart';
|
|
|
|
|
import 'package:test_sa/extensions/context_extension.dart';
|
|
|
|
|
import 'package:test_sa/extensions/int_extensions.dart';
|
|
|
|
|
import 'package:test_sa/extensions/text_extensions.dart';
|
|
|
|
|
import 'package:test_sa/extensions/widget_extensions.dart';
|
|
|
|
|
import 'package:test_sa/helper/utils.dart';
|
|
|
|
|
import 'package:test_sa/new_views/app_style/app_color.dart';
|
|
|
|
|
import 'package:test_sa/views/pages/user/notifications/notifications_page.dart';
|
|
|
|
|
import 'package:test_sa/views/widgets/dialogs/confirm_dialog.dart';
|
|
|
|
|
|
|
|
|
|
import '../../controllers/providers/api/user_provider.dart';
|
|
|
|
|
import '../../models/user.dart';
|
|
|
|
|
@ -83,16 +86,28 @@ class AppBarWidget extends StatelessWidget {
|
|
|
|
|
borderRadius: BorderRadius.circular(8),
|
|
|
|
|
style: TextStyle(color: Theme.of(context).primaryColor),
|
|
|
|
|
underline: const SizedBox.shrink(),
|
|
|
|
|
onChanged: (newValue) {
|
|
|
|
|
onChanged: (newValue) async {
|
|
|
|
|
if (settingProvider.assetGroup != newValue) {
|
|
|
|
|
AssetGroup? tempGroup = ApiManager.instance.assetGroup;
|
|
|
|
|
ApiManager.instance.assetGroup = newValue;
|
|
|
|
|
|
|
|
|
|
Utils.showLoading(context);
|
|
|
|
|
bool isSuccess = await context.userProvider.userChangeAssetGroup();
|
|
|
|
|
Utils.hideLoading(context);
|
|
|
|
|
if (isSuccess) {
|
|
|
|
|
settingProvider.setAssetGroup(newValue);
|
|
|
|
|
WidgetsBinding.instance.addPostFrameCallback((_) {
|
|
|
|
|
context.settingProvider.setUser(ApiManager.instance.user!);
|
|
|
|
|
DashBoardProvider dashBoardProvider = Provider.of<DashBoardProvider>(context, listen: false);
|
|
|
|
|
dashBoardProvider.setTabs(userType: settingProvider.user!.type!, context: context);
|
|
|
|
|
dashBoardProvider.getDashBoardCount(usersType: settingProvider.user!.type!);
|
|
|
|
|
dashBoardProvider.resetRequestDataList();
|
|
|
|
|
dashBoardProvider.getRequestDetail(usersType: settingProvider.user!.type!, status: dashBoardProvider.tabs[dashBoardProvider.currentListIndex].tag);
|
|
|
|
|
});
|
|
|
|
|
} else {
|
|
|
|
|
ApiManager.instance.assetGroup = tempGroup;
|
|
|
|
|
context.showConfirmDialog("Failed, Please Try again");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
items: Provider.of<UserProvider>(context, listen: false).user?.assetGroups?.map<DropdownMenuItem<AssetGroup?>>((value) {
|
|
|
|
|
|