|
|
|
@ -45,8 +45,7 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
final BranchRepo branchRepo;
|
|
|
|
final BranchRepo branchRepo;
|
|
|
|
final AppointmentRepo appointmentRepo;
|
|
|
|
final AppointmentRepo appointmentRepo;
|
|
|
|
|
|
|
|
|
|
|
|
AppointmentsVM(
|
|
|
|
AppointmentsVM({required this.commonServices,
|
|
|
|
{required this.commonServices,
|
|
|
|
|
|
|
|
required this.appointmentRepo,
|
|
|
|
required this.appointmentRepo,
|
|
|
|
required this.commonRepo,
|
|
|
|
required this.commonRepo,
|
|
|
|
required this.branchRepo});
|
|
|
|
required this.branchRepo});
|
|
|
|
@ -72,6 +71,7 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
List<DropValue> branchCategories = [];
|
|
|
|
List<DropValue> branchCategories = [];
|
|
|
|
|
|
|
|
|
|
|
|
bool isHomeTapped = false;
|
|
|
|
bool isHomeTapped = false;
|
|
|
|
|
|
|
|
bool isShowEmptyMessage = false;
|
|
|
|
|
|
|
|
|
|
|
|
List<ServiceAppointmentScheduleModel> serviceAppointmentScheduleList = [];
|
|
|
|
List<ServiceAppointmentScheduleModel> serviceAppointmentScheduleList = [];
|
|
|
|
|
|
|
|
|
|
|
|
@ -115,8 +115,7 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Future<void> onPayNowPressedForAppointment(
|
|
|
|
Future<void> onPayNowPressedForAppointment({required BuildContext context, required int appointmentID}) async {
|
|
|
|
{required BuildContext context, required int appointmentID}) async {
|
|
|
|
|
|
|
|
context
|
|
|
|
context
|
|
|
|
.read<PaymentVM>()
|
|
|
|
.read<PaymentVM>()
|
|
|
|
.updateAppointmentIdsForPayment(ids: [appointmentID]);
|
|
|
|
.updateAppointmentIdsForPayment(ids: [appointmentID]);
|
|
|
|
@ -178,8 +177,7 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Future<void> onConfirmAppointmentPressed(
|
|
|
|
Future<void> onConfirmAppointmentPressed({required BuildContext context, required appointmentId}) async {
|
|
|
|
{required BuildContext context, required appointmentId}) async {
|
|
|
|
|
|
|
|
context
|
|
|
|
context
|
|
|
|
.read<PaymentVM>()
|
|
|
|
.read<PaymentVM>()
|
|
|
|
.updateAppointmentIdsForPayment(ids: [appointmentId]);
|
|
|
|
.updateAppointmentIdsForPayment(ids: [appointmentId]);
|
|
|
|
@ -187,8 +185,7 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
arguments: PaymentTypes.appointment);
|
|
|
|
arguments: PaymentTypes.appointment);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Future<void> onCancelAppointmentPressed(
|
|
|
|
Future<void> onCancelAppointmentPressed({required BuildContext context,
|
|
|
|
{required BuildContext context,
|
|
|
|
|
|
|
|
required AppointmentListModel appointmentListModel}) async {
|
|
|
|
required AppointmentListModel appointmentListModel}) async {
|
|
|
|
Utils.showLoading(context);
|
|
|
|
Utils.showLoading(context);
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
@ -314,8 +311,7 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
notifyListeners();
|
|
|
|
notifyListeners();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
applyFilterOnAppointmentsVM(
|
|
|
|
applyFilterOnAppointmentsVM({required AppointmentStatusEnum appointmentStatusEnum,
|
|
|
|
{required AppointmentStatusEnum appointmentStatusEnum,
|
|
|
|
|
|
|
|
bool isNeedCustomerFilter = false}) {
|
|
|
|
bool isNeedCustomerFilter = false}) {
|
|
|
|
// isNeedCustomerFilter IS ONLY FOR THE PROVIDER APP
|
|
|
|
// isNeedCustomerFilter IS ONLY FOR THE PROVIDER APP
|
|
|
|
if (appointmentsFilterOptions.isEmpty) return;
|
|
|
|
if (appointmentsFilterOptions.isEmpty) return;
|
|
|
|
@ -336,7 +332,6 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
if (appointmentStatusEnum.getIdFromAppointmentStatusEnum() == 0) {
|
|
|
|
if (appointmentStatusEnum.getIdFromAppointmentStatusEnum() == 0) {
|
|
|
|
myFilteredAppointments = myAppointments;
|
|
|
|
myFilteredAppointments = myAppointments;
|
|
|
|
if (isNeedCustomerFilter) findAppointmentsBasedOnCustomers();
|
|
|
|
if (isNeedCustomerFilter) findAppointmentsBasedOnCustomers();
|
|
|
|
notifyListeners();
|
|
|
|
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@ -346,7 +341,6 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
appointmentStatusEnum.getIdFromAppointmentStatusEnum())
|
|
|
|
appointmentStatusEnum.getIdFromAppointmentStatusEnum())
|
|
|
|
.toList();
|
|
|
|
.toList();
|
|
|
|
if (isNeedCustomerFilter) findAppointmentsBasedOnCustomers();
|
|
|
|
if (isNeedCustomerFilter) findAppointmentsBasedOnCustomers();
|
|
|
|
notifyListeners();
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
findAppointmentsBasedOnCustomers() {
|
|
|
|
findAppointmentsBasedOnCustomers() {
|
|
|
|
@ -382,26 +376,29 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
// }).toList();
|
|
|
|
// }).toList();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Future<void> getMyAppointments({bool isNeedToRebuild = false}) async {
|
|
|
|
Future<void> getMyAppointments() async {
|
|
|
|
if (isNeedToRebuild) setState(ViewState.busy);
|
|
|
|
setState(ViewState.busy);
|
|
|
|
|
|
|
|
|
|
|
|
myAppointments =
|
|
|
|
myAppointments =
|
|
|
|
await appointmentRepo.getMyAppointmentsForCustomersByFilters();
|
|
|
|
await appointmentRepo.getMyAppointmentsForCustomersByFilters();
|
|
|
|
// myFilteredAppointments = myAppointments;
|
|
|
|
myFilteredAppointments = myAppointments;
|
|
|
|
myUpComingAppointments = myAppointments
|
|
|
|
myUpComingAppointments = myAppointments
|
|
|
|
.where((element) =>
|
|
|
|
.where((element) =>
|
|
|
|
element.appointmentStatusEnum == AppointmentStatusEnum.confirmed)
|
|
|
|
element.appointmentStatusEnum == AppointmentStatusEnum.confirmed)
|
|
|
|
.toList();
|
|
|
|
.toList();
|
|
|
|
setState(ViewState.idle);
|
|
|
|
|
|
|
|
applyFilterOnAppointmentsVM(
|
|
|
|
applyFilterOnAppointmentsVM(
|
|
|
|
appointmentStatusEnum: AppointmentStatusEnum.allAppointments);
|
|
|
|
appointmentStatusEnum: AppointmentStatusEnum.allAppointments);
|
|
|
|
|
|
|
|
if (myUpComingAppointments.isEmpty) {
|
|
|
|
|
|
|
|
isShowEmptyMessage = true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
setState(ViewState.idle);
|
|
|
|
notifyListeners();
|
|
|
|
notifyListeners();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
AppointmentSlots? appointmentSlots;
|
|
|
|
AppointmentSlots? appointmentSlots;
|
|
|
|
|
|
|
|
|
|
|
|
Future<void> getAppointmentSlotsInfo(
|
|
|
|
Future<void> getAppointmentSlotsInfo({required Map<String, dynamic> map,
|
|
|
|
{required Map<String, dynamic> map,
|
|
|
|
|
|
|
|
required BuildContext context,
|
|
|
|
required BuildContext context,
|
|
|
|
bool isNeedToRebuild = false}) async {
|
|
|
|
bool isNeedToRebuild = false}) async {
|
|
|
|
if (isNeedToRebuild) setState(ViewState.busy);
|
|
|
|
if (isNeedToRebuild) setState(ViewState.busy);
|
|
|
|
@ -418,17 +415,14 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Future<void> getMyAppointmentsForProvider(Map<String, dynamic> map,
|
|
|
|
Future<void> getMyAppointmentsForProvider(Map<String, dynamic> map,) async {
|
|
|
|
{bool isNeedToRebuild = false}) async {
|
|
|
|
setState(ViewState.busy);
|
|
|
|
if (isNeedToRebuild) setState(ViewState.busy);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
myAppointments = await appointmentRepo.getMyAppointmentsForProvider(map);
|
|
|
|
myAppointments = await appointmentRepo.getMyAppointmentsForProvider(map);
|
|
|
|
myFilteredAppointments = myAppointments;
|
|
|
|
myFilteredAppointments = myAppointments;
|
|
|
|
myUpComingAppointments = myAppointments
|
|
|
|
myUpComingAppointments = await myAppointments
|
|
|
|
.where((element) =>
|
|
|
|
.where((element) =>
|
|
|
|
element.appointmentStatusEnum == AppointmentStatusEnum.booked)
|
|
|
|
element.appointmentStatusEnum == AppointmentStatusEnum.confirmed)
|
|
|
|
.toList();
|
|
|
|
.toList();
|
|
|
|
|
|
|
|
|
|
|
|
applyFilterOnAppointmentsVM(
|
|
|
|
applyFilterOnAppointmentsVM(
|
|
|
|
appointmentStatusEnum: AppointmentStatusEnum.allAppointments,
|
|
|
|
appointmentStatusEnum: AppointmentStatusEnum.allAppointments,
|
|
|
|
isNeedCustomerFilter: true);
|
|
|
|
isNeedCustomerFilter: true);
|
|
|
|
@ -505,8 +499,7 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
.length;
|
|
|
|
.length;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
updateSelectedAppointmentDate(
|
|
|
|
updateSelectedAppointmentDate({required int dateIndex, required int scheduleIndex}) {
|
|
|
|
{required int dateIndex, required int scheduleIndex}) {
|
|
|
|
|
|
|
|
for (var element in serviceAppointmentScheduleList[scheduleIndex]
|
|
|
|
for (var element in serviceAppointmentScheduleList[scheduleIndex]
|
|
|
|
.customTimeDateSlotList!) {
|
|
|
|
.customTimeDateSlotList!) {
|
|
|
|
element.date!.isSelected = false;
|
|
|
|
element.date!.isSelected = false;
|
|
|
|
@ -534,8 +527,7 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
notifyListeners();
|
|
|
|
notifyListeners();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
updateSelectedAppointmentSlotByDate(
|
|
|
|
updateSelectedAppointmentSlotByDate({required int scheduleIndex, required int slotIndex}) {
|
|
|
|
{required int scheduleIndex, required int slotIndex}) {
|
|
|
|
|
|
|
|
for (var element in serviceAppointmentScheduleList[scheduleIndex]
|
|
|
|
for (var element in serviceAppointmentScheduleList[scheduleIndex]
|
|
|
|
.customTimeDateSlotList!) {
|
|
|
|
.customTimeDateSlotList!) {
|
|
|
|
for (var element in element.availableSlots!) {
|
|
|
|
for (var element in element.availableSlots!) {
|
|
|
|
@ -677,8 +669,7 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
return totalPrice.toString();
|
|
|
|
return totalPrice.toString();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void openTheAddServiceBottomSheet(
|
|
|
|
void openTheAddServiceBottomSheet(BuildContext context, AppointmentsVM appointmentsVM) {
|
|
|
|
BuildContext context, AppointmentsVM appointmentsVM) {
|
|
|
|
|
|
|
|
showModalBottomSheet(
|
|
|
|
showModalBottomSheet(
|
|
|
|
context: context,
|
|
|
|
context: context,
|
|
|
|
isScrollControlled: true,
|
|
|
|
isScrollControlled: true,
|
|
|
|
@ -689,8 +680,7 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
);
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
void priceBreakDownClicked(
|
|
|
|
void priceBreakDownClicked(BuildContext context, ServiceModel selectedService) {
|
|
|
|
BuildContext context, ServiceModel selectedService) {
|
|
|
|
|
|
|
|
showModalBottomSheet(
|
|
|
|
showModalBottomSheet(
|
|
|
|
context: context,
|
|
|
|
context: context,
|
|
|
|
isScrollControlled: true,
|
|
|
|
isScrollControlled: true,
|
|
|
|
@ -708,7 +698,8 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
Column(
|
|
|
|
Column(
|
|
|
|
children: List.generate(
|
|
|
|
children: List.generate(
|
|
|
|
selectedService.serviceItems!.length,
|
|
|
|
selectedService.serviceItems!.length,
|
|
|
|
(index) => Row(
|
|
|
|
(index) =>
|
|
|
|
|
|
|
|
Row(
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
|
children: [
|
|
|
|
children: [
|
|
|
|
"${selectedService.serviceItems![index].name}".toText(
|
|
|
|
"${selectedService.serviceItems![index].name}".toText(
|
|
|
|
@ -860,8 +851,7 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
notifyListeners();
|
|
|
|
notifyListeners();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Future<void> onRescheduleAppointmentPressed(
|
|
|
|
Future<void> onRescheduleAppointmentPressed({required BuildContext context,
|
|
|
|
{required BuildContext context,
|
|
|
|
|
|
|
|
required AppointmentListModel appointmentListModel}) async {
|
|
|
|
required AppointmentListModel appointmentListModel}) async {
|
|
|
|
Utils.showLoading(context);
|
|
|
|
Utils.showLoading(context);
|
|
|
|
|
|
|
|
|
|
|
|
@ -902,8 +892,7 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
notifyListeners();
|
|
|
|
notifyListeners();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Future<void> onRescheduleAppointmentConfirmPressed(
|
|
|
|
Future<void> onRescheduleAppointmentConfirmPressed({required BuildContext context,
|
|
|
|
{required BuildContext context,
|
|
|
|
|
|
|
|
required int appointmentId,
|
|
|
|
required int appointmentId,
|
|
|
|
required int selectedSlotId}) async {
|
|
|
|
required int selectedSlotId}) async {
|
|
|
|
Utils.showLoading(context);
|
|
|
|
Utils.showLoading(context);
|
|
|
|
@ -972,8 +961,7 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
setState(ViewState.idle);
|
|
|
|
setState(ViewState.idle);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Future<void> getAllNearBranches(
|
|
|
|
Future<void> getAllNearBranches({bool isNeedToRebuild = false, bool isFromRefresh = false}) async {
|
|
|
|
{bool isNeedToRebuild = false, bool isFromRefresh = false}) async {
|
|
|
|
|
|
|
|
nearbyBranches.clear();
|
|
|
|
nearbyBranches.clear();
|
|
|
|
if (isNeedToRebuild) setState(ViewState.busy);
|
|
|
|
if (isNeedToRebuild) setState(ViewState.busy);
|
|
|
|
|
|
|
|
|
|
|
|
@ -1058,8 +1046,7 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
// Provider Filter
|
|
|
|
// Provider Filter
|
|
|
|
List<DropValue> branchFilterProviderSearchHistory = [];
|
|
|
|
List<DropValue> branchFilterProviderSearchHistory = [];
|
|
|
|
|
|
|
|
|
|
|
|
void removeBranchFilterProviderSearchHistory(
|
|
|
|
void removeBranchFilterProviderSearchHistory({bool isClear = false, required int index}) {
|
|
|
|
{bool isClear = false, required int index}) {
|
|
|
|
|
|
|
|
if (isClear) {
|
|
|
|
if (isClear) {
|
|
|
|
branchFilterProviderSearchHistory.clear();
|
|
|
|
branchFilterProviderSearchHistory.clear();
|
|
|
|
notifyListeners();
|
|
|
|
notifyListeners();
|
|
|
|
@ -1102,8 +1089,7 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
// Category Filter
|
|
|
|
// Category Filter
|
|
|
|
List<DropValue> branchFilterCategorySearchHistory = [];
|
|
|
|
List<DropValue> branchFilterCategorySearchHistory = [];
|
|
|
|
|
|
|
|
|
|
|
|
void removeBranchFilterCategorySearchHistory(
|
|
|
|
void removeBranchFilterCategorySearchHistory({bool isClear = false, required int index}) {
|
|
|
|
{bool isClear = false, required int index}) {
|
|
|
|
|
|
|
|
if (isClear) {
|
|
|
|
if (isClear) {
|
|
|
|
branchFilterCategorySearchHistory.clear();
|
|
|
|
branchFilterCategorySearchHistory.clear();
|
|
|
|
notifyListeners();
|
|
|
|
notifyListeners();
|
|
|
|
@ -1146,8 +1132,7 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
// Services Filter
|
|
|
|
// Services Filter
|
|
|
|
List<DropValue> branchFilterServicesSearchHistory = [];
|
|
|
|
List<DropValue> branchFilterServicesSearchHistory = [];
|
|
|
|
|
|
|
|
|
|
|
|
void removeBranchFilterServicesSearchHistory(
|
|
|
|
void removeBranchFilterServicesSearchHistory({bool isClear = false, required int index}) {
|
|
|
|
{bool isClear = false, required int index}) {
|
|
|
|
|
|
|
|
if (isClear) {
|
|
|
|
if (isClear) {
|
|
|
|
branchFilterServicesSearchHistory.clear();
|
|
|
|
branchFilterServicesSearchHistory.clear();
|
|
|
|
notifyListeners();
|
|
|
|
notifyListeners();
|
|
|
|
@ -1330,8 +1315,7 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
setState(ViewState.idle);
|
|
|
|
setState(ViewState.idle);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
Future<void> getBranchesBasedOnCategoryFilters(
|
|
|
|
Future<void> getBranchesBasedOnCategoryFilters({required int categoryId}) async {
|
|
|
|
{required int categoryId}) async {
|
|
|
|
|
|
|
|
if (categoryId == 0) {
|
|
|
|
if (categoryId == 0) {
|
|
|
|
await getAllNearBranches();
|
|
|
|
await getAllNearBranches();
|
|
|
|
return;
|
|
|
|
return;
|
|
|
|
@ -1347,8 +1331,7 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
|
|
|
|
|
|
|
|
List<DropValue> branchesDropList = [];
|
|
|
|
List<DropValue> branchesDropList = [];
|
|
|
|
|
|
|
|
|
|
|
|
Future<void> fetchAllBranchesBySelectedProviderId(
|
|
|
|
Future<void> fetchAllBranchesBySelectedProviderId({required List<int> providersIdsList}) async {
|
|
|
|
{required List<int> providersIdsList}) async {
|
|
|
|
|
|
|
|
branchesDropList.clear();
|
|
|
|
branchesDropList.clear();
|
|
|
|
setOnlyState(ViewState.busy);
|
|
|
|
setOnlyState(ViewState.busy);
|
|
|
|
List<BranchDetailModel> providers = await branchRepo.getBranchesByFilters(
|
|
|
|
List<BranchDetailModel> providers = await branchRepo.getBranchesByFilters(
|
|
|
|
@ -1378,8 +1361,7 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
// Provider Filter For Appointments
|
|
|
|
// Provider Filter For Appointments
|
|
|
|
List<DropValue> appointmentFilterProviderSearchHistory = [];
|
|
|
|
List<DropValue> appointmentFilterProviderSearchHistory = [];
|
|
|
|
|
|
|
|
|
|
|
|
void removeAppointmentFilterProviderSearchHistory(
|
|
|
|
void removeAppointmentFilterProviderSearchHistory({bool isClear = false, required int index}) {
|
|
|
|
{bool isClear = false, required int index}) {
|
|
|
|
|
|
|
|
if (isClear) {
|
|
|
|
if (isClear) {
|
|
|
|
appointmentFilterProviderSearchHistory.clear();
|
|
|
|
appointmentFilterProviderSearchHistory.clear();
|
|
|
|
notifyListeners();
|
|
|
|
notifyListeners();
|
|
|
|
@ -1436,8 +1418,7 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
|
|
|
|
|
|
|
|
List<DropValue> appointmentFilterBranchSearchHistory = [];
|
|
|
|
List<DropValue> appointmentFilterBranchSearchHistory = [];
|
|
|
|
|
|
|
|
|
|
|
|
void removeAppointmentFilterBranchSearchHistory(
|
|
|
|
void removeAppointmentFilterBranchSearchHistory({bool isClear = false, required int index}) {
|
|
|
|
{bool isClear = false, required int index}) {
|
|
|
|
|
|
|
|
if (isClear) {
|
|
|
|
if (isClear) {
|
|
|
|
appointmentFilterBranchSearchHistory.clear();
|
|
|
|
appointmentFilterBranchSearchHistory.clear();
|
|
|
|
notifyListeners();
|
|
|
|
notifyListeners();
|
|
|
|
@ -1480,8 +1461,7 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
|
|
|
|
|
|
|
|
List<DropValue> appointmentFilterCategorySearchHistory = [];
|
|
|
|
List<DropValue> appointmentFilterCategorySearchHistory = [];
|
|
|
|
|
|
|
|
|
|
|
|
void removeAppointmentFilterCategorySearchHistory(
|
|
|
|
void removeAppointmentFilterCategorySearchHistory({bool isClear = false, required int index}) {
|
|
|
|
{bool isClear = false, required int index}) {
|
|
|
|
|
|
|
|
if (isClear) {
|
|
|
|
if (isClear) {
|
|
|
|
appointmentFilterCategorySearchHistory.clear();
|
|
|
|
appointmentFilterCategorySearchHistory.clear();
|
|
|
|
notifyListeners();
|
|
|
|
notifyListeners();
|
|
|
|
@ -1522,8 +1502,7 @@ class AppointmentsVM extends BaseVM {
|
|
|
|
|
|
|
|
|
|
|
|
List<DropValue> appointmentFilterServicesSearchHistory = [];
|
|
|
|
List<DropValue> appointmentFilterServicesSearchHistory = [];
|
|
|
|
|
|
|
|
|
|
|
|
void removeAppointmentFilterServicesSearchHistory(
|
|
|
|
void removeAppointmentFilterServicesSearchHistory({bool isClear = false, required int index}) {
|
|
|
|
{bool isClear = false, required int index}) {
|
|
|
|
|
|
|
|
if (isClear) {
|
|
|
|
if (isClear) {
|
|
|
|
appointmentFilterServicesSearchHistory.clear();
|
|
|
|
appointmentFilterServicesSearchHistory.clear();
|
|
|
|
notifyListeners();
|
|
|
|
notifyListeners();
|
|
|
|
|