OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_H_ | 5 #ifndef IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_H_ |
6 #define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_H_ | 6 #define IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_H_ |
7 | 7 |
8 #import <UIKit/UIKit.h> | 8 #import <UIKit/UIKit.h> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
11 #import "ios/chrome/browser/ui/autofill/autofill_ui_type.h" | 11 #import "ios/chrome/browser/ui/autofill/autofill_ui_type.h" |
12 #import "ios/chrome/browser/ui/collection_view/collection_view_controller.h" | 12 #import "ios/chrome/browser/ui/collection_view/collection_view_controller.h" |
13 #import "ios/chrome/browser/ui/payments/payment_request_edit_view_controller_dat
a_source.h" | 13 #import "ios/chrome/browser/ui/payments/payment_request_edit_view_controller_dat
a_source.h" |
14 | 14 |
15 extern NSString* const kWarningMessageAccessibilityID; | 15 extern NSString* const kWarningMessageAccessibilityID; |
16 | 16 |
| 17 @class EditorField; |
17 @class PaymentRequestEditViewController; | 18 @class PaymentRequestEditViewController; |
18 | 19 |
| 20 // Delegate protocol for PaymentRequestEditViewController. |
| 21 @protocol PaymentRequestEditViewControllerDelegate<NSObject> |
| 22 |
| 23 // Notifies the delegate that the user has selected |field|. |
| 24 - (void)paymentRequestEditViewController: |
| 25 (PaymentRequestEditViewController*)controller |
| 26 didSelectField:(EditorField*)field; |
| 27 |
| 28 @end |
| 29 |
19 // Validator protocol for PaymentRequestEditViewController. | 30 // Validator protocol for PaymentRequestEditViewController. |
20 @protocol PaymentRequestEditViewControllerValidator<NSObject> | 31 @protocol PaymentRequestEditViewControllerValidator<NSObject> |
21 | 32 |
22 // Returns the validation error string for |value| which has the type | 33 // Returns the validation error string for |field|. Returns nil if there are no |
23 // |autofillUIType|. |required| indicates whether this is a required field. | 34 // validation errors. |
24 // Returns nil if there are no validation errors. | |
25 - (NSString*)paymentRequestEditViewController: | 35 - (NSString*)paymentRequestEditViewController: |
26 (PaymentRequestEditViewController*)controller | 36 (PaymentRequestEditViewController*)controller |
27 validateValue:(NSString*)value | 37 validateField:(EditorField*)field; |
28 autofillUIType:(AutofillUIType)autofillUIType | |
29 required:(BOOL)required; | |
30 | 38 |
31 @end | 39 @end |
32 | 40 |
33 // The collection view controller for a generic Payment Request edit screen. It | 41 // The collection view controller for a generic Payment Request edit screen. It |
34 // features sections for every EditorField supplied to the initializer. Each | 42 // features sections for every EditorField supplied to the initializer. Each |
35 // section has a text field as well as an error message item which is visible | 43 // section has a text field as well as an error message item which is visible |
36 // when the value of its respective text field is invalid. | 44 // when the value of its respective text field is invalid. |
37 @interface PaymentRequestEditViewController : CollectionViewController | 45 @interface PaymentRequestEditViewController : CollectionViewController |
38 | 46 |
39 // The data source for this view controller. | 47 // The data source for this view controller. |
40 @property(nonatomic, weak) id<PaymentRequestEditViewControllerDataSource> | 48 @property(nonatomic, weak) id<PaymentRequestEditViewControllerDataSource> |
41 dataSource; | 49 dataSource; |
42 | 50 |
| 51 // The delegate to be notified when the user selects an editor field. |
| 52 @property(nonatomic, weak) id<PaymentRequestEditViewControllerDelegate> |
| 53 delegate; |
| 54 |
43 // The delegate to be called for validating the fields. By default, the | 55 // The delegate to be called for validating the fields. By default, the |
44 // controller is the validator. | 56 // controller is the validator. |
45 @property(nonatomic, weak) id<PaymentRequestEditViewControllerValidator> | 57 @property(nonatomic, weak) id<PaymentRequestEditViewControllerValidator> |
46 validatorDelegate; | 58 validatorDelegate; |
47 | 59 |
48 @end | 60 @end |
49 | 61 |
50 #endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_H
_ | 62 #endif // IOS_CHROME_BROWSER_UI_PAYMENTS_PAYMENT_REQUEST_EDIT_VIEW_CONTROLLER_H
_ |
OLD | NEW |