| Index: ios/showcase/payments/sc_payments_editor_coordinator.mm
|
| diff --git a/ios/showcase/payments/sc_payments_editor_coordinator.mm b/ios/showcase/payments/sc_payments_editor_coordinator.mm
|
| index 7bd180826784e171d6b575ea158e43773ccfb376..ba652e23015d805f017f0861d159e1de076267a0 100644
|
| --- a/ios/showcase/payments/sc_payments_editor_coordinator.mm
|
| +++ b/ios/showcase/payments/sc_payments_editor_coordinator.mm
|
| @@ -28,6 +28,8 @@
|
|
|
| @property(nonatomic, strong) ProtocolAlerter* alerter;
|
|
|
| +@property(nonatomic, strong) EditorField* province;
|
| +
|
| @end
|
|
|
| @implementation SCPaymentsEditorCoordinator
|
| @@ -37,6 +39,7 @@
|
| @synthesize paymentRequestEditViewController =
|
| _paymentRequestEditViewController;
|
| @synthesize alerter = _alerter;
|
| +@synthesize province = _province;
|
|
|
| - (void)start {
|
| self.alerter = [[ProtocolAlerter alloc] initWithProtocols:@[
|
| @@ -55,6 +58,12 @@
|
| self.alerter)];
|
| [self.paymentRequestEditViewController setValidatorDelegate:self];
|
| [self.paymentRequestEditViewController loadModel];
|
| + // Set the options for the province field after the model is loaded.
|
| + NSArray<NSString*>* options = @[ @"Ontario", @"Quebec" ];
|
| + self.province.value = options[1];
|
| + self.province.enabled = YES;
|
| + [self.paymentRequestEditViewController setOptions:options
|
| + forEditorField:self.province];
|
| [self.baseViewController
|
| pushViewController:self.paymentRequestEditViewController
|
| animated:YES];
|
| @@ -76,6 +85,13 @@
|
| value:@"CAN"
|
| required:YES];
|
| [country setDisplayValue:@"Canada"];
|
| + self.province = [[EditorField alloc]
|
| + initWithAutofillUIType:AutofillUITypeProfileHomeAddressState
|
| + fieldType:EditorFieldTypeTextField
|
| + label:@"Province"
|
| + value:@"Loading..."
|
| + required:YES];
|
| + self.province.enabled = NO;
|
| EditorField* address = [[EditorField alloc]
|
| initWithAutofillUIType:AutofillUITypeProfileHomeAddressStreet
|
| fieldType:EditorFieldTypeTextField
|
| @@ -88,8 +104,14 @@
|
| label:@"Postal Code"
|
| value:@""
|
| required:NO];
|
| + EditorField* save = [[EditorField alloc]
|
| + initWithAutofillUIType:AutofillUITypeCreditCardSaveToChrome
|
| + fieldType:EditorFieldTypeSwitch
|
| + label:@"Save"
|
| + value:@"YES"
|
| + required:NO];
|
|
|
| - return @[ name, country, address, postalCode ];
|
| + return @[ name, country, self.province, address, postalCode, save ];
|
| }
|
|
|
| #pragma mark - PaymentRequestEditViewControllerDataSource
|
| @@ -111,12 +133,7 @@
|
| - (NSString*)paymentRequestEditViewController:
|
| (PaymentRequestEditViewController*)controller
|
| validateField:(EditorField*)field {
|
| - if (field.value.length)
|
| - return nil;
|
| - else if (field.isRequired)
|
| - return @"Field is required";
|
| - else
|
| - return nil;
|
| + return (!field.value.length && field.isRequired) ? @"Field is required" : nil;
|
| }
|
|
|
| @end
|
|
|