{"action":"created","comment":{"url":"https://api.github.com/repos/edx/edx-app-ios/pulls/comments/154575389","pull_request_review_id":80756198,"id":154575389,"diff_hunk":"@@ -0,0 +1,96 @@\n+//\n+//  RegistrationFieldController.swift\n+//  edX\n+//\n+//  Created by Muhammad Zeeshan Arif on 23/11/2017.\n+//  Copyright © 2017 edX. All rights reserved.\n+//\n+\n+\n+class RegistrationFieldController: NSObject, OEXRegistrationFieldController {\n+    \n+    var field: OEXRegistrationFormField\n+    var fieldView: RegistrationFormFieldView\n+    \n+    \n+    var view: UIView{\n+        return fieldView\n+    }\n+    \n+    var hasValue: Bool{\n+        return stringValue != \"\"\n+    }\n+    \n+    var accessibleInputField: UIView?{\n+        return fieldView.textInputField\n+    }\n+    private var stringValue: String{","path":"Source/RegistrationFieldController.swift","position":null,"original_position":27,"commit_id":"e66259d12f03312eed0afe5f22be8ecb3c808869","original_commit_id":"9979adbe3499816d00fa4f9045cf661c6eefb902","user":{"login":"zeshanarifarbisoft","id":33654380,"avatar_url":"https://avatars3.githubusercontent.com/u/33654380?v=4","gravatar_id":"","url":"https://api.github.com/users/zeshanarifarbisoft","html_url":"https://github.com/zeshanarifarbisoft","followers_url":"https://api.github.com/users/zeshanarifarbisoft/followers","following_url":"https://api.github.com/users/zeshanarifarbisoft/following{/other_user}","gists_url":"https://api.github.com/users/zeshanarifarbisoft/gists{/gist_id}","starred_url":"https://api.github.com/users/zeshanarifarbisoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zeshanarifarbisoft/subscriptions","organizations_url":"https://api.github.com/users/zeshanarifarbisoft/orgs","repos_url":"https://api.github.com/users/zeshanarifarbisoft/repos","events_url":"https://api.github.com/users/zeshanarifarbisoft/events{/privacy}","received_events_url":"https://api.github.com/users/zeshanarifarbisoft/received_events","type":"User","site_admin":false},"body":"added","created_at":"2017-12-04T07:46:40Z","updated_at":"2017-12-04T07:46:40Z","html_url":"https://github.com/edx/edx-app-ios/pull/1040#discussion_r154575389","pull_request_url":"https://api.github.com/repos/edx/edx-app-ios/pulls/1040","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/edx/edx-app-ios/pulls/comments/154575389"},"html":{"href":"https://github.com/edx/edx-app-ios/pull/1040#discussion_r154575389"},"pull_request":{"href":"https://api.github.com/repos/edx/edx-app-ios/pulls/1040"}},"in_reply_to_id":154567059},"pull_request":{"url":"https://api.github.com/repos/edx/edx-app-ios/pulls/1040","id":154775775,"html_url":"https://github.com/edx/edx-app-ios/pull/1040","diff_url":"https://github.com/edx/edx-app-ios/pull/1040.diff","patch_url":"https://github.com/edx/edx-app-ios/pull/1040.patch","issue_url":"https://api.github.com/repos/edx/edx-app-ios/issues/1040","number":1040,"state":"open","locked":false,"title":"Registration Updates: Provide visible labels or instructions for all input controls.","user":{"login":"zeshanarifarbisoft","id":33654380,"avatar_url":"https://avatars3.githubusercontent.com/u/33654380?v=4","gravatar_id":"","url":"https://api.github.com/users/zeshanarifarbisoft","html_url":"https://github.com/zeshanarifarbisoft","followers_url":"https://api.github.com/users/zeshanarifarbisoft/followers","following_url":"https://api.github.com/users/zeshanarifarbisoft/following{/other_user}","gists_url":"https://api.github.com/users/zeshanarifarbisoft/gists{/gist_id}","starred_url":"https://api.github.com/users/zeshanarifarbisoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zeshanarifarbisoft/subscriptions","organizations_url":"https://api.github.com/users/zeshanarifarbisoft/orgs","repos_url":"https://api.github.com/users/zeshanarifarbisoft/repos","events_url":"https://api.github.com/users/zeshanarifarbisoft/events{/privacy}","received_events_url":"https://api.github.com/users/zeshanarifarbisoft/received_events","type":"User","site_admin":false},"body":"**Description**\r\n\r\nThe form fields on the Register page do not have on-screen labels. Placeholder text is used as on-screen labels. When users start writing, the placeholder text disappears. People with cognitive disabilities will benefit from on-screen labels to enter the proper input.\r\n\r\n**Notes**\r\n\r\nTo simplify textfield design, created a custom textField with desired look to avoid overhead of managing a separate imageView for background and padding.\r\n\r\n1. RegistrationTextField.swift\r\n\r\n_**Objective-C**_\r\n\r\n1. OEXRegistrationFieldWrapperView.h\r\n2. OEXRegistrationFieldWrapperView.m\r\n3. OEXRegistrationFormTextField.h\r\n4. OEXRegistrationFormTextField.m\r\n5. OEXRegistrationFieldEmailView.h\r\n6. OEXRegistrationFieldEmailView.m\r\n7. OEXRegistrationFieldPasswordView.h\r\n8. OEXRegistrationFieldPasswordView.m\r\n9. OEXRegistrationFieldTextAreaView.h\r\n10. OEXRegistrationFieldTextAreaView.m\r\n\r\nThese views were on same pattern. So to simplify the code i have converted it into Swift and merged similar code in same class. \r\n\r\n_**Swift**_\r\n\r\n1. RegistrationFormFieldView.swift\r\n\r\n**_Objective-C_**\r\n\r\n1. OEXRegistrationFieldEmailController.h\r\n2. OEXRegistrationFieldEmailController.m\r\n3. OEXRegistrationFieldTextController.h\r\n4. OEXRegistrationFieldTextController.m\r\n5. OEXRegistrationFieldPasswordController.h\r\n6. OEXRegistrationFieldPasswordController.m\r\n7. OEXRegistrationFieldTextAreaController.h\r\n8. OEXRegistrationFieldTextAreaController.m\r\n\r\nThese Controllers were on same pattern. So to simplify the code i have converted it into Swift and merged similar code in same class. \r\n\r\n**_Swift_**\r\n\r\n1. RegistrationFieldController.swift\r\n\r\n**How to test this PR**\r\n\r\n- Goto Register Screen. \r\n- Verify Design - Input control having on-screen labels (* for required fields).\r\n- Verify Input validations. \r\n","created_at":"2017-11-27T10:42:42Z","updated_at":"2017-12-04T07:46:40Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8dcc709865dea63d35478432d4faffce7da73f8f","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/edx/edx-app-ios/pulls/1040/commits","review_comments_url":"https://api.github.com/repos/edx/edx-app-ios/pulls/1040/comments","review_comment_url":"https://api.github.com/repos/edx/edx-app-ios/pulls/comments{/number}","comments_url":"https://api.github.com/repos/edx/edx-app-ios/issues/1040/comments","statuses_url":"https://api.github.com/repos/edx/edx-app-ios/statuses/e66259d12f03312eed0afe5f22be8ecb3c808869","head":{"label":"zeshanarifarbisoft:master","ref":"master","sha":"e66259d12f03312eed0afe5f22be8ecb3c808869","user":{"login":"zeshanarifarbisoft","id":33654380,"avatar_url":"https://avatars3.githubusercontent.com/u/33654380?v=4","gravatar_id":"","url":"https://api.github.com/users/zeshanarifarbisoft","html_url":"https://github.com/zeshanarifarbisoft","followers_url":"https://api.github.com/users/zeshanarifarbisoft/followers","following_url":"https://api.github.com/users/zeshanarifarbisoft/following{/other_user}","gists_url":"https://api.github.com/users/zeshanarifarbisoft/gists{/gist_id}","starred_url":"https://api.github.com/users/zeshanarifarbisoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zeshanarifarbisoft/subscriptions","organizations_url":"https://api.github.com/users/zeshanarifarbisoft/orgs","repos_url":"https://api.github.com/users/zeshanarifarbisoft/repos","events_url":"https://api.github.com/users/zeshanarifarbisoft/events{/privacy}","received_events_url":"https://api.github.com/users/zeshanarifarbisoft/received_events","type":"User","site_admin":false},"repo":{"id":110670648,"name":"edx-app-ios","full_name":"zeshanarifarbisoft/edx-app-ios","owner":{"login":"zeshanarifarbisoft","id":33654380,"avatar_url":"https://avatars3.githubusercontent.com/u/33654380?v=4","gravatar_id":"","url":"https://api.github.com/users/zeshanarifarbisoft","html_url":"https://github.com/zeshanarifarbisoft","followers_url":"https://api.github.com/users/zeshanarifarbisoft/followers","following_url":"https://api.github.com/users/zeshanarifarbisoft/following{/other_user}","gists_url":"https://api.github.com/users/zeshanarifarbisoft/gists{/gist_id}","starred_url":"https://api.github.com/users/zeshanarifarbisoft/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zeshanarifarbisoft/subscriptions","organizations_url":"https://api.github.com/users/zeshanarifarbisoft/orgs","repos_url":"https://api.github.com/users/zeshanarifarbisoft/repos","events_url":"https://api.github.com/users/zeshanarifarbisoft/events{/privacy}","received_events_url":"https://api.github.com/users/zeshanarifarbisoft/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/zeshanarifarbisoft/edx-app-ios","description":"The Open EdX mobile app for iOS!","fork":true,"url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios","forks_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/forks","keys_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/keys{/key_id}","collaborators_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/teams","hooks_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/hooks","issue_events_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/issues/events{/number}","events_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/events","assignees_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/assignees{/user}","branches_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/branches{/branch}","tags_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/tags","blobs_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/git/refs{/sha}","trees_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/git/trees{/sha}","statuses_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/statuses/{sha}","languages_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/languages","stargazers_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/stargazers","contributors_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/contributors","subscribers_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/subscribers","subscription_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/subscription","commits_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/commits{/sha}","git_commits_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/git/commits{/sha}","comments_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/comments{/number}","issue_comment_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/issues/comments{/number}","contents_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/contents/{+path}","compare_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/compare/{base}...{head}","merges_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/merges","archive_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/downloads","issues_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/issues{/number}","pulls_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/pulls{/number}","milestones_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/milestones{/number}","notifications_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/labels{/name}","releases_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/releases{/id}","deployments_url":"https://api.github.com/repos/zeshanarifarbisoft/edx-app-ios/deployments","created_at":"2017-11-14T09:40:24Z","updated_at":"2017-11-14T09:40:29Z","pushed_at":"2017-11-30T11:15:19Z","git_url":"git://github.com/zeshanarifarbisoft/edx-app-ios.git","ssh_url":"git@github.com:zeshanarifarbisoft/edx-app-ios.git","clone_url":"https://github.com/zeshanarifarbisoft/edx-app-ios.git","svn_url":"https://github.com/zeshanarifarbisoft/edx-app-ios","homepage":"https://docs.google.com/document/d/15MYZ2LAmahB82P5wkPkQOqjszfou0Qkeae3qz7STxUQ/edit","size":202875,"stargazers_count":0,"watchers_count":0,"language":"Swift","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"edx:master","ref":"master","sha":"6877b86b654249b430ba453d621c3e1a5d466de9","user":{"login":"edx","id":3179841,"avatar_url":"https://avatars3.githubusercontent.com/u/3179841?v=4","gravatar_id":"","url":"https://api.github.com/users/edx","html_url":"https://github.com/edx","followers_url":"https://api.github.com/users/edx/followers","following_url":"https://api.github.com/users/edx/following{/other_user}","gists_url":"https://api.github.com/users/edx/gists{/gist_id}","starred_url":"https://api.github.com/users/edx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edx/subscriptions","organizations_url":"https://api.github.com/users/edx/orgs","repos_url":"https://api.github.com/users/edx/repos","events_url":"https://api.github.com/users/edx/events{/privacy}","received_events_url":"https://api.github.com/users/edx/received_events","type":"Organization","site_admin":false},"repo":{"id":29251733,"name":"edx-app-ios","full_name":"edx/edx-app-ios","owner":{"login":"edx","id":3179841,"avatar_url":"https://avatars3.githubusercontent.com/u/3179841?v=4","gravatar_id":"","url":"https://api.github.com/users/edx","html_url":"https://github.com/edx","followers_url":"https://api.github.com/users/edx/followers","following_url":"https://api.github.com/users/edx/following{/other_user}","gists_url":"https://api.github.com/users/edx/gists{/gist_id}","starred_url":"https://api.github.com/users/edx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edx/subscriptions","organizations_url":"https://api.github.com/users/edx/orgs","repos_url":"https://api.github.com/users/edx/repos","events_url":"https://api.github.com/users/edx/events{/privacy}","received_events_url":"https://api.github.com/users/edx/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/edx/edx-app-ios","description":"The Open EdX mobile app for iOS!","fork":false,"url":"https://api.github.com/repos/edx/edx-app-ios","forks_url":"https://api.github.com/repos/edx/edx-app-ios/forks","keys_url":"https://api.github.com/repos/edx/edx-app-ios/keys{/key_id}","collaborators_url":"https://api.github.com/repos/edx/edx-app-ios/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/edx/edx-app-ios/teams","hooks_url":"https://api.github.com/repos/edx/edx-app-ios/hooks","issue_events_url":"https://api.github.com/repos/edx/edx-app-ios/issues/events{/number}","events_url":"https://api.github.com/repos/edx/edx-app-ios/events","assignees_url":"https://api.github.com/repos/edx/edx-app-ios/assignees{/user}","branches_url":"https://api.github.com/repos/edx/edx-app-ios/branches{/branch}","tags_url":"https://api.github.com/repos/edx/edx-app-ios/tags","blobs_url":"https://api.github.com/repos/edx/edx-app-ios/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/edx/edx-app-ios/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/edx/edx-app-ios/git/refs{/sha}","trees_url":"https://api.github.com/repos/edx/edx-app-ios/git/trees{/sha}","statuses_url":"https://api.github.com/repos/edx/edx-app-ios/statuses/{sha}","languages_url":"https://api.github.com/repos/edx/edx-app-ios/languages","stargazers_url":"https://api.github.com/repos/edx/edx-app-ios/stargazers","contributors_url":"https://api.github.com/repos/edx/edx-app-ios/contributors","subscribers_url":"https://api.github.com/repos/edx/edx-app-ios/subscribers","subscription_url":"https://api.github.com/repos/edx/edx-app-ios/subscription","commits_url":"https://api.github.com/repos/edx/edx-app-ios/commits{/sha}","git_commits_url":"https://api.github.com/repos/edx/edx-app-ios/git/commits{/sha}","comments_url":"https://api.github.com/repos/edx/edx-app-ios/comments{/number}","issue_comment_url":"https://api.github.com/repos/edx/edx-app-ios/issues/comments{/number}","contents_url":"https://api.github.com/repos/edx/edx-app-ios/contents/{+path}","compare_url":"https://api.github.com/repos/edx/edx-app-ios/compare/{base}...{head}","merges_url":"https://api.github.com/repos/edx/edx-app-ios/merges","archive_url":"https://api.github.com/repos/edx/edx-app-ios/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/edx/edx-app-ios/downloads","issues_url":"https://api.github.com/repos/edx/edx-app-ios/issues{/number}","pulls_url":"https://api.github.com/repos/edx/edx-app-ios/pulls{/number}","milestones_url":"https://api.github.com/repos/edx/edx-app-ios/milestones{/number}","notifications_url":"https://api.github.com/repos/edx/edx-app-ios/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/edx/edx-app-ios/labels{/name}","releases_url":"https://api.github.com/repos/edx/edx-app-ios/releases{/id}","deployments_url":"https://api.github.com/repos/edx/edx-app-ios/deployments","created_at":"2015-01-14T15:49:29Z","updated_at":"2017-11-29T03:17:31Z","pushed_at":"2017-11-30T11:15:20Z","git_url":"git://github.com/edx/edx-app-ios.git","ssh_url":"git@github.com:edx/edx-app-ios.git","clone_url":"https://github.com/edx/edx-app-ios.git","svn_url":"https://github.com/edx/edx-app-ios","homepage":"https://docs.google.com/document/d/15MYZ2LAmahB82P5wkPkQOqjszfou0Qkeae3qz7STxUQ/edit","size":203090,"stargazers_count":106,"watchers_count":106,"language":"Swift","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":108,"mirror_url":null,"archived":false,"open_issues_count":16,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":108,"open_issues":16,"watchers":106,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/edx/edx-app-ios/pulls/1040"},"html":{"href":"https://github.com/edx/edx-app-ios/pull/1040"},"issue":{"href":"https://api.github.com/repos/edx/edx-app-ios/issues/1040"},"comments":{"href":"https://api.github.com/repos/edx/edx-app-ios/issues/1040/comments"},"review_comments":{"href":"https://api.github.com/repos/edx/edx-app-ios/pulls/1040/comments"},"review_comment":{"href":"https://api.github.com/repos/edx/edx-app-ios/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/edx/edx-app-ios/pulls/1040/commits"},"statuses":{"href":"https://api.github.com/repos/edx/edx-app-ios/statuses/e66259d12f03312eed0afe5f22be8ecb3c808869"}},"author_association":"NONE"}}
{"actor":{"display_login":"zeshanarifarbisoft"}}