forked from organicmaps/organicmaps
[iOS] fix state preservation in search hotels params
Also adjust guests picker available values https://jira.mail.ru/browse/MAPSME-14446 https://jira.mail.ru/browse/MAPSME-14453
This commit is contained in:
parent
1f590ec37f
commit
11619c3e45
3 changed files with 37 additions and 6 deletions
|
@ -18,6 +18,9 @@ import UIKit
|
|||
@IBOutlet var cancelButton: UIButton!
|
||||
@IBOutlet var datePickerView: DatePickerView!
|
||||
|
||||
@objc var initialCheckInDate: Date?
|
||||
@objc var initialCheckOutDate: Date?
|
||||
|
||||
@objc weak var delegate: DatePickerViewControllerDelegate?
|
||||
|
||||
lazy var dateFormatter: DateFormatter = {
|
||||
|
@ -29,7 +32,13 @@ import UIKit
|
|||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
datePickerView.delegate = self
|
||||
doneButton.isEnabled = false
|
||||
if let checkInDate = initialCheckInDate, let checkOutDate = initialCheckOutDate, checkOutDate > checkInDate {
|
||||
datePickerView.startDate = checkInDate
|
||||
datePickerView.endDate = checkOutDate
|
||||
doneButton.isEnabled = true
|
||||
} else {
|
||||
doneButton.isEnabled = false
|
||||
}
|
||||
}
|
||||
|
||||
override var transitioningDelegate: UIViewControllerTransitioningDelegate? {
|
||||
|
|
|
@ -20,17 +20,25 @@
|
|||
@IBOutlet var childrenStepper: ValueStepperView!
|
||||
@IBOutlet var infantsStepper: ValueStepperView!
|
||||
|
||||
@objc var roomsInitialCount = 1
|
||||
@objc var adultsInitialCount = 2
|
||||
@objc var childrenInitialCount = 0
|
||||
@objc var infantsInitialCount = 0
|
||||
|
||||
@objc weak var delegate: GuestsPickerViewControllerDelegate?
|
||||
|
||||
override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
roomsStepper.minValue = 1
|
||||
roomsStepper.maxValue = 10
|
||||
roomsStepper.maxValue = 30
|
||||
roomsStepper.value = roomsInitialCount
|
||||
adultsStepper.minValue = 1
|
||||
adultsStepper.maxValue = 20
|
||||
adultsStepper.value = 2
|
||||
childrenStepper.maxValue = 20
|
||||
infantsStepper.maxValue = 20
|
||||
adultsStepper.maxValue = 30
|
||||
adultsStepper.value = adultsInitialCount
|
||||
childrenStepper.maxValue = 10
|
||||
childrenStepper.value = childrenInitialCount
|
||||
infantsStepper.maxValue = 10
|
||||
infantsStepper.value = infantsInitialCount
|
||||
}
|
||||
|
||||
override func viewDidLayoutSubviews() {
|
||||
|
|
|
@ -84,6 +84,8 @@ using Observers = NSHashTable<Observer>;
|
|||
if (self.state != MWMSearchManagerStateHidden)
|
||||
self.state = MWMSearchManagerStateDefault;
|
||||
self.searchTextField.text = @"";
|
||||
[self.searchBarView resetDates];
|
||||
[self.searchBarView resetGuestCount];
|
||||
[MWMSearch clear];
|
||||
}
|
||||
|
||||
|
@ -140,6 +142,11 @@ using Observers = NSHashTable<Observer>;
|
|||
|
||||
DatePickerViewController *controller = [[DatePickerViewController alloc] init];
|
||||
controller.delegate = self;
|
||||
MWMHotelParams *filter = [MWMSearch getFilter];
|
||||
if (filter != nil && filter.checkInDate != nil && filter.checkOutDate != nil) {
|
||||
controller.initialCheckInDate = filter.checkInDate;
|
||||
controller.initialCheckOutDate = filter.checkOutDate;
|
||||
}
|
||||
controller.popoverPresentationController.sourceView = self.searchBarView;
|
||||
controller.popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirectionUp;
|
||||
[[MapViewController sharedController] presentViewController:controller animated:YES completion:nil];
|
||||
|
@ -158,6 +165,13 @@ using Observers = NSHashTable<Observer>;
|
|||
|
||||
GuestsPickerViewController *controller = [[GuestsPickerViewController alloc] init];
|
||||
controller.delegate = self;
|
||||
MWMHotelParams *filter = [MWMSearch getFilter];
|
||||
if (filter != nil) {
|
||||
controller.roomsInitialCount = filter.numberOfRooms;
|
||||
controller.adultsInitialCount = filter.numberOfAdults;
|
||||
controller.childrenInitialCount = filter.numberOfChildren;
|
||||
controller.infantsInitialCount = filter.numberOfInfants;
|
||||
}
|
||||
controller.popoverPresentationController.sourceView = self.searchBarView;
|
||||
controller.popoverPresentationController.permittedArrowDirections = UIPopoverArrowDirectionUp;
|
||||
[[MapViewController sharedController] presentViewController:controller animated:YES completion:nil];
|
||||
|
|
Loading…
Add table
Reference in a new issue